@yamada-ui/charts 1.4.1-dev-20240821035250 → 1.5.0-dev-20240822150649
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/chart.types.d.mts +4 -2
- package/dist/chart.types.d.ts +4 -2
- package/dist/chart.types.js.map +1 -1
- package/dist/chunk-5XSML5U3.mjs +37 -0
- package/dist/chunk-5XSML5U3.mjs.map +1 -0
- package/dist/{chunk-U2HWHZYI.mjs → chunk-7HKRIEAT.mjs} +17 -3
- package/dist/chunk-7HKRIEAT.mjs.map +1 -0
- package/dist/donut-chart.d.mts +2 -1
- package/dist/donut-chart.d.ts +2 -1
- package/dist/donut-chart.js +96 -51
- package/dist/donut-chart.js.map +1 -1
- package/dist/donut-chart.mjs +2 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +83 -48
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/dist/use-chart-label.d.mts +21 -0
- package/dist/use-chart-label.d.ts +21 -0
- package/dist/use-chart-label.js +82 -0
- package/dist/use-chart-label.js.map +1 -0
- package/dist/use-chart-label.mjs +10 -0
- package/dist/use-chart-label.mjs.map +1 -0
- package/package.json +3 -3
- package/dist/chunk-U2HWHZYI.mjs.map +0 -1
package/dist/index.js
CHANGED
@@ -2968,19 +2968,44 @@ var RadarChart = (0, import_core16.forwardRef)((props, ref) => {
|
|
2968
2968
|
});
|
2969
2969
|
|
2970
2970
|
// src/donut-chart.tsx
|
2971
|
+
var import_core20 = require("@yamada-ui/core");
|
2972
|
+
var import_utils21 = require("@yamada-ui/utils");
|
2973
|
+
var import_react17 = require("react");
|
2974
|
+
var import_recharts6 = require("recharts");
|
2975
|
+
|
2976
|
+
// src/use-chart-label.ts
|
2977
|
+
var import_core17 = require("@yamada-ui/core");
|
2978
|
+
var import_utils18 = require("@yamada-ui/utils");
|
2979
|
+
var import_react15 = require("react");
|
2980
|
+
var useChartLabel = ({ styles, ...rest }) => {
|
2981
|
+
var _a;
|
2982
|
+
const { theme } = (0, import_core17.useTheme)();
|
2983
|
+
const [labelProps, labelClassName] = getComponentProps(
|
2984
|
+
[(_a = rest.labelProps) != null ? _a : {}, labelProperties],
|
2985
|
+
styles.label
|
2986
|
+
)(theme);
|
2987
|
+
const getLabelProps = (0, import_react15.useCallback)(
|
2988
|
+
({ className, ...props } = {}, ref = null) => {
|
2989
|
+
return {
|
2990
|
+
ref,
|
2991
|
+
className: (0, import_utils18.cx)(className, labelClassName),
|
2992
|
+
...props,
|
2993
|
+
...labelProps
|
2994
|
+
};
|
2995
|
+
},
|
2996
|
+
[labelClassName, labelProps]
|
2997
|
+
);
|
2998
|
+
return { getLabelProps };
|
2999
|
+
};
|
3000
|
+
|
3001
|
+
// src/use-pie-chart.ts
|
2971
3002
|
var import_core19 = require("@yamada-ui/core");
|
2972
3003
|
var import_utils20 = require("@yamada-ui/utils");
|
2973
3004
|
var import_react16 = require("react");
|
2974
|
-
var import_recharts6 = require("recharts");
|
2975
3005
|
|
2976
|
-
// src/
|
3006
|
+
// src/pie-chart-label.tsx
|
2977
3007
|
var import_core18 = require("@yamada-ui/core");
|
2978
3008
|
var import_utils19 = require("@yamada-ui/utils");
|
2979
|
-
var import_react15 = require("react");
|
2980
|
-
|
2981
|
-
// src/pie-chart-label.tsx
|
2982
|
-
var import_core17 = require("@yamada-ui/core");
|
2983
|
-
var import_utils18 = require("@yamada-ui/utils");
|
2984
3009
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
2985
3010
|
var RADIAN = Math.PI / 180;
|
2986
3011
|
var DEFAULT_LABEL_OFFSET = 22;
|
@@ -3007,16 +3032,16 @@ var pieChartLabel = ({
|
|
3007
3032
|
const displayLabel = () => {
|
3008
3033
|
if (isPercent) {
|
3009
3034
|
return parseFloat((percent * 100).toFixed(0)) > 0 && `${(percent * 100).toFixed(0)}%`;
|
3010
|
-
} else if (!(0,
|
3035
|
+
} else if (!(0, import_utils19.isUndefined)(labelFormatter)) {
|
3011
3036
|
return labelFormatter(value);
|
3012
3037
|
} else {
|
3013
3038
|
return value;
|
3014
3039
|
}
|
3015
3040
|
};
|
3016
3041
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
3017
|
-
|
3042
|
+
import_core18.ui.text,
|
3018
3043
|
{
|
3019
|
-
className: (0,
|
3044
|
+
className: (0, import_utils19.cx)(cellClassName, "ui-chart__label"),
|
3020
3045
|
x,
|
3021
3046
|
y,
|
3022
3047
|
textAnchor,
|
@@ -3045,9 +3070,9 @@ var pieChartLabelLine = ({
|
|
3045
3070
|
const y = cyProp + (middleRadius + labelOffset) * Math.sin(-midAngle * RADIAN);
|
3046
3071
|
const d = `M ${points[0].x} ${points[0].y} L ${x} ${y}`;
|
3047
3072
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
3048
|
-
|
3073
|
+
import_core18.ui.path,
|
3049
3074
|
{
|
3050
|
-
className: (0,
|
3075
|
+
className: (0, import_utils19.cx)(cellClassName, "ui-chart__label-line"),
|
3051
3076
|
d,
|
3052
3077
|
__css: styles,
|
3053
3078
|
...labelLineProps
|
@@ -3074,8 +3099,8 @@ var usePieChart = ({
|
|
3074
3099
|
...rest
|
3075
3100
|
}) => {
|
3076
3101
|
var _a, _b;
|
3077
|
-
const { theme } = (0,
|
3078
|
-
const [highlightedArea, setHighlightedArea] = (0,
|
3102
|
+
const { theme } = (0, import_core19.useTheme)();
|
3103
|
+
const [highlightedArea, setHighlightedArea] = (0, import_react16.useState)(null);
|
3079
3104
|
const shouldHighlight = highlightedArea !== null;
|
3080
3105
|
const { dimCell, ...computedCellProps } = (_a = rest.cellProps) != null ? _a : {};
|
3081
3106
|
const {
|
@@ -3085,7 +3110,7 @@ var usePieChart = ({
|
|
3085
3110
|
labelLine: labelLineProps,
|
3086
3111
|
...computedPieProps
|
3087
3112
|
} = (_b = rest.pieProps) != null ? _b : {};
|
3088
|
-
const cellColors = (0,
|
3113
|
+
const cellColors = (0, import_react16.useMemo)(
|
3089
3114
|
() => data.map(({ color }, index) => ({
|
3090
3115
|
__prefix: "ui",
|
3091
3116
|
name: `cell-${index}`,
|
@@ -3094,14 +3119,14 @@ var usePieChart = ({
|
|
3094
3119
|
})),
|
3095
3120
|
[data]
|
3096
3121
|
);
|
3097
|
-
const pieVars = (0,
|
3122
|
+
const pieVars = (0, import_react16.useMemo)(
|
3098
3123
|
() => [
|
3099
3124
|
...cellColors,
|
3100
3125
|
{ __prefix: "ui", name: "fill-opacity", value: fillOpacity }
|
3101
3126
|
],
|
3102
3127
|
[fillOpacity, cellColors]
|
3103
3128
|
);
|
3104
|
-
const [chartProps, chartClassName] = (0,
|
3129
|
+
const [chartProps, chartClassName] = (0, import_react16.useMemo)(
|
3105
3130
|
() => {
|
3106
3131
|
var _a2;
|
3107
3132
|
return getComponentProps(
|
@@ -3111,14 +3136,14 @@ var usePieChart = ({
|
|
3111
3136
|
},
|
3112
3137
|
[rest.chartProps, styles.chart, theme]
|
3113
3138
|
);
|
3114
|
-
const [pieProps, pieClassName] = (0,
|
3139
|
+
const [pieProps, pieClassName] = (0, import_react16.useMemo)(
|
3115
3140
|
() => getComponentProps(
|
3116
3141
|
[computedPieProps, pieProperties],
|
3117
3142
|
styles.pie
|
3118
3143
|
)(theme),
|
3119
3144
|
[computedPieProps, styles.pie, theme]
|
3120
3145
|
);
|
3121
|
-
const cellClassName = (0,
|
3146
|
+
const cellClassName = (0, import_react16.useMemo)(() => {
|
3122
3147
|
const resolvedCellProps = {
|
3123
3148
|
fillOpacity: "var(--ui-fill-opacity)",
|
3124
3149
|
...styles.cell,
|
@@ -3126,25 +3151,25 @@ var usePieChart = ({
|
|
3126
3151
|
};
|
3127
3152
|
return getClassName(resolvedCellProps)(theme);
|
3128
3153
|
}, [computedCellProps, styles.cell, theme]);
|
3129
|
-
const dimCellClassName = (0,
|
3154
|
+
const dimCellClassName = (0, import_react16.useMemo)(() => {
|
3130
3155
|
const resolvedDimCell = { fillOpacity: 0.3, strokeOpacity: 0, ...dimCell };
|
3131
3156
|
return getClassName(resolvedDimCell)(theme);
|
3132
3157
|
}, [dimCell, theme]);
|
3133
|
-
const activeShapeProps = (0,
|
3158
|
+
const activeShapeProps = (0, import_react16.useMemo)(
|
3134
3159
|
() => getComponentProps(
|
3135
3160
|
[{ _focus: { outline: "none" }, ...activeShape }, pieProperties],
|
3136
3161
|
styles.activeShape
|
3137
3162
|
)(theme, true),
|
3138
3163
|
[activeShape, styles.activeShape, theme]
|
3139
3164
|
);
|
3140
|
-
const inactiveShapeProps = (0,
|
3165
|
+
const inactiveShapeProps = (0, import_react16.useMemo)(
|
3141
3166
|
() => getComponentProps(
|
3142
3167
|
[inactiveShape, pieProperties],
|
3143
3168
|
styles.inactiveShape
|
3144
3169
|
)(theme, true),
|
3145
3170
|
[inactiveShape, styles.inactiveShape, theme]
|
3146
3171
|
);
|
3147
|
-
const label = (0,
|
3172
|
+
const label = (0, import_react16.useCallback)(
|
3148
3173
|
(props) => pieChartLabel({
|
3149
3174
|
labelOffset,
|
3150
3175
|
isPercent,
|
@@ -3155,7 +3180,7 @@ var usePieChart = ({
|
|
3155
3180
|
}),
|
3156
3181
|
[isPercent, labelOffset, labelProps, styles.label, labelFormatter]
|
3157
3182
|
);
|
3158
|
-
const labelLine = (0,
|
3183
|
+
const labelLine = (0, import_react16.useCallback)(
|
3159
3184
|
(props) => {
|
3160
3185
|
return pieChartLabelLine({
|
3161
3186
|
labelOffset,
|
@@ -3166,7 +3191,7 @@ var usePieChart = ({
|
|
3166
3191
|
},
|
3167
3192
|
[labelLineProps, labelOffset, styles.labelLine]
|
3168
3193
|
);
|
3169
|
-
const cellPropList = (0,
|
3194
|
+
const cellPropList = (0, import_react16.useMemo)(
|
3170
3195
|
() => data.map((props, index) => {
|
3171
3196
|
const { name, dimCell: dimCell2 = {}, ...computedProps } = props;
|
3172
3197
|
const color = `var(--ui-cell-${index})`;
|
@@ -3196,19 +3221,19 @@ var usePieChart = ({
|
|
3196
3221
|
theme
|
3197
3222
|
]
|
3198
3223
|
);
|
3199
|
-
const getPieChartProps = (0,
|
3224
|
+
const getPieChartProps = (0, import_react16.useCallback)(
|
3200
3225
|
({ className, ...props } = {}, ref = null) => ({
|
3201
3226
|
ref,
|
3202
|
-
className: (0,
|
3227
|
+
className: (0, import_utils20.cx)(className, chartClassName),
|
3203
3228
|
...props,
|
3204
3229
|
...chartProps
|
3205
3230
|
}),
|
3206
3231
|
[chartProps, chartClassName]
|
3207
3232
|
);
|
3208
|
-
const getPieProps = (0,
|
3233
|
+
const getPieProps = (0, import_react16.useCallback)(
|
3209
3234
|
({ className, ...props }, ref = null) => ({
|
3210
3235
|
ref,
|
3211
|
-
className: (0,
|
3236
|
+
className: (0, import_utils20.cx)(className, pieClassName),
|
3212
3237
|
dataKey: "value",
|
3213
3238
|
data,
|
3214
3239
|
rootTabIndex: -1,
|
@@ -3242,12 +3267,12 @@ var usePieChart = ({
|
|
3242
3267
|
pieProps
|
3243
3268
|
]
|
3244
3269
|
);
|
3245
|
-
const getCellProps = (0,
|
3270
|
+
const getCellProps = (0, import_react16.useCallback)(
|
3246
3271
|
({ index, className: classNameProp, ...props }, ref = null) => {
|
3247
3272
|
const { className, color } = cellPropList[index];
|
3248
3273
|
return {
|
3249
3274
|
ref,
|
3250
|
-
className: (0,
|
3275
|
+
className: (0, import_utils20.cx)(classNameProp, className),
|
3251
3276
|
fill: color,
|
3252
3277
|
stroke: color,
|
3253
3278
|
strokeWidth,
|
@@ -3267,8 +3292,8 @@ var usePieChart = ({
|
|
3267
3292
|
|
3268
3293
|
// src/donut-chart.tsx
|
3269
3294
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
3270
|
-
var DonutChart = (0,
|
3271
|
-
const [styles, mergedProps] = (0,
|
3295
|
+
var DonutChart = (0, import_core20.forwardRef)((props, ref) => {
|
3296
|
+
const [styles, mergedProps] = (0, import_core20.useMultiComponentStyle)("DonutChart", props);
|
3272
3297
|
const {
|
3273
3298
|
className,
|
3274
3299
|
data,
|
@@ -3295,8 +3320,9 @@ var DonutChart = (0, import_core19.forwardRef)((props, ref) => {
|
|
3295
3320
|
outerRadius,
|
3296
3321
|
strokeWidth,
|
3297
3322
|
legendProps,
|
3323
|
+
labelProps,
|
3298
3324
|
...rest
|
3299
|
-
} = (0,
|
3325
|
+
} = (0, import_core20.omitThemeProps)(mergedProps);
|
3300
3326
|
const {
|
3301
3327
|
pieVars,
|
3302
3328
|
getPieProps,
|
@@ -3330,7 +3356,8 @@ var DonutChart = (0, import_core19.forwardRef)((props, ref) => {
|
|
3330
3356
|
const { legendProps: computedLegendProps, getLegendProps } = useChartLegend({
|
3331
3357
|
legendProps
|
3332
3358
|
});
|
3333
|
-
const
|
3359
|
+
const { getLabelProps } = useChartLabel({ labelProps, styles });
|
3360
|
+
const cells = (0, import_react17.useMemo)(
|
3334
3361
|
() => data.map(({ name }, index) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
3335
3362
|
import_recharts6.Cell,
|
3336
3363
|
{
|
@@ -3341,10 +3368,10 @@ var DonutChart = (0, import_core19.forwardRef)((props, ref) => {
|
|
3341
3368
|
[data, getCellProps]
|
3342
3369
|
);
|
3343
3370
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ChartProvider, { value: { styles }, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
3344
|
-
|
3371
|
+
import_core20.ui.div,
|
3345
3372
|
{
|
3346
3373
|
ref,
|
3347
|
-
className: (0,
|
3374
|
+
className: (0, import_utils21.cx)("ui-donut-chart", className),
|
3348
3375
|
var: pieVars,
|
3349
3376
|
__css: { maxW: "full", ...styles.container },
|
3350
3377
|
...rest,
|
@@ -3357,13 +3384,21 @@ var DonutChart = (0, import_core19.forwardRef)((props, ref) => {
|
|
3357
3384
|
{
|
3358
3385
|
...getPieChartProps({ className: "ui-donut-chart__chart" }),
|
3359
3386
|
children: [
|
3360
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.
|
3387
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
3361
3388
|
import_recharts6.Pie,
|
3362
3389
|
{
|
3363
3390
|
...getPieProps({
|
3364
3391
|
className: "ui-donut-chart__donut"
|
3365
3392
|
}),
|
3366
|
-
children:
|
3393
|
+
children: [
|
3394
|
+
cells,
|
3395
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
3396
|
+
import_recharts6.Label,
|
3397
|
+
{
|
3398
|
+
...getLabelProps({ className: "ui-donut-chart__label" })
|
3399
|
+
}
|
3400
|
+
)
|
3401
|
+
]
|
3367
3402
|
}
|
3368
3403
|
),
|
3369
3404
|
withLegend ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
@@ -3408,13 +3443,13 @@ var DonutChart = (0, import_core19.forwardRef)((props, ref) => {
|
|
3408
3443
|
});
|
3409
3444
|
|
3410
3445
|
// src/pie-chart.tsx
|
3411
|
-
var
|
3412
|
-
var
|
3413
|
-
var
|
3446
|
+
var import_core21 = require("@yamada-ui/core");
|
3447
|
+
var import_utils22 = require("@yamada-ui/utils");
|
3448
|
+
var import_react18 = require("react");
|
3414
3449
|
var import_recharts7 = require("recharts");
|
3415
3450
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
3416
|
-
var PieChart = (0,
|
3417
|
-
const [styles, mergedProps] = (0,
|
3451
|
+
var PieChart = (0, import_core21.forwardRef)((props, ref) => {
|
3452
|
+
const [styles, mergedProps] = (0, import_core21.useMultiComponentStyle)("PieChart", props);
|
3418
3453
|
const {
|
3419
3454
|
className,
|
3420
3455
|
data,
|
@@ -3442,7 +3477,7 @@ var PieChart = (0, import_core20.forwardRef)((props, ref) => {
|
|
3442
3477
|
strokeWidth,
|
3443
3478
|
legendProps,
|
3444
3479
|
...rest
|
3445
|
-
} = (0,
|
3480
|
+
} = (0, import_core21.omitThemeProps)(mergedProps);
|
3446
3481
|
const {
|
3447
3482
|
pieVars,
|
3448
3483
|
getPieProps,
|
@@ -3476,7 +3511,7 @@ var PieChart = (0, import_core20.forwardRef)((props, ref) => {
|
|
3476
3511
|
const { legendProps: computedLegendProps, getLegendProps } = useChartLegend({
|
3477
3512
|
legendProps
|
3478
3513
|
});
|
3479
|
-
const cells = (0,
|
3514
|
+
const cells = (0, import_react18.useMemo)(
|
3480
3515
|
() => data.map(({ name }, index) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
3481
3516
|
import_recharts7.Cell,
|
3482
3517
|
{
|
@@ -3487,10 +3522,10 @@ var PieChart = (0, import_core20.forwardRef)((props, ref) => {
|
|
3487
3522
|
[data, getCellProps]
|
3488
3523
|
);
|
3489
3524
|
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ChartProvider, { value: { styles }, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
3490
|
-
|
3525
|
+
import_core21.ui.div,
|
3491
3526
|
{
|
3492
3527
|
ref,
|
3493
|
-
className: (0,
|
3528
|
+
className: (0, import_utils22.cx)("ui-pie-chart", className),
|
3494
3529
|
var: pieVars,
|
3495
3530
|
__css: { maxW: "full", ...styles.container },
|
3496
3531
|
...rest,
|