@amcharts/amcharts5 5.9.13 → 5.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/.internal/charts/flow/ArcDiagramNodes.d.ts.map +1 -1
  2. package/.internal/charts/flow/ArcDiagramNodes.js +2 -0
  3. package/.internal/charts/flow/ArcDiagramNodes.js.map +1 -1
  4. package/.internal/charts/flow/ChordNodes.d.ts.map +1 -1
  5. package/.internal/charts/flow/ChordNodes.js +2 -0
  6. package/.internal/charts/flow/ChordNodes.js.map +1 -1
  7. package/.internal/charts/flow/FlowNodes.d.ts +17 -1
  8. package/.internal/charts/flow/FlowNodes.d.ts.map +1 -1
  9. package/.internal/charts/flow/FlowNodes.js +13 -0
  10. package/.internal/charts/flow/FlowNodes.js.map +1 -1
  11. package/.internal/charts/flow/SankeyNodes.d.ts.map +1 -1
  12. package/.internal/charts/flow/SankeyNodes.js +2 -0
  13. package/.internal/charts/flow/SankeyNodes.js.map +1 -1
  14. package/.internal/charts/funnel/FunnelSeries.d.ts.map +1 -1
  15. package/.internal/charts/funnel/FunnelSeries.js +2 -0
  16. package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
  17. package/.internal/charts/hierarchy/Hierarchy.d.ts +16 -0
  18. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  19. package/.internal/charts/hierarchy/Hierarchy.js +25 -4
  20. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  21. package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
  22. package/.internal/charts/hierarchy/LinkedHierarchy.js +5 -0
  23. package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
  24. package/.internal/charts/hierarchy/Pack.d.ts.map +1 -1
  25. package/.internal/charts/hierarchy/Pack.js +2 -0
  26. package/.internal/charts/hierarchy/Pack.js.map +1 -1
  27. package/.internal/charts/hierarchy/Partition.d.ts.map +1 -1
  28. package/.internal/charts/hierarchy/Partition.js +2 -0
  29. package/.internal/charts/hierarchy/Partition.js.map +1 -1
  30. package/.internal/charts/hierarchy/Sunburst.d.ts.map +1 -1
  31. package/.internal/charts/hierarchy/Sunburst.js +2 -0
  32. package/.internal/charts/hierarchy/Sunburst.js.map +1 -1
  33. package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
  34. package/.internal/charts/hierarchy/Treemap.js +2 -0
  35. package/.internal/charts/hierarchy/Treemap.js.map +1 -1
  36. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts.map +1 -1
  37. package/.internal/charts/hierarchy/VoronoiTreemap.js +2 -0
  38. package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
  39. package/.internal/charts/percent/PercentSeries.d.ts +16 -0
  40. package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
  41. package/.internal/charts/percent/PercentSeries.js +13 -0
  42. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  43. package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
  44. package/.internal/charts/pie/PieSeries.js +3 -1
  45. package/.internal/charts/pie/PieSeries.js.map +1 -1
  46. package/.internal/charts/stock/indicators/ChartIndicator.js +2 -2
  47. package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
  48. package/.internal/charts/stock/toolbar/DateRangeSelector.js +1 -1
  49. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
  50. package/.internal/charts/stock/toolbar/StockToolbarCSS.js +56 -56
  51. package/.internal/charts/stock/toolbar/StockToolbarCSS.js.map +1 -1
  52. package/.internal/charts/venn/Venn.d.ts +19 -3
  53. package/.internal/charts/venn/Venn.d.ts.map +1 -1
  54. package/.internal/charts/venn/Venn.js +13 -0
  55. package/.internal/charts/venn/Venn.js.map +1 -1
  56. package/.internal/charts/xy/XYChart.d.ts +1 -1
  57. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  58. package/.internal/charts/xy/XYChart.js +7 -0
  59. package/.internal/charts/xy/XYChart.js.map +1 -1
  60. package/.internal/charts/xy/axes/ValueAxis.d.ts +2 -0
  61. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  62. package/.internal/charts/xy/axes/ValueAxis.js +12 -1
  63. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  64. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  65. package/.internal/charts/xy/series/BaseColumnSeries.js +5 -0
  66. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  67. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  68. package/.internal/charts/xy/series/LineSeries.js +12 -0
  69. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  70. package/.internal/core/Classes.d.ts +2 -0
  71. package/.internal/core/Classes.d.ts.map +1 -1
  72. package/.internal/core/Classes.js.map +1 -1
  73. package/.internal/core/Registry.js +1 -1
  74. package/.internal/core/Registry.js.map +1 -1
  75. package/.internal/core/render/Circle.js +1 -1
  76. package/.internal/core/render/Circle.js.map +1 -1
  77. package/.internal/core/render/Component.d.ts +12 -4
  78. package/.internal/core/render/Component.d.ts.map +1 -1
  79. package/.internal/core/render/Component.js +14 -6
  80. package/.internal/core/render/Component.js.map +1 -1
  81. package/.internal/core/render/Label.d.ts +8 -0
  82. package/.internal/core/render/Label.d.ts.map +1 -1
  83. package/.internal/core/render/Label.js +3 -1
  84. package/.internal/core/render/Label.js.map +1 -1
  85. package/.internal/core/render/SerialChart.d.ts +9 -1
  86. package/.internal/core/render/SerialChart.d.ts.map +1 -1
  87. package/.internal/core/render/SerialChart.js +4 -0
  88. package/.internal/core/render/SerialChart.js.map +1 -1
  89. package/.internal/core/render/Series.d.ts +12 -4
  90. package/.internal/core/render/Series.d.ts.map +1 -1
  91. package/.internal/core/render/Series.js +4 -3
  92. package/.internal/core/render/Series.js.map +1 -1
  93. package/.internal/core/render/Sprite.d.ts.map +1 -1
  94. package/.internal/core/render/Sprite.js +45 -39
  95. package/.internal/core/render/Sprite.js.map +1 -1
  96. package/.internal/core/render/Text.d.ts +9 -1
  97. package/.internal/core/render/Text.d.ts.map +1 -1
  98. package/.internal/core/render/Text.js +27 -3
  99. package/.internal/core/render/Text.js.map +1 -1
  100. package/.internal/core/render/gradients/LinearGradient.d.ts.map +1 -1
  101. package/.internal/core/render/gradients/LinearGradient.js.map +1 -1
  102. package/.internal/core/util/DurationFormatter.d.ts.map +1 -1
  103. package/.internal/core/util/DurationFormatter.js +9 -2
  104. package/.internal/core/util/DurationFormatter.js.map +1 -1
  105. package/.internal/core/util/Modal.js +17 -17
  106. package/.internal/core/util/Modal.js.map +1 -1
  107. package/.internal/core/util/PatternSet.d.ts +91 -0
  108. package/.internal/core/util/PatternSet.d.ts.map +1 -0
  109. package/.internal/core/util/PatternSet.js +236 -0
  110. package/.internal/core/util/PatternSet.js.map +1 -0
  111. package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
  112. package/.internal/plugins/exporting/Exporting.js +25 -6
  113. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  114. package/.internal/plugins/exporting/ExportingCSS.d.ts.map +1 -1
  115. package/.internal/plugins/exporting/ExportingCSS.js +22 -36
  116. package/.internal/plugins/exporting/ExportingCSS.js.map +1 -1
  117. package/.internal/plugins/json/Classes-script.d.ts +2 -0
  118. package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
  119. package/.internal/plugins/json/Classes-script.js +1 -0
  120. package/.internal/plugins/json/Classes-script.js.map +1 -1
  121. package/.internal/plugins/json/Classes.d.ts +2 -0
  122. package/.internal/plugins/json/Classes.d.ts.map +1 -1
  123. package/.internal/plugins/json/Classes.js +1 -0
  124. package/.internal/plugins/json/Classes.js.map +1 -1
  125. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  126. package/.internal/themes/DefaultTheme.js +7 -0
  127. package/.internal/themes/DefaultTheme.js.map +1 -1
  128. package/CHANGELOG.md +33 -1
  129. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  130. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  131. package/examples/javascript/flow-chord/package.json +1 -1
  132. package/examples/javascript/flow-chord-directed/package.json +1 -1
  133. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  134. package/examples/javascript/flow-sankey/package.json +1 -1
  135. package/examples/javascript/gauge/package.json +1 -1
  136. package/examples/javascript/gauge-bands/package.json +1 -1
  137. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  138. package/examples/javascript/hierarchy-pack/package.json +1 -1
  139. package/examples/javascript/hierarchy-partition/package.json +1 -1
  140. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  141. package/examples/javascript/hierarchy-tree/package.json +1 -1
  142. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  143. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  144. package/examples/javascript/jest/package.json +1 -1
  145. package/examples/javascript/json-pie/package.json +1 -1
  146. package/examples/javascript/json-xy/package.json +1 -1
  147. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  148. package/examples/javascript/map-clustered-points/package.json +1 -1
  149. package/examples/javascript/map-day-and-night/package.json +1 -1
  150. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  151. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  152. package/examples/javascript/map-with-bubbles/package.json +1 -1
  153. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  154. package/examples/javascript/misc-40-charts/package.json +1 -1
  155. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  156. package/examples/javascript/pie-chart/package.json +1 -1
  157. package/examples/javascript/pie-donut-chart/package.json +1 -1
  158. package/examples/javascript/pie-variable-radius/package.json +1 -1
  159. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  160. package/examples/javascript/radar-heat-map/package.json +1 -1
  161. package/examples/javascript/radar-line/package.json +1 -1
  162. package/examples/javascript/radar-time-line/package.json +1 -1
  163. package/examples/javascript/sliced-funnel/package.json +1 -1
  164. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  165. package/examples/javascript/sliced-pyramid/package.json +1 -1
  166. package/examples/javascript/stock-chart/package.json +1 -1
  167. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  168. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  169. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  170. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  171. package/examples/javascript/stock-chart-live/package.json +1 -1
  172. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  173. package/examples/javascript/venn-diagram/package.json +1 -1
  174. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  175. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  176. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  177. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  178. package/examples/javascript/xy-bubble/package.json +1 -1
  179. package/examples/javascript/xy-candlestick/package.json +1 -1
  180. package/examples/javascript/xy-clustered-column/package.json +1 -1
  181. package/examples/javascript/xy-column/package.json +1 -1
  182. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  183. package/examples/javascript/xy-data-grouping/package.json +1 -1
  184. package/examples/javascript/xy-draggable-range/package.json +1 -1
  185. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  186. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  187. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  188. package/examples/javascript/xy-line/package.json +1 -1
  189. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  190. package/examples/javascript/xy-live-data/package.json +1 -1
  191. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  192. package/examples/javascript/xy-ohlc/package.json +1 -1
  193. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  194. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  195. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  196. package/examples/javascript/xy-stacked-column/package.json +1 -1
  197. package/examples/javascript/xy-stacked-step/package.json +1 -1
  198. package/examples/javascript/xy-stock/package.json +1 -1
  199. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  200. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  201. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  202. package/examples/typescript/flow-chord/package.json +1 -1
  203. package/examples/typescript/flow-chord-directed/package.json +1 -1
  204. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  205. package/examples/typescript/flow-sankey/package.json +1 -1
  206. package/examples/typescript/gauge/package.json +1 -1
  207. package/examples/typescript/gauge-bands/package.json +1 -1
  208. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  209. package/examples/typescript/hierarchy-pack/package.json +1 -1
  210. package/examples/typescript/hierarchy-partition/package.json +1 -1
  211. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  212. package/examples/typescript/hierarchy-tree/package.json +1 -1
  213. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  214. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  215. package/examples/typescript/jest/package.json +1 -1
  216. package/examples/typescript/json-pie/package.json +1 -1
  217. package/examples/typescript/json-xy/package.json +1 -1
  218. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  219. package/examples/typescript/map-clustered-points/package.json +1 -1
  220. package/examples/typescript/map-day-and-night/package.json +1 -1
  221. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  222. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  223. package/examples/typescript/map-with-bubbles/package.json +1 -1
  224. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  225. package/examples/typescript/misc-40-charts/package.json +1 -1
  226. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  227. package/examples/typescript/pie-chart/package.json +1 -1
  228. package/examples/typescript/pie-donut-chart/package.json +1 -1
  229. package/examples/typescript/pie-variable-radius/package.json +1 -1
  230. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  231. package/examples/typescript/radar-heat-map/package.json +1 -1
  232. package/examples/typescript/radar-line/package.json +1 -1
  233. package/examples/typescript/radar-time-line/package.json +1 -1
  234. package/examples/typescript/sliced-funnel/package.json +1 -1
  235. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  236. package/examples/typescript/sliced-pyramid/package.json +1 -1
  237. package/examples/typescript/stock-chart/package.json +1 -1
  238. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  239. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  240. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  241. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  242. package/examples/typescript/stock-chart-live/package.json +1 -1
  243. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  244. package/examples/typescript/venn-diagram/package.json +1 -1
  245. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  246. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  247. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  248. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  249. package/examples/typescript/xy-bubble/package.json +1 -1
  250. package/examples/typescript/xy-candlestick/package.json +1 -1
  251. package/examples/typescript/xy-clustered-column/package.json +1 -1
  252. package/examples/typescript/xy-column/package.json +1 -1
  253. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  254. package/examples/typescript/xy-data-grouping/package.json +1 -1
  255. package/examples/typescript/xy-draggable-range/package.json +1 -1
  256. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  257. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  258. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  259. package/examples/typescript/xy-line/package.json +1 -1
  260. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  261. package/examples/typescript/xy-live-data/package.json +1 -1
  262. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  263. package/examples/typescript/xy-ohlc/package.json +1 -1
  264. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  265. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  266. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  267. package/examples/typescript/xy-stacked-column/package.json +1 -1
  268. package/examples/typescript/xy-stacked-step/package.json +1 -1
  269. package/examples/typescript/xy-stock/package.json +1 -1
  270. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  271. package/index.d.ts +1 -0
  272. package/index.d.ts.map +1 -1
  273. package/index.js +1 -0
  274. package/index.js.map +1 -1
  275. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Treemap.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Treemap.ts"],"names":[],"mappings":"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","sourcesContent":["import type { HierarchyNode } from \"./HierarchyNode\";\nimport type { DataItem } from \"../../core/render/Component\";\n\nimport { Hierarchy, IHierarchyPrivate, IHierarchySettings, IHierarchyDataItem, IHierarchyDataObject } from \"./Hierarchy\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { RoundedRectangle } from \"../../core/render/RoundedRectangle\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as d3hierarchy from \"d3-hierarchy\";\n\nexport interface ITreemapDataObject { name?: string, value?: number, children?: ITreemapDataObject[], dataItem?: DataItem<ITreemapDataItem> };\n\nexport interface ITreemapDataItem extends IHierarchyDataItem {\n\tchildren: Array<DataItem<ITreemapDataItem>>;\n\tparent: DataItem<ITreemapDataItem>;\n\td3HierarchyNode: d3hierarchy.HierarchyRectangularNode<IHierarchyDataObject>;\n\trectangle: RoundedRectangle;\n}\n\nexport interface ITreemapSettings extends IHierarchySettings {\n\n\t/**\n\t * Gap between nodes. In pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingInner?: number;\n\n\t/**\n\t * Gap between nodes and outer edge of the chart. In pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingOuter?: number;\n\n\t/**\n\t * Gap between nodes and top edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingTop?: number;\n\n\t/**\n\t * Gap between nodes and bottomedge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingBottom?: number;\n\n\t/**\n\t * Gap between nodes and left edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingLeft?: number;\n\n\t/**\n\t * Gap between nodes and bottom edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingRight?: number;\n\n\t/**\n\t * An algorithm to use when laying out node rectangles.\n\t *\n\t * @see {@link }\n\t * @default \"squarify\"\n\t */\n\tlayoutAlgorithm?: \"binary\" | \"squarify\" | \"slice\" | \"dice\" | \"sliceDice\";\n\n}\n\nexport interface ITreemapPrivate extends IHierarchyPrivate {\n\n\t/**\n\t * Current horizontal scale.\n\t */\n\tscaleX?: number;\n\n\t/**\n\t * Current vertical scale.\n\t */\n\tscaleY?: number;\n\n}\n\n/**\n * Treemap series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/} for more info\n */\nexport class Treemap extends Hierarchy {\n\n\tdeclare public _settings: ITreemapSettings;\n\tdeclare public _privateSettings: ITreemapPrivate;\n\tdeclare public _dataItemSettings: ITreemapDataItem;\n\n\tprotected _tag: string = \"treemap\";\n\n\tpublic static className: string = \"Treemap\";\n\tpublic static classNames: Array<string> = Hierarchy.classNames.concat([Treemap.className]);\n\n\tpublic readonly rectangleTemplate: Template<RoundedRectangle> = Template.new({});\n\n\tpublic _treemapLayout = d3hierarchy.treemap().tile(d3hierarchy.treemapSquarify);\n\n\tdeclare public _rootNode: d3hierarchy.HierarchyRectangularNode<ITreemapDataObject> | undefined;\n\n\t/**\n\t * A list of node rectangle elements in a [[Treemap]] chart.\n\t *\n\t * @default new ListTemplate<RoundedRectangle>\n\t */\n\tpublic readonly rectangles: ListTemplate<RoundedRectangle> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RoundedRectangle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.rectangles.template.get(\"themeTags\", []), [this._tag, \"shape\"])\n\t\t}, [this.rectangles.template])\n\t);\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.setPrivate(\"scaleX\", 1);\n\t\tthis.setPrivate(\"scaleY\", 1);\n\n\t\tthis.nodes.template.setPrivate(\"trustBounds\", true);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"layoutAlgorithm\")) {\n\t\t\tlet algorithm;\n\n\t\t\tswitch (this.get(\"layoutAlgorithm\")) {\n\t\t\t\tcase \"squarify\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSquarify;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"binary\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapBinary;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"slice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSlice;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"dice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapDice;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"sliceDice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSliceDice;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (algorithm) {\n\t\t\t\tthis._treemapLayout = d3hierarchy.treemap().tile(algorithm);\n\t\t\t\tthis._updateVisuals();\n\n\t\t\t\tconst selectedDataItem = this.get(\"selectedDataItem\") as DataItem<this[\"_dataItemSettings\"]>;\t\t\t\t\n\t\t\t\tif(selectedDataItem){\n\t\t\t\t\tthis._zoom(selectedDataItem);\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"nodePaddingRight\") || this.isDirty(\"nodePaddingLeft\") || this.isDirty(\"nodePaddingTop\") || this.isDirty(\"nodePaddingBottom\") || this.isDirty(\"nodePaddingOuter\") || this.isDirty(\"nodePaddingInner\")) {\n\t\t\tif (this._rootNode) {\n\t\t\t\tthis._updateNodes(this._rootNode);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isPrivateDirty(\"scaleX\") || this.isPrivateDirty(\"scaleY\")) {\n\t\t\tif (this._rootNode) {\n\t\t\t\tthis._updateNodesScale(this._rootNode);\n\t\t\t}\n\t\t}\t\t\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst treemapLayout = this._treemapLayout;\n\t\t\ttreemapLayout.size([this.innerWidth(), this.innerHeight()]);\n\n\t\t\tconst paddingLeft = this.get(\"nodePaddingLeft\");\n\t\t\tconst paddingRight = this.get(\"nodePaddingRight\");\n\t\t\tconst paddingTop = this.get(\"nodePaddingTop\");\n\t\t\tconst paddingBottom = this.get(\"nodePaddingBottom\");\n\t\t\tconst paddingInner = this.get(\"nodePaddingInner\");\n\t\t\tconst paddingOuter = this.get(\"nodePaddingOuter\");\n\t\t\tif ($type.isNumber(paddingLeft)) {\n\t\t\t\ttreemapLayout.paddingLeft(paddingLeft);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingRight)) {\n\t\t\t\ttreemapLayout.paddingRight(paddingRight);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingTop)) {\n\t\t\t\ttreemapLayout.paddingTop(paddingTop);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingBottom)) {\n\t\t\t\ttreemapLayout.paddingBottom(paddingBottom);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingInner)) {\n\t\t\t\ttreemapLayout.paddingInner(paddingInner);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingOuter)) {\n\t\t\t\ttreemapLayout.paddingOuter(paddingOuter);\n\t\t\t}\n\n\t\t\ttreemapLayout(this._rootNode);\n\t\t\tthis._updateNodes(this._rootNode);\n\t\t}\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tconst rectangle = dataItem.get(\"rectangle\");\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\n\t\tconst x0 = hierarchyNode.x0 * scaleX;\n\t\tconst x1 = hierarchyNode.x1 * scaleX;\n\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\tconst w = x1 - x0;\n\t\tconst h = y1 - y0;\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tnode.animate({ key: \"x\", to: x0, duration: duration, easing: easing })\n\t\tnode.animate({ key: \"y\", to: y0, duration: duration, easing: easing })\n\n\t\tnode.animate({ key: \"width\", to: w, duration: duration, easing: easing })\n\t\tnode.animate({ key: \"height\", to: h, duration: duration, easing: easing })\n\n\t\tif (rectangle) {\n\t\t\tconst fill = dataItem.get(\"fill\");\n\n\t\t\trectangle.animate({ key: \"width\", to: w, duration: duration, easing: easing })\n\t\t\trectangle.animate({ key: \"height\", to: h, duration: duration, easing: easing })\n\t\t\trectangle._setDefault(\"fill\", fill);\n\t\t\trectangle._setDefault(\"stroke\", fill);\n\t\t}\n\t}\n\n\n\tprotected _updateNodesScale(hierarchyNode: d3hierarchy.HierarchyRectangularNode<ITreemapDataObject>) {\n\t\tconst dataItem = hierarchyNode.data.dataItem;\n\t\tif (dataItem) {\n\t\t\tconst node = dataItem.get(\"node\");\n\t\t\tconst rectangle = dataItem.get(\"rectangle\");\n\n\t\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\n\t\t\tconst x0 = hierarchyNode.x0 * scaleX;\n\t\t\tconst x1 = hierarchyNode.x1 * scaleX;\n\t\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\t\tconst w = x1 - x0;\n\t\t\tconst h = y1 - y0;\n\n\t\t\tnode.setAll({ x: x0, y: y0, width: w, height: h });\n\t\t\trectangle.setAll({ width: w, height: h });\n\n\t\t\tconst hierarchyChildren = hierarchyNode.children;\n\t\t\tif (hierarchyChildren) {\n\t\t\t\t$array.each(hierarchyChildren, (hierarchyChild) => {\n\t\t\t\t\tthis._updateNodesScale(hierarchyChild)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\n\t\tconst node = super.makeNode(dataItem);\n\n\t\tconst rectangle = node.children.moveValue(this.rectangles.make(), 0);\n\n\t\tnode.setPrivate(\"tooltipTarget\", rectangle);\n\t\tdataItem.setRaw(\"rectangle\", rectangle);\n\n\t\tconst label = dataItem.get(\"label\");\n\n\t\trectangle.on(\"width\", () => {\n\t\t\tlabel.setPrivate(\"maxWidth\", rectangle.width());\n\t\t})\n\n\t\trectangle.on(\"height\", () => {\n\t\t\tlabel.setPrivate(\"maxHeight\", rectangle.height());\n\t\t})\n\n\t\treturn node;\n\t}\n\n\tpublic _zoom(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif (this.width() > 0 && this.height() > 0) {\n\t\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\t\tconst nodePaddingOuter = this.get(\"nodePaddingOuter\", 0);\n\n\t\t\tlet x0 = hierarchyNode.x0 + nodePaddingOuter;\n\t\t\tlet x1 = hierarchyNode.x1 - nodePaddingOuter;\n\n\t\t\tlet y0 = hierarchyNode.y0 + nodePaddingOuter;\n\t\t\tlet y1 = hierarchyNode.y1 - nodePaddingOuter;\n\n\t\t\tlet scaleX = (this.innerWidth() - nodePaddingOuter * 2) / (x1 - x0);\n\t\t\tlet scaleY = (this.innerHeight() - nodePaddingOuter * 2) / (y1 - y0);\n\n\t\t\tconst easing = this.get(\"animationEasing\");\n\t\t\tlet duration = this.get(\"animationDuration\", 0);\n\n\t\t\tif (!this.inited) {\n\t\t\t\tduration = 0;\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.animatePrivate({ key: \"scaleX\", to: scaleX, duration: duration, easing: easing });\n\t\t\tthis.animatePrivate({ key: \"scaleY\", to: scaleY, duration: duration, easing: easing });\n\n\t\t\tthis.nodesContainer.animate({ key: \"x\", to: nodePaddingOuter - x0 * scaleX, duration: duration, easing: easing });\n\t\t\tthis.nodesContainer.animate({ key: \"y\", to: nodePaddingOuter - y0 * scaleY, duration: duration, easing: easing });\n\t\t}\n\t}\n\n\tprotected _selectDataItem(dataItem?: DataItem<this[\"_dataItemSettings\"]>, downDepth?: number, skipDisptach?: boolean) {\n\t\tsuper._selectDataItem(dataItem, downDepth, skipDisptach);\n\n\t\tif (dataItem) {\n\t\t\tlet maxDepth = this.get(\"downDepth\", 1) + dataItem.get(\"depth\");\n\t\t\tif (!this.inited) {\n\t\t\t\tmaxDepth = this.get(\"initialDepth\", 1);\n\t\t\t}\n\t\t\tconst visibleNodes = this._getVisibleNodes(dataItem, maxDepth);\n\t\t\tthis.nodes.each((node) => {\n\t\t\t\tif (visibleNodes.indexOf(node.dataItem as DataItem<this[\"_dataItemSettings\"]>) == -1) {\n\t\t\t\t\tnode.setPrivate(\"focusable\", false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnode.removePrivate(\"focusable\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tthis._root._invalidateTabindexes();\n\t}\n\n\tprotected _getVisibleNodes(dataItem: DataItem<this[\"_dataItemSettings\"]>, maxDepth: number) {\n\t\tconst children = dataItem.get(\"children\");\n\t\tlet includedChildren: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\t\tif(children){\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tif (child.get(\"depth\") == maxDepth || !child.get(\"children\")) {\n\t\t\t\t\tincludedChildren.push(child);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tincludedChildren = includedChildren.concat(this._getVisibleNodes(child, maxDepth));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn includedChildren;\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"Treemap.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Treemap.ts"],"names":[],"mappings":"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","sourcesContent":["import type { HierarchyNode } from \"./HierarchyNode\";\nimport type { DataItem } from \"../../core/render/Component\";\n\nimport { Hierarchy, IHierarchyPrivate, IHierarchySettings, IHierarchyDataItem, IHierarchyDataObject } from \"./Hierarchy\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { RoundedRectangle } from \"../../core/render/RoundedRectangle\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as d3hierarchy from \"d3-hierarchy\";\n\nexport interface ITreemapDataObject { name?: string, value?: number, children?: ITreemapDataObject[], dataItem?: DataItem<ITreemapDataItem> };\n\nexport interface ITreemapDataItem extends IHierarchyDataItem {\n\tchildren: Array<DataItem<ITreemapDataItem>>;\n\tparent: DataItem<ITreemapDataItem>;\n\td3HierarchyNode: d3hierarchy.HierarchyRectangularNode<IHierarchyDataObject>;\n\trectangle: RoundedRectangle;\n}\n\nexport interface ITreemapSettings extends IHierarchySettings {\n\n\t/**\n\t * Gap between nodes. In pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingInner?: number;\n\n\t/**\n\t * Gap between nodes and outer edge of the chart. In pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingOuter?: number;\n\n\t/**\n\t * Gap between nodes and top edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingTop?: number;\n\n\t/**\n\t * Gap between nodes and bottomedge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingBottom?: number;\n\n\t/**\n\t * Gap between nodes and left edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingLeft?: number;\n\n\t/**\n\t * Gap between nodes and bottom edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingRight?: number;\n\n\t/**\n\t * An algorithm to use when laying out node rectangles.\n\t *\n\t * @see {@link }\n\t * @default \"squarify\"\n\t */\n\tlayoutAlgorithm?: \"binary\" | \"squarify\" | \"slice\" | \"dice\" | \"sliceDice\";\n\n}\n\nexport interface ITreemapPrivate extends IHierarchyPrivate {\n\n\t/**\n\t * Current horizontal scale.\n\t */\n\tscaleX?: number;\n\n\t/**\n\t * Current vertical scale.\n\t */\n\tscaleY?: number;\n\n}\n\n/**\n * Treemap series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/} for more info\n */\nexport class Treemap extends Hierarchy {\n\n\tdeclare public _settings: ITreemapSettings;\n\tdeclare public _privateSettings: ITreemapPrivate;\n\tdeclare public _dataItemSettings: ITreemapDataItem;\n\n\tprotected _tag: string = \"treemap\";\n\n\tpublic static className: string = \"Treemap\";\n\tpublic static classNames: Array<string> = Hierarchy.classNames.concat([Treemap.className]);\n\n\tpublic readonly rectangleTemplate: Template<RoundedRectangle> = Template.new({});\n\n\tpublic _treemapLayout = d3hierarchy.treemap().tile(d3hierarchy.treemapSquarify);\n\n\tdeclare public _rootNode: d3hierarchy.HierarchyRectangularNode<ITreemapDataObject> | undefined;\n\n\t/**\n\t * A list of node rectangle elements in a [[Treemap]] chart.\n\t *\n\t * @default new ListTemplate<RoundedRectangle>\n\t */\n\tpublic readonly rectangles: ListTemplate<RoundedRectangle> = new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RoundedRectangle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.rectangles.template.get(\"themeTags\", []), [this._tag, \"shape\"])\n\t\t}, [this.rectangles.template])\n\t);\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.setPrivate(\"scaleX\", 1);\n\t\tthis.setPrivate(\"scaleY\", 1);\n\n\t\tthis.nodes.template.setPrivate(\"trustBounds\", true);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"layoutAlgorithm\")) {\n\t\t\tlet algorithm;\n\n\t\t\tswitch (this.get(\"layoutAlgorithm\")) {\n\t\t\t\tcase \"squarify\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSquarify;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"binary\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapBinary;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"slice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSlice;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"dice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapDice;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"sliceDice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSliceDice;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (algorithm) {\n\t\t\t\tthis._treemapLayout = d3hierarchy.treemap().tile(algorithm);\n\t\t\t\tthis._updateVisuals();\n\n\t\t\t\tconst selectedDataItem = this.get(\"selectedDataItem\") as DataItem<this[\"_dataItemSettings\"]>;\t\t\t\t\n\t\t\t\tif(selectedDataItem){\n\t\t\t\t\tthis._zoom(selectedDataItem);\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"nodePaddingRight\") || this.isDirty(\"nodePaddingLeft\") || this.isDirty(\"nodePaddingTop\") || this.isDirty(\"nodePaddingBottom\") || this.isDirty(\"nodePaddingOuter\") || this.isDirty(\"nodePaddingInner\")) {\n\t\t\tif (this._rootNode) {\n\t\t\t\tthis._updateNodes(this._rootNode);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isPrivateDirty(\"scaleX\") || this.isPrivateDirty(\"scaleY\")) {\n\t\t\tif (this._rootNode) {\n\t\t\t\tthis._updateNodesScale(this._rootNode);\n\t\t\t}\n\t\t}\t\t\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst treemapLayout = this._treemapLayout;\n\t\t\ttreemapLayout.size([this.innerWidth(), this.innerHeight()]);\n\n\t\t\tconst paddingLeft = this.get(\"nodePaddingLeft\");\n\t\t\tconst paddingRight = this.get(\"nodePaddingRight\");\n\t\t\tconst paddingTop = this.get(\"nodePaddingTop\");\n\t\t\tconst paddingBottom = this.get(\"nodePaddingBottom\");\n\t\t\tconst paddingInner = this.get(\"nodePaddingInner\");\n\t\t\tconst paddingOuter = this.get(\"nodePaddingOuter\");\n\t\t\tif ($type.isNumber(paddingLeft)) {\n\t\t\t\ttreemapLayout.paddingLeft(paddingLeft);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingRight)) {\n\t\t\t\ttreemapLayout.paddingRight(paddingRight);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingTop)) {\n\t\t\t\ttreemapLayout.paddingTop(paddingTop);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingBottom)) {\n\t\t\t\ttreemapLayout.paddingBottom(paddingBottom);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingInner)) {\n\t\t\t\ttreemapLayout.paddingInner(paddingInner);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingOuter)) {\n\t\t\t\ttreemapLayout.paddingOuter(paddingOuter);\n\t\t\t}\n\n\t\t\ttreemapLayout(this._rootNode);\n\t\t\tthis._updateNodes(this._rootNode);\n\t\t}\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tconst rectangle = dataItem.get(\"rectangle\");\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\n\t\tconst x0 = hierarchyNode.x0 * scaleX;\n\t\tconst x1 = hierarchyNode.x1 * scaleX;\n\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\tconst w = x1 - x0;\n\t\tconst h = y1 - y0;\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tnode.animate({ key: \"x\", to: x0, duration: duration, easing: easing })\n\t\tnode.animate({ key: \"y\", to: y0, duration: duration, easing: easing })\n\n\t\tnode.animate({ key: \"width\", to: w, duration: duration, easing: easing })\n\t\tnode.animate({ key: \"height\", to: h, duration: duration, easing: easing })\n\n\t\tif (rectangle) {\n\t\t\tconst fill = dataItem.get(\"fill\");\n\t\t\tconst fillPattern = dataItem.get(\"fillPattern\");\n\n\t\t\trectangle.animate({ key: \"width\", to: w, duration: duration, easing: easing })\n\t\t\trectangle.animate({ key: \"height\", to: h, duration: duration, easing: easing })\n\t\t\trectangle._setDefault(\"fill\", fill);\n\t\t\trectangle._setDefault(\"fillPattern\", fillPattern);\n\t\t\trectangle._setDefault(\"stroke\", fill);\n\t\t}\n\t}\n\n\n\tprotected _updateNodesScale(hierarchyNode: d3hierarchy.HierarchyRectangularNode<ITreemapDataObject>) {\n\t\tconst dataItem = hierarchyNode.data.dataItem;\n\t\tif (dataItem) {\n\t\t\tconst node = dataItem.get(\"node\");\n\t\t\tconst rectangle = dataItem.get(\"rectangle\");\n\n\t\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\n\t\t\tconst x0 = hierarchyNode.x0 * scaleX;\n\t\t\tconst x1 = hierarchyNode.x1 * scaleX;\n\t\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\t\tconst w = x1 - x0;\n\t\t\tconst h = y1 - y0;\n\n\t\t\tnode.setAll({ x: x0, y: y0, width: w, height: h });\n\t\t\trectangle.setAll({ width: w, height: h });\n\n\t\t\tconst hierarchyChildren = hierarchyNode.children;\n\t\t\tif (hierarchyChildren) {\n\t\t\t\t$array.each(hierarchyChildren, (hierarchyChild) => {\n\t\t\t\t\tthis._updateNodesScale(hierarchyChild)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\n\t\tconst node = super.makeNode(dataItem);\n\n\t\tconst rectangle = node.children.moveValue(this.rectangles.make(), 0);\n\n\t\tnode.setPrivate(\"tooltipTarget\", rectangle);\n\t\tdataItem.setRaw(\"rectangle\", rectangle);\n\n\t\tconst label = dataItem.get(\"label\");\n\n\t\trectangle.on(\"width\", () => {\n\t\t\tlabel.setPrivate(\"maxWidth\", rectangle.width());\n\t\t})\n\n\t\trectangle.on(\"height\", () => {\n\t\t\tlabel.setPrivate(\"maxHeight\", rectangle.height());\n\t\t})\n\n\t\treturn node;\n\t}\n\n\tpublic _zoom(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif (this.width() > 0 && this.height() > 0) {\n\t\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\t\tconst nodePaddingOuter = this.get(\"nodePaddingOuter\", 0);\n\n\t\t\tlet x0 = hierarchyNode.x0 + nodePaddingOuter;\n\t\t\tlet x1 = hierarchyNode.x1 - nodePaddingOuter;\n\n\t\t\tlet y0 = hierarchyNode.y0 + nodePaddingOuter;\n\t\t\tlet y1 = hierarchyNode.y1 - nodePaddingOuter;\n\n\t\t\tlet scaleX = (this.innerWidth() - nodePaddingOuter * 2) / (x1 - x0);\n\t\t\tlet scaleY = (this.innerHeight() - nodePaddingOuter * 2) / (y1 - y0);\n\n\t\t\tconst easing = this.get(\"animationEasing\");\n\t\t\tlet duration = this.get(\"animationDuration\", 0);\n\n\t\t\tif (!this.inited) {\n\t\t\t\tduration = 0;\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.animatePrivate({ key: \"scaleX\", to: scaleX, duration: duration, easing: easing });\n\t\t\tthis.animatePrivate({ key: \"scaleY\", to: scaleY, duration: duration, easing: easing });\n\n\t\t\tthis.nodesContainer.animate({ key: \"x\", to: nodePaddingOuter - x0 * scaleX, duration: duration, easing: easing });\n\t\t\tthis.nodesContainer.animate({ key: \"y\", to: nodePaddingOuter - y0 * scaleY, duration: duration, easing: easing });\n\t\t}\n\t}\n\n\tprotected _selectDataItem(dataItem?: DataItem<this[\"_dataItemSettings\"]>, downDepth?: number, skipDisptach?: boolean) {\n\t\tsuper._selectDataItem(dataItem, downDepth, skipDisptach);\n\n\t\tif (dataItem) {\n\t\t\tlet maxDepth = this.get(\"downDepth\", 1) + dataItem.get(\"depth\");\n\t\t\tif (!this.inited) {\n\t\t\t\tmaxDepth = this.get(\"initialDepth\", 1);\n\t\t\t}\n\t\t\tconst visibleNodes = this._getVisibleNodes(dataItem, maxDepth);\n\t\t\tthis.nodes.each((node) => {\n\t\t\t\tif (visibleNodes.indexOf(node.dataItem as DataItem<this[\"_dataItemSettings\"]>) == -1) {\n\t\t\t\t\tnode.setPrivate(\"focusable\", false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnode.removePrivate(\"focusable\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tthis._root._invalidateTabindexes();\n\t}\n\n\tprotected _getVisibleNodes(dataItem: DataItem<this[\"_dataItemSettings\"]>, maxDepth: number) {\n\t\tconst children = dataItem.get(\"children\");\n\t\tlet includedChildren: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\t\tif(children){\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tif (child.get(\"depth\") == maxDepth || !child.get(\"children\")) {\n\t\t\t\t\tincludedChildren.push(child);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tincludedChildren = includedChildren.concat(this._getVisibleNodes(child, maxDepth));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn includedChildren;\n\t}\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"VoronoiTreemap.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/VoronoiTreemap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE9G,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAMpD,MAAM,WAAW,yBAAyB;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IAClE;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAEnD;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAE1C;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAEjB;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IAElE;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAE9B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAE3B;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;CAChE;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAE7B,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,iBAAiB,EAAE,uBAAuB,CAAC;IAE1D,SAAS,CAAC,IAAI,EAAE,MAAM,CAAoB;IAE1C,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA2D;IAElG;;;;OAIG;IACH,SAAgB,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAK7C;IAEK,OAAO,MAAoB;IAElC,SAAS,CAAC,SAAS;IAcZ,gBAAgB;IAuCvB,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAgDnE,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAgBrE;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,aAAa;IAM7E,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa;IAOtF,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM;CAYzC"}
