@undp/data-viz 2.0.0 → 2.0.1

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 (112) hide show
  1. package/dist/BarGraph.cjs +1 -1
  2. package/dist/BarGraph.cjs.map +1 -1
  3. package/dist/BarGraph.js +957 -957
  4. package/dist/BarGraph.js.map +1 -1
  5. package/dist/BasicStatCard.cjs +1 -1
  6. package/dist/BasicStatCard.cjs.map +1 -1
  7. package/dist/BasicStatCard.js +45 -47
  8. package/dist/BasicStatCard.js.map +1 -1
  9. package/dist/BeeSwarmChart.cjs +1 -1
  10. package/dist/BeeSwarmChart.cjs.map +1 -1
  11. package/dist/BeeSwarmChart.js +76 -56
  12. package/dist/BeeSwarmChart.js.map +1 -1
  13. package/dist/BiVariateChoroplethMap.cjs +1 -1
  14. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  15. package/dist/BiVariateChoroplethMap.js +157 -157
  16. package/dist/BiVariateChoroplethMap.js.map +1 -1
  17. package/dist/ChoroplethMap.cjs +1 -1
  18. package/dist/ChoroplethMap.cjs.map +1 -1
  19. package/dist/ChoroplethMap.js +185 -185
  20. package/dist/ChoroplethMap.js.map +1 -1
  21. package/dist/CirclePackingGraph.cjs +1 -1
  22. package/dist/CirclePackingGraph.js +2 -4
  23. package/dist/CirclePackingGraph.js.map +1 -1
  24. package/dist/Data/barChart.json +70 -0
  25. package/dist/Data/basic.csv +20 -0
  26. package/dist/DifferenceLineChart.cjs +1 -1
  27. package/dist/DifferenceLineChart.cjs.map +1 -1
  28. package/dist/DifferenceLineChart.js +224 -223
  29. package/dist/DifferenceLineChart.js.map +1 -1
  30. package/dist/DotDensityMap.cjs +1 -1
  31. package/dist/DotDensityMap.cjs.map +1 -1
  32. package/dist/DotDensityMap.js +156 -156
  33. package/dist/DotDensityMap.js.map +1 -1
  34. package/dist/DualAxisLineChart.cjs +1 -1
  35. package/dist/DualAxisLineChart.cjs.map +1 -1
  36. package/dist/DualAxisLineChart.js +326 -325
  37. package/dist/DualAxisLineChart.js.map +1 -1
  38. package/dist/GeoHubCompareMaps.cjs +1 -1
  39. package/dist/GeoHubCompareMaps.cjs.map +1 -1
  40. package/dist/GeoHubCompareMaps.js +183 -183
  41. package/dist/GeoHubCompareMaps.js.map +1 -1
  42. package/dist/{GraphEl-DzRon4cb.js → GraphEl-BZne2JIx.js} +3 -3
  43. package/dist/{GraphEl-DzRon4cb.js.map → GraphEl-BZne2JIx.js.map} +1 -1
  44. package/dist/{GraphEl-BkyLYXG5.cjs → GraphEl-D5MUfp45.cjs} +2 -2
  45. package/dist/{GraphEl-BkyLYXG5.cjs.map → GraphEl-D5MUfp45.cjs.map} +1 -1
  46. package/dist/GriddedGraphs.cjs +1 -1
  47. package/dist/GriddedGraphs.js +1 -1
  48. package/dist/Histogram.cjs +1 -1
  49. package/dist/Histogram.js +1 -1
  50. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  51. package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
  52. package/dist/LineChartWithConfidenceInterval.js +133 -132
  53. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  54. package/dist/MultiGraphDashboard.cjs +1 -1
  55. package/dist/MultiGraphDashboard.cjs.map +1 -1
  56. package/dist/MultiGraphDashboard.js +52 -50
  57. package/dist/MultiGraphDashboard.js.map +1 -1
  58. package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
  59. package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +1 -1
  60. package/dist/MultiGraphDashboardWideToLongFormat.js +11 -9
  61. package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -1
  62. package/dist/MultiLineAltChart.cjs +1 -1
  63. package/dist/MultiLineAltChart.cjs.map +1 -1
  64. package/dist/MultiLineAltChart.js +149 -148
  65. package/dist/MultiLineAltChart.js.map +1 -1
  66. package/dist/MultiLineChart.cjs +1 -1
  67. package/dist/MultiLineChart.cjs.map +1 -1
  68. package/dist/MultiLineChart.js +182 -181
  69. package/dist/MultiLineChart.js.map +1 -1
  70. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  71. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
  72. package/dist/PerformanceIntensiveMultiGraphDashboard.js +14 -12
  73. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
  74. package/dist/SimpleLineChart.cjs +1 -1
  75. package/dist/SimpleLineChart.cjs.map +1 -1
  76. package/dist/SimpleLineChart.js +123 -122
  77. package/dist/SimpleLineChart.js.map +1 -1
  78. package/dist/SingleGraphDashboard.cjs +1 -1
  79. package/dist/SingleGraphDashboard.cjs.map +1 -1
  80. package/dist/SingleGraphDashboard.js +83 -79
  81. package/dist/SingleGraphDashboard.js.map +1 -1
  82. package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
  83. package/dist/SingleGraphDashboardGeoHubMaps.cjs.map +1 -1
  84. package/dist/SingleGraphDashboardGeoHubMaps.js +49 -45
  85. package/dist/SingleGraphDashboardGeoHubMaps.js.map +1 -1
  86. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  87. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  88. package/dist/SingleGraphDashboardThreeDGraphs.js +56 -52
  89. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  90. package/dist/StatCardFromData.cjs +1 -1
  91. package/dist/StatCardFromData.cjs.map +1 -1
  92. package/dist/StatCardFromData.js +44 -46
  93. package/dist/StatCardFromData.js.map +1 -1
  94. package/dist/ThreeDGlobe.cjs +1 -1
  95. package/dist/ThreeDGlobe.cjs.map +1 -1
  96. package/dist/ThreeDGlobe.js +134 -134
  97. package/dist/ThreeDGlobe.js.map +1 -1
  98. package/dist/getNoOfTicks-C_1CFXv_.cjs +2 -0
  99. package/dist/getNoOfTicks-C_1CFXv_.cjs.map +1 -0
  100. package/dist/getNoOfTicks-CpmRjcRF.js +7 -0
  101. package/dist/getNoOfTicks-CpmRjcRF.js.map +1 -0
  102. package/dist/index-C6LorfZ-.cjs +2 -0
  103. package/dist/index-C6LorfZ-.cjs.map +1 -0
  104. package/dist/index-Ceppbd8C.js +342 -0
  105. package/dist/index-Ceppbd8C.js.map +1 -0
  106. package/dist/index.cjs +1 -1
  107. package/dist/index.js +1 -1
  108. package/package.json +1 -1
  109. package/dist/index-DoY3Ga3W.cjs +0 -2
  110. package/dist/index-DoY3Ga3W.cjs.map +0 -1
  111. package/dist/index-leTnKT2q.js +0 -329
  112. package/dist/index-leTnKT2q.js.map +0 -1
@@ -2,7 +2,7 @@ import { j as s } from "./index-CHPV5EwG-Curnpaqc.js";
2
2
  import { useState as S, useEffectEvent as M, useEffect as y } from "react";
3
3
  import { i as I } from "./index-BuwmuDFJ.js";
4
4
  import { f as D } from "./index-EArKRVKg.js";
5
- import { j as G, D as H } from "./DropdownSelect-BbdPQa2k.js";
5
+ import { j as H, D as G } from "./DropdownSelect-BbdPQa2k.js";
6
6
  import { b as q } from "./checkIfMultiple-Y9iKaV_u.js";
7
7
  import { SingleGraphDashboard as J } from "./SingleGraphDashboard.js";
8
8
  import { SingleGraphDashboardThreeDGraphs as B } from "./SingleGraphDashboardThreeDGraphs.js";
@@ -21,7 +21,7 @@ function xa(f) {
21
21
  dataSettings: t,
22
22
  filters: h,
23
23
  debugMode: l,
24
- theme: p = "light",
24
+ theme: g = "light",
25
25
  readableHeader: C,
26
26
  dataFilters: F,
27
27
  noOfFiltersPerRow: b = 4,
@@ -29,7 +29,7 @@ function xa(f) {
29
29
  uiMode: d = "normal",
30
30
  graphStyles: v,
31
31
  graphClassNames: x
32
- } = f, [g, O] = S(void 0), [u, W] = S(void 0), [n, V] = S([]), z = ["threeDGlobe"], L = ["geoHubCompareMap", "geoHubMap", "geoHubMapWithLayerSelection"], N = {
32
+ } = f, [p, O] = S(void 0), [u, W] = S(void 0), [n, V] = S([]), z = ["threeDGlobe"], L = ["geoHubCompareMap", "geoHubMap", "geoHubMapWithLayerSelection"], N = {
33
33
  ignoreCase: !0,
34
34
  ignoreAccents: !0,
35
35
  trim: !0
@@ -76,7 +76,7 @@ function xa(f) {
76
76
  value: i
77
77
  } : o));
78
78
  };
