@undp/data-viz 1.3.1 → 1.4.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 (104) 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/style.css +1 -1
  79. package/dist/transformData.cjs +1 -1
  80. package/dist/transformData.d.ts +5 -5
  81. package/dist/transformData.js +2 -2
  82. package/dist/{transformDataForAggregation-DAQJWGNL.js → transformDataForAggregation-CdcwlnNe.js} +2 -2
  83. package/dist/transformDataForAggregation-CdcwlnNe.js.map +1 -0
  84. package/dist/{transformDataForAggregation-BUGJnson.cjs → transformDataForAggregation-Du-Hei-W.cjs} +2 -2
  85. package/dist/transformDataForAggregation-Du-Hei-W.cjs.map +1 -0
  86. package/dist/{transformDataForGraphFromFile-DdNiOWeC.js → transformDataForGraphFromFile-CA0rw80A.js} +2 -2
  87. package/dist/{transformDataForGraphFromFile-DdNiOWeC.js.map → transformDataForGraphFromFile-CA0rw80A.js.map} +1 -1
  88. package/dist/{transformDataForGraphFromFile-CrntpaMU.cjs → transformDataForGraphFromFile-D9G3ToQf.cjs} +2 -2
  89. package/dist/{transformDataForGraphFromFile-CrntpaMU.cjs.map → transformDataForGraphFromFile-D9G3ToQf.cjs.map} +1 -1
  90. package/dist/transformDataForSelect-D8AuvYdf.js +14 -0
  91. package/dist/transformDataForSelect-D8AuvYdf.js.map +1 -0
  92. package/dist/transformDataForSelect-YmStusCI.cjs +2 -0
  93. package/dist/transformDataForSelect-YmStusCI.cjs.map +1 -0
  94. package/dist/validateSchema.d.ts +2 -4
  95. package/package.json +37 -2
  96. package/dist/checkIfMultiple-BB7PlCNh.js.map +0 -1
  97. package/dist/checkIfMultiple-D5ysrI7G.cjs +0 -12
  98. package/dist/checkIfMultiple-D5ysrI7G.cjs.map +0 -1
  99. package/dist/index-D9h2WYDS.cjs +0 -22
  100. package/dist/index-D9h2WYDS.cjs.map +0 -1
  101. package/dist/index-OCoyy1wG.js +0 -635
  102. package/dist/index-OCoyy1wG.js.map +0 -1
  103. package/dist/transformDataForAggregation-BUGJnson.cjs.map +0 -1
  104. package/dist/transformDataForAggregation-DAQJWGNL.js.map +0 -1
