@mdigital_ui/ui 0.1.0
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/README.md +296 -0
- package/dist/accordion/index.js +5 -0
- package/dist/accordion/index.js.map +1 -0
- package/dist/badge/index.js +5 -0
- package/dist/badge/index.js.map +1 -0
- package/dist/button/index.js +6 -0
- package/dist/button/index.js.map +1 -0
- package/dist/card/index.js +4 -0
- package/dist/card/index.js.map +1 -0
- package/dist/carousel/index.js +3 -0
- package/dist/carousel/index.js.map +1 -0
- package/dist/cascader/index.js +4 -0
- package/dist/cascader/index.js.map +1 -0
- package/dist/chart/index.js +4 -0
- package/dist/chart/index.js.map +1 -0
- package/dist/checkbox/index.js +5 -0
- package/dist/checkbox/index.js.map +1 -0
- package/dist/checkbox-group/index.js +4 -0
- package/dist/checkbox-group/index.js.map +1 -0
- package/dist/chunk-2JGAYDZR.js +181 -0
- package/dist/chunk-2JGAYDZR.js.map +1 -0
- package/dist/chunk-3PFA3YG6.js +228 -0
- package/dist/chunk-3PFA3YG6.js.map +1 -0
- package/dist/chunk-4OMLQCUV.js +96 -0
- package/dist/chunk-4OMLQCUV.js.map +1 -0
- package/dist/chunk-4P5EMRFI.js +298 -0
- package/dist/chunk-4P5EMRFI.js.map +1 -0
- package/dist/chunk-5UEWVFF6.js +212 -0
- package/dist/chunk-5UEWVFF6.js.map +1 -0
- package/dist/chunk-5VCGW53O.js +332 -0
- package/dist/chunk-5VCGW53O.js.map +1 -0
- package/dist/chunk-75XESYGN.js +49 -0
- package/dist/chunk-75XESYGN.js.map +1 -0
- package/dist/chunk-7AEGBABZ.js +1102 -0
- package/dist/chunk-7AEGBABZ.js.map +1 -0
- package/dist/chunk-AOITJRSV.js +134 -0
- package/dist/chunk-AOITJRSV.js.map +1 -0
- package/dist/chunk-AWPKZYHT.js +152 -0
- package/dist/chunk-AWPKZYHT.js.map +1 -0
- package/dist/chunk-BNILRB4T.js +37 -0
- package/dist/chunk-BNILRB4T.js.map +1 -0
- package/dist/chunk-BP434VYV.js +448 -0
- package/dist/chunk-BP434VYV.js.map +1 -0
- package/dist/chunk-C7SXY3ZV.js +65 -0
- package/dist/chunk-C7SXY3ZV.js.map +1 -0
- package/dist/chunk-CLLQDCDR.js +560 -0
- package/dist/chunk-CLLQDCDR.js.map +1 -0
- package/dist/chunk-CWHFK7ZC.js +128 -0
- package/dist/chunk-CWHFK7ZC.js.map +1 -0
- package/dist/chunk-D3JWPGCA.js +123 -0
- package/dist/chunk-D3JWPGCA.js.map +1 -0
- package/dist/chunk-DOKTHDG3.js +55 -0
- package/dist/chunk-DOKTHDG3.js.map +1 -0
- package/dist/chunk-DPOSWW22.js +126 -0
- package/dist/chunk-DPOSWW22.js.map +1 -0
- package/dist/chunk-E2CYDDYC.js +39 -0
- package/dist/chunk-E2CYDDYC.js.map +1 -0
- package/dist/chunk-EYTOKUBM.js +401 -0
- package/dist/chunk-EYTOKUBM.js.map +1 -0
- package/dist/chunk-FGWSUPVW.js +356 -0
- package/dist/chunk-FGWSUPVW.js.map +1 -0
- package/dist/chunk-FPOXTCYV.js +166 -0
- package/dist/chunk-FPOXTCYV.js.map +1 -0
- package/dist/chunk-FTJOSVTY.js +104 -0
- package/dist/chunk-FTJOSVTY.js.map +1 -0
- package/dist/chunk-FYHQDFKE.js +164 -0
- package/dist/chunk-FYHQDFKE.js.map +1 -0
- package/dist/chunk-H2HIBD5Y.js +158 -0
- package/dist/chunk-H2HIBD5Y.js.map +1 -0
- package/dist/chunk-J3G5WWGR.js +53 -0
- package/dist/chunk-J3G5WWGR.js.map +1 -0
- package/dist/chunk-JZCHZ4B3.js +487 -0
- package/dist/chunk-JZCHZ4B3.js.map +1 -0
- package/dist/chunk-KBCBVH7B.js +51 -0
- package/dist/chunk-KBCBVH7B.js.map +1 -0
- package/dist/chunk-KNQ7UQ2W.js +143 -0
- package/dist/chunk-KNQ7UQ2W.js.map +1 -0
- package/dist/chunk-KTBPIEP2.js +102 -0
- package/dist/chunk-KTBPIEP2.js.map +1 -0
- package/dist/chunk-L3SP7GHC.js +1023 -0
- package/dist/chunk-L3SP7GHC.js.map +1 -0
- package/dist/chunk-LBJG2UWT.js +100 -0
- package/dist/chunk-LBJG2UWT.js.map +1 -0
- package/dist/chunk-MLDX3Z67.js +470 -0
- package/dist/chunk-MLDX3Z67.js.map +1 -0
- package/dist/chunk-NNSS366W.js +331 -0
- package/dist/chunk-NNSS366W.js.map +1 -0
- package/dist/chunk-OQANRZPV.js +197 -0
- package/dist/chunk-OQANRZPV.js.map +1 -0
- package/dist/chunk-OW5A5IIF.js +175 -0
- package/dist/chunk-OW5A5IIF.js.map +1 -0
- package/dist/chunk-R225A5II.js +187 -0
- package/dist/chunk-R225A5II.js.map +1 -0
- package/dist/chunk-ROR4E6IE.js +119 -0
- package/dist/chunk-ROR4E6IE.js.map +1 -0
- package/dist/chunk-RPAQAZTI.js +54 -0
- package/dist/chunk-RPAQAZTI.js.map +1 -0
- package/dist/chunk-RQBXZKTH.js +452 -0
- package/dist/chunk-RQBXZKTH.js.map +1 -0
- package/dist/chunk-S5XJXU52.js +178 -0
- package/dist/chunk-S5XJXU52.js.map +1 -0
- package/dist/chunk-SAVE5ACL.js +324 -0
- package/dist/chunk-SAVE5ACL.js.map +1 -0
- package/dist/chunk-SERJ3TZE.js +640 -0
- package/dist/chunk-SERJ3TZE.js.map +1 -0
- package/dist/chunk-SK5ECBBK.js +175 -0
- package/dist/chunk-SK5ECBBK.js.map +1 -0
- package/dist/chunk-SOV4PE3P.js +218 -0
- package/dist/chunk-SOV4PE3P.js.map +1 -0
- package/dist/chunk-W7BQYIXF.js +687 -0
- package/dist/chunk-W7BQYIXF.js.map +1 -0
- package/dist/chunk-XMAH5PDW.js +59 -0
- package/dist/chunk-XMAH5PDW.js.map +1 -0
- package/dist/chunk-XOBGEMQY.js +94 -0
- package/dist/chunk-XOBGEMQY.js.map +1 -0
- package/dist/chunk-YNNAOXU5.js +57 -0
- package/dist/chunk-YNNAOXU5.js.map +1 -0
- package/dist/chunk-YZVSDRJD.js +253 -0
- package/dist/chunk-YZVSDRJD.js.map +1 -0
- package/dist/collapse/index.js +4 -0
- package/dist/collapse/index.js.map +1 -0
- package/dist/command/index.js +5 -0
- package/dist/command/index.js.map +1 -0
- package/dist/date-picker/index.js +5 -0
- package/dist/date-picker/index.js.map +1 -0
- package/dist/descriptions/index.js +4 -0
- package/dist/descriptions/index.js.map +1 -0
- package/dist/drawer/index.js +4 -0
- package/dist/drawer/index.js.map +1 -0
- package/dist/dropdown/index.js +5 -0
- package/dist/dropdown/index.js.map +1 -0
- package/dist/empty/index.js +4 -0
- package/dist/empty/index.js.map +1 -0
- package/dist/fetching-overlay/index.js +5 -0
- package/dist/fetching-overlay/index.js.map +1 -0
- package/dist/image/index.js +4 -0
- package/dist/image/index.js.map +1 -0
- package/dist/index.d.ts +2672 -0
- package/dist/index.js +976 -0
- package/dist/index.js.map +1 -0
- package/dist/input/index.js +5 -0
- package/dist/input/index.js.map +1 -0
- package/dist/input-group/index.js +4 -0
- package/dist/input-group/index.js.map +1 -0
- package/dist/input-otp/index.js +4 -0
- package/dist/input-otp/index.js.map +1 -0
- package/dist/input-password/index.js +6 -0
- package/dist/input-password/index.js.map +1 -0
- package/dist/kbd/index.js +4 -0
- package/dist/kbd/index.js.map +1 -0
- package/dist/modal/index.js +4 -0
- package/dist/modal/index.js.map +1 -0
- package/dist/multi-select/index.js +5 -0
- package/dist/multi-select/index.js.map +1 -0
- package/dist/notification/index.js +4 -0
- package/dist/notification/index.js.map +1 -0
- package/dist/pagination/index.js +4 -0
- package/dist/pagination/index.js.map +1 -0
- package/dist/popover/index.js +4 -0
- package/dist/popover/index.js.map +1 -0
- package/dist/progress/index.js +4 -0
- package/dist/progress/index.js.map +1 -0
- package/dist/radio/index.js +4 -0
- package/dist/radio/index.js.map +1 -0
- package/dist/radio-group/index.js +4 -0
- package/dist/radio-group/index.js.map +1 -0
- package/dist/rating/index.js +4 -0
- package/dist/rating/index.js.map +1 -0
- package/dist/ribbon/index.js +4 -0
- package/dist/ribbon/index.js.map +1 -0
- package/dist/select/index.js +6 -0
- package/dist/select/index.js.map +1 -0
- package/dist/skeleton/index.js +4 -0
- package/dist/skeleton/index.js.map +1 -0
- package/dist/slider/index.js +4 -0
- package/dist/slider/index.js.map +1 -0
- package/dist/spinner/index.js +4 -0
- package/dist/spinner/index.js.map +1 -0
- package/dist/stepper/index.js +4 -0
- package/dist/stepper/index.js.map +1 -0
- package/dist/styles/base.css +161 -0
- package/dist/styles/global.css +633 -0
- package/dist/styles/themes/dark.css +84 -0
- package/dist/styles/themes/light.css +84 -0
- package/dist/switch/index.js +4 -0
- package/dist/switch/index.js.map +1 -0
- package/dist/table/index.js +12 -0
- package/dist/table/index.js.map +1 -0
- package/dist/tabs/index.js +5 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/textarea/index.js +4 -0
- package/dist/textarea/index.js.map +1 -0
- package/dist/toggle/index.js +4 -0
- package/dist/toggle/index.js.map +1 -0
- package/dist/toggle-group/index.js +4 -0
- package/dist/toggle-group/index.js.map +1 -0
- package/dist/tooltip/index.js +4 -0
- package/dist/tooltip/index.js.map +1 -0
- package/dist/transfer/index.js +6 -0
- package/dist/transfer/index.js.map +1 -0
- package/dist/tree/index.js +4 -0
- package/dist/tree/index.js.map +1 -0
- package/dist/tree-select/index.js +6 -0
- package/dist/tree-select/index.js.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
import { cn } from './chunk-YNNAOXU5.js';
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var circleSizes = {
|
|
7
|
+
xs: { size: 60, strokeWidth: 4 },
|
|
8
|
+
sm: { size: 80, strokeWidth: 6 },
|
|
9
|
+
md: { size: 120, strokeWidth: 8 },
|
|
10
|
+
lg: { size: 160, strokeWidth: 10 }
|
|
11
|
+
};
|
|
12
|
+
var progressContainerVariants = cva("w-full rounded-full overflow-hidden", {
|
|
13
|
+
variants: {
|
|
14
|
+
size: {
|
|
15
|
+
xs: "h-1",
|
|
16
|
+
sm: "h-2",
|
|
17
|
+
md: "h-3",
|
|
18
|
+
lg: "h-4"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
defaultVariants: {
|
|
22
|
+
size: "md"
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
var progressBarVariants = cva(
|
|
26
|
+
"h-full transition-all duration-300 ease-in-out rounded-full",
|
|
27
|
+
{
|
|
28
|
+
variants: {
|
|
29
|
+
size: {
|
|
30
|
+
xs: "",
|
|
31
|
+
sm: "",
|
|
32
|
+
md: "",
|
|
33
|
+
lg: ""
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
defaultVariants: {
|
|
37
|
+
size: "md"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
var backgroundColorStyles = {
|
|
42
|
+
default: {
|
|
43
|
+
default: "bg-surface",
|
|
44
|
+
solid: "bg-surface",
|
|
45
|
+
soft: "bg-surface/50"
|
|
46
|
+
},
|
|
47
|
+
primary: {
|
|
48
|
+
default: "bg-primary/10",
|
|
49
|
+
solid: "bg-primary/20",
|
|
50
|
+
soft: "bg-primary/10"
|
|
51
|
+
},
|
|
52
|
+
secondary: {
|
|
53
|
+
default: "bg-secondary/10",
|
|
54
|
+
solid: "bg-secondary/20",
|
|
55
|
+
soft: "bg-secondary/10"
|
|
56
|
+
},
|
|
57
|
+
accent: {
|
|
58
|
+
default: "bg-accent/10",
|
|
59
|
+
solid: "bg-accent/20",
|
|
60
|
+
soft: "bg-accent/10"
|
|
61
|
+
},
|
|
62
|
+
success: {
|
|
63
|
+
default: "bg-success/10",
|
|
64
|
+
solid: "bg-success/20",
|
|
65
|
+
soft: "bg-success/10"
|
|
66
|
+
},
|
|
67
|
+
error: {
|
|
68
|
+
default: "bg-error/10",
|
|
69
|
+
solid: "bg-error/20",
|
|
70
|
+
soft: "bg-error/10"
|
|
71
|
+
},
|
|
72
|
+
warning: {
|
|
73
|
+
default: "bg-warning/10",
|
|
74
|
+
solid: "bg-warning/20",
|
|
75
|
+
soft: "bg-warning/10"
|
|
76
|
+
},
|
|
77
|
+
info: {
|
|
78
|
+
default: "bg-info/10",
|
|
79
|
+
solid: "bg-info/20",
|
|
80
|
+
soft: "bg-info/10"
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
var barColorStyles = {
|
|
84
|
+
default: {
|
|
85
|
+
default: "bg-surface border border-border",
|
|
86
|
+
solid: "bg-surface",
|
|
87
|
+
soft: "bg-surface/80"
|
|
88
|
+
},
|
|
89
|
+
primary: {
|
|
90
|
+
default: "bg-primary/20 border border-primary",
|
|
91
|
+
solid: "bg-primary",
|
|
92
|
+
soft: "bg-primary/60"
|
|
93
|
+
},
|
|
94
|
+
secondary: {
|
|
95
|
+
default: "bg-secondary/20 border border-secondary",
|
|
96
|
+
solid: "bg-secondary",
|
|
97
|
+
soft: "bg-secondary/60"
|
|
98
|
+
},
|
|
99
|
+
accent: {
|
|
100
|
+
default: "bg-accent/20 border border-accent",
|
|
101
|
+
solid: "bg-accent",
|
|
102
|
+
soft: "bg-accent/60"
|
|
103
|
+
},
|
|
104
|
+
success: {
|
|
105
|
+
default: "bg-success/20 border border-success",
|
|
106
|
+
solid: "bg-success",
|
|
107
|
+
soft: "bg-success/60"
|
|
108
|
+
},
|
|
109
|
+
error: {
|
|
110
|
+
default: "bg-error/20 border border-error",
|
|
111
|
+
solid: "bg-error",
|
|
112
|
+
soft: "bg-error/60"
|
|
113
|
+
},
|
|
114
|
+
warning: {
|
|
115
|
+
default: "bg-warning/20 border border-warning",
|
|
116
|
+
solid: "bg-warning",
|
|
117
|
+
soft: "bg-warning/60"
|
|
118
|
+
},
|
|
119
|
+
info: {
|
|
120
|
+
default: "bg-info/20 border border-info",
|
|
121
|
+
solid: "bg-info",
|
|
122
|
+
soft: "bg-info/60"
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
var circleStrokeColors = {
|
|
126
|
+
default: {
|
|
127
|
+
default: "stroke-surface",
|
|
128
|
+
solid: "stroke-surface",
|
|
129
|
+
soft: "stroke-surface/80"
|
|
130
|
+
},
|
|
131
|
+
primary: {
|
|
132
|
+
default: "stroke-primary",
|
|
133
|
+
solid: "stroke-primary",
|
|
134
|
+
soft: "stroke-primary/60"
|
|
135
|
+
},
|
|
136
|
+
secondary: {
|
|
137
|
+
default: "stroke-secondary",
|
|
138
|
+
solid: "stroke-secondary",
|
|
139
|
+
soft: "stroke-secondary/60"
|
|
140
|
+
},
|
|
141
|
+
accent: {
|
|
142
|
+
default: "stroke-accent",
|
|
143
|
+
solid: "stroke-accent",
|
|
144
|
+
soft: "stroke-accent/60"
|
|
145
|
+
},
|
|
146
|
+
success: {
|
|
147
|
+
default: "stroke-success",
|
|
148
|
+
solid: "stroke-success",
|
|
149
|
+
soft: "stroke-success/60"
|
|
150
|
+
},
|
|
151
|
+
error: {
|
|
152
|
+
default: "stroke-error",
|
|
153
|
+
solid: "stroke-error",
|
|
154
|
+
soft: "stroke-error/60"
|
|
155
|
+
},
|
|
156
|
+
warning: {
|
|
157
|
+
default: "stroke-warning",
|
|
158
|
+
solid: "stroke-warning",
|
|
159
|
+
soft: "stroke-warning/60"
|
|
160
|
+
},
|
|
161
|
+
info: {
|
|
162
|
+
default: "stroke-info",
|
|
163
|
+
solid: "stroke-info",
|
|
164
|
+
soft: "stroke-info/60"
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
var circleTrailColors = {
|
|
168
|
+
default: {
|
|
169
|
+
default: "stroke-surface",
|
|
170
|
+
solid: "stroke-surface",
|
|
171
|
+
soft: "stroke-surface/50"
|
|
172
|
+
},
|
|
173
|
+
primary: {
|
|
174
|
+
default: "stroke-primary/10",
|
|
175
|
+
solid: "stroke-primary/20",
|
|
176
|
+
soft: "stroke-primary/10"
|
|
177
|
+
},
|
|
178
|
+
secondary: {
|
|
179
|
+
default: "stroke-secondary/10",
|
|
180
|
+
solid: "stroke-secondary/20",
|
|
181
|
+
soft: "stroke-secondary/10"
|
|
182
|
+
},
|
|
183
|
+
accent: {
|
|
184
|
+
default: "stroke-accent/10",
|
|
185
|
+
solid: "stroke-accent/20",
|
|
186
|
+
soft: "stroke-accent/10"
|
|
187
|
+
},
|
|
188
|
+
success: {
|
|
189
|
+
default: "stroke-success/10",
|
|
190
|
+
solid: "stroke-success/20",
|
|
191
|
+
soft: "stroke-success/10"
|
|
192
|
+
},
|
|
193
|
+
error: {
|
|
194
|
+
default: "stroke-error/10",
|
|
195
|
+
solid: "stroke-error/20",
|
|
196
|
+
soft: "stroke-error/10"
|
|
197
|
+
},
|
|
198
|
+
warning: {
|
|
199
|
+
default: "stroke-warning/10",
|
|
200
|
+
solid: "stroke-warning/20",
|
|
201
|
+
soft: "stroke-warning/10"
|
|
202
|
+
},
|
|
203
|
+
info: {
|
|
204
|
+
default: "stroke-info/10",
|
|
205
|
+
solid: "stroke-info/20",
|
|
206
|
+
soft: "stroke-info/10"
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
var Progress = React.memo(
|
|
210
|
+
({
|
|
211
|
+
value,
|
|
212
|
+
color = "primary",
|
|
213
|
+
size = "md",
|
|
214
|
+
variant = "default",
|
|
215
|
+
type = "line",
|
|
216
|
+
orientation = "horizontal",
|
|
217
|
+
showProgress = false,
|
|
218
|
+
label,
|
|
219
|
+
striped = false,
|
|
220
|
+
animated = false,
|
|
221
|
+
className,
|
|
222
|
+
totalSteps = 5
|
|
223
|
+
}) => {
|
|
224
|
+
const clampedValue = Math.min(Math.max(value, 0), 100);
|
|
225
|
+
if (type === "circle") {
|
|
226
|
+
const { size: circleSize, strokeWidth } = circleSizes[size];
|
|
227
|
+
const radius = (circleSize - strokeWidth) / 2;
|
|
228
|
+
const circumference = 2 * Math.PI * radius;
|
|
229
|
+
const offset = circumference - clampedValue / 100 * circumference;
|
|
230
|
+
return /* @__PURE__ */ jsx("div", { className: cn("inline-flex flex-col items-center", className), children: /* @__PURE__ */ jsxs(
|
|
231
|
+
"div",
|
|
232
|
+
{
|
|
233
|
+
className: "relative",
|
|
234
|
+
style: { width: circleSize, height: circleSize },
|
|
235
|
+
children: [
|
|
236
|
+
/* @__PURE__ */ jsxs(
|
|
237
|
+
"svg",
|
|
238
|
+
{
|
|
239
|
+
width: circleSize,
|
|
240
|
+
height: circleSize,
|
|
241
|
+
className: "transform -rotate-90",
|
|
242
|
+
children: [
|
|
243
|
+
/* @__PURE__ */ jsx(
|
|
244
|
+
"circle",
|
|
245
|
+
{
|
|
246
|
+
cx: circleSize / 2,
|
|
247
|
+
cy: circleSize / 2,
|
|
248
|
+
r: radius,
|
|
249
|
+
fill: "none",
|
|
250
|
+
strokeWidth,
|
|
251
|
+
className: circleTrailColors[color][variant]
|
|
252
|
+
}
|
|
253
|
+
),
|
|
254
|
+
/* @__PURE__ */ jsx(
|
|
255
|
+
"circle",
|
|
256
|
+
{
|
|
257
|
+
cx: circleSize / 2,
|
|
258
|
+
cy: circleSize / 2,
|
|
259
|
+
r: radius,
|
|
260
|
+
fill: "none",
|
|
261
|
+
strokeWidth,
|
|
262
|
+
strokeDasharray: circumference,
|
|
263
|
+
strokeDashoffset: offset,
|
|
264
|
+
strokeLinecap: "round",
|
|
265
|
+
className: cn(
|
|
266
|
+
circleStrokeColors[color][variant],
|
|
267
|
+
"transition-all duration-300 ease-in-out"
|
|
268
|
+
)
|
|
269
|
+
}
|
|
270
|
+
)
|
|
271
|
+
]
|
|
272
|
+
}
|
|
273
|
+
),
|
|
274
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex flex-col items-center justify-center", children: label ? /* @__PURE__ */ jsx("div", { className: "p-2 text-text-muted", children: label }) : /* @__PURE__ */ jsxs(
|
|
275
|
+
"span",
|
|
276
|
+
{
|
|
277
|
+
className: "text-text-primary font-semibold",
|
|
278
|
+
style: { fontSize: circleSize / 7 },
|
|
279
|
+
children: [
|
|
280
|
+
clampedValue,
|
|
281
|
+
"%"
|
|
282
|
+
]
|
|
283
|
+
}
|
|
284
|
+
) })
|
|
285
|
+
]
|
|
286
|
+
}
|
|
287
|
+
) });
|
|
288
|
+
}
|
|
289
|
+
if (type === "step") {
|
|
290
|
+
const currentStep = Math.ceil(clampedValue / 100 * totalSteps);
|
|
291
|
+
if (orientation === "vertical") {
|
|
292
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("h-full flex flex-col", className), children: [
|
|
293
|
+
label && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2 text-sm text-text-primary", children: [
|
|
294
|
+
/* @__PURE__ */ jsx("span", { children: label || "" }),
|
|
295
|
+
showProgress && /* @__PURE__ */ jsxs("span", { className: "font-medium", children: [
|
|
296
|
+
clampedValue,
|
|
297
|
+
"%"
|
|
298
|
+
] })
|
|
299
|
+
] }),
|
|
300
|
+
/* @__PURE__ */ jsx(
|
|
301
|
+
"div",
|
|
302
|
+
{
|
|
303
|
+
className: cn(
|
|
304
|
+
"flex-1 rounded-full overflow-hidden flex flex-col-reverse gap-1",
|
|
305
|
+
size === "xs" ? "w-1" : size === "sm" ? "w-2" : size === "md" ? "w-3" : "w-4"
|
|
306
|
+
),
|
|
307
|
+
children: Array.from({ length: totalSteps }, (_, index) => {
|
|
308
|
+
const stepNumber = index + 1;
|
|
309
|
+
const isCompleted = stepNumber <= currentStep;
|
|
310
|
+
return /* @__PURE__ */ jsx(
|
|
311
|
+
"div",
|
|
312
|
+
{
|
|
313
|
+
className: cn(
|
|
314
|
+
"w-full rounded-full transition-all flex-1",
|
|
315
|
+
isCompleted ? barColorStyles[color][variant] : backgroundColorStyles[color][variant],
|
|
316
|
+
animated && striped && "progress-shimmer"
|
|
317
|
+
),
|
|
318
|
+
style: {
|
|
319
|
+
...striped && isCompleted && {
|
|
320
|
+
backgroundImage: "linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)",
|
|
321
|
+
backgroundSize: "1rem 1rem"
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
index
|
|
326
|
+
);
|
|
327
|
+
})
|
|
328
|
+
}
|
|
329
|
+
)
|
|
330
|
+
] });
|
|
331
|
+
}
|
|
332
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("w-full", className), children: [
|
|
333
|
+
label && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2 text-sm text-text-primary", children: [
|
|
334
|
+
/* @__PURE__ */ jsx("span", { children: label || "" }),
|
|
335
|
+
showProgress && /* @__PURE__ */ jsxs("span", { className: "font-medium", children: [
|
|
336
|
+
clampedValue,
|
|
337
|
+
"%"
|
|
338
|
+
] })
|
|
339
|
+
] }),
|
|
340
|
+
/* @__PURE__ */ jsx(
|
|
341
|
+
"div",
|
|
342
|
+
{
|
|
343
|
+
className: cn(
|
|
344
|
+
"w-full rounded-full overflow-hidden flex gap-1",
|
|
345
|
+
progressContainerVariants({ size })
|
|
346
|
+
),
|
|
347
|
+
children: Array.from({ length: totalSteps }, (_, index) => {
|
|
348
|
+
const stepNumber = index + 1;
|
|
349
|
+
const isCompleted = stepNumber <= currentStep;
|
|
350
|
+
return /* @__PURE__ */ jsx(
|
|
351
|
+
"div",
|
|
352
|
+
{
|
|
353
|
+
className: cn(
|
|
354
|
+
"h-full rounded-full transition-all flex-1",
|
|
355
|
+
isCompleted ? barColorStyles[color][variant] : backgroundColorStyles[color][variant],
|
|
356
|
+
animated && striped && "progress-shimmer"
|
|
357
|
+
),
|
|
358
|
+
style: {
|
|
359
|
+
...striped && isCompleted && {
|
|
360
|
+
backgroundImage: "linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)",
|
|
361
|
+
backgroundSize: "1rem 1rem"
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
index
|
|
366
|
+
);
|
|
367
|
+
})
|
|
368
|
+
}
|
|
369
|
+
)
|
|
370
|
+
] });
|
|
371
|
+
}
|
|
372
|
+
if (orientation === "vertical") {
|
|
373
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("h-full flex flex-col", className), children: [
|
|
374
|
+
label && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2 text-sm text-text-primary", children: [
|
|
375
|
+
/* @__PURE__ */ jsx("span", { children: label || "" }),
|
|
376
|
+
showProgress && /* @__PURE__ */ jsxs("span", { className: "font-medium", children: [
|
|
377
|
+
clampedValue,
|
|
378
|
+
"%"
|
|
379
|
+
] })
|
|
380
|
+
] }),
|
|
381
|
+
/* @__PURE__ */ jsx(
|
|
382
|
+
"div",
|
|
383
|
+
{
|
|
384
|
+
className: cn(
|
|
385
|
+
"flex-1 rounded-full overflow-hidden flex flex-col justify-end",
|
|
386
|
+
size === "xs" ? "w-1" : size === "sm" ? "w-2" : size === "md" ? "w-3" : "w-4",
|
|
387
|
+
backgroundColorStyles[color][variant]
|
|
388
|
+
),
|
|
389
|
+
children: /* @__PURE__ */ jsx(
|
|
390
|
+
"div",
|
|
391
|
+
{
|
|
392
|
+
className: cn(
|
|
393
|
+
"w-full transition-all duration-300 ease-in-out rounded-full",
|
|
394
|
+
barColorStyles[color][variant],
|
|
395
|
+
animated && striped && "progress-shimmer"
|
|
396
|
+
),
|
|
397
|
+
style: {
|
|
398
|
+
height: `${clampedValue}%`,
|
|
399
|
+
...striped && {
|
|
400
|
+
backgroundImage: "linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)",
|
|
401
|
+
backgroundSize: "1rem 1rem"
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
)
|
|
406
|
+
}
|
|
407
|
+
)
|
|
408
|
+
] });
|
|
409
|
+
}
|
|
410
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("w-full", className), children: [
|
|
411
|
+
label && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2 text-sm text-text-primary", children: [
|
|
412
|
+
/* @__PURE__ */ jsx("span", { children: label || "" }),
|
|
413
|
+
showProgress && /* @__PURE__ */ jsxs("span", { className: "font-medium", children: [
|
|
414
|
+
clampedValue,
|
|
415
|
+
"%"
|
|
416
|
+
] })
|
|
417
|
+
] }),
|
|
418
|
+
/* @__PURE__ */ jsx(
|
|
419
|
+
"div",
|
|
420
|
+
{
|
|
421
|
+
className: cn(
|
|
422
|
+
progressContainerVariants({ size }),
|
|
423
|
+
backgroundColorStyles[color][variant]
|
|
424
|
+
),
|
|
425
|
+
children: /* @__PURE__ */ jsx(
|
|
426
|
+
"div",
|
|
427
|
+
{
|
|
428
|
+
className: cn(
|
|
429
|
+
progressBarVariants({ size }),
|
|
430
|
+
barColorStyles[color][variant],
|
|
431
|
+
animated && striped && "progress-shimmer"
|
|
432
|
+
),
|
|
433
|
+
style: {
|
|
434
|
+
width: `${clampedValue}%`,
|
|
435
|
+
...striped && {
|
|
436
|
+
backgroundImage: "linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)",
|
|
437
|
+
backgroundSize: "1rem 1rem"
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
)
|
|
442
|
+
}
|
|
443
|
+
)
|
|
444
|
+
] });
|
|
445
|
+
}
|
|
446
|
+
);
|
|
447
|
+
Progress.displayName = "Progress";
|
|
448
|
+
var progress_default = Progress;
|
|
449
|
+
|
|
450
|
+
export { progress_default };
|
|
451
|
+
//# sourceMappingURL=chunk-RQBXZKTH.js.map
|
|
452
|
+
//# sourceMappingURL=chunk-RQBXZKTH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/progress/index.tsx"],"names":[],"mappings":"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","file":"chunk-RQBXZKTH.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport type { ProgressProps } from './types'\n\nconst circleSizes = {\n xs: { size: 60, strokeWidth: 4 },\n sm: { size: 80, strokeWidth: 6 },\n md: { size: 120, strokeWidth: 8 },\n lg: { size: 160, strokeWidth: 10 },\n}\n\nconst progressContainerVariants = cva('w-full rounded-full overflow-hidden', {\n variants: {\n size: {\n xs: 'h-1',\n sm: 'h-2',\n md: 'h-3',\n lg: 'h-4',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst progressBarVariants = cva(\n 'h-full transition-all duration-300 ease-in-out rounded-full',\n {\n variants: {\n size: {\n xs: '',\n sm: '',\n md: '',\n lg: '',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst backgroundColorStyles = {\n default: {\n default: 'bg-surface',\n solid: 'bg-surface',\n soft: 'bg-surface/50',\n },\n primary: {\n default: 'bg-primary/10',\n solid: 'bg-primary/20',\n soft: 'bg-primary/10',\n },\n secondary: {\n default: 'bg-secondary/10',\n solid: 'bg-secondary/20',\n soft: 'bg-secondary/10',\n },\n accent: {\n default: 'bg-accent/10',\n solid: 'bg-accent/20',\n soft: 'bg-accent/10',\n },\n success: {\n default: 'bg-success/10',\n solid: 'bg-success/20',\n soft: 'bg-success/10',\n },\n error: {\n default: 'bg-error/10',\n solid: 'bg-error/20',\n soft: 'bg-error/10',\n },\n warning: {\n default: 'bg-warning/10',\n solid: 'bg-warning/20',\n soft: 'bg-warning/10',\n },\n info: {\n default: 'bg-info/10',\n solid: 'bg-info/20',\n soft: 'bg-info/10',\n },\n}\n\nconst barColorStyles = {\n default: {\n default: 'bg-surface border border-border',\n solid: 'bg-surface',\n soft: 'bg-surface/80',\n },\n primary: {\n default: 'bg-primary/20 border border-primary',\n solid: 'bg-primary',\n soft: 'bg-primary/60',\n },\n secondary: {\n default: 'bg-secondary/20 border border-secondary',\n solid: 'bg-secondary',\n soft: 'bg-secondary/60',\n },\n accent: {\n default: 'bg-accent/20 border border-accent',\n solid: 'bg-accent',\n soft: 'bg-accent/60',\n },\n success: {\n default: 'bg-success/20 border border-success',\n solid: 'bg-success',\n soft: 'bg-success/60',\n },\n error: {\n default: 'bg-error/20 border border-error',\n solid: 'bg-error',\n soft: 'bg-error/60',\n },\n warning: {\n default: 'bg-warning/20 border border-warning',\n solid: 'bg-warning',\n soft: 'bg-warning/60',\n },\n info: {\n default: 'bg-info/20 border border-info',\n solid: 'bg-info',\n soft: 'bg-info/60',\n },\n}\n\nconst circleStrokeColors = {\n default: {\n default: 'stroke-surface',\n solid: 'stroke-surface',\n soft: 'stroke-surface/80',\n },\n primary: {\n default: 'stroke-primary',\n solid: 'stroke-primary',\n soft: 'stroke-primary/60',\n },\n secondary: {\n default: 'stroke-secondary',\n solid: 'stroke-secondary',\n soft: 'stroke-secondary/60',\n },\n accent: {\n default: 'stroke-accent',\n solid: 'stroke-accent',\n soft: 'stroke-accent/60',\n },\n success: {\n default: 'stroke-success',\n solid: 'stroke-success',\n soft: 'stroke-success/60',\n },\n error: {\n default: 'stroke-error',\n solid: 'stroke-error',\n soft: 'stroke-error/60',\n },\n warning: {\n default: 'stroke-warning',\n solid: 'stroke-warning',\n soft: 'stroke-warning/60',\n },\n info: {\n default: 'stroke-info',\n solid: 'stroke-info',\n soft: 'stroke-info/60',\n },\n}\n\nconst circleTrailColors = {\n default: {\n default: 'stroke-surface',\n solid: 'stroke-surface',\n soft: 'stroke-surface/50',\n },\n primary: {\n default: 'stroke-primary/10',\n solid: 'stroke-primary/20',\n soft: 'stroke-primary/10',\n },\n secondary: {\n default: 'stroke-secondary/10',\n solid: 'stroke-secondary/20',\n soft: 'stroke-secondary/10',\n },\n accent: {\n default: 'stroke-accent/10',\n solid: 'stroke-accent/20',\n soft: 'stroke-accent/10',\n },\n success: {\n default: 'stroke-success/10',\n solid: 'stroke-success/20',\n soft: 'stroke-success/10',\n },\n error: {\n default: 'stroke-error/10',\n solid: 'stroke-error/20',\n soft: 'stroke-error/10',\n },\n warning: {\n default: 'stroke-warning/10',\n solid: 'stroke-warning/20',\n soft: 'stroke-warning/10',\n },\n info: {\n default: 'stroke-info/10',\n solid: 'stroke-info/20',\n soft: 'stroke-info/10',\n },\n}\n\nconst Progress = React.memo<ProgressProps>(\n ({\n value,\n color = 'primary',\n size = 'md',\n variant = 'default',\n type = 'line',\n orientation = 'horizontal',\n showProgress = false,\n label,\n striped = false,\n animated = false,\n className,\n totalSteps = 5,\n }) => {\n const clampedValue = Math.min(Math.max(value, 0), 100)\n\n if (type === 'circle') {\n const { size: circleSize, strokeWidth } = circleSizes[size]\n const radius = (circleSize - strokeWidth) / 2\n const circumference = 2 * Math.PI * radius\n const offset = circumference - (clampedValue / 100) * circumference\n\n return (\n <div className={cn('inline-flex flex-col items-center', className)}>\n <div\n className=\"relative\"\n style={{ width: circleSize, height: circleSize }}\n >\n <svg\n width={circleSize}\n height={circleSize}\n className=\"transform -rotate-90\"\n >\n {/* Background circle */}\n <circle\n cx={circleSize / 2}\n cy={circleSize / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n className={circleTrailColors[color][variant]}\n />\n <circle\n cx={circleSize / 2}\n cy={circleSize / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n strokeLinecap=\"round\"\n className={cn(\n circleStrokeColors[color][variant],\n 'transition-all duration-300 ease-in-out',\n )}\n />\n </svg>\n {/* Center text */}\n <div className=\"absolute inset-0 flex flex-col items-center justify-center\">\n {label ? (\n <div className=\"p-2 text-text-muted\">{label}</div>\n ) : (\n <span\n className=\"text-text-primary font-semibold\"\n style={{ fontSize: circleSize / 7 }}\n >\n {clampedValue}%\n </span>\n )}\n </div>\n </div>\n </div>\n )\n }\n\n if (type === 'step') {\n const currentStep = Math.ceil((clampedValue / 100) * totalSteps)\n\n if (orientation === 'vertical') {\n return (\n <div className={cn('h-full flex flex-col', className)}>\n {label && (\n <div className=\"flex items-center justify-between mb-2 text-sm text-text-primary\">\n <span>{label || ''}</span>\n {showProgress && (\n <span className=\"font-medium\">{clampedValue}%</span>\n )}\n </div>\n )}\n <div\n className={cn(\n 'flex-1 rounded-full overflow-hidden flex flex-col-reverse gap-1',\n size === 'xs'\n ? 'w-1'\n : size === 'sm'\n ? 'w-2'\n : size === 'md'\n ? 'w-3'\n : 'w-4',\n )}\n >\n {Array.from({ length: totalSteps }, (_, index) => {\n const stepNumber = index + 1\n const isCompleted = stepNumber <= currentStep\n\n return (\n <div\n key={index}\n className={cn(\n 'w-full rounded-full transition-all flex-1',\n isCompleted\n ? barColorStyles[color][variant]\n : backgroundColorStyles[color][variant],\n animated && striped && 'progress-shimmer',\n )}\n style={{\n ...(striped &&\n isCompleted && {\n backgroundImage:\n 'linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)',\n backgroundSize: '1rem 1rem',\n }),\n }}\n />\n )\n })}\n </div>\n </div>\n )\n }\n\n // Horizontal step progress\n return (\n <div className={cn('w-full', className)}>\n {label && (\n <div className=\"flex items-center justify-between mb-2 text-sm text-text-primary\">\n <span>{label || ''}</span>\n {showProgress && (\n <span className=\"font-medium\">{clampedValue}%</span>\n )}\n </div>\n )}\n <div\n className={cn(\n 'w-full rounded-full overflow-hidden flex gap-1',\n progressContainerVariants({ size }),\n )}\n >\n {Array.from({ length: totalSteps }, (_, index) => {\n const stepNumber = index + 1\n const isCompleted = stepNumber <= currentStep\n\n return (\n <div\n key={index}\n className={cn(\n 'h-full rounded-full transition-all flex-1',\n isCompleted\n ? barColorStyles[color][variant]\n : backgroundColorStyles[color][variant],\n animated && striped && 'progress-shimmer',\n )}\n style={{\n ...(striped &&\n isCompleted && {\n backgroundImage:\n 'linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)',\n backgroundSize: '1rem 1rem',\n }),\n }}\n />\n )\n })}\n </div>\n </div>\n )\n }\n\n // Line progress (horizontal or vertical)\n if (orientation === 'vertical') {\n return (\n <div className={cn('h-full flex flex-col', className)}>\n {label && (\n <div className=\"flex items-center justify-between mb-2 text-sm text-text-primary\">\n <span>{label || ''}</span>\n {showProgress && (\n <span className=\"font-medium\">{clampedValue}%</span>\n )}\n </div>\n )}\n <div\n className={cn(\n 'flex-1 rounded-full overflow-hidden flex flex-col justify-end',\n size === 'xs'\n ? 'w-1'\n : size === 'sm'\n ? 'w-2'\n : size === 'md'\n ? 'w-3'\n : 'w-4',\n backgroundColorStyles[color][variant],\n )}\n >\n <div\n className={cn(\n 'w-full transition-all duration-300 ease-in-out rounded-full',\n barColorStyles[color][variant],\n animated && striped && 'progress-shimmer',\n )}\n style={{\n height: `${clampedValue}%`,\n ...(striped && {\n backgroundImage:\n 'linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)',\n backgroundSize: '1rem 1rem',\n }),\n }}\n />\n </div>\n </div>\n )\n }\n\n return (\n <div className={cn('w-full', className)}>\n {label && (\n <div className=\"flex items-center justify-between mb-2 text-sm text-text-primary\">\n <span>{label || ''}</span>\n {showProgress && (\n <span className=\"font-medium\">{clampedValue}%</span>\n )}\n </div>\n )}\n <div\n className={cn(\n progressContainerVariants({ size }),\n backgroundColorStyles[color][variant],\n )}\n >\n <div\n className={cn(\n progressBarVariants({ size }),\n barColorStyles[color][variant],\n animated && striped && 'progress-shimmer',\n )}\n style={{\n width: `${clampedValue}%`,\n ...(striped && {\n backgroundImage:\n 'linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent)',\n backgroundSize: '1rem 1rem',\n }),\n }}\n />\n </div>\n </div>\n )\n },\n)\n\nProgress.displayName = 'Progress'\n\nexport type * from './types'\nexport default Progress\n"]}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { cn } from './chunk-YNNAOXU5.js';
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var tableVariants = cva("w-full border-separate border-spacing-0", {
|
|
7
|
+
variants: {
|
|
8
|
+
bordered: {
|
|
9
|
+
true: "border border-border",
|
|
10
|
+
false: ""
|
|
11
|
+
},
|
|
12
|
+
rounded: {
|
|
13
|
+
true: "rounded-lg",
|
|
14
|
+
false: ""
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
compoundVariants: [
|
|
18
|
+
{ bordered: true, rounded: true, class: "overflow-hidden" }
|
|
19
|
+
],
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
bordered: true,
|
|
22
|
+
rounded: true
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
var labelCellVariants = cva(
|
|
26
|
+
"font-semibold text-text-primary border-b border-r border-border",
|
|
27
|
+
{
|
|
28
|
+
variants: {
|
|
29
|
+
size: {
|
|
30
|
+
xs: "py-1 px-2 text-[10px]",
|
|
31
|
+
sm: "py-2 px-3 text-xs",
|
|
32
|
+
md: "py-3 px-4 text-sm",
|
|
33
|
+
lg: "py-4 px-5 text-base"
|
|
34
|
+
},
|
|
35
|
+
color: {
|
|
36
|
+
default: "bg-surface",
|
|
37
|
+
primary: "bg-primary/10",
|
|
38
|
+
secondary: "bg-secondary/10",
|
|
39
|
+
accent: "bg-accent/10",
|
|
40
|
+
success: "bg-success/10",
|
|
41
|
+
error: "bg-error/10",
|
|
42
|
+
warning: "bg-warning/10",
|
|
43
|
+
info: "bg-info/10"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
defaultVariants: {
|
|
47
|
+
size: "md",
|
|
48
|
+
color: "default"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
var valueCellVariants = cva(
|
|
53
|
+
"text-text-primary border-b border-r border-border bg-background",
|
|
54
|
+
{
|
|
55
|
+
variants: {
|
|
56
|
+
size: {
|
|
57
|
+
xs: "py-1 px-2 text-[10px]",
|
|
58
|
+
sm: "py-2 px-3 text-xs",
|
|
59
|
+
md: "py-3 px-4 text-sm",
|
|
60
|
+
lg: "py-4 px-5 text-base"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
defaultVariants: {
|
|
64
|
+
size: "md"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
var Descriptions = React.memo(
|
|
69
|
+
({
|
|
70
|
+
items,
|
|
71
|
+
column = 3,
|
|
72
|
+
color = "default",
|
|
73
|
+
size = "md",
|
|
74
|
+
layout = "horizontal",
|
|
75
|
+
bordered = true,
|
|
76
|
+
rounded = true,
|
|
77
|
+
className
|
|
78
|
+
}) => {
|
|
79
|
+
const rows = [];
|
|
80
|
+
let currentRow = [];
|
|
81
|
+
let currentSpan = 0;
|
|
82
|
+
items.forEach((item) => {
|
|
83
|
+
const itemSpan = item.span || 1;
|
|
84
|
+
if (currentSpan + itemSpan > column) {
|
|
85
|
+
rows.push(currentRow);
|
|
86
|
+
currentRow = [item];
|
|
87
|
+
currentSpan = itemSpan;
|
|
88
|
+
} else {
|
|
89
|
+
currentRow.push(item);
|
|
90
|
+
currentSpan += itemSpan;
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
if (currentRow.length > 0) {
|
|
94
|
+
rows.push(currentRow);
|
|
95
|
+
}
|
|
96
|
+
if (layout === "vertical") {
|
|
97
|
+
return /* @__PURE__ */ jsx("table", { className: cn(tableVariants({ bordered, rounded }), className), children: /* @__PURE__ */ jsx("tbody", { children: rows.map((row, rowIndex) => {
|
|
98
|
+
const isLastRow = rowIndex === rows.length - 1;
|
|
99
|
+
let colPosition = 0;
|
|
100
|
+
const itemsAtRightEdge = row.map((item) => {
|
|
101
|
+
const span = item.span || 1;
|
|
102
|
+
colPosition += span;
|
|
103
|
+
return colPosition >= column;
|
|
104
|
+
});
|
|
105
|
+
return /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
106
|
+
/* @__PURE__ */ jsx("tr", { children: row.map((item, itemIndex) => /* @__PURE__ */ jsx(
|
|
107
|
+
"th",
|
|
108
|
+
{
|
|
109
|
+
colSpan: item.span || 1,
|
|
110
|
+
className: cn(
|
|
111
|
+
labelCellVariants({ size, color }),
|
|
112
|
+
itemsAtRightEdge[itemIndex] && "border-r-0"
|
|
113
|
+
),
|
|
114
|
+
children: item.label
|
|
115
|
+
},
|
|
116
|
+
`${item.key}-label`
|
|
117
|
+
)) }),
|
|
118
|
+
/* @__PURE__ */ jsx("tr", { children: row.map((item, itemIndex) => /* @__PURE__ */ jsx(
|
|
119
|
+
"td",
|
|
120
|
+
{
|
|
121
|
+
colSpan: item.span || 1,
|
|
122
|
+
className: cn(
|
|
123
|
+
valueCellVariants({ size }),
|
|
124
|
+
itemsAtRightEdge[itemIndex] && "border-r-0",
|
|
125
|
+
isLastRow && "border-b-0"
|
|
126
|
+
),
|
|
127
|
+
children: item.children
|
|
128
|
+
},
|
|
129
|
+
`${item.key}-value`
|
|
130
|
+
)) })
|
|
131
|
+
] }, rowIndex);
|
|
132
|
+
}) }) });
|
|
133
|
+
}
|
|
134
|
+
return /* @__PURE__ */ jsx("table", { className: cn(tableVariants({ bordered, rounded }), className), children: /* @__PURE__ */ jsx("tbody", { children: rows.map((row, rowIndex) => {
|
|
135
|
+
const isLastRow = rowIndex === rows.length - 1;
|
|
136
|
+
let colPosition = 0;
|
|
137
|
+
const valueAtRightEdge = row.map((item) => {
|
|
138
|
+
const span = item.span || 1;
|
|
139
|
+
colPosition += span * 2;
|
|
140
|
+
return colPosition >= column * 2;
|
|
141
|
+
});
|
|
142
|
+
return /* @__PURE__ */ jsx("tr", { children: row.map((item, itemIndex) => {
|
|
143
|
+
const itemSpan = item.span || 1;
|
|
144
|
+
const valueColSpan = itemSpan * 2 - 1;
|
|
145
|
+
return /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
146
|
+
/* @__PURE__ */ jsx(
|
|
147
|
+
"th",
|
|
148
|
+
{
|
|
149
|
+
className: cn(
|
|
150
|
+
labelCellVariants({ size, color }),
|
|
151
|
+
isLastRow && "border-b-0"
|
|
152
|
+
),
|
|
153
|
+
children: item.label
|
|
154
|
+
}
|
|
155
|
+
),
|
|
156
|
+
/* @__PURE__ */ jsx(
|
|
157
|
+
"td",
|
|
158
|
+
{
|
|
159
|
+
colSpan: valueColSpan,
|
|
160
|
+
className: cn(
|
|
161
|
+
valueCellVariants({ size }),
|
|
162
|
+
valueAtRightEdge[itemIndex] && "border-r-0",
|
|
163
|
+
isLastRow && "border-b-0"
|
|
164
|
+
),
|
|
165
|
+
children: item.children
|
|
166
|
+
}
|
|
167
|
+
)
|
|
168
|
+
] }, item.key);
|
|
169
|
+
}) }, rowIndex);
|
|
170
|
+
}) }) });
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
Descriptions.displayName = "Descriptions";
|
|
174
|
+
var descriptions_default = Descriptions;
|
|
175
|
+
|
|
176
|
+
export { descriptions_default };
|
|
177
|
+
//# sourceMappingURL=chunk-S5XJXU52.js.map
|
|
178
|
+
//# sourceMappingURL=chunk-S5XJXU52.js.map
|