@yamada-ui/charts 2.0.0-next-20240820160301 → 2.0.0-next-20240908154823

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. package/README.md +7 -13
  2. package/dist/area-chart-split.js +4 -2
  3. package/dist/area-chart-split.js.map +1 -1
  4. package/dist/area-chart-split.mjs +1 -1
  5. package/dist/area-chart.d.mts +1 -2
  6. package/dist/area-chart.d.ts +1 -2
  7. package/dist/area-chart.js +57 -50
  8. package/dist/area-chart.js.map +1 -1
  9. package/dist/area-chart.mjs +12 -12
  10. package/dist/bar-chart.d.mts +1 -2
  11. package/dist/bar-chart.d.ts +1 -2
  12. package/dist/bar-chart.js +15 -9
  13. package/dist/bar-chart.js.map +1 -1
  14. package/dist/bar-chart.mjs +11 -11
  15. package/dist/chart-legend.mjs +3 -3
  16. package/dist/chart-tooltip.d.mts +3 -1
  17. package/dist/chart-tooltip.d.ts +3 -1
  18. package/dist/chart-tooltip.js +9 -1
  19. package/dist/chart-tooltip.js.map +1 -1
  20. package/dist/chart-tooltip.mjs +3 -3
  21. package/dist/chart.types.d.mts +12 -5
  22. package/dist/chart.types.d.ts +12 -5
  23. package/dist/chart.types.js.map +1 -1
  24. package/dist/{chunk-STBYN5JW.mjs → chunk-3AOICU4Q.mjs} +2 -2
  25. package/dist/chunk-3HQ2UC3I.mjs +45 -0
  26. package/dist/chunk-3HQ2UC3I.mjs.map +1 -0
  27. package/dist/{chunk-FALZDKAW.mjs → chunk-3VKCTSPC.mjs} +10 -11
  28. package/dist/chunk-3VKCTSPC.mjs.map +1 -0
  29. package/dist/{chunk-S5NKKKV5.mjs → chunk-5PSRSNGH.mjs} +7 -8
  30. package/dist/chunk-5PSRSNGH.mjs.map +1 -0
  31. package/dist/{chunk-F34FV5DY.mjs → chunk-6YUJLLGN.mjs} +59 -3
  32. package/dist/chunk-6YUJLLGN.mjs.map +1 -0
  33. package/dist/{chunk-KBBHISBO.mjs → chunk-BYL7HWNN.mjs} +13 -14
  34. package/dist/chunk-BYL7HWNN.mjs.map +1 -0
  35. package/dist/chunk-D5IRVU4W.mjs +46 -0
  36. package/dist/chunk-D5IRVU4W.mjs.map +1 -0
  37. package/dist/{chunk-DGOXJ373.mjs → chunk-EL2VTGFB.mjs} +2 -2
  38. package/dist/{chunk-6L73M52L.mjs → chunk-FPFCMFCJ.mjs} +7 -9
  39. package/dist/chunk-FPFCMFCJ.mjs.map +1 -0
  40. package/dist/{chunk-Q7CCSKX3.mjs → chunk-JTQ5QCML.mjs} +4 -4
  41. package/dist/chunk-JTQ5QCML.mjs.map +1 -0
  42. package/dist/chunk-KVE6VXTJ.mjs +37 -0
  43. package/dist/chunk-KVE6VXTJ.mjs.map +1 -0
  44. package/dist/{chunk-PNE3JG54.mjs → chunk-MGTMKKSH.mjs} +5 -3
  45. package/dist/chunk-MGTMKKSH.mjs.map +1 -0
  46. package/dist/chunk-PG7ZV76C.mjs +155 -0
  47. package/dist/chunk-PG7ZV76C.mjs.map +1 -0
  48. package/dist/{chunk-D7EZKGCJ.mjs → chunk-PPBHLDVN.mjs} +2 -2
  49. package/dist/{chunk-AODYT4HF.mjs → chunk-RKO6KM3T.mjs} +13 -14
  50. package/dist/chunk-RKO6KM3T.mjs.map +1 -0
  51. package/dist/chunk-SBPKRYF2.mjs +199 -0
  52. package/dist/chunk-SBPKRYF2.mjs.map +1 -0
  53. package/dist/{chunk-FCMP6QEZ.mjs → chunk-SWATR7CU.mjs} +14 -15
  54. package/dist/chunk-SWATR7CU.mjs.map +1 -0
  55. package/dist/{chunk-MT5JI4OR.mjs → chunk-T5DNDBW6.mjs} +11 -3
  56. package/dist/chunk-T5DNDBW6.mjs.map +1 -0
  57. package/dist/{chunk-5Q6O726L.mjs → chunk-TCSYDMC7.mjs} +2 -2
  58. package/dist/{chunk-UHQ6WE5D.mjs → chunk-TMHSYM3V.mjs} +17 -13
  59. package/dist/chunk-TMHSYM3V.mjs.map +1 -0
  60. package/dist/{chunk-AOGTJ4EN.mjs → chunk-VMBRDEM2.mjs} +2 -2
  61. package/dist/{chunk-XUAAKVRL.mjs → chunk-WMG5U5AU.mjs} +26 -13
  62. package/dist/chunk-WMG5U5AU.mjs.map +1 -0
  63. package/dist/{chunk-6BNJZIBK.mjs → chunk-X7XFG7TS.mjs} +10 -12
  64. package/dist/chunk-X7XFG7TS.mjs.map +1 -0
  65. package/dist/{chunk-MOFNE6PO.mjs → chunk-XRF3TNSQ.mjs} +6 -30
  66. package/dist/chunk-XRF3TNSQ.mjs.map +1 -0
  67. package/dist/{chunk-VK4VQQYY.mjs → chunk-YNJ423BR.mjs} +2 -2
  68. package/dist/{chunk-BGMNYKQY.mjs → chunk-ZQWVMOT6.mjs} +9 -7
  69. package/dist/chunk-ZQWVMOT6.mjs.map +1 -0
  70. package/dist/donut-chart.d.mts +3 -3
  71. package/dist/donut-chart.d.ts +3 -3
  72. package/dist/donut-chart.js +109 -58
  73. package/dist/donut-chart.js.map +1 -1
  74. package/dist/donut-chart.mjs +9 -8
  75. package/dist/index.d.mts +6 -2
  76. package/dist/index.d.ts +6 -2
  77. package/dist/index.js +599 -167
  78. package/dist/index.js.map +1 -1
  79. package/dist/index.mjs +30 -22
  80. package/dist/index.mjs.map +1 -1
  81. package/dist/line-chart.d.mts +1 -2
  82. package/dist/line-chart.d.ts +1 -2
  83. package/dist/line-chart.js +15 -10
  84. package/dist/line-chart.js.map +1 -1
  85. package/dist/line-chart.mjs +11 -11
  86. package/dist/pie-chart.d.mts +2 -3
  87. package/dist/pie-chart.d.ts +2 -3
  88. package/dist/pie-chart.js +13 -7
  89. package/dist/pie-chart.js.map +1 -1
  90. package/dist/pie-chart.mjs +8 -8
  91. package/dist/radar-chart.d.mts +3 -3
  92. package/dist/radar-chart.d.ts +3 -3
  93. package/dist/radar-chart.js +90 -70
  94. package/dist/radar-chart.js.map +1 -1
  95. package/dist/radar-chart.mjs +9 -8
  96. package/dist/radial-chart.d.mts +53 -0
  97. package/dist/radial-chart.d.ts +53 -0
  98. package/dist/radial-chart.js +767 -0
  99. package/dist/radial-chart.js.map +1 -0
  100. package/dist/radial-chart.mjs +18 -0
  101. package/dist/radial-chart.mjs.map +1 -0
  102. package/dist/rechart-properties.d.mts +5 -1
  103. package/dist/rechart-properties.d.ts +5 -1
  104. package/dist/rechart-properties.js +60 -1
  105. package/dist/rechart-properties.js.map +1 -1
  106. package/dist/rechart-properties.mjs +7 -1
  107. package/dist/use-area-chart.d.mts +1 -2
  108. package/dist/use-area-chart.d.ts +1 -2
  109. package/dist/use-area-chart.js +7 -9
  110. package/dist/use-area-chart.js.map +1 -1
  111. package/dist/use-area-chart.mjs +2 -2
  112. package/dist/use-bar-chart.d.mts +1 -2
  113. package/dist/use-bar-chart.d.ts +1 -2
  114. package/dist/use-bar-chart.js +4 -5
  115. package/dist/use-bar-chart.js.map +1 -1
  116. package/dist/use-bar-chart.mjs +2 -2
  117. package/dist/use-chart-axis.d.mts +0 -1
  118. package/dist/use-chart-axis.d.ts +0 -1
  119. package/dist/use-chart-axis.js.map +1 -1
  120. package/dist/use-chart-axis.mjs +2 -2
  121. package/dist/use-chart-grid.d.mts +0 -1
  122. package/dist/use-chart-grid.d.ts +0 -1
  123. package/dist/use-chart-grid.js.map +1 -1
  124. package/dist/use-chart-grid.mjs +2 -2
  125. package/dist/use-chart-label-list.d.mts +22 -0
  126. package/dist/use-chart-label-list.d.ts +22 -0
  127. package/dist/use-chart-label-list.js +93 -0
  128. package/dist/use-chart-label-list.js.map +1 -0
  129. package/dist/use-chart-label-list.mjs +10 -0
  130. package/dist/use-chart-label-list.mjs.map +1 -0
  131. package/dist/use-chart-label.d.mts +20 -0
  132. package/dist/use-chart-label.d.ts +20 -0
  133. package/dist/use-chart-label.js +82 -0
  134. package/dist/use-chart-label.js.map +1 -0
  135. package/dist/use-chart-label.mjs +10 -0
  136. package/dist/use-chart-label.mjs.map +1 -0
  137. package/dist/use-chart-legend.d.mts +0 -1
  138. package/dist/use-chart-legend.d.ts +0 -1
  139. package/dist/use-chart-legend.js.map +1 -1
  140. package/dist/use-chart-legend.mjs +2 -2
  141. package/dist/use-chart-reference-line.d.mts +0 -1
  142. package/dist/use-chart-reference-line.d.ts +0 -1
  143. package/dist/use-chart-reference-line.js +1 -1
  144. package/dist/use-chart-reference-line.js.map +1 -1
  145. package/dist/use-chart-reference-line.mjs +2 -2
  146. package/dist/use-chart-tooltip.d.mts +0 -1
  147. package/dist/use-chart-tooltip.d.ts +0 -1
  148. package/dist/use-chart-tooltip.js.map +1 -1
  149. package/dist/use-chart-tooltip.mjs +2 -2
  150. package/dist/use-chart.d.mts +0 -1
  151. package/dist/use-chart.d.ts +0 -1
  152. package/dist/use-chart.js.map +1 -1
  153. package/dist/use-chart.mjs +2 -2
  154. package/dist/use-line-chart.d.mts +1 -2
  155. package/dist/use-line-chart.d.ts +1 -2
  156. package/dist/use-line-chart.js +4 -6
  157. package/dist/use-line-chart.js.map +1 -1
  158. package/dist/use-line-chart.mjs +2 -2
  159. package/dist/use-pie-chart.d.mts +1 -2
  160. package/dist/use-pie-chart.d.ts +1 -2
  161. package/dist/use-pie-chart.js +3 -4
  162. package/dist/use-pie-chart.js.map +1 -1
  163. package/dist/use-pie-chart.mjs +2 -2
  164. package/dist/use-polar-grid.d.mts +24 -0
  165. package/dist/use-polar-grid.d.ts +24 -0
  166. package/dist/use-polar-grid.js +90 -0
  167. package/dist/use-polar-grid.js.map +1 -0
  168. package/dist/use-polar-grid.mjs +10 -0
  169. package/dist/use-polar-grid.mjs.map +1 -0
  170. package/dist/use-radar-chart.d.mts +3 -13
  171. package/dist/use-radar-chart.d.ts +3 -13
  172. package/dist/use-radar-chart.js +3 -35
  173. package/dist/use-radar-chart.js.map +1 -1
  174. package/dist/use-radar-chart.mjs +2 -2
  175. package/dist/use-radial-chart.d.mts +80 -0
  176. package/dist/use-radial-chart.d.ts +80 -0
  177. package/dist/use-radial-chart.js +228 -0
  178. package/dist/use-radial-chart.js.map +1 -0
  179. package/dist/use-radial-chart.mjs +10 -0
  180. package/dist/use-radial-chart.mjs.map +1 -0
  181. package/package.json +4 -4
  182. package/dist/chunk-6BNJZIBK.mjs.map +0 -1
  183. package/dist/chunk-6L73M52L.mjs.map +0 -1
  184. package/dist/chunk-AODYT4HF.mjs.map +0 -1
  185. package/dist/chunk-BGMNYKQY.mjs.map +0 -1
  186. package/dist/chunk-F34FV5DY.mjs.map +0 -1
  187. package/dist/chunk-FALZDKAW.mjs.map +0 -1
  188. package/dist/chunk-FCMP6QEZ.mjs.map +0 -1
  189. package/dist/chunk-KBBHISBO.mjs.map +0 -1
  190. package/dist/chunk-MOFNE6PO.mjs.map +0 -1
  191. package/dist/chunk-MT5JI4OR.mjs.map +0 -1
  192. package/dist/chunk-PNE3JG54.mjs.map +0 -1
  193. package/dist/chunk-Q7CCSKX3.mjs.map +0 -1
  194. package/dist/chunk-S5NKKKV5.mjs.map +0 -1
  195. package/dist/chunk-UHQ6WE5D.mjs.map +0 -1
  196. package/dist/chunk-XUAAKVRL.mjs.map +0 -1
  197. /package/dist/{chunk-STBYN5JW.mjs.map → chunk-3AOICU4Q.mjs.map} +0 -0
  198. /package/dist/{chunk-DGOXJ373.mjs.map → chunk-EL2VTGFB.mjs.map} +0 -0
  199. /package/dist/{chunk-D7EZKGCJ.mjs.map → chunk-PPBHLDVN.mjs.map} +0 -0
  200. /package/dist/{chunk-5Q6O726L.mjs.map → chunk-TCSYDMC7.mjs.map} +0 -0
  201. /package/dist/{chunk-AOGTJ4EN.mjs.map → chunk-VMBRDEM2.mjs.map} +0 -0
  202. /package/dist/{chunk-VK4VQQYY.mjs.map → chunk-YNJ423BR.mjs.map} +0 -0
