@undp/data-viz 2.4.1 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +309 -304
- 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 +314 -311
- 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.cjs.map +1 -1
- package/dist/DotDensityMap.d.ts +1 -1
- package/dist/DotDensityMap.js +270 -267
- package/dist/DotDensityMap.js.map +1 -1
- 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-BgkDbq50.cjs +2 -0
- package/dist/GraphEl-BgkDbq50.cjs.map +1 -0
- package/dist/GraphEl-Ch0uAeZw.js +1830 -0
- package/dist/GraphEl-Ch0uAeZw.js.map +1 -0
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.d.ts +29 -16
- package/dist/GriddedGraphs.js +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +29 -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 +339 -336
- package/dist/HybridMap.js.map +1 -1
- package/dist/ImageDownloadButton.cjs +1 -1
- package/dist/ImageDownloadButton.js +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 +29 -16
- package/dist/MultiGraphDashboardFromConfig.d.ts +29 -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 +29 -16
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +29 -16
- package/dist/PerformanceIntensiveScrollStory.d.ts +29 -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 +15 -13
- package/dist/ScatterPlot.js +477 -483
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/ScrollStory.d.ts +29 -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 +29 -16
- package/dist/SingleGraphDashboard.js +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +29 -16
- package/dist/SingleGraphDashboardGeoHubMaps.d.ts +29 -16
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +29 -16
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.d.ts +29 -16
- package/dist/SingleGraphDashboardThreeDGraphs.js +40 -39
- package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +29 -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 +29 -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/{imageDownload-Diofs_vY.js → imageDownload-BYsNEtMS.js} +11 -11
- package/dist/{imageDownload-Diofs_vY.js.map → imageDownload-BYsNEtMS.js.map} +1 -1
- package/dist/{imageDownload-61q6jyJW.cjs → imageDownload-CkMwA7Cw.cjs} +4 -4
- package/dist/{imageDownload-61q6jyJW.cjs.map → imageDownload-CkMwA7Cw.cjs.map} +1 -1
- 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 +108 -245
- package/dist/index.js +3 -3
- 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/style.css +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +2 -2
- 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
package/dist/HeatMap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeatMap.js","sources":["../src/Components/Graphs/HeatMap/Graph.tsx","../src/Components/Graphs/HeatMap/index.tsx"],"sourcesContent":["import isEqual from 'fast-deep-equal';\r\nimport { scaleLinear, scaleBand, scaleOrdinal, scaleThreshold } from 'd3-scale';\r\nimport { useRef, useState } from 'react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { motion, useInView } from 'motion/react';\r\n\r\nimport {\r\n AnimateDataType,\r\n ClassNameObject,\r\n HeatMapDataType,\r\n ScaleDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { XAxesLabels } from '@/Components/Elements/Axes/XAxesLabels';\r\nimport { YAxesLabels } from '@/Components/Elements/Axes/YAxesLabels';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\r\n\r\ninterface Props {\r\n data: HeatMapDataType[];\r\n colorDomain: string[] | number[];\r\n colors: string[];\r\n noDataColor: string;\r\n scaleType: ScaleDataType;\r\n showColumnLabels: boolean;\r\n leftMargin: number;\r\n truncateBy: number;\r\n width: number;\r\n height: number;\r\n rightMargin: number;\r\n topMargin: number;\r\n showRowLabels: boolean;\r\n bottomMargin: number;\r\n suffix: string;\r\n prefix: string;\r\n showValues?: boolean;\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 selectedColor?: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\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 animate: AnimateDataType;\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 showColumnLabels,\r\n leftMargin,\r\n rightMargin,\r\n truncateBy,\r\n width,\r\n height,\r\n topMargin,\r\n bottomMargin,\r\n tooltip,\r\n onSeriesMouseOver,\r\n suffix,\r\n prefix,\r\n showValues,\r\n colorDomain,\r\n colors,\r\n noDataColor,\r\n scaleType,\r\n showRowLabels,\r\n selectedColor,\r\n onSeriesMouseClick,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n animate,\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 const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [mouseOverData, setMouseOverData] = useState<HeatMapDataType | undefined>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const columns = uniqBy(data, 'column', true) as string[];\r\n const rows = uniqBy(data, 'row', true) as string[];\r\n const y = scaleBand().domain(rows).range([0, graphHeight]);\r\n const barHeight = y.bandwidth();\r\n const x = scaleBand().domain(columns).range([0, graphWidth]);\r\n const barWidth = x.bandwidth();\r\n const colorScale =\r\n scaleType === 'categorical'\r\n ? scaleOrdinal<number | string, string>().domain(colorDomain).range(colors)\r\n : scaleType === 'threshold'\r\n ? scaleThreshold<number, string>()\r\n .domain(colorDomain as number[])\r\n .range(colors)\r\n : scaleLinear<string, string>()\r\n .domain(colorDomain as number[])\r\n .range(colors);\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 style={{ marginLeft: 'auto', marginRight: 'auto' }}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${0})`}>\r\n {showColumnLabels\r\n ? columns.map((d, i) => (\r\n <XAxesLabels\r\n key={i}\r\n y={0}\r\n x={x(d) as number}\r\n width={barWidth}\r\n height={margin.top - 5}\r\n value={\r\n `${d}`.length < truncateBy ? `${d}` : `${`${d}`.substring(0, truncateBy)}...`\r\n }\r\n style={styles?.xAxis?.labels}\r\n className={classNames?.xAxis?.labels}\r\n alignment='bottom'\r\n animate={{ duration: 0, once: true, amount: 0 }}\r\n isInView={isInView}\r\n />\r\n ))\r\n : null}\r\n </g>\r\n <g transform={`translate(${0},${margin.top})`}>\r\n {showRowLabels\r\n ? rows.map((d, i) => (\r\n <YAxesLabels\r\n value={\r\n `${d}`.length < truncateBy ? `${d}` : `${`${d}`.substring(0, truncateBy)}...`\r\n }\r\n key={i}\r\n y={y(d) as number}\r\n x={0}\r\n width={margin.left}\r\n height={barHeight}\r\n alignment='right'\r\n style={styles?.yAxis?.labels}\r\n className={classNames?.yAxis?.labels}\r\n animate={{ duration: 0, once: true, amount: 0 }}\r\n isInView={isInView}\r\n />\r\n ))\r\n : null}\r\n </g>\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n {rows.map((d, i) => (\r\n <g key={i} transform={`translate(0,${y(d)})`}>\r\n {columns.map(el => (\r\n <rect\r\n key={`${d}-${el}`}\r\n x={x(el)}\r\n y={0}\r\n width={barWidth}\r\n height={barHeight}\r\n style={{ fill: noDataColor }}\r\n className='stroke-1 stroke-primary-white dark:stroke-primary-gray-700'\r\n />\r\n ))}\r\n </g>\r\n ))}\r\n {data\r\n .filter(d => !checkIfNullOrUndefined(d.value))\r\n .map((d, i) => {\r\n const color = !checkIfNullOrUndefined(d.value)\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n colorScale(d.value as any)\r\n : noDataColor;\r\n return (\r\n <g\r\n key={`${d.column}-${d.row}`}\r\n transform={`translate(${x(d.column)},${y(d.row)})`}\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\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 opacity={selectedColor ? (selectedColor === color ? 1 : 0.3) : 1}\r\n >\r\n <motion.rect\r\n x={0}\r\n y={0}\r\n width={barWidth}\r\n height={barHeight}\r\n className='stroke-1 stroke-primary-white dark:stroke-primary-gray-700'\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: { fill: color, opacity: 0 },\r\n whileInView: {\r\n fill: color,\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 />\r\n {showValues && !checkIfNullOrUndefined(d.value) ? (\r\n <motion.g\r\n variants={{\r\n initial: { opacity: 0 },\r\n whileInView: { opacity: 1, transition: { duration: animate.duration } },\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 key={i} y={0} x={0} width={barWidth} height={barHeight}>\r\n <div className='flex flex-col justify-center items-center h-inherit p-1'>\r\n <p\r\n className={cn(\r\n 'text-xs text-center m-0 leading-[1.25] graph-value',\r\n classNames?.graphObjectValues,\r\n )}\r\n style={{\r\n color: getTextColorBasedOnBgColor(color),\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n d.value,\r\n undefined,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n )}\r\n </p>\r\n </div>\r\n </foreignObject>\r\n </motion.g>\r\n ) : null}\r\n </g>\r\n );\r\n })}\r\n {mouseOverData ? (\r\n <rect\r\n x={x(mouseOverData.column)}\r\n y={y(mouseOverData.row)}\r\n width={barWidth}\r\n height={barHeight}\r\n style={{\r\n fill: 'none',\r\n fillOpacity: 0,\r\n strokeWidth: 1.5,\r\n }}\r\n className='stroke-primary-gray-700 dark:stroke-primary-gray-300'\r\n />\r\n ) : null}\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 { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport {\r\n HeatMapDataType,\r\n Languages,\r\n ScaleDataType,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { LinearColorLegend } from '@/Components/Elements/LinearColorLegend';\r\nimport { ThresholdColorLegendWithMouseOver } from '@/Components/Elements/ThresholdColorLegendWithMouseOver';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\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: HeatMapDataType[];\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 /** Array of colors for cells */\r\n colors?: string[];\r\n /** Color where data is not available */\r\n noDataColor?: 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 /** Toggles the background to fill the container. This only works if the width of the graph is defined. */\r\n fillContainer?: boolean;\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 /** Maximum value for the chart */\r\n truncateBy?: number;\r\n /** Reference values for comparison */\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of labels in the column */\r\n showColumnLabels?: boolean;\r\n /** Toggle visibility of labels in the row */\r\n showRowLabels?: boolean;\r\n /** Scale for the colors in the cell */\r\n scaleType?: ScaleDataType;\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 /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Domain for the colors in the cell. */\r\n colorDomain: number[] | string[];\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 /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: 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 HeatMap(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n colors,\r\n sources,\r\n graphDescription,\r\n showColumnLabels = true,\r\n leftMargin = 100,\r\n rightMargin = 10,\r\n truncateBy = 999,\r\n height,\r\n width,\r\n scaleType,\r\n colorDomain,\r\n footNote,\r\n colorLegendTitle,\r\n padding,\r\n backgroundColor = false,\r\n topMargin = 30,\r\n bottomMargin = 10,\r\n tooltip,\r\n onSeriesMouseOver,\r\n suffix = '',\r\n prefix = '',\r\n showRowLabels = true,\r\n relativeHeight,\r\n showValues,\r\n graphID,\r\n noDataColor = Colors.gray,\r\n showColorScale = true,\r\n onSeriesMouseClick,\r\n graphDownload = false,\r\n dataDownload = false,\r\n fillContainer = true,\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 precision = 2,\r\n locale = 'en',\r\n naLabel = 'NA',\r\n } = props;\r\n\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\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 const scale =\r\n scaleType ||\r\n (typeof colorDomain[0] === 'string'\r\n ? 'categorical'\r\n : colorDomain.length === 2\r\n ? 'linear'\r\n : 'threshold');\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={fillContainer ? undefined : 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.length > 0 ? (\r\n scale === 'categorical' ? (\r\n <ColorLegendWithMouseOver\r\n width={fillContainer ? undefined : width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={\r\n colors ||\r\n (typeof colorDomain[0] === 'string'\r\n ? Colors[theme].categoricalColors.colors\r\n : colorDomain.length === 2\r\n ? [\r\n Colors[theme].sequentialColors.neutralColorsx09[0],\r\n Colors[theme].sequentialColors.neutralColorsx09[8],\r\n ]\r\n : Colors[theme].sequentialColors[\r\n `neutralColorsx0${(colorDomain.length + 1) as 4 | 5 | 6 | 7 | 8 | 9}`\r\n ])\r\n }\r\n colorDomain={colorDomain.map(d => `${d}`)}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : scale === 'threshold' ? (\r\n <ThresholdColorLegendWithMouseOver\r\n width={fillContainer ? undefined : width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={\r\n colors ||\r\n (typeof colorDomain[0] === 'string'\r\n ? Colors[theme].categoricalColors.colors\r\n : colorDomain.length === 2\r\n ? [\r\n Colors[theme].sequentialColors.neutralColorsx09[0],\r\n Colors[theme].sequentialColors.neutralColorsx09[8],\r\n ]\r\n : Colors[theme].sequentialColors[\r\n `neutralColorsx0${(colorDomain.length + 1) as 4 | 5 | 6 | 7 | 8 | 9}`\r\n ])\r\n }\r\n colorDomain={colorDomain as number[]}\r\n setSelectedColor={setSelectedColor}\r\n naColor={noDataColor}\r\n locale={locale}\r\n showNAColor={showNAColor}\r\n naLabel={naLabel}\r\n />\r\n ) : (\r\n <LinearColorLegend\r\n width={fillContainer ? undefined : width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={\r\n colors || [\r\n Colors[theme].sequentialColors.neutralColorsx09[0],\r\n Colors[theme].sequentialColors.neutralColorsx09[8],\r\n ]\r\n }\r\n locale={locale}\r\n colorDomain={colorDomain as number[]}\r\n className={classNames?.colorLegend}\r\n />\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}\r\n colorDomain={colorDomain}\r\n width={fillContainer || !width ? svgWidth : svgWidth < width ? svgWidth : width}\r\n height={svgHeight}\r\n colors={\r\n colors ||\r\n (typeof colorDomain[0] === 'string'\r\n ? Colors[theme].categoricalColors.colors\r\n : colorDomain.length === 2\r\n ? [\r\n Colors[theme].sequentialColors.neutralColorsx09[0],\r\n Colors[theme].sequentialColors.neutralColorsx09[8],\r\n ]\r\n : Colors[theme].sequentialColors[\r\n `neutralColorsx0${(colorDomain.length + 1) as 4 | 5 | 6 | 7 | 8 | 9}`\r\n ])\r\n }\r\n noDataColor={noDataColor}\r\n scaleType={scale}\r\n showColumnLabels={showColumnLabels}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n selectedColor={selectedColor}\r\n truncateBy={truncateBy}\r\n showRowLabels={showRowLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showValues={showValues}\r\n suffix={suffix}\r\n prefix={prefix}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\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 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":["Graph","props","$","_c","data","showColumnLabels","leftMargin","rightMargin","truncateBy","width","height","topMargin","bottomMargin","tooltip","onSeriesMouseOver","suffix","prefix","showValues","colorDomain","colors","noDataColor","scaleType","showRowLabels","selectedColor","onSeriesMouseClick","resetSelectionOnDoubleClick","detailsOnClick","styles","classNames","animate","precision","locale","svgRef","useRef","t0","amount","once","isInView","useInView","t1","top","bottom","left","right","margin","mouseClickData","setMouseClickData","useState","undefined","mouseOverData","setMouseOverData","eventX","setEventX","eventY","setEventY","graphWidth","graphHeight","T0","t10","t11","t12","t13","t2","t3","t4","t5","t6","t7","t8","t9","duration","graphObjectValues","xAxis","labels","yAxis","columns","uniqBy","rows","y","scaleBand","domain","range","barHeight","bandwidth","x","barWidth","colorScale","scaleOrdinal","scaleThreshold","scaleLinear","motion","svg","Symbol","for","marginLeft","marginRight","jsx","map","d","i","XAxesLabels","length","substring","d_0","i_0","YAxesLabels","d_1","i_1","el","fill","filter","_temp","d_3","i_2","color","checkIfNullOrUndefined","value","jsxs","column","row","event","clientY","clientX","isEqual","event_0","opacity","transition","initial","whileInView","cn","getTextColorBasedOnBgColor","numberFormattingFunction","fillOpacity","strokeWidth","t14","t15","t16","Tooltip","t17","modal","DetailsModal","t18","Fragment","d_2","HeatMap","graphTitle","sources","graphDescription","footNote","colorLegendTitle","padding","backgroundColor","relativeHeight","graphID","showColorScale","graphDownload","dataDownload","fillContainer","language","showNAColor","minHeight","theme","ariaLabel","t19","t20","t21","t22","naLabel","t23","Colors","gray","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","t24","t25","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","current","observe","disconnect","useEffect","scale","t26","graphContainer","t27","t28","t29","description","title","GraphHeader","_temp2","_temp3","_temp4","_temp5","t30","colorLegend","ColorLegendWithMouseOver","categoricalColors","sequentialColors","neutralColorsx09","_temp6","ThresholdColorLegendWithMouseOver","LinearColorLegend","t31","EmptyState","t32","t33","GraphArea","t34","footnote","source","GraphFooter","t35","GraphContainer","d_4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HeatMap.js","sources":["../src/Components/Graphs/HeatMap/Graph.tsx","../src/Components/Graphs/HeatMap/index.tsx"],"sourcesContent":["import isEqual from 'fast-deep-equal';\r\nimport { scaleLinear, scaleBand, scaleOrdinal, scaleThreshold } from 'd3-scale';\r\nimport { useRef, useState } from 'react';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { motion, useInView } from 'motion/react';\r\n\r\nimport {\r\n AnimateDataType,\r\n ClassNameObject,\r\n HeatMapDataType,\r\n ScaleDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { XAxesLabels } from '@/Components/Elements/Axes/XAxesLabels';\r\nimport { YAxesLabels } from '@/Components/Elements/Axes/YAxesLabels';\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\r\n\r\ninterface Props {\r\n data: HeatMapDataType[];\r\n colorDomain: string[] | number[];\r\n colors: string[];\r\n noDataColor: string;\r\n scaleType: ScaleDataType;\r\n showColumnLabels: boolean;\r\n leftMargin: number;\r\n truncateBy: number;\r\n width: number;\r\n height: number;\r\n rightMargin: number;\r\n topMargin: number;\r\n showRowLabels: boolean;\r\n bottomMargin: number;\r\n suffix: string;\r\n prefix: string;\r\n showValues?: boolean;\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 selectedColor?: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\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 animate: AnimateDataType;\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 showColumnLabels,\r\n leftMargin,\r\n rightMargin,\r\n truncateBy,\r\n width,\r\n height,\r\n topMargin,\r\n bottomMargin,\r\n tooltip,\r\n onSeriesMouseOver,\r\n suffix,\r\n prefix,\r\n showValues,\r\n colorDomain,\r\n colors,\r\n noDataColor,\r\n scaleType,\r\n showRowLabels,\r\n selectedColor,\r\n onSeriesMouseClick,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n animate,\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 const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [mouseOverData, setMouseOverData] = useState<HeatMapDataType | undefined>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n const columns = uniqBy(data, 'column', true) as string[];\r\n const rows = uniqBy(data, 'row', true) as string[];\r\n const y = scaleBand().domain(rows).range([0, graphHeight]);\r\n const barHeight = y.bandwidth();\r\n const x = scaleBand().domain(columns).range([0, graphWidth]);\r\n const barWidth = x.bandwidth();\r\n const colorScale =\r\n scaleType === 'categorical'\r\n ? scaleOrdinal<number | string, string>().domain(colorDomain).range(colors)\r\n : scaleType === 'threshold'\r\n ? scaleThreshold<number, string>()\r\n .domain(colorDomain as number[])\r\n .range(colors)\r\n : scaleLinear<string, string>()\r\n .domain(colorDomain as number[])\r\n .range(colors);\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 style={{ marginLeft: 'auto', marginRight: 'auto' }}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${0})`}>\r\n {showColumnLabels\r\n ? columns.map((d, i) => (\r\n <XAxesLabels\r\n key={i}\r\n y={0}\r\n x={x(d) as number}\r\n width={barWidth}\r\n height={margin.top - 5}\r\n value={\r\n `${d}`.length < truncateBy ? `${d}` : `${`${d}`.substring(0, truncateBy)}...`\r\n }\r\n style={styles?.xAxis?.labels}\r\n className={classNames?.xAxis?.labels}\r\n alignment='bottom'\r\n animate={{ duration: 0, once: true, amount: 0 }}\r\n isInView={isInView}\r\n />\r\n ))\r\n : null}\r\n </g>\r\n <g transform={`translate(${0},${margin.top})`}>\r\n {showRowLabels\r\n ? rows.map((d, i) => (\r\n <YAxesLabels\r\n value={\r\n `${d}`.length < truncateBy ? `${d}` : `${`${d}`.substring(0, truncateBy)}...`\r\n }\r\n key={i}\r\n y={y(d) as number}\r\n x={0}\r\n width={margin.left}\r\n height={barHeight}\r\n alignment='right'\r\n style={styles?.yAxis?.labels}\r\n className={classNames?.yAxis?.labels}\r\n animate={{ duration: 0, once: true, amount: 0 }}\r\n isInView={isInView}\r\n />\r\n ))\r\n : null}\r\n </g>\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n {rows.map((d, i) => (\r\n <g key={i} transform={`translate(0,${y(d)})`}>\r\n {columns.map(el => (\r\n <rect\r\n key={`${d}-${el}`}\r\n x={x(el)}\r\n y={0}\r\n width={barWidth}\r\n height={barHeight}\r\n style={{ fill: noDataColor }}\r\n className='stroke-1 stroke-primary-white dark:stroke-primary-gray-700'\r\n />\r\n ))}\r\n </g>\r\n ))}\r\n {data\r\n .filter(d => !checkIfNullOrUndefined(d.value))\r\n .map((d, i) => {\r\n const color = !checkIfNullOrUndefined(d.value)\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n colorScale(d.value as any)\r\n : noDataColor;\r\n return (\r\n <g\r\n key={`${d.column}-${d.row}`}\r\n transform={`translate(${x(d.column)},${y(d.row)})`}\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\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 opacity={selectedColor ? (selectedColor === color ? 1 : 0.3) : 1}\r\n >\r\n <motion.rect\r\n x={0}\r\n y={0}\r\n width={barWidth}\r\n height={barHeight}\r\n className='stroke-1 stroke-primary-white dark:stroke-primary-gray-700'\r\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\r\n variants={{\r\n initial: { fill: color, opacity: 0 },\r\n whileInView: {\r\n fill: color,\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 />\r\n {showValues && !checkIfNullOrUndefined(d.value) ? (\r\n <motion.g\r\n variants={{\r\n initial: { opacity: 0 },\r\n whileInView: { opacity: 1, transition: { duration: animate.duration } },\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 key={i} y={0} x={0} width={barWidth} height={barHeight}>\r\n <div className='flex flex-col justify-center items-center h-inherit p-1'>\r\n <p\r\n className={cn(\r\n 'text-xs text-center m-0 leading-[1.25] graph-value',\r\n classNames?.graphObjectValues,\r\n )}\r\n style={{\r\n color: getTextColorBasedOnBgColor(color),\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n d.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 </div>\r\n </foreignObject>\r\n </motion.g>\r\n ) : null}\r\n </g>\r\n );\r\n })}\r\n {mouseOverData ? (\r\n <rect\r\n x={x(mouseOverData.column)}\r\n y={y(mouseOverData.row)}\r\n width={barWidth}\r\n height={barHeight}\r\n style={{\r\n fill: 'none',\r\n fillOpacity: 0,\r\n strokeWidth: 1.5,\r\n }}\r\n className='stroke-primary-gray-700 dark:stroke-primary-gray-300'\r\n />\r\n ) : null}\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 { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport {\r\n HeatMapDataType,\r\n Languages,\r\n ScaleDataType,\r\n SourcesDataType,\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 { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { LinearColorLegend } from '@/Components/Elements/LinearColorLegend';\r\nimport { ThresholdColorLegendWithMouseOver } from '@/Components/Elements/ThresholdColorLegendWithMouseOver';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\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: HeatMapDataType[];\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 /** Array of colors for cells */\r\n colors?: string[];\r\n /** Color where data is not available */\r\n noDataColor?: 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 /** Toggles the background to fill the container. This only works if the width of the graph is defined. */\r\n fillContainer?: boolean;\r\n\r\n // Values and Ticks\r\n /** Maximum value for the chart */\r\n truncateBy?: number;\r\n /** Reference values for comparison */\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of labels in the column */\r\n showColumnLabels?: boolean;\r\n /** Toggle visibility of labels in the row */\r\n showRowLabels?: boolean;\r\n /** Scale for the colors in the cell */\r\n scaleType?: ScaleDataType;\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 /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Domain for the colors in the cell. */\r\n colorDomain: number[] | string[];\r\n /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\r\n numberDisplayOptions?: NumberFormatOptions;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: 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 HeatMap(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n colors,\r\n sources,\r\n graphDescription,\r\n showColumnLabels = true,\r\n leftMargin = 100,\r\n rightMargin = 10,\r\n truncateBy = 999,\r\n height,\r\n width,\r\n scaleType,\r\n colorDomain,\r\n footNote,\r\n colorLegendTitle,\r\n padding,\r\n backgroundColor = false,\r\n topMargin = 30,\r\n bottomMargin = 10,\r\n tooltip,\r\n onSeriesMouseOver,\r\n showRowLabels = true,\r\n relativeHeight,\r\n showValues,\r\n graphID,\r\n noDataColor = Colors.gray,\r\n showColorScale = true,\r\n onSeriesMouseClick,\r\n graphDownload = false,\r\n dataDownload = false,\r\n fillContainer = true,\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 naLabel = 'NA',\r\n numberDisplayOptions,\r\n } = props;\r\n\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\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 const scale =\r\n scaleType ||\r\n (typeof colorDomain[0] === 'string'\r\n ? 'categorical'\r\n : colorDomain.length === 2\r\n ? 'linear'\r\n : 'threshold');\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={fillContainer ? undefined : 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.length > 0 ? (\r\n scale === 'categorical' ? (\r\n <ColorLegendWithMouseOver\r\n width={fillContainer ? undefined : width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={\r\n colors ||\r\n (typeof colorDomain[0] === 'string'\r\n ? Colors[theme].categoricalColors.colors\r\n : colorDomain.length === 2\r\n ? [\r\n Colors[theme].sequentialColors.neutralColorsx09[0],\r\n Colors[theme].sequentialColors.neutralColorsx09[8],\r\n ]\r\n : Colors[theme].sequentialColors[\r\n `neutralColorsx0${(colorDomain.length + 1) as 4 | 5 | 6 | 7 | 8 | 9}`\r\n ])\r\n }\r\n colorDomain={colorDomain.map(d => `${d}`)}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : scale === 'threshold' ? (\r\n <ThresholdColorLegendWithMouseOver\r\n width={fillContainer ? undefined : width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={\r\n colors ||\r\n (typeof colorDomain[0] === 'string'\r\n ? Colors[theme].categoricalColors.colors\r\n : colorDomain.length === 2\r\n ? [\r\n Colors[theme].sequentialColors.neutralColorsx09[0],\r\n Colors[theme].sequentialColors.neutralColorsx09[8],\r\n ]\r\n : Colors[theme].sequentialColors[\r\n `neutralColorsx0${(colorDomain.length + 1) as 4 | 5 | 6 | 7 | 8 | 9}`\r\n ])\r\n }\r\n colorDomain={colorDomain as number[]}\r\n setSelectedColor={setSelectedColor}\r\n naColor={noDataColor}\r\n locale={numberDisplayOptions?.locale || 'en'}\r\n showNAColor={showNAColor}\r\n naLabel={naLabel}\r\n />\r\n ) : (\r\n <LinearColorLegend\r\n width={fillContainer ? undefined : width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={\r\n colors || [\r\n Colors[theme].sequentialColors.neutralColorsx09[0],\r\n Colors[theme].sequentialColors.neutralColorsx09[8],\r\n ]\r\n }\r\n locale={numberDisplayOptions?.locale || 'en'}\r\n colorDomain={colorDomain as number[]}\r\n className={classNames?.colorLegend}\r\n />\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}\r\n colorDomain={colorDomain}\r\n width={fillContainer || !width ? svgWidth : svgWidth < width ? svgWidth : width}\r\n height={svgHeight}\r\n colors={\r\n colors ||\r\n (typeof colorDomain[0] === 'string'\r\n ? Colors[theme].categoricalColors.colors\r\n : colorDomain.length === 2\r\n ? [\r\n Colors[theme].sequentialColors.neutralColorsx09[0],\r\n Colors[theme].sequentialColors.neutralColorsx09[8],\r\n ]\r\n : Colors[theme].sequentialColors[\r\n `neutralColorsx0${(colorDomain.length + 1) as 4 | 5 | 6 | 7 | 8 | 9}`\r\n ])\r\n }\r\n noDataColor={noDataColor}\r\n scaleType={scale}\r\n showColumnLabels={showColumnLabels}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n selectedColor={selectedColor}\r\n truncateBy={truncateBy}\r\n showRowLabels={showRowLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showValues={showValues}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\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 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":["Graph","props","$","_c","data","showColumnLabels","leftMargin","rightMargin","truncateBy","width","height","topMargin","bottomMargin","tooltip","onSeriesMouseOver","suffix","prefix","showValues","colorDomain","colors","noDataColor","scaleType","showRowLabels","selectedColor","onSeriesMouseClick","resetSelectionOnDoubleClick","detailsOnClick","styles","classNames","animate","precision","locale","padZeros","svgRef","useRef","t0","amount","once","isInView","useInView","t1","top","bottom","left","right","margin","mouseClickData","setMouseClickData","useState","undefined","mouseOverData","setMouseOverData","eventX","setEventX","eventY","setEventY","graphWidth","graphHeight","T0","t10","t11","t12","t13","t2","t3","t4","t5","t6","t7","t8","t9","duration","graphObjectValues","xAxis","labels","yAxis","columns","uniqBy","rows","y","scaleBand","domain","range","barHeight","bandwidth","x","barWidth","colorScale","scaleOrdinal","scaleThreshold","scaleLinear","motion","svg","Symbol","for","marginLeft","marginRight","jsx","map","d","i","XAxesLabels","length","substring","d_0","i_0","YAxesLabels","d_1","i_1","el","fill","filter","_temp","d_3","i_2","color","checkIfNullOrUndefined","value","jsxs","column","row","event","clientY","clientX","isEqual","event_0","opacity","transition","initial","whileInView","cn","getTextColorBasedOnBgColor","numberFormattingFunction","fillOpacity","strokeWidth","t14","t15","t16","Tooltip","t17","modal","DetailsModal","t18","Fragment","d_2","HeatMap","graphTitle","sources","graphDescription","footNote","colorLegendTitle","padding","backgroundColor","relativeHeight","graphID","showColorScale","graphDownload","dataDownload","fillContainer","language","showNAColor","minHeight","theme","ariaLabel","naLabel","t19","numberDisplayOptions","Colors","gray","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","t20","t21","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","current","observe","disconnect","useEffect","scale","t22","graphContainer","t23","t24","t25","description","title","GraphHeader","_temp2","_temp3","_temp4","_temp5","t26","colorLegend","ColorLegendWithMouseOver","categoricalColors","sequentialColors","neutralColorsx09","_temp6","ThresholdColorLegendWithMouseOver","LinearColorLegend","t27","EmptyState","t28","t29","GraphArea","t30","footnote","source","GraphFooter","t31","GraphContainer","d_4"],"mappings":"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"}
|
package/dist/Histogram.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("./index-CHPV5EwG-D4pAp7u0.cjs"),le=require("./Spinner-WHzzloYQ.cjs"),J=require("./index-DuLvdHo2.cjs"),ae=require("./TreeMapGraph.cjs"),ce=require("./DonutChart.cjs"),ue=require("./BarGraph.cjs"),W=require("./Colors.cjs"),he=require("./init-DU0ybBc_.cjs"),K=require("./linear-CgUCbw9F.cjs");function fe(n,e){let C=0;for(let l of n)l!=null&&(l=+l)>=l&&++C;return C}function pe(n){return n}var ge=Array.prototype,me=ge.slice;function ne(n){return()=>n}function xe(n,e,C){let l;for(;;){const t=K.tickIncrement(n,e,C);if(t===l||t===0||!isFinite(t))return[n,e];t>0?(n=Math.floor(n/t)*t,e=Math.ceil(e/t)*t):t<0&&(n=Math.ceil(n*t)/t,e=Math.floor(e*t)/t),l=t}}function de(n){return Math.max(1,Math.ceil(Math.log(fe(n))/Math.LN2)+1)}function ye(){var n=pe,e=J.extent,C=de;function l(t){Array.isArray(t)||(t=Array.from(t));var r,B=t.length,a,L,p=new Array(B);for(r=0;r<B;++r)p[r]=n(t[r],r,t);var b=e(p),o=b[0],i=b[1],s=C(p,o,i);if(!Array.isArray(s)){const d=i,y=+s;if(e===J.extent&&([o,i]=xe(o,i,y)),s=K.ticks(o,i,y),s[0]<=o&&(L=K.tickIncrement(o,i,y)),s[s.length-1]>=i)if(d>=i&&e===J.extent){const c=K.tickIncrement(o,i,y);isFinite(c)&&(c>0?i=(Math.floor(i/c)+1)*c:c<0&&(i=(Math.ceil(i*-c)+1)/-c))}else s.pop()}for(var x=s.length,u=0,h=x;s[u]<=o;)++u;for(;s[h-1]>i;)--h;(u||h<x)&&(s=s.slice(u,h),x=h-u);var m=new Array(x+1),M;for(r=0;r<=x;++r)M=m[r]=[],M.x0=r>0?s[r-1]:o,M.x1=r<x?s[r]:i;if(isFinite(L)){if(L>0)for(r=0;r<B;++r)(a=p[r])!=null&&o<=a&&a<=i&&m[Math.min(x,Math.floor((a-o)/L))].push(t[r]);else if(L<0){for(r=0;r<B;++r)if((a=p[r])!=null&&o<=a&&a<=i){const d=Math.floor((o-a)*L);m[Math.min(x,d+(s[d]<=a))].push(t[r])}}}else for(r=0;r<B;++r)(a=p[r])!=null&&o<=a&&a<=i&&m[he.bisectRight(s,a,0,x)].push(t[r]);return m}return l.value=function(t){return arguments.length?(n=typeof t=="function"?t:ne(t),l):n},l.domain=function(t){return arguments.length?(e=typeof t=="function"?t:ne([t[0],t[1]]),l):e},l.thresholds=function(t){return arguments.length?(C=typeof t=="function"?t:ne(Array.isArray(t)?me.call(t):t),l):C},l}function Me(n){const e=F.compilerRuntimeExports.c(139),{data:C,graphTitle:l,sources:t,graphDescription:r,barPadding:B,showValues:a,showTicks:L,leftMargin:p,rightMargin:b,height:o,width:i,footNote:s,colors:x,padding:u,backgroundColor:h,topMargin:m,bottomMargin:M,showLabels:d,relativeHeight:y,tooltip:c,onSeriesMouseOver:w,refValues:Q,graphID:j,maxValue:U,onSeriesMouseClick:k,graphDownload:S,dataDownload:A,numberOfBins:X,truncateBy:Y,graphType:Z,barGraphLayout:_,donutStrokeWidth:ee,sortData:I,language:q,minHeight:H,theme:oe,maxBarThickness:te,ariaLabel:E,detailsOnClick:R,styles:D,classNames:G,hideAxisLine:se,numberDisplayOptions:T}=n,v=oe===void 0?"light":oe,re=se===void 0?!1:se;let N;e[0]!==C||e[1]!==X?(N=ye().thresholds(X||10).value(Ce)(C).map(ve),e[0]=C,e[1]=X,e[2]=N):N=e[2];const $=N;if($.length===0){const g=`${i}px`,f=`${o}px`;let P;e[3]!==g||e[4]!==f?(P={width:g,height:f,margin:"auto"},e[3]=g,e[4]=f,e[5]=P):P=e[5];let O;e[6]===Symbol.for("react.memo_cache_sentinel")?(O=F.jsxRuntimeExports.jsx("div",{className:"flex m-auto items-center justify-center p-0 leading-none text-base h-40",children:F.jsxRuntimeExports.jsx(le.w,{})}),e[6]=O):O=e[6];let z;return e[7]!==P?(z=F.jsxRuntimeExports.jsx("div",{style:P,children:O}),e[7]=P,e[8]=z):z=e[8],z}if(Z==="circlePacking"){const g=x||W.Colors.graphMainColor;let f;return e[9]!==E||e[10]!==h||e[11]!==M||e[12]!==G||e[13]!==A||e[14]!==$||e[15]!==R||e[16]!==s||e[17]!==r||e[18]!==S||e[19]!==j||e[20]!==l||e[21]!==o||e[22]!==q||e[23]!==p||e[24]!==H||e[25]!==T||e[26]!==k||e[27]!==w||e[28]!==u||e[29]!==y||e[30]!==b||e[31]!==d||e[32]!==a||e[33]!==t||e[34]!==D||e[35]!==g||e[36]!==v||e[37]!==c||e[38]!==m||e[39]!==i?(f=F.jsxRuntimeExports.jsx(J.CirclePackingGraph,{colors:g,graphTitle:l,graphDescription:r,footNote:s,width:i,height:o,sources:t,leftMargin:p,rightMargin:b,backgroundColor:h,padding:u,topMargin:m,bottomMargin:M,relativeHeight:y,showLabels:d,tooltip:c,onSeriesMouseOver:w,showColorScale:!1,showValues:a,graphID:j,onSeriesMouseClick:k,graphDownload:S,dataDownload:A,data:$,language:q,minHeight:H,theme:v,ariaLabel:E,detailsOnClick:R,styles:D,classNames:G,numberDisplayOptions:T}),e[9]=E,e[10]=h,e[11]=M,e[12]=G,e[13]=A,e[14]=$,e[15]=R,e[16]=s,e[17]=r,e[18]=S,e[19]=j,e[20]=l,e[21]=o,e[22]=q,e[23]=p,e[24]=H,e[25]=T,e[26]=k,e[27]=w,e[28]=u,e[29]=y,e[30]=b,e[31]=d,e[32]=a,e[33]=t,e[34]=D,e[35]=g,e[36]=v,e[37]=c,e[38]=m,e[39]=i,e[40]=f):f=e[40],f}if(Z==="treeMap"){const g=x||W.Colors.graphMainColor;let f;return e[41]!==E||e[42]!==h||e[43]!==M||e[44]!==G||e[45]!==A||e[46]!==$||e[47]!==R||e[48]!==s||e[49]!==r||e[50]!==S||e[51]!==j||e[52]!==l||e[53]!==o||e[54]!==q||e[55]!==p||e[56]!==H||e[57]!==T||e[58]!==k||e[59]!==w||e[60]!==u||e[61]!==y||e[62]!==b||e[63]!==d||e[64]!==a||e[65]!==t||e[66]!==D||e[67]!==g||e[68]!==v||e[69]!==c||e[70]!==m||e[71]!==i?(f=F.jsxRuntimeExports.jsx(ae.TreeMapGraph,{colors:g,graphTitle:l,graphDescription:r,footNote:s,width:i,height:o,sources:t,leftMargin:p,rightMargin:b,backgroundColor:h,padding:u,topMargin:m,bottomMargin:M,relativeHeight:y,showLabels:d,tooltip:c,onSeriesMouseOver:w,showColorScale:!1,showValues:a,graphID:j,onSeriesMouseClick:k,graphDownload:S,dataDownload:A,data:$,language:q,minHeight:H,theme:v,ariaLabel:E,detailsOnClick:R,styles:D,classNames:G,numberDisplayOptions:T}),e[41]=E,e[42]=h,e[43]=M,e[44]=G,e[45]=A,e[46]=$,e[47]=R,e[48]=s,e[49]=r,e[50]=S,e[51]=j,e[52]=l,e[53]=o,e[54]=q,e[55]=p,e[56]=H,e[57]=T,e[58]=k,e[59]=w,e[60]=u,e[61]=y,e[62]=b,e[63]=d,e[64]=a,e[65]=t,e[66]=D,e[67]=g,e[68]=v,e[69]=c,e[70]=m,e[71]=i,e[72]=f):f=e[72],f}if(Z==="donutChart"){const g=x||W.Colors[v].categoricalColors.colors,f=i&&o?i<o?i:o:i||o||void 0,P=$;let O;return e[73]!==E||e[74]!==h||e[75]!==G||e[76]!==A||e[77]!==R||e[78]!==ee||e[79]!==s||e[80]!==r||e[81]!==S||e[82]!==j||e[83]!==l||e[84]!==q||e[85]!==T||e[86]!==k||e[87]!==w||e[88]!==u||e[89]!==I||e[90]!==t||e[91]!==D||e[92]!==g||e[93]!==f||e[94]!==P||e[95]!==v||e[96]!==c?(O=F.jsxRuntimeExports.jsx(ce.DonutChart,{colors:g,graphTitle:l,graphDescription:r,footNote:s,radius:f,sources:t,backgroundColor:h,padding:u,tooltip:c,onSeriesMouseOver:w,graphID:j,onSeriesMouseClick:k,graphDownload:S,dataDownload:A,data:P,strokeWidth:ee,showColorScale:!0,sortData:I,language:q,theme:v,ariaLabel:E,detailsOnClick:R,styles:D,classNames:G,numberDisplayOptions:T}),e[73]=E,e[74]=h,e[75]=G,e[76]=A,e[77]=R,e[78]=ee,e[79]=s,e[80]=r,e[81]=S,e[82]=j,e[83]=l,e[84]=q,e[85]=T,e[86]=k,e[87]=w,e[88]=u,e[89]=I,e[90]=t,e[91]=D,e[92]=g,e[93]=f,e[94]=P,e[95]=v,e[96]=c,e[97]=O):O=e[97],O}const ie=x||W.Colors.graphMainColor;let V;return e[98]!==E||e[99]!==h||e[100]!==_||e[101]!==B||e[102]!==M||e[103]!==G||e[104]!==A||e[105]!==$||e[106]!==R||e[107]!==s||e[108]!==r||e[109]!==S||e[110]!==j||e[111]!==l||e[112]!==o||e[113]!==re||e[114]!==q||e[115]!==p||e[116]!==te||e[117]!==U||e[118]!==H||e[119]!==T||e[120]!==k||e[121]!==w||e[122]!==u||e[123]!==Q||e[124]!==y||e[125]!==b||e[126]!==d||e[127]!==L||e[128]!==a||e[129]!==I||e[130]!==t||e[131]!==D||e[132]!==ie||e[133]!==v||e[134]!==c||e[135]!==m||e[136]!==Y||e[137]!==i?(V=F.jsxRuntimeExports.jsx(ue.SimpleBarGraph,{colors:ie,graphTitle:l,graphDescription:r,footNote:s,width:i,height:o,sources:t,leftMargin:p,rightMargin:b,backgroundColor:h,padding:u,topMargin:m,bottomMargin:M,relativeHeight:y,showLabels:d,tooltip:c,onSeriesMouseOver:w,showColorScale:!1,showValues:a,graphID:j,onSeriesMouseClick:k,graphDownload:S,dataDownload:A,data:$,barPadding:B,refValues:Q,truncateBy:Y,maxValue:U,showTicks:L,sortData:I,language:q,minHeight:H,theme:v,maxBarThickness:te,ariaLabel:E,orientation:_,detailsOnClick:R,styles:D,classNames:G,hideAxisLine:re,numberDisplayOptions:T}),e[98]=E,e[99]=h,e[100]=_,e[101]=B,e[102]=M,e[103]=G,e[104]=A,e[105]=$,e[106]=R,e[107]=s,e[108]=r,e[109]=S,e[110]=j,e[111]=l,e[112]=o,e[113]=re,e[114]=q,e[115]=p,e[116]=te,e[117]=U,e[118]=H,e[119]=T,e[120]=k,e[121]=w,e[122]=u,e[123]=Q,e[124]=y,e[125]=b,e[126]=d,e[127]=L,e[128]=a,e[129]=I,e[130]=t,e[131]=D,e[132]=ie,e[133]=v,e[134]=c,e[135]=m,e[136]=Y,e[137]=i,e[138]=V):V=e[138],V}function ve(n){return{label:`${n.x0}-${n.x1}`,size:n.length,data:{options:`${n.x0}-${n.x1}`,frequency:n.length}}}function Ce(n){return n.value}exports.Histogram=Me;
|
|
2
2
|
//# sourceMappingURL=Histogram.cjs.map
|
package/dist/Histogram.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Histogram.cjs","sources":["../node_modules/d3-array/src/count.js","../node_modules/d3-array/src/identity.js","../node_modules/d3-array/src/array.js","../node_modules/d3-array/src/constant.js","../node_modules/d3-array/src/nice.js","../node_modules/d3-array/src/threshold/sturges.js","../node_modules/d3-array/src/bin.js","../src/Components/Graphs/Histogram/index.tsx"],"sourcesContent":["export default function count(values, valueof) {\n let count = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n ++count;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n ++count;\n }\n }\n }\n return count;\n}\n","export default function identity(x) {\n return x;\n}\n","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n","export default function constant(x) {\n return () => x;\n}\n","import {tickIncrement} from \"./ticks.js\";\n\nexport default function nice(start, stop, count) {\n let prestep;\n while (true) {\n const step = tickIncrement(start, stop, count);\n if (step === prestep || step === 0 || !isFinite(step)) {\n return [start, stop];\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n }\n prestep = step;\n }\n}\n","import count from \"../count.js\";\n\nexport default function thresholdSturges(values) {\n return Math.max(1, Math.ceil(Math.log(count(values)) / Math.LN2) + 1);\n}\n","import {slice} from \"./array.js\";\nimport bisect from \"./bisect.js\";\nimport constant from \"./constant.js\";\nimport extent from \"./extent.js\";\nimport identity from \"./identity.js\";\nimport nice from \"./nice.js\";\nimport ticks, {tickIncrement} from \"./ticks.js\";\nimport sturges from \"./threshold/sturges.js\";\n\nexport default function bin() {\n var value = identity,\n domain = extent,\n threshold = sturges;\n\n function histogram(data) {\n if (!Array.isArray(data)) data = Array.from(data);\n\n var i,\n n = data.length,\n x,\n step,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds, and nice the\n // default domain accordingly.\n if (!Array.isArray(tz)) {\n const max = x1, tn = +tz;\n if (domain === extent) [x0, x1] = nice(x0, x1, tn);\n tz = ticks(x0, x1, tn);\n\n // If the domain is aligned with the first tick (which it will by\n // default), then we can use quantization rather than bisection to bin\n // values, which is substantially faster.\n if (tz[0] <= x0) step = tickIncrement(x0, x1, tn);\n\n // If the last threshold is coincident with the domain’s upper bound, the\n // last bin will be zero-width. If the default domain is used, and this\n // last threshold is coincident with the maximum input value, we can\n // extend the niced upper bound by one tick to ensure uniform bin widths;\n // otherwise, we simply remove the last threshold. Note that we don’t\n // coerce values or the domain to numbers, and thus must be careful to\n // compare order (>=) rather than strict equality (===)!\n if (tz[tz.length - 1] >= x1) {\n if (max >= x1 && domain === extent) {\n const step = tickIncrement(x0, x1, tn);\n if (isFinite(step)) {\n if (step > 0) {\n x1 = (Math.floor(x1 / step) + 1) * step;\n } else if (step < 0) {\n x1 = (Math.ceil(x1 * -step) + 1) / -step;\n }\n }\n } else {\n tz.pop();\n }\n }\n }\n\n // Remove any thresholds outside the domain.\n // Be careful not to mutate an array owned by the user!\n var m = tz.length, a = 0, b = m;\n while (tz[a] <= x0) ++a;\n while (tz[b - 1] > x1) --b;\n if (a || b < m) tz = tz.slice(a, b), m = b - a;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n if (isFinite(step)) {\n if (step > 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[Math.min(m, Math.floor((x - x0) / step))].push(data[i]);\n }\n }\n } else if (step < 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n const j = Math.floor((x0 - x) * step);\n bins[Math.min(m, j + (tz[j] <= x))].push(data[i]); // handle off-by-one due to rounding\n }\n }\n }\n } else {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[bisect(tz, x, 0, m)].push(data[i]);\n }\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : constant([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : constant(Array.isArray(_) ? slice.call(_) : _), histogram) : threshold;\n };\n\n return histogram;\n}\n","import { bin } from 'd3-array';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\n\r\nimport { CirclePackingGraph } from '../CirclePackingGraph';\r\nimport { TreeMapGraph } from '../TreeMapGraph';\r\nimport { DonutChart } from '../DonutChart';\r\nimport { SimpleBarGraph } from '../BarGraph';\r\n\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport {\r\n ReferenceDataType,\r\n HistogramDataType,\r\n DonutChartDataType,\r\n SourcesDataType,\r\n Languages,\r\n StyleObject,\r\n ClassNameObject,\r\n} from '@/Types';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: HistogramDataType[];\r\n\r\n /** Type of the graph for histogram */\r\n graphType?: 'circlePacking' | 'treeMap' | 'barGraph' | 'donutChart';\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 /** Colors for visualization */\r\n colors?: string[] | 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 /** Padding between bars */\r\n barPadding?: number;\r\n /** Maximum thickness of bars */\r\n maxBarThickness?: number;\r\n\r\n // Values and Ticks\r\n /** Maximum value for the chart */\r\n maxValue?: number;\r\n /** Truncate labels by specified length */\r\n truncateBy?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n\r\n // Graph Parameters\r\n /** Number of bins for the histogram */\r\n numberOfBins?: number;\r\n /** Orientation of the bar graph. Only applicable if graphType is barGraph. */\r\n barGraphLayout?: 'vertical' | 'horizontal';\r\n /** Stroke width of the arcs and circle of the donut. Only applicable if graphType is donutChart. */\r\n donutStrokeWidth?: number;\r\n /** Sorting order for data. This is overwritten by labelOrder prop */\r\n sortData?: 'asc' | 'desc';\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 axis ticks */\r\n showTicks?: boolean;\r\n /** Toggle visibility of axis line for the main axis. Only applicable if `graphType` is `barGraph`. */\r\n hideAxisLine?: boolean;\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\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 Histogram(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n sources,\r\n graphDescription,\r\n barPadding,\r\n showValues,\r\n showTicks,\r\n leftMargin,\r\n rightMargin,\r\n height,\r\n width,\r\n footNote,\r\n colors,\r\n padding,\r\n backgroundColor,\r\n topMargin,\r\n bottomMargin,\r\n showLabels,\r\n relativeHeight,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n graphID,\r\n maxValue,\r\n onSeriesMouseClick,\r\n graphDownload,\r\n dataDownload,\r\n numberOfBins,\r\n truncateBy,\r\n graphType,\r\n barGraphLayout,\r\n donutStrokeWidth,\r\n sortData,\r\n language,\r\n minHeight,\r\n theme = 'light',\r\n maxBarThickness,\r\n ariaLabel,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n precision,\r\n hideAxisLine = false,\r\n locale = 'en',\r\n } = props;\r\n\r\n const bins = bin()\r\n .thresholds(numberOfBins || 10)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .value((d: any) => d.value)(data as any);\r\n const dataFormatted = bins.map(d => ({\r\n label: `${d.x0}-${d.x1}`,\r\n size: d.length,\r\n data: {\r\n options: `${d.x0}-${d.x1}`,\r\n frequency: d.length,\r\n },\r\n }));\r\n if (dataFormatted.length === 0)\r\n return (\r\n <div style={{ width: `${width}px`, height: `${height}px`, margin: 'auto' }}>\r\n <div className='flex m-auto items-center justify-center p-0 leading-none text-base h-40'>\r\n <Spinner />\r\n </div>\r\n </div>\r\n );\r\n if (graphType === 'circlePacking')\r\n return (\r\n <CirclePackingGraph\r\n colors={colors || Colors.graphMainColor}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n footNote={footNote}\r\n width={width}\r\n height={height}\r\n sources={sources}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n backgroundColor={backgroundColor}\r\n padding={padding}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n relativeHeight={relativeHeight}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showColorScale={false}\r\n showValues={showValues}\r\n graphID={graphID}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n graphDownload={graphDownload}\r\n dataDownload={dataDownload}\r\n data={dataFormatted}\r\n language={language}\r\n minHeight={minHeight}\r\n theme={theme}\r\n ariaLabel={ariaLabel}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n precision={precision}\r\n locale={locale}\r\n />\r\n );\r\n if (graphType === 'treeMap')\r\n return (\r\n <TreeMapGraph\r\n colors={colors || Colors.graphMainColor}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n footNote={footNote}\r\n width={width}\r\n height={height}\r\n sources={sources}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n backgroundColor={backgroundColor}\r\n padding={padding}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n relativeHeight={relativeHeight}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showColorScale={false}\r\n showValues={showValues}\r\n graphID={graphID}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n graphDownload={graphDownload}\r\n dataDownload={dataDownload}\r\n data={dataFormatted}\r\n language={language}\r\n minHeight={minHeight}\r\n theme={theme}\r\n ariaLabel={ariaLabel}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n precision={precision}\r\n locale={locale}\r\n />\r\n );\r\n if (graphType === 'donutChart')\r\n return (\r\n <DonutChart\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n footNote={footNote}\r\n radius={width && height ? (width < height ? width : height) : width || height || undefined}\r\n sources={sources}\r\n backgroundColor={backgroundColor}\r\n padding={padding}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n graphID={graphID}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n graphDownload={graphDownload}\r\n dataDownload={dataDownload}\r\n data={dataFormatted as DonutChartDataType[]}\r\n strokeWidth={donutStrokeWidth}\r\n showColorScale\r\n sortData={sortData}\r\n language={language}\r\n theme={theme}\r\n ariaLabel={ariaLabel}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n precision={precision}\r\n locale={locale}\r\n />\r\n );\r\n return (\r\n <SimpleBarGraph\r\n colors={colors || Colors.graphMainColor}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n footNote={footNote}\r\n width={width}\r\n height={height}\r\n sources={sources}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n backgroundColor={backgroundColor}\r\n padding={padding}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n relativeHeight={relativeHeight}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showColorScale={false}\r\n showValues={showValues}\r\n graphID={graphID}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n graphDownload={graphDownload}\r\n dataDownload={dataDownload}\r\n data={dataFormatted}\r\n barPadding={barPadding}\r\n refValues={refValues}\r\n truncateBy={truncateBy}\r\n maxValue={maxValue}\r\n showTicks={showTicks}\r\n sortData={sortData}\r\n language={language}\r\n minHeight={minHeight}\r\n theme={theme}\r\n maxBarThickness={maxBarThickness}\r\n ariaLabel={ariaLabel}\r\n orientation={barGraphLayout}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n precision={precision}\r\n hideAxisLine={hideAxisLine}\r\n locale={locale}\r\n />\r\n );\r\n}\r\n"],"names":["count","values","valueof","value","identity","x","array","slice","constant","nice","start","stop","prestep","step","tickIncrement","thresholdSturges","bin","domain","extent","threshold","sturges","histogram","data","i","n","xz","x0","x1","tz","max","tn","ticks","m","a","b","bins","j","bisect","_","Histogram","props","$","_c","graphTitle","sources","graphDescription","barPadding","showValues","showTicks","leftMargin","rightMargin","height","width","footNote","colors","padding","backgroundColor","topMargin","bottomMargin","showLabels","relativeHeight","tooltip","onSeriesMouseOver","refValues","graphID","maxValue","onSeriesMouseClick","graphDownload","dataDownload","numberOfBins","truncateBy","graphType","barGraphLayout","donutStrokeWidth","sortData","language","minHeight","theme","t0","maxBarThickness","ariaLabel","detailsOnClick","styles","classNames","precision","hideAxisLine","t1","locale","t2","undefined","t3","thresholds","_temp","map","_temp2","dataFormatted","length","t4","t5","t6","margin","t7","Symbol","for","jsx","Spinner","t8","Colors","graphMainColor","CirclePackingGraph","TreeMapGraph","categoricalColors","DonutChart","SimpleBarGraph","d_0","label","d","size","options","frequency"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
|
1
|
+
{"version":3,"file":"Histogram.cjs","sources":["../node_modules/d3-array/src/count.js","../node_modules/d3-array/src/identity.js","../node_modules/d3-array/src/array.js","../node_modules/d3-array/src/constant.js","../node_modules/d3-array/src/nice.js","../node_modules/d3-array/src/threshold/sturges.js","../node_modules/d3-array/src/bin.js","../src/Components/Graphs/Histogram/index.tsx"],"sourcesContent":["export default function count(values, valueof) {\n let count = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n ++count;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n ++count;\n }\n }\n }\n return count;\n}\n","export default function identity(x) {\n return x;\n}\n","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n","export default function constant(x) {\n return () => x;\n}\n","import {tickIncrement} from \"./ticks.js\";\n\nexport default function nice(start, stop, count) {\n let prestep;\n while (true) {\n const step = tickIncrement(start, stop, count);\n if (step === prestep || step === 0 || !isFinite(step)) {\n return [start, stop];\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n }\n prestep = step;\n }\n}\n","import count from \"../count.js\";\n\nexport default function thresholdSturges(values) {\n return Math.max(1, Math.ceil(Math.log(count(values)) / Math.LN2) + 1);\n}\n","import {slice} from \"./array.js\";\nimport bisect from \"./bisect.js\";\nimport constant from \"./constant.js\";\nimport extent from \"./extent.js\";\nimport identity from \"./identity.js\";\nimport nice from \"./nice.js\";\nimport ticks, {tickIncrement} from \"./ticks.js\";\nimport sturges from \"./threshold/sturges.js\";\n\nexport default function bin() {\n var value = identity,\n domain = extent,\n threshold = sturges;\n\n function histogram(data) {\n if (!Array.isArray(data)) data = Array.from(data);\n\n var i,\n n = data.length,\n x,\n step,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds, and nice the\n // default domain accordingly.\n if (!Array.isArray(tz)) {\n const max = x1, tn = +tz;\n if (domain === extent) [x0, x1] = nice(x0, x1, tn);\n tz = ticks(x0, x1, tn);\n\n // If the domain is aligned with the first tick (which it will by\n // default), then we can use quantization rather than bisection to bin\n // values, which is substantially faster.\n if (tz[0] <= x0) step = tickIncrement(x0, x1, tn);\n\n // If the last threshold is coincident with the domain’s upper bound, the\n // last bin will be zero-width. If the default domain is used, and this\n // last threshold is coincident with the maximum input value, we can\n // extend the niced upper bound by one tick to ensure uniform bin widths;\n // otherwise, we simply remove the last threshold. Note that we don’t\n // coerce values or the domain to numbers, and thus must be careful to\n // compare order (>=) rather than strict equality (===)!\n if (tz[tz.length - 1] >= x1) {\n if (max >= x1 && domain === extent) {\n const step = tickIncrement(x0, x1, tn);\n if (isFinite(step)) {\n if (step > 0) {\n x1 = (Math.floor(x1 / step) + 1) * step;\n } else if (step < 0) {\n x1 = (Math.ceil(x1 * -step) + 1) / -step;\n }\n }\n } else {\n tz.pop();\n }\n }\n }\n\n // Remove any thresholds outside the domain.\n // Be careful not to mutate an array owned by the user!\n var m = tz.length, a = 0, b = m;\n while (tz[a] <= x0) ++a;\n while (tz[b - 1] > x1) --b;\n if (a || b < m) tz = tz.slice(a, b), m = b - a;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n if (isFinite(step)) {\n if (step > 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[Math.min(m, Math.floor((x - x0) / step))].push(data[i]);\n }\n }\n } else if (step < 0) {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n const j = Math.floor((x0 - x) * step);\n bins[Math.min(m, j + (tz[j] <= x))].push(data[i]); // handle off-by-one due to rounding\n }\n }\n }\n } else {\n for (i = 0; i < n; ++i) {\n if ((x = values[i]) != null && x0 <= x && x <= x1) {\n bins[bisect(tz, x, 0, m)].push(data[i]);\n }\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : constant([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : constant(Array.isArray(_) ? slice.call(_) : _), histogram) : threshold;\n };\n\n return histogram;\n}\n","import { bin } from 'd3-array';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\n\r\nimport { CirclePackingGraph } from '../CirclePackingGraph';\r\nimport { TreeMapGraph } from '../TreeMapGraph';\r\nimport { DonutChart } from '../DonutChart';\r\nimport { SimpleBarGraph } from '../BarGraph';\r\n\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport {\r\n ReferenceDataType,\r\n HistogramDataType,\r\n DonutChartDataType,\r\n SourcesDataType,\r\n Languages,\r\n StyleObject,\r\n ClassNameObject,\r\n NumberFormatOptions,\r\n} from '@/Types';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: HistogramDataType[];\r\n\r\n /** Type of the graph for histogram */\r\n graphType?: 'circlePacking' | 'treeMap' | 'barGraph' | 'donutChart';\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 /** Colors for visualization */\r\n colors?: string[] | 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 /** Padding between bars */\r\n barPadding?: number;\r\n /** Maximum thickness of bars */\r\n maxBarThickness?: number;\r\n\r\n // Values and Ticks\r\n /** Maximum value for the chart */\r\n maxValue?: number;\r\n /** Truncate labels by specified length */\r\n truncateBy?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n\r\n // Graph Parameters\r\n /** Number of bins for the histogram */\r\n numberOfBins?: number;\r\n /** Orientation of the bar graph. Only applicable if graphType is barGraph. */\r\n barGraphLayout?: 'vertical' | 'horizontal';\r\n /** Stroke width of the arcs and circle of the donut. Only applicable if graphType is donutChart. */\r\n donutStrokeWidth?: number;\r\n /** Sorting order for data. This is overwritten by labelOrder prop */\r\n sortData?: 'asc' | 'desc';\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 axis ticks */\r\n showTicks?: boolean;\r\n /** Toggle visibility of axis line for the main axis. Only applicable if `graphType` is `barGraph`. */\r\n hideAxisLine?: boolean;\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\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 Histogram(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n sources,\r\n graphDescription,\r\n barPadding,\r\n showValues,\r\n showTicks,\r\n leftMargin,\r\n rightMargin,\r\n height,\r\n width,\r\n footNote,\r\n colors,\r\n padding,\r\n backgroundColor,\r\n topMargin,\r\n bottomMargin,\r\n showLabels,\r\n relativeHeight,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n graphID,\r\n maxValue,\r\n onSeriesMouseClick,\r\n graphDownload,\r\n dataDownload,\r\n numberOfBins,\r\n truncateBy,\r\n graphType,\r\n barGraphLayout,\r\n donutStrokeWidth,\r\n sortData,\r\n language,\r\n minHeight,\r\n theme = 'light',\r\n maxBarThickness,\r\n ariaLabel,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n hideAxisLine = false,\r\n numberDisplayOptions,\r\n } = props;\r\n\r\n const bins = bin()\r\n .thresholds(numberOfBins || 10)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .value((d: any) => d.value)(data as any);\r\n const dataFormatted = bins.map(d => ({\r\n label: `${d.x0}-${d.x1}`,\r\n size: d.length,\r\n data: {\r\n options: `${d.x0}-${d.x1}`,\r\n frequency: d.length,\r\n },\r\n }));\r\n if (dataFormatted.length === 0)\r\n return (\r\n <div style={{ width: `${width}px`, height: `${height}px`, margin: 'auto' }}>\r\n <div className='flex m-auto items-center justify-center p-0 leading-none text-base h-40'>\r\n <Spinner />\r\n </div>\r\n </div>\r\n );\r\n if (graphType === 'circlePacking')\r\n return (\r\n <CirclePackingGraph\r\n colors={colors || Colors.graphMainColor}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n footNote={footNote}\r\n width={width}\r\n height={height}\r\n sources={sources}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n backgroundColor={backgroundColor}\r\n padding={padding}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n relativeHeight={relativeHeight}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showColorScale={false}\r\n showValues={showValues}\r\n graphID={graphID}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n graphDownload={graphDownload}\r\n dataDownload={dataDownload}\r\n data={dataFormatted}\r\n language={language}\r\n minHeight={minHeight}\r\n theme={theme}\r\n ariaLabel={ariaLabel}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n numberDisplayOptions={numberDisplayOptions}\r\n />\r\n );\r\n if (graphType === 'treeMap')\r\n return (\r\n <TreeMapGraph\r\n colors={colors || Colors.graphMainColor}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n footNote={footNote}\r\n width={width}\r\n height={height}\r\n sources={sources}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n backgroundColor={backgroundColor}\r\n padding={padding}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n relativeHeight={relativeHeight}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showColorScale={false}\r\n showValues={showValues}\r\n graphID={graphID}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n graphDownload={graphDownload}\r\n dataDownload={dataDownload}\r\n data={dataFormatted}\r\n language={language}\r\n minHeight={minHeight}\r\n theme={theme}\r\n ariaLabel={ariaLabel}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n numberDisplayOptions={numberDisplayOptions}\r\n />\r\n );\r\n if (graphType === 'donutChart')\r\n return (\r\n <DonutChart\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n footNote={footNote}\r\n radius={width && height ? (width < height ? width : height) : width || height || undefined}\r\n sources={sources}\r\n backgroundColor={backgroundColor}\r\n padding={padding}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n graphID={graphID}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n graphDownload={graphDownload}\r\n dataDownload={dataDownload}\r\n data={dataFormatted as DonutChartDataType[]}\r\n strokeWidth={donutStrokeWidth}\r\n showColorScale\r\n sortData={sortData}\r\n language={language}\r\n theme={theme}\r\n ariaLabel={ariaLabel}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n numberDisplayOptions={numberDisplayOptions}\r\n />\r\n );\r\n return (\r\n <SimpleBarGraph\r\n colors={colors || Colors.graphMainColor}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n footNote={footNote}\r\n width={width}\r\n height={height}\r\n sources={sources}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n backgroundColor={backgroundColor}\r\n padding={padding}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n relativeHeight={relativeHeight}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n showColorScale={false}\r\n showValues={showValues}\r\n graphID={graphID}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n graphDownload={graphDownload}\r\n dataDownload={dataDownload}\r\n data={dataFormatted}\r\n barPadding={barPadding}\r\n refValues={refValues}\r\n truncateBy={truncateBy}\r\n maxValue={maxValue}\r\n showTicks={showTicks}\r\n sortData={sortData}\r\n language={language}\r\n minHeight={minHeight}\r\n theme={theme}\r\n maxBarThickness={maxBarThickness}\r\n ariaLabel={ariaLabel}\r\n orientation={barGraphLayout}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n hideAxisLine={hideAxisLine}\r\n numberDisplayOptions={numberDisplayOptions}\r\n />\r\n );\r\n}\r\n"],"names":["count","values","valueof","value","identity","x","array","slice","constant","nice","start","stop","prestep","step","tickIncrement","thresholdSturges","bin","domain","extent","threshold","sturges","histogram","data","i","n","xz","x0","x1","tz","max","tn","ticks","m","a","b","bins","j","bisect","_","Histogram","props","$","_c","graphTitle","sources","graphDescription","barPadding","showValues","showTicks","leftMargin","rightMargin","height","width","footNote","colors","padding","backgroundColor","topMargin","bottomMargin","showLabels","relativeHeight","tooltip","onSeriesMouseOver","refValues","graphID","maxValue","onSeriesMouseClick","graphDownload","dataDownload","numberOfBins","truncateBy","graphType","barGraphLayout","donutStrokeWidth","sortData","language","minHeight","theme","t0","maxBarThickness","ariaLabel","detailsOnClick","styles","classNames","hideAxisLine","t1","numberDisplayOptions","undefined","t2","thresholds","_temp","map","_temp2","dataFormatted","length","t3","t4","t5","margin","t6","Symbol","for","jsx","Spinner","t7","Colors","graphMainColor","CirclePackingGraph","TreeMapGraph","categoricalColors","DonutChart","SimpleBarGraph","d_0","label","d","size","options","frequency"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
package/dist/Histogram.d.ts
CHANGED
|
@@ -40,7 +40,15 @@ declare interface HistogramDataType {
|
|
|
40
40
|
data?: object;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
declare type Languages = 'en' | 'ar' | 'az' | 'bn' | 'cy' | 'he' | 'hi' | '
|
|
43
|
+
declare type Languages = 'en' | 'ar' | 'az' | 'bn' | 'cy' | 'he' | 'hi' | 'ja' | 'ka' | 'km' | 'ko' | 'my' | 'ne' | 'zh' | 'custom';
|
|
44
|
+
|
|
45
|
+
declare interface NumberFormatOptions {
|
|
46
|
+
locale?: string;
|
|
47
|
+
precision?: number;
|
|
48
|
+
prefix?: string;
|
|
49
|
+
suffix?: string;
|
|
50
|
+
padZeros?: boolean;
|
|
51
|
+
}
|
|
44
52
|
|
|
45
53
|
declare interface Props {
|
|
46
54
|
/** Array of data objects */
|
|
@@ -109,10 +117,8 @@ declare interface Props {
|
|
|
109
117
|
showTicks?: boolean;
|
|
110
118
|
/** Toggle visibility of axis line for the main axis. Only applicable if `graphType` is `barGraph`. */
|
|
111
119
|
hideAxisLine?: boolean;
|
|
112
|
-
/**
|
|
113
|
-
|
|
114
|
-
/** Locale for number formatting. Must matches what `Intl.NumberFormat` expects. */
|
|
115
|
-
locale?: string;
|
|
120
|
+
/** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */
|
|
121
|
+
numberDisplayOptions?: NumberFormatOptions;
|
|
116
122
|
/** Enable graph download option as png */
|
|
117
123
|
graphDownload?: boolean;
|
|
118
124
|
/** Enable data download option as a csv */
|