1
+ {"version":3,"file":"VoronoiTreemap.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/VoronoiTreemap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE9G,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAMpD,MAAM,WAAW,yBAAyB;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IAClE;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAEnD;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAE1C;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAEjB;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IAElE;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAE9B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAE3B;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;CAChE;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAE7B,SAAS,EAAE,uBAAuB,CAAC;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,iBAAiB,EAAE,uBAAuB,CAAC;IAE1D,SAAS,CAAC,IAAI,EAAE,MAAM,CAAoB;IAE1C,OAAc,SAAS,EAAE,MAAM,CAAoB;IACnD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA2D;IAElG;;;;OAIG;IACH,SAAgB,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAK7C;IAEK,OAAO,MAAoB;IAElC,SAAS,CAAC,SAAS;IAcZ,gBAAgB;IAuCvB,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAmDnE,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAgBrE;;OAEG;IACI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,aAAa;IAM7E,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa;IAOtF,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM;CAYzC"}
@@ -108,7 +108,9 @@ export class VoronoiTreemap extends Hierarchy {
108
108
  }
109
109
  polygon.set("coordinates", coordinates);
110
110
  const fill = dataItem.get("fill");
111
+ const fillPattern = dataItem.get("fillPattern");
111
112
  polygon._setDefault("fill", fill);
