@amcharts/amcharts5 5.17.3 → 5.19.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 (314) hide show
  1. package/.internal/charts/flow/ArcDiagramLink.d.ts +3 -0
  2. package/.internal/charts/flow/ArcDiagramLink.d.ts.map +1 -1
  3. package/.internal/charts/flow/ArcDiagramLink.js +12 -4
  4. package/.internal/charts/flow/ArcDiagramLink.js.map +1 -1
  5. package/.internal/charts/flow/ChordDirected.d.ts.map +1 -1
  6. package/.internal/charts/flow/ChordDirected.js +1 -0
  7. package/.internal/charts/flow/ChordDirected.js.map +1 -1
  8. package/.internal/charts/flow/SankeyLink.d.ts +3 -0
  9. package/.internal/charts/flow/SankeyLink.d.ts.map +1 -1
  10. package/.internal/charts/flow/SankeyLink.js +12 -4
  11. package/.internal/charts/flow/SankeyLink.js.map +1 -1
  12. package/.internal/charts/funnel/PictorialStackedSeries.js +1 -1
  13. package/.internal/charts/funnel/PictorialStackedSeries.js.map +1 -1
  14. package/.internal/charts/hierarchy/BreadcrumbBar.d.ts.map +1 -1
  15. package/.internal/charts/hierarchy/BreadcrumbBar.js +6 -8
  16. package/.internal/charts/hierarchy/BreadcrumbBar.js.map +1 -1
  17. package/.internal/charts/hierarchy/ForceDirected.js +1 -1
  18. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  19. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js +1 -1
  20. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
  21. package/.internal/charts/hierarchy/HierarchyLink.d.ts +3 -0
  22. package/.internal/charts/hierarchy/HierarchyLink.d.ts.map +1 -1
  23. package/.internal/charts/hierarchy/HierarchyLink.js +10 -2
  24. package/.internal/charts/hierarchy/HierarchyLink.js.map +1 -1
  25. package/.internal/charts/hierarchy/Tree.d.ts +14 -0
  26. package/.internal/charts/hierarchy/Tree.d.ts.map +1 -1
  27. package/.internal/charts/hierarchy/Tree.js +70 -0
  28. package/.internal/charts/hierarchy/Tree.js.map +1 -1
  29. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts +8 -2
  30. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts.map +1 -1
  31. package/.internal/charts/hierarchy/VoronoiTreemap.js +8 -4
  32. package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
  33. package/.internal/charts/map/GraticuleSeries.d.ts +2 -0
  34. package/.internal/charts/map/GraticuleSeries.d.ts.map +1 -1
  35. package/.internal/charts/map/GraticuleSeries.js +6 -1
  36. package/.internal/charts/map/GraticuleSeries.js.map +1 -1
  37. package/.internal/charts/map/MapChart.d.ts +59 -0
  38. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  39. package/.internal/charts/map/MapChart.js +43 -0
  40. package/.internal/charts/map/MapChart.js.map +1 -1
  41. package/.internal/charts/map/MapChartProjections.d.ts +3 -0
  42. package/.internal/charts/map/MapChartProjections.d.ts.map +1 -0
  43. package/.internal/charts/map/MapChartProjections.js +20 -0
  44. package/.internal/charts/map/MapChartProjections.js.map +1 -0
  45. package/.internal/charts/map/MapPointSeries.js +1 -1
  46. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  47. package/.internal/charts/map/MapPolygonSeries.d.ts.map +1 -1
  48. package/.internal/charts/map/MapPolygonSeries.js +2 -1
  49. package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
  50. package/.internal/charts/map/MapProjections.d.ts +13 -0
  51. package/.internal/charts/map/MapProjections.d.ts.map +1 -0
  52. package/.internal/charts/map/MapProjections.js +15 -0
  53. package/.internal/charts/map/MapProjections.js.map +1 -0
  54. package/.internal/charts/pie/PieChart.d.ts +1 -0
  55. package/.internal/charts/pie/PieChart.d.ts.map +1 -1
  56. package/.internal/charts/pie/PieChart.js +6 -0
  57. package/.internal/charts/pie/PieChart.js.map +1 -1
  58. package/.internal/charts/stock/SettingsModal.js +1 -1
  59. package/.internal/charts/stock/SettingsModal.js.map +1 -1
  60. package/.internal/charts/stock/StockChartDefaultTheme.js +6 -6
  61. package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
  62. package/.internal/charts/stock/indicators/BollingerBands.js +1 -1
  63. package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
  64. package/.internal/charts/stock/indicators/Indicator.d.ts.map +1 -1
  65. package/.internal/charts/stock/indicators/Indicator.js +1 -1
  66. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  67. package/.internal/charts/stock/indicators/MovingAverage.d.ts +6 -0
  68. package/.internal/charts/stock/indicators/MovingAverage.d.ts.map +1 -1
  69. package/.internal/charts/stock/indicators/MovingAverage.js +9 -5
  70. package/.internal/charts/stock/indicators/MovingAverage.js.map +1 -1
  71. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts +6 -0
  72. package/.internal/charts/stock/indicators/MovingAverageDeviation.d.ts.map +1 -1
  73. package/.internal/charts/stock/indicators/MovingAverageDeviation.js +8 -4
  74. package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
  75. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js +1 -1
  76. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -1
  77. package/.internal/charts/stock/toolbar/DrawingControl.js +1 -1
  78. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
  79. package/.internal/charts/stock/toolbar/StockToolbar.d.ts.map +1 -1
  80. package/.internal/charts/stock/toolbar/StockToolbar.js +3 -0
  81. package/.internal/charts/stock/toolbar/StockToolbar.js.map +1 -1
  82. package/.internal/charts/xy/XYChart.js +5 -5
  83. package/.internal/charts/xy/XYChart.js.map +1 -1
  84. package/.internal/charts/xy/XYCursor.d.ts +2 -0
  85. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  86. package/.internal/charts/xy/XYCursor.js +6 -2
  87. package/.internal/charts/xy/XYCursor.js.map +1 -1
  88. package/.internal/charts/xy/axes/Axis.d.ts +7 -0
  89. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  90. package/.internal/charts/xy/axes/Axis.js +33 -20
  91. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  92. package/.internal/charts/xy/axes/CategoryDateAxis.d.ts.map +1 -1
  93. package/.internal/charts/xy/axes/CategoryDateAxis.js +3 -0
  94. package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
  95. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  96. package/.internal/charts/xy/axes/DateAxis.js +18 -1
  97. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  98. package/.internal/charts/xy/axes/ValueAxis.d.ts +1 -0
  99. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  100. package/.internal/charts/xy/axes/ValueAxis.js +26 -10
  101. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  102. package/.internal/charts/xy/series/StepLineSeries.js +1 -1
  103. package/.internal/charts/xy/series/StepLineSeries.js.map +1 -1
  104. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  105. package/.internal/charts/xy/series/XYSeries.js +10 -4
  106. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  107. package/.internal/core/Registry.js +1 -1
  108. package/.internal/core/Registry.js.map +1 -1
  109. package/.internal/core/Root.d.ts +19 -0
  110. package/.internal/core/Root.d.ts.map +1 -1
  111. package/.internal/core/Root.js +15 -2
  112. package/.internal/core/Root.js.map +1 -1
  113. package/.internal/core/render/Container.d.ts.map +1 -1
  114. package/.internal/core/render/Container.js +1 -0
  115. package/.internal/core/render/Container.js.map +1 -1
  116. package/.internal/core/render/Legend.js +2 -2
  117. package/.internal/core/render/Legend.js.map +1 -1
  118. package/.internal/core/render/backend/CanvasRenderer.d.ts +6 -0
  119. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  120. package/.internal/core/render/backend/CanvasRenderer.js +25 -5
  121. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  122. package/.internal/core/util/Entity.d.ts.map +1 -1
  123. package/.internal/core/util/Entity.js +7 -3
  124. package/.internal/core/util/Entity.js.map +1 -1
  125. package/.internal/core/util/Modal.js +2 -2
  126. package/.internal/core/util/Modal.js.map +1 -1
  127. package/.internal/core/util/Utils.d.ts +21 -0
  128. package/.internal/core/util/Utils.d.ts.map +1 -1
  129. package/.internal/core/util/Utils.js +49 -0
  130. package/.internal/core/util/Utils.js.map +1 -1
  131. package/.internal/plugins/exporting/Exporting.d.ts +38 -0
  132. package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
  133. package/.internal/plugins/exporting/Exporting.js +43 -9
  134. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  135. package/.internal/plugins/exporting/ExportingMenu.js +2 -2
  136. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  137. package/.internal/plugins/json/ChartSerializer.d.ts +0 -9
  138. package/.internal/plugins/json/ChartSerializer.d.ts.map +1 -1
  139. package/.internal/plugins/json/ChartSerializer.js +8 -12
  140. package/.internal/plugins/json/ChartSerializer.js.map +1 -1
  141. package/.internal/plugins/json/Classes-script.js +254 -254
  142. package/.internal/plugins/json/Classes-script.js.map +1 -1
  143. package/.internal/plugins/json/Classes.d.ts.map +1 -1
  144. package/.internal/plugins/json/Classes.js +257 -254
  145. package/.internal/plugins/json/Classes.js.map +1 -1
  146. package/.internal/plugins/json/Json.d.ts.map +1 -1
  147. package/.internal/plugins/json/Json.js +56 -2
  148. package/.internal/plugins/json/Json.js.map +1 -1
  149. package/CHANGELOG.md +38 -0
  150. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  151. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  152. package/examples/javascript/flow-chord/package.json +1 -1
  153. package/examples/javascript/flow-chord-directed/package.json +1 -1
  154. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  155. package/examples/javascript/flow-sankey/package.json +1 -1
  156. package/examples/javascript/gantt/package.json +1 -1
  157. package/examples/javascript/gantt-multilevel/package.json +1 -1
  158. package/examples/javascript/gantt-simple/package.json +1 -1
  159. package/examples/javascript/gauge/package.json +1 -1
  160. package/examples/javascript/gauge-bands/package.json +1 -1
  161. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  162. package/examples/javascript/hierarchy-pack/package.json +1 -1
  163. package/examples/javascript/hierarchy-partition/package.json +1 -1
  164. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  165. package/examples/javascript/hierarchy-tree/package.json +1 -1
  166. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  167. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  168. package/examples/javascript/jest/package.json +1 -1
  169. package/examples/javascript/json-pie/package.json +1 -1
  170. package/examples/javascript/json-xy/package.json +1 -1
  171. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  172. package/examples/javascript/map-clustered-points/package.json +1 -1
  173. package/examples/javascript/map-day-and-night/package.json +1 -1
  174. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  175. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  176. package/examples/javascript/map-sankey/package.json +1 -1
  177. package/examples/javascript/map-sankey-waypoints/package.json +1 -1
  178. package/examples/javascript/map-with-bubbles/package.json +1 -1
  179. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  180. package/examples/javascript/misc-40-charts/package.json +1 -1
  181. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  182. package/examples/javascript/pie-chart/package.json +1 -1
  183. package/examples/javascript/pie-donut-chart/package.json +1 -1
  184. package/examples/javascript/pie-variable-radius/package.json +1 -1
  185. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  186. package/examples/javascript/radar-heat-map/package.json +1 -1
  187. package/examples/javascript/radar-line/package.json +1 -1
  188. package/examples/javascript/radar-time-line/package.json +1 -1
  189. package/examples/javascript/sliced-funnel/package.json +1 -1
  190. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  191. package/examples/javascript/sliced-pyramid/package.json +1 -1
  192. package/examples/javascript/stock-chart/package.json +1 -1
  193. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  194. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  195. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  196. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  197. package/examples/javascript/stock-chart-live/package.json +1 -1
  198. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  199. package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
  200. package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
  201. package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
  202. package/examples/javascript/timeline-spiral-chart/package.json +1 -1
  203. package/examples/javascript/venn-diagram/package.json +1 -1
  204. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  205. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  206. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  207. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  208. package/examples/javascript/xy-bubble/package.json +1 -1
  209. package/examples/javascript/xy-candlestick/package.json +1 -1
  210. package/examples/javascript/xy-clustered-column/package.json +1 -1
  211. package/examples/javascript/xy-column/package.json +1 -1
  212. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  213. package/examples/javascript/xy-data-grouping/package.json +1 -1
  214. package/examples/javascript/xy-draggable-range/package.json +1 -1
  215. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  216. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  217. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  218. package/examples/javascript/xy-line/package.json +1 -1
  219. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  220. package/examples/javascript/xy-live-data/package.json +1 -1
  221. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  222. package/examples/javascript/xy-ohlc/package.json +1 -1
  223. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  224. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  225. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  226. package/examples/javascript/xy-stacked-column/package.json +1 -1
  227. package/examples/javascript/xy-stacked-step/package.json +1 -1
  228. package/examples/javascript/xy-stock/package.json +1 -1
  229. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  230. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  231. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  232. package/examples/typescript/flow-chord/package.json +1 -1
  233. package/examples/typescript/flow-chord-directed/package.json +1 -1
  234. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  235. package/examples/typescript/flow-sankey/package.json +1 -1
  236. package/examples/typescript/gantt/package.json +1 -1
  237. package/examples/typescript/gantt-multilevel/package.json +1 -1
  238. package/examples/typescript/gantt-simple/package.json +1 -1
  239. package/examples/typescript/gauge/package.json +1 -1
  240. package/examples/typescript/gauge-bands/package.json +1 -1
  241. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  242. package/examples/typescript/hierarchy-pack/package.json +1 -1
  243. package/examples/typescript/hierarchy-partition/package.json +1 -1
  244. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  245. package/examples/typescript/hierarchy-tree/package.json +1 -1
  246. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  247. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  248. package/examples/typescript/jest/package.json +1 -1
  249. package/examples/typescript/json-pie/package.json +1 -1
  250. package/examples/typescript/json-xy/package.json +1 -1
  251. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  252. package/examples/typescript/map-clustered-points/package.json +1 -1
  253. package/examples/typescript/map-day-and-night/package.json +1 -1
  254. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  255. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  256. package/examples/typescript/map-sankey/package.json +1 -1
  257. package/examples/typescript/map-sankey-waypoints/package.json +1 -1
  258. package/examples/typescript/map-with-bubbles/package.json +1 -1
  259. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  260. package/examples/typescript/misc-40-charts/package.json +1 -1
  261. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  262. package/examples/typescript/pie-chart/package.json +1 -1
  263. package/examples/typescript/pie-donut-chart/package.json +1 -1
  264. package/examples/typescript/pie-variable-radius/package.json +1 -1
  265. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  266. package/examples/typescript/radar-heat-map/package.json +1 -1
  267. package/examples/typescript/radar-line/package.json +1 -1
  268. package/examples/typescript/radar-time-line/package.json +1 -1
  269. package/examples/typescript/sliced-funnel/package.json +1 -1
  270. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  271. package/examples/typescript/sliced-pyramid/package.json +1 -1
  272. package/examples/typescript/stock-chart/package.json +1 -1
  273. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  274. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  275. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  276. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  277. package/examples/typescript/stock-chart-live/package.json +1 -1
  278. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  279. package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
  280. package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
  281. package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
  282. package/examples/typescript/timeline-spiral-chart/package.json +1 -1
  283. package/examples/typescript/venn-diagram/package.json +1 -1
  284. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  285. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  286. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  287. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  288. package/examples/typescript/xy-bubble/package.json +1 -1
  289. package/examples/typescript/xy-candlestick/package.json +1 -1
  290. package/examples/typescript/xy-clustered-column/package.json +1 -1
  291. package/examples/typescript/xy-column/package.json +1 -1
  292. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  293. package/examples/typescript/xy-data-grouping/package.json +1 -1
  294. package/examples/typescript/xy-draggable-range/package.json +1 -1
  295. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  296. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  297. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  298. package/examples/typescript/xy-line/package.json +1 -1
  299. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  300. package/examples/typescript/xy-live-data/package.json +1 -1
  301. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  302. package/examples/typescript/xy-ohlc/package.json +1 -1
  303. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  304. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  305. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  306. package/examples/typescript/xy-stacked-column/package.json +1 -1
  307. package/examples/typescript/xy-stacked-step/package.json +1 -1
  308. package/examples/typescript/xy-stock/package.json +1 -1
  309. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  310. package/map.d.ts +2 -3
  311. package/map.d.ts.map +1 -1
  312. package/map.js +2 -3
  313. package/map.js.map +1 -1
  314. package/package.json +5 -3
