@telepix-lab/telepix-ui 0.1.2 → 0.2.1
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/cjs/autocomplete/styles.d.ts +0 -1
- package/dist/cjs/hooks/usePreferColors.d.ts +13 -0
- package/dist/cjs/index.js +737 -1511
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/styles/primitiveColors.stylex.d.ts +6 -6
- package/dist/cjs/styles/semanticColors.stylex.d.ts +98 -0
- package/dist/cjs/styles.css +151 -57
- package/dist/esm/autocomplete/styles.d.ts +0 -1
- package/dist/esm/hooks/usePreferColors.d.ts +13 -0
- package/dist/esm/index.js +736 -1512
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/styles/primitiveColors.stylex.d.ts +6 -6
- package/dist/esm/styles/semanticColors.stylex.d.ts +98 -0
- package/dist/esm/styles.css +151 -57
- package/dist/index.d.ts +105 -8
- package/package.json +2 -1
package/dist/esm/index.js
CHANGED
|
@@ -1,34 +1,11 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import * as stylex from '@stylexjs/stylex';
|
|
3
2
|
import * as React from 'react';
|
|
4
|
-
import React__default, { useState, useLayoutEffect, forwardRef, createElement,
|
|
3
|
+
import React__default, { useState, useEffect, useLayoutEffect, forwardRef, createElement, createContext, useContext, useRef, useCallback } from 'react';
|
|
4
|
+
import * as stylex from '@stylexjs/stylex';
|
|
5
5
|
import * as ReactDOM from 'react-dom';
|
|
6
6
|
import ReactDOM__default from 'react-dom';
|
|
7
7
|
import { DayPicker } from 'react-day-picker';
|
|
8
8
|
|
|
9
|
-
// 간격 변수 정의
|
|
10
|
-
const spacing = {
|
|
11
|
-
xs: "var(--tpst1aa85u5)",
|
|
12
|
-
sm: "var(--tpst15cl33r)",
|
|
13
|
-
md: "var(--tpst1s1bzlu)",
|
|
14
|
-
lg: "var(--tpstr1ymy1)",
|
|
15
|
-
xl: "var(--tpst13zox1l)",
|
|
16
|
-
xxl: "var(--tpst1xkcubw)",
|
|
17
|
-
xxxl: "var(--tpst67ua5f)",
|
|
18
|
-
__themeName__: "tpst1cmuz2h"
|
|
19
|
-
};
|
|
20
|
-
// 테두리 반경 변수 정의
|
|
21
|
-
const borderRadius = {
|
|
22
|
-
none: "var(--tpst16kocez)",
|
|
23
|
-
xs: "var(--tpst1vsob78)",
|
|
24
|
-
sm: "var(--tpst1w7bvkk)",
|
|
25
|
-
md: "var(--tpst1ls88jo)",
|
|
26
|
-
lg: "var(--tpst1d2ic4p)",
|
|
27
|
-
xl: "var(--tpst1bkg6mz)",
|
|
28
|
-
full: "var(--tpstbu84cc)",
|
|
29
|
-
__themeName__: "tpstun8bdo"
|
|
30
|
-
};
|
|
31
|
-
|
|
32
9
|
// 프리미티브 컬러 변수 정의
|
|
33
10
|
const primitiveColors = {
|
|
34
11
|
blue100: "var(--tpstqe013h)",
|
|
@@ -49,16 +26,16 @@ const primitiveColors = {
|
|
|
49
26
|
cyan700: "var(--tpsth1uc7g)",
|
|
50
27
|
cyan800: "var(--tpsttewm74)",
|
|
51
28
|
cyan900: "var(--tpst1ts0yxk)",
|
|
29
|
+
darkOpacity25: "var(--tpst1695na0)",
|
|
30
|
+
darkOpacity50: "var(--tpstoyk8v8)",
|
|
52
31
|
darkOpacity100: "var(--tpst101zq66)",
|
|
53
32
|
darkOpacity150: "var(--tpst18059y4)",
|
|
54
33
|
darkOpacity200: "var(--tpst1o2qj1w)",
|
|
55
|
-
darkOpacity25: "var(--tpst1695na0)",
|
|
56
34
|
darkOpacity250: "var(--tpst1e4u9cd)",
|
|
57
35
|
darkOpacity300: "var(--tpstzzylim)",
|
|
58
36
|
darkOpacity350: "var(--tpst1giqxg)",
|
|
59
37
|
darkOpacity400: "var(--tpst1ckp6cb)",
|
|
60
38
|
darkOpacity450: "var(--tpst1ujyhgx)",
|
|
61
|
-
darkOpacity50: "var(--tpstoyk8v8)",
|
|
62
39
|
darkOpacity500: "var(--tpstdb8mlt)",
|
|
63
40
|
darkOpacity550: "var(--tpst142inpb)",
|
|
64
41
|
darkOpacity600: "var(--tpstrvxn8n)",
|
|
@@ -77,16 +54,16 @@ const primitiveColors = {
|
|
|
77
54
|
green700: "var(--tpst1a1gxqa)",
|
|
78
55
|
green800: "var(--tpstb6uyui)",
|
|
79
56
|
green900: "var(--tpstklhf60)",
|
|
57
|
+
lightOpacity25: "var(--tpstevrkdv)",
|
|
58
|
+
lightOpacity50: "var(--tpst8kgh2v)",
|
|
80
59
|
lightOpacity100: "var(--tpst1i0r5ji)",
|
|
81
60
|
lightOpacity150: "var(--tpst1y5wwdd)",
|
|
82
61
|
lightOpacity200: "var(--tpst1qyy4b3)",
|
|
83
|
-
lightOpacity25: "var(--tpstevrkdv)",
|
|
84
62
|
lightOpacity250: "var(--tpst9u9sq4)",
|
|
85
63
|
lightOpacity300: "var(--tpst9ontey)",
|
|
86
64
|
lightOpacity350: "var(--tpst7h2gr7)",
|
|
87
65
|
lightOpacity400: "var(--tpstrlh8f2)",
|
|
88
66
|
lightOpacity450: "var(--tpstpvck6k)",
|
|
89
|
-
lightOpacity50: "var(--tpst8kgh2v)",
|
|
90
67
|
lightOpacity500: "var(--tpstwf3o2r)",
|
|
91
68
|
lightOpacity550: "var(--tpst1yklry3)",
|
|
92
69
|
lightOpacity600: "var(--tpst1pqr7tr)",
|
|
@@ -105,16 +82,16 @@ const primitiveColors = {
|
|
|
105
82
|
magenta700: "var(--tpst11snvgx)",
|
|
106
83
|
magenta800: "var(--tpst14beq8s)",
|
|
107
84
|
magenta900: "var(--tpstzb1amu)",
|
|
85
|
+
neutral25: "var(--tpsttwjrp6)",
|
|
86
|
+
neutral50: "var(--tpst1oe8qtm)",
|
|
108
87
|
neutral100: "var(--tpst1gpymmf)",
|
|
109
88
|
neutral150: "var(--tpst1wxl5pq)",
|
|
110
89
|
neutral200: "var(--tpst12b1wd7)",
|
|
111
|
-
neutral25: "var(--tpsttwjrp6)",
|
|
112
90
|
neutral250: "var(--tpstxadivy)",
|
|
113
91
|
neutral300: "var(--tpst13x3j6w)",
|
|
114
92
|
neutral350: "var(--tpstihxxi9)",
|
|
115
93
|
neutral400: "var(--tpstv2m2ve)",
|
|
116
94
|
neutral450: "var(--tpstiiea8d)",
|
|
117
|
-
neutral50: "var(--tpst1oe8qtm)",
|
|
118
95
|
neutral500: "var(--tpst1yltxr6)",
|
|
119
96
|
neutral550: "var(--tpstr8jwi2)",
|
|
120
97
|
neutral600: "var(--tpst1dl1ny3)",
|
|
@@ -257,6 +234,89 @@ const semanticColors = {
|
|
|
257
234
|
transparent: "var(--tpst1wrmwgo)",
|
|
258
235
|
__themeName__: "tpst1h3jhwn"
|
|
259
236
|
};
|
|
237
|
+
const lightMode = {
|
|
238
|
+
$$css: true,
|
|
239
|
+
tpst1h3jhwn: "tpst1eqgcyt tpst1h3jhwn"
|
|
240
|
+
};
|
|
241
|
+
const darkMode = {
|
|
242
|
+
$$css: true,
|
|
243
|
+
tpst1h3jhwn: "tpst1bbvikf tpst1h3jhwn"
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
const usePreferColors = () => {
|
|
247
|
+
const [dataTheme, setDataTheme] = useState("light");
|
|
248
|
+
const initTheme = () => {
|
|
249
|
+
const targetNode = document.documentElement; // <html> 엘리먼트
|
|
250
|
+
const currentTheme = targetNode.getAttribute("data-theme");
|
|
251
|
+
// currentTheme이 없으면 system의 기본 테마를 사용
|
|
252
|
+
if (currentTheme === "dark" || currentTheme === "light") {
|
|
253
|
+
setDataTheme(currentTheme);
|
|
254
|
+
} else {
|
|
255
|
+
// matchMedia를 사용하여 시스템의 기본 테마를 확인
|
|
256
|
+
const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
257
|
+
// 시스템의 기본 테마가 dark이면 data-theme을 "dark"로 설정,
|
|
258
|
+
// 아니면 "light"로 설정
|
|
259
|
+
prefersDark ? setDataTheme("dark") : setDataTheme("light");
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
useEffect(() => {
|
|
263
|
+
const targetNode = document.documentElement; // <html> 엘리먼트
|
|
264
|
+
const observer = new MutationObserver(mutationsList => {
|
|
265
|
+
for (const mutation of mutationsList) {
|
|
266
|
+
if (mutation.type === "attributes" && mutation.attributeName === "data-theme") {
|
|
267
|
+
const currentTheme = targetNode.getAttribute("data-theme");
|
|
268
|
+
// currentTheme이 없으면 system의 기본 테마를 사용
|
|
269
|
+
if (currentTheme === "dark" || currentTheme === "light") {
|
|
270
|
+
setDataTheme(currentTheme);
|
|
271
|
+
} else {
|
|
272
|
+
// matchMedia를 사용하여 시스템의 기본 테마를 확인
|
|
273
|
+
const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
274
|
+
// 시스템의 기본 테마가 dark이면 data-theme을 "dark"로 설정,
|
|
275
|
+
// 아니면 "light"로 설정
|
|
276
|
+
prefersDark ? setDataTheme("dark") : setDataTheme("light");
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
});
|
|
281
|
+
observer.observe(targetNode, {
|
|
282
|
+
attributes: true,
|
|
283
|
+
// 속성 감시
|
|
284
|
+
attributeFilter: ["data-theme"] // data-theme만 감시
|
|
285
|
+
});
|
|
286
|
+
initTheme();
|
|
287
|
+
}, []);
|
|
288
|
+
const setStyleXProps = (...styles) => {
|
|
289
|
+
return stylex.props(dataTheme === "dark" ? darkMode : lightMode, ...styles);
|
|
290
|
+
};
|
|
291
|
+
return {
|
|
292
|
+
setStyleXProps,
|
|
293
|
+
dataTheme,
|
|
294
|
+
setDataTheme
|
|
295
|
+
};
|
|
296
|
+
};
|
|
297
|
+
|
|
298
|
+
// 간격 변수 정의
|
|
299
|
+
const spacing = {
|
|
300
|
+
xs: "var(--tpst1aa85u5)",
|
|
301
|
+
sm: "var(--tpst15cl33r)",
|
|
302
|
+
md: "var(--tpst1s1bzlu)",
|
|
303
|
+
lg: "var(--tpstr1ymy1)",
|
|
304
|
+
xl: "var(--tpst13zox1l)",
|
|
305
|
+
xxl: "var(--tpst1xkcubw)",
|
|
306
|
+
xxxl: "var(--tpst67ua5f)",
|
|
307
|
+
__themeName__: "tpst1cmuz2h"
|
|
308
|
+
};
|
|
309
|
+
// 테두리 반경 변수 정의
|
|
310
|
+
const borderRadius = {
|
|
311
|
+
none: "var(--tpst16kocez)",
|
|
312
|
+
xs: "var(--tpst1vsob78)",
|
|
313
|
+
sm: "var(--tpst1w7bvkk)",
|
|
314
|
+
md: "var(--tpst1ls88jo)",
|
|
315
|
+
lg: "var(--tpst1d2ic4p)",
|
|
316
|
+
xl: "var(--tpst1bkg6mz)",
|
|
317
|
+
full: "var(--tpstbu84cc)",
|
|
318
|
+
__themeName__: "tpstun8bdo"
|
|
319
|
+
};
|
|
260
320
|
|
|
261
321
|
// 폰트 패밀리 변수 정의
|
|
262
322
|
const fontFamily = {
|
|
@@ -594,61 +654,19 @@ const commonStyles = {
|
|
|
594
654
|
* </Button>
|
|
595
655
|
* ```
|
|
596
656
|
*/
|
|
597
|
-
const Button = React__default.forwardRef(({
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
const getLoadingSpinnerStyles = () => {
|
|
611
|
-
if (size === "small") {
|
|
612
|
-
return buttonStyles.spinnerSmall;
|
|
613
|
-
}
|
|
614
|
-
if (size === "large") {
|
|
615
|
-
return buttonStyles.spinnerLarge;
|
|
616
|
-
}
|
|
617
|
-
return buttonStyles.spinner;
|
|
618
|
-
};
|
|
619
|
-
return jsxs("button", {
|
|
620
|
-
ref: ref,
|
|
621
|
-
disabled: disabled ?? isLoading,
|
|
622
|
-
className: `${buttonClasses.className} ${className ?? ""}`,
|
|
623
|
-
...rest,
|
|
624
|
-
children: [isLoading && jsx("svg", {
|
|
625
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
626
|
-
width: "24",
|
|
627
|
-
height: "24",
|
|
628
|
-
viewBox: "0 0 24 24",
|
|
629
|
-
fill: "none",
|
|
630
|
-
stroke: "currentColor",
|
|
631
|
-
strokeWidth: "2",
|
|
632
|
-
strokeLinecap: "round",
|
|
633
|
-
strokeLinejoin: "round",
|
|
634
|
-
className: `lucide lucide-loader-circle-icon lucide-loader-circle ${stylex.props(getLoadingSpinnerStyles()).className}`,
|
|
635
|
-
children: jsx("path", {
|
|
636
|
-
d: "M21 12a9 9 0 1 1-6.219-8.56"
|
|
637
|
-
})
|
|
638
|
-
}), leftIcon && jsx("span", {
|
|
639
|
-
className: stylex.props(commonStyles.flexCenter).className,
|
|
640
|
-
children: leftIcon
|
|
641
|
-
}), children && jsx("span", {
|
|
642
|
-
className: "button-text",
|
|
643
|
-
style: {
|
|
644
|
-
visibility: isLoading ? "hidden" : "visible"
|
|
645
|
-
},
|
|
646
|
-
children: children
|
|
647
|
-
}), rightIcon && jsx("span", {
|
|
648
|
-
className: stylex.props(commonStyles.flexCenter).className,
|
|
649
|
-
children: rightIcon
|
|
650
|
-
})]
|
|
651
|
-
});
|
|
657
|
+
const Button = React__default.forwardRef(({ variant = "accent", size = "regular", fullWidth = false, isLoading = false, leftIcon, rightIcon, children, disabled, className, ...rest }, ref) => {
|
|
658
|
+
const { setStyleXProps } = usePreferColors();
|
|
659
|
+
const buttonClasses = setStyleXProps(buttonStyles.base, buttonSizeStyles[size], buttonVariantStyles[variant], fullWidth ? buttonStyles.fullWidth : null, leftIcon || rightIcon ? buttonStyles.withIcon : null);
|
|
660
|
+
const getLoadingSpinnerStyles = () => {
|
|
661
|
+
if (size === "small") {
|
|
662
|
+
return buttonStyles.spinnerSmall;
|
|
663
|
+
}
|
|
664
|
+
if (size === "large") {
|
|
665
|
+
return buttonStyles.spinnerLarge;
|
|
666
|
+
}
|
|
667
|
+
return buttonStyles.spinner;
|
|
668
|
+
};
|
|
669
|
+
return (jsxs("button", { ref: ref, disabled: disabled ?? isLoading, className: `${buttonClasses.className} ${className ?? ""}`, ...rest, children: [isLoading && (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: `lucide lucide-loader-circle-icon lucide-loader-circle ${setStyleXProps(getLoadingSpinnerStyles()).className}`, children: jsx("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) })), leftIcon && (jsx("span", { className: setStyleXProps(commonStyles.flexCenter).className, children: leftIcon })), children && (jsx("span", { className: "button-text", style: { visibility: isLoading ? "hidden" : "visible" }, children: children })), rightIcon && (jsx("span", { className: setStyleXProps(commonStyles.flexCenter).className, children: rightIcon }))] }));
|
|
652
670
|
});
|
|
653
671
|
Button.displayName = "Button";
|
|
654
672
|
|
|
@@ -1017,24 +1035,10 @@ const textStyles = {
|
|
|
1017
1035
|
}
|
|
1018
1036
|
};
|
|
1019
1037
|
|
|
1020
|
-
const Text = ({
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
weight,
|
|
1025
|
-
align,
|
|
1026
|
-
variant = "regularBase",
|
|
1027
|
-
color,
|
|
1028
|
-
as: Component = "p"
|
|
1029
|
-
}) => {
|
|
1030
|
-
const styles = stylex.props(textStyles.base, textVariantStyles[variant], size ? textSizeStyles[size] : undefined, weight ? fontWeightStyles[weight] : undefined, align ? textAlignStyles[align] : undefined);
|
|
1031
|
-
return jsx(Component, {
|
|
1032
|
-
style: color ? {
|
|
1033
|
-
color
|
|
1034
|
-
} : undefined,
|
|
1035
|
-
className: `${styles.className} ${className ?? ""}`,
|
|
1036
|
-
children: children
|
|
1037
|
-
});
|
|
1038
|
+
const Text = ({ children, className, size, weight, align, variant = "regularBase", color, as: Component = "p", }) => {
|
|
1039
|
+
const { setStyleXProps } = usePreferColors();
|
|
1040
|
+
const styles = setStyleXProps(textStyles.base, textVariantStyles[variant], size ? textSizeStyles[size] : undefined, weight ? fontWeightStyles[weight] : undefined, align ? textAlignStyles[align] : undefined);
|
|
1041
|
+
return (jsx(Component, { style: color ? { color } : undefined, className: `${styles.className} ${className ?? ""}`, children: children }));
|
|
1038
1042
|
};
|
|
1039
1043
|
Text.displayName = "Text";
|
|
1040
1044
|
|
|
@@ -1212,30 +1216,11 @@ const inputStyles = {
|
|
|
1212
1216
|
* />
|
|
1213
1217
|
* ```
|
|
1214
1218
|
*/
|
|
1215
|
-
const Input = React__default.forwardRef(({
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
...rest
|
|
1221
|
-
}, ref) => {
|
|
1222
|
-
const inputWrapperClasses = stylex.props(inputWrapperStyles.base, size ? inputWrapperSizeStyles[size] : inputWrapperSizeStyles.regular);
|
|
1223
|
-
const inputClasses = stylex.props(inputStyles.base, size ? inputStyles[size] : inputStyles.regular);
|
|
1224
|
-
return jsxs("div", {
|
|
1225
|
-
"aria-disabled": rest.disabled,
|
|
1226
|
-
className: `${inputWrapperClasses.className} ${wrapperClassName}`,
|
|
1227
|
-
children: [leftIcon && jsx("span", {
|
|
1228
|
-
className: stylex.props(commonStyles.flexCenter).className,
|
|
1229
|
-
children: leftIcon
|
|
1230
|
-
}), jsx("input", {
|
|
1231
|
-
ref: ref,
|
|
1232
|
-
className: `${inputClasses.className} ${rest.className}`,
|
|
1233
|
-
...rest
|
|
1234
|
-
}), rightIcon && jsx("span", {
|
|
1235
|
-
className: stylex.props(commonStyles.flexCenter).className,
|
|
1236
|
-
children: rightIcon
|
|
1237
|
-
})]
|
|
1238
|
-
});
|
|
1219
|
+
const Input = React__default.forwardRef(({ size = "regular", leftIcon, rightIcon, wrapperClassName, ...rest }, ref) => {
|
|
1220
|
+
const { setStyleXProps } = usePreferColors();
|
|
1221
|
+
const inputWrapperClasses = setStyleXProps(inputWrapperStyles.base, size ? inputWrapperSizeStyles[size] : inputWrapperSizeStyles.regular);
|
|
1222
|
+
const inputClasses = setStyleXProps(inputStyles.base, size ? inputStyles[size] : inputStyles.regular);
|
|
1223
|
+
return (jsxs("div", { "aria-disabled": rest.disabled, className: `${inputWrapperClasses.className} ${wrapperClassName}`, children: [leftIcon && (jsx("span", { className: setStyleXProps(commonStyles.flexCenter).className, children: leftIcon })), jsx("input", { ref: ref, className: `${inputClasses.className} ${rest.className}`, ...rest }), rightIcon && (jsx("span", { className: setStyleXProps(commonStyles.flexCenter).className, children: rightIcon }))] }));
|
|
1239
1224
|
});
|
|
1240
1225
|
Input.displayName = "Input";
|
|
1241
1226
|
|
|
@@ -1339,15 +1324,9 @@ const textAreaStyles = {
|
|
|
1339
1324
|
* ```
|
|
1340
1325
|
*/
|
|
1341
1326
|
const TextArea = React__default.forwardRef((rest, ref) => {
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
...
|
|
1345
|
-
children: jsx("textarea", {
|
|
1346
|
-
ref: ref,
|
|
1347
|
-
className: `${textAreaClasses.className} ${rest.className}`,
|
|
1348
|
-
...rest
|
|
1349
|
-
})
|
|
1350
|
-
});
|
|
1327
|
+
const { setStyleXProps } = usePreferColors();
|
|
1328
|
+
const textAreaClasses = setStyleXProps(textAreaStyles.base, rest.disabled ? textAreaStyles.disabled : undefined);
|
|
1329
|
+
return (jsx("div", { ...setStyleXProps(textAreaWrapperStyles.base), children: jsx("textarea", { ref: ref, className: `${textAreaClasses.className} ${rest.className}`, ...rest }) }));
|
|
1351
1330
|
});
|
|
1352
1331
|
TextArea.displayName = "TextArea";
|
|
1353
1332
|
|
|
@@ -10102,64 +10081,32 @@ const X = createLucideIcon("x", __iconNode);
|
|
|
10102
10081
|
* />
|
|
10103
10082
|
* ```
|
|
10104
10083
|
*/
|
|
10105
|
-
const Checkbox = React__default.forwardRef(({
|
|
10106
|
-
|
|
10107
|
-
|
|
10108
|
-
|
|
10109
|
-
|
|
10110
|
-
|
|
10111
|
-
|
|
10112
|
-
|
|
10113
|
-
|
|
10114
|
-
|
|
10115
|
-
disabled
|
|
10116
|
-
|
|
10117
|
-
|
|
10118
|
-
|
|
10119
|
-
|
|
10120
|
-
|
|
10121
|
-
|
|
10122
|
-
|
|
10123
|
-
|
|
10124
|
-
|
|
10125
|
-
|
|
10126
|
-
|
|
10127
|
-
|
|
10128
|
-
|
|
10129
|
-
|
|
10130
|
-
|
|
10131
|
-
...checkboxIconClasses
|
|
10132
|
-
});
|
|
10133
|
-
} else if (checked) {
|
|
10134
|
-
return jsx(SquareCheck, {
|
|
10135
|
-
...checkboxIconClasses
|
|
10136
|
-
});
|
|
10137
|
-
}
|
|
10138
|
-
return jsx(Square, {
|
|
10139
|
-
...checkboxIconClasses
|
|
10140
|
-
});
|
|
10141
|
-
};
|
|
10142
|
-
const onCheckedChange = value => {
|
|
10143
|
-
setChecked(value);
|
|
10144
|
-
onChange?.(value);
|
|
10145
|
-
};
|
|
10146
|
-
return jsxs("div", {
|
|
10147
|
-
className: `${checkboxWrapperClasses.className} ${wrapperClassName}`,
|
|
10148
|
-
children: [jsx(Checkbox$1, {
|
|
10149
|
-
ref: ref,
|
|
10150
|
-
id: id ?? randomId,
|
|
10151
|
-
...rest,
|
|
10152
|
-
checked: checked,
|
|
10153
|
-
className: `${checkboxClasses.className} ${className}`,
|
|
10154
|
-
onCheckedChange: onCheckedChange,
|
|
10155
|
-
children: renderCheckboxIcon(checked, disabled)
|
|
10156
|
-
}), jsx("label", {
|
|
10157
|
-
className: `${labelClasses.className} ${labelClassName}`,
|
|
10158
|
-
htmlFor: id ?? randomId,
|
|
10159
|
-
"aria-disabled": disabled,
|
|
10160
|
-
children: label
|
|
10161
|
-
})]
|
|
10162
|
-
});
|
|
10084
|
+
const Checkbox = React__default.forwardRef(({ label, labelClassName, wrapperClassName, ...rest }, ref) => {
|
|
10085
|
+
const { checked: isChecked, defaultChecked, id, disabled, className, onCheckedChange: onChange, } = rest;
|
|
10086
|
+
const { setStyleXProps } = usePreferColors();
|
|
10087
|
+
const [checked, setChecked] = React__default.useState(isChecked ?? defaultChecked);
|
|
10088
|
+
useEffect(() => {
|
|
10089
|
+
setChecked(isChecked ?? defaultChecked);
|
|
10090
|
+
}, [isChecked, defaultChecked]);
|
|
10091
|
+
const randomId = React__default.useId();
|
|
10092
|
+
const checkboxWrapperClasses = setStyleXProps(checkboxWrapperStyles.base);
|
|
10093
|
+
const checkboxClasses = setStyleXProps(checkboxStyles.base);
|
|
10094
|
+
const labelClasses = setStyleXProps(labelStyles.base, disabled ? labelStyles.disabled : undefined);
|
|
10095
|
+
const checkboxIconClasses = setStyleXProps(checkboxStyles.icon, checked ? checkboxStyles.iconChecked : undefined, disabled ? checkboxStyles.iconDisabled : undefined);
|
|
10096
|
+
const renderCheckboxIcon = (checked, disabled) => {
|
|
10097
|
+
if (disabled) {
|
|
10098
|
+
return jsx(SquareMinus, { ...checkboxIconClasses });
|
|
10099
|
+
}
|
|
10100
|
+
else if (checked) {
|
|
10101
|
+
return jsx(SquareCheck, { ...checkboxIconClasses });
|
|
10102
|
+
}
|
|
10103
|
+
return jsx(Square, { ...checkboxIconClasses });
|
|
10104
|
+
};
|
|
10105
|
+
const onCheckedChange = (value) => {
|
|
10106
|
+
setChecked(value);
|
|
10107
|
+
onChange?.(value);
|
|
10108
|
+
};
|
|
10109
|
+
return (jsxs("div", { className: `${checkboxWrapperClasses.className} ${wrapperClassName}`, children: [jsx(Checkbox$1, { ref: ref, id: id ?? randomId, ...rest, checked: checked, className: `${checkboxClasses.className} ${className}`, onCheckedChange: onCheckedChange, children: renderCheckboxIcon(checked, disabled) }), jsx("label", { className: `${labelClasses.className} ${labelClassName}`, htmlFor: id ?? randomId, "aria-disabled": disabled, children: label })] }));
|
|
10163
10110
|
});
|
|
10164
10111
|
Checkbox.displayName = "Checkbox";
|
|
10165
10112
|
|
|
@@ -10435,13 +10382,16 @@ const RadioGroup = React__default.forwardRef(({
|
|
|
10435
10382
|
orientation = "vertical",
|
|
10436
10383
|
...rest
|
|
10437
10384
|
}, ref) => {
|
|
10385
|
+
const {
|
|
10386
|
+
setStyleXProps
|
|
10387
|
+
} = usePreferColors();
|
|
10438
10388
|
const {
|
|
10439
10389
|
disabled,
|
|
10440
10390
|
children,
|
|
10441
10391
|
value,
|
|
10442
10392
|
...restProps
|
|
10443
10393
|
} = rest;
|
|
10444
|
-
const radioGroupClasses =
|
|
10394
|
+
const radioGroupClasses = setStyleXProps(radioGroupStyles.base, orientation === "horizontal" ? radioGroupStyles.horizontal : undefined);
|
|
10445
10395
|
return jsx(RadioGroupContext, {
|
|
10446
10396
|
value: {
|
|
10447
10397
|
value: value ?? "",
|
|
@@ -10469,11 +10419,14 @@ const RadioItem = React__default.forwardRef(({
|
|
|
10469
10419
|
...restProps
|
|
10470
10420
|
} = rest;
|
|
10471
10421
|
const randomId = id ?? React__default.useId();
|
|
10422
|
+
const {
|
|
10423
|
+
setStyleXProps
|
|
10424
|
+
} = usePreferColors();
|
|
10472
10425
|
const isSelected = useContext(RadioGroupContext).value === value;
|
|
10473
10426
|
const isDisabled = useContext(RadioGroupContext).disabled || disabled || false;
|
|
10474
|
-
const radioItemWrapperClasses =
|
|
10475
|
-
const radioItemLabelClasses =
|
|
10476
|
-
const radioItemClasses =
|
|
10427
|
+
const radioItemWrapperClasses = setStyleXProps(radioItemWrapperStyles.base);
|
|
10428
|
+
const radioItemLabelClasses = setStyleXProps(radioItemLabelStyles.base, isSelected ? radioItemLabelStyles.selected : undefined, isDisabled ? radioItemLabelStyles.disabled : undefined);
|
|
10429
|
+
const radioItemClasses = setStyleXProps(radioItemStyles.base);
|
|
10477
10430
|
return jsxs("div", {
|
|
10478
10431
|
className: `${radioItemWrapperClasses.className} ${wrapperClassName ?? ""}`,
|
|
10479
10432
|
children: [jsx(Item2, {
|
|
@@ -10603,60 +10556,28 @@ const cardFooterStyles = {
|
|
|
10603
10556
|
* </CardFooter>
|
|
10604
10557
|
* </Card>
|
|
10605
10558
|
*/
|
|
10606
|
-
const Card = React__default.forwardRef(({
|
|
10607
|
-
|
|
10608
|
-
|
|
10609
|
-
|
|
10610
|
-
const cardClasses = stylex.props(cardStyles.base);
|
|
10611
|
-
return jsx("div", {
|
|
10612
|
-
...rest,
|
|
10613
|
-
ref: ref,
|
|
10614
|
-
className: `${cardClasses.className} ${className ?? ""}`,
|
|
10615
|
-
children: rest.children
|
|
10616
|
-
});
|
|
10559
|
+
const Card = React__default.forwardRef(({ className, ...rest }, ref) => {
|
|
10560
|
+
const { setStyleXProps } = usePreferColors();
|
|
10561
|
+
const cardClasses = setStyleXProps(cardStyles.base);
|
|
10562
|
+
return (jsx("div", { ...rest, ref: ref, className: `${cardClasses.className} ${className ?? ""}`, children: rest.children }));
|
|
10617
10563
|
});
|
|
10618
|
-
const CardBody = React__default.forwardRef(({
|
|
10619
|
-
|
|
10620
|
-
|
|
10621
|
-
|
|
10622
|
-
const cardBodyClasses = stylex.props(cardBodyStyles.base);
|
|
10623
|
-
return jsx("div", {
|
|
10624
|
-
...rest,
|
|
10625
|
-
ref: ref,
|
|
10626
|
-
className: `${cardBodyClasses.className} ${className ?? ""}`,
|
|
10627
|
-
children: rest.children
|
|
10628
|
-
});
|
|
10564
|
+
const CardBody = React__default.forwardRef(({ className, ...rest }, ref) => {
|
|
10565
|
+
const { setStyleXProps } = usePreferColors();
|
|
10566
|
+
const cardBodyClasses = setStyleXProps(cardBodyStyles.base);
|
|
10567
|
+
return (jsx("div", { ...rest, ref: ref, className: `${cardBodyClasses.className} ${className ?? ""}`, children: rest.children }));
|
|
10629
10568
|
});
|
|
10630
|
-
const CardHeader = React__default.forwardRef(({
|
|
10631
|
-
|
|
10632
|
-
|
|
10633
|
-
|
|
10634
|
-
const cardHeaderClasses = stylex.props(cardHeaderStyles.base);
|
|
10635
|
-
return jsx("div", {
|
|
10636
|
-
...rest,
|
|
10637
|
-
ref: ref,
|
|
10638
|
-
className: `${cardHeaderClasses.className} ${className ?? ""}`,
|
|
10639
|
-
children: rest.children
|
|
10640
|
-
});
|
|
10569
|
+
const CardHeader = React__default.forwardRef(({ className, ...rest }, ref) => {
|
|
10570
|
+
const { setStyleXProps } = usePreferColors();
|
|
10571
|
+
const cardHeaderClasses = setStyleXProps(cardHeaderStyles.base);
|
|
10572
|
+
return (jsx("div", { ...rest, ref: ref, className: `${cardHeaderClasses.className} ${className ?? ""}`, children: rest.children }));
|
|
10641
10573
|
});
|
|
10642
10574
|
const CardContent = React__default.forwardRef((rest, ref) => {
|
|
10643
|
-
|
|
10644
|
-
...rest,
|
|
10645
|
-
ref: ref,
|
|
10646
|
-
children: rest.children
|
|
10647
|
-
});
|
|
10575
|
+
return (jsx("div", { ...rest, ref: ref, children: rest.children }));
|
|
10648
10576
|
});
|
|
10649
|
-
const CardFooter = React__default.forwardRef(({
|
|
10650
|
-
|
|
10651
|
-
|
|
10652
|
-
|
|
10653
|
-
const cardFooterClasses = stylex.props(cardFooterStyles.base);
|
|
10654
|
-
return jsx("div", {
|
|
10655
|
-
...rest,
|
|
10656
|
-
ref: ref,
|
|
10657
|
-
className: `${cardFooterClasses.className} ${className ?? ""}`,
|
|
10658
|
-
children: rest.children
|
|
10659
|
-
});
|
|
10577
|
+
const CardFooter = React__default.forwardRef(({ className, ...rest }, ref) => {
|
|
10578
|
+
const { setStyleXProps } = usePreferColors();
|
|
10579
|
+
const cardFooterClasses = setStyleXProps(cardFooterStyles.base);
|
|
10580
|
+
return (jsx("div", { ...rest, ref: ref, className: `${cardFooterClasses.className} ${className ?? ""}`, children: rest.children }));
|
|
10660
10581
|
});
|
|
10661
10582
|
|
|
10662
10583
|
const dialogOverlayStyles = {
|
|
@@ -10742,58 +10663,23 @@ const dialogContentStyles = {
|
|
|
10742
10663
|
* </Dialog>
|
|
10743
10664
|
*/
|
|
10744
10665
|
const Dialog = Root$2;
|
|
10745
|
-
const DialogTrigger = props => {
|
|
10746
|
-
|
|
10747
|
-
className: props.className,
|
|
10748
|
-
...props,
|
|
10749
|
-
"data-slot": "dialog-trigger",
|
|
10750
|
-
asChild: true,
|
|
10751
|
-
children: props.children
|
|
10752
|
-
});
|
|
10666
|
+
const DialogTrigger = (props) => {
|
|
10667
|
+
return (jsx(Trigger$4, { className: props.className, ...props, "data-slot": "dialog-trigger", asChild: true, children: props.children }));
|
|
10753
10668
|
};
|
|
10754
10669
|
const DialogPortal = Portal$3;
|
|
10755
10670
|
const DialogClose = Close;
|
|
10756
|
-
const DialogContent = ({
|
|
10757
|
-
|
|
10758
|
-
|
|
10759
|
-
|
|
10760
|
-
})
|
|
10761
|
-
const dialogOverlayClasses = stylex.props(dialogOverlayStyles.base);
|
|
10762
|
-
const dialogContentClasses = stylex.props(dialogContentStyles.base);
|
|
10763
|
-
return jsxs(Portal$3, {
|
|
10764
|
-
children: [jsx(Overlay, {
|
|
10765
|
-
...dialogOverlayClasses
|
|
10766
|
-
}), jsxs(Content$1, {
|
|
10767
|
-
className: `${dialogContentClasses.className} ${className ?? ""}`,
|
|
10768
|
-
...props,
|
|
10769
|
-
children: [jsx(Description, {}), jsx(Card, {
|
|
10770
|
-
children: children
|
|
10771
|
-
})]
|
|
10772
|
-
})]
|
|
10773
|
-
});
|
|
10671
|
+
const DialogContent = ({ className, children, ...props }) => {
|
|
10672
|
+
const { setStyleXProps } = usePreferColors();
|
|
10673
|
+
const dialogOverlayClasses = setStyleXProps(dialogOverlayStyles.base);
|
|
10674
|
+
const dialogContentClasses = setStyleXProps(dialogContentStyles.base);
|
|
10675
|
+
return (jsxs(Portal$3, { children: [jsx(Overlay, { ...dialogOverlayClasses }), jsxs(Content$1, { className: `${dialogContentClasses.className} ${className ?? ""}`, ...props, children: [jsx(Description, {}), jsx(Card, { children: children })] })] }));
|
|
10774
10676
|
};
|
|
10775
|
-
const DialogHeader = ({
|
|
10776
|
-
|
|
10777
|
-
...props
|
|
10778
|
-
}) => {
|
|
10779
|
-
return jsx(Title, {
|
|
10780
|
-
"data-slot": "dialog-title",
|
|
10781
|
-
...props,
|
|
10782
|
-
children: jsx(CardHeader, {
|
|
10783
|
-
className: className,
|
|
10784
|
-
children: props.children
|
|
10785
|
-
})
|
|
10786
|
-
});
|
|
10677
|
+
const DialogHeader = ({ className, ...props }) => {
|
|
10678
|
+
return (jsx(Title, { "data-slot": "dialog-title", ...props, children: jsx(CardHeader, { className: className, children: props.children }) }));
|
|
10787
10679
|
};
|
|
10788
10680
|
const DialogFooter = CardFooter;
|
|
10789
|
-
const DialogDescription = ({
|
|
10790
|
-
|
|
10791
|
-
...props
|
|
10792
|
-
}) => {
|
|
10793
|
-
return jsx(CardBody, {
|
|
10794
|
-
className: className,
|
|
10795
|
-
children: props.children
|
|
10796
|
-
});
|
|
10681
|
+
const DialogDescription = ({ className, ...props }) => {
|
|
10682
|
+
return jsx(CardBody, { className: className, children: props.children });
|
|
10797
10683
|
};
|
|
10798
10684
|
|
|
10799
10685
|
const selectIconWrapperStyles = {
|
|
@@ -11115,95 +11001,37 @@ const selectGroupLabelStyles = {
|
|
|
11115
11001
|
* </SelectContent>
|
|
11116
11002
|
* </Select>
|
|
11117
11003
|
*/
|
|
11118
|
-
const Select = props => jsx(Root2, {
|
|
11119
|
-
|
|
11120
|
-
});
|
|
11121
|
-
const
|
|
11122
|
-
|
|
11123
|
-
|
|
11124
|
-
|
|
11125
|
-
|
|
11126
|
-
|
|
11127
|
-
}
|
|
11128
|
-
|
|
11129
|
-
className,
|
|
11130
|
-
...otherProps
|
|
11131
|
-
} = rest;
|
|
11132
|
-
const triggerClasses = stylex.props(selectTriggerStyles.base, selectTriggerStyles[variant], selectTriggerStyles[size]);
|
|
11133
|
-
const iconWrapperClasses = stylex.props(selectIconWrapperStyles.base);
|
|
11134
|
-
return jsxs(Trigger$1, {
|
|
11135
|
-
className: `${triggerClasses.className} ${className}`,
|
|
11136
|
-
...otherProps,
|
|
11137
|
-
children: [icon && jsx("div", {
|
|
11138
|
-
className: iconWrapperClasses.className,
|
|
11139
|
-
children: icon
|
|
11140
|
-
}), jsx(Value, {
|
|
11141
|
-
placeholder: placeholder
|
|
11142
|
-
}), jsx(Icon$1, {
|
|
11143
|
-
className: iconWrapperClasses.className,
|
|
11144
|
-
children: jsx(CaretDownIcon, {})
|
|
11145
|
-
})]
|
|
11146
|
-
});
|
|
11147
|
-
};
|
|
11148
|
-
const SelectContent = ({
|
|
11149
|
-
children,
|
|
11150
|
-
...rest
|
|
11151
|
-
}) => {
|
|
11152
|
-
const contentClasses = stylex.props(selectContentStyles.base);
|
|
11153
|
-
const {
|
|
11154
|
-
className,
|
|
11155
|
-
position,
|
|
11156
|
-
sideOffset,
|
|
11157
|
-
...otherProps
|
|
11158
|
-
} = rest;
|
|
11159
|
-
return jsx(Portal$1, {
|
|
11160
|
-
children: jsx(Content2$1, {
|
|
11161
|
-
position: "popper",
|
|
11162
|
-
sideOffset: 7,
|
|
11163
|
-
className: `${contentClasses.className} ${className}`,
|
|
11164
|
-
...otherProps,
|
|
11165
|
-
children: jsx(Viewport, {
|
|
11166
|
-
children: children
|
|
11167
|
-
})
|
|
11168
|
-
})
|
|
11169
|
-
});
|
|
11004
|
+
const Select = (props) => jsx(Root2, { ...props });
|
|
11005
|
+
const SelectTrigger = ({ placeholder, variant = "outline", size = "regular", icon, ...rest }) => {
|
|
11006
|
+
const { setStyleXProps } = usePreferColors();
|
|
11007
|
+
const { className, ...otherProps } = rest;
|
|
11008
|
+
const triggerClasses = setStyleXProps(selectTriggerStyles.base, selectTriggerStyles[variant], selectTriggerStyles[size]);
|
|
11009
|
+
const iconWrapperClasses = setStyleXProps(selectIconWrapperStyles.base);
|
|
11010
|
+
return (jsxs(Trigger$1, { className: `${triggerClasses.className} ${className}`, ...otherProps, children: [icon && jsx("div", { className: iconWrapperClasses.className, children: icon }), jsx(Value, { placeholder: placeholder }), jsx(Icon$1, { className: iconWrapperClasses.className, children: jsx(CaretDownIcon, {}) })] }));
|
|
11011
|
+
};
|
|
11012
|
+
const SelectContent = ({ children, ...rest }) => {
|
|
11013
|
+
const { setStyleXProps } = usePreferColors();
|
|
11014
|
+
const contentClasses = setStyleXProps(selectContentStyles.base);
|
|
11015
|
+
const { className, position, sideOffset, ...otherProps } = rest;
|
|
11016
|
+
return (jsx(Portal$1, { children: jsx(Content2$1, { position: "popper", sideOffset: 7, className: `${contentClasses.className} ${className}`, ...otherProps, children: jsx(Viewport, { children: children }) }) }));
|
|
11170
11017
|
};
|
|
11171
11018
|
const SelectGroup = Group;
|
|
11172
|
-
const SelectLabel = props => {
|
|
11173
|
-
|
|
11174
|
-
|
|
11175
|
-
...props,
|
|
11176
|
-
|
|
11177
|
-
|
|
11178
|
-
};
|
|
11179
|
-
const
|
|
11180
|
-
|
|
11181
|
-
|
|
11182
|
-
|
|
11183
|
-
|
|
11184
|
-
|
|
11185
|
-
|
|
11186
|
-
const
|
|
11187
|
-
|
|
11188
|
-
...rest
|
|
11189
|
-
}) => {
|
|
11190
|
-
const itemClasses = stylex.props(selectItemStyles.base);
|
|
11191
|
-
const itemIndicatorClasses = stylex.props(selectItemStyles.indicator);
|
|
11192
|
-
const {
|
|
11193
|
-
className,
|
|
11194
|
-
textValue,
|
|
11195
|
-
...otherProps
|
|
11196
|
-
} = rest;
|
|
11197
|
-
return jsxs(Item, {
|
|
11198
|
-
className: `${itemClasses.className} ${className}`,
|
|
11199
|
-
...otherProps,
|
|
11200
|
-
children: [jsx(ItemText, {
|
|
11201
|
-
children: textValue
|
|
11202
|
-
}), indicator && jsx(ItemIndicator, {
|
|
11203
|
-
className: itemIndicatorClasses.className,
|
|
11204
|
-
children: indicator
|
|
11205
|
-
})]
|
|
11206
|
-
});
|
|
11019
|
+
const SelectLabel = (props) => {
|
|
11020
|
+
const { setStyleXProps } = usePreferColors();
|
|
11021
|
+
const groupLabelClasses = setStyleXProps(selectGroupLabelStyles.base);
|
|
11022
|
+
return (jsx(Label, { ...props, className: groupLabelClasses.className }));
|
|
11023
|
+
};
|
|
11024
|
+
const SelectSeparator = (props) => {
|
|
11025
|
+
const { setStyleXProps } = usePreferColors();
|
|
11026
|
+
const separatorClasses = setStyleXProps(selectSeparatorStyles.base);
|
|
11027
|
+
return (jsx(Separator, { ...props, className: separatorClasses.className }));
|
|
11028
|
+
};
|
|
11029
|
+
const SelectItem = ({ indicator, ...rest }) => {
|
|
11030
|
+
const { setStyleXProps } = usePreferColors();
|
|
11031
|
+
const itemClasses = setStyleXProps(selectItemStyles.base);
|
|
11032
|
+
const itemIndicatorClasses = setStyleXProps(selectItemStyles.indicator);
|
|
11033
|
+
const { className, textValue, ...otherProps } = rest;
|
|
11034
|
+
return (jsxs(Item, { className: `${itemClasses.className} ${className}`, ...otherProps, children: [jsx(ItemText, { children: textValue }), indicator && (jsx(ItemIndicator, { className: itemIndicatorClasses.className, children: indicator }))] }));
|
|
11207
11035
|
};
|
|
11208
11036
|
Select.displayName = "Select";
|
|
11209
11037
|
SelectTrigger.displayName = "SelectTrigger";
|
|
@@ -11353,70 +11181,41 @@ const verticalMenuStyles = {
|
|
|
11353
11181
|
};
|
|
11354
11182
|
|
|
11355
11183
|
const VerticalMenusContext = createContext({
|
|
11356
|
-
|
|
11357
|
-
|
|
11358
|
-
|
|
11184
|
+
value: "",
|
|
11185
|
+
disabled: false,
|
|
11186
|
+
setSelectedMenu: () => { },
|
|
11359
11187
|
});
|
|
11360
|
-
const VerticalMenus = React__default.forwardRef(({
|
|
11361
|
-
|
|
11362
|
-
|
|
11363
|
-
|
|
11364
|
-
|
|
11365
|
-
|
|
11366
|
-
|
|
11367
|
-
|
|
11368
|
-
|
|
11369
|
-
|
|
11370
|
-
|
|
11371
|
-
|
|
11372
|
-
|
|
11373
|
-
|
|
11374
|
-
value: {
|
|
11375
|
-
value: selectedMenu,
|
|
11376
|
-
disabled: disabled ?? false,
|
|
11377
|
-
setSelectedMenu
|
|
11378
|
-
},
|
|
11379
|
-
children: jsx("div", {
|
|
11380
|
-
ref: ref,
|
|
11381
|
-
className: `${verticalMenusClasses.className} ${className || ""}`,
|
|
11382
|
-
...rest,
|
|
11383
|
-
children: rest.children
|
|
11384
|
-
})
|
|
11385
|
-
});
|
|
11188
|
+
const VerticalMenus = React__default.forwardRef(({ disabled, value, onValueChange, className, ...rest }, ref) => {
|
|
11189
|
+
const { setStyleXProps } = usePreferColors();
|
|
11190
|
+
const [selectedMenu, setSelectedMenu] = React__default.useState(value || "");
|
|
11191
|
+
const verticalMenusClasses = setStyleXProps(verticalMenusWrapperStyles.base);
|
|
11192
|
+
useEffect(() => {
|
|
11193
|
+
if (!onValueChange)
|
|
11194
|
+
return;
|
|
11195
|
+
onValueChange(selectedMenu);
|
|
11196
|
+
}, [selectedMenu]);
|
|
11197
|
+
return (jsx(VerticalMenusContext, { value: {
|
|
11198
|
+
value: selectedMenu,
|
|
11199
|
+
disabled: disabled ?? false,
|
|
11200
|
+
setSelectedMenu,
|
|
11201
|
+
}, children: jsx("div", { ref: ref, className: `${verticalMenusClasses.className} ${className || ""}`, ...rest, children: rest.children }) }));
|
|
11386
11202
|
});
|
|
11387
|
-
const VerticalMenu = React__default.forwardRef(({
|
|
11388
|
-
|
|
11389
|
-
|
|
11390
|
-
|
|
11391
|
-
|
|
11392
|
-
|
|
11393
|
-
|
|
11394
|
-
|
|
11395
|
-
|
|
11396
|
-
|
|
11397
|
-
|
|
11398
|
-
|
|
11399
|
-
|
|
11400
|
-
|
|
11401
|
-
|
|
11402
|
-
|
|
11403
|
-
if (context.disabled) return;
|
|
11404
|
-
context.setSelectedMenu?.(value);
|
|
11405
|
-
rest.onClick?.(e);
|
|
11406
|
-
};
|
|
11407
|
-
return jsxs("button", {
|
|
11408
|
-
ref: ref,
|
|
11409
|
-
className: `${verticalMenuClasses.className} ${rest.className || ""}`,
|
|
11410
|
-
...rest,
|
|
11411
|
-
disabled: isDisabled,
|
|
11412
|
-
value: value,
|
|
11413
|
-
"data-selected": isSelected,
|
|
11414
|
-
onClick: onClick,
|
|
11415
|
-
children: [icon && jsx("span", {
|
|
11416
|
-
...verticalMenuIconClasses,
|
|
11417
|
-
children: icon
|
|
11418
|
-
}), label]
|
|
11419
|
-
});
|
|
11203
|
+
const VerticalMenu = React__default.forwardRef(({ disabled, value, label, icon, variant = "accent", size = "regular", ...rest }, ref) => {
|
|
11204
|
+
const context = useContext(VerticalMenusContext);
|
|
11205
|
+
const { setStyleXProps } = usePreferColors();
|
|
11206
|
+
const isSelected = context.value === value;
|
|
11207
|
+
const isDisabled = context.disabled || disabled || false;
|
|
11208
|
+
const verticalMenuClasses = setStyleXProps(verticalMenuStyles.base, verticalMenuStyles[variant], verticalMenuStyles[size]);
|
|
11209
|
+
const verticalMenuIconClasses = setStyleXProps(verticalMenuIconStyles.base);
|
|
11210
|
+
const onClick = (e) => {
|
|
11211
|
+
if (isDisabled)
|
|
11212
|
+
return;
|
|
11213
|
+
if (context.disabled)
|
|
11214
|
+
return;
|
|
11215
|
+
context.setSelectedMenu?.(value);
|
|
11216
|
+
rest.onClick?.(e);
|
|
11217
|
+
};
|
|
11218
|
+
return (jsxs("button", { ref: ref, className: `${verticalMenuClasses.className} ${rest.className || ""}`, ...rest, disabled: isDisabled, value: value, "data-selected": isSelected, onClick: onClick, children: [icon && jsx("span", { ...verticalMenuIconClasses, children: icon }), label] }));
|
|
11420
11219
|
});
|
|
11421
11220
|
VerticalMenu.displayName = "VerticalMenu";
|
|
11422
11221
|
|
|
@@ -11546,78 +11345,40 @@ const horizontalTabStyles = {
|
|
|
11546
11345
|
};
|
|
11547
11346
|
|
|
11548
11347
|
const HorizontalTabContext = React__default.createContext({
|
|
11549
|
-
|
|
11550
|
-
|
|
11551
|
-
|
|
11348
|
+
value: "",
|
|
11349
|
+
disabled: false,
|
|
11350
|
+
setSelectedTab: () => { },
|
|
11552
11351
|
});
|
|
11553
|
-
const HorizontalTabs = React__default.forwardRef(({
|
|
11554
|
-
|
|
11555
|
-
|
|
11556
|
-
|
|
11557
|
-
|
|
11558
|
-
|
|
11559
|
-
|
|
11560
|
-
|
|
11561
|
-
|
|
11562
|
-
|
|
11563
|
-
|
|
11564
|
-
|
|
11565
|
-
|
|
11566
|
-
|
|
11567
|
-
value: {
|
|
11568
|
-
value: selectedTab,
|
|
11569
|
-
disabled: disabled ?? false,
|
|
11570
|
-
setSelectedTab
|
|
11571
|
-
},
|
|
11572
|
-
children: jsx("div", {
|
|
11573
|
-
ref: ref,
|
|
11574
|
-
className: `${horizontalTabClasses.className} ${className || ""}`,
|
|
11575
|
-
...rest,
|
|
11576
|
-
children: rest.children
|
|
11577
|
-
})
|
|
11578
|
-
});
|
|
11352
|
+
const HorizontalTabs = React__default.forwardRef(({ disabled, value, onValueChange, className, ...rest }, ref) => {
|
|
11353
|
+
const { setStyleXProps } = usePreferColors();
|
|
11354
|
+
const [selectedTab, setSelectedTab] = React__default.useState(value || "");
|
|
11355
|
+
const horizontalTabClasses = setStyleXProps(horizontalTabWrapperStyles.base);
|
|
11356
|
+
React__default.useEffect(() => {
|
|
11357
|
+
if (!onValueChange)
|
|
11358
|
+
return;
|
|
11359
|
+
onValueChange(selectedTab);
|
|
11360
|
+
}, [selectedTab]);
|
|
11361
|
+
return (jsx(HorizontalTabContext.Provider, { value: {
|
|
11362
|
+
value: selectedTab,
|
|
11363
|
+
disabled: disabled ?? false,
|
|
11364
|
+
setSelectedTab,
|
|
11365
|
+
}, children: jsx("div", { ref: ref, className: `${horizontalTabClasses.className} ${className || ""}`, ...rest, children: rest.children }) }));
|
|
11579
11366
|
});
|
|
11580
|
-
const HorizontalTab = React__default.forwardRef(({
|
|
11581
|
-
|
|
11582
|
-
|
|
11583
|
-
|
|
11584
|
-
|
|
11585
|
-
|
|
11586
|
-
|
|
11587
|
-
|
|
11588
|
-
|
|
11589
|
-
|
|
11590
|
-
|
|
11591
|
-
|
|
11592
|
-
|
|
11593
|
-
|
|
11594
|
-
|
|
11595
|
-
const handleClick = () => {
|
|
11596
|
-
if (isDisabled) return;
|
|
11597
|
-
setSelectedTab(value);
|
|
11598
|
-
};
|
|
11599
|
-
const horizontalTabClasses = stylex.props(horizontalTabStyles.base);
|
|
11600
|
-
const iconClasses = stylex.props(horizontalTabStyles.icon, size === "small" && horizontalTabStyles.iconSmall);
|
|
11601
|
-
const lineClasses = stylex.props(horizontalTabStyles.line);
|
|
11602
|
-
const labelWrapperClasses = stylex.props(horizontalTabStyles.labelWrapper, horizontalTabStyles[size || "regular"]);
|
|
11603
|
-
return jsxs("button", {
|
|
11604
|
-
ref: ref,
|
|
11605
|
-
className: `${horizontalTabClasses.className} ${className || ""}`,
|
|
11606
|
-
onClick: handleClick,
|
|
11607
|
-
disabled: isDisabled,
|
|
11608
|
-
"data-selected": isSelected,
|
|
11609
|
-
...rest,
|
|
11610
|
-
children: [jsxs("div", {
|
|
11611
|
-
...labelWrapperClasses,
|
|
11612
|
-
children: [icon && jsx("span", {
|
|
11613
|
-
...iconClasses,
|
|
11614
|
-
children: icon
|
|
11615
|
-
}), label]
|
|
11616
|
-
}), jsx("div", {
|
|
11617
|
-
...lineClasses,
|
|
11618
|
-
"data-selected": isSelected
|
|
11619
|
-
})]
|
|
11620
|
-
});
|
|
11367
|
+
const HorizontalTab = React__default.forwardRef(({ value, label, className, icon, size = "regular", ...rest }, ref) => {
|
|
11368
|
+
const { value: selectedTab, setSelectedTab, disabled, } = React__default.useContext(HorizontalTabContext);
|
|
11369
|
+
const { setStyleXProps } = usePreferColors();
|
|
11370
|
+
const isSelected = selectedTab === value;
|
|
11371
|
+
const isDisabled = disabled || rest.disabled;
|
|
11372
|
+
const handleClick = () => {
|
|
11373
|
+
if (isDisabled)
|
|
11374
|
+
return;
|
|
11375
|
+
setSelectedTab(value);
|
|
11376
|
+
};
|
|
11377
|
+
const horizontalTabClasses = setStyleXProps(horizontalTabStyles.base);
|
|
11378
|
+
const iconClasses = setStyleXProps(horizontalTabStyles.icon, size === "small" && horizontalTabStyles.iconSmall);
|
|
11379
|
+
const lineClasses = setStyleXProps(horizontalTabStyles.line);
|
|
11380
|
+
const labelWrapperClasses = setStyleXProps(horizontalTabStyles.labelWrapper, horizontalTabStyles[size || "regular"]);
|
|
11381
|
+
return (jsxs("button", { ref: ref, className: `${horizontalTabClasses.className} ${className || ""}`, onClick: handleClick, disabled: isDisabled, "data-selected": isSelected, ...rest, children: [jsxs("div", { ...labelWrapperClasses, children: [icon && jsx("span", { ...iconClasses, children: icon }), label] }), jsx("div", { ...lineClasses, "data-selected": isSelected })] }));
|
|
11621
11382
|
});
|
|
11622
11383
|
|
|
11623
11384
|
const modeTabWrapperStyles = {
|
|
@@ -11730,69 +11491,38 @@ const modeTabStyles = {
|
|
|
11730
11491
|
};
|
|
11731
11492
|
|
|
11732
11493
|
const ModeTabContext = React__default.createContext({
|
|
11733
|
-
|
|
11734
|
-
|
|
11735
|
-
|
|
11494
|
+
value: "",
|
|
11495
|
+
disabled: false,
|
|
11496
|
+
setSelectedTab: () => { },
|
|
11736
11497
|
});
|
|
11737
|
-
const ModeTabs = React__default.forwardRef(({
|
|
11738
|
-
|
|
11739
|
-
|
|
11740
|
-
|
|
11741
|
-
|
|
11742
|
-
|
|
11743
|
-
|
|
11744
|
-
|
|
11745
|
-
|
|
11746
|
-
|
|
11747
|
-
|
|
11748
|
-
|
|
11749
|
-
|
|
11750
|
-
|
|
11751
|
-
value: {
|
|
11752
|
-
value: selectedTab,
|
|
11753
|
-
disabled: disabled ?? false,
|
|
11754
|
-
setSelectedTab
|
|
11755
|
-
},
|
|
11756
|
-
children: jsx("div", {
|
|
11757
|
-
ref: ref,
|
|
11758
|
-
className: `${modeTabsClasses.className} ${className || ""}`,
|
|
11759
|
-
...rest,
|
|
11760
|
-
children: rest.children
|
|
11761
|
-
})
|
|
11762
|
-
});
|
|
11498
|
+
const ModeTabs = React__default.forwardRef(({ disabled, value, onValueChange, className, ...rest }, ref) => {
|
|
11499
|
+
const { setStyleXProps } = usePreferColors();
|
|
11500
|
+
const [selectedTab, setSelectedTab] = React__default.useState(value || "");
|
|
11501
|
+
const modeTabsClasses = setStyleXProps(modeTabWrapperStyles.base);
|
|
11502
|
+
React__default.useEffect(() => {
|
|
11503
|
+
if (!onValueChange)
|
|
11504
|
+
return;
|
|
11505
|
+
onValueChange(selectedTab);
|
|
11506
|
+
}, [selectedTab]);
|
|
11507
|
+
return (jsx(ModeTabContext, { value: {
|
|
11508
|
+
value: selectedTab,
|
|
11509
|
+
disabled: disabled ?? false,
|
|
11510
|
+
setSelectedTab,
|
|
11511
|
+
}, children: jsx("div", { ref: ref, className: `${modeTabsClasses.className} ${className || ""}`, ...rest, children: rest.children }) }));
|
|
11763
11512
|
});
|
|
11764
|
-
const ModeTab = React__default.forwardRef(({
|
|
11765
|
-
|
|
11766
|
-
|
|
11767
|
-
|
|
11768
|
-
|
|
11769
|
-
|
|
11770
|
-
|
|
11771
|
-
|
|
11772
|
-
|
|
11773
|
-
|
|
11774
|
-
|
|
11775
|
-
|
|
11776
|
-
|
|
11777
|
-
} = React__default.useContext(ModeTabContext);
|
|
11778
|
-
const isSelected = selectedTab === value;
|
|
11779
|
-
const isDisabled = disabled || rest.disabled;
|
|
11780
|
-
const handleClick = () => {
|
|
11781
|
-
if (isDisabled) return;
|
|
11782
|
-
setSelectedTab(value);
|
|
11783
|
-
};
|
|
11784
|
-
return jsxs("button", {
|
|
11785
|
-
ref: ref,
|
|
11786
|
-
className: `${modeTabClasses.className} ${className || ""}`,
|
|
11787
|
-
"data-selected": isSelected,
|
|
11788
|
-
disabled: isDisabled,
|
|
11789
|
-
onClick: handleClick,
|
|
11790
|
-
...rest,
|
|
11791
|
-
children: [icon && jsx("span", {
|
|
11792
|
-
...iconClasses,
|
|
11793
|
-
children: icon
|
|
11794
|
-
}), label]
|
|
11795
|
-
});
|
|
11513
|
+
const ModeTab = React__default.forwardRef(({ label, icon, value, className, ...rest }, ref) => {
|
|
11514
|
+
const { setStyleXProps } = usePreferColors();
|
|
11515
|
+
const modeTabClasses = setStyleXProps(modeTabStyles.base);
|
|
11516
|
+
const iconClasses = setStyleXProps(modeTabStyles.icon);
|
|
11517
|
+
const { value: selectedTab, disabled, setSelectedTab, } = React__default.useContext(ModeTabContext);
|
|
11518
|
+
const isSelected = selectedTab === value;
|
|
11519
|
+
const isDisabled = disabled || rest.disabled;
|
|
11520
|
+
const handleClick = () => {
|
|
11521
|
+
if (isDisabled)
|
|
11522
|
+
return;
|
|
11523
|
+
setSelectedTab(value);
|
|
11524
|
+
};
|
|
11525
|
+
return (jsxs("button", { ref: ref, className: `${modeTabClasses.className} ${className || ""}`, "data-selected": isSelected, disabled: isDisabled, onClick: handleClick, ...rest, children: [icon && jsx("span", { ...iconClasses, children: icon }), label] }));
|
|
11796
11526
|
});
|
|
11797
11527
|
|
|
11798
11528
|
const tooltipDescriptionStyles = {
|
|
@@ -11958,94 +11688,40 @@ const tooltipShortStyles = {
|
|
|
11958
11688
|
}
|
|
11959
11689
|
};
|
|
11960
11690
|
|
|
11961
|
-
const Tooltip = props => {
|
|
11962
|
-
|
|
11963
|
-
delayDuration,
|
|
11964
|
-
skipDelayDuration,
|
|
11965
|
-
disableHoverableContent,
|
|
11966
|
-
...rest
|
|
11967
|
-
} = props;
|
|
11968
|
-
return jsx(Provider, {
|
|
11969
|
-
delayDuration: delayDuration,
|
|
11970
|
-
skipDelayDuration: skipDelayDuration,
|
|
11971
|
-
disableHoverableContent: disableHoverableContent,
|
|
11972
|
-
children: jsx(Root3, {
|
|
11973
|
-
...rest,
|
|
11974
|
-
children: props.children
|
|
11975
|
-
})
|
|
11976
|
-
});
|
|
11691
|
+
const Tooltip = (props) => {
|
|
11692
|
+
const { delayDuration, skipDelayDuration, disableHoverableContent, ...rest } = props;
|
|
11693
|
+
return (jsx(Provider, { delayDuration: delayDuration, skipDelayDuration: skipDelayDuration, disableHoverableContent: disableHoverableContent, children: jsx(Root3, { ...rest, children: props.children }) }));
|
|
11977
11694
|
};
|
|
11978
11695
|
const TooltipTrigger = Trigger;
|
|
11979
|
-
const TooltipContent = ({
|
|
11980
|
-
|
|
11981
|
-
|
|
11982
|
-
|
|
11983
|
-
|
|
11984
|
-
|
|
11985
|
-
|
|
11986
|
-
|
|
11987
|
-
|
|
11988
|
-
|
|
11989
|
-
return jsx(Portal, {
|
|
11990
|
-
children: jsx(Content2, {
|
|
11991
|
-
className: `${contentClasses.className} ${className}`,
|
|
11992
|
-
...otherProps,
|
|
11993
|
-
children: rest.children
|
|
11994
|
-
})
|
|
11995
|
-
});
|
|
11996
|
-
}
|
|
11997
|
-
const {
|
|
11998
|
-
variant = "default",
|
|
11999
|
-
size = "regular"
|
|
12000
|
-
} = rest;
|
|
12001
|
-
const contentClasses = stylex.props(tooltipShortStyles.base, type === "short" && tooltipShortStyles[variant], type === "short" && tooltipShortStyles[size]);
|
|
12002
|
-
return jsx(Portal, {
|
|
12003
|
-
children: jsx(Content2, {
|
|
12004
|
-
className: contentClasses.className,
|
|
12005
|
-
...rest,
|
|
12006
|
-
children: rest.children
|
|
12007
|
-
})
|
|
12008
|
-
});
|
|
11696
|
+
const TooltipContent = ({ type, ...rest }) => {
|
|
11697
|
+
const { setStyleXProps } = usePreferColors();
|
|
11698
|
+
if (type === "default") {
|
|
11699
|
+
const contentClasses = setStyleXProps(tooltipDescriptionStyles.base);
|
|
11700
|
+
const { className, ...otherProps } = rest;
|
|
11701
|
+
return (jsx(Portal, { children: jsx(Content2, { className: `${contentClasses.className} ${className}`, ...otherProps, children: rest.children }) }));
|
|
11702
|
+
}
|
|
11703
|
+
const { variant = "default", size = "regular" } = rest;
|
|
11704
|
+
const contentClasses = setStyleXProps(tooltipShortStyles.base, type === "short" && tooltipShortStyles[variant], type === "short" && tooltipShortStyles[size]);
|
|
11705
|
+
return (jsx(Portal, { children: jsx(Content2, { className: contentClasses.className, ...rest, children: rest.children }) }));
|
|
12009
11706
|
};
|
|
12010
11707
|
const TooltipArrow = Arrow2;
|
|
12011
11708
|
const TooltipHeader = React__default.forwardRef((props, ref) => {
|
|
12012
|
-
|
|
12013
|
-
|
|
12014
|
-
|
|
12015
|
-
|
|
12016
|
-
const headerClasses = stylex.props(tooltipDescriptionStyles.header);
|
|
12017
|
-
return jsx("div", {
|
|
12018
|
-
className: `${headerClasses.className} ${className}`,
|
|
12019
|
-
...otherProps,
|
|
12020
|
-
ref: ref,
|
|
12021
|
-
children: props.children
|
|
12022
|
-
});
|
|
11709
|
+
const { className, ...otherProps } = props;
|
|
11710
|
+
const { setStyleXProps } = usePreferColors();
|
|
11711
|
+
const headerClasses = setStyleXProps(tooltipDescriptionStyles.header);
|
|
11712
|
+
return (jsx("div", { className: `${headerClasses.className} ${className}`, ...otherProps, ref: ref, children: props.children }));
|
|
12023
11713
|
});
|
|
12024
11714
|
const TooltipDescription = React__default.forwardRef((props, ref) => {
|
|
12025
|
-
|
|
12026
|
-
|
|
12027
|
-
|
|
12028
|
-
|
|
12029
|
-
const descriptionClasses = stylex.props(tooltipDescriptionStyles.content);
|
|
12030
|
-
return jsx("div", {
|
|
12031
|
-
className: `${descriptionClasses.className} ${className}`,
|
|
12032
|
-
...otherProps,
|
|
12033
|
-
ref: ref,
|
|
12034
|
-
children: props.children
|
|
12035
|
-
});
|
|
11715
|
+
const { className, ...otherProps } = props;
|
|
11716
|
+
const { setStyleXProps } = usePreferColors();
|
|
11717
|
+
const descriptionClasses = setStyleXProps(tooltipDescriptionStyles.content);
|
|
11718
|
+
return (jsx("div", { className: `${descriptionClasses.className} ${className}`, ...otherProps, ref: ref, children: props.children }));
|
|
12036
11719
|
});
|
|
12037
11720
|
const TooltipFooter = React__default.forwardRef((props, ref) => {
|
|
12038
|
-
|
|
12039
|
-
|
|
12040
|
-
|
|
12041
|
-
|
|
12042
|
-
const footerClasses = stylex.props(tooltipDescriptionStyles.footer);
|
|
12043
|
-
return jsx("div", {
|
|
12044
|
-
className: `${footerClasses.className} ${className}`,
|
|
12045
|
-
...otherProps,
|
|
12046
|
-
ref: ref,
|
|
12047
|
-
children: props.children
|
|
12048
|
-
});
|
|
11721
|
+
const { className, ...otherProps } = props;
|
|
11722
|
+
const { setStyleXProps } = usePreferColors();
|
|
11723
|
+
const footerClasses = setStyleXProps(tooltipDescriptionStyles.footer);
|
|
11724
|
+
return (jsx("div", { className: `${footerClasses.className} ${className}`, ...otherProps, ref: ref, children: props.children }));
|
|
12049
11725
|
});
|
|
12050
11726
|
|
|
12051
11727
|
const tagStyles = {
|
|
@@ -12336,46 +12012,21 @@ const tagStyles = {
|
|
|
12336
12012
|
}
|
|
12337
12013
|
};
|
|
12338
12014
|
|
|
12339
|
-
const Tag = React__default.forwardRef(({
|
|
12340
|
-
|
|
12341
|
-
|
|
12342
|
-
|
|
12343
|
-
|
|
12344
|
-
|
|
12345
|
-
|
|
12346
|
-
|
|
12347
|
-
|
|
12348
|
-
|
|
12349
|
-
|
|
12350
|
-
|
|
12351
|
-
|
|
12352
|
-
|
|
12353
|
-
|
|
12354
|
-
const tagClasses = stylex.props(tagStyles.base, tagStyles[variant], tagStyles[size]);
|
|
12355
|
-
const iconClasses = stylex.props(tagStyles.icon);
|
|
12356
|
-
const textClasses = stylex.props(tagStyles.text);
|
|
12357
|
-
const handleDeleteClick = event => {
|
|
12358
|
-
event.stopPropagation();
|
|
12359
|
-
onDeleteClick?.(value, event);
|
|
12360
|
-
};
|
|
12361
|
-
return jsxs("button", {
|
|
12362
|
-
ref: ref,
|
|
12363
|
-
className: `${tagClasses.className} ${className ?? ""}`,
|
|
12364
|
-
onClick: handleClick,
|
|
12365
|
-
"data-selected": isSelected,
|
|
12366
|
-
...props,
|
|
12367
|
-
children: [icon && jsx("span", {
|
|
12368
|
-
className: iconClasses.className,
|
|
12369
|
-
children: icon
|
|
12370
|
-
}), jsx("span", {
|
|
12371
|
-
...textClasses,
|
|
12372
|
-
children: value.label
|
|
12373
|
-
}), onDeleteClick && jsx("span", {
|
|
12374
|
-
className: iconClasses.className,
|
|
12375
|
-
onClick: handleDeleteClick,
|
|
12376
|
-
children: jsx(X, {})
|
|
12377
|
-
})]
|
|
12378
|
-
});
|
|
12015
|
+
const Tag = React__default.forwardRef(({ icon, value, variant = "filled", size = "regular", className, onDeleteClick, onClick, ...props }, ref) => {
|
|
12016
|
+
const { setStyleXProps } = usePreferColors();
|
|
12017
|
+
const [isSelected, setIsSelected] = React__default.useState(false);
|
|
12018
|
+
const handleClick = (event) => {
|
|
12019
|
+
setIsSelected((prev) => !prev);
|
|
12020
|
+
onClick?.(event);
|
|
12021
|
+
};
|
|
12022
|
+
const tagClasses = setStyleXProps(tagStyles.base, tagStyles[variant], tagStyles[size]);
|
|
12023
|
+
const iconClasses = setStyleXProps(tagStyles.icon);
|
|
12024
|
+
const textClasses = setStyleXProps(tagStyles.text);
|
|
12025
|
+
const handleDeleteClick = (event) => {
|
|
12026
|
+
event.stopPropagation();
|
|
12027
|
+
onDeleteClick?.(value, event);
|
|
12028
|
+
};
|
|
12029
|
+
return (jsxs("button", { ref: ref, className: `${tagClasses.className} ${className ?? ""}`, onClick: handleClick, "data-selected": isSelected, ...props, children: [icon && jsx("span", { className: iconClasses.className, children: icon }), jsx("span", { ...textClasses, children: value.label }), onDeleteClick && (jsx("span", { className: iconClasses.className, onClick: handleDeleteClick, children: jsx(X, {}) }))] }));
|
|
12379
12030
|
});
|
|
12380
12031
|
Tag.displayName = "Tag";
|
|
12381
12032
|
|
|
@@ -12750,245 +12401,131 @@ const multipleSelectItemStyles = {
|
|
|
12750
12401
|
};
|
|
12751
12402
|
|
|
12752
12403
|
const MultipleSelectContext = React__default.createContext({
|
|
12753
|
-
|
|
12754
|
-
|
|
12755
|
-
|
|
12756
|
-
|
|
12757
|
-
|
|
12404
|
+
isOpen: false,
|
|
12405
|
+
values: [],
|
|
12406
|
+
disabled: false,
|
|
12407
|
+
setSelectedValues: () => { },
|
|
12408
|
+
setIsOpen: () => { },
|
|
12758
12409
|
});
|
|
12759
|
-
const MultipleSelect = React__default.forwardRef(({
|
|
12760
|
-
|
|
12761
|
-
|
|
12762
|
-
|
|
12763
|
-
|
|
12764
|
-
|
|
12765
|
-
|
|
12766
|
-
|
|
12767
|
-
|
|
12768
|
-
|
|
12769
|
-
|
|
12770
|
-
|
|
12771
|
-
|
|
12772
|
-
|
|
12773
|
-
|
|
12774
|
-
|
|
12775
|
-
|
|
12776
|
-
|
|
12777
|
-
|
|
12778
|
-
|
|
12779
|
-
|
|
12780
|
-
|
|
12781
|
-
|
|
12782
|
-
const onTriggerOpenChange = value => {
|
|
12783
|
-
setIsOpen(value);
|
|
12784
|
-
onOpenChange?.(value);
|
|
12785
|
-
};
|
|
12786
|
-
return jsx(MultipleSelectContext, {
|
|
12787
|
-
value: {
|
|
12788
|
-
isOpen,
|
|
12789
|
-
values: selectedValues,
|
|
12790
|
-
disabled: disabled || false,
|
|
12791
|
-
setSelectedValues: onSelectedValuesChange,
|
|
12792
|
-
setIsOpen: onTriggerOpenChange
|
|
12793
|
-
},
|
|
12794
|
-
children: jsx("div", {
|
|
12795
|
-
ref: ref,
|
|
12796
|
-
className: `${wrapperStyles.className} ${className ?? ""}`,
|
|
12797
|
-
...rest,
|
|
12798
|
-
children: children
|
|
12799
|
-
})
|
|
12800
|
-
});
|
|
12801
|
-
});
|
|
12802
|
-
const MultipleSelectTrigger = React__default.forwardRef(({
|
|
12803
|
-
size = "regular",
|
|
12804
|
-
children,
|
|
12805
|
-
...rest
|
|
12806
|
-
}, ref) => {
|
|
12807
|
-
const {
|
|
12808
|
-
className,
|
|
12809
|
-
onClick,
|
|
12810
|
-
...otherProps
|
|
12811
|
-
} = rest;
|
|
12812
|
-
const {
|
|
12813
|
-
disabled,
|
|
12814
|
-
values,
|
|
12815
|
-
isOpen,
|
|
12816
|
-
setIsOpen
|
|
12817
|
-
} = React__default.useContext(MultipleSelectContext);
|
|
12818
|
-
const triggerStyles = stylex.props(multipleSelectTriggerStyles.base, multipleSelectTriggerStyles[size]);
|
|
12819
|
-
const arrowStyles = stylex.props(multipleSelectTriggerStyles.arrow);
|
|
12820
|
-
const handleTriggerClick = e => {
|
|
12821
|
-
e.stopPropagation();
|
|
12822
|
-
if (disabled) return;
|
|
12823
|
-
const value = !isOpen;
|
|
12824
|
-
setIsOpen(value);
|
|
12825
|
-
onClick?.(e);
|
|
12826
|
-
};
|
|
12827
|
-
return jsxs("div", {
|
|
12828
|
-
ref: ref,
|
|
12829
|
-
className: `${triggerStyles.className} ${className ?? ""}`,
|
|
12830
|
-
"data-disabled": disabled,
|
|
12831
|
-
"data-selected": values.length > 0,
|
|
12832
|
-
onClick: handleTriggerClick,
|
|
12833
|
-
...otherProps,
|
|
12834
|
-
children: [children, jsx("span", {
|
|
12835
|
-
...arrowStyles,
|
|
12836
|
-
children: jsx(ChevronDown, {
|
|
12837
|
-
size: 16
|
|
12838
|
-
})
|
|
12839
|
-
})]
|
|
12840
|
-
});
|
|
12841
|
-
});
|
|
12842
|
-
const MultipleSelectValue = React__default.forwardRef(({
|
|
12843
|
-
placeholder,
|
|
12844
|
-
className,
|
|
12845
|
-
...rest
|
|
12846
|
-
}, ref) => {
|
|
12847
|
-
const {
|
|
12848
|
-
values,
|
|
12849
|
-
disabled,
|
|
12850
|
-
setSelectedValues
|
|
12851
|
-
} = React__default.useContext(MultipleSelectContext);
|
|
12852
|
-
const [content, setContent] = React__default.useState(null);
|
|
12853
|
-
const composedRefs = useComposedRefs(ref, node => setContent(node));
|
|
12854
|
-
const valueStyles = stylex.props(multipleSelectTriggerStyles.value);
|
|
12855
|
-
const tagStyles = stylex.props(multipleSelectTriggerStyles.tag);
|
|
12856
|
-
const placeholderStyles = stylex.props(multipleSelectTriggerStyles.placeholder);
|
|
12857
|
-
const onDeleteClick = (value, e) => {
|
|
12858
|
-
e.stopPropagation();
|
|
12859
|
-
const newValues = values.filter(v => v.value !== value.id);
|
|
12860
|
-
setSelectedValues(newValues);
|
|
12861
|
-
};
|
|
12862
|
-
return jsx("div", {
|
|
12863
|
-
ref: composedRefs,
|
|
12864
|
-
style: {
|
|
12865
|
-
"--select-content-width": `${content?.offsetWidth}px`
|
|
12866
|
-
},
|
|
12867
|
-
className: `${valueStyles.className} ${className ?? ""}`,
|
|
12868
|
-
...rest,
|
|
12869
|
-
children: values?.length > 0 ? values.map(val => jsx(Tag, {
|
|
12870
|
-
value: {
|
|
12871
|
-
id: val.value,
|
|
12872
|
-
label: val.label
|
|
12873
|
-
},
|
|
12874
|
-
disabled: disabled,
|
|
12875
|
-
className: tagStyles.className,
|
|
12876
|
-
onDeleteClick: onDeleteClick
|
|
12877
|
-
}, val.value)) : jsx("span", {
|
|
12878
|
-
"data-disabled": disabled,
|
|
12879
|
-
...placeholderStyles,
|
|
12880
|
-
children: placeholder || "Select options"
|
|
12881
|
-
})
|
|
12882
|
-
});
|
|
12410
|
+
const MultipleSelect = React__default.forwardRef(({ open, onOpenChange, disabled, value, onValueChange, className, children, ...rest }, ref) => {
|
|
12411
|
+
const { setStyleXProps } = usePreferColors();
|
|
12412
|
+
const [isOpen, setIsOpen] = React__default.useState(open || false);
|
|
12413
|
+
const [selectedValues, setSelectedValues] = React__default.useState([]);
|
|
12414
|
+
const wrapperStyles = setStyleXProps(multipleSelectWrapperStyles.base);
|
|
12415
|
+
useEffect(() => {
|
|
12416
|
+
setIsOpen(open || false);
|
|
12417
|
+
}, [open]);
|
|
12418
|
+
const onSelectedValuesChange = (newValues) => {
|
|
12419
|
+
setSelectedValues(newValues);
|
|
12420
|
+
onValueChange?.(newValues.map((value) => ({ value: value.value, label: value.label })));
|
|
12421
|
+
};
|
|
12422
|
+
const onTriggerOpenChange = (value) => {
|
|
12423
|
+
setIsOpen(value);
|
|
12424
|
+
onOpenChange?.(value);
|
|
12425
|
+
};
|
|
12426
|
+
return (jsx(MultipleSelectContext, { value: {
|
|
12427
|
+
isOpen,
|
|
12428
|
+
values: selectedValues,
|
|
12429
|
+
disabled: disabled || false,
|
|
12430
|
+
setSelectedValues: onSelectedValuesChange,
|
|
12431
|
+
setIsOpen: onTriggerOpenChange,
|
|
12432
|
+
}, children: jsx("div", { ref: ref, className: `${wrapperStyles.className} ${className ?? ""}`, ...rest, children: children }) }));
|
|
12883
12433
|
});
|
|
12884
|
-
const
|
|
12885
|
-
|
|
12886
|
-
|
|
12887
|
-
|
|
12888
|
-
|
|
12889
|
-
|
|
12890
|
-
|
|
12891
|
-
|
|
12892
|
-
|
|
12893
|
-
|
|
12894
|
-
|
|
12895
|
-
|
|
12896
|
-
|
|
12897
|
-
const searchStyles = stylex.props(multipleSelectContentStyles.search);
|
|
12898
|
-
const [content, setContent] = React__default.useState(null);
|
|
12899
|
-
const composedRefs = useComposedRefs(ref, node => setContent(node));
|
|
12900
|
-
const [options, setOptions] = useState(optionsProps);
|
|
12901
|
-
useEffect(() => {
|
|
12902
|
-
if (isOpen) return;
|
|
12903
|
-
setOptions(optionsProps);
|
|
12904
|
-
}, [isOpen]);
|
|
12905
|
-
const handleSearchChange = e => {
|
|
12906
|
-
const searchValue = e.target.value.toLowerCase();
|
|
12907
|
-
if (!searchValue) {
|
|
12908
|
-
setOptions(optionsProps);
|
|
12909
|
-
return;
|
|
12910
|
-
}
|
|
12911
|
-
const filteredOptions = options.filter(option => option.label.toLowerCase().includes(searchValue));
|
|
12912
|
-
setOptions(filteredOptions);
|
|
12913
|
-
};
|
|
12914
|
-
React__default.useEffect(() => {
|
|
12915
|
-
const handleMouseUp = event => {
|
|
12916
|
-
if (!content?.contains(event.target)) {
|
|
12917
|
-
setIsOpen(false);
|
|
12918
|
-
}
|
|
12434
|
+
const MultipleSelectTrigger = React__default.forwardRef(({ size = "regular", children, ...rest }, ref) => {
|
|
12435
|
+
const { setStyleXProps } = usePreferColors();
|
|
12436
|
+
const { className, onClick, ...otherProps } = rest;
|
|
12437
|
+
const { disabled, values, isOpen, setIsOpen } = React__default.useContext(MultipleSelectContext);
|
|
12438
|
+
const triggerStyles = setStyleXProps(multipleSelectTriggerStyles.base, multipleSelectTriggerStyles[size]);
|
|
12439
|
+
const arrowStyles = setStyleXProps(multipleSelectTriggerStyles.arrow);
|
|
12440
|
+
const handleTriggerClick = (e) => {
|
|
12441
|
+
e.stopPropagation();
|
|
12442
|
+
if (disabled)
|
|
12443
|
+
return;
|
|
12444
|
+
const value = !isOpen;
|
|
12445
|
+
setIsOpen(value);
|
|
12446
|
+
onClick?.(e);
|
|
12919
12447
|
};
|
|
12920
|
-
|
|
12921
|
-
|
|
12922
|
-
|
|
12448
|
+
return (jsxs("div", { ref: ref, className: `${triggerStyles.className} ${className ?? ""}`, "data-disabled": disabled, "data-selected": values.length > 0, onClick: handleTriggerClick, ...otherProps, children: [children, jsx("span", { ...arrowStyles, children: jsx(ChevronDown, { size: 16 }) })] }));
|
|
12449
|
+
});
|
|
12450
|
+
const MultipleSelectValue = React__default.forwardRef(({ placeholder, className, ...rest }, ref) => {
|
|
12451
|
+
const { setStyleXProps } = usePreferColors();
|
|
12452
|
+
const { values, disabled, setSelectedValues } = React__default.useContext(MultipleSelectContext);
|
|
12453
|
+
const [content, setContent] = React__default.useState(null);
|
|
12454
|
+
const composedRefs = useComposedRefs(ref, (node) => setContent(node));
|
|
12455
|
+
const valueStyles = setStyleXProps(multipleSelectTriggerStyles.value);
|
|
12456
|
+
const tagStyles = setStyleXProps(multipleSelectTriggerStyles.tag);
|
|
12457
|
+
const placeholderStyles = setStyleXProps(multipleSelectTriggerStyles.placeholder);
|
|
12458
|
+
const onDeleteClick = (value, e) => {
|
|
12459
|
+
e.stopPropagation();
|
|
12460
|
+
const newValues = values.filter((v) => v.value !== value.id);
|
|
12461
|
+
setSelectedValues(newValues);
|
|
12923
12462
|
};
|
|
12924
|
-
|
|
12925
|
-
|
|
12926
|
-
|
|
12927
|
-
|
|
12928
|
-
|
|
12929
|
-
|
|
12930
|
-
|
|
12931
|
-
|
|
12463
|
+
return (jsx("div", { ref: composedRefs, style: {
|
|
12464
|
+
"--select-content-width": `${content?.offsetWidth}px`,
|
|
12465
|
+
}, className: `${valueStyles.className} ${className ?? ""}`, ...rest, children: values?.length > 0 ? (values.map((val) => (jsx(Tag, { value: { id: val.value, label: val.label }, disabled: disabled, className: tagStyles.className, onDeleteClick: onDeleteClick }, val.value)))) : (jsx("span", { "data-disabled": disabled, ...placeholderStyles, children: placeholder || "Select options" })) }));
|
|
12466
|
+
});
|
|
12467
|
+
const MultipleSelectContent = React__default.forwardRef(({ useSearch, options: optionsProps, indicator, className, ...rest }, ref) => {
|
|
12468
|
+
const { setStyleXProps } = usePreferColors();
|
|
12469
|
+
const { isOpen, setIsOpen } = React__default.useContext(MultipleSelectContext);
|
|
12470
|
+
const contentStyles = setStyleXProps(multipleSelectContentStyles.base);
|
|
12471
|
+
const optionsStyles = setStyleXProps(multipleSelectContentStyles.options);
|
|
12472
|
+
const searchStyles = setStyleXProps(multipleSelectContentStyles.search);
|
|
12473
|
+
const [content, setContent] = React__default.useState(null);
|
|
12474
|
+
const composedRefs = useComposedRefs(ref, (node) => setContent(node));
|
|
12475
|
+
const [options, setOptions] = useState(optionsProps);
|
|
12476
|
+
useEffect(() => {
|
|
12477
|
+
if (isOpen)
|
|
12478
|
+
return;
|
|
12479
|
+
setOptions(optionsProps);
|
|
12480
|
+
}, [isOpen]);
|
|
12481
|
+
const handleSearchChange = (e) => {
|
|
12482
|
+
const searchValue = e.target.value.toLowerCase();
|
|
12483
|
+
if (!searchValue) {
|
|
12484
|
+
setOptions(optionsProps);
|
|
12485
|
+
return;
|
|
12486
|
+
}
|
|
12487
|
+
const filteredOptions = options.filter((option) => option.label.toLowerCase().includes(searchValue));
|
|
12488
|
+
setOptions(filteredOptions);
|
|
12932
12489
|
};
|
|
12933
|
-
|
|
12934
|
-
|
|
12935
|
-
|
|
12936
|
-
|
|
12937
|
-
|
|
12938
|
-
|
|
12939
|
-
|
|
12940
|
-
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12951
|
-
|
|
12952
|
-
|
|
12953
|
-
|
|
12954
|
-
})]
|
|
12955
|
-
});
|
|
12490
|
+
React__default.useEffect(() => {
|
|
12491
|
+
const handleMouseUp = (event) => {
|
|
12492
|
+
if (!content?.contains(event.target)) {
|
|
12493
|
+
setIsOpen(false);
|
|
12494
|
+
}
|
|
12495
|
+
};
|
|
12496
|
+
document.addEventListener("mouseup", handleMouseUp);
|
|
12497
|
+
return () => {
|
|
12498
|
+
document.removeEventListener("mouseup", handleMouseUp);
|
|
12499
|
+
};
|
|
12500
|
+
}, [setIsOpen, content]);
|
|
12501
|
+
React__default.useEffect(() => {
|
|
12502
|
+
const close = () => setIsOpen(false);
|
|
12503
|
+
window.addEventListener("blur", close);
|
|
12504
|
+
window.addEventListener("resize", close);
|
|
12505
|
+
return () => {
|
|
12506
|
+
window.removeEventListener("blur", close);
|
|
12507
|
+
window.removeEventListener("resize", close);
|
|
12508
|
+
};
|
|
12509
|
+
}, [setIsOpen]);
|
|
12510
|
+
return (isOpen && (jsxs("div", { ref: composedRefs, className: `${contentStyles.className} ${className ?? ""}`, ...rest, children: [useSearch && (jsx("div", { ...searchStyles, children: jsx(Input, { onChange: handleSearchChange, leftIcon: jsx(MagnifyingGlassIcon, { width: 20, height: 20 }), placeholder: "Enter any characters..." }) })), jsx("ul", { ...optionsStyles, children: options.map((option) => (jsx(MultipleSelectItem, { option: option, indicator: indicator }, option.value))) })] })));
|
|
12956
12511
|
});
|
|
12957
|
-
const MultipleSelectItem = React__default.forwardRef(({
|
|
12958
|
-
|
|
12959
|
-
|
|
12960
|
-
|
|
12961
|
-
|
|
12962
|
-
|
|
12963
|
-
|
|
12964
|
-
|
|
12965
|
-
|
|
12966
|
-
|
|
12967
|
-
|
|
12968
|
-
|
|
12969
|
-
|
|
12970
|
-
|
|
12971
|
-
|
|
12972
|
-
|
|
12973
|
-
|
|
12974
|
-
const newValues = isSelected ? values.filter(val => val.value !== option.value) : [...values, option];
|
|
12975
|
-
setSelectedValues(newValues);
|
|
12976
|
-
};
|
|
12977
|
-
return jsxs("li", {
|
|
12978
|
-
ref: ref,
|
|
12979
|
-
"data-selected": isSelected,
|
|
12980
|
-
"data-disabled": option.disabled,
|
|
12981
|
-
className: `${itemStyles.className} ${className}`,
|
|
12982
|
-
onClick: handleClick,
|
|
12983
|
-
...rest,
|
|
12984
|
-
children: [jsx("span", {
|
|
12985
|
-
className: itemLabelStyles.className,
|
|
12986
|
-
children: option.label
|
|
12987
|
-
}), indicator && isSelected && jsx("span", {
|
|
12988
|
-
...indicatorStyles,
|
|
12989
|
-
children: indicator
|
|
12990
|
-
})]
|
|
12991
|
-
});
|
|
12512
|
+
const MultipleSelectItem = React__default.forwardRef(({ option, indicator, className, ...rest }, ref) => {
|
|
12513
|
+
const { setStyleXProps } = usePreferColors();
|
|
12514
|
+
const { values, setSelectedValues } = React__default.useContext(MultipleSelectContext);
|
|
12515
|
+
const isSelected = values.some((val) => val.value === option.value);
|
|
12516
|
+
const itemStyles = setStyleXProps(multipleSelectItemStyles.base);
|
|
12517
|
+
const indicatorStyles = setStyleXProps(multipleSelectItemStyles.indicator);
|
|
12518
|
+
const itemLabelStyles = setStyleXProps(multipleSelectItemStyles.label);
|
|
12519
|
+
const handleClick = (e) => {
|
|
12520
|
+
e.stopPropagation();
|
|
12521
|
+
if (option.disabled)
|
|
12522
|
+
return;
|
|
12523
|
+
const newValues = isSelected
|
|
12524
|
+
? values.filter((val) => val.value !== option.value)
|
|
12525
|
+
: [...values, option];
|
|
12526
|
+
setSelectedValues(newValues);
|
|
12527
|
+
};
|
|
12528
|
+
return (jsxs("li", { ref: ref, "data-selected": isSelected, "data-disabled": option.disabled, className: `${itemStyles.className} ${className}`, onClick: handleClick, ...rest, children: [jsx("span", { className: itemLabelStyles.className, children: option.label }), indicator && isSelected && jsx("span", { ...indicatorStyles, children: indicator })] }));
|
|
12992
12529
|
});
|
|
12993
12530
|
|
|
12994
12531
|
const tableStyles = {
|
|
@@ -13057,99 +12594,35 @@ const tableStyles = {
|
|
|
13057
12594
|
}
|
|
13058
12595
|
};
|
|
13059
12596
|
|
|
13060
|
-
const Table = React__default.forwardRef(({
|
|
13061
|
-
|
|
13062
|
-
|
|
13063
|
-
|
|
13064
|
-
const tableClasses = stylex.props(tableStyles.table);
|
|
13065
|
-
return jsx("table", {
|
|
13066
|
-
ref: ref,
|
|
13067
|
-
className: `${tableClasses.className} ${className ?? ""}`,
|
|
13068
|
-
...rest
|
|
13069
|
-
});
|
|
12597
|
+
const Table = React__default.forwardRef(({ className, ...rest }, ref) => {
|
|
12598
|
+
const { setStyleXProps } = usePreferColors();
|
|
12599
|
+
const tableClasses = setStyleXProps(tableStyles.table);
|
|
12600
|
+
return (jsx("table", { ref: ref, className: `${tableClasses.className} ${className ?? ""}`, ...rest }));
|
|
13070
12601
|
});
|
|
13071
|
-
const TableHeader = React__default.forwardRef(({
|
|
13072
|
-
|
|
13073
|
-
|
|
13074
|
-
|
|
13075
|
-
const headerRowClasses = stylex.props(tableStyles.theadTR);
|
|
13076
|
-
return jsx("thead", {
|
|
13077
|
-
children: jsx("tr", {
|
|
13078
|
-
ref: ref,
|
|
13079
|
-
className: `${headerRowClasses.className} ${className ?? ""}`,
|
|
13080
|
-
...rest
|
|
13081
|
-
})
|
|
13082
|
-
});
|
|
12602
|
+
const TableHeader = React__default.forwardRef(({ className, ...rest }, ref) => {
|
|
12603
|
+
const { setStyleXProps } = usePreferColors();
|
|
12604
|
+
const headerRowClasses = setStyleXProps(tableStyles.theadTR);
|
|
12605
|
+
return (jsx("thead", { children: jsx("tr", { ref: ref, className: `${headerRowClasses.className} ${className ?? ""}`, ...rest }) }));
|
|
13083
12606
|
});
|
|
13084
|
-
const TableBody = React__default.forwardRef(({
|
|
13085
|
-
|
|
13086
|
-
}, ref) => {
|
|
13087
|
-
return jsx("tbody", {
|
|
13088
|
-
ref: ref,
|
|
13089
|
-
...rest
|
|
13090
|
-
});
|
|
12607
|
+
const TableBody = React__default.forwardRef(({ ...rest }, ref) => {
|
|
12608
|
+
return jsx("tbody", { ref: ref, ...rest });
|
|
13091
12609
|
});
|
|
13092
|
-
const TableRow = React__default.forwardRef(({
|
|
13093
|
-
|
|
13094
|
-
|
|
13095
|
-
|
|
13096
|
-
...rest
|
|
13097
|
-
}, ref) => {
|
|
13098
|
-
const rowClasses = stylex.props(tableStyles.tr);
|
|
13099
|
-
return jsx("tr", {
|
|
13100
|
-
ref: ref,
|
|
13101
|
-
"data-selected": isSelected,
|
|
13102
|
-
"data-last-border": shouldLastBorderRender,
|
|
13103
|
-
className: `${rowClasses.className} ${className ?? ""}`,
|
|
13104
|
-
...rest
|
|
13105
|
-
});
|
|
12610
|
+
const TableRow = React__default.forwardRef(({ isSelected, shouldLastBorderRender = true, className, ...rest }, ref) => {
|
|
12611
|
+
const { setStyleXProps } = usePreferColors();
|
|
12612
|
+
const rowClasses = setStyleXProps(tableStyles.tr);
|
|
12613
|
+
return (jsx("tr", { ref: ref, "data-selected": isSelected, "data-last-border": shouldLastBorderRender, className: `${rowClasses.className} ${className ?? ""}`, ...rest }));
|
|
13106
12614
|
});
|
|
13107
|
-
const TableHead = React__default.forwardRef(({
|
|
13108
|
-
|
|
13109
|
-
|
|
13110
|
-
|
|
13111
|
-
|
|
13112
|
-
const headClasses = stylex.props(tableStyles.cell, tableStyles.th);
|
|
13113
|
-
const contentClasses = stylex.props(tableStyles.content);
|
|
13114
|
-
return jsx("th", {
|
|
13115
|
-
ref: ref,
|
|
13116
|
-
className: `${headClasses.className} ${className ?? ""}`,
|
|
13117
|
-
...rest,
|
|
13118
|
-
children: jsx("div", {
|
|
13119
|
-
className: contentClasses.className,
|
|
13120
|
-
children: children
|
|
13121
|
-
})
|
|
13122
|
-
});
|
|
12615
|
+
const TableHead = React__default.forwardRef(({ className, children, ...rest }, ref) => {
|
|
12616
|
+
const { setStyleXProps } = usePreferColors();
|
|
12617
|
+
const headClasses = setStyleXProps(tableStyles.cell, tableStyles.th);
|
|
12618
|
+
const contentClasses = setStyleXProps(tableStyles.content);
|
|
12619
|
+
return (jsx("th", { ref: ref, className: `${headClasses.className} ${className ?? ""}`, ...rest, children: jsx("div", { className: contentClasses.className, children: children }) }));
|
|
13123
12620
|
});
|
|
13124
|
-
const TableCell = React__default.forwardRef(({
|
|
13125
|
-
|
|
13126
|
-
|
|
13127
|
-
|
|
13128
|
-
|
|
13129
|
-
}, ref) => {
|
|
13130
|
-
const cellClasses = stylex.props(tableStyles.cell, tableStyles.td);
|
|
13131
|
-
const contentClasses = stylex.props(tableStyles.content);
|
|
13132
|
-
return jsx("td", {
|
|
13133
|
-
ref: ref,
|
|
13134
|
-
className: `${cellClasses.className} ${className ?? ""}`,
|
|
13135
|
-
...rest,
|
|
13136
|
-
children: showTooltip ? jsxs(Tooltip, {
|
|
13137
|
-
children: [jsx(TooltipTrigger, {
|
|
13138
|
-
asChild: true,
|
|
13139
|
-
children: jsx("span", {
|
|
13140
|
-
children: children
|
|
13141
|
-
})
|
|
13142
|
-
}), jsx(TooltipContent, {
|
|
13143
|
-
type: "short",
|
|
13144
|
-
side: "bottom",
|
|
13145
|
-
sideOffset: 10,
|
|
13146
|
-
children: children
|
|
13147
|
-
})]
|
|
13148
|
-
}) : jsx("div", {
|
|
13149
|
-
className: contentClasses.className,
|
|
13150
|
-
children: children
|
|
13151
|
-
})
|
|
13152
|
-
});
|
|
12621
|
+
const TableCell = React__default.forwardRef(({ className, children, showTooltip, ...rest }, ref) => {
|
|
12622
|
+
const { setStyleXProps } = usePreferColors();
|
|
12623
|
+
const cellClasses = setStyleXProps(tableStyles.cell, tableStyles.td);
|
|
12624
|
+
const contentClasses = setStyleXProps(tableStyles.content);
|
|
12625
|
+
return (jsx("td", { ref: ref, className: `${cellClasses.className} ${className ?? ""}`, ...rest, children: showTooltip ? (jsxs(Tooltip, { children: [jsx(TooltipTrigger, { asChild: true, children: jsx("span", { children: children }) }), jsx(TooltipContent, { type: "short", side: "bottom", sideOffset: 10, children: children })] })) : (jsx("div", { className: contentClasses.className, children: children })) }));
|
|
13153
12626
|
});
|
|
13154
12627
|
|
|
13155
12628
|
const DataTable = ({ config, data, emptyMessage, onRowClick, enableSelection = false, shouldLastBorderRender = true, classNames, refs, }) => {
|
|
@@ -13247,97 +12720,39 @@ const paginationStyles = {
|
|
|
13247
12720
|
}
|
|
13248
12721
|
};
|
|
13249
12722
|
|
|
13250
|
-
const Pagination = ({
|
|
13251
|
-
|
|
13252
|
-
|
|
13253
|
-
}
|
|
13254
|
-
const paginationClasses = stylex.props(paginationStyles.pagination);
|
|
13255
|
-
return jsx("nav", {
|
|
13256
|
-
role: "navigation",
|
|
13257
|
-
"aria-label": "pagination",
|
|
13258
|
-
"data-slot": "pagination",
|
|
13259
|
-
className: `${paginationClasses.className} ${className ?? ""}`,
|
|
13260
|
-
...props
|
|
13261
|
-
});
|
|
12723
|
+
const Pagination = ({ className, ...props }) => {
|
|
12724
|
+
const { setStyleXProps } = usePreferColors();
|
|
12725
|
+
const paginationClasses = setStyleXProps(paginationStyles.pagination);
|
|
12726
|
+
return (jsx("nav", { role: "navigation", "aria-label": "pagination", "data-slot": "pagination", className: `${paginationClasses.className} ${className ?? ""}`, ...props }));
|
|
13262
12727
|
};
|
|
13263
|
-
const PaginationContent = ({
|
|
13264
|
-
|
|
13265
|
-
|
|
13266
|
-
}
|
|
13267
|
-
const contentClasses = stylex.props(paginationStyles.content);
|
|
13268
|
-
return jsx("ul", {
|
|
13269
|
-
"data-slot": "pagination-content",
|
|
13270
|
-
className: `${contentClasses.className} ${className ?? ""}`,
|
|
13271
|
-
...props
|
|
13272
|
-
});
|
|
12728
|
+
const PaginationContent = ({ className, ...props }) => {
|
|
12729
|
+
const { setStyleXProps } = usePreferColors();
|
|
12730
|
+
const contentClasses = setStyleXProps(paginationStyles.content);
|
|
12731
|
+
return (jsx("ul", { "data-slot": "pagination-content", className: `${contentClasses.className} ${className ?? ""}`, ...props }));
|
|
13273
12732
|
};
|
|
13274
|
-
const PaginationItem = props => {
|
|
13275
|
-
|
|
13276
|
-
"data-slot": "pagination-item",
|
|
13277
|
-
...props
|
|
13278
|
-
});
|
|
12733
|
+
const PaginationItem = (props) => {
|
|
12734
|
+
return jsx("li", { "data-slot": "pagination-item", ...props });
|
|
13279
12735
|
};
|
|
13280
|
-
const PaginationLink = ({
|
|
13281
|
-
|
|
13282
|
-
|
|
13283
|
-
|
|
13284
|
-
variant = "ghost",
|
|
13285
|
-
...props
|
|
13286
|
-
}) => {
|
|
13287
|
-
const buttonClasses = stylex.props(paginationStyles.button, isActive && paginationStyles.selected);
|
|
13288
|
-
return jsx(Button, {
|
|
13289
|
-
"aria-current": isActive ? "page" : undefined,
|
|
13290
|
-
"data-slot": "pagination-link",
|
|
13291
|
-
"data-active": isActive,
|
|
13292
|
-
size: size,
|
|
13293
|
-
variant: variant,
|
|
13294
|
-
className: `${buttonClasses.className} ${className ?? ""}`,
|
|
13295
|
-
...props
|
|
13296
|
-
});
|
|
12736
|
+
const PaginationLink = ({ className, isActive, size = "regular", variant = "ghost", ...props }) => {
|
|
12737
|
+
const { setStyleXProps } = usePreferColors();
|
|
12738
|
+
const buttonClasses = setStyleXProps(paginationStyles.button, isActive && paginationStyles.selected);
|
|
12739
|
+
return (jsx(Button, { "aria-current": isActive ? "page" : undefined, "data-slot": "pagination-link", "data-active": isActive, size: size, variant: variant, className: `${buttonClasses.className} ${className ?? ""}`, ...props }));
|
|
13297
12740
|
};
|
|
13298
|
-
const PaginationPrevious = ({
|
|
13299
|
-
|
|
13300
|
-
|
|
13301
|
-
})
|
|
13302
|
-
const previousClasses = stylex.props(paginationStyles.previous);
|
|
13303
|
-
return jsx(PaginationLink, {
|
|
13304
|
-
"aria-label": "Go to previous page",
|
|
13305
|
-
className: `${previousClasses.className} ${className ?? ""}`,
|
|
13306
|
-
leftIcon: jsx(ChevronLeft, {
|
|
13307
|
-
size: 20
|
|
13308
|
-
}),
|
|
13309
|
-
...props
|
|
13310
|
-
});
|
|
12741
|
+
const PaginationPrevious = ({ className, ...props }) => {
|
|
12742
|
+
const { setStyleXProps } = usePreferColors();
|
|
12743
|
+
const previousClasses = setStyleXProps(paginationStyles.previous);
|
|
12744
|
+
return (jsx(PaginationLink, { "aria-label": "Go to previous page", className: `${previousClasses.className} ${className ?? ""}`, leftIcon: jsx(ChevronLeft, { size: 20 }), ...props }));
|
|
13311
12745
|
};
|
|
13312
|
-
const PaginationNext = ({
|
|
13313
|
-
|
|
13314
|
-
|
|
13315
|
-
})
|
|
13316
|
-
const nextClasses = stylex.props(paginationStyles.next);
|
|
13317
|
-
return jsx(PaginationLink, {
|
|
13318
|
-
"aria-label": "Go to next page",
|
|
13319
|
-
className: `${nextClasses.className} ${className ?? ""}`,
|
|
13320
|
-
leftIcon: jsx(ChevronRight, {
|
|
13321
|
-
size: 20
|
|
13322
|
-
}),
|
|
13323
|
-
...props
|
|
13324
|
-
});
|
|
12746
|
+
const PaginationNext = ({ className, ...props }) => {
|
|
12747
|
+
const { setStyleXProps } = usePreferColors();
|
|
12748
|
+
const nextClasses = setStyleXProps(paginationStyles.next);
|
|
12749
|
+
return (jsx(PaginationLink, { "aria-label": "Go to next page", className: `${nextClasses.className} ${className ?? ""}`, leftIcon: jsx(ChevronRight, { size: 20 }), ...props }));
|
|
13325
12750
|
};
|
|
13326
|
-
const PaginationEllipsis = ({
|
|
13327
|
-
|
|
13328
|
-
|
|
13329
|
-
|
|
13330
|
-
|
|
13331
|
-
const iconClasses = stylex.props(paginationStyles.ellipsisIcon);
|
|
13332
|
-
return jsx("span", {
|
|
13333
|
-
"aria-hidden": true,
|
|
13334
|
-
"data-slot": "pagination-ellipsis",
|
|
13335
|
-
className: `${ellipsisClasses.className} ${className ?? ""}`,
|
|
13336
|
-
...props,
|
|
13337
|
-
children: jsx(Ellipsis, {
|
|
13338
|
-
className: iconClasses.className
|
|
13339
|
-
})
|
|
13340
|
-
});
|
|
12751
|
+
const PaginationEllipsis = ({ className, ...props }) => {
|
|
12752
|
+
const { setStyleXProps } = usePreferColors();
|
|
12753
|
+
const ellipsisClasses = setStyleXProps(paginationStyles.ellipsis);
|
|
12754
|
+
const iconClasses = setStyleXProps(paginationStyles.ellipsisIcon);
|
|
12755
|
+
return (jsx("span", { "aria-hidden": true, "data-slot": "pagination-ellipsis", className: `${ellipsisClasses.className} ${className ?? ""}`, ...props, children: jsx(Ellipsis, { className: iconClasses.className }) }));
|
|
13341
12756
|
};
|
|
13342
12757
|
|
|
13343
12758
|
const interactiveListItemStyles = {
|
|
@@ -13469,66 +12884,27 @@ const interactiveListItemStyles = {
|
|
|
13469
12884
|
};
|
|
13470
12885
|
|
|
13471
12886
|
const InteractiveListItemContext = React__default.createContext({
|
|
13472
|
-
|
|
12887
|
+
disabled: false,
|
|
13473
12888
|
});
|
|
13474
|
-
const InteractiveListItem = React__default.forwardRef(({
|
|
13475
|
-
|
|
13476
|
-
|
|
13477
|
-
|
|
13478
|
-
children,
|
|
13479
|
-
...props
|
|
13480
|
-
}, ref) => {
|
|
13481
|
-
const itemClasses = stylex.props(interactiveListItemStyles.base);
|
|
13482
|
-
return jsx(InteractiveListItemContext, {
|
|
13483
|
-
value: {
|
|
13484
|
-
disabled: !!disabled
|
|
13485
|
-
},
|
|
13486
|
-
children: jsx("div", {
|
|
13487
|
-
ref: ref,
|
|
13488
|
-
"data-selected": isSelected,
|
|
13489
|
-
"data-disabled": disabled,
|
|
13490
|
-
"data-hover-actions": showHoverActions,
|
|
13491
|
-
className: `${itemClasses.className} ${props.className ?? ""}`,
|
|
13492
|
-
...props,
|
|
13493
|
-
children: children
|
|
13494
|
-
})
|
|
13495
|
-
});
|
|
12889
|
+
const InteractiveListItem = React__default.forwardRef(({ isSelected, disabled, showHoverActions = true, children, ...props }, ref) => {
|
|
12890
|
+
const { setStyleXProps } = usePreferColors();
|
|
12891
|
+
const itemClasses = setStyleXProps(interactiveListItemStyles.base);
|
|
12892
|
+
return (jsx(InteractiveListItemContext, { value: { disabled: !!disabled }, children: jsx("div", { ref: ref, "data-selected": isSelected, "data-disabled": disabled, "data-hover-actions": showHoverActions, className: `${itemClasses.className} ${props.className ?? ""}`, ...props, children: children }) }));
|
|
13496
12893
|
});
|
|
13497
|
-
const InteractiveListItemIcon = React__default.forwardRef(({
|
|
13498
|
-
|
|
13499
|
-
|
|
13500
|
-
|
|
13501
|
-
const iconClasses = stylex.props(interactiveListItemStyles.icon);
|
|
13502
|
-
return jsx("span", {
|
|
13503
|
-
className: iconClasses.className,
|
|
13504
|
-
...props,
|
|
13505
|
-
ref: ref,
|
|
13506
|
-
children: children
|
|
13507
|
-
});
|
|
12894
|
+
const InteractiveListItemIcon = React__default.forwardRef(({ children, ...props }, ref) => {
|
|
12895
|
+
const { setStyleXProps } = usePreferColors();
|
|
12896
|
+
const iconClasses = setStyleXProps(interactiveListItemStyles.icon);
|
|
12897
|
+
return (jsx("span", { className: iconClasses.className, ...props, ref: ref, children: children }));
|
|
13508
12898
|
});
|
|
13509
|
-
const InteractiveListItemContent = React__default.forwardRef(({
|
|
13510
|
-
|
|
13511
|
-
|
|
13512
|
-
|
|
13513
|
-
const contentClasses = stylex.props(interactiveListItemStyles.content);
|
|
13514
|
-
return jsx("div", {
|
|
13515
|
-
className: contentClasses.className,
|
|
13516
|
-
...rest,
|
|
13517
|
-
ref: ref,
|
|
13518
|
-
children: children
|
|
13519
|
-
});
|
|
12899
|
+
const InteractiveListItemContent = React__default.forwardRef(({ children, ...rest }, ref) => {
|
|
12900
|
+
const { setStyleXProps } = usePreferColors();
|
|
12901
|
+
const contentClasses = setStyleXProps(interactiveListItemStyles.content);
|
|
12902
|
+
return (jsx("div", { className: contentClasses.className, ...rest, ref: ref, children: children }));
|
|
13520
12903
|
});
|
|
13521
|
-
const InteractiveListItemActions = React__default.forwardRef(({
|
|
13522
|
-
|
|
13523
|
-
|
|
13524
|
-
|
|
13525
|
-
const buttonsClasses = stylex.props(interactiveListItemStyles.buttons);
|
|
13526
|
-
return jsx("div", {
|
|
13527
|
-
className: buttonsClasses.className,
|
|
13528
|
-
...props,
|
|
13529
|
-
ref: ref,
|
|
13530
|
-
children: children
|
|
13531
|
-
});
|
|
12904
|
+
const InteractiveListItemActions = React__default.forwardRef(({ children, ...props }, ref) => {
|
|
12905
|
+
const { setStyleXProps } = usePreferColors();
|
|
12906
|
+
const buttonsClasses = setStyleXProps(interactiveListItemStyles.buttons);
|
|
12907
|
+
return (jsx("div", { className: buttonsClasses.className, ...props, ref: ref, children: children }));
|
|
13532
12908
|
});
|
|
13533
12909
|
|
|
13534
12910
|
const calendarStyles = {
|
|
@@ -13751,50 +13127,33 @@ const calendarStyles = {
|
|
|
13751
13127
|
}
|
|
13752
13128
|
};
|
|
13753
13129
|
|
|
13754
|
-
const Calendar = ({
|
|
13755
|
-
|
|
13756
|
-
|
|
13757
|
-
|
|
13758
|
-
|
|
13759
|
-
|
|
13760
|
-
|
|
13761
|
-
|
|
13762
|
-
|
|
13763
|
-
|
|
13764
|
-
|
|
13765
|
-
|
|
13766
|
-
|
|
13767
|
-
|
|
13768
|
-
|
|
13769
|
-
|
|
13770
|
-
|
|
13771
|
-
|
|
13772
|
-
|
|
13773
|
-
|
|
13774
|
-
|
|
13775
|
-
|
|
13776
|
-
|
|
13777
|
-
|
|
13778
|
-
|
|
13779
|
-
|
|
13780
|
-
|
|
13781
|
-
today: getDatePickerClassName("day"),
|
|
13782
|
-
range_start: `${getDatePickerClassName("rangeStart")} range-start`,
|
|
13783
|
-
range_middle: `${getDatePickerClassName("rangeMiddle")} range-middle`,
|
|
13784
|
-
range_end: `${getDatePickerClassName("rangeEnd")} range-end`,
|
|
13785
|
-
outside: getDatePickerClassName("outside"),
|
|
13786
|
-
...classNames
|
|
13787
|
-
},
|
|
13788
|
-
components: {
|
|
13789
|
-
Chevron: args => jsx(ChevronLeft, {
|
|
13790
|
-
size: 16,
|
|
13791
|
-
...args,
|
|
13792
|
-
"data-orientation": args.orientation,
|
|
13793
|
-
className: getDatePickerClassName("navButton")
|
|
13794
|
-
})
|
|
13795
|
-
},
|
|
13796
|
-
...props
|
|
13797
|
-
});
|
|
13130
|
+
const Calendar = ({ className, classNames, showOutsideDays = true, ...props }) => {
|
|
13131
|
+
const { setStyleXProps } = usePreferColors();
|
|
13132
|
+
const getDatePickerClassName = (key) => {
|
|
13133
|
+
return setStyleXProps(calendarStyles[key]).className;
|
|
13134
|
+
};
|
|
13135
|
+
return (jsx(DayPicker, { showOutsideDays: showOutsideDays, navLayout: "around", style: {
|
|
13136
|
+
"--rdp-day-width": "32px",
|
|
13137
|
+
"--rdp-day-height": "32px",
|
|
13138
|
+
"--rdp-day_button-height": "32px",
|
|
13139
|
+
"--rdp-day_button-width": "32px",
|
|
13140
|
+
}, className: className, classNames: {
|
|
13141
|
+
months: getDatePickerClassName("months"),
|
|
13142
|
+
month_caption: getDatePickerClassName("monthCaption"),
|
|
13143
|
+
caption_label: getDatePickerClassName("captionLabel"),
|
|
13144
|
+
month_grid: getDatePickerClassName("monthGrid"),
|
|
13145
|
+
weekday: getDatePickerClassName("weekday"),
|
|
13146
|
+
day: getDatePickerClassName("day"),
|
|
13147
|
+
selected: getDatePickerClassName("selected"),
|
|
13148
|
+
today: getDatePickerClassName("day"),
|
|
13149
|
+
range_start: `${getDatePickerClassName("rangeStart")} range-start`,
|
|
13150
|
+
range_middle: `${getDatePickerClassName("rangeMiddle")} range-middle`,
|
|
13151
|
+
range_end: `${getDatePickerClassName("rangeEnd")} range-end`,
|
|
13152
|
+
outside: getDatePickerClassName("outside"),
|
|
13153
|
+
...classNames,
|
|
13154
|
+
}, components: {
|
|
13155
|
+
Chevron: (args) => (jsx(ChevronLeft, { size: 16, ...args, "data-orientation": args.orientation, className: getDatePickerClassName("navButton") })),
|
|
13156
|
+
}, ...props }));
|
|
13798
13157
|
};
|
|
13799
13158
|
|
|
13800
13159
|
const datePickerStyles = {
|
|
@@ -13813,90 +13172,49 @@ var dayjs_min = {exports: {}};
|
|
|
13813
13172
|
var dayjs_minExports = dayjs_min.exports;
|
|
13814
13173
|
var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
|
|
13815
13174
|
|
|
13816
|
-
const DatePicker = ({
|
|
13817
|
-
|
|
13818
|
-
|
|
13819
|
-
|
|
13820
|
-
|
|
13821
|
-
|
|
13822
|
-
|
|
13823
|
-
|
|
13824
|
-
|
|
13825
|
-
|
|
13826
|
-
|
|
13827
|
-
|
|
13828
|
-
|
|
13829
|
-
|
|
13830
|
-
|
|
13831
|
-
|
|
13832
|
-
|
|
13833
|
-
|
|
13834
|
-
|
|
13835
|
-
|
|
13836
|
-
|
|
13837
|
-
|
|
13838
|
-
|
|
13839
|
-
|
|
13840
|
-
|
|
13841
|
-
|
|
13842
|
-
}
|
|
13843
|
-
|
|
13844
|
-
|
|
13845
|
-
|
|
13846
|
-
|
|
13847
|
-
|
|
13848
|
-
|
|
13849
|
-
|
|
13850
|
-
|
|
13851
|
-
|
|
13852
|
-
|
|
13853
|
-
|
|
13854
|
-
|
|
13855
|
-
|
|
13856
|
-
|
|
13857
|
-
}
|
|
13858
|
-
|
|
13859
|
-
}
|
|
13860
|
-
return placeholder ?? "";
|
|
13861
|
-
};
|
|
13862
|
-
return jsxs(Root2$2, {
|
|
13863
|
-
open: open,
|
|
13864
|
-
onOpenChange: handleOpenChange,
|
|
13865
|
-
children: [jsx(Trigger$2, {
|
|
13866
|
-
asChild: true,
|
|
13867
|
-
children: jsx(Button, {
|
|
13868
|
-
size: size,
|
|
13869
|
-
fullWidth: true,
|
|
13870
|
-
variant: "outline",
|
|
13871
|
-
leftIcon: jsx(Calendar$1, {
|
|
13872
|
-
size: 20
|
|
13873
|
-
}),
|
|
13874
|
-
className: wrapperStyle.className,
|
|
13875
|
-
disabled: disabled,
|
|
13876
|
-
children: getDateToFormatString(inputValue)
|
|
13877
|
-
})
|
|
13878
|
-
}), jsx(Content2$2, {
|
|
13879
|
-
sideOffset: 10,
|
|
13880
|
-
align: "start",
|
|
13881
|
-
...rest,
|
|
13882
|
-
children: mode === "single" ? jsx(Calendar, {
|
|
13883
|
-
mode: "single",
|
|
13884
|
-
...rest,
|
|
13885
|
-
selected: inputValue,
|
|
13886
|
-
onSelect: handleSelect
|
|
13887
|
-
}) : mode === "multiple" ? jsx(Calendar, {
|
|
13888
|
-
mode: "multiple",
|
|
13889
|
-
...rest,
|
|
13890
|
-
selected: Array.isArray(inputValue) ? inputValue : [],
|
|
13891
|
-
onSelect: handleSelect
|
|
13892
|
-
}) : jsx(Calendar, {
|
|
13893
|
-
mode: "range",
|
|
13894
|
-
...rest,
|
|
13895
|
-
selected: inputValue,
|
|
13896
|
-
onSelect: handleSelect
|
|
13897
|
-
})
|
|
13898
|
-
})]
|
|
13899
|
-
});
|
|
13175
|
+
const DatePicker = ({ size = "regular", placeholder = "Pick a date", format = "YYYY. MM. DD.", value, mode = "single", onChange, isInstantClose = false, open: openProp, onOpenChange: onOpenChangeProp, disabled, ...rest }) => {
|
|
13176
|
+
const { setStyleXProps } = usePreferColors();
|
|
13177
|
+
const [inputValue, setInputValue] = React__default.useState(value);
|
|
13178
|
+
const [open, setOpen] = React__default.useState(openProp || false);
|
|
13179
|
+
const wrapperStyle = setStyleXProps(datePickerStyles.wrapper);
|
|
13180
|
+
const handleSelect = (date) => {
|
|
13181
|
+
if (mode === "single") {
|
|
13182
|
+
const value = date;
|
|
13183
|
+
onChange?.(value);
|
|
13184
|
+
}
|
|
13185
|
+
else if (mode === "multiple") {
|
|
13186
|
+
const value = date;
|
|
13187
|
+
onChange?.(value);
|
|
13188
|
+
}
|
|
13189
|
+
else if (mode === "range") {
|
|
13190
|
+
const value = date;
|
|
13191
|
+
onChange?.(value);
|
|
13192
|
+
}
|
|
13193
|
+
setInputValue(date);
|
|
13194
|
+
if (isInstantClose && mode === "single") {
|
|
13195
|
+
handleOpenChange(false);
|
|
13196
|
+
}
|
|
13197
|
+
};
|
|
13198
|
+
const handleOpenChange = (open) => {
|
|
13199
|
+
setOpen(open);
|
|
13200
|
+
onOpenChangeProp?.(open);
|
|
13201
|
+
};
|
|
13202
|
+
const getDateToFormatString = (date) => {
|
|
13203
|
+
if (date instanceof Date) {
|
|
13204
|
+
return dayjs(date).format(format);
|
|
13205
|
+
}
|
|
13206
|
+
else if (Array.isArray(date)) {
|
|
13207
|
+
return date.map((d) => dayjs(d).format(format)).join(", ");
|
|
13208
|
+
}
|
|
13209
|
+
else if (date &&
|
|
13210
|
+
typeof date === "object" &&
|
|
13211
|
+
"from" in date &&
|
|
13212
|
+
"to" in date) {
|
|
13213
|
+
return `${dayjs(date.from).format(format)} - ${dayjs(date.to).format(format)}`;
|
|
13214
|
+
}
|
|
13215
|
+
return placeholder ?? "";
|
|
13216
|
+
};
|
|
13217
|
+
return (jsxs(Root2$2, { open: open, onOpenChange: handleOpenChange, children: [jsx(Trigger$2, { asChild: true, children: jsx(Button, { size: size, fullWidth: true, variant: "outline", leftIcon: jsx(Calendar$1, { size: 20 }), className: wrapperStyle.className, disabled: disabled, children: getDateToFormatString(inputValue) }) }), jsx(Content2$2, { sideOffset: 10, align: "start", ...rest, children: mode === "single" ? (jsx(Calendar, { mode: "single", ...rest, selected: inputValue, onSelect: handleSelect })) : mode === "multiple" ? (jsx(Calendar, { mode: "multiple", ...rest, selected: Array.isArray(inputValue) ? inputValue : [], onSelect: handleSelect })) : (jsx(Calendar, { mode: "range", ...rest, selected: inputValue, onSelect: handleSelect })) })] }));
|
|
13900
13218
|
};
|
|
13901
13219
|
|
|
13902
13220
|
const contextMenuContentStyles = {
|
|
@@ -14095,80 +13413,42 @@ const contextMenuContentStyles = {
|
|
|
14095
13413
|
|
|
14096
13414
|
const ContextMenu = Root2$3;
|
|
14097
13415
|
const ContextMenuTrigger = Trigger$3;
|
|
14098
|
-
const ContextMenuContent = props => {
|
|
14099
|
-
|
|
14100
|
-
|
|
14101
|
-
children: jsx(Content2$3, {
|
|
14102
|
-
...props,
|
|
14103
|
-
className: `${contentClasses.className} ${props.className ?? ""}`,
|
|
14104
|
-
children: props.children
|
|
14105
|
-
})
|
|
14106
|
-
});
|
|
13416
|
+
const ContextMenuContent = (props) => {
|
|
13417
|
+
const { setStyleXProps } = usePreferColors();
|
|
13418
|
+
const contentClasses = setStyleXProps(contextMenuContentStyles.content);
|
|
13419
|
+
return (jsx(Portal2, { children: jsx(Content2$3, { ...props, className: `${contentClasses.className} ${props.className ?? ""}`, children: props.children }) }));
|
|
14107
13420
|
};
|
|
14108
13421
|
const ContextMenuArrow = Arrow2$1;
|
|
14109
|
-
const ContextMenuLabel = props => {
|
|
14110
|
-
|
|
14111
|
-
|
|
14112
|
-
|
|
14113
|
-
|
|
14114
|
-
|
|
14115
|
-
const
|
|
14116
|
-
|
|
14117
|
-
|
|
14118
|
-
|
|
14119
|
-
|
|
14120
|
-
}) => {
|
|
14121
|
-
const itemClasses = stylex.props(contextMenuContentStyles.item);
|
|
14122
|
-
const leftIconClasses = stylex.props(contextMenuContentStyles.leftIcon);
|
|
14123
|
-
const rightSlotClasses = stylex.props(contextMenuContentStyles.rightSlot);
|
|
14124
|
-
const itemContentClasses = stylex.props(contextMenuContentStyles.itemContent);
|
|
14125
|
-
const itemTextClasses = stylex.props(contextMenuContentStyles.textValue);
|
|
14126
|
-
return jsxs(Item2$1, {
|
|
14127
|
-
...rest,
|
|
14128
|
-
className: `${itemClasses.className} ${rest.className ?? ""}`,
|
|
14129
|
-
children: [jsxs("div", {
|
|
14130
|
-
...itemContentClasses,
|
|
14131
|
-
children: [jsx("div", {
|
|
14132
|
-
className: leftIconClasses.className,
|
|
14133
|
-
children: leftIcon
|
|
14134
|
-
}), jsx("span", {
|
|
14135
|
-
...itemTextClasses,
|
|
14136
|
-
children: textValue
|
|
14137
|
-
})]
|
|
14138
|
-
}), rightSlot && jsx("div", {
|
|
14139
|
-
...rightSlotClasses,
|
|
14140
|
-
children: rightSlot
|
|
14141
|
-
})]
|
|
14142
|
-
});
|
|
13422
|
+
const ContextMenuLabel = (props) => {
|
|
13423
|
+
return (jsx(Label2, { ...props, children: props.children }));
|
|
13424
|
+
};
|
|
13425
|
+
const ContextMenuItem = ({ leftIcon, rightSlot, textValue, ...rest }) => {
|
|
13426
|
+
const { setStyleXProps } = usePreferColors();
|
|
13427
|
+
const itemClasses = setStyleXProps(contextMenuContentStyles.item);
|
|
13428
|
+
const leftIconClasses = setStyleXProps(contextMenuContentStyles.leftIcon);
|
|
13429
|
+
const rightSlotClasses = setStyleXProps(contextMenuContentStyles.rightSlot);
|
|
13430
|
+
const itemContentClasses = setStyleXProps(contextMenuContentStyles.itemContent);
|
|
13431
|
+
const itemTextClasses = setStyleXProps(contextMenuContentStyles.textValue);
|
|
13432
|
+
return (jsxs(Item2$1, { ...rest, className: `${itemClasses.className} ${rest.className ?? ""}`, children: [jsxs("div", { ...itemContentClasses, children: [jsx("div", { className: leftIconClasses.className, children: leftIcon }), jsx("span", { ...itemTextClasses, children: textValue })] }), rightSlot && jsx("div", { ...rightSlotClasses, children: rightSlot })] }));
|
|
14143
13433
|
};
|
|
14144
13434
|
const ContextMenuGroup = Group2;
|
|
14145
13435
|
const ContextMenuSub = Sub2;
|
|
14146
13436
|
const ContextMenuSubTrigger = SubTrigger2;
|
|
14147
|
-
const ContextMenuSubContent = props => {
|
|
14148
|
-
|
|
14149
|
-
|
|
14150
|
-
children: jsx(SubContent2, {
|
|
14151
|
-
...props,
|
|
14152
|
-
className: `${contentClasses.className} ${props.className ?? ""}`,
|
|
14153
|
-
children: props.children
|
|
14154
|
-
})
|
|
14155
|
-
});
|
|
13437
|
+
const ContextMenuSubContent = (props) => {
|
|
13438
|
+
const { setStyleXProps } = usePreferColors();
|
|
13439
|
+
const contentClasses = setStyleXProps(contextMenuContentStyles.content);
|
|
13440
|
+
return (jsx(Portal2, { children: jsx(SubContent2, { ...props, className: `${contentClasses.className} ${props.className ?? ""}`, children: props.children }) }));
|
|
14156
13441
|
};
|
|
14157
|
-
const ContextMenuSeparator = props => {
|
|
14158
|
-
|
|
14159
|
-
|
|
14160
|
-
...props,
|
|
14161
|
-
className: `${separatorClasses.className} ${props.className ?? ""}`
|
|
14162
|
-
});
|
|
13442
|
+
const ContextMenuSeparator = (props) => {
|
|
13443
|
+
const { setStyleXProps } = usePreferColors();
|
|
13444
|
+
const separatorClasses = setStyleXProps(contextMenuContentStyles.separator);
|
|
13445
|
+
return (jsx(Separator2, { ...props, className: `${separatorClasses.className} ${props.className ?? ""}` }));
|
|
14163
13446
|
};
|
|
14164
13447
|
const ContextMenuCheckboxItem = CheckboxItem2;
|
|
14165
13448
|
const ContextMenuRadioGroup = RadioGroup2;
|
|
14166
13449
|
const ContextMenuRadioItem = RadioItem2;
|
|
14167
|
-
const ContextMenuItemIndicator = props => {
|
|
14168
|
-
|
|
14169
|
-
...props,
|
|
14170
|
-
children: props.children
|
|
14171
|
-
});
|
|
13450
|
+
const ContextMenuItemIndicator = (props) => {
|
|
13451
|
+
return (jsx(ItemIndicator2, { ...props, children: props.children }));
|
|
14172
13452
|
};
|
|
14173
13453
|
|
|
14174
13454
|
const autocompleteStyles = {
|
|
@@ -14253,7 +13533,6 @@ const autocompleteStyles = {
|
|
|
14253
13533
|
k8WAf4: null,
|
|
14254
13534
|
kLKAdn: null,
|
|
14255
13535
|
kGO01o: null,
|
|
14256
|
-
kWkggS: "tpst1po33qi",
|
|
14257
13536
|
kMwMTN: "tpst3jceqh",
|
|
14258
13537
|
kGuDYH: "tpst1v3388n",
|
|
14259
13538
|
kLWn49: "tpst1waae9e",
|
|
@@ -14303,179 +13582,124 @@ const autocompleteStyles = {
|
|
|
14303
13582
|
}
|
|
14304
13583
|
};
|
|
14305
13584
|
|
|
14306
|
-
const AutocompleteContentItem = ({
|
|
14307
|
-
|
|
14308
|
-
|
|
14309
|
-
|
|
14310
|
-
|
|
14311
|
-
|
|
14312
|
-
|
|
14313
|
-
|
|
14314
|
-
}
|
|
14315
|
-
|
|
14316
|
-
|
|
14317
|
-
|
|
14318
|
-
|
|
14319
|
-
|
|
14320
|
-
|
|
14321
|
-
|
|
14322
|
-
|
|
14323
|
-
|
|
14324
|
-
|
|
14325
|
-
|
|
14326
|
-
|
|
14327
|
-
|
|
14328
|
-
|
|
14329
|
-
|
|
14330
|
-
|
|
14331
|
-
|
|
14332
|
-
|
|
14333
|
-
|
|
14334
|
-
|
|
14335
|
-
|
|
14336
|
-
|
|
14337
|
-
|
|
14338
|
-
|
|
14339
|
-
|
|
14340
|
-
|
|
14341
|
-
|
|
14342
|
-
|
|
14343
|
-
|
|
14344
|
-
|
|
14345
|
-
|
|
14346
|
-
|
|
14347
|
-
|
|
14348
|
-
|
|
14349
|
-
|
|
14350
|
-
|
|
14351
|
-
|
|
14352
|
-
|
|
14353
|
-
|
|
14354
|
-
|
|
14355
|
-
|
|
14356
|
-
|
|
14357
|
-
|
|
14358
|
-
|
|
13585
|
+
const AutocompleteContentItem = ({ inputValue, item, index, displayValue, highlightedIndex, onClick, className = "", }) => {
|
|
13586
|
+
const { setStyleXProps } = usePreferColors();
|
|
13587
|
+
const isHighlighted = index === highlightedIndex;
|
|
13588
|
+
const itemClasses = setStyleXProps(autocompleteStyles.item, isHighlighted && autocompleteStyles.highlight);
|
|
13589
|
+
const matchedClasses = setStyleXProps(autocompleteStyles.matched);
|
|
13590
|
+
return (jsx("li", { id: `suggestion-item-${index}`, className: `${itemClasses.className} ${className}`, onClick: (e) => onClick(item, e), role: "option", "aria-selected": isHighlighted, children: displayValue(item)
|
|
13591
|
+
.split(new RegExp(`(${inputValue})`, "gi"))
|
|
13592
|
+
.map((part, i) => part.toLowerCase() === inputValue.toLowerCase() ? (jsx("span", { ...matchedClasses, children: part }, i)) : (jsx("span", { children: part }, i))) }));
|
|
13593
|
+
};
|
|
13594
|
+
const Autocomplete = ({ placeholder, data, value, displayValue, onSelect, onChange, noResultsMessage = "검색 결과가 없습니다.", maxResults = 10, debounceTime = 300, wrapperClassName, contentClassName, itemClassName, }) => {
|
|
13595
|
+
const { setStyleXProps } = usePreferColors();
|
|
13596
|
+
const [inputValue, setInputValue] = useState(value ?? "");
|
|
13597
|
+
const [filteredResults, setFilteredResults] = useState([]);
|
|
13598
|
+
const [showSuggestions, setShowSuggestions] = useState(false);
|
|
13599
|
+
const [highlightedIndex, setHighlightedIndex] = useState(-1);
|
|
13600
|
+
// useRef를 사용하여 DOM 엘리먼트 참조
|
|
13601
|
+
const autocompleteRef = useRef(null);
|
|
13602
|
+
const inputRef = useRef(null);
|
|
13603
|
+
// 디바운싱을 위한 타이머 참조
|
|
13604
|
+
const debounceTimerRef = useRef(null);
|
|
13605
|
+
// 외부 클릭 감지 (추천 목록 닫기)
|
|
13606
|
+
useEffect(() => {
|
|
13607
|
+
const handleClickOutside = (event) => {
|
|
13608
|
+
if (autocompleteRef.current &&
|
|
13609
|
+
!autocompleteRef.current.contains(event.target)) {
|
|
13610
|
+
setShowSuggestions(false);
|
|
13611
|
+
}
|
|
13612
|
+
};
|
|
13613
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
13614
|
+
return () => {
|
|
13615
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
13616
|
+
if (debounceTimerRef.current) {
|
|
13617
|
+
clearTimeout(debounceTimerRef.current);
|
|
13618
|
+
}
|
|
13619
|
+
};
|
|
13620
|
+
}, []);
|
|
13621
|
+
useEffect(() => {
|
|
13622
|
+
setInputValue(value ?? "");
|
|
13623
|
+
}, [value]);
|
|
13624
|
+
// 입력 값 변경에 따른 필터링 로직 (디바운싱 적용)
|
|
13625
|
+
useEffect(() => {
|
|
13626
|
+
if (debounceTimerRef.current) {
|
|
13627
|
+
clearTimeout(debounceTimerRef.current);
|
|
13628
|
+
}
|
|
13629
|
+
if (inputValue.length === 0) {
|
|
13630
|
+
setFilteredResults(data);
|
|
13631
|
+
return;
|
|
13632
|
+
}
|
|
13633
|
+
debounceTimerRef.current = setTimeout(() => {
|
|
13634
|
+
const lowercasedInput = inputValue.toLowerCase();
|
|
13635
|
+
const results = data.filter((item) => displayValue(item).toLowerCase().includes(lowercasedInput));
|
|
13636
|
+
setFilteredResults(results.slice(0, maxResults));
|
|
13637
|
+
setHighlightedIndex(-1); // 필터링 시 하이라이트 초기화
|
|
13638
|
+
}, debounceTime);
|
|
13639
|
+
return () => {
|
|
13640
|
+
// 클린업: 컴포넌트 언마운트 또는 useEffect 재실행 시 타이머 정리
|
|
13641
|
+
if (debounceTimerRef.current) {
|
|
13642
|
+
clearTimeout(debounceTimerRef.current);
|
|
13643
|
+
}
|
|
13644
|
+
};
|
|
13645
|
+
}, [inputValue, data, displayValue, maxResults, debounceTime]);
|
|
13646
|
+
// 항목 선택 처리
|
|
13647
|
+
const handleSelectItem = useCallback((item) => {
|
|
13648
|
+
setInputValue(displayValue(item));
|
|
13649
|
+
onSelect?.(item);
|
|
14359
13650
|
setShowSuggestions(false);
|
|
14360
|
-
|
|
13651
|
+
setHighlightedIndex(-1);
|
|
13652
|
+
inputRef.current?.focus(); // 선택 후 입력 필드에 포커스 유지
|
|
13653
|
+
}, [displayValue, onSelect]);
|
|
13654
|
+
// 입력 필드 변경 핸들러
|
|
13655
|
+
const handleChange = (e) => {
|
|
13656
|
+
const value = e.target.value;
|
|
13657
|
+
setInputValue(value);
|
|
13658
|
+
onChange?.(value); // 외부 onChange 콜백 호출
|
|
14361
13659
|
};
|
|
14362
|
-
|
|
14363
|
-
|
|
14364
|
-
|
|
14365
|
-
|
|
14366
|
-
|
|
14367
|
-
|
|
13660
|
+
// 키보드 이벤트 핸들러
|
|
13661
|
+
const handleKeyDown = (e) => {
|
|
13662
|
+
if (!showSuggestions || filteredResults.length === 0)
|
|
13663
|
+
return;
|
|
13664
|
+
if (e.key === "ArrowDown") {
|
|
13665
|
+
e.preventDefault(); // 커서 이동 방지
|
|
13666
|
+
setHighlightedIndex((prevIndex) => (prevIndex + 1) % filteredResults.length);
|
|
13667
|
+
}
|
|
13668
|
+
else if (e.key === "ArrowUp") {
|
|
13669
|
+
e.preventDefault(); // 커서 이동 방지
|
|
13670
|
+
setHighlightedIndex((prevIndex) => (prevIndex - 1 + filteredResults.length) % filteredResults.length);
|
|
13671
|
+
}
|
|
13672
|
+
else if (e.key === "Enter") {
|
|
13673
|
+
e.preventDefault();
|
|
13674
|
+
if (highlightedIndex >= 0) {
|
|
13675
|
+
handleSelectItem(filteredResults[highlightedIndex]);
|
|
13676
|
+
}
|
|
13677
|
+
else if (filteredResults.length > 0) ;
|
|
13678
|
+
}
|
|
13679
|
+
else if (e.key === "Escape") {
|
|
13680
|
+
e.preventDefault();
|
|
13681
|
+
setShowSuggestions(false);
|
|
13682
|
+
setHighlightedIndex(-1);
|
|
13683
|
+
}
|
|
14368
13684
|
};
|
|
14369
|
-
|
|
14370
|
-
|
|
14371
|
-
|
|
14372
|
-
|
|
14373
|
-
// 입력 값 변경에 따른 필터링 로직 (디바운싱 적용)
|
|
14374
|
-
useEffect(() => {
|
|
14375
|
-
if (debounceTimerRef.current) {
|
|
14376
|
-
clearTimeout(debounceTimerRef.current);
|
|
14377
|
-
}
|
|
14378
|
-
if (inputValue.length === 0) {
|
|
14379
|
-
setFilteredResults(data);
|
|
14380
|
-
return;
|
|
14381
|
-
}
|
|
14382
|
-
debounceTimerRef.current = setTimeout(() => {
|
|
14383
|
-
const lowercasedInput = inputValue.toLowerCase();
|
|
14384
|
-
const results = data.filter(item => displayValue(item).toLowerCase().includes(lowercasedInput));
|
|
14385
|
-
setFilteredResults(results.slice(0, maxResults));
|
|
14386
|
-
setHighlightedIndex(-1); // 필터링 시 하이라이트 초기화
|
|
14387
|
-
}, debounceTime);
|
|
14388
|
-
return () => {
|
|
14389
|
-
// 클린업: 컴포넌트 언마운트 또는 useEffect 재실행 시 타이머 정리
|
|
14390
|
-
if (debounceTimerRef.current) {
|
|
14391
|
-
clearTimeout(debounceTimerRef.current);
|
|
14392
|
-
}
|
|
13685
|
+
// 마우스 클릭 시 항목 선택
|
|
13686
|
+
const handleItemClick = (item, e) => {
|
|
13687
|
+
e.stopPropagation(); // 외부 클릭 감지 이벤트 버블링 방지
|
|
13688
|
+
handleSelectItem(item);
|
|
14393
13689
|
};
|
|
14394
|
-
|
|
14395
|
-
|
|
14396
|
-
|
|
14397
|
-
|
|
14398
|
-
|
|
14399
|
-
|
|
14400
|
-
|
|
14401
|
-
|
|
14402
|
-
}, [displayValue, onSelect]);
|
|
14403
|
-
// 입력 필드 변경 핸들러
|
|
14404
|
-
const handleChange = e => {
|
|
14405
|
-
const value = e.target.value;
|
|
14406
|
-
setInputValue(value);
|
|
14407
|
-
onChange?.(value); // 외부 onChange 콜백 호출
|
|
14408
|
-
};
|
|
14409
|
-
// 키보드 이벤트 핸들러
|
|
14410
|
-
const handleKeyDown = e => {
|
|
14411
|
-
if (!showSuggestions || filteredResults.length === 0) return;
|
|
14412
|
-
if (e.key === "ArrowDown") {
|
|
14413
|
-
e.preventDefault(); // 커서 이동 방지
|
|
14414
|
-
setHighlightedIndex(prevIndex => (prevIndex + 1) % filteredResults.length);
|
|
14415
|
-
} else if (e.key === "ArrowUp") {
|
|
14416
|
-
e.preventDefault(); // 커서 이동 방지
|
|
14417
|
-
setHighlightedIndex(prevIndex => (prevIndex - 1 + filteredResults.length) % filteredResults.length);
|
|
14418
|
-
} else if (e.key === "Enter") {
|
|
14419
|
-
e.preventDefault();
|
|
14420
|
-
if (highlightedIndex >= 0) {
|
|
14421
|
-
handleSelectItem(filteredResults[highlightedIndex]);
|
|
14422
|
-
} else if (filteredResults.length > 0) ;
|
|
14423
|
-
} else if (e.key === "Escape") {
|
|
14424
|
-
e.preventDefault();
|
|
14425
|
-
setShowSuggestions(false);
|
|
14426
|
-
setHighlightedIndex(-1);
|
|
14427
|
-
}
|
|
14428
|
-
};
|
|
14429
|
-
// 마우스 클릭 시 항목 선택
|
|
14430
|
-
const handleItemClick = (item, e) => {
|
|
14431
|
-
e.stopPropagation(); // 외부 클릭 감지 이벤트 버블링 방지
|
|
14432
|
-
handleSelectItem(item);
|
|
14433
|
-
};
|
|
14434
|
-
const wrapperClasses = stylex.props(autocompleteStyles.wrapper);
|
|
14435
|
-
const contentClasses = stylex.props(autocompleteStyles.content);
|
|
14436
|
-
const noResultClasses = stylex.props(autocompleteStyles.noResults);
|
|
14437
|
-
return jsxs("div", {
|
|
14438
|
-
ref: autocompleteRef,
|
|
14439
|
-
className: `${wrapperClasses.className} ${wrapperClassName ?? ""}`,
|
|
14440
|
-
children: [jsx(Input, {
|
|
14441
|
-
type: "text",
|
|
14442
|
-
placeholder: placeholder,
|
|
14443
|
-
value: inputValue,
|
|
14444
|
-
onChange: handleChange,
|
|
14445
|
-
onFocus: () => setShowSuggestions(true),
|
|
14446
|
-
onKeyDown: handleKeyDown,
|
|
14447
|
-
ref: inputRef,
|
|
14448
|
-
// ARIA 속성 (접근성)
|
|
14449
|
-
role: "combobox",
|
|
14450
|
-
"aria-autocomplete": "list",
|
|
14451
|
-
"aria-haspopup": "listbox",
|
|
14452
|
-
"aria-expanded": showSuggestions,
|
|
14453
|
-
"aria-controls": "autocomplete-suggestions",
|
|
14454
|
-
"aria-activedescendant": highlightedIndex >= 0 ? `suggestion-item-${highlightedIndex}` : undefined
|
|
14455
|
-
}), showSuggestions && jsx("ul", {
|
|
14456
|
-
id: "autocomplete-suggestions",
|
|
14457
|
-
role: "listbox",
|
|
14458
|
-
className: `${contentClasses.className} ${contentClassName ?? ""}`,
|
|
14459
|
-
children: filteredResults.length > 0 ? filteredResults.map((item, index) => jsx(AutocompleteContentItem, {
|
|
14460
|
-
item: item,
|
|
14461
|
-
index: index,
|
|
14462
|
-
highlightedIndex: highlightedIndex,
|
|
14463
|
-
onClick: handleItemClick,
|
|
14464
|
-
displayValue: displayValue,
|
|
14465
|
-
inputValue: inputValue,
|
|
14466
|
-
className: itemClassName
|
|
14467
|
-
}, displayValue(item) + index)) : jsx("li", {
|
|
14468
|
-
"data-no-results": true,
|
|
14469
|
-
...noResultClasses,
|
|
14470
|
-
children: noResultsMessage
|
|
14471
|
-
})
|
|
14472
|
-
})]
|
|
14473
|
-
});
|
|
13690
|
+
const wrapperClasses = setStyleXProps(autocompleteStyles.wrapper);
|
|
13691
|
+
const contentClasses = setStyleXProps(autocompleteStyles.content);
|
|
13692
|
+
const noResultClasses = setStyleXProps(autocompleteStyles.noResults);
|
|
13693
|
+
return (jsxs("div", { ref: autocompleteRef, className: `${wrapperClasses.className} ${wrapperClassName ?? ""}`, children: [jsx(Input, { type: "text", placeholder: placeholder, value: inputValue, onChange: handleChange, onFocus: () => setShowSuggestions(true), onKeyDown: handleKeyDown, ref: inputRef,
|
|
13694
|
+
// ARIA 속성 (접근성)
|
|
13695
|
+
role: "combobox", "aria-autocomplete": "list", "aria-haspopup": "listbox", "aria-expanded": showSuggestions, "aria-controls": "autocomplete-suggestions", "aria-activedescendant": highlightedIndex >= 0
|
|
13696
|
+
? `suggestion-item-${highlightedIndex}`
|
|
13697
|
+
: undefined }), showSuggestions && (jsx("ul", { id: "autocomplete-suggestions", role: "listbox", className: `${contentClasses.className} ${contentClassName ?? ""}`, children: filteredResults.length > 0 ? (filteredResults.map((item, index) => (jsx(AutocompleteContentItem, { item: item, index: index, highlightedIndex: highlightedIndex, onClick: handleItemClick, displayValue: displayValue, inputValue: inputValue, className: itemClassName }, displayValue(item) + index)))) : (jsx("li", { "data-no-results": true, ...noResultClasses, children: noResultsMessage })) }))] }));
|
|
14474
13698
|
};
|
|
14475
13699
|
|
|
14476
13700
|
// 컴포넌트 내보내기
|
|
14477
13701
|
// 버전 정보
|
|
14478
13702
|
const version = "0.0.1";
|
|
14479
13703
|
|
|
14480
|
-
export { Autocomplete, Button, Calendar, Card, CardBody, CardContent, CardFooter, CardHeader, Checkbox, ContextMenu, ContextMenuArrow, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuItemIndicator, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataTable, DatePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogPortal, DialogTrigger, HorizontalTab, HorizontalTabs, Input, InteractiveListItem, InteractiveListItemActions, InteractiveListItemContent, InteractiveListItemIcon, ModeTab, ModeTabs, MultipleSelect, MultipleSelectContent, MultipleSelectTrigger, MultipleSelectValue, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, RadioGroup, RadioItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tag, Text, TextArea, Tooltip, TooltipArrow, TooltipContent, TooltipDescription, TooltipFooter, TooltipHeader, TooltipTrigger, VerticalMenu, VerticalMenus, autocompleteStyles, borderRadius, buttonSizeStyles, buttonStyles, buttonVariantStyles, calendarStyles, cardBodyStyles, cardFooterStyles, cardHeaderStyles, cardStyles, checkboxStyles, checkboxWrapperStyles, commonStyles, contextMenuContentStyles, datePickerStyles, dialogContentStyles, dialogOverlayStyles, fontFamily, fontSize, fontWeight, fontWeightStyles, horizontalTabStyles, horizontalTabWrapperStyles, inputStyles, inputWrapperSizeStyles, inputWrapperStyles, interactiveListItemStyles, labelStyles, lineHeight, modeTabStyles, modeTabWrapperStyles, multipleSelectContentStyles, multipleSelectItemStyles, multipleSelectTriggerStyles, multipleSelectWrapperStyles, paginationStyles, primitiveColors, radioGroupStyles, radioItemLabelStyles, radioItemStyles, radioItemWrapperStyles, selectContentStyles, selectGroupLabelStyles, selectIconWrapperStyles, selectItemStyles, selectSeparatorStyles, selectTriggerStyles, semanticColors, spacing, tableStyles, tagStyles, textAlignStyles, textAreaStyles, textAreaWrapperStyles, textSizeStyles, textStyles, textVariantStyles, tooltipDescriptionStyles, tooltipShortStyles, version, verticalMenuIconStyles, verticalMenuStyles, verticalMenusWrapperStyles };
|
|
13704
|
+
export { Autocomplete, Button, Calendar, Card, CardBody, CardContent, CardFooter, CardHeader, Checkbox, ContextMenu, ContextMenuArrow, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuItemIndicator, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataTable, DatePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogPortal, DialogTrigger, HorizontalTab, HorizontalTabs, Input, InteractiveListItem, InteractiveListItemActions, InteractiveListItemContent, InteractiveListItemIcon, ModeTab, ModeTabs, MultipleSelect, MultipleSelectContent, MultipleSelectTrigger, MultipleSelectValue, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, RadioGroup, RadioItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tag, Text, TextArea, Tooltip, TooltipArrow, TooltipContent, TooltipDescription, TooltipFooter, TooltipHeader, TooltipTrigger, VerticalMenu, VerticalMenus, autocompleteStyles, borderRadius, buttonSizeStyles, buttonStyles, buttonVariantStyles, calendarStyles, cardBodyStyles, cardFooterStyles, cardHeaderStyles, cardStyles, checkboxStyles, checkboxWrapperStyles, commonStyles, contextMenuContentStyles, darkMode, datePickerStyles, dialogContentStyles, dialogOverlayStyles, fontFamily, fontSize, fontWeight, fontWeightStyles, horizontalTabStyles, horizontalTabWrapperStyles, inputStyles, inputWrapperSizeStyles, inputWrapperStyles, interactiveListItemStyles, labelStyles, lightMode, lineHeight, modeTabStyles, modeTabWrapperStyles, multipleSelectContentStyles, multipleSelectItemStyles, multipleSelectTriggerStyles, multipleSelectWrapperStyles, paginationStyles, primitiveColors, radioGroupStyles, radioItemLabelStyles, radioItemStyles, radioItemWrapperStyles, selectContentStyles, selectGroupLabelStyles, selectIconWrapperStyles, selectItemStyles, selectSeparatorStyles, selectTriggerStyles, semanticColors, spacing, tableStyles, tagStyles, textAlignStyles, textAreaStyles, textAreaWrapperStyles, textSizeStyles, textStyles, textVariantStyles, tooltipDescriptionStyles, tooltipShortStyles, version, verticalMenuIconStyles, verticalMenuStyles, verticalMenusWrapperStyles };
|
|
14481
13705
|
//# sourceMappingURL=index.js.map
|