kz-design-system 0.2.0 → 0.3.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/dist/button.d.mts +1 -1
- package/dist/button.d.ts +1 -1
- package/dist/button.js +6 -2
- package/dist/button.js.map +1 -1
- package/dist/button.mjs +11 -3
- package/dist/button.mjs.map +1 -1
- package/dist/color-picker.js +6 -2
- package/dist/color-picker.js.map +1 -1
- package/dist/color-picker.mjs +11 -3
- package/dist/color-picker.mjs.map +1 -1
- package/dist/date-range-picker.js +6 -2
- package/dist/date-range-picker.js.map +1 -1
- package/dist/date-range-picker.mjs +11 -3
- package/dist/date-range-picker.mjs.map +1 -1
- package/dist/date-time-picker.js +6 -2
- package/dist/date-time-picker.js.map +1 -1
- package/dist/date-time-picker.mjs +11 -3
- package/dist/date-time-picker.mjs.map +1 -1
- package/dist/dropdown.js +6 -2
- package/dist/dropdown.js.map +1 -1
- package/dist/dropdown.mjs +11 -3
- package/dist/dropdown.mjs.map +1 -1
- package/dist/error-page.js +5 -1
- package/dist/error-page.js.map +1 -1
- package/dist/error-page.mjs +10 -2
- package/dist/error-page.mjs.map +1 -1
- package/dist/file-uploader.js +5 -1
- package/dist/file-uploader.js.map +1 -1
- package/dist/file-uploader.mjs +10 -2
- package/dist/file-uploader.mjs.map +1 -1
- package/dist/icon-picker.d.mts +1 -1
- package/dist/icon-picker.d.ts +1 -1
- package/dist/icon-picker.js +10 -2
- package/dist/icon-picker.js.map +1 -1
- package/dist/icon-picker.mjs +15 -3
- package/dist/icon-picker.mjs.map +1 -1
- package/dist/{icon-registry-YZFYW-mt.d.mts → icon-registry-DY5NSKnE.d.mts} +5 -1
- package/dist/{icon-registry-YZFYW-mt.d.ts → icon-registry-DY5NSKnE.d.ts} +5 -1
- package/dist/icon.d.mts +2 -2
- package/dist/icon.d.ts +2 -2
- package/dist/icon.js +9 -1
- package/dist/icon.js.map +1 -1
- package/dist/icon.mjs +14 -2
- package/dist/icon.mjs.map +1 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +994 -693
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +999 -695
- package/dist/index.mjs.map +1 -1
- package/dist/modal.js +5 -1
- package/dist/modal.js.map +1 -1
- package/dist/modal.mjs +10 -2
- package/dist/modal.mjs.map +1 -1
- package/dist/number-input.js +6 -2
- package/dist/number-input.js.map +1 -1
- package/dist/number-input.mjs +11 -3
- package/dist/number-input.mjs.map +1 -1
- package/dist/pagination.js +6 -2
- package/dist/pagination.js.map +1 -1
- package/dist/pagination.mjs +11 -3
- package/dist/pagination.mjs.map +1 -1
- package/dist/qr-renderer.js +6 -2
- package/dist/qr-renderer.js.map +1 -1
- package/dist/qr-renderer.mjs +11 -3
- package/dist/qr-renderer.mjs.map +1 -1
- package/dist/range-slider.d.mts +38 -0
- package/dist/range-slider.d.ts +38 -0
- package/dist/range-slider.js +466 -0
- package/dist/range-slider.js.map +1 -0
- package/dist/range-slider.mjs +426 -0
- package/dist/range-slider.mjs.map +1 -0
- package/dist/select.js +5 -1
- package/dist/select.js.map +1 -1
- package/dist/select.mjs +10 -2
- package/dist/select.mjs.map +1 -1
- package/dist/sidemenu.d.mts +1 -1
- package/dist/sidemenu.d.ts +1 -1
- package/dist/sidemenu.js +5 -1
- package/dist/sidemenu.js.map +1 -1
- package/dist/sidemenu.mjs +10 -2
- package/dist/sidemenu.mjs.map +1 -1
- package/dist/sidepanel.js +5 -1
- package/dist/sidepanel.js.map +1 -1
- package/dist/sidepanel.mjs +10 -2
- package/dist/sidepanel.mjs.map +1 -1
- package/dist/sql-editor.js +6 -2
- package/dist/sql-editor.js.map +1 -1
- package/dist/sql-editor.mjs +11 -3
- package/dist/sql-editor.mjs.map +1 -1
- package/dist/styles.css +2 -2
- package/dist/table.d.mts +14 -0
- package/dist/table.d.ts +14 -0
- package/dist/table.js +41 -21
- package/dist/table.js.map +1 -1
- package/dist/table.mjs +46 -22
- package/dist/table.mjs.map +1 -1
- package/dist/tabs.js +5 -1
- package/dist/tabs.js.map +1 -1
- package/dist/tabs.mjs +10 -2
- package/dist/tabs.mjs.map +1 -1
- package/dist/text-area.js +5 -1
- package/dist/text-area.js.map +1 -1
- package/dist/text-area.mjs +10 -2
- package/dist/text-area.mjs.map +1 -1
- package/dist/text-input.js +5 -1
- package/dist/text-input.js.map +1 -1
- package/dist/text-input.mjs +10 -2
- package/dist/text-input.mjs.map +1 -1
- package/dist/toast.js +5 -1
- package/dist/toast.js.map +1 -1
- package/dist/toast.mjs +10 -2
- package/dist/toast.mjs.map +1 -1
- package/dist/toggle-button.js +6 -2
- package/dist/toggle-button.js.map +1 -1
- package/dist/toggle-button.mjs +11 -3
- package/dist/toggle-button.mjs.map +1 -1
- package/package.json +7 -1
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
// src/components/range-slider/RangeSlider.tsx
|
|
2
|
+
import * as React2 from "react";
|
|
3
|
+
|
|
4
|
+
// src/utils/cn.ts
|
|
5
|
+
import { clsx } from "clsx";
|
|
6
|
+
import { twMerge } from "tailwind-merge";
|
|
7
|
+
function cn(...inputs) {
|
|
8
|
+
return twMerge(clsx(inputs));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// src/constants/enum.ts
|
|
12
|
+
var TextInputVariant = /* @__PURE__ */ ((TextInputVariant2) => {
|
|
13
|
+
TextInputVariant2["Default"] = "default";
|
|
14
|
+
TextInputVariant2["Container"] = "container";
|
|
15
|
+
TextInputVariant2["Ghost"] = "ghost";
|
|
16
|
+
return TextInputVariant2;
|
|
17
|
+
})(TextInputVariant || {});
|
|
18
|
+
var TextInputSize = /* @__PURE__ */ ((TextInputSize2) => {
|
|
19
|
+
TextInputSize2["Sm"] = "sm";
|
|
20
|
+
TextInputSize2["Md"] = "md";
|
|
21
|
+
TextInputSize2["Lg"] = "lg";
|
|
22
|
+
return TextInputSize2;
|
|
23
|
+
})(TextInputSize || {});
|
|
24
|
+
var TextInputState = /* @__PURE__ */ ((TextInputState2) => {
|
|
25
|
+
TextInputState2["Default"] = "default";
|
|
26
|
+
TextInputState2["Error"] = "error";
|
|
27
|
+
TextInputState2["Success"] = "success";
|
|
28
|
+
TextInputState2["Warning"] = "warning";
|
|
29
|
+
return TextInputState2;
|
|
30
|
+
})(TextInputState || {});
|
|
31
|
+
|
|
32
|
+
// src/components/typography/Typography.tsx
|
|
33
|
+
import * as React from "react";
|
|
34
|
+
|
|
35
|
+
// src/components/typography/typography-variants.ts
|
|
36
|
+
var typographyVariants = [
|
|
37
|
+
"h1" /* H1 */,
|
|
38
|
+
"h2" /* H2 */,
|
|
39
|
+
"h3" /* H3 */,
|
|
40
|
+
"h4" /* H4 */,
|
|
41
|
+
"h5" /* H5 */,
|
|
42
|
+
"body" /* Body */,
|
|
43
|
+
"small" /* Small */,
|
|
44
|
+
"caption" /* Caption */,
|
|
45
|
+
"label" /* Label */,
|
|
46
|
+
"link" /* Link */,
|
|
47
|
+
"error" /* Error */,
|
|
48
|
+
"success" /* Success */,
|
|
49
|
+
"warning" /* Warning */
|
|
50
|
+
];
|
|
51
|
+
var variantToClass = {
|
|
52
|
+
["h1" /* H1 */]: "kz-typography-h1",
|
|
53
|
+
["h2" /* H2 */]: "kz-typography-h2",
|
|
54
|
+
["h3" /* H3 */]: "kz-typography-h3",
|
|
55
|
+
["h4" /* H4 */]: "kz-typography-h4",
|
|
56
|
+
["h5" /* H5 */]: "kz-typography-h5",
|
|
57
|
+
["body" /* Body */]: "kz-typography-body",
|
|
58
|
+
["small" /* Small */]: "kz-typography-small",
|
|
59
|
+
["caption" /* Caption */]: "kz-typography-caption",
|
|
60
|
+
["label" /* Label */]: "kz-typography-label",
|
|
61
|
+
["link" /* Link */]: "kz-typography-link",
|
|
62
|
+
["error" /* Error */]: "kz-typography-error",
|
|
63
|
+
["success" /* Success */]: "kz-typography-success",
|
|
64
|
+
["warning" /* Warning */]: "kz-typography-warning"
|
|
65
|
+
};
|
|
66
|
+
function getTypographyClass(variant) {
|
|
67
|
+
return variantToClass[variant];
|
|
68
|
+
}
|
|
69
|
+
var defaultElement = {
|
|
70
|
+
["h1" /* H1 */]: "h1",
|
|
71
|
+
["h2" /* H2 */]: "h2",
|
|
72
|
+
["h3" /* H3 */]: "h3",
|
|
73
|
+
["h4" /* H4 */]: "h4",
|
|
74
|
+
["h5" /* H5 */]: "h5",
|
|
75
|
+
["body" /* Body */]: "p",
|
|
76
|
+
["small" /* Small */]: "span",
|
|
77
|
+
["caption" /* Caption */]: "span",
|
|
78
|
+
["label" /* Label */]: "span",
|
|
79
|
+
["link" /* Link */]: "a",
|
|
80
|
+
["error" /* Error */]: "span",
|
|
81
|
+
["success" /* Success */]: "span",
|
|
82
|
+
["warning" /* Warning */]: "span"
|
|
83
|
+
};
|
|
84
|
+
function getDefaultElement(variant) {
|
|
85
|
+
return defaultElement[variant];
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// src/components/typography/Typography.tsx
|
|
89
|
+
var alignClass = {
|
|
90
|
+
["left" /* Left */]: "text-left",
|
|
91
|
+
["center" /* Center */]: "text-center",
|
|
92
|
+
["right" /* Right */]: "text-right"
|
|
93
|
+
};
|
|
94
|
+
var weightClass = {
|
|
95
|
+
["regular" /* Regular */]: "font-normal",
|
|
96
|
+
["medium" /* Medium */]: "font-medium",
|
|
97
|
+
["semibold" /* Semibold */]: "font-semibold",
|
|
98
|
+
["bold" /* Bold */]: "font-bold"
|
|
99
|
+
};
|
|
100
|
+
var Typography = React.forwardRef(
|
|
101
|
+
({
|
|
102
|
+
children,
|
|
103
|
+
variant,
|
|
104
|
+
href,
|
|
105
|
+
tone,
|
|
106
|
+
as,
|
|
107
|
+
align,
|
|
108
|
+
truncate,
|
|
109
|
+
lines,
|
|
110
|
+
weight,
|
|
111
|
+
className,
|
|
112
|
+
style,
|
|
113
|
+
...props
|
|
114
|
+
}, ref) => {
|
|
115
|
+
const Comp = href !== void 0 ? "a" : as ?? getDefaultElement(variant);
|
|
116
|
+
const typographyClass = getTypographyClass(variant);
|
|
117
|
+
const toneClass = tone !== void 0 ? `kz-typography-tone-${tone}` : void 0;
|
|
118
|
+
const lineClampStyle = lines !== void 0 && lines > 0 ? {
|
|
119
|
+
display: "-webkit-box",
|
|
120
|
+
WebkitBoxOrient: "vertical",
|
|
121
|
+
WebkitLineClamp: lines,
|
|
122
|
+
overflow: "hidden"
|
|
123
|
+
} : void 0;
|
|
124
|
+
const combinedStyle = lineClampStyle ? { ...style, ...lineClampStyle } : style;
|
|
125
|
+
return React.createElement(
|
|
126
|
+
Comp,
|
|
127
|
+
{
|
|
128
|
+
ref,
|
|
129
|
+
...href !== void 0 && { href },
|
|
130
|
+
className: cn(
|
|
131
|
+
typographyClass,
|
|
132
|
+
toneClass,
|
|
133
|
+
align !== void 0 && alignClass[align],
|
|
134
|
+
truncate && "truncate",
|
|
135
|
+
weight !== void 0 && weightClass[weight],
|
|
136
|
+
className
|
|
137
|
+
),
|
|
138
|
+
style: combinedStyle,
|
|
139
|
+
...props
|
|
140
|
+
},
|
|
141
|
+
children
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
);
|
|
145
|
+
Typography.displayName = "Typography";
|
|
146
|
+
|
|
147
|
+
// src/components/range-slider/RangeSlider.tsx
|
|
148
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
149
|
+
var clamp = (val, min, max) => Math.min(Math.max(val, min), max);
|
|
150
|
+
var snapToStep = (val, min, step) => {
|
|
151
|
+
const steps = Math.round((val - min) / step);
|
|
152
|
+
return min + steps * step;
|
|
153
|
+
};
|
|
154
|
+
var RangeSlider = React2.forwardRef(
|
|
155
|
+
({
|
|
156
|
+
size = "md" /* Md */,
|
|
157
|
+
variant = "default" /* Default */,
|
|
158
|
+
label,
|
|
159
|
+
helperText,
|
|
160
|
+
description,
|
|
161
|
+
state = "default" /* Default */,
|
|
162
|
+
errorText,
|
|
163
|
+
successText,
|
|
164
|
+
warningText,
|
|
165
|
+
value,
|
|
166
|
+
rangeValue,
|
|
167
|
+
onValueChange,
|
|
168
|
+
onRangeChange,
|
|
169
|
+
min = 0,
|
|
170
|
+
max = 100,
|
|
171
|
+
step = 1,
|
|
172
|
+
showValue = false,
|
|
173
|
+
showMinMax = false,
|
|
174
|
+
formatValue,
|
|
175
|
+
showInputs = false,
|
|
176
|
+
inputVariant,
|
|
177
|
+
disabled = false,
|
|
178
|
+
containerClassName
|
|
179
|
+
}, ref) => {
|
|
180
|
+
const resolvedInputVariant = inputVariant ?? variant;
|
|
181
|
+
const isRange = rangeValue != null;
|
|
182
|
+
const trackRef = React2.useRef(null);
|
|
183
|
+
const [dragging, setDragging] = React2.useState(null);
|
|
184
|
+
const [startText, setStartText] = React2.useState(
|
|
185
|
+
String(isRange ? rangeValue[0] : value ?? min)
|
|
186
|
+
);
|
|
187
|
+
const [endText, setEndText] = React2.useState(
|
|
188
|
+
String(isRange ? rangeValue[1] : max)
|
|
189
|
+
);
|
|
190
|
+
React2.useEffect(() => {
|
|
191
|
+
if (isRange && rangeValue) {
|
|
192
|
+
setStartText(String(rangeValue[0]));
|
|
193
|
+
setEndText(String(rangeValue[1]));
|
|
194
|
+
} else if (value != null) {
|
|
195
|
+
setStartText(String(value));
|
|
196
|
+
}
|
|
197
|
+
}, [isRange, value, rangeValue]);
|
|
198
|
+
const commitInput = (which, raw) => {
|
|
199
|
+
const parsed = parseFloat(raw);
|
|
200
|
+
if (isNaN(parsed)) return;
|
|
201
|
+
const clamped = clamp(snapToStep(parsed, min, step), min, max);
|
|
202
|
+
if (isRange && rangeValue) {
|
|
203
|
+
if (which === "start") {
|
|
204
|
+
const safe = Math.min(clamped, rangeValue[1]);
|
|
205
|
+
onRangeChange?.([safe, rangeValue[1]]);
|
|
206
|
+
} else {
|
|
207
|
+
const safe = Math.max(clamped, rangeValue[0]);
|
|
208
|
+
onRangeChange?.([rangeValue[0], safe]);
|
|
209
|
+
}
|
|
210
|
+
} else {
|
|
211
|
+
onValueChange?.(clamped);
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
const format = formatValue ?? ((v) => String(v));
|
|
215
|
+
const getPercent = (val) => (val - min) / (max - min) * 100;
|
|
216
|
+
const getValueFromPosition = (clientX) => {
|
|
217
|
+
const track = trackRef.current;
|
|
218
|
+
if (!track) return min;
|
|
219
|
+
const rect = track.getBoundingClientRect();
|
|
220
|
+
const ratio = clamp((clientX - rect.left) / rect.width, 0, 1);
|
|
221
|
+
const raw = min + ratio * (max - min);
|
|
222
|
+
return clamp(snapToStep(raw, min, step), min, max);
|
|
223
|
+
};
|
|
224
|
+
const handlePointerDown = (thumb) => (e) => {
|
|
225
|
+
if (disabled) return;
|
|
226
|
+
e.preventDefault();
|
|
227
|
+
e.target.setPointerCapture(e.pointerId);
|
|
228
|
+
setDragging(thumb);
|
|
229
|
+
const val = getValueFromPosition(e.clientX);
|
|
230
|
+
applyValue(thumb, val);
|
|
231
|
+
};
|
|
232
|
+
const handlePointerMove = (e) => {
|
|
233
|
+
if (!dragging || disabled) return;
|
|
234
|
+
const val = getValueFromPosition(e.clientX);
|
|
235
|
+
applyValue(dragging, val);
|
|
236
|
+
};
|
|
237
|
+
const handlePointerUp = () => {
|
|
238
|
+
setDragging(null);
|
|
239
|
+
};
|
|
240
|
+
const applyValue = (thumb, val) => {
|
|
241
|
+
if (thumb === "single") {
|
|
242
|
+
onValueChange?.(val);
|
|
243
|
+
} else if (rangeValue) {
|
|
244
|
+
if (thumb === "start") {
|
|
245
|
+
const clamped = Math.min(val, rangeValue[1]);
|
|
246
|
+
onRangeChange?.([clamped, rangeValue[1]]);
|
|
247
|
+
} else {
|
|
248
|
+
const clamped = Math.max(val, rangeValue[0]);
|
|
249
|
+
onRangeChange?.([rangeValue[0], clamped]);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
const handleTrackClick = (e) => {
|
|
254
|
+
if (disabled) return;
|
|
255
|
+
const val = getValueFromPosition(e.clientX);
|
|
256
|
+
if (isRange && rangeValue) {
|
|
257
|
+
const distStart = Math.abs(val - rangeValue[0]);
|
|
258
|
+
const distEnd = Math.abs(val - rangeValue[1]);
|
|
259
|
+
if (distStart <= distEnd) {
|
|
260
|
+
onRangeChange?.([Math.min(val, rangeValue[1]), rangeValue[1]]);
|
|
261
|
+
} else {
|
|
262
|
+
onRangeChange?.([rangeValue[0], Math.max(val, rangeValue[0])]);
|
|
263
|
+
}
|
|
264
|
+
} else {
|
|
265
|
+
onValueChange?.(val);
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
const handleKeyDown = (thumb) => (e) => {
|
|
269
|
+
if (disabled) return;
|
|
270
|
+
let delta = 0;
|
|
271
|
+
if (e.key === "ArrowRight" || e.key === "ArrowUp") delta = step;
|
|
272
|
+
else if (e.key === "ArrowLeft" || e.key === "ArrowDown") delta = -step;
|
|
273
|
+
else if (e.key === "Home") {
|
|
274
|
+
applyValue(thumb, min);
|
|
275
|
+
return;
|
|
276
|
+
} else if (e.key === "End") {
|
|
277
|
+
applyValue(thumb, max);
|
|
278
|
+
return;
|
|
279
|
+
} else return;
|
|
280
|
+
e.preventDefault();
|
|
281
|
+
if (thumb === "single" && value != null) {
|
|
282
|
+
applyValue(thumb, clamp(value + delta, min, max));
|
|
283
|
+
} else if (rangeValue) {
|
|
284
|
+
const current = thumb === "start" ? rangeValue[0] : rangeValue[1];
|
|
285
|
+
applyValue(thumb, clamp(current + delta, min, max));
|
|
286
|
+
}
|
|
287
|
+
};
|
|
288
|
+
const stateMessage = state === "error" /* Error */ ? errorText : state === "success" /* Success */ ? successText : state === "warning" /* Warning */ ? warningText : void 0;
|
|
289
|
+
const uniqueId = React2.useId();
|
|
290
|
+
const messageId = `kz-range-slider-message-${uniqueId}`;
|
|
291
|
+
const singlePercent = value != null ? getPercent(value) : 0;
|
|
292
|
+
const startPercent = rangeValue ? getPercent(rangeValue[0]) : 0;
|
|
293
|
+
const endPercent = rangeValue ? getPercent(rangeValue[1]) : 100;
|
|
294
|
+
const rootClass = cn("kz-range-slider-root", containerClassName);
|
|
295
|
+
const wrapperClass = cn(
|
|
296
|
+
"kz-range-slider-wrapper",
|
|
297
|
+
`kz-range-slider-wrapper--${variant}`,
|
|
298
|
+
`kz-range-slider-wrapper--${size}`,
|
|
299
|
+
state !== "default" /* Default */ && `kz-range-slider-wrapper--${state}`,
|
|
300
|
+
disabled && "kz-range-slider-wrapper--disabled"
|
|
301
|
+
);
|
|
302
|
+
const renderThumb = (thumb, percent, currentValue) => /* @__PURE__ */ jsx(
|
|
303
|
+
"div",
|
|
304
|
+
{
|
|
305
|
+
className: cn(
|
|
306
|
+
"kz-range-slider-thumb",
|
|
307
|
+
`kz-range-slider-thumb--${size}`,
|
|
308
|
+
dragging === thumb && "kz-range-slider-thumb--active"
|
|
309
|
+
),
|
|
310
|
+
style: { left: `${percent}%` },
|
|
311
|
+
role: "slider",
|
|
312
|
+
tabIndex: disabled ? -1 : 0,
|
|
313
|
+
"aria-valuemin": min,
|
|
314
|
+
"aria-valuemax": max,
|
|
315
|
+
"aria-valuenow": currentValue,
|
|
316
|
+
"aria-disabled": disabled,
|
|
317
|
+
"aria-label": thumb === "start" ? "Range start" : thumb === "end" ? "Range end" : "Value",
|
|
318
|
+
onPointerDown: handlePointerDown(thumb),
|
|
319
|
+
onKeyDown: handleKeyDown(thumb),
|
|
320
|
+
children: showValue && /* @__PURE__ */ jsx("span", { className: "kz-range-slider-value-tooltip", children: format(currentValue) })
|
|
321
|
+
}
|
|
322
|
+
);
|
|
323
|
+
return /* @__PURE__ */ jsxs("div", { className: rootClass, ref, children: [
|
|
324
|
+
label != null && label !== "" && /* @__PURE__ */ jsx("label", { className: "kz-range-slider-label", children: /* @__PURE__ */ jsx(Typography, { variant: "label" /* Label */, children: label }) }),
|
|
325
|
+
description != null && description !== "" && /* @__PURE__ */ jsx(Typography, { variant: "caption" /* Caption */, children: description }),
|
|
326
|
+
showInputs && /* @__PURE__ */ jsxs("div", { className: "kz-range-slider-inputs", children: [
|
|
327
|
+
/* @__PURE__ */ jsx(
|
|
328
|
+
"input",
|
|
329
|
+
{
|
|
330
|
+
type: "text",
|
|
331
|
+
inputMode: "decimal",
|
|
332
|
+
className: cn(
|
|
333
|
+
"kz-range-slider-input",
|
|
334
|
+
`kz-range-slider-input--${size}`,
|
|
335
|
+
`kz-range-slider-input--${resolvedInputVariant}`
|
|
336
|
+
),
|
|
337
|
+
value: startText,
|
|
338
|
+
onChange: (e) => setStartText(e.target.value),
|
|
339
|
+
onBlur: () => commitInput("start", startText),
|
|
340
|
+
onKeyDown: (e) => {
|
|
341
|
+
if (e.key === "Enter") commitInput("start", startText);
|
|
342
|
+
},
|
|
343
|
+
disabled,
|
|
344
|
+
"aria-label": isRange ? "Range start value" : "Value"
|
|
345
|
+
}
|
|
346
|
+
),
|
|
347
|
+
isRange && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
348
|
+
/* @__PURE__ */ jsx(Typography, { variant: "caption" /* Caption */, children: "to" }),
|
|
349
|
+
/* @__PURE__ */ jsx(
|
|
350
|
+
"input",
|
|
351
|
+
{
|
|
352
|
+
type: "text",
|
|
353
|
+
inputMode: "decimal",
|
|
354
|
+
className: cn(
|
|
355
|
+
"kz-range-slider-input",
|
|
356
|
+
`kz-range-slider-input--${size}`
|
|
357
|
+
),
|
|
358
|
+
value: endText,
|
|
359
|
+
onChange: (e) => setEndText(e.target.value),
|
|
360
|
+
onBlur: () => commitInput("end", endText),
|
|
361
|
+
onKeyDown: (e) => {
|
|
362
|
+
if (e.key === "Enter") commitInput("end", endText);
|
|
363
|
+
},
|
|
364
|
+
disabled,
|
|
365
|
+
"aria-label": "Range end value"
|
|
366
|
+
}
|
|
367
|
+
)
|
|
368
|
+
] })
|
|
369
|
+
] }),
|
|
370
|
+
/* @__PURE__ */ jsx(
|
|
371
|
+
"div",
|
|
372
|
+
{
|
|
373
|
+
className: wrapperClass,
|
|
374
|
+
onPointerMove: handlePointerMove,
|
|
375
|
+
onPointerUp: handlePointerUp,
|
|
376
|
+
onPointerLeave: handlePointerUp,
|
|
377
|
+
children: /* @__PURE__ */ jsxs(
|
|
378
|
+
"div",
|
|
379
|
+
{
|
|
380
|
+
className: "kz-range-slider-track",
|
|
381
|
+
ref: trackRef,
|
|
382
|
+
onClick: handleTrackClick,
|
|
383
|
+
children: [
|
|
384
|
+
/* @__PURE__ */ jsx(
|
|
385
|
+
"div",
|
|
386
|
+
{
|
|
387
|
+
className: "kz-range-slider-fill",
|
|
388
|
+
style: isRange ? {
|
|
389
|
+
left: `${startPercent}%`,
|
|
390
|
+
width: `${endPercent - startPercent}%`
|
|
391
|
+
} : { left: "0%", width: `${singlePercent}%` }
|
|
392
|
+
}
|
|
393
|
+
),
|
|
394
|
+
isRange && rangeValue ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
395
|
+
renderThumb("start", startPercent, rangeValue[0]),
|
|
396
|
+
renderThumb("end", endPercent, rangeValue[1])
|
|
397
|
+
] }) : value != null && renderThumb("single", singlePercent, value)
|
|
398
|
+
]
|
|
399
|
+
}
|
|
400
|
+
)
|
|
401
|
+
}
|
|
402
|
+
),
|
|
403
|
+
showMinMax && /* @__PURE__ */ jsxs("div", { className: "kz-range-slider-minmax", children: [
|
|
404
|
+
/* @__PURE__ */ jsx(Typography, { variant: "caption" /* Caption */, children: format(min) }),
|
|
405
|
+
/* @__PURE__ */ jsx(Typography, { variant: "caption" /* Caption */, children: format(max) })
|
|
406
|
+
] }),
|
|
407
|
+
stateMessage != null && stateMessage !== "" && /* @__PURE__ */ jsx(
|
|
408
|
+
Typography,
|
|
409
|
+
{
|
|
410
|
+
id: messageId,
|
|
411
|
+
variant: state === "error" /* Error */ ? "error" /* Error */ : state === "success" /* Success */ ? "success" /* Success */ : "warning" /* Warning */,
|
|
412
|
+
children: stateMessage
|
|
413
|
+
}
|
|
414
|
+
),
|
|
415
|
+
helperText != null && helperText !== "" && state === "default" /* Default */ && /* @__PURE__ */ jsx(Typography, { variant: "caption" /* Caption */, children: helperText })
|
|
416
|
+
] });
|
|
417
|
+
}
|
|
418
|
+
);
|
|
419
|
+
RangeSlider.displayName = "RangeSlider";
|
|
420
|
+
export {
|
|
421
|
+
RangeSlider,
|
|
422
|
+
TextInputSize,
|
|
423
|
+
TextInputState,
|
|
424
|
+
TextInputVariant
|
|
425
|
+
};
|
|
426
|
+
//# sourceMappingURL=range-slider.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/range-slider/RangeSlider.tsx","../src/utils/cn.ts","../src/constants/enum.ts","../src/components/typography/Typography.tsx","../src/components/typography/typography-variants.ts"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport {\n TextInputVariant,\n TextInputSize,\n TextInputState,\n} from \"../../constants/enum\";\nimport { Typography } from \"../typography\";\nimport { TypographyVariantEnum } from \"../typography/typography-variants\";\n\nexport interface RangeSliderProps {\n size?: TextInputSize;\n variant?: TextInputVariant;\n\n label?: string;\n helperText?: string;\n description?: string;\n\n state?: TextInputState;\n errorText?: string;\n successText?: string;\n warningText?: string;\n\n /** Single-thumb mode value */\n value?: number;\n /** Dual-thumb mode value: [min, max] */\n rangeValue?: [number, number];\n onValueChange?: (value: number) => void;\n onRangeChange?: (value: [number, number]) => void;\n\n min?: number;\n max?: number;\n step?: number;\n\n /** Show current value tooltip above thumb */\n showValue?: boolean;\n /** Show min/max labels below the track */\n showMinMax?: boolean;\n /** Custom value formatter for display */\n formatValue?: (value: number) => string;\n /** Show manual input fields above the slider */\n showInputs?: boolean;\n /** Visual variant for the manual input fields (defaults to the slider's variant) */\n inputVariant?: TextInputVariant;\n\n disabled?: boolean;\n containerClassName?: string;\n}\n\nconst clamp = (val: number, min: number, max: number) =>\n Math.min(Math.max(val, min), max);\n\nconst snapToStep = (val: number, min: number, step: number) => {\n const steps = Math.round((val - min) / step);\n return min + steps * step;\n};\n\nconst RangeSlider = React.forwardRef<HTMLDivElement, RangeSliderProps>(\n (\n {\n size = TextInputSize.Md,\n variant = TextInputVariant.Default,\n label,\n helperText,\n description,\n state = TextInputState.Default,\n errorText,\n successText,\n warningText,\n value,\n rangeValue,\n onValueChange,\n onRangeChange,\n min = 0,\n max = 100,\n step = 1,\n showValue = false,\n showMinMax = false,\n formatValue,\n showInputs = false,\n inputVariant,\n disabled = false,\n containerClassName,\n },\n ref\n ) => {\n const resolvedInputVariant = inputVariant ?? variant;\n const isRange = rangeValue != null;\n const trackRef = React.useRef<HTMLDivElement>(null);\n const [dragging, setDragging] = React.useState<\n null | \"single\" | \"start\" | \"end\"\n >(null);\n\n // Internal text state for manual inputs so user can type freely\n const [startText, setStartText] = React.useState(\n String(isRange ? rangeValue[0] : (value ?? min))\n );\n const [endText, setEndText] = React.useState(\n String(isRange ? rangeValue[1] : max)\n );\n\n // Sync internal text when value/rangeValue changes externally (e.g. via slider drag)\n React.useEffect(() => {\n if (isRange && rangeValue) {\n setStartText(String(rangeValue[0]));\n setEndText(String(rangeValue[1]));\n } else if (value != null) {\n setStartText(String(value));\n }\n }, [isRange, value, rangeValue]);\n\n const commitInput = (which: \"start\" | \"end\", raw: string) => {\n const parsed = parseFloat(raw);\n if (isNaN(parsed)) return;\n const clamped = clamp(snapToStep(parsed, min, step), min, max);\n\n if (isRange && rangeValue) {\n if (which === \"start\") {\n const safe = Math.min(clamped, rangeValue[1]);\n onRangeChange?.([safe, rangeValue[1]]);\n } else {\n const safe = Math.max(clamped, rangeValue[0]);\n onRangeChange?.([rangeValue[0], safe]);\n }\n } else {\n onValueChange?.(clamped);\n }\n };\n\n const format = formatValue ?? ((v: number) => String(v));\n\n const getPercent = (val: number) => ((val - min) / (max - min)) * 100;\n\n const getValueFromPosition = (clientX: number) => {\n const track = trackRef.current;\n if (!track) return min;\n const rect = track.getBoundingClientRect();\n const ratio = clamp((clientX - rect.left) / rect.width, 0, 1);\n const raw = min + ratio * (max - min);\n return clamp(snapToStep(raw, min, step), min, max);\n };\n\n const handlePointerDown =\n (thumb: \"single\" | \"start\" | \"end\") => (e: React.PointerEvent) => {\n if (disabled) return;\n e.preventDefault();\n (e.target as HTMLElement).setPointerCapture(e.pointerId);\n setDragging(thumb);\n const val = getValueFromPosition(e.clientX);\n applyValue(thumb, val);\n };\n\n const handlePointerMove = (e: React.PointerEvent) => {\n if (!dragging || disabled) return;\n const val = getValueFromPosition(e.clientX);\n applyValue(dragging, val);\n };\n\n const handlePointerUp = () => {\n setDragging(null);\n };\n\n const applyValue = (thumb: \"single\" | \"start\" | \"end\", val: number) => {\n if (thumb === \"single\") {\n onValueChange?.(val);\n } else if (rangeValue) {\n if (thumb === \"start\") {\n const clamped = Math.min(val, rangeValue[1]);\n onRangeChange?.([clamped, rangeValue[1]]);\n } else {\n const clamped = Math.max(val, rangeValue[0]);\n onRangeChange?.([rangeValue[0], clamped]);\n }\n }\n };\n\n const handleTrackClick = (e: React.MouseEvent) => {\n if (disabled) return;\n const val = getValueFromPosition(e.clientX);\n if (isRange && rangeValue) {\n const distStart = Math.abs(val - rangeValue[0]);\n const distEnd = Math.abs(val - rangeValue[1]);\n if (distStart <= distEnd) {\n onRangeChange?.([Math.min(val, rangeValue[1]), rangeValue[1]]);\n } else {\n onRangeChange?.([rangeValue[0], Math.max(val, rangeValue[0])]);\n }\n } else {\n onValueChange?.(val);\n }\n };\n\n const handleKeyDown =\n (thumb: \"single\" | \"start\" | \"end\") => (e: React.KeyboardEvent) => {\n if (disabled) return;\n let delta = 0;\n if (e.key === \"ArrowRight\" || e.key === \"ArrowUp\") delta = step;\n else if (e.key === \"ArrowLeft\" || e.key === \"ArrowDown\") delta = -step;\n else if (e.key === \"Home\") {\n applyValue(thumb, min);\n return;\n } else if (e.key === \"End\") {\n applyValue(thumb, max);\n return;\n } else return;\n\n e.preventDefault();\n if (thumb === \"single\" && value != null) {\n applyValue(thumb, clamp(value + delta, min, max));\n } else if (rangeValue) {\n const current = thumb === \"start\" ? rangeValue[0] : rangeValue[1];\n applyValue(thumb, clamp(current + delta, min, max));\n }\n };\n\n const stateMessage =\n state === TextInputState.Error\n ? errorText\n : state === TextInputState.Success\n ? successText\n : state === TextInputState.Warning\n ? warningText\n : undefined;\n\n const uniqueId = React.useId();\n const messageId = `kz-range-slider-message-${uniqueId}`;\n\n // Percentages\n const singlePercent = value != null ? getPercent(value) : 0;\n const startPercent = rangeValue ? getPercent(rangeValue[0]) : 0;\n const endPercent = rangeValue ? getPercent(rangeValue[1]) : 100;\n\n const rootClass = cn(\"kz-range-slider-root\", containerClassName);\n\n const wrapperClass = cn(\n \"kz-range-slider-wrapper\",\n `kz-range-slider-wrapper--${variant}`,\n `kz-range-slider-wrapper--${size}`,\n state !== TextInputState.Default && `kz-range-slider-wrapper--${state}`,\n disabled && \"kz-range-slider-wrapper--disabled\"\n );\n\n const renderThumb = (\n thumb: \"single\" | \"start\" | \"end\",\n percent: number,\n currentValue: number\n ) => (\n <div\n className={cn(\n \"kz-range-slider-thumb\",\n `kz-range-slider-thumb--${size}`,\n dragging === thumb && \"kz-range-slider-thumb--active\"\n )}\n style={{ left: `${percent}%` }}\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={currentValue}\n aria-disabled={disabled}\n aria-label={\n thumb === \"start\"\n ? \"Range start\"\n : thumb === \"end\"\n ? \"Range end\"\n : \"Value\"\n }\n onPointerDown={handlePointerDown(thumb)}\n onKeyDown={handleKeyDown(thumb)}\n >\n {showValue && (\n <span className=\"kz-range-slider-value-tooltip\">\n {format(currentValue)}\n </span>\n )}\n </div>\n );\n\n return (\n <div className={rootClass} ref={ref}>\n {label != null && label !== \"\" && (\n <label className=\"kz-range-slider-label\">\n <Typography variant={TypographyVariantEnum.Label}>\n {label}\n </Typography>\n </label>\n )}\n\n {description != null && description !== \"\" && (\n <Typography variant={TypographyVariantEnum.Caption}>\n {description}\n </Typography>\n )}\n\n {showInputs && (\n <div className=\"kz-range-slider-inputs\">\n <input\n type=\"text\"\n inputMode=\"decimal\"\n className={cn(\n \"kz-range-slider-input\",\n `kz-range-slider-input--${size}`,\n `kz-range-slider-input--${resolvedInputVariant}`\n )}\n value={startText}\n onChange={(e) => setStartText(e.target.value)}\n onBlur={() => commitInput(\"start\", startText)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") commitInput(\"start\", startText);\n }}\n disabled={disabled}\n aria-label={isRange ? \"Range start value\" : \"Value\"}\n />\n {isRange && (\n <>\n <Typography variant={TypographyVariantEnum.Caption}>\n to\n </Typography>\n <input\n type=\"text\"\n inputMode=\"decimal\"\n className={cn(\n \"kz-range-slider-input\",\n `kz-range-slider-input--${size}`\n )}\n value={endText}\n onChange={(e) => setEndText(e.target.value)}\n onBlur={() => commitInput(\"end\", endText)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") commitInput(\"end\", endText);\n }}\n disabled={disabled}\n aria-label=\"Range end value\"\n />\n </>\n )}\n </div>\n )}\n\n <div\n className={wrapperClass}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n onPointerLeave={handlePointerUp}\n >\n <div\n className=\"kz-range-slider-track\"\n ref={trackRef}\n onClick={handleTrackClick}\n >\n <div\n className=\"kz-range-slider-fill\"\n style={\n isRange\n ? {\n left: `${startPercent}%`,\n width: `${endPercent - startPercent}%`,\n }\n : { left: \"0%\", width: `${singlePercent}%` }\n }\n />\n {isRange && rangeValue ? (\n <>\n {renderThumb(\"start\", startPercent, rangeValue[0])}\n {renderThumb(\"end\", endPercent, rangeValue[1])}\n </>\n ) : (\n value != null && renderThumb(\"single\", singlePercent, value)\n )}\n </div>\n </div>\n\n {showMinMax && (\n <div className=\"kz-range-slider-minmax\">\n <Typography variant={TypographyVariantEnum.Caption}>\n {format(min)}\n </Typography>\n <Typography variant={TypographyVariantEnum.Caption}>\n {format(max)}\n </Typography>\n </div>\n )}\n\n {stateMessage != null && stateMessage !== \"\" && (\n <Typography\n id={messageId}\n variant={\n state === TextInputState.Error\n ? TypographyVariantEnum.Error\n : state === TextInputState.Success\n ? TypographyVariantEnum.Success\n : TypographyVariantEnum.Warning\n }\n >\n {stateMessage}\n </Typography>\n )}\n\n {helperText != null &&\n helperText !== \"\" &&\n state === TextInputState.Default && (\n <Typography variant={TypographyVariantEnum.Caption}>\n {helperText}\n </Typography>\n )}\n </div>\n );\n }\n);\n\nRangeSlider.displayName = \"RangeSlider\";\n\nexport { RangeSlider };\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","export enum Theme {\n Light = \"light\",\n Dark = \"dark\",\n}\n\nexport enum ThemeStyle {\n Enterprise = \"enterprise\",\n Neumorphic = \"neumorphic\",\n Standard = \"standard\",\n Glassmorphic = \"glassmorphic\",\n}\n\nexport enum KezelVariant {\n Standard = \"standard\",\n Neumorphic = \"neumorphic\",\n}\n\nexport enum KezelMode {\n Light,\n Dark,\n}\n\nexport enum ButtonVariant {\n Primary = \"primary\",\n Ghost = \"ghost\",\n Container = \"container\",\n}\n\nexport enum ButtonStatus {\n Default = \"default\",\n Brand = \"brand\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n Info = \"info\",\n}\n\nexport enum ButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ButtonType {\n Button = \"button\",\n Submit = \"submit\",\n Reset = \"reset\",\n}\n\nexport enum ButtonAspectRatio {\n Auto = \"auto\",\n Square = \"square\",\n}\n\nexport enum DropdownTriggerVariant {\n Default = \"default\",\n Ghost = \"ghost\",\n}\n\nexport enum TypographyVariant {\n H1 = \"h1\",\n H2 = \"h2\",\n H3 = \"h3\",\n H4 = \"h4\",\n H5 = \"h5\",\n Body = \"body\",\n Small = \"small\",\n Caption = \"caption\",\n Label = \"label\",\n Link = \"link\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TypographyTone {\n Primary = \"primary\",\n Secondary = \"secondary\",\n Muted = \"muted\",\n Disabled = \"disabled\",\n Inverse = \"inverse\",\n Link = \"link\",\n}\n\nexport enum TypographyAlign {\n Left = \"left\",\n Center = \"center\",\n Right = \"right\",\n}\n\nexport enum TypographyWeight {\n Regular = \"regular\",\n Medium = \"medium\",\n Semibold = \"semibold\",\n Bold = \"bold\",\n}\n\nexport enum TokenCategory {\n Color = \"color\",\n Shadow = \"shadow\",\n Length = \"length\",\n Number = \"number\",\n LineHeight = \"lineHeight\",\n FontFamily = \"fontFamily\",\n FontWeight = \"fontWeight\",\n Duration = \"duration\",\n Easing = \"easing\",\n}\n\nexport enum OverrideMode {\n Safe = \"safe\",\n Strict = \"strict\",\n}\n\nexport enum TextInputVariant {\n Default = \"default\",\n Container = \"container\",\n Ghost = \"ghost\",\n}\n\nexport enum TextInputSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TextInputState {\n Default = \"default\",\n Error = \"error\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport enum TextInputType {\n Text = \"text\",\n Email = \"email\",\n Password = \"password\",\n Number = \"number\",\n Search = \"search\",\n Tel = \"tel\",\n Url = \"url\",\n}\n\nexport enum TooltipSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum TooltipPosition {\n Top = \"top\",\n Right = \"right\",\n Bottom = \"bottom\",\n Left = \"left\",\n}\n\nexport enum TooltipAlign {\n Start = \"start\",\n Center = \"center\",\n End = \"end\",\n}\n\nexport enum TooltipColor {\n Default = \"default\",\n Inverse = \"inverse\",\n Success = \"success\",\n Warning = \"warning\",\n Error = \"error\",\n}\n\nexport enum ToggleButtonVariant {\n Default = \"default\",\n Primary = \"primary\",\n Container = \"container\",\n}\n\nexport enum ToggleButtonSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum CheckboxVariant {\n Default = \"default\",\n Container = \"container\",\n}\n\nexport enum RadioSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum AvatarSize {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n Xl = \"xl\",\n}\n\nexport enum AvatarStatus {\n Online = \"online\",\n Busy = \"busy\",\n Away = \"away\",\n Offline = \"offline\",\n}\n\nexport enum ToastVariant {\n Success = \"success\",\n Error = \"error\",\n Warning = \"warning\",\n Info = \"info\",\n}\n\nexport enum CardShadow {\n Sm = \"sm\",\n Md = \"md\",\n Lg = \"lg\",\n}\n\nexport enum ToastPosition {\n TopRight = \"top-right\",\n TopLeft = \"top-left\",\n BottomRight = \"bottom-right\",\n BottomLeft = \"bottom-left\",\n}\n\nexport enum QrPattern {\n Square = \"square\",\n Circle = \"circle\",\n Diamond = \"diamond\",\n}\n","import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport {\n getTypographyClass,\n getDefaultElement,\n type TypographyVariant,\n} from \"./typography-variants\";\nimport {\n TypographyTone as TypographyToneEnum,\n TypographyAlign as TypographyAlignEnum,\n TypographyWeight as TypographyWeightEnum,\n} from \"../../constants/enum\";\n\nexport {\n TypographyTone as TypographyToneEnum,\n TypographyAlign as TypographyAlignEnum,\n TypographyWeight as TypographyWeightEnum,\n} from \"../../constants/enum\";\n\nexport type TypographyTone = TypographyToneEnum;\nexport type TypographyAlign = TypographyAlignEnum;\nexport type TypographyWeight = TypographyWeightEnum;\n\nexport type TypographyAsElement =\n | \"p\"\n | \"span\"\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"div\"\n | \"a\"\n | \"label\"\n | \"figcaption\";\n\nexport interface TypographyProps extends Omit<\n React.HTMLAttributes<HTMLElement>,\n \"color\"\n> {\n children: React.ReactNode;\n variant: TypographyVariant;\n href?: string;\n tone?: TypographyTone;\n as?: TypographyAsElement;\n align?: TypographyAlign;\n truncate?: boolean;\n lines?: number;\n weight?: TypographyWeight;\n className?: string;\n}\n\nconst alignClass: Record<TypographyAlignEnum, string> = {\n [TypographyAlignEnum.Left]: \"text-left\",\n [TypographyAlignEnum.Center]: \"text-center\",\n [TypographyAlignEnum.Right]: \"text-right\",\n};\n\nconst weightClass: Record<TypographyWeightEnum, string> = {\n [TypographyWeightEnum.Regular]: \"font-normal\",\n [TypographyWeightEnum.Medium]: \"font-medium\",\n [TypographyWeightEnum.Semibold]: \"font-semibold\",\n [TypographyWeightEnum.Bold]: \"font-bold\",\n};\n\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n (\n {\n children,\n variant,\n href,\n tone,\n as,\n align,\n truncate,\n lines,\n weight,\n className,\n style,\n ...props\n },\n ref\n ) => {\n const Comp = href !== undefined ? \"a\" : (as ?? getDefaultElement(variant));\n const typographyClass = getTypographyClass(variant);\n\n const toneClass =\n tone !== undefined ? `kz-typography-tone-${tone}` : undefined;\n\n const lineClampStyle: React.CSSProperties | undefined =\n lines !== undefined && lines > 0\n ? {\n display: \"-webkit-box\",\n WebkitBoxOrient: \"vertical\",\n WebkitLineClamp: lines,\n overflow: \"hidden\",\n }\n : undefined;\n\n const combinedStyle = lineClampStyle\n ? { ...style, ...lineClampStyle }\n : style;\n\n return React.createElement(\n Comp as \"p\",\n {\n ref,\n ...(href !== undefined && { href }),\n className: cn(\n typographyClass,\n toneClass,\n align !== undefined && alignClass[align],\n truncate && \"truncate\",\n weight !== undefined && weightClass[weight],\n className\n ),\n style: combinedStyle,\n ...props,\n },\n children\n );\n }\n);\n\nTypography.displayName = \"Typography\";\n\nexport { Typography };\nexport type { TypographyVariant };\n","import { TypographyVariant as TypographyVariantEnum } from \"../../constants/enum\";\n\nexport { TypographyVariant as TypographyVariantEnum } from \"../../constants/enum\";\n\nexport type TypographyVariant = TypographyVariantEnum;\n\nexport const typographyVariants: TypographyVariant[] = [\n TypographyVariantEnum.H1,\n TypographyVariantEnum.H2,\n TypographyVariantEnum.H3,\n TypographyVariantEnum.H4,\n TypographyVariantEnum.H5,\n TypographyVariantEnum.Body,\n TypographyVariantEnum.Small,\n TypographyVariantEnum.Caption,\n TypographyVariantEnum.Label,\n TypographyVariantEnum.Link,\n TypographyVariantEnum.Error,\n TypographyVariantEnum.Success,\n TypographyVariantEnum.Warning,\n];\n\nconst variantToClass: Record<TypographyVariant, string> = {\n [TypographyVariantEnum.H1]: \"kz-typography-h1\",\n [TypographyVariantEnum.H2]: \"kz-typography-h2\",\n [TypographyVariantEnum.H3]: \"kz-typography-h3\",\n [TypographyVariantEnum.H4]: \"kz-typography-h4\",\n [TypographyVariantEnum.H5]: \"kz-typography-h5\",\n [TypographyVariantEnum.Body]: \"kz-typography-body\",\n [TypographyVariantEnum.Small]: \"kz-typography-small\",\n [TypographyVariantEnum.Caption]: \"kz-typography-caption\",\n [TypographyVariantEnum.Label]: \"kz-typography-label\",\n [TypographyVariantEnum.Link]: \"kz-typography-link\",\n [TypographyVariantEnum.Error]: \"kz-typography-error\",\n [TypographyVariantEnum.Success]: \"kz-typography-success\",\n [TypographyVariantEnum.Warning]: \"kz-typography-warning\",\n};\n\nexport function getTypographyClass(variant: TypographyVariant): string {\n return variantToClass[variant];\n}\n\nconst defaultElement: Record<TypographyVariant, keyof JSX.IntrinsicElements> = {\n [TypographyVariantEnum.H1]: \"h1\",\n [TypographyVariantEnum.H2]: \"h2\",\n [TypographyVariantEnum.H3]: \"h3\",\n [TypographyVariantEnum.H4]: \"h4\",\n [TypographyVariantEnum.H5]: \"h5\",\n [TypographyVariantEnum.Body]: \"p\",\n [TypographyVariantEnum.Small]: \"span\",\n [TypographyVariantEnum.Caption]: \"span\",\n [TypographyVariantEnum.Label]: \"span\",\n [TypographyVariantEnum.Link]: \"a\",\n [TypographyVariantEnum.Error]: \"span\",\n [TypographyVariantEnum.Success]: \"span\",\n [TypographyVariantEnum.Warning]: \"span\",\n};\n\nexport function getDefaultElement(\n variant: TypographyVariant\n): keyof JSX.IntrinsicElements {\n return defaultElement[variant];\n}\n"],"mappings":"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","names":["React","TextInputVariant","TextInputSize","TextInputState"]}
|
package/dist/select.js
CHANGED
|
@@ -268,7 +268,11 @@ var iconRegistry = {
|
|
|
268
268
|
["pencil" /* Pencil */]: import_lucide_react.Pencil,
|
|
269
269
|
["trash-2" /* Trash2 */]: import_lucide_react.Trash2,
|
|
270
270
|
["eye" /* Eye */]: import_lucide_react.Eye,
|
|
271
|
-
["eye-off" /* EyeOff */]: import_lucide_react.EyeOff
|
|
271
|
+
["eye-off" /* EyeOff */]: import_lucide_react.EyeOff,
|
|
272
|
+
["pin" /* Pin */]: import_lucide_react.Pin,
|
|
273
|
+
["pin-off" /* PinOff */]: import_lucide_react.PinOff,
|
|
274
|
+
["save" /* Save */]: import_lucide_react.Save,
|
|
275
|
+
["rotate-ccw" /* RotateCcw */]: import_lucide_react.RotateCcw
|
|
272
276
|
};
|
|
273
277
|
|
|
274
278
|
// src/icon/icon-sizes.ts
|