@undp/data-viz 2.0.7 → 2.0.9

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 (72) hide show
  1. package/dist/ChoroplethMap.cjs +1 -1
  2. package/dist/ChoroplethMap.js +1 -1
  3. package/dist/DataCards.cjs +1 -1
  4. package/dist/DataCards.js +1 -1
  5. package/dist/GriddedGraphs.cjs +1 -1
  6. package/dist/GriddedGraphs.cjs.map +1 -1
  7. package/dist/GriddedGraphs.d.ts +1 -0
  8. package/dist/GriddedGraphs.js +152 -140
  9. package/dist/GriddedGraphs.js.map +1 -1
  10. package/dist/GriddedGraphsFromConfig.d.ts +1 -0
  11. package/dist/HybridMap.cjs +1 -1
  12. package/dist/HybridMap.js +1 -1
  13. package/dist/MultiGraphDashboard.cjs +1 -1
  14. package/dist/MultiGraphDashboard.cjs.map +1 -1
  15. package/dist/MultiGraphDashboard.d.ts +1 -0
  16. package/dist/MultiGraphDashboard.js +88 -83
  17. package/dist/MultiGraphDashboard.js.map +1 -1
  18. package/dist/MultiGraphDashboardFromConfig.d.ts +1 -0
  19. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  20. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
  21. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +1 -0
  22. package/dist/PerformanceIntensiveMultiGraphDashboard.js +74 -70
  23. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
  24. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +1 -0
  25. package/dist/SingleGraphDashboard.cjs +1 -1
  26. package/dist/SingleGraphDashboard.cjs.map +1 -1
  27. package/dist/SingleGraphDashboard.d.ts +1 -0
  28. package/dist/SingleGraphDashboard.js +122 -119
  29. package/dist/SingleGraphDashboard.js.map +1 -1
  30. package/dist/SingleGraphDashboardFromConfig.d.ts +1 -0
  31. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  32. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  33. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +1 -0
  34. package/dist/SingleGraphDashboardThreeDGraphs.js +126 -122
  35. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  36. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +1 -0
  37. package/dist/ThreeDGlobe.cjs +1 -1
  38. package/dist/ThreeDGlobe.js +1 -1
  39. package/dist/Types.d.ts +1 -0
  40. package/dist/{getGraphList-gf02xgT2.cjs → getGraphList-CA17dvFB.cjs} +2 -2
  41. package/dist/getGraphList-CA17dvFB.cjs.map +1 -0
  42. package/dist/{getGraphList-BpEWn1Tk.js → getGraphList-Dxwo9TDb.js} +7 -1
  43. package/dist/{getGraphList-BpEWn1Tk.js.map → getGraphList-Dxwo9TDb.js.map} +1 -1
  44. package/dist/getSchema.cjs +1 -1
  45. package/dist/getSchema.js +1 -1
  46. package/dist/getUniqValue-DsqSii6M.js +11 -0
  47. package/dist/getUniqValue-DsqSii6M.js.map +1 -0
  48. package/dist/getUniqValue-NX8DgwND.cjs +2 -0
  49. package/dist/getUniqValue-NX8DgwND.cjs.map +1 -0
  50. package/dist/index.cjs +1 -1
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.js +4 -4
  53. package/dist/transformData.cjs +1 -1
  54. package/dist/transformData.js +2 -2
  55. package/dist/{transformDataForAggregation-CjwEAUOR.js → transformDataForAggregation-DEU__LUl.js} +2 -2
  56. package/dist/{transformDataForAggregation-CjwEAUOR.js.map → transformDataForAggregation-DEU__LUl.js.map} +1 -1
  57. package/dist/{transformDataForAggregation-DAGK2BZy.cjs → transformDataForAggregation-XNg0OGYE.cjs} +2 -2
  58. package/dist/{transformDataForAggregation-DAGK2BZy.cjs.map → transformDataForAggregation-XNg0OGYE.cjs.map} +1 -1
  59. package/dist/{transformDataForGraphFromFile-D5TMQYYd.js → transformDataForGraphFromFile-CSG24iF6.js} +2 -2
  60. package/dist/{transformDataForGraphFromFile-D5TMQYYd.js.map → transformDataForGraphFromFile-CSG24iF6.js.map} +1 -1
  61. package/dist/{transformDataForGraphFromFile-B1zJSPRP.cjs → transformDataForGraphFromFile-CzepNVGZ.cjs} +2 -2
  62. package/dist/{transformDataForGraphFromFile-B1zJSPRP.cjs.map → transformDataForGraphFromFile-CzepNVGZ.cjs.map} +1 -1
  63. package/dist/utils.cjs +1 -1
  64. package/dist/utils.js +2 -2
  65. package/dist/validateSchema.cjs +1 -1
  66. package/dist/validateSchema.js +1 -1
  67. package/package.json +1 -1
  68. package/dist/getGraphList-gf02xgT2.cjs.map +0 -1
  69. package/dist/getUniqValue-BKHCm3zE.js +0 -11
  70. package/dist/getUniqValue-BKHCm3zE.js.map +0 -1
  71. package/dist/getUniqValue-RViz8tTw.cjs +0 -2
  72. package/dist/getUniqValue-RViz8tTw.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SingleGraphDashboardThreeDGraphs.js","sources":["../src/Components/Dashboard/PerformanceIntensive/ThreeDGraphEl.tsx","../src/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphs.tsx"],"sourcesContent":["import { P } from '@undp/design-system-react/Typography';\r\n\r\nimport { ThreeDGlobe } from '../../Graphs/Maps/ThreeDGlobe';\r\n\r\nimport { getValues } from '@/Utils/getValues';\r\nimport { GraphConfigurationDataType, GraphSettingsDataType, ThreeDGraphType } from '@/Types';\r\n\r\ninterface Props {\r\n graph: ThreeDGraphType;\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 ThreeDGraphEl(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<ThreeDGraphType, React.ElementType | null> = {\r\n threeDGlobe: ThreeDGlobe,\r\n };\r\n const getGraphProps = (graphType: ThreeDGraphType) => {\r\n switch (graphType) {\r\n case 'threeDGlobe':\r\n return {\r\n globeOffset: settings?.globeOffset,\r\n collapseColorScaleByDefault: settings?.collapseColorScaleByDefault,\r\n polygonAltitude: settings?.polygonAltitude,\r\n highlightedIds: settings?.highlightedIds,\r\n scale: settings?.scale,\r\n theme: settings?.theme,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n graphTitle: settings?.graphTitle,\r\n mapData: settings?.mapData,\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 centerPoint: settings?.centerPoint,\r\n backgroundColor: settings?.backgroundColor,\r\n mapNoDataColor: settings?.mapNoDataColor,\r\n mapBorderColor: settings?.mapBorderColor,\r\n relativeHeight: settings?.relativeHeight,\r\n padding: settings?.padding,\r\n tooltip: settings?.tooltip,\r\n showColorScale: settings?.showColorScale,\r\n graphID: settings?.graphID,\r\n dataDownload: settings?.dataDownload,\r\n mapProperty: settings?.mapProperty,\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 autoRotate: settings?.autoRotate,\r\n globeMaterial: settings?.globeMaterial,\r\n atmosphereColor: settings?.atmosphereColor,\r\n enableZoom: settings?.enableZoom,\r\n atmosphereAltitude: settings?.atmosphereAltitude,\r\n globeCurvatureResolution: settings?.globeCurvatureResolution,\r\n fogSettings: settings?.fogSetting,\r\n lights: settings?.lights,\r\n highlightedAltitude: settings?.highlightedAltitude,\r\n selectedId: settings?.selectedId,\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 mx-auto flex flex-col w-full justify-center ${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 ThreeDGraphEl;\r\n","import { useEffect, useEffectEvent, useRef, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport isEqual from 'fast-deep-equal';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { CheckboxGroup, CheckboxGroupItem } from '@undp/design-system-react/CheckboxGroup';\r\nimport { RadioGroup, RadioGroupItem } from '@undp/design-system-react/RadioGroup';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { Label } from '@undp/design-system-react/Label';\r\n\r\nimport ThreeDGraphEl from './ThreeDGraphEl';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n HighlightDataPointSettingsDataType,\r\n ThreeDGraphType,\r\n} from '@/Types';\r\nimport {\r\n fetchAndParseCSV,\r\n fetchAndParseJSON,\r\n fetchAndParseMultipleDataSources,\r\n fetchAndTransformDataFromAPI,\r\n} from '@/Utils/fetchAndParseData';\r\nimport { transformDataForGraph } from '@/Utils/transformData/transformDataForGraph';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { transformDataForAggregation } from '@/Utils/transformData/transformDataForAggregation';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { checkIfMultiple } from '@/Utils/checkIfMultiple';\r\nimport { transformColumnsToArray } from '@/Utils/transformData/transformColumnsToArray';\r\nimport { graphList } from '@/Utils/getGraphList';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\nimport { GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n graphSettings?: GraphSettingsDataType;\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n highlightDataPointSettings?: HighlightDataPointSettingsDataType;\r\n noOfFiltersPerRow?: number;\r\n graphType: ThreeDGraphType;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n debugMode?: boolean;\r\n uiMode?: 'light' | 'normal';\r\n updateFilters?: (_d: string) => void;\r\n}\r\n\r\nconst getGraphSettings = (\r\n dataSelectionOptions: DataSelectionDataType[],\r\n updatedConfig?: GraphConfigurationDataType[],\r\n) => {\r\n const updatedSettings =\r\n updatedConfig?.map(c => {\r\n const indx = dataSelectionOptions?.findIndex(opt => opt.chartConfigId === c.chartConfigId);\r\n if (indx === -1) return {};\r\n const allowedValIndx = dataSelectionOptions[indx]?.allowedColumnIds?.findIndex(\r\n col => col.value === c.columnId,\r\n );\r\n if (allowedValIndx === -1) return {};\r\n return dataSelectionOptions[indx].allowedColumnIds[allowedValIndx].graphSettings || {};\r\n }) || [];\r\n return Object.assign({}, ...updatedSettings);\r\n};\r\n\r\nexport function SingleGraphDashboardThreeDGraphs(props: Props) {\r\n const {\r\n graphSettings,\r\n dataSettings,\r\n filters,\r\n graphType,\r\n dataTransform,\r\n graphDataConfiguration,\r\n dataFilters,\r\n debugMode,\r\n dataSelectionOptions,\r\n advancedDataSelectionOptions,\r\n readableHeader,\r\n noOfFiltersPerRow = 4,\r\n updateFilters,\r\n uiMode = 'normal',\r\n highlightDataPointSettings,\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [filteredData, setFilteredData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [data, setData] = useState<any>(undefined);\r\n const [graphConfig, setGraphConfig] = useState<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [advancedGraphSettings, setAdvancedGraphSettings] = useState<GraphSettingsDataType>({});\r\n const [highlightedDataPointList, setHighlightedDataPointList] = useState<\r\n (string | number)[] | undefined\r\n >(undefined);\r\n const [highlightedDataPointOptions, setHighlightedDataPointOption] = useState<\r\n { label: string | number; value: string | number }[]\r\n >([]);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n\r\n const prevGraphDataConfigRef = useRef<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [filterSettings, setFilterSettings] = useState<FilterSettingsDataType[]>([]);\r\n\r\n const filterConfig = {\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n trim: true,\r\n };\r\n\r\n const updateFiltersEvent = useEffectEvent(() => {\r\n const filterSettingsTemp = (filters || []).map(el => ({\r\n filter: el.column,\r\n label: el.label || `Filter by ${el.column}`,\r\n singleSelect: el.singleSelect,\r\n clearable: el.clearable,\r\n defaultValue: transformDefaultValue(el.defaultValue),\r\n value: transformDefaultValue(el.defaultValue),\r\n availableValues: getUniqValue(data, el.column)\r\n .filter(v => !el.excludeValues?.includes(`${v}`))\r\n .map(v => ({ value: v, label: v })),\r\n allowSelectAll: el.allowSelectAll,\r\n width: el.width,\r\n }));\r\n setFilterSettings(filterSettingsTemp);\r\n });\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n const dataFromFile = dataSettings.dataURL\r\n ? typeof dataSettings.dataURL === 'string'\r\n ? dataSettings.fileType === 'json'\r\n ? await fetchAndParseJSON(\r\n dataSettings.dataURL,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : dataSettings.fileType === 'api'\r\n ? await fetchAndTransformDataFromAPI(\r\n dataSettings.dataURL,\r\n dataSettings.apiHeaders,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : await fetchAndParseCSV(\r\n dataSettings.dataURL,\r\n dataSettings.dataTransformation,\r\n dataSettings.columnsToArray,\r\n debugMode,\r\n dataSettings.delimiter,\r\n true,\r\n )\r\n : await fetchAndParseMultipleDataSources(\r\n dataSettings.dataURL,\r\n dataSettings.idColumnTitle,\r\n )\r\n : await transformColumnsToArray(dataSettings.data, dataSettings.columnsToArray);\r\n setData(dataFromFile);\r\n } catch (error) {\r\n console.error('Data fetching error:', error);\r\n }\r\n };\r\n fetchData();\r\n updateFiltersEvent();\r\n }, [dataSettings, filters, debugMode]);\r\n\r\n const filteredDataEvent = useEffectEvent(() => {\r\n if (!data || filterSettings.length === 0) setFilteredData(data);\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const result = data.filter((item: any) =>\r\n filterSettings.every(filter =>\r\n filter.value && flattenDeep([filter.value]).length > 0\r\n ? intersection(\r\n flattenDeep([item[filter.filter]]),\r\n flattenDeep([filter.value]).map(el => el.value),\r\n ).length > 0\r\n : true,\r\n ),\r\n );\r\n setFilteredData(result);\r\n }\r\n });\r\n useEffect(() => {\r\n filteredDataEvent();\r\n }, [filterSettings, data]);\r\n\r\n useEffect(() => {\r\n if (dataSelectionOptions)\r\n // eslint-disable-next-line react-hooks/set-state-in-effect\r\n setAdvancedGraphSettings(getGraphSettings(dataSelectionOptions, graphDataConfiguration));\r\n }, [dataSelectionOptions, graphDataConfiguration]);\r\n\r\n const updateHighlightedDataPointOptions = useEffectEvent(() => {\r\n if (highlightDataPointSettings?.column && filteredData)\r\n setHighlightedDataPointOption(\r\n getUniqValue(filteredData, highlightDataPointSettings.column)\r\n .filter(v => !highlightDataPointSettings?.excludeValues?.includes(`${v}`))\r\n .map(d => ({ value: d, label: d })),\r\n );\r\n });\r\n\r\n useEffect(() => {\r\n updateHighlightedDataPointOptions();\r\n }, [highlightDataPointSettings]);\r\n\r\n useEffect(() => {\r\n if (!isEqual(prevGraphDataConfigRef.current, graphDataConfiguration)) {\r\n // eslint-disable-next-line react-hooks/set-state-in-effect\r\n setGraphConfig(graphDataConfiguration);\r\n prevGraphDataConfigRef.current = graphDataConfiguration;\r\n }\r\n }, [graphDataConfiguration]);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const handleFilterChange = (filter: string, values: any) => {\r\n setFilterSettings(prev => prev.map(f => (f.filter === filter ? { ...f, value: values } : f)));\r\n };\r\n\r\n const graphData = !data\r\n ? undefined\r\n : transformDataForGraph(\r\n dataTransform\r\n ? transformDataForAggregation(\r\n filterData(data, dataFilters || []),\r\n dataTransform.keyColumn,\r\n dataTransform.aggregationColumnsSetting,\r\n )\r\n : filterData(data, dataFilters || []),\r\n graphType,\r\n graphConfig,\r\n );\r\n return (\r\n <GraphContainer\r\n className={graphSettings?.classNames?.graphContainer}\r\n style={graphSettings?.styles?.graphContainer}\r\n id={graphSettings?.graphID}\r\n ref={graphParentDiv}\r\n aria-label={graphSettings?.ariaLabel}\r\n backgroundColor={graphSettings?.backgroundColor ?? false}\r\n theme={graphSettings?.theme || 'light'}\r\n language={graphSettings?.language || 'en'}\r\n width={graphSettings?.width}\r\n height={graphSettings?.height}\r\n padding={graphSettings?.padding}\r\n minHeight={graphSettings?.minHeight}\r\n relativeHeight={graphSettings?.relativeHeight}\r\n >\r\n {data ||\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graphType) !== -1 ? (\r\n <>\r\n {advancedGraphSettings?.graphTitle ||\r\n advancedGraphSettings?.graphDescription ||\r\n graphSettings?.graphTitle ||\r\n graphSettings?.graphDescription ||\r\n graphSettings?.graphDownload ||\r\n graphSettings?.dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: advancedGraphSettings?.styles?.title || graphSettings?.styles?.title,\r\n description:\r\n advancedGraphSettings?.styles?.description || graphSettings?.styles?.description,\r\n }}\r\n classNames={{\r\n title: advancedGraphSettings?.classNames?.title || graphSettings?.classNames?.title,\r\n description:\r\n advancedGraphSettings?.classNames?.description ||\r\n graphSettings?.classNames?.description,\r\n }}\r\n graphTitle={advancedGraphSettings?.graphTitle || graphSettings?.graphTitle}\r\n graphDescription={\r\n advancedGraphSettings?.graphDescription || graphSettings?.graphDescription\r\n }\r\n width={advancedGraphSettings?.width || graphSettings?.width}\r\n graphDownload={graphSettings?.graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n graphSettings?.dataDownload && data ? (data.length > 0 ? data : null) : null\r\n }\r\n />\r\n ) : null}\r\n {filterSettings.length !== 0 ||\r\n (dataSelectionOptions || []).length !== 0 ||\r\n (advancedDataSelectionOptions || []).length !== 0 ||\r\n highlightDataPointSettings ? (\r\n <div className='flex flex-wrap items-start gap-x-4 gap-y-0 w-full'>\r\n {advancedDataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: 1,\r\n flexShrink: d.ui !== 'radio' ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label || 'Graph by'}</Label>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.options.map(opt => ({\r\n ...opt,\r\n value: opt.label,\r\n }))}\r\n size='sm'\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n d.defaultValue\r\n ? {\r\n ...d.defaultValue,\r\n value: d.defaultValue?.label,\r\n }\r\n : {\r\n ...d.options[0],\r\n value: d.options[0].label,\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(el?.dataConfiguration);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n defaultValue={d.defaultValue?.label || d.options[0].label}\r\n variant={uiMode}\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.options[d.options.findIndex(opt => opt.label === el)];\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(selectedOption.dataConfiguration);\r\n }}\r\n >\r\n {d.options.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )}\r\n </div>\r\n ))}\r\n {dataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: 1,\r\n flexShrink: d.ui !== 'radio' ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label || `Visualize ${d.chartConfigId} by`}</Label>\r\n {!checkIfMultiple(d.chartConfigId, graphConfig || []) ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n size='sm'\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ]\r\n : undefined\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el?.value as string,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(\r\n getGraphSettings(dataSelectionOptions, updatedConfig),\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ].label\r\n : ''\r\n }\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(opt => opt.label === el)\r\n ];\r\n const newGraphConfig = {\r\n columnId: selectedOption.value,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(\r\n getGraphSettings(dataSelectionOptions, updatedConfig),\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n size='sm'\r\n isMulti\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n ).map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n : undefined\r\n }\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: (el || []).map(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (item: any) => item.value,\r\n ) as string[],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n )\r\n .map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n .map(el => el.value)\r\n : []\r\n }\r\n onValueChange={el => {\r\n const newGraphConfig = {\r\n columnId: el || [],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <CheckboxGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n </div>\r\n ))}\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: 1,\r\n flexShrink: 0,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label}</Label>\r\n {d.singleSelect ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n d.defaultValue\r\n ? (\r\n d.defaultValue as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : []\r\n }\r\n value={\r\n d.value\r\n ? (\r\n d.value as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : undefined\r\n }\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => el.indexOf(`${v.value}`) !== -1),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <CheckboxGroupItem\r\n label={`${el.label}`}\r\n value={`${el.value}`}\r\n key={j}\r\n />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n {d.allowSelectAll ? (\r\n <button\r\n type='button'\r\n className='bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400'\r\n onClick={() => {\r\n handleFilterChange(d.filter, d.availableValues);\r\n }}\r\n >\r\n Select all options\r\n </button>\r\n ) : null}\r\n </>\r\n )}\r\n </div>\r\n ))}\r\n {highlightDataPointSettings ? (\r\n <div\r\n style={{\r\n width:\r\n highlightDataPointSettings.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: 1,\r\n flexShrink: 0,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>\r\n {highlightDataPointSettings.label || 'Highlight data'}\r\n </Label>\r\n <DropdownSelect\r\n options={highlightedDataPointOptions}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setHighlightedDataPointList(el?.map((d: any) => d.value));\r\n }}\r\n value={highlightedDataPointList?.map(d => ({\r\n label: d,\r\n value: d,\r\n }))}\r\n defaultValue={highlightDataPointSettings.defaultValues?.map(d => ({\r\n label: d,\r\n value: d,\r\n }))}\r\n />\r\n </div>\r\n ) : null}\r\n </div>\r\n ) : null}\r\n <ThreeDGraphEl\r\n graph={graphType}\r\n graphData={graphData}\r\n graphDataConfiguration={graphConfig}\r\n debugMode={debugMode}\r\n readableHeader={readableHeader || []}\r\n updateFilters={updateFilters}\r\n settings={{\r\n ...(graphSettings || {}),\r\n ...advancedGraphSettings,\r\n graphTitle: undefined,\r\n graphDescription: undefined,\r\n graphDownload: false,\r\n dataDownload: false,\r\n backgroundColor: undefined,\r\n padding: '0',\r\n width: undefined,\r\n height: undefined,\r\n relativeHeight: undefined,\r\n minHeight: undefined,\r\n theme: graphSettings?.theme,\r\n ...(highlightedDataPointList\r\n ? {\r\n highlightedDataPoints: highlightedDataPointList,\r\n highlightedIds: highlightedDataPointList?.map(d => `${d}`),\r\n highlightedLines: highlightedDataPointList?.map(d => d),\r\n }\r\n : {}),\r\n }}\r\n />\r\n </>\r\n ) : (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n )}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["ThreeDGraphEl","props","$","_c","settings","graph","graphData","debugMode","graphDataConfiguration","readableHeader","updateFilters","console","log","t0","width","t1","Symbol","for","height","t2","P","t3","threeDGlobe","ThreeDGlobe","graphComponents","graphType","globeOffset","collapseColorScaleByDefault","polygonAltitude","highlightedIds","scale","theme","resetSelectionOnDoubleClick","graphTitle","mapData","graphDescription","footNote","sources","colorDomain","colors","colorLegendTitle","Object","keys","indexOf","getValues","scaleType","data","centerPoint","backgroundColor","mapNoDataColor","mapBorderColor","relativeHeight","padding","tooltip","showColorScale","graphID","dataDownload","mapProperty","language","minHeight","ariaLabel","onSeriesMouseClick","el","id","detailsOnClick","styles","classNames","autoRotate","globeMaterial","atmosphereColor","enableZoom","atmosphereAltitude","globeCurvatureResolution","fogSettings","fogSetting","lights","highlightedAltitude","selectedId","getGraphProps","GraphComponent","graphProps","t4","t5","jsx","t6","getGraphSettings","dataSelectionOptions","updatedConfig","updatedSettings","map","c","indx","findIndex","opt","chartConfigId","allowedValIndx","allowedColumnIds","col","value","columnId","graphSettings","assign","SingleGraphDashboardThreeDGraphs","dataSettings","filters","dataTransform","dataFilters","advancedDataSelectionOptions","noOfFiltersPerRow","uiMode","highlightDataPointSettings","filteredData","setFilteredData","useState","undefined","setData","graphConfig","setGraphConfig","advancedGraphSettings","setAdvancedGraphSettings","highlightedDataPointList","setHighlightedDataPointList","highlightedDataPointOptions","setHighlightedDataPointOption","graphParentDiv","useRef","prevGraphDataConfigRef","filterSettings","setFilterSettings","filterConfig","ignoreCase","ignoreAccents","trim","updateFiltersEvent","useEffectEvent","filterSettingsTemp","filter","column","label","singleSelect","clearable","defaultValue","transformDefaultValue","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","useEffect","fetchData","dataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","filteredDataEvent","length","result","item","every","flattenDeep","intersection","updateHighlightedDataPointOptions","d","isEqual","current","handleFilterChange","values","prev","f","transformDataForGraph","transformDataForAggregation","filterData","keyColumn","aggregationColumnsSetting","GraphContainer","graphContainer","graphList","geoHubMapPresentation","jsxs","Fragment","graphDownload","GraphHeader","title","description","i","flexGrow","flexShrink","ui","minWidth","Label","DropdownSelect","options","dataConfiguration","RadioGroup","selectedOption","j","RadioGroupItem","checkIfMultiple","createFilter","newGraphConfig","CheckboxGroup","CheckboxGroupItem","defaultValues","highlightedDataPoints","highlightedLines","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"SingleGraphDashboardThreeDGraphs.js","sources":["../src/Components/Dashboard/PerformanceIntensive/ThreeDGraphEl.tsx","../src/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphs.tsx"],"sourcesContent":["import { P } from '@undp/design-system-react/Typography';\r\n\r\nimport { ThreeDGlobe } from '../../Graphs/Maps/ThreeDGlobe';\r\n\r\nimport { getValues } from '@/Utils/getValues';\r\nimport { GraphConfigurationDataType, GraphSettingsDataType, ThreeDGraphType } from '@/Types';\r\n\r\ninterface Props {\r\n graph: ThreeDGraphType;\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 ThreeDGraphEl(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<ThreeDGraphType, React.ElementType | null> = {\r\n threeDGlobe: ThreeDGlobe,\r\n };\r\n const getGraphProps = (graphType: ThreeDGraphType) => {\r\n switch (graphType) {\r\n case 'threeDGlobe':\r\n return {\r\n globeOffset: settings?.globeOffset,\r\n collapseColorScaleByDefault: settings?.collapseColorScaleByDefault,\r\n polygonAltitude: settings?.polygonAltitude,\r\n highlightedIds: settings?.highlightedIds,\r\n scale: settings?.scale,\r\n theme: settings?.theme,\r\n resetSelectionOnDoubleClick: settings?.resetSelectionOnDoubleClick,\r\n graphTitle: settings?.graphTitle,\r\n mapData: settings?.mapData,\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 centerPoint: settings?.centerPoint,\r\n backgroundColor: settings?.backgroundColor,\r\n mapNoDataColor: settings?.mapNoDataColor,\r\n mapBorderColor: settings?.mapBorderColor,\r\n relativeHeight: settings?.relativeHeight,\r\n padding: settings?.padding,\r\n tooltip: settings?.tooltip,\r\n showColorScale: settings?.showColorScale,\r\n graphID: settings?.graphID,\r\n dataDownload: settings?.dataDownload,\r\n mapProperty: settings?.mapProperty,\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 autoRotate: settings?.autoRotate,\r\n globeMaterial: settings?.globeMaterial,\r\n atmosphereColor: settings?.atmosphereColor,\r\n enableZoom: settings?.enableZoom,\r\n atmosphereAltitude: settings?.atmosphereAltitude,\r\n globeCurvatureResolution: settings?.globeCurvatureResolution,\r\n fogSettings: settings?.fogSetting,\r\n lights: settings?.lights,\r\n highlightedAltitude: settings?.highlightedAltitude,\r\n selectedId: settings?.selectedId,\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 mx-auto flex flex-col w-full justify-center ${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 ThreeDGraphEl;\r\n","import { useEffect, useEffectEvent, useRef, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport isEqual from 'fast-deep-equal';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { CheckboxGroup, CheckboxGroupItem } from '@undp/design-system-react/CheckboxGroup';\r\nimport { RadioGroup, RadioGroupItem } from '@undp/design-system-react/RadioGroup';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { Label } from '@undp/design-system-react/Label';\r\n\r\nimport ThreeDGraphEl from './ThreeDGraphEl';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n HighlightDataPointSettingsDataType,\r\n ThreeDGraphType,\r\n} from '@/Types';\r\nimport {\r\n fetchAndParseCSV,\r\n fetchAndParseJSON,\r\n fetchAndParseMultipleDataSources,\r\n fetchAndTransformDataFromAPI,\r\n} from '@/Utils/fetchAndParseData';\r\nimport { transformDataForGraph } from '@/Utils/transformData/transformDataForGraph';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { transformDataForAggregation } from '@/Utils/transformData/transformDataForAggregation';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { checkIfMultiple } from '@/Utils/checkIfMultiple';\r\nimport { transformColumnsToArray } from '@/Utils/transformData/transformColumnsToArray';\r\nimport { graphList } from '@/Utils/getGraphList';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\nimport { GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n graphSettings?: GraphSettingsDataType;\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n highlightDataPointSettings?: HighlightDataPointSettingsDataType;\r\n noOfFiltersPerRow?: number;\r\n graphType: ThreeDGraphType;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n debugMode?: boolean;\r\n uiMode?: 'light' | 'normal';\r\n updateFilters?: (_d: string) => void;\r\n}\r\n\r\nconst getGraphSettings = (\r\n dataSelectionOptions: DataSelectionDataType[],\r\n updatedConfig?: GraphConfigurationDataType[],\r\n) => {\r\n const updatedSettings =\r\n updatedConfig?.map(c => {\r\n const indx = dataSelectionOptions?.findIndex(opt => opt.chartConfigId === c.chartConfigId);\r\n if (indx === -1) return {};\r\n const allowedValIndx = dataSelectionOptions[indx]?.allowedColumnIds?.findIndex(\r\n col => col.value === c.columnId,\r\n );\r\n if (allowedValIndx === -1) return {};\r\n return dataSelectionOptions[indx].allowedColumnIds[allowedValIndx].graphSettings || {};\r\n }) || [];\r\n return Object.assign({}, ...updatedSettings);\r\n};\r\n\r\nexport function SingleGraphDashboardThreeDGraphs(props: Props) {\r\n const {\r\n graphSettings,\r\n dataSettings,\r\n filters,\r\n graphType,\r\n dataTransform,\r\n graphDataConfiguration,\r\n dataFilters,\r\n debugMode,\r\n dataSelectionOptions,\r\n advancedDataSelectionOptions,\r\n readableHeader,\r\n noOfFiltersPerRow = 4,\r\n updateFilters,\r\n uiMode = 'normal',\r\n highlightDataPointSettings,\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [filteredData, setFilteredData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [data, setData] = useState<any>(undefined);\r\n const [graphConfig, setGraphConfig] = useState<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [advancedGraphSettings, setAdvancedGraphSettings] = useState<GraphSettingsDataType>({});\r\n const [highlightedDataPointList, setHighlightedDataPointList] = useState<\r\n (string | number)[] | undefined\r\n >(undefined);\r\n const [highlightedDataPointOptions, setHighlightedDataPointOption] = useState<\r\n { label: string | number; value: string | number }[]\r\n >([]);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n\r\n const prevGraphDataConfigRef = useRef<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [filterSettings, setFilterSettings] = useState<FilterSettingsDataType[]>([]);\r\n\r\n const filterConfig = {\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n trim: true,\r\n };\r\n\r\n const updateFiltersEvent = useEffectEvent(() => {\r\n const filterSettingsTemp = (filters || []).map(el => ({\r\n filter: el.column,\r\n label: el.label || `Filter by ${el.column}`,\r\n singleSelect: el.singleSelect,\r\n clearable: el.clearable,\r\n defaultValue: transformDefaultValue(el.defaultValue),\r\n value: transformDefaultValue(el.defaultValue),\r\n availableValues: getUniqValue(data, el.column)\r\n .filter(v => !el.excludeValues?.includes(`${v}`))\r\n .map(v => ({ value: v, label: v })),\r\n allowSelectAll: el.allowSelectAll,\r\n width: el.width,\r\n }));\r\n setFilterSettings(filterSettingsTemp);\r\n });\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n const dataFromFile = dataSettings.dataURL\r\n ? typeof dataSettings.dataURL === 'string'\r\n ? dataSettings.fileType === 'json'\r\n ? await fetchAndParseJSON(\r\n dataSettings.dataURL,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : dataSettings.fileType === 'api'\r\n ? await fetchAndTransformDataFromAPI(\r\n dataSettings.dataURL,\r\n dataSettings.apiHeaders,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : await fetchAndParseCSV(\r\n dataSettings.dataURL,\r\n dataSettings.dataTransformation,\r\n dataSettings.columnsToArray,\r\n debugMode,\r\n dataSettings.delimiter,\r\n true,\r\n )\r\n : await fetchAndParseMultipleDataSources(\r\n dataSettings.dataURL,\r\n dataSettings.idColumnTitle,\r\n )\r\n : await transformColumnsToArray(dataSettings.data, dataSettings.columnsToArray);\r\n setData(dataFromFile);\r\n } catch (error) {\r\n console.error('Data fetching error:', error);\r\n }\r\n };\r\n fetchData();\r\n updateFiltersEvent();\r\n }, [dataSettings, debugMode]);\r\n\r\n useEffect(() => {\r\n updateFiltersEvent();\r\n }, [filters, data]);\r\n\r\n const filteredDataEvent = useEffectEvent(() => {\r\n if (!data || filterSettings.length === 0) setFilteredData(data);\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const result = data.filter((item: any) =>\r\n filterSettings.every(filter =>\r\n filter.value && flattenDeep([filter.value]).length > 0\r\n ? intersection(\r\n flattenDeep([item[filter.filter]]),\r\n flattenDeep([filter.value]).map(el => el.value),\r\n ).length > 0\r\n : true,\r\n ),\r\n );\r\n setFilteredData(result);\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n filteredDataEvent();\r\n }, [filterSettings, data]);\r\n\r\n useEffect(() => {\r\n if (dataSelectionOptions)\r\n // eslint-disable-next-line react-hooks/set-state-in-effect\r\n setAdvancedGraphSettings(getGraphSettings(dataSelectionOptions, graphDataConfiguration));\r\n }, [dataSelectionOptions, graphDataConfiguration]);\r\n\r\n const updateHighlightedDataPointOptions = useEffectEvent(() => {\r\n if (highlightDataPointSettings?.column && filteredData)\r\n setHighlightedDataPointOption(\r\n getUniqValue(filteredData, highlightDataPointSettings.column)\r\n .filter(v => !highlightDataPointSettings?.excludeValues?.includes(`${v}`))\r\n .map(d => ({ value: d, label: d })),\r\n );\r\n });\r\n\r\n useEffect(() => {\r\n updateHighlightedDataPointOptions();\r\n }, [highlightDataPointSettings]);\r\n\r\n useEffect(() => {\r\n if (!isEqual(prevGraphDataConfigRef.current, graphDataConfiguration)) {\r\n // eslint-disable-next-line react-hooks/set-state-in-effect\r\n setGraphConfig(graphDataConfiguration);\r\n prevGraphDataConfigRef.current = graphDataConfiguration;\r\n }\r\n }, [graphDataConfiguration]);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const handleFilterChange = (filter: string, values: any) => {\r\n setFilterSettings(prev => prev.map(f => (f.filter === filter ? { ...f, value: values } : f)));\r\n };\r\n\r\n const graphData = !data\r\n ? undefined\r\n : transformDataForGraph(\r\n dataTransform\r\n ? transformDataForAggregation(\r\n filterData(data, dataFilters || []),\r\n dataTransform.keyColumn,\r\n dataTransform.aggregationColumnsSetting,\r\n )\r\n : filterData(data, dataFilters || []),\r\n graphType,\r\n graphConfig,\r\n );\r\n return (\r\n <GraphContainer\r\n className={graphSettings?.classNames?.graphContainer}\r\n style={graphSettings?.styles?.graphContainer}\r\n id={graphSettings?.graphID}\r\n ref={graphParentDiv}\r\n aria-label={graphSettings?.ariaLabel}\r\n backgroundColor={graphSettings?.backgroundColor ?? false}\r\n theme={graphSettings?.theme || 'light'}\r\n language={graphSettings?.language || 'en'}\r\n width={graphSettings?.width}\r\n height={graphSettings?.height}\r\n padding={graphSettings?.padding}\r\n minHeight={graphSettings?.minHeight}\r\n relativeHeight={graphSettings?.relativeHeight}\r\n >\r\n {data ||\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graphType) !== -1 ? (\r\n <>\r\n {advancedGraphSettings?.graphTitle ||\r\n advancedGraphSettings?.graphDescription ||\r\n graphSettings?.graphTitle ||\r\n graphSettings?.graphDescription ||\r\n graphSettings?.graphDownload ||\r\n graphSettings?.dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: advancedGraphSettings?.styles?.title || graphSettings?.styles?.title,\r\n description:\r\n advancedGraphSettings?.styles?.description || graphSettings?.styles?.description,\r\n }}\r\n classNames={{\r\n title: advancedGraphSettings?.classNames?.title || graphSettings?.classNames?.title,\r\n description:\r\n advancedGraphSettings?.classNames?.description ||\r\n graphSettings?.classNames?.description,\r\n }}\r\n graphTitle={advancedGraphSettings?.graphTitle || graphSettings?.graphTitle}\r\n graphDescription={\r\n advancedGraphSettings?.graphDescription || graphSettings?.graphDescription\r\n }\r\n width={advancedGraphSettings?.width || graphSettings?.width}\r\n graphDownload={graphSettings?.graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n graphSettings?.dataDownload && data ? (data.length > 0 ? data : null) : null\r\n }\r\n />\r\n ) : null}\r\n {filterSettings.length !== 0 ||\r\n (dataSelectionOptions || []).length !== 0 ||\r\n (advancedDataSelectionOptions || []).length !== 0 ||\r\n highlightDataPointSettings ? (\r\n <div className='flex flex-wrap items-start gap-x-4 gap-y-0 w-full'>\r\n {advancedDataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: 1,\r\n flexShrink: d.ui !== 'radio' ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label || 'Graph by'}</Label>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.options.map(opt => ({\r\n ...opt,\r\n value: opt.label,\r\n }))}\r\n size='sm'\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n d.defaultValue\r\n ? {\r\n ...d.defaultValue,\r\n value: d.defaultValue?.label,\r\n }\r\n : {\r\n ...d.options[0],\r\n value: d.options[0].label,\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(el?.dataConfiguration);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n defaultValue={d.defaultValue?.label || d.options[0].label}\r\n variant={uiMode}\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.options[d.options.findIndex(opt => opt.label === el)];\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(selectedOption.dataConfiguration);\r\n }}\r\n >\r\n {d.options.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )}\r\n </div>\r\n ))}\r\n {dataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: 1,\r\n flexShrink: d.ui !== 'radio' ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label || `Visualize ${d.chartConfigId} by`}</Label>\r\n {!checkIfMultiple(d.chartConfigId, graphConfig || []) ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n size='sm'\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ]\r\n : undefined\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el?.value as string,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(\r\n getGraphSettings(dataSelectionOptions, updatedConfig),\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ].label\r\n : ''\r\n }\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(opt => opt.label === el)\r\n ];\r\n const newGraphConfig = {\r\n columnId: selectedOption.value,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(\r\n getGraphSettings(dataSelectionOptions, updatedConfig),\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n size='sm'\r\n isMulti\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n ).map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n : undefined\r\n }\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: (el || []).map(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (item: any) => item.value,\r\n ) as string[],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n )\r\n .map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n .map(el => el.value)\r\n : []\r\n }\r\n onValueChange={el => {\r\n const newGraphConfig = {\r\n columnId: el || [],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <CheckboxGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n </div>\r\n ))}\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: 1,\r\n flexShrink: 0,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>{d.label}</Label>\r\n {d.singleSelect ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={(d.defaultValue as { value: string; label: string }).value}\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => v.value === el),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <RadioGroupItem label={`${el.label}`} value={`${el.value}`} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : (\r\n <>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n d.defaultValue\r\n ? (\r\n d.defaultValue as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : []\r\n }\r\n value={\r\n d.value\r\n ? (\r\n d.value as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : undefined\r\n }\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => el.indexOf(`${v.value}`) !== -1),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <CheckboxGroupItem\r\n label={`${el.label}`}\r\n value={`${el.value}`}\r\n key={j}\r\n />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n {d.allowSelectAll ? (\r\n <button\r\n type='button'\r\n className='bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400'\r\n onClick={() => {\r\n handleFilterChange(d.filter, d.availableValues);\r\n }}\r\n >\r\n Select all options\r\n </button>\r\n ) : null}\r\n </>\r\n )}\r\n </div>\r\n ))}\r\n {highlightDataPointSettings ? (\r\n <div\r\n style={{\r\n width:\r\n highlightDataPointSettings.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: 1,\r\n flexShrink: 0,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n >\r\n <Label className='mb-2'>\r\n {highlightDataPointSettings.label || 'Highlight data'}\r\n </Label>\r\n <DropdownSelect\r\n options={highlightedDataPointOptions}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setHighlightedDataPointList(el?.map((d: any) => d.value));\r\n }}\r\n value={highlightedDataPointList?.map(d => ({\r\n label: d,\r\n value: d,\r\n }))}\r\n defaultValue={highlightDataPointSettings.defaultValues?.map(d => ({\r\n label: d,\r\n value: d,\r\n }))}\r\n />\r\n </div>\r\n ) : null}\r\n </div>\r\n ) : null}\r\n <ThreeDGraphEl\r\n graph={graphType}\r\n graphData={graphData}\r\n graphDataConfiguration={graphConfig}\r\n debugMode={debugMode}\r\n readableHeader={readableHeader || []}\r\n updateFilters={updateFilters}\r\n settings={{\r\n ...(graphSettings || {}),\r\n ...advancedGraphSettings,\r\n graphTitle: undefined,\r\n graphDescription: undefined,\r\n graphDownload: false,\r\n dataDownload: false,\r\n backgroundColor: undefined,\r\n padding: '0',\r\n width: undefined,\r\n height: undefined,\r\n relativeHeight: undefined,\r\n minHeight: undefined,\r\n theme: graphSettings?.theme,\r\n ...(highlightedDataPointList\r\n ? {\r\n highlightedDataPoints: highlightedDataPointList,\r\n highlightedIds: highlightedDataPointList?.map(d => `${d}`),\r\n highlightedLines: highlightedDataPointList?.map(d => d),\r\n }\r\n : {}),\r\n }}\r\n />\r\n </>\r\n ) : (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n )}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["ThreeDGraphEl","props","$","_c","settings","graph","graphData","debugMode","graphDataConfiguration","readableHeader","updateFilters","console","log","t0","width","t1","Symbol","for","height","t2","P","t3","threeDGlobe","ThreeDGlobe","graphComponents","graphType","globeOffset","collapseColorScaleByDefault","polygonAltitude","highlightedIds","scale","theme","resetSelectionOnDoubleClick","graphTitle","mapData","graphDescription","footNote","sources","colorDomain","colors","colorLegendTitle","Object","keys","indexOf","getValues","scaleType","data","centerPoint","backgroundColor","mapNoDataColor","mapBorderColor","relativeHeight","padding","tooltip","showColorScale","graphID","dataDownload","mapProperty","language","minHeight","ariaLabel","onSeriesMouseClick","el","id","detailsOnClick","styles","classNames","autoRotate","globeMaterial","atmosphereColor","enableZoom","atmosphereAltitude","globeCurvatureResolution","fogSettings","fogSetting","lights","highlightedAltitude","selectedId","getGraphProps","GraphComponent","graphProps","t4","t5","jsx","t6","getGraphSettings","dataSelectionOptions","updatedConfig","updatedSettings","map","c","indx","findIndex","opt","chartConfigId","allowedValIndx","allowedColumnIds","col","value","columnId","graphSettings","assign","SingleGraphDashboardThreeDGraphs","dataSettings","filters","dataTransform","dataFilters","advancedDataSelectionOptions","noOfFiltersPerRow","uiMode","highlightDataPointSettings","filteredData","setFilteredData","useState","undefined","setData","graphConfig","setGraphConfig","advancedGraphSettings","setAdvancedGraphSettings","highlightedDataPointList","setHighlightedDataPointList","highlightedDataPointOptions","setHighlightedDataPointOption","graphParentDiv","useRef","prevGraphDataConfigRef","filterSettings","setFilterSettings","filterConfig","ignoreCase","ignoreAccents","trim","updateFiltersEvent","useEffectEvent","filterSettingsTemp","filter","column","label","singleSelect","clearable","defaultValue","transformDefaultValue","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","useEffect","fetchData","dataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","filteredDataEvent","length","result","item","every","flattenDeep","intersection","updateHighlightedDataPointOptions","d","isEqual","current","handleFilterChange","values","prev","f","transformDataForGraph","transformDataForAggregation","filterData","keyColumn","aggregationColumnsSetting","GraphContainer","graphContainer","graphList","geoHubMapPresentation","jsxs","Fragment","graphDownload","GraphHeader","title","description","i","flexGrow","flexShrink","ui","minWidth","Label","DropdownSelect","options","dataConfiguration","RadioGroup","selectedOption","j","RadioGroupItem","checkIfMultiple","createFilter","newGraphConfig","CheckboxGroup","CheckboxGroupItem","defaultValues","highlightedDataPoints","highlightedLines","Spinner"],"mappings":"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"}
@@ -215,6 +215,7 @@ declare type FilterUiSettingsDataType = {
215
215
  excludeValues?: string[];
216
216
  allowSelectAll?: boolean;
217
217
  width?: string;
218
+ ui?: 'select' | 'radio';
218
219
  };
219
220
 
220
221
  declare interface FogDataType {
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CHPV5EwG-CTPQjnHt.cjs"),h=require("react"),nt=require("./Spinner-DRMBUsX7.cjs"),lt=require("react-globe.gl"),ct=require("./index-DQA8q5sC.cjs"),dt=require("three"),ut=require("./Modal-JW_IExO3.cjs"),Ke=require("./Typography-DX7PlgQU.cjs"),pt=require("./_commonjsHelpers-BH3jXuIh.cjs"),ht=require("./Tooltip-4dJo4_AF.cjs"),mt=require("./numberFormattingFunction-02t-wJta.cjs"),gt=require("./index-DRXx7m-C.cjs"),xt=require("./string2HTML-CPGr_I5E.cjs"),ft=require("./getCentroidCoordinates-Dng1HVjO.cjs"),vt=require("./ordinal-CrsysVE-.cjs"),yt=require("./threshold-DNsSUf8Q.cjs"),bt=require("./GraphHeader.cjs"),jt=require("./GraphFooter.cjs"),wt=require("./fetchAndParseData-l5HGMAEs.cjs"),ee=require("./Colors.cjs"),Ct=require("./getUniqValue-RViz8tTw.cjs"),Rt=require("./getJenks-GYmdwBqm.cjs"),Qe=require("./GraphContainer-d8A46BK2.cjs");function St(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const x=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,x.get?x:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const U=St(dt);var Ye,et;function Et(){if(et)return Ye;et=1;var t=function(o){return o.charAt(0)==="#"?o.slice(1):o},e=function(o){var l=o.length===3||o.length===4,v=l?"".concat(o.slice(0,1)).concat(o.slice(0,1)):o.slice(0,2),a=l?"".concat(o.slice(1,2)).concat(o.slice(1,2)):o.slice(2,4),w=l?"".concat(o.slice(2,3)).concat(o.slice(2,3)):o.slice(4,6),P=(l?"".concat(o.slice(3,4)).concat(o.slice(3,4)):o.slice(6,8))||"ff";return{r:v,g:a,b:w,a:P}},n=function(o){return parseInt(o,16)},x=function(o){var l=o.r,v=o.g,a=o.b,w=o.a;return{r:n(l),g:n(v),b:n(a),a:+(n(w)/255).toFixed(2)}},j=function(o){return!isNaN(parseFloat(o))&&isFinite(o)},R=function(o,l){var v=o.r,a=o.g,w=o.b,P=o.a,L=j(l)?l:P;return"rgba(".concat(v,", ").concat(a,", ").concat(w,", ").concat(L,")")},f=function(o,l){var v=t(o),a=e(v),w=x(a);return R(w,l)};return Ye=f,Ye}var Dt=Et();const tt=pt.getDefaultExportFromCjs(Dt);function Nt(t){let e;switch(t.type){case"ambient":e=new U.AmbientLight(t.color,t.intensity);break;case"directional":e=new U.DirectionalLight(t.color,t.intensity),t.position&&(t.position==="camera"?e.position.set(0,0,0):e.position.set(t.position.x,t.position.y,t.position.z)),(t.target||t.position==="camera")&&e.target.position.set(t.target?.x||0,t.target?.y||0,t.target?.z===void 0?-1:t.target.z),t.castShadow&&(e.castShadow=!0,t.shadow&&(e.shadow.mapSize.width=t.shadow.mapSize.width,e.shadow.mapSize.height=t.shadow.mapSize.height,e.shadow.camera.near=t.shadow.camera.near,e.shadow.camera.far=t.shadow.camera.far));break;case"point":e=new U.PointLight(t.color,t.intensity,t.distance||0,t.decay||2),t.position&&(t.position==="camera"?e.position.set(0,0,0):e.position.set(t.position.x,t.position.y,t.position.z));break;case"spot":e=new U.SpotLight(t.color,t.intensity,t.distance||0,t.angle||Math.PI/3,t.penumbra||0,t.decay||2),t.position&&(t.position==="camera"?e.position.set(0,0,0):e.position.set(t.position.x,t.position.y,t.position.z)),(t.target||t.position==="camera")&&e.target.position.set(t.target?.x||0,t.target?.y||0,t.target?.z||0),t.castShadow&&(e.castShadow=!0,t.shadow&&(e.shadow.mapSize.width=t.shadow.mapSize.width,e.shadow.mapSize.height=t.shadow.mapSize.height,e.shadow.camera.near=t.shadow.camera.near,e.shadow.camera.far=t.shadow.camera.far));break;default:throw new Error("Unknown light type")}return e}function kt(t){const{width:e,autoRotate:n,data:x,enableZoom:j,categorical:R,colorDomain:f,colors:c,globeMaterial:o,height:l,polygonData:v,mapProperty:a,mapBorderColor:w,atmosphereColor:P,tooltip:L,styles:fe,classNames:te,mapNoDataColor:oe,colorLegendTitle:C,showColorScale:re,hoverStrokeColor:se,detailsOnClick:N,onSeriesMouseClick:$,onSeriesMouseOver:ve,resetSelectionOnDoubleClick:ye,highlightedIds:M,scale:z,globeOffset:m,polygonAltitude:g,centerLng:V,centerLat:W,atmosphereAltitude:ie,globeCurvatureResolution:Z,fogSettings:A,lights:G,highlightedAltitude:ae,selectedId:y,collapseColorScaleByDefault:J,dimmedOpacity:F}=t,[I,be]=h.useState(!1),u=h.useRef(void 0),[k,q]=h.useState(void 0),[je,ne]=h.useState(J===void 0?!(e<680):!J),[le,ce]=h.useState({x:0,y:0}),[S,de]=h.useState(void 0),X=R?vt.ordinal().domain(f).range(c):yt.threshold().domain(f).range(c);h.useEffect(()=>{u.current&&(u.current.controls().enableZoom=j)},[j]),h.useEffect(()=>{u.current&&(S||y?u.current.controls().autoRotate=!1:(u.current.controls().autoRotate=n!==0,u.current.controls().autoRotateSpeed=n))},[S,y,n]),h.useEffect(()=>{if(u.current&&y){const r=v.find(b=>b.properties[a]===y),[s,d]=ft.getCentroidCoordinates(r);u.current.pointOfView({lat:d,lng:s,altitude:z},1e3)}},[y,z,v,a]),h.useEffect(()=>{const r=u.current?.renderer().domElement;if(!r)return;const s=d=>{ce({x:d.clientX,y:d.clientY})};return r.addEventListener("mousemove",s),()=>r.removeEventListener("mousemove",s)},[]),h.useEffect(()=>{u.current&&u.current.pointOfView({lat:W,lng:V,altitude:z},1e3)},[z,V,W]);const E=o||new U.MeshBasicMaterial({color:"#FFF"}),B=h.useCallback(()=>{if(!u.current)return;const r=u.current.scene(),s=u.current.camera();let d=[];r.traverse(p=>{p instanceof U.Light&&d.push(p)}),d=[...d,...s.children],d.forEach(p=>p.parent?.remove(p)),G.map(p=>Nt(p)).forEach((p,D)=>{G[D].type!=="ambient"&&G[D].position==="camera"?(s.add(p),G[D].type!=="point"&&s.add(p.target)):r.add(p)}),A&&(r.fog=new U.Fog(A.color,A.near,A.far))},[G,A]),O=()=>{be(!0),B()};return h.useEffect(()=>{I&&B()},[I,B]),i.jsxRuntimeExports.jsxs("div",{className:"relative",children:[i.jsxRuntimeExports.jsx(lt,{ref:u,height:l,width:e,globeOffset:m,lineHoverPrecision:0,polygonsData:v,polygonAltitude:r=>M.includes(r?.properties?.[a])||r?.properties?.[a]===y||r?.properties?.[a]===S?.id||r?.properties?.[a]===k?.id?ae:g,polygonCapColor:r=>{const s=y?r?.properties?.[a]===y?1:F:M.length!==0?M.includes(r?.properties?.[a])?1:F:1,d=r?.properties?.[a],b=x.find(D=>D.id===d)?.x,p=b!=null?X(b):oe;return tt(p,`${s}`)},polygonSideColor:r=>{const s=r?.properties?.[a],d=x.find(D=>D.id===s)?.x,b=y?r?.properties?.[a]===y?1:F:M.length!==0?M.includes(r?.properties?.[a])?1:F:1,p=d!=null?X(d):oe;return tt(p,`${b}`)},polygonStrokeColor:r=>r?.properties?.[a]===S?.id?se:w,onGlobeClick:()=>{q(void 0)},onPolygonClick:r=>{const s=r?.properties?.[a]?x.find(d=>d.id===r?.properties?.[a]):void 0;($||N)&&(ct.isEqual(k,s)&&ye&&s?(q(void 0),$?.(void 0)):(q(s),$?.(s)))},onPolygonHover:r=>{const s=r?.properties?.[a]?x.find(d=>d.id===r?.properties?.[a]):void 0;de(s),ve?.(s)},atmosphereColor:P,atmosphereAltitude:ie,globeCurvatureResolution:Z,globeMaterial:E,backgroundColor:"rgba(0, 0, 0, 0)",polygonsTransitionDuration:100,onGlobeReady:()=>{if(u.current){u.current.pointOfView({lat:W,lng:V});const r=u.current.scene();setTimeout(()=>{(r.children[3]?.children[0]?.children[4]?.children||[]).forEach(b=>{const p=b.children[1];p.renderOrder=2})},300);const s=u.current.camera();r.add(s),O()}}}),re===!1?null:i.jsxRuntimeExports.jsx("div",{className:i.mo("absolute left-4 bottom-4 map-color-legend",te?.colorLegend),children:je?i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx("div",{className:"color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]",onClick:()=>{ne(!1)},children:i.jsxRuntimeExports.jsx(gt.X,{})}),i.jsxRuntimeExports.jsxs("div",{className:"color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]",style:{width:R?void 0:"340px"},children:[C&&C!==""?i.jsxRuntimeExports.jsx(Ke.j,{size:"xs",marginBottom:"xs",className:"p-0 leading-normal overflow-hidden text-primary-gray-700 dark:text-primary-gray-300",style:{display:"-webkit-box",WebkitLineClamp:"1",WebkitBoxOrient:"vertical"},children:C}):null,R?i.jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-3",children:f.map((r,s)=>i.jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[i.jsxRuntimeExports.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:c[s%c.length]}}),i.jsxRuntimeExports.jsx(Ke.j,{size:"sm",marginBottom:"none",leading:"none",children:r})]},s))}):i.jsxRuntimeExports.jsx("svg",{width:"100%",viewBox:"0 0 320 30",direction:"ltr",children:i.jsxRuntimeExports.jsxs("g",{children:[f.map((r,s)=>i.jsxRuntimeExports.jsxs("g",{className:"cursor-pointer",children:[i.jsxRuntimeExports.jsx("rect",{x:s*320/c.length+1,y:1,width:320/c.length-2,height:8,style:{fill:c[s],stroke:c[s]}}),i.jsxRuntimeExports.jsx("text",{x:(s+1)*320/c.length,y:25,className:"fill-primary-gray-700 dark:fill-primary-gray-300 text-xs",style:{textAnchor:"middle"},children:mt.numberFormattingFunction(r,"NA")})]},s)),i.jsxRuntimeExports.jsx("g",{children:i.jsxRuntimeExports.jsx("rect",{x:f.length*320/c.length+1,y:1,width:320/c.length-2,height:8,style:{fill:c[f.length],stroke:c[f.length]}})})]})})]})]}):i.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{ne(!0)},children:i.jsxRuntimeExports.jsx("div",{className:"show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}),S&&L?i.jsxRuntimeExports.jsx(ht.Tooltip,{data:S,body:L,xPos:le.x,yPos:le.y,backgroundStyle:fe?.tooltip,className:te?.tooltip}):null,N&&k!==void 0?i.jsxRuntimeExports.jsx(ut.le,{open:k!==void 0,onClose:()=>{q(void 0)},children:i.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof N=="string"?{__html:xt.string2HTML(N,k)}:void 0,children:typeof N=="function"?N(k):null})}):null]})}function qt(t){const e=i.compilerRuntimeExports.c(97),{data:n,mapData:x,graphTitle:j,colors:R,sources:f,graphDescription:c,height:o,width:l,footNote:v,colorDomain:a,colorLegendTitle:w,scaleType:P,padding:L,mapNoDataColor:fe,backgroundColor:te,mapBorderColor:oe,relativeHeight:C,tooltip:re,graphID:se,mapProperty:N,dataDownload:$,language:ve,minHeight:ye,theme:M,ariaLabel:z,styles:m,classNames:g,autoRotate:V,enableZoom:W,globeMaterial:ie,centerPoint:Z,atmosphereColor:A,showColorScale:G,resetSelectionOnDoubleClick:ae,detailsOnClick:y,onSeriesMouseOver:J,onSeriesMouseClick:F,highlightedIds:I,highlightedAltitude:be,dimmedOpacity:u,scale:k,globeOffset:q,polygonAltitude:je,globeCurvatureResolution:ne,atmosphereAltitude:le,fogSettings:ce,lights:S,selectedId:de,collapseColorScaleByDefault:X}=t,E=x===void 0?"https://raw.githubusercontent.com/UNDP-Data/dv-country-geojson/refs/heads/main/worldMap-simplified.json":x,B=v===void 0?"The designations employed and the presentation of material on this map do not imply the expression of any opinion whatsoever on the part of the Secretariat of the United Nations or UNDP concerning the legal status of any country, territory, city or area or its authorities, or concerning the delimitation of its frontiers or boundaries.":v,O=P===void 0?"threshold":P,r=fe===void 0?ee.Colors.light.graphNoData:fe,s=te===void 0?!1:te,d=oe===void 0?ee.Colors.light.grays["gray-500"]:oe,b=N===void 0?"ISO3":N,p=$===void 0?!1:$,D=ve===void 0?"en":ve,T=ye===void 0?0:ye,H=M===void 0?"light":M,ue=V===void 0?!0:V,Me=W===void 0?!0:W;let we;e[0]!==Z?(we=Z===void 0?[0,0]:Z,e[0]=Z,e[1]=we):we=e[1];const Ce=we,ze=A===void 0?"#999":A,Ae=G===void 0?!0:G,Ge=ae===void 0?!0:ae;let Re;e[2]!==I?(Re=I===void 0?[]:I,e[2]=I,e[3]=Re):Re=e[3];const Fe=Re,Be=be===void 0?.1:be,He=u===void 0?.3:u,Ie=k===void 0?1:k;let Se;e[4]!==q?(Se=q===void 0?[0,0]:q,e[4]=q,e[5]=Se):Se=e[5];const _e=Se,Ue=je===void 0?.01:je,$e=ne===void 0?4:ne,Ve=le===void 0?.15:le;let Ee;e[6]!==S?(Ee=S===void 0?[{type:"ambient",color:4210752,intensity:.4},{type:"directional",color:16777215,intensity:1,position:{x:5,y:10,z:5}}]:S,e[6]=S,e[7]=Ee):Ee=e[7];const We=Ee,[De,ot]=h.useState(void 0),[_,rt]=h.useState(0),[pe,st]=h.useState(0),Ze=h.useRef(null),it=h.useRef(null);let Ne,ke;e[8]===Symbol.for("react.memo_cache_sentinel")?(Ne=()=>{const ge=new ResizeObserver(xe=>{rt(xe[0].target.clientWidth||620),st(xe[0].target.clientHeight||480)});return Ze.current&&ge.observe(Ze.current),()=>ge.disconnect()},ke=[],e[8]=Ne,e[9]=ke):(Ne=e[8],ke=e[9]),h.useEffect(Ne,ke);let qe;e[10]===Symbol.for("react.memo_cache_sentinel")?(qe=ge=>{ot(ge)},e[10]=qe):qe=e[10];const he=h.useEffectEvent(qe);let Oe;e[11]!==E||e[12]!==he?(Oe=()=>{typeof E=="string"?wt.fetchAndParseJSON(E).then(xe=>{if(E==="https://raw.githubusercontent.com/UNDP-Data/dv-country-geojson/refs/heads/main/worldMap-simplified.json"){const at=xe.features.map(At);he(at)}else he(xe.features)}):he(E.features)},e[11]=E,e[12]=he,e[13]=Oe):Oe=e[13];let Te;e[14]!==E?(Te=[E],e[14]=E,e[15]=Te):Te=e[15],h.useEffect(Oe,Te);let Pe;e[16]!==a||e[17]!==R?.length||e[18]!==n||e[19]!==O?(Pe=a||(O==="categorical"?Ct.getUniqValue(n,"x"):Rt.getJenks(n.map(zt),R?.length||4)),e[16]=a,e[17]=R?.length,e[18]=n,e[19]=O,e[20]=Pe):Pe=e[20];const me=Pe,Je=g?.graphContainer,Xe=m?.graphContainer;let Y;e[21]!==g?.description||e[22]!==g?.title||e[23]!==n||e[24]!==p||e[25]!==c||e[26]!==j||e[27]!==m?.description||e[28]!==m?.title||e[29]!==l?(Y=j||c||p?i.jsxRuntimeExports.jsx(bt.GraphHeader,{styles:{title:m?.title,description:m?.description},classNames:{title:g?.title,description:g?.description},graphTitle:j,graphDescription:c,width:l,graphDownload:void 0,dataDownload:p?n.map(Mt).filter(Lt).length>0?n.map(Pt).filter(Tt):n.filter(Ot):null}):null,e[21]=g?.description,e[22]=g?.title,e[23]=n,e[24]=p,e[25]=c,e[26]=j,e[27]=m?.description,e[28]=m?.title,e[29]=l,e[30]=Y):Y=e[30];let K;e[31]!==Ve||e[32]!==ze||e[33]!==ue||e[34]!==Ce||e[35]!==g||e[36]!==X||e[37]!==w||e[38]!==R||e[39]!==n||e[40]!==y||e[41]!==He||e[42]!==me||e[43]!==Me||e[44]!==ce||e[45]!==$e||e[46]!==ie||e[47]!==_e||e[48]!==o||e[49]!==Be||e[50]!==Fe||e[51]!==We||e[52]!==d||e[53]!==r||e[54]!==b||e[55]!==De||e[56]!==T||e[57]!==F||e[58]!==J||e[59]!==Ue||e[60]!==C||e[61]!==Ge||e[62]!==Ie||e[63]!==O||e[64]!==de||e[65]!==Ae||e[66]!==m||e[67]!==pe||e[68]!==_||e[69]!==H||e[70]!==re||e[71]!==l?(K=i.jsxRuntimeExports.jsx(Qe.GraphArea,{ref:Ze,children:_&&pe&&De?i.jsxRuntimeExports.jsx(kt,{data:n,globeOffset:_e,polygonData:De,colorDomain:me,width:_,height:pe,colors:R||(O==="categorical"?ee.Colors[H].sequentialColors[`neutralColorsx0${me.length}`]:ee.Colors[H].sequentialColors[`neutralColorsx0${me.length+1}`]),mapNoDataColor:r,categorical:O==="categorical",mapBorderColor:d,tooltip:re,mapProperty:b,styles:m,classNames:g,autoRotate:ue===!0?1.5:ue===!1?0:ue,enableZoom:Me,globeMaterial:ie,atmosphereColor:ze,colorLegendTitle:w,showColorScale:Ae,hoverStrokeColor:H==="light"?ee.Colors.light.grays["gray-700"]:ee.Colors.light.grays["gray-300"],highlightedIds:Fe,resetSelectionOnDoubleClick:Ge,detailsOnClick:y,onSeriesMouseOver:J,onSeriesMouseClick:F,scale:Ie,polygonAltitude:Ue,centerLat:Ce[0],centerLng:Ce[1],atmosphereAltitude:Ve,globeCurvatureResolution:$e,fogSettings:ce,lights:We,highlightedAltitude:Be,selectedId:de,collapseColorScaleByDefault:X,dimmedOpacity:He}):i.jsxRuntimeExports.jsx("div",{style:{height:`${Math.max(T,o||(C?T?(l||_)*C>T?(l||_)*C:T:(l||_)*C:pe))}px`},className:"flex items-center justify-center",children:i.jsxRuntimeExports.jsx(nt.w,{"aria-label":"Loading graph"})})}),e[31]=Ve,e[32]=ze,e[33]=ue,e[34]=Ce,e[35]=g,e[36]=X,e[37]=w,e[38]=R,e[39]=n,e[40]=y,e[41]=He,e[42]=me,e[43]=Me,e[44]=ce,e[45]=$e,e[46]=ie,e[47]=_e,e[48]=o,e[49]=Be,e[50]=Fe,e[51]=We,e[52]=d,e[53]=r,e[54]=b,e[55]=De,e[56]=T,e[57]=F,e[58]=J,e[59]=Ue,e[60]=C,e[61]=Ge,e[62]=Ie,e[63]=O,e[64]=de,e[65]=Ae,e[66]=m,e[67]=pe,e[68]=_,e[69]=H,e[70]=re,e[71]=l,e[72]=K):K=e[72];let Q;e[73]!==g?.footnote||e[74]!==g?.source||e[75]!==B||e[76]!==f||e[77]!==m?.footnote||e[78]!==m?.source||e[79]!==l?(Q=f||B?i.jsxRuntimeExports.jsx(jt.GraphFooter,{styles:{footnote:m?.footnote,source:m?.source},classNames:{footnote:g?.footnote,source:g?.source},sources:f,footNote:B,width:l}):null,e[73]=g?.footnote,e[74]=g?.source,e[75]=B,e[76]=f,e[77]=m?.footnote,e[78]=m?.source,e[79]=l,e[80]=Q):Q=e[80];let Le;return e[81]!==z||e[82]!==s||e[83]!==se||e[84]!==o||e[85]!==D||e[86]!==T||e[87]!==L||e[88]!==C||e[89]!==Je||e[90]!==Xe||e[91]!==Y||e[92]!==K||e[93]!==Q||e[94]!==H||e[95]!==l?(Le=i.jsxRuntimeExports.jsxs(Qe.GraphContainer,{className:Je,style:Xe,id:se,ref:it,"aria-label":z,backgroundColor:s,theme:H,language:D,minHeight:T,width:l,height:o,relativeHeight:C,padding:L,children:[Y,K,Q]}),e[81]=z,e[82]=s,e[83]=se,e[84]=o,e[85]=D,e[86]=T,e[87]=L,e[88]=C,e[89]=Je,e[90]=Xe,e[91]=Y,e[92]=K,e[93]=Q,e[94]=H,e[95]=l,e[96]=Le):Le=e[96],Le}function Ot(t){return t!==void 0}function Tt(t){return t!==void 0}function Pt(t){return t.data}function Lt(t){return t!==void 0}function Mt(t){return t.data}function zt(t){return t.x}function At(t){if(t.geometry.type==="Polygon"){const x=[...t.geometry.coordinates[0]].reverse(),j={...t.geometry,coordinates:[x]};return{...t,geometry:j}}const e=[];t.geometry.coordinates.forEach(x=>{const j=[...x[0]].reverse();e.push([j])});const n={...t.geometry,coordinates:e};return{...t,geometry:n}}exports.ThreeDGlobe=qt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-CHPV5EwG-CTPQjnHt.cjs"),h=require("react"),nt=require("./Spinner-DRMBUsX7.cjs"),lt=require("react-globe.gl"),ct=require("./index-DQA8q5sC.cjs"),dt=require("three"),ut=require("./Modal-JW_IExO3.cjs"),Ke=require("./Typography-DX7PlgQU.cjs"),pt=require("./_commonjsHelpers-BH3jXuIh.cjs"),ht=require("./Tooltip-4dJo4_AF.cjs"),mt=require("./numberFormattingFunction-02t-wJta.cjs"),gt=require("./index-DRXx7m-C.cjs"),xt=require("./string2HTML-CPGr_I5E.cjs"),ft=require("./getCentroidCoordinates-Dng1HVjO.cjs"),vt=require("./ordinal-CrsysVE-.cjs"),yt=require("./threshold-DNsSUf8Q.cjs"),bt=require("./GraphHeader.cjs"),jt=require("./GraphFooter.cjs"),wt=require("./fetchAndParseData-l5HGMAEs.cjs"),ee=require("./Colors.cjs"),Ct=require("./getUniqValue-NX8DgwND.cjs"),Rt=require("./getJenks-GYmdwBqm.cjs"),Qe=require("./GraphContainer-d8A46BK2.cjs");function St(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const x=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,x.get?x:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const U=St(dt);var Ye,et;function Et(){if(et)return Ye;et=1;var t=function(o){return o.charAt(0)==="#"?o.slice(1):o},e=function(o){var l=o.length===3||o.length===4,v=l?"".concat(o.slice(0,1)).concat(o.slice(0,1)):o.slice(0,2),a=l?"".concat(o.slice(1,2)).concat(o.slice(1,2)):o.slice(2,4),w=l?"".concat(o.slice(2,3)).concat(o.slice(2,3)):o.slice(4,6),P=(l?"".concat(o.slice(3,4)).concat(o.slice(3,4)):o.slice(6,8))||"ff";return{r:v,g:a,b:w,a:P}},n=function(o){return parseInt(o,16)},x=function(o){var l=o.r,v=o.g,a=o.b,w=o.a;return{r:n(l),g:n(v),b:n(a),a:+(n(w)/255).toFixed(2)}},j=function(o){return!isNaN(parseFloat(o))&&isFinite(o)},R=function(o,l){var v=o.r,a=o.g,w=o.b,P=o.a,L=j(l)?l:P;return"rgba(".concat(v,", ").concat(a,", ").concat(w,", ").concat(L,")")},f=function(o,l){var v=t(o),a=e(v),w=x(a);return R(w,l)};return Ye=f,Ye}var Dt=Et();const tt=pt.getDefaultExportFromCjs(Dt);function Nt(t){let e;switch(t.type){case"ambient":e=new U.AmbientLight(t.color,t.intensity);break;case"directional":e=new U.DirectionalLight(t.color,t.intensity),t.position&&(t.position==="camera"?e.position.set(0,0,0):e.position.set(t.position.x,t.position.y,t.position.z)),(t.target||t.position==="camera")&&e.target.position.set(t.target?.x||0,t.target?.y||0,t.target?.z===void 0?-1:t.target.z),t.castShadow&&(e.castShadow=!0,t.shadow&&(e.shadow.mapSize.width=t.shadow.mapSize.width,e.shadow.mapSize.height=t.shadow.mapSize.height,e.shadow.camera.near=t.shadow.camera.near,e.shadow.camera.far=t.shadow.camera.far));break;case"point":e=new U.PointLight(t.color,t.intensity,t.distance||0,t.decay||2),t.position&&(t.position==="camera"?e.position.set(0,0,0):e.position.set(t.position.x,t.position.y,t.position.z));break;case"spot":e=new U.SpotLight(t.color,t.intensity,t.distance||0,t.angle||Math.PI/3,t.penumbra||0,t.decay||2),t.position&&(t.position==="camera"?e.position.set(0,0,0):e.position.set(t.position.x,t.position.y,t.position.z)),(t.target||t.position==="camera")&&e.target.position.set(t.target?.x||0,t.target?.y||0,t.target?.z||0),t.castShadow&&(e.castShadow=!0,t.shadow&&(e.shadow.mapSize.width=t.shadow.mapSize.width,e.shadow.mapSize.height=t.shadow.mapSize.height,e.shadow.camera.near=t.shadow.camera.near,e.shadow.camera.far=t.shadow.camera.far));break;default:throw new Error("Unknown light type")}return e}function kt(t){const{width:e,autoRotate:n,data:x,enableZoom:j,categorical:R,colorDomain:f,colors:c,globeMaterial:o,height:l,polygonData:v,mapProperty:a,mapBorderColor:w,atmosphereColor:P,tooltip:L,styles:fe,classNames:te,mapNoDataColor:oe,colorLegendTitle:C,showColorScale:re,hoverStrokeColor:se,detailsOnClick:N,onSeriesMouseClick:$,onSeriesMouseOver:ve,resetSelectionOnDoubleClick:ye,highlightedIds:M,scale:z,globeOffset:m,polygonAltitude:g,centerLng:V,centerLat:W,atmosphereAltitude:ie,globeCurvatureResolution:Z,fogSettings:A,lights:G,highlightedAltitude:ae,selectedId:y,collapseColorScaleByDefault:J,dimmedOpacity:F}=t,[I,be]=h.useState(!1),u=h.useRef(void 0),[k,q]=h.useState(void 0),[je,ne]=h.useState(J===void 0?!(e<680):!J),[le,ce]=h.useState({x:0,y:0}),[S,de]=h.useState(void 0),X=R?vt.ordinal().domain(f).range(c):yt.threshold().domain(f).range(c);h.useEffect(()=>{u.current&&(u.current.controls().enableZoom=j)},[j]),h.useEffect(()=>{u.current&&(S||y?u.current.controls().autoRotate=!1:(u.current.controls().autoRotate=n!==0,u.current.controls().autoRotateSpeed=n))},[S,y,n]),h.useEffect(()=>{if(u.current&&y){const r=v.find(b=>b.properties[a]===y),[s,d]=ft.getCentroidCoordinates(r);u.current.pointOfView({lat:d,lng:s,altitude:z},1e3)}},[y,z,v,a]),h.useEffect(()=>{const r=u.current?.renderer().domElement;if(!r)return;const s=d=>{ce({x:d.clientX,y:d.clientY})};return r.addEventListener("mousemove",s),()=>r.removeEventListener("mousemove",s)},[]),h.useEffect(()=>{u.current&&u.current.pointOfView({lat:W,lng:V,altitude:z},1e3)},[z,V,W]);const E=o||new U.MeshBasicMaterial({color:"#FFF"}),B=h.useCallback(()=>{if(!u.current)return;const r=u.current.scene(),s=u.current.camera();let d=[];r.traverse(p=>{p instanceof U.Light&&d.push(p)}),d=[...d,...s.children],d.forEach(p=>p.parent?.remove(p)),G.map(p=>Nt(p)).forEach((p,D)=>{G[D].type!=="ambient"&&G[D].position==="camera"?(s.add(p),G[D].type!=="point"&&s.add(p.target)):r.add(p)}),A&&(r.fog=new U.Fog(A.color,A.near,A.far))},[G,A]),O=()=>{be(!0),B()};return h.useEffect(()=>{I&&B()},[I,B]),i.jsxRuntimeExports.jsxs("div",{className:"relative",children:[i.jsxRuntimeExports.jsx(lt,{ref:u,height:l,width:e,globeOffset:m,lineHoverPrecision:0,polygonsData:v,polygonAltitude:r=>M.includes(r?.properties?.[a])||r?.properties?.[a]===y||r?.properties?.[a]===S?.id||r?.properties?.[a]===k?.id?ae:g,polygonCapColor:r=>{const s=y?r?.properties?.[a]===y?1:F:M.length!==0?M.includes(r?.properties?.[a])?1:F:1,d=r?.properties?.[a],b=x.find(D=>D.id===d)?.x,p=b!=null?X(b):oe;return tt(p,`${s}`)},polygonSideColor:r=>{const s=r?.properties?.[a],d=x.find(D=>D.id===s)?.x,b=y?r?.properties?.[a]===y?1:F:M.length!==0?M.includes(r?.properties?.[a])?1:F:1,p=d!=null?X(d):oe;return tt(p,`${b}`)},polygonStrokeColor:r=>r?.properties?.[a]===S?.id?se:w,onGlobeClick:()=>{q(void 0)},onPolygonClick:r=>{const s=r?.properties?.[a]?x.find(d=>d.id===r?.properties?.[a]):void 0;($||N)&&(ct.isEqual(k,s)&&ye&&s?(q(void 0),$?.(void 0)):(q(s),$?.(s)))},onPolygonHover:r=>{const s=r?.properties?.[a]?x.find(d=>d.id===r?.properties?.[a]):void 0;de(s),ve?.(s)},atmosphereColor:P,atmosphereAltitude:ie,globeCurvatureResolution:Z,globeMaterial:E,backgroundColor:"rgba(0, 0, 0, 0)",polygonsTransitionDuration:100,onGlobeReady:()=>{if(u.current){u.current.pointOfView({lat:W,lng:V});const r=u.current.scene();setTimeout(()=>{(r.children[3]?.children[0]?.children[4]?.children||[]).forEach(b=>{const p=b.children[1];p.renderOrder=2})},300);const s=u.current.camera();r.add(s),O()}}}),re===!1?null:i.jsxRuntimeExports.jsx("div",{className:i.mo("absolute left-4 bottom-4 map-color-legend",te?.colorLegend),children:je?i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx("div",{className:"color-legend-close-button bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)] border border-[var(--gray-400)] rounded-full w-6 h-6 p-[3px] cursor-pointer z-10 absolute right-[-0.75rem] top-[-0.75rem]",onClick:()=>{ne(!1)},children:i.jsxRuntimeExports.jsx(gt.X,{})}),i.jsxRuntimeExports.jsxs("div",{className:"color-legend-box p-2 bg-[rgba(240,240,240,0.7)] dark:bg-[rgba(30,30,30,0.7)]",style:{width:R?void 0:"340px"},children:[C&&C!==""?i.jsxRuntimeExports.jsx(Ke.j,{size:"xs",marginBottom:"xs",className:"p-0 leading-normal overflow-hidden text-primary-gray-700 dark:text-primary-gray-300",style:{display:"-webkit-box",WebkitLineClamp:"1",WebkitBoxOrient:"vertical"},children:C}):null,R?i.jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-3",children:f.map((r,s)=>i.jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",children:[i.jsxRuntimeExports.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:c[s%c.length]}}),i.jsxRuntimeExports.jsx(Ke.j,{size:"sm",marginBottom:"none",leading:"none",children:r})]},s))}):i.jsxRuntimeExports.jsx("svg",{width:"100%",viewBox:"0 0 320 30",direction:"ltr",children:i.jsxRuntimeExports.jsxs("g",{children:[f.map((r,s)=>i.jsxRuntimeExports.jsxs("g",{className:"cursor-pointer",children:[i.jsxRuntimeExports.jsx("rect",{x:s*320/c.length+1,y:1,width:320/c.length-2,height:8,style:{fill:c[s],stroke:c[s]}}),i.jsxRuntimeExports.jsx("text",{x:(s+1)*320/c.length,y:25,className:"fill-primary-gray-700 dark:fill-primary-gray-300 text-xs",style:{textAnchor:"middle"},children:mt.numberFormattingFunction(r,"NA")})]},s)),i.jsxRuntimeExports.jsx("g",{children:i.jsxRuntimeExports.jsx("rect",{x:f.length*320/c.length+1,y:1,width:320/c.length-2,height:8,style:{fill:c[f.length],stroke:c[f.length]}})})]})})]})]}):i.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{ne(!0)},children:i.jsxRuntimeExports.jsx("div",{className:"show-color-legend-button items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-600 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}),S&&L?i.jsxRuntimeExports.jsx(ht.Tooltip,{data:S,body:L,xPos:le.x,yPos:le.y,backgroundStyle:fe?.tooltip,className:te?.tooltip}):null,N&&k!==void 0?i.jsxRuntimeExports.jsx(ut.le,{open:k!==void 0,onClose:()=>{q(void 0)},children:i.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof N=="string"?{__html:xt.string2HTML(N,k)}:void 0,children:typeof N=="function"?N(k):null})}):null]})}function qt(t){const e=i.compilerRuntimeExports.c(97),{data:n,mapData:x,graphTitle:j,colors:R,sources:f,graphDescription:c,height:o,width:l,footNote:v,colorDomain:a,colorLegendTitle:w,scaleType:P,padding:L,mapNoDataColor:fe,backgroundColor:te,mapBorderColor:oe,relativeHeight:C,tooltip:re,graphID:se,mapProperty:N,dataDownload:$,language:ve,minHeight:ye,theme:M,ariaLabel:z,styles:m,classNames:g,autoRotate:V,enableZoom:W,globeMaterial:ie,centerPoint:Z,atmosphereColor:A,showColorScale:G,resetSelectionOnDoubleClick:ae,detailsOnClick:y,onSeriesMouseOver:J,onSeriesMouseClick:F,highlightedIds:I,highlightedAltitude:be,dimmedOpacity:u,scale:k,globeOffset:q,polygonAltitude:je,globeCurvatureResolution:ne,atmosphereAltitude:le,fogSettings:ce,lights:S,selectedId:de,collapseColorScaleByDefault:X}=t,E=x===void 0?"https://raw.githubusercontent.com/UNDP-Data/dv-country-geojson/refs/heads/main/worldMap-simplified.json":x,B=v===void 0?"The designations employed and the presentation of material on this map do not imply the expression of any opinion whatsoever on the part of the Secretariat of the United Nations or UNDP concerning the legal status of any country, territory, city or area or its authorities, or concerning the delimitation of its frontiers or boundaries.":v,O=P===void 0?"threshold":P,r=fe===void 0?ee.Colors.light.graphNoData:fe,s=te===void 0?!1:te,d=oe===void 0?ee.Colors.light.grays["gray-500"]:oe,b=N===void 0?"ISO3":N,p=$===void 0?!1:$,D=ve===void 0?"en":ve,T=ye===void 0?0:ye,H=M===void 0?"light":M,ue=V===void 0?!0:V,Me=W===void 0?!0:W;let we;e[0]!==Z?(we=Z===void 0?[0,0]:Z,e[0]=Z,e[1]=we):we=e[1];const Ce=we,ze=A===void 0?"#999":A,Ae=G===void 0?!0:G,Ge=ae===void 0?!0:ae;let Re;e[2]!==I?(Re=I===void 0?[]:I,e[2]=I,e[3]=Re):Re=e[3];const Fe=Re,Be=be===void 0?.1:be,He=u===void 0?.3:u,Ie=k===void 0?1:k;let Se;e[4]!==q?(Se=q===void 0?[0,0]:q,e[4]=q,e[5]=Se):Se=e[5];const _e=Se,Ue=je===void 0?.01:je,$e=ne===void 0?4:ne,Ve=le===void 0?.15:le;let Ee;e[6]!==S?(Ee=S===void 0?[{type:"ambient",color:4210752,intensity:.4},{type:"directional",color:16777215,intensity:1,position:{x:5,y:10,z:5}}]:S,e[6]=S,e[7]=Ee):Ee=e[7];const We=Ee,[De,ot]=h.useState(void 0),[_,rt]=h.useState(0),[pe,st]=h.useState(0),Ze=h.useRef(null),it=h.useRef(null);let Ne,ke;e[8]===Symbol.for("react.memo_cache_sentinel")?(Ne=()=>{const ge=new ResizeObserver(xe=>{rt(xe[0].target.clientWidth||620),st(xe[0].target.clientHeight||480)});return Ze.current&&ge.observe(Ze.current),()=>ge.disconnect()},ke=[],e[8]=Ne,e[9]=ke):(Ne=e[8],ke=e[9]),h.useEffect(Ne,ke);let qe;e[10]===Symbol.for("react.memo_cache_sentinel")?(qe=ge=>{ot(ge)},e[10]=qe):qe=e[10];const he=h.useEffectEvent(qe);let Oe;e[11]!==E||e[12]!==he?(Oe=()=>{typeof E=="string"?wt.fetchAndParseJSON(E).then(xe=>{if(E==="https://raw.githubusercontent.com/UNDP-Data/dv-country-geojson/refs/heads/main/worldMap-simplified.json"){const at=xe.features.map(At);he(at)}else he(xe.features)}):he(E.features)},e[11]=E,e[12]=he,e[13]=Oe):Oe=e[13];let Te;e[14]!==E?(Te=[E],e[14]=E,e[15]=Te):Te=e[15],h.useEffect(Oe,Te);let Pe;e[16]!==a||e[17]!==R?.length||e[18]!==n||e[19]!==O?(Pe=a||(O==="categorical"?Ct.getUniqValue(n,"x"):Rt.getJenks(n.map(zt),R?.length||4)),e[16]=a,e[17]=R?.length,e[18]=n,e[19]=O,e[20]=Pe):Pe=e[20];const me=Pe,Je=g?.graphContainer,Xe=m?.graphContainer;let Y;e[21]!==g?.description||e[22]!==g?.title||e[23]!==n||e[24]!==p||e[25]!==c||e[26]!==j||e[27]!==m?.description||e[28]!==m?.title||e[29]!==l?(Y=j||c||p?i.jsxRuntimeExports.jsx(bt.GraphHeader,{styles:{title:m?.title,description:m?.description},classNames:{title:g?.title,description:g?.description},graphTitle:j,graphDescription:c,width:l,graphDownload:void 0,dataDownload:p?n.map(Mt).filter(Lt).length>0?n.map(Pt).filter(Tt):n.filter(Ot):null}):null,e[21]=g?.description,e[22]=g?.title,e[23]=n,e[24]=p,e[25]=c,e[26]=j,e[27]=m?.description,e[28]=m?.title,e[29]=l,e[30]=Y):Y=e[30];let K;e[31]!==Ve||e[32]!==ze||e[33]!==ue||e[34]!==Ce||e[35]!==g||e[36]!==X||e[37]!==w||e[38]!==R||e[39]!==n||e[40]!==y||e[41]!==He||e[42]!==me||e[43]!==Me||e[44]!==ce||e[45]!==$e||e[46]!==ie||e[47]!==_e||e[48]!==o||e[49]!==Be||e[50]!==Fe||e[51]!==We||e[52]!==d||e[53]!==r||e[54]!==b||e[55]!==De||e[56]!==T||e[57]!==F||e[58]!==J||e[59]!==Ue||e[60]!==C||e[61]!==Ge||e[62]!==Ie||e[63]!==O||e[64]!==de||e[65]!==Ae||e[66]!==m||e[67]!==pe||e[68]!==_||e[69]!==H||e[70]!==re||e[71]!==l?(K=i.jsxRuntimeExports.jsx(Qe.GraphArea,{ref:Ze,children:_&&pe&&De?i.jsxRuntimeExports.jsx(kt,{data:n,globeOffset:_e,polygonData:De,colorDomain:me,width:_,height:pe,colors:R||(O==="categorical"?ee.Colors[H].sequentialColors[`neutralColorsx0${me.length}`]:ee.Colors[H].sequentialColors[`neutralColorsx0${me.length+1}`]),mapNoDataColor:r,categorical:O==="categorical",mapBorderColor:d,tooltip:re,mapProperty:b,styles:m,classNames:g,autoRotate:ue===!0?1.5:ue===!1?0:ue,enableZoom:Me,globeMaterial:ie,atmosphereColor:ze,colorLegendTitle:w,showColorScale:Ae,hoverStrokeColor:H==="light"?ee.Colors.light.grays["gray-700"]:ee.Colors.light.grays["gray-300"],highlightedIds:Fe,resetSelectionOnDoubleClick:Ge,detailsOnClick:y,onSeriesMouseOver:J,onSeriesMouseClick:F,scale:Ie,polygonAltitude:Ue,centerLat:Ce[0],centerLng:Ce[1],atmosphereAltitude:Ve,globeCurvatureResolution:$e,fogSettings:ce,lights:We,highlightedAltitude:Be,selectedId:de,collapseColorScaleByDefault:X,dimmedOpacity:He}):i.jsxRuntimeExports.jsx("div",{style:{height:`${Math.max(T,o||(C?T?(l||_)*C>T?(l||_)*C:T:(l||_)*C:pe))}px`},className:"flex items-center justify-center",children:i.jsxRuntimeExports.jsx(nt.w,{"aria-label":"Loading graph"})})}),e[31]=Ve,e[32]=ze,e[33]=ue,e[34]=Ce,e[35]=g,e[36]=X,e[37]=w,e[38]=R,e[39]=n,e[40]=y,e[41]=He,e[42]=me,e[43]=Me,e[44]=ce,e[45]=$e,e[46]=ie,e[47]=_e,e[48]=o,e[49]=Be,e[50]=Fe,e[51]=We,e[52]=d,e[53]=r,e[54]=b,e[55]=De,e[56]=T,e[57]=F,e[58]=J,e[59]=Ue,e[60]=C,e[61]=Ge,e[62]=Ie,e[63]=O,e[64]=de,e[65]=Ae,e[66]=m,e[67]=pe,e[68]=_,e[69]=H,e[70]=re,e[71]=l,e[72]=K):K=e[72];let Q;e[73]!==g?.footnote||e[74]!==g?.source||e[75]!==B||e[76]!==f||e[77]!==m?.footnote||e[78]!==m?.source||e[79]!==l?(Q=f||B?i.jsxRuntimeExports.jsx(jt.GraphFooter,{styles:{footnote:m?.footnote,source:m?.source},classNames:{footnote:g?.footnote,source:g?.source},sources:f,footNote:B,width:l}):null,e[73]=g?.footnote,e[74]=g?.source,e[75]=B,e[76]=f,e[77]=m?.footnote,e[78]=m?.source,e[79]=l,e[80]=Q):Q=e[80];let Le;return e[81]!==z||e[82]!==s||e[83]!==se||e[84]!==o||e[85]!==D||e[86]!==T||e[87]!==L||e[88]!==C||e[89]!==Je||e[90]!==Xe||e[91]!==Y||e[92]!==K||e[93]!==Q||e[94]!==H||e[95]!==l?(Le=i.jsxRuntimeExports.jsxs(Qe.GraphContainer,{className:Je,style:Xe,id:se,ref:it,"aria-label":z,backgroundColor:s,theme:H,language:D,minHeight:T,width:l,height:o,relativeHeight:C,padding:L,children:[Y,K,Q]}),e[81]=z,e[82]=s,e[83]=se,e[84]=o,e[85]=D,e[86]=T,e[87]=L,e[88]=C,e[89]=Je,e[90]=Xe,e[91]=Y,e[92]=K,e[93]=Q,e[94]=H,e[95]=l,e[96]=Le):Le=e[96],Le}function Ot(t){return t!==void 0}function Tt(t){return t!==void 0}function Pt(t){return t.data}function Lt(t){return t!==void 0}function Mt(t){return t.data}function zt(t){return t.x}function At(t){if(t.geometry.type==="Polygon"){const x=[...t.geometry.coordinates[0]].reverse(),j={...t.geometry,coordinates:[x]};return{...t,geometry:j}}const e=[];t.geometry.coordinates.forEach(x=>{const j=[...x[0]].reverse();e.push([j])});const n={...t.geometry,coordinates:e};return{...t,geometry:n}}exports.ThreeDGlobe=qt;
2
2
  //# sourceMappingURL=ThreeDGlobe.cjs.map
@@ -18,7 +18,7 @@ import { GraphHeader as St } from "./GraphHeader.js";
18
18
  import { GraphFooter as jt } from "./GraphFooter.js";
19
19
  import { f as Nt } from "./fetchAndParseData-BpqkBPQL.js";
20
20
  import { Colors as te } from "./Colors.js";
21
- import { g as kt } from "./getUniqValue-BKHCm3zE.js";
21
+ import { g as kt } from "./getUniqValue-DsqSii6M.js";
22
22
  import { g as Rt } from "./getJenks-BbngDoBQ.js";
23
23
  import { a as Lt, G as Ot } from "./GraphContainer-CRqzdKu2.js";
24
24
  var Ke, tt;
package/dist/Types.d.ts CHANGED
@@ -396,6 +396,7 @@ export declare type FilterUiSettingsDataType = {
396
396
  excludeValues?: string[];
397
397
  allowSelectAll?: boolean;
398
398
  width?: string;
399
+ ui?: 'select' | 'radio';
399
400
  };
400
401
 
401
402
  export declare interface FogDataType {
@@ -1,2 +1,2 @@
1
- "use strict";const a=[{graphName:"Bar graph",graphID:"barChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!0},{graphName:"Stacked bar graph",graphID:"stackedBarChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Grouped bar graph",graphID:"groupedBarChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Bee swarm chart",graphID:"beeSwarmChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Butterfly chart",graphID:"butterflyChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Bullet chart",graphID:"bulletChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Circle packing",graphID:"circlePacking",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!0},{graphName:"Data table",graphID:"dataTable",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Pie/donut chart",graphID:"donutChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!0},{graphName:"Dumbbell chart",graphID:"dumbbellChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Heat map",graphID:"heatMap",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Histogram",graphID:"histogram",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Line chart",graphID:"lineChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Multi-line chart",graphID:"multiLineChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Multi-line chart alternative",graphID:"multiLineAltChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Difference line chart",graphID:"differenceLineChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Dual-axes line chart",graphID:"dualAxisLineChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Line chart with interval",graphID:"lineChartWithConfidenceInterval",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Spark line",graphID:"sparkLine",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Choropleth map",graphID:"choroplethMap",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Three-D globe",graphID:"threeDGlobe",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Bi-variate choropleth map",graphID:"biVariateChoroplethMap",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Dot density map",graphID:"dotDensityMap",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"GeoHub map with comparison",graphID:"geoHubCompareMap",availableInGriddedGraph:!1,geoHubMapPresentation:!0,availableInWideToLongFormat:!1},{graphName:"GeoHub map",graphID:"geoHubMap",availableInGriddedGraph:!1,geoHubMapPresentation:!0,availableInWideToLongFormat:!1},{graphName:"GeoHub map with layer selection",graphID:"geoHubMapWithLayerSelection",availableInGriddedGraph:!1,geoHubMapPresentation:!0,availableInWideToLongFormat:!1},{graphName:"Pareto chart",graphID:"paretoChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Scatter plot",graphID:"scatterPlot",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Slope chart",graphID:"slopeChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Stacked area chart/area chart",graphID:"stackedAreaChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Statistic card",graphID:"statCard",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Strip chart",graphID:"stripChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Tree map",graphID:"treeMap",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!0},{graphName:"Unit chart",graphID:"unitChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!0},{graphName:"Sankey chart",graphID:"sankeyChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Data cards list",graphID:"dataCards",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Radar chart",graphID:"radarChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1}];exports.graphList=a;
2
- //# sourceMappingURL=getGraphList-gf02xgT2.cjs.map
1
+ "use strict";const a=[{graphName:"Bar graph",graphID:"barChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!0},{graphName:"Stacked bar graph",graphID:"stackedBarChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Grouped bar graph",graphID:"groupedBarChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Bee swarm chart",graphID:"beeSwarmChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Butterfly chart",graphID:"butterflyChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Bullet chart",graphID:"bulletChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Circle packing",graphID:"circlePacking",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!0},{graphName:"Data table",graphID:"dataTable",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Pie/donut chart",graphID:"donutChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!0},{graphName:"Dumbbell chart",graphID:"dumbbellChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Heat map",graphID:"heatMap",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Histogram",graphID:"histogram",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Line chart",graphID:"lineChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Multi-line chart",graphID:"multiLineChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Multi-line chart alternative",graphID:"multiLineAltChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Difference line chart",graphID:"differenceLineChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Dual-axes line chart",graphID:"dualAxisLineChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Line chart with interval",graphID:"lineChartWithConfidenceInterval",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Spark line",graphID:"sparkLine",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Choropleth map",graphID:"choroplethMap",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Three-D globe",graphID:"threeDGlobe",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Bi-variate choropleth map",graphID:"biVariateChoroplethMap",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Dot density map",graphID:"dotDensityMap",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Hybrid map (choropleth + dot density)",graphID:"hybridMap",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"GeoHub map with comparison",graphID:"geoHubCompareMap",availableInGriddedGraph:!1,geoHubMapPresentation:!0,availableInWideToLongFormat:!1},{graphName:"GeoHub map",graphID:"geoHubMap",availableInGriddedGraph:!1,geoHubMapPresentation:!0,availableInWideToLongFormat:!1},{graphName:"GeoHub map with layer selection",graphID:"geoHubMapWithLayerSelection",availableInGriddedGraph:!1,geoHubMapPresentation:!0,availableInWideToLongFormat:!1},{graphName:"Pareto chart",graphID:"paretoChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Scatter plot",graphID:"scatterPlot",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Slope chart",graphID:"slopeChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Stacked area chart/area chart",graphID:"stackedAreaChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Statistic card",graphID:"statCard",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Strip chart",graphID:"stripChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Tree map",graphID:"treeMap",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!0},{graphName:"Unit chart",graphID:"unitChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!0},{graphName:"Sankey chart",graphID:"sankeyChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Data cards list",graphID:"dataCards",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1},{graphName:"Radar chart",graphID:"radarChart",availableInGriddedGraph:!0,geoHubMapPresentation:!1,availableInWideToLongFormat:!1}];exports.graphList=a;
2
+ //# sourceMappingURL=getGraphList-CA17dvFB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGraphList-CA17dvFB.cjs","sources":["../src/Utils/getGraphList.ts"],"sourcesContent":["export const graphList = [\r\n {\r\n graphName: 'Bar graph',\r\n graphID: 'barChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Stacked bar graph',\r\n graphID: 'stackedBarChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Grouped bar graph',\r\n graphID: 'groupedBarChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Bee swarm chart',\r\n graphID: 'beeSwarmChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Butterfly chart',\r\n graphID: 'butterflyChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Bullet chart',\r\n graphID: 'bulletChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Circle packing',\r\n graphID: 'circlePacking',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Data table',\r\n graphID: 'dataTable',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Pie/donut chart',\r\n graphID: 'donutChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Dumbbell chart',\r\n graphID: 'dumbbellChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Heat map',\r\n graphID: 'heatMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Histogram',\r\n graphID: 'histogram',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Line chart',\r\n graphID: 'lineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Multi-line chart',\r\n graphID: 'multiLineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Multi-line chart alternative',\r\n graphID: 'multiLineAltChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Difference line chart',\r\n graphID: 'differenceLineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Dual-axes line chart',\r\n graphID: 'dualAxisLineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Line chart with interval',\r\n graphID: 'lineChartWithConfidenceInterval',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Spark line',\r\n graphID: 'sparkLine',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Choropleth map',\r\n graphID: 'choroplethMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Three-D globe',\r\n graphID: 'threeDGlobe',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Bi-variate choropleth map',\r\n graphID: 'biVariateChoroplethMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Dot density map',\r\n graphID: 'dotDensityMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Hybrid map (choropleth + dot density)',\r\n graphID: 'hybridMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'GeoHub map with comparison',\r\n graphID: 'geoHubCompareMap',\r\n availableInGriddedGraph: false,\r\n geoHubMapPresentation: true,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'GeoHub map',\r\n graphID: 'geoHubMap',\r\n availableInGriddedGraph: false,\r\n geoHubMapPresentation: true,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'GeoHub map with layer selection',\r\n graphID: 'geoHubMapWithLayerSelection',\r\n availableInGriddedGraph: false,\r\n geoHubMapPresentation: true,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Pareto chart',\r\n graphID: 'paretoChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Scatter plot',\r\n graphID: 'scatterPlot',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Slope chart',\r\n graphID: 'slopeChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Stacked area chart/area chart',\r\n graphID: 'stackedAreaChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Statistic card',\r\n graphID: 'statCard',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Strip chart',\r\n graphID: 'stripChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Tree map',\r\n graphID: 'treeMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Unit chart',\r\n graphID: 'unitChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Sankey chart',\r\n graphID: 'sankeyChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Data cards list',\r\n graphID: 'dataCards',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Radar chart',\r\n graphID: 'radarChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n];\r\n"],"names":["graphList","graphName","graphID","availableInGriddedGraph","geoHubMapPresentation","availableInWideToLongFormat"],"mappings":"aAAO,MAAMA,EAAY,CACvB,CACEC,UAAW,YACXC,QAAS,WACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,oBACXC,QAAS,kBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,oBACXC,QAAS,kBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,kBACXC,QAAS,gBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,kBACXC,QAAS,iBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,eACXC,QAAS,cACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,iBACXC,QAAS,gBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,aACXC,QAAS,YACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,kBACXC,QAAS,aACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,iBACXC,QAAS,gBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,WACXC,QAAS,UACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,YACXC,QAAS,YACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,aACXC,QAAS,YACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,mBACXC,QAAS,iBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,+BACXC,QAAS,oBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,wBACXC,QAAS,sBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,uBACXC,QAAS,oBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,2BACXC,QAAS,kCACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,aACXC,QAAS,YACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,iBACXC,QAAS,gBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,gBACXC,QAAS,cACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,4BACXC,QAAS,yBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,kBACXC,QAAS,gBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,wCACXC,QAAS,YACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,6BACXC,QAAS,mBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,aACXC,QAAS,YACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,kCACXC,QAAS,8BACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,eACXC,QAAS,cACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,eACXC,QAAS,cACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,cACXC,QAAS,aACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,gCACXC,QAAS,mBACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,iBACXC,QAAS,WACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,cACXC,QAAS,aACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,WACXC,QAAS,UACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,aACXC,QAAS,YACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,eACXC,QAAS,cACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,kBACXC,QAAS,YACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,EACA,CACEJ,UAAW,cACXC,QAAS,aACTC,wBAAyB,GACzBC,sBAAuB,GACvBC,4BAA6B,EAC/B,CAAC"}
@@ -136,6 +136,12 @@ const a = [{
136
136
  availableInGriddedGraph: !0,
137
137
  geoHubMapPresentation: !1,
138
138
  availableInWideToLongFormat: !1
139
+ }, {
140
+ graphName: "Hybrid map (choropleth + dot density)",
141
+ graphID: "hybridMap",
142
+ availableInGriddedGraph: !0,
143
+ geoHubMapPresentation: !1,
144
+ availableInWideToLongFormat: !1
139
145
  }, {
140
146
  graphName: "GeoHub map with comparison",
141
147
  graphID: "geoHubCompareMap",
@@ -224,4 +230,4 @@ const a = [{
224
230
  export {
225
231
  a as g
226
232
  };
227
- //# sourceMappingURL=getGraphList-BpEWn1Tk.js.map
233
+ //# sourceMappingURL=getGraphList-Dxwo9TDb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getGraphList-BpEWn1Tk.js","sources":["../src/Utils/getGraphList.ts"],"sourcesContent":["export const graphList = [\r\n {\r\n graphName: 'Bar graph',\r\n graphID: 'barChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Stacked bar graph',\r\n graphID: 'stackedBarChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Grouped bar graph',\r\n graphID: 'groupedBarChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Bee swarm chart',\r\n graphID: 'beeSwarmChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Butterfly chart',\r\n graphID: 'butterflyChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Bullet chart',\r\n graphID: 'bulletChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Circle packing',\r\n graphID: 'circlePacking',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Data table',\r\n graphID: 'dataTable',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Pie/donut chart',\r\n graphID: 'donutChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Dumbbell chart',\r\n graphID: 'dumbbellChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Heat map',\r\n graphID: 'heatMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Histogram',\r\n graphID: 'histogram',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Line chart',\r\n graphID: 'lineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Multi-line chart',\r\n graphID: 'multiLineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Multi-line chart alternative',\r\n graphID: 'multiLineAltChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Difference line chart',\r\n graphID: 'differenceLineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Dual-axes line chart',\r\n graphID: 'dualAxisLineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Line chart with interval',\r\n graphID: 'lineChartWithConfidenceInterval',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Spark line',\r\n graphID: 'sparkLine',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Choropleth map',\r\n graphID: 'choroplethMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Three-D globe',\r\n graphID: 'threeDGlobe',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Bi-variate choropleth map',\r\n graphID: 'biVariateChoroplethMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Dot density map',\r\n graphID: 'dotDensityMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'GeoHub map with comparison',\r\n graphID: 'geoHubCompareMap',\r\n availableInGriddedGraph: false,\r\n geoHubMapPresentation: true,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'GeoHub map',\r\n graphID: 'geoHubMap',\r\n availableInGriddedGraph: false,\r\n geoHubMapPresentation: true,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'GeoHub map with layer selection',\r\n graphID: 'geoHubMapWithLayerSelection',\r\n availableInGriddedGraph: false,\r\n geoHubMapPresentation: true,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Pareto chart',\r\n graphID: 'paretoChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Scatter plot',\r\n graphID: 'scatterPlot',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Slope chart',\r\n graphID: 'slopeChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Stacked area chart/area chart',\r\n graphID: 'stackedAreaChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Statistic card',\r\n graphID: 'statCard',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Strip chart',\r\n graphID: 'stripChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Tree map',\r\n graphID: 'treeMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Unit chart',\r\n graphID: 'unitChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Sankey chart',\r\n graphID: 'sankeyChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Data cards list',\r\n graphID: 'dataCards',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Radar chart',\r\n graphID: 'radarChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n];\r\n"],"names":["graphList","graphName","graphID","availableInGriddedGraph","geoHubMapPresentation","availableInWideToLongFormat"],"mappings":"AAAO,MAAMA,IAAY,CACvB;AAAA,EACEC,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,GACA;AAAA,EACEJ,WAAW;AAAA,EACXC,SAAS;AAAA,EACTC,yBAAyB;AAAA,EACzBC,uBAAuB;AAAA,EACvBC,6BAA6B;AAC/B,CAAC;"}
1
+ {"version":3,"file":"getGraphList-Dxwo9TDb.js","sources":["../src/Utils/getGraphList.ts"],"sourcesContent":["export const graphList = [\r\n {\r\n graphName: 'Bar graph',\r\n graphID: 'barChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Stacked bar graph',\r\n graphID: 'stackedBarChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Grouped bar graph',\r\n graphID: 'groupedBarChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Bee swarm chart',\r\n graphID: 'beeSwarmChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Butterfly chart',\r\n graphID: 'butterflyChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Bullet chart',\r\n graphID: 'bulletChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Circle packing',\r\n graphID: 'circlePacking',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Data table',\r\n graphID: 'dataTable',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Pie/donut chart',\r\n graphID: 'donutChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Dumbbell chart',\r\n graphID: 'dumbbellChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Heat map',\r\n graphID: 'heatMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Histogram',\r\n graphID: 'histogram',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Line chart',\r\n graphID: 'lineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Multi-line chart',\r\n graphID: 'multiLineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Multi-line chart alternative',\r\n graphID: 'multiLineAltChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Difference line chart',\r\n graphID: 'differenceLineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Dual-axes line chart',\r\n graphID: 'dualAxisLineChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Line chart with interval',\r\n graphID: 'lineChartWithConfidenceInterval',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Spark line',\r\n graphID: 'sparkLine',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Choropleth map',\r\n graphID: 'choroplethMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Three-D globe',\r\n graphID: 'threeDGlobe',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Bi-variate choropleth map',\r\n graphID: 'biVariateChoroplethMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Dot density map',\r\n graphID: 'dotDensityMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Hybrid map (choropleth + dot density)',\r\n graphID: 'hybridMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'GeoHub map with comparison',\r\n graphID: 'geoHubCompareMap',\r\n availableInGriddedGraph: false,\r\n geoHubMapPresentation: true,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'GeoHub map',\r\n graphID: 'geoHubMap',\r\n availableInGriddedGraph: false,\r\n geoHubMapPresentation: true,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'GeoHub map with layer selection',\r\n graphID: 'geoHubMapWithLayerSelection',\r\n availableInGriddedGraph: false,\r\n geoHubMapPresentation: true,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Pareto chart',\r\n graphID: 'paretoChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Scatter plot',\r\n graphID: 'scatterPlot',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Slope chart',\r\n graphID: 'slopeChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Stacked area chart/area chart',\r\n graphID: 'stackedAreaChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Statistic card',\r\n graphID: 'statCard',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Strip chart',\r\n graphID: 'stripChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Tree map',\r\n graphID: 'treeMap',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Unit chart',\r\n graphID: 'unitChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: true,\r\n },\r\n {\r\n graphName: 'Sankey chart',\r\n graphID: 'sankeyChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Data cards list',\r\n graphID: 'dataCards',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n {\r\n graphName: 'Radar chart',\r\n graphID: 'radarChart',\r\n availableInGriddedGraph: true,\r\n geoHubMapPresentation: false,\r\n availableInWideToLongFormat: false,\r\n },\r\n];\r\n"],"names":["graphList","graphName","graphID","availableInGriddedGraph","geoHubMapPresentation","availableInWideToLongFormat"],"mappings":"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"}