@undp/data-viz 2.4.1 → 2.5.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.
- package/dist/AreaChart.cjs +1 -1
- package/dist/AreaChart.cjs.map +1 -1
- package/dist/AreaChart.d.ts +11 -9
- package/dist/AreaChart.js +320 -322
- package/dist/AreaChart.js.map +1 -1
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.d.ts +15 -25
- package/dist/BarGraph.js +1694 -1694
- package/dist/BarGraph.js.map +1 -1
- package/dist/BasicStatCard.cjs +1 -1
- package/dist/BasicStatCard.cjs.map +1 -1
- package/dist/BasicStatCard.d.ts +13 -9
- package/dist/BasicStatCard.js +79 -81
- package/dist/BasicStatCard.js.map +1 -1
- package/dist/BeeSwarmChart.cjs +1 -1
- package/dist/BeeSwarmChart.cjs.map +1 -1
- package/dist/BeeSwarmChart.d.ts +11 -9
- package/dist/BeeSwarmChart.js +335 -336
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.cjs.map +1 -1
- package/dist/BiVariateChoroplethMap.d.ts +13 -3
- package/dist/BiVariateChoroplethMap.js +247 -245
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.cjs.map +1 -1
- package/dist/BulletChart.d.ts +11 -5
- package/dist/BulletChart.js +560 -559
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.cjs.map +1 -1
- package/dist/ButterflyChart.d.ts +11 -9
- package/dist/ButterflyChart.js +348 -350
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.d.ts +11 -3
- package/dist/ChoroplethMap.js +213 -213
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/CirclePackingGraph.cjs +1 -1
- package/dist/CirclePackingGraph.d.ts +11 -9
- package/dist/CirclePackingGraph.js +1 -1
- package/dist/DataCards.cjs +1 -1
- package/dist/DataCards.d.ts +1 -1
- package/dist/DataCards.js +1 -1
- package/dist/DataTable.cjs +1 -1
- package/dist/DataTable.cjs.map +1 -1
- package/dist/DataTable.d.ts +4 -5
- package/dist/DataTable.js +114 -116
- package/dist/DataTable.js.map +1 -1
- package/dist/{DetailsModal-jmmKRMRM.cjs → DetailsModal-Du8Fr1QD.cjs} +2 -2
- package/dist/{DetailsModal-jmmKRMRM.cjs.map → DetailsModal-Du8Fr1QD.cjs.map} +1 -1
- package/dist/{DetailsModal-B2XBWR7w.js → DetailsModal-GqEbGHY2.js} +2 -2
- package/dist/{DetailsModal-B2XBWR7w.js.map → DetailsModal-GqEbGHY2.js.map} +1 -1
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.cjs.map +1 -1
- package/dist/DifferenceLineChart.d.ts +11 -9
- package/dist/DifferenceLineChart.js +502 -504
- package/dist/DifferenceLineChart.js.map +1 -1
- package/dist/DonutChart.cjs +1 -1
- package/dist/DonutChart.cjs.map +1 -1
- package/dist/DonutChart.d.ts +14 -9
- package/dist/DonutChart.js +174 -179
- package/dist/DonutChart.js.map +1 -1
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.d.ts +1 -1
- package/dist/DotDensityMap.js +2 -2
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.cjs.map +1 -1
- package/dist/DualAxisLineChart.d.ts +13 -9
- package/dist/DualAxisLineChart.js +341 -351
- package/dist/DualAxisLineChart.js.map +1 -1
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.cjs.map +1 -1
- package/dist/DumbbellChart.d.ts +11 -9
- package/dist/DumbbellChart.js +592 -593
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/GeoHubCompareMaps.cjs +1 -1
- package/dist/GeoHubCompareMaps.d.ts +1 -1
- package/dist/GeoHubCompareMaps.js +1 -1
- package/dist/GeoHubMap.cjs +1 -1
- package/dist/GeoHubMap.d.ts +1 -1
- package/dist/GeoHubMap.js +1 -1
- package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
- package/dist/GeoHubMapWithLayerSelection.d.ts +1 -1
- package/dist/GeoHubMapWithLayerSelection.js +1 -1
- package/dist/GraphEl-B7x5ku_y.cjs +2 -0
- package/dist/GraphEl-B7x5ku_y.cjs.map +1 -0
- package/dist/GraphEl-B8tGXqWk.js +1829 -0
- package/dist/GraphEl-B8tGXqWk.js.map +1 -0
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.d.ts +28 -16
- package/dist/GriddedGraphs.js +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +28 -16
- package/dist/HeatMap.cjs +1 -1
- package/dist/HeatMap.cjs.map +1 -1
- package/dist/HeatMap.d.ts +11 -9
- package/dist/HeatMap.js +203 -205
- package/dist/HeatMap.js.map +1 -1
- package/dist/Histogram.cjs +1 -1
- package/dist/Histogram.cjs.map +1 -1
- package/dist/Histogram.d.ts +11 -5
- package/dist/Histogram.js +88 -89
- package/dist/Histogram.js.map +1 -1
- package/dist/HybridMap.cjs +1 -1
- package/dist/HybridMap.cjs.map +1 -1
- package/dist/HybridMap.d.ts +11 -3
- package/dist/HybridMap.js +279 -279
- package/dist/HybridMap.js.map +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
- package/dist/LineChartWithConfidenceInterval.d.ts +11 -9
- package/dist/LineChartWithConfidenceInterval.js +393 -395
- package/dist/LineChartWithConfidenceInterval.js.map +1 -1
- package/dist/LinearColorLegend.cjs +1 -1
- package/dist/LinearColorLegend.js +1 -1
- package/dist/MultiGraphDashboard.d.ts +28 -16
- package/dist/MultiGraphDashboardFromConfig.d.ts +28 -16
- package/dist/MultiGraphDashboardWideToLongFormat.d.ts +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +1 -1
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.cjs.map +1 -1
- package/dist/MultiLineAltChart.d.ts +11 -9
- package/dist/MultiLineAltChart.js +411 -413
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.cjs.map +1 -1
- package/dist/MultiLineChart.d.ts +11 -9
- package/dist/MultiLineChart.js +438 -440
- package/dist/MultiLineChart.js.map +1 -1
- package/dist/ParetoChart.cjs +1 -1
- package/dist/ParetoChart.cjs.map +1 -1
- package/dist/ParetoChart.d.ts +13 -13
- package/dist/ParetoChart.js +347 -355
- package/dist/ParetoChart.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +28 -16
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +28 -16
- package/dist/PerformanceIntensiveScrollStory.d.ts +28 -16
- package/dist/RadarChart.cjs +1 -1
- package/dist/RadarChart.cjs.map +1 -1
- package/dist/RadarChart.d.ts +11 -5
- package/dist/RadarChart.js +213 -213
- package/dist/RadarChart.js.map +1 -1
- package/dist/SankeyChart.cjs +1 -1
- package/dist/SankeyChart.cjs.map +1 -1
- package/dist/SankeyChart.d.ts +11 -9
- package/dist/SankeyChart.js +448 -450
- package/dist/SankeyChart.js.map +1 -1
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.cjs.map +1 -1
- package/dist/ScatterPlot.d.ts +13 -13
- package/dist/ScatterPlot.js +490 -498
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/ScrollStory.d.ts +28 -16
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.cjs.map +1 -1
- package/dist/SimpleLineChart.d.ts +11 -9
- package/dist/SimpleLineChart.js +362 -364
- package/dist/SimpleLineChart.js.map +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.d.ts +28 -16
- package/dist/SingleGraphDashboard.js +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +28 -16
- package/dist/SingleGraphDashboardGeoHubMaps.d.ts +28 -16
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +28 -16
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.d.ts +28 -16
- package/dist/SingleGraphDashboardThreeDGraphs.js +40 -39
- package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +28 -16
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.d.ts +1 -1
- package/dist/SlopeChart.js +2 -2
- package/dist/SparkLine.cjs +1 -1
- package/dist/SparkLine.d.ts +1 -1
- package/dist/SparkLine.js +1 -1
- package/dist/StatCardFromData.cjs +1 -1
- package/dist/StatCardFromData.cjs.map +1 -1
- package/dist/StatCardFromData.d.ts +11 -9
- package/dist/StatCardFromData.js +113 -116
- package/dist/StatCardFromData.js.map +1 -1
- package/dist/StripChart.cjs +1 -1
- package/dist/StripChart.cjs.map +1 -1
- package/dist/StripChart.d.ts +11 -9
- package/dist/StripChart.js +434 -435
- package/dist/StripChart.js.map +1 -1
- package/dist/ThreeDGlobe.cjs +1 -1
- package/dist/ThreeDGlobe.cjs.map +1 -1
- package/dist/ThreeDGlobe.d.ts +11 -3
- package/dist/ThreeDGlobe.js +143 -143
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
- package/dist/ThresholdColorLegendWithMouseOver.js +1 -1
- package/dist/{Tooltip-Bj-s__cI.js → Tooltip-3EYDVa3w.js} +2 -2
- package/dist/{Tooltip-Bj-s__cI.js.map → Tooltip-3EYDVa3w.js.map} +1 -1
- package/dist/{Tooltip-Hr46paWP.cjs → Tooltip-C9F3uYG0.cjs} +2 -2
- package/dist/{Tooltip-Hr46paWP.cjs.map → Tooltip-C9F3uYG0.cjs.map} +1 -1
- package/dist/TreeMapGraph.cjs +1 -1
- package/dist/TreeMapGraph.cjs.map +1 -1
- package/dist/TreeMapGraph.d.ts +11 -9
- package/dist/TreeMapGraph.js +369 -371
- package/dist/TreeMapGraph.js.map +1 -1
- package/dist/Types.d.ts +28 -16
- package/dist/UnitChart.cjs +1 -1
- package/dist/UnitChart.cjs.map +1 -1
- package/dist/UnitChart.d.ts +11 -5
- package/dist/UnitChart.js +118 -119
- package/dist/UnitChart.js.map +1 -1
- package/dist/WaterfallChart.cjs +1 -1
- package/dist/WaterfallChart.cjs.map +1 -1
- package/dist/WaterfallChart.d.ts +11 -9
- package/dist/WaterfallChart.js +306 -308
- package/dist/WaterfallChart.js.map +1 -1
- package/dist/XTicksAndGridLines-B4UhDVyU.cjs +2 -0
- package/dist/XTicksAndGridLines-B4UhDVyU.cjs.map +1 -0
- package/dist/XTicksAndGridLines-CkYwVshF.js +40 -0
- package/dist/XTicksAndGridLines-CkYwVshF.js.map +1 -0
- package/dist/YTicksAndGridLines-BbujwxOB.js +40 -0
- package/dist/YTicksAndGridLines-BbujwxOB.js.map +1 -0
- package/dist/YTicksAndGridLines-sT3zdCs6.cjs +2 -0
- package/dist/YTicksAndGridLines-sT3zdCs6.cjs.map +1 -0
- package/dist/index-BPyj_6hG.js +375 -0
- package/dist/index-BPyj_6hG.js.map +1 -0
- package/dist/index-DuLvdHo2.cjs +2 -0
- package/dist/index-DuLvdHo2.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +105 -245
- package/dist/index.js +2 -2
- package/dist/numberFormattingFunction-BUUV_luR.js +28 -0
- package/dist/numberFormattingFunction-BUUV_luR.js.map +1 -0
- package/dist/numberFormattingFunction-u2iNHL_c.cjs +2 -0
- package/dist/numberFormattingFunction-u2iNHL_c.cjs.map +1 -0
- package/dist/{string2HTML-ZoGd08P_.cjs → string2HTML-30nfIm8R.cjs} +2 -2
- package/dist/{string2HTML-ZoGd08P_.cjs.map → string2HTML-30nfIm8R.cjs.map} +1 -1
- package/dist/{string2HTML-BrFperRM.js → string2HTML-DL-pInUB.js} +2 -2
- package/dist/{string2HTML-BrFperRM.js.map → string2HTML-DL-pInUB.js.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/package.json +2 -2
- package/dist/GraphEl-B73N4RIA.js +0 -1906
- package/dist/GraphEl-B73N4RIA.js.map +0 -1
- package/dist/GraphEl-Lt1og0C-.cjs +0 -2
- package/dist/GraphEl-Lt1og0C-.cjs.map +0 -1
- package/dist/XTicksAndGridLines-C5DuC5oY.cjs +0 -2
- package/dist/XTicksAndGridLines-C5DuC5oY.cjs.map +0 -1
- package/dist/XTicksAndGridLines-gdbGX2rm.js +0 -39
- package/dist/XTicksAndGridLines-gdbGX2rm.js.map +0 -1
- package/dist/YTicksAndGridLines-CsNSq9W9.js +0 -39
- package/dist/YTicksAndGridLines-CsNSq9W9.js.map +0 -1
- package/dist/YTicksAndGridLines-DFjm8RCc.cjs +0 -2
- package/dist/YTicksAndGridLines-DFjm8RCc.cjs.map +0 -1
- package/dist/index-B0Awa_de.js +0 -377
- package/dist/index-B0Awa_de.js.map +0 -1
- package/dist/index-CP8cmNzt.cjs +0 -2
- package/dist/index-CP8cmNzt.cjs.map +0 -1
- package/dist/numberFormattingFunction-Cn9R7CM9.cjs +0 -2
- package/dist/numberFormattingFunction-Cn9R7CM9.cjs.map +0 -1
- package/dist/numberFormattingFunction-DqMf_v1m.js +0 -28
- package/dist/numberFormattingFunction-DqMf_v1m.js.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 { 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 locale: string;\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 locale,\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\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 undefined,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\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 /** Locale for number formatting. Must matches what `Intl.NumberFormat` expects. */\r\n locale?: string;\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 locale = 'en',\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 {showColorScale && data.filter(el => el.color).length !== 0 && data.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 {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\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 locale={locale}\r\n />\r\n ) : null}\r\n </GraphArea>\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","locale","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","transition","event","clientY","clientX","event_0","jsx","fill","filter","_temp5","length","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","theme","t15","ariaLabel","t16","t17","t18","t19","t20","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","t21","t22","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","useEffect","t23","graphContainer","t24","t25","description","title","GraphHeader","t26","colorLegend","ColorLegendWithMouseOver","categoricalColors","uniqBy","t27","EmptyState","t28","primaryColors","t29","GraphArea","t30","footnote","source","GraphFooter","t31","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 locale: string;\r\n padZeros: boolean;\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 locale,\r\n padZeros,\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\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 undefined,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n padZeros,\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 NumberFormatOptions,\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 // 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 /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\r\n numberDisplayOptions?: NumberFormatOptions;\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 sources,\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 numberDisplayOptions,\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 {showColorScale && data.filter(el => el.color).length !== 0 && data.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 {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\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 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 locale={numberDisplayOptions?.locale || 'en'}\r\n padZeros={numberDisplayOptions?.padZeros || false}\r\n suffix={numberDisplayOptions?.suffix || ''}\r\n prefix={numberDisplayOptions?.prefix || ''}\r\n precision={numberDisplayOptions?.precision ?? 2}\r\n />\r\n ) : null}\r\n </GraphArea>\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","i","node_count","node_each","callback","that","index","node_eachBefore","nodes","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","locale","padZeros","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","transition","event","clientY","clientX","event_0","jsx","fill","filter","_temp5","length","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","theme","ariaLabel","t15","t16","numberDisplayOptions","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","t17","t18","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","observe","disconnect","useEffect","t19","graphContainer","t20","t21","description","title","GraphHeader","t22","colorLegend","ColorLegendWithMouseOver","categoricalColors","uniqBy","t23","EmptyState","t24","primaryColors","t25","GraphArea","t26","footnote","source","GraphFooter","t27","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]}
|
package/dist/TreeMapGraph.d.ts
CHANGED
|
@@ -39,7 +39,15 @@ declare interface ClassNameObject {
|
|
|
39
39
|
modal?: string;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
declare type Languages = 'en' | 'ar' | 'az' | 'bn' | 'cy' | 'he' | 'hi' | '
|
|
42
|
+
declare type Languages = 'en' | 'ar' | 'az' | 'bn' | 'cy' | 'he' | 'hi' | 'ja' | 'ka' | 'km' | 'ko' | 'my' | 'ne' | 'zh' | 'custom';
|
|
43
|
+
|
|
44
|
+
declare interface NumberFormatOptions {
|
|
45
|
+
locale?: string;
|
|
46
|
+
precision?: number;
|
|
47
|
+
prefix?: string;
|
|
48
|
+
suffix?: string;
|
|
49
|
+
padZeros?: boolean;
|
|
50
|
+
}
|
|
43
51
|
|
|
44
52
|
declare interface Props {
|
|
45
53
|
/** Array of data objects */
|
|
@@ -85,10 +93,6 @@ declare interface Props {
|
|
|
85
93
|
/** Bottom margin of the graph */
|
|
86
94
|
bottomMargin?: number;
|
|
87
95
|
/** Maximum radius of the circle */
|
|
88
|
-
/** Prefix for values */
|
|
89
|
-
prefix?: string;
|
|
90
|
-
/** Suffix for values */
|
|
91
|
-
suffix?: string;
|
|
92
96
|
/** Toggle visibility of labels */
|
|
93
97
|
showLabels?: boolean;
|
|
94
98
|
/** Toggle visibility of values */
|
|
@@ -103,10 +107,8 @@ declare interface Props {
|
|
|
103
107
|
dimmedOpacity?: number;
|
|
104
108
|
/** Toggles if the graph animates in when loaded. */
|
|
105
109
|
animate?: boolean | AnimateDataType;
|
|
106
|
-
/**
|
|
107
|
-
|
|
108
|
-
/** Locale for number formatting. Must matches what `Intl.NumberFormat` expects. */
|
|
109
|
-
locale?: string;
|
|
110
|
+
/** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */
|
|
111
|
+
numberDisplayOptions?: NumberFormatOptions;
|
|
110
112
|
/** Enable graph download option as png */
|
|
111
113
|
graphDownload?: boolean;
|
|
112
114
|
/** Enable data download option as a csv */
|