79
- return /* @__PURE__ */ s.jsxs(ta, { id: w, "aria-label": "This is a dashboard", backgroundColor: r.backgroundColor ?? !1, theme: p || "light", language: r.language || "en", padding: r.padding, children: [
79
+ return /* @__PURE__ */ s.jsxs(ta, { id: w, "aria-label": "This is a dashboard", backgroundColor: r.backgroundColor ?? !1, theme: g || "light", language: r.language || "en", padding: r.padding, children: [
80
80
  r.title || r.description ? /* @__PURE__ */ s.jsx(ea, { graphTitle: r.title, graphDescription: r.description, isDashboard: !0 }) : null,
81
81
  /* @__PURE__ */ s.jsxs("div", { className: "flex gap-4 flex-wrap", children: [
82
82
  n.length !== 0 ? /* @__PURE__ */ s.jsx("div", { className: "flex-grow flex-shrink-0", style: {
@@ -88,10 +88,10 @@ function xa(f) {
88
88
  minWidth: "240px"
89
89
  }, children: [
90
90
  /* @__PURE__ */ s.jsx(q, { className: "mb-2", children: e.label }),
91
- e.singleSelect ? /* @__PURE__ */ s.jsx(G, { options: e.availableValues, isClearable: e.clearable === void 0 ? !0 : e.clearable, size: "sm", variant: d, isMulti: !1, isSearchable: !0, filterOption: H(N), onChange: (a) => {
91
+ e.singleSelect ? /* @__PURE__ */ s.jsx(H, { options: e.availableValues, isClearable: e.clearable === void 0 ? !0 : e.clearable, size: "sm", variant: d, isMulti: !1, isSearchable: !0, filterOption: G(N), onChange: (a) => {
92
92
  m(e.filter, a);
93
93
  }, defaultValue: e.defaultValue, value: e.value }) : /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
94
- /* @__PURE__ */ s.jsx(G, { options: e.availableValues, isMulti: !0, size: "sm", isClearable: e.clearable === void 0 ? !0 : e.clearable, variant: d, isSearchable: !0, controlShouldRenderValue: !0, closeMenuOnSelect: !1, hideSelectedOptions: !1, filterOption: H(N), onChange: (a) => {
94
+ /* @__PURE__ */ s.jsx(H, { options: e.availableValues, isMulti: !0, size: "sm", isClearable: e.clearable === void 0 ? !0 : e.clearable, variant: d, isSearchable: !0, controlShouldRenderValue: !0, closeMenuOnSelect: !1, hideSelectedOptions: !1, filterOption: G(N), onChange: (a) => {
95
95
  m(e.filter, a);
96
96
  }, value: e.value, defaultValue: e.defaultValue }),
97
97
  e.allowSelectAll ? /* @__PURE__ */ s.jsx("button", { type: "button", className: "bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400", onClick: () => {
@@ -103,22 +103,24 @@ function xa(f) {
103
103
  width: j === "side" ? "calc(100% - 280px - 1rem)" : "100%"
104
104
  }, children: r.rows.map((e, i) => /* @__PURE__ */ s.jsx("div", { className: "flex flex-wrap items-stretch gap-4 w-full h-auto", style: {
105
105
  minHeight: `${e.height || 0}px`
106
- }, children: e.columns.map((a, o) => /* @__PURE__ */ s.jsx("div", { className: "flex bg-transparent h-inherit grow min-w-60", style: {
106
+ }, children: e.columns.map((a, o) => /* @__PURE__ */ s.jsx("div", { className: "flex bg-transparent grow min-w-60", style: {
107
107
  width: `calc(${100 * (a.columnWidth || 1) / T(e.columns)}% - ${(T(e.columns) - (a.columnWidth || 1)) / T(e.columns)}rem)`,
108
108
  minHeight: "inherit"
109
109
  }, children: z.includes(a.graphType) ? /* @__PURE__ */ s.jsx(B, { graphType: a.graphType, dataFilters: a.dataFilters, uiMode: d, graphSettings: {
110
110
  ...a.settings || {},
111
111
  width: void 0,
112
112
  height: void 0,
113
+ minHeight: void 0,
114
+ relativeHeight: void 0,
113
115
  resetSelectionOnDoubleClick: a.attachedFilter ? !1 : a.settings?.resetSelectionOnDoubleClick,
114
116
  styles: a.settings?.styles || v,
115
117
  classNames: a.settings?.classNames || x,
116
118
  radius: a.graphType === "donutChart" ? void 0 : a.settings?.radius,
117
119
  size: a.graphType === "unitChart" ? a.settings?.size : void 0,
118
120
  language: a.settings?.language || r.language,
119
- theme: a.settings?.theme || p
121
+ theme: a.settings?.theme || g
120
122
  }, dataSettings: {
121
- data: g ? k(g, F || []) : void 0
123
+ data: p ? k(p, F || []) : void 0
122
124
  }, dataTransform: a.dataTransform, dataSelectionOptions: a.dataSelectionOptions, advancedDataSelectionOptions: a.advancedDataSelectionOptions, graphDataConfiguration: a.graphDataConfiguration, debugMode: l, readableHeader: C || [] }) : L.includes(a.graphType) ? /* @__PURE__ */ s.jsx(K, { graphType: a.graphType, uiMode: d, graphSettings: {
123
125
  ...a.settings || {},
124
126
  width: void 0,
@@ -129,7 +131,7 @@ function xa(f) {
129
131
  radius: a.graphType === "donutChart" ? void 0 : a.settings?.radius,
130
132
  size: a.graphType === "unitChart" ? a.settings?.size : void 0,
131
133
  language: a.settings?.language || r.language,
132
- theme: a.settings?.theme || p
134
+ theme: a.settings?.theme || g
133
135
  }, debugMode: l }) : /* @__PURE__ */ s.jsx(J, { graphType: a.graphType, dataFilters: a.dataFilters, uiMode: d, graphSettings: {
134
136
  ...a.settings || {},
135
137
  width: void 0,
@@ -140,9 +142,9 @@ function xa(f) {
140
142
  radius: a.graphType === "donutChart" ? void 0 : a.settings?.radius,
141
143
  size: a.graphType === "unitChart" ? a.settings?.size : void 0,
142
144
  language: a.settings?.language || r.language,
143
- theme: a.settings?.theme || p
145
+ theme: a.settings?.theme || g
144
146
  }, dataSettings: {
145
- data: g ? k(g, F || []) : void 0
147
+ data: p ? k(p, F || []) : void 0
146
148
  }, updateFilters: a.attachedFilter && ia.indexOf(a.graphType) !== -1 && n.findIndex((c) => c.filter === a.attachedFilter) !== -1 ? (c) => {
147
149
  const U = n.findIndex((E) => E.filter === a.attachedFilter), $ = c ? n[U].singleSelect ? {
148
150
  value: c,
@@ -1 +1 @@
1
- {"version":3,"file":"PerformanceIntensiveMultiGraphDashboard.js","sources":["../src/Components/Dashboard/PerformanceIntensive/MultiGraphDashboard.tsx"],"sourcesContent":["import { useEffect, useEffectEvent, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { Label } from '@undp/design-system-react/Label';\r\n\r\nimport { SingleGraphDashboard } from '../SingleGraphDashboard';\r\n\r\nimport { SingleGraphDashboardThreeDGraphs } from './SingleGraphDashboardThreeDGraphs';\r\nimport { SingleGraphDashboardGeoHubMaps } from './SingleGraphDashboardGeoHubMaps';\r\n\r\nimport {\r\n ClassNameObject,\r\n PerformanceIntensiveDashboardLayoutDataType,\r\n DataFilterDataType,\r\n DataSettingsDataType,\r\n FilterSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphType,\r\n StyleObject,\r\n PerformanceIntensiveDashboardColumnDataType,\r\n ThreeDGraphType,\r\n GeoHubGraphType,\r\n} from '@/Types';\r\nimport {\r\n fetchAndParseCSV,\r\n fetchAndParseJSON,\r\n fetchAndParseMultipleDataSources,\r\n fetchAndTransformDataFromAPI,\r\n} from '@/Utils/fetchAndParseData';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { transformColumnsToArray } from '@/Utils/transformData/transformColumnsToArray';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\nimport { GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n dashboardID?: string;\r\n dashboardLayout: PerformanceIntensiveDashboardLayoutDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n noOfFiltersPerRow?: number;\r\n dataFilters?: DataFilterDataType[];\r\n debugMode?: boolean;\r\n theme?: 'dark' | 'light';\r\n filterPosition?: 'top' | 'side';\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n uiMode?: 'light' | 'normal';\r\n graphStyles?: StyleObject;\r\n graphClassNames?: ClassNameObject;\r\n}\r\n\r\nconst TotalWidth = (columns: PerformanceIntensiveDashboardColumnDataType[]) => {\r\n const columnWidth = columns.map(d => d.columnWidth || 1);\r\n const sum = columnWidth.reduce((acc, cur) => acc + cur, 0);\r\n return sum;\r\n};\r\n\r\nconst GraphWithAttachedFilter: GraphType[] = [\r\n 'barChart',\r\n 'choroplethMap',\r\n 'biVariateChoroplethMap',\r\n 'circlePacking',\r\n 'treeMap',\r\n];\r\n\r\nexport function PerformanceIntensiveMultiGraphDashboard(props: Props) {\r\n const {\r\n dashboardID,\r\n dashboardLayout,\r\n dataSettings,\r\n filters,\r\n debugMode,\r\n theme = 'light',\r\n readableHeader,\r\n dataFilters,\r\n noOfFiltersPerRow = 4,\r\n filterPosition,\r\n uiMode = 'normal',\r\n graphStyles,\r\n graphClassNames,\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [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 [filterSettings, setFilterSettings] = useState<FilterSettingsDataType[]>([]);\r\n\r\n const threeDGraphs = ['threeDGlobe'];\r\n const geoHubMaps = ['geoHubCompareMap', 'geoHubMap', 'geoHubMapWithLayerSelection'];\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 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 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]);\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 return (\r\n <GraphContainer\r\n id={dashboardID}\r\n aria-label='This is a dashboard'\r\n backgroundColor={dashboardLayout.backgroundColor ?? false}\r\n theme={theme || 'light'}\r\n language={dashboardLayout.language || 'en'}\r\n padding={dashboardLayout.padding}\r\n >\r\n {dashboardLayout.title || dashboardLayout.description ? (\r\n <GraphHeader\r\n graphTitle={dashboardLayout.title}\r\n graphDescription={dashboardLayout.description}\r\n isDashboard\r\n />\r\n ) : null}\r\n <div className='flex gap-4 flex-wrap'>\r\n {filterSettings.length !== 0 ? (\r\n <div\r\n className='flex-grow flex-shrink-0'\r\n style={{\r\n width: filterPosition === 'side' ? '280px' : '100%',\r\n }}\r\n >\r\n <div className='flex flex-wrap items-start gap-4 w-full sticky top-4'>\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: 1,\r\n flexShrink: 0,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label}</Label>\r\n {d.singleSelect ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n size='sm'\r\n variant={uiMode}\r\n isMulti={false}\r\n isSearchable\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n defaultValue={d.defaultValue}\r\n value={d.value}\r\n />\r\n ) : (\r\n <>\r\n <DropdownSelect\r\n options={d.availableValues}\r\n isMulti\r\n size='sm'\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n variant={uiMode}\r\n isSearchable\r\n controlShouldRenderValue\r\n closeMenuOnSelect={false}\r\n hideSelectedOptions={false}\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n {d.allowSelectAll ? (\r\n <button\r\n type='button'\r\n className='bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400'\r\n onClick={() => {\r\n handleFilterChange(d.filter, d.availableValues);\r\n }}\r\n >\r\n Select all options\r\n </button>\r\n ) : null}\r\n </>\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n ) : null}\r\n <div\r\n className='flex flex-wrap gap-4 flex-grow flex-shrink-0 min-w-[280px]'\r\n style={{\r\n width: filterPosition === 'side' ? 'calc(100% - 280px - 1rem)' : '100%',\r\n }}\r\n >\r\n {dashboardLayout.rows.map((d, i) => (\r\n <div\r\n key={i}\r\n className='flex flex-wrap items-stretch gap-4 w-full h-auto'\r\n style={{\r\n minHeight: `${d.height || 0}px`,\r\n }}\r\n >\r\n {d.columns.map((el, j) => (\r\n <div\r\n key={j}\r\n className='flex bg-transparent h-inherit grow min-w-60'\r\n style={{\r\n width: `calc(${(100 * (el.columnWidth || 1)) / TotalWidth(d.columns)}% - ${\r\n (TotalWidth(d.columns) - (el.columnWidth || 1)) / TotalWidth(d.columns)\r\n }rem)`,\r\n minHeight: 'inherit',\r\n }}\r\n >\r\n {threeDGraphs.includes(el.graphType) ? (\r\n <SingleGraphDashboardThreeDGraphs\r\n graphType={el.graphType as ThreeDGraphType}\r\n dataFilters={el.dataFilters}\r\n uiMode={uiMode}\r\n graphSettings={{\r\n ...(el.settings || {}),\r\n width: undefined,\r\n height: undefined,\r\n resetSelectionOnDoubleClick: el.attachedFilter\r\n ? false\r\n : el.settings?.resetSelectionOnDoubleClick,\r\n styles: el.settings?.styles || graphStyles,\r\n classNames: el.settings?.classNames || graphClassNames,\r\n radius: el.graphType === 'donutChart' ? undefined : el.settings?.radius,\r\n size: el.graphType === 'unitChart' ? el.settings?.size : undefined,\r\n language: el.settings?.language || dashboardLayout.language,\r\n theme: el.settings?.theme || theme,\r\n }}\r\n dataSettings={{\r\n data: filteredData\r\n ? filterData(filteredData, dataFilters || [])\r\n : undefined,\r\n }}\r\n dataTransform={el.dataTransform}\r\n dataSelectionOptions={el.dataSelectionOptions}\r\n advancedDataSelectionOptions={el.advancedDataSelectionOptions}\r\n graphDataConfiguration={el.graphDataConfiguration}\r\n debugMode={debugMode}\r\n readableHeader={readableHeader || []}\r\n />\r\n ) : geoHubMaps.includes(el.graphType) ? (\r\n <SingleGraphDashboardGeoHubMaps\r\n graphType={el.graphType as GeoHubGraphType}\r\n uiMode={uiMode}\r\n graphSettings={{\r\n ...(el.settings || {}),\r\n width: undefined,\r\n height: undefined,\r\n resetSelectionOnDoubleClick: el.attachedFilter\r\n ? false\r\n : el.settings?.resetSelectionOnDoubleClick,\r\n styles: el.settings?.styles || graphStyles,\r\n classNames: el.settings?.classNames || graphClassNames,\r\n radius: el.graphType === 'donutChart' ? undefined : el.settings?.radius,\r\n size: el.graphType === 'unitChart' ? el.settings?.size : undefined,\r\n language: el.settings?.language || dashboardLayout.language,\r\n theme: el.settings?.theme || theme,\r\n }}\r\n debugMode={debugMode}\r\n />\r\n ) : (\r\n <SingleGraphDashboard\r\n graphType={el.graphType as GraphType}\r\n dataFilters={el.dataFilters}\r\n uiMode={uiMode}\r\n graphSettings={{\r\n ...(el.settings || {}),\r\n width: undefined,\r\n height: undefined,\r\n resetSelectionOnDoubleClick: el.attachedFilter\r\n ? false\r\n : el.settings?.resetSelectionOnDoubleClick,\r\n styles: el.settings?.styles || graphStyles,\r\n classNames: el.settings?.classNames || graphClassNames,\r\n radius: el.graphType === 'donutChart' ? undefined : el.settings?.radius,\r\n size: el.graphType === 'unitChart' ? el.settings?.size : undefined,\r\n language: el.settings?.language || dashboardLayout.language,\r\n theme: el.settings?.theme || theme,\r\n }}\r\n dataSettings={{\r\n data: filteredData\r\n ? filterData(filteredData, dataFilters || [])\r\n : undefined,\r\n }}\r\n updateFilters={\r\n el.attachedFilter &&\r\n GraphWithAttachedFilter.indexOf(el.graphType as GraphType) !== -1 &&\r\n filterSettings.findIndex(f => f.filter === el.attachedFilter) !== -1\r\n ? dClicked => {\r\n const indx = filterSettings.findIndex(\r\n f => f.filter === el.attachedFilter,\r\n );\r\n const value = dClicked\r\n ? filterSettings[indx].singleSelect\r\n ? { value: dClicked, label: dClicked }\r\n : [{ value: dClicked, label: dClicked }]\r\n : undefined;\r\n handleFilterChange(el.attachedFilter as string, value);\r\n }\r\n : undefined\r\n }\r\n dataTransform={el.dataTransform}\r\n dataSelectionOptions={el.dataSelectionOptions}\r\n advancedDataSelectionOptions={el.advancedDataSelectionOptions}\r\n graphDataConfiguration={el.graphDataConfiguration}\r\n debugMode={debugMode}\r\n readableHeader={readableHeader || []}\r\n />\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["TotalWidth","columns","map","d","columnWidth","reduce","acc","cur","GraphWithAttachedFilter","PerformanceIntensiveMultiGraphDashboard","props","dashboardID","dashboardLayout","dataSettings","filters","debugMode","theme","readableHeader","dataFilters","noOfFiltersPerRow","filterPosition","uiMode","graphStyles","graphClassNames","filteredData","setFilteredData","useState","undefined","data","setData","filterSettings","setFilterSettings","threeDGraphs","geoHubMaps","filterConfig","ignoreCase","ignoreAccents","trim","updateFiltersEvent","useEffectEvent","filterSettingsTemp","el","filter","column","label","singleSelect","clearable","defaultValue","transformDefaultValue","value","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","width","filteredDataEvent","length","result","item","every","flattenDeep","intersection","useEffect","fetchData","dataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","console","handleFilterChange","values","prev","f","GraphContainer","backgroundColor","language","padding","title","description","jsx","GraphHeader","jsxs","i","flexGrow","flexShrink","minWidth","Label","DropdownSelect","createFilter","Fragment","rows","minHeight","height","j","graphType","SingleGraphDashboardThreeDGraphs","settings","resetSelectionOnDoubleClick","attachedFilter","styles","classNames","radius","size","filterData","dataTransform","dataSelectionOptions","advancedDataSelectionOptions","graphDataConfiguration","SingleGraphDashboardGeoHubMaps","SingleGraphDashboard","indexOf","findIndex","dClicked","indx"],"mappings":";;;;;;;;;;;;;;;AAwDA,MAAMA,IAAaA,CAACC,MACEA,EAAQC,IAAIC,CAAAA,MAAKA,EAAEC,eAAe,CAAC,EAC/BC,OAAO,CAACC,GAAKC,MAAQD,IAAMC,GAAK,CAAC,GAIrDC,KAAuC,CAC3C,YACA,iBACA,0BACA,iBACA,SAAS;AAGJ,SAASC,GAAwCC,GAAc;AACpE,QAAM;AAAA,IACJC,aAAAA;AAAAA,IACAC,iBAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAC,OAAAA,IAAQ;AAAA,IACRC,gBAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,mBAAAA,IAAoB;AAAA,IACpBC,gBAAAA;AAAAA,IACAC,QAAAA,IAAS;AAAA,IACTC,aAAAA;AAAAA,IACAC,iBAAAA;AAAAA,EAAAA,IACEb,GAEE,CAACc,GAAcC,CAAe,IAAIC,EAAcC,MAAS,GAEzD,CAACC,GAAMC,CAAO,IAAIH,EAAcC,MAAS,GACzC,CAACG,GAAgBC,CAAiB,IAAIL,EAAmC,CAAA,CAAE,GAE3EM,IAAe,CAAC,aAAa,GAC7BC,IAAa,CAAC,oBAAoB,aAAa,6BAA6B,GAC5EC,IAAe;AAAA,IACnBC,YAAY;AAAA,IACZC,eAAe;AAAA,IACfC,MAAM;AAAA,EAAA,GAGFC,IAAqBC,EAAe,MAAM;AAC9C,UAAMC,KAAsB1B,KAAW,CAAA,GAAIZ,IAAIuC,CAAAA,OAAO;AAAA,MACpDC,QAAQD,EAAGE;AAAAA,MACXC,OAAOH,EAAGG,SAAS,aAAaH,EAAGE,MAAM;AAAA,MACzCE,cAAcJ,EAAGI;AAAAA,MACjBC,WAAWL,EAAGK;AAAAA,MACdC,cAAcC,EAAsBP,EAAGM,YAAY;AAAA,MACnDE,OAAOD,EAAsBP,EAAGM,YAAY;AAAA,MAC5CG,iBAAiBC,GAAavB,GAAMa,EAAGE,MAAM,EAC1CD,OAAOU,CAAAA,MAAK,CAACX,EAAGY,eAAeC,SAAS,GAAGF,CAAC,EAAE,CAAC,EAC/ClD,IAAIkD,CAAAA,OAAM;AAAA,QAAEH,OAAOG;AAAAA,QAAGR,OAAOQ;AAAAA,MAAAA,EAAI;AAAA,MACpCG,gBAAgBd,EAAGc;AAAAA,MACnBC,OAAOf,EAAGe;AAAAA,IAAAA,EACV;AACFzB,IAAAA,EAAkBS,CAAkB;AAAA,EACtC,CAAC,GACKiB,IAAoBlB,EAAe,MAAM;AAC7C,QAAI,CAACX,KAAQE,EAAe4B,WAAW,KAAmB9B,CAAI;AAAA,SACzD;AAEH,YAAM+B,IAAS/B,EAAKc,OAAO,CAACkB,MAC1B9B,EAAe+B,MAAMnB,CAAAA,MACnBA,EAAOO,SAASa,EAAY,CAACpB,EAAOO,KAAK,CAAC,EAAES,SAAS,IACjDK,EACED,EAAY,CAACF,EAAKlB,EAAOA,MAAM,CAAC,CAAC,GACjCoB,EAAY,CAACpB,EAAOO,KAAK,CAAC,EAAE/C,IAAIuC,CAAAA,MAAMA,EAAGQ,KAAK,CAChD,EAAES,SAAS,IACX,EACN,CACF;AACAjC,MAAAA,EAAgBkC,CAAM;AAAA,IACxB;AAAA,EACF,CAAC;AACDK,EAAAA,EAAU,MAAM;AACdP,IAAAA,EAAAA;AAAAA,EACF,GAAG,CAAC3B,GAAgBF,CAAI,CAAC,GAEzBoC,EAAU,MAAM;AAsCdC,KArCkB,YAAY;AAC5B,UAAI;AACF,cAAMC,IAAerD,EAAasD,UAC9B,OAAOtD,EAAasD,WAAY,WAC9BtD,EAAauD,aAAa,SACxB,MAAMC,EACJxD,EAAasD,SACbtD,EAAayD,gBACbzD,EAAa0D,oBACbxD,CACF,IACAF,EAAauD,aAAa,QACxB,MAAMI,EACJ3D,EAAasD,SACbtD,EAAa4D,YACb5D,EAAayD,gBACbzD,EAAa0D,oBACbxD,CACF,IACA,MAAM2D,EACJ7D,EAAasD,SACbtD,EAAa0D,oBACb1D,EAAayD,gBACbvD,GACAF,EAAa8D,WACb,EACF,IACJ,MAAMC,EACJ/D,EAAasD,SACbtD,EAAagE,aACf,IACF,MAAMC,EAAwBjE,EAAae,MAAMf,EAAayD,cAAc;AAChFzC,QAAAA,EAAQqC,CAAY;AAAA,MACtB,SAASa,GAAO;AACdC,gBAAQD,MAAM,wBAAwBA,CAAK;AAAA,MAC7C;AAAA,IACF,GACAd,GACA3B,EAAAA;AAAAA,EACF,GAAG,CAACzB,GAAcE,CAAS,CAAC,GAE5BiD,EAAU,MAAM;AACd1B,IAAAA,EAAAA;AAAAA,EACF,GAAG,CAACxB,CAAO,CAAC;AAEZ,QAAMmE,IAAqBA,CAACvC,GAAgBwC,MAAgB;AAC1DnD,IAAAA,EAAkBoD,OAAQA,EAAKjF,IAAIkF,CAAAA,MAAMA,EAAE1C,WAAWA,IAAS;AAAA,MAAE,GAAG0C;AAAAA,MAAGnC,OAAOiC;AAAAA,IAAAA,IAAWE,CAAE,CAAC;AAAA,EAC9F;AACA,gCACGC,IAAA,EACC,IAAI1E,GACJ,cAAW,uBACX,iBAAiBC,EAAgB0E,mBAAmB,IACpD,OAAOtE,KAAS,SAChB,UAAUJ,EAAgB2E,YAAY,MACtC,SAAS3E,EAAgB4E,SAExB5E,UAAAA;AAAAA,IAAAA,EAAgB6E,SAAS7E,EAAgB8E,cACxCC,gBAAAA,EAAAA,IAACC,IAAA,EACC,YAAYhF,EAAgB6E,OAC5B,kBAAkB7E,EAAgB8E,aAClC,aAAW,IAAA,IAEX;AAAA,IACJG,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,wBACZ/D,UAAAA;AAAAA,MAAAA,EAAe4B,WAAW,IACzBiC,gBAAAA,EAAAA,IAAC,OAAA,EACC,WAAU,2BACV,OAAO;AAAA,QACLnC,OAAOpC,MAAmB,SAAS,UAAU;AAAA,MAAA,GAG/C,UAAAuE,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,wDACZ7D,UAAAA,GAAgB5B,IAAI,CAACC,GAAG2F,MACvBD,gBAAAA,EAAAA,KAAC,OAAA,EACC,OAAO;AAAA,QACLrC,OACErD,EAAEqD,SACF,QAAQ,MAAMrC,CAAiB,QAC5BA,IAAoB,KAAKA,CAAiB;AAAA,QAE/C4E,UAAU;AAAA,QACVC,YAAY;AAAA,QACZC,UAAU;AAAA,MAAA,GAIZ,UAAA;AAAA,QAAAN,gBAAAA,EAAAA,IAACO,GAAA,EAAM,WAAU,QAAQ/F,UAAAA,EAAEyC,OAAM;AAAA,QAChCzC,EAAE0C,eACD8C,gBAAAA,EAAAA,IAACQ,GAAA,EACC,SAAShG,EAAE+C,iBACX,aAAa/C,EAAE2C,cAAcnB,SAAY,KAAOxB,EAAE2C,WAClD,MAAK,MACL,SAASzB,GACT,SAAS,IACT,cAAY,IACZ,cAAc+E,EAAalE,CAAY,GACvC,UAAUO,CAAAA,MAAM;AACdwC,UAAAA,EAAmB9E,EAAEuC,QAAQD,CAAE;AAAA,QACjC,GACA,cAActC,EAAE4C,cAChB,OAAO5C,EAAE8C,MAAAA,CAAM,IAGjB4C,gBAAAA,EAAAA,KAAAQ,EAAAA,UAAA,EACE,UAAA;AAAA,UAAAV,gBAAAA,EAAAA,IAACQ,GAAA,EACC,SAAShG,EAAE+C,iBACX,SAAO,IACP,MAAK,MACL,aAAa/C,EAAE2C,cAAcnB,SAAY,KAAOxB,EAAE2C,WAClD,SAASzB,GACT,cAAY,IACZ,0BAAwB,IACxB,mBAAmB,IACnB,qBAAqB,IACrB,cAAc+E,EAAalE,CAAY,GACvC,UAAUO,CAAAA,MAAM;AACdwC,YAAAA,EAAmB9E,EAAEuC,QAAQD,CAAE;AAAA,UACjC,GACA,OAAOtC,EAAE8C,OACT,cAAc9C,EAAE4C,cAAa;AAAA,UAE9B5C,EAAEoD,iBACDoC,gBAAAA,EAAAA,IAAC,UAAA,EACC,MAAK,UACL,WAAU,oGACV,SAAS,MAAM;AACbV,YAAAA,EAAmB9E,EAAEuC,QAAQvC,EAAE+C,eAAe;AAAA,UAChD,GACD,gCAED,IACE;AAAA,QAAA,EAAA,CACN;AAAA,MAAA,EAAA,GAhDG4C,CAkDP,CACD,GACH,EAAA,CACF,IACE;AAAA,MACJH,gBAAAA,EAAAA,IAAC,OAAA,EACC,WAAU,8DACV,OAAO;AAAA,QACLnC,OAAOpC,MAAmB,SAAS,8BAA8B;AAAA,MAAA,GAGlER,UAAAA,EAAgB0F,KAAKpG,IAAI,CAACC,GAAG2F,MAC5BH,gBAAAA,EAAAA,IAAC,OAAA,EAEC,WAAU,oDACV,OAAO;AAAA,QACLY,WAAW,GAAGpG,EAAEqG,UAAU,CAAC;AAAA,MAAA,GAG5BrG,UAAAA,EAAEF,QAAQC,IAAI,CAACuC,GAAIgE,MAClBd,gBAAAA,EAAAA,IAAC,OAAA,EAEC,WAAU,+CACV,OAAO;AAAA,QACLnC,OAAO,QAAS,OAAOf,EAAGrC,eAAe,KAAMJ,EAAWG,EAAEF,OAAO,CAAC,QACjED,EAAWG,EAAEF,OAAO,KAAKwC,EAAGrC,eAAe,MAAMJ,EAAWG,EAAEF,OAAO,CAAC;AAAA,QAEzEsG,WAAW;AAAA,MAAA,GAGZvE,UAAAA,EAAasB,SAASb,EAAGiE,SAAS,IACjCf,gBAAAA,EAAAA,IAACgB,GAAA,EACC,WAAWlE,EAAGiE,WACd,aAAajE,EAAGvB,aAChB,QAAAG,GACA,eAAe;AAAA,QACb,GAAIoB,EAAGmE,YAAY,CAAA;AAAA,QACnBpD,OAAO7B;AAAAA,QACP6E,QAAQ7E;AAAAA,QACRkF,6BAA6BpE,EAAGqE,iBAC5B,KACArE,EAAGmE,UAAUC;AAAAA,QACjBE,QAAQtE,EAAGmE,UAAUG,UAAUzF;AAAAA,QAC/B0F,YAAYvE,EAAGmE,UAAUI,cAAczF;AAAAA,QACvC0F,QAAQxE,EAAGiE,cAAc,eAAe/E,SAAYc,EAAGmE,UAAUK;AAAAA,QACjEC,MAAMzE,EAAGiE,cAAc,cAAcjE,EAAGmE,UAAUM,OAAOvF;AAAAA,QACzD4D,UAAU9C,EAAGmE,UAAUrB,YAAY3E,EAAgB2E;AAAAA,QACnDvE,OAAOyB,EAAGmE,UAAU5F,SAASA;AAAAA,MAAAA,GAE/B,cAAc;AAAA,QACZY,MAAMJ,IACF2F,EAAW3F,GAAcN,KAAe,CAAA,CAAE,IAC1CS;AAAAA,MAAAA,GAEN,eAAec,EAAG2E,eAClB,sBAAsB3E,EAAG4E,sBACzB,8BAA8B5E,EAAG6E,8BACjC,wBAAwB7E,EAAG8E,wBAC3B,WAAAxG,GACA,gBAAgBE,KAAkB,CAAA,EAAA,CAAG,IAErCgB,EAAWqB,SAASb,EAAGiE,SAAS,IAClCf,gBAAAA,EAAAA,IAAC6B,GAAA,EACC,WAAW/E,EAAGiE,WACd,QAAArF,GACA,eAAe;AAAA,QACb,GAAIoB,EAAGmE,YAAY,CAAA;AAAA,QACnBpD,OAAO7B;AAAAA,QACP6E,QAAQ7E;AAAAA,QACRkF,6BAA6BpE,EAAGqE,iBAC5B,KACArE,EAAGmE,UAAUC;AAAAA,QACjBE,QAAQtE,EAAGmE,UAAUG,UAAUzF;AAAAA,QAC/B0F,YAAYvE,EAAGmE,UAAUI,cAAczF;AAAAA,QACvC0F,QAAQxE,EAAGiE,cAAc,eAAe/E,SAAYc,EAAGmE,UAAUK;AAAAA,QACjEC,MAAMzE,EAAGiE,cAAc,cAAcjE,EAAGmE,UAAUM,OAAOvF;AAAAA,QACzD4D,UAAU9C,EAAGmE,UAAUrB,YAAY3E,EAAgB2E;AAAAA,QACnDvE,OAAOyB,EAAGmE,UAAU5F,SAASA;AAAAA,MAAAA,GAE/B,WAAAD,EAAA,CAAqB,IAGvB4E,gBAAAA,MAAC8B,GAAA,EACC,WAAWhF,EAAGiE,WACd,aAAajE,EAAGvB,aAChB,QAAAG,GACA,eAAe;AAAA,QACb,GAAIoB,EAAGmE,YAAY,CAAA;AAAA,QACnBpD,OAAO7B;AAAAA,QACP6E,QAAQ7E;AAAAA,QACRkF,6BAA6BpE,EAAGqE,iBAC5B,KACArE,EAAGmE,UAAUC;AAAAA,QACjBE,QAAQtE,EAAGmE,UAAUG,UAAUzF;AAAAA,QAC/B0F,YAAYvE,EAAGmE,UAAUI,cAAczF;AAAAA,QACvC0F,QAAQxE,EAAGiE,cAAc,eAAe/E,SAAYc,EAAGmE,UAAUK;AAAAA,QACjEC,MAAMzE,EAAGiE,cAAc,cAAcjE,EAAGmE,UAAUM,OAAOvF;AAAAA,QACzD4D,UAAU9C,EAAGmE,UAAUrB,YAAY3E,EAAgB2E;AAAAA,QACnDvE,OAAOyB,EAAGmE,UAAU5F,SAASA;AAAAA,MAAAA,GAE/B,cAAc;AAAA,QACZY,MAAMJ,IACF2F,EAAW3F,GAAcN,KAAe,CAAA,CAAE,IAC1CS;AAAAA,MAAAA,GAEN,eACEc,EAAGqE,kBACHtG,GAAwBkH,QAAQjF,EAAGiE,SAAsB,MAAM,MAC/D5E,EAAe6F,UAAUvC,OAAKA,EAAE1C,WAAWD,EAAGqE,cAAc,MAAM,KAC9Dc,CAAAA,MAAY;AACV,cAAMC,IAAO/F,EAAe6F,UAC1BvC,OAAKA,EAAE1C,WAAWD,EAAGqE,cACvB,GACM7D,IAAQ2E,IACV9F,EAAe+F,CAAI,EAAEhF,eACnB;AAAA,UAAEI,OAAO2E;AAAAA,UAAUhF,OAAOgF;AAAAA,QAAAA,IAC1B,CAAC;AAAA,UAAE3E,OAAO2E;AAAAA,UAAUhF,OAAOgF;AAAAA,QAAAA,CAAU,IACvCjG;AACJsD,QAAAA,EAAmBxC,EAAGqE,gBAA0B7D,CAAK;AAAA,MACvD,IACAtB,QAEN,eAAec,EAAG2E,eAClB,sBAAsB3E,EAAG4E,sBACzB,8BAA8B5E,EAAG6E,8BACjC,wBAAwB7E,EAAG8E,wBAC3B,WAAAxG,GACA,gBAAgBE,KAAkB,CAAA,EAAA,CAAG,EAAA,GA1GpCwF,CA6GP,CACD,KAtHIX,CAuHP,CACD,EAAA,CACH;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"PerformanceIntensiveMultiGraphDashboard.js","sources":["../src/Components/Dashboard/PerformanceIntensive/MultiGraphDashboard.tsx"],"sourcesContent":["import { useEffect, useEffectEvent, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { Label } from '@undp/design-system-react/Label';\r\n\r\nimport { SingleGraphDashboard } from '../SingleGraphDashboard';\r\n\r\nimport { SingleGraphDashboardThreeDGraphs } from './SingleGraphDashboardThreeDGraphs';\r\nimport { SingleGraphDashboardGeoHubMaps } from './SingleGraphDashboardGeoHubMaps';\r\n\r\nimport {\r\n ClassNameObject,\r\n PerformanceIntensiveDashboardLayoutDataType,\r\n DataFilterDataType,\r\n DataSettingsDataType,\r\n FilterSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphType,\r\n StyleObject,\r\n PerformanceIntensiveDashboardColumnDataType,\r\n ThreeDGraphType,\r\n GeoHubGraphType,\r\n} from '@/Types';\r\nimport {\r\n fetchAndParseCSV,\r\n fetchAndParseJSON,\r\n fetchAndParseMultipleDataSources,\r\n fetchAndTransformDataFromAPI,\r\n} from '@/Utils/fetchAndParseData';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { transformColumnsToArray } from '@/Utils/transformData/transformColumnsToArray';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\nimport { GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n dashboardID?: string;\r\n dashboardLayout: PerformanceIntensiveDashboardLayoutDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n noOfFiltersPerRow?: number;\r\n dataFilters?: DataFilterDataType[];\r\n debugMode?: boolean;\r\n theme?: 'dark' | 'light';\r\n filterPosition?: 'top' | 'side';\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n uiMode?: 'light' | 'normal';\r\n graphStyles?: StyleObject;\r\n graphClassNames?: ClassNameObject;\r\n}\r\n\r\nconst TotalWidth = (columns: PerformanceIntensiveDashboardColumnDataType[]) => {\r\n const columnWidth = columns.map(d => d.columnWidth || 1);\r\n const sum = columnWidth.reduce((acc, cur) => acc + cur, 0);\r\n return sum;\r\n};\r\n\r\nconst GraphWithAttachedFilter: GraphType[] = [\r\n 'barChart',\r\n 'choroplethMap',\r\n 'biVariateChoroplethMap',\r\n 'circlePacking',\r\n 'treeMap',\r\n];\r\n\r\nexport function PerformanceIntensiveMultiGraphDashboard(props: Props) {\r\n const {\r\n dashboardID,\r\n dashboardLayout,\r\n dataSettings,\r\n filters,\r\n debugMode,\r\n theme = 'light',\r\n readableHeader,\r\n dataFilters,\r\n noOfFiltersPerRow = 4,\r\n filterPosition,\r\n uiMode = 'normal',\r\n graphStyles,\r\n graphClassNames,\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [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 [filterSettings, setFilterSettings] = useState<FilterSettingsDataType[]>([]);\r\n\r\n const threeDGraphs = ['threeDGlobe'];\r\n const geoHubMaps = ['geoHubCompareMap', 'geoHubMap', 'geoHubMapWithLayerSelection'];\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 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 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]);\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 return (\r\n <GraphContainer\r\n id={dashboardID}\r\n aria-label='This is a dashboard'\r\n backgroundColor={dashboardLayout.backgroundColor ?? false}\r\n theme={theme || 'light'}\r\n language={dashboardLayout.language || 'en'}\r\n padding={dashboardLayout.padding}\r\n >\r\n {dashboardLayout.title || dashboardLayout.description ? (\r\n <GraphHeader\r\n graphTitle={dashboardLayout.title}\r\n graphDescription={dashboardLayout.description}\r\n isDashboard\r\n />\r\n ) : null}\r\n <div className='flex gap-4 flex-wrap'>\r\n {filterSettings.length !== 0 ? (\r\n <div\r\n className='flex-grow flex-shrink-0'\r\n style={{\r\n width: filterPosition === 'side' ? '280px' : '100%',\r\n }}\r\n >\r\n <div className='flex flex-wrap items-start gap-4 w-full sticky top-4'>\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: 1,\r\n flexShrink: 0,\r\n minWidth: '240px',\r\n }}\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label}</Label>\r\n {d.singleSelect ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n size='sm'\r\n variant={uiMode}\r\n isMulti={false}\r\n isSearchable\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n defaultValue={d.defaultValue}\r\n value={d.value}\r\n />\r\n ) : (\r\n <>\r\n <DropdownSelect\r\n options={d.availableValues}\r\n isMulti\r\n size='sm'\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n variant={uiMode}\r\n isSearchable\r\n controlShouldRenderValue\r\n closeMenuOnSelect={false}\r\n hideSelectedOptions={false}\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n {d.allowSelectAll ? (\r\n <button\r\n type='button'\r\n className='bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400'\r\n onClick={() => {\r\n handleFilterChange(d.filter, d.availableValues);\r\n }}\r\n >\r\n Select all options\r\n </button>\r\n ) : null}\r\n </>\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n ) : null}\r\n <div\r\n className='flex flex-wrap gap-4 flex-grow flex-shrink-0 min-w-[280px]'\r\n style={{\r\n width: filterPosition === 'side' ? 'calc(100% - 280px - 1rem)' : '100%',\r\n }}\r\n >\r\n {dashboardLayout.rows.map((d, i) => (\r\n <div\r\n key={i}\r\n className='flex flex-wrap items-stretch gap-4 w-full h-auto'\r\n style={{\r\n minHeight: `${d.height || 0}px`,\r\n }}\r\n >\r\n {d.columns.map((el, j) => (\r\n <div\r\n key={j}\r\n className='flex bg-transparent grow min-w-60'\r\n style={{\r\n width: `calc(${(100 * (el.columnWidth || 1)) / TotalWidth(d.columns)}% - ${\r\n (TotalWidth(d.columns) - (el.columnWidth || 1)) / TotalWidth(d.columns)\r\n }rem)`,\r\n minHeight: 'inherit',\r\n }}\r\n >\r\n {threeDGraphs.includes(el.graphType) ? (\r\n <SingleGraphDashboardThreeDGraphs\r\n graphType={el.graphType as ThreeDGraphType}\r\n dataFilters={el.dataFilters}\r\n uiMode={uiMode}\r\n graphSettings={{\r\n ...(el.settings || {}),\r\n width: undefined,\r\n height: undefined,\r\n minHeight: undefined,\r\n relativeHeight: undefined,\r\n resetSelectionOnDoubleClick: el.attachedFilter\r\n ? false\r\n : el.settings?.resetSelectionOnDoubleClick,\r\n styles: el.settings?.styles || graphStyles,\r\n classNames: el.settings?.classNames || graphClassNames,\r\n radius: el.graphType === 'donutChart' ? undefined : el.settings?.radius,\r\n size: el.graphType === 'unitChart' ? el.settings?.size : undefined,\r\n language: el.settings?.language || dashboardLayout.language,\r\n theme: el.settings?.theme || theme,\r\n }}\r\n dataSettings={{\r\n data: filteredData\r\n ? filterData(filteredData, dataFilters || [])\r\n : undefined,\r\n }}\r\n dataTransform={el.dataTransform}\r\n dataSelectionOptions={el.dataSelectionOptions}\r\n advancedDataSelectionOptions={el.advancedDataSelectionOptions}\r\n graphDataConfiguration={el.graphDataConfiguration}\r\n debugMode={debugMode}\r\n readableHeader={readableHeader || []}\r\n />\r\n ) : geoHubMaps.includes(el.graphType) ? (\r\n <SingleGraphDashboardGeoHubMaps\r\n graphType={el.graphType as GeoHubGraphType}\r\n uiMode={uiMode}\r\n graphSettings={{\r\n ...(el.settings || {}),\r\n width: undefined,\r\n height: undefined,\r\n resetSelectionOnDoubleClick: el.attachedFilter\r\n ? false\r\n : el.settings?.resetSelectionOnDoubleClick,\r\n styles: el.settings?.styles || graphStyles,\r\n classNames: el.settings?.classNames || graphClassNames,\r\n radius: el.graphType === 'donutChart' ? undefined : el.settings?.radius,\r\n size: el.graphType === 'unitChart' ? el.settings?.size : undefined,\r\n language: el.settings?.language || dashboardLayout.language,\r\n theme: el.settings?.theme || theme,\r\n }}\r\n debugMode={debugMode}\r\n />\r\n ) : (\r\n <SingleGraphDashboard\r\n graphType={el.graphType as GraphType}\r\n dataFilters={el.dataFilters}\r\n uiMode={uiMode}\r\n graphSettings={{\r\n ...(el.settings || {}),\r\n width: undefined,\r\n height: undefined,\r\n resetSelectionOnDoubleClick: el.attachedFilter\r\n ? false\r\n : el.settings?.resetSelectionOnDoubleClick,\r\n styles: el.settings?.styles || graphStyles,\r\n classNames: el.settings?.classNames || graphClassNames,\r\n radius: el.graphType === 'donutChart' ? undefined : el.settings?.radius,\r\n size: el.graphType === 'unitChart' ? el.settings?.size : undefined,\r\n language: el.settings?.language || dashboardLayout.language,\r\n theme: el.settings?.theme || theme,\r\n }}\r\n dataSettings={{\r\n data: filteredData\r\n ? filterData(filteredData, dataFilters || [])\r\n : undefined,\r\n }}\r\n updateFilters={\r\n el.attachedFilter &&\r\n GraphWithAttachedFilter.indexOf(el.graphType as GraphType) !== -1 &&\r\n filterSettings.findIndex(f => f.filter === el.attachedFilter) !== -1\r\n ? dClicked => {\r\n const indx = filterSettings.findIndex(\r\n f => f.filter === el.attachedFilter,\r\n );\r\n const value = dClicked\r\n ? filterSettings[indx].singleSelect\r\n ? { value: dClicked, label: dClicked }\r\n : [{ value: dClicked, label: dClicked }]\r\n : undefined;\r\n handleFilterChange(el.attachedFilter as string, value);\r\n }\r\n : undefined\r\n }\r\n dataTransform={el.dataTransform}\r\n dataSelectionOptions={el.dataSelectionOptions}\r\n advancedDataSelectionOptions={el.advancedDataSelectionOptions}\r\n graphDataConfiguration={el.graphDataConfiguration}\r\n debugMode={debugMode}\r\n readableHeader={readableHeader || []}\r\n />\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["TotalWidth","columns","map","d","columnWidth","reduce","acc","cur","GraphWithAttachedFilter","PerformanceIntensiveMultiGraphDashboard","props","dashboardID","dashboardLayout","dataSettings","filters","debugMode","theme","readableHeader","dataFilters","noOfFiltersPerRow","filterPosition","uiMode","graphStyles","graphClassNames","filteredData","setFilteredData","useState","undefined","data","setData","filterSettings","setFilterSettings","threeDGraphs","geoHubMaps","filterConfig","ignoreCase","ignoreAccents","trim","updateFiltersEvent","useEffectEvent","filterSettingsTemp","el","filter","column","label","singleSelect","clearable","defaultValue","transformDefaultValue","value","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","width","filteredDataEvent","length","result","item","every","flattenDeep","intersection","useEffect","fetchData","dataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","console","handleFilterChange","values","prev","f","GraphContainer","backgroundColor","language","padding","title","description","jsx","GraphHeader","jsxs","i","flexGrow","flexShrink","minWidth","Label","DropdownSelect","createFilter","Fragment","rows","minHeight","height","j","graphType","SingleGraphDashboardThreeDGraphs","settings","relativeHeight","resetSelectionOnDoubleClick","attachedFilter","styles","classNames","radius","size","filterData","dataTransform","dataSelectionOptions","advancedDataSelectionOptions","graphDataConfiguration","SingleGraphDashboardGeoHubMaps","SingleGraphDashboard","indexOf","findIndex","dClicked","indx"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-CHPV5EwG-CTPQjnHt.cjs"),w=require("react"),v=require("./parse-hMnG_lRV.cjs"),ke=require("./simple-statistics-xm8c0LQQ.cjs"),Me=require("./index-Cno4Q0YE.cjs"),Se=require("./numberFormattingFunction-02t-wJta.cjs"),Ve=require("./Tooltip-4dJo4_AF.cjs"),Et=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Le=require("./customArea-CMF5g-C3.cjs"),Ie=require("./Axis-DxRV2yMi.cjs"),Fe=require("./AxisTitle-sS5bLLR7.cjs"),He=require("./XTicksAndGridLines-B6CELS7q.cjs"),Ge=require("./ReferenceLine-BH0qdf4R.cjs"),Pe=require("./RegressionLine-BOTTNSrr.cjs"),We=require("./YTicksAndGridLines-4pxTRlRK.cjs"),Ye=require("./index-B_sAFsEV.cjs"),Xe=require("./time-CZd5YLSP.cjs"),Ue=require("./linear-BwPAspcq.cjs"),De=require("./line-DHV4JwCR.cjs"),he=require("./step-BZ3C8QFW.cjs"),Be=require("./select-Bnfk0lJx.cjs"),ze=require("./init-DU0ybBc_.cjs"),Je=require("./pointer-Dkq5NV1q.cjs"),Ke=require("./use-in-view-QcfiW0w3.cjs"),_t=require("./proxy-BxvUI_9l.cjs"),Qe=require("./GraphFooter.cjs"),Ze=require("./GraphHeader.cjs"),_e=require("./Colors.cjs"),ti=require("./EmptyState-sAEZ_5rU.cjs"),qe=require("./GraphContainer-d8A46BK2.cjs");function ei(i){const t=n.compilerRuntimeExports.c(110),{data:R,width:H,height:ot,lineColor:G,suffix:E,prefix:q,dateFormat:s,highlightAreaSettings:rt,showValues:b,noOfXTicks:bt,rightMargin:At,leftMargin:C,topMargin:Ct,bottomMargin:at,tooltip:lt,onSeriesMouseOver:Ot,refValues:Pt,minValue:Wt,maxValue:ct,animate:o,rtl:Lt,strokeWidth:ut,showDots:kt,annotations:Yt,customHighlightAreaSettings:xt,regressionLine:mt,yAxisTitle:P,noOfYTicks:Xt,maxDate:Ut,minDate:Bt,curveType:ft,styles:d,classNames:f,precision:N,customLayers:T}=i,zt=w.useRef(null);let $;t[0]!==o.amount||t[1]!==o.once?($={once:o.once,amount:o.amount},t[0]=o.amount,t[1]=o.once,t[2]=$):$=t[2];const x=Ke.useInView(zt,$),[A,Jt]=w.useState(!1);let pt,W;t[3]!==o.duration||t[4]!==A||t[5]!==x?(pt=()=>{if(x&&!A){const e=setTimeout(()=>{Jt(!0)},(o.duration+.5)*1e3);return()=>clearTimeout(e)}},W=[x,A,o.duration],t[3]=o.duration,t[4]=A,t[5]=x,t[6]=pt,t[7]=W):(pt=t[6],W=t[7]),w.useEffect(pt,W);const te=ft==="linear"?De.curveLinear:ft==="step"?he.curveStep:ft==="stepAfter"?he.stepAfter:ft==="stepBefore"?he.stepBefore:he.monotoneX,[O,m]=w.useState(void 0),[c,Kt]=w.useState(void 0),[M,St]=w.useState(void 0),dt=P?C+30:C;let Y;t[8]!==at||t[9]!==At||t[10]!==dt||t[11]!==Ct?(Y={top:Ct,bottom:at,left:dt,right:At},t[8]=at,t[9]=At,t[10]=dt,t[11]=Ct,t[12]=Y):Y=t[12];const y=Y,X=w.useRef(null);let U;t[13]!==s?(U=e=>({...e,date:v.parse(`${e.date}`,s,new Date)}),t[13]=s,t[14]=U):U=t[14];const a=Me.orderBy(R.map(U),["date"],["asc"]);let B;if(t[15]!==s||t[16]!==rt){let e;t[18]!==s?(e=g=>({...g,coordinates:[g.coordinates[0]===null?null:v.parse(`${g.coordinates[0]}`,s,new Date),g.coordinates[1]===null?null:v.parse(`${g.coordinates[1]}`,s,new Date)]}),t[18]=s,t[19]=e):e=t[19],B=rt.map(e),t[15]=s,t[16]=rt,t[17]=B}else B=t[17];const ht=B;let z;if(t[20]!==xt||t[21]!==s){let e;t[23]!==s?(e=g=>({...g,coordinates:g.coordinates.map((F,Gt)=>Gt%2===0?v.parse(`${F}`,s,new Date):F)}),t[23]=s,t[24]=e):e=t[24],z=xt.map(e),t[20]=xt,t[21]=s,t[22]=z}else z=t[22];const Dt=z,u=H-y.left-y.right,h=ot-y.top-y.bottom,qt=Bt?v.parse(`${Bt}`,s,new Date):a[0].date,Nt=Ut?v.parse(`${Ut}`,s,new Date):a[a.length-1].date,p=Et.checkIfNullOrUndefined(Wt)?Math.min(...a.map(vi).filter(yi))!==1/0?Math.min(...a.map(gi).filter(hi))>0?0:Math.min(...a.map(di).filter(pi)):0:Wt,L=Math.max(...a.map(fi).filter(mi))!==1/0?Math.max(...a.map(xi).filter(ui)):0,r=Xe.time().domain([qt,Nt]).range([0,u]);let J;t[25]!==L||t[26]!==ct?(J=Et.checkIfNullOrUndefined(ct)?L>0?L:0:ct,t[25]=L,t[26]=ct,t[27]=J):J=t[27];const l=Ue.linear().domain([p,J]).range([h,0]).nice(),Tt=De.line().x(e=>r(e.date)).y(e=>l(e.y)).curve(te),gt=l.ticks(Xt),$t=r.ticks(bt);w.useEffect(()=>{const e=F=>{const Gt=a[ze.bisectCenter(a.map(ci),r.invert(Je.pointer(F)[0]),0)];m(Gt||a[a.length-1]),Ot?.(Gt||a[a.length-1]),St(F.clientY),Kt(F.clientX)},g=()=>{m(void 0),Kt(void 0),St(void 0),Ot?.(void 0)};Be.select(X.current).on("mousemove",e).on("mouseout",g)},[r,a,Ot]);const Mt=ke.linearRegression(a.filter(li).map(e=>[r(e.date),l(e.y)])),Vt=ke.linearRegressionLine(Mt);let K;t[28]!==o||t[29]!==h||t[30]!==u||t[31]!==ht||t[32]!==x||t[33]!==r?(K=n.jsxRuntimeExports.jsx(Ye.HighlightArea,{areaSettings:ht,width:u,height:h,scale:r,animate:o,isInView:x}),t[28]=o,t[29]=h,t[30]=u,t[31]=ht,t[32]=x,t[33]=r,t[34]=K):K=t[34];const yt=d?.yAxis?.gridLines,vt=d?.yAxis?.labels;let Q;t[35]!==yt||t[36]!==vt?(Q={gridLines:yt,labels:vt},t[35]=yt,t[36]=vt,t[37]=Q):Q=t[37];const jt=f?.yAxis?.gridLines,Z=f?.yAxis?.labels;let _;t[38]!==jt||t[39]!==Z?(_={gridLines:jt,labels:Z},t[38]=jt,t[39]=Z,t[40]=_):_=t[40];const tt=l(p<0?0:p),Qt=l(p<0?0:p),et=0-C,Zt=u+y.right,wt=p<0?0:p;let V;t[41]!==N||t[42]!==q||t[43]!==E||t[44]!==wt?(V=Se.numberFormattingFunction(wt,"NA",N,q,E),t[41]=N,t[42]=q,t[43]=E,t[44]=wt,t[45]=V):V=t[45];const it=0-C,nt=l(p<0?0:p),Rt=L<0?"1em":-5;let k;t[46]!==it||t[47]!==nt||t[48]!==Rt?(k={x:it,y:nt,dx:0,dy:Rt},t[46]=it,t[47]=nt,t[48]=Rt,t[49]=k):k=t[49];const S=f?.xAxis?.axis,D=f?.yAxis?.labels;let j;t[50]!==S||t[51]!==D?(j={axis:S,label:D},t[50]=S,t[51]=D,t[52]=j):j=t[52];const st=d?.xAxis?.axis,It=d?.yAxis?.labels;let I;t[53]!==st||t[54]!==It?(I={axis:st,label:It},t[53]=st,t[54]=It,t[55]=I):I=t[55];let ee;t[56]!==tt||t[57]!==Qt||t[58]!==et||t[59]!==Zt||t[60]!==V||t[61]!==k||t[62]!==j||t[63]!==I?(ee=n.jsxRuntimeExports.jsx(Ie.Axis,{y1:tt,y2:Qt,x1:et,x2:Zt,label:V,labelPos:k,classNames:j,styles:I}),t[56]=tt,t[57]=Qt,t[58]=et,t[59]=Zt,t[60]=V,t[61]=k,t[62]=j,t[63]=I,t[64]=ee):ee=t[64];const ge=0-C-15,ye=h/2,ve=d?.yAxis?.title,je=f?.yAxis?.title;let ie;t[65]!==ge||t[66]!==ye||t[67]!==ve||t[68]!==je||t[69]!==P?(ie=n.jsxRuntimeExports.jsx(Fe.AxisTitle,{x:ge,y:ye,style:ve,className:je,text:P,rotate90:!0}),t[65]=ge,t[66]=ye,t[67]=ve,t[68]=je,t[69]=P,t[70]=ie):ie=t[70];let ne;t[71]!==s?(ne=e=>v.format(e,s),t[71]=s,t[72]=ne):ne=t[72];const Ne=$t.map(ne),Te=$t.map(e=>r(e)),we=d?.xAxis?.gridLines,Re=d?.xAxis?.labels;let se;t[73]!==we||t[74]!==Re?(se={gridLines:we,labels:Re},t[73]=we,t[74]=Re,t[75]=se):se=t[75];const Ee=f?.xAxis?.gridLines;let Ft;t[76]!==Ee?(Ft=n.mo("opacity-0",Ee),t[76]=Ee,t[77]=Ft):Ft=t[77];const be=f?.xAxis?.labels;let Ht;t[78]!==be?(Ht=n.mo("fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs",be),t[78]=be,t[79]=Ht):Ht=t[79];let oe;t[80]!==Ft||t[81]!==Ht?(oe={gridLines:Ft,labels:Ht},t[80]=Ft,t[81]=Ht,t[82]=oe):oe=t[82];let re;t[83]!==T?(re=T.filter(oi).map(si),t[83]=T,t[84]=re):re=t[84];let ae;t[85]!==G||t[86]!==ut?(ae={stroke:G,fill:"none",strokeWidth:ut},t[85]=G,t[86]=ut,t[87]=ae):ae=t[87];let le;t[88]!==o.duration?(le={opacity:0,transition:{duration:o.duration}},t[88]=o.duration,t[89]=le):le=t[89];const Ae=a.map((e,g)=>n.jsxRuntimeExports.jsx(_t.motion.g,{children:Et.checkIfNullOrUndefined(e.y)?null:n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[kt?n.jsxRuntimeExports.jsx(_t.motion.circle,{r:u/a.length<5?0:u/a.length<20?2:4,exit:{opacity:0,transition:{duration:o.duration}},variants:{initial:{opacity:0,cx:r(e.date),cy:l(e.y),fill:G},whileInView:{opacity:1,fill:G,transition:{duration:A?o.duration:.5,delay:A?0:o.duration},cx:r(e.date),cy:l(e.y)}},initial:"initial",animate:x?"whileInView":"initial"}):null,b?n.jsxRuntimeExports.jsx(_t.motion.text,{dy:-8,style:{textAnchor:"middle",...d?.graphObjectValues||{}},className:n.mo("graph-value text-xs font-bold",f?.graphObjectValues),exit:{opacity:0,transition:{duration:o.duration}},variants:{initial:{opacity:0,x:r(e.date),y:l(e.y)},whileInView:{opacity:1,x:r(e.date),y:l(e.y),transition:{duration:A?o.duration:.5,delay:A?0:o.duration}}},initial:"initial",animate:x?"whileInView":"initial",children:Se.numberFormattingFunction(e.y,"NA",N,q,E)}):null]})},g));let ce;t[90]!==Ae?(ce=n.jsxRuntimeExports.jsx("g",{children:Ae}),t[90]=Ae,t[91]=ce):ce=t[91];const Ce=Yt.map((e,g)=>{const F=Le.getLineEndPoint({x:e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date))+(e.xOffset||0):0+(e.xOffset||0),y:e.yCoordinate?l(e.yCoordinate)+(e.yOffset||0)-8:0+(e.yOffset||0)-8},{x:e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date)):0,y:e.yCoordinate?l(e.yCoordinate):0},Et.checkIfNullOrUndefined(e.connectorRadius)?3.5:e.connectorRadius),Gt=e.showConnector?{y1:F.y,x1:F.x,y2:e.yCoordinate?l(e.yCoordinate)+(e.yOffset||0):0+(e.yOffset||0),x2:e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date))+(e.xOffset||0):0+(e.xOffset||0),cy:e.yCoordinate?l(e.yCoordinate):0,cx:e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date)):0,circleRadius:Et.checkIfNullOrUndefined(e.connectorRadius)?3.5:e.connectorRadius,strokeWidth:e.showConnector===!0?2:Math.min(e.showConnector||0,1)}:void 0,$e={y:e.yCoordinate?l(e.yCoordinate)+(e.yOffset||0)-8:0+(e.yOffset||0)-8,x:Lt?0:e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date))+(e.xOffset||0):0+(e.xOffset||0),width:Lt?e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date))+(e.xOffset||0):0+(e.xOffset||0):u+y.right-(e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date))+(e.xOffset||0):0+(e.xOffset||0)),maxWidth:e.maxWidth,fontWeight:e.fontWeight,align:e.align};return n.jsxRuntimeExports.jsx(Le.Annotation,{color:e.color,connectorsSettings:Gt,labelSettings:$e,text:e.text,classNames:e.classNames,styles:e.styles,animate:o,isInView:x},g)});let ue;t[92]!==Ce?(ue=n.jsxRuntimeExports.jsx("g",{children:Ce}),t[92]=Ce,t[93]=ue):ue=t[93];const Oe=mt?n.jsxRuntimeExports.jsx(Pe.RegressionLine,{x1:0,x2:u,y1:Vt(0),y2:Vt(u),graphHeight:h,graphWidth:u,className:f?.regLine,style:d?.regLine,color:typeof mt=="string"?mt:void 0,animate:o,isInView:x}):null;let xe;t[94]!==Oe?(xe=n.jsxRuntimeExports.jsx("g",{children:Oe}),t[94]=Oe,t[95]=xe):xe=t[95];let me;t[96]!==T?(me=T.filter(ni).map(ii),t[96]=T,t[97]=me):me=t[97];let fe;t[98]===Symbol.for("react.memo_cache_sentinel")?(fe={fill:"none",pointerEvents:"all"},t[98]=fe):fe=t[98];let pe;t[99]!==X||t[100]!==h||t[101]!==u?(pe=n.jsxRuntimeExports.jsx("rect",{ref:X,style:fe,width:u,height:h}),t[99]=X,t[100]=h,t[101]=u,t[102]=pe):pe=t[102];let de;return t[103]!==f?.tooltip||t[104]!==c||t[105]!==M||t[106]!==O||t[107]!==d?.tooltip||t[108]!==lt?(de=O&&lt&&c&&M?n.jsxRuntimeExports.jsx(Ve.Tooltip,{data:O,body:lt,xPos:c,yPos:M,backgroundStyle:d?.tooltip,className:f?.tooltip}):null,t[103]=f?.tooltip,t[104]=c,t[105]=M,t[106]=O,t[107]=d?.tooltip,t[108]=lt,t[109]=de):de=t[109],n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[n.jsxRuntimeExports.jsx(_t.motion.svg,{width:`${H}px`,height:`${ot}px`,viewBox:`0 0 ${H} ${ot}`,direction:"ltr",ref:zt,children:n.jsxRuntimeExports.jsxs("g",{transform:`translate(${y.left},${y.top})`,children:[K,n.jsxRuntimeExports.jsx(Le.CustomArea,{areaSettings:Dt,scaleX:r,scaleY:l,animate:o,isInView:x}),n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx(We.YTicksAndGridLines,{values:gt.filter(ai),y:gt.filter(ri).map(e=>l(e)),x1:0-C,x2:u+y.right,styles:Q,classNames:_,suffix:E,prefix:q,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:N}),ee,ie]}),n.jsxRuntimeExports.jsx(He.XTicksAndGridLines,{values:Ne,x:Te,y1:0,y2:h,styles:se,classNames:oe,suffix:E,prefix:q,labelType:"primary",showGridLines:!0,precision:N}),re,n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx(_t.motion.path,{style:ae,exit:le,variants:{initial:{pathLength:0,d:Tt(a)||"",opacity:1},whileInView:{pathLength:1,d:Tt(a)||"",opacity:1,transition:{duration:o.duration}}},initial:"initial",animate:x?"whileInView":"initial"}),O?n.jsxRuntimeExports.jsx("line",{y1:0,y2:h,x1:r(O.date),x2:r(O.date),className:n.mo("undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100",f?.mouseOverLine),style:d?.mouseOverLine}):null]}),ce,Pt?n.jsxRuntimeExports.jsx(n.jsxRuntimeExports.Fragment,{children:Pt.map((e,g)=>n.jsxRuntimeExports.jsx(Ge.RefLineY,{text:e.text,color:e.color,y:l(e.value),x1:0-C,x2:u+y.right,classNames:e.classNames,styles:e.styles,animate:o,isInView:x},g))}):null,ue,xe,me,pe]})}),de]})}function ii(i){return i.layer}function ni(i){return i.position==="after"}function si(i){return i.layer}function oi(i){return i.position==="before"}function ri(i){return i!==0}function ai(i){return i!==0}function li(i){return!Et.checkIfNullOrUndefined(i.date)&&!Et.checkIfNullOrUndefined(i.y)}function ci(i){return i.date}function ui(i){return i!=null}function xi(i){return i.y}function mi(i){return i!=null}function fi(i){return i.y}function pi(i){return i!=null}function di(i){return i.y}function hi(i){return i!=null}function gi(i){return i.y}function yi(i){return i!=null}function vi(i){return i.y}function ji(i){const t=n.compilerRuntimeExports.c(83),{data:R,graphTitle:H,lineColor:ot,suffix:G,sources:E,prefix:q,graphDescription:s,height:rt,width:b,footNote:bt,noOfXTicks:At,dateFormat:C,showValues:Ct,padding:at,backgroundColor:lt,leftMargin:Ot,rightMargin:Pt,topMargin:Wt,bottomMargin:ct,relativeHeight:o,tooltip:Lt,onSeriesMouseOver:ut,highlightAreaSettings:kt,graphID:Yt,minValue:xt,maxValue:mt,maxDate:P,minDate:Xt,graphDownload:Ut,dataDownload:Bt,animate:ft,language:d,refValues:f,minHeight:N,strokeWidth:T,showDots:zt,annotations:$,customHighlightAreaSettings:x,theme:A,ariaLabel:Jt,regressionLine:pt,yAxisTitle:W,noOfYTicks:te,curveType:O,styles:m,classNames:c,precision:Kt,customLayers:M}=i,St=G===void 0?"":G,dt=q===void 0?"":q,Y=At===void 0?10:At,y=C===void 0?"yyyy":C,X=Ct===void 0?!1:Ct,U=lt===void 0?!1:lt,a=Ot===void 0?30:Ot,B=Pt===void 0?30:Pt,ht=Wt===void 0?20:Wt,z=ct===void 0?25:ct;let Dt;t[0]!==kt?(Dt=kt===void 0?[]:kt,t[0]=kt,t[1]=Dt):Dt=t[1];const u=Dt,h=Ut===void 0?!1:Ut,qt=Bt===void 0?!1:Bt,Nt=ft===void 0?!1:ft,p=d===void 0?"en":d;let L;t[2]!==f?(L=f===void 0?[]:f,t[2]=f,t[3]=L):L=t[3];const r=L,J=N===void 0?0:N,l=T===void 0?2:T,Tt=zt===void 0?!0:zt;let gt;t[4]!==$?(gt=$===void 0?[]:$,t[4]=$,t[5]=gt):gt=t[5];const $t=gt;let Mt;t[6]!==x?(Mt=x===void 0?[]:x,t[6]=x,t[7]=Mt):Mt=t[7];const Vt=Mt,K=A===void 0?"light":A,yt=pt===void 0?!1:pt,vt=te===void 0?5:te,Q=O===void 0?"curve":O,jt=Kt===void 0?2:Kt;let Z;t[8]!==M?(Z=M===void 0?[]:M,t[8]=M,t[9]=Z):Z=t[9];const _=Z,[tt,Qt]=w.useState(0),[et,Zt]=w.useState(0),wt=w.useRef(null),V=w.useRef(null);let it,nt;t[10]===Symbol.for("react.memo_cache_sentinel")?(it=()=>{const It=new ResizeObserver(I=>{Qt(I[0].target.clientWidth||620),Zt(I[0].target.clientHeight||480)});return wt.current&&It.observe(wt.current),()=>It.disconnect()},nt=[],t[10]=it,t[11]=nt):(it=t[10],nt=t[11]),w.useEffect(it,nt);const Rt=c?.graphContainer,k=m?.graphContainer;let S;t[12]!==c?.description||t[13]!==c?.title||t[14]!==R||t[15]!==qt||t[16]!==s||t[17]!==h||t[18]!==H||t[19]!==m?.description||t[20]!==m?.title||t[21]!==b?(S=H||s||h||qt?n.jsxRuntimeExports.jsx(Ze.GraphHeader,{styles:{title:m?.title,description:m?.description},classNames:{title:c?.title,description:c?.description},graphTitle:H,graphDescription:s,width:b,graphDownload:h?V:void 0,dataDownload:qt?R.map(Ai).filter(bi).length>0?R.map(Ei).filter(Ri):R.filter(wi):null}):null,t[12]=c?.description,t[13]=c?.title,t[14]=R,t[15]=qt,t[16]=s,t[17]=h,t[18]=H,t[19]=m?.description,t[20]=m?.title,t[21]=b,t[22]=S):S=t[22];let D;t[23]!==Nt||t[24]!==$t||t[25]!==z||t[26]!==c||t[27]!==Q||t[28]!==Vt||t[29]!==_||t[30]!==R||t[31]!==y||t[32]!==u||t[33]!==p||t[34]!==a||t[35]!==ot||t[36]!==P||t[37]!==mt||t[38]!==Xt||t[39]!==xt||t[40]!==Y||t[41]!==vt||t[42]!==ut||t[43]!==jt||t[44]!==dt||t[45]!==r||t[46]!==yt||t[47]!==B||t[48]!==Tt||t[49]!==X||t[50]!==l||t[51]!==m||t[52]!==St||t[53]!==et||t[54]!==tt||t[55]!==Lt||t[56]!==ht||t[57]!==W?(D=R.length===0?n.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:n.jsxRuntimeExports.jsx(ti.EmptyState,{})}):n.jsxRuntimeExports.jsx(qe.GraphArea,{ref:wt,children:tt&&et?n.jsxRuntimeExports.jsx(ei,{data:R,lineColor:ot||_e.Colors.primaryColors["blue-600"],width:tt,height:et,suffix:St,prefix:dt,dateFormat:y,showValues:X,noOfXTicks:Y,leftMargin:a,rightMargin:B,topMargin:ht,bottomMargin:z,tooltip:Lt,highlightAreaSettings:u,onSeriesMouseOver:ut,refValues:r,minValue:xt,maxValue:mt,animate:Nt===!0?{duration:.5,once:!0,amount:.5}:Nt||{duration:0,once:!0,amount:0},rtl:p==="he"||p==="ar",strokeWidth:l,showDots:Tt,annotations:$t,customHighlightAreaSettings:Vt,regressionLine:yt,yAxisTitle:W,noOfYTicks:vt,maxDate:P,minDate:Xt,curveType:Q,styles:m,classNames:c,precision:jt,customLayers:_}):null}),t[23]=Nt,t[24]=$t,t[25]=z,t[26]=c,t[27]=Q,t[28]=Vt,t[29]=_,t[30]=R,t[31]=y,t[32]=u,t[33]=p,t[34]=a,t[35]=ot,t[36]=P,t[37]=mt,t[38]=Xt,t[39]=xt,t[40]=Y,t[41]=vt,t[42]=ut,t[43]=jt,t[44]=dt,t[45]=r,t[46]=yt,t[47]=B,t[48]=Tt,t[49]=X,t[50]=l,t[51]=m,t[52]=St,t[53]=et,t[54]=tt,t[55]=Lt,t[56]=ht,t[57]=W,t[58]=D):D=t[58];let j;t[59]!==c?.footnote||t[60]!==c?.source||t[61]!==bt||t[62]!==E||t[63]!==m?.footnote||t[64]!==m?.source||t[65]!==b?(j=E||bt?n.jsxRuntimeExports.jsx(Qe.GraphFooter,{styles:{footnote:m?.footnote,source:m?.source},classNames:{footnote:c?.footnote,source:c?.source},sources:E,footNote:bt,width:b}):null,t[59]=c?.footnote,t[60]=c?.source,t[61]=bt,t[62]=E,t[63]=m?.footnote,t[64]=m?.source,t[65]=b,t[66]=j):j=t[66];let st;return t[67]!==Jt||t[68]!==U||t[69]!==Yt||t[70]!==rt||t[71]!==p||t[72]!==J||t[73]!==at||t[74]!==o||t[75]!==Rt||t[76]!==k||t[77]!==S||t[78]!==D||t[79]!==j||t[80]!==K||t[81]!==b?(st=n.jsxRuntimeExports.jsxs(qe.GraphContainer,{className:Rt,style:k,id:Yt,ref:V,"aria-label":Jt,backgroundColor:U,theme:K,language:p,minHeight:J,width:b,height:rt,relativeHeight:o,padding:at,children:[S,D,j]}),t[67]=Jt,t[68]=U,t[69]=Yt,t[70]=rt,t[71]=p,t[72]=J,t[73]=at,t[74]=o,t[75]=Rt,t[76]=k,t[77]=S,t[78]=D,t[79]=j,t[80]=K,t[81]=b,t[82]=st):st=t[82],st}function wi(i){return i!==void 0}function Ri(i){return i!==void 0}function Ei(i){return i.data}function bi(i){return i!==void 0}function Ai(i){return i.data}exports.SimpleLineChart=ji;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-CHPV5EwG-CTPQjnHt.cjs"),w=require("react"),v=require("./parse-hMnG_lRV.cjs"),Le=require("./simple-statistics-xm8c0LQQ.cjs"),Me=require("./index-Cno4Q0YE.cjs"),Se=require("./numberFormattingFunction-02t-wJta.cjs"),Ve=require("./Tooltip-4dJo4_AF.cjs"),Et=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),ke=require("./customArea-CMF5g-C3.cjs"),Ie=require("./Axis-DxRV2yMi.cjs"),Fe=require("./AxisTitle-sS5bLLR7.cjs"),He=require("./XTicksAndGridLines-B6CELS7q.cjs"),Ge=require("./ReferenceLine-BH0qdf4R.cjs"),Pe=require("./RegressionLine-BOTTNSrr.cjs"),We=require("./YTicksAndGridLines-4pxTRlRK.cjs"),Ye=require("./index-B_sAFsEV.cjs"),Xe=require("./time-CZd5YLSP.cjs"),Ue=require("./linear-BwPAspcq.cjs"),De=require("./line-DHV4JwCR.cjs"),he=require("./step-BZ3C8QFW.cjs"),Be=require("./select-Bnfk0lJx.cjs"),ze=require("./init-DU0ybBc_.cjs"),Je=require("./pointer-Dkq5NV1q.cjs"),Ke=require("./use-in-view-QcfiW0w3.cjs"),_t=require("./proxy-BxvUI_9l.cjs"),Qe=require("./GraphFooter.cjs"),Ze=require("./GraphHeader.cjs"),_e=require("./Colors.cjs"),ti=require("./EmptyState-sAEZ_5rU.cjs"),qe=require("./GraphContainer-d8A46BK2.cjs"),ei=require("./getNoOfTicks-C_1CFXv_.cjs");function ii(i){const t=n.compilerRuntimeExports.c(110),{data:R,width:G,height:ot,lineColor:P,suffix:E,prefix:q,dateFormat:s,highlightAreaSettings:rt,showValues:O,noOfXTicks:Ot,rightMargin:bt,leftMargin:A,topMargin:At,bottomMargin:at,tooltip:lt,onSeriesMouseOver:Ct,refValues:Pt,minValue:Wt,maxValue:ct,animate:o,rtl:kt,strokeWidth:ut,showDots:Lt,annotations:Yt,customHighlightAreaSettings:xt,regressionLine:mt,yAxisTitle:W,noOfYTicks:Xt,maxDate:Ut,minDate:Bt,curveType:ft,styles:d,classNames:f,precision:N,customLayers:T}=i,zt=w.useRef(null);let $;t[0]!==o.amount||t[1]!==o.once?($={once:o.once,amount:o.amount},t[0]=o.amount,t[1]=o.once,t[2]=$):$=t[2];const x=Ke.useInView(zt,$),[b,Jt]=w.useState(!1);let pt,Y;t[3]!==o.duration||t[4]!==b||t[5]!==x?(pt=()=>{if(x&&!b){const e=setTimeout(()=>{Jt(!0)},(o.duration+.5)*1e3);return()=>clearTimeout(e)}},Y=[x,b,o.duration],t[3]=o.duration,t[4]=b,t[5]=x,t[6]=pt,t[7]=Y):(pt=t[6],Y=t[7]),w.useEffect(pt,Y);const te=ft==="linear"?De.curveLinear:ft==="step"?he.curveStep:ft==="stepAfter"?he.stepAfter:ft==="stepBefore"?he.stepBefore:he.monotoneX,[C,m]=w.useState(void 0),[c,Kt]=w.useState(void 0),[M,St]=w.useState(void 0),dt=W?A+30:A;let X;t[8]!==at||t[9]!==bt||t[10]!==dt||t[11]!==At?(X={top:At,bottom:at,left:dt,right:bt},t[8]=at,t[9]=bt,t[10]=dt,t[11]=At,t[12]=X):X=t[12];const y=X,U=w.useRef(null);let B;t[13]!==s?(B=e=>({...e,date:v.parse(`${e.date}`,s,new Date)}),t[13]=s,t[14]=B):B=t[14];const a=Me.orderBy(R.map(B),["date"],["asc"]);let z;if(t[15]!==s||t[16]!==rt){let e;t[18]!==s?(e=g=>({...g,coordinates:[g.coordinates[0]===null?null:v.parse(`${g.coordinates[0]}`,s,new Date),g.coordinates[1]===null?null:v.parse(`${g.coordinates[1]}`,s,new Date)]}),t[18]=s,t[19]=e):e=t[19],z=rt.map(e),t[15]=s,t[16]=rt,t[17]=z}else z=t[17];const ht=z;let J;if(t[20]!==xt||t[21]!==s){let e;t[23]!==s?(e=g=>({...g,coordinates:g.coordinates.map((H,Gt)=>Gt%2===0?v.parse(`${H}`,s,new Date):H)}),t[23]=s,t[24]=e):e=t[24],J=xt.map(e),t[20]=xt,t[21]=s,t[22]=J}else J=t[22];const Dt=J,u=G-y.left-y.right,h=ot-y.top-y.bottom,qt=Bt?v.parse(`${Bt}`,s,new Date):a[0].date,Nt=Ut?v.parse(`${Ut}`,s,new Date):a[a.length-1].date,p=Et.checkIfNullOrUndefined(Wt)?Math.min(...a.map(ji).filter(vi))!==1/0?Math.min(...a.map(yi).filter(gi))>0?0:Math.min(...a.map(hi).filter(di)):0:Wt,k=Math.max(...a.map(pi).filter(fi))!==1/0?Math.max(...a.map(mi).filter(xi)):0,r=Xe.time().domain([qt,Nt]).range([0,u]);let K;t[25]!==k||t[26]!==ct?(K=Et.checkIfNullOrUndefined(ct)?k>0?k:0:ct,t[25]=k,t[26]=ct,t[27]=K):K=t[27];const l=Ue.linear().domain([p,K]).range([h,0]).nice(),Tt=De.line().x(e=>r(e.date)).y(e=>l(e.y)).curve(te),gt=l.ticks(Xt),$t=r.ticks(Ot);w.useEffect(()=>{const e=H=>{const Gt=a[ze.bisectCenter(a.map(ui),r.invert(Je.pointer(H)[0]),0)];m(Gt||a[a.length-1]),Ct?.(Gt||a[a.length-1]),St(H.clientY),Kt(H.clientX)},g=()=>{m(void 0),Kt(void 0),St(void 0),Ct?.(void 0)};Be.select(U.current).on("mousemove",e).on("mouseout",g)},[r,a,Ct]);const Mt=Le.linearRegression(a.filter(ci).map(e=>[r(e.date),l(e.y)])),Vt=Le.linearRegressionLine(Mt);let Q;t[28]!==o||t[29]!==h||t[30]!==u||t[31]!==ht||t[32]!==x||t[33]!==r?(Q=n.jsxRuntimeExports.jsx(Ye.HighlightArea,{areaSettings:ht,width:u,height:h,scale:r,animate:o,isInView:x}),t[28]=o,t[29]=h,t[30]=u,t[31]=ht,t[32]=x,t[33]=r,t[34]=Q):Q=t[34];const yt=d?.yAxis?.gridLines,vt=d?.yAxis?.labels;let Z;t[35]!==yt||t[36]!==vt?(Z={gridLines:yt,labels:vt},t[35]=yt,t[36]=vt,t[37]=Z):Z=t[37];const jt=f?.yAxis?.gridLines,_=f?.yAxis?.labels;let tt;t[38]!==jt||t[39]!==_?(tt={gridLines:jt,labels:_},t[38]=jt,t[39]=_,t[40]=tt):tt=t[40];const V=l(p<0?0:p),Qt=l(p<0?0:p),et=0-A,Zt=u+y.right,wt=p<0?0:p;let I;t[41]!==N||t[42]!==q||t[43]!==E||t[44]!==wt?(I=Se.numberFormattingFunction(wt,"NA",N,q,E),t[41]=N,t[42]=q,t[43]=E,t[44]=wt,t[45]=I):I=t[45];const it=0-A,nt=l(p<0?0:p),Rt=k<0?"1em":-5;let L;t[46]!==it||t[47]!==nt||t[48]!==Rt?(L={x:it,y:nt,dx:0,dy:Rt},t[46]=it,t[47]=nt,t[48]=Rt,t[49]=L):L=t[49];const S=f?.xAxis?.axis,D=f?.yAxis?.labels;let j;t[50]!==S||t[51]!==D?(j={axis:S,label:D},t[50]=S,t[51]=D,t[52]=j):j=t[52];const st=d?.xAxis?.axis,It=d?.yAxis?.labels;let F;t[53]!==st||t[54]!==It?(F={axis:st,label:It},t[53]=st,t[54]=It,t[55]=F):F=t[55];let ee;t[56]!==V||t[57]!==Qt||t[58]!==et||t[59]!==Zt||t[60]!==I||t[61]!==L||t[62]!==j||t[63]!==F?(ee=n.jsxRuntimeExports.jsx(Ie.Axis,{y1:V,y2:Qt,x1:et,x2:Zt,label:I,labelPos:L,classNames:j,styles:F}),t[56]=V,t[57]=Qt,t[58]=et,t[59]=Zt,t[60]=I,t[61]=L,t[62]=j,t[63]=F,t[64]=ee):ee=t[64];const ge=0-A-15,ye=h/2,ve=d?.yAxis?.title,je=f?.yAxis?.title;let ie;t[65]!==ge||t[66]!==ye||t[67]!==ve||t[68]!==je||t[69]!==W?(ie=n.jsxRuntimeExports.jsx(Fe.AxisTitle,{x:ge,y:ye,style:ve,className:je,text:W,rotate90:!0}),t[65]=ge,t[66]=ye,t[67]=ve,t[68]=je,t[69]=W,t[70]=ie):ie=t[70];let ne;t[71]!==s?(ne=e=>v.format(e,s),t[71]=s,t[72]=ne):ne=t[72];const Ne=$t.map(ne),Te=$t.map(e=>r(e)),we=d?.xAxis?.gridLines,Re=d?.xAxis?.labels;let se;t[73]!==we||t[74]!==Re?(se={gridLines:we,labels:Re},t[73]=we,t[74]=Re,t[75]=se):se=t[75];const Ee=f?.xAxis?.gridLines;let Ft;t[76]!==Ee?(Ft=n.mo("opacity-0",Ee),t[76]=Ee,t[77]=Ft):Ft=t[77];const Oe=f?.xAxis?.labels;let Ht;t[78]!==Oe?(Ht=n.mo("fill-primary-gray-700 dark:fill-primary-gray-300 xs:max-[360px]:hidden text-[9px] md:text-[10px] lg:text-xs",Oe),t[78]=Oe,t[79]=Ht):Ht=t[79];let oe;t[80]!==Ft||t[81]!==Ht?(oe={gridLines:Ft,labels:Ht},t[80]=Ft,t[81]=Ht,t[82]=oe):oe=t[82];let re;t[83]!==T?(re=T.filter(ri).map(oi),t[83]=T,t[84]=re):re=t[84];let ae;t[85]!==P||t[86]!==ut?(ae={stroke:P,fill:"none",strokeWidth:ut},t[85]=P,t[86]=ut,t[87]=ae):ae=t[87];let le;t[88]!==o.duration?(le={opacity:0,transition:{duration:o.duration}},t[88]=o.duration,t[89]=le):le=t[89];const be=a.map((e,g)=>n.jsxRuntimeExports.jsx(_t.motion.g,{children:Et.checkIfNullOrUndefined(e.y)?null:n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[Lt?n.jsxRuntimeExports.jsx(_t.motion.circle,{r:u/a.length<5?0:u/a.length<20?2:4,exit:{opacity:0,transition:{duration:o.duration}},variants:{initial:{opacity:0,cx:r(e.date),cy:l(e.y),fill:P},whileInView:{opacity:1,fill:P,transition:{duration:b?o.duration:.5,delay:b?0:o.duration},cx:r(e.date),cy:l(e.y)}},initial:"initial",animate:x?"whileInView":"initial"}):null,O?n.jsxRuntimeExports.jsx(_t.motion.text,{dy:-8,style:{textAnchor:"middle",...d?.graphObjectValues||{}},className:n.mo("graph-value text-xs font-bold",f?.graphObjectValues),exit:{opacity:0,transition:{duration:o.duration}},variants:{initial:{opacity:0,x:r(e.date),y:l(e.y)},whileInView:{opacity:1,x:r(e.date),y:l(e.y),transition:{duration:b?o.duration:.5,delay:b?0:o.duration}}},initial:"initial",animate:x?"whileInView":"initial",children:Se.numberFormattingFunction(e.y,"NA",N,q,E)}):null]})},g));let ce;t[90]!==be?(ce=n.jsxRuntimeExports.jsx("g",{children:be}),t[90]=be,t[91]=ce):ce=t[91];const Ae=Yt.map((e,g)=>{const H=ke.getLineEndPoint({x:e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date))+(e.xOffset||0):0+(e.xOffset||0),y:e.yCoordinate?l(e.yCoordinate)+(e.yOffset||0)-8:0+(e.yOffset||0)-8},{x:e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date)):0,y:e.yCoordinate?l(e.yCoordinate):0},Et.checkIfNullOrUndefined(e.connectorRadius)?3.5:e.connectorRadius),Gt=e.showConnector?{y1:H.y,x1:H.x,y2:e.yCoordinate?l(e.yCoordinate)+(e.yOffset||0):0+(e.yOffset||0),x2:e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date))+(e.xOffset||0):0+(e.xOffset||0),cy:e.yCoordinate?l(e.yCoordinate):0,cx:e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date)):0,circleRadius:Et.checkIfNullOrUndefined(e.connectorRadius)?3.5:e.connectorRadius,strokeWidth:e.showConnector===!0?2:Math.min(e.showConnector||0,1)}:void 0,$e={y:e.yCoordinate?l(e.yCoordinate)+(e.yOffset||0)-8:0+(e.yOffset||0)-8,x:kt?0:e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date))+(e.xOffset||0):0+(e.xOffset||0),width:kt?e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date))+(e.xOffset||0):0+(e.xOffset||0):u+y.right-(e.xCoordinate?r(v.parse(`${e.xCoordinate}`,s,new Date))+(e.xOffset||0):0+(e.xOffset||0)),maxWidth:e.maxWidth,fontWeight:e.fontWeight,align:e.align};return n.jsxRuntimeExports.jsx(ke.Annotation,{color:e.color,connectorsSettings:Gt,labelSettings:$e,text:e.text,classNames:e.classNames,styles:e.styles,animate:o,isInView:x},g)});let ue;t[92]!==Ae?(ue=n.jsxRuntimeExports.jsx("g",{children:Ae}),t[92]=Ae,t[93]=ue):ue=t[93];const Ce=mt?n.jsxRuntimeExports.jsx(Pe.RegressionLine,{x1:0,x2:u,y1:Vt(0),y2:Vt(u),graphHeight:h,graphWidth:u,className:f?.regLine,style:d?.regLine,color:typeof mt=="string"?mt:void 0,animate:o,isInView:x}):null;let xe;t[94]!==Ce?(xe=n.jsxRuntimeExports.jsx("g",{children:Ce}),t[94]=Ce,t[95]=xe):xe=t[95];let me;t[96]!==T?(me=T.filter(si).map(ni),t[96]=T,t[97]=me):me=t[97];let fe;t[98]===Symbol.for("react.memo_cache_sentinel")?(fe={fill:"none",pointerEvents:"all"},t[98]=fe):fe=t[98];let pe;t[99]!==U||t[100]!==h||t[101]!==u?(pe=n.jsxRuntimeExports.jsx("rect",{ref:U,style:fe,width:u,height:h}),t[99]=U,t[100]=h,t[101]=u,t[102]=pe):pe=t[102];let de;return t[103]!==f?.tooltip||t[104]!==c||t[105]!==M||t[106]!==C||t[107]!==d?.tooltip||t[108]!==lt?(de=C&&lt&&c&&M?n.jsxRuntimeExports.jsx(Ve.Tooltip,{data:C,body:lt,xPos:c,yPos:M,backgroundStyle:d?.tooltip,className:f?.tooltip}):null,t[103]=f?.tooltip,t[104]=c,t[105]=M,t[106]=C,t[107]=d?.tooltip,t[108]=lt,t[109]=de):de=t[109],n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[n.jsxRuntimeExports.jsx(_t.motion.svg,{width:`${G}px`,height:`${ot}px`,viewBox:`0 0 ${G} ${ot}`,direction:"ltr",ref:zt,children:n.jsxRuntimeExports.jsxs("g",{transform:`translate(${y.left},${y.top})`,children:[Q,n.jsxRuntimeExports.jsx(ke.CustomArea,{areaSettings:Dt,scaleX:r,scaleY:l,animate:o,isInView:x}),n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx(We.YTicksAndGridLines,{values:gt.filter(li),y:gt.filter(ai).map(e=>l(e)),x1:0-A,x2:u+y.right,styles:Z,classNames:tt,suffix:E,prefix:q,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:N}),ee,ie]}),n.jsxRuntimeExports.jsx(He.XTicksAndGridLines,{values:Ne,x:Te,y1:0,y2:h,styles:se,classNames:oe,suffix:E,prefix:q,labelType:"primary",showGridLines:!0,precision:N}),re,n.jsxRuntimeExports.jsxs("g",{children:[n.jsxRuntimeExports.jsx(_t.motion.path,{style:ae,exit:le,variants:{initial:{pathLength:0,d:Tt(a)||"",opacity:1},whileInView:{pathLength:1,d:Tt(a)||"",opacity:1,transition:{duration:o.duration}}},initial:"initial",animate:x?"whileInView":"initial"}),C?n.jsxRuntimeExports.jsx("line",{y1:0,y2:h,x1:r(C.date),x2:r(C.date),className:n.mo("undp-tick-line stroke-primary-gray-700 dark:stroke-primary-gray-100",f?.mouseOverLine),style:d?.mouseOverLine}):null]}),ce,Pt?n.jsxRuntimeExports.jsx(n.jsxRuntimeExports.Fragment,{children:Pt.map((e,g)=>n.jsxRuntimeExports.jsx(Ge.RefLineY,{text:e.text,color:e.color,y:l(e.value),x1:0-A,x2:u+y.right,classNames:e.classNames,styles:e.styles,animate:o,isInView:x},g))}):null,ue,xe,me,pe]})}),de]})}function ni(i){return i.layer}function si(i){return i.position==="after"}function oi(i){return i.layer}function ri(i){return i.position==="before"}function ai(i){return i!==0}function li(i){return i!==0}function ci(i){return!Et.checkIfNullOrUndefined(i.date)&&!Et.checkIfNullOrUndefined(i.y)}function ui(i){return i.date}function xi(i){return i!=null}function mi(i){return i.y}function fi(i){return i!=null}function pi(i){return i.y}function di(i){return i!=null}function hi(i){return i.y}function gi(i){return i!=null}function yi(i){return i.y}function vi(i){return i!=null}function ji(i){return i.y}function wi(i){const t=n.compilerRuntimeExports.c(83),{data:R,graphTitle:G,lineColor:ot,suffix:P,sources:E,prefix:q,graphDescription:s,height:rt,width:O,footNote:Ot,noOfXTicks:bt,dateFormat:A,showValues:At,padding:at,backgroundColor:lt,leftMargin:Ct,rightMargin:Pt,topMargin:Wt,bottomMargin:ct,relativeHeight:o,tooltip:kt,onSeriesMouseOver:ut,highlightAreaSettings:Lt,graphID:Yt,minValue:xt,maxValue:mt,maxDate:W,minDate:Xt,graphDownload:Ut,dataDownload:Bt,animate:ft,language:d,refValues:f,minHeight:N,strokeWidth:T,showDots:zt,annotations:$,customHighlightAreaSettings:x,theme:b,ariaLabel:Jt,regressionLine:pt,yAxisTitle:Y,noOfYTicks:te,curveType:C,styles:m,classNames:c,precision:Kt,customLayers:M}=i,St=P===void 0?"":P,dt=q===void 0?"":q,X=bt===void 0?10:bt,y=A===void 0?"yyyy":A,U=At===void 0?!1:At,B=lt===void 0?!1:lt,a=Ct===void 0?30:Ct,z=Pt===void 0?30:Pt,ht=Wt===void 0?20:Wt,J=ct===void 0?25:ct;let Dt;t[0]!==Lt?(Dt=Lt===void 0?[]:Lt,t[0]=Lt,t[1]=Dt):Dt=t[1];const u=Dt,h=Ut===void 0?!1:Ut,qt=Bt===void 0?!1:Bt,Nt=ft===void 0?!1:ft,p=d===void 0?"en":d;let k;t[2]!==f?(k=f===void 0?[]:f,t[2]=f,t[3]=k):k=t[3];const r=k,K=N===void 0?0:N,l=T===void 0?2:T,Tt=zt===void 0?!0:zt;let gt;t[4]!==$?(gt=$===void 0?[]:$,t[4]=$,t[5]=gt):gt=t[5];const $t=gt;let Mt;t[6]!==x?(Mt=x===void 0?[]:x,t[6]=x,t[7]=Mt):Mt=t[7];const Vt=Mt,Q=b===void 0?"light":b,yt=pt===void 0?!1:pt,vt=te===void 0?5:te,Z=C===void 0?"curve":C,jt=Kt===void 0?2:Kt;let _;t[8]!==M?(_=M===void 0?[]:M,t[8]=M,t[9]=_):_=t[9];const tt=_,[V,Qt]=w.useState(0),[et,Zt]=w.useState(0),wt=w.useRef(null),I=w.useRef(null);let it,nt;t[10]===Symbol.for("react.memo_cache_sentinel")?(it=()=>{const It=new ResizeObserver(F=>{Qt(F[0].target.clientWidth||620),Zt(F[0].target.clientHeight||480)});return wt.current&&It.observe(wt.current),()=>It.disconnect()},nt=[],t[10]=it,t[11]=nt):(it=t[10],nt=t[11]),w.useEffect(it,nt);const Rt=c?.graphContainer,L=m?.graphContainer;let S;t[12]!==c?.description||t[13]!==c?.title||t[14]!==R||t[15]!==qt||t[16]!==s||t[17]!==h||t[18]!==G||t[19]!==m?.description||t[20]!==m?.title||t[21]!==O?(S=G||s||h||qt?n.jsxRuntimeExports.jsx(Ze.GraphHeader,{styles:{title:m?.title,description:m?.description},classNames:{title:c?.title,description:c?.description},graphTitle:G,graphDescription:s,width:O,graphDownload:h?I:void 0,dataDownload:qt?R.map(Ai).filter(bi).length>0?R.map(Oi).filter(Ei):R.filter(Ri):null}):null,t[12]=c?.description,t[13]=c?.title,t[14]=R,t[15]=qt,t[16]=s,t[17]=h,t[18]=G,t[19]=m?.description,t[20]=m?.title,t[21]=O,t[22]=S):S=t[22];let D;t[23]!==Nt||t[24]!==$t||t[25]!==J||t[26]!==c||t[27]!==Z||t[28]!==Vt||t[29]!==tt||t[30]!==R||t[31]!==y||t[32]!==u||t[33]!==p||t[34]!==a||t[35]!==ot||t[36]!==W||t[37]!==mt||t[38]!==Xt||t[39]!==xt||t[40]!==X||t[41]!==vt||t[42]!==ut||t[43]!==jt||t[44]!==dt||t[45]!==r||t[46]!==yt||t[47]!==z||t[48]!==Tt||t[49]!==U||t[50]!==l||t[51]!==m||t[52]!==St||t[53]!==et||t[54]!==V||t[55]!==kt||t[56]!==ht||t[57]!==Y?(D=R.length===0?n.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:n.jsxRuntimeExports.jsx(ti.EmptyState,{})}):n.jsxRuntimeExports.jsx(qe.GraphArea,{ref:wt,children:V&&et?n.jsxRuntimeExports.jsx(ii,{data:R,lineColor:ot||_e.Colors.primaryColors["blue-600"],width:V,height:et,suffix:St,prefix:dt,dateFormat:y,showValues:U,noOfXTicks:X??ei.getNoOfTicks(V),leftMargin:a,rightMargin:z,topMargin:ht,bottomMargin:J,tooltip:kt,highlightAreaSettings:u,onSeriesMouseOver:ut,refValues:r,minValue:xt,maxValue:mt,animate:Nt===!0?{duration:.5,once:!0,amount:.5}:Nt||{duration:0,once:!0,amount:0},rtl:p==="he"||p==="ar",strokeWidth:l,showDots:Tt,annotations:$t,customHighlightAreaSettings:Vt,regressionLine:yt,yAxisTitle:Y,noOfYTicks:vt,maxDate:W,minDate:Xt,curveType:Z,styles:m,classNames:c,precision:jt,customLayers:tt}):null}),t[23]=Nt,t[24]=$t,t[25]=J,t[26]=c,t[27]=Z,t[28]=Vt,t[29]=tt,t[30]=R,t[31]=y,t[32]=u,t[33]=p,t[34]=a,t[35]=ot,t[36]=W,t[37]=mt,t[38]=Xt,t[39]=xt,t[40]=X,t[41]=vt,t[42]=ut,t[43]=jt,t[44]=dt,t[45]=r,t[46]=yt,t[47]=z,t[48]=Tt,t[49]=U,t[50]=l,t[51]=m,t[52]=St,t[53]=et,t[54]=V,t[55]=kt,t[56]=ht,t[57]=Y,t[58]=D):D=t[58];let j;t[59]!==c?.footnote||t[60]!==c?.source||t[61]!==Ot||t[62]!==E||t[63]!==m?.footnote||t[64]!==m?.source||t[65]!==O?(j=E||Ot?n.jsxRuntimeExports.jsx(Qe.GraphFooter,{styles:{footnote:m?.footnote,source:m?.source},classNames:{footnote:c?.footnote,source:c?.source},sources:E,footNote:Ot,width:O}):null,t[59]=c?.footnote,t[60]=c?.source,t[61]=Ot,t[62]=E,t[63]=m?.footnote,t[64]=m?.source,t[65]=O,t[66]=j):j=t[66];let st;return t[67]!==Jt||t[68]!==B||t[69]!==Yt||t[70]!==rt||t[71]!==p||t[72]!==K||t[73]!==at||t[74]!==o||t[75]!==Rt||t[76]!==L||t[77]!==S||t[78]!==D||t[79]!==j||t[80]!==Q||t[81]!==O?(st=n.jsxRuntimeExports.jsxs(qe.GraphContainer,{className:Rt,style:L,id:Yt,ref:I,"aria-label":Jt,backgroundColor:B,theme:Q,language:p,minHeight:K,width:O,height:rt,relativeHeight:o,padding:at,children:[S,D,j]}),t[67]=Jt,t[68]=B,t[69]=Yt,t[70]=rt,t[71]=p,t[72]=K,t[73]=at,t[74]=o,t[75]=Rt,t[76]=L,t[77]=S,t[78]=D,t[79]=j,t[80]=Q,t[81]=O,t[82]=st):st=t[82],st}function Ri(i){return i!==void 0}function Ei(i){return i!==void 0}function Oi(i){return i.data}function bi(i){return i!==void 0}function Ai(i){return i.data}exports.SimpleLineChart=wi;
2
2
  //# sourceMappingURL=SimpleLineChart.cjs.map