@undp/data-viz 2.2.2 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.js +1 -1
  3. package/dist/Axis-D56Gy0se.js +31 -0
  4. package/dist/Axis-D56Gy0se.js.map +1 -0
  5. package/dist/Axis-Jt_tmhxS.cjs +2 -0
  6. package/dist/Axis-Jt_tmhxS.cjs.map +1 -0
  7. package/dist/BarGraph.cjs +1 -1
  8. package/dist/BarGraph.cjs.map +1 -1
  9. package/dist/BarGraph.d.ts +6 -0
  10. package/dist/BarGraph.js +1759 -1750
  11. package/dist/BarGraph.js.map +1 -1
  12. package/dist/BeeSwarmChart.cjs +1 -1
  13. package/dist/BeeSwarmChart.cjs.map +1 -1
  14. package/dist/BeeSwarmChart.d.ts +2 -0
  15. package/dist/BeeSwarmChart.js +270 -267
  16. package/dist/BeeSwarmChart.js.map +1 -1
  17. package/dist/BulletChart.cjs +1 -1
  18. package/dist/BulletChart.cjs.map +1 -1
  19. package/dist/BulletChart.d.ts +2 -0
  20. package/dist/BulletChart.js +544 -542
  21. package/dist/BulletChart.js.map +1 -1
  22. package/dist/ButterflyChart.cjs +1 -1
  23. package/dist/ButterflyChart.cjs.map +1 -1
  24. package/dist/ButterflyChart.d.ts +2 -0
  25. package/dist/ButterflyChart.js +332 -330
  26. package/dist/ButterflyChart.js.map +1 -1
  27. package/dist/DifferenceLineChart.cjs +1 -1
  28. package/dist/DifferenceLineChart.js +1 -1
  29. package/dist/DualAxisLineChart.cjs +1 -1
  30. package/dist/DualAxisLineChart.js +1 -1
  31. package/dist/DumbbellChart.cjs +1 -1
  32. package/dist/DumbbellChart.cjs.map +1 -1
  33. package/dist/DumbbellChart.d.ts +2 -0
  34. package/dist/DumbbellChart.js +537 -536
  35. package/dist/DumbbellChart.js.map +1 -1
  36. package/dist/GraphEl-BZbunD1_.cjs +2 -0
  37. package/dist/GraphEl-BZbunD1_.cjs.map +1 -0
  38. package/dist/{GraphEl-DcNr5JzH.js → GraphEl-C1Rz1V__.js} +60 -51
  39. package/dist/GraphEl-C1Rz1V__.js.map +1 -0
  40. package/dist/GriddedGraphs.cjs +1 -1
  41. package/dist/GriddedGraphs.d.ts +1 -0
  42. package/dist/GriddedGraphs.js +1 -1
  43. package/dist/GriddedGraphsFromConfig.d.ts +1 -0
  44. package/dist/Histogram.cjs +1 -1
  45. package/dist/Histogram.cjs.map +1 -1
  46. package/dist/Histogram.d.ts +2 -0
  47. package/dist/Histogram.js +50 -49
  48. package/dist/Histogram.js.map +1 -1
  49. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  50. package/dist/LineChartWithConfidenceInterval.js +1 -1
  51. package/dist/MultiGraphDashboard.d.ts +1 -0
  52. package/dist/MultiGraphDashboardFromConfig.d.ts +1 -0
  53. package/dist/MultiLineAltChart.cjs +1 -1
  54. package/dist/MultiLineAltChart.js +1 -1
  55. package/dist/MultiLineChart.cjs +1 -1
  56. package/dist/MultiLineChart.js +1 -1
  57. package/dist/ParetoChart.cjs +1 -1
  58. package/dist/ParetoChart.js +1 -1
  59. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +1 -0
  60. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +1 -0
  61. package/dist/PerformanceIntensiveScrollStory.d.ts +1 -0
  62. package/dist/ScatterPlot.cjs +1 -1
  63. package/dist/ScatterPlot.js +1 -1
  64. package/dist/ScrollStory.d.ts +1 -0
  65. package/dist/SimpleLineChart.cjs +1 -1
  66. package/dist/SimpleLineChart.js +1 -1
  67. package/dist/SingleGraphDashboard.cjs +1 -1
  68. package/dist/SingleGraphDashboard.d.ts +1 -0
  69. package/dist/SingleGraphDashboard.js +1 -1
  70. package/dist/SingleGraphDashboardFromConfig.d.ts +1 -0
  71. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +1 -0
  72. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +1 -0
  73. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +1 -0
  74. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +1 -0
  75. package/dist/SlopeChart.cjs +1 -1
  76. package/dist/SlopeChart.js +1 -1
  77. package/dist/Types.d.ts +1 -0
  78. package/dist/WaterfallChart.cjs +1 -1
  79. package/dist/WaterfallChart.cjs.map +1 -1
  80. package/dist/WaterfallChart.d.ts +2 -0
  81. package/dist/WaterfallChart.js +263 -261
  82. package/dist/WaterfallChart.js.map +1 -1
  83. package/dist/index.d.ts +19 -0
  84. package/package.json +1 -1
  85. package/dist/Axis-DoOqnt6g.js +0 -32
  86. package/dist/Axis-DoOqnt6g.js.map +0 -1
  87. package/dist/Axis-Dtjn-EgM.cjs +0 -2
  88. package/dist/Axis-Dtjn-EgM.cjs.map +0 -1
  89. package/dist/GraphEl-CAjJLOGk.cjs +0 -2
  90. package/dist/GraphEl-CAjJLOGk.cjs.map +0 -1
  91. package/dist/GraphEl-DcNr5JzH.js.map +0 -1
