@undp/data-viz 2.0.5 → 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/BulletChart.cjs +1 -1
  2. package/dist/BulletChart.cjs.map +1 -1
  3. package/dist/BulletChart.d.ts +2 -0
  4. package/dist/BulletChart.js +515 -508
  5. package/dist/BulletChart.js.map +1 -1
  6. package/dist/ChoroplethMap.cjs +1 -1
  7. package/dist/ChoroplethMap.cjs.map +1 -1
  8. package/dist/ChoroplethMap.js +68 -68
  9. package/dist/ChoroplethMap.js.map +1 -1
  10. package/dist/GraphEl-BcKU0bG1.cjs +2 -0
  11. package/dist/GraphEl-BcKU0bG1.cjs.map +1 -0
  12. package/dist/{GraphEl-VtiYqELy.js → GraphEl-CGq1EWRn.js} +70 -8
  13. package/dist/GraphEl-CGq1EWRn.js.map +1 -0
  14. package/dist/GriddedGraphs.cjs +1 -1
  15. package/dist/GriddedGraphs.d.ts +6 -1
  16. package/dist/GriddedGraphs.js +2 -2
  17. package/dist/GriddedGraphsFromConfig.d.ts +6 -1
  18. package/dist/HybridMap.cjs +2 -0
  19. package/dist/HybridMap.cjs.map +1 -0
  20. package/dist/HybridMap.d.ts +211 -0
  21. package/dist/HybridMap.js +599 -0
  22. package/dist/HybridMap.js.map +1 -0
  23. package/dist/MultiGraphDashboard.d.ts +6 -1
  24. package/dist/MultiGraphDashboardFromConfig.d.ts +6 -1
  25. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +6 -1
  26. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +6 -1
  27. package/dist/PerformanceIntensiveScrollStory.d.ts +6 -1
  28. package/dist/ScrollStory.d.ts +6 -1
  29. package/dist/SingleGraphDashboard.cjs +1 -1
  30. package/dist/SingleGraphDashboard.d.ts +6 -1
  31. package/dist/SingleGraphDashboard.js +2 -2
  32. package/dist/SingleGraphDashboardFromConfig.d.ts +6 -1
  33. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +5 -0
  34. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +5 -0
  35. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  36. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +5 -0
  37. package/dist/SingleGraphDashboardThreeDGraphs.js +1 -1
  38. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +5 -0
  39. package/dist/ThreeDGlobe.cjs.map +1 -1
  40. package/dist/ThreeDGlobe.d.ts +1 -1
  41. package/dist/ThreeDGlobe.js.map +1 -1
  42. package/dist/Types.d.ts +17 -1
  43. package/dist/getSchema.cjs +1 -1
  44. package/dist/getSchema.cjs.map +1 -1
  45. package/dist/getSchema.d.ts +3 -3
  46. package/dist/getSchema.js +4 -0
  47. package/dist/getSchema.js.map +1 -1
  48. package/dist/index.cjs +1 -1
  49. package/dist/index.d.ts +356 -221
  50. package/dist/index.js +163 -161
  51. package/dist/index.js.map +1 -1
  52. package/dist/transformData.cjs +1 -1
  53. package/dist/transformData.d.ts +1 -1
  54. package/dist/transformData.js +2 -2
  55. package/dist/{transformDataForAggregation-CE3bAlHU.js → transformDataForAggregation-CjwEAUOR.js} +62 -31
  56. package/dist/transformDataForAggregation-CjwEAUOR.js.map +1 -0
  57. package/dist/transformDataForAggregation-DAGK2BZy.cjs +2 -0
  58. package/dist/transformDataForAggregation-DAGK2BZy.cjs.map +1 -0
  59. package/dist/{transformDataForGraphFromFile-DaJHQCsL.cjs → transformDataForGraphFromFile-B1zJSPRP.cjs} +2 -2
  60. package/dist/{transformDataForGraphFromFile-DaJHQCsL.cjs.map → transformDataForGraphFromFile-B1zJSPRP.cjs.map} +1 -1
  61. package/dist/{transformDataForGraphFromFile-BExxcITV.js → transformDataForGraphFromFile-D5TMQYYd.js} +2 -2
  62. package/dist/{transformDataForGraphFromFile-BExxcITV.js.map → transformDataForGraphFromFile-D5TMQYYd.js.map} +1 -1
  63. package/dist/validateSchema.d.ts +1 -1
  64. package/package.json +6 -1
  65. package/dist/GraphEl-D5RBCD7p.cjs +0 -2
  66. package/dist/GraphEl-D5RBCD7p.cjs.map +0 -1
  67. package/dist/GraphEl-VtiYqELy.js.map +0 -1
  68. package/dist/transformDataForAggregation-CE3bAlHU.js.map +0 -1
  69. package/dist/transformDataForAggregation-KXGm6flX.cjs +0 -2
  70. package/dist/transformDataForAggregation-KXGm6flX.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"GraphEl-VtiYqELy.js","sources":["../src/Components/Dashboard/GraphEl.tsx"],"sourcesContent":["import { P } from '@undp/design-system-react/Typography';\r\n\r\nimport { ButterflyChart } from '../Graphs/ButterflyChart';\r\nimport { CirclePackingGraph } from '../Graphs/CirclePackingGraph';\r\nimport { DataTable } from '../Graphs/DataTable';\r\nimport { DonutChart } from '../Graphs/DonutChart';\r\nimport { HeatMap } from '../Graphs/HeatMap';\r\nimport { Histogram } from '../Graphs/Histogram';\r\nimport { DualAxisLineChart } from '../Graphs/LineCharts/DualAxisLineChart';\r\nimport { SimpleLineChart } from '../Graphs/LineCharts/LineChart';\r\nimport { MultiLineChart } from '../Graphs/LineCharts/MultiLineChart';\r\nimport { MultiLineAltChart } from '../Graphs/LineCharts/MultiLineAltChart';\r\nimport { SparkLine } from '../Graphs/LineCharts/SparkLine';\r\nimport { BiVariateChoroplethMap } from '../Graphs/Maps/BiVariateMap';\r\nimport { ChoroplethMap } from '../Graphs/Maps/ChoroplethMap';\r\nimport { DotDensityMap } from '../Graphs/Maps/DotDensityMap';\r\nimport { ParetoChart } from '../Graphs/ParetoChart';\r\nimport { ScatterPlot } from '../Graphs/ScatterPlot';\r\nimport { SlopeChart } from '../Graphs/SlopeChart';\r\nimport { AreaChart } from '../Graphs/StackedAreaChart';\r\nimport { StatCardFromData } from '../Graphs/StatCard/StatCardFromData';\r\nimport { TreeMapGraph } from '../Graphs/TreeMapGraph';\r\nimport { UnitChart } from '../Graphs/UnitChart';\r\nimport { DifferenceLineChart } from '../Graphs/LineCharts/DifferenceLineChart';\r\nimport { SankeyChart } from '../Graphs/SankeyChart';\r\nimport { LineChartWithConfidenceInterval } from '../Graphs/LineCharts/LineChartWithConfidenceInterval';\r\nimport { DataCards } from '../Graphs/DataCards';\r\nimport { SimpleBarGraph, GroupedBarGraph, StackedBarGraph } from '../Graphs/BarGraph';\r\nimport { DumbbellChart } from '../Graphs/DumbbellChart';\r\nimport { StripChart } from '../Graphs/StripChart';\r\nimport { BeeSwarmChart } from '../Graphs/BeeSwarmChart';\r\nimport { RadarChart } from '../Graphs/RadarChart';\r\nimport { BulletChart } from '../Graphs/BulletChart';\r\n\r\nimport { getValues } from '@/Utils/getValues';\r\nimport {\r\n DataTableColumnDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n GraphType,\r\n HighlightAreaSettingsDataType,\r\n HighlightAreaSettingsForScatterPlotDataType,\r\n} from '@/Types';\r\n\r\ninterface Props {\r\n graph: GraphType;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n graphData: any;\r\n settings?: GraphSettingsDataType;\r\n debugMode?: boolean;\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n readableHeader: {\r\n value: string;\r\n label: string;\r\n }[];\r\n updateFilters?: (_d: string) => void;\r\n}\r\n\r\nfunction GraphEl(props: Props) {\r\n const {\r\n settings,\r\n graph,\r\n graphData,\r\n debugMode,\r\n graphDataConfiguration,\r\n readableHeader,\r\n updateFilters,\r\n } = props;\r\n if (debugMode) {\r\n // eslint-disable-next-line no-console\r\n console.log(`Graph: ${graph}`);\r\n // eslint-disable-next-line no-console\r\n console.log('Transformed data:', graphData);\r\n // eslint-disable-next-line no-console\r\n console.log('Settings:', settings);\r\n }\r\n if (typeof graphData === 'string')\r\n return (\r\n <div\r\n className={`flex my-0 mx-auto grow flex-col justify-center ${\r\n settings?.width ? 'w-fit' : 'w-full'\r\n }`}\r\n style={{ height: 'inherit' }}\r\n >\r\n <P\r\n size='sm'\r\n marginBottom='none'\r\n className='p-2 text-center text-accent-dark-red dark:text-accent-red'\r\n >\r\n {graphData}\r\n </P>\r\n </div>\r\n );\r\n const graphComponents: Record<GraphType, React.ElementType | null> = {\r\n barChart: SimpleBarGraph,\r\n bulletChart: BulletChart,\r\n groupedBarChart: GroupedBarGraph,\r\n stackedBarChart: StackedBarGraph,\r\n lineChart: SimpleLineChart,\r\n dualAxisLineChart: DualAxisLineChart,\r\n multiLineChart: MultiLineChart,\r\n multiLineAltChart: MultiLineAltChart,\r\n stackedAreaChart: AreaChart,\r\n choroplethMap: ChoroplethMap,\r\n biVariateChoroplethMap: BiVariateChoroplethMap,\r\n dotDensityMap: DotDensityMap,\r\n donutChart: DonutChart,\r\n slopeChart: SlopeChart,\r\n scatterPlot: ScatterPlot,\r\n dumbbellChart: DumbbellChart,\r\n treeMap: TreeMapGraph,\r\n circlePacking: CirclePackingGraph,\r\n heatMap: HeatMap,\r\n stripChart: StripChart,\r\n beeSwarmChart: BeeSwarmChart,\r\n butterflyChart: ButterflyChart,\r\n histogram: Histogram,\r\n sparkLine: SparkLine,\r\n paretoChart: ParetoChart,\r\n dataTable: DataTable,\r\n statCard: StatCardFromData,\r\n unitChart: UnitChart,\r\n differenceLineChart: DifferenceLineChart,\r\n sankeyChart: SankeyChart,\r\n lineChartWithConfidenceInterval: LineChartWithConfidenceInterval,\r\n dataCards: DataCards,\r\n radarChart: RadarChart,\r\n };\r\n const getGraphProps = (graphType: GraphType) => {\r\n switch (graphType) {\r\n case 'barChart':\r\n return {\r\n timeline: settings?.timeline,\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n orientation: settings?.orientation,\r\n data: graphData,\r\n colors: settings?.colors as string | string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n height: settings?.height,\r\n width: settings?.width,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n sources: settings?.sources,\r\n barPadding: settings?.barPadding,\r\n showValues: settings?.showValues,\r\n showTicks: settings?.showTicks,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n truncateBy: settings?.truncateBy,\r\n colorDomain: settings?.colorDomain,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('color', graphDataConfiguration || [], readableHeader || []),\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n showLabels: settings?.showLabels,\r\n showColorScale: settings?.showColorScale,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n labelOrder: settings?.labelOrder,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n graphID: settings?.graphID,\r\n highlightedDataPoints: settings?.highlightedDataPoints,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n sortData: settings?.sortData,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n showNAColor: settings?.showNAColor,\r\n maxBarThickness: settings?.maxBarThickness,\r\n minBarThickness: settings?.minBarThickness,\r\n maxNumberOfBars: settings?.maxNumberOfBars,\r\n ariaLabel: settings?.ariaLabel,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick: (el: any) => {\r\n updateFilters?.(el.label);\r\n },\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n detailsOnClick: settings?.detailsOnClick,\r\n barAxisTitle: settings?.barAxisTitle,\r\n noOfTicks: settings?.noOfTicks,\r\n valueColor: settings?.valueColor,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n filterNA: settings?.filterNA,\r\n animate: settings?.animate,\r\n naLabel: settings?.naLabel,\r\n };\r\n case 'groupedBarChart':\r\n return {\r\n timeline: settings?.timeline,\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n orientation: settings?.orientation,\r\n sortParameter: settings?.sortParameter,\r\n sortData: settings?.sortData,\r\n data: graphData,\r\n colors: settings?.colors as string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n showColorScale: settings?.showColorScale,\r\n sources: settings?.sources,\r\n barPadding: settings?.barPadding,\r\n showTicks: settings?.showTicks,\r\n truncateBy: settings?.truncateBy,\r\n colorDomain:\r\n settings?.colorDomain ||\r\n (getValues('size', graphDataConfiguration || [], readableHeader || []) as string[]),\r\n colorLegendTitle: settings?.colorLegendTitle,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n showValues: settings?.showValues,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n showLabels: settings?.showLabels,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n graphID: settings?.graphID,\r\n labelOrder: settings?.labelOrder,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n maxBarThickness: settings?.maxBarThickness,\r\n ariaLabel: settings?.ariaLabel,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n detailsOnClick: settings?.detailsOnClick,\r\n barAxisTitle: settings?.barAxisTitle,\r\n noOfTicks: settings?.noOfTicks,\r\n valueColor: settings?.valueColor,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n naLabel: settings?.naLabel,\r\n };\r\n case 'stackedBarChart':\r\n return {\r\n timeline: settings?.timeline,\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n orientation: settings?.orientation,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n colors: settings?.colors as string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n showColorScale: settings?.showColorScale,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n barPadding: settings?.barPadding,\r\n showTicks: settings?.showTicks,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n truncateBy: settings?.truncateBy,\r\n colorDomain:\r\n settings?.colorDomain ||\r\n (getValues('size', graphDataConfiguration || [], readableHeader || []) as string[]),\r\n colorLegendTitle: settings?.colorLegendTitle,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n labelOrder: settings?.labelOrder,\r\n showValues: settings?.showValues,\r\n showLabels: settings?.showLabels,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n graphID: settings?.graphID,\r\n maxValue: settings?.maxValue,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n maxBarThickness: settings?.maxBarThickness,\r\n minBarThickness: settings?.minBarThickness,\r\n maxNumberOfBars: settings?.maxNumberOfBars,\r\n sortParameter: settings?.sortParameter,\r\n sortData: settings?.sortData,\r\n ariaLabel: settings?.ariaLabel,\r\n detailsOnClick: settings?.detailsOnClick,\r\n barAxisTitle: settings?.barAxisTitle,\r\n noOfTicks: settings?.noOfTicks,\r\n valueColor: settings?.valueColor,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n naLabel: settings?.naLabel,\r\n };\r\n case 'bulletChart':\r\n return {\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n orientation: settings?.orientation,\r\n data: graphData,\r\n barColor: settings?.colors as string,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n height: settings?.height,\r\n width: settings?.width,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n sources: settings?.sources,\r\n barPadding: settings?.barPadding,\r\n showValues: settings?.showValues,\r\n showTicks: settings?.showTicks,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n truncateBy: settings?.truncateBy,\r\n colorDomain: settings?.colorDomain,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('color', graphDataConfiguration || [], readableHeader || []),\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n showLabels: settings?.showLabels,\r\n showColorScale: settings?.showColorScale,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n labelOrder: settings?.labelOrder,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n graphID: settings?.graphID,\r\n highlightedDataPoints: settings?.highlightedDataPoints,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n sortData: settings?.sortData,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n showNAColor: settings?.showNAColor,\r\n maxBarThickness: settings?.maxBarThickness,\r\n minBarThickness: settings?.minBarThickness,\r\n maxNumberOfBars: settings?.maxNumberOfBars,\r\n ariaLabel: settings?.ariaLabel,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick: (el: any) => {\r\n updateFilters?.(el.label);\r\n },\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n detailsOnClick: settings?.detailsOnClick,\r\n barAxisTitle: settings?.barAxisTitle,\r\n noOfTicks: settings?.noOfTicks,\r\n valueColor: settings?.valueColor,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n filterNA: settings?.filterNA,\r\n qualitativeRangeColors: settings?.qualitativeRangeColors,\r\n targetStyle: settings?.targetStyle,\r\n targetColor: settings?.targetColor,\r\n measureBarWidthFactor: settings?.measureBarWidthFactor,\r\n animate: settings?.animate,\r\n naLabel: settings?.naLabel,\r\n };\r\n case 'lineChart':\r\n return {\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n curveType: settings?.curveType,\r\n data: graphData,\r\n graphID: settings?.graphID,\r\n lineColor: settings?.lineColor as string | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n sources: settings?.sources,\r\n noOfXTicks: settings?.noOfXTicks,\r\n dateFormat: settings?.dateFormat,\r\n showValues: settings?.showValues,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n highlightAreaSettings: settings?.highlightAreaSettings as\r\n | HighlightAreaSettingsDataType[]\r\n | undefined,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n animate: settings?.animate,\r\n strokeWidth: settings?.strokeWidth,\r\n showDots: settings?.showDots,\r\n customHighlightAreaSettings: settings?.customHighlightAreaSettings,\r\n annotations: settings?.annotations,\r\n regressionLine: settings?.regressionLine,\r\n ariaLabel: settings?.ariaLabel,\r\n yAxisTitle: settings?.yAxisTitle,\r\n noOfYTicks: settings?.noOfYTicks,\r\n minDate: settings?.minDate,\r\n maxDate: settings?.maxDate,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n };\r\n case 'lineChartWithConfidenceInterval':\r\n return {\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n data: graphData,\r\n curveType: settings?.curveType,\r\n graphID: settings?.graphID,\r\n lineColor: settings?.lineColor,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n sources: settings?.sources,\r\n noOfXTicks: settings?.noOfXTicks,\r\n dateFormat: settings?.dateFormat,\r\n showValues: settings?.showValues,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n highlightAreaSettings: settings?.highlightAreaSettings as\r\n | HighlightAreaSettingsDataType[]\r\n | undefined,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n animate: settings?.animate,\r\n strokeWidth: settings?.strokeWidth,\r\n showDots: settings?.showDots,\r\n customHighlightAreaSettings: settings?.customHighlightAreaSettings,\r\n annotations: settings?.annotations,\r\n regressionLine: settings?.regressionLine,\r\n ariaLabel: settings?.ariaLabel,\r\n showIntervalDots: settings?.showIntervalDots,\r\n showIntervalValues: settings?.showIntervalValues,\r\n intervalLineStrokeWidth: settings?.intervalLineStrokeWidth,\r\n intervalLineColors: settings?.intervalLineColors,\r\n intervalAreaColor: settings?.intervalAreaColor,\r\n intervalAreaOpacity: settings?.intervalAreaOpacity,\r\n yAxisTitle: settings?.yAxisTitle,\r\n noOfYTicks: settings?.noOfYTicks,\r\n minDate: settings?.minDate,\r\n maxDate: settings?.maxDate,\r\n colorLegendTitle: settings?.colorLegendTitle,\r\n colorLegendColors: settings?.colorLegendColors,\r\n colorLegendDomain: settings?.colorLegendDomain,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n };\r\n case 'dualAxisLineChart':\r\n return {\r\n showAxisLabels: settings?.showAxisLabels,\r\n showColorScale: settings?.showColorScale,\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n data: graphData,\r\n curveType: settings?.curveType,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n labels: settings?.labels || [\r\n getValues('y1', graphDataConfiguration || [], readableHeader || []),\r\n getValues('y2', graphDataConfiguration || [], readableHeader || []),\r\n ],\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n sources: settings?.sources,\r\n noOfXTicks: settings?.noOfXTicks,\r\n dateFormat: settings?.dateFormat,\r\n showValues: settings?.showValues,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n lineColors: settings?.lineColors,\r\n sameAxes: settings?.sameAxes,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n highlightAreaSettings: settings?.highlightAreaSettings as\r\n | HighlightAreaSettingsDataType[]\r\n | undefined,\r\n graphID: settings?.graphID,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n animate: settings?.animate,\r\n strokeWidth: settings?.strokeWidth,\r\n showDots: settings?.showDots,\r\n colorLegendTitle: settings?.colorLegendTitle,\r\n ariaLabel: settings?.ariaLabel,\r\n noOfYTicks: settings?.noOfYTicks,\r\n minDate: settings?.minDate,\r\n maxDate: settings?.maxDate,\r\n lineSuffixes: settings?.lineSuffixes,\r\n linePrefixes: settings?.linePrefixes,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n };\r\n case 'multiLineChart':\r\n return {\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n data: graphData,\r\n curveType: settings?.curveType,\r\n lineColors: settings?.lineColors as string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n noOfXTicks: settings?.noOfXTicks,\r\n dateFormat: settings?.dateFormat,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n showColorScale: settings?.showColorScale,\r\n labels:\r\n settings?.labels ||\r\n (getValues('y', graphDataConfiguration || [], readableHeader || []) as string[]),\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n showValues: settings?.showValues,\r\n relativeHeight: settings?.relativeHeight,\r\n showColorLegendAtTop: settings?.showColorLegendAtTop,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n highlightAreaSettings: settings?.highlightAreaSettings as\r\n | HighlightAreaSettingsDataType[]\r\n | undefined,\r\n graphID: settings?.graphID,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n highlightedLines: settings?.highlightedLines,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n animate: settings?.animate,\r\n strokeWidth: settings?.strokeWidth,\r\n showDots: settings?.showDots,\r\n colorLegendTitle: settings?.colorLegendTitle,\r\n customHighlightAreaSettings: settings?.customHighlightAreaSettings,\r\n annotations: settings?.annotations,\r\n ariaLabel: settings?.ariaLabel,\r\n yAxisTitle: settings?.yAxisTitle,\r\n noOfYTicks: settings?.noOfYTicks,\r\n minDate: settings?.minDate,\r\n maxDate: settings?.maxDate,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n dashedLines: settings?.dashedLines,\r\n dashSettings: settings?.dashSettings,\r\n labelsToBeHidden: settings?.labelsToBeHidden,\r\n };\r\n case 'multiLineAltChart':\r\n return {\r\n naLabel: settings?.naLabel,\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n data: graphData,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n curveType: settings?.curveType,\r\n colors: settings?.colors as string | string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n noOfXTicks: settings?.noOfXTicks,\r\n dateFormat: settings?.dateFormat,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n showLabels: settings?.showLabels,\r\n highlightAreaSettings: settings?.highlightAreaSettings as\r\n | HighlightAreaSettingsDataType[]\r\n | undefined,\r\n graphID: settings?.graphID,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n highlightedLines: settings?.highlightedLines,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n animate: settings?.animate,\r\n strokeWidth: settings?.strokeWidth,\r\n showDots: settings?.showDots,\r\n colorLegendTitle: settings?.colorLegendTitle,\r\n customHighlightAreaSettings: settings?.customHighlightAreaSettings,\r\n annotations: settings?.annotations,\r\n ariaLabel: settings?.ariaLabel,\r\n yAxisTitle: settings?.yAxisTitle,\r\n noOfYTicks: settings?.noOfYTicks,\r\n minDate: settings?.minDate,\r\n maxDate: settings?.maxDate,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n colorDomain: settings?.colorDomain,\r\n showNAColor: settings?.showNAColor,\r\n };\r\n case 'differenceLineChart':\r\n return {\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n data: graphData,\r\n curveType: settings?.curveType,\r\n lineColors: settings?.lineColors as [string, string] | undefined,\r\n diffAreaColors: settings?.diffAreaColors,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n noOfXTicks: settings?.noOfXTicks,\r\n dateFormat: settings?.dateFormat,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n labels: settings?.labels || [\r\n getValues('y1', graphDataConfiguration || [], readableHeader || []),\r\n getValues('y2', graphDataConfiguration || [], readableHeader || []),\r\n ],\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n showValues: settings?.showValues,\r\n relativeHeight: settings?.relativeHeight,\r\n showColorLegendAtTop: settings?.showColorLegendAtTop,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n highlightAreaSettings: settings?.highlightAreaSettings as\r\n | HighlightAreaSettingsDataType[]\r\n | undefined,\r\n graphID: settings?.graphID,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n animate: settings?.animate,\r\n strokeWidth: settings?.strokeWidth,\r\n showDots: settings?.showDots,\r\n colorLegendTitle: settings?.colorLegendTitle,\r\n customHighlightAreaSettings: settings?.customHighlightAreaSettings,\r\n annotations: settings?.annotations,\r\n ariaLabel: settings?.ariaLabel,\r\n yAxisTitle: settings?.yAxisTitle,\r\n noOfYTicks: settings?.noOfYTicks,\r\n minDate: settings?.minDate,\r\n maxDate: settings?.maxDate,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n };\r\n case 'stackedAreaChart':\r\n return {\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n data: graphData,\r\n curveType: settings?.curveType,\r\n colors: settings?.colors as string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n noOfXTicks: settings?.noOfXTicks,\r\n dateFormat: settings?.dateFormat,\r\n colorDomain:\r\n settings?.colorDomain ||\r\n (getValues('y', graphDataConfiguration || [], readableHeader || []) as string[]),\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n colorLegendTitle: settings?.colorLegendTitle,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n bottomMargin: settings?.bottomMargin,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n highlightAreaSettings: settings?.highlightAreaSettings as\r\n | HighlightAreaSettingsDataType[]\r\n | undefined,\r\n graphID: settings?.graphID,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n showColorScale: settings?.showColorScale,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n customHighlightAreaSettings: settings?.customHighlightAreaSettings,\r\n annotations: settings?.annotations,\r\n ariaLabel: settings?.ariaLabel,\r\n yAxisTitle: settings?.yAxisTitle,\r\n noOfYTicks: settings?.noOfYTicks,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n };\r\n case 'choroplethMap':\r\n return {\r\n timeline: settings?.timeline,\r\n customLayers: settings?.customLayers,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n collapseColorScaleByDefault: settings?.collapseColorScaleByDefault,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n graphTitle: settings?.graphTitle,\r\n mapData: settings?.mapData,\r\n mapProjection: settings?.mapProjection,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n colorDomain: settings?.colorDomain as string[] | number[],\r\n colors: settings?.colors as string[] | undefined,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('x', graphDataConfiguration || [], readableHeader || []),\r\n scaleType: settings?.scaleType,\r\n data: graphData,\r\n scale: settings?.scale,\r\n centerPoint: settings?.centerPoint,\r\n backgroundColor: settings?.backgroundColor,\r\n mapBorderWidth: settings?.mapBorderWidth,\r\n mapNoDataColor: settings?.mapNoDataColor,\r\n mapBorderColor: settings?.mapBorderColor,\r\n relativeHeight: settings?.relativeHeight,\r\n padding: settings?.padding,\r\n isWorldMap: settings?.isWorldMap,\r\n tooltip: settings?.tooltip,\r\n showColorScale: settings?.showColorScale,\r\n zoomScaleExtend: settings?.zoomScaleExtend,\r\n zoomTranslateExtend: settings?.zoomTranslateExtend,\r\n graphID: settings?.graphID,\r\n highlightedIds: settings?.highlightedIds,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n mapProperty: settings?.mapProperty,\r\n showAntarctica: settings?.showAntarctica,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick: (el: any) => {\r\n updateFilters?.(el.id);\r\n },\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n zoomInteraction: settings?.zoomInteraction,\r\n animate: settings?.animate,\r\n };\r\n case 'biVariateChoroplethMap':\r\n return {\r\n timeline: settings?.timeline,\r\n customLayers: settings?.customLayers,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n collapseColorScaleByDefault: settings?.collapseColorScaleByDefault,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n mapData: settings?.mapData,\r\n mapProjection: settings?.mapProjection,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n xColorLegendTitle:\r\n Object.keys(settings || {}).indexOf('xColorLegendTitle') !== -1\r\n ? settings?.xColorLegendTitle\r\n : getValues('x', graphDataConfiguration || [], readableHeader || []),\r\n yColorLegendTitle:\r\n Object.keys(settings || {}).indexOf('yColorLegendTitle') !== -1\r\n ? settings?.yColorLegendTitle\r\n : getValues('y', graphDataConfiguration || [], readableHeader || []),\r\n xDomain: settings?.xDomain as [number, number, number, number],\r\n yDomain: settings?.yDomain as [number, number, number, number],\r\n colors: settings?.colors as string[][] | undefined,\r\n scale: settings?.scale,\r\n centerPoint: settings?.centerPoint,\r\n backgroundColor: settings?.backgroundColor,\r\n mapBorderWidth: settings?.mapBorderWidth,\r\n mapNoDataColor: settings?.mapNoDataColor,\r\n padding: settings?.padding,\r\n mapBorderColor: settings?.mapBorderColor,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n isWorldMap: settings?.isWorldMap,\r\n zoomScaleExtend: settings?.zoomScaleExtend,\r\n zoomTranslateExtend: settings?.zoomTranslateExtend,\r\n graphID: settings?.graphID,\r\n highlightedIds: settings?.highlightedIds,\r\n mapProperty: settings?.mapProperty,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n showAntarctica: settings?.showAntarctica,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick: (el: any) => {\r\n updateFilters?.(el.id);\r\n },\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n zoomInteraction: settings?.zoomInteraction,\r\n animate: settings?.animate,\r\n };\r\n case 'dotDensityMap':\r\n return {\r\n timeline: settings?.timeline,\r\n customLayers: settings?.customLayers,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n collapseColorScaleByDefault: settings?.collapseColorScaleByDefault,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n graphTitle: settings?.graphTitle,\r\n mapData: settings?.mapData,\r\n mapProjection: settings?.mapProjection,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n maxRadiusValue: settings?.maxRadiusValue,\r\n width: settings?.width,\r\n height: settings?.height,\r\n radius: settings?.radius,\r\n sources: settings?.sources,\r\n colors: settings?.colors as string | string[] | undefined,\r\n colorDomain: settings?.colorDomain,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('color', graphDataConfiguration || [], readableHeader || []),\r\n data: graphData,\r\n scale: settings?.scale,\r\n centerPoint: settings?.centerPoint,\r\n backgroundColor: settings?.backgroundColor,\r\n mapBorderWidth: settings?.mapBorderWidth,\r\n mapNoDataColor: settings?.mapNoDataColor,\r\n mapBorderColor: settings?.mapBorderColor,\r\n padding: settings?.padding,\r\n showLabels: settings?.showLabels,\r\n relativeHeight: settings?.relativeHeight,\r\n isWorldMap: settings?.isWorldMap,\r\n tooltip: settings?.tooltip,\r\n showColorScale: settings?.showColorScale,\r\n zoomScaleExtend: settings?.zoomScaleExtend,\r\n zoomTranslateExtend: settings?.zoomTranslateExtend,\r\n graphID: settings?.graphID,\r\n highlightedDataPoints: settings?.highlightedDataPoints,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n showAntarctica: settings?.showAntarctica,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n zoomInteraction: settings?.zoomInteraction,\r\n animate: settings?.animate,\r\n };\r\n case 'donutChart':\r\n return {\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n mainText: settings?.mainText,\r\n data: graphData,\r\n colors: settings?.colors as string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n sources: settings?.sources,\r\n graphDescription: settings?.graphDescription,\r\n subNote: settings?.subNote,\r\n footNote: settings?.footNote,\r\n radius: settings?.radius,\r\n strokeWidth: settings?.strokeWidth,\r\n showColorScale: settings?.showColorScale,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n tooltip: settings?.tooltip,\r\n graphID: settings?.graphID,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n colorDomain: settings?.colorDomain,\r\n sortData: settings?.sortData,\r\n language: settings?.language,\r\n width: settings?.width,\r\n height: settings?.height,\r\n minHeight: settings?.minHeight,\r\n relativeHeight: settings?.relativeHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n legendMaxWidth: settings?.legendMaxWidth,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick: (el: any) => {\r\n updateFilters?.(el.label);\r\n },\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n colorScaleMaxWidth: settings?.colorScaleMaxWidth,\r\n };\r\n case 'slopeChart':\r\n return {\r\n customLayers: settings?.customLayers,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n showLabels: settings?.showLabels,\r\n colors: settings?.colors as string | string[] | undefined,\r\n colorDomain: settings?.colorDomain,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('color', graphDataConfiguration || [], readableHeader || []),\r\n radius: settings?.radius,\r\n axisTitles: settings?.axisTitles,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n highlightedDataPoints: settings?.highlightedDataPoints,\r\n showColorScale: settings?.showColorScale,\r\n graphID: settings?.graphID,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n fillContainer: settings?.fillContainer,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n };\r\n case 'scatterPlot':\r\n return {\r\n timeline: settings?.timeline,\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n showLabels: settings?.showLabels,\r\n colors: settings?.colors as string | string[] | undefined,\r\n colorDomain: settings?.colorDomain,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('color', graphDataConfiguration || [], readableHeader || []),\r\n radius: settings?.radius,\r\n xAxisTitle:\r\n Object.keys(settings || {}).indexOf('xAxisTitle') !== -1\r\n ? settings?.xAxisTitle\r\n : getValues('x', graphDataConfiguration || [], readableHeader || []),\r\n yAxisTitle:\r\n Object.keys(settings || {}).indexOf('yAxisTitle') !== -1\r\n ? settings?.yAxisTitle\r\n : getValues('y', graphDataConfiguration || [], readableHeader || []),\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n refXValues: settings?.refXValues,\r\n refYValues: settings?.refYValues,\r\n highlightedDataPoints: settings?.highlightedDataPoints,\r\n highlightAreaSettings: settings?.highlightAreaSettings as\r\n | HighlightAreaSettingsForScatterPlotDataType[]\r\n | undefined,\r\n showColorScale: settings?.showColorScale,\r\n graphID: settings?.graphID,\r\n maxRadiusValue: settings?.maxRadiusValue,\r\n maxXValue: settings?.maxXValue,\r\n minXValue: settings?.minXValue,\r\n maxYValue: settings?.maxYValue,\r\n minYValue: settings?.minYValue,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n showNAColor: settings?.showNAColor,\r\n customHighlightAreaSettings: settings?.customHighlightAreaSettings,\r\n annotations: settings?.annotations,\r\n regressionLine: settings?.regressionLine,\r\n ariaLabel: settings?.ariaLabel,\r\n detailsOnClick: settings?.detailsOnClick,\r\n noOfXTicks: settings?.noOfXTicks,\r\n noOfYTicks: settings?.noOfYTicks,\r\n labelColor: settings?.labelColor,\r\n xSuffix: settings?.xSuffix,\r\n ySuffix: settings?.ySuffix,\r\n xPrefix: settings?.xPrefix,\r\n yPrefix: settings?.yPrefix,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n };\r\n case 'dumbbellChart':\r\n return {\r\n timeline: settings?.timeline,\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n orientation: settings?.orientation,\r\n refValues: settings?.refValues,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n colors: settings?.colors as string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n barPadding: settings?.barPadding,\r\n showTicks: settings?.showTicks,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n truncateBy: settings?.truncateBy,\r\n labelOrder: settings?.labelOrder,\r\n showColorScale: settings?.showColorScale,\r\n colorDomain:\r\n settings?.colorDomain ||\r\n (getValues('x', graphDataConfiguration || [], readableHeader || []) as string[]),\r\n colorLegendTitle: settings?.colorLegendTitle,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n radius: settings?.radius,\r\n relativeHeight: settings?.relativeHeight,\r\n showValues: settings?.showValues,\r\n showLabels: settings?.showLabels,\r\n tooltip: settings?.tooltip,\r\n graphID: settings?.graphID,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n sortParameter: settings?.sortParameter,\r\n sortData: settings?.sortData,\r\n arrowConnector: settings?.arrowConnector,\r\n connectorStrokeWidth: settings?.connectorStrokeWidth,\r\n maxBarThickness: settings?.maxBarThickness,\r\n minBarThickness: settings?.minBarThickness,\r\n maxNumberOfBars: settings?.maxNumberOfBars,\r\n ariaLabel: settings?.ariaLabel,\r\n detailsOnClick: settings?.detailsOnClick,\r\n axisTitle: settings?.axisTitle,\r\n noOfTicks: settings?.noOfTicks,\r\n valueColor: settings?.valueColor,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n highlightedDataPoints: settings?.highlightedDataPoints,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n };\r\n case 'treeMap':\r\n return {\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n colors: settings?.colors as string | string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n sources: settings?.sources,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n colorDomain: settings?.colorDomain,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('color', graphDataConfiguration || [], readableHeader || []),\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n showLabels: settings?.showLabels,\r\n tooltip: settings?.tooltip,\r\n showColorScale: settings?.showColorScale,\r\n showValues: settings?.showValues,\r\n graphID: settings?.graphID,\r\n highlightedDataPoints: settings?.highlightedDataPoints,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n showNAColor: settings?.showNAColor,\r\n ariaLabel: settings?.ariaLabel,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick: (el: any) => {\r\n updateFilters?.(el.label);\r\n },\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n };\r\n case 'circlePacking':\r\n return {\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n colors: settings?.colors as string | string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n sources: settings?.sources,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n colorDomain: settings?.colorDomain,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('color', graphDataConfiguration || [], readableHeader || []),\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n showLabels: settings?.showLabels,\r\n tooltip: settings?.tooltip,\r\n showColorScale: settings?.showColorScale,\r\n showValues: settings?.showValues,\r\n graphID: settings?.graphID,\r\n highlightedDataPoints: settings?.highlightedDataPoints,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n showNAColor: settings?.showNAColor,\r\n ariaLabel: settings?.ariaLabel,\r\n radius: settings?.radius,\r\n maxRadiusValue: settings?.maxRadiusValue,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick: (el: any) => {\r\n updateFilters?.(el.label);\r\n },\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n };\r\n case 'heatMap':\r\n return {\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n colors: settings?.colors as string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n scaleType: settings?.scaleType,\r\n colorDomain: settings?.colorDomain as string[] | number[],\r\n showColumnLabels: settings?.showColumnLabels,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n truncateBy: settings?.truncateBy,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('color', graphDataConfiguration || [], readableHeader || []),\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n showValues: settings?.showValues,\r\n showRowLabels: settings?.showRowLabels,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n graphID: settings?.graphID,\r\n noDataColor: settings?.noDataColor,\r\n showColorScale: settings?.showColorScale,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n fillContainer: settings?.fillContainer,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n showNAColor: settings?.showNAColor,\r\n ariaLabel: settings?.ariaLabel,\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n };\r\n case 'stripChart':\r\n return {\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n orientation: settings?.orientation,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n colors: settings?.colors as string | string[] | undefined,\r\n colorDomain: settings?.colorDomain,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('color', graphDataConfiguration || [], readableHeader || []),\r\n radius: settings?.radius,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n highlightedDataPoints: settings?.highlightedDataPoints,\r\n showColorScale: settings?.showColorScale,\r\n graphID: settings?.graphID,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n noOfTicks: settings?.noOfTicks,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n prefix: settings?.prefix,\r\n suffix: settings?.suffix,\r\n stripType: settings?.stripType,\r\n valueColor: settings?.valueColor,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n highlightColor: settings?.highlightColor,\r\n dotOpacity: settings?.dotOpacity,\r\n showNAColor: settings?.showNAColor,\r\n ariaLabel: settings?.ariaLabel,\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n };\r\n case 'beeSwarmChart':\r\n return {\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n colors: settings?.colors as string | string[] | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n showTicks: settings?.showTicks,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n colorDomain: settings?.colorDomain,\r\n colorLegendTitle:\r\n Object.keys(settings || {}).indexOf('colorLegendTitle') !== -1\r\n ? settings?.colorLegendTitle\r\n : getValues('color', graphDataConfiguration || [], readableHeader || []),\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n showLabels: settings?.showLabels,\r\n showColorScale: settings?.showColorScale,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n graphID: settings?.graphID,\r\n radius: settings?.radius,\r\n maxRadiusValue: settings?.maxRadiusValue,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n highlightedDataPoints: settings?.highlightedDataPoints,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n showNAColor: settings?.showNAColor,\r\n ariaLabel: settings?.ariaLabel,\r\n detailsOnClick: settings?.detailsOnClick,\r\n orientation: settings?.orientation,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n };\r\n case 'butterflyChart':\r\n return {\r\n naLabel: settings?.naLabel,\r\n timeline: settings?.timeline,\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n leftBarTitle:\r\n Object.keys(settings || {}).indexOf('leftBarTitle') !== -1\r\n ? settings?.leftBarTitle\r\n : getValues('leftBar', graphDataConfiguration || [], readableHeader || []),\r\n rightBarTitle:\r\n Object.keys(settings || {}).indexOf('rightBarTitle') !== -1\r\n ? settings?.rightBarTitle\r\n : getValues('rightBar', graphDataConfiguration || [], readableHeader || []),\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n barColors: settings?.barColors,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n graphID: settings?.graphID,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n barPadding: settings?.barPadding,\r\n truncateBy: settings?.truncateBy,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n showTicks: settings?.showTicks,\r\n showValues: settings?.showValues,\r\n centerGap: settings?.centerGap,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n showColorScale: settings?.showColorScale,\r\n refValues: settings?.refValues,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n };\r\n case 'histogram':\r\n return {\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n data: graphData,\r\n colors: settings?.colors,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n barPadding: settings?.barPadding,\r\n showValues: settings?.showValues,\r\n showTicks: settings?.showTicks,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n showLabels: settings?.showLabels,\r\n maxValue: settings?.maxValue,\r\n tooltip: settings?.tooltip,\r\n refValues: settings?.refValues,\r\n graphID: settings?.graphID,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n numberOfBins: settings?.numberOfBins,\r\n truncateBy: settings?.truncateBy,\r\n donutStrokeWidth: settings?.donutStrokeWidth,\r\n sortData: settings?.sortData,\r\n barGraphLayout: settings?.barGraphLayout,\r\n graphType: settings?.graphType,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n maxBarThickness: settings?.maxBarThickness,\r\n ariaLabel: settings?.ariaLabel,\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n };\r\n case 'sparkLine':\r\n return {\r\n customLayers: settings?.customLayers,\r\n theme: settings?.theme,\r\n data: graphData,\r\n curveType: settings?.curveType,\r\n lineColor: settings?.lineColor as string | undefined,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n dateFormat: settings?.dateFormat,\r\n area: settings?.area,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n graphID: settings?.graphID,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n };\r\n case 'paretoChart':\r\n return {\r\n showAxisLabels: settings?.showAxisLabels,\r\n showColorScale: settings?.showColorScale,\r\n naLabel: settings?.naLabel,\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n showValues: settings?.showValues,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n barTitle:\r\n Object.keys(settings || {}).indexOf('barTitle') !== -1\r\n ? settings?.barTitle\r\n : getValues('barTitle', graphDataConfiguration || [], readableHeader || []),\r\n lineTitle:\r\n Object.keys(settings || {}).indexOf('lineTitle') !== -1\r\n ? settings?.lineTitle\r\n : getValues('lineTitle', graphDataConfiguration || [], readableHeader || []),\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n barColor: settings?.barColor,\r\n curveType: settings?.curveType,\r\n lineColor: settings?.lineColor,\r\n sameAxes: settings?.sameAxes,\r\n relativeHeight: settings?.relativeHeight,\r\n tooltip: settings?.tooltip,\r\n graphID: settings?.graphID,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n barPadding: settings?.barPadding,\r\n truncateBy: settings?.truncateBy,\r\n showLabels: settings?.showLabels,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n detailsOnClick: settings?.detailsOnClick,\r\n noOfTicks: settings?.noOfTicks,\r\n lineSuffix: settings?.lineSuffix,\r\n barSuffix: settings?.barSuffix,\r\n linePrefix: settings?.lineSuffix,\r\n barPrefix: settings?.barPrefix,\r\n barAxisTitle: settings?.barAxisTitle,\r\n lineAxisTitle: settings?.lineAxisTitle,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n };\r\n case 'dataTable':\r\n return {\r\n naLabel: settings?.naLabel,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n graphTitle: settings?.graphTitle,\r\n sources: settings?.sources,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n graphID: settings?.graphID,\r\n width: settings?.width,\r\n height: settings?.height,\r\n columnData: (settings?.columnData || []) as DataTableColumnDataType[],\r\n data: graphData,\r\n language: settings?.language,\r\n ariaLabel: settings?.ariaLabel,\r\n minWidth: settings?.minWidth,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n };\r\n case 'statCard':\r\n return {\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n year: settings?.year,\r\n data: graphData,\r\n graphTitle: settings?.graphTitle || '',\r\n graphDescription: settings?.graphDescription,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n sources: settings?.sources || [],\r\n footNote: settings?.footNote,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n graphID: settings?.graphID,\r\n aggregationMethod: settings?.aggregationMethod,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n countOnly: settings?.countOnly,\r\n ariaLabel: settings?.ariaLabel,\r\n textBackground: settings?.textBackground,\r\n headingFontSize: settings?.headingFontSize,\r\n centerAlign: settings?.centerAlign,\r\n verticalAlign: settings?.verticalAlign,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n layout: settings?.layout,\r\n };\r\n case 'unitChart':\r\n return {\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n totalNoOfDots: settings?.totalNoOfDots,\r\n gridSize: settings?.gridSize,\r\n unitPadding: settings?.unitPadding,\r\n size: settings?.size,\r\n graphTitle: settings?.graphTitle,\r\n sources: settings?.sources,\r\n colors: settings?.colors as string[] | undefined,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n graphID: settings?.graphID,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n language: settings?.language,\r\n showColorScale: settings?.showColorScale,\r\n showStrokeForWhiteDots: settings?.showStrokeForWhiteDots,\r\n note: settings?.note,\r\n data: graphData,\r\n width: settings?.width,\r\n height: settings?.height,\r\n minHeight: settings?.minHeight,\r\n relativeHeight: settings?.relativeHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n };\r\n case 'sankeyChart':\r\n return {\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n theme: settings?.theme,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n data: graphData,\r\n graphTitle: settings?.graphTitle,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n width: settings?.width,\r\n height: settings?.height,\r\n sources: settings?.sources,\r\n showLabels: settings?.showLabels,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n truncateBy: settings?.truncateBy,\r\n padding: settings?.padding,\r\n backgroundColor: settings?.backgroundColor,\r\n tooltip: settings?.tooltip,\r\n suffix: settings?.suffix,\r\n prefix: settings?.prefix,\r\n relativeHeight: settings?.relativeHeight,\r\n showValues: settings?.showValues,\r\n graphID: settings?.graphID,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n fillContainer: settings?.fillContainer,\r\n language: settings?.language,\r\n minHeight: settings?.minHeight,\r\n ariaLabel: settings?.ariaLabel,\r\n sourceColors: settings?.sourceColors,\r\n targetColors: settings?.targetColors,\r\n sourceColorDomain: settings?.sourceColorDomain,\r\n targetColorDomain: settings?.targetColorDomain,\r\n nodePadding: settings?.nodePadding,\r\n nodeWidth: settings?.nodeWidth,\r\n highlightedSourceDataPoints: settings?.highlightedSourceDataPoints,\r\n highlightedTargetDataPoints: settings?.highlightedTargetDataPoints,\r\n defaultLinkOpacity: settings?.defaultLinkOpacity,\r\n sourceTitle: settings?.sourceTitle,\r\n targetTitle: settings?.targetTitle,\r\n sortNodes: settings?.sortNodes,\r\n detailsOnClick: settings?.detailsOnClick,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n animate: settings?.animate,\r\n };\r\n case 'dataCards':\r\n return {\r\n theme: settings?.theme,\r\n graphTitle: settings?.graphTitle,\r\n sources: settings?.sources,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n graphID: settings?.graphID,\r\n width: settings?.width,\r\n height: settings?.height,\r\n columnData: (settings?.columnData || []) as DataTableColumnDataType[],\r\n data: graphData,\r\n language: settings?.language,\r\n ariaLabel: settings?.ariaLabel,\r\n cardTemplate: settings?.cardTemplate,\r\n cardBackgroundColor: settings?.cardBackgroundColor,\r\n cardFilters: settings?.cardFilters || [],\r\n cardSortingOptions: settings?.cardSortingOptions,\r\n cardSearchColumns: settings?.cardSearchColumns,\r\n cardMinWidth: settings?.cardMinWidth,\r\n backgroundColor: settings?.backgroundColor,\r\n padding: settings?.padding,\r\n detailsOnClick: settings?.detailsOnClick,\r\n allowDataDownloadOnDetail: settings?.allowDataDownloadOnDetail,\r\n noOfItemsInAPage: settings?.noOfItemsInAPage,\r\n uiMode: settings?.uiMode,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n };\r\n case 'radarChart':\r\n return {\r\n customLayers: settings?.customLayers,\r\n precision: settings?.precision,\r\n graphTitle: settings?.graphTitle,\r\n dimmedOpacity: settings?.dimmedOpacity,\r\n graphDescription: settings?.graphDescription,\r\n footNote: settings?.footNote,\r\n sources: settings?.sources,\r\n ariaLabel: settings?.ariaLabel,\r\n colors: settings?.colors,\r\n colorDomain: settings?.colorDomain,\r\n colorLegendTitle: settings?.colorLegendTitle,\r\n backgroundColor: settings?.backgroundColor,\r\n styles: settings?.styles,\r\n classNames: settings?.classNames,\r\n width: settings?.width,\r\n height: settings?.height,\r\n minHeight: settings?.minHeight,\r\n relativeHeight: settings?.relativeHeight,\r\n padding: settings?.padding,\r\n radius: settings?.radius,\r\n leftMargin: settings?.leftMargin,\r\n rightMargin: settings?.rightMargin,\r\n topMargin: settings?.topMargin,\r\n bottomMargin: settings?.bottomMargin,\r\n maxValue: settings?.maxValue,\r\n minValue: settings?.minValue,\r\n showValues: settings?.showValues,\r\n showDots: settings?.showDots,\r\n strokeWidth: settings?.strokeWidth,\r\n fillShape: settings?.fillShape,\r\n noOfTicks: settings?.noOfTicks,\r\n showColorScale: settings?.showColorScale,\r\n showNAColor: settings?.showNAColor,\r\n highlightedLines: settings?.highlightedLines,\r\n axisLabels: settings?.axisLabels,\r\n curveType: settings?.curveType,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n graphDownload: settings?.graphDownload,\r\n dataDownload: settings?.dataDownload,\r\n tooltip: settings?.tooltip,\r\n detailsOnClick: settings?.detailsOnClick,\r\n language: settings?.language,\r\n theme: settings?.theme,\r\n graphID: settings?.graphID,\r\n animate: settings?.animate,\r\n };\r\n default:\r\n return {};\r\n }\r\n };\r\n const GraphComponent = graphComponents[graph];\r\n const graphProps = getGraphProps(graph);\r\n return (\r\n <div\r\n className={`grow my-0 ${graph !== 'statCard' ? 'mx-auto' : 'mx-0'} flex flex-col w-full ${\r\n graph !== 'unitChart' && graph !== 'statCard' ? 'justify-center' : 'justify-start'\r\n } ${settings?.theme || 'light'}`}\r\n style={{ minHeight: 'inherit' }}\r\n >\r\n {GraphComponent ? (\r\n <GraphComponent {...graphProps} />\r\n ) : (\r\n <P\r\n size='sm'\r\n marginBottom='none'\r\n className='p-2 text-center text-accent-dark-red dark:text-accent-red'\r\n >\r\n {`Invalid chart type: ${graph}`}\r\n </P>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport default GraphEl;\r\n"],"names":["GraphEl","props","$","_c","settings","graph","graphData","debugMode","graphDataConfiguration","readableHeader","updateFilters","console","log","t0","width","t1","Symbol","for","height","t2","P","t3","barChart","SimpleBarGraph","bulletChart","BulletChart","groupedBarChart","GroupedBarGraph","stackedBarChart","StackedBarGraph","lineChart","SimpleLineChart","dualAxisLineChart","DualAxisLineChart","multiLineChart","MultiLineChart","multiLineAltChart","MultiLineAltChart","stackedAreaChart","AreaChart","choroplethMap","ChoroplethMap","biVariateChoroplethMap","BiVariateChoroplethMap","dotDensityMap","DotDensityMap","donutChart","DonutChart","slopeChart","SlopeChart","scatterPlot","ScatterPlot","dumbbellChart","DumbbellChart","treeMap","TreeMapGraph","circlePacking","CirclePackingGraph","heatMap","HeatMap","stripChart","StripChart","beeSwarmChart","BeeSwarmChart","butterflyChart","ButterflyChart","histogram","Histogram","sparkLine","SparkLine","paretoChart","ParetoChart","dataTable","DataTable","statCard","StatCardFromData","unitChart","UnitChart","differenceLineChart","DifferenceLineChart","sankeyChart","SankeyChart","lineChartWithConfidenceInterval","LineChartWithConfidenceInterval","dataCards","DataCards","radarChart","RadarChart","graphComponents","graphType","timeline","customLayers","precision","theme","dimmedOpacity","orientation","data","colors","graphTitle","graphDescription","footNote","suffix","prefix","sources","barPadding","showValues","showTicks","leftMargin","rightMargin","truncateBy","colorDomain","colorLegendTitle","Object","keys","indexOf","getValues","backgroundColor","padding","topMargin","bottomMargin","relativeHeight","showLabels","showColorScale","maxValue","minValue","labelOrder","tooltip","refValues","graphID","highlightedDataPoints","graphDownload","dataDownload","sortData","language","minHeight","showNAColor","maxBarThickness","minBarThickness","maxNumberOfBars","ariaLabel","onSeriesMouseClick","el_5","el","label","resetSelectionOnDoubleClick","detailsOnClick","barAxisTitle","noOfTicks","valueColor","styles","classNames","filterNA","animate","naLabel","sortParameter","barColor","el_4","qualitativeRangeColors","targetStyle","targetColor","measureBarWidthFactor","curveType","lineColor","noOfXTicks","dateFormat","highlightAreaSettings","strokeWidth","showDots","customHighlightAreaSettings","annotations","regressionLine","yAxisTitle","noOfYTicks","minDate","maxDate","showIntervalDots","showIntervalValues","intervalLineStrokeWidth","intervalLineColors","intervalAreaColor","intervalAreaOpacity","colorLegendColors","colorLegendDomain","showAxisLabels","labels","lineColors","sameAxes","lineSuffixes","linePrefixes","showColorLegendAtTop","highlightedLines","dashedLines","dashSettings","labelsToBeHidden","diffAreaColors","collapseColorScaleByDefault","mapData","mapProjection","scaleType","scale","centerPoint","mapBorderWidth","mapNoDataColor","mapBorderColor","isWorldMap","zoomScaleExtend","zoomTranslateExtend","highlightedIds","mapProperty","showAntarctica","el_3","id","zoomInteraction","xColorLegendTitle","yColorLegendTitle","xDomain","yDomain","el_2","maxRadiusValue","radius","mainText","subNote","legendMaxWidth","el_1","colorScaleMaxWidth","axisTitles","fillContainer","xAxisTitle","refXValues","refYValues","maxXValue","minXValue","maxYValue","minYValue","labelColor","xSuffix","ySuffix","xPrefix","yPrefix","arrowConnector","connectorStrokeWidth","axisTitle","el_0","showColumnLabels","showRowLabels","noDataColor","stripType","highlightColor","dotOpacity","leftBarTitle","rightBarTitle","barColors","centerGap","numberOfBins","donutStrokeWidth","barGraphLayout","area","barTitle","lineTitle","lineSuffix","barSuffix","linePrefix","barPrefix","lineAxisTitle","columnData","minWidth","year","aggregationMethod","countOnly","textBackground","headingFontSize","centerAlign","verticalAlign","layout","totalNoOfDots","gridSize","unitPadding","size","showStrokeForWhiteDots","note","sourceColors","targetColors","sourceColorDomain","targetColorDomain","nodePadding","nodeWidth","highlightedSourceDataPoints","highlightedTargetDataPoints","defaultLinkOpacity","sourceTitle","targetTitle","sortNodes","cardTemplate","cardBackgroundColor","cardFilters","cardSortingOptions","cardSearchColumns","cardMinWidth","allowDataDownloadOnDetail","noOfItemsInAPage","uiMode","fillShape","axisLabels","getGraphProps","GraphComponent","graphProps","t4","t5","jsx","t6"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformDataForAggregation-CE3bAlHU.js","sources":["../src/Utils/transformData/graphConfig.ts","../src/Utils/checkDataValidity.ts","../src/Utils/transformData/transformDataForGraph.ts","../src/Utils/transformData/transformDataForAggregation.ts"],"sourcesContent":["import { GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nexport const ChartConfiguration: {\r\n chartID: GraphType | ThreeDGraphType;\r\n configuration: { id: string; required: boolean; multiple: boolean }[];\r\n}[] = [\r\n {\r\n chartID: 'barChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'bulletChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'qualitativeRange',\r\n required: false,\r\n multiple: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'radarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'values',\r\n required: true,\r\n multiple: true,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'groupedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dualAxisLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'differenceLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineAltChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedAreaChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'threeDGlobe',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'choroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'biVariateChoroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dotDensityMap',\r\n configuration: [\r\n {\r\n id: 'lat',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'long',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'donutChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'slopeChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y2',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'scatterPlot',\r\n configuration: [\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dumbbellChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'treeMap',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'circlePacking',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sankeyChart',\r\n configuration: [\r\n {\r\n id: 'source',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'heatMap',\r\n configuration: [\r\n {\r\n id: 'row',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'column',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stripChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'statCard',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'beeSwarmChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'butterflyChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'leftBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'rightBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChartWithConfidenceInterval',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMin',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMax',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'histogram',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sparkLine',\r\n configuration: [\r\n {\r\n id: 'dale',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'paretoChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'bar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'line',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'unitChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n];\r\n","import flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { ChartConfiguration } from './transformData/graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nfunction missingValuesInArray(superset: string[], subset: string[]): string[] {\r\n return subset.filter(value => !superset.includes(value));\r\n}\r\n\r\nexport function checkDataConfigValidity(\r\n dataConfig: GraphConfigurationDataType[],\r\n graph: GraphType | ThreeDGraphType,\r\n dataKeys: string[],\r\n) {\r\n const dataKeyFromDataConfig = flattenDeep(dataConfig.map(d => d.columnId));\r\n const checkDataKeys = missingValuesInArray(dataKeys, dataKeyFromDataConfig);\r\n if (checkDataKeys.length !== 0)\r\n return {\r\n isValid: false,\r\n err: `Key(s) in configuration that don't match keys in the data: ${checkDataKeys.join(\r\n ', ',\r\n )}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`,\r\n };\r\n const ids = dataConfig.map(el => el.chartConfigId);\r\n const requiredIds = ChartConfiguration[\r\n ChartConfiguration.findIndex(el => el.chartID === graph)\r\n ].configuration\r\n .filter(el => el.required)\r\n .map(el => el.id);\r\n const ifRequiredIdsPresent = missingValuesInArray(ids, requiredIds);\r\n return {\r\n isValid: ifRequiredIdsPresent.length === 0,\r\n err:\r\n ifRequiredIdsPresent.length === 0\r\n ? undefined\r\n : `Missing required ID(s) in configuration: ${ifRequiredIdsPresent.join(', ')}`,\r\n };\r\n}\r\n","import { checkDataConfigValidity } from '../checkDataValidity';\r\nimport { checkIfNullOrUndefined } from '../checkIfNullOrUndefined';\r\nimport { graphList } from '../getGraphList';\r\n\r\nimport { ChartConfiguration } from './graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n/**\r\n * Transforms the input data into a format suitable for graph visualization based on the given graph type and configuration.\r\n *\r\n * The function formats the data according to the specified graph configuration and checks the validity of the configuration.\r\n * It also handles cases for graphs like \"dataTable\" and \"dataCards\" without additional processing, and it processes\r\n * more complex graphs (e.g., charts) with a specific configuration.\r\n *\r\n * @param data - The data to be transformed, typically an array of objects representing rows of data.\r\n * @param graph - The type of graph to transform the data for (e.g., lineChart, barChart, etc.).\r\n * @param config - An optional array of configuration objects that define how the data should be mapped to the graph.\r\n * Each object in the array should define column mappings and how data should be grouped or aggregated.\r\n *\r\n * @returns The transformed data in the format required by the graph. If no valid configuration is provided, or if\r\n * data is invalid, an error message is returned.\r\n * - If the graph type is \"dataTable\" or \"dataCards\", the original data is returned unchanged.\r\n * - If data is invalid, an error message will be returned.\r\n *\r\n * @throws {string} If the configuration is invalid or the data can't be processed, an error message is logged and\r\n * returned.\r\n *\r\n * @example\r\n * const graphData = [\r\n * { category: 'A', value: 10 },\r\n * { category: 'B', value: 15 },\r\n * ];\r\n * const graph = 'barChart';\r\n * const config = [\r\n * { columnId: 'category', chartConfigId: 'label' },\r\n * { columnId: 'value', chartConfigId: 'size' },\r\n * ];\r\n * const transformedData = transformDataForGraph(graphData, graph, config);\r\n * console.log(transformedData);\r\n */\r\nexport function transformDataForGraph(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n graph: GraphType | ThreeDGraphType,\r\n config?: GraphConfigurationDataType[],\r\n) {\r\n if (\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graph) !== -1\r\n )\r\n return data;\r\n if (!data) return 'Cannot fetch data';\r\n if (graph === 'dataTable' || graph === 'dataCards' || data.length === 0) return data;\r\n if (!config) {\r\n console.error('Your data configuration is not accurate');\r\n return 'No graph configuration is provided';\r\n }\r\n const dataConfigValidity = checkDataConfigValidity(config, graph, Object.keys(data[0]));\r\n if (dataConfigValidity.isValid) {\r\n const chartConfig =\r\n ChartConfiguration[ChartConfiguration.findIndex(d => d.chartID === graph)].configuration;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataFormatted = data.map((d: any) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const obj: any = {};\r\n config\r\n .filter(el => el.columnId)\r\n .forEach(el => {\r\n if (chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].multiple) {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] = [];\r\n (el.columnId as string[]).forEach(l => {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id].push(\r\n checkIfNullOrUndefined(d[l]) ? null : d[l],\r\n );\r\n });\r\n } else {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] =\r\n checkIfNullOrUndefined(d[el.columnId as string]) ? null : d[el.columnId as string];\r\n }\r\n obj[`${el.chartConfigId}Columns`] = el.columnId;\r\n });\r\n obj.data = d;\r\n return obj;\r\n });\r\n return dataFormatted;\r\n }\r\n console.error(dataConfigValidity.err);\r\n return dataConfigValidity.err;\r\n}\r\n","import sum from 'lodash.sum';\r\nimport flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { uniqBy } from '../uniqBy';\r\n\r\nimport { AggregationSettingsDataType } from '@/Types';\r\n/**\r\n * Transforms the data for aggregation based on a key column and specified aggregation settings.\r\n * It groups the data by unique values in the key column and applies the aggregation methods to each group.\r\n *\r\n * @param data - The input data to be aggregated. Can be an array of objects, where each object represents a data row.\r\n * @param keyColumn - The name of the column to group the data by (key column).\r\n * @param aggregationSettings - Optional settings for the aggregation, specifying the column and aggregation method (e.g., 'average', 'max', 'min', 'sum').\r\n * Each setting can define a column and a corresponding aggregation method to apply to that column.\r\n *\r\n * @returns An array of objects where each object contains the aggregated values for each unique value in the key column.\r\n * Each object includes the key column value, count of occurrences, and the aggregated values for each specified column.\r\n *\r\n * @example\r\n * const data = [\r\n * { category: 'A', value: 10, amount: 5 },\r\n * { category: 'A', value: 20, amount: 10 },\r\n * { category: 'B', value: 15, amount: 7 },\r\n * ];\r\n * const aggregationSettings = [\r\n * { column: 'value', aggregationMethod: 'average' },\r\n * { column: 'amount', aggregationMethod: 'sum' },\r\n * ];\r\n * const transformedData = transformDataForAggregation(data, 'category', aggregationSettings);\r\n * console.log(transformedData);\r\n * // Output:\r\n * // [\r\n * // { category: 'A', count: 2, value: 15, amount: 15 },\r\n * // { category: 'B', count: 1, value: 15, amount: 7 },\r\n * // ]\r\n */\r\nexport function transformDataForAggregation(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n keyColumn: string,\r\n aggregationSettings?: AggregationSettingsDataType[],\r\n) {\r\n if (data.length === 0) return [];\r\n if (typeof data[0][keyColumn] !== 'object') {\r\n const uniqValues = uniqBy(data, keyColumn).map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn] === d,\r\n );\r\n dataObj.count = filteredData.length;\r\n dataObj.rollUpData = filteredData;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const values = [...new Set(flattenDeep(data.map((d: any) => d[keyColumn])))];\r\n const uniqValues = values.map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn].indexOf(d) !== -1,\r\n );\r\n dataObj.rollUpData = filteredData;\r\n dataObj.count = filteredData.length;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n}\r\n"],"names":["ChartConfiguration","chartID","configuration","id","required","multiple","missingValuesInArray","superset","subset","filter","value","includes","checkDataConfigValidity","dataConfig","graph","dataKeys","dataKeyFromDataConfig","flattenDeep","map","d","columnId","checkDataKeys","length","isValid","err","join","ids","el","chartConfigId","requiredIds","findIndex","ifRequiredIdsPresent","undefined","transformDataForGraph","data","config","graphList","geoHubMapPresentation","graphID","indexOf","console","error","dataConfigValidity","Object","keys","chartConfig","obj","forEach","k","l","push","checkIfNullOrUndefined","transformDataForAggregation","keyColumn","aggregationSettings","uniqBy","dataObj","filteredData","j","count","rollUpData","column","aggregationMethod","parseFloat","sum","toFixed","Math","max","min","Set"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const q=require("./index-BS2TADPj.cjs"),m=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),h=require("./getGraphList-gf02xgT2.cjs"),f=require("./index-CSNtgibC.cjs"),g=require("./uniqBy-O05lp2S5.cjs"),c=[{chartID:"barChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"bulletChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1},{id:"target",required:!1,multiple:!1},{id:"qualitativeRange",required:!1,multiple:!0}]},{chartID:"radarChart",configuration:[{id:"label",required:!1,multiple:!1},{id:"values",required:!0,multiple:!0},{id:"color",required:!1,multiple:!1}]},{chartID:"stackedBarChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",multiple:!0,required:!0},{id:"date",required:!1,multiple:!1}]},{chartID:"groupedBarChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",multiple:!0,required:!0},{id:"date",required:!1,multiple:!1}]},{chartID:"lineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1}]},{chartID:"dualAxisLineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y1",multiple:!1,required:!0},{id:"y2",multiple:!1,required:!0}]},{chartID:"differenceLineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y1",multiple:!1,required:!0},{id:"y2",multiple:!1,required:!0}]},{chartID:"multiLineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",multiple:!0,required:!0}]},{chartID:"multiLineAltChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",multiple:!1,required:!0},{id:"label",multiple:!1,required:!0},{id:"color",multiple:!1,required:!1}]},{chartID:"stackedAreaChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",multiple:!0,required:!0}]},{chartID:"threeDGlobe",configuration:[{id:"id",required:!0,multiple:!1},{id:"x",required:!0,multiple:!1}]},{chartID:"choroplethMap",configuration:[{id:"id",required:!0,multiple:!1},{id:"x",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"biVariateChoroplethMap",configuration:[{id:"id",required:!0,multiple:!1},{id:"x",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"dotDensityMap",configuration:[{id:"lat",required:!0,multiple:!1},{id:"long",required:!0,multiple:!1},{id:"label",multiple:!1,required:!1},{id:"color",multiple:!1,required:!1},{id:"radius",required:!1,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"donutChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1}]},{chartID:"slopeChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"y1",required:!0,multiple:!1},{id:"y2",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"scatterPlot",configuration:[{id:"x",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1},{id:"radius",required:!1,multiple:!1},{id:"color",required:!1,multiple:!1},{id:"label",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"dumbbellChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"x",multiple:!0,required:!0},{id:"date",required:!1,multiple:!1}]},{chartID:"treeMap",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"circlePacking",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!1,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"sankeyChart",configuration:[{id:"source",required:!0,multiple:!1},{id:"target",required:!0,multiple:!1},{id:"value",required:!1,multiple:!1}]},{chartID:"heatMap",configuration:[{id:"row",required:!0,multiple:!1},{id:"column",required:!0,multiple:!1},{id:"value",required:!0,multiple:!1}]},{chartID:"stripChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"position",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"statCard",configuration:[{id:"value",required:!0,multiple:!1}]},{chartID:"beeSwarmChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"position",required:!0,multiple:!1},{id:"radius",required:!1,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"butterflyChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"leftBar",required:!0,multiple:!1},{id:"rightBar",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"lineChartWithConfidenceInterval",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1},{id:"yMin",required:!1,multiple:!1},{id:"yMax",required:!1,multiple:!1}]},{chartID:"histogram",configuration:[{id:"value",required:!0,multiple:!1}]},{chartID:"sparkLine",configuration:[{id:"dale",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1}]},{chartID:"paretoChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"bar",required:!0,multiple:!1},{id:"line",required:!0,multiple:!1}]},{chartID:"unitChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"value",required:!0,multiple:!1}]}];function p(t,a){return a.filter(d=>!t.includes(d))}function I(t,a,d){const s=q.flattenDeep(t.map(e=>e.columnId)),u=p(d,s);if(u.length!==0)return{isValid:!1,err:`Key(s) in configuration that don't match keys in the data: ${u.join(", ")}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`};const o=t.map(e=>e.chartConfigId),l=c[c.findIndex(e=>e.chartID===a)].configuration.filter(e=>e.required).map(e=>e.id),i=p(o,l);return{isValid:i.length===0,err:i.length===0?void 0:`Missing required ID(s) in configuration: ${i.join(", ")}`}}function D(t,a,d){if(h.graphList.filter(u=>u.geoHubMapPresentation).map(u=>u.graphID).indexOf(a)!==-1)return t;if(!t)return"Cannot fetch data";if(a==="dataTable"||a==="dataCards"||t.length===0)return t;if(!d)return console.error("Your data configuration is not accurate"),"No graph configuration is provided";const s=I(d,a,Object.keys(t[0]));if(s.isValid){const u=c[c.findIndex(l=>l.chartID===a)].configuration;return t.map(l=>{const i={};return d.filter(e=>e.columnId).forEach(e=>{u[u.findIndex(r=>r.id===e.chartConfigId)].multiple?(i[u[u.findIndex(r=>r.id===e.chartConfigId)].id]=[],e.columnId.forEach(r=>{i[u[u.findIndex(n=>n.id===e.chartConfigId)].id].push(m.checkIfNullOrUndefined(l[r])?null:l[r])})):i[u[u.findIndex(r=>r.id===e.chartConfigId)].id]=m.checkIfNullOrUndefined(l[e.columnId])?null:l[e.columnId],i[`${e.chartConfigId}Columns`]=e.columnId}),i.data=l,i})}return console.error(s.err),s.err}function b(t,a,d){return t.length===0?[]:typeof t[0][a]!="object"?g.uniqBy(t,a).map(l=>{const i={};i[a]=l;const e=t.filter(r=>r[a]===l);return i.count=e.length,i.rollUpData=e,d?.forEach(r=>{i[r.column]=r.aggregationMethod==="average"?parseFloat((f.sum(e.map(n=>n[r.column]))/e.length).toFixed(2)):r.aggregationMethod==="max"?Math.max(...e.map(n=>n[r.column])):r.aggregationMethod==="min"?Math.min(...e.map(n=>n[r.column])):f.sum(e.map(n=>n[r.column]))}),i}):[...new Set(q.flattenDeep(t.map(o=>o[a])))].map(o=>{const l={};l[a]=o;const i=t.filter(e=>e[a].indexOf(o)!==-1);return l.rollUpData=i,l.count=i.length,d?.forEach(e=>{l[e.column]=e.aggregationMethod==="average"?parseFloat((f.sum(i.map(r=>r[e.column]))/i.length).toFixed(2)):e.aggregationMethod==="max"?Math.max(...i.map(r=>r[e.column])):e.aggregationMethod==="min"?Math.min(...i.map(r=>r[e.column])):f.sum(i.map(r=>r[e.column]))}),l})}exports.transformDataForAggregation=b;exports.transformDataForGraph=D;
2
- //# sourceMappingURL=transformDataForAggregation-KXGm6flX.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformDataForAggregation-KXGm6flX.cjs","sources":["../src/Utils/transformData/graphConfig.ts","../src/Utils/checkDataValidity.ts","../src/Utils/transformData/transformDataForGraph.ts","../src/Utils/transformData/transformDataForAggregation.ts"],"sourcesContent":["import { GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nexport const ChartConfiguration: {\r\n chartID: GraphType | ThreeDGraphType;\r\n configuration: { id: string; required: boolean; multiple: boolean }[];\r\n}[] = [\r\n {\r\n chartID: 'barChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'bulletChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'qualitativeRange',\r\n required: false,\r\n multiple: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'radarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'values',\r\n required: true,\r\n multiple: true,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'groupedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dualAxisLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'differenceLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineAltChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedAreaChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'threeDGlobe',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'choroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'biVariateChoroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dotDensityMap',\r\n configuration: [\r\n {\r\n id: 'lat',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'long',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'donutChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'slopeChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y2',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'scatterPlot',\r\n configuration: [\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dumbbellChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'treeMap',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'circlePacking',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sankeyChart',\r\n configuration: [\r\n {\r\n id: 'source',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'heatMap',\r\n configuration: [\r\n {\r\n id: 'row',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'column',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stripChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'statCard',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'beeSwarmChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'butterflyChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'leftBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'rightBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChartWithConfidenceInterval',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMin',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMax',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'histogram',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sparkLine',\r\n configuration: [\r\n {\r\n id: 'dale',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'paretoChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'bar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'line',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'unitChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n];\r\n","import flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { ChartConfiguration } from './transformData/graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nfunction missingValuesInArray(superset: string[], subset: string[]): string[] {\r\n return subset.filter(value => !superset.includes(value));\r\n}\r\n\r\nexport function checkDataConfigValidity(\r\n dataConfig: GraphConfigurationDataType[],\r\n graph: GraphType | ThreeDGraphType,\r\n dataKeys: string[],\r\n) {\r\n const dataKeyFromDataConfig = flattenDeep(dataConfig.map(d => d.columnId));\r\n const checkDataKeys = missingValuesInArray(dataKeys, dataKeyFromDataConfig);\r\n if (checkDataKeys.length !== 0)\r\n return {\r\n isValid: false,\r\n err: `Key(s) in configuration that don't match keys in the data: ${checkDataKeys.join(\r\n ', ',\r\n )}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`,\r\n };\r\n const ids = dataConfig.map(el => el.chartConfigId);\r\n const requiredIds = ChartConfiguration[\r\n ChartConfiguration.findIndex(el => el.chartID === graph)\r\n ].configuration\r\n .filter(el => el.required)\r\n .map(el => el.id);\r\n const ifRequiredIdsPresent = missingValuesInArray(ids, requiredIds);\r\n return {\r\n isValid: ifRequiredIdsPresent.length === 0,\r\n err:\r\n ifRequiredIdsPresent.length === 0\r\n ? undefined\r\n : `Missing required ID(s) in configuration: ${ifRequiredIdsPresent.join(', ')}`,\r\n };\r\n}\r\n","import { checkDataConfigValidity } from '../checkDataValidity';\r\nimport { checkIfNullOrUndefined } from '../checkIfNullOrUndefined';\r\nimport { graphList } from '../getGraphList';\r\n\r\nimport { ChartConfiguration } from './graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n/**\r\n * Transforms the input data into a format suitable for graph visualization based on the given graph type and configuration.\r\n *\r\n * The function formats the data according to the specified graph configuration and checks the validity of the configuration.\r\n * It also handles cases for graphs like \"dataTable\" and \"dataCards\" without additional processing, and it processes\r\n * more complex graphs (e.g., charts) with a specific configuration.\r\n *\r\n * @param data - The data to be transformed, typically an array of objects representing rows of data.\r\n * @param graph - The type of graph to transform the data for (e.g., lineChart, barChart, etc.).\r\n * @param config - An optional array of configuration objects that define how the data should be mapped to the graph.\r\n * Each object in the array should define column mappings and how data should be grouped or aggregated.\r\n *\r\n * @returns The transformed data in the format required by the graph. If no valid configuration is provided, or if\r\n * data is invalid, an error message is returned.\r\n * - If the graph type is \"dataTable\" or \"dataCards\", the original data is returned unchanged.\r\n * - If data is invalid, an error message will be returned.\r\n *\r\n * @throws {string} If the configuration is invalid or the data can't be processed, an error message is logged and\r\n * returned.\r\n *\r\n * @example\r\n * const graphData = [\r\n * { category: 'A', value: 10 },\r\n * { category: 'B', value: 15 },\r\n * ];\r\n * const graph = 'barChart';\r\n * const config = [\r\n * { columnId: 'category', chartConfigId: 'label' },\r\n * { columnId: 'value', chartConfigId: 'size' },\r\n * ];\r\n * const transformedData = transformDataForGraph(graphData, graph, config);\r\n * console.log(transformedData);\r\n */\r\nexport function transformDataForGraph(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n graph: GraphType | ThreeDGraphType,\r\n config?: GraphConfigurationDataType[],\r\n) {\r\n if (\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graph) !== -1\r\n )\r\n return data;\r\n if (!data) return 'Cannot fetch data';\r\n if (graph === 'dataTable' || graph === 'dataCards' || data.length === 0) return data;\r\n if (!config) {\r\n console.error('Your data configuration is not accurate');\r\n return 'No graph configuration is provided';\r\n }\r\n const dataConfigValidity = checkDataConfigValidity(config, graph, Object.keys(data[0]));\r\n if (dataConfigValidity.isValid) {\r\n const chartConfig =\r\n ChartConfiguration[ChartConfiguration.findIndex(d => d.chartID === graph)].configuration;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataFormatted = data.map((d: any) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const obj: any = {};\r\n config\r\n .filter(el => el.columnId)\r\n .forEach(el => {\r\n if (chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].multiple) {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] = [];\r\n (el.columnId as string[]).forEach(l => {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id].push(\r\n checkIfNullOrUndefined(d[l]) ? null : d[l],\r\n );\r\n });\r\n } else {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] =\r\n checkIfNullOrUndefined(d[el.columnId as string]) ? null : d[el.columnId as string];\r\n }\r\n obj[`${el.chartConfigId}Columns`] = el.columnId;\r\n });\r\n obj.data = d;\r\n return obj;\r\n });\r\n return dataFormatted;\r\n }\r\n console.error(dataConfigValidity.err);\r\n return dataConfigValidity.err;\r\n}\r\n","import sum from 'lodash.sum';\r\nimport flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { uniqBy } from '../uniqBy';\r\n\r\nimport { AggregationSettingsDataType } from '@/Types';\r\n/**\r\n * Transforms the data for aggregation based on a key column and specified aggregation settings.\r\n * It groups the data by unique values in the key column and applies the aggregation methods to each group.\r\n *\r\n * @param data - The input data to be aggregated. Can be an array of objects, where each object represents a data row.\r\n * @param keyColumn - The name of the column to group the data by (key column).\r\n * @param aggregationSettings - Optional settings for the aggregation, specifying the column and aggregation method (e.g., 'average', 'max', 'min', 'sum').\r\n * Each setting can define a column and a corresponding aggregation method to apply to that column.\r\n *\r\n * @returns An array of objects where each object contains the aggregated values for each unique value in the key column.\r\n * Each object includes the key column value, count of occurrences, and the aggregated values for each specified column.\r\n *\r\n * @example\r\n * const data = [\r\n * { category: 'A', value: 10, amount: 5 },\r\n * { category: 'A', value: 20, amount: 10 },\r\n * { category: 'B', value: 15, amount: 7 },\r\n * ];\r\n * const aggregationSettings = [\r\n * { column: 'value', aggregationMethod: 'average' },\r\n * { column: 'amount', aggregationMethod: 'sum' },\r\n * ];\r\n * const transformedData = transformDataForAggregation(data, 'category', aggregationSettings);\r\n * console.log(transformedData);\r\n * // Output:\r\n * // [\r\n * // { category: 'A', count: 2, value: 15, amount: 15 },\r\n * // { category: 'B', count: 1, value: 15, amount: 7 },\r\n * // ]\r\n */\r\nexport function transformDataForAggregation(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n keyColumn: string,\r\n aggregationSettings?: AggregationSettingsDataType[],\r\n) {\r\n if (data.length === 0) return [];\r\n if (typeof data[0][keyColumn] !== 'object') {\r\n const uniqValues = uniqBy(data, keyColumn).map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn] === d,\r\n );\r\n dataObj.count = filteredData.length;\r\n dataObj.rollUpData = filteredData;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const values = [...new Set(flattenDeep(data.map((d: any) => d[keyColumn])))];\r\n const uniqValues = values.map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn].indexOf(d) !== -1,\r\n );\r\n dataObj.rollUpData = filteredData;\r\n dataObj.count = filteredData.length;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n}\r\n"],"names":["ChartConfiguration","chartID","configuration","id","required","multiple","missingValuesInArray","superset","subset","filter","value","includes","checkDataConfigValidity","dataConfig","graph","dataKeys","dataKeyFromDataConfig","flattenDeep","map","d","columnId","checkDataKeys","length","isValid","err","join","ids","el","chartConfigId","requiredIds","findIndex","ifRequiredIdsPresent","undefined","transformDataForGraph","data","config","graphList","geoHubMapPresentation","graphID","indexOf","console","error","dataConfigValidity","Object","keys","chartConfig","obj","forEach","k","l","push","checkIfNullOrUndefined","transformDataForAggregation","keyColumn","aggregationSettings","uniqBy","dataObj","filteredData","j","count","rollUpData","column","aggregationMethod","parseFloat","sum","toFixed","Math","max","min","Set"],"mappings":"sNAEaA,EAGP,CACJ,CACEC,QAAS,WACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,cACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,SACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,mBACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,aACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,SACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,kBACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJE,SAAU,GACVD,SAAU,EAAA,EAEZ,CACED,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,kBACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJE,SAAU,GACVD,SAAU,EAAA,EAEZ,CACED,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,YACTC,cAAe,CACb,CACEC,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,oBACTC,cAAe,CACb,CACEC,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,KACJE,SAAU,GACVD,SAAU,EAAA,EAEZ,CACED,GAAI,KACJE,SAAU,GACVD,SAAU,EAAA,CACX,CAEL,EACA,CACEH,QAAS,sBACTC,cAAe,CACb,CACEC,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,KACJE,SAAU,GACVD,SAAU,EAAA,EAEZ,CACED,GAAI,KACJE,SAAU,GACVD,SAAU,EAAA,CACX,CAEL,EACA,CACEH,QAAS,iBACTC,cAAe,CACb,CACEC,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJE,SAAU,GACVD,SAAU,EAAA,CACX,CAEL,EACA,CACEH,QAAS,oBACTC,cAAe,CACb,CACEC,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJE,SAAU,GACVD,SAAU,EAAA,EAEZ,CACED,GAAI,QACJE,SAAU,GACVD,SAAU,EAAA,EAEZ,CACED,GAAI,QACJE,SAAU,GACVD,SAAU,EAAA,CACX,CAEL,EACA,CACEH,QAAS,mBACTC,cAAe,CACb,CACEC,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJE,SAAU,GACVD,SAAU,EAAA,CACX,CAEL,EACA,CACEH,QAAS,cACTC,cAAe,CACb,CACEC,GAAI,KACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,gBACTC,cAAe,CACb,CACEC,GAAI,KACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,yBACTC,cAAe,CACb,CACEC,GAAI,KACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,gBACTC,cAAe,CACb,CACEC,GAAI,MACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJE,SAAU,GACVD,SAAU,EAAA,EAEZ,CACED,GAAI,QACJE,SAAU,GACVD,SAAU,EAAA,EAEZ,CACED,GAAI,SACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,aACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,aACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,KACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,KACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,cACTC,cAAe,CACb,CACEC,GAAI,IACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,SACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,gBACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJE,SAAU,GACVD,SAAU,EAAA,EAEZ,CACED,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,UACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,gBACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,cACTC,cAAe,CACb,CACEC,GAAI,SACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,SACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,UACTC,cAAe,CACb,CACEC,GAAI,MACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,SACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,aACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,WACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,WACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,gBACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,WACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,SACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,iBACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,UACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,WACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,kCACTC,cAAe,CACb,CACEC,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,YACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,YACTC,cAAe,CACb,CACEC,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,IACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,cACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,MACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,OACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,EACA,CACEJ,QAAS,YACTC,cAAe,CACb,CACEC,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,EAEZ,CACEF,GAAI,QACJC,SAAU,GACVC,SAAU,EAAA,CACX,CAEL,CAAC,EC9oBH,SAASC,EAAqBC,EAAoBC,EAA4B,CAC5E,OAAOA,EAAOC,OAAOC,GAAS,CAACH,EAASI,SAASD,CAAK,CAAC,CACzD,CAEO,SAASE,EACdC,EACAC,EACAC,EACA,CACA,MAAMC,EAAwBC,EAAAA,YAAYJ,EAAWK,IAAIC,GAAKA,EAAEC,QAAQ,CAAC,EACnEC,EAAgBf,EAAqBS,EAAUC,CAAqB,EAC1E,GAAIK,EAAcC,SAAW,EAC3B,MAAO,CACLC,QAAS,GACTC,IAAK,8DAA8DH,EAAcI,KAC/E,IACF,CAAC,oNAAA,EAEL,MAAMC,EAAMb,EAAWK,IAAIS,GAAMA,EAAGC,aAAa,EAC3CC,EAAc7B,EAClBA,EAAmB8B,UAAUH,GAAMA,EAAG1B,UAAYa,CAAK,CAAC,EACxDZ,cACCO,UAAakB,EAAGvB,QAAQ,EACxBc,IAAIS,GAAMA,EAAGxB,EAAE,EACZ4B,EAAuBzB,EAAqBoB,EAAKG,CAAW,EAClE,MAAO,CACLN,QAASQ,EAAqBT,SAAW,EACzCE,IACEO,EAAqBT,SAAW,EAC5BU,OACA,4CAA4CD,EAAqBN,KAAK,IAAI,CAAC,EAAA,CAErF,CCEO,SAASQ,EAEdC,EACApB,EACAqB,EACA,CACA,GACEC,EAAAA,UACG3B,OAAOkB,GAAMA,EAAGU,qBAAqB,EACrCnB,IAAIS,GAAMA,EAAGW,OAAO,EACpBC,QAAQzB,CAAK,IAAM,GAEtB,OAAOoB,EACT,GAAI,CAACA,EAAM,MAAO,oBAClB,GAAIpB,IAAU,aAAeA,IAAU,aAAeoB,EAAKZ,SAAW,EAAG,OAAOY,EAChF,GAAI,CAACC,EACHK,eAAQC,MAAM,yCAAyC,EAChD,qCAET,MAAMC,EAAqB9B,EAAwBuB,EAAQrB,EAAO6B,OAAOC,KAAKV,EAAK,CAAC,CAAC,CAAC,EACtF,GAAIQ,EAAmBnB,QAAS,CAC9B,MAAMsB,EACJ7C,EAAmBA,EAAmB8B,aAAeX,EAAElB,UAAYa,CAAK,CAAC,EAAEZ,cAwB7E,OAtBsBgC,EAAKhB,IAAKC,GAAW,CAEzC,MAAM2B,EAAW,CAAA,EACjBX,OAAAA,EACG1B,OAAOkB,GAAMA,EAAGP,QAAQ,EACxB2B,QAAQpB,GAAM,CACTkB,EAAYA,EAAYf,UAAUkB,GAAKA,EAAE7C,KAAOwB,EAAGC,aAAa,CAAC,EAAEvB,UACrEyC,EAAID,EAAYA,EAAYf,UAAUkB,GAAKA,EAAE7C,KAAOwB,EAAGC,aAAa,CAAC,EAAEzB,EAAE,EAAI,CAAA,EAC5EwB,EAAGP,SAAsB2B,QAAQE,GAAK,CACrCH,EAAID,EAAYA,EAAYf,UAAUkB,GAAKA,EAAE7C,KAAOwB,EAAGC,aAAa,CAAC,EAAEzB,EAAE,EAAE+C,KACzEC,EAAAA,uBAAuBhC,EAAE8B,CAAC,CAAC,EAAI,KAAO9B,EAAE8B,CAAC,CAC3C,CACF,CAAC,GAEDH,EAAID,EAAYA,EAAYf,UAAUkB,GAAKA,EAAE7C,KAAOwB,EAAGC,aAAa,CAAC,EAAEzB,EAAE,EACvEgD,EAAAA,uBAAuBhC,EAAEQ,EAAGP,QAAkB,CAAC,EAAI,KAAOD,EAAEQ,EAAGP,QAAkB,EAErF0B,EAAI,GAAGnB,EAAGC,aAAa,SAAS,EAAID,EAAGP,QACzC,CAAC,EACH0B,EAAIZ,KAAOf,EACJ2B,CACT,CAAC,CAEH,CACAN,eAAQC,MAAMC,EAAmBlB,GAAG,EAC7BkB,EAAmBlB,GAC5B,CCtDO,SAAS4B,EAEdlB,EACAmB,EACAC,EACA,CACA,OAAIpB,EAAKZ,SAAW,EAAU,CAAA,EAC1B,OAAOY,EAAK,CAAC,EAAEmB,CAAS,GAAM,SACbE,EAAAA,OAAOrB,EAAMmB,CAAS,EAAEnC,IAAIC,GAAK,CAElD,MAAMqC,EAAe,CAAA,EACrBA,EAAQH,CAAS,EAAIlC,EACrB,MAAMsC,EAAevB,EAAKzB,OAEvBiD,GAAWA,EAAEL,CAAS,IAAMlC,CAAAA,EAE/BqC,OAAAA,EAAQG,MAAQF,EAAanC,OAC7BkC,EAAQI,WAAaH,EACrBH,GAAqBP,QAAQpB,GAAM,CACjC6B,EAAQ7B,EAAGkC,MAAM,EACflC,EAAGmC,oBAAsB,UACrBC,YAEGC,EAAAA,IAAIP,EAAavC,IAAKwC,GAAWA,EAAE/B,EAAGkC,MAAM,CAAC,CAAC,EAAIJ,EAAanC,QAAQ2C,QAAQ,CAAC,CAAA,EAEnFtC,EAAGmC,oBAAsB,MAEvBI,KAAKC,IAAI,GAAGV,EAAavC,IAAKwC,GAAWA,EAAE/B,EAAGkC,MAAM,CAAC,CAAC,EACtDlC,EAAGmC,oBAAsB,MAEvBI,KAAKE,IAAI,GAAGX,EAAavC,IAAKwC,GAAWA,EAAE/B,EAAGkC,MAAM,CAAC,CAAC,EAEtDG,EAAAA,IAAIP,EAAavC,IAAKwC,GAAWA,EAAE/B,EAAGkC,MAAM,CAAC,CAAC,CAC1D,CAAC,EACML,CACT,CAAC,EAIY,CAAC,GAAG,IAAIa,IAAIpD,EAAAA,YAAYiB,EAAKhB,IAAKC,GAAWA,EAAEkC,CAAS,CAAC,CAAC,CAAC,CAAC,EACjDnC,IAAIC,GAAK,CAEjC,MAAMqC,EAAe,CAAA,EACrBA,EAAQH,CAAS,EAAIlC,EACrB,MAAMsC,EAAevB,EAAKzB,OAEvBiD,GAAWA,EAAEL,CAAS,EAAEd,QAAQpB,CAAC,IAAM,EAAA,EAE1CqC,OAAAA,EAAQI,WAAaH,EACrBD,EAAQG,MAAQF,EAAanC,OAC7BgC,GAAqBP,QAAQpB,GAAM,CACjC6B,EAAQ7B,EAAGkC,MAAM,EACflC,EAAGmC,oBAAsB,UACrBC,YAEGC,EAAAA,IAAIP,EAAavC,IAAKwC,GAAWA,EAAE/B,EAAGkC,MAAM,CAAC,CAAC,EAAIJ,EAAanC,QAAQ2C,QAAQ,CAAC,CAAA,EAEnFtC,EAAGmC,oBAAsB,MAEvBI,KAAKC,IAAI,GAAGV,EAAavC,IAAKwC,GAAWA,EAAE/B,EAAGkC,MAAM,CAAC,CAAC,EACtDlC,EAAGmC,oBAAsB,MAEvBI,KAAKE,IAAI,GAAGX,EAAavC,IAAKwC,GAAWA,EAAE/B,EAAGkC,MAAM,CAAC,CAAC,EAEtDG,EAAAA,IAAIP,EAAavC,IAAKwC,GAAWA,EAAE/B,EAAGkC,MAAM,CAAC,CAAC,CAC1D,CAAC,EACML,CACT,CAAC,CAEH"}