@amcharts/amcharts5 5.17.3 → 5.18.0

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 (202) hide show
  1. package/.internal/charts/funnel/PictorialStackedSeries.js +1 -1
  2. package/.internal/charts/funnel/PictorialStackedSeries.js.map +1 -1
  3. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js +1 -1
  4. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
  5. package/.internal/charts/hierarchy/Tree.d.ts +14 -0
  6. package/.internal/charts/hierarchy/Tree.d.ts.map +1 -1
  7. package/.internal/charts/hierarchy/Tree.js +70 -0
  8. package/.internal/charts/hierarchy/Tree.js.map +1 -1
  9. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts +8 -2
  10. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts.map +1 -1
  11. package/.internal/charts/hierarchy/VoronoiTreemap.js +8 -4
  12. package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
  13. package/.internal/charts/stock/StockChartDefaultTheme.js +6 -6
  14. package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
  15. package/.internal/charts/stock/indicators/BollingerBands.js +1 -1
  16. package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
  17. package/.internal/charts/stock/indicators/MovingAverage.d.ts +6 -0
  18. package/.internal/charts/stock/indicators/MovingAverage.d.ts.map +1 -1
  19. package/.internal/charts/stock/indicators/MovingAverage.js +9 -5
  20. package/.internal/charts/stock/indicators/MovingAverage.js.map +1 -1
  21. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts +6 -0
  22. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts.map +1 -1
  23. package/.internal/charts/stock/indicators/MovingAverageDeviation.js +8 -4
  24. package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
  25. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js +1 -1
  26. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -1
  27. package/.internal/charts/stock/toolbar/DrawingControl.js +1 -1
  28. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
  29. package/.internal/core/Registry.js +1 -1
  30. package/.internal/core/Registry.js.map +1 -1
  31. package/.internal/core/util/Entity.d.ts.map +1 -1
  32. package/.internal/core/util/Entity.js +7 -3
  33. package/.internal/core/util/Entity.js.map +1 -1
  34. package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
  35. package/.internal/plugins/exporting/Exporting.js +10 -9
  36. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  37. package/.internal/plugins/json/Classes-script.js +254 -254
  38. package/.internal/plugins/json/Classes-script.js.map +1 -1
  39. package/.internal/plugins/json/Classes.js +254 -254
  40. package/.internal/plugins/json/Classes.js.map +1 -1
  41. package/CHANGELOG.md +15 -0
  42. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  43. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  44. package/examples/javascript/flow-chord/package.json +1 -1
  45. package/examples/javascript/flow-chord-directed/package.json +1 -1
  46. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  47. package/examples/javascript/flow-sankey/package.json +1 -1
  48. package/examples/javascript/gantt/package.json +1 -1
  49. package/examples/javascript/gantt-multilevel/package.json +1 -1
  50. package/examples/javascript/gantt-simple/package.json +1 -1
  51. package/examples/javascript/gauge/package.json +1 -1
  52. package/examples/javascript/gauge-bands/package.json +1 -1
  53. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  54. package/examples/javascript/hierarchy-pack/package.json +1 -1
  55. package/examples/javascript/hierarchy-partition/package.json +1 -1
  56. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  57. package/examples/javascript/hierarchy-tree/package.json +1 -1
  58. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  59. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  60. package/examples/javascript/jest/package.json +1 -1
  61. package/examples/javascript/json-pie/package.json +1 -1
  62. package/examples/javascript/json-xy/package.json +1 -1
  63. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  64. package/examples/javascript/map-clustered-points/package.json +1 -1
  65. package/examples/javascript/map-day-and-night/package.json +1 -1
  66. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  67. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  68. package/examples/javascript/map-sankey/package.json +1 -1
  69. package/examples/javascript/map-sankey-waypoints/package.json +1 -1
  70. package/examples/javascript/map-with-bubbles/package.json +1 -1
  71. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  72. package/examples/javascript/misc-40-charts/package.json +1 -1
  73. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  74. package/examples/javascript/pie-chart/package.json +1 -1
  75. package/examples/javascript/pie-donut-chart/package.json +1 -1
  76. package/examples/javascript/pie-variable-radius/package.json +1 -1
  77. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  78. package/examples/javascript/radar-heat-map/package.json +1 -1
  79. package/examples/javascript/radar-line/package.json +1 -1
  80. package/examples/javascript/radar-time-line/package.json +1 -1
  81. package/examples/javascript/sliced-funnel/package.json +1 -1
  82. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  83. package/examples/javascript/sliced-pyramid/package.json +1 -1
  84. package/examples/javascript/stock-chart/package.json +1 -1
  85. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  86. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  87. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  88. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  89. package/examples/javascript/stock-chart-live/package.json +1 -1
  90. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  91. package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
  92. package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
  93. package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
  94. package/examples/javascript/timeline-spiral-chart/package.json +1 -1
  95. package/examples/javascript/venn-diagram/package.json +1 -1
  96. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  97. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  98. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  99. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  100. package/examples/javascript/xy-bubble/package.json +1 -1
  101. package/examples/javascript/xy-candlestick/package.json +1 -1
  102. package/examples/javascript/xy-clustered-column/package.json +1 -1
  103. package/examples/javascript/xy-column/package.json +1 -1
  104. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  105. package/examples/javascript/xy-data-grouping/package.json +1 -1
  106. package/examples/javascript/xy-draggable-range/package.json +1 -1
  107. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  108. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  109. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  110. package/examples/javascript/xy-line/package.json +1 -1
  111. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  112. package/examples/javascript/xy-live-data/package.json +1 -1
  113. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  114. package/examples/javascript/xy-ohlc/package.json +1 -1
  115. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  116. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  117. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  118. package/examples/javascript/xy-stacked-column/package.json +1 -1
  119. package/examples/javascript/xy-stacked-step/package.json +1 -1
  120. package/examples/javascript/xy-stock/package.json +1 -1
  121. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  122. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  123. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  124. package/examples/typescript/flow-chord/package.json +1 -1
  125. package/examples/typescript/flow-chord-directed/package.json +1 -1
  126. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  127. package/examples/typescript/flow-sankey/package.json +1 -1
  128. package/examples/typescript/gantt/package.json +1 -1
  129. package/examples/typescript/gantt-multilevel/package.json +1 -1
  130. package/examples/typescript/gantt-simple/package.json +1 -1
  131. package/examples/typescript/gauge/package.json +1 -1
  132. package/examples/typescript/gauge-bands/package.json +1 -1
  133. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  134. package/examples/typescript/hierarchy-pack/package.json +1 -1
  135. package/examples/typescript/hierarchy-partition/package.json +1 -1
  136. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  137. package/examples/typescript/hierarchy-tree/package.json +1 -1
  138. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  139. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  140. package/examples/typescript/jest/package.json +1 -1
  141. package/examples/typescript/json-pie/package.json +1 -1
  142. package/examples/typescript/json-xy/package.json +1 -1
  143. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  144. package/examples/typescript/map-clustered-points/package.json +1 -1
  145. package/examples/typescript/map-day-and-night/package.json +1 -1
  146. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  147. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  148. package/examples/typescript/map-sankey/package.json +1 -1
  149. package/examples/typescript/map-sankey-waypoints/package.json +1 -1
  150. package/examples/typescript/map-with-bubbles/package.json +1 -1
  151. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  152. package/examples/typescript/misc-40-charts/package.json +1 -1
  153. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  154. package/examples/typescript/pie-chart/package.json +1 -1
  155. package/examples/typescript/pie-donut-chart/package.json +1 -1
  156. package/examples/typescript/pie-variable-radius/package.json +1 -1
  157. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  158. package/examples/typescript/radar-heat-map/package.json +1 -1
  159. package/examples/typescript/radar-line/package.json +1 -1
  160. package/examples/typescript/radar-time-line/package.json +1 -1
  161. package/examples/typescript/sliced-funnel/package.json +1 -1
  162. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  163. package/examples/typescript/sliced-pyramid/package.json +1 -1
  164. package/examples/typescript/stock-chart/package.json +1 -1
  165. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  166. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  167. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  168. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  169. package/examples/typescript/stock-chart-live/package.json +1 -1
  170. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  171. package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
  172. package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
  173. package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
  174. package/examples/typescript/timeline-spiral-chart/package.json +1 -1
  175. package/examples/typescript/venn-diagram/package.json +1 -1
  176. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  177. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  178. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  179. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  180. package/examples/typescript/xy-bubble/package.json +1 -1
  181. package/examples/typescript/xy-candlestick/package.json +1 -1
  182. package/examples/typescript/xy-clustered-column/package.json +1 -1
  183. package/examples/typescript/xy-column/package.json +1 -1
  184. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  185. package/examples/typescript/xy-data-grouping/package.json +1 -1
  186. package/examples/typescript/xy-draggable-range/package.json +1 -1
  187. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  188. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  189. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  190. package/examples/typescript/xy-line/package.json +1 -1
  191. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  192. package/examples/typescript/xy-live-data/package.json +1 -1
  193. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  194. package/examples/typescript/xy-ohlc/package.json +1 -1
  195. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  196. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  197. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  198. package/examples/typescript/xy-stacked-column/package.json +1 -1
  199. package/examples/typescript/xy-stacked-step/package.json +1 -1
  200. package/examples/typescript/xy-stock/package.json +1 -1
  201. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  202. package/package.json +2 -2
