@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.
- package/dist/AreaChart.cjs +1 -1
- package/dist/AreaChart.js +1 -1
- package/dist/Axis-D56Gy0se.js +31 -0
- package/dist/Axis-D56Gy0se.js.map +1 -0
- package/dist/Axis-Jt_tmhxS.cjs +2 -0
- package/dist/Axis-Jt_tmhxS.cjs.map +1 -0
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.d.ts +6 -0
- package/dist/BarGraph.js +1759 -1750
- package/dist/BarGraph.js.map +1 -1
- package/dist/BeeSwarmChart.cjs +1 -1
- package/dist/BeeSwarmChart.cjs.map +1 -1
- package/dist/BeeSwarmChart.d.ts +2 -0
- package/dist/BeeSwarmChart.js +270 -267
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.cjs.map +1 -1
- package/dist/BulletChart.d.ts +2 -0
- package/dist/BulletChart.js +544 -542
- 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 +2 -0
- package/dist/ButterflyChart.js +332 -330
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.js +1 -1
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.js +1 -1
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.cjs.map +1 -1
- package/dist/DumbbellChart.d.ts +2 -0
- package/dist/DumbbellChart.js +537 -536
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/GraphEl-BZbunD1_.cjs +2 -0
- package/dist/GraphEl-BZbunD1_.cjs.map +1 -0
- package/dist/{GraphEl-DcNr5JzH.js → GraphEl-C1Rz1V__.js} +60 -51
- package/dist/GraphEl-C1Rz1V__.js.map +1 -0
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.d.ts +1 -0
- package/dist/GriddedGraphs.js +1 -1
- package/dist/GriddedGraphsFromConfig.d.ts +1 -0
- package/dist/Histogram.cjs +1 -1
- package/dist/Histogram.cjs.map +1 -1
- package/dist/Histogram.d.ts +2 -0
- package/dist/Histogram.js +50 -49
- package/dist/Histogram.js.map +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.js +1 -1
- package/dist/MultiGraphDashboard.d.ts +1 -0
- package/dist/MultiGraphDashboardFromConfig.d.ts +1 -0
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.js +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.js +1 -1
- package/dist/ParetoChart.cjs +1 -1
- package/dist/ParetoChart.js +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +1 -0
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +1 -0
- package/dist/PerformanceIntensiveScrollStory.d.ts +1 -0
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.js +1 -1
- package/dist/ScrollStory.d.ts +1 -0
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.js +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.d.ts +1 -0
- package/dist/SingleGraphDashboard.js +1 -1
- package/dist/SingleGraphDashboardFromConfig.d.ts +1 -0
- package/dist/SingleGraphDashboardGeoHubMaps.d.ts +1 -0
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +1 -0
- package/dist/SingleGraphDashboardThreeDGraphs.d.ts +1 -0
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +1 -0
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.js +1 -1
- package/dist/Types.d.ts +1 -0
- package/dist/WaterfallChart.cjs +1 -1
- package/dist/WaterfallChart.cjs.map +1 -1
- package/dist/WaterfallChart.d.ts +2 -0
- package/dist/WaterfallChart.js +263 -261
- package/dist/WaterfallChart.js.map +1 -1
- package/dist/index.d.ts +19 -0
- package/package.json +1 -1
- package/dist/Axis-DoOqnt6g.js +0 -32
- package/dist/Axis-DoOqnt6g.js.map +0 -1
- package/dist/Axis-Dtjn-EgM.cjs +0 -2
- package/dist/Axis-Dtjn-EgM.cjs.map +0 -1
- package/dist/GraphEl-CAjJLOGk.cjs +0 -2
- package/dist/GraphEl-CAjJLOGk.cjs.map +0 -1
- package/dist/GraphEl-DcNr5JzH.js.map +0 -1
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 /** 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":"oYAAe,SAASA,GAAMC,EAAQC,EAAS,CAC7C,IAAIF,EAAQ,EAEV,QAASG,KAASF,EACZE,GAAS,OAASA,EAAQ,CAACA,IAAUA,GACvC,EAAEH,EAWR,OAAOA,CACT,CCjBe,SAASI,GAASC,EAAG,CAClC,OAAOA,CACT,CCFA,IAAIC,GAAQ,MAAM,UAEPC,GAAQD,GAAM,MCFV,SAASE,GAASH,EAAG,CAClC,MAAO,IAAMA,CACf,CCAe,SAASI,GAAKC,EAAOC,EAAMX,EAAO,CAC/C,IAAIY,EACJ,OAAa,CACX,MAAMC,EAAOC,EAAAA,cAAcJ,EAAOC,EAAMX,CAAK,EAC7C,GAAIa,IAASD,GAAWC,IAAS,GAAK,CAAC,SAASA,CAAI,EAClD,MAAO,CAACH,EAAOC,CAAI,EACVE,EAAO,GAChBH,EAAQ,KAAK,MAAMA,EAAQG,CAAI,EAAIA,EACnCF,EAAO,KAAK,KAAKA,EAAOE,CAAI,EAAIA,GACvBA,EAAO,IAChBH,EAAQ,KAAK,KAAKA,EAAQG,CAAI,EAAIA,EAClCF,EAAO,KAAK,MAAMA,EAAOE,CAAI,EAAIA,GAEnCD,EAAUC,CACZ,CACF,CCfe,SAASE,GAAiBd,EAAQ,CAC/C,OAAO,KAAK,IAAI,EAAG,KAAK,KAAK,KAAK,IAAID,GAAMC,CAAM,CAAC,EAAI,KAAK,GAAG,EAAI,CAAC,CACtE,CCKe,SAASe,IAAM,CAC5B,IAAIb,EAAQC,GACRa,EAASC,EAAAA,OACTC,EAAYC,GAEhB,SAASC,EAAUC,EAAM,CAClB,MAAM,QAAQA,CAAI,IAAGA,EAAO,MAAM,KAAKA,CAAI,GAEhD,IAAIC,EACAC,EAAIF,EAAK,OACTjB,EACAQ,EACAZ,EAAS,IAAI,MAAMuB,CAAC,EAExB,IAAKD,EAAI,EAAGA,EAAIC,EAAG,EAAED,EACnBtB,EAAOsB,CAAC,EAAIpB,EAAMmB,EAAKC,CAAC,EAAGA,EAAGD,CAAI,EAGpC,IAAIG,EAAKR,EAAOhB,CAAM,EAClByB,EAAKD,EAAG,CAAC,EACTE,EAAKF,EAAG,CAAC,EACTG,EAAKT,EAAUlB,EAAQyB,EAAIC,CAAE,EAIjC,GAAI,CAAC,MAAM,QAAQC,CAAE,EAAG,CACtB,MAAMC,EAAMF,EAAIG,EAAK,CAACF,EAgBtB,GAfIX,IAAWC,WAAQ,CAACQ,EAAIC,CAAE,EAAIlB,GAAKiB,EAAIC,EAAIG,CAAE,GACjDF,EAAKG,EAAAA,MAAML,EAAIC,EAAIG,CAAE,EAKjBF,EAAG,CAAC,GAAKF,IAAIb,EAAOC,gBAAcY,EAAIC,EAAIG,CAAE,GAS5CF,EAAGA,EAAG,OAAS,CAAC,GAAKD,EACvB,GAAIE,GAAOF,GAAMV,IAAWC,SAAQ,CAClC,MAAML,EAAOC,EAAAA,cAAcY,EAAIC,EAAIG,CAAE,EACjC,SAASjB,CAAI,IACXA,EAAO,EACTc,GAAM,KAAK,MAAMA,EAAKd,CAAI,EAAI,GAAKA,EAC1BA,EAAO,IAChBc,GAAM,KAAK,KAAKA,EAAK,CAACd,CAAI,EAAI,GAAK,CAACA,GAG1C,MACEe,EAAG,IAAG,CAGZ,CAKA,QADII,EAAIJ,EAAG,OAAQK,EAAI,EAAGC,EAAIF,EACvBJ,EAAGK,CAAC,GAAKP,GAAI,EAAEO,EACtB,KAAOL,EAAGM,EAAI,CAAC,EAAIP,GAAI,EAAEO,GACrBD,GAAKC,EAAIF,KAAGJ,EAAKA,EAAG,MAAMK,EAAGC,CAAC,EAAGF,EAAIE,EAAID,GAE7C,IAAIE,EAAO,IAAI,MAAMH,EAAI,CAAC,EACtBhB,EAGJ,IAAKO,EAAI,EAAGA,GAAKS,EAAG,EAAET,EACpBP,EAAMmB,EAAKZ,CAAC,EAAI,CAAA,EAChBP,EAAI,GAAKO,EAAI,EAAIK,EAAGL,EAAI,CAAC,EAAIG,EAC7BV,EAAI,GAAKO,EAAIS,EAAIJ,EAAGL,CAAC,EAAII,EAI3B,GAAI,SAASd,CAAI,GACf,GAAIA,EAAO,EACT,IAAKU,EAAI,EAAGA,EAAIC,EAAG,EAAED,GACdlB,EAAIJ,EAAOsB,CAAC,IAAM,MAAQG,GAAMrB,GAAKA,GAAKsB,GAC7CQ,EAAK,KAAK,IAAIH,EAAG,KAAK,OAAO3B,EAAIqB,GAAMb,CAAI,CAAC,CAAC,EAAE,KAAKS,EAAKC,CAAC,CAAC,UAGtDV,EAAO,GAChB,IAAKU,EAAI,EAAGA,EAAIC,EAAG,EAAED,EACnB,IAAKlB,EAAIJ,EAAOsB,CAAC,IAAM,MAAQG,GAAMrB,GAAKA,GAAKsB,EAAI,CACjD,MAAMS,EAAI,KAAK,OAAOV,EAAKrB,GAAKQ,CAAI,EACpCsB,EAAK,KAAK,IAAIH,EAAGI,GAAKR,EAAGQ,CAAC,GAAK/B,EAAE,CAAC,EAAE,KAAKiB,EAAKC,CAAC,CAAC,CAClD,OAIJ,KAAKA,EAAI,EAAGA,EAAIC,EAAG,EAAED,GACdlB,EAAIJ,EAAOsB,CAAC,IAAM,MAAQG,GAAMrB,GAAKA,GAAKsB,GAC7CQ,EAAKE,GAAAA,YAAOT,EAAIvB,EAAG,EAAG2B,CAAC,CAAC,EAAE,KAAKV,EAAKC,CAAC,CAAC,EAK5C,OAAOY,CACT,CAEA,OAAAd,EAAU,MAAQ,SAASiB,EAAG,CAC5B,OAAO,UAAU,QAAUnC,EAAQ,OAAOmC,GAAM,WAAaA,EAAI9B,GAAS8B,CAAC,EAAGjB,GAAalB,CAC7F,EAEAkB,EAAU,OAAS,SAASiB,EAAG,CAC7B,OAAO,UAAU,QAAUrB,EAAS,OAAOqB,GAAM,WAAaA,EAAI9B,GAAS,CAAC8B,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,CAAC,EAAGjB,GAAaJ,CACzG,EAEAI,EAAU,WAAa,SAASiB,EAAG,CACjC,OAAO,UAAU,QAAUnB,EAAY,OAAOmB,GAAM,WAAaA,EAAI9B,GAAS,MAAM,QAAQ8B,CAAC,EAAI/B,GAAM,KAAK+B,CAAC,EAAIA,CAAC,EAAGjB,GAAaF,CACpI,EAEOE,CACT,CCEO,SAAAkB,GAAAC,EAAA,CAAA,MAAAC,EAAAC,EAAAA,uBAAAA,EAAA,GAAA,EACL,CAAApB,KAAAA,EAAAqB,WAAAA,EAAAC,QAAAA,EAAAC,iBAAAA,EAAAC,WAAAA,EAAAC,WAAAA,EAAAC,UAAAA,EAAAC,WAAAA,EAAAC,YAAAA,EAAAC,OAAAA,EAAAC,MAAAA,EAAAC,SAAAA,EAAAC,OAAAA,EAAAC,QAAAA,EAAAC,gBAAAA,EAAAC,UAAAA,EAAAC,aAAAA,EAAAC,WAAAA,EAAAC,eAAAA,EAAAC,QAAAA,EAAAC,kBAAAA,EAAAC,UAAAA,EAAAC,QAAAA,EAAAC,SAAAA,EAAAC,mBAAAA,EAAAC,cAAAA,EAAAC,aAAAA,EAAAC,aAAAA,EAAAC,WAAAA,EAAAC,UAAAA,EAAAC,eAAAA,EAAAC,iBAAAA,GAAAC,SAAAA,EAAAC,SAAAA,EAAAC,UAAAA,EAAAC,MAAAC,GAAAC,gBAAAA,GAAAC,UAAAA,EAAAC,eAAAA,EAAAC,OAAAA,EAAAC,WAAAA,EAAAC,UAAAA,CAAAA,EA2CI5C,EAPFqC,EAAAC,KAAAO,OAAA,QAAAP,GAAe,IAAAQ,EAAA7C,EAAA,CAAA,IAAAnB,GAAAmB,OAAA4B,GAaKiB,EAJTtE,GAAAA,EAAKuE,WACJlB,GAAA,EAAkB,EAAClE,MAExBqF,EAAmB,EAAElE,CAAW,EACfmE,IAAKC,EAO7B,EAACjD,KAAAnB,EAAAmB,KAAA4B,EAAA5B,KAAA6C,GAAAA,EAAA7C,EAAA,CAAA,EAPH,MAAAkD,EAAsBL,EAQtB,GAAIK,EAAaC,SAAY,EAAC,CAEL,MAAAC,EAAA,GAAGzC,CAAK,KAAc0C,EAAA,GAAG3C,CAAM,KAAI,IAAA4C,EAAAtD,EAAA,CAAA,IAAAoD,GAAApD,OAAAqD,GAA5CC,EAAA,CAAA3C,MAASyC,EAAY1C,OAAU2C,EAAaE,OAAU,MAAA,EAAQvD,KAAAoD,EAAApD,KAAAqD,EAAArD,KAAAsD,GAAAA,EAAAtD,EAAA,CAAA,EAAA,IAAAwD,EAAAxD,EAAA,CAAA,IAAAyD,OAAAC,IAAA,2BAAA,GACxEF,0BAAA,MAAA,CAAe,UAAA,0EACb,SAAAG,wBAACC,GAAAA,IAAO,EACV,EAAM5D,KAAAwD,GAAAA,EAAAxD,EAAA,CAAA,EAAA,IAAA6D,EAAA,OAAA7D,OAAAsD,GAHRO,EAAAF,EAAAA,kBAAAA,IAAA,MAAA,CAAY,MAAAL,EACVE,SAAAA,EAGF,EAAMxD,KAAAsD,EAAAtD,KAAA6D,GAAAA,EAAA7D,EAAA,CAAA,EAJN6D,CAIM,CAEV,GAAI/B,IAAc,gBAAe,CAGnB,MAAAsB,EAAAvC,GAAUiD,EAAAA,OAAMC,eAAe,IAAAV,EAAA,OAAArD,EAAA,CAAA,IAAAuC,GAAAvC,EAAA,EAAA,IAAAe,GAAAf,EAAA,EAAA,IAAAiB,GAAAjB,EAAA,EAAA,IAAA0C,GAAA1C,EAAA,EAAA,IAAA2B,GAAA3B,EAAA,EAAA,IAAAkD,GAAAlD,EAAA,EAAA,IAAAwC,GAAAxC,EAAA,EAAA,IAAAY,GAAAZ,EAAA,EAAA,IAAAI,GAAAJ,EAAA,EAAA,IAAA0B,GAAA1B,EAAA,EAAA,IAAAuB,GAAAvB,EAAA,EAAA,IAAAE,GAAAF,EAAA,EAAA,IAAAU,GAAAV,EAAA,EAAA,IAAAkC,GAAAlC,EAAA,EAAA,IAAAQ,GAAAR,QAAAmC,GAAAnC,EAAA,EAAA,IAAAyB,GAAAzB,EAAA,EAAA,IAAAqB,GAAArB,EAAA,EAAA,IAAAc,GAAAd,EAAA,EAAA,IAAA2C,GAAA3C,EAAA,EAAA,IAAAmB,GAAAnB,EAAA,EAAA,IAAAS,GAAAT,EAAA,EAAA,IAAAkB,GAAAlB,EAAA,EAAA,IAAAM,GAAAN,EAAA,EAAA,IAAAG,GAAAH,EAAA,EAAA,IAAAyC,GAAAzC,EAAA,EAAA,IAAAoD,GAAApD,EAAA,EAAA,IAAAoC,GAAApC,EAAA,EAAA,IAAAoB,GAAApB,EAAA,EAAA,IAAAgB,GAAAhB,EAAA,EAAA,IAAAW,GADzC0C,0BAACW,EAAAA,mBAAA,CACS,OAAAZ,EACIlD,WAAAA,EACME,iBAAAA,EACRQ,SAAAA,EACHD,MAAAA,EACCD,OAAAA,EACCP,QAAAA,EACGK,WAAAA,EACCC,YAAAA,EACIM,gBAAAA,EACRD,QAAAA,EACEE,UAAAA,EACGC,aAAAA,EACEE,eAAAA,EACJD,WAAAA,EACHE,QAAAA,EACUC,kBAAAA,EACH,eAAA,GACJf,WAAAA,EACHiB,QAAAA,EACWE,mBAAAA,EACLC,cAAAA,EACDC,aAAAA,EACRuB,KAAAA,EACIhB,SAAAA,EACCC,UAAAA,EACJC,MAAAA,EACIG,UAAAA,EACKC,eAAAA,EACRC,OAAAA,EACIC,WAAAA,EACDC,UAAAA,EAAS,EACpB3C,KAAAuC,EAAAvC,MAAAe,EAAAf,MAAAiB,EAAAjB,MAAA0C,EAAA1C,MAAA2B,EAAA3B,MAAAkD,EAAAlD,MAAAwC,EAAAxC,MAAAY,EAAAZ,MAAAI,EAAAJ,MAAA0B,EAAA1B,MAAAuB,EAAAvB,MAAAE,EAAAF,MAAAU,EAAAV,MAAAkC,EAAAlC,MAAAQ,EAAAR,MAAAmC,EAAAnC,MAAAyB,EAAAzB,MAAAqB,EAAArB,MAAAc,EAAAd,MAAA2C,EAAA3C,MAAAmB,EAAAnB,MAAAS,EAAAT,MAAAkB,EAAAlB,MAAAM,EAAAN,MAAAG,EAAAH,MAAAyC,EAAAzC,MAAAoD,EAAApD,MAAAoC,EAAApC,MAAAoB,EAAApB,MAAAgB,EAAAhB,MAAAW,EAAAX,MAAAqD,GAAAA,EAAArD,EAAA,EAAA,EAjCFqD,CAiCE,CAEN,GAAIvB,IAAc,UAAS,CAGb,MAAAsB,EAAAvC,GAAUiD,EAAAA,OAAMC,eAAe,IAAAV,EAAA,OAAArD,EAAA,EAAA,IAAAuC,GAAAvC,EAAA,EAAA,IAAAe,GAAAf,EAAA,EAAA,IAAAiB,GAAAjB,EAAA,EAAA,IAAA0C,GAAA1C,EAAA,EAAA,IAAA2B,GAAA3B,EAAA,EAAA,IAAAkD,GAAAlD,EAAA,EAAA,IAAAwC,GAAAxC,EAAA,EAAA,IAAAY,GAAAZ,EAAA,EAAA,IAAAI,GAAAJ,EAAA,EAAA,IAAA0B,GAAA1B,EAAA,EAAA,IAAAuB,GAAAvB,EAAA,EAAA,IAAAE,GAAAF,EAAA,EAAA,IAAAU,GAAAV,EAAA,EAAA,IAAAkC,GAAAlC,EAAA,EAAA,IAAAQ,GAAAR,QAAAmC,GAAAnC,EAAA,EAAA,IAAAyB,GAAAzB,EAAA,EAAA,IAAAqB,GAAArB,EAAA,EAAA,IAAAc,GAAAd,EAAA,EAAA,IAAA2C,GAAA3C,EAAA,EAAA,IAAAmB,GAAAnB,EAAA,EAAA,IAAAS,GAAAT,EAAA,EAAA,IAAAkB,GAAAlB,EAAA,EAAA,IAAAM,GAAAN,EAAA,EAAA,IAAAG,GAAAH,EAAA,EAAA,IAAAyC,GAAAzC,EAAA,EAAA,IAAAoD,GAAApD,EAAA,EAAA,IAAAoC,GAAApC,EAAA,EAAA,IAAAoB,GAAApB,EAAA,EAAA,IAAAgB,GAAAhB,EAAA,EAAA,IAAAW,GADzC0C,0BAACY,GAAAA,aAAA,CACS,OAAAb,EACIlD,WAAAA,EACME,iBAAAA,EACRQ,SAAAA,EACHD,MAAAA,EACCD,OAAAA,EACCP,QAAAA,EACGK,WAAAA,EACCC,YAAAA,EACIM,gBAAAA,EACRD,QAAAA,EACEE,UAAAA,EACGC,aAAAA,EACEE,eAAAA,EACJD,WAAAA,EACHE,QAAAA,EACUC,kBAAAA,EACH,eAAA,GACJf,WAAAA,EACHiB,QAAAA,EACWE,mBAAAA,EACLC,cAAAA,EACDC,aAAAA,EACRuB,KAAAA,EACIhB,SAAAA,EACCC,UAAAA,EACJC,MAAAA,EACIG,UAAAA,EACKC,eAAAA,EACRC,OAAAA,EACIC,WAAAA,EACDC,UAAAA,EAAS,EACpB3C,MAAAuC,EAAAvC,MAAAe,EAAAf,MAAAiB,EAAAjB,MAAA0C,EAAA1C,MAAA2B,EAAA3B,MAAAkD,EAAAlD,MAAAwC,EAAAxC,MAAAY,EAAAZ,MAAAI,EAAAJ,MAAA0B,EAAA1B,MAAAuB,EAAAvB,MAAAE,EAAAF,MAAAU,EAAAV,MAAAkC,EAAAlC,MAAAQ,EAAAR,MAAAmC,EAAAnC,MAAAyB,EAAAzB,MAAAqB,EAAArB,MAAAc,EAAAd,MAAA2C,EAAA3C,MAAAmB,EAAAnB,MAAAS,EAAAT,MAAAkB,EAAAlB,MAAAM,EAAAN,MAAAG,EAAAH,MAAAyC,EAAAzC,MAAAoD,EAAApD,MAAAoC,EAAApC,MAAAoB,EAAApB,MAAAgB,EAAAhB,MAAAW,EAAAX,MAAAqD,GAAAA,EAAArD,EAAA,EAAA,EAjCFqD,CAiCE,CAEN,GAAIvB,IAAc,aAAY,CAGhB,MAAAsB,EAACvC,GAAmCiD,EAAAA,OAAO1B,CAAK,EAAC8B,kBAAkBrD,OAInEwC,EAAA1C,GAAAD,EAAmBC,EAAQD,EAARC,EAAAD,EAAmCC,GAAAD,GAAAkC,OAUxDU,EAAAJ,EAAqC,IAAAM,EAAA,OAAAxD,QAAAuC,GAAAvC,EAAA,EAAA,IAAAe,GAAAf,EAAA,EAAA,IAAA0C,GAAA1C,QAAA2B,GAAA3B,EAAA,EAAA,IAAAwC,GAAAxC,EAAA,EAAA,IAAAgC,IAAAhC,QAAAY,GAAAZ,EAAA,EAAA,IAAAI,GAAAJ,EAAA,EAAA,IAAA0B,GAAA1B,QAAAuB,GAAAvB,EAAA,EAAA,IAAAE,GAAAF,EAAA,EAAA,IAAAkC,GAAAlC,EAAA,EAAA,IAAAyB,GAAAzB,QAAAqB,GAAArB,EAAA,EAAA,IAAAc,GAAAd,EAAA,EAAA,IAAA2C,GAAA3C,QAAAiC,GAAAjC,EAAA,EAAA,IAAAG,GAAAH,EAAA,EAAA,IAAAyC,GAAAzC,QAAAoD,GAAApD,EAAA,EAAA,IAAAqD,GAAArD,EAAA,EAAA,IAAAsD,GAAAtD,QAAAoC,GAAApC,EAAA,EAAA,IAAAoB,GAf7CoC,EAAAG,EAAAA,kBAAAA,IAACQ,GAAAA,WAAA,CACS,OAAAf,EACIlD,WAAAA,EACME,iBAAAA,EACRQ,SAAAA,EACF,OAAAyC,EACClD,QAAAA,EACQY,gBAAAA,EACRD,QAAAA,EACAM,QAAAA,EACUC,kBAAAA,EACVE,QAAAA,EACWE,mBAAAA,EACLC,cAAAA,EACDC,aAAAA,EACR,KAAA2B,EACOtB,YAAAA,GACb,eAAA,GACUC,SAAAA,EACAC,SAAAA,EACHE,MAAAA,EACIG,UAAAA,EACKC,eAAAA,EACRC,OAAAA,EACIC,WAAAA,EACDC,UAAAA,EAAS,EACpB3C,MAAAuC,EAAAvC,MAAAe,EAAAf,MAAA0C,EAAA1C,MAAA2B,EAAA3B,MAAAwC,EAAAxC,MAAAgC,GAAAhC,MAAAY,EAAAZ,MAAAI,EAAAJ,MAAA0B,EAAA1B,MAAAuB,EAAAvB,MAAAE,EAAAF,MAAAkC,EAAAlC,MAAAyB,EAAAzB,MAAAqB,EAAArB,MAAAc,EAAAd,MAAA2C,EAAA3C,MAAAiC,EAAAjC,MAAAG,EAAAH,MAAAyC,EAAAzC,MAAAoD,EAAApD,MAAAqD,EAAArD,MAAAsD,EAAAtD,MAAAoC,EAAApC,MAAAoB,EAAApB,MAAAwD,GAAAA,EAAAxD,EAAA,EAAA,EA1BFwD,CA0BE,CAIM,MAAAJ,GAAAvC,GAAUiD,EAAAA,OAAMC,eAAe,IAAAV,EAAA,OAAArD,EAAA,EAAA,IAAAuC,GAAAvC,EAAA,EAAA,IAAAe,GAAAf,SAAA+B,GAAA/B,EAAA,GAAA,IAAAK,GAAAL,EAAA,GAAA,IAAAiB,GAAAjB,EAAA,GAAA,IAAA0C,GAAA1C,EAAA,GAAA,IAAA2B,GAAA3B,SAAAkD,GAAAlD,EAAA,GAAA,IAAAwC,GAAAxC,EAAA,GAAA,IAAAY,GAAAZ,EAAA,GAAA,IAAAI,GAAAJ,EAAA,GAAA,IAAA0B,GAAA1B,SAAAuB,GAAAvB,EAAA,GAAA,IAAAE,GAAAF,EAAA,GAAA,IAAAU,GAAAV,EAAA,GAAA,IAAAkC,GAAAlC,EAAA,GAAA,IAAAQ,GAAAR,SAAAsC,IAAAtC,EAAA,GAAA,IAAAwB,GAAAxB,EAAA,GAAA,IAAAmC,GAAAnC,EAAA,GAAA,IAAAyB,GAAAzB,EAAA,GAAA,IAAAqB,GAAArB,EAAA,GAAA,IAAAc,GAAAd,SAAA2C,GAAA3C,EAAA,GAAA,IAAAsB,GAAAtB,EAAA,GAAA,IAAAmB,GAAAnB,EAAA,GAAA,IAAAS,GAAAT,EAAA,GAAA,IAAAkB,GAAAlB,SAAAO,GAAAP,EAAA,GAAA,IAAAM,GAAAN,EAAA,GAAA,IAAAiC,GAAAjC,EAAA,GAAA,IAAAG,GAAAH,EAAA,GAAA,IAAAyC,GAAAzC,SAAAoD,IAAApD,EAAA,GAAA,IAAAoC,GAAApC,EAAA,GAAA,IAAAoB,GAAApB,EAAA,GAAA,IAAAgB,GAAAhB,EAAA,GAAA,IAAA6B,GAAA7B,SAAAW,GADzC0C,EAAAM,EAAAA,kBAAAA,IAACS,mBACS,OAAAhB,GACIlD,WAAAA,EACME,iBAAAA,EACRQ,SAAAA,EACHD,MAAAA,EACCD,OAAAA,EACCP,QAAAA,EACGK,WAAAA,EACCC,YAAAA,EACIM,gBAAAA,EACRD,QAAAA,EACEE,UAAAA,EACGC,aAAAA,EACEE,eAAAA,EACJD,WAAAA,EACHE,QAAAA,EACUC,kBAAAA,EACH,kBACJf,WAAAA,EACHiB,QAAAA,EACWE,mBAAAA,EACLC,cAAAA,EACDC,aAAAA,EACRuB,KAAAA,EACM7C,WAAAA,EACDiB,UAAAA,EACCO,WAAAA,EACFL,SAAAA,EACCjB,UAAAA,EACD0B,SAAAA,EACAC,SAAAA,EACCC,UAAAA,EACJC,MAAAA,EACUE,gBAAAA,GACNC,UAAAA,EACER,YAAAA,EACGS,eAAAA,EACRC,OAAAA,EACIC,WAAAA,EACDC,UAAAA,CAAAA,CAAS,EACpB3C,MAAAuC,EAAAvC,MAAAe,EAAAf,OAAA+B,EAAA/B,OAAAK,EAAAL,OAAAiB,EAAAjB,OAAA0C,EAAA1C,OAAA2B,EAAA3B,OAAAkD,EAAAlD,OAAAwC,EAAAxC,OAAAY,EAAAZ,OAAAI,EAAAJ,OAAA0B,EAAA1B,OAAAuB,EAAAvB,OAAAE,EAAAF,OAAAU,EAAAV,OAAAkC,EAAAlC,OAAAQ,EAAAR,OAAAsC,GAAAtC,OAAAwB,EAAAxB,OAAAmC,EAAAnC,OAAAyB,EAAAzB,OAAAqB,EAAArB,OAAAc,EAAAd,OAAA2C,EAAA3C,OAAAsB,EAAAtB,OAAAmB,EAAAnB,OAAAS,EAAAT,OAAAkB,EAAAlB,OAAAO,EAAAP,OAAAM,EAAAN,OAAAiC,EAAAjC,OAAAG,EAAAH,OAAAyC,EAAAzC,OAAAoD,GAAApD,OAAAoC,EAAApC,OAAAoB,EAAApB,OAAAgB,EAAAhB,OAAA6B,EAAA7B,OAAAW,EAAAX,OAAAqD,GAAAA,EAAArD,EAAA,GAAA,EAzCFqD,CAyCE,CApNC,SAAAJ,GAAAoB,EAAA,CAAA,MAkDgC,CAAAC,MAC5B,GAAGC,EAACtF,EAAG,IAAIsF,EAACrF,EAAG,GAAEsF,KAClBD,EAACpB,OAAOtE,KACR,CAAA4F,QACK,GAAGF,EAACtF,EAAG,IAAIsF,EAACrF,EAAG,GAAEwF,UACfH,EAACpB,MAAAA,CACd,CACD,CAzDI,SAAAJ,GAAAwB,EAAA,CAAA,OAiDgBA,EAAC7G,KAAM","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]}
|
package/dist/Histogram.d.ts
CHANGED
|
@@ -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
|
|
2
|
-
import { w as
|
|
3
|
-
import { e as
|
|
4
|
-
import { TreeMapGraph as
|
|
5
|
-
import { DonutChart as
|
|
6
|
-
import { SimpleBarGraph as
|
|
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
|
|
9
|
-
import { b as
|
|
10
|
-
function
|
|
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
|
|
16
|
+
function xe(i) {
|
|
17
17
|
return i;
|
|
18
18
|
}
|
|
19
|
-
var
|
|
20
|
-
function
|
|
19
|
+
var de = Array.prototype, Me = de.slice;
|
|
20
|
+
function oe(i) {
|
|
21
21
|
return () => i;
|
|
22
22
|
}
|
|
23
|
-
function
|
|
23
|
+
function ye(i, e, b) {
|
|
24
24
|
let l;
|
|
25
25
|
for (; ; ) {
|
|
26
|
-
const t =
|
|
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
|
|
33
|
-
return Math.max(1, Math.ceil(Math.log(
|
|
32
|
+
function ve(i) {
|
|
33
|
+
return Math.max(1, Math.ceil(Math.log(ge(i)) / Math.LN2) + 1);
|
|
34
34
|
}
|
|
35
|
-
function
|
|
36
|
-
var i =
|
|
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 ===
|
|
46
|
-
if (d >= o && e ===
|
|
47
|
-
const c =
|
|
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[
|
|
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 :
|
|
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 :
|
|
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 :
|
|
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
|
|
83
|
-
const e =
|
|
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:
|
|
106
|
+
graphID: A,
|
|
107
107
|
maxValue: K,
|
|
108
|
-
onSeriesMouseClick:
|
|
109
|
-
graphDownload:
|
|
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:
|
|
119
|
+
theme: ne,
|
|
120
120
|
maxBarThickness: _,
|
|
121
121
|
ariaLabel: D,
|
|
122
|
-
detailsOnClick:
|
|
123
|
-
styles:
|
|
124
|
-
classNames:
|
|
125
|
-
precision:
|
|
126
|
-
|
|
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 =
|
|
129
|
-
const
|
|
130
|
-
if (
|
|
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(
|
|
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] !==
|
|
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] !==
|
|
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 =
|
|
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] !==
|
|
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
|
|
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] !==
|
|
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
|
|
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
|
|
173
|
+
function Ce(i) {
|
|
173
174
|
return i.value;
|
|
174
175
|
}
|
|
175
176
|
export {
|
|
176
|
-
|
|
177
|
+
Fe as Histogram
|
|
177
178
|
};
|
|
178
179
|
//# sourceMappingURL=Histogram.js.map
|
package/dist/Histogram.js.map
CHANGED
|
@@ -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]}
|