@@ -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"]}
@@ -4,6 +4,7 @@ import type { Bullet } from "../../core/render/Bullet";
4
4
  import type { Root } from "../../core/Root";
5
5
  import type { List } from "../../core/util/List";
6
6
  import type { LinkedHierarchy } from "./LinkedHierarchy";
7
+ import type { IDisposer } from "../../core/util/Disposer";
7
8
  import { Graphics, IGraphicsSettings, IGraphicsPrivate } from "../../core/render/Graphics";
8
9
  export interface IHierarchyLinkSettings extends IGraphicsSettings {
9
10
  /**
@@ -36,6 +37,8 @@ export declare class HierarchyLink extends Graphics {
36
37
  static classNames: Array<string>;
37
38
  bullets: Array<Bullet>;
38
39
  series?: LinkedHierarchy;
40
+ protected _sourceDp?: IDisposer;
41
+ protected _targetDp?: IDisposer;
39
42
  _handleBullets(bullets: List<(<D extends DataItem<IHierarchyDataItem>>(root: Root, source: D, target: D) => Bullet | undefined)>): void;
40
43
  _changed(): void;
41
44
  hide(duration?: number): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchyLink.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/HierarchyLink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAI3F,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAEhE;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEtC;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC9D,MAAM,EAAE,GAAG,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IAC3B,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,qBAAqB,CAAC;IAEvD,OAAc,SAAS,EAAE,MAAM,CAAmB;IAClD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAyD;IAEzF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IAE5B,MAAM,CAAC,EAAE,eAAe,CAAC;IAEzB,cAAc,CAAC,OAAO,EAAC,IAAI,EAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAC,CAAC,KAAK,MAAM,GAAG,SAAS,EAAC;IA2B5H,QAAQ;IA4CR,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM;IAYtB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM;IAYtB,cAAc;IAuBrB,SAAS,CAAC,QAAQ;CAOlB"}
1
+ {"version":3,"file":"HierarchyLink.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/HierarchyLink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAI3F,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAEhE;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEtC;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAElB;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC9D,MAAM,EAAE,GAAG,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IAC3B,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,qBAAqB,CAAC;IAEvD,OAAc,SAAS,EAAE,MAAM,CAAmB;IAClD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAyD;IAEzF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM;IAE5B,MAAM,CAAC,EAAE,eAAe,CAAC;IAEhC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAChC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAEzB,cAAc,CAAC,OAAO,EAAC,IAAI,EAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAC,CAAC,KAAK,MAAM,GAAG,SAAS,EAAC;IA2B5H,QAAQ;IA4CR,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM;IAYtB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM;IAYtB,cAAc;IA+BrB,SAAS,CAAC,QAAQ;CAOlB"}
@@ -90,21 +90,29 @@ export class HierarchyLink extends Graphics {
90
90
  _beforeChanged() {
91
91
  super._beforeChanged();
92
92
  if (this.isDirty("source")) {
93
+ if (this._sourceDp) {
94
+ this._sourceDp.dispose();
95
+ }
93
96
  const source = this.get("source");
94
97
  if (source) {
95
98
  const sourceNode = source.get("node");
96
- sourceNode.events.on("positionchanged", () => {
99
+ this._sourceDp = sourceNode.events.on("positionchanged", () => {
97
100
  this._markDirtyKey("stroke");
98
101
  });
102
+ this._disposers.push(this._sourceDp);
99
103
  }
100
104
  }
101
105
  if (this.isDirty("target")) {
106
+ if (this._targetDp) {
107
+ this._targetDp.dispose();
108
+ }
102
109
  const target = this.get("target");
103
110
  if (target) {
104
111
  const targetNode = target.get("node");
105
- targetNode.events.on("positionchanged", () => {
112
+ this._targetDp = targetNode.events.on("positionchanged", () => {
106
113
  this._markDirtyKey("stroke");
107
114
  });
115
+ this._disposers.push(this._targetDp);
108
116
  }
109
117
  }
110
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HierarchyLink.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/HierarchyLink.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IHierarchyDataItem } from \"./Hierarchy\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { Root } from \"../../core/Root\";\nimport type { List } from \"../../core/util/List\";\nimport type { LinkedHierarchy } from \"./LinkedHierarchy\";\n\nimport { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"../../core/render/Graphics\";\n\nimport * as $array from \"../../core/util/Array\";\n\nexport interface IHierarchyLinkSettings extends IGraphicsSettings {\n\n\t/**\n\t * Source node data item.\n\t */\n\tsource?: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Target node data item.\n\t */\n\ttarget?: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Strength of the link.\n\t */\n\tstrength?: number;\n\n\t/**\n\t * Distance in pixels.\n\t */\n\tdistance?: number;\n\n}\n\nexport interface IHierarchyLinkPrivate extends IGraphicsPrivate {\n\td3Link: any;\n}\n\n/**\n * Draws a link between nodes in a hierarchy series.\n */\nexport class HierarchyLink extends Graphics {\n\tdeclare public _settings: IHierarchyLinkSettings;\n\tdeclare public _privateSettings: IHierarchyLinkPrivate;\n\n\tpublic static className: string = \"HierarchyLink\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([HierarchyLink.className]);\n\n\tpublic bullets: Array<Bullet> = [];\n\n\tpublic series?: LinkedHierarchy;\n\n\tpublic _handleBullets(bullets:List<<D extends DataItem<IHierarchyDataItem>>(root: Root, source: D, target:D) => Bullet | undefined>) {\n\t\t$array.each(this.bullets, (bullet) => {\n\t\t\tbullet.dispose();\n\t\t})\n\n\t\tbullets.each((bullet)=>{\n\t\t\tconst newBullet = bullet(this._root, this.get(\"source\")!, this.get(\"target\")!);\n\t\t\tif (newBullet) {\n\t\t\t\tthis.bullets.push(newBullet);\n\n\t\t\t\tconst sprite = newBullet.get(\"sprite\");\n\n\t\t\t\tthis.addDisposer(newBullet.on(\"locationX\", () => {\n\t\t\t\t\tthis._clear = true;\n\t\t\t\t\tthis.markDirty();\n\t\t\t\t}))\n\n\t\t\t\tif(sprite){\n\t\t\t\t\tconst series = this.series;\n\t\t\t\t\tif(series){\n\t\t\t\t\t\tseries.linksContainer.children.push(sprite);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\t\tif (this._clear) {\n\t\t\tlet source = this.get(\"source\");\n\t\t\tlet target = this.get(\"target\");\n\t\t\tif (source && target) {\n\t\t\t\tconst sourceNode = source.get(\"node\");\n\t\t\t\tconst targetNode = target.get(\"node\");\n\n\t\t\t\tconst x0 = sourceNode.x();\n\t\t\t\tconst y0 = sourceNode.y();\n\n\t\t\t\tconst x1 = targetNode.x();\n\t\t\t\tconst y1 = targetNode.y();\n\n\t\t\t\tthis._display.moveTo(x0, y0);\n\t\t\t\tthis._display.lineTo(x1, y1);\n\n\t\t\t\tconst sourceRadius = sourceNode.dataItem?.get(\"outerCircle\" as any).get(\"radius\", 0);\n\t\t\t\tconst targetRadius = targetNode.dataItem?.get(\"outerCircle\" as any).get(\"radius\", 0);\n\n\t\t\t\tconst distance = Math.hypot(x1 - x0, y1 - y0);\n\t\t\t\tconst trueDistance = distance - sourceRadius - targetRadius;\n\n\t\t\t\t$array.each(this.bullets, (bullet) => {\n\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\t\tif(sprite){\n\t\t\t\t\t\tconst location = bullet.get(\"locationX\", 0.5);\n\n\t\t\t\t\t\t// const tx = trueDistance / distance * (x1 - x0);\n\t\t\t\t\t\t// const ty = trueDistance / distance * (y1 - y0);\n\n\t\t\t\t\t\tsprite.set(\"x\", x0 + sourceRadius / distance * (x1 - x0) + trueDistance / distance * (x1 - x0) * location);\n\t\t\t\t\t\tsprite.set(\"y\", y0 + sourceRadius / distance * (y1 - y0) + trueDistance / distance * (y1 - y0) * location);\n\n\t\t\t\t\t\tif(bullet.get(\"autoRotate\")){\n\t\t\t\t\t\t\tsprite.set(\"rotation\", Math.atan2(y1 - y0, x1 - x0) * 180 / Math.PI + bullet.get(\"autoRotateAngle\", 0));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic hide(duration?: number){\n\t\t$array.each(this.bullets, (bullet) => {\n\t\t\tif(bullet){\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\n\t\t\t\t\tsprite.hide(duration);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn super.hide();\n\t}\n\n\tpublic show(duration?: number){\n\t\t$array.each(this.bullets, (bullet) => {\n\t\t\tif(bullet){\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\n\t\t\t\t\tsprite.show(duration);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn super.show();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"source\")) {\n\t\t\tconst source = this.get(\"source\");\n\t\t\tif (source) {\n\t\t\t\tconst sourceNode = source.get(\"node\");\n\t\t\t\tsourceNode.events.on(\"positionchanged\", () => {\n\t\t\t\t\tthis._markDirtyKey(\"stroke\");\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\tif (this.isDirty(\"target\")) {\n\t\t\tconst target = this.get(\"target\");\n\t\t\tif (target) {\n\t\t\t\tconst targetNode = target.get(\"node\");\n\t\t\t\ttargetNode.events.on(\"positionchanged\", () => {\n\t\t\t\t\tthis._markDirtyKey(\"stroke\");\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _dispose(){\n\t\tsuper._dispose();\n\t\t$array.each(this.bullets, (bullet) => {\n\t\t\tbullet.dispose();\n\t\t})\n\t\tthis.bullets = [];\n\t}\n}\n"]}
1
+ {"version":3,"file":"HierarchyLink.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/HierarchyLink.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IHierarchyDataItem } from \"./Hierarchy\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { Root } from \"../../core/Root\";\nimport type { List } from \"../../core/util/List\";\nimport type { LinkedHierarchy } from \"./LinkedHierarchy\";\nimport type { IDisposer } from \"../../core/util/Disposer\";\n\nimport { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"../../core/render/Graphics\";\n\nimport * as $array from \"../../core/util/Array\";\n\nexport interface IHierarchyLinkSettings extends IGraphicsSettings {\n\n\t/**\n\t * Source node data item.\n\t */\n\tsource?: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Target node data item.\n\t */\n\ttarget?: DataItem<IHierarchyDataItem>;\n\n\t/**\n\t * Strength of the link.\n\t */\n\tstrength?: number;\n\n\t/**\n\t * Distance in pixels.\n\t */\n\tdistance?: number;\n\n}\n\nexport interface IHierarchyLinkPrivate extends IGraphicsPrivate {\n\td3Link: any;\n}\n\n/**\n * Draws a link between nodes in a hierarchy series.\n */\nexport class HierarchyLink extends Graphics {\n\tdeclare public _settings: IHierarchyLinkSettings;\n\tdeclare public _privateSettings: IHierarchyLinkPrivate;\n\n\tpublic static className: string = \"HierarchyLink\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([HierarchyLink.className]);\n\n\tpublic bullets: Array<Bullet> = [];\n\n\tpublic series?: LinkedHierarchy;\n\n\tprotected _sourceDp?: IDisposer;\n\tprotected _targetDp?: IDisposer;\n\n\tpublic _handleBullets(bullets:List<<D extends DataItem<IHierarchyDataItem>>(root: Root, source: D, target:D) => Bullet | undefined>) {\n\t\t$array.each(this.bullets, (bullet) => {\n\t\t\tbullet.dispose();\n\t\t})\n\n\t\tbullets.each((bullet)=>{\n\t\t\tconst newBullet = bullet(this._root, this.get(\"source\")!, this.get(\"target\")!);\n\t\t\tif (newBullet) {\n\t\t\t\tthis.bullets.push(newBullet);\n\n\t\t\t\tconst sprite = newBullet.get(\"sprite\");\n\n\t\t\t\tthis.addDisposer(newBullet.on(\"locationX\", () => {\n\t\t\t\t\tthis._clear = true;\n\t\t\t\t\tthis.markDirty();\n\t\t\t\t}))\n\n\t\t\t\tif(sprite){\n\t\t\t\t\tconst series = this.series;\n\t\t\t\t\tif(series){\n\t\t\t\t\t\tseries.linksContainer.children.push(sprite);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\t\tif (this._clear) {\n\t\t\tlet source = this.get(\"source\");\n\t\t\tlet target = this.get(\"target\");\n\t\t\tif (source && target) {\n\t\t\t\tconst sourceNode = source.get(\"node\");\n\t\t\t\tconst targetNode = target.get(\"node\");\n\n\t\t\t\tconst x0 = sourceNode.x();\n\t\t\t\tconst y0 = sourceNode.y();\n\n\t\t\t\tconst x1 = targetNode.x();\n\t\t\t\tconst y1 = targetNode.y();\n\n\t\t\t\tthis._display.moveTo(x0, y0);\n\t\t\t\tthis._display.lineTo(x1, y1);\n\n\t\t\t\tconst sourceRadius = sourceNode.dataItem?.get(\"outerCircle\" as any).get(\"radius\", 0);\n\t\t\t\tconst targetRadius = targetNode.dataItem?.get(\"outerCircle\" as any).get(\"radius\", 0);\n\n\t\t\t\tconst distance = Math.hypot(x1 - x0, y1 - y0);\n\t\t\t\tconst trueDistance = distance - sourceRadius - targetRadius;\n\n\t\t\t\t$array.each(this.bullets, (bullet) => {\n\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\t\tif(sprite){\n\t\t\t\t\t\tconst location = bullet.get(\"locationX\", 0.5);\n\n\t\t\t\t\t\t// const tx = trueDistance / distance * (x1 - x0);\n\t\t\t\t\t\t// const ty = trueDistance / distance * (y1 - y0);\n\n\t\t\t\t\t\tsprite.set(\"x\", x0 + sourceRadius / distance * (x1 - x0) + trueDistance / distance * (x1 - x0) * location);\n\t\t\t\t\t\tsprite.set(\"y\", y0 + sourceRadius / distance * (y1 - y0) + trueDistance / distance * (y1 - y0) * location);\n\n\t\t\t\t\t\tif(bullet.get(\"autoRotate\")){\n\t\t\t\t\t\t\tsprite.set(\"rotation\", Math.atan2(y1 - y0, x1 - x0) * 180 / Math.PI + bullet.get(\"autoRotateAngle\", 0));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic hide(duration?: number){\n\t\t$array.each(this.bullets, (bullet) => {\n\t\t\tif(bullet){\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\n\t\t\t\t\tsprite.hide(duration);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn super.hide();\n\t}\n\n\tpublic show(duration?: number){\n\t\t$array.each(this.bullets, (bullet) => {\n\t\t\tif(bullet){\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif(sprite){\n\t\t\t\t\tsprite.show(duration);\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn super.show();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"source\")) {\n\t\t\tif (this._sourceDp) {\n\t\t\t\tthis._sourceDp.dispose();\n\t\t\t}\n\t\t\tconst source = this.get(\"source\");\n\t\t\tif (source) {\n\t\t\t\tconst sourceNode = source.get(\"node\");\n\t\t\t\tthis._sourceDp = sourceNode.events.on(\"positionchanged\", () => {\n\t\t\t\t\tthis._markDirtyKey(\"stroke\");\n\t\t\t\t});\n\t\t\t\tthis._disposers.push(this._sourceDp);\n\t\t\t}\n\t\t}\n\t\tif (this.isDirty(\"target\")) {\n\t\t\tif (this._targetDp) {\n\t\t\t\tthis._targetDp.dispose();\n\t\t\t}\n\t\t\tconst target = this.get(\"target\");\n\t\t\tif (target) {\n\t\t\t\tconst targetNode = target.get(\"node\");\n\t\t\t\tthis._targetDp = targetNode.events.on(\"positionchanged\", () => {\n\t\t\t\t\tthis._markDirtyKey(\"stroke\");\n\t\t\t\t});\n\t\t\t\tthis._disposers.push(this._targetDp);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _dispose(){\n\t\tsuper._dispose();\n\t\t$array.each(this.bullets, (bullet) => {\n\t\t\tbullet.dispose();\n\t\t})\n\t\tthis.bullets = [];\n\t}\n}\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":"AAGA,OAAO,EAAE,SAAS,EAA6D,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAQ/C,CAAC;AA4FF;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAe,SAAQ,SAAS;IAA7C;;QAMW,SAAI,GAAW,gBAAgB,CAAC;QAK1C;;;;WAIG;QACa,aAAQ,GAA0B,IAAI,CAAC,WAAW,CAAC,IAAI,YAAY,CAClF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAChB,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC9B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC9F,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAC5B,CAAC,CAAC;QAEI,YAAO,GAAG,cAAc,EAAE,CAAC;IA2JnC,CAAC;IAzJU,SAAS;QAElB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAC1B,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,GAAG;YACN,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;SACZ,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAEpD,KAAK,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;YAC3D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;SAC/B;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAEtC,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAsC,CAAC;QAE3F,IAAI,gBAAgB,EAAE;YACrB,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;SAC9C;QAED,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAEjE,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE;gBACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,cAAc,EAAE,CAAC;aACtB;SACD;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,WAAW,EAAE;gBACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClG,IAAI,CAAC,cAAc,EAAE,CAAC;aACtB;SACD;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,IAAI,EAAE;YACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,cAAc,EAAE,CAAC;SACtB;IACF,CAAC;IAES,WAAW,CAAC,QAA6C;QAClE,MAAM,MAAM,GAAS,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAS,CAAC,OAAO,CAAC;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAExC,IAAI,MAAM,IAAI,OAAO,EAAE;YAEtB,IAAI,WAAW,GAAQ,EAAE,CAAC;YAE1B,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE;gBACvC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;aACxD;YAED,IAAI,IAAI,GAAG,QAAQ,CAAC;YACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBAClD,MAAM,KAAK,GAAkB,MAAM,CAAC,CAAC,CAAQ,CAAC;gBAC9C,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACrB,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAErB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aACzB;YAED,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAExC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAEhD,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAEhD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,KAAK,EAAE;gBACV,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBAEzB,IAAI,IAAI,EAAE;oBACT,KAAK,CAAC,MAAM,CAAC;wBACZ,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC;wBACb,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC;wBACb,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;qBAC/B,CAAC,CAAA;iBACF;aACD;SACD;IACF,CAAC;IAGS,aAAa,CAAC,QAA6C;QACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE;YACX,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,QAAQ,EAAE;gBACb,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC/B,IAAI,KAAK,IAAI,QAAQ,EAAE;wBACtB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;wBAC5B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;qBACzB;gBACF,CAAC,CAAC,CAAA;aACF;YACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAC3B;IACF,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,QAA6C;QAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IAES,SAAS,CAAC,QAA6C,EAAE,IAAmB;QACrF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAES,gBAAgB,CAAC,MAAc;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;QACpC,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAChC,IAAI,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SAClE;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;;AAzKa,wBAAS,GAAW,gBAAgB,CAAC;AACrC,yBAAU,GAAkB,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC","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"]}
@@ -1,5 +1,6 @@
1
1
  import { MapLineSeries, IMapLineSeriesSettings, IMapLineSeriesPrivate, IMapLineSeriesDataItem } from "./MapLineSeries";
