@undp/data-viz 1.2.8 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AreaChart.d.ts +224 -0
- package/dist/AreaChart.js +2 -0
- package/dist/AreaChart.js.map +1 -0
- package/dist/Axis-BlyBRMNw.cjs +2 -0
- package/dist/Axis-BlyBRMNw.cjs.map +1 -0
- package/dist/Axis-CvK-w3E2.js +44 -0
- package/dist/Axis-CvK-w3E2.js.map +1 -0
- package/dist/AxisTitle-BY8MI9jC.cjs +2 -0
- package/dist/AxisTitle-BY8MI9jC.cjs.map +1 -0
- package/dist/AxisTitle-BeMxcw5I.js +21 -0
- package/dist/AxisTitle-BeMxcw5I.js.map +1 -0
- package/dist/BarGraph.d.ts +460 -0
- package/dist/BarGraph.js +2 -0
- package/dist/BarGraph.js.map +1 -0
- package/dist/BasicStatCard.d.ts +106 -0
- package/dist/BasicStatCard.js +2 -0
- package/dist/BasicStatCard.js.map +1 -0
- package/dist/BeeSwarmChart.d.ts +189 -0
- package/dist/BeeSwarmChart.js +2 -0
- package/dist/BeeSwarmChart.js.map +1 -0
- package/dist/BiVariateChoroplethMap.d.ts +189 -0
- package/dist/BiVariateChoroplethMap.js +2 -0
- package/dist/BiVariateChoroplethMap.js.map +1 -0
- package/dist/BulletChart.d.ts +219 -0
- package/dist/BulletChart.js +2 -0
- package/dist/BulletChart.js.map +1 -0
- package/dist/ButterflyChart.d.ts +201 -0
- package/dist/ButterflyChart.js +2 -0
- package/dist/ButterflyChart.js.map +1 -0
- package/dist/ChoroplethMap.d.ts +190 -0
- package/dist/ChoroplethMap.js +2 -0
- package/dist/ChoroplethMap.js.map +1 -0
- package/dist/CirclePackingGraph.d.ts +161 -0
- package/dist/CirclePackingGraph.js +2 -0
- package/dist/CirclePackingGraph.js.map +1 -0
- package/dist/ColorLegend.d.ts +17 -0
- package/dist/ColorLegend.js +2 -0
- package/dist/ColorLegend.js.map +1 -0
- package/dist/ColorLegendWithMouseOver.d.ts +16 -0
- package/dist/ColorLegendWithMouseOver.js +2 -0
- package/dist/ColorLegendWithMouseOver.js.map +1 -0
- package/dist/Colors.d.ts +174 -0
- package/dist/Colors.js +2 -0
- package/dist/Colors.js.map +1 -0
- package/dist/CopyTextButton.d.ts +13 -0
- package/dist/CopyTextButton.js +17 -0
- package/dist/CopyTextButton.js.map +1 -0
- package/dist/CsvDownloadButton.d.ts +22 -0
- package/dist/CsvDownloadButton.js +23 -0
- package/dist/CsvDownloadButton.js.map +1 -0
- package/dist/DataCards.d.ts +131 -0
- package/dist/DataCards.js +2 -0
- package/dist/DataCards.js.map +1 -0
- package/dist/DataTable.d.ts +122 -0
- package/dist/DataTable.js +2 -0
- package/dist/DataTable.js.map +1 -0
- package/dist/DifferenceLineChart.d.ts +237 -0
- package/dist/DifferenceLineChart.js +2 -0
- package/dist/DifferenceLineChart.js.map +1 -0
- package/dist/DonutChart.d.ts +148 -0
- package/dist/DonutChart.js +2 -0
- package/dist/DonutChart.js.map +1 -0
- package/dist/DotDensityMap.d.ts +191 -0
- package/dist/DotDensityMap.js +2 -0
- package/dist/DotDensityMap.js.map +1 -0
- package/dist/DropdownSelect-CuzV7gdj.cjs +29 -0
- package/dist/DropdownSelect-CuzV7gdj.cjs.map +1 -0
- package/dist/DropdownSelect-DmZsXrhY.js +2698 -0
- package/dist/DropdownSelect-DmZsXrhY.js.map +1 -0
- package/dist/DualAxisLineChart.d.ts +180 -0
- package/dist/DualAxisLineChart.js +2 -0
- package/dist/DualAxisLineChart.js.map +1 -0
- package/dist/DumbbellChart.d.ts +224 -0
- package/dist/DumbbellChart.js +2 -0
- package/dist/DumbbellChart.js.map +1 -0
- package/dist/EmptyState-BQguKAp5.cjs +2 -0
- package/dist/EmptyState-BQguKAp5.cjs.map +1 -0
- package/dist/EmptyState-b2Ln487i.js +22 -0
- package/dist/EmptyState-b2Ln487i.js.map +1 -0
- package/dist/ExcelDownloadButton.d.ts +22 -0
- package/dist/ExcelDownloadButton.js +2 -0
- package/dist/ExcelDownloadButton.js.map +1 -0
- package/dist/FootNote.d.ts +12 -0
- package/dist/FootNote.js +2 -0
- package/dist/FootNote.js.map +1 -0
- package/dist/GeoHubCompareMaps.d.ts +103 -0
- package/dist/GeoHubCompareMaps.js +2 -0
- package/dist/GeoHubCompareMaps.js.map +1 -0
- package/dist/GeoHubMap.d.ts +118 -0
- package/dist/GeoHubMap.js +2 -0
- package/dist/GeoHubMap.js.map +1 -0
- package/dist/GeoHubMapWithLayerSelection.d.ts +117 -0
- package/dist/GeoHubMapWithLayerSelection.js +2 -0
- package/dist/GeoHubMapWithLayerSelection.js.map +1 -0
- package/dist/GraphDescription.d.ts +12 -0
- package/dist/GraphDescription.js +2 -0
- package/dist/GraphDescription.js.map +1 -0
- package/dist/GraphFooter.d.ts +24 -0
- package/dist/GraphFooter.js +2 -0
- package/dist/GraphFooter.js.map +1 -0
- package/dist/GraphHeader.d.ts +22 -0
- package/dist/GraphHeader.js +2 -0
- package/dist/GraphHeader.js.map +1 -0
- package/dist/GraphTitle.d.ts +13 -0
- package/dist/GraphTitle.js +2 -0
- package/dist/GraphTitle.js.map +1 -0
- package/dist/GriddedGraphs.d.ts +540 -0
- package/dist/GriddedGraphs.js +2 -0
- package/dist/GriddedGraphs.js.map +1 -0
- package/dist/GriddedGraphsFromConfig.d.ts +543 -0
- package/dist/GriddedGraphsFromConfig.js +2 -0
- package/dist/GriddedGraphsFromConfig.js.map +1 -0
- package/dist/HeatMap.d.ts +166 -0
- package/dist/HeatMap.js +2 -0
- package/dist/HeatMap.js.map +1 -0
- package/dist/Histogram.d.ts +165 -0
- package/dist/Histogram.js +2 -0
- package/dist/Histogram.js.map +1 -0
- package/dist/ImageDownloadButton.d.ts +15 -0
- package/dist/ImageDownloadButton.js +2 -0
- package/dist/ImageDownloadButton.js.map +1 -0
- package/dist/LineChartWithConfidenceInterval.d.ts +250 -0
- package/dist/LineChartWithConfidenceInterval.js +2 -0
- package/dist/LineChartWithConfidenceInterval.js.map +1 -0
- package/dist/LinearColorLegend.d.ts +13 -0
- package/dist/LinearColorLegend.js +2 -0
- package/dist/LinearColorLegend.js.map +1 -0
- package/dist/Modal-C9txyGOk.js +723 -0
- package/dist/Modal-C9txyGOk.js.map +1 -0
- package/dist/Modal-cQF2UQIa.cjs +46 -0
- package/dist/Modal-cQF2UQIa.cjs.map +1 -0
- package/dist/MultiGraphDashboard.d.ts +558 -0
- package/dist/MultiGraphDashboard.js +2 -0
- package/dist/MultiGraphDashboard.js.map +1 -0
- package/dist/MultiGraphDashboardFromConfig.d.ts +562 -0
- package/dist/MultiGraphDashboardFromConfig.js +2 -0
- package/dist/MultiGraphDashboardFromConfig.js.map +1 -0
- package/dist/MultiGraphDashboardWideToLongFormat.d.ts +128 -0
- package/dist/MultiGraphDashboardWideToLongFormat.js +2 -0
- package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -0
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +133 -0
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +2 -0
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -0
- package/dist/MultiLineAltChart.d.ts +244 -0
- package/dist/MultiLineAltChart.js +2 -0
- package/dist/MultiLineAltChart.js.map +1 -0
- package/dist/MultiLineChart.d.ts +246 -0
- package/dist/MultiLineChart.js +2 -0
- package/dist/MultiLineChart.js.map +1 -0
- package/dist/ParetoChart.d.ts +178 -0
- package/dist/ParetoChart.js +2 -0
- package/dist/ParetoChart.js.map +1 -0
- package/dist/RadarChart.d.ts +176 -0
- package/dist/RadarChart.js +2 -0
- package/dist/RadarChart.js.map +1 -0
- package/dist/ReferenceLine-BgDdQbDI.js +129 -0
- package/dist/ReferenceLine-BgDdQbDI.js.map +1 -0
- package/dist/ReferenceLine-Bsb5jeE4.cjs +2 -0
- package/dist/ReferenceLine-Bsb5jeE4.cjs.map +1 -0
- package/dist/RegressionLine-BfpCuD7B.cjs +2 -0
- package/dist/RegressionLine-BfpCuD7B.cjs.map +1 -0
- package/dist/RegressionLine-cSljpHaE.js +49 -0
- package/dist/RegressionLine-cSljpHaE.js.map +1 -0
- package/dist/SVGDownloadButton.d.ts +15 -0
- package/dist/SVGDownloadButton.js +2 -0
- package/dist/SVGDownloadButton.js.map +1 -0
- package/dist/SankeyChart.d.ts +178 -0
- package/dist/SankeyChart.js +2 -0
- package/dist/SankeyChart.js.map +1 -0
- package/dist/ScatterPlot.d.ts +266 -0
- package/dist/ScatterPlot.js +2 -0
- package/dist/ScatterPlot.js.map +1 -0
- package/dist/ScrollStory.d.ts +491 -0
- package/dist/ScrollStory.js +2 -0
- package/dist/ScrollStory.js.map +1 -0
- package/dist/SimpleLineChart.d.ts +230 -0
- package/dist/SimpleLineChart.js +2 -0
- package/dist/SimpleLineChart.js.map +1 -0
- package/dist/SingleGraphDashboard.d.ts +545 -0
- package/dist/SingleGraphDashboard.js +2 -0
- package/dist/SingleGraphDashboard.js.map +1 -0
- package/dist/SingleGraphDashboardFromConfig.d.ts +547 -0
- package/dist/SingleGraphDashboardFromConfig.js +2 -0
- package/dist/SingleGraphDashboardFromConfig.js.map +1 -0
- package/dist/SlopeChart.d.ts +167 -0
- package/dist/SlopeChart.js +2 -0
- package/dist/SlopeChart.js.map +1 -0
- package/dist/Source.d.ts +16 -0
- package/dist/Source.js +2 -0
- package/dist/Source.js.map +1 -0
- package/dist/SparkLine.d.ts +139 -0
- package/dist/SparkLine.js +2 -0
- package/dist/SparkLine.js.map +1 -0
- package/dist/Spinner-DN3s4S0H.js +17 -0
- package/dist/Spinner-DN3s4S0H.js.map +1 -0
- package/dist/Spinner-UmN-KPe9.cjs +2 -0
- package/dist/Spinner-UmN-KPe9.cjs.map +1 -0
- package/dist/StatCardFromData.d.ts +115 -0
- package/dist/StatCardFromData.js +2 -0
- package/dist/StatCardFromData.js.map +1 -0
- package/dist/StripChart.d.ts +178 -0
- package/dist/StripChart.js +2 -0
- package/dist/StripChart.js.map +1 -0
- package/dist/ThreeDGlobe.d.ts +158 -0
- package/dist/ThreeDGlobe.js +2 -0
- package/dist/ThreeDGlobe.js.map +1 -0
- package/dist/ThresholdColorLegendWithMouseOver.d.ts +16 -0
- package/dist/ThresholdColorLegendWithMouseOver.js +2 -0
- package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -0
- package/dist/Tooltip-BM18N_3l.cjs +2 -0
- package/dist/Tooltip-BM18N_3l.cjs.map +1 -0
- package/dist/Tooltip-CzZ1wFyF.js +47 -0
- package/dist/Tooltip-CzZ1wFyF.js.map +1 -0
- package/dist/TreeMapGraph.d.ts +158 -0
- package/dist/TreeMapGraph.js +2 -0
- package/dist/TreeMapGraph.js.map +1 -0
- package/dist/Types.d.ts +883 -0
- package/dist/Types.js +2 -0
- package/dist/Types.js.map +1 -0
- package/dist/Typography-CDR-DAHH.cjs +2 -0
- package/dist/Typography-CDR-DAHH.cjs.map +1 -0
- package/dist/Typography-XJoSE-By.js +58 -0
- package/dist/Typography-XJoSE-By.js.map +1 -0
- package/dist/UnitChart.d.ts +132 -0
- package/dist/UnitChart.js +2 -0
- package/dist/UnitChart.js.map +1 -0
- package/dist/XAxesLabels-C9REbQQs.cjs +2 -0
- package/dist/XAxesLabels-C9REbQQs.cjs.map +1 -0
- package/dist/XAxesLabels-DVw7Lvuz.js +58 -0
- package/dist/XAxesLabels-DVw7Lvuz.js.map +1 -0
- package/dist/XTicksAndGridLines-CUefTINd.js +57 -0
- package/dist/XTicksAndGridLines-CUefTINd.js.map +1 -0
- package/dist/XTicksAndGridLines-DuK35ROS.cjs +2 -0
- package/dist/XTicksAndGridLines-DuK35ROS.cjs.map +1 -0
- package/dist/YAxesLabels-CYVY053X.js +53 -0
- package/dist/YAxesLabels-CYVY053X.js.map +1 -0
- package/dist/YAxesLabels-DhBdLk3Z.cjs +2 -0
- package/dist/YAxesLabels-DhBdLk3Z.cjs.map +1 -0
- package/dist/YTicksAndGridLines-BJRXuBdC.js +57 -0
- package/dist/YTicksAndGridLines-BJRXuBdC.js.map +1 -0
- package/dist/YTicksAndGridLines-CtLvzExe.cjs +2 -0
- package/dist/YTicksAndGridLines-CtLvzExe.cjs.map +1 -0
- package/dist/_commonjsHelpers-DKOUU3wS.cjs +2 -0
- package/dist/_commonjsHelpers-DKOUU3wS.cjs.map +1 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js +9 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
- package/dist/area-BE2wo7fv.js +53 -0
- package/dist/area-BE2wo7fv.js.map +1 -0
- package/dist/area-D3Qx7k7K.cjs +2 -0
- package/dist/area-D3Qx7k7K.cjs.map +1 -0
- package/dist/array-B7TkkRH0.js +89 -0
- package/dist/array-B7TkkRH0.js.map +1 -0
- package/dist/array-DKbXV8lR.cjs +2 -0
- package/dist/array-DKbXV8lR.cjs.map +1 -0
- package/dist/band-BEjh2CHI.js +47 -0
- package/dist/band-BEjh2CHI.js.map +1 -0
- package/dist/band-CAApY4Pd.cjs +2 -0
- package/dist/band-CAApY4Pd.cjs.map +1 -0
- package/dist/checkIfMultiple-CaefP4X2.js +2264 -0
- package/dist/checkIfMultiple-CaefP4X2.js.map +1 -0
- package/dist/checkIfMultiple-D3h8to1T.cjs +12 -0
- package/dist/checkIfMultiple-D3h8to1T.cjs.map +1 -0
- package/dist/checkIfNullOrUndefined.d.ts +15 -0
- package/dist/checkIfNullOrUndefined.js +2 -0
- package/dist/checkIfNullOrUndefined.js.map +1 -0
- package/dist/customArea-B47Ew5cT.cjs +2 -0
- package/dist/customArea-B47Ew5cT.cjs.map +1 -0
- package/dist/customArea-I3MsoqIl.js +176 -0
- package/dist/customArea-I3MsoqIl.js.map +1 -0
- package/dist/defaultLocale-BEa-49Qz.js +172 -0
- package/dist/defaultLocale-BEa-49Qz.js.map +1 -0
- package/dist/defaultLocale-DIVzfLaQ.cjs +2 -0
- package/dist/defaultLocale-DIVzfLaQ.cjs.map +1 -0
- package/dist/delaunay-C1uAf38t.js +684 -0
- package/dist/delaunay-C1uAf38t.js.map +1 -0
- package/dist/delaunay-rcy0HhZi.cjs +2 -0
- package/dist/delaunay-rcy0HhZi.cjs.map +1 -0
- package/dist/ensureCompleteData-BBDZbDCE.js +102 -0
- package/dist/ensureCompleteData-BBDZbDCE.js.map +1 -0
- package/dist/ensureCompleteData-DqWQ2Zbi.cjs +2 -0
- package/dist/ensureCompleteData-DqWQ2Zbi.cjs.map +1 -0
- package/dist/excelDownload.d.ts +31 -0
- package/dist/excelDownload.js +2 -0
- package/dist/excelDownload.js.map +1 -0
- package/dist/fetchAndParseData.d.ts +84 -0
- package/dist/fetchAndParseData.js +16 -0
- package/dist/fetchAndParseData.js.map +1 -0
- package/dist/filterData-B8ocT57s.js +14 -0
- package/dist/filterData-B8ocT57s.js.map +1 -0
- package/dist/filterData-DN6py7y_.cjs +2 -0
- package/dist/filterData-DN6py7y_.cjs.map +1 -0
- package/dist/generateCodes.d.ts +25 -0
- package/dist/generateCodes.js +2 -0
- package/dist/generateCodes.js.map +1 -0
- package/dist/generateRandomString-B5zBiJzS.cjs +2 -0
- package/dist/generateRandomString-B5zBiJzS.cjs.map +1 -0
- package/dist/generateRandomString-za3IQGfQ.js +11 -0
- package/dist/generateRandomString-za3IQGfQ.js.map +1 -0
- package/dist/getJenks.d.ts +17 -0
- package/dist/getJenks.js +2 -0
- package/dist/getJenks.js.map +1 -0
- package/dist/getPercentileValue.d.ts +13 -0
- package/dist/getPercentileValue.js +2 -0
- package/dist/getPercentileValue.js.map +1 -0
- package/dist/getQueryParamsFromLink.d.ts +18 -0
- package/dist/getQueryParamsFromLink.js +2 -0
- package/dist/getQueryParamsFromLink.js.map +1 -0
- package/dist/getSchema.d.ts +3256 -0
- package/dist/getSchema.js +2 -0
- package/dist/getSchema.js.map +1 -0
- package/dist/getSliderMarks-CWajGCGq.js +719 -0
- package/dist/getSliderMarks-CWajGCGq.js.map +1 -0
- package/dist/getSliderMarks-DDJ1CdhL.cjs +6 -0
- package/dist/getSliderMarks-DDJ1CdhL.cjs.map +1 -0
- package/dist/getTextColorBasedOnBgColor.d.ts +13 -0
- package/dist/getTextColorBasedOnBgColor.js +2 -0
- package/dist/getTextColorBasedOnBgColor.js.map +1 -0
- package/dist/getUniqValue.d.ts +18 -0
- package/dist/getUniqValue.js +2 -0
- package/dist/getUniqValue.js.map +1 -0
- package/dist/graphList.d.ts +9 -0
- package/dist/graphList.js +2 -0
- package/dist/graphList.js.map +1 -0
- package/dist/imageDownload.d.ts +16 -0
- package/dist/imageDownload.js +3 -0
- package/dist/imageDownload.js.map +1 -0
- package/dist/index-01r5X3Gr-9jE0ObrK.cjs +2 -0
- package/dist/index-01r5X3Gr-9jE0ObrK.cjs.map +1 -0
- package/dist/index-01r5X3Gr-kH7FxQ7P.js +451 -0
- package/dist/index-01r5X3Gr-kH7FxQ7P.js.map +1 -0
- package/dist/index-27yTRcko.js +35 -0
- package/dist/index-27yTRcko.js.map +1 -0
- package/dist/index-B0rbzOoC.cjs +2 -0
- package/dist/index-B0rbzOoC.cjs.map +1 -0
- package/dist/index-BGMGC-HN.cjs +22 -0
- package/dist/index-BGMGC-HN.cjs.map +1 -0
- package/dist/index-BHm2KTjD-2e-Fu8L-.js +702 -0
- package/dist/index-BHm2KTjD-2e-Fu8L-.js.map +1 -0
- package/dist/index-BHm2KTjD-D8FylaKc.cjs +44 -0
- package/dist/index-BHm2KTjD-D8FylaKc.cjs.map +1 -0
- package/dist/index-BIPNFFja.js +506 -0
- package/dist/index-BIPNFFja.js.map +1 -0
- package/dist/index-BLizQDlg.js +658 -0
- package/dist/index-BLizQDlg.js.map +1 -0
- package/dist/index-BXns0-ng.cjs +2 -0
- package/dist/index-BXns0-ng.cjs.map +1 -0
- package/dist/index-BYroABPm.cjs +2 -0
- package/dist/index-BYroABPm.cjs.map +1 -0
- package/dist/index-BczVvEBZ.cjs +2 -0
- package/dist/index-BczVvEBZ.cjs.map +1 -0
- package/dist/index-BzeLQvXk.cjs +2 -0
- package/dist/index-BzeLQvXk.cjs.map +1 -0
- package/dist/index-C1rRk_50.js +273 -0
- package/dist/index-C1rRk_50.js.map +1 -0
- package/dist/index-C21TvELx.cjs +2 -0
- package/dist/index-C21TvELx.cjs.map +1 -0
- package/dist/index-CEc_9zWy.cjs +2 -0
- package/dist/index-CEc_9zWy.cjs.map +1 -0
- package/dist/index-CZbIGs8q.cjs +2 -0
- package/dist/index-CZbIGs8q.cjs.map +1 -0
- package/dist/index-CaAIPGZo.js +631 -0
- package/dist/index-CaAIPGZo.js.map +1 -0
- package/dist/index-CbVeVrla.cjs +2 -0
- package/dist/index-CbVeVrla.cjs.map +1 -0
- package/dist/index-CqzhBPuO-CfQywbdq.js +41 -0
- package/dist/index-CqzhBPuO-CfQywbdq.js.map +1 -0
- package/dist/index-CqzhBPuO-raKZqS7l.cjs +2 -0
- package/dist/index-CqzhBPuO-raKZqS7l.cjs.map +1 -0
- package/dist/index-D7ltPi18.js +26 -0
- package/dist/index-D7ltPi18.js.map +1 -0
- package/dist/index-DSnvdkHZ.js +495 -0
- package/dist/index-DSnvdkHZ.js.map +1 -0
- package/dist/index-DXmF_0ez.js +308 -0
- package/dist/index-DXmF_0ez.js.map +1 -0
- package/dist/index-Db-Yg_Ud.js +120 -0
- package/dist/index-Db-Yg_Ud.js.map +1 -0
- package/dist/index-Ds0uHjK9.cjs +2 -0
- package/dist/index-Ds0uHjK9.cjs.map +1 -0
- package/dist/index-DxagiOHo.js +707 -0
- package/dist/index-DxagiOHo.js.map +1 -0
- package/dist/index-DzdwZ2OA.js +77 -0
- package/dist/index-DzdwZ2OA.js.map +1 -0
- package/dist/index-UV9hjG_S.js +53 -0
- package/dist/index-UV9hjG_S.js.map +1 -0
- package/dist/index-a2C2Bqn2.cjs +10 -0
- package/dist/index-a2C2Bqn2.cjs.map +1 -0
- package/dist/index.js +1 -52488
- package/dist/index.js.map +1 -1
- package/dist/init-BhZylTFx.js +63 -0
- package/dist/init-BhZylTFx.js.map +1 -0
- package/dist/init-DU0ybBc_.cjs +2 -0
- package/dist/init-DU0ybBc_.cjs.map +1 -0
- package/dist/line-CPfhohvF.js +68 -0
- package/dist/line-CPfhohvF.js.map +1 -0
- package/dist/line-DHV4JwCR.cjs +2 -0
- package/dist/line-DHV4JwCR.cjs.map +1 -0
- package/dist/linear-BVckp9RD.cjs +2 -0
- package/dist/linear-BVckp9RD.cjs.map +1 -0
- package/dist/linear-DUdu7l2G.js +221 -0
- package/dist/linear-DUdu7l2G.js.map +1 -0
- package/dist/numberFormattingFunction.d.ts +22 -0
- package/dist/numberFormattingFunction.js +2 -0
- package/dist/numberFormattingFunction.js.map +1 -0
- package/dist/ordinal-BOeNbyae.cjs +2 -0
- package/dist/ordinal-BOeNbyae.cjs.map +1 -0
- package/dist/ordinal-w9Lu4Stb.js +62 -0
- package/dist/ordinal-w9Lu4Stb.js.map +1 -0
- package/dist/parse-DlCRUFh_.js +2768 -0
- package/dist/parse-DlCRUFh_.js.map +1 -0
- package/dist/parse-hMnG_lRV.cjs +2 -0
- package/dist/parse-hMnG_lRV.cjs.map +1 -0
- package/dist/pointer-CWRWOsrb.js +23 -0
- package/dist/pointer-CWRWOsrb.js.map +1 -0
- package/dist/pointer-Dkq5NV1q.cjs +2 -0
- package/dist/pointer-Dkq5NV1q.cjs.map +1 -0
- package/dist/pow-B5-jkdHU.cjs +2 -0
- package/dist/pow-B5-jkdHU.cjs.map +1 -0
- package/dist/pow-e8zx3AQJ.js +35 -0
- package/dist/pow-e8zx3AQJ.js.map +1 -0
- package/dist/removeOutliers.d.ts +16 -0
- package/dist/removeOutliers.js +2 -0
- package/dist/removeOutliers.js.map +1 -0
- package/dist/select-Bnfk0lJx.cjs +2 -0
- package/dist/select-Bnfk0lJx.cjs.map +1 -0
- package/dist/select-DKy99ogv.js +584 -0
- package/dist/select-DKy99ogv.js.map +1 -0
- package/dist/simple-statistics-flVzqVtt.js +65 -0
- package/dist/simple-statistics-flVzqVtt.js.map +1 -0
- package/dist/simple-statistics-xm8c0LQQ.cjs +2 -0
- package/dist/simple-statistics-xm8c0LQQ.cjs.map +1 -0
- package/dist/step-BZ3C8QFW.cjs +2 -0
- package/dist/step-BZ3C8QFW.cjs.map +1 -0
- package/dist/step-BrDul-H4.js +119 -0
- package/dist/step-BrDul-H4.js.map +1 -0
- package/dist/string-B8KlVSPX.js +364 -0
- package/dist/string-B8KlVSPX.js.map +1 -0
- package/dist/string-CRoCZCYa.cjs +2 -0
- package/dist/string-CRoCZCYa.cjs.map +1 -0
- package/dist/string2HTML-BX0oNw83.js +758 -0
- package/dist/string2HTML-BX0oNw83.js.map +1 -0
- package/dist/string2HTML-X4ZYX5jI.cjs +3 -0
- package/dist/string2HTML-X4ZYX5jI.cjs.map +1 -0
- package/dist/style.css +1 -1
- package/dist/svgDownload.d.ts +16 -0
- package/dist/svgDownload.js +2 -0
- package/dist/svgDownload.js.map +1 -0
- package/dist/threshold-DFfqcDMa.js +23 -0
- package/dist/threshold-DFfqcDMa.js.map +1 -0
- package/dist/threshold-DNsSUf8Q.cjs +2 -0
- package/dist/threshold-DNsSUf8Q.cjs.map +1 -0
- package/dist/time-Byw_jYQ7.cjs +2 -0
- package/dist/time-Byw_jYQ7.cjs.map +1 -0
- package/dist/time-BzJP5SPC.js +715 -0
- package/dist/time-BzJP5SPC.js.map +1 -0
- package/dist/timer-B39XOBYL.js +124 -0
- package/dist/timer-B39XOBYL.js.map +1 -0
- package/dist/timer-CKyBCVzT.cjs +2 -0
- package/dist/timer-CKyBCVzT.cjs.map +1 -0
- package/dist/toConsumableArray-BSMMWi3w-Cu4vcE-m.js +139 -0
- package/dist/toConsumableArray-BSMMWi3w-Cu4vcE-m.js.map +1 -0
- package/dist/toConsumableArray-BSMMWi3w-DJL7-zAp.cjs +4 -0
- package/dist/toConsumableArray-BSMMWi3w-DJL7-zAp.cjs.map +1 -0
- package/dist/transformColumnsToArray.d.ts +38 -0
- package/dist/transformColumnsToArray.js +2 -0
- package/dist/transformColumnsToArray.js.map +1 -0
- package/dist/transformDataForAggregation.d.ts +38 -0
- package/dist/transformDataForAggregation.js +2 -0
- package/dist/transformDataForAggregation.js.map +1 -0
- package/dist/transformDataForGraph.d.ts +47 -0
- package/dist/transformDataForGraph.js +2 -0
- package/dist/transformDataForGraph.js.map +1 -0
- package/dist/transformDataForGraphFromFile.d.ts +66 -0
- package/dist/transformDataForGraphFromFile.js +2 -0
- package/dist/transformDataForGraphFromFile.js.map +1 -0
- package/dist/use-in-view-CZPXmTZM.js +4645 -0
- package/dist/use-in-view-CZPXmTZM.js.map +1 -0
- package/dist/use-in-view-Dl1CsAIo.cjs +2 -0
- package/dist/use-in-view-Dl1CsAIo.cjs.map +1 -0
- package/dist/validateSchema.d.ts +68 -0
- package/dist/validateSchema.js +2 -0
- package/dist/validateSchema.js.map +1 -0
- package/dist/x-Dft9NVe_-DcB7wtv5.js +61 -0
- package/dist/x-Dft9NVe_-DcB7wtv5.js.map +1 -0
- package/dist/x-Dft9NVe_-LeyJu02C.cjs +27 -0
- package/dist/x-Dft9NVe_-LeyJu02C.cjs.map +1 -0
- package/dist/y-D0sAaVii.js +421 -0
- package/dist/y-D0sAaVii.js.map +1 -0
- package/dist/y-QcCbqrzx.cjs +2 -0
- package/dist/y-QcCbqrzx.cjs.map +1 -0
- package/dist/zoom-Lo7IAUfC.cjs +2 -0
- package/dist/zoom-Lo7IAUfC.cjs.map +1 -0
- package/dist/zoom-_lqdiGoI.js +1983 -0
- package/dist/zoom-_lqdiGoI.js.map +1 -0
- package/package.json +415 -4
- package/dist/index.cjs +0 -68
- package/dist/index.cjs.map +0 -1
|
@@ -0,0 +1,558 @@
|
|
|
1
|
+
import { JSX } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
declare interface AdvancedDataSelectionDataType {
|
|
4
|
+
label?: string;
|
|
5
|
+
options: {
|
|
6
|
+
label: string;
|
|
7
|
+
dataConfiguration: {
|
|
8
|
+
columnId: string[] | string;
|
|
9
|
+
chartConfigId: string;
|
|
10
|
+
}[];
|
|
11
|
+
graphSettings?: GraphSettingsDataType;
|
|
12
|
+
}[];
|
|
13
|
+
ui?: 'select' | 'radio';
|
|
14
|
+
width?: string;
|
|
15
|
+
defaultValue?: {
|
|
16
|
+
label: string;
|
|
17
|
+
dataConfiguration: {
|
|
18
|
+
columnId: string[] | string;
|
|
19
|
+
chartConfigId: string;
|
|
20
|
+
}[];
|
|
21
|
+
graphSettings?: GraphSettingsDataType;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
declare interface AggregationSettingsDataType {
|
|
26
|
+
column: string;
|
|
27
|
+
aggregationMethod?: 'sum' | 'average' | 'min' | 'max';
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
declare interface AnimateDataType {
|
|
31
|
+
duration: number;
|
|
32
|
+
once: boolean;
|
|
33
|
+
amount: 'some' | 'all' | number;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare interface AnnotationSettingsDataType {
|
|
37
|
+
text: string;
|
|
38
|
+
maxWidth?: number;
|
|
39
|
+
xCoordinate?: number | string;
|
|
40
|
+
yCoordinate?: number | string;
|
|
41
|
+
xOffset?: number;
|
|
42
|
+
yOffset?: number;
|
|
43
|
+
align?: 'center' | 'left' | 'right';
|
|
44
|
+
color?: string;
|
|
45
|
+
fontWeight?: 'regular' | 'bold' | 'medium';
|
|
46
|
+
showConnector?: boolean | number;
|
|
47
|
+
connectorRadius?: number;
|
|
48
|
+
classNames?: {
|
|
49
|
+
connector?: string;
|
|
50
|
+
text?: string;
|
|
51
|
+
};
|
|
52
|
+
styles?: {
|
|
53
|
+
connector?: React.CSSProperties;
|
|
54
|
+
text?: React.CSSProperties;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
declare interface AxesClassNameObject {
|
|
59
|
+
gridLines?: string;
|
|
60
|
+
labels?: string;
|
|
61
|
+
title?: string;
|
|
62
|
+
axis?: string;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
declare interface AxesStyleObject {
|
|
66
|
+
gridLines?: React.CSSProperties;
|
|
67
|
+
labels?: React.CSSProperties;
|
|
68
|
+
title?: React.CSSProperties;
|
|
69
|
+
axis?: React.CSSProperties;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
declare interface ClassNameObject {
|
|
73
|
+
title?: string;
|
|
74
|
+
footnote?: string;
|
|
75
|
+
source?: string;
|
|
76
|
+
description?: string;
|
|
77
|
+
tooltip?: string;
|
|
78
|
+
xAxis?: AxesClassNameObject;
|
|
79
|
+
yAxis?: AxesClassNameObject;
|
|
80
|
+
legend?: string;
|
|
81
|
+
graphContainer?: string;
|
|
82
|
+
graphObjectValues?: string;
|
|
83
|
+
dataConnectors?: string;
|
|
84
|
+
mouseOverLine?: string;
|
|
85
|
+
regLine?: string;
|
|
86
|
+
dataCards?: string;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
declare interface ColumnConfigurationDataType {
|
|
90
|
+
column: string;
|
|
91
|
+
delimiter?: string;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
declare type CurveTypes = 'linear' | 'curve' | 'step' | 'stepAfter' | 'stepBefore';
|
|
95
|
+
|
|
96
|
+
declare interface CustomHighlightAreaSettingsDataType {
|
|
97
|
+
coordinates: (number | string)[];
|
|
98
|
+
closePath?: boolean;
|
|
99
|
+
style?: React.CSSProperties;
|
|
100
|
+
className?: string;
|
|
101
|
+
color?: string;
|
|
102
|
+
strokeWidth?: number;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
declare interface CustomLayerDataType {
|
|
106
|
+
position: 'before' | 'after';
|
|
107
|
+
layer: React.ReactNode;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
declare type DashboardColumnDataType = {
|
|
111
|
+
graphType: GraphType;
|
|
112
|
+
attachedFilter?: string;
|
|
113
|
+
columnWidth?: number;
|
|
114
|
+
dataTransform?: {
|
|
115
|
+
keyColumn: string;
|
|
116
|
+
aggregationColumnsSetting?: AggregationSettingsDataType[];
|
|
117
|
+
};
|
|
118
|
+
dataFilters?: DataFilterDataType[];
|
|
119
|
+
graphDataConfiguration?: GraphConfigurationDataType[];
|
|
120
|
+
dataSelectionOptions?: DataSelectionDataType[];
|
|
121
|
+
advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];
|
|
122
|
+
settings?: GraphSettingsDataType;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
declare type DashboardLayoutDataType = {
|
|
126
|
+
title?: string;
|
|
127
|
+
description?: string;
|
|
128
|
+
padding?: string;
|
|
129
|
+
backgroundColor?: string | boolean;
|
|
130
|
+
language?: Languages;
|
|
131
|
+
rows: {
|
|
132
|
+
columns: DashboardColumnDataType[];
|
|
133
|
+
height?: number;
|
|
134
|
+
}[];
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
declare interface DataFilterDataType {
|
|
138
|
+
column: string;
|
|
139
|
+
includeValues?: (string | number | boolean | null | undefined)[];
|
|
140
|
+
excludeValues?: (string | number | boolean | null | undefined)[];
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
declare interface DataSelectionDataType {
|
|
144
|
+
label?: string;
|
|
145
|
+
allowedColumnIds: {
|
|
146
|
+
value: string;
|
|
147
|
+
label: string;
|
|
148
|
+
graphSettings: GraphSettingsDataType;
|
|
149
|
+
}[];
|
|
150
|
+
chartConfigId: string;
|
|
151
|
+
ui?: 'select' | 'radio';
|
|
152
|
+
width?: string;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
declare interface DataSettingsDataType {
|
|
156
|
+
dataURL?: string | FileSettingsDataType[];
|
|
157
|
+
fileType?: 'csv' | 'json' | 'api';
|
|
158
|
+
delimiter?: string;
|
|
159
|
+
columnsToArray?: ColumnConfigurationDataType[];
|
|
160
|
+
apiHeaders?: any;
|
|
161
|
+
dataTransformation?: string;
|
|
162
|
+
idColumnTitle?: string;
|
|
163
|
+
data?: any;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
declare interface DataTableColumnDataType {
|
|
167
|
+
columnTitle?: string;
|
|
168
|
+
columnId: string;
|
|
169
|
+
sortable?: boolean;
|
|
170
|
+
filterOptions?: string[];
|
|
171
|
+
chip?: boolean;
|
|
172
|
+
chipColumnId?: string;
|
|
173
|
+
chipColors?: {
|
|
174
|
+
value: string;
|
|
175
|
+
color: string;
|
|
176
|
+
}[];
|
|
177
|
+
separator?: string;
|
|
178
|
+
align?: 'left' | 'right' | 'center';
|
|
179
|
+
suffix?: string;
|
|
180
|
+
prefix?: string;
|
|
181
|
+
columnWidth?: number;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
declare interface FileSettingsDataType {
|
|
185
|
+
dataURL: string;
|
|
186
|
+
idColumnName: string;
|
|
187
|
+
fileType?: 'csv' | 'json' | 'api';
|
|
188
|
+
delimiter?: string;
|
|
189
|
+
columnsToArray?: ColumnConfigurationDataType[];
|
|
190
|
+
apiHeaders?: any;
|
|
191
|
+
dataTransformation?: string;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
declare type FilterUiSettingsDataType = {
|
|
195
|
+
column: string;
|
|
196
|
+
label?: string;
|
|
197
|
+
singleSelect?: boolean;
|
|
198
|
+
clearable?: boolean;
|
|
199
|
+
defaultValue?: string[] | string | number | number[];
|
|
200
|
+
excludeValues?: string[];
|
|
201
|
+
allowSelectAll?: boolean;
|
|
202
|
+
width?: string;
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
declare type GeoHubGraphType = 'geoHubCompareMap' | 'geoHubMap' | 'geoHubMapWithLayerSelection';
|
|
206
|
+
|
|
207
|
+
declare interface GraphConfigurationDataType {
|
|
208
|
+
columnId: string | string[];
|
|
209
|
+
chartConfigId: string;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
declare interface GraphSettingsDataType {
|
|
213
|
+
colors?: string | string[] | string[][];
|
|
214
|
+
orientation?: 'horizontal' | 'vertical';
|
|
215
|
+
axisTitles?: [string, string];
|
|
216
|
+
graphTitle?: string | React.ReactNode;
|
|
217
|
+
labelOrder?: string[];
|
|
218
|
+
graphDescription?: string | React.ReactNode;
|
|
219
|
+
footNote?: string | React.ReactNode;
|
|
220
|
+
height?: number;
|
|
221
|
+
width?: number;
|
|
222
|
+
suffix?: string;
|
|
223
|
+
prefix?: string;
|
|
224
|
+
sources?: SourcesDataType[];
|
|
225
|
+
barPadding?: number;
|
|
226
|
+
showTicks?: boolean;
|
|
227
|
+
leftMargin?: number;
|
|
228
|
+
rightMargin?: number;
|
|
229
|
+
truncateBy?: number;
|
|
230
|
+
colorDomain?: string[] | number[];
|
|
231
|
+
colorLegendTitle?: string;
|
|
232
|
+
backgroundColor?: string | boolean;
|
|
233
|
+
padding?: string;
|
|
234
|
+
topMargin?: number;
|
|
235
|
+
bottomMargin?: number;
|
|
236
|
+
relativeHeight?: number;
|
|
237
|
+
showColorScale?: boolean;
|
|
238
|
+
maxValue?: number;
|
|
239
|
+
minValue?: number;
|
|
240
|
+
tooltip?: string | ((_d: any) => React.ReactNode);
|
|
241
|
+
refValues?: ReferenceDataType[];
|
|
242
|
+
graphID?: string;
|
|
243
|
+
highlightedDataPoints?: (string | number)[];
|
|
244
|
+
graphDownload?: boolean;
|
|
245
|
+
sortData?: 'desc' | 'asc';
|
|
246
|
+
dataDownload?: boolean;
|
|
247
|
+
maxRadiusValue?: number;
|
|
248
|
+
leftBarTitle?: string;
|
|
249
|
+
rightBarTitle?: string;
|
|
250
|
+
barColors?: [string, string];
|
|
251
|
+
centerGap?: number;
|
|
252
|
+
columnData?: DataTableColumnDataType[];
|
|
253
|
+
mainText?: string;
|
|
254
|
+
subNote?: string;
|
|
255
|
+
radius?: number;
|
|
256
|
+
strokeWidth?: number;
|
|
257
|
+
showValues?: boolean;
|
|
258
|
+
scaleType?: ScaleDataType;
|
|
259
|
+
showColumnLabels?: boolean;
|
|
260
|
+
showRowLabels?: boolean;
|
|
261
|
+
noDataColor?: string;
|
|
262
|
+
fillContainer?: boolean;
|
|
263
|
+
numberOfBins?: number;
|
|
264
|
+
donutStrokeWidth?: number;
|
|
265
|
+
barGraphLayout?: 'horizontal' | 'vertical';
|
|
266
|
+
graphType?: 'circlePacking' | 'treeMap' | 'barGraph' | 'donutChart';
|
|
267
|
+
donutColorDomain?: string[];
|
|
268
|
+
lineTitles?: [string, string];
|
|
269
|
+
noOfXTicks?: number;
|
|
270
|
+
dateFormat?: string;
|
|
271
|
+
lineColors?: string[];
|
|
272
|
+
sameAxes?: boolean;
|
|
273
|
+
highlightAreaSettings?: HighlightAreaSettingsDataType[] | HighlightAreaSettingsForScatterPlotDataType[];
|
|
274
|
+
labels?: (string | number)[];
|
|
275
|
+
showColorLegendAtTop?: boolean;
|
|
276
|
+
highlightedLines?: (string | number)[];
|
|
277
|
+
area?: boolean;
|
|
278
|
+
mapData?: any;
|
|
279
|
+
xColorLegendTitle?: string;
|
|
280
|
+
yColorLegendTitle?: string;
|
|
281
|
+
xDomain?: [number, number, number, number];
|
|
282
|
+
yDomain?: [number, number, number, number];
|
|
283
|
+
scale?: number;
|
|
284
|
+
centerPoint?: [number, number];
|
|
285
|
+
mapBorderWidth?: number;
|
|
286
|
+
mapNoDataColor?: string;
|
|
287
|
+
mapBorderColor?: string;
|
|
288
|
+
isWorldMap?: boolean;
|
|
289
|
+
zoomScaleExtend?: [number, number];
|
|
290
|
+
zoomTranslateExtend?: [[number, number], [number, number]];
|
|
291
|
+
highlightedIds?: string[];
|
|
292
|
+
mapProperty?: string;
|
|
293
|
+
showAntarctica?: boolean;
|
|
294
|
+
mapStyles?: [string, string];
|
|
295
|
+
center?: [number, number];
|
|
296
|
+
zoomLevel?: number;
|
|
297
|
+
mapStyle?: string | {
|
|
298
|
+
style: string;
|
|
299
|
+
name: string;
|
|
300
|
+
}[];
|
|
301
|
+
barTitle?: string;
|
|
302
|
+
lineTitle?: string;
|
|
303
|
+
barColor?: string;
|
|
304
|
+
lineColor?: string;
|
|
305
|
+
showLabels?: boolean;
|
|
306
|
+
xAxisTitle?: string;
|
|
307
|
+
yAxisTitle?: string;
|
|
308
|
+
refXValues?: ReferenceDataType[];
|
|
309
|
+
refYValues?: ReferenceDataType[];
|
|
310
|
+
customHighlightAreaSettings?: CustomHighlightAreaSettingsDataType[];
|
|
311
|
+
maxXValue?: number;
|
|
312
|
+
minXValue?: number;
|
|
313
|
+
maxYValue?: number;
|
|
314
|
+
minYValue?: number;
|
|
315
|
+
axisTitle?: [string, string];
|
|
316
|
+
year?: number | string;
|
|
317
|
+
aggregationMethod?: 'count' | 'max' | 'min' | 'average' | 'sum';
|
|
318
|
+
stripType?: 'strip' | 'dot';
|
|
319
|
+
language?: Languages;
|
|
320
|
+
animate?: boolean | AnimateDataType;
|
|
321
|
+
highlightColor?: string;
|
|
322
|
+
dotOpacity?: number;
|
|
323
|
+
sortParameter?: number | 'diff' | 'total';
|
|
324
|
+
arrowConnector?: boolean;
|
|
325
|
+
connectorStrokeWidth?: number;
|
|
326
|
+
countOnly?: (string | number)[];
|
|
327
|
+
value?: number;
|
|
328
|
+
gridSize?: number;
|
|
329
|
+
unitPadding?: number;
|
|
330
|
+
size?: number;
|
|
331
|
+
totalNoOfDots?: number;
|
|
332
|
+
showStrokeForWhiteDots?: boolean;
|
|
333
|
+
note?: string;
|
|
334
|
+
showNAColor?: boolean;
|
|
335
|
+
minHeight?: number;
|
|
336
|
+
autoPlay?: boolean;
|
|
337
|
+
autoSort?: boolean;
|
|
338
|
+
showOnlyActiveDate?: boolean;
|
|
339
|
+
showDots?: boolean;
|
|
340
|
+
diffAreaColors?: [string, string];
|
|
341
|
+
theme?: 'dark' | 'light';
|
|
342
|
+
uiMode?: 'light' | 'normal';
|
|
343
|
+
maxBarThickness?: number;
|
|
344
|
+
minBarThickness?: number;
|
|
345
|
+
maxNumberOfBars?: number;
|
|
346
|
+
includeLayers?: string[];
|
|
347
|
+
excludeLayers?: string[];
|
|
348
|
+
layerSelection?: {
|
|
349
|
+
layerID: string;
|
|
350
|
+
name: string[];
|
|
351
|
+
}[];
|
|
352
|
+
annotations?: AnnotationSettingsDataType[];
|
|
353
|
+
regressionLine?: boolean | string;
|
|
354
|
+
ariaLabel?: string;
|
|
355
|
+
nodePadding?: number;
|
|
356
|
+
nodeWidth?: number;
|
|
357
|
+
highlightedSourceDataPoints?: string[];
|
|
358
|
+
highlightedTargetDataPoints?: string[];
|
|
359
|
+
defaultLinkOpacity?: number;
|
|
360
|
+
sourceTitle?: string;
|
|
361
|
+
targetTitle?: string;
|
|
362
|
+
sortNodes?: 'asc' | 'desc' | 'mostReadable' | 'none';
|
|
363
|
+
sourceColors?: string[] | string;
|
|
364
|
+
targetColors?: string[] | string;
|
|
365
|
+
sourceColorDomain?: string[];
|
|
366
|
+
targetColorDomain?: string[];
|
|
367
|
+
showIntervalDots?: boolean;
|
|
368
|
+
showIntervalValues?: boolean;
|
|
369
|
+
intervalLineStrokeWidth?: number;
|
|
370
|
+
intervalLineColors?: [string, string];
|
|
371
|
+
intervalAreaColor?: string;
|
|
372
|
+
cardTemplate?: string | ((_d: any) => React.ReactNode);
|
|
373
|
+
cardBackgroundColor?: string;
|
|
374
|
+
legendMaxWidth?: string;
|
|
375
|
+
cardFilters?: {
|
|
376
|
+
column: string;
|
|
377
|
+
label?: string;
|
|
378
|
+
defaultValue?: string | number;
|
|
379
|
+
excludeValues?: (string | number)[];
|
|
380
|
+
width?: string;
|
|
381
|
+
}[];
|
|
382
|
+
cardSortingOptions?: {
|
|
383
|
+
defaultValue?: string;
|
|
384
|
+
options: {
|
|
385
|
+
value: string;
|
|
386
|
+
label: string;
|
|
387
|
+
type: 'asc' | 'desc';
|
|
388
|
+
}[];
|
|
389
|
+
width?: string;
|
|
390
|
+
};
|
|
391
|
+
cardSearchColumns?: string[];
|
|
392
|
+
cardMinWidth?: number;
|
|
393
|
+
textBackground?: boolean;
|
|
394
|
+
headingFontSize?: string;
|
|
395
|
+
centerAlign?: boolean;
|
|
396
|
+
verticalAlign?: 'center' | 'top' | 'bottom';
|
|
397
|
+
resetSelectionOnDoubleClick?: boolean;
|
|
398
|
+
intervalAreaOpacity?: number;
|
|
399
|
+
detailsOnClick?: string | ((_d: any) => React.ReactNode);
|
|
400
|
+
valueColor?: string;
|
|
401
|
+
labelColor?: string;
|
|
402
|
+
noOfYTicks?: number;
|
|
403
|
+
noOfTicks?: number;
|
|
404
|
+
minDate?: string | number;
|
|
405
|
+
maxDate?: string | number;
|
|
406
|
+
colorLegendColors?: string[];
|
|
407
|
+
colorLegendDomain?: string[];
|
|
408
|
+
barAxisTitle?: string;
|
|
409
|
+
barSuffix?: string;
|
|
410
|
+
barPrefix?: string;
|
|
411
|
+
lineSuffix?: string;
|
|
412
|
+
linePrefix?: string;
|
|
413
|
+
xSuffix?: string;
|
|
414
|
+
xPrefix?: string;
|
|
415
|
+
ySuffix?: string;
|
|
416
|
+
yPrefix?: string;
|
|
417
|
+
lineSuffixes?: [string, string];
|
|
418
|
+
linePrefixes?: [string, string];
|
|
419
|
+
allowDataDownloadOnDetail?: string | boolean;
|
|
420
|
+
noOfItemsInAPage?: number;
|
|
421
|
+
curveType?: CurveTypes;
|
|
422
|
+
styles?: StyleObject;
|
|
423
|
+
classNames?: ClassNameObject;
|
|
424
|
+
mapProjection?: MapProjectionTypes;
|
|
425
|
+
filterNA?: boolean;
|
|
426
|
+
fillShape?: boolean;
|
|
427
|
+
colorScaleMaxWidth?: string;
|
|
428
|
+
axisLabels?: (string | number)[];
|
|
429
|
+
minWidth?: string;
|
|
430
|
+
zoomInteraction?: ZoomInteractionTypes;
|
|
431
|
+
layout?: 'primary' | 'secondary';
|
|
432
|
+
qualitativeRangeColors?: string[];
|
|
433
|
+
targetStyle?: 'background' | 'line';
|
|
434
|
+
targetColor?: 'string';
|
|
435
|
+
measureBarWidthFactor?: number;
|
|
436
|
+
mapLegend?: string | React.ReactNode | MapLegendDataType[];
|
|
437
|
+
dimmedOpacity?: number;
|
|
438
|
+
precision?: number;
|
|
439
|
+
customLayers?: CustomLayerDataType[];
|
|
440
|
+
dashedLines?: (string | number)[];
|
|
441
|
+
dashSettings?: string[];
|
|
442
|
+
labelsToBeHidden?: (string | number)[];
|
|
443
|
+
autoRotate?: boolean;
|
|
444
|
+
enableZoom?: boolean;
|
|
445
|
+
globeMaterial?: MaterialDataType;
|
|
446
|
+
categorical?: boolean;
|
|
447
|
+
atmosphereColor?: string;
|
|
448
|
+
lineAxisTitle?: string;
|
|
449
|
+
timeline?: TimelineDataType;
|
|
450
|
+
naLabel?: string;
|
|
451
|
+
globeOffset?: [number, number];
|
|
452
|
+
polygonAltitude?: number;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
declare type GraphType = GraphTypeForGriddedGraph | GeoHubGraphType;
|
|
456
|
+
|
|
457
|
+
declare type GraphTypeForGriddedGraph = 'barChart' | 'stackedBarChart' | 'groupedBarChart' | 'lineChart' | 'dualAxisLineChart' | 'multiLineChart' | 'multiLineAltChart' | 'differenceLineChart' | 'stackedAreaChart' | 'choroplethMap' | 'biVariateChoroplethMap' | 'dotDensityMap' | 'donutChart' | 'slopeChart' | 'scatterPlot' | 'dumbbellChart' | 'treeMap' | 'circlePacking' | 'heatMap' | 'stripChart' | 'beeSwarmChart' | 'butterflyChart' | 'histogram' | 'sparkLine' | 'paretoChart' | 'dataTable' | 'statCard' | 'unitChart' | 'sankeyChart' | 'lineChartWithConfidenceInterval' | 'dataCards' | 'radarChart' | 'bulletChart' | 'threeDGlobe';
|
|
458
|
+
|
|
459
|
+
declare interface HighlightAreaSettingsDataType {
|
|
460
|
+
coordinates: [number | string | null, number | string | null];
|
|
461
|
+
style?: React.CSSProperties;
|
|
462
|
+
className?: string;
|
|
463
|
+
color?: string;
|
|
464
|
+
strokeWidth?: number;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
declare interface HighlightAreaSettingsForScatterPlotDataType {
|
|
468
|
+
coordinates: [number | null, number | null, number | null, number | null];
|
|
469
|
+
style?: React.CSSProperties;
|
|
470
|
+
className?: string;
|
|
471
|
+
color?: string;
|
|
472
|
+
strokeWidth?: number;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
declare type Languages = 'en' | 'ar' | 'az' | 'bn' | 'cy' | 'he' | 'hi' | 'jp' | 'ka' | 'km' | 'ko' | 'my' | 'ne' | 'zh' | 'custom';
|
|
476
|
+
|
|
477
|
+
declare interface MapLegendDataType {
|
|
478
|
+
mapStyleName: string;
|
|
479
|
+
legend: string | React.ReactNode;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
declare type MapProjectionTypes = 'mercator' | 'equalEarth' | 'naturalEarth' | 'orthographic' | 'albersUSA';
|
|
483
|
+
|
|
484
|
+
declare interface MaterialDataType {
|
|
485
|
+
color: string;
|
|
486
|
+
opacity: number;
|
|
487
|
+
transparent: boolean;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
export declare function MultiGraphDashboard(props: Props): JSX.Element;
|
|
491
|
+
|
|
492
|
+
declare interface Props {
|
|
493
|
+
dashboardID?: string;
|
|
494
|
+
dashboardLayout: DashboardLayoutDataType;
|
|
495
|
+
dataSettings: DataSettingsDataType;
|
|
496
|
+
filters?: FilterUiSettingsDataType[];
|
|
497
|
+
noOfFiltersPerRow?: number;
|
|
498
|
+
dataFilters?: DataFilterDataType[];
|
|
499
|
+
debugMode?: boolean;
|
|
500
|
+
theme?: 'dark' | 'light';
|
|
501
|
+
filterPosition?: 'top' | 'side';
|
|
502
|
+
readableHeader?: {
|
|
503
|
+
value: string;
|
|
504
|
+
label: string;
|
|
505
|
+
}[];
|
|
506
|
+
uiMode?: 'light' | 'normal';
|
|
507
|
+
graphStyles?: StyleObject;
|
|
508
|
+
graphClassNames?: ClassNameObject;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
declare interface ReferenceDataType {
|
|
512
|
+
value: number | null;
|
|
513
|
+
text: string;
|
|
514
|
+
color?: string;
|
|
515
|
+
styles?: {
|
|
516
|
+
line?: React.CSSProperties;
|
|
517
|
+
text?: React.CSSProperties;
|
|
518
|
+
};
|
|
519
|
+
classNames?: {
|
|
520
|
+
line?: string;
|
|
521
|
+
text?: string;
|
|
522
|
+
};
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
declare type ScaleDataType = 'categorical' | 'linear' | 'threshold';
|
|
526
|
+
|
|
527
|
+
declare interface SourcesDataType {
|
|
528
|
+
source: string;
|
|
529
|
+
link?: string;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
declare interface StyleObject {
|
|
533
|
+
title?: React.CSSProperties;
|
|
534
|
+
footnote?: React.CSSProperties;
|
|
535
|
+
source?: React.CSSProperties;
|
|
536
|
+
description?: React.CSSProperties;
|
|
537
|
+
graphContainer?: React.CSSProperties;
|
|
538
|
+
tooltip?: React.CSSProperties;
|
|
539
|
+
xAxis?: AxesStyleObject;
|
|
540
|
+
yAxis?: AxesStyleObject;
|
|
541
|
+
graphObjectValues?: React.CSSProperties;
|
|
542
|
+
dataConnectors?: React.CSSProperties;
|
|
543
|
+
mouseOverLine?: React.CSSProperties;
|
|
544
|
+
regLine?: React.CSSProperties;
|
|
545
|
+
dataCards?: React.CSSProperties;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
declare interface TimelineDataType {
|
|
549
|
+
autoplay: boolean;
|
|
550
|
+
enabled: boolean;
|
|
551
|
+
showOnlyActiveDate: boolean;
|
|
552
|
+
speed?: number;
|
|
553
|
+
dateFormat?: string;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
declare type ZoomInteractionTypes = 'scroll' | 'ctrlScroll' | 'button' | 'noZoom';
|
|
557
|
+
|
|
558
|
+
export { }
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./index-BHm2KTjD-D8FylaKc.cjs"),o=require("react"),N=require("./index-Ds0uHjK9.cjs"),y=require("./index-B0rbzOoC.cjs"),m=require("./DropdownSelect-CuzV7gdj.cjs"),H=require("./checkIfMultiple-D3h8to1T.cjs"),L=require("./SingleGraphDashboard.js"),g=require("./fetchAndParseData.js"),P=require("./getUniqValue.js"),U=require("./GraphHeader.js"),I=require("./transformColumnsToArray.js"),z=require("./filterData-DN6py7y_.cjs"),F=require("./index-BGMGC-HN.cjs"),v=x=>x.map(a=>a.columnWidth||1).reduce((a,d)=>a+d,0),B=["barChart","choroplethMap","biVariateChoroplethMap","circlePacking","treeMap"];function J(x){const{dashboardID:S,dashboardLayout:i,dataSettings:a,filters:d,debugMode:c,theme:j="light",readableHeader:V,dataFilters:A,noOfFiltersPerRow:f=4,filterPosition:w,uiMode:b="normal",graphStyles:k,graphClassNames:q}=x,[D,M]=o.useState(void 0),[p,O]=o.useState(void 0),[u,C]=o.useState([]),R=o.useMemo(()=>({ignoreCase:!0,ignoreAccents:!0,trim:!0}),[]),E=o.useMemo(()=>!p||u.length===0?p:p.filter(n=>u.every(e=>e.value&&y.flattenDeep([e.value]).length>0?N.intersection(y.flattenDeep([n[e.filter]]),y.flattenDeep([e.value]).map(r=>r.value)).length>0:!0)),[u,p]);o.useEffect(()=>{M(E)},[E]);const T=o.useCallback(async()=>{if(a)try{const n=await(a.dataURL?typeof a.dataURL=="string"?a.fileType==="json"?g.fetchAndParseJSON(a.dataURL,a.columnsToArray,a.dataTransformation,c):a.fileType==="api"?g.fetchAndTransformDataFromAPI(a.dataURL,a.apiHeaders,a.columnsToArray,a.dataTransformation,c):g.fetchAndParseCSV(a.dataURL,a.dataTransformation,a.columnsToArray,c,a.delimiter,!0):g.fetchAndParseMultipleDataSources(a.dataURL,a.idColumnTitle):I.transformColumnsToArray(a.data,a.columnsToArray));O(n);const e=(d||[]).map(r=>({filter:r.column,label:r.label||`Filter by ${r.column}`,singleSelect:r.singleSelect,clearable:r.clearable,defaultValue:F.transformDefaultValue(r.defaultValue),value:F.transformDefaultValue(r.defaultValue),availableValues:P.getUniqValue(n,r.column).filter(s=>!r.excludeValues?.includes(`${s}`)).map(s=>({value:s,label:s})),allowSelectAll:r.allowSelectAll,width:r.width}));C(e)}catch(t){console.error("Data fetching error:",t)}},[a,d,c]);o.useEffect(()=>{T()},[T]);const h=o.useCallback((t,n)=>{C(e=>e.map(r=>r.filter===t?{...r,value:n}:r))},[]);return l.jsxRuntimeExports.jsx("div",{className:`${j||"light"} flex grow`,dir:i.language==="he"||i.language==="ar"?"rtl":void 0,children:l.jsxRuntimeExports.jsx("div",{className:`${i.backgroundColor?i.backgroundColor===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto gap-4 flex flex-col w-full grow h-inherit ${i.language||"en"}`,style:{...i.backgroundColor&&i.backgroundColor!==!0?{backgroundColor:i.backgroundColor}:{}},id:S,children:l.jsxRuntimeExports.jsx("div",{style:{padding:i.backgroundColor?i.padding||"1rem":i.padding||0,flexGrow:1,display:"flex"},children:l.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[i.title||i.description?l.jsxRuntimeExports.jsx(U.GraphHeader,{graphTitle:i.title,graphDescription:i.description,isDashboard:!0}):null,l.jsxRuntimeExports.jsxs("div",{style:{display:"flex",gap:"1rem",flexWrap:"wrap"},children:[u.length!==0?l.jsxRuntimeExports.jsx("div",{style:{width:w==="side"?"280px":"100%",flexGrow:1,flexShrink:0},children:l.jsxRuntimeExports.jsx("div",{style:{display:"flex",gap:"1rem",flexWrap:"wrap",alignItems:"flex-start",width:"100%",position:"sticky",top:"1rem"},children:u?.map((t,n)=>l.jsxRuntimeExports.jsxs("div",{style:{width:t.width||`calc(${100/f}% - ${(f-1)/f}rem)`,flexGrow:1,flexShrink:0,minWidth:"240px"},children:[l.jsxRuntimeExports.jsx(H.LabelExports.Label,{className:"mb-2",children:t.label}),t.singleSelect?l.jsxRuntimeExports.jsx(m.DropdownSelectExports.DropdownSelect,{options:t.availableValues,isClearable:t.clearable===void 0?!0:t.clearable,size:"sm",variant:b,isMulti:!1,isSearchable:!0,filterOption:m.DropdownSelectExports.createFilter(R),onChange:e=>{h(t.filter,e)},defaultValue:t.defaultValue,value:t.value}):l.jsxRuntimeExports.jsxs(l.jsxRuntimeExports.Fragment,{children:[l.jsxRuntimeExports.jsx(m.DropdownSelectExports.DropdownSelect,{options:t.availableValues,isMulti:!0,size:"sm",isClearable:t.clearable===void 0?!0:t.clearable,variant:b,isSearchable:!0,controlShouldRenderValue:!0,closeMenuOnSelect:!1,hideSelectedOptions:!1,filterOption:m.DropdownSelectExports.createFilter(R),onChange:e=>{h(t.filter,e)},value:t.value,defaultValue:t.defaultValue}),t.allowSelectAll?l.jsxRuntimeExports.jsx("button",{type:"button",className:"bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400",onClick:()=>{h(t.filter,t.availableValues)},children:"Select all options"}):null]})]},n))})}):null,l.jsxRuntimeExports.jsx("div",{style:{width:w==="side"?"calc(100% - 280px - 1rem)":"100%",minWidth:"280px",flexGrow:1,display:"flex",gap:"1rem",flexWrap:"wrap",flexShrink:"0"},children:i.rows.map((t,n)=>l.jsxRuntimeExports.jsx("div",{style:{display:"flex",gap:"1rem",alignItems:"stretch",minHeight:`${t.height||0}px`,height:"auto",width:"100%",flexWrap:"wrap"},children:t.columns.map((e,r)=>l.jsxRuntimeExports.jsx("div",{className:"flex bg-transparent h-inherit grow min-w-60",style:{width:`calc(${100*(e.columnWidth||1)/v(t.columns)}% - ${(v(t.columns)-(e.columnWidth||1))/v(t.columns)}rem)`,minHeight:"inherit"},children:l.jsxRuntimeExports.jsx(L.SingleGraphDashboard,{graphType:e.graphType,dataFilters:e.dataFilters,uiMode:b,graphSettings:{...e.settings||{},width:void 0,height:void 0,resetSelectionOnDoubleClick:e.attachedFilter?!1:e.settings?.resetSelectionOnDoubleClick,styles:e.settings?.styles||k,classNames:e.settings?.classNames||q,radius:e.graphType==="donutChart"?void 0:e.settings?.radius,size:e.graphType==="unitChart"?e.settings?.size:void 0,language:e.settings?.language||i.language,theme:e.settings?.theme||j},dataSettings:{data:D?z.filterData(D,A||[]):void 0},updateFilters:e.attachedFilter&&B.indexOf(e.graphType)!==-1&&u.findIndex(s=>s.filter===e.attachedFilter)!==-1?s=>{const W=u.findIndex(G=>G.filter===e.attachedFilter),$=s?u[W].singleSelect?{value:s,label:s}:[{value:s,label:s}]:void 0;h(e.attachedFilter,$)}:void 0,dataTransform:e.dataTransform,dataSelectionOptions:e.dataSelectionOptions,advancedDataSelectionOptions:e.advancedDataSelectionOptions,graphDataConfiguration:e.graphDataConfiguration,debugMode:c,readableHeader:V||[]})},r))},n))})]})]})})})})}exports.MultiGraphDashboard=J;
|
|
2
|
+
//# sourceMappingURL=MultiGraphDashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiGraphDashboard.js","sources":["../src/Components/Dashboard/MultiGraphDashboard.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { Label } from '@undp/design-system-react/Label';\r\n\r\nimport { SingleGraphDashboard } from './SingleGraphDashboard';\r\n\r\nimport {\r\n ClassNameObject,\r\n DashboardColumnDataType,\r\n DashboardLayoutDataType,\r\n DataFilterDataType,\r\n DataSettingsDataType,\r\n FilterSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport {\r\n fetchAndParseCSV,\r\n fetchAndParseJSON,\r\n fetchAndParseMultipleDataSources,\r\n fetchAndTransformDataFromAPI,\r\n} from '@/Utils/fetchAndParseData';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { transformColumnsToArray } from '@/Utils/transformData/transformColumnsToArray';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\n\r\ninterface Props {\r\n dashboardID?: string;\r\n dashboardLayout: DashboardLayoutDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n noOfFiltersPerRow?: number;\r\n dataFilters?: DataFilterDataType[];\r\n debugMode?: boolean;\r\n theme?: 'dark' | 'light';\r\n filterPosition?: 'top' | 'side';\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n uiMode?: 'light' | 'normal';\r\n graphStyles?: StyleObject;\r\n graphClassNames?: ClassNameObject;\r\n}\r\n\r\nconst TotalWidth = (columns: DashboardColumnDataType[]) => {\r\n const columnWidth = columns.map(d => d.columnWidth || 1);\r\n const sum = columnWidth.reduce((acc, cur) => acc + cur, 0);\r\n return sum;\r\n};\r\n\r\nconst GraphWithAttachedFilter: GraphType[] = [\r\n 'barChart',\r\n 'choroplethMap',\r\n 'biVariateChoroplethMap',\r\n 'circlePacking',\r\n 'treeMap',\r\n];\r\n\r\nexport function MultiGraphDashboard(props: Props) {\r\n const {\r\n dashboardID,\r\n dashboardLayout,\r\n dataSettings,\r\n filters,\r\n debugMode,\r\n theme = 'light',\r\n readableHeader,\r\n dataFilters,\r\n noOfFiltersPerRow = 4,\r\n filterPosition,\r\n uiMode = 'normal',\r\n graphStyles,\r\n graphClassNames,\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [data, setData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [dataFromFile, setDataFromFile] = useState<any>(undefined);\r\n const [filterSettings, setFilterSettings] = useState<FilterSettingsDataType[]>([]);\r\n\r\n const filterConfig = useMemo(\r\n () => ({\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n trim: true,\r\n }),\r\n [],\r\n );\r\n\r\n const filteredData = useMemo(() => {\r\n if (!dataFromFile || filterSettings.length === 0) return dataFromFile;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const result = dataFromFile.filter((item: any) =>\r\n filterSettings.every(filter =>\r\n filter.value && flattenDeep([filter.value]).length > 0\r\n ? intersection(\r\n flattenDeep([item[filter.filter]]),\r\n flattenDeep([filter.value]).map(el => el.value),\r\n ).length > 0\r\n : true,\r\n ),\r\n );\r\n return result;\r\n }, [filterSettings, dataFromFile]);\r\n useEffect(() => {\r\n setData(filteredData);\r\n }, [filteredData]);\r\n\r\n const fetchDataHandler = useCallback(async () => {\r\n if (dataSettings) {\r\n try {\r\n const fetchData = dataSettings.dataURL\r\n ? typeof dataSettings.dataURL === 'string'\r\n ? dataSettings.fileType === 'json'\r\n ? fetchAndParseJSON(\r\n dataSettings.dataURL,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : dataSettings.fileType === 'api'\r\n ? fetchAndTransformDataFromAPI(\r\n dataSettings.dataURL,\r\n dataSettings.apiHeaders,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : fetchAndParseCSV(\r\n dataSettings.dataURL,\r\n dataSettings.dataTransformation,\r\n dataSettings.columnsToArray,\r\n debugMode,\r\n dataSettings.delimiter,\r\n true,\r\n )\r\n : fetchAndParseMultipleDataSources(dataSettings.dataURL, dataSettings.idColumnTitle)\r\n : transformColumnsToArray(dataSettings.data, dataSettings.columnsToArray);\r\n\r\n const d = await fetchData;\r\n setDataFromFile(d);\r\n\r\n // Optimize filter settings generation\r\n const newFilterSettings = (filters || []).map(el => ({\r\n filter: el.column,\r\n label: el.label || `Filter by ${el.column}`,\r\n singleSelect: el.singleSelect,\r\n clearable: el.clearable,\r\n defaultValue: transformDefaultValue(el.defaultValue),\r\n value: transformDefaultValue(el.defaultValue),\r\n availableValues: getUniqValue(d, el.column)\r\n .filter(v => !el.excludeValues?.includes(`${v}`))\r\n .map(v => ({ value: v, label: v })),\r\n allowSelectAll: el.allowSelectAll,\r\n width: el.width,\r\n }));\r\n\r\n setFilterSettings(newFilterSettings);\r\n } catch (error) {\r\n console.error('Data fetching error:', error);\r\n }\r\n }\r\n }, [dataSettings, filters, debugMode]);\r\n useEffect(() => {\r\n fetchDataHandler();\r\n }, [fetchDataHandler]);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const handleFilterChange = useCallback((filter: string, values: any) => {\r\n setFilterSettings(prev => prev.map(f => (f.filter === filter ? { ...f, value: values } : f)));\r\n }, []);\r\n return (\r\n <div\r\n className={`${theme || 'light'} flex grow`}\r\n dir={\r\n dashboardLayout.language === 'he' || dashboardLayout.language === 'ar' ? 'rtl' : undefined\r\n }\r\n >\r\n <div\r\n className={`${\r\n !dashboardLayout.backgroundColor\r\n ? 'bg-transparent '\r\n : dashboardLayout.backgroundColor === true\r\n ? 'bg-primary-gray-200 dark:bg-primary-gray-650 '\r\n : ''\r\n }ml-auto mr-auto gap-4 flex flex-col w-full grow h-inherit ${\r\n dashboardLayout.language || 'en'\r\n }`}\r\n style={{\r\n ...(dashboardLayout.backgroundColor && dashboardLayout.backgroundColor !== true\r\n ? { backgroundColor: dashboardLayout.backgroundColor }\r\n : {}),\r\n }}\r\n id={dashboardID}\r\n >\r\n <div\r\n style={{\r\n padding: dashboardLayout.backgroundColor\r\n ? dashboardLayout.padding || '1rem'\r\n : dashboardLayout.padding || 0,\r\n flexGrow: 1,\r\n display: 'flex',\r\n }}\r\n >\r\n <div className='flex flex-col w-full gap-4 grow justify-between'>\r\n {dashboardLayout.title || dashboardLayout.description ? (\r\n <GraphHeader\r\n graphTitle={dashboardLayout.title}\r\n graphDescription={dashboardLayout.description}\r\n isDashboard\r\n />\r\n ) : null}\r\n <div style={{ display: 'flex', gap: '1rem', flexWrap: 'wrap' }}>\r\n {filterSettings.length !== 0 ? (\r\n <div\r\n style={{\r\n width: filterPosition === 'side' ? '280px' : '100%',\r\n flexGrow: 1,\r\n flexShrink: 0,\r\n }}\r\n >\r\n <div\r\n style={{\r\n display: 'flex',\r\n gap: '1rem',\r\n flexWrap: 'wrap',\r\n alignItems: 'flex-start',\r\n width: '100%',\r\n position: 'sticky',\r\n top: '1rem',\r\n }}\r\n >\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: 1,\r\n flexShrink: 0,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label}</Label>\r\n {d.singleSelect ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n size='sm'\r\n variant={uiMode}\r\n isMulti={false}\r\n isSearchable\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n defaultValue={d.defaultValue}\r\n value={d.value}\r\n />\r\n ) : (\r\n <>\r\n <DropdownSelect\r\n options={d.availableValues}\r\n isMulti\r\n size='sm'\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n variant={uiMode}\r\n isSearchable\r\n controlShouldRenderValue\r\n closeMenuOnSelect={false}\r\n hideSelectedOptions={false}\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n {d.allowSelectAll ? (\r\n <button\r\n type='button'\r\n className='bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400'\r\n onClick={() => {\r\n handleFilterChange(d.filter, d.availableValues);\r\n }}\r\n >\r\n Select all options\r\n </button>\r\n ) : null}\r\n </>\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n ) : null}\r\n <div\r\n style={{\r\n width: filterPosition === 'side' ? 'calc(100% - 280px - 1rem)' : '100%',\r\n minWidth: '280px',\r\n flexGrow: 1,\r\n display: 'flex',\r\n gap: '1rem',\r\n flexWrap: 'wrap',\r\n flexShrink: '0',\r\n }}\r\n >\r\n {dashboardLayout.rows.map((d, i) => (\r\n <div\r\n key={i}\r\n style={{\r\n display: 'flex',\r\n gap: '1rem',\r\n alignItems: 'stretch',\r\n minHeight: `${d.height || 0}px`,\r\n height: 'auto',\r\n width: '100%',\r\n flexWrap: 'wrap',\r\n }}\r\n >\r\n {d.columns.map((el, j) => (\r\n <div\r\n key={j}\r\n className='flex bg-transparent h-inherit grow min-w-60'\r\n style={{\r\n width: `calc(${\r\n (100 * (el.columnWidth || 1)) / TotalWidth(d.columns)\r\n }% - ${\r\n (TotalWidth(d.columns) - (el.columnWidth || 1)) / TotalWidth(d.columns)\r\n }rem)`,\r\n minHeight: 'inherit',\r\n }}\r\n >\r\n <SingleGraphDashboard\r\n graphType={el.graphType}\r\n dataFilters={el.dataFilters}\r\n uiMode={uiMode}\r\n graphSettings={{\r\n ...(el.settings || {}),\r\n width: undefined,\r\n height: undefined,\r\n resetSelectionOnDoubleClick: el.attachedFilter\r\n ? false\r\n : el.settings?.resetSelectionOnDoubleClick,\r\n styles: el.settings?.styles || graphStyles,\r\n classNames: el.settings?.classNames || graphClassNames,\r\n radius: el.graphType === 'donutChart' ? undefined : el.settings?.radius,\r\n size: el.graphType === 'unitChart' ? el.settings?.size : undefined,\r\n language: el.settings?.language || dashboardLayout.language,\r\n theme: el.settings?.theme || theme,\r\n }}\r\n dataSettings={{\r\n data: data ? filterData(data, dataFilters || []) : undefined,\r\n }}\r\n updateFilters={\r\n el.attachedFilter &&\r\n GraphWithAttachedFilter.indexOf(el.graphType) !== -1 &&\r\n filterSettings.findIndex(f => f.filter === el.attachedFilter) !== -1\r\n ? dClicked => {\r\n const indx = filterSettings.findIndex(\r\n f => f.filter === el.attachedFilter,\r\n );\r\n const value = dClicked\r\n ? filterSettings[indx].singleSelect\r\n ? { value: dClicked, label: dClicked }\r\n : [{ value: dClicked, label: dClicked }]\r\n : undefined;\r\n handleFilterChange(el.attachedFilter as string, value);\r\n }\r\n : undefined\r\n }\r\n dataTransform={el.dataTransform}\r\n dataSelectionOptions={el.dataSelectionOptions}\r\n advancedDataSelectionOptions={el.advancedDataSelectionOptions}\r\n graphDataConfiguration={el.graphDataConfiguration}\r\n debugMode={debugMode}\r\n readableHeader={readableHeader || []}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["TotalWidth","columns","d","acc","cur","GraphWithAttachedFilter","MultiGraphDashboard","props","dashboardID","dashboardLayout","dataSettings","filters","debugMode","theme","readableHeader","dataFilters","noOfFiltersPerRow","filterPosition","uiMode","graphStyles","graphClassNames","data","setData","useState","dataFromFile","setDataFromFile","filterSettings","setFilterSettings","filterConfig","useMemo","filteredData","item","filter","flattenDeep","intersection","el","useEffect","fetchDataHandler","useCallback","fetchAndParseJSON","fetchAndTransformDataFromAPI","fetchAndParseCSV","fetchAndParseMultipleDataSources","transformColumnsToArray","newFilterSettings","transformDefaultValue","getUniqValue","v","error","handleFilterChange","values","prev","f","jsx","jsxs","GraphHeader","i","Label","DropdownSelect","createFilter","Fragment","j","SingleGraphDashboard","filterData","dClicked","indx","value"],"mappings":"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"}
|