@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/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, useEffect, createContext, useContext, useRef, useCallback } from 'react';
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
- variant = "accent",
599
- size = "regular",
600
- fullWidth = false,
601
- isLoading = false,
602
- leftIcon,
603
- rightIcon,
604
- children,
605
- disabled,
606
- className,
607
- ...rest
608
- }, ref) => {
609
- const buttonClasses = stylex.props(buttonStyles.base, buttonSizeStyles[size], buttonVariantStyles[variant], fullWidth ? buttonStyles.fullWidth : null, leftIcon || rightIcon ? buttonStyles.withIcon : null);
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
- children,
1022
- className,
1023
- size,
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
- size = "regular",
1217
- leftIcon,
1218
- rightIcon,
1219
- wrapperClassName,
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
- const textAreaClasses = stylex.props(textAreaStyles.base, rest.disabled ? textAreaStyles.disabled : undefined);
1343
- return jsx("div", {
1344
- ...stylex.props(textAreaWrapperStyles.base),
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
- label,
10107
- labelClassName,
10108
- wrapperClassName,
10109
- ...rest
10110
- }, ref) => {
10111
- const {
10112
- checked: isChecked,
10113
- defaultChecked,
10114
- id,
10115
- disabled,
10116
- className,
10117
- onCheckedChange: onChange
10118
- } = rest;
10119
- const [checked, setChecked] = React__default.useState(isChecked ?? defaultChecked);
10120
- useEffect(() => {
10121
- setChecked(isChecked ?? defaultChecked);
10122
- }, [isChecked, defaultChecked]);
10123
- const randomId = React__default.useId();
10124
- const checkboxWrapperClasses = stylex.props(checkboxWrapperStyles.base);
10125
- const checkboxClasses = stylex.props(checkboxStyles.base);
10126
- const labelClasses = stylex.props(labelStyles.base, disabled ? labelStyles.disabled : undefined);
10127
- const checkboxIconClasses = stylex.props(checkboxStyles.icon, checked ? checkboxStyles.iconChecked : undefined, disabled ? checkboxStyles.iconDisabled : undefined);
10128
- const renderCheckboxIcon = (checked, disabled) => {
10129
- if (disabled) {
10130
- return jsx(SquareMinus, {
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 = stylex.props(radioGroupStyles.base, orientation === "horizontal" ? radioGroupStyles.horizontal : undefined);
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 = stylex.props(radioItemWrapperStyles.base);
10475
- const radioItemLabelClasses = stylex.props(radioItemLabelStyles.base, isSelected ? radioItemLabelStyles.selected : undefined, isDisabled ? radioItemLabelStyles.disabled : undefined);
10476
- const radioItemClasses = stylex.props(radioItemStyles.base);
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
- className,
10608
- ...rest
10609
- }, ref) => {
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
- className,
10620
- ...rest
10621
- }, ref) => {
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
- className,
10632
- ...rest
10633
- }, ref) => {
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
- return jsx("div", {
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
- className,
10651
- ...rest
10652
- }, ref) => {
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
- return jsx(Trigger$4, {
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
- className,
10758
- children,
10759
- ...props
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
- className,
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
- className,
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
- ...props
11120
- });
11121
- const SelectTrigger = ({
11122
- placeholder,
11123
- variant = "outline",
11124
- size = "regular",
11125
- icon,
11126
- ...rest
11127
- }) => {
11128
- const {
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
- const groupLabelClasses = stylex.props(selectGroupLabelStyles.base);
11174
- return jsx(Label, {
11175
- ...props,
11176
- className: groupLabelClasses.className
11177
- });
11178
- };
11179
- const SelectSeparator = props => {
11180
- const separatorClasses = stylex.props(selectSeparatorStyles.base);
11181
- return jsx(Separator, {
11182
- ...props,
11183
- className: separatorClasses.className
11184
- });
11185
- };
11186
- const SelectItem = ({
11187
- indicator,
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
- value: "",
11357
- disabled: false,
11358
- setSelectedMenu: () => {}
11184
+ value: "",
11185
+ disabled: false,
11186
+ setSelectedMenu: () => { },
11359
11187
  });
11360
- const VerticalMenus = React__default.forwardRef(({
11361
- disabled,
11362
- value,
11363
- onValueChange,
11364
- className,
11365
- ...rest
11366
- }, ref) => {
11367
- const [selectedMenu, setSelectedMenu] = React__default.useState(value || "");
11368
- const verticalMenusClasses = stylex.props(verticalMenusWrapperStyles.base);
11369
- useEffect(() => {
11370
- if (!onValueChange) return;
11371
- onValueChange(selectedMenu);
11372
- }, [selectedMenu]);
11373
- return jsx(VerticalMenusContext, {
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
- disabled,
11389
- value,
11390
- label,
11391
- icon,
11392
- variant = "accent",
11393
- size = "regular",
11394
- ...rest
11395
- }, ref) => {
11396
- const context = useContext(VerticalMenusContext);
11397
- const isSelected = context.value === value;
11398
- const isDisabled = context.disabled || disabled || false;
11399
- const verticalMenuClasses = stylex.props(verticalMenuStyles.base, verticalMenuStyles[variant], verticalMenuStyles[size]);
11400
- const verticalMenuIconClasses = stylex.props(verticalMenuIconStyles.base);
11401
- const onClick = e => {
11402
- if (isDisabled) return;
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
- value: "",
11550
- disabled: false,
11551
- setSelectedTab: () => {}
11348
+ value: "",
11349
+ disabled: false,
11350
+ setSelectedTab: () => { },
11552
11351
  });
11553
- const HorizontalTabs = React__default.forwardRef(({
11554
- disabled,
11555
- value,
11556
- onValueChange,
11557
- className,
11558
- ...rest
11559
- }, ref) => {
11560
- const [selectedTab, setSelectedTab] = React__default.useState(value || "");
11561
- const horizontalTabClasses = stylex.props(horizontalTabWrapperStyles.base);
11562
- React__default.useEffect(() => {
11563
- if (!onValueChange) return;
11564
- onValueChange(selectedTab);
11565
- }, [selectedTab]);
11566
- return jsx(HorizontalTabContext.Provider, {
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
- value,
11582
- label,
11583
- className,
11584
- icon,
11585
- size = "regular",
11586
- ...rest
11587
- }, ref) => {
11588
- const {
11589
- value: selectedTab,
11590
- setSelectedTab,
11591
- disabled
11592
- } = React__default.useContext(HorizontalTabContext);
11593
- const isSelected = selectedTab === value;
11594
- const isDisabled = disabled || rest.disabled;
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
- value: "",
11734
- disabled: false,
11735
- setSelectedTab: () => {}
11494
+ value: "",
11495
+ disabled: false,
11496
+ setSelectedTab: () => { },
11736
11497
  });
11737
- const ModeTabs = React__default.forwardRef(({
11738
- disabled,
11739
- value,
11740
- onValueChange,
11741
- className,
11742
- ...rest
11743
- }, ref) => {
11744
- const [selectedTab, setSelectedTab] = React__default.useState(value || "");
11745
- const modeTabsClasses = stylex.props(modeTabWrapperStyles.base);
11746
- React__default.useEffect(() => {
11747
- if (!onValueChange) return;
11748
- onValueChange(selectedTab);
11749
- }, [selectedTab]);
11750
- return jsx(ModeTabContext, {
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
- label,
11766
- icon,
11767
- value,
11768
- className,
11769
- ...rest
11770
- }, ref) => {
11771
- const modeTabClasses = stylex.props(modeTabStyles.base);
11772
- const iconClasses = stylex.props(modeTabStyles.icon);
11773
- const {
11774
- value: selectedTab,
11775
- disabled,
11776
- setSelectedTab
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
- const {
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
- type,
11981
- ...rest
11982
- }) => {
11983
- if (type === "default") {
11984
- const contentClasses = stylex.props(tooltipDescriptionStyles.base);
11985
- const {
11986
- className,
11987
- ...otherProps
11988
- } = rest;
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
- const {
12013
- className,
12014
- ...otherProps
12015
- } = props;
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
- const {
12026
- className,
12027
- ...otherProps
12028
- } = props;
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
- const {
12039
- className,
12040
- ...otherProps
12041
- } = props;
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
- icon,
12341
- value,
12342
- variant = "filled",
12343
- size = "regular",
12344
- className,
12345
- onDeleteClick,
12346
- onClick,
12347
- ...props
12348
- }, ref) => {
12349
- const [isSelected, setIsSelected] = React__default.useState(false);
12350
- const handleClick = event => {
12351
- setIsSelected(prev => !prev);
12352
- onClick?.(event);
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
- isOpen: false,
12754
- values: [],
12755
- disabled: false,
12756
- setSelectedValues: () => {},
12757
- setIsOpen: () => {}
12404
+ isOpen: false,
12405
+ values: [],
12406
+ disabled: false,
12407
+ setSelectedValues: () => { },
12408
+ setIsOpen: () => { },
12758
12409
  });
12759
- const MultipleSelect = React__default.forwardRef(({
12760
- open,
12761
- onOpenChange,
12762
- disabled,
12763
- value,
12764
- onValueChange,
12765
- className,
12766
- children,
12767
- ...rest
12768
- }, ref) => {
12769
- const [isOpen, setIsOpen] = React__default.useState(open || false);
12770
- const [selectedValues, setSelectedValues] = React__default.useState([]);
12771
- const wrapperStyles = stylex.props(multipleSelectWrapperStyles.base);
12772
- useEffect(() => {
12773
- setIsOpen(open || false);
12774
- }, [open]);
12775
- const onSelectedValuesChange = newValues => {
12776
- setSelectedValues(newValues);
12777
- onValueChange?.(newValues.map(value => ({
12778
- value: value.value,
12779
- label: value.label
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 MultipleSelectContent = React__default.forwardRef(({
12885
- useSearch,
12886
- options: optionsProps,
12887
- indicator,
12888
- className,
12889
- ...rest
12890
- }, ref) => {
12891
- const {
12892
- isOpen,
12893
- setIsOpen
12894
- } = React__default.useContext(MultipleSelectContext);
12895
- const contentStyles = stylex.props(multipleSelectContentStyles.base);
12896
- const optionsStyles = stylex.props(multipleSelectContentStyles.options);
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
- document.addEventListener("mouseup", handleMouseUp);
12921
- return () => {
12922
- document.removeEventListener("mouseup", handleMouseUp);
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
- }, [setIsOpen, content]);
12925
- React__default.useEffect(() => {
12926
- const close = () => setIsOpen(false);
12927
- window.addEventListener("blur", close);
12928
- window.addEventListener("resize", close);
12929
- return () => {
12930
- window.removeEventListener("blur", close);
12931
- window.removeEventListener("resize", close);
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
- }, [setIsOpen]);
12934
- return isOpen && jsxs("div", {
12935
- ref: composedRefs,
12936
- className: `${contentStyles.className} ${className ?? ""}`,
12937
- ...rest,
12938
- children: [useSearch && jsx("div", {
12939
- ...searchStyles,
12940
- children: jsx(Input, {
12941
- onChange: handleSearchChange,
12942
- leftIcon: jsx(MagnifyingGlassIcon, {
12943
- width: 20,
12944
- height: 20
12945
- }),
12946
- placeholder: "Enter any characters..."
12947
- })
12948
- }), jsx("ul", {
12949
- ...optionsStyles,
12950
- children: options.map(option => jsx(MultipleSelectItem, {
12951
- option: option,
12952
- indicator: indicator
12953
- }, option.value))
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
- option,
12959
- indicator,
12960
- className,
12961
- ...rest
12962
- }, ref) => {
12963
- const {
12964
- values,
12965
- setSelectedValues
12966
- } = React__default.useContext(MultipleSelectContext);
12967
- const isSelected = values.some(val => val.value === option.value);
12968
- const itemStyles = stylex.props(multipleSelectItemStyles.base);
12969
- const indicatorStyles = stylex.props(multipleSelectItemStyles.indicator);
12970
- const itemLabelStyles = stylex.props(multipleSelectItemStyles.label);
12971
- const handleClick = e => {
12972
- e.stopPropagation();
12973
- if (option.disabled) return;
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
- className,
13062
- ...rest
13063
- }, ref) => {
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
- className,
13073
- ...rest
13074
- }, ref) => {
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
- ...rest
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
- isSelected,
13094
- shouldLastBorderRender = true,
13095
- className,
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
- className,
13109
- children,
13110
- ...rest
13111
- }, ref) => {
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
- className,
13126
- children,
13127
- showTooltip,
13128
- ...rest
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
- className,
13252
- ...props
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
- className,
13265
- ...props
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
- return jsx("li", {
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
- className,
13282
- isActive,
13283
- size = "regular",
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
- className,
13300
- ...props
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
- className,
13314
- ...props
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
- className,
13328
- ...props
13329
- }) => {
13330
- const ellipsisClasses = stylex.props(paginationStyles.ellipsis);
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
- disabled: false
12887
+ disabled: false,
13473
12888
  });
13474
- const InteractiveListItem = React__default.forwardRef(({
13475
- isSelected,
13476
- disabled,
13477
- showHoverActions = true,
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
- children,
13499
- ...props
13500
- }, ref) => {
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
- children,
13511
- ...rest
13512
- }, ref) => {
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
- children,
13523
- ...props
13524
- }, ref) => {
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
- className,
13756
- classNames,
13757
- showOutsideDays = true,
13758
- ...props
13759
- }) => {
13760
- const getDatePickerClassName = key => {
13761
- return stylex.props(calendarStyles[key]).className;
13762
- };
13763
- return jsx(DayPicker, {
13764
- showOutsideDays: showOutsideDays,
13765
- navLayout: "around",
13766
- style: {
13767
- "--rdp-day-width": "32px",
13768
- "--rdp-day-height": "32px",
13769
- "--rdp-day_button-height": "32px",
13770
- "--rdp-day_button-width": "32px"
13771
- },
13772
- className: className,
13773
- classNames: {
13774
- months: getDatePickerClassName("months"),
13775
- month_caption: getDatePickerClassName("monthCaption"),
13776
- caption_label: getDatePickerClassName("captionLabel"),
13777
- month_grid: getDatePickerClassName("monthGrid"),
13778
- weekday: getDatePickerClassName("weekday"),
13779
- day: getDatePickerClassName("day"),
13780
- selected: getDatePickerClassName("selected"),
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
- size = "regular",
13818
- placeholder = "Pick a date",
13819
- format = "YYYY. MM. DD.",
13820
- value,
13821
- mode = "single",
13822
- onChange,
13823
- isInstantClose = false,
13824
- open: openProp,
13825
- onOpenChange: onOpenChangeProp,
13826
- disabled,
13827
- ...rest
13828
- }) => {
13829
- const [inputValue, setInputValue] = React__default.useState(value);
13830
- const [open, setOpen] = React__default.useState(openProp || false);
13831
- const wrapperStyle = stylex.props(datePickerStyles.wrapper);
13832
- const handleSelect = date => {
13833
- if (mode === "single") {
13834
- const value = date;
13835
- onChange?.(value);
13836
- } else if (mode === "multiple") {
13837
- const value = date;
13838
- onChange?.(value);
13839
- } else if (mode === "range") {
13840
- const value = date;
13841
- onChange?.(value);
13842
- }
13843
- setInputValue(date);
13844
- if (isInstantClose && mode === "single") {
13845
- handleOpenChange(false);
13846
- }
13847
- };
13848
- const handleOpenChange = open => {
13849
- setOpen(open);
13850
- onOpenChangeProp?.(open);
13851
- };
13852
- const getDateToFormatString = date => {
13853
- if (date instanceof Date) {
13854
- return dayjs(date).format(format);
13855
- } else if (Array.isArray(date)) {
13856
- return date.map(d => dayjs(d).format(format)).join(", ");
13857
- } else if (date && typeof date === "object" && "from" in date && "to" in date) {
13858
- return `${dayjs(date.from).format(format)} - ${dayjs(date.to).format(format)}`;
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
- const contentClasses = stylex.props(contextMenuContentStyles.content);
14100
- return jsx(Portal2, {
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
- return jsx(Label2, {
14111
- ...props,
14112
- children: props.children
14113
- });
14114
- };
14115
- const ContextMenuItem = ({
14116
- leftIcon,
14117
- rightSlot,
14118
- textValue,
14119
- ...rest
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
- const contentClasses = stylex.props(contextMenuContentStyles.content);
14149
- return jsx(Portal2, {
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
- const separatorClasses = stylex.props(contextMenuContentStyles.separator);
14159
- return jsx(Separator2, {
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
- return jsx(ItemIndicator2, {
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
- inputValue,
14308
- item,
14309
- index,
14310
- displayValue,
14311
- highlightedIndex,
14312
- onClick,
14313
- className = ""
14314
- }) => {
14315
- const isHighlighted = index === highlightedIndex;
14316
- const itemClasses = stylex.props(autocompleteStyles.item, isHighlighted && autocompleteStyles.highlight);
14317
- const matchedClasses = stylex.props(autocompleteStyles.matched);
14318
- return jsx("li", {
14319
- id: `suggestion-item-${index}`,
14320
- className: `${itemClasses.className} ${className}`,
14321
- onClick: e => onClick(item, e),
14322
- role: "option",
14323
- "aria-selected": isHighlighted,
14324
- children: displayValue(item).split(new RegExp(`(${inputValue})`, "gi")).map((part, i) => part.toLowerCase() === inputValue.toLowerCase() ? jsx("span", {
14325
- ...matchedClasses,
14326
- children: part
14327
- }, i) : jsx("span", {
14328
- children: part
14329
- }, i))
14330
- });
14331
- };
14332
- const Autocomplete = ({
14333
- placeholder,
14334
- data,
14335
- value,
14336
- displayValue,
14337
- onSelect,
14338
- onChange,
14339
- noResultsMessage = "검색 결과가 없습니다.",
14340
- maxResults = 10,
14341
- debounceTime = 300,
14342
- wrapperClassName,
14343
- contentClassName,
14344
- itemClassName
14345
- }) => {
14346
- const [inputValue, setInputValue] = useState(value ?? "");
14347
- const [filteredResults, setFilteredResults] = useState([]);
14348
- const [showSuggestions, setShowSuggestions] = useState(false);
14349
- const [highlightedIndex, setHighlightedIndex] = useState(-1);
14350
- // useRef를 사용하여 DOM 엘리먼트 참조
14351
- const autocompleteRef = useRef(null);
14352
- const inputRef = useRef(null);
14353
- // 디바운싱을 위한 타이머 참조
14354
- const debounceTimerRef = useRef(null);
14355
- // 외부 클릭 감지 (추천 목록 닫기)
14356
- useEffect(() => {
14357
- const handleClickOutside = event => {
14358
- if (autocompleteRef.current && !autocompleteRef.current.contains(event.target)) {
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
- document.addEventListener("mousedown", handleClickOutside);
14363
- return () => {
14364
- document.removeEventListener("mousedown", handleClickOutside);
14365
- if (debounceTimerRef.current) {
14366
- clearTimeout(debounceTimerRef.current);
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
- useEffect(() => {
14371
- setInputValue(value ?? "");
14372
- }, [value]);
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
- }, [inputValue, data, displayValue, maxResults, debounceTime]);
14395
- // 항목 선택 처리
14396
- const handleSelectItem = useCallback(item => {
14397
- setInputValue(displayValue(item));
14398
- onSelect?.(item);
14399
- setShowSuggestions(false);
14400
- setHighlightedIndex(-1);
14401
- inputRef.current?.focus(); // 선택 입력 필드에 포커스 유지
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