2
2
  import type { DataItem } from "../../core/render/Component";
3
+ import type { IDisposer } from "../../core/util/Disposer";
3
4
  export interface IGraticuleSeriesDataItem extends IMapLineSeriesDataItem {
4
5
  }
5
6
  export interface IGraticuleSeriesPrivate extends IMapLineSeriesPrivate {
@@ -25,6 +26,7 @@ export declare class GraticuleSeries extends MapLineSeries {
25
26
  _settings: IGraticuleSeriesSettings;
26
27
  _privateSettings: IGraticuleSeriesPrivate;
27
28
  protected _dataItem: DataItem<this["_dataItemSettings"]>;
29
+ protected _geoboundsDp?: IDisposer;
28
30
  protected _afterNew(): void;
29
31
  _updateChildren(): void;
30
32
  protected _generate(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"GraticuleSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/GraticuleSeries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACvH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAG5D,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;CACvE;AAED,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;CACrE;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,aAAa;IAEjD,OAAc,SAAS,EAAE,MAAM,CAAqB;IACpD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAgE;IAExF,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAEzD,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAyB;IAEjF,SAAS,CAAC,SAAS;IAMZ,eAAe;IAqBtB,SAAS,CAAC,SAAS;CAoBnB"}
1
+ {"version":3,"file":"GraticuleSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/GraticuleSeries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACvH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAG1D,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;CACvE;AAED,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;CACrE;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,aAAa;IAEjD,OAAc,SAAS,EAAE,MAAM,CAAqB;IACpD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAgE;IAExF,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAEzD,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAyB;IAEjF,SAAS,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;IAEnC,SAAS,CAAC,SAAS;IAMZ,eAAe;IA2BtB,SAAS,CAAC,SAAS;CAoBnB"}