@undp/data-viz 2.0.8 → 2.1.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 (215) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.d.ts +2 -0
  3. package/dist/AreaChart.js +1 -1
  4. package/dist/BarGraph.cjs +1 -1
  5. package/dist/BarGraph.cjs.map +1 -1
  6. package/dist/BarGraph.d.ts +2 -0
  7. package/dist/BarGraph.js +1188 -1213
  8. package/dist/BarGraph.js.map +1 -1
  9. package/dist/BasicStatCard.d.ts +2 -0
  10. package/dist/BeeSwarmChart.cjs +1 -1
  11. package/dist/BeeSwarmChart.cjs.map +1 -1
  12. package/dist/BeeSwarmChart.d.ts +2 -0
  13. package/dist/BeeSwarmChart.js +258 -267
  14. package/dist/BeeSwarmChart.js.map +1 -1
  15. package/dist/BiVariateChoroplethMap.cjs +1 -1
  16. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  17. package/dist/BiVariateChoroplethMap.d.ts +2 -0
  18. package/dist/BiVariateChoroplethMap.js +126 -131
  19. package/dist/BiVariateChoroplethMap.js.map +1 -1
  20. package/dist/BulletChart.cjs +1 -1
  21. package/dist/BulletChart.cjs.map +1 -1
  22. package/dist/BulletChart.d.ts +2 -0
  23. package/dist/BulletChart.js +404 -413
  24. package/dist/BulletChart.js.map +1 -1
  25. package/dist/ButterflyChart.cjs +1 -1
  26. package/dist/ButterflyChart.cjs.map +1 -1
  27. package/dist/ButterflyChart.d.ts +2 -0
  28. package/dist/ButterflyChart.js +179 -184
  29. package/dist/ButterflyChart.js.map +1 -1
  30. package/dist/ChoroplethMap.cjs +1 -1
  31. package/dist/ChoroplethMap.cjs.map +1 -1
  32. package/dist/ChoroplethMap.d.ts +2 -0
  33. package/dist/ChoroplethMap.js +268 -273
  34. package/dist/ChoroplethMap.js.map +1 -1
  35. package/dist/CirclePackingGraph.cjs +1 -1
  36. package/dist/CirclePackingGraph.d.ts +2 -0
  37. package/dist/CirclePackingGraph.js +1 -1
  38. package/dist/DataCards.cjs +1 -1
  39. package/dist/DataCards.d.ts +2 -0
  40. package/dist/DataCards.js +2 -2
  41. package/dist/DataTable.d.ts +2 -0
  42. package/dist/DetailsModal-0Ry5nXiC.js +32 -0
  43. package/dist/DetailsModal-0Ry5nXiC.js.map +1 -0
  44. package/dist/DetailsModal-BN0HDFlV.cjs +2 -0
  45. package/dist/DetailsModal-BN0HDFlV.cjs.map +1 -0
  46. package/dist/DifferenceLineChart.cjs +1 -1
  47. package/dist/DifferenceLineChart.d.ts +2 -0
  48. package/dist/DifferenceLineChart.js +1 -1
  49. package/dist/DonutChart.cjs +1 -1
  50. package/dist/DonutChart.cjs.map +1 -1
  51. package/dist/DonutChart.d.ts +2 -0
  52. package/dist/DonutChart.js +185 -190
  53. package/dist/DonutChart.js.map +1 -1
  54. package/dist/DotDensityMap.cjs +1 -1
  55. package/dist/DotDensityMap.cjs.map +1 -1
  56. package/dist/DotDensityMap.d.ts +2 -0
  57. package/dist/DotDensityMap.js +198 -203
  58. package/dist/DotDensityMap.js.map +1 -1
  59. package/dist/DualAxisLineChart.cjs +1 -1
  60. package/dist/DualAxisLineChart.d.ts +2 -0
  61. package/dist/DualAxisLineChart.js +1 -1
  62. package/dist/DumbbellChart.cjs +1 -1
  63. package/dist/DumbbellChart.cjs.map +1 -1
  64. package/dist/DumbbellChart.d.ts +2 -0
  65. package/dist/DumbbellChart.js +364 -373
  66. package/dist/DumbbellChart.js.map +1 -1
  67. package/dist/GeoHubCompareMaps.d.ts +2 -0
  68. package/dist/GeoHubMap.d.ts +2 -0
  69. package/dist/GeoHubMapWithLayerSelection.d.ts +2 -0
  70. package/dist/{GraphEl-BcKU0bG1.cjs → GraphEl-B16EYkko.cjs} +2 -2
  71. package/dist/{GraphEl-BcKU0bG1.cjs.map → GraphEl-B16EYkko.cjs.map} +1 -1
  72. package/dist/{GraphEl-CGq1EWRn.js → GraphEl-ebgfxefq.js} +3 -3
  73. package/dist/{GraphEl-CGq1EWRn.js.map → GraphEl-ebgfxefq.js.map} +1 -1
  74. package/dist/GriddedGraphs.cjs +1 -1
  75. package/dist/GriddedGraphs.cjs.map +1 -1
  76. package/dist/GriddedGraphs.d.ts +3 -0
  77. package/dist/GriddedGraphs.js +158 -146
  78. package/dist/GriddedGraphs.js.map +1 -1
  79. package/dist/GriddedGraphsFromConfig.d.ts +3 -0
  80. package/dist/HeatMap.cjs +1 -1
  81. package/dist/HeatMap.cjs.map +1 -1
  82. package/dist/HeatMap.d.ts +2 -0
  83. package/dist/HeatMap.js +111 -116
  84. package/dist/HeatMap.js.map +1 -1
  85. package/dist/Histogram.cjs +1 -1
  86. package/dist/Histogram.d.ts +2 -0
  87. package/dist/Histogram.js +1 -1
  88. package/dist/HybridMap.cjs +1 -1
  89. package/dist/HybridMap.cjs.map +1 -1
  90. package/dist/HybridMap.d.ts +2 -0
  91. package/dist/HybridMap.js +202 -207
  92. package/dist/HybridMap.js.map +1 -1
  93. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  94. package/dist/LineChartWithConfidenceInterval.d.ts +2 -0
  95. package/dist/LineChartWithConfidenceInterval.js +1 -1
  96. package/dist/{Modal-DGcuAHyK.js → Modal-bMQA6bL_.js} +5 -5
  97. package/dist/{Modal-DGcuAHyK.js.map → Modal-bMQA6bL_.js.map} +1 -1
  98. package/dist/MultiGraphDashboard.cjs +1 -1
  99. package/dist/MultiGraphDashboard.cjs.map +1 -1
  100. package/dist/MultiGraphDashboard.d.ts +3 -0
  101. package/dist/MultiGraphDashboard.js +90 -85
  102. package/dist/MultiGraphDashboard.js.map +1 -1
  103. package/dist/MultiGraphDashboardFromConfig.d.ts +3 -0
  104. package/dist/MultiGraphDashboardWideToLongFormat.d.ts +2 -0
  105. package/dist/MultiGraphDashboardWideToLongFormat.js +1 -1
  106. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +2 -0
  107. package/dist/MultiLineAltChart.cjs +1 -1
  108. package/dist/MultiLineAltChart.d.ts +2 -0
  109. package/dist/MultiLineAltChart.js +1 -1
  110. package/dist/MultiLineChart.cjs +1 -1
  111. package/dist/MultiLineChart.d.ts +2 -0
  112. package/dist/MultiLineChart.js +1 -1
  113. package/dist/ParetoChart.cjs +1 -1
  114. package/dist/ParetoChart.cjs.map +1 -1
  115. package/dist/ParetoChart.d.ts +2 -0
  116. package/dist/ParetoChart.js +187 -192
  117. package/dist/ParetoChart.js.map +1 -1
  118. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  119. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
  120. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +3 -0
  121. package/dist/PerformanceIntensiveMultiGraphDashboard.js +76 -72
  122. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
  123. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +3 -0
  124. package/dist/PerformanceIntensiveScrollStory.d.ts +2 -0
  125. package/dist/RadarChart.cjs +1 -1
  126. package/dist/RadarChart.cjs.map +1 -1
  127. package/dist/RadarChart.d.ts +2 -0
  128. package/dist/RadarChart.js +158 -163
  129. package/dist/RadarChart.js.map +1 -1
  130. package/dist/SankeyChart.cjs +1 -1
  131. package/dist/SankeyChart.cjs.map +1 -1
  132. package/dist/SankeyChart.d.ts +2 -0
  133. package/dist/SankeyChart.js +172 -177
  134. package/dist/SankeyChart.js.map +1 -1
  135. package/dist/ScatterPlot.cjs +1 -1
  136. package/dist/ScatterPlot.cjs.map +1 -1
  137. package/dist/ScatterPlot.d.ts +2 -0
  138. package/dist/ScatterPlot.js +222 -227
  139. package/dist/ScatterPlot.js.map +1 -1
  140. package/dist/ScrollStory.d.ts +2 -0
  141. package/dist/SimpleLineChart.cjs +1 -1
  142. package/dist/SimpleLineChart.d.ts +2 -0
  143. package/dist/SimpleLineChart.js +1 -1
  144. package/dist/SingleGraphDashboard.cjs +1 -1
  145. package/dist/SingleGraphDashboard.cjs.map +1 -1
  146. package/dist/SingleGraphDashboard.d.ts +3 -0
  147. package/dist/SingleGraphDashboard.js +131 -128
  148. package/dist/SingleGraphDashboard.js.map +1 -1
  149. package/dist/SingleGraphDashboardFromConfig.d.ts +3 -0
  150. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +2 -0
  151. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +2 -0
  152. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  153. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  154. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +3 -0
  155. package/dist/SingleGraphDashboardThreeDGraphs.js +145 -141
  156. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  157. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +3 -0
  158. package/dist/SlopeChart.cjs +1 -1
  159. package/dist/SlopeChart.cjs.map +1 -1
  160. package/dist/SlopeChart.d.ts +2 -0
  161. package/dist/SlopeChart.js +182 -187
  162. package/dist/SlopeChart.js.map +1 -1
  163. package/dist/SparkLine.cjs +1 -1
  164. package/dist/SparkLine.d.ts +2 -0
  165. package/dist/SparkLine.js +1 -1
  166. package/dist/StatCardFromData.d.ts +2 -0
  167. package/dist/StripChart.cjs +1 -1
  168. package/dist/StripChart.cjs.map +1 -1
  169. package/dist/StripChart.d.ts +2 -0
  170. package/dist/StripChart.js +249 -258
  171. package/dist/StripChart.js.map +1 -1
  172. package/dist/ThreeDGlobe.cjs +1 -1
  173. package/dist/ThreeDGlobe.cjs.map +1 -1
  174. package/dist/ThreeDGlobe.d.ts +2 -0
  175. package/dist/ThreeDGlobe.js +142 -147
  176. package/dist/ThreeDGlobe.js.map +1 -1
  177. package/dist/Tooltip-Dj5eVppQ.js +45 -0
  178. package/dist/Tooltip-Dj5eVppQ.js.map +1 -0
  179. package/dist/Tooltip-uUdw6wJL.cjs +2 -0
  180. package/dist/Tooltip-uUdw6wJL.cjs.map +1 -0
  181. package/dist/TreeMapGraph.cjs +1 -1
  182. package/dist/TreeMapGraph.cjs.map +1 -1
  183. package/dist/TreeMapGraph.d.ts +2 -0
  184. package/dist/TreeMapGraph.js +159 -164
  185. package/dist/TreeMapGraph.js.map +1 -1
  186. package/dist/Types.d.ts +3 -0
  187. package/dist/UnitChart.d.ts +2 -0
  188. package/dist/{checkIfMultiple-Y9iKaV_u.js → checkIfMultiple-CIRtG0KE.js} +2 -2
  189. package/dist/{checkIfMultiple-Y9iKaV_u.js.map → checkIfMultiple-CIRtG0KE.js.map} +1 -1
  190. package/dist/getUniqValue-DsqSii6M.js +11 -0
  191. package/dist/getUniqValue-DsqSii6M.js.map +1 -0
  192. package/dist/getUniqValue-NX8DgwND.cjs +2 -0
  193. package/dist/getUniqValue-NX8DgwND.cjs.map +1 -0
  194. package/dist/index-BBV4tAeA.js +330 -0
  195. package/dist/index-BBV4tAeA.js.map +1 -0
  196. package/dist/index-CF5hnGvG.cjs +2 -0
  197. package/dist/index-CF5hnGvG.cjs.map +1 -0
  198. package/dist/index.cjs +1 -1
  199. package/dist/index.d.ts +3 -0
  200. package/dist/index.js +2 -2
  201. package/dist/utils.cjs +1 -1
  202. package/dist/utils.js +1 -1
  203. package/package.json +1 -1
  204. package/dist/Tooltip-4dJo4_AF.cjs +0 -2
  205. package/dist/Tooltip-4dJo4_AF.cjs.map +0 -1
  206. package/dist/Tooltip-CwWUegPB.js +0 -43
  207. package/dist/Tooltip-CwWUegPB.js.map +0 -1
  208. package/dist/getUniqValue-BKHCm3zE.js +0 -11
  209. package/dist/getUniqValue-BKHCm3zE.js.map +0 -1
  210. package/dist/getUniqValue-RViz8tTw.cjs +0 -2
  211. package/dist/getUniqValue-RViz8tTw.cjs.map +0 -1
  212. package/dist/index-B2LQV7Tk.js +0 -335
  213. package/dist/index-B2LQV7Tk.js.map +0 -1
  214. package/dist/index-xRHRLDIp.cjs +0 -2
  215. package/dist/index-xRHRLDIp.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TreeMapGraph.cjs","sources":["../node_modules/d3-hierarchy/src/hierarchy/count.js","../node_modules/d3-hierarchy/src/hierarchy/each.js","../node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","../node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","../node_modules/d3-hierarchy/src/hierarchy/find.js","../node_modules/d3-hierarchy/src/hierarchy/sum.js","../node_modules/d3-hierarchy/src/hierarchy/sort.js","../node_modules/d3-hierarchy/src/hierarchy/path.js","../node_modules/d3-hierarchy/src/hierarchy/ancestors.js","../node_modules/d3-hierarchy/src/hierarchy/descendants.js","../node_modules/d3-hierarchy/src/hierarchy/leaves.js","../node_modules/d3-hierarchy/src/hierarchy/links.js","../node_modules/d3-hierarchy/src/hierarchy/iterator.js","../node_modules/d3-hierarchy/src/hierarchy/index.js","../node_modules/d3-hierarchy/src/accessors.js","../node_modules/d3-hierarchy/src/constant.js","../node_modules/d3-hierarchy/src/treemap/round.js","../node_modules/d3-hierarchy/src/treemap/dice.js","../node_modules/d3-hierarchy/src/stratify.js","../node_modules/d3-hierarchy/src/treemap/slice.js","../node_modules/d3-hierarchy/src/treemap/squarify.js","../node_modules/d3-hierarchy/src/treemap/index.js","../src/Components/Graphs/TreeMapGraph/Graph.tsx","../src/Components/Graphs/TreeMapGraph/index.tsx"],"sourcesContent":["function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], children, i, index = -1;\n while (node = nodes.pop()) {\n callback.call(that, node, ++index, this);\n if (children = node.children) {\n for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], next = [], children, i, n, index = -1;\n while (node = nodes.pop()) {\n next.push(node);\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n }\n while (node = next.pop()) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n if (callback.call(that, node, ++index, this)) {\n return node;\n }\n }\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export default function*() {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n yield node;\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n }\n } while (next.length);\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_find from \"./find.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\nimport node_iterator from \"./iterator.js\";\n\nexport default function hierarchy(data, children) {\n if (data instanceof Map) {\n data = [undefined, data];\n if (children === undefined) children = mapChildren;\n } else if (children === undefined) {\n children = objectChildren;\n }\n\n var root = new Node(data),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n while (node = nodes.pop()) {\n if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) {\n node.children = childs;\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = childs[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction objectChildren(d) {\n return d.children;\n}\n\nfunction mapChildren(d) {\n return Array.isArray(d) ? d[1] : null;\n}\n\nfunction copyData(node) {\n if (node.data.value !== undefined) node.value = node.data.value;\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n find: node_find,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy,\n [Symbol.iterator]: node_iterator\n};\n","export function optional(f) {\n return f == null ? null : required(f);\n}\n\nexport function required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","import {optional} from \"./accessors.js\";\nimport {Node, computeHeight} from \"./hierarchy/index.js\";\n\nvar preroot = {depth: -1},\n ambiguous = {},\n imputed = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\nexport default function() {\n var id = defaultId,\n parentId = defaultParentId,\n path;\n\n function stratify(data) {\n var nodes = Array.from(data),\n currentId = id,\n currentParentId = parentId,\n n,\n d,\n i,\n root,\n parent,\n node,\n nodeId,\n nodeKey,\n nodeByKey = new Map;\n\n if (path != null) {\n const I = nodes.map((d, i) => normalize(path(d, i, data)));\n const P = I.map(parentof);\n const S = new Set(I).add(\"\");\n for (const i of P) {\n if (!S.has(i)) {\n S.add(i);\n I.push(i);\n P.push(parentof(i));\n nodes.push(imputed);\n }\n }\n currentId = (_, i) => I[i];\n currentParentId = (_, i) => P[i];\n }\n\n for (i = 0, n = nodes.length; i < n; ++i) {\n d = nodes[i], node = nodes[i] = new Node(d);\n if ((nodeId = currentId(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = node.id = nodeId;\n nodeByKey.set(nodeKey, nodeByKey.has(nodeKey) ? ambiguous : node);\n }\n if ((nodeId = currentParentId(d, i, data)) != null && (nodeId += \"\")) {\n node.parent = nodeId;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (nodeId = node.parent) {\n parent = nodeByKey.get(nodeId);\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n } else {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n\n // When imputing internal nodes, only introduce roots if needed.\n // Then replace the imputed marker data with null.\n if (path != null) {\n while (root.data === imputed && root.children.length === 1) {\n root = root.children[0], --n;\n }\n for (let i = nodes.length - 1; i >= 0; --i) {\n node = nodes[i];\n if (node.data !== imputed) break;\n node.data = null;\n }\n }\n\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = optional(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = optional(x), stratify) : parentId;\n };\n\n stratify.path = function(x) {\n return arguments.length ? (path = optional(x), stratify) : path;\n };\n\n return stratify;\n}\n\n// To normalize a path, we coerce to a string, strip the trailing slash if any\n// (as long as the trailing slash is not immediately preceded by another slash),\n// and add leading slash if missing.\nfunction normalize(path) {\n path = `${path}`;\n let i = path.length;\n if (slash(path, i - 1) && !slash(path, i - 2)) path = path.slice(0, -1);\n return path[0] === \"/\" ? path : `/${path}`;\n}\n\n// Walk backwards to find the first slash that is not the leading slash, e.g.:\n// \"/foo/bar\" ⇥ \"/foo\", \"/foo\" ⇥ \"/\", \"/\" ↦ \"\". (The root is special-cased\n// because the id of the root must be a truthy value.)\nfunction parentof(path) {\n let i = path.length;\n if (i < 2) return \"\";\n while (--i > 1) if (slash(path, i)) break;\n return path.slice(0, i);\n}\n\n// Slashes can be escaped; to determine whether a slash is a path delimiter, we\n// count the number of preceding backslashes escaping the forward slash: an odd\n// number indicates an escaped forward slash.\nfunction slash(path, i) {\n if (path[i] === \"/\") {\n let k = 0;\n while (i > 0 && path[--i] === \"\\\\\") ++k;\n if ((k & 1) === 0) return true;\n }\n return false;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (y1 - y0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.x0 = x0, node.x1 = x1;\n node.y0 = y0, node.y1 = y0 += node.value * k;\n }\n}\n","import treemapDice from \"./dice.js\";\nimport treemapSlice from \"./slice.js\";\n\nexport var phi = (1 + Math.sqrt(5)) / 2;\n\nexport function squarifyRatio(ratio, parent, x0, y0, x1, y1) {\n var rows = [],\n nodes = parent.children,\n row,\n nodeValue,\n i0 = 0,\n i1 = 0,\n n = nodes.length,\n dx, dy,\n value = parent.value,\n sumValue,\n minValue,\n maxValue,\n newRatio,\n minRatio,\n alpha,\n beta;\n\n while (i0 < n) {\n dx = x1 - x0, dy = y1 - y0;\n\n // Find the next non-empty node.\n do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);\n minValue = maxValue = sumValue;\n alpha = Math.max(dy / dx, dx / dy) / (value * ratio);\n beta = sumValue * sumValue * alpha;\n minRatio = Math.max(maxValue / beta, beta / minValue);\n\n // Keep adding nodes while the aspect ratio maintains or improves.\n for (; i1 < n; ++i1) {\n sumValue += nodeValue = nodes[i1].value;\n if (nodeValue < minValue) minValue = nodeValue;\n if (nodeValue > maxValue) maxValue = nodeValue;\n beta = sumValue * sumValue * alpha;\n newRatio = Math.max(maxValue / beta, beta / minValue);\n if (newRatio > minRatio) { sumValue -= nodeValue; break; }\n minRatio = newRatio;\n }\n\n // Position and record the row orientation.\n rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});\n if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\nexport default (function custom(ratio) {\n\n function squarify(parent, x0, y0, x1, y1) {\n squarifyRatio(ratio, parent, x0, y0, x1, y1);\n }\n\n squarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return squarify;\n})(phi);\n","import roundNode from \"./round.js\";\nimport squarify from \"./squarify.js\";\nimport {required} from \"../accessors.js\";\nimport constant, {constantZero} from \"../constant.js\";\n\nexport default function() {\n var tile = squarify,\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = constantZero,\n paddingTop = constantZero,\n paddingRight = constantZero,\n paddingBottom = constantZero,\n paddingLeft = constantZero;\n\n function treemap(root) {\n root.x0 =\n root.y0 = 0;\n root.x1 = dx;\n root.y1 = dy;\n root.eachBefore(positionNode);\n paddingStack = [0];\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(node) {\n var p = paddingStack[node.depth],\n x0 = node.x0 + p,\n y0 = node.y0 + p,\n x1 = node.x1 - p,\n y1 = node.y1 - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n if (node.children) {\n p = paddingStack[node.depth + 1] = paddingInner(node) / 2;\n x0 += paddingLeft(node) - p;\n y0 += paddingTop(node) - p;\n x1 -= paddingRight(node) - p;\n y1 -= paddingBottom(node) - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n tile(node, x0, y0, x1, y1);\n }\n }\n\n treemap.round = function(x) {\n return arguments.length ? (round = !!x, treemap) : round;\n };\n\n treemap.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];\n };\n\n treemap.tile = function(x) {\n return arguments.length ? (tile = required(x), treemap) : tile;\n };\n\n treemap.padding = function(x) {\n return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();\n };\n\n treemap.paddingInner = function(x) {\n return arguments.length ? (paddingInner = typeof x === \"function\" ? x : constant(+x), treemap) : paddingInner;\n };\n\n treemap.paddingOuter = function(x) {\n return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();\n };\n\n treemap.paddingTop = function(x) {\n return arguments.length ? (paddingTop = typeof x === \"function\" ? x : constant(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : constant(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : constant(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : constant(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n}\n","import { stratify, treemap } from 'd3-hierarchy';\r\nimport { useRef, useState } from 'react';\r\nimport { P } from '@undp/design-system-react/Typography';\r\nimport { AnimatePresence, motion, useInView } from 'motion/react';\r\nimport { Modal } from '@undp/design-system-react/Modal';\r\nimport { cn } from '@undp/design-system-react/cn';\r\n\r\nimport { AnimateDataType, ClassNameObject, Languages, StyleObject, TreeMapDataType } from '@/Types';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { string2HTML } from '@/Utils/string2HTML';\r\n\r\ninterface Props {\r\n data: TreeMapDataType[];\r\n colors: string[];\r\n colorDomain: string[];\r\n leftMargin: number;\r\n rightMargin: number;\r\n topMargin: number;\r\n bottomMargin: number;\r\n showLabels: boolean;\r\n showValues: boolean;\r\n width: number;\r\n height: number;\r\n suffix: string;\r\n prefix: string;\r\n selectedColor?: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n highlightedDataPoints: (string | number)[];\r\n resetSelectionOnDoubleClick: boolean;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n language?: Languages;\r\n animate: AnimateDataType;\r\n dimmedOpacity: number;\r\n precision: number;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n colors,\r\n leftMargin,\r\n width,\r\n height,\r\n colorDomain,\r\n rightMargin,\r\n topMargin,\r\n bottomMargin,\r\n showLabels,\r\n tooltip,\r\n onSeriesMouseOver,\r\n selectedColor,\r\n showValues,\r\n suffix,\r\n prefix,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n language,\r\n styles,\r\n classNames,\r\n animate,\r\n dimmedOpacity,\r\n precision,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const treeMapData = [\r\n {\r\n id: 'root',\r\n parent: undefined,\r\n value: undefined,\r\n data: undefined,\r\n },\r\n ...data.map((d: TreeMapDataType) => ({\r\n id: d.label,\r\n value: d.size,\r\n parent: 'root',\r\n data: d,\r\n })),\r\n ];\r\n const treeData = stratify()\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .id((d: any) => d.id)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .parentId((d: any) => d.parent)(treeMapData);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n treeData.sum((d: any) => d.value);\r\n const treeMapVizData = treemap().size([graphWidth, graphHeight]).padding(2)(treeData);\r\n\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <AnimatePresence>\r\n {treeMapVizData.children?.map(d => {\r\n return (\r\n <motion.g\r\n className='undp-viz-g-with-hover'\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n key={(d.data as any).id}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: d.x0,\r\n y: d.y0,\r\n },\r\n whileInView: {\r\n opacity: selectedColor\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d.data as any).data.color\r\n ? colors[\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n colorDomain.indexOf((d.data as any).data.color)\r\n ] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints.length !== 0\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n highlightedDataPoints.indexOf((d.data as any).id) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85,\r\n x: d.x0,\r\n y: d.y0,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n onMouseEnter={event => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setMouseOverData((d.data as any).data);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?.((d.data as any).data);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n mouseClickData === (d.data as any).id &&\r\n resetSelectionOnDoubleClick\r\n ) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setMouseClickData((d.data as any).id);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?.((d.data as any).data);\r\n }\r\n }\r\n }}\r\n onMouseMove={event => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setMouseOverData((d.data as any).data);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n <motion.rect\r\n x={0}\r\n y={0}\r\n exit={{\r\n width: 0,\r\n height: 0,\r\n opacity: 0,\r\n transition: { duration: animate.duration },\r\n }}\r\n variants={{\r\n initial: {\r\n width: 0,\r\n height: 0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? colors[0]\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n !(d.data as any).data.color\r\n ? Colors.gray\r\n : colors[\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n colorDomain.indexOf((d.data as any).data.color)\r\n ],\r\n },\r\n whileInView: {\r\n width: d.x1 - d.x0,\r\n height: d.y1 - d.y0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? colors[0]\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n !(d.data as any).data.color\r\n ? Colors.gray\r\n : colors[\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n colorDomain.indexOf((d.data as any).data.color)\r\n ],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {d.x1 - d.x0 > 50 && d.y1 - d.y0 > 25 && (showLabels || showValues) ? (\r\n <motion.g\r\n variants={{\r\n initial: { opacity: 0 },\r\n whileInView: {\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n >\r\n <foreignObject y={0} x={0} width={d.x1 - d.x0} height={d.y1 - d.y0}>\r\n <div\r\n className='flex flex-col gap-0.5 p-2 w-full'\r\n style={{\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? colors[0]\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n !(d.data as any).data.color\r\n ? Colors.gray\r\n : colors[\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n colorDomain.indexOf((d.data as any).data.color)\r\n ],\r\n ),\r\n }}\r\n >\r\n {showLabels ? (\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n leading='none'\r\n className={cn(\r\n 'w-full treemap-label',\r\n language === 'ar' || language === 'he' ? 'text-right' : 'text-left',\r\n classNames?.graphObjectValues,\r\n )}\r\n style={{\r\n WebkitLineClamp:\r\n d.y1 - d.y0 > 50\r\n ? d.y1 - d.y0 > 100\r\n ? d.y1 - d.y0 > 150\r\n ? undefined\r\n : 3\r\n : 2\r\n : 1,\r\n display: '-webkit-box',\r\n WebkitBoxOrient: 'vertical',\r\n overflow: 'hidden',\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? colors[0]\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n !(d.data as any).data.color\r\n ? Colors.gray\r\n : colors[\r\n colorDomain.indexOf(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d.data as any).data.color,\r\n )\r\n ],\r\n ),\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d.data as any).id\r\n }\r\n </P>\r\n ) : null}\r\n {showValues ? (\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n leading='none'\r\n className={cn(\r\n 'w-full font-bold treemap-value',\r\n language === 'ar' || language === 'he' ? 'text-right' : 'text-left',\r\n classNames?.graphObjectValues,\r\n )}\r\n style={{\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? colors[0]\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n !(d.data as any).data.color\r\n ? Colors.gray\r\n : colors[\r\n colorDomain.indexOf(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d.data as any).data.color,\r\n )\r\n ],\r\n ),\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d.data as any).value,\r\n 'NA',\r\n precision,\r\n prefix,\r\n suffix,\r\n )}\r\n </P>\r\n ) : null}\r\n </div>\r\n </foreignObject>\r\n </motion.g>\r\n ) : null}\r\n </motion.g>\r\n );\r\n })}\r\n </AnimatePresence>\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n {detailsOnClick && mouseClickData !== undefined ? (\r\n <Modal\r\n open={mouseClickData !== undefined}\r\n onClose={() => {\r\n setMouseClickData(undefined);\r\n }}\r\n >\r\n <div\r\n className='graph-modal-content m-0'\r\n dangerouslySetInnerHTML={\r\n typeof detailsOnClick === 'string'\r\n ? { __html: string2HTML(detailsOnClick, mouseClickData) }\r\n : undefined\r\n }\r\n >\r\n {typeof detailsOnClick === 'function' ? detailsOnClick(mouseClickData) : null}\r\n </div>\r\n </Modal>\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport {\r\n TreeMapDataType,\r\n SourcesDataType,\r\n Languages,\r\n StyleObject,\r\n ClassNameObject,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: TreeMapDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Color or array of colors for circle */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: string[];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n /** Maximum radius of the circle */\r\n\r\n // Values and Ticks\r\n /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of labels */\r\n showLabels?: boolean;\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedDataPoints?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */\r\n resetSelectionOnDoubleClick?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Details displayed on the modal when user clicks of a data point. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n /** Callback for mouse click event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function TreeMapGraph(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n colors,\r\n suffix = '',\r\n sources,\r\n prefix = '',\r\n graphDescription,\r\n leftMargin = 0,\r\n rightMargin = 0,\r\n topMargin = 0,\r\n bottomMargin = 0,\r\n height,\r\n width,\r\n footNote,\r\n colorDomain,\r\n colorLegendTitle,\r\n padding,\r\n backgroundColor = false,\r\n showLabels = true,\r\n relativeHeight,\r\n tooltip,\r\n onSeriesMouseOver,\r\n showColorScale = true,\r\n showValues = true,\r\n graphID,\r\n highlightedDataPoints = [],\r\n onSeriesMouseClick,\r\n graphDownload = false,\r\n dataDownload = false,\r\n language = 'en',\r\n showNAColor = true,\r\n minHeight = 0,\r\n theme = 'light',\r\n ariaLabel,\r\n resetSelectionOnDoubleClick = true,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n animate = false,\r\n dimmedOpacity = 0.3,\r\n precision = 2,\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {data.length === 0 ? (\r\n <EmptyState />\r\n ) : (\r\n <>\r\n {showColorScale && data.filter(el => el.color).length !== 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as string[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <Graph\r\n data={data.filter(d => !checkIfNullOrUndefined(d.size))}\r\n colors={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n width={svgWidth}\r\n height={svgHeight}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n showLabels={showLabels}\r\n showValues={showValues}\r\n suffix={suffix}\r\n prefix={prefix}\r\n selectedColor={selectedColor}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n highlightedDataPoints={highlightedDataPoints}\r\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n language={language}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n </>\r\n )}\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["count","node","sum","children","node_count","node_each","callback","that","index","node_eachBefore","nodes","i","node_eachAfter","next","n","node_find","node_sum","value","node_sort","compare","node_path","end","start","ancestor","leastCommonAncestor","k","a","b","aNodes","bNodes","c","node_ancestors","node_descendants","node_leaves","leaves","node_links","root","links","node_iterator","current","hierarchy","data","mapChildren","objectChildren","Node","child","childs","computeHeight","node_copy","copyData","d","height","optional","f","required","constantZero","constant","x","roundNode","treemapDice","parent","x0","y0","x1","y1","preroot","ambiguous","imputed","defaultId","defaultParentId","stratify","id","parentId","path","currentId","currentParentId","nodeId","nodeKey","nodeByKey","I","normalize","P","parentof","S","_","slash","treemapSlice","phi","squarifyRatio","ratio","rows","row","nodeValue","i0","i1","dx","dy","sumValue","minValue","maxValue","newRatio","minRatio","alpha","beta","squarify","custom","treemap","tile","round","paddingStack","paddingInner","paddingTop","paddingRight","paddingBottom","paddingLeft","positionNode","p","Graph","props","$","_c","colors","leftMargin","width","colorDomain","rightMargin","topMargin","bottomMargin","showLabels","tooltip","onSeriesMouseOver","selectedColor","showValues","suffix","prefix","highlightedDataPoints","onSeriesMouseClick","resetSelectionOnDoubleClick","detailsOnClick","language","styles","classNames","animate","dimmedOpacity","precision","svgRef","useRef","t0","amount","once","isInView","useInView","mouseOverData","setMouseOverData","useState","undefined","mouseClickData","setMouseClickData","eventX","setEventX","eventY","setEventY","t1","top","bottom","left","right","margin","graphWidth","graphHeight","T0","T1","t2","t3","t4","t5","t6","t7","t8","duration","graphObjectValues","treeMapData","map","_temp","treeData","_temp2","_temp3","_temp4","treeMapVizData","size","padding","motion","svg","AnimatePresence","d_3","jsxs","initial","opacity","y","whileInView","color","indexOf","length","transition","event","clientY","clientX","event_0","jsx","fill","filter","_temp5","Colors","gray","_temp6","getTextColorBasedOnBgColor","_temp7","cn","WebkitLineClamp","display","WebkitBoxOrient","overflow","_temp8","_temp9","numberFormattingFunction","t9","t10","t11","t12","Tooltip","t13","Modal","__html","string2HTML","t14","Fragment","el_3","el","el_2","el_1","el_0","d_2","d_1","d_0","label","TreeMapGraph","graphTitle","sources","graphDescription","footNote","colorLegendTitle","backgroundColor","relativeHeight","showColorScale","graphID","graphDownload","dataDownload","showNAColor","minHeight","t15","theme","t16","ariaLabel","t17","t18","t19","t20","t21","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","t22","t23","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","useEffect","t24","graphContainer","t25","t26","description","title","GraphHeader","t27","EmptyState","ColorLegendWithMouseOver","categoricalColors","uniqBy","colorLegend","GraphArea","primaryColors","t28","footnote","source","GraphFooter","t29","GraphContainer","d_4","checkIfNullOrUndefined"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]}