@@ -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 /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\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 } = 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 />\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 />\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 />\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 />\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","undefined","t1","thresholds","_temp","map","_temp2","dataFormatted","length","t2","t3","t4","margin","t5","Symbol","for","jsx","Spinner","t6","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} 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 /** 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 } = 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 />\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 />\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 />\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 />\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","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]}
@@ -107,6 +107,8 @@ declare interface Props {
107
107
  showValues?: boolean;
108
108
  /** Toggle visibility of axis ticks */
109
109
  showTicks?: boolean;
110
+ /** Toggle visibility of axis line for the main axis. Only applicable if `graphType` is `barGraph`. */
111
+ hideAxisLine?: boolean;
110
112
  /** Specifies the number of decimal places to display in the value. */
111
113
  precision?: number;
112
114
  /** Enable graph download option as png */
package/dist/Histogram.js CHANGED
@@ -1,39 +1,39 @@
1
- import { c as ne, j as R } from "./index-CHPV5EwG-DecW7_qr.js";
2
- import { w as ae } from "./Spinner--r2RrJV8.js";
3
- import { e as te, C as le } from "./index-D5ihtaJJ.js";
4
- import { TreeMapGraph as se } from "./TreeMapGraph.js";
5
- import { DonutChart as ce } from "./DonutChart.js";
6
- import { SimpleBarGraph as fe } from "./BarGraph.js";
1
+ import { c as le, j as R } from "./index-CHPV5EwG-DecW7_qr.js";
2
+ import { w as se } from "./Spinner--r2RrJV8.js";
3
+ import { e as re, C as ce } from "./index-D5ihtaJJ.js";
4
+ import { TreeMapGraph as fe } from "./TreeMapGraph.js";
5
+ import { DonutChart as he } from "./DonutChart.js";
6
+ import { SimpleBarGraph as ue } from "./BarGraph.js";
7
7
  import { Colors as q } from "./Colors.js";