@@ -24,9 +24,9 @@ __export(donut_chart_exports, {
24
24
  DonutChart: () => DonutChart
25
25
  });
26
26
  module.exports = __toCommonJS(donut_chart_exports);
27
- var import_core8 = require("@yamada-ui/core");
28
- var import_utils9 = require("@yamada-ui/utils");
29
- var import_react5 = require("react");
27
+ var import_core9 = require("@yamada-ui/core");
28
+ var import_utils10 = require("@yamada-ui/utils");
29
+ var import_react6 = require("react");
30
30
  var import_recharts = require("recharts");
31
31
 
32
32
  // src/chart-legend.tsx
@@ -143,6 +143,16 @@ var pieProperties = [
143
143
  "onMouseEnter",
144
144
  "onMouseLeave"
145
145
  ];
146
+ var labelProperties = [
147
+ "viewBox",
148
+ "formatter",
149
+ "value",
150
+ "position",
151
+ "offset",
152
+ "children",
153
+ "content",
154
+ "id"
155
+ ];
146
156
 
147
157
  // src/use-chart.ts
148
158
  var [ChartProvider, useChartContext] = (0, import_utils2.createContext)({
@@ -230,18 +240,26 @@ var import_jsx_runtime2 = require("react/jsx-runtime");
230
240
  var ChartTooltip = (0, import_core4.forwardRef)(
231
241
  ({
232
242
  label,
243
+ dataKey = "value",
233
244
  className,
234
245
  payload = [],
235
246
  valueFormatter,
236
247
  labelFormatter,
237
248
  unit,
249
+ isRadialChart,
238
250
  ...rest
239
251
  }, ref) => {
240
252
  var _a;
241
253
  const { styles } = useTooltip();
242
254
  const items = payload.map(
243
- ({ color: colorProp, name, value: valueProp, payload: payload2 } = {}, index) => {
255
+ ({
256
+ color: colorProp,
257
+ name: nameProp,
258
+ [dataKey]: valueProp,
259
+ payload: payload2
260
+ } = {}, index) => {
244
261
  var _a2;
262
+ const name = isRadialChart ? payload2 == null ? void 0 : payload2.name : nameProp;
245
263
  const color = colorProp != null ? colorProp : payload2 == null ? void 0 : payload2.color;
246
264
  let value;
247
265
  if ((0, import_utils4.isArray)(valueProp)) {
@@ -307,17 +325,42 @@ var ChartTooltip = (0, import_core4.forwardRef)(
307
325
  }
308
326
  );
309
327
 
310
- // src/use-chart-legend.ts
328
+ // src/use-chart-label.ts
329
+ var import_core5 = require("@yamada-ui/core");
311
330
  var import_utils5 = require("@yamada-ui/utils");
312
331
  var import_react2 = require("react");
332
+ var useChartLabel = ({ styles, ...rest }) => {
333
+ var _a;
334
+ const { theme } = (0, import_core5.useTheme)();
335
+ const [labelProps, labelClassName] = getComponentProps(
336
+ [(_a = rest.labelProps) != null ? _a : {}, labelProperties],
337
+ styles.label
338
+ )(theme);
339
+ const getLabelProps = (0, import_react2.useCallback)(
340
+ ({ className, ...props } = {}, ref = null) => {
341
+ return {
342
+ ref,
343
+ className: (0, import_utils5.cx)(className, labelClassName),
344
+ ...props,
345
+ ...labelProps
346
+ };
347
+ },
348
+ [labelClassName, labelProps]
349
+ );
350
+ return { getLabelProps };
351
+ };
352
+
353
+ // src/use-chart-legend.ts
354
+ var import_utils6 = require("@yamada-ui/utils");
355
+ var import_react3 = require("react");
313
356
  var useChartLegend = ({
314
357
  legendProps: _legendProps = {}
315
358
  }) => {
316
- const [rest, legendProps] = (0, import_utils5.splitObject)(
359
+ const [rest, legendProps] = (0, import_utils6.splitObject)(
317
360
  _legendProps,
318
361
  legendProperties
319
362
  );
320
- const getLegendProps = (0, import_react2.useCallback)(
363
+ const getLegendProps = (0, import_react3.useCallback)(
321
364
  (props, ref = null) => {
322
365
  return {
323
366
  ref,
@@ -332,31 +375,31 @@ var useChartLegend = ({
332
375
  };
333
376
 
334
377
  // src/use-chart-tooltip.ts
335
- var import_core5 = require("@yamada-ui/core");
336
- var import_utils6 = require("@yamada-ui/utils");
337
- var import_react3 = require("react");
378
+ var import_core6 = require("@yamada-ui/core");
379
+ var import_utils7 = require("@yamada-ui/utils");
380
+ var import_react4 = require("react");
338
381
  var useChartTooltip = ({
339
382
  tooltipProps: _tooltipProps = {},
340
383
  tooltipAnimationDuration = 0,
341
384
  styles
342
385
  }) => {
343
- const { theme } = (0, import_core5.useTheme)();
386
+ const { theme } = (0, import_core6.useTheme)();
344
387
  const { cursor, ...rest } = _tooltipProps;
345
- const cursorClassName = (0, import_react3.useMemo)(
388
+ const cursorClassName = (0, import_react4.useMemo)(
346
389
  () => getClassName({ ...styles.cursor, ...cursor })(theme),
347
390
  [cursor, styles.cursor, theme]
348
391
  );
349
- const [tooltipProps, tooltipUIProps] = (0, import_utils6.splitObject)(
392
+ const [tooltipProps, tooltipUIProps] = (0, import_utils7.splitObject)(
350
393
  rest,
351
394
  tooltipProperties
352
395
  );
353
- const getTooltipProps = (0, import_react3.useCallback)(
396
+ const getTooltipProps = (0, import_react4.useCallback)(
354
397
  (props, ref = null) => ({
355
398
  ref,
356
399
  animationDuration: tooltipAnimationDuration,
357
400
  isAnimationActive: (tooltipAnimationDuration || 0) > 0,
358
401
  cursor: {
359
- className: (0, import_utils6.cx)("ui-chart__cursor", cursorClassName)
402
+ className: (0, import_utils7.cx)("ui-chart__cursor", cursorClassName)
360
403
  },
361
404
  ...props,
362
405
  ...tooltipProps
@@ -367,13 +410,13 @@ var useChartTooltip = ({
367
410
  };
368
411
 
369
412
  // src/use-pie-chart.ts
370
- var import_core7 = require("@yamada-ui/core");
371
- var import_utils8 = require("@yamada-ui/utils");
372
- var import_react4 = require("react");
413
+ var import_core8 = require("@yamada-ui/core");
414
+ var import_utils9 = require("@yamada-ui/utils");
415
+ var import_react5 = require("react");
373
416
 
374
417
  // src/pie-chart-label.tsx
375
- var import_core6 = require("@yamada-ui/core");
376
- var import_utils7 = require("@yamada-ui/utils");
418
+ var import_core7 = require("@yamada-ui/core");
419
+ var import_utils8 = require("@yamada-ui/utils");
377
420
  var import_jsx_runtime3 = require("react/jsx-runtime");
378
421
  var RADIAN = Math.PI / 180;
379
422
  var DEFAULT_LABEL_OFFSET = 22;
@@ -400,16 +443,16 @@ var pieChartLabel = ({
400
443
  const displayLabel = () => {
401
444
  if (isPercent) {
402
445
  return parseFloat((percent * 100).toFixed(0)) > 0 && `${(percent * 100).toFixed(0)}%`;
403
- } else if (!(0, import_utils7.isUndefined)(labelFormatter)) {
446
+ } else if (!(0, import_utils8.isUndefined)(labelFormatter)) {
404
447
  return labelFormatter(value);
405
448
  } else {
406
449
  return value;
407
450
  }
408
451
  };
409
452
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
410
- import_core6.ui.text,
453
+ import_core7.ui.text,
411
454
  {
412
- className: (0, import_utils7.cx)(cellClassName, "ui-chart__label"),
455
+ className: (0, import_utils8.cx)(cellClassName, "ui-chart__label"),
413
456
  x,
414
457
  y,
415
458
  textAnchor,
@@ -438,9 +481,9 @@ var pieChartLabelLine = ({
438
481
  const y = cyProp + (middleRadius + labelOffset) * Math.sin(-midAngle * RADIAN);
439
482
  const d = `M ${points[0].x} ${points[0].y} L ${x} ${y}`;
440
483
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
441
- import_core6.ui.path,
484
+ import_core7.ui.path,
442
485
  {
443
- className: (0, import_utils7.cx)(cellClassName, "ui-chart__label-line"),
486
+ className: (0, import_utils8.cx)(cellClassName, "ui-chart__label-line"),
444
487
  d,
445
488
  __css: styles,
446
489
  ...labelLineProps
@@ -467,8 +510,8 @@ var usePieChart = ({
467
510
  ...rest
468
511
  }) => {
469
512
  var _a, _b;
470
- const { theme } = (0, import_core7.useTheme)();
471
- const [highlightedArea, setHighlightedArea] = (0, import_react4.useState)(null);
513
+ const { theme } = (0, import_core8.useTheme)();
514
+ const [highlightedArea, setHighlightedArea] = (0, import_react5.useState)(null);
472
515
  const shouldHighlight = highlightedArea !== null;
473
516
  const { dimCell, ...computedCellProps } = (_a = rest.cellProps) != null ? _a : {};
474
517
  const {
@@ -478,23 +521,22 @@ var usePieChart = ({
478
521
  labelLine: labelLineProps,
479
522
  ...computedPieProps
480
523
  } = (_b = rest.pieProps) != null ? _b : {};
481
- const cellColors = (0, import_react4.useMemo)(
524
+ const cellColors = (0, import_react5.useMemo)(
482
525
  () => data.map(({ color }, index) => ({
483
- __prefix: "ui",
484
526
  name: `cell-${index}`,
485
527
  token: "colors",
486
528
  value: color != null ? color : "transparent"
487
529
  })),
488
530
  [data]
489
531
  );
490
- const pieVars = (0, import_react4.useMemo)(
532
+ const pieVars = (0, import_react5.useMemo)(
491
533
  () => [
492
534
  ...cellColors,
493
- { __prefix: "ui", name: "fill-opacity", value: fillOpacity }
535
+ { name: "fill-opacity", value: fillOpacity }
494
536
  ],
495
537
  [fillOpacity, cellColors]
496
538
  );
497
- const [chartProps, chartClassName] = (0, import_react4.useMemo)(
539
+ const [chartProps, chartClassName] = (0, import_react5.useMemo)(
498
540
  () => {
499
541
  var _a2;
500
542
  return getComponentProps(
@@ -504,40 +546,40 @@ var usePieChart = ({
504
546
  },
505
547
  [rest.chartProps, styles.chart, theme]
506
548
  );
507
- const [pieProps, pieClassName] = (0, import_react4.useMemo)(
549
+ const [pieProps, pieClassName] = (0, import_react5.useMemo)(
508
550
  () => getComponentProps(
509
551
  [computedPieProps, pieProperties],
510
552
  styles.pie
511
553
  )(theme),
512
554
  [computedPieProps, styles.pie, theme]
513
555
  );
514
- const cellClassName = (0, import_react4.useMemo)(() => {
556
+ const cellClassName = (0, import_react5.useMemo)(() => {
515
557
  const resolvedCellProps = {
516
- fillOpacity: "var(--ui-fill-opacity)",
558
+ fillOpacity: "$fill-opacity",
517
559
  ...styles.cell,
518
560
  ...computedCellProps
519
561
  };
520
562
  return getClassName(resolvedCellProps)(theme);
521
563
  }, [computedCellProps, styles.cell, theme]);
522
- const dimCellClassName = (0, import_react4.useMemo)(() => {
564
+ const dimCellClassName = (0, import_react5.useMemo)(() => {
523
565
  const resolvedDimCell = { ...styles.dimCell, ...dimCell };
524
566
  return getClassName(resolvedDimCell)(theme);
525
567
  }, [dimCell, styles.dimCell, theme]);
526
- const activeShapeProps = (0, import_react4.useMemo)(
568
+ const activeShapeProps = (0, import_react5.useMemo)(
527
569
  () => getComponentProps(
528
570
  [activeShape, pieProperties],
529
571
  styles.activeShape
530
572
  )(theme, true),
531
573
  [activeShape, styles.activeShape, theme]
532
574
  );
533
- const inactiveShapeProps = (0, import_react4.useMemo)(
575
+ const inactiveShapeProps = (0, import_react5.useMemo)(
534
576
  () => getComponentProps(
535
577
  [inactiveShape, pieProperties],
536
578
  styles.inactiveShape
537
579
  )(theme, true),
538
580
  [inactiveShape, styles.inactiveShape, theme]
539
581
  );
540
- const label = (0, import_react4.useCallback)(
582
+ const label = (0, import_react5.useCallback)(
541
583
  (props) => pieChartLabel({
542
584
  labelOffset,
543
585
  isPercent,
@@ -548,7 +590,7 @@ var usePieChart = ({
548
590
  }),
549
591
  [isPercent, labelOffset, labelProps, styles.label, labelFormatter]
550
592
  );
551
- const labelLine = (0, import_react4.useCallback)(
593
+ const labelLine = (0, import_react5.useCallback)(
552
594
  (props) => {
553
595
  return pieChartLabelLine({
554
596
  labelOffset,
@@ -559,10 +601,10 @@ var usePieChart = ({
559
601
  },
560
602
  [labelLineProps, labelOffset, styles.labelLine]
561
603
  );
562
- const cellPropList = (0, import_react4.useMemo)(
604
+ const cellPropList = (0, import_react5.useMemo)(
563
605
  () => data.map((props, index) => {
564
606
  const { name, dimCell: dimCell2 = {}, ...computedProps } = props;
565
- const color = `var(--ui-cell-${index})`;
607
+ const color = (0, import_core8.getVar)(`cell-${index}`)(theme);
566
608
  const dimmed = shouldHighlight && highlightedArea !== name;
567
609
  const resolvedProps = {
568
610
  ...computedProps,
@@ -589,19 +631,19 @@ var usePieChart = ({
589
631
  theme
590
632
  ]
591
633
  );
592
- const getPieChartProps = (0, import_react4.useCallback)(
634
+ const getPieChartProps = (0, import_react5.useCallback)(
593
635
  ({ className, ...props } = {}, ref = null) => ({
594
636
  ref,
595
- className: (0, import_utils8.cx)(className, chartClassName),
637
+ className: (0, import_utils9.cx)(className, chartClassName),
596
638
  ...props,
597
639
  ...chartProps
598
640
  }),
599
641
  [chartProps, chartClassName]
600
642
  );
601
- const getPieProps = (0, import_react4.useCallback)(
643
+ const getPieProps = (0, import_react5.useCallback)(
602
644
  ({ className, ...props }, ref = null) => ({
603
645
  ref,
604
- className: (0, import_utils8.cx)(className, pieClassName),
646
+ className: (0, import_utils9.cx)(className, pieClassName),
605
647
  dataKey: "value",
606
648
  data,
607
649
  rootTabIndex: -1,
@@ -635,12 +677,12 @@ var usePieChart = ({
635
677
  pieProps
636
678
  ]
637
679
  );
638
- const getCellProps = (0, import_react4.useCallback)(
680
+ const getCellProps = (0, import_react5.useCallback)(
639
681
  ({ index, className: classNameProp, ...props }, ref = null) => {
640
682
  const { className, color } = cellPropList[index];
641
683
  return {
642
684
  ref,
643
- className: (0, import_utils8.cx)(classNameProp, className),
685
+ className: (0, import_utils9.cx)(classNameProp, className),
644
686
  fill: color,
645
687
  stroke: color,
646
688
  strokeWidth,
@@ -660,8 +702,8 @@ var usePieChart = ({
660
702
 
661
703
  // src/donut-chart.tsx
662
704
  var import_jsx_runtime4 = require("react/jsx-runtime");
663
- var DonutChart = (0, import_core8.forwardRef)((props, ref) => {
664
- const [styles, mergedProps] = (0, import_core8.useMultiComponentStyle)("DonutChart", props);
705
+ var DonutChart = (0, import_core9.forwardRef)((props, ref) => {
706
+ const [styles, mergedProps] = (0, import_core9.useMultiComponentStyle)("DonutChart", props);
665
707
  const {
666
708
  className,
667
709
  data,
@@ -688,8 +730,9 @@ var DonutChart = (0, import_core8.forwardRef)((props, ref) => {
688
730
  outerRadius,
689
731
  strokeWidth,
690
732
  legendProps,
733
+ labelProps,
691
734
  ...rest
692
- } = (0, import_core8.omitThemeProps)(mergedProps);
735
+ } = (0, import_core9.omitThemeProps)(mergedProps);
693
736
  const {
694
737
  pieVars,
695
738
  getPieProps,
@@ -723,7 +766,8 @@ var DonutChart = (0, import_core8.forwardRef)((props, ref) => {
723
766
  const { legendProps: computedLegendProps, getLegendProps } = useChartLegend({
724
767
  legendProps
725
768
  });
726
- const cells = (0, import_react5.useMemo)(
769
+ const { getLabelProps } = useChartLabel({ labelProps, styles });
770
+ const cells = (0, import_react6.useMemo)(
727
771
  () => data.map(({ name }, index) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
728
772
  import_recharts.Cell,
729
773
  {
@@ -734,12 +778,11 @@ var DonutChart = (0, import_core8.forwardRef)((props, ref) => {
734
778
  [data, getCellProps]
735
779
  );
736
780
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ChartProvider, { value: { styles }, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
737
- import_core8.ui.div,
781
+ import_core9.ui.div,
738
782
  {
739
783
  ref,
740
- className: (0, import_utils9.cx)("ui-donut-chart", className),
741
- var: pieVars,
742
- __css: { ...styles.container },
784
+ className: (0, import_utils10.cx)("ui-donut-chart", className),
785
+ __css: { maxW: "full", vars: pieVars, ...styles.container },
743
786
  ...rest,
744
787
  children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
745
788
  import_recharts.ResponsiveContainer,
@@ -750,13 +793,21 @@ var DonutChart = (0, import_core8.forwardRef)((props, ref) => {
750
793
  {
751
794
  ...getPieChartProps({ className: "ui-donut-chart__chart" }),
752
795
  children: [
753
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
796
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
754
797
  import_recharts.Pie,
755
798
  {
756
799
  ...getPieProps({
757
800
  className: "ui-donut-chart__donut"
758
801
  }),
759
- children: cells
802
+ children: [
803
+ cells,
804
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
805
+ import_recharts.Label,
806
+ {
807
+ ...getLabelProps({ className: "ui-donut-chart__label" })
808
+ }
809
+ )
810
+ ]
760
811
  }
761
812
  ),
762
813
  withLegend ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(