@mdigital_ui/ui 0.2.5 → 0.2.7
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/LICENSE +21 -0
- package/README.md +1023 -341
- package/dist/accordion/index.js +3 -3
- package/dist/avatar/index.js +4 -0
- package/dist/avatar/index.js.map +1 -0
- package/dist/badge/index.js +3 -3
- package/dist/breadcrumbs/index.js +5 -5
- package/dist/button/index.js +4 -4
- package/dist/button-group/index.js +2 -2
- package/dist/card/index.js +2 -2
- package/dist/carousel/index.js +2 -1
- package/dist/cascader/index.js +2 -2
- package/dist/chart/index.js +2 -2
- package/dist/checkbox/index.js +3 -3
- package/dist/checkbox-group/index.js +2 -2
- package/dist/chunk-27QEPVKU.js +115 -0
- package/dist/chunk-27QEPVKU.js.map +1 -0
- package/dist/{chunk-Y5A26EGR.js → chunk-2J57G7XG.js} +82 -24
- package/dist/chunk-2J57G7XG.js.map +1 -0
- package/dist/{chunk-FPOXTCYV.js → chunk-2NYVRAG4.js} +29 -20
- package/dist/chunk-2NYVRAG4.js.map +1 -0
- package/dist/chunk-2OUGJBXK.js +742 -0
- package/dist/chunk-2OUGJBXK.js.map +1 -0
- package/dist/{chunk-ROR4E6IE.js → chunk-2WZVD7P3.js} +38 -12
- package/dist/chunk-2WZVD7P3.js.map +1 -0
- package/dist/chunk-3UCZ4GMN.js +84 -0
- package/dist/chunk-3UCZ4GMN.js.map +1 -0
- package/dist/{chunk-RPAQAZTI.js → chunk-4LSKRZOT.js} +12 -7
- package/dist/chunk-4LSKRZOT.js.map +1 -0
- package/dist/{chunk-ASW7TEAN.js → chunk-4SQOFZ3N.js} +35 -18
- package/dist/chunk-4SQOFZ3N.js.map +1 -0
- package/dist/chunk-5PUATOLR.js +127 -0
- package/dist/chunk-5PUATOLR.js.map +1 -0
- package/dist/chunk-6TMOKYR7.js +75 -0
- package/dist/chunk-6TMOKYR7.js.map +1 -0
- package/dist/chunk-7UCNBMCV.js +261 -0
- package/dist/chunk-7UCNBMCV.js.map +1 -0
- package/dist/chunk-AQYOVYPS.js +237 -0
- package/dist/chunk-AQYOVYPS.js.map +1 -0
- package/dist/{chunk-BP434VYV.js → chunk-C5YO5VZS.js} +17 -17
- package/dist/chunk-C5YO5VZS.js.map +1 -0
- package/dist/{chunk-ZNJ7M5QK.js → chunk-CHGJX5F2.js} +69 -46
- package/dist/chunk-CHGJX5F2.js.map +1 -0
- package/dist/chunk-CK6A2R66.js +336 -0
- package/dist/chunk-CK6A2R66.js.map +1 -0
- package/dist/{chunk-I5ANSIDK.js → chunk-CMGCJXE5.js} +280 -100
- package/dist/chunk-CMGCJXE5.js.map +1 -0
- package/dist/chunk-CSRMVLPR.js +394 -0
- package/dist/chunk-CSRMVLPR.js.map +1 -0
- package/dist/chunk-DH7R6NBG.js +107 -0
- package/dist/chunk-DH7R6NBG.js.map +1 -0
- package/dist/{chunk-XMAH5PDW.js → chunk-FEMHXG2P.js} +28 -11
- package/dist/chunk-FEMHXG2P.js.map +1 -0
- package/dist/chunk-FIGSNRWY.js +382 -0
- package/dist/chunk-FIGSNRWY.js.map +1 -0
- package/dist/{chunk-C7SXY3ZV.js → chunk-FVTMKQUE.js} +5 -3
- package/dist/chunk-FVTMKQUE.js.map +1 -0
- package/dist/{chunk-UAMFKX6L.js → chunk-GBVIACYQ.js} +103 -42
- package/dist/chunk-GBVIACYQ.js.map +1 -0
- package/dist/chunk-H47C2ENJ.js +215 -0
- package/dist/chunk-H47C2ENJ.js.map +1 -0
- package/dist/chunk-HWFI4GJE.js +130 -0
- package/dist/chunk-HWFI4GJE.js.map +1 -0
- package/dist/chunk-IA42ELUP.js +72 -0
- package/dist/chunk-IA42ELUP.js.map +1 -0
- package/dist/{chunk-HUVXKOJC.js → chunk-INQI3UUI.js} +80 -22
- package/dist/chunk-INQI3UUI.js.map +1 -0
- package/dist/{chunk-BNILRB4T.js → chunk-J525ROGL.js} +12 -7
- package/dist/chunk-J525ROGL.js.map +1 -0
- package/dist/chunk-JLS4MBHN.js +205 -0
- package/dist/chunk-JLS4MBHN.js.map +1 -0
- package/dist/{chunk-SK5ECBBK.js → chunk-KTHWXHDN.js} +15 -6
- package/dist/chunk-KTHWXHDN.js.map +1 -0
- package/dist/{chunk-SOV4PE3P.js → chunk-LMR7TKDJ.js} +25 -7
- package/dist/chunk-LMR7TKDJ.js.map +1 -0
- package/dist/{chunk-NNSS366W.js → chunk-MRFCITKK.js} +53 -11
- package/dist/chunk-MRFCITKK.js.map +1 -0
- package/dist/chunk-MXDTUN3V.js +459 -0
- package/dist/chunk-MXDTUN3V.js.map +1 -0
- package/dist/{chunk-YNNAOXU5.js → chunk-NGYLRX6F.js} +3 -18
- package/dist/chunk-NGYLRX6F.js.map +1 -0
- package/dist/chunk-NTPWR57C.js +445 -0
- package/dist/chunk-NTPWR57C.js.map +1 -0
- package/dist/chunk-OWXQ45GS.js +276 -0
- package/dist/chunk-OWXQ45GS.js.map +1 -0
- package/dist/{chunk-75XESYGN.js → chunk-P6A75RAH.js} +7 -13
- package/dist/chunk-P6A75RAH.js.map +1 -0
- package/dist/{chunk-RMGIO27V.js → chunk-PXOHJJBE.js} +39 -10
- package/dist/chunk-PXOHJJBE.js.map +1 -0
- package/dist/{chunk-SAVE5ACL.js → chunk-Q57THXIU.js} +28 -10
- package/dist/chunk-Q57THXIU.js.map +1 -0
- package/dist/{chunk-J3G5WWGR.js → chunk-QDHGE7IF.js} +7 -15
- package/dist/chunk-QDHGE7IF.js.map +1 -0
- package/dist/{chunk-7PKVBUGL.js → chunk-QKSDVYKF.js} +4 -4
- package/dist/chunk-QKSDVYKF.js.map +1 -0
- package/dist/chunk-ROA7BYGB.js +123 -0
- package/dist/chunk-ROA7BYGB.js.map +1 -0
- package/dist/{chunk-DPOSWW22.js → chunk-RPIJ2KY7.js} +11 -4
- package/dist/chunk-RPIJ2KY7.js.map +1 -0
- package/dist/{chunk-R225A5II.js → chunk-RW4RW4DV.js} +80 -30
- package/dist/chunk-RW4RW4DV.js.map +1 -0
- package/dist/chunk-RYKVZFGB.js +607 -0
- package/dist/chunk-RYKVZFGB.js.map +1 -0
- package/dist/chunk-SAVEKACZ.js +552 -0
- package/dist/chunk-SAVEKACZ.js.map +1 -0
- package/dist/chunk-SDNT2JGC.js +143 -0
- package/dist/chunk-SDNT2JGC.js.map +1 -0
- package/dist/{chunk-DOKTHDG3.js → chunk-SGRACNBP.js} +12 -7
- package/dist/chunk-SGRACNBP.js.map +1 -0
- package/dist/{chunk-OALOWWO7.js → chunk-TTEBZZ3T.js} +55 -42
- package/dist/chunk-TTEBZZ3T.js.map +1 -0
- package/dist/{chunk-FCMVKFVV.js → chunk-US4ZCMNU.js} +26 -20
- package/dist/chunk-US4ZCMNU.js.map +1 -0
- package/dist/chunk-UUP7YGOS.js +299 -0
- package/dist/chunk-UUP7YGOS.js.map +1 -0
- package/dist/{chunk-QPJL66S7.js → chunk-VUBU7Y4F.js} +123 -55
- package/dist/chunk-VUBU7Y4F.js.map +1 -0
- package/dist/chunk-WUBMNJGC.js +141 -0
- package/dist/chunk-WUBMNJGC.js.map +1 -0
- package/dist/chunk-WVG3QQDN.js +283 -0
- package/dist/chunk-WVG3QQDN.js.map +1 -0
- package/dist/chunk-WZ2KDHFP.js +109 -0
- package/dist/chunk-WZ2KDHFP.js.map +1 -0
- package/dist/{chunk-FGWSUPVW.js → chunk-X5SCI7KH.js} +190 -137
- package/dist/chunk-X5SCI7KH.js.map +1 -0
- package/dist/{chunk-D3JWPGCA.js → chunk-XJCWPPMM.js} +10 -56
- package/dist/chunk-XJCWPPMM.js.map +1 -0
- package/dist/{chunk-LEKLQR4I.js → chunk-YAAV7FQG.js} +70 -45
- package/dist/chunk-YAAV7FQG.js.map +1 -0
- package/dist/chunk-YOG5GXIC.js +196 -0
- package/dist/chunk-YOG5GXIC.js.map +1 -0
- package/dist/chunk-Z5VJ6MJP.js +234 -0
- package/dist/chunk-Z5VJ6MJP.js.map +1 -0
- package/dist/{chunk-267WNY3E.js → chunk-ZC3E3PWH.js} +109 -73
- package/dist/chunk-ZC3E3PWH.js.map +1 -0
- package/dist/clipboard/index.js +2 -2
- package/dist/collapse/index.js +2 -2
- package/dist/command/index.js +3 -3
- package/dist/context-menu/index.js +4 -0
- package/dist/context-menu/index.js.map +1 -0
- package/dist/date-picker/index.js +4 -3
- package/dist/descriptions/index.js +2 -2
- package/dist/divider/index.js +4 -0
- package/dist/divider/index.js.map +1 -0
- package/dist/drawer/index.js +2 -2
- package/dist/dropdown/index.js +4 -3
- package/dist/empty/index.js +2 -2
- package/dist/fetching-overlay/index.js +4 -3
- package/dist/grid/index.js +2 -2
- package/dist/image/index.js +2 -2
- package/dist/index.d.ts +2494 -211
- package/dist/index.js +63 -186
- package/dist/index.js.map +1 -1
- package/dist/input/index.js +4 -3
- package/dist/input-group/index.js +2 -2
- package/dist/input-otp/index.js +2 -2
- package/dist/input-password/index.js +5 -4
- package/dist/kbd/index.js +3 -2
- package/dist/modal/index.js +2 -2
- package/dist/multi-select/index.js +4 -3
- package/dist/notification/index.js +3 -2
- package/dist/pagination/index.js +2 -2
- package/dist/popover/index.js +3 -2
- package/dist/progress/index.js +2 -2
- package/dist/radio/index.js +3 -2
- package/dist/radio-group/index.js +2 -2
- package/dist/rating/index.js +2 -2
- package/dist/ribbon/index.js +2 -2
- package/dist/select/index.js +5 -4
- package/dist/skeleton/index.js +3 -2
- package/dist/slider/index.js +2 -2
- package/dist/spinner/index.js +3 -2
- package/dist/stepper/index.js +2 -2
- package/dist/styles/base.css +2165 -1375
- package/dist/styles/global.css +2393 -1036
- package/dist/styles/themes/dark.css +3 -1
- package/dist/styles/themes/light.css +3 -1
- package/dist/styles/themes/presets/corporate.css +126 -0
- package/dist/styles/themes/presets/minimal.css +126 -0
- package/dist/styles/themes/presets/vibrant.css +126 -0
- package/dist/switch/index.js +3 -2
- package/dist/table/index.js +10 -10
- package/dist/tabs/index.js +3 -3
- package/dist/tag/index.js +5 -0
- package/dist/tag/index.js.map +1 -0
- package/dist/textarea/index.js +2 -2
- package/dist/theme/index.js +3 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/toggle/index.js +2 -2
- package/dist/toggle-group/index.js +2 -2
- package/dist/tooltip/index.js +3 -2
- package/dist/transfer/index.js +4 -4
- package/dist/tree/index.js +2 -2
- package/dist/tree-select/index.js +5 -4
- package/dist/upload/index.js +2 -2
- package/package.json +460 -70
- package/dist/chunk-267WNY3E.js.map +0 -1
- package/dist/chunk-2EKAF6EJ.js +0 -128
- package/dist/chunk-2EKAF6EJ.js.map +0 -1
- package/dist/chunk-3PFA3YG6.js +0 -228
- package/dist/chunk-3PFA3YG6.js.map +0 -1
- package/dist/chunk-56IXGP5C.js +0 -56
- package/dist/chunk-56IXGP5C.js.map +0 -1
- package/dist/chunk-5UEWVFF6.js +0 -212
- package/dist/chunk-5UEWVFF6.js.map +0 -1
- package/dist/chunk-6V5I5HJ2.js +0 -39
- package/dist/chunk-6V5I5HJ2.js.map +0 -1
- package/dist/chunk-75XESYGN.js.map +0 -1
- package/dist/chunk-7PKVBUGL.js.map +0 -1
- package/dist/chunk-ASW7TEAN.js.map +0 -1
- package/dist/chunk-AWPKZYHT.js +0 -152
- package/dist/chunk-AWPKZYHT.js.map +0 -1
- package/dist/chunk-BFO3ARVJ.js +0 -104
- package/dist/chunk-BFO3ARVJ.js.map +0 -1
- package/dist/chunk-BNILRB4T.js.map +0 -1
- package/dist/chunk-BP434VYV.js.map +0 -1
- package/dist/chunk-C3MX5EXL.js +0 -95
- package/dist/chunk-C3MX5EXL.js.map +0 -1
- package/dist/chunk-C7SXY3ZV.js.map +0 -1
- package/dist/chunk-D3JWPGCA.js.map +0 -1
- package/dist/chunk-DOKTHDG3.js.map +0 -1
- package/dist/chunk-DPOSWW22.js.map +0 -1
- package/dist/chunk-FCMVKFVV.js.map +0 -1
- package/dist/chunk-FGWSUPVW.js.map +0 -1
- package/dist/chunk-FPOXTCYV.js.map +0 -1
- package/dist/chunk-FYHQDFKE.js +0 -164
- package/dist/chunk-FYHQDFKE.js.map +0 -1
- package/dist/chunk-G6TAVRTJ.js +0 -640
- package/dist/chunk-G6TAVRTJ.js.map +0 -1
- package/dist/chunk-GEWR5ROK.js +0 -102
- package/dist/chunk-GEWR5ROK.js.map +0 -1
- package/dist/chunk-HUVXKOJC.js.map +0 -1
- package/dist/chunk-I5ANSIDK.js.map +0 -1
- package/dist/chunk-J3G5WWGR.js.map +0 -1
- package/dist/chunk-JLTDJ3VZ.js +0 -452
- package/dist/chunk-JLTDJ3VZ.js.map +0 -1
- package/dist/chunk-KBCBVH7B.js +0 -51
- package/dist/chunk-KBCBVH7B.js.map +0 -1
- package/dist/chunk-KNQ7UQ2W.js +0 -143
- package/dist/chunk-KNQ7UQ2W.js.map +0 -1
- package/dist/chunk-KTAIRCOL.js +0 -100
- package/dist/chunk-KTAIRCOL.js.map +0 -1
- package/dist/chunk-LEKLQR4I.js.map +0 -1
- package/dist/chunk-MLDX3Z67.js +0 -470
- package/dist/chunk-MLDX3Z67.js.map +0 -1
- package/dist/chunk-NNSS366W.js.map +0 -1
- package/dist/chunk-OALOWWO7.js.map +0 -1
- package/dist/chunk-OOS3B7YZ.js +0 -94
- package/dist/chunk-OOS3B7YZ.js.map +0 -1
- package/dist/chunk-OQANRZPV.js +0 -197
- package/dist/chunk-OQANRZPV.js.map +0 -1
- package/dist/chunk-OW5A5IIF.js +0 -175
- package/dist/chunk-OW5A5IIF.js.map +0 -1
- package/dist/chunk-QPJL66S7.js.map +0 -1
- package/dist/chunk-R225A5II.js.map +0 -1
- package/dist/chunk-RMGIO27V.js.map +0 -1
- package/dist/chunk-ROR4E6IE.js.map +0 -1
- package/dist/chunk-RPAQAZTI.js.map +0 -1
- package/dist/chunk-S5XJXU52.js +0 -178
- package/dist/chunk-S5XJXU52.js.map +0 -1
- package/dist/chunk-SAVE5ACL.js.map +0 -1
- package/dist/chunk-SK5ECBBK.js.map +0 -1
- package/dist/chunk-SOV4PE3P.js.map +0 -1
- package/dist/chunk-UAMFKX6L.js.map +0 -1
- package/dist/chunk-XMAH5PDW.js.map +0 -1
- package/dist/chunk-XMKNYG7I.js +0 -181
- package/dist/chunk-XMKNYG7I.js.map +0 -1
- package/dist/chunk-Y5A26EGR.js.map +0 -1
- package/dist/chunk-YNNAOXU5.js.map +0 -1
- package/dist/chunk-YZ6V6BQ7.js +0 -134
- package/dist/chunk-YZ6V6BQ7.js.map +0 -1
- package/dist/chunk-YZVSDRJD.js +0 -253
- package/dist/chunk-YZVSDRJD.js.map +0 -1
- package/dist/chunk-ZNJ7M5QK.js.map +0 -1
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { switchTrackColorClasses } from './chunk-NTPWR57C.js';
|
|
2
|
+
import { cn } from './chunk-NGYLRX6F.js';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { Loader2 } from 'lucide-react';
|
|
5
|
+
import React, { useId, useState } from 'react';
|
|
6
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var switchTrackVariants = cva(
|
|
9
|
+
[
|
|
10
|
+
"relative rounded-full cursor-pointer transition-colors",
|
|
11
|
+
"peer-disabled:opacity-50 peer-disabled:cursor-not-allowed",
|
|
12
|
+
"peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background"
|
|
13
|
+
],
|
|
14
|
+
{
|
|
15
|
+
variants: {
|
|
16
|
+
color: switchTrackColorClasses,
|
|
17
|
+
size: {
|
|
18
|
+
xs: "w-(--switch-width-xs) h-(--switch-height-xs)",
|
|
19
|
+
sm: "w-(--switch-width-sm) h-(--switch-height-sm)",
|
|
20
|
+
md: "w-(--switch-width-md) h-(--switch-height-md)",
|
|
21
|
+
lg: "w-(--switch-width-lg) h-(--switch-height-lg)"
|
|
22
|
+
},
|
|
23
|
+
hasError: {
|
|
24
|
+
true: "bg-error/30 peer-checked:bg-error peer-focus-visible:ring-error",
|
|
25
|
+
false: ""
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
defaultVariants: {
|
|
29
|
+
color: "primary",
|
|
30
|
+
size: "md",
|
|
31
|
+
hasError: false
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
var switchThumbVariants = cva(
|
|
36
|
+
"absolute top-0.5 left-0.5 bg-background rounded-full shadow-sm transition-transform duration-200 ease-in-out flex items-center justify-center",
|
|
37
|
+
{
|
|
38
|
+
variants: {
|
|
39
|
+
size: {
|
|
40
|
+
xs: "w-(--switch-thumb-xs) h-(--switch-thumb-xs) peer-checked:translate-x-(--switch-translate-xs)",
|
|
41
|
+
sm: "w-(--switch-thumb-sm) h-(--switch-thumb-sm) peer-checked:translate-x-(--switch-translate-sm)",
|
|
42
|
+
md: "w-(--switch-thumb-md) h-(--switch-thumb-md) peer-checked:translate-x-(--switch-translate-md)",
|
|
43
|
+
lg: "w-(--switch-thumb-lg) h-(--switch-thumb-lg) peer-checked:translate-x-(--switch-translate-lg)"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
defaultVariants: {
|
|
47
|
+
size: "md"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
var loaderSizeClasses = {
|
|
52
|
+
xs: "size-2",
|
|
53
|
+
sm: "size-2.5",
|
|
54
|
+
md: "size-3",
|
|
55
|
+
lg: "size-3.5"
|
|
56
|
+
};
|
|
57
|
+
var thumbIconSizeClasses = {
|
|
58
|
+
xs: "size-2",
|
|
59
|
+
sm: "size-2.5",
|
|
60
|
+
md: "size-3",
|
|
61
|
+
lg: "size-3.5"
|
|
62
|
+
};
|
|
63
|
+
var trackContentSizeClasses = {
|
|
64
|
+
xs: "text-[6px] px-0.5",
|
|
65
|
+
sm: "text-[7px] px-0.5",
|
|
66
|
+
md: "text-[8px] px-1",
|
|
67
|
+
lg: "text-[9px] px-1.5"
|
|
68
|
+
};
|
|
69
|
+
var Switch = React.memo(
|
|
70
|
+
({
|
|
71
|
+
color = "primary",
|
|
72
|
+
size = "md",
|
|
73
|
+
label,
|
|
74
|
+
labelPosition = "right",
|
|
75
|
+
helperText,
|
|
76
|
+
error,
|
|
77
|
+
loading = false,
|
|
78
|
+
thumbIcon,
|
|
79
|
+
startContent,
|
|
80
|
+
endContent,
|
|
81
|
+
required,
|
|
82
|
+
labelClassName,
|
|
83
|
+
className,
|
|
84
|
+
classNames,
|
|
85
|
+
disabled,
|
|
86
|
+
checked,
|
|
87
|
+
defaultChecked,
|
|
88
|
+
ref,
|
|
89
|
+
...props
|
|
90
|
+
}) => {
|
|
91
|
+
const id = useId();
|
|
92
|
+
const inputId = props.id || id;
|
|
93
|
+
const helperId = `switch-helper-${id}`;
|
|
94
|
+
const hasHelperText = !!(helperText || error);
|
|
95
|
+
const [internalChecked, setInternalChecked] = useState(
|
|
96
|
+
defaultChecked ?? false
|
|
97
|
+
);
|
|
98
|
+
const isControlled = checked !== void 0;
|
|
99
|
+
const currentChecked = isControlled ? checked : internalChecked;
|
|
100
|
+
const handleChange = (e) => {
|
|
101
|
+
if (!isControlled) {
|
|
102
|
+
setInternalChecked(e.target.checked);
|
|
103
|
+
}
|
|
104
|
+
props.onChange?.(e);
|
|
105
|
+
};
|
|
106
|
+
const isDisabled = disabled || loading;
|
|
107
|
+
const switchElement = /* @__PURE__ */ jsxs("span", { className: cn("relative inline-flex items-center", "switch_root", classNames?.root), children: [
|
|
108
|
+
/* @__PURE__ */ jsx(
|
|
109
|
+
"input",
|
|
110
|
+
{
|
|
111
|
+
ref,
|
|
112
|
+
id: inputId,
|
|
113
|
+
type: "checkbox",
|
|
114
|
+
className: "peer sr-only",
|
|
115
|
+
disabled: isDisabled,
|
|
116
|
+
role: "switch",
|
|
117
|
+
"aria-checked": currentChecked,
|
|
118
|
+
"aria-invalid": !!error || void 0,
|
|
119
|
+
"aria-describedby": hasHelperText ? helperId : void 0,
|
|
120
|
+
checked: currentChecked,
|
|
121
|
+
onChange: handleChange,
|
|
122
|
+
required,
|
|
123
|
+
...props
|
|
124
|
+
}
|
|
125
|
+
),
|
|
126
|
+
/* @__PURE__ */ jsxs(
|
|
127
|
+
"span",
|
|
128
|
+
{
|
|
129
|
+
className: cn(
|
|
130
|
+
switchTrackVariants({ color, size, hasError: !!error }),
|
|
131
|
+
"switch_track",
|
|
132
|
+
classNames?.track,
|
|
133
|
+
className
|
|
134
|
+
),
|
|
135
|
+
children: [
|
|
136
|
+
startContent && /* @__PURE__ */ jsx(
|
|
137
|
+
"span",
|
|
138
|
+
{
|
|
139
|
+
className: cn(
|
|
140
|
+
"absolute right-0.5 top-1/2 -translate-y-1/2 text-white font-medium transition-opacity",
|
|
141
|
+
trackContentSizeClasses[size],
|
|
142
|
+
currentChecked ? "opacity-0" : "opacity-100"
|
|
143
|
+
),
|
|
144
|
+
children: startContent
|
|
145
|
+
}
|
|
146
|
+
),
|
|
147
|
+
endContent && /* @__PURE__ */ jsx(
|
|
148
|
+
"span",
|
|
149
|
+
{
|
|
150
|
+
className: cn(
|
|
151
|
+
"absolute left-0.5 top-1/2 -translate-y-1/2 text-white font-medium transition-opacity",
|
|
152
|
+
trackContentSizeClasses[size],
|
|
153
|
+
currentChecked ? "opacity-100" : "opacity-0"
|
|
154
|
+
),
|
|
155
|
+
children: endContent
|
|
156
|
+
}
|
|
157
|
+
)
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
),
|
|
161
|
+
/* @__PURE__ */ jsx("span", { className: cn(switchThumbVariants({ size }), "switch_thumb", classNames?.thumb), children: loading ? /* @__PURE__ */ jsx(
|
|
162
|
+
Loader2,
|
|
163
|
+
{
|
|
164
|
+
className: cn(
|
|
165
|
+
"animate-spin text-text-secondary",
|
|
166
|
+
loaderSizeClasses[size]
|
|
167
|
+
)
|
|
168
|
+
}
|
|
169
|
+
) : thumbIcon ? /* @__PURE__ */ jsx(
|
|
170
|
+
"span",
|
|
171
|
+
{
|
|
172
|
+
className: cn(
|
|
173
|
+
"flex items-center justify-center text-text-secondary",
|
|
174
|
+
thumbIconSizeClasses[size]
|
|
175
|
+
),
|
|
176
|
+
children: thumbIcon
|
|
177
|
+
}
|
|
178
|
+
) : null })
|
|
179
|
+
] });
|
|
180
|
+
if (!label && !helperText && !error) {
|
|
181
|
+
return switchElement;
|
|
182
|
+
}
|
|
183
|
+
return /* @__PURE__ */ jsxs("div", { className: "w-full", children: [
|
|
184
|
+
/* @__PURE__ */ jsxs(
|
|
185
|
+
"label",
|
|
186
|
+
{
|
|
187
|
+
htmlFor: inputId,
|
|
188
|
+
className: cn(
|
|
189
|
+
"inline-flex items-center gap-2",
|
|
190
|
+
!isDisabled && "cursor-pointer",
|
|
191
|
+
labelPosition === "left" && "flex-row-reverse"
|
|
192
|
+
),
|
|
193
|
+
children: [
|
|
194
|
+
switchElement,
|
|
195
|
+
label && /* @__PURE__ */ jsxs(
|
|
196
|
+
"span",
|
|
197
|
+
{
|
|
198
|
+
className: cn(
|
|
199
|
+
"text-sm text-text-primary select-none",
|
|
200
|
+
error && "text-error",
|
|
201
|
+
isDisabled && "opacity-50",
|
|
202
|
+
"switch_label",
|
|
203
|
+
classNames?.label,
|
|
204
|
+
labelClassName
|
|
205
|
+
),
|
|
206
|
+
children: [
|
|
207
|
+
label,
|
|
208
|
+
required && /* @__PURE__ */ jsx("span", { className: "text-error ml-0.5", "aria-hidden": "true", children: "*" })
|
|
209
|
+
]
|
|
210
|
+
}
|
|
211
|
+
)
|
|
212
|
+
]
|
|
213
|
+
}
|
|
214
|
+
),
|
|
215
|
+
(helperText || error) && /* @__PURE__ */ jsx(
|
|
216
|
+
"p",
|
|
217
|
+
{
|
|
218
|
+
id: helperId,
|
|
219
|
+
className: cn(
|
|
220
|
+
"mt-1 text-xs",
|
|
221
|
+
labelPosition === "left" ? "text-right" : "text-left",
|
|
222
|
+
error ? "text-error" : "text-text-secondary",
|
|
223
|
+
"switch_description",
|
|
224
|
+
classNames?.description
|
|
225
|
+
),
|
|
226
|
+
children: error || helperText
|
|
227
|
+
}
|
|
228
|
+
)
|
|
229
|
+
] });
|
|
230
|
+
}
|
|
231
|
+
);
|
|
232
|
+
Switch.displayName = "Switch";
|
|
233
|
+
var switch_default = Switch;
|
|
234
|
+
|
|
235
|
+
export { switch_default };
|
|
236
|
+
//# sourceMappingURL=chunk-AQYOVYPS.js.map
|
|
237
|
+
//# sourceMappingURL=chunk-AQYOVYPS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/switch/index.tsx"],"names":[],"mappings":"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","file":"chunk-AQYOVYPS.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport { Loader2 } from \"lucide-react\";\nimport React, { useState, useId } from \"react\";\n\nimport { cn } from \"../utils\";\nimport { switchTrackColorClasses } from \"../variants\";\nimport type { SwitchProps, SwitchSize } from \"./types\";\n\nconst switchTrackVariants = cva(\n [\n \"relative rounded-full cursor-pointer transition-colors\",\n \"peer-disabled:opacity-50 peer-disabled:cursor-not-allowed\",\n \"peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background\",\n ],\n {\n variants: {\n color: switchTrackColorClasses,\n size: {\n xs: \"w-(--switch-width-xs) h-(--switch-height-xs)\",\n sm: \"w-(--switch-width-sm) h-(--switch-height-sm)\",\n md: \"w-(--switch-width-md) h-(--switch-height-md)\",\n lg: \"w-(--switch-width-lg) h-(--switch-height-lg)\",\n },\n hasError: {\n true: \"bg-error/30 peer-checked:bg-error peer-focus-visible:ring-error\",\n false: \"\",\n },\n },\n defaultVariants: {\n color: \"primary\",\n size: \"md\",\n hasError: false,\n },\n },\n);\n\nconst switchThumbVariants = cva(\n \"absolute top-0.5 left-0.5 bg-background rounded-full shadow-sm transition-transform duration-200 ease-in-out flex items-center justify-center\",\n {\n variants: {\n size: {\n xs: \"w-(--switch-thumb-xs) h-(--switch-thumb-xs) peer-checked:translate-x-(--switch-translate-xs)\",\n sm: \"w-(--switch-thumb-sm) h-(--switch-thumb-sm) peer-checked:translate-x-(--switch-translate-sm)\",\n md: \"w-(--switch-thumb-md) h-(--switch-thumb-md) peer-checked:translate-x-(--switch-translate-md)\",\n lg: \"w-(--switch-thumb-lg) h-(--switch-thumb-lg) peer-checked:translate-x-(--switch-translate-lg)\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\n/**\n * Loader size classes based on switch size\n */\nconst loaderSizeClasses: Record<SwitchSize, string> = {\n xs: \"size-2\",\n sm: \"size-2.5\",\n md: \"size-3\",\n lg: \"size-3.5\",\n};\n\n/**\n * Thumb icon size classes based on switch size\n */\nconst thumbIconSizeClasses: Record<SwitchSize, string> = {\n xs: \"size-2\",\n sm: \"size-2.5\",\n md: \"size-3\",\n lg: \"size-3.5\",\n};\n\n/**\n * Track content size classes\n */\nconst trackContentSizeClasses: Record<SwitchSize, string> = {\n xs: \"text-[6px] px-0.5\",\n sm: \"text-[7px] px-0.5\",\n md: \"text-[8px] px-1\",\n lg: \"text-[9px] px-1.5\",\n};\n\nconst Switch = React.memo<SwitchProps>(\n ({\n color = \"primary\",\n size = \"md\",\n label,\n labelPosition = \"right\",\n helperText,\n error,\n loading = false,\n thumbIcon,\n startContent,\n endContent,\n required,\n labelClassName,\n className,\n classNames,\n disabled,\n checked,\n defaultChecked,\n ref,\n ...props\n }) => {\n const id = useId();\n const inputId = props.id || id;\n const helperId = `switch-helper-${id}`;\n const hasHelperText = !!(helperText || error);\n\n // Handle uncontrolled mode\n const [internalChecked, setInternalChecked] = useState(\n defaultChecked ?? false,\n );\n const isControlled = checked !== undefined;\n const currentChecked = isControlled ? checked : internalChecked;\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalChecked(e.target.checked);\n }\n props.onChange?.(e);\n };\n\n const isDisabled = disabled || loading;\n\n const switchElement = (\n <span className={cn(\"relative inline-flex items-center\", \"switch_root\", classNames?.root)}>\n <input\n ref={ref}\n id={inputId}\n type=\"checkbox\"\n className=\"peer sr-only\"\n disabled={isDisabled}\n role=\"switch\"\n aria-checked={currentChecked}\n aria-invalid={!!error || undefined}\n aria-describedby={hasHelperText ? helperId : undefined}\n checked={currentChecked}\n onChange={handleChange}\n required={required}\n {...props}\n />\n <span\n className={cn(\n switchTrackVariants({ color, size, hasError: !!error }),\n \"switch_track\",\n classNames?.track,\n className,\n )}\n >\n {/* Track content - start (visible when unchecked) */}\n {startContent && (\n <span\n className={cn(\n \"absolute right-0.5 top-1/2 -translate-y-1/2 text-white font-medium transition-opacity\",\n trackContentSizeClasses[size],\n currentChecked ? \"opacity-0\" : \"opacity-100\",\n )}\n >\n {startContent}\n </span>\n )}\n {/* Track content - end (visible when checked) */}\n {endContent && (\n <span\n className={cn(\n \"absolute left-0.5 top-1/2 -translate-y-1/2 text-white font-medium transition-opacity\",\n trackContentSizeClasses[size],\n currentChecked ? \"opacity-100\" : \"opacity-0\",\n )}\n >\n {endContent}\n </span>\n )}\n </span>\n\n {/* Thumb */}\n <span className={cn(switchThumbVariants({ size }), \"switch_thumb\", classNames?.thumb)}>\n {loading ? (\n <Loader2\n className={cn(\n \"animate-spin text-text-secondary\",\n loaderSizeClasses[size],\n )}\n />\n ) : thumbIcon ? (\n <span\n className={cn(\n \"flex items-center justify-center text-text-secondary\",\n thumbIconSizeClasses[size],\n )}\n >\n {thumbIcon}\n </span>\n ) : null}\n </span>\n </span>\n );\n\n // Simple switch without label/helper/error\n if (!label && !helperText && !error) {\n return switchElement;\n }\n\n // Switch with label and/or helper/error text\n return (\n <div className=\"w-full\">\n <label\n htmlFor={inputId}\n className={cn(\n \"inline-flex items-center gap-2\",\n !isDisabled && \"cursor-pointer\",\n labelPosition === \"left\" && \"flex-row-reverse\",\n )}\n >\n {switchElement}\n {label && (\n <span\n className={cn(\n \"text-sm text-text-primary select-none\",\n error && \"text-error\",\n isDisabled && \"opacity-50\",\n \"switch_label\",\n classNames?.label,\n labelClassName,\n )}\n >\n {label}\n {required && (\n <span className=\"text-error ml-0.5\" aria-hidden=\"true\">\n *\n </span>\n )}\n </span>\n )}\n </label>\n {(helperText || error) && (\n <p\n id={helperId}\n className={cn(\n \"mt-1 text-xs\",\n labelPosition === \"left\" ? \"text-right\" : \"text-left\",\n error ? \"text-error\" : \"text-text-secondary\",\n \"switch_description\",\n classNames?.description,\n )}\n >\n {error || helperText}\n </p>\n )}\n </div>\n );\n },\n);\n\nSwitch.displayName = \"Switch\";\n\nexport type * from \"./types\";\nexport default Switch;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-NGYLRX6F.js';
|
|
2
2
|
import { ResponsiveContainer, LineChart as LineChart$1, BarChart as BarChart$1, AreaChart as AreaChart$1, ComposedChart as ComposedChart$1, PieChart as PieChart$1, Tooltip, Legend, Pie, Cell, CartesianGrid, XAxis, YAxis, Area, Bar, Line } from 'recharts';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { cva } from 'class-variance-authority';
|
|
@@ -9,10 +9,10 @@ var chartContainerVariants = cva(
|
|
|
9
9
|
{
|
|
10
10
|
variants: {
|
|
11
11
|
size: {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
xs: "h-(--chart-height-xs)",
|
|
13
|
+
sm: "h-(--chart-height-sm)",
|
|
14
|
+
md: "h-(--chart-height-md)",
|
|
15
|
+
lg: "h-(--chart-height-lg)"
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
defaultVariants: {
|
|
@@ -184,11 +184,11 @@ var LineChart = React.memo(
|
|
|
184
184
|
"flex items-center justify-center",
|
|
185
185
|
className
|
|
186
186
|
),
|
|
187
|
-
children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-text-
|
|
187
|
+
children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-text-secondary", children: "Loading chart..." })
|
|
188
188
|
}
|
|
189
189
|
);
|
|
190
190
|
}
|
|
191
|
-
return /* @__PURE__ */ jsx("div", { className: cn(chartContainerVariants({ size }), className), children: /* @__PURE__ */ jsx(
|
|
191
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "root", className: cn("chart_root", chartContainerVariants({ size }), className), children: /* @__PURE__ */ jsx(
|
|
192
192
|
ResponsiveContainer,
|
|
193
193
|
{
|
|
194
194
|
width: "100%",
|
|
@@ -237,11 +237,11 @@ var BarChart = React.memo(
|
|
|
237
237
|
"flex items-center justify-center",
|
|
238
238
|
className
|
|
239
239
|
),
|
|
240
|
-
children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-text-
|
|
240
|
+
children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-text-secondary", children: "Loading chart..." })
|
|
241
241
|
}
|
|
242
242
|
);
|
|
243
243
|
}
|
|
244
|
-
return /* @__PURE__ */ jsx("div", { className: cn(chartContainerVariants({ size }), className), children: /* @__PURE__ */ jsx(
|
|
244
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "root", className: cn("chart_root", chartContainerVariants({ size }), className), children: /* @__PURE__ */ jsx(
|
|
245
245
|
ResponsiveContainer,
|
|
246
246
|
{
|
|
247
247
|
width: "100%",
|
|
@@ -290,11 +290,11 @@ var AreaChart = React.memo(
|
|
|
290
290
|
"flex items-center justify-center",
|
|
291
291
|
className
|
|
292
292
|
),
|
|
293
|
-
children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-text-
|
|
293
|
+
children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-text-secondary", children: "Loading chart..." })
|
|
294
294
|
}
|
|
295
295
|
);
|
|
296
296
|
}
|
|
297
|
-
return /* @__PURE__ */ jsx("div", { className: cn(chartContainerVariants({ size }), className), children: /* @__PURE__ */ jsx(
|
|
297
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "root", className: cn("chart_root", chartContainerVariants({ size }), className), children: /* @__PURE__ */ jsx(
|
|
298
298
|
ResponsiveContainer,
|
|
299
299
|
{
|
|
300
300
|
width: "100%",
|
|
@@ -343,11 +343,11 @@ var ComposedChart = React.memo(
|
|
|
343
343
|
"flex items-center justify-center",
|
|
344
344
|
className
|
|
345
345
|
),
|
|
346
|
-
children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-text-
|
|
346
|
+
children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-text-secondary", children: "Loading chart..." })
|
|
347
347
|
}
|
|
348
348
|
);
|
|
349
349
|
}
|
|
350
|
-
return /* @__PURE__ */ jsx("div", { className: cn(chartContainerVariants({ size }), className), children: /* @__PURE__ */ jsx(
|
|
350
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "root", className: cn("chart_root", chartContainerVariants({ size }), className), children: /* @__PURE__ */ jsx(
|
|
351
351
|
ResponsiveContainer,
|
|
352
352
|
{
|
|
353
353
|
width: "100%",
|
|
@@ -394,11 +394,11 @@ var PieChart = React.memo(
|
|
|
394
394
|
"flex items-center justify-center",
|
|
395
395
|
className
|
|
396
396
|
),
|
|
397
|
-
children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-text-
|
|
397
|
+
children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-text-secondary", children: "Loading chart..." })
|
|
398
398
|
}
|
|
399
399
|
);
|
|
400
400
|
}
|
|
401
|
-
return /* @__PURE__ */ jsx("div", { className: cn(chartContainerVariants({ size }), className), children: /* @__PURE__ */ jsx(
|
|
401
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "root", className: cn("chart_root", chartContainerVariants({ size }), className), children: /* @__PURE__ */ jsx(
|
|
402
402
|
ResponsiveContainer,
|
|
403
403
|
{
|
|
404
404
|
width: "100%",
|
|
@@ -444,5 +444,5 @@ var PieChart = React.memo(
|
|
|
444
444
|
PieChart.displayName = "PieChart";
|
|
445
445
|
|
|
446
446
|
export { AreaChart, BarChart, ComposedChart, LineChart, PieChart, axisLineStyle, axisTickStyle, chartContainerVariants, cursorStyle, getChartColor, gridStyle, legendStyle, tooltipStyle };
|
|
447
|
-
//# sourceMappingURL=chunk-
|
|
448
|
-
//# sourceMappingURL=chunk-
|
|
447
|
+
//# sourceMappingURL=chunk-C5YO5VZS.js.map
|
|
448
|
+
//# sourceMappingURL=chunk-C5YO5VZS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/chart/utils.ts","../src/chart/index.tsx"],"names":["RechartsLineChart","RechartsBarChart","RechartsAreaChart","RechartsComposedChart","RechartsPieChart"],"mappings":"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","file":"chunk-C5YO5VZS.js","sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const chartContainerVariants = cva(\n 'w-full rounded-lg border border-border bg-card shadow-sm p-6 transition-all duration-200 hover:shadow-md',\n {\n variants: {\n size: {\n xs: 'h-(--chart-height-xs)',\n sm: 'h-(--chart-height-sm)',\n md: 'h-(--chart-height-md)',\n lg: 'h-(--chart-height-lg)',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\n// Default color palette using theme colors\nexport const defaultColors = [\n 'var(--color-primary)',\n 'var(--color-secondary)',\n 'var(--color-success)',\n 'var(--color-warning)',\n 'var(--color-error)',\n 'var(--color-info)',\n]\n\nexport const getChartColor = (index: number): string | undefined => {\n return defaultColors[index % defaultColors.length]\n}\n\n// Shared style objects for Recharts components (uses CSS variables directly)\nexport const tooltipStyle = {\n backgroundColor: 'var(--color-card)',\n border: '1px solid var(--color-border)',\n borderRadius: 'var(--radius-md)',\n fontSize: 'var(--font-size-xs)',\n boxShadow: 'var(--shadow-md)',\n}\n\nexport const legendStyle = {\n fontSize: 'var(--font-size-xs)',\n}\n\nexport const axisTickStyle = {\n fontSize: 'var(--font-size-xs)',\n fill: 'var(--color-text-secondary)',\n}\n\nexport const axisLineStyle = {\n stroke: 'var(--color-border)',\n}\n\nexport const gridStyle = {\n stroke: 'var(--color-border)',\n opacity: 0.3,\n}\n\nexport const cursorStyle = {\n fill: 'var(--color-surface)',\n opacity: 0.5,\n}\n","import {\n Area,\n Bar,\n CartesianGrid,\n Cell,\n Legend,\n Line,\n Pie,\n AreaChart as RechartsAreaChart,\n BarChart as RechartsBarChart,\n ComposedChart as RechartsComposedChart,\n LineChart as RechartsLineChart,\n PieChart as RechartsPieChart,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from 'recharts'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport type {\n AreaChartProps,\n BarChartProps,\n ChartSeries,\n ComposedChartProps,\n LineChartProps,\n PieChartProps,\n} from './types'\nimport {\n axisLineStyle,\n axisTickStyle,\n chartContainerVariants,\n cursorStyle,\n getChartColor,\n gridStyle,\n legendStyle,\n tooltipStyle,\n} from './utils'\n\n// Shared rendering logic for series\nconst renderSeriesItem = (\n seriesItem: ChartSeries,\n index: number,\n defaultType: 'line' | 'bar' | 'area',\n) => {\n const color = seriesItem.color || getChartColor(index)\n const type = seriesItem.type || defaultType\n const key = `${type}-${seriesItem.dataKey}`\n\n switch (type) {\n case 'line':\n return (\n <Line\n key={key}\n type=\"monotone\"\n dataKey={seriesItem.dataKey}\n stroke={color}\n strokeWidth={2.5}\n name={seriesItem.name || seriesItem.dataKey}\n dot={{ fill: color, strokeWidth: 2, r: 4 }}\n activeDot={{ r: 6, strokeWidth: 0 }}\n />\n )\n case 'bar':\n return (\n <Bar\n key={key}\n dataKey={seriesItem.dataKey}\n fill={color}\n name={seriesItem.name || seriesItem.dataKey}\n radius={[4, 4, 0, 0]}\n />\n )\n case 'area':\n return (\n <Area\n key={key}\n type=\"monotone\"\n dataKey={seriesItem.dataKey}\n stroke={color}\n fill={color}\n fillOpacity={0.2}\n strokeWidth={2.5}\n name={seriesItem.name || seriesItem.dataKey}\n />\n )\n default:\n return null\n }\n}\n\n// Shared chart elements\ninterface CartesianChartElementsProps {\n xAxisKey: string\n showGrid?: boolean\n showTooltip?: boolean\n showLegend?: boolean\n xAxisLabel?: string\n yAxisLabel?: string\n}\n\nconst CartesianChartElements = ({\n xAxisKey,\n showGrid,\n showTooltip,\n showLegend,\n xAxisLabel,\n yAxisLabel,\n}: CartesianChartElementsProps) => (\n <>\n {showGrid && (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n {...gridStyle}\n />\n )}\n <XAxis\n dataKey={xAxisKey}\n stroke=\"var(--color-text-secondary)\"\n tick={axisTickStyle}\n axisLine={axisLineStyle}\n tickLine={axisLineStyle}\n label={\n xAxisLabel\n ? { value: xAxisLabel, position: 'bottom', ...axisTickStyle }\n : undefined\n }\n />\n <YAxis\n stroke=\"var(--color-text-secondary)\"\n tick={axisTickStyle}\n axisLine={axisLineStyle}\n tickLine={axisLineStyle}\n label={\n yAxisLabel\n ? {\n value: yAxisLabel,\n angle: -90,\n position: 'left',\n ...axisTickStyle,\n }\n : undefined\n }\n />\n {showTooltip && (\n <Tooltip\n contentStyle={tooltipStyle}\n cursor={cursorStyle}\n />\n )}\n {showLegend && (\n <Legend\n wrapperStyle={legendStyle}\n iconType=\"circle\"\n iconSize={8}\n />\n )}\n </>\n)\n\n// Line Chart Component\nexport const LineChart = React.memo<LineChartProps>(\n ({\n data,\n xAxisKey,\n series,\n size = 'md',\n className,\n loading = false,\n showGrid = true,\n showLegend = true,\n showTooltip = true,\n xAxisLabel,\n yAxisLabel,\n }) => {\n if (loading) {\n return (\n <div\n className={cn(\n chartContainerVariants({ size }),\n 'flex items-center justify-center',\n className,\n )}\n >\n <div className=\"animate-pulse text-text-secondary\">Loading chart...</div>\n </div>\n )\n }\n\n return (\n <div data-slot=\"root\" className={cn('chart_root', chartContainerVariants({ size }), className)}>\n <ResponsiveContainer\n width=\"100%\"\n height=\"100%\"\n >\n <RechartsLineChart data={data}>\n <CartesianChartElements\n xAxisKey={xAxisKey}\n showGrid={showGrid}\n showTooltip={showTooltip}\n showLegend={showLegend}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n />\n {series.map((seriesItem, index) =>\n renderSeriesItem(seriesItem, index, 'line'),\n )}\n </RechartsLineChart>\n </ResponsiveContainer>\n </div>\n )\n },\n)\n\nLineChart.displayName = 'LineChart'\n\n// Bar Chart Component\nexport const BarChart = React.memo<BarChartProps>(\n ({\n data,\n xAxisKey,\n series,\n size = 'md',\n className,\n loading = false,\n showGrid = true,\n showLegend = true,\n showTooltip = true,\n xAxisLabel,\n yAxisLabel,\n }) => {\n if (loading) {\n return (\n <div\n className={cn(\n chartContainerVariants({ size }),\n 'flex items-center justify-center',\n className,\n )}\n >\n <div className=\"animate-pulse text-text-secondary\">Loading chart...</div>\n </div>\n )\n }\n\n return (\n <div data-slot=\"root\" className={cn('chart_root', chartContainerVariants({ size }), className)}>\n <ResponsiveContainer\n width=\"100%\"\n height=\"100%\"\n >\n <RechartsBarChart data={data}>\n <CartesianChartElements\n xAxisKey={xAxisKey}\n showGrid={showGrid}\n showTooltip={showTooltip}\n showLegend={showLegend}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n />\n {series.map((seriesItem, index) =>\n renderSeriesItem(seriesItem, index, 'bar'),\n )}\n </RechartsBarChart>\n </ResponsiveContainer>\n </div>\n )\n },\n)\n\nBarChart.displayName = 'BarChart'\n\n// Area Chart Component\nexport const AreaChart = React.memo<AreaChartProps>(\n ({\n data,\n xAxisKey,\n series,\n size = 'md',\n className,\n loading = false,\n showGrid = true,\n showLegend = true,\n showTooltip = true,\n xAxisLabel,\n yAxisLabel,\n }) => {\n if (loading) {\n return (\n <div\n className={cn(\n chartContainerVariants({ size }),\n 'flex items-center justify-center',\n className,\n )}\n >\n <div className=\"animate-pulse text-text-secondary\">Loading chart...</div>\n </div>\n )\n }\n\n return (\n <div data-slot=\"root\" className={cn('chart_root', chartContainerVariants({ size }), className)}>\n <ResponsiveContainer\n width=\"100%\"\n height=\"100%\"\n >\n <RechartsAreaChart data={data}>\n <CartesianChartElements\n xAxisKey={xAxisKey}\n showGrid={showGrid}\n showTooltip={showTooltip}\n showLegend={showLegend}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n />\n {series.map((seriesItem, index) =>\n renderSeriesItem(seriesItem, index, 'area'),\n )}\n </RechartsAreaChart>\n </ResponsiveContainer>\n </div>\n )\n },\n)\n\nAreaChart.displayName = 'AreaChart'\n\n// Composed Chart Component (supports mixing line, bar, area)\nexport const ComposedChart = React.memo<ComposedChartProps>(\n ({\n data,\n xAxisKey,\n series,\n size = 'md',\n className,\n loading = false,\n showGrid = true,\n showLegend = true,\n showTooltip = true,\n xAxisLabel,\n yAxisLabel,\n }) => {\n if (loading) {\n return (\n <div\n className={cn(\n chartContainerVariants({ size }),\n 'flex items-center justify-center',\n className,\n )}\n >\n <div className=\"animate-pulse text-text-secondary\">Loading chart...</div>\n </div>\n )\n }\n\n return (\n <div data-slot=\"root\" className={cn('chart_root', chartContainerVariants({ size }), className)}>\n <ResponsiveContainer\n width=\"100%\"\n height=\"100%\"\n >\n <RechartsComposedChart data={data}>\n <CartesianChartElements\n xAxisKey={xAxisKey}\n showGrid={showGrid}\n showTooltip={showTooltip}\n showLegend={showLegend}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n />\n {series.map((seriesItem, index) =>\n renderSeriesItem(seriesItem, index, 'line'),\n )}\n </RechartsComposedChart>\n </ResponsiveContainer>\n </div>\n )\n },\n)\n\nComposedChart.displayName = 'ComposedChart'\n\n// Pie Chart Component\nexport const PieChart = React.memo<PieChartProps>(\n ({\n data,\n dataKey,\n nameKey,\n size = 'md',\n className,\n loading = false,\n showLegend = true,\n showTooltip = true,\n innerRadius = 0,\n }) => {\n if (loading) {\n return (\n <div\n className={cn(\n chartContainerVariants({ size }),\n 'flex items-center justify-center',\n className,\n )}\n >\n <div className=\"animate-pulse text-text-secondary\">Loading chart...</div>\n </div>\n )\n }\n\n return (\n <div data-slot=\"root\" className={cn('chart_root', chartContainerVariants({ size }), className)}>\n <ResponsiveContainer\n width=\"100%\"\n height=\"100%\"\n >\n <RechartsPieChart>\n {showTooltip && <Tooltip contentStyle={tooltipStyle} />}\n {showLegend && (\n <Legend\n wrapperStyle={legendStyle}\n iconType=\"circle\"\n iconSize={8}\n />\n )}\n <Pie\n data={data}\n dataKey={dataKey}\n nameKey={nameKey}\n cx=\"50%\"\n cy=\"50%\"\n innerRadius={innerRadius}\n outerRadius={80}\n label={{ ...axisTickStyle, fill: 'var(--color-text-primary)' }}\n paddingAngle={2}\n >\n {data.map((_, index) => (\n <Cell\n key={`cell-${index}`}\n fill={getChartColor(index)}\n stroke=\"var(--color-card)\"\n strokeWidth={2}\n />\n ))}\n </Pie>\n </RechartsPieChart>\n </ResponsiveContainer>\n </div>\n )\n },\n)\n\nPieChart.displayName = 'PieChart'\n\nexport type * from './types'\nexport {\n chartContainerVariants,\n getChartColor,\n tooltipStyle,\n legendStyle,\n axisTickStyle,\n axisLineStyle,\n gridStyle,\n cursorStyle,\n} from './utils'\n"]}
|