@aivenio/aquarium 1.49.1 → 1.51.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 (44) hide show
  1. package/dist/_variables.scss +1 -1
  2. package/dist/atoms.cjs +39 -18
  3. package/dist/atoms.mjs +39 -18
  4. package/dist/charts.cjs +142 -103
  5. package/dist/charts.mjs +129 -91
  6. package/dist/src/atoms/Modal/Modal.d.ts +6 -3
  7. package/dist/src/atoms/Modal/Modal.js +25 -14
  8. package/dist/src/charts/BarChart/BarChart.js +36 -25
  9. package/dist/src/charts/Legend/Legend.d.ts +4 -0
  10. package/dist/src/charts/Legend/Legend.js +15 -0
  11. package/dist/src/charts/PieChart/ChartValue.js +3 -3
  12. package/dist/src/charts/PieChart/DoughnutChart.js +45 -7
  13. package/dist/src/charts/PieChart/renderPieChildren.d.ts +1 -1
  14. package/dist/src/charts/PieChart/renderPieChildren.js +4 -5
  15. package/dist/src/charts/index.d.ts +1 -0
  16. package/dist/src/charts/index.js +2 -1
  17. package/dist/src/charts/lib/utils.d.ts +1 -5
  18. package/dist/src/charts/lib/utils.js +7 -4
  19. package/dist/src/icons/more.js +2 -2
  20. package/dist/src/molecules/DataList/DataList.d.ts +9 -2
  21. package/dist/src/molecules/DataList/DataList.js +3 -3
  22. package/dist/src/molecules/DataTable/DataTable.d.ts +9 -2
  23. package/dist/src/molecules/DataTable/DataTable.js +3 -3
  24. package/dist/src/molecules/Drawer/Drawer.d.ts +10 -0
  25. package/dist/src/molecules/Drawer/Drawer.js +116 -0
  26. package/dist/src/molecules/Modal/Modal.d.ts +8 -9
  27. package/dist/src/molecules/Modal/Modal.js +1 -1
  28. package/dist/src/molecules/MultiSelect/MultiSelect.d.ts +8 -1
  29. package/dist/src/molecules/MultiSelect/MultiSelect.js +22 -5
  30. package/dist/src/molecules/Tabs/Tabs.js +3 -3
  31. package/dist/src/molecules/index.d.ts +1 -0
  32. package/dist/src/molecules/index.js +2 -1
  33. package/dist/src/utils/table/types.d.ts +2 -0
  34. package/dist/src/utils/table/types.js +4 -1
  35. package/dist/src/utils/table/useTableSort.d.ts +10 -3
  36. package/dist/src/utils/table/useTableSort.js +24 -6
  37. package/dist/styles.css +54 -22
  38. package/dist/system.cjs +1203 -1007
  39. package/dist/system.mjs +1205 -1011
  40. package/dist/tsconfig.module.tsbuildinfo +1 -1
  41. package/dist/types/tailwindGenerated.d.ts +1 -1
  42. package/package.json +14 -2
  43. package/dist/src/charts/PieChart/renderScaledChartValue.d.ts +0 -8
  44. package/dist/src/charts/PieChart/renderScaledChartValue.js +0 -15
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Do not edit directly
3
- // Generated on Tue, 12 Dec 2023 12:44:51 GMT
3
+ // Generated on Thu, 11 Jan 2024 15:05:37 GMT
4
4
 
5
5
  $border-radius-none: 0px !default;
6
6
  $border-radius-sm: 0.125rem !default;