@@ -0,0 +1,570 @@
1
+ import { JSX } from 'react/jsx-runtime';
2
+
3
+ declare interface AdvancedDataSelectionDataType {
4
+ label?: string;
5
+ options: {
6
+ label: string;
7
+ dataConfiguration: {
8
+ columnId: string[] | string;
9
+ chartConfigId: string;
10
+ }[];
11
+ graphSettings?: GraphSettingsDataType;
12
+ }[];
13
+ ui?: 'select' | 'radio';
14
+ width?: string;
15
+ defaultValue?: {
16
+ label: string;
17
+ dataConfiguration: {
18
+ columnId: string[] | string;
19
+ chartConfigId: string;
20
+ }[];
21
+ graphSettings?: GraphSettingsDataType;
22
+ };
23
+ }
24
+
25
+ declare interface AggregationSettingsDataType {
26
+ column: string;
27
+ aggregationMethod?: 'sum' | 'average' | 'min' | 'max';
28
+ }
29
+
30
+ declare interface AnimateDataType {
31
+ duration: number;
32
+ once: boolean;
33
+ amount: 'some' | 'all' | number;
34
+ }
35
+
36
+ declare interface AnnotationSettingsDataType {
37
+ text: string;
38
+ maxWidth?: number;
39
+ xCoordinate?: number | string;
40
+ yCoordinate?: number | string;
41
+ xOffset?: number;
42
+ yOffset?: number;
43
+ align?: 'center' | 'left' | 'right';
44
+ color?: string;
45
+ fontWeight?: 'regular' | 'bold' | 'medium';
46
+ showConnector?: boolean | number;
47
+ connectorRadius?: number;
48
+ classNames?: {
49
+ connector?: string;
50
+ text?: string;
51
+ };
52
+ styles?: {
53
+ connector?: React.CSSProperties;
54
+ text?: React.CSSProperties;
55
+ };
56
+ }
57
+
58
+ declare interface AxesClassNameObject {
59
+ gridLines?: string;
60
+ labels?: string;
61
+ title?: string;
62
+ axis?: string;
63
+ }
64
+
65
+ declare interface AxesStyleObject {
66
+ gridLines?: React.CSSProperties;
67
+ labels?: React.CSSProperties;
68
+ title?: React.CSSProperties;
69
+ axis?: React.CSSProperties;
70
+ }
71
+
72
+ declare interface ClassNameObject {
73
+ title?: string;
74
+ footnote?: string;
75
+ source?: string;
76
+ description?: string;
77
+ tooltip?: string;
78
+ xAxis?: AxesClassNameObject;
79
+ yAxis?: AxesClassNameObject;
80
+ legend?: string;
81
+ graphContainer?: string;
82
+ graphObjectValues?: string;
83
+ dataConnectors?: string;
84
+ mouseOverLine?: string;
85
+ regLine?: string;
86
+ dataCards?: string;
87
+ }
88
+
89
+ declare interface ColumnConfigurationDataType {
90
+ column: string;
91
+ delimiter?: string;
92
+ }
93
+
94
+ declare interface ConfigObject {
95
+ dashboardID?: string;
96
+ dashboardLayout: PerformanceIntensiveDashboardLayoutDataType;
97
+ dataSettings: DataSettingsDataType;
98
+ filters?: FilterUiSettingsDataType[];
99
+ noOfFiltersPerRow?: number;
100
+ filterPosition?: 'top' | 'side';
101
+ debugMode?: boolean;
102
+ theme?: 'dark' | 'light';
103
+ readableHeader?: {
104
+ value: string;
105
+ label: string;
106
+ }[];
107
+ dataFilters?: DataFilterDataType[];
108
+ uiMode?: 'light' | 'normal';
109
+ graphStyles?: StyleObject;
110
+ graphClassNames?: ClassNameObject;
111
+ }
112
+
113
+ declare type CurveTypes = 'linear' | 'curve' | 'step' | 'stepAfter' | 'stepBefore';
114
+
115
+ declare interface CustomHighlightAreaSettingsDataType {
116
+ coordinates: (number | string)[];
117
+ closePath?: boolean;
118
+ style?: React.CSSProperties;
119
+ className?: string;
120
+ color?: string;
121
+ strokeWidth?: number;
122
+ }
123
+
124
+ declare interface CustomLayerDataType {
125
+ position: 'before' | 'after';
126
+ layer: React.ReactNode;
127
+ }
128
+
129
+ declare interface DashboardColumnDataWithoutGraphType {
130
+ attachedFilter?: string;
131
+ columnWidth?: number;
132
+ dataTransform?: {
133
+ keyColumn: string;
134
+ aggregationColumnsSetting?: AggregationSettingsDataType[];
135
+ };
136
+ dataFilters?: DataFilterDataType[];
137
+ graphDataConfiguration?: GraphConfigurationDataType[];
138
+ dataSelectionOptions?: DataSelectionDataType[];
139
+ advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];
140
+ settings?: GraphSettingsDataType;
141
+ }
142
+
143
+ declare interface DashboardLayoutDataWithoutRowsType {
144
+ title?: string;
145
+ description?: string;
146
+ padding?: string;
147
+ backgroundColor?: string | boolean;
148
+ language?: Languages;
149
+ }
150
+
151
+ declare interface DataFilterDataType {
152
+ column: string;
153
+ includeValues?: (string | number | boolean | null | undefined)[];
154
+ excludeValues?: (string | number | boolean | null | undefined)[];
155
+ }
156
+
157
+ declare interface DataSelectionDataType {
158
+ label?: string;
159
+ allowedColumnIds: {
160
+ value: string;
161
+ label: string;
162
+ graphSettings: GraphSettingsDataType;
163
+ }[];
164
+ chartConfigId: string;
165
+ ui?: 'select' | 'radio';
166
+ width?: string;
167
+ }
168
+
169
+ declare interface DataSettingsDataType {
170
+ dataURL?: string | FileSettingsDataType[];
171
+ fileType?: 'csv' | 'json' | 'api';
172
+ delimiter?: string;
173
+ columnsToArray?: ColumnConfigurationDataType[];
174
+ apiHeaders?: any;
175
+ dataTransformation?: string;
176
+ idColumnTitle?: string;
177
+ data?: any;
178
+ }
179
+
180
+ declare interface DataTableColumnDataType {
181
+ columnTitle?: string;
182
+ columnId: string;
183
+ sortable?: boolean;
184
+ filterOptions?: string[];
185
+ chip?: boolean;
186
+ chipColumnId?: string;
187
+ chipColors?: {
188
+ value: string;
189
+ color: string;
190
+ }[];
191
+ separator?: string;
192
+ align?: 'left' | 'right' | 'center';
193
+ suffix?: string;
194
+ prefix?: string;
195
+ columnWidth?: number;
196
+ }
197
+
198
+ declare interface FileSettingsDataType {
199
+ dataURL: string;
200
+ idColumnName: string;
201
+ fileType?: 'csv' | 'json' | 'api';
202
+ delimiter?: string;
203
+ columnsToArray?: ColumnConfigurationDataType[];
204
+ apiHeaders?: any;
205
+ dataTransformation?: string;
206
+ }
207
+
208
+ declare type FilterUiSettingsDataType = {
209
+ column: string;
210
+ label?: string;
211
+ singleSelect?: boolean;
212
+ clearable?: boolean;
213
+ defaultValue?: string[] | string | number | number[];
214
+ excludeValues?: string[];
215
+ allowSelectAll?: boolean;
216
+ width?: string;
217
+ };
218
+
219
+ declare type GeoHubGraphType = 'geoHubCompareMap' | 'geoHubMap' | 'geoHubMapWithLayerSelection';
220
+
221
+ declare interface GraphConfigurationDataType {
222
+ columnId: string | string[];
223
+ chartConfigId: string;
224
+ }
225
+
226
+ declare interface GraphSettingsDataType {
227
+ colors?: string | string[] | string[][];
228
+ orientation?: 'horizontal' | 'vertical';
229
+ axisTitles?: [string, string];
230
+ graphTitle?: string | React.ReactNode;
231
+ labelOrder?: string[];
232
+ graphDescription?: string | React.ReactNode;
233
+ footNote?: string | React.ReactNode;
234
+ height?: number;
235
+ width?: number;
236
+ suffix?: string;
237
+ prefix?: string;
238
+ sources?: SourcesDataType[];
239
+ barPadding?: number;
240
+ showTicks?: boolean;
241
+ leftMargin?: number;
242
+ rightMargin?: number;
243
+ truncateBy?: number;
244
+ colorDomain?: string[] | number[];
245
+ colorLegendTitle?: string;
246
+ backgroundColor?: string | boolean;
247
+ padding?: string;
248
+ topMargin?: number;
249
+ bottomMargin?: number;
250
+ relativeHeight?: number;
251
+ showColorScale?: boolean;
252
+ maxValue?: number;
253
+ minValue?: number;
254
+ tooltip?: string | ((_d: any) => React.ReactNode);
255
+ refValues?: ReferenceDataType[];
256
+ graphID?: string;
257
+ highlightedDataPoints?: (string | number)[];
258
+ graphDownload?: boolean;
259
+ sortData?: 'desc' | 'asc';
260
+ dataDownload?: boolean;
261
+ maxRadiusValue?: number;
262
+ leftBarTitle?: string;
263
+ rightBarTitle?: string;
264
+ barColors?: [string, string];
265
+ centerGap?: number;
266
+ columnData?: DataTableColumnDataType[];
267
+ mainText?: string;
268
+ subNote?: string;
269
+ radius?: number;
270
+ strokeWidth?: number;
271
+ showValues?: boolean;
272
+ scaleType?: ScaleDataType;
273
+ showColumnLabels?: boolean;
274
+ showRowLabels?: boolean;
275
+ noDataColor?: string;
276
+ fillContainer?: boolean;
277
+ numberOfBins?: number;
278
+ donutStrokeWidth?: number;
279
+ barGraphLayout?: 'horizontal' | 'vertical';
280
+ graphType?: 'circlePacking' | 'treeMap' | 'barGraph' | 'donutChart';
281
+ donutColorDomain?: string[];
282
+ lineTitles?: [string, string];
283
+ noOfXTicks?: number;
284
+ dateFormat?: string;
285
+ lineColors?: string[];
286
+ sameAxes?: boolean;
287
+ highlightAreaSettings?: HighlightAreaSettingsDataType[] | HighlightAreaSettingsForScatterPlotDataType[];
288
+ labels?: (string | number)[];
289
+ showColorLegendAtTop?: boolean;
290
+ highlightedLines?: (string | number)[];
291
+ area?: boolean;
292
+ mapData?: any;
293
+ xColorLegendTitle?: string;
294
+ yColorLegendTitle?: string;
295
+ xDomain?: [number, number, number, number];
296
+ yDomain?: [number, number, number, number];
297
+ scale?: number;
298
+ centerPoint?: [number, number];
299
+ mapBorderWidth?: number;
300
+ mapNoDataColor?: string;
301
+ mapBorderColor?: string;
302
+ isWorldMap?: boolean;
303
+ zoomScaleExtend?: [number, number];
304
+ zoomTranslateExtend?: [[number, number], [number, number]];
305
+ highlightedIds?: string[];
306
+ mapProperty?: string;
307
+ showAntarctica?: boolean;
308
+ mapStyles?: [string, string];
309
+ center?: [number, number];
310
+ zoomLevel?: number;
311
+ mapStyle?: string | {
312
+ style: string;
313
+ name: string;
314
+ }[];
315
+ barTitle?: string;
316
+ lineTitle?: string;
317
+ barColor?: string;
318
+ lineColor?: string;
319
+ showLabels?: boolean;
320
+ xAxisTitle?: string;
321
+ yAxisTitle?: string;
322
+ refXValues?: ReferenceDataType[];
323
+ refYValues?: ReferenceDataType[];
324
+ customHighlightAreaSettings?: CustomHighlightAreaSettingsDataType[];
325
+ maxXValue?: number;
326
+ minXValue?: number;
327
+ maxYValue?: number;
328
+ minYValue?: number;
329
+ axisTitle?: [string, string];
330
+ year?: number | string;
331
+ aggregationMethod?: 'count' | 'max' | 'min' | 'average' | 'sum';
332
+ stripType?: 'strip' | 'dot';
333
+ language?: Languages;
334
+ animate?: boolean | AnimateDataType;
335
+ highlightColor?: string;
336
+ dotOpacity?: number;
337
+ sortParameter?: number | 'diff' | 'total';
338
+ arrowConnector?: boolean;
339
+ connectorStrokeWidth?: number;
340
+ countOnly?: (string | number)[];
341
+ value?: number;
342
+ gridSize?: number;
343
+ unitPadding?: number;
344
+ size?: number;
345
+ totalNoOfDots?: number;
346
+ showStrokeForWhiteDots?: boolean;
347
+ note?: string;
348
+ showNAColor?: boolean;
349
+ minHeight?: number;
350
+ autoPlay?: boolean;
351
+ autoSort?: boolean;
352
+ showOnlyActiveDate?: boolean;
353
+ showDots?: boolean;
354
+ diffAreaColors?: [string, string];
355
+ theme?: 'dark' | 'light';
356
+ uiMode?: 'light' | 'normal';
357
+ maxBarThickness?: number;
358
+ minBarThickness?: number;
359
+ maxNumberOfBars?: number;
360
+ includeLayers?: string[];
361
+ excludeLayers?: string[];
362
+ layerSelection?: {
363
+ layerID: string;
364
+ name: string[];
365
+ }[];
366
+ annotations?: AnnotationSettingsDataType[];
367
+ regressionLine?: boolean | string;
368
+ ariaLabel?: string;
369
+ nodePadding?: number;
370
+ nodeWidth?: number;
371
+ highlightedSourceDataPoints?: string[];
372
+ highlightedTargetDataPoints?: string[];
373
+ defaultLinkOpacity?: number;
374
+ sourceTitle?: string;
375
+ targetTitle?: string;
376
+ sortNodes?: 'asc' | 'desc' | 'mostReadable' | 'none';
377
+ sourceColors?: string[] | string;
378
+ targetColors?: string[] | string;
379
+ sourceColorDomain?: string[];
380
+ targetColorDomain?: string[];
381
+ showIntervalDots?: boolean;
382
+ showIntervalValues?: boolean;
383
+ intervalLineStrokeWidth?: number;
384
+ intervalLineColors?: [string, string];
385
+ intervalAreaColor?: string;
386
+ cardTemplate?: string | ((_d: any) => React.ReactNode);
387
+ cardBackgroundColor?: string;
388
+ legendMaxWidth?: string;
389
+ cardFilters?: {
390
+ column: string;
391
+ label?: string;
392
+ defaultValue?: string | number;
393
+ excludeValues?: (string | number)[];
394
+ width?: string;
395
+ }[];
396
+ cardSortingOptions?: {
397
+ defaultValue?: string;
398
+ options: {
399
+ value: string;
400
+ label: string;
401
+ type: 'asc' | 'desc';
402
+ }[];
403
+ width?: string;
404
+ };
405
+ cardSearchColumns?: string[];
406
+ cardMinWidth?: number;
407
+ textBackground?: boolean;
408
+ headingFontSize?: string;
409
+ centerAlign?: boolean;
410
+ verticalAlign?: 'center' | 'top' | 'bottom';
411
+ resetSelectionOnDoubleClick?: boolean;
412
+ intervalAreaOpacity?: number;
413
+ detailsOnClick?: string | ((_d: any) => React.ReactNode);
414
+ valueColor?: string;
415
+ labelColor?: string;
416
+ noOfYTicks?: number;
417
+ noOfTicks?: number;
418
+ minDate?: string | number;
419
+ maxDate?: string | number;
420
+ colorLegendColors?: string[];
421
+ colorLegendDomain?: string[];
422
+ barAxisTitle?: string;
423
+ barSuffix?: string;
424
+ barPrefix?: string;
425
+ lineSuffix?: string;
426
+ linePrefix?: string;
427
+ xSuffix?: string;
428
+ xPrefix?: string;
429
+ ySuffix?: string;
430
+ yPrefix?: string;
431
+ lineSuffixes?: [string, string];
432
+ linePrefixes?: [string, string];
433
+ allowDataDownloadOnDetail?: string | boolean;
434
+ noOfItemsInAPage?: number;
435
+ curveType?: CurveTypes;
436
+ styles?: StyleObject;
437
+ classNames?: ClassNameObject;
438
+ mapProjection?: MapProjectionTypes;
439
+ filterNA?: boolean;
440
+ fillShape?: boolean;
441
+ colorScaleMaxWidth?: string;
442
+ axisLabels?: (string | number)[];
443
+ minWidth?: string;
444
+ zoomInteraction?: ZoomInteractionTypes;
445
+ layout?: 'primary' | 'secondary';
446
+ qualitativeRangeColors?: string[];
447
+ targetStyle?: 'background' | 'line';
448
+ targetColor?: 'string';
449
+ measureBarWidthFactor?: number;
450
+ mapLegend?: string | React.ReactNode | MapLegendDataType[];
451
+ dimmedOpacity?: number;
452
+ precision?: number;
453
+ customLayers?: CustomLayerDataType[];
454
+ dashedLines?: (string | number)[];
455
+ dashSettings?: string[];
456
+ labelsToBeHidden?: (string | number)[];
457
+ autoRotate?: boolean;
458
+ enableZoom?: boolean;
459
+ globeMaterial?: MaterialDataType;
460
+ categorical?: boolean;
461
+ atmosphereColor?: string;
462
+ lineAxisTitle?: string;
463
+ timeline?: TimelineDataType;
464
+ naLabel?: string;
465
+ globeOffset?: [number, number];
466
+ polygonAltitude?: number;
467
+ }
468
+
469
+ declare type GraphType = GraphTypeForGriddedGraph;
470
+
471
+ declare type GraphTypeForGriddedGraph = 'barChart' | 'stackedBarChart' | 'groupedBarChart' | 'lineChart' | 'dualAxisLineChart' | 'multiLineChart' | 'multiLineAltChart' | 'differenceLineChart' | 'stackedAreaChart' | 'choroplethMap' | 'biVariateChoroplethMap' | 'dotDensityMap' | 'donutChart' | 'slopeChart' | 'scatterPlot' | 'dumbbellChart' | 'treeMap' | 'circlePacking' | 'heatMap' | 'stripChart' | 'beeSwarmChart' | 'butterflyChart' | 'histogram' | 'sparkLine' | 'paretoChart' | 'dataTable' | 'statCard' | 'unitChart' | 'sankeyChart' | 'lineChartWithConfidenceInterval' | 'dataCards' | 'radarChart' | 'bulletChart';
472
+
473
+ declare interface HighlightAreaSettingsDataType {
474
+ coordinates: [number | string | null, number | string | null];
475
+ style?: React.CSSProperties;
476
+ className?: string;
477
+ color?: string;
478
+ strokeWidth?: number;
479
+ }
480
+
481
+ declare interface HighlightAreaSettingsForScatterPlotDataType {
482
+ coordinates: [number | null, number | null, number | null, number | null];
483
+ style?: React.CSSProperties;
484
+ className?: string;
485
+ color?: string;
486
+ strokeWidth?: number;
487
+ }
488
+
489
+ declare type Languages = 'en' | 'ar' | 'az' | 'bn' | 'cy' | 'he' | 'hi' | 'jp' | 'ka' | 'km' | 'ko' | 'my' | 'ne' | 'zh' | 'custom';
490
+
491
+ declare interface MapLegendDataType {
492
+ mapStyleName: string;
493
+ legend: string | React.ReactNode;
494
+ }
495
+
496
+ declare type MapProjectionTypes = 'mercator' | 'equalEarth' | 'naturalEarth' | 'orthographic' | 'albersUSA';
497
+
498
+ declare interface MaterialDataType {
499
+ color: string;
500
+ opacity: number;
501
+ transparent: boolean;
502
+ }
503
+
504
+ declare interface PerformanceIntensiveDashboardColumnDataType extends DashboardColumnDataWithoutGraphType {
505
+ graphType: GraphType | ThreeDGraphType | GeoHubGraphType;
506
+ }
507
+
508
+ declare interface PerformanceIntensiveDashboardLayoutDataType extends DashboardLayoutDataWithoutRowsType {
509
+ rows: {
510
+ columns: PerformanceIntensiveDashboardColumnDataType[];
511
+ height?: number;
512
+ }[];
513
+ }
514
+
515
+ export declare function PerformanceIntensiveMultiGraphDashboardFromConfig(props: Props): JSX.Element;
516
+
517
+ declare interface Props {
518
+ config: string | ConfigObject;
519
+ }
520
+
521
+ declare interface ReferenceDataType {
522
+ value: number | null;
523
+ text: string;
524
+ color?: string;
525
+ styles?: {
526
+ line?: React.CSSProperties;
527
+ text?: React.CSSProperties;
528
+ };
529
+ classNames?: {
530
+ line?: string;
531
+ text?: string;
532
+ };
533
+ }
534
+
535
+ declare type ScaleDataType = 'categorical' | 'linear' | 'threshold';
536
+
537
+ declare interface SourcesDataType {
538
+ source: string;
539
+ link?: string;
540
+ }
541
+
542
+ declare interface StyleObject {
543
+ title?: React.CSSProperties;
544
+ footnote?: React.CSSProperties;
545
+ source?: React.CSSProperties;
546
+ description?: React.CSSProperties;
547
+ graphContainer?: React.CSSProperties;
548
+ tooltip?: React.CSSProperties;
549
+ xAxis?: AxesStyleObject;
550
+ yAxis?: AxesStyleObject;
551
+ graphObjectValues?: React.CSSProperties;
552
+ dataConnectors?: React.CSSProperties;
553
+ mouseOverLine?: React.CSSProperties;
554
+ regLine?: React.CSSProperties;
555
+ dataCards?: React.CSSProperties;
556
+ }
557
+
558
+ declare type ThreeDGraphType = 'threeDGlobe';
559
+
560
+ declare interface TimelineDataType {
561
+ autoplay: boolean;
562
+ enabled: boolean;
563
+ showOnlyActiveDate: boolean;
564
+ speed?: number;
565
+ dateFormat?: string;
566
+ }
567
+
568
+ declare type ZoomInteractionTypes = 'scroll' | 'ctrlScroll' | 'button' | 'noZoom';
569
+
570
+ export { }
@@ -0,0 +1,38 @@
1
+ import { j as a } from "./index-CHPV5EwG-BPSP-7Jg.js";
2
+ import { useState as i, useEffect as n } from "react";
3
+ import { y as f } from "./Spinner-C85UF28E.js";
4
+ import { PerformanceIntensiveMultiGraphDashboard as d } from "./PerformanceIntensiveMultiGraphDashboard.js";
5
+ import { f as l } from "./fetchAndParseData-Bcmr659B.js";
6
+ function b(s) {
7
+ const { config: t } = s, [e, r] = i(void 0);
8
+ return n(() => {
9
+ (async () => {
10
+ if (typeof t == "string") {
11
+ const o = await l(t);
12
+ r(o);
13
+ } else
14
+ r(t);
15
+ })();
16
+ }, [t]), e ? /* @__PURE__ */ a.jsx(
17
+ d,
18
+ {
19
+ dashboardID: e.dashboardID,
20
+ dashboardLayout: e.dashboardLayout,
21
+ dataSettings: e.dataSettings,
22
+ filters: e.filters,
23
+ debugMode: e.debugMode,
24
+ theme: e.theme,
25
+ readableHeader: e.readableHeader,
26
+ dataFilters: e.dataFilters,
27
+ noOfFiltersPerRow: e.noOfFiltersPerRow,
28
+ filterPosition: e.filterPosition,
29
+ uiMode: e.uiMode,
30
+ graphStyles: e.graphStyles,
31
+ graphClassNames: e.graphClassNames
32
+ }
33
+ ) : /* @__PURE__ */ a.jsx("div", { className: "w-full flex justify-center p-4", children: /* @__PURE__ */ a.jsx(f, {}) });
34
+ }
35
+ export {
36
+ b as PerformanceIntensiveMultiGraphDashboardFromConfig
37
+ };
38
+ //# sourceMappingURL=PerformanceIntensiveMultiGraphDashboardFromConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerformanceIntensiveMultiGraphDashboardFromConfig.js","sources":["../src/Components/Dashboard/PerformanceIntensive/MultiGraphDashboardFromConfig.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\n\r\nimport { PerformanceIntensiveMultiGraphDashboard } from './MultiGraphDashboard';\r\n\r\nimport {\r\n ClassNameObject,\r\n DataFilterDataType,\r\n DataSettingsDataType,\r\n FilterUiSettingsDataType,\r\n PerformanceIntensiveDashboardLayoutDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { fetchAndParseJSON } from '@/Utils/fetchAndParseData';\r\n\r\ninterface ConfigObject {\r\n dashboardID?: string;\r\n dashboardLayout: PerformanceIntensiveDashboardLayoutDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n noOfFiltersPerRow?: number;\r\n filterPosition?: 'top' | 'side';\r\n debugMode?: boolean;\r\n theme?: 'dark' | 'light';\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n dataFilters?: DataFilterDataType[];\r\n uiMode?: 'light' | 'normal';\r\n graphStyles?: StyleObject;\r\n graphClassNames?: ClassNameObject;\r\n}\r\n\r\ninterface Props {\r\n config: string | ConfigObject;\r\n}\r\n\r\nexport function PerformanceIntensiveMultiGraphDashboardFromConfig(props: Props) {\r\n const { config } = props;\r\n const [configSettings, setConfigSettings] = useState<ConfigObject | undefined>(undefined);\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (typeof config === 'string') {\r\n const data = await fetchAndParseJSON(config);\r\n setConfigSettings(data);\r\n } else {\r\n setConfigSettings(config);\r\n }\r\n };\r\n fetchData();\r\n }, [config]);\r\n if (!configSettings)\r\n return (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n );\r\n return (\r\n <PerformanceIntensiveMultiGraphDashboard\r\n dashboardID={configSettings.dashboardID}\r\n dashboardLayout={configSettings.dashboardLayout}\r\n dataSettings={configSettings.dataSettings}\r\n filters={configSettings.filters}\r\n debugMode={configSettings.debugMode}\r\n theme={configSettings.theme}\r\n readableHeader={configSettings.readableHeader}\r\n dataFilters={configSettings.dataFilters}\r\n noOfFiltersPerRow={configSettings.noOfFiltersPerRow}\r\n filterPosition={configSettings.filterPosition}\r\n uiMode={configSettings.uiMode}\r\n graphStyles={configSettings.graphStyles}\r\n graphClassNames={configSettings.graphClassNames}\r\n />\r\n );\r\n}\r\n"],"names":["PerformanceIntensiveMultiGraphDashboardFromConfig","props","config","configSettings","setConfigSettings","useState","useEffect","data","fetchAndParseJSON","jsx","PerformanceIntensiveMultiGraphDashboard","Spinner"],"mappings":";;;;;AAsCO,SAASA,EAAkDC,GAAc;AAC9E,QAAM,EAAE,QAAAC,MAAWD,GACb,CAACE,GAAgBC,CAAiB,IAAIC,EAAmC,MAAS;AAYxF,SAXAC,EAAU,MAAM;AASd,KARkB,YAAY;AAC5B,UAAI,OAAOJ,KAAW,UAAU;AAC9B,cAAMK,IAAO,MAAMC,EAAkBN,CAAM;AAC3C,QAAAE,EAAkBG,CAAI;AAAA,MACxB;AACE,QAAAH,EAAkBF,CAAM;AAAA,IAE5B,GACA;AAAA,EACF,GAAG,CAACA,CAAM,CAAC,GACNC,IAOHM,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAaP,EAAe;AAAA,MAC5B,iBAAiBA,EAAe;AAAA,MAChC,cAAcA,EAAe;AAAA,MAC7B,SAASA,EAAe;AAAA,MACxB,WAAWA,EAAe;AAAA,MAC1B,OAAOA,EAAe;AAAA,MACtB,gBAAgBA,EAAe;AAAA,MAC/B,aAAaA,EAAe;AAAA,MAC5B,mBAAmBA,EAAe;AAAA,MAClC,gBAAgBA,EAAe;AAAA,MAC/B,QAAQA,EAAe;AAAA,MACvB,aAAaA,EAAe;AAAA,MAC5B,iBAAiBA,EAAe;AAAA,IAAA;AAAA,EAAA,0BAlB/B,OAAA,EAAI,WAAU,kCACb,UAAAM,gBAAAA,MAACE,KAAQ,GACX;AAmBN;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-CHPV5EwG-DDoeWRVt.cjs"),d=require("react"),y=require("./SingleGraphDashboard.cjs"),m=require("./SingleGraphDashboardThreeDGraphs.cjs"),j=require("./SingleGraphDashboardGeoHubMaps.cjs"),b=require("./proxy-PQd2AItT.cjs"),D=require("./use-in-view-BCmzDU2O.cjs");function v(s){const{chapters:h,visibilityThreshold:g=.5,mode:i="overlay",infoWidth:n="320px",infoPosition:o="left",infoBackgroundColor:c="rgba(255,255,255,0.8)"}=s,[e,p]=d.useState(0),x=["threeDGlobe"],f=["geoHubCompareMap","geoHubMap","geoHubMapWithLayerSelection"],t=[];return h.forEach((a,u)=>{a.sections.forEach((l,S)=>{t.push({chapter:u,dataSettings:a.dataSettings,section:S,graphType:a.graphType,infoBox:l.infoBox,graphSettings:{...a.graphSettings,...l.graphSettings||{},animate:!0},graphDataConfiguration:l.graphDataConfiguration||a.graphDataConfiguration||[]})})}),r.jsxRuntimeExports.jsxs("div",{className:"relative w-full h-full",children:[r.jsxRuntimeExports.jsx(b.motion.div,{className:"fixed top-0 h-full -z-10",initial:{opacity:0},animate:{opacity:1},transition:{duration:.5},style:{left:i==="overlay"||o==="right"?0:n,width:i==="overlay"?"100%":`calc(100% - ${n})`},children:x.includes(t[e].graphType)?r.jsxRuntimeExports.jsx(m.SingleGraphDashboardThreeDGraphs,{graphType:t[e].graphType,dataSettings:t[e].dataSettings,graphSettings:t[e].graphSettings,graphDataConfiguration:t[e].graphDataConfiguration}):f.includes(t[e].graphType)?r.jsxRuntimeExports.jsx(j.SingleGraphDashboardGeoHubMaps,{graphType:t[e].graphType,graphSettings:t[e].graphSettings}):r.jsxRuntimeExports.jsx(y.SingleGraphDashboard,{graphType:t[e].graphType,dataSettings:t[e].dataSettings,graphSettings:t[e].graphSettings,graphDataConfiguration:t[e].graphDataConfiguration})},t[e].chapter),r.jsxRuntimeExports.jsx("div",{children:t.map((a,u)=>r.jsxRuntimeExports.jsx(T,{width:n,index:u,infoBox:a.infoBox,setActiveIndex:p,position:o,mode:i,visibilityThreshold:g,backgroundColor:c},`${a.chapter}-${a.section}`))})]})}function T({infoBox:s,index:h,setActiveIndex:g,position:i,mode:n,visibilityThreshold:o,backgroundColor:c,width:e}){const p=d.useRef(null);return D.useInView(p,{once:!1,amount:o})&&g(h),r.jsxRuntimeExports.jsx("section",{ref:p,className:`min-h-screen flex ${i==="center"?"justify-center":i==="right"?"justify-end":"justify-start"}`,children:r.jsxRuntimeExports.jsxs("div",{className:`p-8 ${n==="overlay"?"h-fit mx-10 ":""}`,style:{backgroundColor:c,width:e},children:[s.title,s.description]})})}exports.PerformanceIntensiveScrollStory=v;
2
+ //# sourceMappingURL=PerformanceIntensiveScrollStory.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerformanceIntensiveScrollStory.cjs","sources":["../src/Components/Dashboard/PerformanceIntensive/ScrollStory.tsx"],"sourcesContent":["// Scrollytelling.tsx\r\nimport { motion, useInView } from 'motion/react';\r\nimport { useRef, useState } from 'react';\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 PerformanceIntensiveChaptersDataType,\r\n InfoBoxDataType,\r\n SectionsArrDataType,\r\n ThreeDGraphType,\r\n GeoHubGraphType,\r\n GraphType,\r\n} from '@/Types';\r\n\r\ninterface Props {\r\n /** Defines if the information is shown as overlay or on the side */\r\n mode?: 'overlay' | 'side';\r\n /** Defines the width of the info section */\r\n infoWidth?: string;\r\n /** Defined the different chapters for the story and different sections within the story */\r\n chapters: PerformanceIntensiveChaptersDataType[];\r\n /** Position of info on the page */\r\n infoPosition?: 'left' | 'right' | 'center';\r\n /** Sets how much of the element (from 0 to 1) must be visible before it's considered in view and it trigger the animation in the scrollytelling */\r\n visibilityThreshold?: number;\r\n /** Sets background color of the info box. */\r\n infoBackgroundColor?: string;\r\n}\r\n\r\n/** ScrollStory is a scrollytelling container component that reveals content step-by-step as the user scrolls through the page. */\r\nexport function PerformanceIntensiveScrollStory(props: Props) {\r\n const {\r\n chapters,\r\n visibilityThreshold = 0.5,\r\n mode = 'overlay',\r\n infoWidth = '320px',\r\n infoPosition = 'left',\r\n infoBackgroundColor = 'rgba(255,255,255,0.8)',\r\n } = props;\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n const threeDGraphs = ['threeDGlobe'];\r\n const geoHubMaps = ['geoHubCompareMap', 'geoHubMap', 'geoHubMapWithLayerSelection'];\r\n const sectionsArr: SectionsArrDataType[] = [];\r\n chapters.forEach((d, i) => {\r\n d.sections.forEach((s, j) => {\r\n sectionsArr.push({\r\n chapter: i,\r\n dataSettings: d.dataSettings,\r\n section: j,\r\n graphType: d.graphType,\r\n infoBox: s.infoBox,\r\n graphSettings: { ...d.graphSettings, ...(s.graphSettings || {}), animate: true },\r\n graphDataConfiguration: s.graphDataConfiguration || d.graphDataConfiguration || [],\r\n });\r\n });\r\n });\r\n return (\r\n <div className='relative w-full h-full'>\r\n {/* Background Layer */}\r\n <motion.div\r\n key={sectionsArr[activeIndex].chapter}\r\n className='fixed top-0 h-full -z-10'\r\n initial={{ opacity: 0 }}\r\n animate={{ opacity: 1 }}\r\n transition={{ duration: 0.5 }}\r\n style={{\r\n left: mode === 'overlay' ? 0 : infoPosition === 'right' ? 0 : infoWidth,\r\n width: mode === 'overlay' ? '100%' : `calc(100% - ${infoWidth})`,\r\n }}\r\n >\r\n {threeDGraphs.includes(sectionsArr[activeIndex].graphType) ? (\r\n <SingleGraphDashboardThreeDGraphs\r\n graphType={sectionsArr[activeIndex].graphType as ThreeDGraphType}\r\n dataSettings={sectionsArr[activeIndex].dataSettings}\r\n graphSettings={sectionsArr[activeIndex].graphSettings}\r\n graphDataConfiguration={sectionsArr[activeIndex].graphDataConfiguration}\r\n />\r\n ) : geoHubMaps.includes(sectionsArr[activeIndex].graphType) ? (\r\n <SingleGraphDashboardGeoHubMaps\r\n graphType={sectionsArr[activeIndex].graphType as GeoHubGraphType}\r\n graphSettings={sectionsArr[activeIndex].graphSettings}\r\n />\r\n ) : (\r\n <SingleGraphDashboard\r\n graphType={sectionsArr[activeIndex].graphType as GraphType}\r\n dataSettings={sectionsArr[activeIndex].dataSettings}\r\n graphSettings={sectionsArr[activeIndex].graphSettings}\r\n graphDataConfiguration={sectionsArr[activeIndex].graphDataConfiguration}\r\n />\r\n )}\r\n </motion.div>\r\n <div>\r\n {sectionsArr.map((section, idx) => (\r\n <ScrollySection\r\n width={infoWidth}\r\n key={`${section.chapter}-${section.section}`}\r\n index={idx}\r\n infoBox={section.infoBox}\r\n setActiveIndex={setActiveIndex}\r\n position={infoPosition}\r\n mode={mode}\r\n visibilityThreshold={visibilityThreshold}\r\n backgroundColor={infoBackgroundColor}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction ScrollySection({\r\n infoBox,\r\n index,\r\n setActiveIndex,\r\n position,\r\n mode,\r\n visibilityThreshold,\r\n backgroundColor,\r\n width,\r\n}: {\r\n infoBox: InfoBoxDataType;\r\n index: number;\r\n setActiveIndex: (idx: number) => void;\r\n position: 'left' | 'right' | 'center';\r\n mode: 'overlay' | 'side';\r\n visibilityThreshold: number;\r\n backgroundColor: string;\r\n width: string;\r\n}) {\r\n const ref = useRef(null);\r\n const isInView = useInView(ref, {\r\n once: false,\r\n amount: visibilityThreshold,\r\n });\r\n if (isInView) setActiveIndex(index);\r\n return (\r\n <section\r\n ref={ref}\r\n className={`min-h-screen flex ${position === 'center' ? 'justify-center' : position === 'right' ? 'justify-end' : 'justify-start'}`}\r\n >\r\n <div\r\n className={`p-8 ${mode === 'overlay' ? 'h-fit mx-10 ' : ''}`}\r\n style={{\r\n backgroundColor,\r\n width,\r\n }}\r\n >\r\n {infoBox.title}\r\n {infoBox.description}\r\n </div>\r\n </section>\r\n );\r\n}\r\n"],"names":["PerformanceIntensiveScrollStory","props","chapters","visibilityThreshold","mode","infoWidth","infoPosition","infoBackgroundColor","activeIndex","setActiveIndex","useState","threeDGraphs","geoHubMaps","sectionsArr","d","i","s","j","jsxs","jsx","motion","SingleGraphDashboardThreeDGraphs","SingleGraphDashboardGeoHubMaps","SingleGraphDashboard","section","idx","ScrollySection","infoBox","index","position","backgroundColor","width","ref","useRef","useInView"],"mappings":"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"}