113
+ polygon._setDefault("fillPattern", fillPattern);
112
114
  const label = dataItem.get("label");
113
115
  if (label) {
114
116
  const site = coords.site;
@@ -1 +1 @@
1
- {"version":3,"file":"VoronoiTreemap.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/VoronoiTreemap.ts"],"names":[],"mappings":"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","sourcesContent":["import { voronoiTreemap } from 'd3-voronoi-treemap';\r\nimport seedrandom from \"seedrandom\";\r\n\r\nimport type { HierarchyNode } from \"../hierarchy/HierarchyNode\";\r\n\r\nimport type { DataItem } from \"../../core/render/Component\";\r\nimport { Hierarchy, IHierarchyPrivate, IHierarchySettings, IHierarchyDataItem } from \"../hierarchy/Hierarchy\";\r\nimport { Template } from \"../../core/util/Template\";\r\nimport { ListTemplate } from \"../../core/util/List\";\r\nimport { Polygon } from \"../../core/render/Polygon\";\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $array from \"../../core/util/Array\";\r\nimport { p50 } from \"../../core/util/Percent\";\r\n\r\n\r\nexport interface IVoronoiTreemapDataObject {\r\n\tname?: string,\r\n\tvalue?: number,\r\n\tchildren?: IVoronoiTreemapDataObject[],\r\n\tdataItem?: DataItem<IVoronoiTreemapDataItem>\r\n};\r\n\r\nexport interface IVoronoiTreemapDataItem extends IHierarchyDataItem {\r\n\t/**\r\n\t * Data items of child nodes.\r\n\t */\r\n\tchildren: Array<DataItem<IVoronoiTreemapDataItem>>;\r\n\r\n\t/**\r\n\t * Data it of a parent node.\r\n\t */\r\n\tparent: DataItem<IVoronoiTreemapDataItem>;\r\n\r\n\t/**\r\n\t * A [[Polygon]] element of a node.\r\n\t */\r\n\tpolygon: Polygon;\r\n\r\n}\r\n\r\nexport interface IVoronoiTreemapSettings extends IHierarchySettings {\r\n\r\n\t/**\r\n\t * Type of the diagram's shape.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/#Diagram_type} for more info\r\n\t * @default \"polygon\"\r\n\t */\r\n\ttype?: \"rectangle\" | \"polygon\"\r\n\r\n\t/**\r\n\t * Number of corners when type is `\"polygon\"`.\r\n\t * \r\n\t * `120` means the polygoon will look like a circle.\r\n\t *\r\n\t * NOTE: this setting is ignored if `type=\"rectangle\"`.\r\n\t * \r\n\t * @default 120\r\n\t */\r\n\tcornerCount?: number;\r\n\r\n\t/**\r\n\t * Minimum weight ratio which allows computing the minimum allowed\r\n\t * weight (`= [maximum weight] * minWeightRatio`).\r\n\t * \r\n\t * Setting very small `minWeigtRatio` might result flickering.\r\n\t *\r\n\t * NOTE: the nodes that have smaller weight will be scaled up and will not\r\n\t * represent their true value correctly.\r\n\t * \r\n\t * @default 0.005\r\n\t */\r\n\tminWeightRatio?: number;\r\n\r\n\t/**\r\n\t * The convergence ratio in Voronoi treemaps measures how well the treemap\r\n\t * layout represents the hierarchical structure of the underlying data.\r\n\t * \r\n\t * It is calculated as the ratio of the summed area of the smallest enclosing\r\n\t * rectangle for each cell to the total area of the treemap. A lower\r\n\t * convergence ratio indicates a better representation of the hierarchy,\r\n\t * meaning that the cells are closely packed and the treemap effectively\r\n\t * captures the nested relationships between the data elements.\r\n\t * \r\n\t * @default 0.005\r\n\t */\r\n\tconvergenceRatio?: number;\r\n\r\n\t/**\r\n\t * Maximum allowed number of iterations when computing the layout.\r\n\t * \r\n\t * Computation is stopped when it number of iterations is reached, even if\r\n\t * the `convergenceRatio` is not yet reached.\r\n\t *\r\n\t * Bigger number means finer results, but slower performance.\r\n\t * \r\n\t * @default 100\r\n\t */\r\n\tmaxIterationCount?: number;\r\n\r\n}\r\n\r\nexport interface IVoronoiTreemapPrivate extends IHierarchyPrivate {\r\n}\r\n\r\n/**\r\n * A Weighted Voronoi Treemap series.\r\n * \r\n * NOTE: Try to avoid a big number of data items with very big value\r\n * differences. Better group small items into \"Other\" item.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/} for more info\r\n * @since 5.4.0\r\n */\r\nexport class VoronoiTreemap extends Hierarchy {\r\n\r\n\tdeclare public _settings: IVoronoiTreemapSettings;\r\n\tdeclare public _privateSettings: IVoronoiTreemapPrivate;\r\n\tdeclare public _dataItemSettings: IVoronoiTreemapDataItem;\r\n\r\n\tprotected _tag: string = \"voronoitreemap\";\r\n\r\n\tpublic static className: string = \"VoronoiTreemap\";\r\n\tpublic static classNames: Array<string> = Hierarchy.classNames.concat([VoronoiTreemap.className]);\r\n\r\n\t/**\r\n\t * A list of node graphics elements in a [[VoronoiTreemap]] chart.\r\n\t *\r\n\t * @default new ListTemplate<RoundedRectangle>\r\n\t */\r\n\tpublic readonly polygons: ListTemplate<Polygon> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Polygon._new(this._root, {\r\n\t\t\tthemeTags: $utils.mergeTags(this.polygons.template.get(\"themeTags\", []), [this._tag, \"shape\"])\r\n\t\t}, [this.polygons.template])\r\n\t);\r\n\r\n\tpublic voronoi = voronoiTreemap();\r\n\r\n\tprotected _afterNew() {\r\n\r\n\t\tthis.nodesContainer.setAll({\r\n\t\t\tx: p50,\r\n\t\t\ty: p50,\r\n\t\t\tcenterX: p50,\r\n\t\t\tcenterY: p50\r\n\t\t})\r\n\r\n\t\tthis.nodes.template.setPrivate(\"trustBounds\", true);\r\n\r\n\t\tsuper._afterNew();\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tconst width = this.innerWidth() / 2;\r\n\t\tconst height = this.innerHeight() / 2;\r\n\r\n\t\tlet node = this._rootNode;\r\n\t\tconst selectedDataItem = this.get(\"selectedDataItem\") as DataItem<IVoronoiTreemapDataItem>;\r\n\r\n\t\tif (selectedDataItem) {\r\n\t\t\tnode = selectedDataItem.get(\"d3HierarchyNode\")\r\n\t\t}\r\n\r\n\t\tthis.voronoi.convergenceRatio((this.get(\"convergenceRatio\", 0.005)));\r\n\t\tthis.voronoi.maxIterationCount((this.get(\"maxIterationCount\", 100)));\r\n\t\tthis.voronoi.minWeightRatio((this.get(\"minWeightRatio\", 0.005)));\r\n\r\n\t\tif (this.isDirty(\"type\")) {\r\n\t\t\tif (this.get(\"type\") == \"polygon\") {\r\n\t\t\t\tthis.voronoi.clip(this.getCirclePolygon(1));\r\n\t\t\t\tthis._updateVisuals();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this._sizeDirty) {\r\n\t\t\tif (this.get(\"type\") == \"rectangle\") {\r\n\t\t\t\tthis.voronoi.prng(seedrandom(\"X\"));\r\n\t\t\t\tthis.voronoi.clip([[-width, -height], [-width, height], [width, height], [width, -height]])(node);\r\n\t\t\t\tthis._updateVisuals();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ((this._valuesDirty || this.isDirty(\"selectedDataItem\")) && node) {\r\n\t\t\tthis.voronoi.prng(seedrandom(\"X\"));\r\n\t\t\tthis.voronoi(node);\r\n\t\t\tthis._updateVisuals();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tconst coords: any = (dataItem.get(\"d3HierarchyNode\") as any).polygon;\r\n\t\tconst polygon = dataItem.get(\"polygon\");\r\n\r\n\t\tif (coords && polygon) {\r\n\r\n\t\t\tlet coordinates: any = [];\r\n\r\n\t\t\tlet d = 1;\r\n\t\t\tif (this.get(\"type\") == \"polygon\") {\r\n\t\t\t\td = Math.min(this.innerWidth(), this.innerHeight()) / 2;\r\n\t\t\t}\r\n\r\n\t\t\tlet minX = Infinity;\r\n\t\t\tlet maxX = -Infinity;\r\n\r\n\t\t\tfor (let i = 0, len = coords.length; i < len; i++) {\r\n\t\t\t\tconst point: Array<number> = coords[i] as any;\r\n\t\t\t\tlet x = point[0] * d;\r\n\t\t\t\tlet y = point[1] * d;\r\n\r\n\t\t\t\tcoordinates.push([x, y]);\r\n\r\n\t\t\t\tminX = Math.min(minX, x);\r\n\t\t\t\tmaxX = Math.max(maxX, x);\r\n\t\t\t}\r\n\r\n\t\t\tpolygon.set(\"coordinates\", coordinates);\r\n\r\n\t\t\tconst fill = dataItem.get(\"fill\");\r\n\t\t\tpolygon._setDefault(\"fill\", fill);\r\n\r\n\t\t\tconst label = dataItem.get(\"label\");\r\n\t\t\tif (label) {\r\n\t\t\t\tconst site = coords.site;\r\n\r\n\t\t\t\tif (site) {\r\n\t\t\t\t\tlabel.setAll({\r\n\t\t\t\t\t\tx: site.x * d,\r\n\t\t\t\t\t\ty: site.y * d,\r\n\t\t\t\t\t\tmaxWidth: Math.abs(maxX - minX)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprotected _handleSingle(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tconst parent = dataItem.get(\"parent\");\r\n\t\tif (parent) {\r\n\t\t\tconst children = parent.get(\"children\");\r\n\t\t\tif (children) {\r\n\t\t\t\t$array.each(children, (child) => {\r\n\t\t\t\t\tif (child != dataItem) {\r\n\t\t\t\t\t\tthis.disableDataItem(child);\r\n\t\t\t\t\t\tchild.get(\"node\").hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tthis._handleSingle(parent);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\r\n\t\tconst node = super.makeNode(dataItem);\r\n\t\tthis._makeNode(dataItem, node);\r\n\t\treturn node;\r\n\t}\r\n\r\n\tprotected _makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>, node: HierarchyNode) {\r\n\t\tconst polygon = node.children.moveValue(this.polygons.make(), 0);\r\n\t\tnode.setPrivate(\"tooltipTarget\", polygon);\r\n\t\tdataItem.setRaw(\"polygon\", polygon);\r\n\t\tpolygon._setDataItem(dataItem);\r\n\t}\r\n\r\n\tprotected getCirclePolygon(radius: number) {\r\n\t\tconst points = this.get(\"cornerCount\", 120);\r\n\t\tconst dAngle = Math.PI * 2 / points;\r\n\t\tconst polygon: Array<Array<number>> = [];\r\n\r\n\t\tfor (let i = 0; i < points; i++) {\r\n\t\t\tlet angle = i * dAngle;\r\n\t\t\tpolygon.push([radius * Math.cos(angle), radius * Math.sin(angle)])\r\n\t\t}\r\n\r\n\t\treturn polygon;\r\n\t}\r\n}"]}
1
+ {"version":3,"file":"VoronoiTreemap.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/VoronoiTreemap.ts"],"names":[],"mappings":"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","sourcesContent":["import { voronoiTreemap } from 'd3-voronoi-treemap';\r\nimport seedrandom from \"seedrandom\";\r\n\r\nimport type { HierarchyNode } from \"../hierarchy/HierarchyNode\";\r\n\r\nimport type { DataItem } from \"../../core/render/Component\";\r\nimport { Hierarchy, IHierarchyPrivate, IHierarchySettings, IHierarchyDataItem } from \"../hierarchy/Hierarchy\";\r\nimport { Template } from \"../../core/util/Template\";\r\nimport { ListTemplate } from \"../../core/util/List\";\r\nimport { Polygon } from \"../../core/render/Polygon\";\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $array from \"../../core/util/Array\";\r\nimport { p50 } from \"../../core/util/Percent\";\r\n\r\n\r\nexport interface IVoronoiTreemapDataObject {\r\n\tname?: string,\r\n\tvalue?: number,\r\n\tchildren?: IVoronoiTreemapDataObject[],\r\n\tdataItem?: DataItem<IVoronoiTreemapDataItem>\r\n};\r\n\r\nexport interface IVoronoiTreemapDataItem extends IHierarchyDataItem {\r\n\t/**\r\n\t * Data items of child nodes.\r\n\t */\r\n\tchildren: Array<DataItem<IVoronoiTreemapDataItem>>;\r\n\r\n\t/**\r\n\t * Data it of a parent node.\r\n\t */\r\n\tparent: DataItem<IVoronoiTreemapDataItem>;\r\n\r\n\t/**\r\n\t * A [[Polygon]] element of a node.\r\n\t */\r\n\tpolygon: Polygon;\r\n\r\n}\r\n\r\nexport interface IVoronoiTreemapSettings extends IHierarchySettings {\r\n\r\n\t/**\r\n\t * Type of the diagram's shape.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/#Diagram_type} for more info\r\n\t * @default \"polygon\"\r\n\t */\r\n\ttype?: \"rectangle\" | \"polygon\"\r\n\r\n\t/**\r\n\t * Number of corners when type is `\"polygon\"`.\r\n\t * \r\n\t * `120` means the polygoon will look like a circle.\r\n\t *\r\n\t * NOTE: this setting is ignored if `type=\"rectangle\"`.\r\n\t * \r\n\t * @default 120\r\n\t */\r\n\tcornerCount?: number;\r\n\r\n\t/**\r\n\t * Minimum weight ratio which allows computing the minimum allowed\r\n\t * weight (`= [maximum weight] * minWeightRatio`).\r\n\t * \r\n\t * Setting very small `minWeigtRatio` might result flickering.\r\n\t *\r\n\t * NOTE: the nodes that have smaller weight will be scaled up and will not\r\n\t * represent their true value correctly.\r\n\t * \r\n\t * @default 0.005\r\n\t */\r\n\tminWeightRatio?: number;\r\n\r\n\t/**\r\n\t * The convergence ratio in Voronoi treemaps measures how well the treemap\r\n\t * layout represents the hierarchical structure of the underlying data.\r\n\t * \r\n\t * It is calculated as the ratio of the summed area of the smallest enclosing\r\n\t * rectangle for each cell to the total area of the treemap. A lower\r\n\t * convergence ratio indicates a better representation of the hierarchy,\r\n\t * meaning that the cells are closely packed and the treemap effectively\r\n\t * captures the nested relationships between the data elements.\r\n\t * \r\n\t * @default 0.005\r\n\t */\r\n\tconvergenceRatio?: number;\r\n\r\n\t/**\r\n\t * Maximum allowed number of iterations when computing the layout.\r\n\t * \r\n\t * Computation is stopped when it number of iterations is reached, even if\r\n\t * the `convergenceRatio` is not yet reached.\r\n\t *\r\n\t * Bigger number means finer results, but slower performance.\r\n\t * \r\n\t * @default 100\r\n\t */\r\n\tmaxIterationCount?: number;\r\n\r\n}\r\n\r\nexport interface IVoronoiTreemapPrivate extends IHierarchyPrivate {\r\n}\r\n\r\n/**\r\n * A Weighted Voronoi Treemap series.\r\n * \r\n * NOTE: Try to avoid a big number of data items with very big value\r\n * differences. Better group small items into \"Other\" item.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/} for more info\r\n * @since 5.4.0\r\n */\r\nexport class VoronoiTreemap extends Hierarchy {\r\n\r\n\tdeclare public _settings: IVoronoiTreemapSettings;\r\n\tdeclare public _privateSettings: IVoronoiTreemapPrivate;\r\n\tdeclare public _dataItemSettings: IVoronoiTreemapDataItem;\r\n\r\n\tprotected _tag: string = \"voronoitreemap\";\r\n\r\n\tpublic static className: string = \"VoronoiTreemap\";\r\n\tpublic static classNames: Array<string> = Hierarchy.classNames.concat([VoronoiTreemap.className]);\r\n\r\n\t/**\r\n\t * A list of node graphics elements in a [[VoronoiTreemap]] chart.\r\n\t *\r\n\t * @default new ListTemplate<RoundedRectangle>\r\n\t */\r\n\tpublic readonly polygons: ListTemplate<Polygon> = new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Polygon._new(this._root, {\r\n\t\t\tthemeTags: $utils.mergeTags(this.polygons.template.get(\"themeTags\", []), [this._tag, \"shape\"])\r\n\t\t}, [this.polygons.template])\r\n\t);\r\n\r\n\tpublic voronoi = voronoiTreemap();\r\n\r\n\tprotected _afterNew() {\r\n\r\n\t\tthis.nodesContainer.setAll({\r\n\t\t\tx: p50,\r\n\t\t\ty: p50,\r\n\t\t\tcenterX: p50,\r\n\t\t\tcenterY: p50\r\n\t\t})\r\n\r\n\t\tthis.nodes.template.setPrivate(\"trustBounds\", true);\r\n\r\n\t\tsuper._afterNew();\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tconst width = this.innerWidth() / 2;\r\n\t\tconst height = this.innerHeight() / 2;\r\n\r\n\t\tlet node = this._rootNode;\r\n\t\tconst selectedDataItem = this.get(\"selectedDataItem\") as DataItem<IVoronoiTreemapDataItem>;\r\n\r\n\t\tif (selectedDataItem) {\r\n\t\t\tnode = selectedDataItem.get(\"d3HierarchyNode\")\r\n\t\t}\r\n\r\n\t\tthis.voronoi.convergenceRatio((this.get(\"convergenceRatio\", 0.005)));\r\n\t\tthis.voronoi.maxIterationCount((this.get(\"maxIterationCount\", 100)));\r\n\t\tthis.voronoi.minWeightRatio((this.get(\"minWeightRatio\", 0.005)));\r\n\r\n\t\tif (this.isDirty(\"type\")) {\r\n\t\t\tif (this.get(\"type\") == \"polygon\") {\r\n\t\t\t\tthis.voronoi.clip(this.getCirclePolygon(1));\r\n\t\t\t\tthis._updateVisuals();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this._sizeDirty) {\r\n\t\t\tif (this.get(\"type\") == \"rectangle\") {\r\n\t\t\t\tthis.voronoi.prng(seedrandom(\"X\"));\r\n\t\t\t\tthis.voronoi.clip([[-width, -height], [-width, height], [width, height], [width, -height]])(node);\r\n\t\t\t\tthis._updateVisuals();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ((this._valuesDirty || this.isDirty(\"selectedDataItem\")) && node) {\r\n\t\t\tthis.voronoi.prng(seedrandom(\"X\"));\r\n\t\t\tthis.voronoi(node);\r\n\t\t\tthis._updateVisuals();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tconst coords: any = (dataItem.get(\"d3HierarchyNode\") as any).polygon;\r\n\t\tconst polygon = dataItem.get(\"polygon\");\r\n\r\n\t\tif (coords && polygon) {\r\n\r\n\t\t\tlet coordinates: any = [];\r\n\r\n\t\t\tlet d = 1;\r\n\t\t\tif (this.get(\"type\") == \"polygon\") {\r\n\t\t\t\td = Math.min(this.innerWidth(), this.innerHeight()) / 2;\r\n\t\t\t}\r\n\r\n\t\t\tlet minX = Infinity;\r\n\t\t\tlet maxX = -Infinity;\r\n\r\n\t\t\tfor (let i = 0, len = coords.length; i < len; i++) {\r\n\t\t\t\tconst point: Array<number> = coords[i] as any;\r\n\t\t\t\tlet x = point[0] * d;\r\n\t\t\t\tlet y = point[1] * d;\r\n\r\n\t\t\t\tcoordinates.push([x, y]);\r\n\r\n\t\t\t\tminX = Math.min(minX, x);\r\n\t\t\t\tmaxX = Math.max(maxX, x);\r\n\t\t\t}\r\n\r\n\t\t\tpolygon.set(\"coordinates\", coordinates);\r\n\r\n\t\t\tconst fill = dataItem.get(\"fill\");\r\n\t\t\tconst fillPattern = dataItem.get(\"fillPattern\");\r\n\t\t\t\r\n\t\t\tpolygon._setDefault(\"fill\", fill);\r\n\t\t\tpolygon._setDefault(\"fillPattern\", fillPattern);\r\n\r\n\t\t\tconst label = dataItem.get(\"label\");\r\n\t\t\tif (label) {\r\n\t\t\t\tconst site = coords.site;\r\n\r\n\t\t\t\tif (site) {\r\n\t\t\t\t\tlabel.setAll({\r\n\t\t\t\t\t\tx: site.x * d,\r\n\t\t\t\t\t\ty: site.y * d,\r\n\t\t\t\t\t\tmaxWidth: Math.abs(maxX - minX)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprotected _handleSingle(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tconst parent = dataItem.get(\"parent\");\r\n\t\tif (parent) {\r\n\t\t\tconst children = parent.get(\"children\");\r\n\t\t\tif (children) {\r\n\t\t\t\t$array.each(children, (child) => {\r\n\t\t\t\t\tif (child != dataItem) {\r\n\t\t\t\t\t\tthis.disableDataItem(child);\r\n\t\t\t\t\t\tchild.get(\"node\").hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tthis._handleSingle(parent);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\r\n\t\tconst node = super.makeNode(dataItem);\r\n\t\tthis._makeNode(dataItem, node);\r\n\t\treturn node;\r\n\t}\r\n\r\n\tprotected _makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>, node: HierarchyNode) {\r\n\t\tconst polygon = node.children.moveValue(this.polygons.make(), 0);\r\n\t\tnode.setPrivate(\"tooltipTarget\", polygon);\r\n\t\tdataItem.setRaw(\"polygon\", polygon);\r\n\t\tpolygon._setDataItem(dataItem);\r\n\t}\r\n\r\n\tprotected getCirclePolygon(radius: number) {\r\n\t\tconst points = this.get(\"cornerCount\", 120);\r\n\t\tconst dAngle = Math.PI * 2 / points;\r\n\t\tconst polygon: Array<Array<number>> = [];\r\n\r\n\t\tfor (let i = 0; i < points; i++) {\r\n\t\t\tlet angle = i * dAngle;\r\n\t\t\tpolygon.push([radius * Math.cos(angle), radius * Math.sin(angle)])\r\n\t\t}\r\n\r\n\t\treturn polygon;\r\n\t}\r\n}"]}
@@ -7,6 +7,8 @@ import type { ColorSet } from "../../core/util/ColorSet";
7
7
  import type { ILegendDataItem } from "../../core/render/Legend";
