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

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 (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)(