1
+ {"version":3,"file":"TreeMapGraph.cjs","sources":["../node_modules/d3-hierarchy/src/hierarchy/count.js","../node_modules/d3-hierarchy/src/hierarchy/each.js","../node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","../node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","../node_modules/d3-hierarchy/src/hierarchy/find.js","../node_modules/d3-hierarchy/src/hierarchy/sum.js","../node_modules/d3-hierarchy/src/hierarchy/sort.js","../node_modules/d3-hierarchy/src/hierarchy/path.js","../node_modules/d3-hierarchy/src/hierarchy/ancestors.js","../node_modules/d3-hierarchy/src/hierarchy/descendants.js","../node_modules/d3-hierarchy/src/hierarchy/leaves.js","../node_modules/d3-hierarchy/src/hierarchy/links.js","../node_modules/d3-hierarchy/src/hierarchy/iterator.js","../node_modules/d3-hierarchy/src/hierarchy/index.js","../node_modules/d3-hierarchy/src/accessors.js","../node_modules/d3-hierarchy/src/constant.js","../node_modules/d3-hierarchy/src/treemap/round.js","../node_modules/d3-hierarchy/src/treemap/dice.js","../node_modules/d3-hierarchy/src/stratify.js","../node_modules/d3-hierarchy/src/treemap/slice.js","../node_modules/d3-hierarchy/src/treemap/squarify.js","../node_modules/d3-hierarchy/src/treemap/index.js","../src/Components/Graphs/TreeMapGraph/Graph.tsx","../src/Components/Graphs/TreeMapGraph/index.tsx"],"sourcesContent":["function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], children, i, index = -1;\n while (node = nodes.pop()) {\n callback.call(that, node, ++index, this);\n if (children = node.children) {\n for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n }\n return this;\n}\n","export default function(callback, that) {\n var node = this, nodes = [node], next = [], children, i, n, index = -1;\n while (node = nodes.pop()) {\n next.push(node);\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n }\n while (node = next.pop()) {\n callback.call(that, node, ++index, this);\n }\n return this;\n}\n","export default function(callback, that) {\n let index = -1;\n for (const node of this) {\n if (callback.call(that, node, ++index, this)) {\n return node;\n }\n }\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export default function*() {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n yield node;\n if (children = node.children) {\n for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n }\n } while (next.length);\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_find from \"./find.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\nimport node_iterator from \"./iterator.js\";\n\nexport default function hierarchy(data, children) {\n if (data instanceof Map) {\n data = [undefined, data];\n if (children === undefined) children = mapChildren;\n } else if (children === undefined) {\n children = objectChildren;\n }\n\n var root = new Node(data),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n while (node = nodes.pop()) {\n if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) {\n node.children = childs;\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = childs[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction objectChildren(d) {\n return d.children;\n}\n\nfunction mapChildren(d) {\n return Array.isArray(d) ? d[1] : null;\n}\n\nfunction copyData(node) {\n if (node.data.value !== undefined) node.value = node.data.value;\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n find: node_find,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy,\n [Symbol.iterator]: node_iterator\n};\n","export function optional(f) {\n return f == null ? null : required(f);\n}\n\nexport function required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(node) {\n node.x0 = Math.round(node.x0);\n node.y0 = Math.round(node.y0);\n node.x1 = Math.round(node.x1);\n node.y1 = Math.round(node.y1);\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (x1 - x0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.y0 = y0, node.y1 = y1;\n node.x0 = x0, node.x1 = x0 += node.value * k;\n }\n}\n","import {optional} from \"./accessors.js\";\nimport {Node, computeHeight} from \"./hierarchy/index.js\";\n\nvar preroot = {depth: -1},\n ambiguous = {},\n imputed = {};\n\nfunction defaultId(d) {\n return d.id;\n}\n\nfunction defaultParentId(d) {\n return d.parentId;\n}\n\nexport default function() {\n var id = defaultId,\n parentId = defaultParentId,\n path;\n\n function stratify(data) {\n var nodes = Array.from(data),\n currentId = id,\n currentParentId = parentId,\n n,\n d,\n i,\n root,\n parent,\n node,\n nodeId,\n nodeKey,\n nodeByKey = new Map;\n\n if (path != null) {\n const I = nodes.map((d, i) => normalize(path(d, i, data)));\n const P = I.map(parentof);\n const S = new Set(I).add(\"\");\n for (const i of P) {\n if (!S.has(i)) {\n S.add(i);\n I.push(i);\n P.push(parentof(i));\n nodes.push(imputed);\n }\n }\n currentId = (_, i) => I[i];\n currentParentId = (_, i) => P[i];\n }\n\n for (i = 0, n = nodes.length; i < n; ++i) {\n d = nodes[i], node = nodes[i] = new Node(d);\n if ((nodeId = currentId(d, i, data)) != null && (nodeId += \"\")) {\n nodeKey = node.id = nodeId;\n nodeByKey.set(nodeKey, nodeByKey.has(nodeKey) ? ambiguous : node);\n }\n if ((nodeId = currentParentId(d, i, data)) != null && (nodeId += \"\")) {\n node.parent = nodeId;\n }\n }\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (nodeId = node.parent) {\n parent = nodeByKey.get(nodeId);\n if (!parent) throw new Error(\"missing: \" + nodeId);\n if (parent === ambiguous) throw new Error(\"ambiguous: \" + nodeId);\n if (parent.children) parent.children.push(node);\n else parent.children = [node];\n node.parent = parent;\n } else {\n if (root) throw new Error(\"multiple roots\");\n root = node;\n }\n }\n\n if (!root) throw new Error(\"no root\");\n\n // When imputing internal nodes, only introduce roots if needed.\n // Then replace the imputed marker data with null.\n if (path != null) {\n while (root.data === imputed && root.children.length === 1) {\n root = root.children[0], --n;\n }\n for (let i = nodes.length - 1; i >= 0; --i) {\n node = nodes[i];\n if (node.data !== imputed) break;\n node.data = null;\n }\n }\n\n root.parent = preroot;\n root.eachBefore(function(node) { node.depth = node.parent.depth + 1; --n; }).eachBefore(computeHeight);\n root.parent = null;\n if (n > 0) throw new Error(\"cycle\");\n\n return root;\n }\n\n stratify.id = function(x) {\n return arguments.length ? (id = optional(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = optional(x), stratify) : parentId;\n };\n\n stratify.path = function(x) {\n return arguments.length ? (path = optional(x), stratify) : path;\n };\n\n return stratify;\n}\n\n// To normalize a path, we coerce to a string, strip the trailing slash if any\n// (as long as the trailing slash is not immediately preceded by another slash),\n// and add leading slash if missing.\nfunction normalize(path) {\n path = `${path}`;\n let i = path.length;\n if (slash(path, i - 1) && !slash(path, i - 2)) path = path.slice(0, -1);\n return path[0] === \"/\" ? path : `/${path}`;\n}\n\n// Walk backwards to find the first slash that is not the leading slash, e.g.:\n// \"/foo/bar\" ⇥ \"/foo\", \"/foo\" ⇥ \"/\", \"/\" ↦ \"\". (The root is special-cased\n// because the id of the root must be a truthy value.)\nfunction parentof(path) {\n let i = path.length;\n if (i < 2) return \"\";\n while (--i > 1) if (slash(path, i)) break;\n return path.slice(0, i);\n}\n\n// Slashes can be escaped; to determine whether a slash is a path delimiter, we\n// count the number of preceding backslashes escaping the forward slash: an odd\n// number indicates an escaped forward slash.\nfunction slash(path, i) {\n if (path[i] === \"/\") {\n let k = 0;\n while (i > 0 && path[--i] === \"\\\\\") ++k;\n if ((k & 1) === 0) return true;\n }\n return false;\n}\n","export default function(parent, x0, y0, x1, y1) {\n var nodes = parent.children,\n node,\n i = -1,\n n = nodes.length,\n k = parent.value && (y1 - y0) / parent.value;\n\n while (++i < n) {\n node = nodes[i], node.x0 = x0, node.x1 = x1;\n node.y0 = y0, node.y1 = y0 += node.value * k;\n }\n}\n","import treemapDice from \"./dice.js\";\nimport treemapSlice from \"./slice.js\";\n\nexport var phi = (1 + Math.sqrt(5)) / 2;\n\nexport function squarifyRatio(ratio, parent, x0, y0, x1, y1) {\n var rows = [],\n nodes = parent.children,\n row,\n nodeValue,\n i0 = 0,\n i1 = 0,\n n = nodes.length,\n dx, dy,\n value = parent.value,\n sumValue,\n minValue,\n maxValue,\n newRatio,\n minRatio,\n alpha,\n beta;\n\n while (i0 < n) {\n dx = x1 - x0, dy = y1 - y0;\n\n // Find the next non-empty node.\n do sumValue = nodes[i1++].value; while (!sumValue && i1 < n);\n minValue = maxValue = sumValue;\n alpha = Math.max(dy / dx, dx / dy) / (value * ratio);\n beta = sumValue * sumValue * alpha;\n minRatio = Math.max(maxValue / beta, beta / minValue);\n\n // Keep adding nodes while the aspect ratio maintains or improves.\n for (; i1 < n; ++i1) {\n sumValue += nodeValue = nodes[i1].value;\n if (nodeValue < minValue) minValue = nodeValue;\n if (nodeValue > maxValue) maxValue = nodeValue;\n beta = sumValue * sumValue * alpha;\n newRatio = Math.max(maxValue / beta, beta / minValue);\n if (newRatio > minRatio) { sumValue -= nodeValue; break; }\n minRatio = newRatio;\n }\n\n // Position and record the row orientation.\n rows.push(row = {value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1)});\n if (row.dice) treemapDice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else treemapSlice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\nexport default (function custom(ratio) {\n\n function squarify(parent, x0, y0, x1, y1) {\n squarifyRatio(ratio, parent, x0, y0, x1, y1);\n }\n\n squarify.ratio = function(x) {\n return custom((x = +x) > 1 ? x : 1);\n };\n\n return squarify;\n})(phi);\n","import roundNode from \"./round.js\";\nimport squarify from \"./squarify.js\";\nimport {required} from \"../accessors.js\";\nimport constant, {constantZero} from \"../constant.js\";\n\nexport default function() {\n var tile = squarify,\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = constantZero,\n paddingTop = constantZero,\n paddingRight = constantZero,\n paddingBottom = constantZero,\n paddingLeft = constantZero;\n\n function treemap(root) {\n root.x0 =\n root.y0 = 0;\n root.x1 = dx;\n root.y1 = dy;\n root.eachBefore(positionNode);\n paddingStack = [0];\n if (round) root.eachBefore(roundNode);\n return root;\n }\n\n function positionNode(node) {\n var p = paddingStack[node.depth],\n x0 = node.x0 + p,\n y0 = node.y0 + p,\n x1 = node.x1 - p,\n y1 = node.y1 - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n node.x0 = x0;\n node.y0 = y0;\n node.x1 = x1;\n node.y1 = y1;\n if (node.children) {\n p = paddingStack[node.depth + 1] = paddingInner(node) / 2;\n x0 += paddingLeft(node) - p;\n y0 += paddingTop(node) - p;\n x1 -= paddingRight(node) - p;\n y1 -= paddingBottom(node) - p;\n if (x1 < x0) x0 = x1 = (x0 + x1) / 2;\n if (y1 < y0) y0 = y1 = (y0 + y1) / 2;\n tile(node, x0, y0, x1, y1);\n }\n }\n\n treemap.round = function(x) {\n return arguments.length ? (round = !!x, treemap) : round;\n };\n\n treemap.size = function(x) {\n return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy];\n };\n\n treemap.tile = function(x) {\n return arguments.length ? (tile = required(x), treemap) : tile;\n };\n\n treemap.padding = function(x) {\n return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();\n };\n\n treemap.paddingInner = function(x) {\n return arguments.length ? (paddingInner = typeof x === \"function\" ? x : constant(+x), treemap) : paddingInner;\n };\n\n treemap.paddingOuter = function(x) {\n return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();\n };\n\n treemap.paddingTop = function(x) {\n return arguments.length ? (paddingTop = typeof x === \"function\" ? x : constant(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : constant(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : constant(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : constant(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n}\n","import { stratify, treemap } from 'd3-hierarchy';\r\nimport { useRef, useState } from 'react';\r\nimport { P } from '@undp/design-system-react/Typography';\r\nimport { AnimatePresence, motion, useInView } from 'motion/react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\n\r\nimport { AnimateDataType, ClassNameObject, Languages, StyleObject, TreeMapDataType } from '@/Types';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\r\n\r\ninterface Props {\r\n data: TreeMapDataType[];\r\n colors: string[];\r\n colorDomain: string[];\r\n leftMargin: number;\r\n rightMargin: number;\r\n topMargin: number;\r\n bottomMargin: number;\r\n showLabels: boolean;\r\n showValues: boolean;\r\n width: number;\r\n height: number;\r\n suffix: string;\r\n prefix: string;\r\n selectedColor?: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n highlightedDataPoints: (string | number)[];\r\n resetSelectionOnDoubleClick: boolean;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n language?: Languages;\r\n animate: AnimateDataType;\r\n dimmedOpacity: number;\r\n precision: number;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n data,\r\n colors,\r\n leftMargin,\r\n width,\r\n height,\r\n colorDomain,\r\n rightMargin,\r\n topMargin,\r\n bottomMargin,\r\n showLabels,\r\n tooltip,\r\n onSeriesMouseOver,\r\n selectedColor,\r\n showValues,\r\n suffix,\r\n prefix,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n language,\r\n styles,\r\n classNames,\r\n animate,\r\n dimmedOpacity,\r\n precision,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const isInView = useInView(svgRef, {\r\n once: animate.once,\r\n amount: animate.amount,\r\n });\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const treeMapData = [\r\n {\r\n id: 'root',\r\n parent: undefined,\r\n value: undefined,\r\n data: undefined,\r\n },\r\n ...data.map((d: TreeMapDataType) => ({\r\n id: d.label,\r\n value: d.size,\r\n parent: 'root',\r\n data: d,\r\n })),\r\n ];\r\n const treeData = stratify()\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .id((d: any) => d.id)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .parentId((d: any) => d.parent)(treeMapData);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n treeData.sum((d: any) => d.value);\r\n const treeMapVizData = treemap().size([graphWidth, graphHeight]).padding(2)(treeData);\r\n\r\n return (\r\n <>\r\n <motion.svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n <AnimatePresence>\r\n {treeMapVizData.children?.map(d => {\r\n return (\r\n <motion.g\r\n className='undp-viz-g-with-hover'\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n key={(d.data as any).id}\r\n variants={{\r\n initial: {\r\n opacity: 0,\r\n x: d.x0,\r\n y: d.y0,\r\n },\r\n whileInView: {\r\n opacity: selectedColor\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d.data as any).data.color\r\n ? colors[\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n colorDomain.indexOf((d.data as any).data.color)\r\n ] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints.length !== 0\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n highlightedDataPoints.indexOf((d.data as any).id) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85,\r\n x: d.x0,\r\n y: d.y0,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n onMouseEnter={event => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setMouseOverData((d.data as any).data);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?.((d.data as any).data);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n mouseClickData === (d.data as any).id &&\r\n resetSelectionOnDoubleClick\r\n ) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setMouseClickData((d.data as any).id);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?.((d.data as any).data);\r\n }\r\n }\r\n }}\r\n onMouseMove={event => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setMouseOverData((d.data as any).data);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n <motion.rect\r\n x={0}\r\n y={0}\r\n exit={{\r\n width: 0,\r\n height: 0,\r\n opacity: 0,\r\n transition: { duration: animate.duration },\r\n }}\r\n variants={{\r\n initial: {\r\n width: 0,\r\n height: 0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? colors[0]\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n !(d.data as any).data.color\r\n ? Colors.gray\r\n : colors[\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n colorDomain.indexOf((d.data as any).data.color)\r\n ],\r\n },\r\n whileInView: {\r\n width: d.x1 - d.x0,\r\n height: d.y1 - d.y0,\r\n fill:\r\n data.filter(el => el.color).length === 0\r\n ? colors[0]\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n !(d.data as any).data.color\r\n ? Colors.gray\r\n : colors[\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n colorDomain.indexOf((d.data as any).data.color)\r\n ],\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n />\r\n {d.x1 - d.x0 > 50 && d.y1 - d.y0 > 25 && (showLabels || showValues) ? (\r\n <motion.g\r\n variants={{\r\n initial: { opacity: 0 },\r\n whileInView: {\r\n opacity: 1,\r\n transition: { duration: animate.duration },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n >\r\n <foreignObject y={0} x={0} width={d.x1 - d.x0} height={d.y1 - d.y0}>\r\n <div\r\n className='flex flex-col gap-0.5 p-2 w-full'\r\n style={{\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? colors[0]\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n !(d.data as any).data.color\r\n ? Colors.gray\r\n : colors[\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n colorDomain.indexOf((d.data as any).data.color)\r\n ],\r\n ),\r\n }}\r\n >\r\n {showLabels ? (\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n leading='none'\r\n className={cn(\r\n 'w-full treemap-label',\r\n language === 'ar' || language === 'he' ? 'text-right' : 'text-left',\r\n classNames?.graphObjectValues,\r\n )}\r\n style={{\r\n WebkitLineClamp:\r\n d.y1 - d.y0 > 50\r\n ? d.y1 - d.y0 > 100\r\n ? d.y1 - d.y0 > 150\r\n ? undefined\r\n : 3\r\n : 2\r\n : 1,\r\n display: '-webkit-box',\r\n WebkitBoxOrient: 'vertical',\r\n overflow: 'hidden',\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? colors[0]\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n !(d.data as any).data.color\r\n ? Colors.gray\r\n : colors[\r\n colorDomain.indexOf(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d.data as any).data.color,\r\n )\r\n ],\r\n ),\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d.data as any).id\r\n }\r\n </P>\r\n ) : null}\r\n {showValues ? (\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n leading='none'\r\n className={cn(\r\n 'w-full font-bold treemap-value',\r\n language === 'ar' || language === 'he' ? 'text-right' : 'text-left',\r\n classNames?.graphObjectValues,\r\n )}\r\n style={{\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? colors[0]\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n !(d.data as any).data.color\r\n ? Colors.gray\r\n : colors[\r\n colorDomain.indexOf(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d.data as any).data.color,\r\n )\r\n ],\r\n ),\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d.data as any).value,\r\n 'NA',\r\n precision,\r\n prefix,\r\n suffix,\r\n )}\r\n </P>\r\n ) : null}\r\n </div>\r\n </foreignObject>\r\n </motion.g>\r\n ) : null}\r\n </motion.g>\r\n );\r\n })}\r\n </AnimatePresence>\r\n </g>\r\n </motion.svg>\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n {detailsOnClick && mouseClickData !== undefined ? (\r\n <DetailsModal\r\n body={detailsOnClick}\r\n data={mouseClickData}\r\n setData={setMouseClickData}\r\n className={classNames?.modal}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useState, useRef, useEffect } from 'react';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport {\r\n TreeMapDataType,\r\n SourcesDataType,\r\n Languages,\r\n StyleObject,\r\n ClassNameObject,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: TreeMapDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Color or array of colors for circle */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: string[];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n /** Maximum radius of the circle */\r\n\r\n // Values and Ticks\r\n /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of labels */\r\n showLabels?: boolean;\r\n /** Toggle visibility of values */\r\n showValues?: boolean;\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedDataPoints?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */\r\n resetSelectionOnDoubleClick?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Details displayed on the modal when user clicks of a data point. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n /** Callback for mouse click event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function TreeMapGraph(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n colors,\r\n suffix = '',\r\n sources,\r\n prefix = '',\r\n graphDescription,\r\n leftMargin = 0,\r\n rightMargin = 0,\r\n topMargin = 0,\r\n bottomMargin = 0,\r\n height,\r\n width,\r\n footNote,\r\n colorDomain,\r\n colorLegendTitle,\r\n padding,\r\n backgroundColor = false,\r\n showLabels = true,\r\n relativeHeight,\r\n tooltip,\r\n onSeriesMouseOver,\r\n showColorScale = true,\r\n showValues = true,\r\n graphID,\r\n highlightedDataPoints = [],\r\n onSeriesMouseClick,\r\n graphDownload = false,\r\n dataDownload = false,\r\n language = 'en',\r\n showNAColor = true,\r\n minHeight = 0,\r\n theme = 'light',\r\n ariaLabel,\r\n resetSelectionOnDoubleClick = true,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n animate = false,\r\n dimmedOpacity = 0.3,\r\n precision = 2,\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {data.length === 0 ? (\r\n <EmptyState />\r\n ) : (\r\n <>\r\n {showColorScale && data.filter(el => el.color).length !== 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as string[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {svgWidth && svgHeight ? (\r\n <Graph\r\n data={data.filter(d => !checkIfNullOrUndefined(d.size))}\r\n colors={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n width={svgWidth}\r\n height={svgHeight}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n showLabels={showLabels}\r\n showValues={showValues}\r\n suffix={suffix}\r\n prefix={prefix}\r\n selectedColor={selectedColor}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n highlightedDataPoints={highlightedDataPoints}\r\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n language={language}\r\n animate={\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 }\r\n }\r\n dimmedOpacity={dimmedOpacity}\r\n precision={precision}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n </>\r\n )}\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["count","node","sum","children","node_count","node_each","callback","that","index","node_eachBefore","nodes","i","node_eachAfter","next","n","node_find","node_sum","value","node_sort","compare","node_path","end","start","ancestor","leastCommonAncestor","k","a","b","aNodes","bNodes","c","node_ancestors","node_descendants","node_leaves","leaves","node_links","root","links","node_iterator","current","hierarchy","data","mapChildren","objectChildren","Node","child","childs","computeHeight","node_copy","copyData","d","height","optional","f","required","constantZero","constant","x","roundNode","treemapDice","parent","x0","y0","x1","y1","preroot","ambiguous","imputed","defaultId","defaultParentId","stratify","id","parentId","path","currentId","currentParentId","nodeId","nodeKey","nodeByKey","I","normalize","P","parentof","S","_","slash","treemapSlice","phi","squarifyRatio","ratio","rows","row","nodeValue","i0","i1","dx","dy","sumValue","minValue","maxValue","newRatio","minRatio","alpha","beta","squarify","custom","treemap","tile","round","paddingStack","paddingInner","paddingTop","paddingRight","paddingBottom","paddingLeft","positionNode","p","Graph","props","$","_c","colors","leftMargin","width","colorDomain","rightMargin","topMargin","bottomMargin","showLabels","tooltip","onSeriesMouseOver","selectedColor","showValues","suffix","prefix","highlightedDataPoints","onSeriesMouseClick","resetSelectionOnDoubleClick","detailsOnClick","language","styles","classNames","animate","dimmedOpacity","precision","svgRef","useRef","t0","amount","once","isInView","useInView","mouseOverData","setMouseOverData","useState","undefined","mouseClickData","setMouseClickData","eventX","setEventX","eventY","setEventY","t1","top","bottom","left","right","margin","graphWidth","graphHeight","T0","T1","t2","t3","t4","t5","t6","t7","t8","duration","graphObjectValues","treeMapData","map","_temp","treeData","_temp2","_temp3","_temp4","treeMapVizData","size","padding","motion","svg","AnimatePresence","d_3","jsxs","initial","opacity","y","whileInView","color","indexOf","length","transition","event","clientY","clientX","event_0","jsx","fill","filter","_temp5","Colors","gray","_temp6","getTextColorBasedOnBgColor","_temp7","cn","WebkitLineClamp","display","WebkitBoxOrient","overflow","_temp8","_temp9","numberFormattingFunction","t9","t10","t11","t12","Tooltip","t13","modal","DetailsModal","t14","Fragment","el_3","el","el_2","el_1","el_0","d_2","d_1","d_0","label","TreeMapGraph","graphTitle","sources","graphDescription","footNote","colorLegendTitle","backgroundColor","relativeHeight","showColorScale","graphID","graphDownload","dataDownload","showNAColor","minHeight","t15","theme","t16","ariaLabel","t17","t18","t19","t20","t21","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","t22","t23","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","useEffect","t24","graphContainer","t25","t26","description","title","GraphHeader","t27","EmptyState","ColorLegendWithMouseOver","categoricalColors","uniqBy","colorLegend","GraphArea","primaryColors","t28","footnote","source","GraphFooter","t29","GraphContainer","d_4","checkIfNullOrUndefined"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]}
@@ -36,6 +36,7 @@ declare interface ClassNameObject {
36
36
  regLine?: string;
37
37
  dataCards?: string;
38
38
  colorLegend?: string;
39
+ modal?: string;
39
40
  }
40
41
 
41
42
  declare type Languages = 'en' | 'ar' | 'az' | 'bn' | 'cy' | 'he' | 'hi' | 'jp' | 'ka' | 'km' | 'ko' | 'my' | 'ne' | 'zh' | 'custom';
@@ -145,6 +146,7 @@ declare interface StyleObject {
145
146
  mouseOverLine?: React.CSSProperties;
146
147
  regLine?: React.CSSProperties;
147
148
  dataCards?: React.CSSProperties;
149
+ modal?: React.CSSProperties;
148
150
  }
149
151
 
150
152
  declare interface TreeMapDataType {