@undp/data-viz 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/DataCards.cjs +21 -1
  2. package/dist/DataCards.cjs.map +1 -1
  3. package/dist/DataCards.js +622 -12
  4. package/dist/DataCards.js.map +1 -1
  5. package/dist/GraphEl-B6SoGRFW.cjs +2 -0
  6. package/dist/GraphEl-B6SoGRFW.cjs.map +1 -0
  7. package/dist/{checkIfMultiple-BB7PlCNh.js → GraphEl-Cw2tDUb3.js} +129 -1163
  8. package/dist/GraphEl-Cw2tDUb3.js.map +1 -0
  9. package/dist/GriddedGraphs.cjs +1 -1
  10. package/dist/GriddedGraphs.cjs.map +1 -1
  11. package/dist/GriddedGraphs.d.ts +2 -4
  12. package/dist/GriddedGraphs.js +9 -8
  13. package/dist/GriddedGraphs.js.map +1 -1
  14. package/dist/GriddedGraphsFromConfig.d.ts +2 -4
  15. package/dist/MultiGraphDashboard.cjs +1 -1
  16. package/dist/MultiGraphDashboard.cjs.map +1 -1
  17. package/dist/MultiGraphDashboard.d.ts +16 -12
  18. package/dist/MultiGraphDashboard.js +2 -2
  19. package/dist/MultiGraphDashboardFromConfig.d.ts +16 -12
  20. package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
  21. package/dist/MultiGraphDashboardWideToLongFormat.js +1 -1
  22. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +2 -0
  23. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -0
  24. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +566 -0
  25. package/dist/PerformanceIntensiveMultiGraphDashboard.js +353 -0
  26. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -0
  27. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +2 -0
  28. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs.map +1 -0
  29. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +570 -0
  30. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +38 -0
  31. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js.map +1 -0
  32. package/dist/PerformanceIntensiveScrollStory.cjs +2 -0
  33. package/dist/PerformanceIntensiveScrollStory.cjs.map +1 -0
  34. package/dist/PerformanceIntensiveScrollStory.d.ts +493 -0
  35. package/dist/PerformanceIntensiveScrollStory.js +122 -0
  36. package/dist/PerformanceIntensiveScrollStory.js.map +1 -0
  37. package/dist/ScrollStory.cjs.map +1 -1
  38. package/dist/ScrollStory.d.ts +3 -5
  39. package/dist/ScrollStory.js.map +1 -1
  40. package/dist/SingleGraphDashboard.cjs +1 -1
  41. package/dist/SingleGraphDashboard.cjs.map +1 -1
  42. package/dist/SingleGraphDashboard.d.ts +2 -5
  43. package/dist/SingleGraphDashboard.js +194 -194
  44. package/dist/SingleGraphDashboard.js.map +1 -1
  45. package/dist/SingleGraphDashboardFromConfig.d.ts +2 -4
  46. package/dist/SingleGraphDashboardGeoHubMaps.cjs +2 -0
  47. package/dist/SingleGraphDashboardGeoHubMaps.cjs.map +1 -0
  48. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +428 -0
  49. package/dist/SingleGraphDashboardGeoHubMaps.js +185 -0
  50. package/dist/SingleGraphDashboardGeoHubMaps.js.map +1 -0
  51. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +2 -0
  52. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs.map +1 -0
  53. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +432 -0
  54. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +25 -0
  55. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js.map +1 -0
  56. package/dist/SingleGraphDashboardThreeDGraphs.cjs +2 -0
  57. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -0
  58. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +540 -0
  59. package/dist/SingleGraphDashboardThreeDGraphs.js +610 -0
  60. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -0
  61. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +2 -0
  62. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs.map +1 -0
  63. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +543 -0
  64. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +35 -0
  65. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js.map +1 -0
  66. package/dist/Types.d.ts +38 -11
  67. package/dist/checkIfMultiple-CYp3vADF.js +912 -0
  68. package/dist/checkIfMultiple-CYp3vADF.js.map +1 -0
  69. package/dist/checkIfMultiple-Do4kADNr.cjs +12 -0
  70. package/dist/checkIfMultiple-Do4kADNr.cjs.map +1 -0
  71. package/dist/getSchema.cjs.map +1 -1
  72. package/dist/getSchema.d.ts +7 -5
  73. package/dist/getSchema.js.map +1 -1
  74. package/dist/index.cjs +1 -1
  75. package/dist/index.d.ts +330 -163
  76. package/dist/index.js +150 -136
  77. package/dist/index.js.map +1 -1
  78. package/dist/transformData.cjs +1 -1
  79. package/dist/transformData.d.ts +5 -5
  80. package/dist/transformData.js +2 -2
  81. package/dist/{transformDataForAggregation-DAQJWGNL.js → transformDataForAggregation-CdcwlnNe.js} +2 -2
  82. package/dist/transformDataForAggregation-CdcwlnNe.js.map +1 -0
  83. package/dist/{transformDataForAggregation-BUGJnson.cjs → transformDataForAggregation-Du-Hei-W.cjs} +2 -2
  84. package/dist/transformDataForAggregation-Du-Hei-W.cjs.map +1 -0
  85. package/dist/{transformDataForGraphFromFile-DdNiOWeC.js → transformDataForGraphFromFile-CA0rw80A.js} +2 -2
  86. package/dist/{transformDataForGraphFromFile-DdNiOWeC.js.map → transformDataForGraphFromFile-CA0rw80A.js.map} +1 -1
  87. package/dist/{transformDataForGraphFromFile-CrntpaMU.cjs → transformDataForGraphFromFile-D9G3ToQf.cjs} +2 -2
  88. package/dist/{transformDataForGraphFromFile-CrntpaMU.cjs.map → transformDataForGraphFromFile-D9G3ToQf.cjs.map} +1 -1
  89. package/dist/transformDataForSelect-D8AuvYdf.js +14 -0
  90. package/dist/transformDataForSelect-D8AuvYdf.js.map +1 -0
  91. package/dist/transformDataForSelect-YmStusCI.cjs +2 -0
  92. package/dist/transformDataForSelect-YmStusCI.cjs.map +1 -0
  93. package/dist/validateSchema.d.ts +2 -4
  94. package/package.json +36 -1
  95. package/dist/checkIfMultiple-BB7PlCNh.js.map +0 -1
  96. package/dist/checkIfMultiple-D5ysrI7G.cjs +0 -12
  97. package/dist/checkIfMultiple-D5ysrI7G.cjs.map +0 -1
  98. package/dist/index-D9h2WYDS.cjs +0 -22
  99. package/dist/index-D9h2WYDS.cjs.map +0 -1
  100. package/dist/index-OCoyy1wG.js +0 -635
  101. package/dist/index-OCoyy1wG.js.map +0 -1
  102. package/dist/transformDataForAggregation-BUGJnson.cjs.map +0 -1
  103. package/dist/transformDataForAggregation-DAQJWGNL.js.map +0 -1
