@aivenio/aquarium 2.3.1 → 2.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 (47) hide show
  1. package/dist/_variables.scss +49 -0
  2. package/dist/atoms.cjs +55 -0
  3. package/dist/atoms.mjs +55 -0
  4. package/dist/charts.cjs +1165 -324
  5. package/dist/charts.mjs +1166 -327
  6. package/dist/src/charts/AreaChart/AreaChart.d.ts +2 -1
  7. package/dist/src/charts/AreaChart/AreaChart.js +14 -30
  8. package/dist/src/charts/BarChart/BarChart.d.ts +2 -1
  9. package/dist/src/charts/BarChart/BarChart.js +17 -21
  10. package/dist/src/charts/DefaultPalette/DefaultPalette.d.ts +15 -0
  11. package/dist/src/charts/DefaultPalette/DefaultPalette.js +23 -0
  12. package/dist/src/charts/Legend/Legend.d.ts +4 -1
  13. package/dist/src/charts/Legend/Legend.js +25 -3
  14. package/dist/src/charts/LineChart/LineChart.d.ts +2 -1
  15. package/dist/src/charts/LineChart/LineChart.js +17 -32
  16. package/dist/src/charts/PieChart/DoughnutChart.d.ts +2 -1
  17. package/dist/src/charts/PieChart/DoughnutChart.js +16 -4
  18. package/dist/src/charts/PieChart/PieChart.d.ts +3 -2
  19. package/dist/src/charts/PieChart/PieChart.js +17 -2
  20. package/dist/src/charts/PieChart/renderPieChildren.d.ts +5 -1
  21. package/dist/src/charts/PieChart/renderPieChildren.js +7 -4
  22. package/dist/src/charts/{PieChart → Tooltip}/TooltipContentWrapper.d.ts +2 -1
  23. package/dist/src/charts/Tooltip/TooltipContentWrapper.js +37 -0
  24. package/dist/src/charts/hooks/index.d.ts +1 -0
  25. package/dist/src/charts/hooks/index.js +2 -0
  26. package/dist/src/charts/hooks/useDefaultColor.d.ts +1 -0
  27. package/dist/src/charts/hooks/useDefaultColor.js +7 -0
  28. package/dist/src/charts/hooks/useDefaultColor.spec.d.ts +1 -0
  29. package/dist/src/charts/hooks/useDefaultColor.spec.js +28 -0
  30. package/dist/src/charts/index.d.ts +2 -0
  31. package/dist/src/charts/index.js +3 -1
  32. package/dist/src/charts/lib/utils.d.ts +5 -1
  33. package/dist/src/charts/lib/utils.js +27 -1
  34. package/dist/src/molecules/DatePicker/DatePicker.d.ts +3 -2
  35. package/dist/src/molecules/DatePicker/DatePicker.js +12 -8
  36. package/dist/src/molecules/DatePicker/DateRangePicker.d.ts +3 -2
  37. package/dist/src/molecules/DatePicker/DateRangePicker.js +12 -8
  38. package/dist/src/molecules/PageHeader/PageHeader.d.ts +1 -1
  39. package/dist/src/molecules/PageHeader/PageHeader.js +1 -1
  40. package/dist/src/tokens/tokens.json +55 -0
  41. package/dist/styles.css +57 -6
  42. package/dist/system.cjs +92 -13
  43. package/dist/system.mjs +96 -15
  44. package/dist/tokens.json +55 -0
  45. package/dist/tsconfig.module.tsbuildinfo +1 -1
  46. package/package.json +1 -1
  47. package/dist/src/charts/PieChart/TooltipContentWrapper.js +0 -31