8
8
  import type { Color } from "../../core/util/Color";
9
9
  import type { PercentChart } from "./PercentChart";
10
+ import type { PatternSet } from "../../core/util/PatternSet";
11
+ import type { Pattern } from "../../core/render/patterns/Pattern";
10
12
  import { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate } from "../../core/render/Series";
11
13
  import { Container } from "../../core/render/Container";
12
14
  export interface IPercentSeriesDataItem extends ISeriesDataItem {
@@ -38,12 +40,26 @@ export interface IPercentSeriesDataItem extends ISeriesDataItem {
38
40
  * Fill color used for the slice and related elements, e.g. legend marker.
39
41
  */
40
42
  fill: Color;
43
+ /**
44
+ * Pattern used for the slice and related elements, e.g. legend marker.
45
+ *
46
+ * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info
47
+ * @since 5.10.0
48
+ */
49
+ fillPattern: Pattern;
41
50
  }
42
51
  export interface IPercentSeriesSettings extends ISeriesSettings {
43
52
  /**
44
53
  * A [[ColorSet]] to use when asigning colors for slices.
45
54
  */
46
55
  colors?: ColorSet;
56
+ /**
57
+ * A [[PatternSet]] to use when asigning patterns for slices.
58
+ *
59
+ * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Pattern_sets} for more info
60
+ * @since 5.10.0
61
+ */
62
+ patterns?: PatternSet;
47
63
  /**
48
64
  * A field in data that holds category names.
49
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PercentSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/percent/PercentSeries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PercentSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/percent/PercentSeries.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,9 @@ export class PercentSeries extends Series {
88
88
  slice.on("fill", () => {
89
89
  this.updateLegendMarker(dataItem);
90
90
  });
91
+ slice.on("fillPattern", () => {
92
+ this.updateLegendMarker(dataItem);
93
+ });
91
94
  slice.on("stroke", () => {
92
95
  this.updateLegendMarker(dataItem);
93
96
  });
@@ -131,6 +134,10 @@ export class PercentSeries extends Series {
131
134
  if (colors) {
132
135
  colors.reset();
133
136
  }
137
+ const patterns = this.get("patterns");
138
+ if (patterns) {
139
+ patterns.reset();
140
+ }
134
141
  }
135
142
  _prepareChildren() {
136
143
  super._prepareChildren();
@@ -244,6 +251,12 @@ export class PercentSeries extends Series {
244
251
  dataItem.setRaw("fill", colors.next());
245
252
  }
246
253
  }
254
+ if (dataItem.get("fillPattern") == null) {
255
+ let patterns = this.get("patterns");
256
+ if (patterns) {
257
+ dataItem.setRaw("fillPattern", patterns.next());
258
+ }
259
+ }
247
260
  }
248
261
  /**
249
262
  * Shows series's data item.
@@ -1 +1 @@
1
- {"version":3,"file":"PercentSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/percent/PercentSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Graphics } from \"../../core/render/Graphics\";\nimport type { Label } from \"../../core/render/Label\";\nimport type { Tick } from \"../../core/render/Tick\";\nimport type { ListTemplate } from \"../../core/util/List\";\nimport type { ColorSet } from \"../../core/util/ColorSet\";\nimport type { ILegendDataItem } from \"../../core/render/Legend\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { PercentChart } from \"./PercentChart\";\n\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate } from \"../../core/render/Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { visualSettings } from \"../../core/render/Graphics\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\nexport interface IPercentSeriesDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Percent of the series value total.\n\t */\n\tvaluePercentTotal: number;\n\n\t/**\n\t * Category.\n\t */\n\tcategory: string;\n\n\t/**\n\t * Slice visual element.\n\t */\n\tslice: Graphics;\n\n\t/**\n\t * Slice label.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Slice tick.\n\t */\n\ttick: Tick;\n\n\t/**\n\t * A related legend data item.\n\t */\n\tlegendDataItem: DataItem<ILegendDataItem>;\n\n\t/**\n\t * Fill color used for the slice and related elements, e.g. legend marker.\n\t */\n\tfill: Color;\n\n}\n\n//type IPercentSeriesDataItemSettings = { [K in keyof IPercentSeriesDataItem]?: string; };\n\nexport interface IPercentSeriesSettings extends ISeriesSettings {\n\n\t/**\n\t * A [[ColorSet]] to use when asigning colors for slices.\n\t */\n\tcolors?: ColorSet;\n\n\t/**\n\t * A field in data that holds category names.\n\t */\n\tcategoryField?: string;\n\n\t/**\n\t * Should slice labels be aligned in columns/rows?\n\t */\n\talignLabels?: boolean;\n\n\t/**\n\t * A field that holds color for slice fill.\n\t */\n\tfillField?: string;\n\n}\n\nexport interface IPercentSeriesPrivate extends ISeriesPrivate {\n\n\t/**\n\t * Calculate average value in series.\n\t */\n\tvalueAverage?: number;\n\n\t/**\n\t * Count of items in series.\n\t */\n\tvalueCount?: number;\n\n\t/**\n\t * Sum of values in series.\n\t */\n\tvalueSum?: number;\n\n\t/**\n\t * Sum of all absolute values in series.\n\t */\n\tvalueAbsoluteSum?: number;\n\n\t/**\n\t * Lowest value in series.\n\t */\n\tvalueLow?: number;\n\n\t/**\n\t * Highest value in series.\n\t */\n\tvalueHigh?: number;\n\n}\n\n/**\n * A base class for any percent chart series.\n */\nexport abstract class PercentSeries extends Series {\n\tpublic static className: string = \"PercentSeries\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([PercentSeries.className]);\n\n\tdeclare public _settings: IPercentSeriesSettings;\n\tdeclare public _privateSettings: IPercentSeriesPrivate;\n\tdeclare public _dataItemSettings: IPercentSeriesDataItem;\n\n\tdeclare public _sliceType: Graphics;\n\tdeclare public _labelType: Label;\n\tdeclare public _tickType: Tick;\n\n\tpublic readonly slicesContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\tpublic readonly labelsContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\tpublic readonly ticksContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\n\tprotected _lLabels: Array<{ label: Label, y: number }> = [];\n\tprotected _rLabels: Array<{ label: Label, y: number }> = [];\n\tprotected _hLabels: Array<{ label: Label, y: number }> = [];\n\n\t/**\n\t * A [[ListTemplate]] of all slices in series.\n\t *\n\t * `slices.template` can also be used to configure slices.\n\t */\n\tpublic readonly slices: ListTemplate<this[\"_sliceType\"]> = this._makeSlices();\n\n\tprotected abstract _makeSlices(): ListTemplate<this[\"_sliceType\"]>;\n\n\tpublic abstract chart: PercentChart | undefined;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeSlice(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_sliceType\"] {\n\t\tconst slice = this.slicesContainer.children.push(this.slices.make());\n\n\t\tslice.on(\"fill\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice.on(\"stroke\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice._setDataItem(dataItem);\n\t\tdataItem.set(\"slice\", slice);\n\t\tthis.slices.push(slice);\n\n\t\treturn slice;\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all slice labels in series.\n\t *\n\t * `labels.template` can also be used to configure slice labels.\n\t */\n\tpublic readonly labels: ListTemplate<this[\"_labelType\"]> = this._makeLabels();\n\n\tprotected abstract _makeLabels(): ListTemplate<this[\"_labelType\"]>;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLabel(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_labelType\"] {\n\t\tconst label = this.labelsContainer.children.push(this.labels.make());\n\t\tlabel._setDataItem(dataItem);\n\t\tdataItem.set(\"label\", label);\n\t\tthis.labels.push(label);\n\t\treturn label;\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all slice ticks in series.\n\t *\n\t * `ticks.template` can also be used to configure slice ticks.\n\t */\n\tpublic readonly ticks: ListTemplate<this[\"_tickType\"]> = this._makeTicks();\n\n\tprotected abstract _makeTicks(): ListTemplate<this[\"_tickType\"]>;\n\n\n\tprotected _shouldMakeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>): boolean {\n\t\tif (dataItem.get(\"value\") != null) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeTick(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_tickType\"] {\n\t\tconst tick = this.ticksContainer.children.push(this.ticks.make());\n\t\ttick._setDataItem(dataItem);\n\t\tdataItem.set(\"tick\", tick);\n\t\tthis.ticks.push(tick);\n\t\treturn tick;\n\t}\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"category\", \"fill\");\n\t\tsuper._afterNew();\n\t}\n\n\tprotected _onDataClear() {\n\t\tconst colors = this.get(\"colors\");\n\t\tif (colors) {\n\t\t\tcolors.reset();\n\t\t}\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tthis._lLabels = [];\n\t\tthis._rLabels = [];\n\t\tthis._hLabels = [];\n\n\t\tif (this._valuesDirty) {\n\t\t\tlet sum = 0;\n\t\t\tlet absSum = 0;\n\t\t\tlet valueHigh = 0;\n\t\t\tlet valueLow = Infinity;\n\t\t\tlet count = 0;\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tlet valueWorking = dataItem.get(\"valueWorking\", 0);\n\t\t\t\tsum += valueWorking;\n\t\t\t\tabsSum += Math.abs(valueWorking);\n\t\t\t});\n\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tlet value = dataItem.get(\"valueWorking\", 0);\n\n\t\t\t\tif (value > valueHigh) {\n\t\t\t\t\tvalueHigh = value;\n\t\t\t\t}\n\n\t\t\t\tif (value < valueLow) {\n\t\t\t\t\tvalueLow = value;\n\t\t\t\t}\n\n\t\t\t\tcount++;\n\n\t\t\t\tlet percentTotal = value / absSum;\n\n\t\t\t\tif (absSum == 0) {\n\t\t\t\t\tpercentTotal = 0;\n\t\t\t\t}\n\n\t\t\t\tdataItem.setRaw(\"valuePercentTotal\", percentTotal * 100);\n\t\t\t});\n\n\t\t\tthis.setPrivateRaw(\"valueLow\", valueLow);\n\t\t\tthis.setPrivateRaw(\"valueHigh\", valueHigh);\n\t\t\tthis.setPrivateRaw(\"valueSum\", sum);\n\t\t\tthis.setPrivateRaw(\"valueAverage\", sum / count);\n\t\t\tthis.setPrivateRaw(\"valueAbsoluteSum\", absSum);\n\t\t}\n\t}\n\n\t/**\n\t * Shows hidden series.\n\t *\n\t * @param duration Animation duration in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async show(duration?: number): Promise<void> {\n\t\tlet promises: Array<Promise<any>> = [];\n\t\tpromises.push(super.show(duration))\n\n\t\tpromises.push(this._sequencedShowHide(true, duration));\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hide whole series.\n\t *\n\t * @param duration Animation duration in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async hide(duration?: number): Promise<void> {\n\t\tlet promises: Array<Promise<any>> = [];\n\t\tpromises.push(super.hide(duration))\n\n\t\tpromises.push(this._sequencedShowHide(false, duration));\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\t\tif (this._valuesDirty) {\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tdataItem.get(\"label\").text.markDirtyText();\n\t\t\t});\n\t\t}\n\n\t\tif (this.isDirty(\"legendLabelText\") || this.isDirty(\"legendValueText\")) {\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tthis.updateLegendValue(dataItem);\n\t\t\t});\n\t\t}\n\n\t\tthis._arrange();\n\t}\n\n\tprotected _arrange() {\n\t\tthis._arrangeDown(this._lLabels);\n\t\tthis._arrangeUp(this._lLabels);\n\n\t\tthis._arrangeDown(this._rLabels);\n\t\tthis._arrangeUp(this._rLabels);\n\n\t\tthis._arrangeLeft(this._hLabels);\n\t\tthis._arrangeRight(this._hLabels);\n\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t}\n\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\t\tthis._arrange();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tif (dataItem.get(\"fill\") == null) {\n\t\t\tlet colors = this.get(\"colors\");\n\t\t\tif (colors) {\n\t\t\t\tdataItem.setRaw(\"fill\", colors.next());\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Shows series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tlet value = dataItem.get(\"value\");\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: value, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tpromises.push(tick.show(duration));\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.show(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tpromises.push(slice.show(duration));\n\t\t}\n\n\t\tif(slice.get(\"active\")){\n\t\t\tslice.states.applyAnimate(\"active\");\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(\"stateAnimationDuration\", this.get(\"stateAnimationDuration\", 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(\"stateAnimationEasing\", this.get(\"stateAnimationEasing\"));\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: 0, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tpromises.push(tick.hide(duration));\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.hide(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tslice.hideTooltip();\n\n\t\tif (slice) {\n\t\t\tpromises.push(slice.hide(duration));\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\t\tlet tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tthis.ticks.removeValue(tick);\n\t\t\ttick.dispose();\n\t\t}\n\t\tlet slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tthis.slices.removeValue(slice);\n\t\t\tslice.dispose();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic hoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice && !slice.isHidden()) {\n\t\t\tslice.hover();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers un-hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic unhoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tslice.unhover();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif(dataItem){\n\t\t\tconst slice = dataItem.get(\"slice\");\n\n\t\t\tif (slice) {\n\t\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\");\n\t\t\t\tif (legendDataItem) {\n\t\t\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\t\t\t$array.each(visualSettings, (setting: any) => {\n\t\t\t\t\t\tif (slice.get(setting) != null) {\n\t\t\t\t\t\t\tmarkerRectangle.set(setting, slice.get(setting));\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\t}\n\n\tprotected _arrangeDown(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\n\t\t\tlet next = this._getNextDown();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y > b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y < b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelTop = bounds.top;\n\t\t\t\tif (l.y + labelTop < next) {\n\t\t\t\t\tl.y = next - labelTop;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"y\", l.y);\n\n\t\t\t\tnext = l.y + bounds.bottom;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _getNextUp() {\n\t\treturn this.labelsContainer.maxHeight();\n\t}\n\n\tprotected _getNextDown() {\n\t\treturn 0;\n\t}\n\n\tprotected _arrangeUp(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\t\t\tlet next = this._getNextUp();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y < b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y > b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelBottom = bounds.bottom;\n\t\t\t\tif (l.y + labelBottom > next) {\n\t\t\t\t\tl.y = next - labelBottom;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"y\", l.y);\n\t\t\t\tnext = l.y + bounds.top;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _arrangeRight(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\n\t\t\tlet next = 0;\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y > b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y < b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelLeft = bounds.left;\n\t\t\t\tif (l.y + labelLeft < next) {\n\t\t\t\t\tl.y = next - labelLeft;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"x\", l.y);\n\n\t\t\t\tnext = l.y + bounds.right;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _arrangeLeft(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\t\t\tlet next = this.labelsContainer.maxWidth();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y < b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y > b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelRight = bounds.right;\n\t\t\t\tif (l.y + labelRight > next) {\n\t\t\t\t\tl.y = next - labelRight;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"x\", l.y);\n\t\t\t\tnext = l.y + bounds.left;\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _updateSize() {\n\t\tsuper._updateSize();\n\t\tthis.markDirty();\n\t}\n\n\tprotected _updateTick(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.series.removeValue(this);\n\t\t}\n\t}\n\n\n}\n"]}
1
+ {"version":3,"file":"PercentSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/percent/PercentSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Graphics } from \"../../core/render/Graphics\";\nimport type { Label } from \"../../core/render/Label\";\nimport type { Tick } from \"../../core/render/Tick\";\nimport type { ListTemplate } from \"../../core/util/List\";\nimport type { ColorSet } from \"../../core/util/ColorSet\";\nimport type { ILegendDataItem } from \"../../core/render/Legend\";\nimport type { Color } from \"../../core/util/Color\";\nimport type { PercentChart } from \"./PercentChart\";\nimport type { PatternSet } from \"../../core/util/PatternSet\";\nimport type { Pattern } from \"../../core/render/patterns/Pattern\";\n\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate } from \"../../core/render/Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { visualSettings } from \"../../core/render/Graphics\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\nexport interface IPercentSeriesDataItem extends ISeriesDataItem {\n\n\t/**\n\t * Percent of the series value total.\n\t */\n\tvaluePercentTotal: number;\n\n\t/**\n\t * Category.\n\t */\n\tcategory: string;\n\n\t/**\n\t * Slice visual element.\n\t */\n\tslice: Graphics;\n\n\t/**\n\t * Slice label.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Slice tick.\n\t */\n\ttick: Tick;\n\n\t/**\n\t * A related legend data item.\n\t */\n\tlegendDataItem: DataItem<ILegendDataItem>;\n\n\t/**\n\t * Fill color used for the slice and related elements, e.g. legend marker.\n\t */\n\tfill: Color;\n\n\t/**\n\t * Pattern used for the slice and related elements, e.g. legend marker.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info\n\t * @since 5.10.0\n\t */\n\tfillPattern: Pattern;\n\n}\n\n//type IPercentSeriesDataItemSettings = { [K in keyof IPercentSeriesDataItem]?: string; };\n\nexport interface IPercentSeriesSettings extends ISeriesSettings {\n\n\t/**\n\t * A [[ColorSet]] to use when asigning colors for slices.\n\t */\n\tcolors?: ColorSet;\n\n\t/**\n\t * A [[PatternSet]] to use when asigning patterns for slices.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Pattern_sets} for more info\n\t * @since 5.10.0\n\t */\n\tpatterns?: PatternSet;\n\n\t/**\n\t * A field in data that holds category names.\n\t */\n\tcategoryField?: string;\n\n\t/**\n\t * Should slice labels be aligned in columns/rows?\n\t */\n\talignLabels?: boolean;\n\n\t/**\n\t * A field that holds color for slice fill.\n\t */\n\tfillField?: string;\n\n}\n\nexport interface IPercentSeriesPrivate extends ISeriesPrivate {\n\n\t/**\n\t * Calculate average value in series.\n\t */\n\tvalueAverage?: number;\n\n\t/**\n\t * Count of items in series.\n\t */\n\tvalueCount?: number;\n\n\t/**\n\t * Sum of values in series.\n\t */\n\tvalueSum?: number;\n\n\t/**\n\t * Sum of all absolute values in series.\n\t */\n\tvalueAbsoluteSum?: number;\n\n\t/**\n\t * Lowest value in series.\n\t */\n\tvalueLow?: number;\n\n\t/**\n\t * Highest value in series.\n\t */\n\tvalueHigh?: number;\n\n}\n\n/**\n * A base class for any percent chart series.\n */\nexport abstract class PercentSeries extends Series {\n\tpublic static className: string = \"PercentSeries\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([PercentSeries.className]);\n\n\tdeclare public _settings: IPercentSeriesSettings;\n\tdeclare public _privateSettings: IPercentSeriesPrivate;\n\tdeclare public _dataItemSettings: IPercentSeriesDataItem;\n\n\tdeclare public _sliceType: Graphics;\n\tdeclare public _labelType: Label;\n\tdeclare public _tickType: Tick;\n\n\tpublic readonly slicesContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\tpublic readonly labelsContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\tpublic readonly ticksContainer = this.children.push(Container.new(this._root, { position: \"absolute\", isMeasured: false }));\n\n\tprotected _lLabels: Array<{ label: Label, y: number }> = [];\n\tprotected _rLabels: Array<{ label: Label, y: number }> = [];\n\tprotected _hLabels: Array<{ label: Label, y: number }> = [];\n\n\t/**\n\t * A [[ListTemplate]] of all slices in series.\n\t *\n\t * `slices.template` can also be used to configure slices.\n\t */\n\tpublic readonly slices: ListTemplate<this[\"_sliceType\"]> = this._makeSlices();\n\n\tprotected abstract _makeSlices(): ListTemplate<this[\"_sliceType\"]>;\n\n\tpublic abstract chart: PercentChart | undefined;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeSlice(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_sliceType\"] {\n\t\tconst slice = this.slicesContainer.children.push(this.slices.make());\n\n\t\tslice.on(\"fill\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice.on(\"fillPattern\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\t\t\n\n\t\tslice.on(\"stroke\", () => {\n\t\t\tthis.updateLegendMarker(dataItem);\n\t\t})\n\n\t\tslice._setDataItem(dataItem);\n\t\tdataItem.set(\"slice\", slice);\n\t\tthis.slices.push(slice);\n\n\t\treturn slice;\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all slice labels in series.\n\t *\n\t * `labels.template` can also be used to configure slice labels.\n\t */\n\tpublic readonly labels: ListTemplate<this[\"_labelType\"]> = this._makeLabels();\n\n\tprotected abstract _makeLabels(): ListTemplate<this[\"_labelType\"]>;\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLabel(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_labelType\"] {\n\t\tconst label = this.labelsContainer.children.push(this.labels.make());\n\t\tlabel._setDataItem(dataItem);\n\t\tdataItem.set(\"label\", label);\n\t\tthis.labels.push(label);\n\t\treturn label;\n\t}\n\n\t/**\n\t * A [[ListTemplate]] of all slice ticks in series.\n\t *\n\t * `ticks.template` can also be used to configure slice ticks.\n\t */\n\tpublic readonly ticks: ListTemplate<this[\"_tickType\"]> = this._makeTicks();\n\n\tprotected abstract _makeTicks(): ListTemplate<this[\"_tickType\"]>;\n\n\n\tprotected _shouldMakeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>): boolean {\n\t\tif (dataItem.get(\"value\") != null) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeTick(dataItem: DataItem<this[\"_dataItemSettings\"]>): this[\"_tickType\"] {\n\t\tconst tick = this.ticksContainer.children.push(this.ticks.make());\n\t\ttick._setDataItem(dataItem);\n\t\tdataItem.set(\"tick\", tick);\n\t\tthis.ticks.push(tick);\n\t\treturn tick;\n\t}\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"category\", \"fill\");\n\t\tsuper._afterNew();\n\t}\n\n\tprotected _onDataClear() {\n\t\tconst colors = this.get(\"colors\");\n\t\tif (colors) {\n\t\t\tcolors.reset();\n\t\t}\n\t\tconst patterns = this.get(\"patterns\");\n\t\tif (patterns) {\n\t\t\tpatterns.reset();\n\t\t}\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tthis._lLabels = [];\n\t\tthis._rLabels = [];\n\t\tthis._hLabels = [];\n\n\t\tif (this._valuesDirty) {\n\t\t\tlet sum = 0;\n\t\t\tlet absSum = 0;\n\t\t\tlet valueHigh = 0;\n\t\t\tlet valueLow = Infinity;\n\t\t\tlet count = 0;\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tlet valueWorking = dataItem.get(\"valueWorking\", 0);\n\t\t\t\tsum += valueWorking;\n\t\t\t\tabsSum += Math.abs(valueWorking);\n\t\t\t});\n\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tlet value = dataItem.get(\"valueWorking\", 0);\n\n\t\t\t\tif (value > valueHigh) {\n\t\t\t\t\tvalueHigh = value;\n\t\t\t\t}\n\n\t\t\t\tif (value < valueLow) {\n\t\t\t\t\tvalueLow = value;\n\t\t\t\t}\n\n\t\t\t\tcount++;\n\n\t\t\t\tlet percentTotal = value / absSum;\n\n\t\t\t\tif (absSum == 0) {\n\t\t\t\t\tpercentTotal = 0;\n\t\t\t\t}\n\n\t\t\t\tdataItem.setRaw(\"valuePercentTotal\", percentTotal * 100);\n\t\t\t});\n\n\t\t\tthis.setPrivateRaw(\"valueLow\", valueLow);\n\t\t\tthis.setPrivateRaw(\"valueHigh\", valueHigh);\n\t\t\tthis.setPrivateRaw(\"valueSum\", sum);\n\t\t\tthis.setPrivateRaw(\"valueAverage\", sum / count);\n\t\t\tthis.setPrivateRaw(\"valueAbsoluteSum\", absSum);\n\t\t}\n\t}\n\n\t/**\n\t * Shows hidden series.\n\t *\n\t * @param duration Animation duration in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async show(duration?: number): Promise<void> {\n\t\tlet promises: Array<Promise<any>> = [];\n\t\tpromises.push(super.show(duration))\n\n\t\tpromises.push(this._sequencedShowHide(true, duration));\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hide whole series.\n\t *\n\t * @param duration Animation duration in milliseconds\n\t * @return Animation promise\n\t */\n\tpublic async hide(duration?: number): Promise<void> {\n\t\tlet promises: Array<Promise<any>> = [];\n\t\tpromises.push(super.hide(duration))\n\n\t\tpromises.push(this._sequencedShowHide(false, duration));\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\t\tif (this._valuesDirty) {\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tdataItem.get(\"label\").text.markDirtyText();\n\t\t\t});\n\t\t}\n\n\t\tif (this.isDirty(\"legendLabelText\") || this.isDirty(\"legendValueText\")) {\n\t\t\t$array.each(this._dataItems, (dataItem) => {\n\t\t\t\tthis.updateLegendValue(dataItem);\n\t\t\t});\n\t\t}\n\n\t\tthis._arrange();\n\t}\n\n\tprotected _arrange() {\n\t\tthis._arrangeDown(this._lLabels);\n\t\tthis._arrangeUp(this._lLabels);\n\n\t\tthis._arrangeDown(this._rLabels);\n\t\tthis._arrangeUp(this._rLabels);\n\n\t\tthis._arrangeLeft(this._hLabels);\n\t\tthis._arrangeRight(this._hLabels);\n\n\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t}\n\n\n\tpublic _afterChanged() {\n\t\tsuper._afterChanged();\n\t\tthis._arrange();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tif (dataItem.get(\"fill\") == null) {\n\t\t\tlet colors = this.get(\"colors\");\n\t\t\tif (colors) {\n\t\t\t\tdataItem.setRaw(\"fill\", colors.next());\n\t\t\t}\n\t\t}\n\n\t\tif (dataItem.get(\"fillPattern\") == null) {\n\t\t\tlet patterns = this.get(\"patterns\");\n\t\t\tif (patterns) {\n\t\t\t\tdataItem.setRaw(\"fillPattern\", patterns.next());\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Shows series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.showDataItem(dataItem, duration)];\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = this.get(\"stateAnimationDuration\", 0);\n\t\t}\n\n\t\tconst easing = this.get(\"stateAnimationEasing\");\n\n\t\tlet value = dataItem.get(\"value\");\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: value, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tpromises.push(tick.show(duration));\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.show(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tpromises.push(slice.show(duration));\n\t\t}\n\n\t\tif (slice.get(\"active\")) {\n\t\t\tslice.states.applyAnimate(\"active\");\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * Hides series's data item.\n\t *\n\t * @param dataItem Data item\n\t * @param duration Animation duration in milliseconds\n\t * @return Promise\n\t */\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst promises = [super.hideDataItem(dataItem, duration)];\n\t\tconst hiddenState = this.states.create(\"hidden\", {})\n\n\t\tif (!$type.isNumber(duration)) {\n\t\t\tduration = hiddenState.get(\"stateAnimationDuration\", this.get(\"stateAnimationDuration\", 0));\n\t\t}\n\n\t\tconst easing = hiddenState.get(\"stateAnimationEasing\", this.get(\"stateAnimationEasing\"));\n\n\t\tconst animation = dataItem.animate({ key: \"valueWorking\", to: 0, duration: duration, easing: easing });\n\t\tif (animation) {\n\t\t\tpromises.push(animation.waitForStop());\n\t\t}\n\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tpromises.push(tick.hide(duration));\n\t\t}\n\t\tconst label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tpromises.push(label.hide(duration));\n\t\t}\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tslice.hideTooltip();\n\n\t\tif (slice) {\n\t\t\tpromises.push(slice.hide(duration));\n\t\t}\n\n\t\tawait Promise.all(promises);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.disposeDataItem(dataItem);\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\t\tlet tick = dataItem.get(\"tick\");\n\t\tif (tick) {\n\t\t\tthis.ticks.removeValue(tick);\n\t\t\ttick.dispose();\n\t\t}\n\t\tlet slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tthis.slices.removeValue(slice);\n\t\t\tslice.dispose();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic hoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice && !slice.isHidden()) {\n\t\t\tslice.hover();\n\t\t}\n\t}\n\n\t/**\n\t * Triggers un-hover on a series data item.\n\t *\n\t * @since 5.0.7\n\t * @param dataItem Target data item\n\t */\n\tpublic unhoverDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tslice.unhover();\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLegendMarker(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif (dataItem) {\n\t\t\tconst slice = dataItem.get(\"slice\");\n\n\t\t\tif (slice) {\n\t\t\t\tconst legendDataItem = dataItem.get(\"legendDataItem\");\n\t\t\t\tif (legendDataItem) {\n\t\t\t\t\tconst markerRectangle = legendDataItem.get(\"markerRectangle\");\n\t\t\t\t\t$array.each(visualSettings, (setting: any) => {\n\t\t\t\t\t\tif (slice.get(setting) != null) {\n\t\t\t\t\t\t\tmarkerRectangle.set(setting, slice.get(setting));\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\t}\n\n\tprotected _arrangeDown(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\n\t\t\tlet next = this._getNextDown();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y > b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y < b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelTop = bounds.top;\n\t\t\t\tif (l.y + labelTop < next) {\n\t\t\t\t\tl.y = next - labelTop;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"y\", l.y);\n\n\t\t\t\tnext = l.y + bounds.bottom;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _getNextUp() {\n\t\treturn this.labelsContainer.maxHeight();\n\t}\n\n\tprotected _getNextDown() {\n\t\treturn 0;\n\t}\n\n\tprotected _arrangeUp(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\t\t\tlet next = this._getNextUp();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y < b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y > b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelBottom = bounds.bottom;\n\t\t\t\tif (l.y + labelBottom > next) {\n\t\t\t\t\tl.y = next - labelBottom;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"y\", l.y);\n\t\t\t\tnext = l.y + bounds.top;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _arrangeRight(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\n\t\t\tlet next = 0;\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y > b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y < b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelLeft = bounds.left;\n\t\t\t\tif (l.y + labelLeft < next) {\n\t\t\t\t\tl.y = next - labelLeft;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"x\", l.y);\n\n\t\t\t\tnext = l.y + bounds.right;\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _arrangeLeft(labels?: Array<{ label: Label, y: number }>) {\n\t\tif (labels) {\n\t\t\tlet next = this.labelsContainer.maxWidth();\n\n\t\t\tlabels.sort((a, b) => {\n\t\t\t\tif (a.y < b.y) {\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t\t\telse if (a.y > b.y) {\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t$array.each(labels, (l) => {\n\t\t\t\tconst bounds = l.label.adjustedLocalBounds();\n\t\t\t\tlet labelRight = bounds.right;\n\t\t\t\tif (l.y + labelRight > next) {\n\t\t\t\t\tl.y = next - labelRight;\n\t\t\t\t}\n\t\t\t\tl.label.set(\"x\", l.y);\n\t\t\t\tnext = l.y + bounds.left;\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic _updateSize() {\n\t\tsuper._updateSize();\n\t\tthis.markDirty();\n\t}\n\n\tprotected _updateTick(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t}\n\n\tprotected _dispose() {\n\t\tsuper._dispose();\n\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.series.removeValue(this);\n\t\t}\n\t}\n\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PieSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGhI,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAQ,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAMvD,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IACjE,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAEjE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAE/D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAEhB;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAE5B,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE3C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA0D;IAElF,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IAEtC,UAAU,EAAE,KAAK,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC;IAEvC,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IASvD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IA4BvE,SAAS,CAAC,UAAU;IAQpB,SAAS,CAAC,YAAY;IASf,gBAAgB;IA+FvB,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAyC5D,eAAe,CAAC,MAAM,EAAE,MAAM;CAsBrC"}
1
+ {"version":3,"file":"PieSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGhI,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAQ,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAMvD,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IACjE,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAEjE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAE/D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAEhB;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAE5B,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE3C,OAAc,SAAS,EAAE,MAAM,CAAe;IAC9C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAA0D;IAElF,SAAS,EAAE,kBAAkB,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,kBAAkB,CAAC;IAEtC,UAAU,EAAE,KAAK,CAAC;IAClB,UAAU,EAAE,WAAW,CAAC;IAEvC,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IASzD,SAAS,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IASvD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IA4BvE,SAAS,CAAC,UAAU;IAQpB,SAAS,CAAC,YAAY;IASf,gBAAgB;IAkGvB,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAyC5D,eAAe,CAAC,MAAM,EAAE,MAAM;CAsBrC"}
@@ -106,6 +106,8 @@ export class PieSeries extends PercentSeries {
106
106
  const color = dataItem.get("fill");
107
107
  slice._setDefault("fill", color);
108
108
  slice._setDefault("stroke", color);
109
+ const fillPattern = dataItem.get("fillPattern");
110
+ slice._setDefault("fillPattern", fillPattern);
109
111
  }
110
112
  let middleAngle = $math.normalizeAngle(currentAngle + currentArc / 2);
111
113
  const label = dataItem.get("label");
@@ -162,7 +164,7 @@ export class PieSeries extends PercentSeries {
162
164
  x = label.x();
163
165
  y = label.y();
164
166
  let points = [];
165
- if (x != 0 && y != 0) {
167
+ if (x != 0 || y != 0) {
166
168
  if (label.get("textType") == "circular") {
167
169
  const labelRadius = label.radius() - label.get("paddingBottom", 0);
168
170
  const labelAngle = label.get("labelAngle", 0);
@@ -1 +1 @@
1
- {"version":3,"file":"PieSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { PieChart } from \"./PieChart\";\n\nimport { PercentSeries, IPercentSeriesSettings, IPercentSeriesDataItem, IPercentSeriesPrivate } from \"../percent/PercentSeries\";\nimport { Template } from \"../../core/util/Template\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { Tick } from \"../../core/render/Tick\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { p100, Percent } from \"../../core/util/Percent\";\nimport type { Bullet } from \"../../core/render/Bullet\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IPieSeriesDataItem extends IPercentSeriesDataItem {\n\tslice: Slice;\n\tlabel: RadialLabel;\n}\n\nexport interface IPieSeriesSettings extends IPercentSeriesSettings {\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t */\n\tradius?: Percent | number;\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t */\n\tinnerRadius?: Percent | number;\n\n\t/**\n\t * Start angle of the series in degrees.\n\t *\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * End angle of the series in degrees.\n\t *\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieSeriesPrivate extends IPercentSeriesPrivate {\n\n\t/**\n\t * Actual radius of the series in pixels.\n\t */\n\tradius?: number;\n\n}\n\n/**\n * Creates a series for a [[PieChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieSeries extends PercentSeries {\n\n\tdeclare public chart: PieChart | undefined;\n\n\tpublic static className: string = \"PieSeries\";\n\tpublic static classNames: Array<string> = PercentSeries.classNames.concat([PieSeries.className]);\n\n\tdeclare public _settings: IPieSeriesSettings;\n\tdeclare public _privateSettings: IPieSeriesPrivate;\n\tdeclare public _dataItemSettings: IPieSeriesDataItem;\n\n\tdeclare public _sliceType: Slice;\n\tdeclare public _labelType: RadialLabel;\n\n\tprotected _makeSlices(): ListTemplate<this[\"_sliceType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Slice._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.slices.template]),\n\t\t);\n\t}\n\n\tprotected _makeLabels(): ListTemplate<this[\"_labelType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => RadialLabel._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.labels.template]),\n\t\t);\n\t}\n\n\tprotected _makeTicks(): ListTemplate<this[\"_tickType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Tick._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.ticks.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.ticks.template]),\n\t\t);\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst slice = this.makeSlice(dataItem);\n\n\t\tslice.on(\"scale\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.on(\"shiftRadius\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tconst label = this.makeLabel(dataItem);\n\n\t\tlabel.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tthis.makeTick(dataItem);\n\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tlabel.markDirty();\n\t\t})\n\t}\n\n\tprotected _getNextUp() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart._maxRadius;\n\t\t}\n\t\treturn this.labelsContainer.maxHeight() / 2;\n\t}\n\n\tprotected _getNextDown() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn -chart._maxRadius;\n\t\t}\n\t\treturn -this.labelsContainer.maxHeight() / 2;\n\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\n\t\t\tif (this.isDirty(\"alignLabels\")) {\n\t\t\t\tlet labelsTemplate = this.labels.template;\n\n\t\t\t\tif (this.get(\"alignLabels\")) {\n\t\t\t\t\tlabelsTemplate.set(\"textType\", \"aligned\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet textType = labelsTemplate.get(\"textType\");\n\t\t\t\t\tif (textType == null || textType == \"aligned\") {\n\t\t\t\t\t\tlabelsTemplate.set(\"textType\", \"adjusted\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tif (this._valuesDirty || this.isDirty(\"radius\") || this.isDirty(\"innerRadius\") || this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\") || this.isDirty(\"alignLabels\")) {\n\t\t\t\tthis.markDirtyBounds();\n\t\t\t\tconst startAngle = this.get(\"startAngle\", chart.get(\"startAngle\", -90));\n\t\t\t\tconst endAngle = this.get(\"endAngle\", chart.get(\"endAngle\", 270));\n\t\t\t\tconst arc = endAngle - startAngle;\n\t\t\t\tlet currentAngle = startAngle;\n\n\t\t\t\tconst radius = chart.radius(this);\n\t\t\t\tthis.setPrivateRaw(\"radius\", radius);\n\t\t\t\tlet innerRadius = chart.innerRadius(this) * chart.getPrivate(\"irModifyer\", 1);\n\n\t\t\t\tif (innerRadius < 0) {\n\t\t\t\t\tinnerRadius = radius + innerRadius;\n\t\t\t\t}\n\n\t\t\t\t//if (radius > 0) {\n\t\t\t\t$array.each(this._dataItems, (dataItem) => {\n\n\t\t\t\t\tthis.updateLegendValue(dataItem);\n\n\t\t\t\t\tlet currentArc = arc * dataItem.get(\"valuePercentTotal\") / 100;\n\t\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\t\tif (slice) {\n\t\t\t\t\t\tslice.set(\"radius\", radius);\n\t\t\t\t\t\tslice.set(\"innerRadius\", innerRadius);\n\t\t\t\t\t\tslice.set(\"startAngle\", currentAngle);\n\n\t\t\t\t\t\tslice.set(\"arc\", currentArc);\n\n\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet middleAngle = $math.normalizeAngle(currentAngle + currentArc / 2);\n\n\t\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\t\tif (label) {\n\t\t\t\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\t\t\t\tlabel.setPrivate(\"innerRadius\", innerRadius);\n\t\t\t\t\t\tlabel.set(\"labelAngle\", middleAngle);\n\n\t\t\t\t\t\tif (label.get(\"textType\") == \"aligned\") {\n\t\t\t\t\t\t\tlet labelRadius = radius + label.get(\"radius\", 0);\n\t\t\t\t\t\t\tlet y = radius * $math.sin(middleAngle);\n\n\t\t\t\t\t\t\tif (middleAngle > 90 && middleAngle <= 270) {\n\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\tthis._lLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabelRadius *= -1;\n\t\t\t\t\t\t\t\tlabelRadius -= this.labelsContainer.get(\"paddingLeft\", 0);\n\t\t\t\t\t\t\t\tlabel.set(\"centerX\", p100);\n\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", true);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\tthis._rLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabelRadius += this.labelsContainer.get(\"paddingRight\", 0);\n\t\t\t\t\t\t\t\tlabel.set(\"centerX\", 0);\n\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel.set(\"x\", labelRadius);\n\t\t\t\t\t\t\tlabel.set(\"y\", radius * $math.sin(middleAngle));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcurrentAngle += currentArc;\n\t\t\t\t\tthis._updateTick(dataItem);\n\t\t\t\t})\n\t\t\t\t//}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTick(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tconst label = dataItem.get(\"label\");\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tconst location = tick.get(\"location\", 1);\n\t\tif (tick && label && slice) {\n\t\t\tconst radius = (slice.get(\"shiftRadius\", 0) + slice.get(\"radius\", 0)) * slice.get(\"scale\", 1) * location;\n\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\tconst cos = $math.cos(labelAngle);\n\t\t\tconst sin = $math.sin(labelAngle);\n\n\t\t\tconst labelsContainer = this.labelsContainer;\n\t\t\tconst pl = labelsContainer.get(\"paddingLeft\", 0);\n\t\t\tconst pr = labelsContainer.get(\"paddingRight\", 0);\n\n\t\t\tlet x = 0;\n\t\t\tlet y = 0;\n\n\t\t\tx = label.x();\n\t\t\ty = label.y();\n\t\t\tlet points:Array<IPoint> = [];\n\n\t\t\tif(x != 0 && y != 0){\n\t\t\t\tif (label.get(\"textType\") == \"circular\") {\n\t\t\t\t\tconst labelRadius = label.radius() - label.get(\"paddingBottom\", 0);\n\t\t\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\t\t\tx = labelRadius * $math.cos(labelAngle);\n\t\t\t\t\ty = labelRadius * $math.sin(labelAngle);\n\t\t\t\t}\n\n\t\t\t\tlet dx = -pr;\n\t\t\t\tif (label.getPrivate(\"left\")) {\n\t\t\t\t\tdx = pl;\n\t\t\t\t}\n\t\t\t\tpoints = [{ x: slice.x() + radius * cos, y: slice.y() + radius * sin }, { x: x + dx, y: y }, { x: x, y: y }];\t\t\t\t\n\t\t\t}\n\n\t\t\ttick.set(\"points\", points);\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst slice = dataItem.get(\"slice\");\n\n\t\t\tif (slice) {\n\t\t\t\tconst innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\t\tconst radius = slice.get(\"radius\", 0);\n\t\t\t\tconst startAngle = slice.get(\"startAngle\", 0);\n\t\t\t\tconst arc = slice.get(\"arc\", 0);\n\t\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\t\tconst angle = startAngle + arc * locationX;\n\t\t\t\tconst r = innerRadius + (radius - innerRadius) * locationY;\n\n\t\t\t\tsprite.setAll({ x: $math.cos(angle) * r, y: $math.sin(angle) * r });\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"PieSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/pie/PieSeries.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAyE,MAAM,0BAA0B,CAAC;AAChI,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAW,MAAM,yBAAyB,CAAC;AAGxD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AA8ChD;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,aAAa;IAcjC,WAAW;QACpB,OAAO,IAAI,YAAY,CACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC5B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SACzF,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC1B,CAAC;IACH,CAAC;IAES,WAAW;QACpB,OAAO,IAAI,YAAY,CACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAClC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SACzF,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC1B,CAAC;IACH,CAAC;IAES,UAAU;QACnB,OAAO,IAAI,YAAY,CACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;SACxF,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CACzB,CAAC;IACH,CAAC;IAES,eAAe,CAAC,QAA6C;QACtE,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEvC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEvC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACvC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAExB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACvC,KAAK,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAA;IACH,CAAC;IAES,UAAU;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,EAAE;YACV,OAAO,KAAK,CAAC,UAAU,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAES,YAAY;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;SACzB;QACD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAE9C,CAAC;IAEM,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,EAAE;YAEV,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBAChC,IAAI,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAE1C,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;oBAC5B,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;iBAC1C;qBACI;oBACJ,IAAI,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC9C,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,SAAS,EAAE;wBAC9C,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;qBAC3C;iBACD;aACD;YAGD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBACxK,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;gBAClE,MAAM,GAAG,GAAG,QAAQ,GAAG,UAAU,CAAC;gBAClC,IAAI,YAAY,GAAG,UAAU,CAAC;gBAE9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrC,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAE9E,IAAI,WAAW,GAAG,CAAC,EAAE;oBACpB,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;iBACnC;gBAED,mBAAmB;gBACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;oBAEzC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAEjC,IAAI,UAAU,GAAG,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAC;oBAC/D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACpC,IAAI,KAAK,EAAE;wBACV,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC5B,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBACtC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;wBAEtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;wBAE7B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACnC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;wBACjC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBAEnC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBAChD,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;qBAC9C;oBAED,IAAI,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;oBAEtE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACpC,IAAI,KAAK,EAAE;wBACV,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACnC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBAC7C,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;wBAErC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS,EAAE;4BACvC,IAAI,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;4BAClD,IAAI,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;4BAExC,IAAI,WAAW,GAAG,EAAE,IAAI,WAAW,IAAI,GAAG,EAAE;gCAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE;oCAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iCAC3C;gCACD,WAAW,IAAI,CAAC,CAAC,CAAC;gCAClB,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gCAC1D,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gCAC3B,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;6BAClC;iCACI;gCACJ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE;oCAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iCAC3C;gCACD,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gCAC3D,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gCACxB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;6BACnC;4BACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;4BAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;yBAChD;qBACD;oBACD,YAAY,IAAI,UAAU,CAAC;oBAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAA;gBACF,GAAG;aACH;SACD;IACF,CAAC;IAES,WAAW,CAAC,QAA6C;QAClE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE;YAC3B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC;YACzG,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAElC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC7C,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAElD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,CAAC;YAEV,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACd,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACd,IAAI,MAAM,GAAiB,EAAE,CAAC;YAE9B,IAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC;gBACnB,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE;oBACxC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;oBACnE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;oBAC9C,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACxC,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;iBACxC;gBAED,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACb,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;oBAC7B,EAAE,GAAG,EAAE,CAAC;iBACR;gBACD,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAC7G;YAED,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC3B;IACF,CAAC;IAEM,eAAe,CAAC,MAAc;QAEpC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE;YACX,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA+C,CAAC;YACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEpC,IAAI,KAAK,EAAE;gBACV,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAChC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBAE/C,MAAM,KAAK,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,CAAC;gBAC3C,MAAM,CAAC,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;gBAE3D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACpE;SACD;IACF,CAAC;;AAlPD;;;;WAAkC,WAAW;GAAC;AAC9C;;;;WAA0C,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { PieChart } from \"./PieChart\";\n\nimport { PercentSeries, IPercentSeriesSettings, IPercentSeriesDataItem, IPercentSeriesPrivate } from \"../percent/PercentSeries\";\nimport { Template } from \"../../core/util/Template\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { Tick } from \"../../core/render/Tick\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { p100, Percent } from \"../../core/util/Percent\";\nimport type { Bullet } from \"../../core/render/Bullet\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IPieSeriesDataItem extends IPercentSeriesDataItem {\n\tslice: Slice;\n\tlabel: RadialLabel;\n}\n\nexport interface IPieSeriesSettings extends IPercentSeriesSettings {\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t */\n\tradius?: Percent | number;\n\n\t/**\n\t * Radius of the series in pixels or percent.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t */\n\tinnerRadius?: Percent | number;\n\n\t/**\n\t * Start angle of the series in degrees.\n\t *\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * End angle of the series in degrees.\n\t *\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n}\n\nexport interface IPieSeriesPrivate extends IPercentSeriesPrivate {\n\n\t/**\n\t * Actual radius of the series in pixels.\n\t */\n\tradius?: number;\n\n}\n\n/**\n * Creates a series for a [[PieChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class PieSeries extends PercentSeries {\n\n\tdeclare public chart: PieChart | undefined;\n\n\tpublic static className: string = \"PieSeries\";\n\tpublic static classNames: Array<string> = PercentSeries.classNames.concat([PieSeries.className]);\n\n\tdeclare public _settings: IPieSeriesSettings;\n\tdeclare public _privateSettings: IPieSeriesPrivate;\n\tdeclare public _dataItemSettings: IPieSeriesDataItem;\n\n\tdeclare public _sliceType: Slice;\n\tdeclare public _labelType: RadialLabel;\n\n\tprotected _makeSlices(): ListTemplate<this[\"_sliceType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Slice._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.slices.template]),\n\t\t);\n\t}\n\n\tprotected _makeLabels(): ListTemplate<this[\"_labelType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => RadialLabel._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.labels.template]),\n\t\t);\n\t}\n\n\tprotected _makeTicks(): ListTemplate<this[\"_tickType\"]> {\n\t\treturn new ListTemplate(\n\t\t\tTemplate.new({}),\n\t\t\t() => Tick._new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.ticks.template.get(\"themeTags\", []), [\"pie\", \"series\"])\n\t\t\t}, [this.ticks.template]),\n\t\t);\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst slice = this.makeSlice(dataItem);\n\n\t\tslice.on(\"scale\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.on(\"shiftRadius\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tconst label = this.makeLabel(dataItem);\n\n\t\tlabel.events.on(\"positionchanged\", () => {\n\t\t\tthis._updateTick(dataItem);\n\t\t})\n\n\t\tthis.makeTick(dataItem);\n\n\t\tslice.events.on(\"positionchanged\", () => {\n\t\t\tlabel.markDirty();\n\t\t})\n\t}\n\n\tprotected _getNextUp() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn chart._maxRadius;\n\t\t}\n\t\treturn this.labelsContainer.maxHeight() / 2;\n\t}\n\n\tprotected _getNextDown() {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\treturn -chart._maxRadius;\n\t\t}\n\t\treturn -this.labelsContainer.maxHeight() / 2;\n\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\n\t\t\tif (this.isDirty(\"alignLabels\")) {\n\t\t\t\tlet labelsTemplate = this.labels.template;\n\n\t\t\t\tif (this.get(\"alignLabels\")) {\n\t\t\t\t\tlabelsTemplate.set(\"textType\", \"aligned\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet textType = labelsTemplate.get(\"textType\");\n\t\t\t\t\tif (textType == null || textType == \"aligned\") {\n\t\t\t\t\t\tlabelsTemplate.set(\"textType\", \"adjusted\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\n\t\t\tif (this._valuesDirty || this.isDirty(\"radius\") || this.isDirty(\"innerRadius\") || this.isDirty(\"startAngle\") || this.isDirty(\"endAngle\") || this.isDirty(\"alignLabels\")) {\n\t\t\t\tthis.markDirtyBounds();\n\t\t\t\tconst startAngle = this.get(\"startAngle\", chart.get(\"startAngle\", -90));\n\t\t\t\tconst endAngle = this.get(\"endAngle\", chart.get(\"endAngle\", 270));\n\t\t\t\tconst arc = endAngle - startAngle;\n\t\t\t\tlet currentAngle = startAngle;\n\n\t\t\t\tconst radius = chart.radius(this);\n\t\t\t\tthis.setPrivateRaw(\"radius\", radius);\n\t\t\t\tlet innerRadius = chart.innerRadius(this) * chart.getPrivate(\"irModifyer\", 1);\n\n\t\t\t\tif (innerRadius < 0) {\n\t\t\t\t\tinnerRadius = radius + innerRadius;\n\t\t\t\t}\n\n\t\t\t\t//if (radius > 0) {\n\t\t\t\t$array.each(this._dataItems, (dataItem) => {\n\n\t\t\t\t\tthis.updateLegendValue(dataItem);\n\n\t\t\t\t\tlet currentArc = arc * dataItem.get(\"valuePercentTotal\") / 100;\n\t\t\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\t\t\tif (slice) {\n\t\t\t\t\t\tslice.set(\"radius\", radius);\n\t\t\t\t\t\tslice.set(\"innerRadius\", innerRadius);\n\t\t\t\t\t\tslice.set(\"startAngle\", currentAngle);\n\n\t\t\t\t\t\tslice.set(\"arc\", currentArc);\n\n\t\t\t\t\t\tconst color = dataItem.get(\"fill\");\n\t\t\t\t\t\tslice._setDefault(\"fill\", color);\n\t\t\t\t\t\tslice._setDefault(\"stroke\", color);\n\n\t\t\t\t\t\tconst fillPattern = dataItem.get(\"fillPattern\");\n\t\t\t\t\t\tslice._setDefault(\"fillPattern\", fillPattern);\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\tlet middleAngle = $math.normalizeAngle(currentAngle + currentArc / 2);\n\n\t\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\t\tif (label) {\n\t\t\t\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\t\t\t\tlabel.setPrivate(\"innerRadius\", innerRadius);\n\t\t\t\t\t\tlabel.set(\"labelAngle\", middleAngle);\n\n\t\t\t\t\t\tif (label.get(\"textType\") == \"aligned\") {\n\t\t\t\t\t\t\tlet labelRadius = radius + label.get(\"radius\", 0);\n\t\t\t\t\t\t\tlet y = radius * $math.sin(middleAngle);\n\n\t\t\t\t\t\t\tif (middleAngle > 90 && middleAngle <= 270) {\n\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\tthis._lLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabelRadius *= -1;\n\t\t\t\t\t\t\t\tlabelRadius -= this.labelsContainer.get(\"paddingLeft\", 0);\n\t\t\t\t\t\t\t\tlabel.set(\"centerX\", p100);\n\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", true);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tif (!label.isHidden() && !label.isHiding()) {\n\t\t\t\t\t\t\t\t\tthis._rLabels.push({ label: label, y: y });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabelRadius += this.labelsContainer.get(\"paddingRight\", 0);\n\t\t\t\t\t\t\t\tlabel.set(\"centerX\", 0);\n\t\t\t\t\t\t\t\tlabel.setPrivateRaw(\"left\", false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel.set(\"x\", labelRadius);\n\t\t\t\t\t\t\tlabel.set(\"y\", radius * $math.sin(middleAngle));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcurrentAngle += currentArc;\n\t\t\t\t\tthis._updateTick(dataItem);\n\t\t\t\t})\n\t\t\t\t//}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTick(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst tick = dataItem.get(\"tick\");\n\t\tconst label = dataItem.get(\"label\");\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tconst location = tick.get(\"location\", 1);\n\t\tif (tick && label && slice) {\n\t\t\tconst radius = (slice.get(\"shiftRadius\", 0) + slice.get(\"radius\", 0)) * slice.get(\"scale\", 1) * location;\n\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\tconst cos = $math.cos(labelAngle);\n\t\t\tconst sin = $math.sin(labelAngle);\n\n\t\t\tconst labelsContainer = this.labelsContainer;\n\t\t\tconst pl = labelsContainer.get(\"paddingLeft\", 0);\n\t\t\tconst pr = labelsContainer.get(\"paddingRight\", 0);\n\n\t\t\tlet x = 0;\n\t\t\tlet y = 0;\n\n\t\t\tx = label.x();\n\t\t\ty = label.y();\n\t\t\tlet points:Array<IPoint> = [];\n\n\t\t\tif(x != 0 || y != 0){\n\t\t\t\tif (label.get(\"textType\") == \"circular\") {\n\t\t\t\t\tconst labelRadius = label.radius() - label.get(\"paddingBottom\", 0);\n\t\t\t\t\tconst labelAngle = label.get(\"labelAngle\", 0);\n\t\t\t\t\tx = labelRadius * $math.cos(labelAngle);\n\t\t\t\t\ty = labelRadius * $math.sin(labelAngle);\n\t\t\t\t}\n\n\t\t\t\tlet dx = -pr;\n\t\t\t\tif (label.getPrivate(\"left\")) {\n\t\t\t\t\tdx = pl;\n\t\t\t\t}\n\t\t\t\tpoints = [{ x: slice.x() + radius * cos, y: slice.y() + radius * sin }, { x: x + dx, y: y }, { x: x, y: y }];\t\t\t\t\n\t\t\t}\n\n\t\t\ttick.set(\"points\", points);\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst slice = dataItem.get(\"slice\");\n\n\t\t\tif (slice) {\n\t\t\t\tconst innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\t\tconst radius = slice.get(\"radius\", 0);\n\t\t\t\tconst startAngle = slice.get(\"startAngle\", 0);\n\t\t\t\tconst arc = slice.get(\"arc\", 0);\n\t\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\t\tconst angle = startAngle + arc * locationX;\n\t\t\t\tconst r = innerRadius + (radius - innerRadius) * locationY;\n\n\t\t\t\tsprite.setAll({ x: $math.cos(angle) * r, y: $math.sin(angle) * r });\n\t\t\t}\n\t\t}\n\t}\n}\n"]}