@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,331 @@
|
|
|
1
|
+
import { cn } from './chunk-YNNAOXU5.js';
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import React, { useState, useRef, useCallback } from 'react';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var sliderTrackVariants = cva("relative rounded-full", {
|
|
7
|
+
variants: {
|
|
8
|
+
size: {
|
|
9
|
+
xs: "h-1",
|
|
10
|
+
sm: "h-2",
|
|
11
|
+
md: "h-3",
|
|
12
|
+
lg: "h-4"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
defaultVariants: {
|
|
16
|
+
size: "md"
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var thumbVariants = cva(
|
|
20
|
+
"absolute top-1/2 rounded-full border-2 bg-background cursor-pointer hover:scale-110 active:scale-100 transition-transform duration-150",
|
|
21
|
+
{
|
|
22
|
+
variants: {
|
|
23
|
+
size: {
|
|
24
|
+
xs: "w-3 h-3",
|
|
25
|
+
sm: "w-4 h-4",
|
|
26
|
+
md: "w-4 h-4",
|
|
27
|
+
lg: "w-6 h-6"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
defaultVariants: {
|
|
31
|
+
size: "md"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
var trackColorStyles = {
|
|
36
|
+
default: {
|
|
37
|
+
default: "bg-surface",
|
|
38
|
+
solid: "bg-border",
|
|
39
|
+
soft: "bg-surface/50"
|
|
40
|
+
},
|
|
41
|
+
primary: {
|
|
42
|
+
default: "bg-primary/10",
|
|
43
|
+
solid: "bg-primary/20",
|
|
44
|
+
soft: "bg-primary/5"
|
|
45
|
+
},
|
|
46
|
+
secondary: {
|
|
47
|
+
default: "bg-secondary/10",
|
|
48
|
+
solid: "bg-secondary/20",
|
|
49
|
+
soft: "bg-secondary/5"
|
|
50
|
+
},
|
|
51
|
+
accent: {
|
|
52
|
+
default: "bg-accent/10",
|
|
53
|
+
solid: "bg-accent/20",
|
|
54
|
+
soft: "bg-accent/5"
|
|
55
|
+
},
|
|
56
|
+
success: {
|
|
57
|
+
default: "bg-success/10",
|
|
58
|
+
solid: "bg-success/20",
|
|
59
|
+
soft: "bg-success/5"
|
|
60
|
+
},
|
|
61
|
+
error: {
|
|
62
|
+
default: "bg-error/10",
|
|
63
|
+
solid: "bg-error/20",
|
|
64
|
+
soft: "bg-error/5"
|
|
65
|
+
},
|
|
66
|
+
warning: {
|
|
67
|
+
default: "bg-warning/10",
|
|
68
|
+
solid: "bg-warning/20",
|
|
69
|
+
soft: "bg-warning/5"
|
|
70
|
+
},
|
|
71
|
+
info: {
|
|
72
|
+
default: "bg-info/10",
|
|
73
|
+
solid: "bg-info/20",
|
|
74
|
+
soft: "bg-info/5"
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
var fillColorStyles = {
|
|
78
|
+
default: {
|
|
79
|
+
default: "bg-surface border-border",
|
|
80
|
+
solid: "bg-border",
|
|
81
|
+
soft: "bg-surface/80"
|
|
82
|
+
},
|
|
83
|
+
primary: {
|
|
84
|
+
default: "bg-primary/20 border-primary",
|
|
85
|
+
solid: "bg-primary",
|
|
86
|
+
soft: "bg-primary/60"
|
|
87
|
+
},
|
|
88
|
+
secondary: {
|
|
89
|
+
default: "bg-secondary/20 border-secondary",
|
|
90
|
+
solid: "bg-secondary",
|
|
91
|
+
soft: "bg-secondary/60"
|
|
92
|
+
},
|
|
93
|
+
accent: {
|
|
94
|
+
default: "bg-accent/20 border-accent",
|
|
95
|
+
solid: "bg-accent",
|
|
96
|
+
soft: "bg-accent/60"
|
|
97
|
+
},
|
|
98
|
+
success: {
|
|
99
|
+
default: "bg-success/20 border-success",
|
|
100
|
+
solid: "bg-success",
|
|
101
|
+
soft: "bg-success/60"
|
|
102
|
+
},
|
|
103
|
+
error: {
|
|
104
|
+
default: "bg-error/20 border-error",
|
|
105
|
+
solid: "bg-error",
|
|
106
|
+
soft: "bg-error/60"
|
|
107
|
+
},
|
|
108
|
+
warning: {
|
|
109
|
+
default: "bg-warning/20 border-warning",
|
|
110
|
+
solid: "bg-warning",
|
|
111
|
+
soft: "bg-warning/60"
|
|
112
|
+
},
|
|
113
|
+
info: {
|
|
114
|
+
default: "bg-info/20 border-info",
|
|
115
|
+
solid: "bg-info",
|
|
116
|
+
soft: "bg-info/60"
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
var thumbColorStyles = {
|
|
120
|
+
default: {
|
|
121
|
+
default: "border-border",
|
|
122
|
+
solid: "border-border",
|
|
123
|
+
soft: "border-surface"
|
|
124
|
+
},
|
|
125
|
+
primary: {
|
|
126
|
+
default: "border-primary",
|
|
127
|
+
solid: "border-primary",
|
|
128
|
+
soft: "border-primary/60"
|
|
129
|
+
},
|
|
130
|
+
secondary: {
|
|
131
|
+
default: "border-secondary",
|
|
132
|
+
solid: "border-secondary",
|
|
133
|
+
soft: "border-secondary/60"
|
|
134
|
+
},
|
|
135
|
+
accent: {
|
|
136
|
+
default: "border-accent",
|
|
137
|
+
solid: "border-accent",
|
|
138
|
+
soft: "border-accent/60"
|
|
139
|
+
},
|
|
140
|
+
success: {
|
|
141
|
+
default: "border-success",
|
|
142
|
+
solid: "border-success",
|
|
143
|
+
soft: "border-success/60"
|
|
144
|
+
},
|
|
145
|
+
error: {
|
|
146
|
+
default: "border-error",
|
|
147
|
+
solid: "border-error",
|
|
148
|
+
soft: "border-error/60"
|
|
149
|
+
},
|
|
150
|
+
warning: {
|
|
151
|
+
default: "border-warning",
|
|
152
|
+
solid: "border-warning",
|
|
153
|
+
soft: "border-warning/60"
|
|
154
|
+
},
|
|
155
|
+
info: {
|
|
156
|
+
default: "border-info",
|
|
157
|
+
solid: "border-info",
|
|
158
|
+
soft: "border-info/60"
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
var Slider = React.memo(
|
|
162
|
+
({
|
|
163
|
+
value: controlledValue,
|
|
164
|
+
defaultValue = 50,
|
|
165
|
+
min = 0,
|
|
166
|
+
max = 100,
|
|
167
|
+
step = 1,
|
|
168
|
+
color = "primary",
|
|
169
|
+
size = "md",
|
|
170
|
+
variant = "default",
|
|
171
|
+
onChange,
|
|
172
|
+
disabled = false,
|
|
173
|
+
className,
|
|
174
|
+
footer = false,
|
|
175
|
+
range = false
|
|
176
|
+
}) => {
|
|
177
|
+
const [internalValue, setInternalValue] = useState(
|
|
178
|
+
defaultValue
|
|
179
|
+
);
|
|
180
|
+
const [hoveredThumb, setHoveredThumb] = useState(null);
|
|
181
|
+
const trackRef = useRef(null);
|
|
182
|
+
const isDragging = useRef(false);
|
|
183
|
+
const activeThumb = useRef(0);
|
|
184
|
+
const value = controlledValue ?? internalValue;
|
|
185
|
+
const values = Array.isArray(value) ? value : [value];
|
|
186
|
+
const getPercentage = (val) => (val - min) / (max - min) * 100;
|
|
187
|
+
const getValue = (clientX) => {
|
|
188
|
+
if (!trackRef.current) return min;
|
|
189
|
+
const rect = trackRef.current.getBoundingClientRect();
|
|
190
|
+
const percentage = (clientX - rect.left) / rect.width;
|
|
191
|
+
const rawValue = min + percentage * (max - min);
|
|
192
|
+
const steppedValue = Math.round(rawValue / step) * step;
|
|
193
|
+
return Math.max(min, Math.min(max, steppedValue));
|
|
194
|
+
};
|
|
195
|
+
const handleMouseDown = (thumbIndex) => (e) => {
|
|
196
|
+
if (disabled) return;
|
|
197
|
+
isDragging.current = true;
|
|
198
|
+
activeThumb.current = thumbIndex;
|
|
199
|
+
setHoveredThumb(thumbIndex);
|
|
200
|
+
e.preventDefault();
|
|
201
|
+
};
|
|
202
|
+
const handleMouseMove = useCallback(
|
|
203
|
+
(e) => {
|
|
204
|
+
if (!isDragging.current || disabled) return;
|
|
205
|
+
const newValue = getValue(e.clientX);
|
|
206
|
+
if (range && Array.isArray(value)) {
|
|
207
|
+
const newValues = [...value];
|
|
208
|
+
newValues[activeThumb.current] = newValue;
|
|
209
|
+
newValues.sort((a, b) => a - b);
|
|
210
|
+
if (!controlledValue) setInternalValue(newValues);
|
|
211
|
+
onChange?.(newValues);
|
|
212
|
+
} else {
|
|
213
|
+
if (!controlledValue) setInternalValue(newValue);
|
|
214
|
+
onChange?.(newValue);
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
[disabled, value, range, controlledValue, min, max, step]
|
|
218
|
+
);
|
|
219
|
+
const handleMouseUp = useCallback(() => {
|
|
220
|
+
isDragging.current = false;
|
|
221
|
+
setHoveredThumb(null);
|
|
222
|
+
}, []);
|
|
223
|
+
React.useEffect(() => {
|
|
224
|
+
document.addEventListener("mousemove", handleMouseMove);
|
|
225
|
+
document.addEventListener("mouseup", handleMouseUp);
|
|
226
|
+
return () => {
|
|
227
|
+
document.removeEventListener("mousemove", handleMouseMove);
|
|
228
|
+
document.removeEventListener("mouseup", handleMouseUp);
|
|
229
|
+
};
|
|
230
|
+
}, [handleMouseMove, handleMouseUp]);
|
|
231
|
+
const handleTrackClick = (e) => {
|
|
232
|
+
if (disabled || isDragging.current) return;
|
|
233
|
+
const newValue = getValue(e.clientX);
|
|
234
|
+
if (range && Array.isArray(value)) {
|
|
235
|
+
let closestThumbIndex = 0;
|
|
236
|
+
let minDistance = Math.abs(newValue - (value[0] || 0));
|
|
237
|
+
for (let i = 1; i < value.length; i++) {
|
|
238
|
+
const distance = Math.abs(newValue - (value[i] || 0));
|
|
239
|
+
if (distance < minDistance) {
|
|
240
|
+
minDistance = distance;
|
|
241
|
+
closestThumbIndex = i;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
const newValues = [...value];
|
|
245
|
+
newValues[closestThumbIndex] = newValue;
|
|
246
|
+
newValues.sort((a, b) => a - b);
|
|
247
|
+
if (!controlledValue) setInternalValue(newValues);
|
|
248
|
+
onChange?.(newValues);
|
|
249
|
+
} else {
|
|
250
|
+
if (!controlledValue) setInternalValue(newValue);
|
|
251
|
+
onChange?.(newValue);
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("w-full", className), children: [
|
|
255
|
+
/* @__PURE__ */ jsxs(
|
|
256
|
+
"div",
|
|
257
|
+
{
|
|
258
|
+
ref: trackRef,
|
|
259
|
+
onClick: handleTrackClick,
|
|
260
|
+
className: cn(
|
|
261
|
+
sliderTrackVariants({ size }),
|
|
262
|
+
trackColorStyles[color][variant],
|
|
263
|
+
"relative cursor-pointer",
|
|
264
|
+
// ✅ фикс выхода
|
|
265
|
+
disabled && "opacity-50 cursor-not-allowed"
|
|
266
|
+
),
|
|
267
|
+
children: [
|
|
268
|
+
range && values.length > 1 ? values.slice(0, -1).map((val, index) => {
|
|
269
|
+
const left = getPercentage(val);
|
|
270
|
+
const right = getPercentage(values[index + 1]);
|
|
271
|
+
return /* @__PURE__ */ jsx(
|
|
272
|
+
"div",
|
|
273
|
+
{
|
|
274
|
+
className: cn(
|
|
275
|
+
"absolute h-full rounded-full",
|
|
276
|
+
fillColorStyles[color][variant]
|
|
277
|
+
),
|
|
278
|
+
style: { left: `${left}%`, width: `${right - left}%` }
|
|
279
|
+
},
|
|
280
|
+
index
|
|
281
|
+
);
|
|
282
|
+
}) : /* @__PURE__ */ jsx(
|
|
283
|
+
"div",
|
|
284
|
+
{
|
|
285
|
+
className: cn(
|
|
286
|
+
"absolute h-full rounded-full",
|
|
287
|
+
fillColorStyles[color][variant]
|
|
288
|
+
),
|
|
289
|
+
style: { left: "0%", width: `${getPercentage(values[0] || 0)}%` }
|
|
290
|
+
}
|
|
291
|
+
),
|
|
292
|
+
values.map((val, index) => {
|
|
293
|
+
const left = getPercentage(val);
|
|
294
|
+
const isAtStart = left <= 0;
|
|
295
|
+
const isAtEnd = left >= 100;
|
|
296
|
+
return /* @__PURE__ */ jsx(
|
|
297
|
+
"div",
|
|
298
|
+
{
|
|
299
|
+
className: cn(
|
|
300
|
+
thumbVariants({ size }),
|
|
301
|
+
thumbColorStyles[color][variant],
|
|
302
|
+
disabled && "cursor-not-allowed"
|
|
303
|
+
),
|
|
304
|
+
style: {
|
|
305
|
+
left: `${left}%`,
|
|
306
|
+
transform: `translate(-50%, -50%) ${isAtStart ? "translateX(50%)" : isAtEnd ? "translateX(-50%)" : ""}`
|
|
307
|
+
},
|
|
308
|
+
onMouseDown: handleMouseDown(index),
|
|
309
|
+
children: hoveredThumb === index && /* @__PURE__ */ jsx("div", { className: "absolute -top-8 left-1/2 -translate-x-1/2 bg-text-primary text-background text-xs px-2 py-1 rounded whitespace-nowrap", children: val })
|
|
310
|
+
},
|
|
311
|
+
index
|
|
312
|
+
);
|
|
313
|
+
})
|
|
314
|
+
]
|
|
315
|
+
}
|
|
316
|
+
),
|
|
317
|
+
typeof footer === "boolean" && /* @__PURE__ */ jsxs("div", { className: "flex justify-between mt-1 text-sm text-text-secondary", children: [
|
|
318
|
+
/* @__PURE__ */ jsx("span", { children: min }),
|
|
319
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium text-text-primary", children: range && Array.isArray(value) ? value.join(" - ") : value }),
|
|
320
|
+
/* @__PURE__ */ jsx("span", { children: max })
|
|
321
|
+
] }),
|
|
322
|
+
footer && typeof footer !== "boolean" && footer
|
|
323
|
+
] });
|
|
324
|
+
}
|
|
325
|
+
);
|
|
326
|
+
Slider.displayName = "Slider";
|
|
327
|
+
var slider_default = Slider;
|
|
328
|
+
|
|
329
|
+
export { slider_default };
|
|
330
|
+
//# sourceMappingURL=chunk-NNSS366W.js.map
|
|
331
|
+
//# sourceMappingURL=chunk-NNSS366W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/slider/index.tsx"],"names":[],"mappings":"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","file":"chunk-NNSS366W.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React, { useCallback, useRef, useState } from 'react'\n\nimport { cn } from '../utils'\nimport type { SliderProps } from './types'\n\nconst sliderTrackVariants = cva('relative rounded-full', {\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 thumbVariants = cva(\n 'absolute top-1/2 rounded-full border-2 bg-background cursor-pointer hover:scale-110 active:scale-100 transition-transform duration-150',\n {\n variants: {\n size: {\n xs: 'w-3 h-3',\n sm: 'w-4 h-4',\n md: 'w-4 h-4',\n lg: 'w-6 h-6',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst trackColorStyles = {\n default: {\n default: 'bg-surface',\n solid: 'bg-border',\n soft: 'bg-surface/50',\n },\n primary: {\n default: 'bg-primary/10',\n solid: 'bg-primary/20',\n soft: 'bg-primary/5',\n },\n secondary: {\n default: 'bg-secondary/10',\n solid: 'bg-secondary/20',\n soft: 'bg-secondary/5',\n },\n accent: {\n default: 'bg-accent/10',\n solid: 'bg-accent/20',\n soft: 'bg-accent/5',\n },\n success: {\n default: 'bg-success/10',\n solid: 'bg-success/20',\n soft: 'bg-success/5',\n },\n error: {\n default: 'bg-error/10',\n solid: 'bg-error/20',\n soft: 'bg-error/5',\n },\n warning: {\n default: 'bg-warning/10',\n solid: 'bg-warning/20',\n soft: 'bg-warning/5',\n },\n info: {\n default: 'bg-info/10',\n solid: 'bg-info/20',\n soft: 'bg-info/5',\n },\n}\n\nconst fillColorStyles = {\n default: {\n default: 'bg-surface border-border',\n solid: 'bg-border',\n soft: 'bg-surface/80',\n },\n primary: {\n default: 'bg-primary/20 border-primary',\n solid: 'bg-primary',\n soft: 'bg-primary/60',\n },\n secondary: {\n default: 'bg-secondary/20 border-secondary',\n solid: 'bg-secondary',\n soft: 'bg-secondary/60',\n },\n accent: {\n default: 'bg-accent/20 border-accent',\n solid: 'bg-accent',\n soft: 'bg-accent/60',\n },\n success: {\n default: 'bg-success/20 border-success',\n solid: 'bg-success',\n soft: 'bg-success/60',\n },\n error: {\n default: 'bg-error/20 border-error',\n solid: 'bg-error',\n soft: 'bg-error/60',\n },\n warning: {\n default: 'bg-warning/20 border-warning',\n solid: 'bg-warning',\n soft: 'bg-warning/60',\n },\n info: {\n default: 'bg-info/20 border-info',\n solid: 'bg-info',\n soft: 'bg-info/60',\n },\n}\n\nconst thumbColorStyles = {\n default: {\n default: 'border-border',\n solid: 'border-border',\n soft: 'border-surface',\n },\n primary: {\n default: 'border-primary',\n solid: 'border-primary',\n soft: 'border-primary/60',\n },\n secondary: {\n default: 'border-secondary',\n solid: 'border-secondary',\n soft: 'border-secondary/60',\n },\n accent: {\n default: 'border-accent',\n solid: 'border-accent',\n soft: 'border-accent/60',\n },\n success: {\n default: 'border-success',\n solid: 'border-success',\n soft: 'border-success/60',\n },\n error: {\n default: 'border-error',\n solid: 'border-error',\n soft: 'border-error/60',\n },\n warning: {\n default: 'border-warning',\n solid: 'border-warning',\n soft: 'border-warning/60',\n },\n info: {\n default: 'border-info',\n solid: 'border-info',\n soft: 'border-info/60',\n },\n}\n\nconst Slider = React.memo<SliderProps>(\n ({\n value: controlledValue,\n defaultValue = 50,\n min = 0,\n max = 100,\n step = 1,\n color = 'primary',\n size = 'md',\n variant = 'default',\n onChange,\n disabled = false,\n className,\n footer = false,\n range = false,\n }) => {\n const [internalValue, setInternalValue] = useState<number | number[]>(\n defaultValue,\n )\n const [hoveredThumb, setHoveredThumb] = useState<number | null>(null)\n const trackRef = useRef<HTMLDivElement>(null)\n const isDragging = useRef(false)\n const activeThumb = useRef<number>(0)\n\n const value = controlledValue ?? internalValue\n const values = Array.isArray(value) ? value : [value]\n\n const getPercentage = (val: number) => ((val - min) / (max - min)) * 100\n\n const getValue = (clientX: number) => {\n if (!trackRef.current) return min\n const rect = trackRef.current.getBoundingClientRect()\n const percentage = (clientX - rect.left) / rect.width\n const rawValue = min + percentage * (max - min)\n const steppedValue = Math.round(rawValue / step) * step\n return Math.max(min, Math.min(max, steppedValue))\n }\n\n const handleMouseDown = (thumbIndex: number) => (e: React.MouseEvent) => {\n if (disabled) return\n isDragging.current = true\n activeThumb.current = thumbIndex\n setHoveredThumb(thumbIndex)\n e.preventDefault()\n }\n\n const handleMouseMove = useCallback(\n (e: MouseEvent) => {\n if (!isDragging.current || disabled) return\n const newValue = getValue(e.clientX)\n\n if (range && Array.isArray(value)) {\n const newValues = [...value]\n newValues[activeThumb.current] = newValue\n newValues.sort((a, b) => a - b)\n if (!controlledValue) setInternalValue(newValues)\n onChange?.(newValues)\n } else {\n if (!controlledValue) setInternalValue(newValue)\n onChange?.(newValue)\n }\n },\n [disabled, value, range, controlledValue, min, max, step],\n )\n\n const handleMouseUp = useCallback(() => {\n isDragging.current = false\n setHoveredThumb(null)\n }, [])\n\n React.useEffect(() => {\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n return () => {\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n }\n }, [handleMouseMove, handleMouseUp])\n\n const handleTrackClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (disabled || isDragging.current) return\n const newValue = getValue(e.clientX)\n\n if (range && Array.isArray(value)) {\n let closestThumbIndex = 0\n let minDistance = Math.abs(newValue - (value[0] || 0))\n for (let i = 1; i < value.length; i++) {\n const distance = Math.abs(newValue - (value[i] || 0))\n if (distance < minDistance) {\n minDistance = distance\n closestThumbIndex = i\n }\n }\n\n const newValues = [...value]\n newValues[closestThumbIndex] = newValue\n newValues.sort((a, b) => a - b)\n if (!controlledValue) setInternalValue(newValues)\n onChange?.(newValues)\n } else {\n if (!controlledValue) setInternalValue(newValue)\n onChange?.(newValue)\n }\n }\n\n return (\n <div className={cn('w-full', className)}>\n <div\n ref={trackRef}\n onClick={handleTrackClick}\n className={cn(\n sliderTrackVariants({ size }),\n trackColorStyles[color][variant],\n 'relative cursor-pointer', // ✅ фикс выхода\n disabled && 'opacity-50 cursor-not-allowed',\n )}\n >\n {/* Fill segment */}\n {range && values.length > 1 ? (\n values.slice(0, -1).map((val, index) => {\n const left = getPercentage(val)\n const right = getPercentage(values[index + 1]!)\n return (\n <div\n key={index}\n className={cn(\n 'absolute h-full rounded-full',\n fillColorStyles[color][variant],\n )}\n style={{ left: `${left}%`, width: `${right - left}%` }}\n />\n )\n })\n ) : (\n <div\n className={cn(\n 'absolute h-full rounded-full',\n fillColorStyles[color][variant],\n )}\n style={{ left: '0%', width: `${getPercentage(values[0] || 0)}%` }}\n />\n )}\n\n {/* Thumbs */}\n {values.map((val, index) => {\n const left = getPercentage(val)\n const isAtStart = left <= 0\n const isAtEnd = left >= 100\n return (\n <div\n key={index}\n className={cn(\n thumbVariants({ size }),\n thumbColorStyles[color][variant],\n disabled && 'cursor-not-allowed',\n )}\n style={{\n left: `${left}%`,\n transform: `translate(-50%, -50%) ${\n isAtStart\n ? 'translateX(50%)'\n : isAtEnd\n ? 'translateX(-50%)'\n : ''\n }`,\n }}\n onMouseDown={handleMouseDown(index)}\n >\n {hoveredThumb === index && (\n <div className=\"absolute -top-8 left-1/2 -translate-x-1/2 bg-text-primary text-background text-xs px-2 py-1 rounded whitespace-nowrap\">\n {val}\n </div>\n )}\n </div>\n )\n })}\n </div>\n\n {typeof footer === 'boolean' && (\n <div className=\"flex justify-between mt-1 text-sm text-text-secondary\">\n <span>{min}</span>\n <span className=\"font-medium text-text-primary\">\n {range && Array.isArray(value) ? value.join(' - ') : value}\n </span>\n <span>{max}</span>\n </div>\n )}\n {footer && typeof footer !== 'boolean' && footer}\n </div>\n )\n },\n)\n\nSlider.displayName = 'Slider'\n\nexport type * from './types'\nexport default Slider\n"]}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { cn } from './chunk-YNNAOXU5.js';
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var kbdVariants = cva(
|
|
7
|
+
"pointer-events-none min-w-4 min-h-3.5 border inline-flex w-fit items-center justify-center gap-1 rounded-sm font-sans font-medium select-none",
|
|
8
|
+
{
|
|
9
|
+
variants: {
|
|
10
|
+
variant: {
|
|
11
|
+
solid: "",
|
|
12
|
+
outline: "",
|
|
13
|
+
soft: ""
|
|
14
|
+
},
|
|
15
|
+
color: {
|
|
16
|
+
default: "",
|
|
17
|
+
primary: "",
|
|
18
|
+
secondary: "",
|
|
19
|
+
accent: "",
|
|
20
|
+
success: "",
|
|
21
|
+
error: "",
|
|
22
|
+
warning: "",
|
|
23
|
+
info: ""
|
|
24
|
+
},
|
|
25
|
+
size: {
|
|
26
|
+
xs: "h-3.5 p-0.5 text-[9px]",
|
|
27
|
+
sm: "h-4 p-0.5 text-xs",
|
|
28
|
+
md: "h-4.5 px-1.5 text-sm",
|
|
29
|
+
lg: "h-5 px-2 text-sm"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
compoundVariants: [
|
|
33
|
+
// Default color variants
|
|
34
|
+
{
|
|
35
|
+
variant: "solid",
|
|
36
|
+
color: "default",
|
|
37
|
+
class: "bg-gray-700 border-gray-700 text-white"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
variant: "outline",
|
|
41
|
+
color: "default",
|
|
42
|
+
class: "bg-white border-gray-300 text-gray-700"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
variant: "soft",
|
|
46
|
+
color: "default",
|
|
47
|
+
class: "bg-gray-50 border-gray-100 text-gray-600"
|
|
48
|
+
},
|
|
49
|
+
// Primary color variants
|
|
50
|
+
{
|
|
51
|
+
variant: "solid",
|
|
52
|
+
color: "primary",
|
|
53
|
+
class: "bg-primary border-primary text-primary-text"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
variant: "outline",
|
|
57
|
+
color: "primary",
|
|
58
|
+
class: "bg-white border-primary text-primary"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
variant: "soft",
|
|
62
|
+
color: "primary",
|
|
63
|
+
class: "bg-primary/10 border-primary/20 text-primary"
|
|
64
|
+
},
|
|
65
|
+
// Secondary color variants
|
|
66
|
+
{
|
|
67
|
+
variant: "solid",
|
|
68
|
+
color: "secondary",
|
|
69
|
+
class: "bg-secondary border-secondary text-secondary-text"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
variant: "outline",
|
|
73
|
+
color: "secondary",
|
|
74
|
+
class: "bg-white border-secondary text-secondary"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
variant: "soft",
|
|
78
|
+
color: "secondary",
|
|
79
|
+
class: "bg-secondary/10 border-secondary/20 text-secondary"
|
|
80
|
+
},
|
|
81
|
+
// Success color variants
|
|
82
|
+
{
|
|
83
|
+
variant: "solid",
|
|
84
|
+
color: "success",
|
|
85
|
+
class: "bg-success border-success text-success-text"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
variant: "outline",
|
|
89
|
+
color: "success",
|
|
90
|
+
class: "bg-white border-success text-success"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
variant: "soft",
|
|
94
|
+
color: "success",
|
|
95
|
+
class: "bg-success/10 border-success/20 text-success"
|
|
96
|
+
},
|
|
97
|
+
// Error color variants
|
|
98
|
+
{
|
|
99
|
+
variant: "solid",
|
|
100
|
+
color: "error",
|
|
101
|
+
class: "bg-error border-error text-error-text"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
variant: "outline",
|
|
105
|
+
color: "error",
|
|
106
|
+
class: "bg-white border-error text-error"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
variant: "soft",
|
|
110
|
+
color: "error",
|
|
111
|
+
class: "bg-error/10 border-error/20 text-error"
|
|
112
|
+
},
|
|
113
|
+
// Warning color variants
|
|
114
|
+
{
|
|
115
|
+
variant: "solid",
|
|
116
|
+
color: "warning",
|
|
117
|
+
class: "bg-warning border-warning text-warning-text"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
variant: "outline",
|
|
121
|
+
color: "warning",
|
|
122
|
+
class: "bg-white border-warning text-warning"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
variant: "soft",
|
|
126
|
+
color: "warning",
|
|
127
|
+
class: "bg-warning/10 border-warning/20 text-warning"
|
|
128
|
+
},
|
|
129
|
+
// Accent color variants
|
|
130
|
+
{
|
|
131
|
+
variant: "solid",
|
|
132
|
+
color: "accent",
|
|
133
|
+
class: "bg-accent border-accent text-accent-text"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
variant: "outline",
|
|
137
|
+
color: "accent",
|
|
138
|
+
class: "bg-white border-accent text-accent"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
variant: "soft",
|
|
142
|
+
color: "accent",
|
|
143
|
+
class: "bg-accent/10 border-accent/20 text-accent"
|
|
144
|
+
},
|
|
145
|
+
// Info color variants
|
|
146
|
+
{
|
|
147
|
+
variant: "solid",
|
|
148
|
+
color: "info",
|
|
149
|
+
class: "bg-info border-info text-info-text"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
variant: "outline",
|
|
153
|
+
color: "info",
|
|
154
|
+
class: "bg-white border-info text-info"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
variant: "soft",
|
|
158
|
+
color: "info",
|
|
159
|
+
class: "bg-info/10 border-info/20 text-info"
|
|
160
|
+
}
|
|
161
|
+
],
|
|
162
|
+
defaultVariants: {
|
|
163
|
+
variant: "outline",
|
|
164
|
+
color: "default",
|
|
165
|
+
size: "sm"
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
var Kbd = React.memo(
|
|
170
|
+
({
|
|
171
|
+
variant = "outline",
|
|
172
|
+
color = "default",
|
|
173
|
+
size = "sm",
|
|
174
|
+
className,
|
|
175
|
+
children,
|
|
176
|
+
...props
|
|
177
|
+
}) => {
|
|
178
|
+
return /* @__PURE__ */ jsx(
|
|
179
|
+
"kbd",
|
|
180
|
+
{
|
|
181
|
+
className: cn(
|
|
182
|
+
kbdVariants({ variant, color, size }),
|
|
183
|
+
"[&_svg:not([class*='size-'])]:size-3",
|
|
184
|
+
className
|
|
185
|
+
),
|
|
186
|
+
...props,
|
|
187
|
+
children
|
|
188
|
+
}
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
);
|
|
192
|
+
Kbd.displayName = "Kbd";
|
|
193
|
+
var kbd_default = Kbd;
|
|
194
|
+
|
|
195
|
+
export { kbd_default };
|
|
196
|
+
//# sourceMappingURL=chunk-OQANRZPV.js.map
|
|
197
|
+
//# sourceMappingURL=chunk-OQANRZPV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/kbd/index.tsx"],"names":[],"mappings":"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","file":"chunk-OQANRZPV.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport type { KbdProps } from './types'\n\nconst kbdVariants = cva(\n 'pointer-events-none min-w-4 min-h-3.5 border inline-flex w-fit items-center justify-center gap-1 rounded-sm font-sans font-medium select-none',\n {\n variants: {\n variant: {\n solid: '',\n outline: '',\n soft: '',\n },\n color: {\n default: '',\n primary: '',\n secondary: '',\n accent: '',\n success: '',\n error: '',\n warning: '',\n info: '',\n },\n size: {\n xs: 'h-3.5 p-0.5 text-[9px]',\n sm: 'h-4 p-0.5 text-xs',\n md: 'h-4.5 px-1.5 text-sm',\n lg: 'h-5 px-2 text-sm',\n },\n },\n compoundVariants: [\n // Default color variants\n {\n variant: 'solid',\n color: 'default',\n class: 'bg-gray-700 border-gray-700 text-white',\n },\n {\n variant: 'outline',\n color: 'default',\n class: 'bg-white border-gray-300 text-gray-700',\n },\n {\n variant: 'soft',\n color: 'default',\n class: 'bg-gray-50 border-gray-100 text-gray-600',\n },\n\n // Primary color variants\n {\n variant: 'solid',\n color: 'primary',\n class: 'bg-primary border-primary text-primary-text',\n },\n {\n variant: 'outline',\n color: 'primary',\n class: 'bg-white border-primary text-primary',\n },\n {\n variant: 'soft',\n color: 'primary',\n class: 'bg-primary/10 border-primary/20 text-primary',\n },\n\n // Secondary color variants\n {\n variant: 'solid',\n color: 'secondary',\n class: 'bg-secondary border-secondary text-secondary-text',\n },\n {\n variant: 'outline',\n color: 'secondary',\n class: 'bg-white border-secondary text-secondary',\n },\n {\n variant: 'soft',\n color: 'secondary',\n class: 'bg-secondary/10 border-secondary/20 text-secondary',\n },\n\n // Success color variants\n {\n variant: 'solid',\n color: 'success',\n class: 'bg-success border-success text-success-text',\n },\n {\n variant: 'outline',\n color: 'success',\n class: 'bg-white border-success text-success',\n },\n {\n variant: 'soft',\n color: 'success',\n class: 'bg-success/10 border-success/20 text-success',\n },\n\n // Error color variants\n {\n variant: 'solid',\n color: 'error',\n class: 'bg-error border-error text-error-text',\n },\n {\n variant: 'outline',\n color: 'error',\n class: 'bg-white border-error text-error',\n },\n {\n variant: 'soft',\n color: 'error',\n class: 'bg-error/10 border-error/20 text-error',\n },\n\n // Warning color variants\n {\n variant: 'solid',\n color: 'warning',\n class: 'bg-warning border-warning text-warning-text',\n },\n {\n variant: 'outline',\n color: 'warning',\n class: 'bg-white border-warning text-warning',\n },\n {\n variant: 'soft',\n color: 'warning',\n class: 'bg-warning/10 border-warning/20 text-warning',\n },\n\n // Accent color variants\n {\n variant: 'solid',\n color: 'accent',\n class: 'bg-accent border-accent text-accent-text',\n },\n {\n variant: 'outline',\n color: 'accent',\n class: 'bg-white border-accent text-accent',\n },\n {\n variant: 'soft',\n color: 'accent',\n class: 'bg-accent/10 border-accent/20 text-accent',\n },\n\n // Info color variants\n {\n variant: 'solid',\n color: 'info',\n class: 'bg-info border-info text-info-text',\n },\n {\n variant: 'outline',\n color: 'info',\n class: 'bg-white border-info text-info',\n },\n {\n variant: 'soft',\n color: 'info',\n class: 'bg-info/10 border-info/20 text-info',\n },\n ],\n defaultVariants: {\n variant: 'outline',\n color: 'default',\n size: 'sm',\n },\n },\n)\n\nconst Kbd = React.memo<KbdProps>(\n ({\n variant = 'outline',\n color = 'default',\n size = 'sm',\n className,\n children,\n ...props\n }) => {\n return (\n <kbd\n className={cn(\n kbdVariants({ variant, color, size }),\n \"[&_svg:not([class*='size-'])]:size-3\",\n className,\n )}\n {...props}\n >\n {children}\n </kbd>\n )\n },\n)\n\nKbd.displayName = 'Kbd'\n\nexport type * from './types'\nexport default Kbd\n"]}
|