package/dist/charts.cjs CHANGED
@@ -66,11 +66,14 @@ __export(charts_exports, {
66
66
  CartesianGrid: () => CartesianGrid,
67
67
  Cell: () => import_recharts7.Cell,
68
68
  DEFAULT_MARGINS: () => DEFAULT_MARGINS,
69
+ DefaultPalette: () => DefaultPalette,
70
+ DefaultPaletteContext: () => DefaultPaletteContext,
69
71
  Doughnut: () => Doughnut,
70
72
  DoughnutChart: () => DoughnutChart,
71
73
  Label: () => Label,
72
74
  LabelList: () => LabelList,
73
75
  Legend: () => Legend,
76
+ LegendContentWrapper: () => LegendContentWrapper,
74
77
  Line: () => Line,
75
78
  LineChart: () => LineChart,
76
79
  Pie: () => Pie,
@@ -84,6 +87,7 @@ __export(charts_exports, {
84
87
  getXAxisTicks: () => getXAxisTicks,
85
88
  getXAxisValues: () => getXAxisValues,
86
89
  normalizeAxisDomain: () => normalizeAxisDomain,
90
+ renderChartChildren: () => renderChartChildren,
87
91
  renderXAxis: () => renderXAxis,
88
92
  renderXTimeAxis: () => renderXTimeAxis,
89
93
  renderYAxis: () => renderYAxis,
@@ -122,6 +126,7 @@ __export(charts_exports, {
122
126
  timeYears: () => timeYears,
123
127
  unixDay: () => unixDay,
124
128
  unixDays: () => unixDays,
129
+ useDefaultColor: () => useDefaultColor,
125
130
  utcDay: () => utcDay,
126
131
  utcDays: () => utcDays,
127
132
  utcFriday: () => utcFriday,
@@ -158,13 +163,880 @@ __export(charts_exports, {
158
163
  module.exports = __toCommonJS(charts_exports);
159
164
 
160
165
  // src/charts/AreaChart/AreaChart.tsx
161
- var import_react4 = __toESM(require("react"));
166
+ var import_react8 = __toESM(require("react"));
162
167
  var import_recharts5 = require("recharts");
163
168
 
164
- // src/charts/Axis/Axis.tsx
169
+ // src/charts/Container/Container.tsx
165
170
  var import_react = __toESM(require("react"));
166
171
  var import_recharts = require("recharts");
167
172
 
173
+ // src/utils/tailwind.ts
174
+ var import_classnames = __toESM(require("classnames"));
175
+ function cleanClassNames(classNames2) {
176
+ const tokens = classNames2.split(/\s+/);
177
+ return tokens.filter((item) => item).join(" ");
178
+ }
179
+ function tw(classesOrModifiers1, classesOrModifiers2, classesOrModifiers3, classesOrModifiers4, classesOrModifiers5, classesOrModifiers6, classesOrModifiers7, classesOrModifiers8, classesOrModifiers9, classesOrModifiers10) {
180
+ const result = (0, import_classnames.default)(
181
+ classesOrModifiers1,
182
+ classesOrModifiers2,
183
+ classesOrModifiers3,
184
+ classesOrModifiers4,
185
+ classesOrModifiers5,
186
+ classesOrModifiers6,
187
+ classesOrModifiers7,
188
+ classesOrModifiers8,
189
+ classesOrModifiers9,
190
+ classesOrModifiers10
191
+ );
192
+ return cleanClassNames(result);
193
+ }
194
+ var classNames = (...args) => {
195
+ const result = (0, import_classnames.default)(...args);
196
+ return cleanClassNames(result);
197
+ };
198
+
199
+ // src/charts/Container/Container.tsx
200
+ var ResponsiveContainer = (_a) => {
201
+ var _b = _a, {
202
+ isBusy = false,
203
+ busyLabel = "Loading...",
204
+ className,
205
+ style,
206
+ width = "100%",
207
+ height = "100%",
208
+ minWidth,
209
+ minHeight,
210
+ maxHeight
211
+ } = _b, props = __objRest(_b, [
212
+ "isBusy",
213
+ "busyLabel",
214
+ "className",
215
+ "style",
216
+ "width",
217
+ "height",
218
+ "minWidth",
219
+ "minHeight",
220
+ "maxHeight"
221
+ ]);
222
+ return /* @__PURE__ */ import_react.default.createElement("div", {
223
+ "aria-busy": isBusy,
224
+ className: classNames(className, tw("relative")),
225
+ style: __spreadProps(__spreadValues({}, style), { width, height, minWidth, minHeight, maxHeight })
226
+ }, /* @__PURE__ */ import_react.default.createElement("div", {
227
+ className: classNames(
228
+ tw("absolute inset-0 transition-colors flex items-center justify-center", {
229
+ "delay-300 z-40": isBusy
230
+ })
231
+ ),
232
+ style: isBusy ? { backgroundColor: "rgba(255, 255, 255, 0.5)" } : {}
233
+ }, /* @__PURE__ */ import_react.default.createElement("span", {
234
+ "aria-hidden": !isBusy,
235
+ className: tw("rounded-full text-white bg-black typography-caption py-2 px-4 transition-all", {
236
+ "opacity-100 delay-300": isBusy,
237
+ "mb-[-20px] opacity-0": !isBusy
238
+ })
239
+ }, isBusy && busyLabel)), /* @__PURE__ */ import_react.default.createElement(import_recharts.ResponsiveContainer, __spreadValues({}, props)));
240
+ };
241
+
242
+ // src/charts/DefaultPalette/DefaultPalette.tsx
243
+ var import_react2 = __toESM(require("react"));
244
+
245
+ // src/tokens/tokens.json
246
+ var tokens_default = {
247
+ borderRadius: {
248
+ default: "4px",
249
+ full: "9999px",
250
+ "3xl": "1.5rem",
251
+ "2xl": "1rem",
252
+ xl: "0.75rem",
253
+ lg: "0.5rem",
254
+ md: "0.375rem",
255
+ sm: "0.125rem",
256
+ none: "0px"
257
+ },
258
+ borderWidth: {
259
+ "0": "0px",
260
+ "1": "1px",
261
+ "2": "2px",
262
+ "4": "4px",
263
+ "8": "8px",
264
+ default: "1px"
265
+ },
266
+ backgroundColor: {
267
+ body: "white",
268
+ "body-intense": "rgba(58,58,68,1)",
269
+ "popover-content": "white",
270
+ muted: "rgba(247,247,250,1)",
271
+ default: "rgba(237,237,240,1)",
272
+ intense: "rgba(210,210,214,1)",
273
+ primary: {
274
+ muted: "rgba(185,197,239,1)",
275
+ default: "rgba(53,69,190,1)",
276
+ intense: "rgba(34,47,149,1)",
277
+ active: "rgba(243,246,255,1)",
278
+ hover: "rgba(243,246,255,1)"
279
+ },
280
+ info: {
281
+ muted: "rgba(224,245,254,1)",
282
+ default: "rgba(3,153,227,1)",
283
+ intense: "rgba(1,116,186,1)"
284
+ },
285
+ success: {
286
+ muted: "rgba(236,247,237,1)",
287
+ default: "rgba(0,179,0,1)",
288
+ intense: "rgba(0,142,0,1)"
289
+ },
290
+ warning: {
291
+ muted: "rgba(255,248,234,1)",
292
+ default: "rgba(255,179,0,1)",
293
+ intense: "rgba(255,144,3,1)"
294
+ },
295
+ danger: {
296
+ muted: "rgba(255,203,210,1)",
297
+ default: "rgba(255,173,179,1)",
298
+ intense: "rgba(230,39,40,1)"
299
+ },
300
+ status: {
301
+ announcement: "rgba(243,246,255,1)",
302
+ info: "rgba(224,245,254,1)",
303
+ warning: "rgba(255,248,234,1)",
304
+ danger: "rgba(254,232,231,1)",
305
+ success: "rgba(236,247,237,1)"
306
+ },
307
+ "icon-button": {
308
+ hover: "rgba(25,25,29,.05)"
309
+ }
310
+ },
311
+ borderColor: {
312
+ muted: "rgba(237,237,240,1)",
313
+ default: "rgba(210,210,214,1)",
314
+ intense: "rgba(120,120,133,1)",
315
+ primary: {
316
+ muted: "rgba(129,142,236,1)",
317
+ default: "rgba(53,69,190,1)",
318
+ intense: "rgba(14,22,82,1)"
319
+ },
320
+ info: {
321
+ muted: "rgba(40,180,244,1)",
322
+ default: "rgba(3,153,227,1)",
323
+ intense: "rgba(1,116,186,1)"
324
+ },
325
+ success: {
326
+ muted: "rgba(203,255,201,1)",
327
+ default: "rgba(96,219,87,1)",
328
+ intense: "rgba(0,179,0,1)"
329
+ },
330
+ warning: {
331
+ muted: "rgba(254,235,178,1)",
332
+ default: "rgba(255,179,0,1)",
333
+ intense: "rgba(255,144,3,1)"
334
+ },
335
+ danger: {
336
+ muted: "rgba(255,203,210,1)",
337
+ default: "rgba(230,39,40,1)",
338
+ intense: "rgba(197,0,1,1)"
339
+ }
340
+ },
341
+ chartColors: {
342
+ default: "rgba(180, 180, 187, 1)",
343
+ primaryCategorical: {
344
+ "0": "rgba(88, 101, 205, 1)",
345
+ "1": "rgba(255, 53, 84, 1)",
346
+ "2": "rgba(40, 180, 244, 1)",
347
+ "3": "rgba(249, 106, 2, 1)",
348
+ "4": "rgba(0, 179, 0, 1)",
349
+ "5": "rgba(255, 193, 7, 1)"
350
+ },
351
+ secondaryCategorical: {
352
+ "0": "rgba(53, 69, 190, 1)",
353
+ "1": "rgba(253, 159, 0, 1)",
354
+ "2": "rgba(255, 53, 84, 1)",
355
+ "3": "rgba(0, 179, 0, 1)",
356
+ "4": "rgba(243, 88, 13, 1)",
357
+ "5": "rgba(3, 153, 227, 1)",
358
+ "6": "rgba(231, 0, 0, 1)",
359
+ "7": "rgba(34, 47, 149, 1)",
360
+ "8": "rgba(255, 144, 3, 1)",
361
+ "9": "rgba(228, 26, 74, 1)",
362
+ "10": "rgba(0, 159, 0, 1)",
363
+ "11": "rgba(235, 70, 16, 1)",
364
+ "12": "rgba(1, 116, 186, 1)",
365
+ "13": "rgba(197, 0, 1, 1)",
366
+ "14": "rgba(225, 29, 22, 1)",
367
+ "15": "rgba(170, 0, 0, 1)",
368
+ "16": "rgba(2, 86, 154, 1)",
369
+ "17": "rgba(167, 0, 69, 1)",
370
+ "18": "rgba(0, 111, 0, 1)",
371
+ "19": "rgba(254, 109, 0, 1)",
372
+ "20": "rgba(14, 22, 82, 1)",
373
+ "21": "rgba(88, 101, 205, 1)",
374
+ "22": "rgba(255, 179, 0, 1)",
375
+ "23": "rgba(255, 82, 117, 1)",
376
+ "24": "rgba(0, 195, 0, 1)",
377
+ "25": "rgba(249, 106, 2, 1)",
378
+ "26": "rgba(40, 180, 244, 1)",
379
+ "27": "rgba(230, 39, 40, 1)",
380
+ "28": "rgba(129, 142, 236, 1)",
381
+ "29": "rgba(255, 193, 7, 1)",
382
+ "30": "rgba(255, 111, 148, 1)",
383
+ "31": "rgba(96, 219, 87, 1)",
384
+ "32": "rgba(252, 135, 26, 1)",
385
+ "33": "rgba(127, 209, 247, 1)",
386
+ "34": "rgba(224, 80, 79, 1)",
387
+ "35": "rgba(185, 197, 239, 1)",
388
+ "36": "rgba(253, 212, 77, 1)",
389
+ "37": "rgba(255, 169, 201, 1)",
390
+ "38": "rgba(137, 235, 128, 1)",
391
+ "39": "rgba(250, 178, 110, 1)",
392
+ "40": "rgba(180, 229, 251, 1)",
393
+ "41": "rgba(255, 173, 179, 1)"
394
+ }
395
+ },
396
+ colors: {
397
+ white: "white",
398
+ black: "black",
399
+ transparent: "transparent",
400
+ current: "currentColor",
401
+ error: {
402
+ "0": "rgba(254,242,241,1)",
403
+ "5": "rgba(254,232,231,1)",
404
+ "10": "rgba(255,203,210,1)",
405
+ "20": "rgba(255,173,179,1)",
406
+ "30": "rgba(237,121,117,1)",
407
+ "40": "rgba(224,80,79,1)",
408
+ "50": "rgba(230,39,40,1)",
409
+ "60": "rgba(231,0,0,1)",
410
+ "70": "rgba(216,0,5,1)",
411
+ "80": "rgba(197,0,1,1)",
412
+ "90": "rgba(185,0,0,1)",
413
+ "100": "rgba(170,0,0,1)"
414
+ },
415
+ warning: {
416
+ "0": "rgba(255,253,249,1)",
417
+ "5": "rgba(255,248,234,1)",
418
+ "10": "rgba(255,242,205,1)",
419
+ "20": "rgba(254,235,178,1)",
420
+ "30": "rgba(253,223,129,1)",
421
+ "40": "rgba(253,212,77,1)",
422
+ "50": "rgba(253,201,38,1)",
423
+ "60": "rgba(255,193,7,1)",
424
+ "70": "rgba(255,179,0,1)",
425
+ "80": "rgba(253,159,0,1)",
426
+ "90": "rgba(255,144,3,1)",
427
+ "100": "rgba(254,109,0,1)"
428
+ },
429
+ success: {
430
+ "0": "rgba(245,250,245,1)",
431
+ "5": "rgba(236,247,237,1)",
432
+ "10": "rgba(203,255,201,1)",
433
+ "20": "rgba(175,255,167,1)",
434
+ "30": "rgba(137,235,128,1)",
435
+ "40": "rgba(96,219,87,1)",
436
+ "50": "rgba(64,206,55,1)",
437
+ "60": "rgba(0,195,0,1)",
438
+ "70": "rgba(0,179,0,1)",
439
+ "80": "rgba(0,159,0,1)",
440
+ "90": "rgba(0,142,0,1)",
441
+ "100": "rgba(0,111,0,1)"
442
+ },
443
+ info: {
444
+ "0": "rgba(249,253,255,1)",
445
+ "5": "rgba(239,250,255,1)",
446
+ "10": "rgba(224,245,254,1)",
447
+ "20": "rgba(180,229,251,1)",
448
+ "30": "rgba(127,209,247,1)",
449
+ "40": "rgba(76,194,247,1)",
450
+ "50": "rgba(40,180,244,1)",
451
+ "60": "rgba(2,168,243,1)",
452
+ "70": "rgba(3,153,227,1)",
453
+ "80": "rgba(7,136,209,1)",
454
+ "90": "rgba(1,116,186,1)",
455
+ "100": "rgba(2,86,154,1)"
456
+ },
457
+ grey: {
458
+ "0": "rgba(247,247,250,1)",
459
+ "5": "rgba(237,237,240,1)",
460
+ "10": "rgba(225,225,227,1)",
461
+ "20": "rgba(210,210,214,1)",
462
+ "30": "rgba(180,180,187,1)",
463
+ "40": "rgba(150,150,160,1)",
464
+ "50": "rgba(120,120,133,1)",
465
+ "60": "rgba(90,91,106,1)",
466
+ "70": "rgba(74,75,87,1)",
467
+ "80": "rgba(58,58,68,1)",
468
+ "90": "rgba(41,42,49,1)",
469
+ "100": "rgba(25,25,29,1)"
470
+ },
471
+ secondary: {
472
+ "0": "rgba(255,251,248,1)",
473
+ "5": "rgba(255,243,232,1)",
474
+ "10": "rgba(254,232,208,1)",
475
+ "20": "rgba(248,201,156,1)",
476
+ "30": "rgba(250,178,110,1)",
477
+ "40": "rgba(251,154,62,1)",
478
+ "50": "rgba(252,135,26,1)",
479
+ "60": "rgba(255,119,0,1)",
480
+ "70": "rgba(249,106,2,1)",
481
+ "80": "rgba(243,88,13,1)",
482
+ "90": "rgba(235,70,16,1)",
483
+ "100": "rgba(225,29,22,1)"
484
+ },
485
+ primary: {
486
+ "0": "rgba(255,255,255,1)",
487
+ "5": "rgba(243,246,255,1)",
488
+ "10": "rgba(227,233,255,1)",
489
+ "20": "rgba(213,221,250,1)",
490
+ "30": "rgba(199,209,244,1)",
491
+ "40": "rgba(185,197,239,1)",
492
+ "50": "rgba(157,170,238,1)",
493
+ "60": "rgba(129,142,236,1)",
494
+ "70": "rgba(88,101,205,1)",
495
+ "80": "rgba(53,69,190,1)",
496
+ "90": "rgba(34,47,149,1)",
497
+ "100": "rgba(14,22,82,1)"
498
+ }
499
+ },
500
+ textColor: {
501
+ inactive: "rgba(150,150,160,1)",
502
+ muted: "rgba(120,120,133,1)",
503
+ default: "rgba(74,75,87,1)",
504
+ intense: "rgba(41,42,49,1)",
505
+ opposite: {
506
+ default: "white"
507
+ },
508
+ primary: {
509
+ inactive: "rgba(185,197,239,1)",
510
+ active: "rgba(34,47,149,1)",
511
+ muted: "rgba(129,142,236,1)",
512
+ default: "rgba(88,101,205,1)",
513
+ intense: "rgba(53,69,190,1)"
514
+ },
515
+ info: {
516
+ inactive: "rgba(180,229,251,1)",
517
+ muted: "rgba(76,194,247,1)",
518
+ default: "rgba(3,153,227,1)",
519
+ intense: "rgba(1,116,186,1)"
520
+ },
521
+ success: {
522
+ inactive: "rgba(203,255,201,1)",
523
+ muted: "rgba(137,235,128,1)",
524
+ default: "rgba(0,179,0,1)",
525
+ intense: "rgba(0,142,0,1)"
526
+ },
527
+ warning: {
528
+ inactive: "rgba(254,235,178,1)",
529
+ muted: "rgba(253,212,77,1)",
530
+ default: "rgba(253,159,0,1)",
531
+ intense: "rgba(254,109,0,1)"
532
+ },
533
+ danger: {
534
+ inactive: "rgba(255,203,210,1)",
535
+ muted: "rgba(255,173,179,1)",
536
+ default: "rgba(230,39,40,1)",
537
+ intense: "rgba(197,0,1,1)"
538
+ }
539
+ },
540
+ boxShadow: {
541
+ "24dp": "0px 24px 48px rgba(90, 91, 106, 0.08), 0px 12px 24px rgba(58, 58, 68, 0.08)",
542
+ "16dp": "0px 16px 32px rgba(90, 91, 106, 0.12), 0px 8px 16px rgba(58, 58, 68, 0.12)",
543
+ "8dp": "0px 8px 16px rgba(90, 91, 106, 0.16), 0px 4px 8px rgba(58, 58, 68, 0.16)",
544
+ "4dp": "0px 4px 8px rgba(90, 91, 106, 0.20), 0px 2px 4px rgba(58, 58, 68, 0.20)",
545
+ "2dp": "0px 2px 4px rgba(90, 91, 106, 0.24), 0px 1px 2px rgba(58, 58, 68, 0.24)",
546
+ bodyInset: "inset 0 0 0 3px var(--aquarium-background-color-body)"
547
+ },
548
+ elevations: {
549
+ "24dp": "0px 24px 48px rgba(90, 91, 106, 0.08), 0px 12px 24px rgba(58, 58, 68, 0.08)",
550
+ "16dp": "0px 16px 32px rgba(90, 91, 106, 0.12), 0px 8px 16px rgba(58, 58, 68, 0.12)",
551
+ "8dp": "0px 8px 16px rgba(90, 91, 106, 0.16), 0px 4px 8px rgba(58, 58, 68, 0.16)",
552
+ "4dp": "0px 4px 8px rgba(90, 91, 106, 0.20), 0px 2px 4px rgba(58, 58, 68, 0.20)",
553
+ "2dp": "0px 2px 4px rgba(90, 91, 106, 0.24), 0px 1px 2px rgba(58, 58, 68, 0.24)"
554
+ },
555
+ screens: {
556
+ default: "0px",
557
+ xs: "320px",
558
+ sm: "672px",
559
+ md: "1056px",
560
+ lg: "1312px",
561
+ xl: "1536px"
562
+ },
563
+ margin: {
564
+ "0": "0px",
565
+ "1": "2px",
566
+ "2": "4px",
567
+ "3": "8px",
568
+ "4": "12px",
569
+ "5": "16px",
570
+ "6": "24px",
571
+ "7": "32px",
572
+ "8": "40px",
573
+ "9": "48px",
574
+ "1px": "1px",
575
+ l1: "16px",
576
+ l2: "24px",
577
+ l3: "32px",
578
+ l4: "48px",
579
+ l5: "64px",
580
+ l6: "96px",
581
+ l7: "160px"
582
+ },
583
+ spacing: {
584
+ "0": "0px",
585
+ "1": "2px",
586
+ "2": "4px",
587
+ "3": "8px",
588
+ "4": "12px",
589
+ "5": "16px",
590
+ "6": "24px",
591
+ "7": "32px",
592
+ "8": "40px",
593
+ "9": "48px",
594
+ "1px": "1px",
595
+ l1: "16px",
596
+ l2: "24px",
597
+ l3: "32px",
598
+ l4: "48px",
599
+ l5: "64px",
600
+ l6: "96px",
601
+ l7: "160px"
602
+ },
603
+ fontSize: {
604
+ base: "1rem",
605
+ "base-line-height": "1.5rem",
606
+ xs: "0.75rem",
607
+ "xs-line-height": "1rem",
608
+ sm: "0.875rem",
609
+ "sm-line-height": "1.25rem",
610
+ "lg-line-height": "1.75rem",
611
+ lg: "1.125rem",
612
+ "xl-line-height": "1.75rem",
613
+ xl: "1.25rem",
614
+ "2xl-line-height": "2rem",
615
+ "2xl": "1.5rem",
616
+ "3xl-line-height": "2.25rem",
617
+ "3xl": "1.875rem",
618
+ "4xl-line-height": "2.5rem",
619
+ "4xl": "2.25rem",
620
+ "5xl-line-height": "1",
621
+ "5xl": "3rem",
622
+ "6xl-line-height": "1",
623
+ "6xl": "3.75rem",
624
+ "7xl-line-height": "1",
625
+ "7xl": "4.5rem",
626
+ "8xl-line-height": "1",
627
+ "8xl": "6rem",
628
+ "9xl-line-height": "1",
629
+ "9xl": "8rem"
630
+ },
631
+ fontFamily: {
632
+ heading: [
633
+ "Poppins"
634
+ ],
635
+ body: [
636
+ "Inter"
637
+ ],
638
+ monospace: [
639
+ "Source Code Pro"
640
+ ]
641
+ },
642
+ typography: {
643
+ "large-heading": {
644
+ fontFamily: [
645
+ "Poppins"
646
+ ],
647
+ fontSize: "32px",
648
+ fontWeight: 700,
649
+ fontStyle: "normal",
650
+ lineHeight: 1.375,
651
+ textTransform: "none"
652
+ },
653
+ heading: {
654
+ fontFamily: [
655
+ "Poppins"
656
+ ],
657
+ fontSize: "24px",
658
+ fontWeight: 700,
659
+ fontStyle: "normal",
660
+ lineHeight: 1.375,
661
+ textTransform: "none"
662
+ },
663
+ subheading: {
664
+ fontFamily: [
665
+ "Poppins"
666
+ ],
667
+ fontSize: "20px",
668
+ fontWeight: 600,
669
+ fontStyle: "normal",
670
+ lineHeight: 1.375,
671
+ textTransform: "none"
672
+ },
673
+ "large-strong": {
674
+ fontFamily: [
675
+ "Inter"
676
+ ],
677
+ fontSize: "20px",
678
+ fontWeight: 600,
679
+ fontStyle: "normal",
680
+ lineHeight: 1.58,
681
+ textTransform: "none"
682
+ },
683
+ large: {
684
+ fontFamily: [
685
+ "Inter"
686
+ ],
687
+ fontSize: "20px",
688
+ fontWeight: 500,
689
+ fontStyle: "normal",
690
+ lineHeight: 1.58,
691
+ textTransform: "none"
692
+ },
693
+ "default-strong": {
694
+ fontFamily: [
695
+ "Inter"
696
+ ],
697
+ fontSize: "16px",
698
+ fontWeight: 500,
699
+ fontStyle: "normal",
700
+ lineHeight: 1.5,
701
+ textTransform: "none"
702
+ },
703
+ default: {
704
+ fontFamily: [
705
+ "Inter"
706
+ ],
707
+ fontSize: "16px",
708
+ fontWeight: 400,
709
+ fontStyle: "normal",
710
+ lineHeight: 1.5,
711
+ textTransform: "none"
712
+ },
713
+ "small-strong": {
714
+ fontFamily: [
715
+ "Inter"
716
+ ],
717
+ fontSize: "14px",
718
+ fontWeight: 500,
719
+ fontStyle: "normal",
720
+ lineHeight: 1.42,
721
+ textTransform: "none"
722
+ },
723
+ small: {
724
+ fontFamily: [
725
+ "Inter"
726
+ ],
727
+ fontSize: "14px",
728
+ fontWeight: 400,
729
+ fontStyle: "normal",
730
+ lineHeight: 1.42,
731
+ textTransform: "none"
732
+ },
733
+ caption: {
734
+ fontFamily: [
735
+ "Inter"
736
+ ],
737
+ fontSize: "12px",
738
+ fontWeight: 400,
739
+ fontStyle: "normal",
740
+ lineHeight: 1.26,
741
+ textTransform: "none"
742
+ },
743
+ code: {
744
+ fontFamily: [
745
+ "Source Code Pro"
746
+ ],
747
+ fontSize: "16px",
748
+ fontWeight: 400,
749
+ fontStyle: "normal",
750
+ lineHeight: 1.5,
751
+ textTransform: "none"
752
+ },
753
+ "code-strong": {
754
+ fontFamily: [
755
+ "Source Code Pro"
756
+ ],
757
+ fontSize: "16px",
758
+ fontWeight: 600,
759
+ fontStyle: "normal",
760
+ lineHeight: 1.5,
761
+ textTransform: "none"
762
+ },
763
+ "code-small": {
764
+ fontFamily: [
765
+ "Source Code Pro"
766
+ ],
767
+ fontSize: "14px",
768
+ fontWeight: 400,
769
+ fontStyle: "normal",
770
+ lineHeight: 1.42,
771
+ textTransform: "none"
772
+ },
773
+ "code-small-strong": {
774
+ fontFamily: [
775
+ "Source Code Pro"
776
+ ],
777
+ fontSize: "14px",
778
+ fontWeight: 600,
779
+ fontStyle: "normal",
780
+ lineHeight: 1.42,
781
+ textTransform: "none"
782
+ },
783
+ "caption-small": {
784
+ fontFamily: [
785
+ "Inter"
786
+ ],
787
+ fontSize: "10px",
788
+ fontWeight: 400,
789
+ fontStyle: "normal",
790
+ lineHeight: 1.2,
791
+ letterSpacing: 0,
792
+ textTransform: "none"
793
+ },
794
+ "caption-default": {
795
+ fontFamily: [
796
+ "Inter"
797
+ ],
798
+ fontSize: "12px",
799
+ fontWeight: 400,
800
+ fontStyle: "normal",
801
+ lineHeight: 1.26,
802
+ letterSpacing: 0,
803
+ textTransform: "none"
804
+ },
805
+ "overline-small": {
806
+ fontFamily: [
807
+ "Inter"
808
+ ],
809
+ fontSize: "10px",
810
+ fontWeight: 400,
811
+ fontStyle: "normal",
812
+ lineHeight: 1,
813
+ letterSpacing: 0,
814
+ textTransform: "uppercase"
815
+ },
816
+ "overline-default": {
817
+ fontFamily: [
818
+ "Inter"
819
+ ],
820
+ fontSize: "12px",
821
+ fontWeight: 400,
822
+ fontStyle: "normal",
823
+ lineHeight: 1,
824
+ letterSpacing: 0,
825
+ textTransform: "uppercase"
826
+ },
827
+ "button-small": {
828
+ fontFamily: [
829
+ "Inter"
830
+ ],
831
+ fontSize: "12px",
832
+ fontWeight: 500,
833
+ fontStyle: "normal",
834
+ lineHeight: 1,
835
+ letterSpacing: 0,
836
+ textTransform: "none"
837
+ },
838
+ "button-medium": {
839
+ fontFamily: [
840
+ "Inter"
841
+ ],
842
+ fontSize: "14px",
843
+ fontWeight: 400,
844
+ fontStyle: "normal",
845
+ lineHeight: 1,
846
+ letterSpacing: 0,
847
+ textTransform: "none"
848
+ },
849
+ "button-large": {
850
+ fontFamily: [
851
+ "Inter"
852
+ ],
853
+ fontSize: "16px",
854
+ fontWeight: 500,
855
+ fontStyle: "normal",
856
+ lineHeight: 1.5,
857
+ letterSpacing: 0,
858
+ textTransform: "none"
859
+ },
860
+ "body-small": {
861
+ fontFamily: [
862
+ "Inter"
863
+ ],
864
+ fontSize: "14px",
865
+ fontWeight: 400,
866
+ fontStyle: "normal",
867
+ lineHeight: 1.43,
868
+ letterSpacing: 0,
869
+ textTransform: "none"
870
+ },
871
+ "body-small-medium": {
872
+ fontFamily: [
873
+ "Inter"
874
+ ],
875
+ fontSize: "14px",
876
+ fontWeight: 500,
877
+ fontStyle: "normal",
878
+ lineHeight: 1.43,
879
+ letterSpacing: 0,
880
+ textTransform: "none"
881
+ },
882
+ "body-default": {
883
+ fontFamily: [
884
+ "Inter"
885
+ ],
886
+ fontSize: "16px",
887
+ fontWeight: 400,
888
+ fontStyle: "normal",
889
+ lineHeight: 1.5,
890
+ letterSpacing: 0,
891
+ textTransform: "none"
892
+ },
893
+ "body-default-medium": {
894
+ fontFamily: [
895
+ "Inter"
896
+ ],
897
+ fontSize: "16px",
898
+ fontWeight: 500,
899
+ fontStyle: "normal",
900
+ lineHeight: 1.5,
901
+ letterSpacing: 0,
902
+ textTransform: "none"
903
+ },
904
+ "body-large": {
905
+ fontFamily: [
906
+ "Inter"
907
+ ],
908
+ fontSize: "20px",
909
+ fontWeight: 400,
910
+ fontStyle: "normal",
911
+ lineHeight: 1.58,
912
+ letterSpacing: 0,
913
+ textTransform: "none"
914
+ },
915
+ "body-large-medium": {
916
+ fontFamily: [
917
+ "Inter"
918
+ ],
919
+ fontSize: "20px",
920
+ fontWeight: 400,
921
+ fontStyle: "normal",
922
+ lineHeight: 1.2,
923
+ letterSpacing: 0,
924
+ textTransform: "none"
925
+ },
926
+ "heading-large": {
927
+ fontFamily: [
928
+ "Inter"
929
+ ],
930
+ fontSize: "20px",
931
+ fontWeight: 700,
932
+ fontStyle: "normal",
933
+ lineHeight: 1.5,
934
+ letterSpacing: 0.15,
935
+ textTransform: "none"
936
+ },
937
+ "heading-xl": {
938
+ fontFamily: [
939
+ "Inter"
940
+ ],
941
+ fontSize: "24px",
942
+ fontWeight: 700,
943
+ fontStyle: "normal",
944
+ lineHeight: 1.5,
945
+ letterSpacing: 0,
946
+ textTransform: "none"
947
+ },
948
+ "heading-2xl": {
949
+ fontFamily: [
950
+ "Inter"
951
+ ],
952
+ fontSize: "34px",
953
+ fontWeight: 700,
954
+ fontStyle: "normal",
955
+ lineHeight: 1.28,
956
+ letterSpacing: 0,
957
+ textTransform: "none"
958
+ },
959
+ "heading-3xl": {
960
+ fontFamily: [
961
+ "Inter"
962
+ ],
963
+ fontSize: "48px",
964
+ fontWeight: 700,
965
+ fontStyle: "normal",
966
+ lineHeight: 1.24,
967
+ letterSpacing: -0.48,
968
+ textTransform: "none"
969
+ },
970
+ "heading-4xl": {
971
+ fontFamily: [
972
+ "Inter"
973
+ ],
974
+ fontSize: "60px",
975
+ fontWeight: 700,
976
+ fontStyle: "normal",
977
+ lineHeight: 1.2,
978
+ letterSpacing: -1.5,
979
+ textTransform: "none"
980
+ },
981
+ "heading-5xl": {
982
+ fontFamily: [
983
+ "Inter"
984
+ ],
985
+ fontSize: "76px",
986
+ fontWeight: 700,
987
+ fontStyle: "normal",
988
+ lineHeight: 1.2,
989
+ letterSpacing: -1.98,
990
+ textTransform: "none"
991
+ }
992
+ }
993
+ };
994
+
995
+ // src/charts/DefaultPalette/DefaultPalette.tsx
996
+ var DefaultPaletteContext = import_react2.default.createContext({ getDefaultColor: () => void 0 });
997
+ var PRIMARY_CATEGORIAL = Object.values(tokens_default.chartColors.primaryCategorical);
998
+ var SECONDARY_CATEGORIAL = Object.values(tokens_default.chartColors.secondaryCategorical);
999
+ var DefaultPalette = ({ palette = "primary", children }) => {
1000
+ const registeredKeys = import_react2.default.useRef([]);
1001
+ const colors = palette === "primary" ? PRIMARY_CATEGORIAL : SECONDARY_CATEGORIAL;
1002
+ const getDefaultColor = import_react2.default.useCallback(
1003
+ (key) => {
1004
+ const keys = registeredKeys.current;
1005
+ let index = keys.indexOf(key);
1006
+ if (index === -1) {
1007
+ index = registeredKeys.current.push(key) - 1;
1008
+ }
1009
+ return colors[index % colors.length];
1010
+ },
1011
+ [colors]
1012
+ );
1013
+ return /* @__PURE__ */ import_react2.default.createElement(DefaultPaletteContext.Provider, {
1014
+ value: { getDefaultColor }
1015
+ }, children);
1016
+ };
1017
+
1018
+ // src/charts/Grid/Grid.tsx
1019
+ var import_react3 = __toESM(require("react"));
1020
+ var import_recharts2 = require("recharts");
1021
+ var CartesianGrid = Object.assign(
1022
+ (props) => /* @__PURE__ */ import_react3.default.createElement(import_recharts2.CartesianGrid, __spreadProps(__spreadValues({
1023
+ strokeDasharray: "3 3"
1024
+ }, props), {
1025
+ vertical: false
1026
+ })),
1027
+ import_recharts2.CartesianGrid
1028
+ );
1029
+
1030
+ // src/charts/hooks/useDefaultColor.tsx
1031
+ var import_react4 = __toESM(require("react"));
1032
+ var useDefaultColor = (key, color2) => {
1033
+ const ctx = import_react4.default.useContext(DefaultPaletteContext);
1034
+ return color2 != null ? color2 : ctx.getDefaultColor(key);
1035
+ };
1036
+
1037
+ // src/charts/lib/utils.tsx
1038
+ var import_react7 = __toESM(require("react"));
1039
+
168
1040
  // node_modules/d3-array/src/ascending.js
169
1041
  function ascending(a, b) {
170
1042
  return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
@@ -1983,70 +2855,13 @@ function utcTime() {
1983
2855
  return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute, second, utcFormat).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), arguments);
1984
2856
  }
1985
2857
 
1986
- // src/charts/lib/utils.ts
2858
+ // src/charts/lib/utils.tsx
1987
2859
  var import_castArray = __toESM(require("lodash/castArray"));
1988
2860
  var import_isDate = __toESM(require("lodash/isDate"));
1989
- var CHART_MARGIN_BOTTOM = 15;
1990
- var CHART_YLABEL_DEFAULT_OFFSET = 10;
1991
- var CHART_XLABEL_DEFAULT_OFFSET = CHART_YLABEL_DEFAULT_OFFSET * -1;
1992
- var DEFAULT_MARGINS = {
1993
- top: 20,
1994
- right: 30,
1995
- left: 20,
1996
- bottom: CHART_MARGIN_BOTTOM
1997
- };
1998
- var getDisplayName = (Comp) => {
1999
- if (typeof Comp === "string") {
2000
- return Comp;
2001
- }
2002
- if (!Comp) {
2003
- return "";
2004
- }
2005
- return Comp.displayName || Comp.name || "Component";
2006
- };
2007
- var isDateArray = (arr) => Array.isArray(arr) && arr.every(import_isDate.default);
2008
- var isNumberOrDate = (value) => Number.isFinite(value) || (0, import_isDate.default)(value);
2009
- var getXAxisTicks = ({ dataKey, ticks: ticks2, domain }, chartProps) => {
2010
- var _a;
2011
- if (!ticks2 || Array.isArray(ticks2)) {
2012
- return ticks2 != null ? ticks2 : void 0;
2013
- }
2014
- const normalizedDomain = normalizeAxisDomain(domain);
2015
- const [domainMin, domainMax] = (_a = domainExtent(normalizedDomain)) != null ? _a : [];
2016
- const [dataMin, dataMax] = getXAxisExtent(chartProps.data, dataKey);
2017
- const min = isNumberOrDate(domainMin) ? Number(domainMin) : dataMin;
2018
- const max = isNumberOrDate(domainMax) ? Number(domainMax) : dataMax;
2019
- if (min === void 0 || max === void 0) {
2020
- return void 0;
2021
- }
2022
- return utcTime().domain([min, max]).ticks(ticks2).map((v) => v.valueOf());
2023
- };
2024
- var extractChildByDisplayName = (_children, name) => {
2025
- const children = (0, import_castArray.default)(_children);
2026
- const childIndex = children.findIndex((child) => getDisplayName(child.type) === name);
2027
- if (childIndex === -1) {
2028
- return [void 0, children];
2029
- }
2030
- const foundChild = children.at(childIndex);
2031
- const remainingChildren = children.slice(0, childIndex).concat(children.slice(childIndex + 1));
2032
- return [foundChild, remainingChildren];
2033
- };
2034
- var normalizeAxisDomain = (domain) => {
2035
- return isDateArray(domain) ? domain.map((d) => d.valueOf()) : domain;
2036
- };
2037
- var getXAxisValues = (data = [], dataKey) => {
2038
- return data.map((datum) => typeof dataKey === "function" ? dataKey(datum) : dataKey ? datum[dataKey] : void 0);
2039
- };
2040
- var getXAxisExtent = (data = [], dataKey) => extent(getXAxisValues(data, dataKey));
2041
- var domainExtent = (domain) => {
2042
- if (!Array.isArray(domain)) {
2043
- return void 0;
2044
- }
2045
- const [min, max] = domain;
2046
- return Number.isFinite(min) && Number.isFinite(max) ? [min, max] : void 0;
2047
- };
2048
2861
 
2049
2862
  // src/charts/Axis/Axis.tsx
2863
+ var import_react5 = __toESM(require("react"));
2864
+ var import_recharts3 = require("recharts");
2050
2865
  var XTimeAxis = () => null;
2051
2866
  XTimeAxis.displayName = "Axis.XAxis.Time";
2052
2867
  var XAxis = () => null;
@@ -2057,7 +2872,7 @@ YAxis.displayName = "Axis.YAxis";
2057
2872
  var renderXAxis = (child, chartProps) => {
2058
2873
  const _a = child.props, { tickLine = false, ticks: ticks2, domain } = _a, props = __objRest(_a, ["tickLine", "ticks", "domain"]);
2059
2874
  const xticks = getXAxisTicks(__spreadValues({ domain }, child.props), chartProps);
2060
- return /* @__PURE__ */ import_react.default.createElement(import_recharts.XAxis, __spreadValues({
2875
+ return /* @__PURE__ */ import_react5.default.createElement(import_recharts3.XAxis, __spreadValues({
2061
2876
  tickLine,
2062
2877
  ticks: xticks,
2063
2878
  domain
@@ -2069,7 +2884,7 @@ var renderXTimeAxis = (child, chartProps) => {
2069
2884
  const normalizedDomain = normalizeAxisDomain(domain);
2070
2885
  const [min, max] = getXAxisExtent(chartProps.data, child.props.dataKey);
2071
2886
  const effectiveDomain = normalizedDomain != null ? normalizedDomain : min !== void 0 && max !== void 0 ? [Number(min), Number(max)] : ["auto", "auto"];
2072
- return /* @__PURE__ */ import_react.default.createElement(import_recharts.XAxis, __spreadValues({
2887
+ return /* @__PURE__ */ import_react5.default.createElement(import_recharts3.XAxis, __spreadValues({
2073
2888
  scale: utc ? "utc" : "time",
2074
2889
  type: "number",
2075
2890
  allowDataOverflow: true,
@@ -2080,7 +2895,7 @@ var renderXTimeAxis = (child, chartProps) => {
2080
2895
  };
2081
2896
  var renderYAxis = (child, _props) => {
2082
2897
  const _a = child.props, { axisLine = false, tickLine = false } = _a, props = __objRest(_a, ["axisLine", "tickLine"]);
2083
- return /* @__PURE__ */ import_react.default.createElement(import_recharts.YAxis, __spreadValues({
2898
+ return /* @__PURE__ */ import_react5.default.createElement(import_recharts3.YAxis, __spreadValues({
2084
2899
  axisLine,
2085
2900
  tickLine
2086
2901
  }, props));
@@ -2090,91 +2905,6 @@ var Axis = {
2090
2905
  YAxis
2091
2906
  };
2092
2907
 
2093
- // src/charts/Container/Container.tsx
2094
- var import_react2 = __toESM(require("react"));
2095
- var import_recharts2 = require("recharts");
2096
-
2097
- // src/utils/tailwind.ts
2098
- var import_classnames = __toESM(require("classnames"));
2099
- function cleanClassNames(classNames2) {
2100
- const tokens = classNames2.split(/\s+/);
2101
- return tokens.filter((item) => item).join(" ");
2102
- }
2103
- function tw(classesOrModifiers1, classesOrModifiers2, classesOrModifiers3, classesOrModifiers4, classesOrModifiers5, classesOrModifiers6, classesOrModifiers7, classesOrModifiers8, classesOrModifiers9, classesOrModifiers10) {
2104
- const result = (0, import_classnames.default)(
2105
- classesOrModifiers1,
2106
- classesOrModifiers2,
2107
- classesOrModifiers3,
2108
- classesOrModifiers4,
2109
- classesOrModifiers5,
2110
- classesOrModifiers6,
2111
- classesOrModifiers7,
2112
- classesOrModifiers8,
2113
- classesOrModifiers9,
2114
- classesOrModifiers10
2115
- );
2116
- return cleanClassNames(result);
2117
- }
2118
- var classNames = (...args) => {
2119
- const result = (0, import_classnames.default)(...args);
2120
- return cleanClassNames(result);
2121
- };
2122
-
2123
- // src/charts/Container/Container.tsx
2124
- var ResponsiveContainer = (_a) => {
2125
- var _b = _a, {
2126
- isBusy = false,
2127
- busyLabel = "Loading...",
2128
- className,
2129
- style,
2130
- width = "100%",
2131
- height = "100%",
2132
- minWidth,
2133
- minHeight,
2134
- maxHeight
2135
- } = _b, props = __objRest(_b, [
2136
- "isBusy",
2137
- "busyLabel",
2138
- "className",
2139
- "style",
2140
- "width",
2141
- "height",
2142
- "minWidth",
2143
- "minHeight",
2144
- "maxHeight"
2145
- ]);
2146
- return /* @__PURE__ */ import_react2.default.createElement("div", {
2147
- "aria-busy": isBusy,
2148
- className: classNames(className, tw("relative")),
2149
- style: __spreadProps(__spreadValues({}, style), { width, height, minWidth, minHeight, maxHeight })
2150
- }, /* @__PURE__ */ import_react2.default.createElement("div", {
2151
- className: classNames(
2152
- tw("absolute inset-0 transition-colors flex items-center justify-center", {
2153
- "delay-300 z-40": isBusy
2154
- })
2155
- ),
2156
- style: isBusy ? { backgroundColor: "rgba(255, 255, 255, 0.5)" } : {}
2157
- }, /* @__PURE__ */ import_react2.default.createElement("span", {
2158
- "aria-hidden": !isBusy,
2159
- className: tw("rounded-full text-white bg-black typography-caption py-2 px-4 transition-all", {
2160
- "opacity-100 delay-300": isBusy,
2161
- "mb-[-20px] opacity-0": !isBusy
2162
- })
2163
- }, isBusy && busyLabel)), /* @__PURE__ */ import_react2.default.createElement(import_recharts2.ResponsiveContainer, __spreadValues({}, props)));
2164
- };
2165
-
2166
- // src/charts/Grid/Grid.tsx
2167
- var import_react3 = __toESM(require("react"));
2168
- var import_recharts3 = require("recharts");
2169
- var CartesianGrid = Object.assign(
2170
- (props) => /* @__PURE__ */ import_react3.default.createElement(import_recharts3.CartesianGrid, __spreadProps(__spreadValues({
2171
- strokeDasharray: "3 3"
2172
- }, props), {
2173
- vertical: false
2174
- })),
2175
- import_recharts3.CartesianGrid
2176
- );
2177
-
2178
2908
  // src/charts/Tooltip/Tooltip.tsx
2179
2909
  var import_recharts4 = require("recharts");
2180
2910
  var contentStyle = {
@@ -2197,137 +2927,243 @@ Tooltip.defaultProps = Object.assign({}, import_recharts4.Tooltip.defaultProps,
2197
2927
  cursor: { stroke: "var(--aquarium-border-color-intense)", strokeDasharray: "5" }
2198
2928
  });
2199
2929
 
2200
- // src/charts/AreaChart/AreaChart.tsx
2201
- var renderChildren = (props) => {
2202
- return import_react4.default.Children.map(props.children, (child) => {
2203
- if (!child) {
2204
- return child;
2930
+ // src/charts/Tooltip/TooltipContentWrapper.tsx
2931
+ var import_react6 = __toESM(require("react"));
2932
+ var import_isFunction = __toESM(require("lodash/isFunction"));
2933
+ var TooltipContentWrapper = (_a) => {
2934
+ var _b = _a, {
2935
+ content,
2936
+ tooltipColor = "stroke"
2937
+ } = _b, props = __objRest(_b, [
2938
+ "content",
2939
+ "tooltipColor"
2940
+ ]);
2941
+ var _a2;
2942
+ const { getDefaultColor } = import_react6.default.useContext(DefaultPaletteContext);
2943
+ const payload = (_a2 = props.payload) == null ? void 0 : _a2.map((entry) => {
2944
+ var _a3, _b2, _c, _d, _e, _f;
2945
+ const stroke = (_b2 = (_a3 = entry.payload) == null ? void 0 : _a3.stroke) != null ? _b2 : entry.stroke;
2946
+ const fill = (_d = (_c = entry.payload) == null ? void 0 : _c.fill) != null ? _d : entry.fill;
2947
+ const color2 = tooltipColor === "stroke" ? stroke : fill;
2948
+ return __spreadProps(__spreadValues({}, entry), {
2949
+ color: color2 != null ? color2 : getDefaultColor((_f = (_e = entry.dataKey) == null ? void 0 : _e.toString()) != null ? _f : "unknown")
2950
+ });
2951
+ });
2952
+ const propsWithPayload = __spreadProps(__spreadValues({}, props), { payload });
2953
+ if (import_react6.default.isValidElement(content)) {
2954
+ return import_react6.default.cloneElement(content, propsWithPayload);
2955
+ }
2956
+ if ((0, import_isFunction.default)(content)) {
2957
+ return import_react6.default.createElement(content, propsWithPayload);
2958
+ }
2959
+ return /* @__PURE__ */ import_react6.default.createElement(Tooltip.DefaultContent, __spreadProps(__spreadValues({}, props), {
2960
+ payload
2961
+ }));
2962
+ };
2963
+
2964
+ // src/charts/lib/utils.tsx
2965
+ var CHART_MARGIN_BOTTOM = 15;
2966
+ var CHART_YLABEL_DEFAULT_OFFSET = 10;
2967
+ var CHART_XLABEL_DEFAULT_OFFSET = CHART_YLABEL_DEFAULT_OFFSET * -1;
2968
+ var DEFAULT_MARGINS = {
2969
+ top: 20,
2970
+ right: 30,
2971
+ left: 20,
2972
+ bottom: CHART_MARGIN_BOTTOM
2973
+ };
2974
+ var getDisplayName = (Comp) => {
2975
+ if (typeof Comp === "string") {
2976
+ return Comp;
2977
+ }
2978
+ if (!Comp) {
2979
+ return "";
2980
+ }
2981
+ return Comp.displayName || Comp.name || "Component";
2982
+ };
2983
+ var isDateArray = (arr) => Array.isArray(arr) && arr.every(import_isDate.default);
2984
+ var isNumberOrDate = (value) => Number.isFinite(value) || (0, import_isDate.default)(value);
2985
+ var renderChartChildren = (child, chartProps) => {
2986
+ if (!child) {
2987
+ return child;
2988
+ }
2989
+ switch (getDisplayName(child.type)) {
2990
+ case Axis.XAxis.displayName: {
2991
+ return renderXAxis(child, chartProps);
2205
2992
  }
2206
- switch (getDisplayName(child.type)) {
2207
- case Axis.XAxis.displayName: {
2208
- return renderXAxis(child, props);
2209
- }
2210
- case Axis.XAxis.Time.displayName: {
2211
- return renderXTimeAxis(child, props);
2212
- }
2213
- case Axis.YAxis.displayName: {
2214
- return renderYAxis(child, props);
2215
- }
2216
- default: {
2217
- return child;
2218
- }
2993
+ case Axis.XAxis.Time.displayName: {
2994
+ return renderXTimeAxis(child, chartProps);
2219
2995
  }
2220
- });
2996
+ case Axis.YAxis.displayName: {
2997
+ return renderYAxis(child, chartProps);
2998
+ }
2999
+ case Tooltip.displayName: {
3000
+ return import_react7.default.cloneElement(child, { content: /* @__PURE__ */ import_react7.default.createElement(TooltipContentWrapper, {
3001
+ content: child.props.content
3002
+ }) });
3003
+ }
3004
+ default: {
3005
+ return child;
3006
+ }
3007
+ }
2221
3008
  };
3009
+ var getXAxisTicks = ({ dataKey, ticks: ticks2, domain }, chartProps) => {
3010
+ var _a;
3011
+ if (!ticks2 || Array.isArray(ticks2)) {
3012
+ return ticks2 != null ? ticks2 : void 0;
3013
+ }
3014
+ const normalizedDomain = normalizeAxisDomain(domain);
3015
+ const [domainMin, domainMax] = (_a = domainExtent(normalizedDomain)) != null ? _a : [];
3016
+ const [dataMin, dataMax] = getXAxisExtent(chartProps.data, dataKey);
3017
+ const min = isNumberOrDate(domainMin) ? Number(domainMin) : dataMin;
3018
+ const max = isNumberOrDate(domainMax) ? Number(domainMax) : dataMax;
3019
+ if (min === void 0 || max === void 0) {
3020
+ return void 0;
3021
+ }
3022
+ return utcTime().domain([min, max]).ticks(ticks2).map((v) => v.valueOf());
3023
+ };
3024
+ var extractChildByDisplayName = (_children, name) => {
3025
+ const children = (0, import_castArray.default)(_children);
3026
+ const childIndex = children.findIndex((child) => getDisplayName(child.type) === name);
3027
+ if (childIndex === -1) {
3028
+ return [void 0, children];
3029
+ }
3030
+ const foundChild = children.at(childIndex);
3031
+ const remainingChildren = children.slice(0, childIndex).concat(children.slice(childIndex + 1));
3032
+ return [foundChild, remainingChildren];
3033
+ };
3034
+ var normalizeAxisDomain = (domain) => {
3035
+ return isDateArray(domain) ? domain.map((d) => d.valueOf()) : domain;
3036
+ };
3037
+ var getXAxisValues = (data = [], dataKey) => {
3038
+ return data.map((datum) => typeof dataKey === "function" ? dataKey(datum) : dataKey ? datum[dataKey] : void 0);
3039
+ };
3040
+ var getXAxisExtent = (data = [], dataKey) => extent(getXAxisValues(data, dataKey));
3041
+ var domainExtent = (domain) => {
3042
+ if (!Array.isArray(domain)) {
3043
+ return void 0;
3044
+ }
3045
+ const [min, max] = domain;
3046
+ return Number.isFinite(min) && Number.isFinite(max) ? [min, max] : void 0;
3047
+ };
3048
+
3049
+ // src/charts/AreaChart/AreaChart.tsx
2222
3050
  var AreaChart = (_a) => {
2223
3051
  var _b = _a, {
2224
3052
  isBusy,
2225
3053
  busyLabel,
2226
- margin = DEFAULT_MARGINS
3054
+ margin = DEFAULT_MARGINS,
3055
+ palette
2227
3056
  } = _b, props = __objRest(_b, [
2228
3057
  "isBusy",
2229
3058
  "busyLabel",
2230
- "margin"
3059
+ "margin",
3060
+ "palette"
2231
3061
  ]);
2232
3062
  const [tooltip] = extractChildByDisplayName(props.children, Tooltip.displayName);
2233
- return /* @__PURE__ */ import_react4.default.createElement(ResponsiveContainer, {
3063
+ return /* @__PURE__ */ import_react8.default.createElement(DefaultPalette, {
3064
+ palette
3065
+ }, /* @__PURE__ */ import_react8.default.createElement(ResponsiveContainer, {
2234
3066
  width: props.width,
2235
3067
  height: props.height,
2236
3068
  isBusy,
2237
3069
  busyLabel
2238
- }, /* @__PURE__ */ import_react4.default.createElement(import_recharts5.AreaChart, {
3070
+ }, /* @__PURE__ */ import_react8.default.createElement(import_recharts5.AreaChart, {
2239
3071
  accessibilityLayer: tooltip !== void 0,
2240
3072
  data: props.data,
2241
3073
  style: { stroke: "#fff", strokeWidth: 1 },
2242
3074
  margin
2243
- }, /* @__PURE__ */ import_react4.default.createElement(CartesianGrid, null), renderChildren(props)));
3075
+ }, /* @__PURE__ */ import_react8.default.createElement(CartesianGrid, null), import_react8.default.Children.map(props.children, (child) => renderChartChildren(child, props)))));
2244
3076
  };
2245
- var Area = Object.assign(
2246
- (props) => {
2247
- var _a;
2248
- return /* @__PURE__ */ import_react4.default.createElement(import_recharts5.Area, __spreadProps(__spreadValues({
2249
- type: "linear",
2250
- strokeWidth: 2,
2251
- dot: false
2252
- }, props), {
2253
- fill: (_a = props.fill) != null ? _a : props.stroke,
2254
- fillOpacity: 0.1,
2255
- isAnimationActive: false
2256
- }));
2257
- },
2258
- import_recharts5.Area
2259
- );
3077
+ var Area = Object.assign((props) => {
3078
+ var _a;
3079
+ const stroke = useDefaultColor(props.dataKey.toString(), props.stroke);
3080
+ const fill = useDefaultColor(props.dataKey.toString(), (_a = props.fill) != null ? _a : stroke);
3081
+ return /* @__PURE__ */ import_react8.default.createElement(import_recharts5.Area, __spreadProps(__spreadValues({
3082
+ type: "linear",
3083
+ strokeWidth: 2,
3084
+ dot: false
3085
+ }, props), {
3086
+ stroke,
3087
+ fill,
3088
+ fillOpacity: 0.1,
3089
+ isAnimationActive: false
3090
+ }));
3091
+ }, import_recharts5.Area);
2260
3092
  Area.defaultProps = Object.assign({}, import_recharts5.Area.defaultProps, {
2261
3093
  fillOpacity: 0.1,
2262
- fill: void 0
3094
+ fill: void 0,
3095
+ stroke: void 0
2263
3096
  });
2264
3097
  AreaChart.Area = Area;
2265
3098
 
2266
3099
  // src/charts/BarChart/BarChart.tsx
2267
- var import_react5 = __toESM(require("react"));
3100
+ var import_react9 = __toESM(require("react"));
2268
3101
  var import_recharts6 = require("recharts");
2269
3102
  var BarChart = (_a) => {
2270
3103
  var _b = _a, {
2271
3104
  isBusy,
2272
3105
  busyLabel,
2273
- margin = DEFAULT_MARGINS
3106
+ margin = DEFAULT_MARGINS,
3107
+ palette
2274
3108
  } = _b, props = __objRest(_b, [
2275
3109
  "isBusy",
2276
3110
  "busyLabel",
2277
- "margin"
3111
+ "margin",
3112
+ "palette"
2278
3113
  ]);
2279
- const [activeIndex, setActiveIndex] = import_react5.default.useState(void 0);
3114
+ const [activeIndex, setActiveIndex] = import_react9.default.useState(void 0);
2280
3115
  const [tooltip] = extractChildByDisplayName(props.children, Tooltip.displayName);
2281
- const renderChildren3 = (props2) => {
2282
- return import_react5.default.Children.map(props2.children, (child) => {
3116
+ const renderChildren = (props2) => {
3117
+ return import_react9.default.Children.map(props2.children, (child) => {
2283
3118
  if (!child) {
2284
3119
  return child;
2285
3120
  }
2286
3121
  switch (getDisplayName(child.type)) {
2287
- case Axis.XAxis.displayName: {
2288
- return renderXAxis(child, props2);
2289
- }
2290
- case Axis.XAxis.Time.displayName: {
2291
- return renderXTimeAxis(child, props2);
2292
- }
2293
- case Axis.YAxis.displayName: {
2294
- return renderYAxis(child, props2);
2295
- }
2296
3122
  case import_recharts6.Bar.displayName: {
2297
- return import_react5.default.cloneElement(child, {
2298
- shape: (props3) => /* @__PURE__ */ import_react5.default.createElement(import_recharts6.Rectangle, __spreadProps(__spreadValues({}, props3), {
3123
+ return import_react9.default.cloneElement(child, {
3124
+ shape: (props3) => /* @__PURE__ */ import_react9.default.createElement(import_recharts6.Rectangle, __spreadProps(__spreadValues({}, props3), {
2299
3125
  className: activeIndex !== void 0 ? "inactive" : void 0
2300
3126
  }))
2301
3127
  });
2302
3128
  }
2303
3129
  case Tooltip.displayName: {
2304
- return /* @__PURE__ */ import_react5.default.createElement(Tooltip, __spreadProps(__spreadValues({}, child.props), {
3130
+ return /* @__PURE__ */ import_react9.default.createElement(Tooltip, __spreadProps(__spreadValues({}, child.props), {
3131
+ content: /* @__PURE__ */ import_react9.default.createElement(TooltipContentWrapper, {
3132
+ content: child.props.content,
3133
+ tooltipColor: "fill"
3134
+ }),
2305
3135
  cursor: false
2306
3136
  }));
2307
3137
  }
2308
3138
  default: {
2309
- return child;
3139
+ return renderChartChildren(child, props2);
2310
3140
  }
2311
3141
  }
2312
3142
  });
2313
3143
  };
2314
- return /* @__PURE__ */ import_react5.default.createElement(ResponsiveContainer, {
3144
+ return /* @__PURE__ */ import_react9.default.createElement(DefaultPalette, {
3145
+ palette
3146
+ }, /* @__PURE__ */ import_react9.default.createElement(ResponsiveContainer, {
2315
3147
  width: props.width,
2316
3148
  height: props.height,
2317
3149
  isBusy,
2318
3150
  busyLabel
2319
- }, /* @__PURE__ */ import_react5.default.createElement(import_recharts6.BarChart, __spreadProps(__spreadValues({}, props), {
3151
+ }, /* @__PURE__ */ import_react9.default.createElement(import_recharts6.BarChart, __spreadProps(__spreadValues({}, props), {
2320
3152
  accessibilityLayer: tooltip !== void 0,
2321
3153
  barCategoryGap: "5%",
2322
3154
  style: { stroke: "#fff", strokeWidth: 1 },
2323
3155
  onMouseMove: (state) => setActiveIndex(state.isTooltipActive ? state.activeTooltipIndex : void 0),
2324
3156
  onMouseLeave: () => setActiveIndex(void 0),
2325
3157
  margin
2326
- }), /* @__PURE__ */ import_react5.default.createElement(CartesianGrid, null), renderChildren3(props)));
3158
+ }), /* @__PURE__ */ import_react9.default.createElement(CartesianGrid, null), renderChildren(props))));
2327
3159
  };
2328
- var Bar = Object.assign((props) => /* @__PURE__ */ import_react5.default.createElement(import_recharts6.Bar, __spreadProps(__spreadValues({}, props), {
2329
- isAnimationActive: false
2330
- })), import_recharts6.Bar);
3160
+ var Bar = Object.assign((props) => {
3161
+ const fill = useDefaultColor(props.dataKey.toString(), props.fill);
3162
+ return /* @__PURE__ */ import_react9.default.createElement(import_recharts6.Bar, __spreadProps(__spreadValues({}, props), {
3163
+ fill,
3164
+ isAnimationActive: false
3165
+ }));
3166
+ }, import_recharts6.Bar);
2331
3167
  BarChart.Bar = Bar;
2332
3168
  BarChart.Tooltip = Tooltip;
2333
3169
 
@@ -2336,17 +3172,17 @@ var import_recharts7 = require("recharts");
2336
3172
  var import_recharts8 = require("recharts");
2337
3173
 
2338
3174
  // src/charts/Label/Label.tsx
2339
- var import_react6 = __toESM(require("react"));
3175
+ var import_react10 = __toESM(require("react"));
2340
3176
  var import_recharts9 = require("recharts");
2341
3177
  var XLabel = Object.assign(
2342
- (props) => /* @__PURE__ */ import_react6.default.createElement(import_recharts9.Label, __spreadValues({
3178
+ (props) => /* @__PURE__ */ import_react10.default.createElement(import_recharts9.Label, __spreadValues({
2343
3179
  position: "insideBottom",
2344
3180
  offset: CHART_XLABEL_DEFAULT_OFFSET
2345
3181
  }, props)),
2346
3182
  import_recharts9.Label
2347
3183
  );
2348
3184
  var YLabel = Object.assign(
2349
- (props) => /* @__PURE__ */ import_react6.default.createElement(import_recharts9.Label, __spreadValues({
3185
+ (props) => /* @__PURE__ */ import_react10.default.createElement(import_recharts9.Label, __spreadValues({
2350
3186
  position: "insideLeft",
2351
3187
  angle: -90,
2352
3188
  offset: CHART_YLABEL_DEFAULT_OFFSET
@@ -2360,11 +3196,14 @@ var Label = {
2360
3196
  var LabelList = import_recharts9.LabelList;
2361
3197
 
2362
3198
  // src/charts/Legend/Legend.tsx
2363
- var import_react7 = __toESM(require("react"));
3199
+ var import_react11 = __toESM(require("react"));
2364
3200
  var import_recharts10 = require("recharts");
2365
- var Legend = import_react7.default.forwardRef((props, _ref) => {
2366
- return /* @__PURE__ */ import_react7.default.createElement(import_recharts10.Legend, __spreadProps(__spreadValues({}, props), {
2367
- margin: __spreadProps(__spreadValues({}, props.margin), { top: 0 })
3201
+ var Legend = import_react11.default.forwardRef((props, _ref) => {
3202
+ return /* @__PURE__ */ import_react11.default.createElement(import_recharts10.Legend, __spreadProps(__spreadValues({}, props), {
3203
+ margin: __spreadProps(__spreadValues({}, props.margin), { top: 0 }),
3204
+ content: /* @__PURE__ */ import_react11.default.createElement(LegendContentWrapper, {
3205
+ content: props.content
3206
+ })
2368
3207
  }));
2369
3208
  });
2370
3209
  Legend.displayName = "Legend";
@@ -2376,130 +3215,110 @@ Legend.defaultProps = {
2376
3215
  verticalAlign: "top",
2377
3216
  margin: { top: 0 }
2378
3217
  };
3218
+ var LegendContentWrapper = (_a) => {
3219
+ var _b = _a, {
3220
+ ref,
3221
+ content
3222
+ } = _b, props = __objRest(_b, [
3223
+ "ref",
3224
+ "content"
3225
+ ]);
3226
+ var _a2;
3227
+ const { getDefaultColor } = import_react11.default.useContext(DefaultPaletteContext);
3228
+ const payload = (_a2 = props.payload) == null ? void 0 : _a2.map((entry) => {
3229
+ var _a3;
3230
+ return __spreadProps(__spreadValues({}, entry), {
3231
+ color: (_a3 = entry.color) != null ? _a3 : getDefaultColor("dataKey" in entry && typeof entry.dataKey === "string" ? entry.dataKey : "unknown")
3232
+ });
3233
+ });
3234
+ return /* @__PURE__ */ import_react11.default.createElement(import_recharts10.DefaultLegendContent, __spreadProps(__spreadValues({}, props), {
3235
+ payload
3236
+ }));
3237
+ };
2379
3238
 
2380
3239
  // src/charts/LineChart/LineChart.tsx
2381
- var import_react8 = __toESM(require("react"));
3240
+ var import_react12 = __toESM(require("react"));
2382
3241
  var import_recharts11 = require("recharts");
2383
- var renderChildren2 = (props) => {
2384
- return import_react8.default.Children.map(props.children, (child) => {
2385
- if (!child) {
2386
- return child;
2387
- }
2388
- switch (getDisplayName(child.type)) {
2389
- case Axis.XAxis.displayName: {
2390
- return renderXAxis(child, props);
2391
- }
2392
- case Axis.XAxis.Time.displayName: {
2393
- return renderXTimeAxis(child, props);
2394
- }
2395
- case Axis.YAxis.displayName: {
2396
- return renderYAxis(child, props);
2397
- }
2398
- default: {
2399
- return child;
2400
- }
2401
- }
2402
- });
2403
- };
2404
3242
  var LineChart = (_a) => {
2405
3243
  var _b = _a, {
2406
3244
  isBusy,
2407
3245
  busyLabel,
2408
- margin = DEFAULT_MARGINS
3246
+ margin = DEFAULT_MARGINS,
3247
+ palette
2409
3248
  } = _b, props = __objRest(_b, [
2410
3249
  "isBusy",
2411
3250
  "busyLabel",
2412
- "margin"
3251
+ "margin",
3252
+ "palette"
2413
3253
  ]);
2414
- const [tooltip] = extractChildByDisplayName(props.children, Tooltip.displayName);
2415
- return /* @__PURE__ */ import_react8.default.createElement(ResponsiveContainer, {
3254
+ const [tooltip] = extractChildByDisplayName(props.children, import_recharts11.Tooltip.displayName);
3255
+ return /* @__PURE__ */ import_react12.default.createElement(DefaultPalette, {
3256
+ palette
3257
+ }, /* @__PURE__ */ import_react12.default.createElement(ResponsiveContainer, {
2416
3258
  width: props.width,
2417
3259
  height: props.height,
2418
3260
  isBusy,
2419
3261
  busyLabel
2420
- }, /* @__PURE__ */ import_react8.default.createElement(import_recharts11.LineChart, {
3262
+ }, /* @__PURE__ */ import_react12.default.createElement(import_recharts11.LineChart, {
2421
3263
  data: props.data,
2422
3264
  style: { stroke: "#fff", strokeWidth: 1 },
2423
3265
  margin,
2424
3266
  accessibilityLayer: tooltip !== void 0
2425
- }, /* @__PURE__ */ import_react8.default.createElement(CartesianGrid, null), renderChildren2(props)));
3267
+ }, /* @__PURE__ */ import_react12.default.createElement(CartesianGrid, null), import_react12.default.Children.map(props.children, (child) => renderChartChildren(child, props)))));
2426
3268
  };
2427
- var Line = Object.assign(
2428
- (props) => /* @__PURE__ */ import_react8.default.createElement(import_recharts11.Line, __spreadProps(__spreadValues({
3269
+ var Line = Object.assign((props) => {
3270
+ var _a, _b;
3271
+ const stroke = useDefaultColor((_b = (_a = props.dataKey) == null ? void 0 : _a.toString()) != null ? _b : "unknown", props.stroke);
3272
+ return /* @__PURE__ */ import_react12.default.createElement(import_recharts11.Line, __spreadProps(__spreadValues({
2429
3273
  type: "linear"
2430
3274
  }, props), {
3275
+ stroke,
2431
3276
  strokeWidth: 2,
2432
3277
  isAnimationActive: false,
2433
3278
  dot: false
2434
- })),
2435
- import_recharts11.Line
2436
- );
3279
+ }));
3280
+ }, import_recharts11.Line);
3281
+ Line.defaultProps = Object.assign({}, import_recharts11.Line.defaultProps, { stroke: void 0, fill: void 0 });
2437
3282
  LineChart.Line = Line;
2438
3283
 
2439
3284
  // src/charts/PieChart/DoughnutChart.tsx
2440
- var import_react12 = __toESM(require("react"));
3285
+ var import_react15 = __toESM(require("react"));
2441
3286
  var import_isNil = __toESM(require("lodash/isNil"));
2442
3287
  var import_recharts13 = require("recharts");
2443
3288
 
2444
3289
  // src/charts/PieChart/ChartValue.tsx
2445
- var import_react9 = __toESM(require("react"));
3290
+ var import_react13 = __toESM(require("react"));
2446
3291
  var ChartValue = (props) => {
2447
3292
  const { value, unit: unit2, caption } = props;
2448
- return /* @__PURE__ */ import_react9.default.createElement("p", {
3293
+ return /* @__PURE__ */ import_react13.default.createElement("p", {
2449
3294
  className: tw(
2450
3295
  "typography-large-heading text-intense text-center leading-tight absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2"
2451
3296
  )
2452
- }, value, unit2, caption && /* @__PURE__ */ import_react9.default.createElement("span", {
3297
+ }, value, unit2, caption && /* @__PURE__ */ import_react13.default.createElement("span", {
2453
3298
  className: tw("block", "typography-small text-default")
2454
3299
  }, caption));
2455
3300
  };
2456
3301
 
2457
3302
  // src/charts/PieChart/renderPieChildren.tsx
2458
- var import_react11 = __toESM(require("react"));
3303
+ var import_react14 = __toESM(require("react"));
2459
3304
  var import_recharts12 = require("recharts");
2460
-
2461
- // src/charts/PieChart/TooltipContentWrapper.tsx
2462
- var import_react10 = __toESM(require("react"));
2463
- var import_isFunction = __toESM(require("lodash/isFunction"));
2464
- var TooltipContentWrapper = (_a) => {
2465
- var _b = _a, {
2466
- content
2467
- } = _b, props = __objRest(_b, [
2468
- "content"
2469
- ]);
2470
- var _a2;
2471
- const payload = (_a2 = props.payload) == null ? void 0 : _a2.map((entry) => {
2472
- var _a3;
2473
- return __spreadProps(__spreadValues({}, entry), {
2474
- color: (_a3 = entry.payload) == null ? void 0 : _a3.fill
2475
- });
2476
- });
2477
- const propsWithPayload = __spreadProps(__spreadValues({}, props), { payload });
2478
- if (import_react10.default.isValidElement(content)) {
2479
- return import_react10.default.cloneElement(content, propsWithPayload);
2480
- }
2481
- if ((0, import_isFunction.default)(content)) {
2482
- return import_react10.default.createElement(content, propsWithPayload);
2483
- }
2484
- return /* @__PURE__ */ import_react10.default.createElement(Tooltip.DefaultContent, __spreadProps(__spreadValues({}, props), {
2485
- payload
2486
- }));
2487
- };
2488
-
2489
- // src/charts/PieChart/renderPieChildren.tsx
2490
- var renderPieChildren = (children) => {
2491
- return import_react11.default.Children.map(children, (child) => {
3305
+ var renderPieChildren = (children, opts = {}) => {
3306
+ return import_react14.default.Children.map(children, (child) => {
2492
3307
  if (!child) {
2493
3308
  return child;
2494
3309
  }
2495
3310
  switch (getDisplayName(child.type)) {
2496
3311
  case Tooltip.displayName: {
2497
- return import_react11.default.cloneElement(child, { content: /* @__PURE__ */ import_react11.default.createElement(TooltipContentWrapper, {
2498
- content: child.props.content
2499
- }) });
3312
+ return import_react14.default.cloneElement(child, {
3313
+ content: /* @__PURE__ */ import_react14.default.createElement(TooltipContentWrapper, {
3314
+ content: child.props.content,
3315
+ tooltipColor: opts.tooltipColor
3316
+ }),
3317
+ labelStyle: { paddingBottom: 0 }
3318
+ });
2500
3319
  }
2501
3320
  case import_recharts12.Legend.displayName: {
2502
- return import_react11.default.cloneElement(child, { verticalAlign: "top", align: "center" });
3321
+ return import_react14.default.cloneElement(child, { verticalAlign: "top", align: "center" });
2503
3322
  }
2504
3323
  default: {
2505
3324
  return child;
@@ -2511,27 +3330,29 @@ var renderPieChildren = (children) => {
2511
3330
  // src/charts/PieChart/DoughnutChart.tsx
2512
3331
  var refSize = 300;
2513
3332
  var DoughnutChart = (_a) => {
2514
- var _b = _a, {
2515
- isBusy,
2516
- busyLabel
2517
- } = _b, props = __objRest(_b, [
2518
- "isBusy",
2519
- "busyLabel"
2520
- ]);
2521
- const [containerWidth, setContainerWidth] = import_react12.default.useState(0);
2522
- const [containerHeight, setContainerHeight] = import_react12.default.useState(0);
2523
- const [activeIndex, setActiveIndex] = import_react12.default.useState(null);
3333
+ var _b = _a, { palette } = _b, props = __objRest(_b, ["palette"]);
3334
+ return /* @__PURE__ */ import_react15.default.createElement(DefaultPalette, {
3335
+ palette
3336
+ }, /* @__PURE__ */ import_react15.default.createElement(DoughnutChartWrapper, __spreadValues({}, props)));
3337
+ };
3338
+ var DoughnutChartWrapper = (_a) => {
3339
+ var _b = _a, { isBusy, busyLabel } = _b, props = __objRest(_b, ["isBusy", "busyLabel"]);
3340
+ var _a2;
3341
+ const [containerWidth, setContainerWidth] = import_react15.default.useState(0);
3342
+ const [containerHeight, setContainerHeight] = import_react15.default.useState(0);
3343
+ const [activeIndex, setActiveIndex] = import_react15.default.useState(null);
3344
+ const { getDefaultColor } = import_react15.default.useContext(DefaultPaletteContext);
2524
3345
  const [chartValue, _children] = extractChildByDisplayName(props.children, ChartValue.displayName);
2525
- const [pie, children] = extractChildByDisplayName(_children, DoughnutChart.Doughnut.displayName);
3346
+ const [doughnut, children] = extractChildByDisplayName(_children, DoughnutChart.Doughnut.displayName);
2526
3347
  const [tooltip] = extractChildByDisplayName(props.children, Tooltip.displayName);
2527
3348
  const onResize = (w, h) => {
2528
3349
  setContainerWidth(w);
2529
3350
  setContainerHeight(h);
2530
3351
  };
2531
3352
  const renderChartValue = ({ formattedGraphicalItems }) => {
2532
- var _a2, _b2, _c;
2533
- const pie2 = formattedGraphicalItems == null ? void 0 : formattedGraphicalItems[0];
2534
- const props2 = (_a2 = pie2 == null ? void 0 : pie2.props) != null ? _a2 : {};
3353
+ var _a3, _b2, _c;
3354
+ const pie = formattedGraphicalItems == null ? void 0 : formattedGraphicalItems[0];
3355
+ const props2 = (_a3 = pie == null ? void 0 : pie.props) != null ? _a3 : {};
2535
3356
  const cx = (_b2 = props2.cx) != null ? _b2 : containerWidth / 2;
2536
3357
  const cy = (_c = props2.cy) != null ? _c : containerHeight / 2;
2537
3358
  if (!containerWidth || !containerHeight || (0, import_isNil.default)(chartValue)) {
@@ -2543,7 +3364,7 @@ var DoughnutChart = (_a) => {
2543
3364
  const yMargin = (containerHeight - refSize * scale) / 2;
2544
3365
  const x = cx - refSize / 2 * scale;
2545
3366
  const y = (yOffset + yMargin) / scale;
2546
- return /* @__PURE__ */ import_react12.default.createElement("foreignObject", {
3367
+ return /* @__PURE__ */ import_react15.default.createElement("foreignObject", {
2547
3368
  width: refSize,
2548
3369
  height: refSize,
2549
3370
  x,
@@ -2552,24 +3373,27 @@ var DoughnutChart = (_a) => {
2552
3373
  }, chartValue);
2553
3374
  };
2554
3375
  const highlightActive = activeIndex !== null && tooltip;
2555
- return /* @__PURE__ */ import_react12.default.createElement(ResponsiveContainer, {
3376
+ return /* @__PURE__ */ import_react15.default.createElement(ResponsiveContainer, {
2556
3377
  width: props.width,
2557
3378
  height: props.height,
2558
3379
  isBusy,
2559
3380
  busyLabel,
2560
3381
  onResize
2561
- }, /* @__PURE__ */ import_react12.default.createElement(import_recharts13.PieChart, null, chartValue && /* @__PURE__ */ import_react12.default.createElement(import_recharts13.Customized, {
3382
+ }, /* @__PURE__ */ import_react15.default.createElement(import_recharts13.PieChart, null, chartValue && /* @__PURE__ */ import_react15.default.createElement(import_recharts13.Customized, {
2562
3383
  component: renderChartValue
2563
- }), pie && /* @__PURE__ */ import_react12.default.createElement(import_recharts13.Pie, __spreadProps(__spreadValues({}, pie.props), {
3384
+ }), doughnut && /* @__PURE__ */ import_react15.default.createElement(import_recharts13.Pie, __spreadProps(__spreadValues({}, doughnut.props), {
3385
+ fill: (_a2 = doughnut.props.fill) != null ? _a2 : getDefaultColor(doughnut.props.dataKey),
2564
3386
  onMouseEnter: (_, index) => setActiveIndex(index),
2565
3387
  onMouseLeave: () => setActiveIndex(null),
2566
3388
  activeIndex,
2567
3389
  inactiveShape: { className: highlightActive ? "inactive" : void 0 },
2568
3390
  activeShape: { className: highlightActive ? "active" : void 0 }
2569
- })), renderPieChildren(children)));
3391
+ })), renderPieChildren(children, { tooltipColor: "fill" })));
2570
3392
  };
2571
- var Doughnut = Object.assign((props) => /* @__PURE__ */ import_react12.default.createElement(import_recharts13.Pie, __spreadValues({}, props)), import_recharts13.Pie);
3393
+ var Doughnut = Object.assign((props) => /* @__PURE__ */ import_react15.default.createElement(import_recharts13.Pie, __spreadValues({}, props)), import_recharts13.Pie);
2572
3394
  Doughnut.defaultProps = Object.assign({}, import_recharts13.Pie.defaultProps, {
3395
+ fill: void 0,
3396
+ stroke: void 0,
2573
3397
  isAnimationActive: false,
2574
3398
  innerRadius: "60%",
2575
3399
  outerRadius: "80%"
@@ -2579,22 +3403,34 @@ DoughnutChart.ChartValue = ChartValue;
2579
3403
  DoughnutChart.Cell = import_recharts13.Cell;
2580
3404
 
2581
3405
  // src/charts/PieChart/PieChart.tsx
2582
- var import_react13 = __toESM(require("react"));
3406
+ var import_react16 = __toESM(require("react"));
2583
3407
  var import_recharts14 = require("recharts");
2584
3408
  var PieChart = (_a) => {
3409
+ var _b = _a, { palette } = _b, props = __objRest(_b, ["palette"]);
3410
+ return /* @__PURE__ */ import_react16.default.createElement(DefaultPalette, {
3411
+ palette
3412
+ }, /* @__PURE__ */ import_react16.default.createElement(PieChartWrapper, __spreadValues({}, props)));
3413
+ };
3414
+ var PieChartWrapper = (_a) => {
2585
3415
  var _b = _a, { isBusy, busyLabel } = _b, props = __objRest(_b, ["isBusy", "busyLabel"]);
2586
- return /* @__PURE__ */ import_react13.default.createElement(ResponsiveContainer, {
3416
+ var _a2;
3417
+ const [pie, children] = extractChildByDisplayName(props.children, PieChart.Pie.displayName);
3418
+ const { getDefaultColor } = import_react16.default.useContext(DefaultPaletteContext);
3419
+ return /* @__PURE__ */ import_react16.default.createElement(ResponsiveContainer, {
2587
3420
  width: props.width,
2588
3421
  height: props.height,
2589
3422
  isBusy,
2590
3423
  busyLabel
2591
- }, /* @__PURE__ */ import_react13.default.createElement(import_recharts14.PieChart, {
3424
+ }, /* @__PURE__ */ import_react16.default.createElement(import_recharts14.PieChart, {
2592
3425
  width: 500,
2593
3426
  height: 500
2594
- }, renderPieChildren(props.children)));
3427
+ }, renderPieChildren(children, { tooltipColor: "fill" }), pie && /* @__PURE__ */ import_react16.default.createElement(import_recharts14.Pie, __spreadProps(__spreadValues({}, pie.props), {
3428
+ fill: (_a2 = pie.props.fill) != null ? _a2 : getDefaultColor(pie.props.dataKey)
3429
+ }))));
2595
3430
  };
2596
- var Pie = Object.assign((props) => /* @__PURE__ */ import_react13.default.createElement(import_recharts14.Pie, __spreadValues({}, props)), import_recharts14.Pie);
3431
+ var Pie = Object.assign((props) => /* @__PURE__ */ import_react16.default.createElement(import_recharts14.Pie, __spreadValues({}, props)), import_recharts14.Pie);
2597
3432
  Pie.defaultProps = Object.assign({}, import_recharts14.Pie.defaultProps, {
3433
+ fill: void 0,
2598
3434
  isAnimationActive: false,
2599
3435
  innerRadius: 0,
2600
3436
  outerRadius: "80%"
@@ -2603,17 +3439,17 @@ PieChart.Pie = Pie;
2603
3439
  PieChart.Cell = import_recharts14.Cell;
2604
3440
 
2605
3441
  // src/charts/Reference/Reference.tsx
2606
- var import_react14 = __toESM(require("react"));
3442
+ var import_react17 = __toESM(require("react"));
2607
3443
  var import_recharts15 = require("recharts");
2608
3444
  var ReferenceLine = Object.assign(
2609
- (props) => /* @__PURE__ */ import_react14.default.createElement(import_recharts15.ReferenceLine, __spreadProps(__spreadValues({}, props), {
3445
+ (props) => /* @__PURE__ */ import_react17.default.createElement(import_recharts15.ReferenceLine, __spreadProps(__spreadValues({}, props), {
2610
3446
  strokeDasharray: "9 3",
2611
3447
  strokeWidth: 2
2612
3448
  })),
2613
3449
  import_recharts15.ReferenceLine
2614
3450
  );
2615
3451
  var ReferenceArea = Object.assign(
2616
- (props) => /* @__PURE__ */ import_react14.default.createElement(import_recharts15.ReferenceArea, __spreadProps(__spreadValues({}, props), {
3452
+ (props) => /* @__PURE__ */ import_react17.default.createElement(import_recharts15.ReferenceArea, __spreadProps(__spreadValues({}, props), {
2617
3453
  strokeWidth: 0,
2618
3454
  fillOpacity: 0.1
2619
3455
  })),
@@ -2636,11 +3472,14 @@ var Reference = {
2636
3472
  CartesianGrid,
2637
3473
  Cell,
2638
3474
  DEFAULT_MARGINS,
3475
+ DefaultPalette,
3476
+ DefaultPaletteContext,
2639
3477
  Doughnut,
2640
3478
  DoughnutChart,
2641
3479
  Label,
2642
3480
  LabelList,
2643
3481
  Legend,
3482
+ LegendContentWrapper,
2644
3483
  Line,
2645
3484
  LineChart,
2646
3485
  Pie,
@@ -2654,6 +3493,7 @@ var Reference = {
2654
3493
  getXAxisTicks,
2655
3494
  getXAxisValues,
2656
3495
  normalizeAxisDomain,
3496
+ renderChartChildren,
2657
3497
  renderXAxis,
2658
3498
  renderXTimeAxis,
2659
3499
  renderYAxis,
@@ -2692,6 +3532,7 @@ var Reference = {
2692
3532
  timeYears,
2693
3533
  unixDay,
2694
3534
  unixDays,
3535
+ useDefaultColor,
2695
3536
  utcDay,
2696
3537
  utcDays,
2697
3538
  utcFriday,