@yamada-ui/charts 2.0.0-next-20240706062355 → 2.0.0-next-20240716070106

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.
package/dist/index.mjs CHANGED
@@ -1,15 +1,16 @@
1
1
  "use client"
2
2
  import {
3
3
  DonutChart
4
- } from "./chunk-P4MMHTAP.mjs";
4
+ } from "./chunk-VVR3DSUX.mjs";
5
5
  import {
6
6
  LineChart
7
7
  } from "./chunk-KPKLW25H.mjs";
8
8
  import "./chunk-6L73M52L.mjs";
9
9
  import {
10
10
  PieChart
11
- } from "./chunk-F2RBOLDY.mjs";
12
- import "./chunk-YGKNNA34.mjs";
11
+ } from "./chunk-XORRW2KT.mjs";
12
+ import "./chunk-ELXW3EQE.mjs";
13
+ import "./chunk-CPXE3PV4.mjs";
13
14
  import {
14
15
  RadarChart
15
16
  } from "./chunk-CCFQC3T6.mjs";
@@ -0,0 +1,40 @@
1
+ import { HTMLUIProps, CSSUIObject } from '@yamada-ui/core';
2
+ import { Dict } from '@yamada-ui/utils';
3
+
4
+ type PieChartLabelProps = {
5
+ className?: string;
6
+ cx?: number;
7
+ cy?: number;
8
+ midAngle?: number;
9
+ innerRadius?: number;
10
+ outerRadius?: number;
11
+ middleRadius?: number;
12
+ percent?: number;
13
+ value?: number;
14
+ labelOffset?: number;
15
+ isParcent?: boolean;
16
+ labelProps?: HTMLUIProps<"text">;
17
+ valueFormatter?: (value: number) => string;
18
+ styles: Dict<CSSUIObject>;
19
+ };
20
+ declare const pieChartLabel: (props: PieChartLabelProps) => React.ReactNode;
21
+ type Point = {
22
+ x: number;
23
+ y: number;
24
+ };
25
+ type PieChartLabelLineProps = {
26
+ className?: string;
27
+ cx?: number;
28
+ cy?: number;
29
+ innerRadius?: number;
30
+ midAngle?: number;
31
+ middleRadius?: number;
32
+ outerRadius?: number;
33
+ points?: Array<Point>;
34
+ labelOffset?: number;
35
+ labelLineProps?: HTMLUIProps<"path">;
36
+ styles: Dict<CSSUIObject>;
37
+ };
38
+ declare const pieChartLabelLine: (props: PieChartLabelLineProps) => React.ReactElement<SVGElement>;
39
+
40
+ export { type PieChartLabelLineProps, type PieChartLabelProps, pieChartLabel, pieChartLabelLine };
@@ -0,0 +1,40 @@
1
+ import { HTMLUIProps, CSSUIObject } from '@yamada-ui/core';
2
+ import { Dict } from '@yamada-ui/utils';
3
+
4
+ type PieChartLabelProps = {
5
+ className?: string;
6
+ cx?: number;
7
+ cy?: number;
8
+ midAngle?: number;
9
+ innerRadius?: number;
10
+ outerRadius?: number;
11
+ middleRadius?: number;
12
+ percent?: number;
13
+ value?: number;
14
+ labelOffset?: number;
15
+ isParcent?: boolean;
16
+ labelProps?: HTMLUIProps<"text">;
17
+ valueFormatter?: (value: number) => string;
18
+ styles: Dict<CSSUIObject>;
19
+ };
20
+ declare const pieChartLabel: (props: PieChartLabelProps) => React.ReactNode;
21
+ type Point = {
22
+ x: number;
23
+ y: number;
24
+ };
25
+ type PieChartLabelLineProps = {
26
+ className?: string;
27
+ cx?: number;
28
+ cy?: number;
29
+ innerRadius?: number;
30
+ midAngle?: number;
31
+ middleRadius?: number;
32
+ outerRadius?: number;
33
+ points?: Array<Point>;
34
+ labelOffset?: number;
35
+ labelLineProps?: HTMLUIProps<"path">;
36
+ styles: Dict<CSSUIObject>;
37
+ };
38
+ declare const pieChartLabelLine: (props: PieChartLabelLineProps) => React.ReactElement<SVGElement>;
39
+
40
+ export { type PieChartLabelLineProps, type PieChartLabelProps, pieChartLabel, pieChartLabelLine };
@@ -0,0 +1,108 @@
1
+ "use client"
2
+ "use strict";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/pie-chart-label.tsx
22
+ var pie_chart_label_exports = {};
23
+ __export(pie_chart_label_exports, {
24
+ pieChartLabel: () => pieChartLabel,
25
+ pieChartLabelLine: () => pieChartLabelLine
26
+ });
27
+ module.exports = __toCommonJS(pie_chart_label_exports);
28
+ var import_core = require("@yamada-ui/core");
29
+ var import_utils = require("@yamada-ui/utils");
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var RADIAN = Math.PI / 180;
32
+ var DEFAULT_LABEL_OFFSET = 22;
33
+ var pieChartLabel = ({
34
+ className: cellClassName,
35
+ cx: cxProp = 0,
36
+ cy: cyProp = 0,
37
+ midAngle = 0,
38
+ innerRadius = 0,
39
+ outerRadius = 0,
40
+ middleRadius = 0,
41
+ percent = 0,
42
+ value = 0,
43
+ labelOffset: labelOffsetProp,
44
+ isParcent,
45
+ labelProps,
46
+ valueFormatter,
47
+ styles
48
+ }) => {
49
+ const labelOffset = labelOffsetProp != null ? labelOffsetProp : (outerRadius - innerRadius) * 0.5 + DEFAULT_LABEL_OFFSET;
50
+ const x = cxProp + (middleRadius + labelOffset) * Math.cos(-midAngle * RADIAN);
51
+ const y = cyProp + (middleRadius + labelOffset) * Math.sin(-midAngle * RADIAN);
52
+ const textAnchor = x > cxProp ? "start" : x < cxProp ? "end" : "middle";
53
+ const displayLabel = () => {
54
+ if (isParcent) {
55
+ return parseFloat((percent * 100).toFixed(0)) > 0 && `${(percent * 100).toFixed(0)}%`;
56
+ } else if (!(0, import_utils.isUndefined)(valueFormatter)) {
57
+ return valueFormatter(value);
58
+ } else {
59
+ return value;
60
+ }
61
+ };
62
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
63
+ import_core.ui.text,
64
+ {
65
+ className: (0, import_utils.cx)(cellClassName, "ui-chart__label"),
66
+ x,
67
+ y,
68
+ textAnchor,
69
+ dominantBaseline: "central",
70
+ __css: styles,
71
+ ...labelProps,
72
+ children: displayLabel()
73
+ }
74
+ );
75
+ };
76
+ var pieChartLabelLine = ({
77
+ className: cellClassName,
78
+ cx: cxProp = 0,
79
+ cy: cyProp = 0,
80
+ innerRadius = 0,
81
+ midAngle = 0,
82
+ middleRadius = 0,
83
+ outerRadius = 0,
84
+ points = [{ x: 0, y: 0 }],
85
+ labelOffset: labelOffsetProp,
86
+ labelLineProps,
87
+ styles
88
+ }) => {
89
+ const labelOffset = labelOffsetProp != null ? labelOffsetProp : (outerRadius - innerRadius) * 0.5 + DEFAULT_LABEL_OFFSET;
90
+ const x = cxProp + (middleRadius + labelOffset) * Math.cos(-midAngle * RADIAN);
91
+ const y = cyProp + (middleRadius + labelOffset) * Math.sin(-midAngle * RADIAN);
92
+ const d = `M ${points[0].x} ${points[0].y} L ${x} ${y}`;
93
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
94
+ import_core.ui.path,
95
+ {
96
+ className: (0, import_utils.cx)(cellClassName, "ui-chart__label-line"),
97
+ d,
98
+ __css: styles,
99
+ ...labelLineProps
100
+ }
101
+ );
102
+ };
103
+ // Annotate the CommonJS export names for ESM import in node:
104
+ 0 && (module.exports = {
105
+ pieChartLabel,
106
+ pieChartLabelLine
107
+ });
108
+ //# sourceMappingURL=pie-chart-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/pie-chart-label.tsx"],"sourcesContent":["import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport { cx, isUndefined } from \"@yamada-ui/utils\"\n\nconst RADIAN = Math.PI / 180\nconst DEFAULT_LABEL_OFFSET = 22\n\nexport type PieChartLabelProps = {\n className?: string\n cx?: number\n cy?: number\n midAngle?: number\n innerRadius?: number\n outerRadius?: number\n middleRadius?: number\n percent?: number\n value?: number\n labelOffset?: number\n isParcent?: boolean\n labelProps?: HTMLUIProps<\"text\">\n valueFormatter?: (value: number) => string\n styles: Dict<CSSUIObject>\n}\n\nexport const pieChartLabel: (props: PieChartLabelProps) => React.ReactNode = ({\n className: cellClassName,\n cx: cxProp = 0,\n cy: cyProp = 0,\n midAngle = 0,\n innerRadius = 0,\n outerRadius = 0,\n middleRadius = 0,\n percent = 0,\n value = 0,\n labelOffset: labelOffsetProp,\n isParcent,\n labelProps,\n valueFormatter,\n styles,\n}) => {\n const labelOffset =\n labelOffsetProp ?? (outerRadius - innerRadius) * 0.5 + DEFAULT_LABEL_OFFSET\n\n const x = cxProp + (middleRadius + labelOffset) * Math.cos(-midAngle * RADIAN)\n const y = cyProp + (middleRadius + labelOffset) * Math.sin(-midAngle * RADIAN)\n\n const textAnchor = x > cxProp ? \"start\" : x < cxProp ? \"end\" : \"middle\"\n const displayLabel = () => {\n if (isParcent) {\n return (\n parseFloat((percent * 100).toFixed(0)) > 0 &&\n `${(percent * 100).toFixed(0)}%`\n )\n } else if (!isUndefined(valueFormatter)) {\n return valueFormatter(value)\n } else {\n return value\n }\n }\n\n return (\n <ui.text\n className={cx(cellClassName, \"ui-chart__label\")}\n x={x}\n y={y}\n textAnchor={textAnchor}\n dominantBaseline=\"central\"\n __css={styles}\n {...labelProps}\n >\n {displayLabel()}\n </ui.text>\n )\n}\n\ntype Point = { x: number; y: number }\n\nexport type PieChartLabelLineProps = {\n className?: string\n cx?: number\n cy?: number\n innerRadius?: number\n midAngle?: number\n middleRadius?: number\n outerRadius?: number\n points?: Array<Point>\n labelOffset?: number\n labelLineProps?: HTMLUIProps<\"path\">\n styles: Dict<CSSUIObject>\n}\n\nexport const pieChartLabelLine: (\n props: PieChartLabelLineProps,\n) => React.ReactElement<SVGElement> = ({\n className: cellClassName,\n cx: cxProp = 0,\n cy: cyProp = 0,\n innerRadius = 0,\n midAngle = 0,\n middleRadius = 0,\n outerRadius = 0,\n points = [{ x: 0, y: 0 }],\n labelOffset: labelOffsetProp,\n labelLineProps,\n styles,\n}) => {\n const labelOffset =\n labelOffsetProp ?? (outerRadius - innerRadius) * 0.5 + DEFAULT_LABEL_OFFSET\n\n const x = cxProp + (middleRadius + labelOffset) * Math.cos(-midAngle * RADIAN)\n const y = cyProp + (middleRadius + labelOffset) * Math.sin(-midAngle * RADIAN)\n\n const d: string = `M ${points[0].x} ${points[0].y} L ${x} ${y}`\n\n return (\n <ui.path\n className={cx(cellClassName, \"ui-chart__label-line\")}\n d={d}\n __css={styles}\n {...labelLineProps}\n />\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAmB;AAEnB,mBAAgC;AA2D5B;AAzDJ,IAAM,SAAS,KAAK,KAAK;AACzB,IAAM,uBAAuB;AAmBtB,IAAM,gBAAgE,CAAC;AAAA,EAC5E,WAAW;AAAA,EACX,IAAI,SAAS;AAAA,EACb,IAAI,SAAS;AAAA,EACb,WAAW;AAAA,EACX,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EACf,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,cACJ,6CAAoB,cAAc,eAAe,MAAM;AAEzD,QAAM,IAAI,UAAU,eAAe,eAAe,KAAK,IAAI,CAAC,WAAW,MAAM;AAC7E,QAAM,IAAI,UAAU,eAAe,eAAe,KAAK,IAAI,CAAC,WAAW,MAAM;AAE7E,QAAM,aAAa,IAAI,SAAS,UAAU,IAAI,SAAS,QAAQ;AAC/D,QAAM,eAAe,MAAM;AACzB,QAAI,WAAW;AACb,aACE,YAAY,UAAU,KAAK,QAAQ,CAAC,CAAC,IAAI,KACzC,IAAI,UAAU,KAAK,QAAQ,CAAC,CAAC;AAAA,IAEjC,WAAW,KAAC,0BAAY,cAAc,GAAG;AACvC,aAAO,eAAe,KAAK;AAAA,IAC7B,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SACE;AAAA,IAAC,eAAG;AAAA,IAAH;AAAA,MACC,eAAW,iBAAG,eAAe,iBAAiB;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA,kBAAiB;AAAA,MACjB,OAAO;AAAA,MACN,GAAG;AAAA,MAEH,uBAAa;AAAA;AAAA,EAChB;AAEJ;AAkBO,IAAM,oBAEyB,CAAC;AAAA,EACrC,WAAW;AAAA,EACX,IAAI,SAAS;AAAA,EACb,IAAI,SAAS;AAAA,EACb,cAAc;AAAA,EACd,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;AAAA,EACxB,aAAa;AAAA,EACb;AAAA,EACA;AACF,MAAM;AACJ,QAAM,cACJ,6CAAoB,cAAc,eAAe,MAAM;AAEzD,QAAM,IAAI,UAAU,eAAe,eAAe,KAAK,IAAI,CAAC,WAAW,MAAM;AAC7E,QAAM,IAAI,UAAU,eAAe,eAAe,KAAK,IAAI,CAAC,WAAW,MAAM;AAE7E,QAAM,IAAY,KAAK,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;AAE7D,SACE;AAAA,IAAC,eAAG;AAAA,IAAH;AAAA,MACC,eAAW,iBAAG,eAAe,sBAAsB;AAAA,MACnD;AAAA,MACA,OAAO;AAAA,MACN,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
@@ -0,0 +1,10 @@
1
+ "use client"
2
+ import {
3
+ pieChartLabel,
4
+ pieChartLabelLine
5
+ } from "./chunk-CPXE3PV4.mjs";
6
+ export {
7
+ pieChartLabel,
8
+ pieChartLabelLine
9
+ };
10
+ //# sourceMappingURL=pie-chart-label.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/pie-chart.js CHANGED
@@ -24,8 +24,8 @@ __export(pie_chart_exports, {
24
24
  PieChart: () => PieChart
25
25
  });