package/dist/atoms.cjs CHANGED
@@ -2652,7 +2652,7 @@ var require_more = __commonJS({
2652
2652
  "src/icons/more.js"(exports) {
2653
2653
  "use strict";
2654
2654
  var data = {
2655
- "body": '<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M11 11.917a.917.917 0 100-1.834.917.917 0 000 1.834Zm6.417 0a.917.917 0 100-1.834.917.917 0 000 1.834Zm-12.834 0a.917.917 0 100-1.834.917.917 0 000 1.834Z"/>',
2655
+ "body": '<g fill="none"><path fill="currentColor" d="M11 12a1 1 0 100-2 1 1 0 000 2Zm8 0a1 1 0 100-2 1 1 0 000 2ZM3 12a1 1 0 100-2 1 1 0 000 2Z"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M11 12a1 1 0 100-2 1 1 0 000 2Zm8 0a1 1 0 100-2 1 1 0 000 2ZM3 12a1 1 0 100-2 1 1 0 000 2Z"/></g>',
2656
2656
  "left": 0,
2657
2657
  "top": 0,
2658
2658
  "width": 22,
@@ -7351,10 +7351,23 @@ var Link = (_a) => {
7351
7351
  // src/atoms/Modal/Modal.tsx
7352
7352
  var import_react32 = __toESM(require("react"));
7353
7353
  var Modal = (_a) => {
7354
- var _b = _a, { children, className, open } = _b, rest = __objRest(_b, ["children", "className", "open"]);
7354
+ var _b = _a, {
7355
+ children,
7356
+ kind = "dialog",
7357
+ className,
7358
+ open
7359
+ } = _b, rest = __objRest(_b, [
7360
+ "children",
7361
+ "kind",
7362
+ "className",
7363
+ "open"
7364
+ ]);
7355
7365
  return open ? /* @__PURE__ */ import_react32.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
7356
7366
  className: classNames(
7357
- tw("inset-0 overflow-y-auto z-modal flex justify-center items-center fixed py-7"),
7367
+ tw("inset-0 overflow-y-auto z-modal fixed"),
7368
+ {
7369
+ "py-7 justify-center flex items-center": kind === "dialog"
7370
+ },
7358
7371
  className
7359
7372
  )
7360
7373
  }), children) : null;
@@ -7367,27 +7380,30 @@ Modal.BackDrop = (_a) => {
7367
7380
  };
7368
7381
  Modal.Dialog = import_react32.default.forwardRef(
7369
7382
  (_a, ref) => {
7370
- var _b = _a, { children, className, size = "sm" } = _b, rest = __objRest(_b, ["children", "className", "size"]);
7383
+ var _b = _a, { kind = "dialog", children, className, size = "sm" } = _b, rest = __objRest(_b, ["kind", "children", "className", "size"]);
7384
+ const commonClasses = tw("bg-white max-h-full flex flex-col");
7385
+ const dialogClasses = classNames("relative w-full rounded", {
7386
+ "max-w-[600px]": size === "sm",
7387
+ "max-w-[940px]": size === "md",
7388
+ "min-h-full": size === "full"
7389
+ });
7390
+ const drawerClasses = classNames("absolute h-full", {
7391
+ "w-[360px]": size === "sm",
7392
+ "w-[560px]": size === "md",
7393
+ "w-[1080px]": size === "full"
7394
+ });
7371
7395
  return /* @__PURE__ */ import_react32.default.createElement("div", __spreadProps(__spreadValues({
7372
7396
  ref,
7373
7397
  "aria-modal": "true"
7374
7398
  }, rest), {
7375
- className: classNames(
7376
- tw("relative bg-white rounded mx-7 w-full max-h-full flex flex-col"),
7377
- {
7378
- "max-w-[600px]": size === "sm",
7379
- "max-w-[940px]": size === "md",
7380
- "min-h-full": size === "full"
7381
- },
7382
- className
7383
- )
7399
+ className: classNames(commonClasses, kind === "dialog" ? dialogClasses : drawerClasses, className)
7384
7400
  }), children);
7385
7401
  }
7386
7402
  );
7387
7403
  Modal.Header = (_a) => {
7388
7404
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
7389
7405
  return /* @__PURE__ */ import_react32.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
7390
- className: classNames(tw("px-7 py-6 gap-3 flex items-center"), className)
7406
+ className: classNames(tw("pl-7 pr-[64px] py-6 gap-3 flex items-center"), className)
7391
7407
  }), children);
7392
7408
  };
7393
7409
  Modal.HeaderImage = (_a) => {
@@ -7405,16 +7421,21 @@ Modal.HeaderImage = (_a) => {
7405
7421
  Modal.CloseButtonContainer = (_a) => {
7406
7422
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
7407
7423
  return /* @__PURE__ */ import_react32.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
7408
- className: classNames(tw("absolute top-[20px] right-[28px]"), className)
7424
+ className: classNames(tw("absolute top-[24px] right-[28px]"), className)
7409
7425
  }));
7410
7426
  };
7411
7427
  Modal.Title = (_a) => {
7412
- var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
7428
+ var _b = _a, { kind = "dialog", children, className } = _b, rest = __objRest(_b, ["kind", "children", "className"]);
7413
7429
  return /* @__PURE__ */ import_react32.default.createElement(Typography, __spreadValues({
7414
7430
  htmlTag: "h2",
7415
7431
  variant: "subheading",
7416
7432
  color: "grey-90",
7417
- className: classNames(tw("leading-none"), className)
7433
+ className: classNames(
7434
+ tw({
7435
+ "text-ellipsis overflow-x-hidden whitespace-nowrap": kind === "drawer"
7436
+ }),
7437
+ className
7438
+ )
7418
7439
  }, rest), children);
7419
7440
  };
7420
7441
  Modal.Subtitle = (_a) => {
@@ -7427,7 +7448,7 @@ Modal.Subtitle = (_a) => {
7427
7448
  Modal.TitleContainer = (_a) => {
7428
7449
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
7429
7450
  return /* @__PURE__ */ import_react32.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
7430
- className: classNames(tw("flex flex-col grow gap-2"), className)
7451
+ className: classNames(tw("flex flex-col grow"), className)
7431
7452
  }), children);
7432
7453
  };