8
- import { b as he } from "./init-BhZylTFx.js";
9
- import { b as oe, d as ue } from "./linear-CalFSAaO.js";
10
- function me(i, e) {
8
+ import { b as me } from "./init-BhZylTFx.js";
9
+ import { b as ie, d as pe } from "./linear-CalFSAaO.js";
10
+ function ge(i, e) {
11
11
  let b = 0;
12
12
  for (let l of i)
13
13
  l != null && (l = +l) >= l && ++b;
14
14
  return b;
15
15
  }
16
- function pe(i) {
16
+ function xe(i) {
17
17
  return i;
18
18
  }
19
- var ge = Array.prototype, xe = ge.slice;
20
- function re(i) {
19
+ var de = Array.prototype, Me = de.slice;
20
+ function oe(i) {
21
21
  return () => i;
22
22
  }
23
- function de(i, e, b) {
23
+ function ye(i, e, b) {
24
24
  let l;
25
25
  for (; ; ) {
26
- const t = oe(i, e, b);
26
+ const t = ie(i, e, b);
27
27
  if (t === l || t === 0 || !isFinite(t))
28
28
  return [i, e];
29
29
  t > 0 ? (i = Math.floor(i / t) * t, e = Math.ceil(e / t) * t) : t < 0 && (i = Math.ceil(i * t) / t, e = Math.floor(e * t) / t), l = t;
30
30
  }
31
31
  }
32
- function Me(i) {
33
- return Math.max(1, Math.ceil(Math.log(me(i)) / Math.LN2) + 1);
32
+ function ve(i) {
33
+ return Math.max(1, Math.ceil(Math.log(ge(i)) / Math.LN2) + 1);
34
34
  }
35
- function ye() {
36
- var i = pe, e = te, b = Me;
35
+ function be() {
36
+ var i = xe, e = re, b = ve;
37
37
  function l(t) {
38
38
  Array.isArray(t) || (t = Array.from(t));
39
39
  var r, H = t.length, s, N, m = new Array(H);
@@ -42,9 +42,9 @@ function ye() {
42
42
  var w = e(m), n = w[0], o = w[1], a = b(m, n, o);
43
43
  if (!Array.isArray(a)) {
44
44
  const d = o, M = +a;
45
- if (e === te && ([n, o] = de(n, o, M)), a = ue(n, o, M), a[0] <= n && (N = oe(n, o, M)), a[a.length - 1] >= o)
46
- if (d >= o && e === te) {
47
- const c = oe(n, o, M);
45
+ if (e === re && ([n, o] = ye(n, o, M)), a = pe(n, o, M), a[0] <= n && (N = ie(n, o, M)), a[a.length - 1] >= o)
46
+ if (d >= o && e === re) {
47
+ const c = ie(n, o, M);
48
48
  isFinite(c) && (c > 0 ? o = (Math.floor(o / c) + 1) * c : c < 0 && (o = (Math.ceil(o * -c) + 1) / -c));
49
49
  } else
50
50
  a.pop();
@@ -68,19 +68,19 @@ function ye() {
68
68
  }
69
69
  } else
70
70
  for (r = 0; r < H; ++r)
71
- (s = m[r]) != null && n <= s && s <= o && g[he(a, s, 0, x)].push(t[r]);
71
+ (s = m[r]) != null && n <= s && s <= o && g[me(a, s, 0, x)].push(t[r]);
72
72
  return g;
73
73
  }
74
74
  return l.value = function(t) {
75
- return arguments.length ? (i = typeof t == "function" ? t : re(t), l) : i;
75
+ return arguments.length ? (i = typeof t == "function" ? t : oe(t), l) : i;
76
76
  }, l.domain = function(t) {
77
- return arguments.length ? (e = typeof t == "function" ? t : re([t[0], t[1]]), l) : e;
77
+ return arguments.length ? (e = typeof t == "function" ? t : oe([t[0], t[1]]), l) : e;
78
78
  }, l.thresholds = function(t) {
79
- return arguments.length ? (b = typeof t == "function" ? t : re(Array.isArray(t) ? xe.call(t) : t), l) : b;
79
+ return arguments.length ? (b = typeof t == "function" ? t : oe(Array.isArray(t) ? Me.call(t) : t), l) : b;
80
80
  }, l;
81
81
  }
82
- function Be(i) {
83
- const e = ne.c(138), {
82
+ function Fe(i) {
83
+ const e = le.c(139), {
84
84
  data: b,
85
85
  graphTitle: l,
86
86
  sources: t,
@@ -103,10 +103,10 @@ function Be(i) {
103
103
  tooltip: c,
104
104
  onSeriesMouseOver: C,
105
105
  refValues: J,
106
- graphID: j,
106
+ graphID: A,
107
107
  maxValue: K,
108
- onSeriesMouseClick: k,
109
- graphDownload: A,
108
+ onSeriesMouseClick: j,
109
+ graphDownload: k,
110
110
  dataDownload: S,
111
111
  numberOfBins: Q,
112
112
  truncateBy: U,
@@ -116,18 +116,19 @@ function Be(i) {
116
116
  sortData: V,
117
117
  language: $,
118
118
  minHeight: O,
119
- theme: ie,
119
+ theme: ne,
120
120
  maxBarThickness: _,
121
121
  ariaLabel: D,
122
- detailsOnClick: T,
123
- styles: B,
124
- classNames: F,
125
- precision: G
126
- } = i, v = ie === void 0 ? "light" : ie;
122
+ detailsOnClick: L,
123
+ styles: T,
124
+ classNames: B,
125
+ precision: F,
126
+ hideAxisLine: ae
127
+ } = i, v = ne === void 0 ? "light" : ne, ee = ae === void 0 ? !1 : ae;
127
128
  let E;
128
- e[0] !== b || e[1] !== Q ? (E = ye().thresholds(Q || 10).value(be)(b).map(ve), e[0] = b, e[1] = Q, e[2] = E) : E = e[2];
129
- const L = E;
130
- if (L.length === 0) {
129
+ e[0] !== b || e[1] !== Q ? (E = be().thresholds(Q || 10).value(Ce)(b).map(we), e[0] = b, e[1] = Q, e[2] = E) : E = e[2];
130
+ const G = E;
131
+ if (G.length === 0) {
131
132
  const p = `${o}px`, u = `${n}px`;
132
133
  let z;
133
134
  e[3] !== p || e[4] !== u ? (z = {
@@ -136,30 +137,30 @@ function Be(i) {
136
137
  margin: "auto"
137
138
  }, e[3] = p, e[4] = u, e[5] = z) : z = e[5];
138
139
  let P;
139
- e[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (P = /* @__PURE__ */ R.jsx("div", { className: "flex m-auto items-center justify-center p-0 leading-none text-base h-40", children: /* @__PURE__ */ R.jsx(ae, {}) }), e[6] = P) : P = e[6];
140
+ e[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (P = /* @__PURE__ */ R.jsx("div", { className: "flex m-auto items-center justify-center p-0 leading-none text-base h-40", children: /* @__PURE__ */ R.jsx(se, {}) }), e[6] = P) : P = e[6];
140
141
  let W;
141
142
  return e[7] !== z ? (W = /* @__PURE__ */ R.jsx("div", { style: z, children: P }), e[7] = z, e[8] = W) : W = e[8], W;
142
143
  }
143
144
  if (X === "circlePacking") {
144
145
  const p = x || q.graphMainColor;
145
146
  let u;
146
- return e[9] !== D || e[10] !== h || e[11] !== y || e[12] !== F || e[13] !== S || e[14] !== L || e[15] !== T || e[16] !== a || e[17] !== r || e[18] !== A || e[19] !== j || e[20] !== l || e[21] !== n || e[22] !== $ || e[23] !== m || e[24] !== O || e[25] !== k || e[26] !== C || e[27] !== f || e[28] !== G || e[29] !== M || e[30] !== w || e[31] !== d || e[32] !== s || e[33] !== t || e[34] !== B || e[35] !== p || e[36] !== v || e[37] !== c || e[38] !== g || e[39] !== o ? (u = /* @__PURE__ */ R.jsx(le, { colors: p, graphTitle: l, graphDescription: r, footNote: a, width: o, height: n, sources: t, leftMargin: m, rightMargin: w, backgroundColor: h, padding: f, topMargin: g, bottomMargin: y, relativeHeight: M, showLabels: d, tooltip: c, onSeriesMouseOver: C, showColorScale: !1, showValues: s, graphID: j, onSeriesMouseClick: k, graphDownload: A, dataDownload: S, data: L, language: $, minHeight: O, theme: v, ariaLabel: D, detailsOnClick: T, styles: B, classNames: F, precision: G }), e[9] = D, e[10] = h, e[11] = y, e[12] = F, e[13] = S, e[14] = L, e[15] = T, e[16] = a, e[17] = r, e[18] = A, e[19] = j, e[20] = l, e[21] = n, e[22] = $, e[23] = m, e[24] = O, e[25] = k, e[26] = C, e[27] = f, e[28] = G, e[29] = M, e[30] = w, e[31] = d, e[32] = s, e[33] = t, e[34] = B, e[35] = p, e[36] = v, e[37] = c, e[38] = g, e[39] = o, e[40] = u) : u = e[40], u;
147
+ return e[9] !== D || e[10] !== h || e[11] !== y || e[12] !== B || e[13] !== S || e[14] !== G || e[15] !== L || e[16] !== a || e[17] !== r || e[18] !== k || e[19] !== A || e[20] !== l || e[21] !== n || e[22] !== $ || e[23] !== m || e[24] !== O || e[25] !== j || e[26] !== C || e[27] !== f || e[28] !== F || e[29] !== M || e[30] !== w || e[31] !== d || e[32] !== s || e[33] !== t || e[34] !== T || e[35] !== p || e[36] !== v || e[37] !== c || e[38] !== g || e[39] !== o ? (u = /* @__PURE__ */ R.jsx(ce, { colors: p, graphTitle: l, graphDescription: r, footNote: a, width: o, height: n, sources: t, leftMargin: m, rightMargin: w, backgroundColor: h, padding: f, topMargin: g, bottomMargin: y, relativeHeight: M, showLabels: d, tooltip: c, onSeriesMouseOver: C, showColorScale: !1, showValues: s, graphID: A, onSeriesMouseClick: j, graphDownload: k, dataDownload: S, data: G, language: $, minHeight: O, theme: v, ariaLabel: D, detailsOnClick: L, styles: T, classNames: B, precision: F }), e[9] = D, e[10] = h, e[11] = y, e[12] = B, e[13] = S, e[14] = G, e[15] = L, e[16] = a, e[17] = r, e[18] = k, e[19] = A, e[20] = l, e[21] = n, e[22] = $, e[23] = m, e[24] = O, e[25] = j, e[26] = C, e[27] = f, e[28] = F, e[29] = M, e[30] = w, e[31] = d, e[32] = s, e[33] = t, e[34] = T, e[35] = p, e[36] = v, e[37] = c, e[38] = g, e[39] = o, e[40] = u) : u = e[40], u;
147
148
  }
148
149
  if (X === "treeMap") {
149
150
  const p = x || q.graphMainColor;
150
151
  let u;
151
- return e[41] !== D || e[42] !== h || e[43] !== y || e[44] !== F || e[45] !== S || e[46] !== L || e[47] !== T || e[48] !== a || e[49] !== r || e[50] !== A || e[51] !== j || e[52] !== l || e[53] !== n || e[54] !== $ || e[55] !== m || e[56] !== O || e[57] !== k || e[58] !== C || e[59] !== f || e[60] !== G || e[61] !== M || e[62] !== w || e[63] !== d || e[64] !== s || e[65] !== t || e[66] !== B || e[67] !== p || e[68] !== v || e[69] !== c || e[70] !== g || e[71] !== o ? (u = /* @__PURE__ */ R.jsx(se, { colors: p, graphTitle: l, graphDescription: r, footNote: a, width: o, height: n, sources: t, leftMargin: m, rightMargin: w, backgroundColor: h, padding: f, topMargin: g, bottomMargin: y, relativeHeight: M, showLabels: d, tooltip: c, onSeriesMouseOver: C, showColorScale: !1, showValues: s, graphID: j, onSeriesMouseClick: k, graphDownload: A, dataDownload: S, data: L, language: $, minHeight: O, theme: v, ariaLabel: D, detailsOnClick: T, styles: B, classNames: F, precision: G }), e[41] = D, e[42] = h, e[43] = y, e[44] = F, e[45] = S, e[46] = L, e[47] = T, e[48] = a, e[49] = r, e[50] = A, e[51] = j, e[52] = l, e[53] = n, e[54] = $, e[55] = m, e[56] = O, e[57] = k, e[58] = C, e[59] = f, e[60] = G, e[61] = M, e[62] = w, e[63] = d, e[64] = s, e[65] = t, e[66] = B, e[67] = p, e[68] = v, e[69] = c, e[70] = g, e[71] = o, e[72] = u) : u = e[72], u;
152
+ return e[41] !== D || e[42] !== h || e[43] !== y || e[44] !== B || e[45] !== S || e[46] !== G || e[47] !== L || e[48] !== a || e[49] !== r || e[50] !== k || e[51] !== A || e[52] !== l || e[53] !== n || e[54] !== $ || e[55] !== m || e[56] !== O || e[57] !== j || e[58] !== C || e[59] !== f || e[60] !== F || e[61] !== M || e[62] !== w || e[63] !== d || e[64] !== s || e[65] !== t || e[66] !== T || e[67] !== p || e[68] !== v || e[69] !== c || e[70] !== g || e[71] !== o ? (u = /* @__PURE__ */ R.jsx(fe, { colors: p, graphTitle: l, graphDescription: r, footNote: a, width: o, height: n, sources: t, leftMargin: m, rightMargin: w, backgroundColor: h, padding: f, topMargin: g, bottomMargin: y, relativeHeight: M, showLabels: d, tooltip: c, onSeriesMouseOver: C, showColorScale: !1, showValues: s, graphID: A, onSeriesMouseClick: j, graphDownload: k, dataDownload: S, data: G, language: $, minHeight: O, theme: v, ariaLabel: D, detailsOnClick: L, styles: T, classNames: B, precision: F }), e[41] = D, e[42] = h, e[43] = y, e[44] = B, e[45] = S, e[46] = G, e[47] = L, e[48] = a, e[49] = r, e[50] = k, e[51] = A, e[52] = l, e[53] = n, e[54] = $, e[55] = m, e[56] = O, e[57] = j, e[58] = C, e[59] = f, e[60] = F, e[61] = M, e[62] = w, e[63] = d, e[64] = s, e[65] = t, e[66] = T, e[67] = p, e[68] = v, e[69] = c, e[70] = g, e[71] = o, e[72] = u) : u = e[72], u;
152
153
  }
153
154
  if (X === "donutChart") {
154
- const p = x || q[v].categoricalColors.colors, u = o && n ? o < n ? o : n : o || n || void 0, z = L;
155
+ const p = x || q[v].categoricalColors.colors, u = o && n ? o < n ? o : n : o || n || void 0, z = G;
155
156
  let P;
156
- return e[73] !== D || e[74] !== h || e[75] !== F || e[76] !== S || e[77] !== T || e[78] !== Z || e[79] !== a || e[80] !== r || e[81] !== A || e[82] !== j || e[83] !== l || e[84] !== $ || e[85] !== k || e[86] !== C || e[87] !== f || e[88] !== G || e[89] !== V || e[90] !== t || e[91] !== B || e[92] !== p || e[93] !== u || e[94] !== z || e[95] !== v || e[96] !== c ? (P = /* @__PURE__ */ R.jsx(ce, { colors: p, graphTitle: l, graphDescription: r, footNote: a, radius: u, sources: t, backgroundColor: h, padding: f, tooltip: c, onSeriesMouseOver: C, graphID: j, onSeriesMouseClick: k, graphDownload: A, dataDownload: S, data: z, strokeWidth: Z, showColorScale: !0, sortData: V, language: $, theme: v, ariaLabel: D, detailsOnClick: T, styles: B, classNames: F, precision: G }), e[73] = D, e[74] = h, e[75] = F, e[76] = S, e[77] = T, e[78] = Z, e[79] = a, e[80] = r, e[81] = A, e[82] = j, e[83] = l, e[84] = $, e[85] = k, e[86] = C, e[87] = f, e[88] = G, e[89] = V, e[90] = t, e[91] = B, e[92] = p, e[93] = u, e[94] = z, e[95] = v, e[96] = c, e[97] = P) : P = e[97], P;
157
+ return e[73] !== D || e[74] !== h || e[75] !== B || e[76] !== S || e[77] !== L || e[78] !== Z || e[79] !== a || e[80] !== r || e[81] !== k || e[82] !== A || e[83] !== l || e[84] !== $ || e[85] !== j || e[86] !== C || e[87] !== f || e[88] !== F || e[89] !== V || e[90] !== t || e[91] !== T || e[92] !== p || e[93] !== u || e[94] !== z || e[95] !== v || e[96] !== c ? (P = /* @__PURE__ */ R.jsx(he, { colors: p, graphTitle: l, graphDescription: r, footNote: a, radius: u, sources: t, backgroundColor: h, padding: f, tooltip: c, onSeriesMouseOver: C, graphID: A, onSeriesMouseClick: j, graphDownload: k, dataDownload: S, data: z, strokeWidth: Z, showColorScale: !0, sortData: V, language: $, theme: v, ariaLabel: D, detailsOnClick: L, styles: T, classNames: B, precision: F }), e[73] = D, e[74] = h, e[75] = B, e[76] = S, e[77] = L, e[78] = Z, e[79] = a, e[80] = r, e[81] = k, e[82] = A, e[83] = l, e[84] = $, e[85] = j, e[86] = C, e[87] = f, e[88] = F, e[89] = V, e[90] = t, e[91] = T, e[92] = p, e[93] = u, e[94] = z, e[95] = v, e[96] = c, e[97] = P) : P = e[97], P;
157
158
  }
158
- const ee = x || q.graphMainColor;
159
+ const te = x || q.graphMainColor;
159
160
  let I;
160
- return e[98] !== D || e[99] !== h || e[100] !== Y || e[101] !== H || e[102] !== y || e[103] !== F || e[104] !== S || e[105] !== L || e[106] !== T || e[107] !== a || e[108] !== r || e[109] !== A || e[110] !== j || e[111] !== l || e[112] !== n || e[113] !== $ || e[114] !== m || e[115] !== _ || e[116] !== K || e[117] !== O || e[118] !== k || e[119] !== C || e[120] !== f || e[121] !== G || e[122] !== J || e[123] !== M || e[124] !== w || e[125] !== d || e[126] !== N || e[127] !== s || e[128] !== V || e[129] !== t || e[130] !== B || e[131] !== ee || e[132] !== v || e[133] !== c || e[134] !== g || e[135] !== U || e[136] !== o ? (I = /* @__PURE__ */ R.jsx(fe, { colors: ee, graphTitle: l, graphDescription: r, footNote: a, width: o, height: n, sources: t, leftMargin: m, rightMargin: w, backgroundColor: h, padding: f, topMargin: g, bottomMargin: y, relativeHeight: M, showLabels: d, tooltip: c, onSeriesMouseOver: C, showColorScale: !1, showValues: s, graphID: j, onSeriesMouseClick: k, graphDownload: A, dataDownload: S, data: L, barPadding: H, refValues: J, truncateBy: U, maxValue: K, showTicks: N, sortData: V, language: $, minHeight: O, theme: v, maxBarThickness: _, ariaLabel: D, orientation: Y, detailsOnClick: T, styles: B, classNames: F, precision: G }), e[98] = D, e[99] = h, e[100] = Y, e[101] = H, e[102] = y, e[103] = F, e[104] = S, e[105] = L, e[106] = T, e[107] = a, e[108] = r, e[109] = A, e[110] = j, e[111] = l, e[112] = n, e[113] = $, e[114] = m, e[115] = _, e[116] = K, e[117] = O, e[118] = k, e[119] = C, e[120] = f, e[121] = G, e[122] = J, e[123] = M, e[124] = w, e[125] = d, e[126] = N, e[127] = s, e[128] = V, e[129] = t, e[130] = B, e[131] = ee, e[132] = v, e[133] = c, e[134] = g, e[135] = U, e[136] = o, e[137] = I) : I = e[137], I;
161
+ return e[98] !== D || e[99] !== h || e[100] !== Y || e[101] !== H || e[102] !== y || e[103] !== B || e[104] !== S || e[105] !== G || e[106] !== L || e[107] !== a || e[108] !== r || e[109] !== k || e[110] !== A || e[111] !== l || e[112] !== n || e[113] !== ee || e[114] !== $ || e[115] !== m || e[116] !== _ || e[117] !== K || e[118] !== O || e[119] !== j || e[120] !== C || e[121] !== f || e[122] !== F || e[123] !== J || e[124] !== M || e[125] !== w || e[126] !== d || e[127] !== N || e[128] !== s || e[129] !== V || e[130] !== t || e[131] !== T || e[132] !== te || e[133] !== v || e[134] !== c || e[135] !== g || e[136] !== U || e[137] !== o ? (I = /* @__PURE__ */ R.jsx(ue, { colors: te, graphTitle: l, graphDescription: r, footNote: a, width: o, height: n, sources: t, leftMargin: m, rightMargin: w, backgroundColor: h, padding: f, topMargin: g, bottomMargin: y, relativeHeight: M, showLabels: d, tooltip: c, onSeriesMouseOver: C, showColorScale: !1, showValues: s, graphID: A, onSeriesMouseClick: j, graphDownload: k, dataDownload: S, data: G, barPadding: H, refValues: J, truncateBy: U, maxValue: K, showTicks: N, sortData: V, language: $, minHeight: O, theme: v, maxBarThickness: _, ariaLabel: D, orientation: Y, detailsOnClick: L, styles: T, classNames: B, precision: F, hideAxisLine: ee }), e[98] = D, e[99] = h, e[100] = Y, e[101] = H, e[102] = y, e[103] = B, e[104] = S, e[105] = G, e[106] = L, e[107] = a, e[108] = r, e[109] = k, e[110] = A, e[111] = l, e[112] = n, e[113] = ee, e[114] = $, e[115] = m, e[116] = _, e[117] = K, e[118] = O, e[119] = j, e[120] = C, e[121] = f, e[122] = F, e[123] = J, e[124] = M, e[125] = w, e[126] = d, e[127] = N, e[128] = s, e[129] = V, e[130] = t, e[131] = T, e[132] = te, e[133] = v, e[134] = c, e[135] = g, e[136] = U, e[137] = o, e[138] = I) : I = e[138], I;
161
162
  }
162
- function ve(i) {
163
+ function we(i) {
163
164
  return {
164
165
  label: `${i.x0}-${i.x1}`,
165
166
  size: i.length,
@@ -169,10 +170,10 @@ function ve(i) {
169
170
  }
170
171
  };
171
172
  }
172
- function be(i) {
173
+ function Ce(i) {
173
174
  return i.value;
174
175
  }
175
176
  export {
176
- Be as Histogram
177
+ Fe as Histogram
177
178
  };
178
179
  //# sourceMappingURL=Histogram.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Histogram.js","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 /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\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 } = 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 />\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 />\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 />\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 />\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","undefined","t1","thresholds","_temp","map","_temp2","dataFormatted","length","t2","t3","t4","margin","t5","Symbol","for","jsx","Spinner","t6","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.js","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 /** 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 } = 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 />\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 />\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 />\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 />\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","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]}