26
26
  module.exports = __toCommonJS(pie_chart_exports);
27
- var import_core7 = require("@yamada-ui/core");
28
- var import_utils8 = require("@yamada-ui/utils");
27
+ var import_core8 = require("@yamada-ui/core");
28
+ var import_utils9 = require("@yamada-ui/utils");
29
29
  var import_react5 = require("react");
30
30
  var import_recharts = require("recharts");
31
31
 
@@ -358,13 +358,94 @@ var useChartTooltip = ({
358
358
  };
359
359
 
360
360
  // src/use-pie-chart.ts
361
+ var import_core7 = require("@yamada-ui/core");
362
+ var import_utils8 = require("@yamada-ui/utils");
363
+ var import_react4 = require("react");
364
+
365
+ // src/pie-chart-label.tsx
361
366
  var import_core6 = require("@yamada-ui/core");
362
367
  var import_utils7 = require("@yamada-ui/utils");
363
- var import_react4 = require("react");
368
+ var import_jsx_runtime3 = require("react/jsx-runtime");
369
+ var RADIAN = Math.PI / 180;
370
+ var DEFAULT_LABEL_OFFSET = 22;
371
+ var pieChartLabel = ({
372
+ className: cellClassName,
373
+ cx: cxProp = 0,
374
+ cy: cyProp = 0,
375
+ midAngle = 0,
376
+ innerRadius = 0,
377
+ outerRadius = 0,
378
+ middleRadius = 0,
379
+ percent = 0,
380
+ value = 0,
381
+ labelOffset: labelOffsetProp,
382
+ isParcent,
383
+ labelProps,
384
+ valueFormatter,
385
+ styles
386
+ }) => {
387
+ const labelOffset = labelOffsetProp != null ? labelOffsetProp : (outerRadius - innerRadius) * 0.5 + DEFAULT_LABEL_OFFSET;
388
+ const x = cxProp + (middleRadius + labelOffset) * Math.cos(-midAngle * RADIAN);
389
+ const y = cyProp + (middleRadius + labelOffset) * Math.sin(-midAngle * RADIAN);
390
+ const textAnchor = x > cxProp ? "start" : x < cxProp ? "end" : "middle";
391
+ const displayLabel = () => {
392
+ if (isParcent) {
393
+ return parseFloat((percent * 100).toFixed(0)) > 0 && `${(percent * 100).toFixed(0)}%`;
394
+ } else if (!(0, import_utils7.isUndefined)(valueFormatter)) {
395
+ return valueFormatter(value);
396
+ } else {
397
+ return value;
398
+ }
399
+ };
400
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
401
+ import_core6.ui.text,
402
+ {
403
+ className: (0, import_utils7.cx)(cellClassName, "ui-chart__label"),
404
+ x,
405
+ y,
406
+ textAnchor,
407
+ dominantBaseline: "central",
408
+ __css: styles,
409
+ ...labelProps,
410
+ children: displayLabel()
411
+ }
412
+ );
413
+ };
414
+ var pieChartLabelLine = ({
415
+ className: cellClassName,
416
+ cx: cxProp = 0,
417
+ cy: cyProp = 0,
418
+ innerRadius = 0,
419
+ midAngle = 0,
420
+ middleRadius = 0,
421
+ outerRadius = 0,
422
+ points = [{ x: 0, y: 0 }],
423
+ labelOffset: labelOffsetProp,
424
+ labelLineProps,
425
+ styles
426
+ }) => {
427
+ const labelOffset = labelOffsetProp != null ? labelOffsetProp : (outerRadius - innerRadius) * 0.5 + DEFAULT_LABEL_OFFSET;
428
+ const x = cxProp + (middleRadius + labelOffset) * Math.cos(-midAngle * RADIAN);
429
+ const y = cyProp + (middleRadius + labelOffset) * Math.sin(-midAngle * RADIAN);
430
+ const d = `M ${points[0].x} ${points[0].y} L ${x} ${y}`;
431
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
432
+ import_core6.ui.path,
433
+ {
434
+ className: (0, import_utils7.cx)(cellClassName, "ui-chart__label-line"),
435
+ d,
436
+ __css: styles,
437
+ ...labelLineProps
438
+ }
439
+ );
440
+ };
441
+
442
+ // src/use-pie-chart.ts
364
443
  var usePieChart = ({
365
444
  data,
366
445
  withLabels = false,
367
446
  withLabelLines = false,
447
+ labelOffset,
448
+ isParcent = false,
368
449
  strokeWidth = 1,
369
450
  fillOpacity = 1,
370
451
  innerRadius = "0%",
@@ -372,19 +453,20 @@ var usePieChart = ({
372
453
  paddingAngle = 0,
373
454
  startAngle = 90,
374
455
  endAngle = -270,
456
+ valueFormatter,
375
457
  styles,
376
458
  ...rest
377
459
  }) => {
378
460
  var _a, _b;
379
- const { theme } = (0, import_core6.useTheme)();
461
+ const { theme } = (0, import_core7.useTheme)();
380
462
  const [highlightedArea, setHighlightedArea] = (0, import_react4.useState)(null);
381
463
  const shouldHighlight = highlightedArea !== null;
382
464
  const { dimCell, ...computedCellProps } = (_a = rest.cellProps) != null ? _a : {};
383
465
  const {
384
466
  activeShape = {},
385
467
  inactiveShape = {},
386
- label,
387
- labelLine,
468
+ label: labelProps,
469
+ labelLine: labelLineProps,
388
470
  ...computedPieProps
389
471
  } = (_b = rest.pieProps) != null ? _b : {};
390
472
  const cellColors = (0, import_react4.useMemo)(
@@ -446,13 +528,27 @@ var usePieChart = ({
446
528
  )(theme, true),
447
529
  [inactiveShape, styles.inactiveShape, theme]
448
530
  );
449
- const labelClassName = (0, import_react4.useMemo)(
450
- () => getClassName({ ...styles.label, ...label })(theme),
451
- [label, styles.label, theme]
531
+ const label = (0, import_react4.useCallback)(
532
+ (props) => pieChartLabel({
533
+ labelOffset,
534
+ isParcent,
535
+ labelProps,
536
+ valueFormatter,
537
+ styles: styles.label,
538
+ ...props
539
+ }),
540
+ [isParcent, labelOffset, labelProps, styles.label, valueFormatter]
452
541
  );
453
- const labelLineClassName = (0, import_react4.useMemo)(
454
- () => getClassName({ ...styles.labelLine, ...labelLine })(theme),
455
- [labelLine, styles.labelLine, theme]
542
+ const labelLine = (0, import_react4.useCallback)(
543
+ (props) => {
544
+ return pieChartLabelLine({
545
+ labelOffset,
546
+ labelLineProps,
547
+ styles: styles.labelLine,
548
+ ...props
549
+ });
550
+ },
551
+ [labelLineProps, labelOffset, styles.labelLine]
456
552
  );
457
553
  const cellPropList = (0, import_react4.useMemo)(
458
554
  () => data.map((props, index) => {
@@ -487,21 +583,16 @@ var usePieChart = ({
487
583
  const getPieChartProps = (0, import_react4.useCallback)(
488
584
  ({ className, ...props } = {}, ref = null) => ({
489
585
  ref,
490
- className: (0, import_utils7.cx)(className, chartClassName),
586
+ className: (0, import_utils8.cx)(className, chartClassName),
491
587
  ...props,
492
588
  ...chartProps
493
589
  }),
494
590
  [chartProps, chartClassName]
495
591
  );
496
592
  const getPieProps = (0, import_react4.useCallback)(
497
- ({
498
- className,
499
- labelClassName: labelClassNameProp,
500
- labelLineClassName: labelLineClassNameProp,
501
- ...props
502
- }, ref = null) => ({
593
+ ({ className, ...props }, ref = null) => ({
503
594
  ref,
504
- className: (0, import_utils7.cx)(className, pieClassName),
595
+ className: (0, import_utils8.cx)(className, pieClassName),
505
596
  dataKey: "value",
506
597
  data,
507
598
  rootTabIndex: -1,
@@ -511,8 +602,8 @@ var usePieChart = ({
511
602
  startAngle,
512
603
  endAngle,
513
604
  isAnimationActive: false,
514
- label: withLabels ? { className: (0, import_utils7.cx)(labelClassNameProp, labelClassName) } : false,
515
- labelLine: withLabelLines ? { className: (0, import_utils7.cx)(labelLineClassNameProp, labelLineClassName) } : false,
605
+ label: withLabels ? label : false,
606
+ labelLine: withLabelLines ? labelLine : false,
516
607
  activeShape: activeShapeProps,
517
608
  inactiveShape: inactiveShapeProps,
518
609
  ...props,
@@ -527,9 +618,9 @@ var usePieChart = ({
527
618
  startAngle,
528
619
  endAngle,
529
620
  withLabels,
530
- labelClassName,
621
+ label,
531
622
  withLabelLines,
532
- labelLineClassName,
623
+ labelLine,
533
624
  activeShapeProps,
534
625
  inactiveShapeProps,
535
626
  pieProps
@@ -540,7 +631,7 @@ var usePieChart = ({
540
631
  const { className, color } = cellPropList[index];
541
632
  return {
542
633
  ref,
543
- className: (0, import_utils7.cx)(classNameProp, className),
634
+ className: (0, import_utils8.cx)(classNameProp, className),
544
635
  fill: color,
545
636
  stroke: color,
546
637
  strokeWidth,
@@ -559,9 +650,9 @@ var usePieChart = ({
559
650
  };
560
651
 
561
652
  // src/pie-chart.tsx
562
- var import_jsx_runtime3 = require("react/jsx-runtime");
563
- var PieChart = (0, import_core7.forwardRef)((props, ref) => {
564
- const [styles, mergedProps] = (0, import_core7.useMultiComponentStyle)("PieChart", props);
653
+ var import_jsx_runtime4 = require("react/jsx-runtime");
654
+ var PieChart = (0, import_core8.forwardRef)((props, ref) => {
655
+ const [styles, mergedProps] = (0, import_core8.useMultiComponentStyle)("PieChart", props);
565
656
  const {
566
657
  className,
567
658
  data,
@@ -583,10 +674,12 @@ var PieChart = (0, import_core7.forwardRef)((props, ref) => {
583
674
  endAngle,
584
675
  withLabels,
585
676
  withLabelLines,
677
+ labelOffset,
678
+ isParcent,
586
679
  strokeWidth,
587
680
  legendProps,
588
681
  ...rest
589
- } = (0, import_core7.omitThemeProps)(mergedProps);
682
+ } = (0, import_core8.omitThemeProps)(mergedProps);
590
683
  const {
591
684
  pieVars,
592
685
  getPieProps,
@@ -606,6 +699,9 @@ var PieChart = (0, import_core7.forwardRef)((props, ref) => {
606
699
  strokeWidth,
607
700
  withLabels,
608
701
  withLabelLines,
702
+ labelOffset,
703
+ isParcent,
704
+ valueFormatter,
609
705
  styles
610
706
  });
611
707
  const { getContainerProps } = useChart({ containerProps });
@@ -618,7 +714,7 @@ var PieChart = (0, import_core7.forwardRef)((props, ref) => {
618
714
  legendProps
619
715
  });
620
716
  const cells = (0, import_react5.useMemo)(
621
- () => data.map(({ name }, index) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
717
+ () => data.map(({ name }, index) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
622
718
  import_recharts.Cell,
623
719
  {
624
720
  ...getCellProps({ index, className: "ui-pie-chart__cell" })
@@ -627,38 +723,36 @@ var PieChart = (0, import_core7.forwardRef)((props, ref) => {
627
723
  )),
628
724
  [data, getCellProps]
629
725
  );
630
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ChartProvider, { value: { styles }, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
631
- import_core7.ui.div,
726
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ChartProvider, { value: { styles }, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
727
+ import_core8.ui.div,
632
728
  {
633
729
  ref,
634
- className: (0, import_utils8.cx)("ui-pie-chart", className),
730
+ className: (0, import_utils9.cx)("ui-pie-chart", className),
635
731
  var: pieVars,
636
732
  __css: { ...styles.container },
637
733
  ...rest,
638
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
734
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
639
735
  import_recharts.ResponsiveContainer,
640
736
  {
641
737
  ...getContainerProps({ className: "ui-pie-chart__container" }),
642
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
738
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
643
739
  import_recharts.PieChart,
644
740
  {
645
741
  ...getPieChartProps({ className: "ui-pie-chart__chart" }),
646
742
  children: [
647
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
743
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
648
744
  import_recharts.Pie,
649
745
  {
650
746
  ...getPieProps({
651
- className: "ui-pie-chart__pie",
652
- labelClassName: "ui-pie-chart__label",
653
- labelLineClassName: "ui-pie-chart__label-line"
747
+ className: "ui-pie-chart__pie"
654
748
  }),
655
749
  children: cells
656
750
  }
657
751
  ),
658
- withLegend ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
752
+ withLegend ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
659
753
  import_recharts.Legend,
660
754
  {
661
- content: ({ payload }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
755
+ content: ({ payload }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
662
756
  ChartLegend,
663
757
  {
664
758
  className: "ui-pie-chart__legend",
@@ -670,10 +764,10 @@ var PieChart = (0, import_core7.forwardRef)((props, ref) => {
670
764
  ...getLegendProps()
671
765
  }
672
766
  ) : null,
673
- withTooltip ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
767
+ withTooltip ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
674
768
  import_recharts.Tooltip,
675
769
  {
676
- content: ({ label, payload }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
770
+ content: ({ label, payload }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
677
771
  ChartTooltip,
678
772
  {
679
773
  className: "ui-pie-chart__tooltip",