@@ -0,0 +1,610 @@
1
+ import { j as r, m as de } from "./index-CHPV5EwG-BPSP-7Jg.js";
2
+ import { useState as D, useRef as J, useMemo as M, useCallback as K, useEffect as N } from "react";
3
+ import { i as ue } from "./index-C1rRk_50.js";
4
+ import { f as z } from "./index-UV9hjG_S.js";
5
+ import { i as ce } from "./index-27yTRcko.js";
6
+ import { Z as j, H as R } from "./DropdownSelect-CDC9lEqU.js";
7
+ import { g as he, f as F, a as Q, v as X, c as ge, w as Y, G as _ } from "./checkIfMultiple-CYp3vADF.js";
8
+ import { u as W } from "./Typography-Ctgfl1J5.js";
9
+ import { y as pe } from "./Spinner-C85UF28E.js";
10
+ import { ThreeDGlobe as fe } from "./ThreeDGlobe.js";
11
+ import { f as me, a as Ce, b as xe, c as be, t as ve } from "./fetchAndParseData-Bcmr659B.js";
12
+ import { a as we, t as Ie } from "./transformDataForAggregation-CdcwlnNe.js";
13
+ import { g as ee } from "./getUniqValue-BtUENB2H.js";
14
+ import { GraphHeader as De } from "./GraphHeader.js";
15
+ import { f as ae } from "./filterData-B8ocT57s.js";
16
+ import { g as ye } from "./getGraphList-DuColTJM.js";
17
+ import { t as te } from "./transformDataForSelect-D8AuvYdf.js";
18
+ function je(v) {
19
+ const {
20
+ settings: a,
21
+ graph: o,
22
+ graphData: c,
23
+ debugMode: h,
24
+ graphDataConfiguration: f,
25
+ readableHeader: i,
26
+ updateFilters: S
27
+ } = v;
28
+ if (h && (console.log(`Graph: ${o}`), console.log("Transformed data:", c), console.log("Settings:", a)), typeof c == "string")
29
+ return /* @__PURE__ */ r.jsx(
30
+ "div",
31
+ {
32
+ className: `flex my-0 mx-auto grow flex-col justify-center ${a?.width ? "w-fit" : "w-full"}`,
33
+ style: { height: "inherit" },
34
+ children: /* @__PURE__ */ r.jsx(
35
+ W,
36
+ {
37
+ size: "sm",
38
+ marginBottom: "none",
39
+ className: "p-2 text-center text-accent-dark-red dark:text-accent-red",
40
+ children: c
41
+ }
42
+ )
43
+ }
44
+ );
45
+ const w = {
46
+ threeDGlobe: fe
47
+ }, m = (d) => {
48
+ switch (d) {
49
+ case "threeDGlobe":
50
+ return {
51
+ globeOffset: a?.globeOffset,
52
+ polygonAltitude: a?.polygonAltitude,
53
+ highlightedIds: a?.highlightedIds,
54
+ scale: a?.scale,
55
+ theme: a?.theme,
56
+ resetSelectionOnDoubleClick: a?.resetSelectionOnDoubleClick,
57
+ graphTitle: a?.graphTitle,
58
+ mapData: a?.mapData,
59
+ graphDescription: a?.graphDescription,
60
+ footNote: a?.footNote,
61
+ width: a?.width,
62
+ height: a?.height,
63
+ sources: a?.sources,
64
+ colorDomain: a?.colorDomain,
65
+ colors: a?.colors,
66
+ colorLegendTitle: Object.keys(a || {}).indexOf("colorLegendTitle") !== -1 ? a?.colorLegendTitle : he("x", f || [], i || []),
67
+ scaleType: a?.scaleType,
68
+ data: c,
69
+ centerPoint: a?.centerPoint,
70
+ backgroundColor: a?.backgroundColor,
71
+ mapNoDataColor: a?.mapNoDataColor,
72
+ mapBorderColor: a?.mapBorderColor,
73
+ relativeHeight: a?.relativeHeight,
74
+ padding: a?.padding,
75
+ tooltip: a?.tooltip,
76
+ showColorScale: a?.showColorScale,
77
+ graphID: a?.graphID,
78
+ dataDownload: a?.dataDownload,
79
+ mapProperty: a?.mapProperty,
80
+ language: a?.language,
81
+ minHeight: a?.minHeight,
82
+ ariaLabel: a?.ariaLabel,
83
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
84
+ onSeriesMouseClick: (L) => {
85
+ S?.(L.id);
86
+ },
87
+ detailsOnClick: a?.detailsOnClick,
88
+ styles: a?.styles,
89
+ classNames: a?.classNames,
90
+ categorical: a?.categorical,
91
+ autoRotate: a?.autoRotate,
92
+ globeMaterial: a?.globeMaterial,
93
+ atmosphereColor: a?.atmosphereColor,
94
+ enableZoom: a?.enableZoom
95
+ };
96
+ default:
97
+ return {};
98
+ }
99
+ }, V = w[o], H = m(o);
100
+ return /* @__PURE__ */ r.jsx(
101
+ "div",
102
+ {
103
+ className: `grow my-0 mx-auto flex flex-col h-inherit ${a?.width ? "w-fit" : "w-full"} justify-center ${a?.theme || "light"}`,
104
+ style: { minHeight: "inherit" },
105
+ children: V ? /* @__PURE__ */ r.jsx(V, { ...H }) : /* @__PURE__ */ r.jsx(
106
+ W,
107
+ {
108
+ size: "sm",
109
+ marginBottom: "none",
110
+ className: "p-2 text-center text-accent-dark-red dark:text-accent-red",
111
+ children: `Invalid chart type: ${o}`
112
+ }
113
+ )
114
+ }
115
+ );
116
+ }
117
+ const U = (v, a) => {
118
+ const o = a?.map((c) => {
119
+ const h = v?.findIndex((i) => i.chartConfigId === c.chartConfigId);
120
+ if (h === -1) return {};
121
+ const f = v[h]?.allowedColumnIds?.findIndex(
122
+ (i) => i.value === c.columnId
123
+ );
124
+ return f === -1 ? {} : v[h].allowedColumnIds[f].graphSettings || {};
125
+ }) || [];
126
+ return Object.assign({}, ...o);
127
+ };
128
+ function We(v) {
129
+ const {
130
+ graphSettings: a,
131
+ dataSettings: o,
132
+ filters: c,
133
+ graphType: h,
134
+ dataTransform: f,
135
+ graphDataConfiguration: i,
136
+ dataFilters: S,
137
+ debugMode: w,
138
+ dataSelectionOptions: m,
139
+ advancedDataSelectionOptions: V,
140
+ readableHeader: H,
141
+ noOfFiltersPerRow: d = 4,
142
+ updateFilters: L,
143
+ uiMode: g = "normal",
144
+ highlightDataPointSettings: C
145
+ } = v, [x, le] = D(void 0), [y, re] = D(void 0), [b, I] = D(
146
+ i
147
+ ), [p, k] = D({}), [T, oe] = D(void 0), [ie, ne] = D([]), B = J(null), E = J(
148
+ i
149
+ ), [$, Z] = D([]), O = M(
150
+ () => ({
151
+ ignoreCase: !0,
152
+ ignoreAccents: !0,
153
+ trim: !0
154
+ }),
155
+ []
156
+ ), q = K(async () => {
157
+ try {
158
+ const s = await (o.dataURL ? typeof o.dataURL == "string" ? o.fileType === "json" ? me(
159
+ o.dataURL,
160
+ o.columnsToArray,
161
+ o.dataTransformation,
162
+ w
163
+ ) : o.fileType === "api" ? Ce(
164
+ o.dataURL,
165
+ o.apiHeaders,
166
+ o.columnsToArray,
167
+ o.dataTransformation,
168
+ w
169
+ ) : xe(
170
+ o.dataURL,
171
+ o.dataTransformation,
172
+ o.columnsToArray,
173
+ w,
174
+ o.delimiter,
175
+ !0
176
+ ) : be(o.dataURL, o.idColumnTitle) : ve(o.data, o.columnsToArray));
177
+ re(s);
178
+ const t = (c || []).map((l) => ({
179
+ filter: l.column,
180
+ label: l.label || `Filter by ${l.column}`,
181
+ singleSelect: l.singleSelect,
182
+ clearable: l.clearable,
183
+ defaultValue: te(l.defaultValue),
184
+ value: te(l.defaultValue),
185
+ availableValues: ee(s, l.column).filter((n) => !l.excludeValues?.includes(`${n}`)).map((n) => ({ value: n, label: n })),
186
+ allowSelectAll: l.allowSelectAll,
187
+ width: l.width
188
+ }));
189
+ Z(t);
190
+ } catch (e) {
191
+ console.error("Data fetching error:", e);
192
+ }
193
+ }, [o, c, w]);
194
+ N(() => {
195
+ q();
196
+ }, [q]);
197
+ const G = M(() => !y || $.length === 0 ? y : y.filter(
198
+ (s) => $.every(
199
+ (t) => t.value && z([t.value]).length > 0 ? ue(
200
+ z([s[t.filter]]),
201
+ z([t.value]).map((l) => l.value)
202
+ ).length > 0 : !0
203
+ )
204
+ ), [$, y]);
205
+ N(() => {
206
+ m && k(U(m, i));
207
+ }, [m, i]), N(() => {
208
+ y && le(G);
209
+ }, [G, y]), N(() => {
210
+ C?.column && G && ne(
211
+ ee(G, C.column).filter((e) => !C?.excludeValues?.includes(`${e}`)).map((e) => ({ value: e, label: e }))
212
+ );
213
+ }, [G, C]), N(() => {
214
+ ce(E.current, i) || (I(i), E.current = i);
215
+ }, [i]);
216
+ const P = K((e, s) => {
217
+ Z((t) => t.map((l) => l.filter === e ? { ...l, value: s } : l));
218
+ }, []), se = M(() => {
219
+ if (!x) return;
220
+ const e = b;
221
+ return we(
222
+ f ? Ie(
223
+ ae(x, S || []),
224
+ f.keyColumn,
225
+ f.aggregationColumnsSetting
226
+ ) : ae(x, S || []),
227
+ h,
228
+ e
229
+ );
230
+ }, [h, b, x, S, f]);
231
+ return o ? /* @__PURE__ */ r.jsx(
232
+ "div",
233
+ {
234
+ className: `${a?.theme || "light"} flex ${a?.width ? "w-fit grow-0" : "w-full grow"}${a?.height ? "" : " h-full"}`,
235
+ dir: a?.language === "he" || a?.language === "ar" ? "rtl" : void 0,
236
+ children: /* @__PURE__ */ r.jsx(
237
+ "div",
238
+ {
239
+ className: de(
240
+ `${a?.backgroundColor ? a?.backgroundColor === !0 ? "bg-primary-gray-200 dark:bg-primary-gray-650 " : "" : "bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${a?.language || "en"}`,
241
+ a?.classNames?.graphContainer
242
+ ),
243
+ style: {
244
+ ...a?.styles?.graphContainer || {},
245
+ ...a?.backgroundColor && a?.backgroundColor !== !0 ? { backgroundColor: a?.backgroundColor } : {}
246
+ },
247
+ id: a?.graphID,
248
+ ref: B,
249
+ children: /* @__PURE__ */ r.jsx(
250
+ "div",
251
+ {
252
+ style: {
253
+ padding: a?.backgroundColor ? a?.padding || "1rem" : a?.padding || 0,
254
+ flexGrow: 1,
255
+ display: "flex"
256
+ },
257
+ children: /* @__PURE__ */ r.jsx("div", { className: "flex flex-col w-full gap-4 grow justify-between", children: x || ye.filter((e) => e.geoHubMapPresentation).map((e) => e.graphID).indexOf(h) !== -1 ? /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
258
+ p?.graphTitle || p?.graphDescription || a?.graphTitle || a?.graphDescription || a?.graphDownload || a?.dataDownload ? /* @__PURE__ */ r.jsx(
259
+ De,
260
+ {
261
+ styles: {
262
+ title: p?.styles?.title || a?.styles?.title,
263
+ description: p?.styles?.description || a?.styles?.description
264
+ },
265
+ classNames: {
266
+ title: p?.classNames?.title || a?.classNames?.title,
267
+ description: p?.classNames?.description || a?.classNames?.description
268
+ },
269
+ graphTitle: p?.graphTitle || a?.graphTitle,
270
+ graphDescription: p?.graphDescription || a?.graphDescription,
271
+ width: p?.width || a?.width,
272
+ graphDownload: a?.graphDownload ? B.current : void 0,
273
+ dataDownload: a?.dataDownload && x && x.length > 0 ? x : null
274
+ }
275
+ ) : null,
276
+ $.length !== 0 || (m || []).length !== 0 || (V || []).length !== 0 || C ? /* @__PURE__ */ r.jsxs(
277
+ "div",
278
+ {
279
+ style: {
280
+ display: "flex",
281
+ gap: "1rem",
282
+ flexWrap: "wrap",
283
+ alignItems: "flex-start",
284
+ width: "100%"
285
+ },
286
+ children: [
287
+ V?.map((e, s) => /* @__PURE__ */ r.jsxs(
288
+ "div",
289
+ {
290
+ style: {
291
+ width: e.width || `calc(${100 / d}% - ${(d - 1) / d}rem)`,
292
+ flexGrow: 1,
293
+ flexShrink: e.ui !== "radio" ? 0 : 1,
294
+ minWidth: "240px"
295
+ },
296
+ children: [
297
+ /* @__PURE__ */ r.jsx(F, { className: "mb-2", children: e.label || "Graph by" }),
298
+ e.ui !== "radio" ? /* @__PURE__ */ r.jsx(
299
+ j,
300
+ {
301
+ options: e.options.map((t) => ({
302
+ ...t,
303
+ value: t.label
304
+ })),
305
+ size: "sm",
306
+ isClearable: !1,
307
+ isSearchable: !0,
308
+ variant: g,
309
+ controlShouldRenderValue: !0,
310
+ defaultValue: e.defaultValue ? {
311
+ ...e.defaultValue,
312
+ value: e.defaultValue?.label
313
+ } : {
314
+ ...e.options[0],
315
+ value: e.options[0].label
316
+ },
317
+ onChange: (t) => {
318
+ k(t?.graphSettings || {}), I(t?.dataConfiguration);
319
+ }
320
+ }
321
+ ) : /* @__PURE__ */ r.jsx(
322
+ Q,
323
+ {
324
+ defaultValue: e.defaultValue?.label || e.options[0].label,
325
+ variant: g,
326
+ onValueChange: (t) => {
327
+ const l = e.options[e.options.findIndex((n) => n.label === t)];
328
+ k(l.graphSettings || {}), I(l.dataConfiguration);
329
+ },
330
+ children: e.options.map((t, l) => /* @__PURE__ */ r.jsx(X, { label: t.label, value: t.label }, l))
331
+ }
332
+ )
333
+ ]
334
+ },
335
+ s
336
+ )),
337
+ m?.map((e, s) => /* @__PURE__ */ r.jsxs(
338
+ "div",
339
+ {
340
+ style: {
341
+ width: e.width || `calc(${100 / d}% - ${(d - 1) / d}rem)`,
342
+ flexGrow: 1,
343
+ flexShrink: e.ui !== "radio" ? 0 : 1,
344
+ minWidth: "240px"
345
+ },
346
+ children: [
347
+ /* @__PURE__ */ r.jsx(F, { className: "mb-2", children: e.label || `Visualize ${e.chartConfigId} by` }),
348
+ ge(e.chartConfigId, b || []) ? e.ui !== "radio" ? /* @__PURE__ */ r.jsx(
349
+ j,
350
+ {
351
+ options: e.allowedColumnIds,
352
+ size: "sm",
353
+ isMulti: !0,
354
+ isSearchable: !0,
355
+ variant: g,
356
+ controlShouldRenderValue: !0,
357
+ defaultValue: i ? i[i.findIndex(
358
+ (t) => t.chartConfigId === e.chartConfigId
359
+ )].columnId.map(
360
+ (t) => e.allowedColumnIds[e.allowedColumnIds.findIndex((l) => l.value === t)]
361
+ ) : void 0,
362
+ filterOption: R(O),
363
+ onChange: (t) => {
364
+ const l = {
365
+ columnId: (t || []).map(
366
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
367
+ (u) => u.value
368
+ ),
369
+ chartConfigId: e.chartConfigId
370
+ }, n = b?.map(
371
+ (u) => u.chartConfigId === l.chartConfigId ? l : u
372
+ );
373
+ I(n);
374
+ }
375
+ }
376
+ ) : /* @__PURE__ */ r.jsx(
377
+ Y,
378
+ {
379
+ variant: g,
380
+ defaultValue: i ? i[i.findIndex(
381
+ (t) => t.chartConfigId === e.chartConfigId
382
+ )].columnId.map(
383
+ (t) => e.allowedColumnIds[e.allowedColumnIds.findIndex((l) => l.value === t)]
384
+ ).map((t) => t.value) : [],
385
+ onValueChange: (t) => {
386
+ const l = {
387
+ columnId: t || [],
388
+ chartConfigId: e.chartConfigId
389
+ }, n = b?.map(
390
+ (u) => u.chartConfigId === l.chartConfigId ? l : u
391
+ );
392
+ I(n);
393
+ },
394
+ children: e.allowedColumnIds.map((t, l) => /* @__PURE__ */ r.jsx(_, { label: t.label, value: t.label }, l))
395
+ }
396
+ ) : e.ui !== "radio" ? /* @__PURE__ */ r.jsx(
397
+ j,
398
+ {
399
+ options: e.allowedColumnIds,
400
+ size: "sm",
401
+ isClearable: !1,
402
+ isSearchable: !0,
403
+ variant: g,
404
+ controlShouldRenderValue: !0,
405
+ defaultValue: i ? e.allowedColumnIds[e.allowedColumnIds.findIndex(
406
+ (t) => t.value === i[i.findIndex(
407
+ (l) => l.chartConfigId === e.chartConfigId
408
+ )].columnId
409
+ )] : void 0,
410
+ onChange: (t) => {
411
+ const l = {
412
+ columnId: t?.value,
413
+ chartConfigId: e.chartConfigId
414
+ }, n = b?.map(
415
+ (u) => u.chartConfigId === l.chartConfigId ? l : u
416
+ );
417
+ k(
418
+ U(m, n)
419
+ ), I(n);
420
+ }
421
+ }
422
+ ) : /* @__PURE__ */ r.jsx(
423
+ Q,
424
+ {
425
+ variant: g,
426
+ defaultValue: i ? e.allowedColumnIds[e.allowedColumnIds.findIndex(
427
+ (t) => t.value === i[i.findIndex(
428
+ (l) => l.chartConfigId === e.chartConfigId
429
+ )].columnId
430
+ )].label : "",
431
+ onValueChange: (t) => {
432
+ const n = {
433
+ columnId: e.allowedColumnIds[e.allowedColumnIds.findIndex((A) => A.label === t)].value,
434
+ chartConfigId: e.chartConfigId
435
+ }, u = b?.map(
436
+ (A) => A.chartConfigId === n.chartConfigId ? n : A
437
+ );
438
+ k(
439
+ U(m, u)
440
+ ), I(u);
441
+ },
442
+ children: e.allowedColumnIds.map((t, l) => /* @__PURE__ */ r.jsx(X, { label: t.label, value: t.label }, l))
443
+ }
444
+ )
445
+ ]
446
+ },
447
+ s
448
+ )),
449
+ $?.map((e, s) => /* @__PURE__ */ r.jsxs(
450
+ "div",
451
+ {
452
+ style: {
453
+ width: e.width || `calc(${100 / d}% - ${(d - 1) / d}rem)`,
454
+ flexGrow: 1,
455
+ flexShrink: 0,
456
+ minWidth: "240px"
457
+ },
458
+ children: [
459
+ /* @__PURE__ */ r.jsx(F, { className: "mb-2", children: e.label }),
460
+ e.singleSelect ? /* @__PURE__ */ r.jsx(
461
+ j,
462
+ {
463
+ options: e.availableValues,
464
+ variant: g,
465
+ isClearable: e.clearable === void 0 ? !0 : e.clearable,
466
+ isSearchable: !0,
467
+ controlShouldRenderValue: !0,
468
+ filterOption: R(O),
469
+ onChange: (t) => {
470
+ P(e.filter, t);
471
+ },
472
+ value: e.value,
473
+ defaultValue: e.defaultValue
474
+ }
475
+ ) : /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
476
+ e.ui !== "radio" ? /* @__PURE__ */ r.jsx(
477
+ j,
478
+ {
479
+ options: e.availableValues,
480
+ variant: g,
481
+ size: "sm",
482
+ isMulti: !0,
483
+ isClearable: e.clearable === void 0 ? !0 : e.clearable,
484
+ isSearchable: !0,
485
+ controlShouldRenderValue: !0,
486
+ filterOption: R(O),
487
+ onChange: (t) => {
488
+ P(e.filter, t);
489
+ },
490
+ value: e.value,
491
+ defaultValue: e.defaultValue
492
+ }
493
+ ) : /* @__PURE__ */ r.jsx(
494
+ Y,
495
+ {
496
+ variant: g,
497
+ defaultValue: e.defaultValue ? e.defaultValue.map((t) => `${t.value}`) : [],
498
+ value: e.value ? e.value.map((t) => `${t.value}`) : void 0,
499
+ onValueChange: (t) => {
500
+ P(
501
+ e.filter,
502
+ e.availableValues.filter((l) => t.indexOf(`${l.value}`) !== -1)
503
+ );
504
+ },
505
+ children: e.availableValues.map((t, l) => /* @__PURE__ */ r.jsx(
506
+ _,
507
+ {
508
+ label: `${t.label}`,
509
+ value: `${t.value}`
510
+ },
511
+ l
512
+ ))
513
+ }
514
+ ),
515
+ e.allowSelectAll ? /* @__PURE__ */ r.jsx(
516
+ "button",
517
+ {
518
+ type: "button",
519
+ className: "bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400",
520
+ onClick: () => {
521
+ P(e.filter, e.availableValues);
522
+ },
523
+ children: "Select all options"
524
+ }
525
+ ) : null
526
+ ] })
527
+ ]
528
+ },
529
+ s
530
+ )),
531
+ C ? /* @__PURE__ */ r.jsxs(
532
+ "div",
533
+ {
534
+ style: {
535
+ width: C.width || `calc(${100 / d}% - ${(d - 1) / d}rem)`,
536
+ flexGrow: 1,
537
+ flexShrink: 0,
538
+ minWidth: "240px"
539
+ },
540
+ children: [
541
+ /* @__PURE__ */ r.jsx(F, { className: "mb-2", children: C.label || "Highlight data" }),
542
+ /* @__PURE__ */ r.jsx(
543
+ j,
544
+ {
545
+ options: ie,
546
+ variant: g,
547
+ size: "sm",
548
+ isMulti: !0,
549
+ isClearable: !0,
550
+ isSearchable: !0,
551
+ controlShouldRenderValue: !0,
552
+ filterOption: R(O),
553
+ onChange: (e) => {
554
+ oe(e?.map((s) => s.value));
555
+ },
556
+ value: T?.map((e) => ({
557
+ label: e,
558
+ value: e
559
+ })),
560
+ defaultValue: C.defaultValues?.map((e) => ({
561
+ label: e,
562
+ value: e
563
+ }))
564
+ }
565
+ )
566
+ ]
567
+ }
568
+ ) : null
569
+ ]
570
+ }
571
+ ) : null,
572
+ /* @__PURE__ */ r.jsx(
573
+ je,
574
+ {
575
+ graph: h,
576
+ graphData: se,
577
+ graphDataConfiguration: b,
578
+ debugMode: w,
579
+ readableHeader: H || [],
580
+ updateFilters: L,
581
+ settings: {
582
+ ...a || {},
583
+ ...p,
584
+ graphTitle: void 0,
585
+ graphDescription: void 0,
586
+ graphDownload: !1,
587
+ dataDownload: !1,
588
+ backgroundColor: void 0,
589
+ padding: "0",
590
+ theme: a?.theme,
591
+ ...T ? {
592
+ highlightedDataPoints: T,
593
+ highlightedIds: T?.map((e) => `${e}`),
594
+ highlightedLines: T?.map((e) => e)
595
+ } : {}
596
+ }
597
+ }
598
+ )
599
+ ] }) : /* @__PURE__ */ r.jsx("div", { className: "w-full flex justify-center p-4", children: /* @__PURE__ */ r.jsx(pe, {}) }) })
600
+ }
601
+ )
602
+ }
603
+ )
604
+ }
605
+ ) : /* @__PURE__ */ r.jsx(W, { size: "xs", className: "text-center text-accent-dark-red dark:text-accent-red p-2", children: "Please make sure either `dataSettings` props are present as they are required for data." });
606
+ }
607
+ export {
608
+ We as SingleGraphDashboardThreeDGraphs
609
+ };
610
+ //# sourceMappingURL=SingleGraphDashboardThreeDGraphs.js.map