@@ -42,7 +42,7 @@ export class PictorialStackedSeries extends PyramidSeries {
42
42
  else {
43
43
  scale = h / mh;
44
44
  }
45
- if (scale != Infinity && scale != NaN) {
45
+ if (scale != Infinity && !Number.isNaN(scale)) {
46
46
  seriesMask.set("scale", scale);
47
47
  seriesMask.set("x", w / 2);
48
48
  seriesMask.set("y", h / 2);
@@ -1 +1 @@
1
- {"version":3,"file":"PictorialStackedSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/PictorialStackedSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import { PyramidSeries, IPyramidSeriesSettings, IPyramidSeriesDataItem, IPyramidSeriesPrivate } from \"./PyramidSeries\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { p100, p50 } from \"../../core/util/Percent\"\n\n\nexport interface IPictorialStackedSeriesDataItem extends IPyramidSeriesDataItem {\n\n}\n\nexport interface IPictorialStackedSeriesSettings extends IPyramidSeriesSettings {\n\n\t/**\n\t * An SVG path that will define the shape of the pictorial series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/pictorial-stacked-series/#Shape_of_the_series} for more info\n\t */\n\tsvgPath?: string;\n\n}\n\nexport interface IPictorialStackedSeriesPrivate extends IPyramidSeriesPrivate {\n}\n\n/**\n * Creates a pictorial series for use in a [[SlicedChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/pictorial-stacked-series/} for more info\n * @important\n */\nexport class PictorialStackedSeries extends PyramidSeries {\n\tprotected _tag = \"pictorial\";\n\n\tpublic static className: string = \"PictorialStackedSeries\";\n\tpublic static classNames: Array<string> = PyramidSeries.classNames.concat([PictorialStackedSeries.className]);\n\n\tdeclare public _settings: IPictorialStackedSeriesSettings;\n\tdeclare public _privateSettings: IPictorialStackedSeriesPrivate;\n\tdeclare public _dataItemSettings: IPictorialStackedSeriesDataItem;\n\n\t/**\n\t * A [[Graphics]] element to used as a mask (shape) for the series.\n\t *\n\t * This element is read-only. To modify the mask/shape, use the `svgPath` setting.\n\t */\n\tpublic readonly seriesMask: Graphics = Graphics.new(this._root, { position: \"absolute\", x: p50, y: p50, centerX: p50, centerY: p50 });\n\n\tpublic readonly seriesGraphics: Graphics = this.slicesContainer.children.push(Graphics.new(this._root, { themeTags: [\"pictorial\", \"background\"], position: \"absolute\", x: p50, y: p50, centerX: p50, centerY: p50 }));\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.set(\"topWidth\", p100);\n\t\tthis.set(\"bottomWidth\", p100);\n\t\tthis.set(\"valueIs\", \"height\");\n\t\tthis.slicesContainer.set(\"mask\", this.seriesMask);\n\t}\n\n\tprotected _updateScale() {\n\t\tlet slicesContainer = this.slicesContainer;\n\n\t\tlet w = slicesContainer.innerWidth();\n\t\tlet h = slicesContainer.innerHeight();\n\n\t\tlet seriesMask = this.seriesMask;\n\t\tlet seriesGraphics = this.seriesGraphics;\n\t\tlet scale = seriesMask.get(\"scale\", 1);\n\n\t\tconst bounds = seriesMask.localBounds();\n\n\t\tlet mw = bounds.right - bounds.left;\n\t\tlet mh = bounds.bottom - bounds.top;\n\t\tif (this.get(\"orientation\") == \"horizontal\") {\n\t\t\tscale = w / mw;\n\t\t}\n\t\telse {\n\t\t\tscale = h / mh;\n\t\t}\n\t\tif (scale != Infinity && scale != NaN) {\n\t\t\tseriesMask.set(\"scale\", scale);\n\t\t\tseriesMask.set(\"x\", w / 2);\n\t\t\tseriesMask.set(\"y\", h / 2);\n\n\t\t\tseriesGraphics.set(\"scale\", scale);\n\t\t\tseriesGraphics.set(\"x\", w / 2);\n\t\t\tseriesGraphics.set(\"y\", h / 2);\n\t\t}\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tif (this.isDirty(\"svgPath\")) {\n\t\t\tconst svgPath = this.get(\"svgPath\");\n\t\t\tthis.seriesMask.set(\"svgPath\", svgPath);\n\t\t\tthis.seriesGraphics.set(\"svgPath\", svgPath);\n\t\t}\n\n\t\tthis._updateScale();\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"PictorialStackedSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/PictorialStackedSeries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyE,MAAM,iBAAiB,CAAC;AACvH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAqBnD;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,aAAa;IAAzD;;QACW,SAAI,GAAG,WAAW,CAAC;QAS7B;;;;WAIG;QACa,eAAU,GAAa,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEtH,mBAAc,GAAa,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAoDvN,CAAC;IAlDU,SAAS;QAClB,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAES,YAAY;QACrB,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAE3C,IAAI,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QAEtC,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,IAAI,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACzC,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAExC,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;QACpC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,YAAY,EAAE;YAC5C,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;SACf;aACI;YACJ,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;SACf;QACD,IAAI,KAAK,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC9C,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAE3B,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACnC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/B,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/B;IACF,CAAC;IAEM,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAC5C;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;;AAhEa,gCAAS,GAAW,wBAAwB,CAAC;AAC7C,iCAAU,GAAkB,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import { PyramidSeries, IPyramidSeriesSettings, IPyramidSeriesDataItem, IPyramidSeriesPrivate } from \"./PyramidSeries\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { p100, p50 } from \"../../core/util/Percent\"\n\n\nexport interface IPictorialStackedSeriesDataItem extends IPyramidSeriesDataItem {\n\n}\n\nexport interface IPictorialStackedSeriesSettings extends IPyramidSeriesSettings {\n\n\t/**\n\t * An SVG path that will define the shape of the pictorial series.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/pictorial-stacked-series/#Shape_of_the_series} for more info\n\t */\n\tsvgPath?: string;\n\n}\n\nexport interface IPictorialStackedSeriesPrivate extends IPyramidSeriesPrivate {\n}\n\n/**\n * Creates a pictorial series for use in a [[SlicedChart]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/pictorial-stacked-series/} for more info\n * @important\n */\nexport class PictorialStackedSeries extends PyramidSeries {\n\tprotected _tag = \"pictorial\";\n\n\tpublic static className: string = \"PictorialStackedSeries\";\n\tpublic static classNames: Array<string> = PyramidSeries.classNames.concat([PictorialStackedSeries.className]);\n\n\tdeclare public _settings: IPictorialStackedSeriesSettings;\n\tdeclare public _privateSettings: IPictorialStackedSeriesPrivate;\n\tdeclare public _dataItemSettings: IPictorialStackedSeriesDataItem;\n\n\t/**\n\t * A [[Graphics]] element to used as a mask (shape) for the series.\n\t *\n\t * This element is read-only. To modify the mask/shape, use the `svgPath` setting.\n\t */\n\tpublic readonly seriesMask: Graphics = Graphics.new(this._root, { position: \"absolute\", x: p50, y: p50, centerX: p50, centerY: p50 });\n\n\tpublic readonly seriesGraphics: Graphics = this.slicesContainer.children.push(Graphics.new(this._root, { themeTags: [\"pictorial\", \"background\"], position: \"absolute\", x: p50, y: p50, centerX: p50, centerY: p50 }));\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.set(\"topWidth\", p100);\n\t\tthis.set(\"bottomWidth\", p100);\n\t\tthis.set(\"valueIs\", \"height\");\n\t\tthis.slicesContainer.set(\"mask\", this.seriesMask);\n\t}\n\n\tprotected _updateScale() {\n\t\tlet slicesContainer = this.slicesContainer;\n\n\t\tlet w = slicesContainer.innerWidth();\n\t\tlet h = slicesContainer.innerHeight();\n\n\t\tlet seriesMask = this.seriesMask;\n\t\tlet seriesGraphics = this.seriesGraphics;\n\t\tlet scale = seriesMask.get(\"scale\", 1);\n\n\t\tconst bounds = seriesMask.localBounds();\n\n\t\tlet mw = bounds.right - bounds.left;\n\t\tlet mh = bounds.bottom - bounds.top;\n\t\tif (this.get(\"orientation\") == \"horizontal\") {\n\t\t\tscale = w / mw;\n\t\t}\n\t\telse {\n\t\t\tscale = h / mh;\n\t\t}\n\t\tif (scale != Infinity && !Number.isNaN(scale)) {\n\t\t\tseriesMask.set(\"scale\", scale);\n\t\t\tseriesMask.set(\"x\", w / 2);\n\t\t\tseriesMask.set(\"y\", h / 2);\n\n\t\t\tseriesGraphics.set(\"scale\", scale);\n\t\t\tseriesGraphics.set(\"x\", w / 2);\n\t\t\tseriesGraphics.set(\"y\", h / 2);\n\t\t}\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tif (this.isDirty(\"svgPath\")) {\n\t\t\tconst svgPath = this.get(\"svgPath\");\n\t\t\tthis.seriesMask.set(\"svgPath\", svgPath);\n\t\t\tthis.seriesGraphics.set(\"svgPath\", svgPath);\n\t\t}\n\n\t\tthis._updateScale();\n\t}\n\n}\n"]}
@@ -371,7 +371,7 @@ export class HierarchyDefaultTheme extends Theme {
371
371
  */
372
372
  {
373
373
  r("VoronoiTreemap").setAll({
374
- type: "polygon",
374
+ shapeType: "polygon",
375
375
  minWeightRatio: 0.005,
376
376
  convergenceRatio: 0.005,
377
377
  maxIterationCount: 100,
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchyDefaultTheme.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/HierarchyDefaultTheme.ts"],"names":[],"mappings":"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","sourcesContent":["import { Theme } from \"../../core/Theme\";\r\nimport { percent, p100, p50 } from \"../../core/util/Percent\";\r\nimport { ColorSet } from \"../../core/util/ColorSet\";\r\nimport { setColor } from \"../../themes/DefaultTheme\";\r\n\r\nimport * as $ease from \"../../core/util/Ease\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport class HierarchyDefaultTheme extends Theme {\r\n\tprotected setupDefaultRules() {\r\n\t\tsuper.setupDefaultRules();\r\n\r\n\t\tconst ic = this._root.interfaceColors;\r\n\t\tconst gridLayout = this._root.gridLayout;\r\n\t\tconst r = this.rule.bind(this);\r\n\r\n\t\t/**\r\n\t\t * ========================================================================\r\n\t\t * charts/hierarchy\r\n\t\t * ========================================================================\r\n\t\t */\r\n\r\n\t\tr(\"Hierarchy\").setAll({\r\n\t\t\tlegendLabelText: \"{category}\",\r\n\t\t\tlegendValueText: \"{sum.formatNumber('#.#')}\",\r\n\t\t\twidth: p100,\r\n\t\t\theight: p100,\r\n\t\t\tcolors: ColorSet.new(this._root, { step: 2 }),\r\n\t\t\tchildDataField: \"children\",\r\n\t\t\tdownDepth: 1,\r\n\t\t\tinitialDepth: 5,\r\n\t\t\tsingleBranchOnly: true,\r\n\t\t\tmaskContent: true,\r\n\t\t\tanimationEasing: $ease.out($ease.cubic)\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\").setAll({\r\n\t\t\ttoggleKey: \"disabled\",\r\n\t\t\tsetStateOnChildren: true,\r\n\t\t\tposition: \"absolute\",\r\n\t\t\tisMeasured: false,\r\n\t\t\tcursorOverStyle: \"pointer\",\r\n\t\t\ttooltipText: \"{category}: {sum}\"\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"last\"]).setAll({\r\n\t\t\tcursorOverStyle: \"default\"\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"hierarchy\", \"node\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tcenterY: p50,\r\n\t\t\t\tposition: \"absolute\",\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingRight: 4,\r\n\t\t\t\tpaddingLeft: 4,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.3\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"HierarchyLink\");\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tisMeasured: false,\r\n\t\t\t\tposition: \"absolute\",\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t\tstrokeOpacity: 1,\r\n\t\t\t\tstrength: 0.9,\r\n\t\t\t\tdistance: 1.1\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"grid\");\r\n\t\t}\r\n\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\"]).setAll({\r\n\t\t\tposition: \"absolute\",\r\n\t\t\tfillOpacity: 1,\r\n\t\t\tstrokeOpacity: 0,\r\n\t\t\tradius: 15,\r\n\t\t\ttooltipY: 0\r\n\t\t});\r\n\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\", \"outer\"]).setAll({\r\n\t\t\tposition: \"absolute\",\r\n\t\t\topacity: 1,\r\n\t\t\tfillOpacity: 0,\r\n\t\t\tstrokeDasharray: 0,\r\n\t\t\tstrokeOpacity: 1,\r\n\t\t\tradius: 15,\r\n\t\t\tscale: 1.1,\r\n\t\t\tinteractive: false\r\n\t\t})\r\n\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\", \"outer\"]).states.create(\"disabled\", { opacity: 1, scale: 1.1, strokeDasharray: 2 });\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\", \"outer\"]).states.create(\"hoverDisabled\", { scale: 1.2, opacity: 1, strokeDasharray: 2 });\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\", \"outer\"]).states.create(\"hover\", { scale: 1.05, strokeDasharray: 0 });\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\", \"outer\"]).states.create(\"hidden\", { opacity: 0, strokeDasharray: 0 });\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: BreadcrumbBar\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"BreadcrumbBar\").setAll({\r\n\t\t\tpaddingLeft: 8,\r\n\t\t\tlayout: gridLayout\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"breadcrumb\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tpaddingRight: 4,\r\n\t\t\t\tpaddingLeft: 4,\r\n\t\t\t\tcursorOverStyle: \"pointer\",\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}:\",\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"breadcrumb\"]).states.create(\"hover\", {});\r\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonHover\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"breadcrumb\"]).states.create(\"down\", { stateAnimationDuration: 0 });\r\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonDown\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"breadcrumb\", \"last\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\tfontWeight: \"bold\",\r\n\t\t\t\tcursorOverStyle: \"default\"\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"breadcrumb\", \"label\", \"background\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tfillOpacity: 0,\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"background\");\r\n\t\t}\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Partition\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"Partition\").setAll({\r\n\t\t\tdownDepth: 1,\r\n\t\t\tupDepth: 0,\r\n\t\t\tinitialDepth: 5\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"partition\"]).setAll({\r\n\t\t\tsetStateOnChildren: false\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"partition\"]).states.create(\"hidden\", {\r\n\t\t\topacity: 1,\r\n\t\t\tvisible: true\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"partition\", \"node\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tx: p50,\r\n\t\t\t\ty: p50,\r\n\t\t\t\tcenterY: p50,\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingLeft: 1,\r\n\t\t\t\tpaddingRight: 1,\r\n\t\t\t\trotation: 90,\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.4\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\t\tr(\"Label\", [\"horizontal\", \"partition\", \"node\"]).setAll({\r\n\t\t\trotation: 0\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"partition\", \"node\", \"shape\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tstrokeOpacity: 1,\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t\tcornerRadiusBR: 0,\r\n\t\t\t\tcornerRadiusTR: 0,\r\n\t\t\t\tcornerRadiusBL: 0,\r\n\t\t\t\tcornerRadiusTL: 0\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\t\tr(\"RoundedRectangle\", [\"partition\", \"node\", \"shape\", \"last\"]).setAll({\r\n\t\t\tfillOpacity: 0.75\r\n\t\t});\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Sunburst\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"Sunburst\").setAll({\r\n\t\t\tsingleBranchOnly: true\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"sunburst\"]).setAll({\r\n\t\t\tsetStateOnChildren: false\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"sunburst\"]).states.create(\"hidden\", {\r\n\t\t\topacity: 0,\r\n\t\t\tvisible: false\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Slice\", [\"sunburst\", \"node\", \"shape\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tstrokeOpacity: 1,\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t\tcornerRadius: 0\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\t\tr(\"Slice\", [\"sunburst\", \"node\", \"shape\", \"last\"]).setAll({\r\n\t\t\tfillOpacity: 0.75\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"RadialLabel\", [\"sunburst\", \"node\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tx: 0,\r\n\t\t\t\ty: 0,\r\n\t\t\t\ttextType: \"radial\",\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingLeft: 1,\r\n\t\t\t\tpaddingRight: 1,\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.4,\r\n\t\t\t\tbaseRadius: p50,\r\n\t\t\t\trotation: 0\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: ForceDirected\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"ForceDirected\").setAll({\r\n\t\t\tminRadius: percent(1),\r\n\t\t\tmaxRadius: percent(8),\r\n\t\t\tinitialFrames: 500,\r\n\t\t\tcenterStrength: 0.8,\r\n\t\t\tmanyBodyStrength: -14,\r\n\t\t\tvelocityDecay: 0.5,\r\n\t\t\tlinkWithStrength: 0.5,\r\n\t\t\tshowOnFrame: 10,\r\n\t\t\tsingleBranchOnly: false,\r\n\t\t\tupDepth: Infinity,\r\n\t\t\tdownDepth: 1,\r\n\t\t\tinitialDepth: 5,\r\n\t\t\ttopDepth: 0\r\n\t\t});\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Tree\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"Tree\").setAll({\r\n\t\t\torientation: \"vertical\",\r\n\t\t\tpaddingLeft: 20,\r\n\t\t\tpaddingRight: 20,\r\n\t\t\tpaddingTop: 20,\r\n\t\t\tpaddingBottom: 20,\r\n\t\t\tsingleBranchOnly: false,\r\n\t\t\tupDepth: Infinity,\r\n\t\t\tdownDepth: 1,\r\n\t\t\tinitialDepth: 5,\r\n\t\t\ttopDepth: 0\r\n\t\t});\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Pack\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"Pack\").setAll({\r\n\t\t\tpaddingLeft: 20,\r\n\t\t\tpaddingTop: 20,\r\n\t\t\tpaddingBottom: 20,\r\n\t\t\tpaddingRight: 20,\r\n\t\t\tnodePadding: 0\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"pack\", \"node\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tcenterY: p50,\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingLeft: 1,\r\n\t\t\t\tpaddingRight: 1,\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.4\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Circle\", [\"pack\", \"node\", \"shape\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tstrokeOpacity: 0.5,\r\n\t\t\t\tfillOpacity: 0.8,\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\r\n\t\tr(\"LinkedHierarchyNode\").setAll({\r\n\t\t\tdraggable: true\r\n\t\t});\r\n\r\n\t\tr(\"LinkedHierarchyNode\").states.create(\"hidden\", { scale: 0, opacity: 0, visible: false });\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Treemap\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"Treemap\").setAll({\r\n\t\t\tupDepth: 0,\r\n\t\t\tlayoutAlgorithm: \"squarify\"\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"treemap\", \"node\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tx: p50,\r\n\t\t\t\ty: p50,\r\n\t\t\t\tcenterY: p50,\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingLeft: 1,\r\n\t\t\t\tpaddingRight: 1,\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.4\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\t\tr(\"HierarchyNode\", [\"treemap\", \"node\"]).setAll({\r\n\t\t\ttooltipY: percent(40),\r\n\t\t\tisMeasured: false,\r\n\t\t\tposition: \"absolute\",\r\n\t\t\tcursorOverStyle: \"pointer\"\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"treemap\", \"node\", \"last\"]).setAll({\r\n\t\t\tcursorOverStyle: \"default\"\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"treemap\", \"node\", \"shape\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tstrokeOpacity: 1,\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t\tcornerRadiusBR: 0,\r\n\t\t\t\tcornerRadiusTR: 0,\r\n\t\t\t\tcornerRadiusBL: 0,\r\n\t\t\t\tcornerRadiusTL: 0,\r\n\t\t\t\tfillOpacity: 1\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Voronoi Treemap\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\t{\r\n\t\t\tr(\"VoronoiTreemap\").setAll({\r\n\t\t\t\ttype: \"polygon\",\r\n\t\t\t\tminWeightRatio: 0.005,\r\n\t\t\t\tconvergenceRatio: 0.005,\r\n\t\t\t\tmaxIterationCount: 100,\r\n\t\t\t\tsingleBranchOnly: true\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Graphics\", [\"voronoitreemap\", \"node\", \"shape\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tstrokeOpacity: 1,\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t\tfillOpacity: 1\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tr(\"Polygon\", [\"hierarchy\", \"node\", \"shape\", \"depth1\"]).setAll({\r\n\t\t\t\tstrokeWidth: 3\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"voronoitreemap\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tcenterY: p50,\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingLeft: 1,\r\n\t\t\t\tpaddingRight: 1,\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.4,\r\n\t\t\t\tlayer: 30\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\t}\r\n}\r\n"]}
1
+ {"version":3,"file":"HierarchyDefaultTheme.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/HierarchyDefaultTheme.ts"],"names":[],"mappings":"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","sourcesContent":["import { Theme } from \"../../core/Theme\";\r\nimport { percent, p100, p50 } from \"../../core/util/Percent\";\r\nimport { ColorSet } from \"../../core/util/ColorSet\";\r\nimport { setColor } from \"../../themes/DefaultTheme\";\r\n\r\nimport * as $ease from \"../../core/util/Ease\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport class HierarchyDefaultTheme extends Theme {\r\n\tprotected setupDefaultRules() {\r\n\t\tsuper.setupDefaultRules();\r\n\r\n\t\tconst ic = this._root.interfaceColors;\r\n\t\tconst gridLayout = this._root.gridLayout;\r\n\t\tconst r = this.rule.bind(this);\r\n\r\n\t\t/**\r\n\t\t * ========================================================================\r\n\t\t * charts/hierarchy\r\n\t\t * ========================================================================\r\n\t\t */\r\n\r\n\t\tr(\"Hierarchy\").setAll({\r\n\t\t\tlegendLabelText: \"{category}\",\r\n\t\t\tlegendValueText: \"{sum.formatNumber('#.#')}\",\r\n\t\t\twidth: p100,\r\n\t\t\theight: p100,\r\n\t\t\tcolors: ColorSet.new(this._root, { step: 2 }),\r\n\t\t\tchildDataField: \"children\",\r\n\t\t\tdownDepth: 1,\r\n\t\t\tinitialDepth: 5,\r\n\t\t\tsingleBranchOnly: true,\r\n\t\t\tmaskContent: true,\r\n\t\t\tanimationEasing: $ease.out($ease.cubic)\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\").setAll({\r\n\t\t\ttoggleKey: \"disabled\",\r\n\t\t\tsetStateOnChildren: true,\r\n\t\t\tposition: \"absolute\",\r\n\t\t\tisMeasured: false,\r\n\t\t\tcursorOverStyle: \"pointer\",\r\n\t\t\ttooltipText: \"{category}: {sum}\"\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"last\"]).setAll({\r\n\t\t\tcursorOverStyle: \"default\"\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"hierarchy\", \"node\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tcenterY: p50,\r\n\t\t\t\tposition: \"absolute\",\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingRight: 4,\r\n\t\t\t\tpaddingLeft: 4,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.3\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"HierarchyLink\");\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tisMeasured: false,\r\n\t\t\t\tposition: \"absolute\",\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t\tstrokeOpacity: 1,\r\n\t\t\t\tstrength: 0.9,\r\n\t\t\t\tdistance: 1.1\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"grid\");\r\n\t\t}\r\n\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\"]).setAll({\r\n\t\t\tposition: \"absolute\",\r\n\t\t\tfillOpacity: 1,\r\n\t\t\tstrokeOpacity: 0,\r\n\t\t\tradius: 15,\r\n\t\t\ttooltipY: 0\r\n\t\t});\r\n\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\", \"outer\"]).setAll({\r\n\t\t\tposition: \"absolute\",\r\n\t\t\topacity: 1,\r\n\t\t\tfillOpacity: 0,\r\n\t\t\tstrokeDasharray: 0,\r\n\t\t\tstrokeOpacity: 1,\r\n\t\t\tradius: 15,\r\n\t\t\tscale: 1.1,\r\n\t\t\tinteractive: false\r\n\t\t})\r\n\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\", \"outer\"]).states.create(\"disabled\", { opacity: 1, scale: 1.1, strokeDasharray: 2 });\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\", \"outer\"]).states.create(\"hoverDisabled\", { scale: 1.2, opacity: 1, strokeDasharray: 2 });\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\", \"outer\"]).states.create(\"hover\", { scale: 1.05, strokeDasharray: 0 });\r\n\t\tr(\"Circle\", [\"linkedhierarchy\", \"shape\", \"outer\"]).states.create(\"hidden\", { opacity: 0, strokeDasharray: 0 });\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: BreadcrumbBar\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"BreadcrumbBar\").setAll({\r\n\t\t\tpaddingLeft: 8,\r\n\t\t\tlayout: gridLayout\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"breadcrumb\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tpaddingRight: 4,\r\n\t\t\t\tpaddingLeft: 4,\r\n\t\t\t\tcursorOverStyle: \"pointer\",\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}:\",\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"breadcrumb\"]).states.create(\"hover\", {});\r\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonHover\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"breadcrumb\"]).states.create(\"down\", { stateAnimationDuration: 0 });\r\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButtonDown\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"breadcrumb\", \"last\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\tfontWeight: \"bold\",\r\n\t\t\t\tcursorOverStyle: \"default\"\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"primaryButton\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"breadcrumb\", \"label\", \"background\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tfillOpacity: 0,\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"background\");\r\n\t\t}\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Partition\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"Partition\").setAll({\r\n\t\t\tdownDepth: 1,\r\n\t\t\tupDepth: 0,\r\n\t\t\tinitialDepth: 5\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"partition\"]).setAll({\r\n\t\t\tsetStateOnChildren: false\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"partition\"]).states.create(\"hidden\", {\r\n\t\t\topacity: 1,\r\n\t\t\tvisible: true\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"partition\", \"node\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tx: p50,\r\n\t\t\t\ty: p50,\r\n\t\t\t\tcenterY: p50,\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingLeft: 1,\r\n\t\t\t\tpaddingRight: 1,\r\n\t\t\t\trotation: 90,\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.4\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\t\tr(\"Label\", [\"horizontal\", \"partition\", \"node\"]).setAll({\r\n\t\t\trotation: 0\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"partition\", \"node\", \"shape\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tstrokeOpacity: 1,\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t\tcornerRadiusBR: 0,\r\n\t\t\t\tcornerRadiusTR: 0,\r\n\t\t\t\tcornerRadiusBL: 0,\r\n\t\t\t\tcornerRadiusTL: 0\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\t\tr(\"RoundedRectangle\", [\"partition\", \"node\", \"shape\", \"last\"]).setAll({\r\n\t\t\tfillOpacity: 0.75\r\n\t\t});\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Sunburst\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"Sunburst\").setAll({\r\n\t\t\tsingleBranchOnly: true\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"sunburst\"]).setAll({\r\n\t\t\tsetStateOnChildren: false\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"sunburst\"]).states.create(\"hidden\", {\r\n\t\t\topacity: 0,\r\n\t\t\tvisible: false\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Slice\", [\"sunburst\", \"node\", \"shape\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tstrokeOpacity: 1,\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t\tcornerRadius: 0\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\t\tr(\"Slice\", [\"sunburst\", \"node\", \"shape\", \"last\"]).setAll({\r\n\t\t\tfillOpacity: 0.75\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"RadialLabel\", [\"sunburst\", \"node\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tx: 0,\r\n\t\t\t\ty: 0,\r\n\t\t\t\ttextType: \"radial\",\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingLeft: 1,\r\n\t\t\t\tpaddingRight: 1,\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.4,\r\n\t\t\t\tbaseRadius: p50,\r\n\t\t\t\trotation: 0\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: ForceDirected\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"ForceDirected\").setAll({\r\n\t\t\tminRadius: percent(1),\r\n\t\t\tmaxRadius: percent(8),\r\n\t\t\tinitialFrames: 500,\r\n\t\t\tcenterStrength: 0.8,\r\n\t\t\tmanyBodyStrength: -14,\r\n\t\t\tvelocityDecay: 0.5,\r\n\t\t\tlinkWithStrength: 0.5,\r\n\t\t\tshowOnFrame: 10,\r\n\t\t\tsingleBranchOnly: false,\r\n\t\t\tupDepth: Infinity,\r\n\t\t\tdownDepth: 1,\r\n\t\t\tinitialDepth: 5,\r\n\t\t\ttopDepth: 0\r\n\t\t});\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Tree\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"Tree\").setAll({\r\n\t\t\torientation: \"vertical\",\r\n\t\t\tpaddingLeft: 20,\r\n\t\t\tpaddingRight: 20,\r\n\t\t\tpaddingTop: 20,\r\n\t\t\tpaddingBottom: 20,\r\n\t\t\tsingleBranchOnly: false,\r\n\t\t\tupDepth: Infinity,\r\n\t\t\tdownDepth: 1,\r\n\t\t\tinitialDepth: 5,\r\n\t\t\ttopDepth: 0\r\n\t\t});\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Pack\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"Pack\").setAll({\r\n\t\t\tpaddingLeft: 20,\r\n\t\t\tpaddingTop: 20,\r\n\t\t\tpaddingBottom: 20,\r\n\t\t\tpaddingRight: 20,\r\n\t\t\tnodePadding: 0\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"pack\", \"node\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tcenterY: p50,\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingLeft: 1,\r\n\t\t\t\tpaddingRight: 1,\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.4\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Circle\", [\"pack\", \"node\", \"shape\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tstrokeOpacity: 0.5,\r\n\t\t\t\tfillOpacity: 0.8,\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\r\n\t\tr(\"LinkedHierarchyNode\").setAll({\r\n\t\t\tdraggable: true\r\n\t\t});\r\n\r\n\t\tr(\"LinkedHierarchyNode\").states.create(\"hidden\", { scale: 0, opacity: 0, visible: false });\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Treemap\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\tr(\"Treemap\").setAll({\r\n\t\t\tupDepth: 0,\r\n\t\t\tlayoutAlgorithm: \"squarify\"\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"treemap\", \"node\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tx: p50,\r\n\t\t\t\ty: p50,\r\n\t\t\t\tcenterY: p50,\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingLeft: 1,\r\n\t\t\t\tpaddingRight: 1,\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.4\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\t\tr(\"HierarchyNode\", [\"treemap\", \"node\"]).setAll({\r\n\t\t\ttooltipY: percent(40),\r\n\t\t\tisMeasured: false,\r\n\t\t\tposition: \"absolute\",\r\n\t\t\tcursorOverStyle: \"pointer\"\r\n\t\t});\r\n\r\n\t\tr(\"HierarchyNode\", [\"treemap\", \"node\", \"last\"]).setAll({\r\n\t\t\tcursorOverStyle: \"default\"\r\n\t\t});\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"RoundedRectangle\", [\"treemap\", \"node\", \"shape\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tstrokeOpacity: 1,\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t\tcornerRadiusBR: 0,\r\n\t\t\t\tcornerRadiusTR: 0,\r\n\t\t\t\tcornerRadiusBL: 0,\r\n\t\t\t\tcornerRadiusTL: 0,\r\n\t\t\t\tfillOpacity: 1\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\r\n\t\t/**\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t * charts/hierarchy: Voronoi Treemap\r\n\t\t * ------------------------------------------------------------------------\r\n\t\t */\r\n\r\n\t\t{\r\n\t\t\tr(\"VoronoiTreemap\").setAll({\r\n\t\t\t\tshapeType: \"polygon\",\r\n\t\t\t\tminWeightRatio: 0.005,\r\n\t\t\t\tconvergenceRatio: 0.005,\r\n\t\t\t\tmaxIterationCount: 100,\r\n\t\t\t\tsingleBranchOnly: true\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Graphics\", [\"voronoitreemap\", \"node\", \"shape\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tstrokeOpacity: 1,\r\n\t\t\t\tstrokeWidth: 1,\r\n\t\t\t\tfillOpacity: 1\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"stroke\", ic, \"background\");\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tr(\"Polygon\", [\"hierarchy\", \"node\", \"shape\", \"depth1\"]).setAll({\r\n\t\t\t\tstrokeWidth: 3\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t{\r\n\t\t\tconst rule = r(\"Label\", [\"voronoitreemap\"]);\r\n\r\n\t\t\trule.setAll({\r\n\t\t\t\tcenterY: p50,\r\n\t\t\t\tcenterX: p50,\r\n\t\t\t\tpaddingBottom: 1,\r\n\t\t\t\tpaddingTop: 1,\r\n\t\t\t\tpaddingLeft: 1,\r\n\t\t\t\tpaddingRight: 1,\r\n\t\t\t\tpopulateText: true,\r\n\t\t\t\ttext: \"{category}\",\r\n\t\t\t\toversizedBehavior: \"fit\",\r\n\t\t\t\tminScale: 0.4,\r\n\t\t\t\tlayer: 30\r\n\t\t\t});\r\n\r\n\t\t\tsetColor(rule, \"fill\", ic, \"alternativeText\");\r\n\t\t}\r\n\r\n\t}\r\n}\r\n"]}
@@ -1,5 +1,6 @@
1
1
  import type { DataItem } from "../../core/render/Component";
2
2
  import type { IPoint } from "../../core/util/IPoint";
3
+ import type { IHierarchyDataObject, IHierarchyDataItem } from "./Hierarchy";
3
4
  import { LinkedHierarchy, ILinkedHierarchyPrivate, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyEvents } from "./LinkedHierarchy";
4
5
  import * as d3hierarchy from "d3-hierarchy";
5
6
  export interface ITreeDataObject {
@@ -53,6 +54,14 @@ export interface ITreeSettings extends ILinkedHierarchySettings {
53
54
  * @since 5.16.2
54
55
  */
55
56
  nodeSeparation?: (a: DataItem<ITreeDataItem>, b: DataItem<ITreeDataItem>) => number;
57
+ /**
58
+ * If set to `true`, hidden or disabled nodes are excluded from the layout
59
+ * so that visible nodes spread out to fill the available chart area.
60
+ *
61
+ * @default false
62
+ * @since 5.18.0
63
+ */
64
+ fitNodes?: boolean;
56
65
  }
57
66
  export interface ITreePrivate extends ILinkedHierarchyPrivate {
58
67
  /**
@@ -83,6 +92,11 @@ export declare class Tree extends LinkedHierarchy {
83
92
  _rootNode: d3hierarchy.HierarchyCircularNode<ITreeDataObject> | undefined;
84
93
  _packData: ITreeDataObject | undefined;
85
94
  _prepareChildren(): void;
95
+ protected _makeHierarchyData(data: IHierarchyDataObject, dataItem: DataItem<IHierarchyDataItem>): void;
96
+ hideDataItem(dataItem: DataItem<this["_dataItemSettings"]>, duration?: number): Promise<void>;
97
+ showDataItem(dataItem: DataItem<this["_dataItemSettings"]>, duration?: number): Promise<void>;
98
+ disableDataItem(dataItem: DataItem<this["_dataItemSettings"]>, duration?: number): void;
99
+ enableDataItem(dataItem: DataItem<this["_dataItemSettings"]>, maxDepth?: number, depth?: number, duration?: number): void;
86
100
  protected _updateVisuals(): void;
87
101
  protected _getPoint(hierarchyNode: this["_dataItemSettings"]["d3HierarchyNode"]): IPoint;
88
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEzJ,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,aAAc,SAAQ,wBAAwB;IAE9D;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAEzC;;;OAGG;IACH,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;CAEhC;AAED,MAAM,WAAW,aAAc,SAAQ,wBAAwB;IAE9D;;;;OAIG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;CAEpF;AAED,MAAM,WAAW,YAAa,SAAQ,uBAAuB;IAE5D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,sBAAsB;CAC1D;AAED;;;;;GAKG;AACH,qBAAa,IAAK,SAAQ,eAAe;IAEzB,SAAS,EAAE,aAAa,CAAC;IACzB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,iBAAiB,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,IAAI,EAAE,MAAM,CAAU;IAEhC,OAAc,SAAS,EAAE,MAAM,CAAU;IACzC,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAuD;IAEvF,gBAAgB,kCAAsB;IAC9B,SAAS,EAAE,WAAW,CAAC,qBAAqB,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IAClF,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;IAEvC,gBAAgB;IAavB,SAAS,CAAC,cAAc;IAwBxB,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,iBAAiB,CAAC,GAAG,MAAM;CAoBxF"}
1
+ {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Tree.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
+ import { __awaiter } from "tslib";
1
2
  import { LinkedHierarchy } from "./LinkedHierarchy";
3
+ import * as $array from "../../core/util/Array";
4
+ import * as $type from "../../core/util/Type";
2
5
  import * as d3hierarchy from "d3-hierarchy";
3
6
  ;
4
7
  /**
@@ -14,6 +17,9 @@ export class Tree extends LinkedHierarchy {
14
17
  this._hierarchyLayout = d3hierarchy.tree();
15
18
  }
16
19
  _prepareChildren() {
20
+ if (this.isDirty("fitNodes")) {
21
+ this._valuesDirty = true;
22
+ }
17
23
  super._prepareChildren();
18
24
  if (this.isDirty("clustered")) {
19
25
  this._hierarchyLayout = this.get("clustered") ? d3hierarchy.cluster() : d3hierarchy.tree();
@@ -23,6 +29,70 @@ export class Tree extends LinkedHierarchy {
23
29
  this._updateVisuals();
24
30
  }
25
31
  }
32
+ _makeHierarchyData(data, dataItem) {
33
+ if (!this.get("fitNodes")) {
34
+ super._makeHierarchyData(data, dataItem);
35
+ return;
36
+ }
37
+ data.dataItem = dataItem;
38
+ const children = dataItem.get("children");
39
+ if (children) {
40
+ const childrenDataArray = [];
41
+ data.children = childrenDataArray;
42
+ $array.each(children, (childDataItem) => {
43
+ if (childDataItem.isHidden()) {
44
+ return;
45
+ }
46
+ const node = childDataItem.get("node");
47
+ if (node && node.isHidden()) {
48
+ return;
49
+ }
50
+ const childData = {};
51
+ childrenDataArray.push(childData);
52
+ this._makeHierarchyData(childData, childDataItem);
53
+ });
54
+ }
55
+ const value = dataItem.get("valueWorking");
56
+ if ($type.isNumber(value)) {
57
+ data.value = value;
58
+ }
59
+ }
60
+ hideDataItem(dataItem, duration) {
61
+ const _super = Object.create(null, {
62
+ hideDataItem: { get: () => super.hideDataItem }
63
+ });
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ const result = _super.hideDataItem.call(this, dataItem, duration);
66
+ if (this.get("fitNodes")) {
67
+ this.markDirtyValues();
68
+ }
69
+ return result;
70
+ });
71
+ }
72
+ showDataItem(dataItem, duration) {
73
+ const _super = Object.create(null, {
74
+ showDataItem: { get: () => super.showDataItem }
75
+ });
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const result = _super.showDataItem.call(this, dataItem, duration);
78
+ if (this.get("fitNodes")) {
79
+ this.markDirtyValues();
80
+ }
81
+ return result;
82
+ });
83
+ }
84
+ disableDataItem(dataItem, duration) {
85
+ super.disableDataItem(dataItem, duration);
86
+ if (this.get("fitNodes")) {
87
+ this.markDirtyValues();
88
+ }
89
+ }
90
+ enableDataItem(dataItem, maxDepth, depth, duration) {
91
+ super.enableDataItem(dataItem, maxDepth, depth, duration);
92
+ if (this.get("fitNodes")) {
93
+ this.markDirtyValues();
94
+ }
95
+ }
26
96
  _updateVisuals() {
27
97
  if (this._rootNode) {
28
98
  const layout = this._hierarchyLayout;
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Tree.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { IPoint } from \"../../core/util/IPoint\";\n\nimport { LinkedHierarchy, ILinkedHierarchyPrivate, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyEvents } from \"./LinkedHierarchy\";\n\nimport * as d3hierarchy from \"d3-hierarchy\";\n\nexport interface ITreeDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: ITreeDataObject[],\n\tdataItem?: DataItem<ITreeDataItem>\n};\n\nexport interface ITreeDataItem extends ILinkedHierarchyDataItem {\n\n\t/**\n\t * An array of children data items.\n\t */\n\tchildren: Array<DataItem<ITreeDataItem>>;\n\n\t/**\n\t * Parent data item.\n\t * @type {DataItem<ITreeDataItem>}\n\t */\n\tparent: DataItem<ITreeDataItem>;\n\n}\n\nexport interface ITreeSettings extends ILinkedHierarchySettings {\n\n\t/**\n\t * Orientation of the diagram.\n\t *\n\t * @default \"vertical\"\n\t */\n\torientation?: \"horizontal\" | \"vertical\";\n\n\t/**\n\t * If set to `true`, will flip the tree direction.\n\t *\n\t * @default false\n\t * @since 5.2.4\n\t */\n\tinversed?: boolean;\n\n\t/**\n\t * If set to `true`, will use cluster layout (dendrogram) where all leaf\n\t * nodes are placed at the same depth.\n\t *\n\t * @default false\n\t * @since 5.16.2\n\t */\n\tclustered?: boolean;\n\n\t/**\n\t * A function that returns the desired separation between neighboring\n\t * nodes. Receives two data items and should return a numeric value.\n\t *\n\t * Default is `1` for siblings, `2` for non-siblings.\n\t *\n\t * Can be used to create variable node spacing based on value, label\n\t * size, or other data properties.\n\t *\n\t * @since 5.16.2\n\t */\n\tnodeSeparation?: (a: DataItem<ITreeDataItem>, b: DataItem<ITreeDataItem>) => number;\n\n}\n\nexport interface ITreePrivate extends ILinkedHierarchyPrivate {\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\nexport interface ITreeEvents extends ILinkedHierarchyEvents {\n}\n\n/**\n * Displays a tree diagram.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/tree/} for more info\n * @important\n */\nexport class Tree extends LinkedHierarchy {\n\n\tdeclare public _settings: ITreeSettings;\n\tdeclare public _privateSettings: ITreePrivate;\n\tdeclare public _dataItemSettings: ITreeDataItem;\n\n\tprotected _tag: string = \"tree\";\n\n\tpublic static className: string = \"Tree\";\n\tpublic static classNames: Array<string> = LinkedHierarchy.classNames.concat([Tree.className]);\n\n\tpublic _hierarchyLayout = d3hierarchy.tree();\n\tdeclare public _rootNode: d3hierarchy.HierarchyCircularNode<ITreeDataObject> | undefined;\n\tpublic _packData: ITreeDataObject | undefined;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"clustered\")) {\n\t\t\tthis._hierarchyLayout = this.get(\"clustered\") ? d3hierarchy.cluster() : d3hierarchy.tree();\n\t\t\tthis._updateVisuals();\n\t\t}\n\n\t\tif (this.isDirty(\"orientation\") || this.isDirty(\"inversed\") || this.isDirty(\"nodeSeparation\")) {\n\t\t\tthis._updateVisuals();\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst layout = this._hierarchyLayout;\n\n\t\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\t\tlayout.size([this.innerWidth(), this.innerHeight()]);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlayout.size([this.innerHeight(), this.innerWidth()]);\n\t\t\t}\n\n\t\t\tconst nodeSeparation = this.get(\"nodeSeparation\");\n\t\t\tif (nodeSeparation) {\n\t\t\t\tlayout.separation((a: any, b: any) => {\n\t\t\t\t\treturn nodeSeparation(a.data.dataItem, b.data.dataItem);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlayout(this._rootNode);\n\t\t}\n\n\t\tsuper._updateVisuals();\n\t}\n\n\tprotected _getPoint(hierarchyNode: this[\"_dataItemSettings\"][\"d3HierarchyNode\"]): IPoint {\n\t\tconst inversed = this.get(\"inversed\");\n\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\tif (inversed) {\n\t\t\t\treturn { x: hierarchyNode.x, y: this.innerHeight() - hierarchyNode.y };\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn { x: hierarchyNode.x, y: hierarchyNode.y };\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (inversed) {\n\t\t\t\treturn { x: this.innerWidth() - hierarchyNode.y, y: hierarchyNode.x };\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn { x: hierarchyNode.y, y: hierarchyNode.x };\n\t\t\t}\n\t\t}\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Tree.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport type { IHierarchyDataObject, IHierarchyDataItem } from \"./Hierarchy\";\n\nimport { LinkedHierarchy, ILinkedHierarchyPrivate, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyEvents } from \"./LinkedHierarchy\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as d3hierarchy from \"d3-hierarchy\";\n\nexport interface ITreeDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: ITreeDataObject[],\n\tdataItem?: DataItem<ITreeDataItem>\n};\n\nexport interface ITreeDataItem extends ILinkedHierarchyDataItem {\n\n\t/**\n\t * An array of children data items.\n\t */\n\tchildren: Array<DataItem<ITreeDataItem>>;\n\n\t/**\n\t * Parent data item.\n\t * @type {DataItem<ITreeDataItem>}\n\t */\n\tparent: DataItem<ITreeDataItem>;\n\n}\n\nexport interface ITreeSettings extends ILinkedHierarchySettings {\n\n\t/**\n\t * Orientation of the diagram.\n\t *\n\t * @default \"vertical\"\n\t */\n\torientation?: \"horizontal\" | \"vertical\";\n\n\t/**\n\t * If set to `true`, will flip the tree direction.\n\t *\n\t * @default false\n\t * @since 5.2.4\n\t */\n\tinversed?: boolean;\n\n\t/**\n\t * If set to `true`, will use cluster layout (dendrogram) where all leaf\n\t * nodes are placed at the same depth.\n\t *\n\t * @default false\n\t * @since 5.16.2\n\t */\n\tclustered?: boolean;\n\n\t/**\n\t * A function that returns the desired separation between neighboring\n\t * nodes. Receives two data items and should return a numeric value.\n\t *\n\t * Default is `1` for siblings, `2` for non-siblings.\n\t *\n\t * Can be used to create variable node spacing based on value, label\n\t * size, or other data properties.\n\t *\n\t * @since 5.16.2\n\t */\n\tnodeSeparation?: (a: DataItem<ITreeDataItem>, b: DataItem<ITreeDataItem>) => number;\n\n\t/**\n\t * If set to `true`, hidden or disabled nodes are excluded from the layout\n\t * so that visible nodes spread out to fill the available chart area.\n\t *\n\t * @default false\n\t * @since 5.18.0\n\t */\n\tfitNodes?: boolean;\n\n}\n\nexport interface ITreePrivate extends ILinkedHierarchyPrivate {\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\nexport interface ITreeEvents extends ILinkedHierarchyEvents {\n}\n\n/**\n * Displays a tree diagram.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/tree/} for more info\n * @important\n */\nexport class Tree extends LinkedHierarchy {\n\n\tdeclare public _settings: ITreeSettings;\n\tdeclare public _privateSettings: ITreePrivate;\n\tdeclare public _dataItemSettings: ITreeDataItem;\n\n\tprotected _tag: string = \"tree\";\n\n\tpublic static className: string = \"Tree\";\n\tpublic static classNames: Array<string> = LinkedHierarchy.classNames.concat([Tree.className]);\n\n\tpublic _hierarchyLayout = d3hierarchy.tree();\n\tdeclare public _rootNode: d3hierarchy.HierarchyCircularNode<ITreeDataObject> | undefined;\n\tpublic _packData: ITreeDataObject | undefined;\n\n\tpublic _prepareChildren() {\n\t\tif (this.isDirty(\"fitNodes\")) {\n\t\t\tthis._valuesDirty = true;\n\t\t}\n\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"clustered\")) {\n\t\t\tthis._hierarchyLayout = this.get(\"clustered\") ? d3hierarchy.cluster() : d3hierarchy.tree();\n\t\t\tthis._updateVisuals();\n\t\t}\n\n\t\tif (this.isDirty(\"orientation\") || this.isDirty(\"inversed\") || this.isDirty(\"nodeSeparation\")) {\n\t\t\tthis._updateVisuals();\n\t\t}\n\t}\n\n\tprotected _makeHierarchyData(data: IHierarchyDataObject, dataItem: DataItem<IHierarchyDataItem>) {\n\t\tif (!this.get(\"fitNodes\")) {\n\t\t\tsuper._makeHierarchyData(data, dataItem);\n\t\t\treturn;\n\t\t}\n\n\t\tdata.dataItem = dataItem;\n\t\tconst children = (dataItem as DataItem<ITreeDataItem>).get(\"children\");\n\t\tif (children) {\n\t\t\tconst childrenDataArray: Array<IHierarchyDataObject> = [];\n\t\t\tdata.children = childrenDataArray;\n\t\t\t$array.each(children, (childDataItem) => {\n\t\t\t\tif (childDataItem.isHidden()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst node = childDataItem.get(\"node\");\n\t\t\t\tif (node && node.isHidden()) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst childData = {};\n\t\t\t\tchildrenDataArray.push(childData);\n\t\t\t\tthis._makeHierarchyData(childData, childDataItem);\n\t\t\t});\n\t\t}\n\n\t\tconst value = dataItem.get(\"valueWorking\");\n\t\tif ($type.isNumber(value)) {\n\t\t\tdata.value = value;\n\t\t}\n\t}\n\n\tpublic async hideDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst result = super.hideDataItem(dataItem, duration);\n\t\tif (this.get(\"fitNodes\")) {\n\t\t\tthis.markDirtyValues();\n\t\t}\n\t\treturn result;\n\t}\n\n\tpublic async showDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number): Promise<void> {\n\t\tconst result = super.showDataItem(dataItem, duration);\n\t\tif (this.get(\"fitNodes\")) {\n\t\t\tthis.markDirtyValues();\n\t\t}\n\t\treturn result;\n\t}\n\n\tpublic disableDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, duration?: number) {\n\t\tsuper.disableDataItem(dataItem, duration);\n\t\tif (this.get(\"fitNodes\")) {\n\t\t\tthis.markDirtyValues();\n\t\t}\n\t}\n\n\tpublic enableDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, maxDepth?: number, depth?: number, duration?: number) {\n\t\tsuper.enableDataItem(dataItem, maxDepth, depth, duration);\n\t\tif (this.get(\"fitNodes\")) {\n\t\t\tthis.markDirtyValues();\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst layout = this._hierarchyLayout;\n\n\t\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\t\tlayout.size([this.innerWidth(), this.innerHeight()]);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlayout.size([this.innerHeight(), this.innerWidth()]);\n\t\t\t}\n\n\t\t\tconst nodeSeparation = this.get(\"nodeSeparation\");\n\t\t\tif (nodeSeparation) {\n\t\t\t\tlayout.separation((a: any, b: any) => {\n\t\t\t\t\treturn nodeSeparation(a.data.dataItem, b.data.dataItem);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlayout(this._rootNode);\n\t\t}\n\n\t\tsuper._updateVisuals();\n\t}\n\n\tprotected _getPoint(hierarchyNode: this[\"_dataItemSettings\"][\"d3HierarchyNode\"]): IPoint {\n\t\tconst inversed = this.get(\"inversed\");\n\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\tif (inversed) {\n\t\t\t\treturn { x: hierarchyNode.x, y: this.innerHeight() - hierarchyNode.y };\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn { x: hierarchyNode.x, y: hierarchyNode.y };\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (inversed) {\n\t\t\t\treturn { x: this.innerWidth() - hierarchyNode.y, y: hierarchyNode.x };\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn { x: hierarchyNode.y, y: hierarchyNode.x };\n\t\t\t}\n\t\t}\n\t}\n\n}\n"]}
@@ -30,13 +30,19 @@ export interface IVoronoiTreemapSettings extends IHierarchySettings {
30
30
  * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/#Diagram_type} for more info
31
31
  * @default "polygon"
32
32
  */
33
+ shapeType?: "rectangle" | "polygon";
34
+ /**
35
+ * Type of the diagram's shape.
36
+ * Left for backward compatibility. Please use `shapeType` instead.
37
+ * @ignore
38
+ */
33
39
  type?: "rectangle" | "polygon";
34
40
  /**
35
- * Number of corners when type is `"polygon"`.
41
+ * Number of corners when `shapeType` is `"polygon"`.
36
42
  *
37
43
  * `120` means the polygon will look like a circle.
38
44
  *
39
- * NOTE: this setting is ignored if `type="rectangle"`.
45
+ * NOTE: this setting is ignored if `shapeType="rectangle"`.
40
46
  *
41
47
  * @default 120
42
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"VoronoiTreemap.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/VoronoiTreemap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,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;AASpD,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,CAK5C;IAEI,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"}
1
+ {"version":3,"file":"VoronoiTreemap.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/VoronoiTreemap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,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;AASpD,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,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAEnC;;;;OAIG;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,CAK5C;IAEI,OAAO,MAAoB;IAElC,SAAS,CAAC,SAAS;IAcZ,gBAAgB;IA4CvB,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"}
@@ -43,6 +43,10 @@ export class VoronoiTreemap extends Hierarchy {
43
43
  }
44
44
  _prepareChildren() {
45
45
  super._prepareChildren();
46
+ if (this.isDirty("type") && this.get("type") !== undefined) {
47
+ this.set("shapeType", this.get("type"));
48
+ this.setRaw("type", undefined);
49
+ }
46
50
  const width = this.innerWidth() / 2;
47
51
  const height = this.innerHeight() / 2;
48
52
  let node = this._rootNode;
@@ -53,14 +57,14 @@ export class VoronoiTreemap extends Hierarchy {
53
57
  this.voronoi.convergenceRatio((this.get("convergenceRatio", 0.005)));
54
58
  this.voronoi.maxIterationCount((this.get("maxIterationCount", 100)));
55
59
  this.voronoi.minWeightRatio((this.get("minWeightRatio", 0.005)));
56
- if (this.isDirty("type")) {
57
- if (this.get("type") == "polygon") {
60
+ if (this.isDirty("shapeType")) {
61
+ if (this.get("shapeType") == "polygon") {
58
62
  this.voronoi.clip(this.getCirclePolygon(1));
59
63
  this._updateVisuals();
60
64
  }
61
65
  }
62
66
  if (this._sizeDirty) {
63
- if (this.get("type") == "rectangle") {
67
+ if (this.get("shapeType") == "rectangle") {
64
68
  this.voronoi.prng(seedrandom("X"));
65
69
  this.voronoi.clip([[-width, -height], [-width, height], [width, height], [width, -height]])(node);
66
70
  this._updateVisuals();
@@ -78,7 +82,7 @@ export class VoronoiTreemap extends Hierarchy {
78
82
  if (coords && polygon) {
79
83
  let coordinates = [];
80
84
  let d = 1;
81
- if (this.get("type") == "polygon") {
85
+ if (this.get("shapeType") == "polygon") {
82
86
  d = Math.min(this.innerWidth(), this.innerHeight()) / 2;
83
87
  }
84
88
  let minX = Infinity;
@@ -1 +1 @@
1
- {"version":3,"file":"VoronoiTreemap.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/VoronoiTreemap.ts"],"names":[],"mappings":"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","sourcesContent":["import type { HierarchyNode } from \"../hierarchy/HierarchyNode\";\r\nimport type { DataItem } from \"../../core/render/Component\";\r\n\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 { p50 } from \"../../core/util/Percent\";\r\nimport { voronoiTreemap } from 'd3-voronoi-treemap';\r\nimport seedrandom from \"seedrandom\";\r\n\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $array from \"../../core/util/Array\";\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 item 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 polygon 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 `minWeightRatio` might result in 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> = this.addDisposer(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\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}\r\n"]}
1
+ {"version":3,"file":"VoronoiTreemap.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/VoronoiTreemap.ts"],"names":[],"mappings":"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","sourcesContent":["import type { HierarchyNode } from \"../hierarchy/HierarchyNode\";\r\nimport type { DataItem } from \"../../core/render/Component\";\r\n\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 { p50 } from \"../../core/util/Percent\";\r\nimport { voronoiTreemap } from 'd3-voronoi-treemap';\r\nimport seedrandom from \"seedrandom\";\r\n\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $array from \"../../core/util/Array\";\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 item 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\tshapeType?: \"rectangle\" | \"polygon\"\r\n\r\n\t/**\r\n\t * Type of the diagram's shape.\r\n\t * Left for backward compatibility. Please use `shapeType` instead.\r\n\t * @ignore\r\n\t */\r\n\ttype?: \"rectangle\" | \"polygon\"\r\n\r\n\t/**\r\n\t * Number of corners when `shapeType` is `\"polygon\"`.\r\n\t *\r\n\t * `120` means the polygon will look like a circle.\r\n\t *\r\n\t * NOTE: this setting is ignored if `shapeType=\"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 `minWeightRatio` might result in 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> = this.addDisposer(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\tif (this.isDirty(\"type\") && this.get(\"type\") !== undefined) {\r\n\t\t\tthis.set(\"shapeType\", this.get(\"type\"));\r\n\t\t\tthis.setRaw(\"type\", undefined);\r\n\t\t}\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(\"shapeType\")) {\r\n\t\t\tif (this.get(\"shapeType\") == \"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(\"shapeType\") == \"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(\"shapeType\") == \"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\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}\r\n"]}
@@ -621,7 +621,7 @@ export class StockChartDefaultTheme extends Theme {
621
621
  });
622
622
  r("LineSeries", ["indicator", "bollingerbands"]).setAll({
623
623
  legendValueText: "[{lowerColor} bold]{lower.formatNumber('#.00')}[/] [{seriesColor} bold]{valueY.formatNumber('#.00')}[/] [{upperColor} bold]{upper.formatNumber('#.00')}[/]",
624
- legendLabelText: "{shortName} ({period.formatNumber('#.')},{field},{standardDeviations.formatNumber('#.')},{type})"
624
+ legendLabelText: "{shortName} ({period.formatNumber('#.')},{field},{standardDeviations.formatNumber('#.')},{maType})"
625
625
  });
626
626
  r("LineSeries", ["indicator", "macross"]).setAll({
627
627
  legendValueText: "[{seriesColor} bold]{valueY.formatNumber('#.00')}[/] [{fastColor} bold]{maf.formatNumber('#.00')}[/]",
@@ -665,14 +665,14 @@ export class StockChartDefaultTheme extends Theme {
665
665
  });
666
666
  r("LineSeries", ["movingaverage"]).setAll({
667
667
  legendValueText: "[{seriesColor} bold]{valueY.formatNumber('#.00')}[/]",
668
- legendLabelText: "{shortName} ({period.formatNumber('#.')},{field},{type},{offset.formatNumber('#.')})"
668
+ legendLabelText: "{shortName} ({period.formatNumber('#.')},{field},{maType},{offset.formatNumber('#.')})"
669
669
  });
670
670
  r("ColumnSeries", ["movingaveragedeviation"]).setAll({
671
671
  legendValueText: "[{deviationColor}; bold]{valueY.formatNumber('#.00')}[/]",
672
672
  });
673
673
  r("LineSeries", ["indicator", "movingaverageenvelope"]).setAll({
674
674
  legendValueText: "[{lowerColor} bold]{lower.formatNumber('#.00')}[/] [{seriesColor} bold]{valueY.formatNumber('#.00')}[/] [{upperColor} bold]{upper.formatNumber('#.00')}[/]",
675
- legendLabelText: "{shortName} ({period.formatNumber('#.')},{field},{shiftType},{shift.formatNumber('#.')},{type})"
675
+ legendLabelText: "{shortName} ({period.formatNumber('#.')},{field},{shiftType},{shift.formatNumber('#.')},{maType})"
676
676
  });
677
677
  r("LineSeries", ["onbalancevolume"]).setAll({
678
678
  legendValueText: "[{seriesColor} bold]{valueY.formatNumber('#.000a')}[/]",
@@ -787,7 +787,7 @@ export class StockChartDefaultTheme extends Theme {
787
787
  name: l.translateAny("Moving Average"),
788
788
  shortName: l.translateAny("MA"),
789
789
  seriesColor: color(0xab82da),
790
- type: "simple",
790
+ maType: "simple",
791
791
  field: "close",
792
792
  period: 20,
793
793
  offset: 0
@@ -814,7 +814,7 @@ export class StockChartDefaultTheme extends Theme {
814
814
  seriesColor: color(0xff903f),
815
815
  upperColor: color(0xffc948),
816
816
  lowerColor: color(0xffaf74),
817
- type: "simple",
817
+ maType: "simple",
818
818
  field: "close",
819
819
  period: 20,
820
820
  offset: 0,
@@ -826,7 +826,7 @@ export class StockChartDefaultTheme extends Theme {
826
826
  shortName: l.translateAny("MA Dev"),
827
827
  increasingColor: ic.get("positive"),
828
828
  decreasingColor: ic.get("negative"),
829
- type: "simple",
829
+ maType: "simple",
830
830
  field: "close",
831
831
  period: 20
832
832
  });