7433
7454
  Modal.Body = (_a) => {
package/dist/atoms.mjs CHANGED
@@ -2646,7 +2646,7 @@ var require_more = __commonJS({
2646
2646
  "src/icons/more.js"(exports) {
2647
2647
  "use strict";
2648
2648
  var data = {
2649
- "body": '<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M11 11.917a.917.917 0 100-1.834.917.917 0 000 1.834Zm6.417 0a.917.917 0 100-1.834.917.917 0 000 1.834Zm-12.834 0a.917.917 0 100-1.834.917.917 0 000 1.834Z"/>',
2649
+ "body": '<g fill="none"><path fill="currentColor" d="M11 12a1 1 0 100-2 1 1 0 000 2Zm8 0a1 1 0 100-2 1 1 0 000 2ZM3 12a1 1 0 100-2 1 1 0 000 2Z"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M11 12a1 1 0 100-2 1 1 0 000 2Zm8 0a1 1 0 100-2 1 1 0 000 2ZM3 12a1 1 0 100-2 1 1 0 000 2Z"/></g>',
2650
2650
  "left": 0,
2651
2651
  "top": 0,
2652
2652
  "width": 22,
@@ -7311,10 +7311,23 @@ var Link = (_a) => {
7311
7311
  // src/atoms/Modal/Modal.tsx
7312
7312
  import React28 from "react";
7313
7313
  var Modal = (_a) => {
7314
- var _b = _a, { children, className, open } = _b, rest = __objRest(_b, ["children", "className", "open"]);
7314
+ var _b = _a, {
7315
+ children,
7316
+ kind = "dialog",
7317
+ className,
7318
+ open
7319
+ } = _b, rest = __objRest(_b, [
7320
+ "children",
7321
+ "kind",
7322
+ "className",
7323
+ "open"
7324
+ ]);
7315
7325
  return open ? /* @__PURE__ */ React28.createElement("div", __spreadProps(__spreadValues({}, rest), {
7316
7326
  className: classNames(
7317
- tw("inset-0 overflow-y-auto z-modal flex justify-center items-center fixed py-7"),
7327
+ tw("inset-0 overflow-y-auto z-modal fixed"),
7328
+ {
7329
+ "py-7 justify-center flex items-center": kind === "dialog"
7330
+ },
7318
7331
  className
7319
7332
  )
7320
7333
  }), children) : null;
@@ -7327,27 +7340,30 @@ Modal.BackDrop = (_a) => {
7327
7340
  };
7328
7341
  Modal.Dialog = React28.forwardRef(
7329
7342
  (_a, ref) => {
7330
- var _b = _a, { children, className, size = "sm" } = _b, rest = __objRest(_b, ["children", "className", "size"]);
7343
+ var _b = _a, { kind = "dialog", children, className, size = "sm" } = _b, rest = __objRest(_b, ["kind", "children", "className", "size"]);
7344
+ const commonClasses = tw("bg-white max-h-full flex flex-col");
7345
+ const dialogClasses = classNames("relative w-full rounded", {
7346
+ "max-w-[600px]": size === "sm",
7347
+ "max-w-[940px]": size === "md",
7348
+ "min-h-full": size === "full"
7349
+ });
7350
+ const drawerClasses = classNames("absolute h-full", {
7351
+ "w-[360px]": size === "sm",
7352
+ "w-[560px]": size === "md",
7353
+ "w-[1080px]": size === "full"
7354
+ });
7331
7355
  return /* @__PURE__ */ React28.createElement("div", __spreadProps(__spreadValues({
7332
7356
  ref,
7333
7357
  "aria-modal": "true"
7334
7358
  }, rest), {
7335
- className: classNames(
7336
- tw("relative bg-white rounded mx-7 w-full max-h-full flex flex-col"),
7337
- {
7338
- "max-w-[600px]": size === "sm",
7339
- "max-w-[940px]": size === "md",
7340
- "min-h-full": size === "full"
7341
- },
7342
- className
7343
- )
7359
+ className: classNames(commonClasses, kind === "dialog" ? dialogClasses : drawerClasses, className)
7344
7360
  }), children);
7345
7361
  }
7346
7362
  );
7347
7363
  Modal.Header = (_a) => {
7348
7364
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
7349
7365
  return /* @__PURE__ */ React28.createElement("div", __spreadProps(__spreadValues({}, rest), {
7350
- className: classNames(tw("px-7 py-6 gap-3 flex items-center"), className)
7366
+ className: classNames(tw("pl-7 pr-[64px] py-6 gap-3 flex items-center"), className)
7351
7367
  }), children);
7352
7368
  };
7353
7369
  Modal.HeaderImage = (_a) => {
@@ -7365,16 +7381,21 @@ Modal.HeaderImage = (_a) => {
7365
7381
  Modal.CloseButtonContainer = (_a) => {
7366
7382
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
7367
7383
  return /* @__PURE__ */ React28.createElement("div", __spreadProps(__spreadValues({}, rest), {
7368
- className: classNames(tw("absolute top-[20px] right-[28px]"), className)
7384
+ className: classNames(tw("absolute top-[24px] right-[28px]"), className)
7369
7385
  }));
7370
7386
  };
7371
7387
  Modal.Title = (_a) => {
7372
- var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
7388
+ var _b = _a, { kind = "dialog", children, className } = _b, rest = __objRest(_b, ["kind", "children", "className"]);
7373
7389
  return /* @__PURE__ */ React28.createElement(Typography, __spreadValues({
7374
7390
  htmlTag: "h2",
7375
7391
  variant: "subheading",
7376
7392
  color: "grey-90",
7377
- className: classNames(tw("leading-none"), className)
7393
+ className: classNames(
7394
+ tw({
7395
+ "text-ellipsis overflow-x-hidden whitespace-nowrap": kind === "drawer"
7396
+ }),
7397
+ className
7398
+ )
7378
7399
  }, rest), children);
7379
7400
  };
7380
7401
  Modal.Subtitle = (_a) => {
@@ -7387,7 +7408,7 @@ Modal.Subtitle = (_a) => {
7387
7408
  Modal.TitleContainer = (_a) => {
7388
7409
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
7389
7410
  return /* @__PURE__ */ React28.createElement("div", __spreadProps(__spreadValues({}, rest), {
7390
- className: classNames(tw("flex flex-col grow gap-2"), className)
7411
+ className: classNames(tw("flex flex-col grow"), className)
7391
7412
  }), children);
7392
7413
  };
7393
7414
  Modal.Body = (_a) => {
package/dist/charts.cjs CHANGED
@@ -64,14 +64,15 @@ __export(charts_exports, {
64
64
  Cell: () => import_recharts7.Cell,
65
65
  Doughnut: () => Doughnut,
66
66
  DoughnutChart: () => DoughnutChart,
67
+ Legend: () => Legend,
67
68
  Line: () => Line,
68
69
  LineChart: () => LineChart,
69
- Pie: () => Pie2,
70
+ Pie: () => Pie,
70
71
  PieChart: () => PieChart,
71
72
  Reference: () => Reference,
72
73
  ResponsiveContainer: () => ResponsiveContainer,
73
74
  Tooltip: () => Tooltip,
74
- extractChildByName: () => extractChildByName,
75
+ extractChildByDisplayName: () => extractChildByDisplayName,
75
76
  getDisplayName: () => getDisplayName,
76
77
  getXAxisTicks: () => getXAxisTicks,
77
78
  renderXAxis: () => renderXAxis,
@@ -2001,11 +2002,14 @@ var getXAxisTicks = ({ dataKey, ticks: ticks2 }, chartProps) => {
2001
2002
  const [min = new Date(), max = new Date()] = extent(xValues);
2002
2003
  return time().domain([min, max]).ticks(ticks2).map((v) => v.valueOf());
2003
2004
  };
2004
- var extractChildByName = (children, name) => {
2005
+ var extractChildByDisplayName = (children, name) => {
2005
2006
  const childIndex = children.findIndex((child) => getDisplayName(child.type) === name);
2006
- const foundChild = children.slice(childIndex, childIndex + 1);
2007
+ if (childIndex === -1) {
2008
+ return [void 0, children];
2009
+ }
2010
+ const foundChild = children.at(childIndex);
2007
2011
  const remainingChildren = children.slice(0, childIndex).concat(children.slice(childIndex + 1));
2008
- return { foundChild, children: remainingChildren };
2012
+ return [foundChild, remainingChildren];
2009
2013
  };
2010
2014
 
2011
2015
  // src/charts/Axis/Axis.tsx
@@ -2148,44 +2152,53 @@ Tooltip.defaultProps = Object.assign({}, import_recharts5.Tooltip.defaultProps,
2148
2152
  });
2149
2153
 
2150
2154
  // src/charts/BarChart/BarChart.tsx
2151
- var renderChildren2 = (props) => {
2152
- return import_react5.default.Children.map(props.children, (child) => {
2153
- switch (getDisplayName(child.type)) {
2154
- case Axis.XAxis.displayName: {
2155
- return renderXAxis(child, props);
2156
- }
2157
- case Axis.XAxis.Time.displayName: {
2158
- return renderXTimeAxis(child, props);
2159
- }
2160
- case Axis.YAxis.displayName: {
2161
- return renderYAxis(child, props);
2162
- }
2163
- case Tooltip.displayName: {
2164
- return /* @__PURE__ */ import_react5.default.createElement(Tooltip, __spreadProps(__spreadValues({}, child.props), {
2165
- cursor: false
2166
- }));
2167
- }
2168
- default: {
2169
- return child;
2170
- }
2171
- }
2172
- });
2173
- };
2174
2155
  var BarChart = (props) => {
2156
+ const [activeIndex, setActiveIndex] = import_react5.default.useState(void 0);
2157
+ const renderChildren3 = (props2) => {
2158
+ return import_react5.default.Children.map(props2.children, (child) => {
2159
+ switch (getDisplayName(child.type)) {
2160
+ case Axis.XAxis.displayName: {
2161
+ return renderXAxis(child, props2);
2162
+ }
2163
+ case Axis.XAxis.Time.displayName: {
2164
+ return renderXTimeAxis(child, props2);
2165
+ }
2166
+ case Axis.YAxis.displayName: {
2167
+ return renderYAxis(child, props2);
2168
+ }
2169
+ case import_recharts6.Bar.displayName: {
2170
+ return import_react5.default.cloneElement(child, {
2171
+ shape: (props3) => /* @__PURE__ */ import_react5.default.createElement(import_recharts6.Rectangle, __spreadProps(__spreadValues({}, props3), {
2172
+ className: activeIndex !== void 0 ? "inactive" : void 0
2173
+ }))
2174
+ });
2175
+ }
2176
+ case Tooltip.displayName: {
2177
+ return /* @__PURE__ */ import_react5.default.createElement(Tooltip, __spreadProps(__spreadValues({}, child.props), {
2178
+ cursor: false
2179
+ }));
2180
+ }
2181
+ default: {
2182
+ return child;
2183
+ }
2184
+ }
2185
+ });
2186
+ };
2175
2187
  return /* @__PURE__ */ import_react5.default.createElement(ResponsiveContainer, {
2176
2188
  width: props.width,
2177
2189
  height: props.height
2178
- }, /* @__PURE__ */ import_react5.default.createElement(import_recharts6.BarChart, {
2179
- data: props.data,
2190
+ }, /* @__PURE__ */ import_react5.default.createElement(import_recharts6.BarChart, __spreadProps(__spreadValues({}, props), {
2180
2191
  barCategoryGap: "5%",
2181
2192
  style: { stroke: "#fff", strokeWidth: 1 },
2193
+ onMouseMove: (state) => setActiveIndex(state.isTooltipActive ? state.activeTooltipIndex : void 0),
2194
+ onMouseLeave: () => setActiveIndex(void 0),
2182
2195
  margin: {
2183
2196
  top: 20,
2184
2197
  right: 30,
2185
2198
  left: 20,
2186
2199
  bottom: 5
2187
2200
  }
2188
- }, /* @__PURE__ */ import_react5.default.createElement(CartesianGrid, null), renderChildren2(props)));
2201
+ }), /* @__PURE__ */ import_react5.default.createElement(CartesianGrid, null), renderChildren3(props)));
2189
2202
  };
2190
2203
  var Bar = Object.assign((props) => /* @__PURE__ */ import_react5.default.createElement(import_recharts6.Bar, __spreadProps(__spreadValues({}, props), {
2191
2204
  isAnimationActive: false
@@ -2197,11 +2210,29 @@ BarChart.Tooltip = Tooltip;
2197
2210
  var import_recharts7 = require("recharts");
2198
2211
  var import_recharts8 = require("recharts");
2199
2212
 
2200
- // src/charts/LineChart/LineChart.tsx
2213
+ // src/charts/Legend/Legend.tsx
2201
2214
  var import_react6 = __toESM(require("react"));
2202
2215
  var import_recharts9 = require("recharts");
2203
- var renderChildren3 = (props) => {
2204
- return import_react6.default.Children.map(props.children, (child) => {
2216
+ var Legend = import_react6.default.forwardRef((props, _ref) => {
2217
+ return /* @__PURE__ */ import_react6.default.createElement(import_recharts9.Legend, __spreadProps(__spreadValues({}, props), {
2218
+ margin: __spreadProps(__spreadValues({}, props.margin), { top: 0 })
2219
+ }));
2220
+ });
2221
+ Legend.displayName = "Legend";
2222
+ Legend.defaultProps = {
2223
+ iconType: "circle",
2224
+ iconSize: 8,
2225
+ align: "left",
2226
+ layout: "horizontal",
2227
+ verticalAlign: "top",
2228
+ margin: { top: 0 }
2229
+ };
2230
+
2231
+ // src/charts/LineChart/LineChart.tsx
2232
+ var import_react7 = __toESM(require("react"));
2233
+ var import_recharts10 = require("recharts");
2234
+ var renderChildren2 = (props) => {
2235
+ return import_react7.default.Children.map(props.children, (child) => {
2205
2236
  switch (getDisplayName(child.type)) {
2206
2237
  case Axis.XAxis.displayName: {
2207
2238
  return renderXAxis(child, props);
@@ -2219,10 +2250,10 @@ var renderChildren3 = (props) => {
2219
2250
  });
2220
2251
  };
2221
2252
  var LineChart = (props) => {
2222
- return /* @__PURE__ */ import_react6.default.createElement(ResponsiveContainer, {
2253
+ return /* @__PURE__ */ import_react7.default.createElement(ResponsiveContainer, {
2223
2254
  width: props.width,
2224
2255
  height: props.height
2225
- }, /* @__PURE__ */ import_react6.default.createElement(import_recharts9.LineChart, {
2256
+ }, /* @__PURE__ */ import_react7.default.createElement(import_recharts10.LineChart, {
2226
2257
  data: props.data,
2227
2258
  style: { stroke: "#fff", strokeWidth: 1 },
2228
2259
  margin: {
@@ -2231,26 +2262,27 @@ var LineChart = (props) => {
2231
2262
  left: 20,
2232
2263
  bottom: 5
2233
2264
  }
2234
- }, /* @__PURE__ */ import_react6.default.createElement(CartesianGrid, null), renderChildren3(props)));
2265
+ }, /* @__PURE__ */ import_react7.default.createElement(CartesianGrid, null), renderChildren2(props)));
2235
2266
  };
2236
2267
  var Line = Object.assign(
2237
- (props) => /* @__PURE__ */ import_react6.default.createElement(import_recharts9.Line, __spreadProps(__spreadValues({
2268
+ (props) => /* @__PURE__ */ import_react7.default.createElement(import_recharts10.Line, __spreadProps(__spreadValues({
2238
2269
  type: "monotone"
2239
2270
  }, props), {
2240
2271
  strokeWidth: 2,
2241
2272
  isAnimationActive: false,
2242
2273
  dot: false
2243
2274
  })),
2244
- import_recharts9.Line
2275
+ import_recharts10.Line
2245
2276
  );
2246
2277
  LineChart.Line = Line;
2247
2278
 
2248
2279
  // src/charts/PieChart/DoughnutChart.tsx
2249
2280
  var import_react11 = __toESM(require("react"));
2250
- var import_recharts11 = require("recharts");
2281
+ var import_isNil = __toESM(require("lodash/isNil"));
2282
+ var import_recharts12 = require("recharts");
2251
2283
 
2252
2284
  // src/charts/PieChart/ChartValue.tsx
2253
- var import_react7 = __toESM(require("react"));
2285
+ var import_react8 = __toESM(require("react"));
2254
2286
 
2255
2287
  // src/utils/tailwind.ts
2256
2288
  var import_classnames = __toESM(require("classnames"));
@@ -2277,29 +2309,21 @@ function tw(classesOrModifiers1, classesOrModifiers2, classesOrModifiers3, class
2277
2309
  // src/charts/PieChart/ChartValue.tsx
2278
2310
  var ChartValue = (props) => {
2279
2311
  const { value, unit: unit2, caption } = props;
2280
- return /* @__PURE__ */ import_react7.default.createElement("p", {
2312
+ return /* @__PURE__ */ import_react8.default.createElement("p", {
2281
2313
  className: tw(
2282
- "typography-large-heading",
2283
- "text-center",
2284
- "leading-tight",
2285
- "absolute",
2286
- "top-1/2",
2287
- "left-1/2",
2288
- "transform",
2289
- "-translate-x-1/2",
2290
- "-translate-y-1/2"
2314
+ "typography-large-heading text-grey-90 text-center leading-tight absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2"
2291
2315
  )
2292
- }, value, unit2, caption && /* @__PURE__ */ import_react7.default.createElement("span", {
2293
- className: tw("block", "typography-small")
2316
+ }, value, unit2, caption && /* @__PURE__ */ import_react8.default.createElement("span", {
2317
+ className: tw("block", "typography-small text-grey-60")
2294
2318
  }, caption));
2295
2319
  };
2296
2320
 
2297
2321
  // src/charts/PieChart/renderPieChildren.tsx
2298
- var import_react9 = __toESM(require("react"));
2299
- var import_recharts10 = require("recharts");
2322
+ var import_react10 = __toESM(require("react"));
2323
+ var import_recharts11 = require("recharts");
2300
2324
 
2301
2325
  // src/charts/PieChart/TooltipContentWrapper.tsx
2302
- var import_react8 = __toESM(require("react"));
2326
+ var import_react9 = __toESM(require("react"));
2303
2327
  var import_isFunction = __toESM(require("lodash/isFunction"));
2304
2328
  var TooltipContentWrapper = (_a) => {
2305
2329
  var _b = _a, {
@@ -2315,28 +2339,28 @@ var TooltipContentWrapper = (_a) => {
2315
2339
  });
2316
2340
  });
2317
2341
  const propsWithPayload = __spreadProps(__spreadValues({}, props), { payload });
2318
- if (import_react8.default.isValidElement(content)) {
2319
- return import_react8.default.cloneElement(content, propsWithPayload);
2342
+ if (import_react9.default.isValidElement(content)) {
2343
+ return import_react9.default.cloneElement(content, propsWithPayload);
2320
2344
  }
2321
2345
  if ((0, import_isFunction.default)(content)) {
2322
- return import_react8.default.createElement(content, propsWithPayload);
2346
+ return import_react9.default.createElement(content, propsWithPayload);
2323
2347
  }
2324
- return /* @__PURE__ */ import_react8.default.createElement(Tooltip.DefaultContent, __spreadProps(__spreadValues({}, props), {
2348
+ return /* @__PURE__ */ import_react9.default.createElement(Tooltip.DefaultContent, __spreadProps(__spreadValues({}, props), {
2325
2349
  payload
2326
2350
  }));
2327
2351
  };
2328
2352
 
2329
2353
  // src/charts/PieChart/renderPieChildren.tsx
2330
2354
  var renderPieChildren = (children) => {
2331
- return import_react9.default.Children.map(children, (child) => {
2355
+ return import_react10.default.Children.map(children, (child) => {
2332
2356
  switch (getDisplayName(child.type)) {
2333
2357
  case Tooltip.displayName: {
2334
- return import_react9.default.cloneElement(child, { content: /* @__PURE__ */ import_react9.default.createElement(TooltipContentWrapper, {
2358
+ return import_react10.default.cloneElement(child, { content: /* @__PURE__ */ import_react10.default.createElement(TooltipContentWrapper, {
2335
2359
  content: child.props.content
2336
2360
  }) });
2337
2361
  }
2338
- case DoughnutChart.Doughnut.displayName: {
2339
- return /* @__PURE__ */ import_react9.default.createElement(import_recharts10.Pie, __spreadValues({}, child.props));
2362
+ case import_recharts11.Legend.displayName: {
2363
+ return import_react10.default.cloneElement(child, { verticalAlign: "top", align: "center" });
2340
2364
  }
2341
2365
  default: {
2342
2366
  return child;
@@ -2345,90 +2369,104 @@ var renderPieChildren = (children) => {
2345
2369
  });
2346
2370
  };
2347
2371
 
2348
- // src/charts/PieChart/renderScaledChartValue.tsx
2349
- var import_react10 = __toESM(require("react"));
2350
- var renderScaledChartValue = (props) => {
2351
- const refSize = 300;
2352
- const { containerWidth, containerHeight, chartValue } = props;
2353
- if (!containerWidth || !containerHeight) {
2354
- return null;
2355
- }
2356
- const scaleBy = containerWidth >= containerHeight ? containerHeight : containerWidth;
2357
- const scale = scaleBy / refSize;
2358
- const x = (containerWidth - refSize * scale) / (2 * scale);
2359
- const y = (containerHeight - refSize * scale) / (2 * scale);
2360
- return /* @__PURE__ */ import_react10.default.createElement("foreignObject", {
2361
- width: refSize,
2362
- height: refSize,
2363
- x,
2364
- y,
2365
- transform: `scale(${scale})`
2366
- }, chartValue);
2367
- };
2368
-
2369
2372
  // src/charts/PieChart/DoughnutChart.tsx
2373
+ var refSize = 300;
2370
2374
  var DoughnutChart = (props) => {
2371
2375
  const [containerWidth, setContainerWidth] = import_react11.default.useState(0);
2372
2376
  const [containerHeight, setContainerHeight] = import_react11.default.useState(0);
2373
- const { foundChild: chartValue, children } = extractChildByName(props.children, ChartValue.displayName);
2377
+ const [activeIndex, setActiveIndex] = import_react11.default.useState(null);
2378
+ const [chartValue, _children] = extractChildByDisplayName(props.children, ChartValue.displayName);
2379
+ const [pie, children] = extractChildByDisplayName(_children, DoughnutChart.Doughnut.displayName);
2380
+ const [tooltip] = extractChildByDisplayName(props.children, Tooltip.displayName);
2374
2381
  const onResize = (w, h) => {
2375
2382
  setContainerWidth(w);
2376
2383
  setContainerHeight(h);
2377
2384
  };
2378
- const scaledChartValue = renderScaledChartValue({ chartValue, containerWidth, containerHeight });
2385
+ const renderChartValue = ({ formattedGraphicalItems }) => {
2386
+ var _a, _b, _c;
2387
+ const pie2 = formattedGraphicalItems == null ? void 0 : formattedGraphicalItems[0];
2388
+ const props2 = (_a = pie2 == null ? void 0 : pie2.props) != null ? _a : {};
2389
+ const cx = (_b = props2.cx) != null ? _b : containerWidth / 2;
2390
+ const cy = (_c = props2.cy) != null ? _c : containerHeight / 2;
2391
+ if (!containerWidth || !containerHeight || (0, import_isNil.default)(chartValue)) {
2392
+ return null;
2393
+ }
2394
+ const scaleBy = containerWidth >= containerHeight ? containerHeight : containerWidth;
2395
+ const scale = scaleBy / refSize;
2396
+ const yOffset = cy - containerHeight / 2;
2397
+ const yMargin = (containerHeight - refSize * scale) / 2;
2398
+ const x = cx - refSize / 2 * scale;
2399
+ const y = (yOffset + yMargin) / scale;
2400
+ return /* @__PURE__ */ import_react11.default.createElement("foreignObject", {
2401
+ width: refSize,
2402
+ height: refSize,
2403
+ x,
2404
+ y,
2405
+ transform: `scale(${scale})`
2406
+ }, chartValue);
2407
+ };
2408
+ const highlightActive = activeIndex !== null && tooltip;
2379
2409
  return /* @__PURE__ */ import_react11.default.createElement(ResponsiveContainer, {
2380
2410
  onResize,
2381
2411
  width: props.width,
2382
2412
  height: props.height
2383
- }, /* @__PURE__ */ import_react11.default.createElement(import_recharts11.PieChart, null, scaledChartValue, renderPieChildren(children)));
2413
+ }, /* @__PURE__ */ import_react11.default.createElement(import_recharts12.PieChart, null, chartValue && /* @__PURE__ */ import_react11.default.createElement(import_recharts12.Customized, {
2414
+ component: renderChartValue
2415
+ }), pie && /* @__PURE__ */ import_react11.default.createElement(import_recharts12.Pie, __spreadProps(__spreadValues({}, pie.props), {
2416
+ onMouseEnter: (_, index) => setActiveIndex(index),
2417
+ onMouseLeave: () => setActiveIndex(null),
2418
+ activeIndex,
2419
+ inactiveShape: { className: highlightActive ? "inactive" : void 0 },
2420
+ activeShape: { className: highlightActive ? "active" : void 0 }
2421
+ })), renderPieChildren(children)));
2384
2422
  };
2385
- var Doughnut = Object.assign((props) => /* @__PURE__ */ import_react11.default.createElement(import_recharts11.Pie, __spreadValues({}, props)), import_recharts11.Pie);
2386
- Doughnut.defaultProps = Object.assign({}, import_recharts11.Pie.defaultProps, {
2423
+ var Doughnut = Object.assign((props) => /* @__PURE__ */ import_react11.default.createElement(import_recharts12.Pie, __spreadValues({}, props)), import_recharts12.Pie);
2424
+ Doughnut.defaultProps = Object.assign({}, import_recharts12.Pie.defaultProps, {
2387
2425
  isAnimationActive: false,
2388
2426
  innerRadius: "60%",
2389
2427
  outerRadius: "80%"
2390
2428
  });
2391
2429
  DoughnutChart.Doughnut = Doughnut;
2392
2430
  DoughnutChart.ChartValue = ChartValue;
2393
- DoughnutChart.Cell = import_recharts11.Cell;
2431
+ DoughnutChart.Cell = import_recharts12.Cell;
2394
2432
 
2395
2433
  // src/charts/PieChart/PieChart.tsx
2396
2434
  var import_react12 = __toESM(require("react"));
2397
- var import_recharts12 = require("recharts");
2435
+ var import_recharts13 = require("recharts");
2398
2436
  var PieChart = (props) => {
2399
2437
  return /* @__PURE__ */ import_react12.default.createElement(ResponsiveContainer, {
2400
2438
  width: props.width,
2401
2439
  height: props.height
2402
- }, /* @__PURE__ */ import_react12.default.createElement(import_recharts12.PieChart, {
2440
+ }, /* @__PURE__ */ import_react12.default.createElement(import_recharts13.PieChart, {
2403
2441
  width: 500,
2404
2442
  height: 500
2405
2443
  }, renderPieChildren(props.children)));
2406
2444
  };
2407
- var Pie2 = Object.assign((props) => /* @__PURE__ */ import_react12.default.createElement(import_recharts12.Pie, __spreadValues({}, props)), import_recharts12.Pie);
2408
- Pie2.defaultProps = Object.assign({}, import_recharts12.Pie.defaultProps, {
2445
+ var Pie = Object.assign((props) => /* @__PURE__ */ import_react12.default.createElement(import_recharts13.Pie, __spreadValues({}, props)), import_recharts13.Pie);
2446
+ Pie.defaultProps = Object.assign({}, import_recharts13.Pie.defaultProps, {
2409
2447
  isAnimationActive: false,
2410
2448
  innerRadius: 0,
2411
2449
  outerRadius: "80%"
2412
2450
  });
2413
- PieChart.Pie = Pie2;
2414
- PieChart.Cell = import_recharts12.Cell;
2451
+ PieChart.Pie = Pie;
2452
+ PieChart.Cell = import_recharts13.Cell;
2415
2453
 
2416
2454
  // src/charts/Reference/Reference.tsx
2417
2455
  var import_react13 = __toESM(require("react"));
2418
- var import_recharts13 = require("recharts");
2456
+ var import_recharts14 = require("recharts");
2419
2457
  var ReferenceLine = Object.assign(
2420
- (props) => /* @__PURE__ */ import_react13.default.createElement(import_recharts13.ReferenceLine, __spreadProps(__spreadValues({}, props), {
2458
+ (props) => /* @__PURE__ */ import_react13.default.createElement(import_recharts14.ReferenceLine, __spreadProps(__spreadValues({}, props), {
2421
2459
  strokeDasharray: "9 3",
2422
2460
  strokeWidth: 2
2423
2461
  })),
2424
- import_recharts13.ReferenceLine
2462
+ import_recharts14.ReferenceLine
2425
2463
  );
2426
2464
  var ReferenceArea = Object.assign(
2427
- (props) => /* @__PURE__ */ import_react13.default.createElement(import_recharts13.ReferenceArea, __spreadProps(__spreadValues({}, props), {
2465
+ (props) => /* @__PURE__ */ import_react13.default.createElement(import_recharts14.ReferenceArea, __spreadProps(__spreadValues({}, props), {
2428
2466
  strokeWidth: 0,
2429
2467
  fillOpacity: 0.1
2430
2468
  })),
2431
- import_recharts13.ReferenceLine
2469
+ import_recharts14.ReferenceLine
2432
2470
  );
2433
2471
  var Reference = {
2434
2472
  Line: ReferenceLine,
@@ -2445,6 +2483,7 @@ var Reference = {
2445
2483
  Cell,
2446
2484
  Doughnut,
2447
2485
  DoughnutChart,
2486
+ Legend,
2448
2487
  Line,
2449
2488
  LineChart,
2450
2489
  Pie,
@@ -2452,7 +2491,7 @@ var Reference = {
2452
2491
  Reference,
2453
2492
  ResponsiveContainer,
2454
2493
  Tooltip,
2455
- extractChildByName,
2494
+ extractChildByDisplayName,
2456
2495
  getDisplayName,
2457
2496
  getXAxisTicks,
2458
2497
  renderXAxis,