@bestow-ui/react 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.js CHANGED
@@ -1,29 +1,23 @@
1
1
  "use client";
2
2
  import {
3
- KOREAN_WEEKDAYS,
4
3
  Skeleton,
5
4
  addDays,
6
5
  addMonths,
7
6
  compareDays,
8
7
  cx,
9
8
  focusField,
10
- formatBusinessNumber,
11
- formatKoreanAmount,
12
- formatPhoneNumber,
13
9
  getCalendarWeeks,
14
10
  isSameDay,
15
11
  isSameMonth,
16
- isValidBusinessNumber,
17
12
  kakaoPostcodeProvider,
18
13
  mergeThemes,
19
14
  parseISODate,
20
- phoneNumberMaxDigits,
21
15
  presetRange,
22
16
  themeClass,
23
17
  themeToStyle,
24
18
  toISODate,
25
19
  visuallyHidden
26
- } from "./chunk-TIFI6ZQU.js";
20
+ } from "./chunk-NKLDAXUR.js";
27
21
 
28
22
  // src/theme/ThemeProvider.tsx
29
23
  import { createContext, forwardRef, useContext, useMemo } from "react";
@@ -735,7 +729,7 @@ var Alert = /* @__PURE__ */ forwardRef10(function Alert2({
735
729
  variant,
736
730
  color = "primary",
737
731
  title: title6,
738
- icon: icon6,
732
+ icon: icon7,
739
733
  action: action3,
740
734
  onClose,
741
735
  closeLabel: closeLabelProp,
@@ -746,7 +740,7 @@ var Alert = /* @__PURE__ */ forwardRef10(function Alert2({
746
740
  const m = useMessages();
747
741
  const closeLabel = closeLabelProp ?? m.close ?? "\uB2EB\uAE30";
748
742
  const DefaultIcon = defaultIcons[color];
749
- const iconNode = icon6 === void 0 ? /* @__PURE__ */ jsx12(DefaultIcon, { size: 18 }) : icon6;
743
+ const iconNode = icon7 === void 0 ? /* @__PURE__ */ jsx12(DefaultIcon, { size: 18 }) : icon7;
750
744
  return /* @__PURE__ */ jsxs10("div", { ref, className: cx(alert({ variant, color }), className), ...rest, children: [
751
745
  iconNode !== false && iconNode !== null && /* @__PURE__ */ jsx12("span", { className: icon2, "aria-hidden": true, children: iconNode }),
752
746
  /* @__PURE__ */ jsxs10("div", { className: content4, children: [
@@ -760,6 +754,7 @@ var Alert = /* @__PURE__ */ forwardRef10(function Alert2({
760
754
 
761
755
  // src/components/AmountInput/AmountInput.tsx
762
756
  import { forwardRef as forwardRef11, useRef as useRef5 } from "react";
757
+ import { formatKoreanAmount } from "@bestow-ui/korean-utils";
763
758
 
764
759
  // src/utils/useFormattedInput.ts
765
760
  import { useRef as useRef4, useState as useState3 } from "react";
@@ -1011,6 +1006,7 @@ var Breadcrumb = /* @__PURE__ */ forwardRef14(function Breadcrumb2({ items: item
1011
1006
 
1012
1007
  // src/components/BusinessNumberInput/BusinessNumberInput.tsx
1013
1008
  import { forwardRef as forwardRef15, useRef as useRef6, useState as useState4 } from "react";
1009
+ import { formatBusinessNumber, isValidBusinessNumber } from "@bestow-ui/korean-utils";
1014
1010
  import { jsx as jsx17 } from "react/jsx-runtime";
1015
1011
  var sanitize = (input6) => input6.replace(/\D/g, "").slice(0, 10);
1016
1012
  var isDigit2 = (char) => /\d/.test(char);
@@ -1077,6 +1073,7 @@ var BusinessNumberInput = /* @__PURE__ */ forwardRef15(
1077
1073
  // src/components/Calendar/Calendar.tsx
1078
1074
  import { forwardRef as forwardRef17, useEffect as useEffect4, useId as useId4, useRef as useRef7, useState as useState5 } from "react";
1079
1075
  import { ChevronLeftIcon, ChevronRightIcon as ChevronRightIcon2 } from "@bestow-ui/icons";
1076
+ import { KOREAN_WEEKDAYS } from "@bestow-ui/korean-utils";
1080
1077
 
1081
1078
  // src/utils/useIsClient.ts
1082
1079
  import { useSyncExternalStore } from "react";
@@ -1179,7 +1176,7 @@ var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
1179
1176
  moveFocus.current = true;
1180
1177
  setFocused(clamp(date));
1181
1178
  };
1182
- const select = (date) => {
1179
+ const select2 = (date) => {
1183
1180
  if (isDisabled(date)) return;
1184
1181
  const iso = toISODate(date);
1185
1182
  if (!isControlled) setInnerValue(iso);
@@ -1262,7 +1259,7 @@ var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
1262
1259
  "aria-label": label6,
1263
1260
  "aria-current": isToday ? "date" : void 0,
1264
1261
  "aria-disabled": disabled || void 0,
1265
- onClick: () => select(date),
1262
+ onClick: () => select2(date),
1266
1263
  onFocus: () => !isSameDay(date, focused) && setFocused(date),
1267
1264
  children: date.getDate()
1268
1265
  }
@@ -1301,6 +1298,7 @@ var toggle2 = "c2pbq71 c2pbq70";
1301
1298
 
1302
1299
  // src/components/Combobox/Combobox.tsx
1303
1300
  import { jsx as jsx20, jsxs as jsxs16 } from "react/jsx-runtime";
1301
+ var NO_RESULTS_ANNOUNCE_DELAY = 800;
1304
1302
  var defaultFilter = (option2, query) => option2.label.toLowerCase().includes(query.trim().toLowerCase());
1305
1303
  var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1306
1304
  const {
@@ -1372,7 +1370,7 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1372
1370
  if (query === "" && selectedValue) clearSelection();
1373
1371
  reset();
1374
1372
  };
1375
- const select = (option2) => {
1373
+ const select2 = (option2) => {
1376
1374
  if (option2.disabled) return;
1377
1375
  if (!isControlled) setInnerValue(option2.value);
1378
1376
  if (option2.value !== selectedValue) onValueChange?.(option2.value);
@@ -1406,7 +1404,7 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1406
1404
  if (open) {
1407
1405
  event.preventDefault();
1408
1406
  const option2 = filtered[activeIndex];
1409
- if (option2) select(option2);
1407
+ if (option2) select2(option2);
1410
1408
  else close2();
1411
1409
  }
1412
1410
  break;
@@ -1426,6 +1424,14 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1426
1424
  document.getElementById(optionId(activeIndex))?.scrollIntoView?.({ block: "nearest" });
1427
1425
  }, [open, activeIndex]);
1428
1426
  const hasOptions = filtered.length > 0;
1427
+ const noResults = open && !disabled && !hasOptions;
1428
+ const [announcedFor, setAnnouncedFor] = useState6(void 0);
1429
+ useEffect5(() => {
1430
+ if (!noResults) return;
1431
+ const timer2 = setTimeout(() => setAnnouncedFor(query), NO_RESULTS_ANNOUNCE_DELAY);
1432
+ return () => clearTimeout(timer2);
1433
+ }, [noResults, query]);
1434
+ const announceNoResults = noResults && announcedFor === query;
1429
1435
  return /* @__PURE__ */ jsxs16("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
1430
1436
  label6 && /* @__PURE__ */ jsxs16("label", { id: labelId, htmlFor: inputId, className: label, children: [
1431
1437
  label6,
@@ -1544,7 +1550,7 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1544
1550
  className: item4,
1545
1551
  onMouseDown: (event) => event.preventDefault(),
1546
1552
  onMouseMove: () => !option2.disabled && setActiveIndex(index),
1547
- onClick: () => select(option2),
1553
+ onClick: () => select2(option2),
1548
1554
  children: [
1549
1555
  option2.label,
1550
1556
  isSelected && /* @__PURE__ */ jsx20("span", { className: itemIndicator, "aria-hidden": true, children: /* @__PURE__ */ jsx20(CheckIcon, { size: 16 }) })
@@ -1555,10 +1561,14 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1555
1561
  );
1556
1562
  })
1557
1563
  }
1558
- ) : /* @__PURE__ */ jsx20("div", { className: empty, role: "status", children: emptyMessage })
1564
+ ) : (
1565
+ // 스크린리더 알림은 아래의 항상 있는 status 영역이 맡는다 (여기는 화면 표시만)
1566
+ /* @__PURE__ */ jsx20("div", { className: empty, children: emptyMessage })
1567
+ )
1559
1568
  }
1560
1569
  ) })
1561
1570
  ] }),
1571
+ /* @__PURE__ */ jsx20("span", { role: "status", className: visuallyHidden, children: announceNoResults ? emptyMessage : "" }),
1562
1572
  name && /* @__PURE__ */ jsx20("input", { type: "hidden", name, value: selectedValue ?? "" }),
1563
1573
  helperText3 && /* @__PURE__ */ jsx20("p", { id: helperId, className: helperText({ error }), children: helperText3 })
1564
1574
  ] });
@@ -2025,6 +2035,7 @@ var root8 = "r2jefr0";
2025
2035
 
2026
2036
  // src/components/FileUpload/FileUpload.tsx
2027
2037
  import { jsx as jsx26, jsxs as jsxs21 } from "react/jsx-runtime";
2038
+ var REMOVED_ANNOUNCE_DELAY = 500;
2028
2039
  function formatSize(bytes) {
2029
2040
  if (bytes < 1024) return `${bytes} B`;
2030
2041
  if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(bytes < 10 * 1024 ? 1 : 0)} KB`;
@@ -2075,6 +2086,8 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2075
2086
  const selectButtonRef = useRef11(null);
2076
2087
  const removeButtonRefs = useRef11([]);
2077
2088
  const focusAfterRemove = useRef11(null);
2089
+ const announceTimer = useRef11(void 0);
2090
+ useEffect8(() => () => clearTimeout(announceTimer.current), []);
2078
2091
  const selectLabel = m.fileSelect ?? "\uD30C\uC77C \uC120\uD0DD";
2079
2092
  const reasonText = (rejection) => {
2080
2093
  const fileName2 = rejection.file.name;
@@ -2083,10 +2096,16 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2083
2096
  if (rejection.reason === "type") return m.fileTypeNotAllowed?.(fileName2) ?? `${fileName2}: \uC62C\uB9B4 \uC218 \uC5C6\uB294 \uD615\uC2DD\uC774\uC5D0\uC694.`;
2084
2097
  return m.fileTooMany?.(maxFiles ?? 0) ?? `\uD30C\uC77C\uC740 ${maxFiles}\uAC1C\uAE4C\uC9C0 \uC62C\uB9B4 \uC218 \uC788\uC5B4\uC694.`;
2085
2098
  };
2086
- const commit = (next, message) => {
2099
+ const announce = (message, delay = 0) => {
2100
+ clearTimeout(announceTimer.current);
2101
+ if (delay === 0) return setAnnouncement(message);
2102
+ setAnnouncement("");
2103
+ announceTimer.current = setTimeout(() => setAnnouncement(message), delay);
2104
+ };
2105
+ const commit = (next, message, delay = 0) => {
2087
2106
  if (!isControlled) setInnerFiles(next);
2088
2107
  onValueChange?.(next);
2089
- setAnnouncement(message);
2108
+ announce(message, delay);
2090
2109
  };
2091
2110
  const addFiles = (incoming) => {
2092
2111
  if (disabled || incoming.length === 0) return;
@@ -2107,14 +2126,14 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2107
2126
  const summary = m.filesSelected?.(next.length) ?? `\uD30C\uC77C ${next.length}\uAC1C \uC120\uD0DD\uB428`;
2108
2127
  const errors2 = [...new Set(rejected.map(reasonText))].join(" ");
2109
2128
  if (accepted.length > 0) commit(next, [summary, errors2].filter(Boolean).join(" "));
2110
- else setAnnouncement(errors2);
2129
+ else announce(errors2);
2111
2130
  };
2112
2131
  const removeAt = (index) => {
2113
2132
  const removed = files[index];
2114
2133
  const next = files.filter((_, i) => i !== index);
2115
2134
  focusAfterRemove.current = Math.min(index, next.length - 1);
2116
2135
  setRejections([]);
2117
- commit(next, m.fileRemoved?.(removed.name) ?? `${removed.name} \uC0AD\uC81C\uB428`);
2136
+ commit(next, m.fileRemoved?.(removed.name) ?? `${removed.name} \uC0AD\uC81C\uB428`, REMOVED_ANNOUNCE_DELAY);
2118
2137
  };
2119
2138
  useEffect8(() => {
2120
2139
  if (focusAfterRemove.current === null) return;
@@ -2203,7 +2222,7 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2203
2222
  files.length > 0 && /* @__PURE__ */ jsx26("ul", { "aria-label": m.fileList ?? "\uC120\uD0DD\uD55C \uD30C\uC77C", className: list4, children: files.map((file, index) => /* @__PURE__ */ jsxs21("li", { className: item5, children: [
2204
2223
  /* @__PURE__ */ jsx26("span", { className: fileIcon, "aria-hidden": true, children: /* @__PURE__ */ jsx26(FileIcon, { size: 16 }) }),
2205
2224
  /* @__PURE__ */ jsx26("span", { className: fileName, children: file.name }),
2206
- /* @__PURE__ */ jsx26("span", { className: fileSize, children: formatSize(file.size) }),
2225
+ /* @__PURE__ */ jsx26("span", { id: `${baseId}-size-${index}`, className: fileSize, children: formatSize(file.size) }),
2207
2226
  /* @__PURE__ */ jsx26(
2208
2227
  IconButton,
2209
2228
  {
@@ -2212,6 +2231,7 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2212
2231
  },
2213
2232
  size: "sm",
2214
2233
  "aria-label": m.fileRemove?.(file.name) ?? `${file.name} \uC0AD\uC81C`,
2234
+ "aria-describedby": `${baseId}-size-${index}`,
2215
2235
  disabled,
2216
2236
  onClick: () => removeAt(index),
2217
2237
  children: /* @__PURE__ */ jsx26(XIcon6, {})
@@ -2267,9 +2287,9 @@ var DropdownMenuContent = /* @__PURE__ */ forwardRef23(
2267
2287
  }
2268
2288
  );
2269
2289
  var DropdownMenuItem = /* @__PURE__ */ forwardRef23(
2270
- function DropdownMenuItem2({ icon: icon6, shortcut: shortcut2, color = "neutral", className, children, ...rest }, ref) {
2290
+ function DropdownMenuItem2({ icon: icon7, shortcut: shortcut2, color = "neutral", className, children, ...rest }, ref) {
2271
2291
  return /* @__PURE__ */ jsxs22(RadixMenu.Item, { ref, className: cx(item6, color === "danger" && danger, className), ...rest, children: [
2272
- icon6 && /* @__PURE__ */ jsx27("span", { className: icon4, "aria-hidden": true, children: icon6 }),
2292
+ icon7 && /* @__PURE__ */ jsx27("span", { className: icon4, "aria-hidden": true, children: icon7 }),
2273
2293
  children,
2274
2294
  shortcut2 && /* @__PURE__ */ jsx27("span", { className: shortcut, "aria-hidden": true, children: shortcut2 })
2275
2295
  ] });
@@ -2304,9 +2324,9 @@ var DropdownMenuRadioItem = /* @__PURE__ */ forwardRef23(
2304
2324
  );
2305
2325
  var DropdownMenuSub = RadixMenu.Sub;
2306
2326
  var DropdownMenuSubTrigger = /* @__PURE__ */ forwardRef23(
2307
- function DropdownMenuSubTrigger2({ icon: icon6, className, children, ...rest }, ref) {
2327
+ function DropdownMenuSubTrigger2({ icon: icon7, className, children, ...rest }, ref) {
2308
2328
  return /* @__PURE__ */ jsxs22(RadixMenu.SubTrigger, { ref, className: cx(item6, subTrigger, className), ...rest, children: [
2309
- icon6 && /* @__PURE__ */ jsx27("span", { className: icon4, "aria-hidden": true, children: icon6 }),
2329
+ icon7 && /* @__PURE__ */ jsx27("span", { className: icon4, "aria-hidden": true, children: icon7 }),
2310
2330
  children,
2311
2331
  /* @__PURE__ */ jsx27("span", { className: subChevron, "aria-hidden": true, children: /* @__PURE__ */ jsx27(ChevronRightIcon3, { size: 16 }) })
2312
2332
  ] });
@@ -2331,7 +2351,7 @@ var DropdownMenuSubContent = /* @__PURE__ */ forwardRef23(
2331
2351
  );
2332
2352
 
2333
2353
  // src/components/NumberInput/NumberInput.tsx
2334
- import { forwardRef as forwardRef24, useEffect as useEffect9, useId as useId10, useRef as useRef12 } from "react";
2354
+ import { forwardRef as forwardRef24, useEffect as useEffect9, useId as useId10, useRef as useRef12, useState as useState10 } from "react";
2335
2355
  import { MinusIcon as MinusIcon2, PlusIcon } from "@bestow-ui/icons";
2336
2356
 
2337
2357
  // src/components/NumberInput/NumberInput.css.ts
@@ -2418,9 +2438,12 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
2418
2438
  if (parse(field4.raw) !== next) setRaw(toRaw(next));
2419
2439
  }, [value3]);
2420
2440
  const current2 = parse(field4.raw);
2421
- const setValue = (next) => {
2441
+ const valueText = (n) => `${format2(toRaw(n))}${unit2 ?? ""}`;
2442
+ const [announcement, setAnnouncement] = useState10("");
2443
+ const setValue = (next, announce = true) => {
2422
2444
  setRaw(toRaw(next));
2423
2445
  emit(next);
2446
+ if (announce) setAnnouncement(valueText(next));
2424
2447
  };
2425
2448
  const stepBy = (delta) => {
2426
2449
  if (disabled || readOnly) return;
@@ -2476,13 +2499,17 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
2476
2499
  "aria-valuenow": current2 ?? void 0,
2477
2500
  "aria-valuemin": min,
2478
2501
  "aria-valuemax": max,
2479
- "aria-valuetext": current2 === null ? void 0 : `${field4.display}${unit2 ?? ""}`,
2502
+ "aria-valuetext": current2 === null ? void 0 : valueText(current2),
2480
2503
  value: field4.display,
2481
- onChange: field4.onChange,
2504
+ onChange: (event) => {
2505
+ setAnnouncement("");
2506
+ field4.onChange(event);
2507
+ },
2482
2508
  onKeyDown: handleKeyDown,
2483
2509
  onBlur: (event) => {
2484
- if (current2 !== null && clamp(current2) !== current2) setValue(clamp(current2));
2510
+ if (current2 !== null && clamp(current2) !== current2) setValue(clamp(current2), false);
2485
2511
  else if (current2 === null && field4.raw !== "") setRaw("");
2512
+ setAnnouncement("");
2486
2513
  onBlur?.(event);
2487
2514
  },
2488
2515
  size,
@@ -2497,14 +2524,15 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
2497
2524
  ...rest
2498
2525
  }
2499
2526
  ),
2500
- name && /* @__PURE__ */ jsx28("input", { type: "hidden", name, value: current2 === null ? "" : String(current2) })
2527
+ name && /* @__PURE__ */ jsx28("input", { type: "hidden", name, value: current2 === null ? "" : String(current2) }),
2528
+ /* @__PURE__ */ jsx28("span", { "aria-live": "assertive", "aria-atomic": "true", className: visuallyHidden, children: announcement })
2501
2529
  ] });
2502
2530
  }
2503
2531
  );
2504
2532
 
2505
2533
  // src/components/Pagination/Pagination.tsx
2506
2534
  import { ChevronLeftIcon as ChevronLeftIcon2, ChevronRightIcon as ChevronRightIcon4 } from "@bestow-ui/icons";
2507
- import { forwardRef as forwardRef25, useState as useState10 } from "react";
2535
+ import { forwardRef as forwardRef25, useState as useState11 } from "react";
2508
2536
 
2509
2537
  // src/components/Pagination/getPaginationItems.ts
2510
2538
  var range = (start, end2) => end2 < start ? [] : Array.from({ length: end2 - start + 1 }, (_, i) => start + i);
@@ -2551,7 +2579,7 @@ var Pagination = /* @__PURE__ */ forwardRef25(function Pagination2({
2551
2579
  "aria-label": ariaLabelProp,
2552
2580
  ...rest
2553
2581
  }, ref) {
2554
- const [uncontrolledPage, setUncontrolledPage] = useState10(defaultPage);
2582
+ const [uncontrolledPage, setUncontrolledPage] = useState11(defaultPage);
2555
2583
  const m = useMessages();
2556
2584
  const ariaLabel = ariaLabelProp ?? m.pagination ?? "\uD398\uC774\uC9C0 \uD0D0\uC0C9";
2557
2585
  const getItemLabel = getItemLabelProp ?? ((type, n) => type === "previous" ? m.paginationPrevious ?? "\uC774\uC804 \uD398\uC774\uC9C0" : type === "next" ? m.paginationNext ?? "\uB2E4\uC74C \uD398\uC774\uC9C0" : m.paginationPage?.(n) ?? `${n} \uD398\uC774\uC9C0`);
@@ -2604,6 +2632,7 @@ var Pagination = /* @__PURE__ */ forwardRef25(function Pagination2({
2604
2632
 
2605
2633
  // src/components/PhoneNumberInput/PhoneNumberInput.tsx
2606
2634
  import { forwardRef as forwardRef26, useRef as useRef13 } from "react";
2635
+ import { formatPhoneNumber, phoneNumberMaxDigits } from "@bestow-ui/korean-utils";
2607
2636
  import { jsx as jsx30 } from "react/jsx-runtime";
2608
2637
  var sanitize3 = (input6) => {
2609
2638
  const digits = input6.replace(/\D/g, "");
@@ -2656,7 +2685,7 @@ var PhoneNumberInput = /* @__PURE__ */ forwardRef26(
2656
2685
  );
2657
2686
 
2658
2687
  // src/components/RadioGroup/RadioGroup.tsx
2659
- import { forwardRef as forwardRef27, useId as useId11, useState as useState11 } from "react";
2688
+ import { forwardRef as forwardRef27, useId as useId11, useState as useState12 } from "react";
2660
2689
 
2661
2690
  // src/components/RadioGroup/RadioGroup.css.ts
2662
2691
  import { createRuntimeFn as _7a46813 } from "@vanilla-extract/recipes/createRuntimeFn";
@@ -2689,7 +2718,7 @@ var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref)
2689
2718
  className
2690
2719
  } = props;
2691
2720
  const isControlled = "value" in props;
2692
- const [innerValue, setInnerValue] = useState11(defaultValue ?? "");
2721
+ const [innerValue, setInnerValue] = useState12(defaultValue ?? "");
2693
2722
  const current2 = isControlled ? value3 ?? "" : innerValue;
2694
2723
  const generatedId = useId11();
2695
2724
  const baseId = id ?? generatedId;
@@ -2756,7 +2785,7 @@ var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref)
2756
2785
  });
2757
2786
 
2758
2787
  // src/components/SegmentedControl/SegmentedControl.tsx
2759
- import { forwardRef as forwardRef28, useId as useId12, useRef as useRef14, useState as useState12 } from "react";
2788
+ import { forwardRef as forwardRef28, useId as useId12, useRef as useRef14, useState as useState13 } from "react";
2760
2789
 
2761
2790
  // src/components/SegmentedControl/SegmentedControl.css.ts
2762
2791
  import { createRuntimeFn as _7a46814 } from "@vanilla-extract/recipes/createRuntimeFn";
@@ -2784,13 +2813,13 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
2784
2813
  className
2785
2814
  } = props;
2786
2815
  const isControlled = "value" in props;
2787
- const [innerValue, setInnerValue] = useState12(defaultValue ?? "");
2816
+ const [innerValue, setInnerValue] = useState13(defaultValue ?? "");
2788
2817
  const current2 = isControlled ? value3 ?? "" : innerValue;
2789
2818
  const generatedId = useId12();
2790
2819
  const labelId = label6 ? `${id ?? generatedId}-label` : void 0;
2791
2820
  const itemRefs = useRef14([]);
2792
2821
  const isEnabled = (index) => !disabled && !options[index]?.disabled;
2793
- const select = (index) => {
2822
+ const select2 = (index) => {
2794
2823
  const next = options[index].value;
2795
2824
  if (next === current2) return;
2796
2825
  if (!isControlled) setInnerValue(next);
@@ -2817,7 +2846,7 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
2817
2846
  if (target < 0) return;
2818
2847
  event.preventDefault();
2819
2848
  itemRefs.current[target]?.focus();
2820
- select(target);
2849
+ select2(target);
2821
2850
  };
2822
2851
  const group = /* @__PURE__ */ jsxs26(
2823
2852
  "div",
@@ -2846,7 +2875,7 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
2846
2875
  "data-state": checked ? "checked" : "unchecked",
2847
2876
  "data-disabled": isEnabled(index) ? void 0 : "",
2848
2877
  className: item8({ size, fullWidth }),
2849
- onClick: () => select(index),
2878
+ onClick: () => select2(index),
2850
2879
  onKeyDown: (event) => handleKeyDown(event, index),
2851
2880
  children: [
2852
2881
  option2.icon && /* @__PURE__ */ jsx32("span", { "aria-hidden": true, className: icon5, children: option2.icon }),
@@ -2868,12 +2897,91 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
2868
2897
  }
2869
2898
  );
2870
2899
 
2871
- // src/components/Select/Select.tsx
2872
- import * as RadixSelect from "@radix-ui/react-select";
2900
+ // src/components/NativeSelect/NativeSelect.tsx
2873
2901
  import { forwardRef as forwardRef29, useId as useId13 } from "react";
2874
- import { CheckIcon as CheckIcon3, ChevronDownIcon as ChevronDownIcon4 } from "@bestow-ui/icons";
2902
+ import { ChevronDownIcon as ChevronDownIcon4 } from "@bestow-ui/icons";
2903
+
2904
+ // src/components/NativeSelect/NativeSelect.css.ts
2905
+ import { createRuntimeFn as _7a46815 } from "@vanilla-extract/recipes/createRuntimeFn";
2906
+ var icon6 = /* @__PURE__ */ _7a46815({ defaultClassName: "_5silym5", variantClassNames: { size: { sm: "_5silym6", md: "_5silym7", lg: "_5silym8" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
2907
+ var select = /* @__PURE__ */ _7a46815({ defaultClassName: "_5silym1", variantClassNames: { size: { sm: "_5silym2", md: "_5silym3", lg: "_5silym4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
2908
+ var wrapper = "_5silym0";
2909
+
2910
+ // src/components/NativeSelect/NativeSelect.tsx
2875
2911
  import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
2876
- var Select = /* @__PURE__ */ forwardRef29(function Select2(props, ref) {
2912
+ var NativeSelect = /* @__PURE__ */ forwardRef29(function NativeSelect2({
2913
+ options,
2914
+ onValueChange,
2915
+ onChange,
2916
+ placeholder,
2917
+ label: label6,
2918
+ helperText: helperText3,
2919
+ error,
2920
+ size,
2921
+ fullWidth,
2922
+ required,
2923
+ disabled,
2924
+ id,
2925
+ value: value3,
2926
+ defaultValue,
2927
+ className,
2928
+ children,
2929
+ "aria-describedby": ariaDescribedBy,
2930
+ ...rest
2931
+ }, ref) {
2932
+ const generatedId = useId13();
2933
+ const selectId = id ?? generatedId;
2934
+ const helperId = helperText3 ? `${selectId}-helper` : void 0;
2935
+ const handleChange = (event) => {
2936
+ onChange?.(event);
2937
+ onValueChange?.(event.target.value);
2938
+ };
2939
+ return /* @__PURE__ */ jsxs27("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
2940
+ label6 && /* @__PURE__ */ jsxs27("label", { htmlFor: selectId, className: label, children: [
2941
+ label6,
2942
+ required && /* @__PURE__ */ jsx33("span", { className: requiredMark, "aria-hidden": true, children: "*" })
2943
+ ] }),
2944
+ /* @__PURE__ */ jsxs27(
2945
+ "span",
2946
+ {
2947
+ className: cx(root3({ size, fullWidth }), wrapper),
2948
+ "data-invalid": error || void 0,
2949
+ "data-disabled": disabled || void 0,
2950
+ children: [
2951
+ /* @__PURE__ */ jsxs27(
2952
+ "select",
2953
+ {
2954
+ ref,
2955
+ id: selectId,
2956
+ value: value3,
2957
+ defaultValue: value3 === void 0 && defaultValue === void 0 && placeholder !== void 0 ? "" : defaultValue,
2958
+ onChange: handleChange,
2959
+ required,
2960
+ disabled,
2961
+ "aria-invalid": error || void 0,
2962
+ "aria-describedby": cx(helperId, ariaDescribedBy) || void 0,
2963
+ className: cx(select({ size }), className),
2964
+ ...rest,
2965
+ children: [
2966
+ placeholder !== void 0 && /* @__PURE__ */ jsx33("option", { value: "", disabled: true, children: placeholder }),
2967
+ options ? options.map((option2) => /* @__PURE__ */ jsx33("option", { value: option2.value, disabled: option2.disabled, children: option2.label }, option2.value)) : children
2968
+ ]
2969
+ }
2970
+ ),
2971
+ /* @__PURE__ */ jsx33(ChevronDownIcon4, { size: 16, className: icon6({ size }) })
2972
+ ]
2973
+ }
2974
+ ),
2975
+ helperText3 && /* @__PURE__ */ jsx33("p", { id: helperId, className: helperText({ error }), children: helperText3 })
2976
+ ] });
2977
+ });
2978
+
2979
+ // src/components/Select/Select.tsx
2980
+ import * as RadixSelect from "@radix-ui/react-select";
2981
+ import { forwardRef as forwardRef30, useId as useId14 } from "react";
2982
+ import { CheckIcon as CheckIcon3, ChevronDownIcon as ChevronDownIcon5 } from "@bestow-ui/icons";
2983
+ import { jsx as jsx34, jsxs as jsxs28 } from "react/jsx-runtime";
2984
+ var Select = /* @__PURE__ */ forwardRef30(function Select2(props, ref) {
2877
2985
  const {
2878
2986
  options,
2879
2987
  value: value3,
@@ -2893,16 +3001,16 @@ var Select = /* @__PURE__ */ forwardRef29(function Select2(props, ref) {
2893
3001
  className
2894
3002
  } = props;
2895
3003
  const isControlled = "value" in props;
2896
- const generatedId = useId13();
3004
+ const generatedId = useId14();
2897
3005
  const triggerId = id ?? generatedId;
2898
3006
  const helperId = helperText3 ? `${triggerId}-helper` : void 0;
2899
3007
  const portal2 = usePortalProps();
2900
- return /* @__PURE__ */ jsxs27("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
2901
- label6 && /* @__PURE__ */ jsxs27("label", { htmlFor: triggerId, className: label, children: [
3008
+ return /* @__PURE__ */ jsxs28("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
3009
+ label6 && /* @__PURE__ */ jsxs28("label", { htmlFor: triggerId, className: label, children: [
2902
3010
  label6,
2903
- required && /* @__PURE__ */ jsx33("span", { className: requiredMark, "aria-hidden": true, children: "*" })
3011
+ required && /* @__PURE__ */ jsx34("span", { className: requiredMark, "aria-hidden": true, children: "*" })
2904
3012
  ] }),
2905
- /* @__PURE__ */ jsxs27(
3013
+ /* @__PURE__ */ jsxs28(
2906
3014
  RadixSelect.Root,
2907
3015
  {
2908
3016
  value: isControlled ? value3 ?? "" : void 0,
@@ -2912,7 +3020,7 @@ var Select = /* @__PURE__ */ forwardRef29(function Select2(props, ref) {
2912
3020
  required,
2913
3021
  name,
2914
3022
  children: [
2915
- /* @__PURE__ */ jsxs27(
3023
+ /* @__PURE__ */ jsxs28(
2916
3024
  RadixSelect.Trigger,
2917
3025
  {
2918
3026
  ref,
@@ -2923,12 +3031,12 @@ var Select = /* @__PURE__ */ forwardRef29(function Select2(props, ref) {
2923
3031
  "data-invalid": error || void 0,
2924
3032
  className: cx(root3({ size, fullWidth }), trigger2, className),
2925
3033
  children: [
2926
- /* @__PURE__ */ jsx33("span", { className: value, children: /* @__PURE__ */ jsx33(RadixSelect.Value, { placeholder }) }),
2927
- /* @__PURE__ */ jsx33(RadixSelect.Icon, { className: icon3, children: /* @__PURE__ */ jsx33(ChevronDownIcon4, { size: 16 }) })
3034
+ /* @__PURE__ */ jsx34("span", { className: value, children: /* @__PURE__ */ jsx34(RadixSelect.Value, { placeholder }) }),
3035
+ /* @__PURE__ */ jsx34(RadixSelect.Icon, { className: icon3, children: /* @__PURE__ */ jsx34(ChevronDownIcon5, { size: 16 }) })
2928
3036
  ]
2929
3037
  }
2930
3038
  ),
2931
- /* @__PURE__ */ jsx33(RadixSelect.Portal, { children: /* @__PURE__ */ jsx33(
3039
+ /* @__PURE__ */ jsx34(RadixSelect.Portal, { children: /* @__PURE__ */ jsx34(
2932
3040
  RadixSelect.Content,
2933
3041
  {
2934
3042
  position: "popper",
@@ -2936,15 +3044,15 @@ var Select = /* @__PURE__ */ forwardRef29(function Select2(props, ref) {
2936
3044
  collisionPadding: 8,
2937
3045
  className: cx(portal2.className, content5),
2938
3046
  style: portal2.style,
2939
- children: /* @__PURE__ */ jsx33(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */ jsxs27(
3047
+ children: /* @__PURE__ */ jsx34(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */ jsxs28(
2940
3048
  RadixSelect.Item,
2941
3049
  {
2942
3050
  value: option2.value,
2943
3051
  disabled: option2.disabled,
2944
3052
  className: item4,
2945
3053
  children: [
2946
- /* @__PURE__ */ jsx33(RadixSelect.ItemText, { children: option2.label }),
2947
- /* @__PURE__ */ jsx33(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ jsx33(CheckIcon3, { size: 16 }) })
3054
+ /* @__PURE__ */ jsx34(RadixSelect.ItemText, { children: option2.label }),
3055
+ /* @__PURE__ */ jsx34(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ jsx34(CheckIcon3, { size: 16 }) })
2948
3056
  ]
2949
3057
  },
2950
3058
  option2.value
@@ -2954,19 +3062,19 @@ var Select = /* @__PURE__ */ forwardRef29(function Select2(props, ref) {
2954
3062
  ]
2955
3063
  }
2956
3064
  ),
2957
- helperText3 && /* @__PURE__ */ jsx33("p", { id: helperId, className: helperText({ error }), children: helperText3 })
3065
+ helperText3 && /* @__PURE__ */ jsx34("p", { id: helperId, className: helperText({ error }), children: helperText3 })
2958
3066
  ] });
2959
3067
  });
2960
3068
 
2961
3069
  // src/components/SkipLink/SkipLink.tsx
2962
- import { forwardRef as forwardRef30 } from "react";
3070
+ import { forwardRef as forwardRef31 } from "react";
2963
3071
 
2964
3072
  // src/components/SkipLink/SkipLink.css.ts
2965
3073
  var skipLink = "_1t9jaar0";
2966
3074
 
2967
3075
  // src/components/SkipLink/SkipLink.tsx
2968
- import { jsx as jsx34 } from "react/jsx-runtime";
2969
- var SkipLink = /* @__PURE__ */ forwardRef30(function SkipLink2({ href = "#main", className, children, onClick, ...rest }, ref) {
3076
+ import { jsx as jsx35 } from "react/jsx-runtime";
3077
+ var SkipLink = /* @__PURE__ */ forwardRef31(function SkipLink2({ href = "#main", className, children, onClick, ...rest }, ref) {
2970
3078
  const m = useMessages();
2971
3079
  const handleClick = (event) => {
2972
3080
  onClick?.(event);
@@ -2978,28 +3086,28 @@ var SkipLink = /* @__PURE__ */ forwardRef30(function SkipLink2({ href = "#main",
2978
3086
  target.focus();
2979
3087
  target.scrollIntoView?.({ block: "start" });
2980
3088
  };
2981
- return /* @__PURE__ */ jsx34("a", { ref, href, className: cx(skipLink, className), onClick: handleClick, ...rest, children: children ?? m.skipToContent ?? "\uBCF8\uBB38 \uBC14\uB85C\uAC00\uAE30" });
3089
+ return /* @__PURE__ */ jsx35("a", { ref, href, className: cx(skipLink, className), onClick: handleClick, ...rest, children: children ?? m.skipToContent ?? "\uBCF8\uBB38 \uBC14\uB85C\uAC00\uAE30" });
2982
3090
  });
2983
3091
 
2984
3092
  // src/components/Slider/Slider.tsx
2985
3093
  import * as RadixSlider from "@radix-ui/react-slider";
2986
- import { forwardRef as forwardRef31, useId as useId14, useState as useState13 } from "react";
3094
+ import { forwardRef as forwardRef32, useId as useId15, useState as useState14 } from "react";
2987
3095
 
2988
3096
  // src/components/Slider/Slider.css.ts
2989
- import { createRuntimeFn as _7a46815 } from "@vanilla-extract/recipes/createRuntimeFn";
3097
+ import { createRuntimeFn as _7a46816 } from "@vanilla-extract/recipes/createRuntimeFn";
2990
3098
  var field3 = "_126mzjm0";
2991
3099
  var header6 = "_126mzjm1";
2992
3100
  var helperText2 = "_126mzjm4";
2993
3101
  var label3 = "_126mzjm2";
2994
3102
  var range2 = "_126mzjmb";
2995
- var root10 = /* @__PURE__ */ _7a46815({ defaultClassName: "_126mzjm5", variantClassNames: { size: { sm: "_126mzjm6", md: "_126mzjm7" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
2996
- var thumb = /* @__PURE__ */ _7a46815({ defaultClassName: "_126mzjmc", variantClassNames: { size: { sm: "_126mzjmd", md: "_126mzjme" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
2997
- var track = /* @__PURE__ */ _7a46815({ defaultClassName: "_126mzjm8", variantClassNames: { size: { sm: "_126mzjm9", md: "_126mzjma" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
3103
+ var root10 = /* @__PURE__ */ _7a46816({ defaultClassName: "_126mzjm5", variantClassNames: { size: { sm: "_126mzjm6", md: "_126mzjm7" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
3104
+ var thumb = /* @__PURE__ */ _7a46816({ defaultClassName: "_126mzjmc", variantClassNames: { size: { sm: "_126mzjmd", md: "_126mzjme" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
3105
+ var track = /* @__PURE__ */ _7a46816({ defaultClassName: "_126mzjm8", variantClassNames: { size: { sm: "_126mzjm9", md: "_126mzjma" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
2998
3106
  var value2 = "_126mzjm3";
2999
3107
 
3000
3108
  // src/components/Slider/Slider.tsx
3001
- import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
3002
- var Slider = /* @__PURE__ */ forwardRef31(function Slider2(props, ref) {
3109
+ import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
3110
+ var Slider = /* @__PURE__ */ forwardRef32(function Slider2(props, ref) {
3003
3111
  const {
3004
3112
  value: value3,
3005
3113
  defaultValue,
@@ -3020,12 +3128,12 @@ var Slider = /* @__PURE__ */ forwardRef31(function Slider2(props, ref) {
3020
3128
  } = props;
3021
3129
  const m = useMessages();
3022
3130
  const thumbLabels = thumbLabelsProp ?? [m.rangeStart ?? "\uCD5C\uC18C", m.rangeEnd ?? "\uCD5C\uB300"];
3023
- const generatedId = useId14();
3131
+ const generatedId = useId15();
3024
3132
  const baseId = id ?? generatedId;
3025
3133
  const labelId = `${baseId}-label`;
3026
3134
  const helperId = `${baseId}-helper`;
3027
3135
  const isControlled = "value" in props;
3028
- const [innerValue, setInnerValue] = useState13(defaultValue ?? [min]);
3136
+ const [innerValue, setInnerValue] = useState14(defaultValue ?? [min]);
3029
3137
  const current2 = isControlled ? value3 ?? [min] : innerValue;
3030
3138
  const isRange = current2.length > 1;
3031
3139
  const handleChange = (next) => {
@@ -3033,12 +3141,12 @@ var Slider = /* @__PURE__ */ forwardRef31(function Slider2(props, ref) {
3033
3141
  onValueChange?.(next);
3034
3142
  };
3035
3143
  const valueText = current2.map(formatValue).join(" \u2013 ");
3036
- return /* @__PURE__ */ jsxs28("div", { className: cx(field3, className), children: [
3037
- (label6 || showValue) && /* @__PURE__ */ jsxs28("div", { className: header6, children: [
3038
- label6 && /* @__PURE__ */ jsx35("span", { id: labelId, className: label3, children: label6 }),
3039
- showValue && /* @__PURE__ */ jsx35("span", { className: value2, "aria-hidden": true, children: valueText })
3144
+ return /* @__PURE__ */ jsxs29("div", { className: cx(field3, className), children: [
3145
+ (label6 || showValue) && /* @__PURE__ */ jsxs29("div", { className: header6, children: [
3146
+ label6 && /* @__PURE__ */ jsx36("span", { id: labelId, className: label3, children: label6 }),
3147
+ showValue && /* @__PURE__ */ jsx36("span", { className: value2, "aria-hidden": true, children: valueText })
3040
3148
  ] }),
3041
- /* @__PURE__ */ jsxs28(
3149
+ /* @__PURE__ */ jsxs29(
3042
3150
  RadixSlider.Root,
3043
3151
  {
3044
3152
  ref,
@@ -3051,10 +3159,10 @@ var Slider = /* @__PURE__ */ forwardRef31(function Slider2(props, ref) {
3051
3159
  className: root10({ size }),
3052
3160
  ...rest,
3053
3161
  children: [
3054
- /* @__PURE__ */ jsx35(RadixSlider.Track, { className: track({ size }), children: /* @__PURE__ */ jsx35(RadixSlider.Range, { className: range2 }) }),
3162
+ /* @__PURE__ */ jsx36(RadixSlider.Track, { className: track({ size }), children: /* @__PURE__ */ jsx36(RadixSlider.Range, { className: range2 }) }),
3055
3163
  current2.map((thumbValue, index) => {
3056
3164
  const thumbLabelId = `${baseId}-thumb-${index}`;
3057
- return /* @__PURE__ */ jsx35(
3165
+ return /* @__PURE__ */ jsx36(
3058
3166
  RadixSlider.Thumb,
3059
3167
  {
3060
3168
  className: thumb({ size }),
@@ -3069,32 +3177,32 @@ var Slider = /* @__PURE__ */ forwardRef31(function Slider2(props, ref) {
3069
3177
  ]
3070
3178
  }
3071
3179
  ),
3072
- isRange && current2.map((_, index) => /* @__PURE__ */ jsxs28("span", { id: `${baseId}-thumb-${index}`, hidden: true, children: [
3180
+ isRange && current2.map((_, index) => /* @__PURE__ */ jsxs29("span", { id: `${baseId}-thumb-${index}`, hidden: true, children: [
3073
3181
  label6 ? "" : ariaLabel ? `${ariaLabel} ` : "",
3074
3182
  thumbLabels[index] ?? `${index + 1}`
3075
3183
  ] }, index)),
3076
- helperText3 && /* @__PURE__ */ jsx35("span", { id: helperId, className: helperText2, children: helperText3 })
3184
+ helperText3 && /* @__PURE__ */ jsx36("span", { id: helperId, className: helperText2, children: helperText3 })
3077
3185
  ] });
3078
3186
  });
3079
3187
 
3080
3188
  // src/components/Stepper/Stepper.tsx
3081
- import { forwardRef as forwardRef32 } from "react";
3189
+ import { forwardRef as forwardRef33 } from "react";
3082
3190
  import { CheckIcon as CheckIcon4 } from "@bestow-ui/icons";
3083
3191
 
3084
3192
  // src/components/Stepper/Stepper.css.ts
3085
- import { createRuntimeFn as _7a46816 } from "@vanilla-extract/recipes/createRuntimeFn";
3193
+ import { createRuntimeFn as _7a46817 } from "@vanilla-extract/recipes/createRuntimeFn";
3086
3194
  var description5 = "kervhmh";
3087
- var indicator2 = /* @__PURE__ */ _7a46816({ defaultClassName: "kervhm6", variantClassNames: { status: { complete: "kervhm7", current: "kervhm8", upcoming: "kervhm9" } }, defaultVariants: {}, compoundVariants: [] });
3088
- var label4 = /* @__PURE__ */ _7a46816({ defaultClassName: "kervhmd", variantClassNames: { status: { complete: "kervhme", current: "kervhmf", upcoming: "kervhmg" } }, defaultVariants: {}, compoundVariants: [] });
3089
- var root11 = /* @__PURE__ */ _7a46816({ defaultClassName: "kervhm0", variantClassNames: { orientation: { horizontal: "kervhm1", vertical: "kervhm2" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
3090
- var step = /* @__PURE__ */ _7a46816({ defaultClassName: "kervhm3", variantClassNames: { orientation: { horizontal: "kervhm4", vertical: "kervhm5" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
3091
- var text2 = /* @__PURE__ */ _7a46816({ defaultClassName: "kervhma", variantClassNames: { orientation: { horizontal: "kervhmb", vertical: "kervhmc" } }, defaultVariants: {}, compoundVariants: [] });
3195
+ var indicator2 = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhm6", variantClassNames: { status: { complete: "kervhm7", current: "kervhm8", upcoming: "kervhm9" } }, defaultVariants: {}, compoundVariants: [] });
3196
+ var label4 = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhmd", variantClassNames: { status: { complete: "kervhme", current: "kervhmf", upcoming: "kervhmg" } }, defaultVariants: {}, compoundVariants: [] });
3197
+ var root11 = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhm0", variantClassNames: { orientation: { horizontal: "kervhm1", vertical: "kervhm2" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
3198
+ var step = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhm3", variantClassNames: { orientation: { horizontal: "kervhm4", vertical: "kervhm5" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
3199
+ var text2 = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhma", variantClassNames: { orientation: { horizontal: "kervhmb", vertical: "kervhmc" } }, defaultVariants: {}, compoundVariants: [] });
3092
3200
 
3093
3201
  // src/components/Stepper/Stepper.tsx
3094
- import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
3095
- var Stepper = /* @__PURE__ */ forwardRef32(function Stepper2({ steps, current: current2, orientation = "horizontal", "aria-label": ariaLabel, className, ...rest }, ref) {
3202
+ import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
3203
+ var Stepper = /* @__PURE__ */ forwardRef33(function Stepper2({ steps, current: current2, orientation = "horizontal", "aria-label": ariaLabel, className, ...rest }, ref) {
3096
3204
  const m = useMessages();
3097
- return /* @__PURE__ */ jsx36(
3205
+ return /* @__PURE__ */ jsx37(
3098
3206
  "ol",
3099
3207
  {
3100
3208
  ref,
@@ -3103,24 +3211,24 @@ var Stepper = /* @__PURE__ */ forwardRef32(function Stepper2({ steps, current: c
3103
3211
  ...rest,
3104
3212
  children: steps.map((step2, index) => {
3105
3213
  const status = index < current2 ? "complete" : index === current2 ? "current" : "upcoming";
3106
- return /* @__PURE__ */ jsxs29(
3214
+ return /* @__PURE__ */ jsxs30(
3107
3215
  "li",
3108
3216
  {
3109
3217
  className: step({ orientation }),
3110
3218
  "data-status": status,
3111
3219
  "aria-current": status === "current" ? "step" : void 0,
3112
3220
  children: [
3113
- /* @__PURE__ */ jsx36("span", { className: indicator2({ status }), "aria-hidden": true, children: status === "complete" ? /* @__PURE__ */ jsx36(CheckIcon4, { size: 16, strokeWidth: 2.5 }) : index + 1 }),
3114
- /* @__PURE__ */ jsxs29("span", { className: text2({ orientation }), children: [
3115
- /* @__PURE__ */ jsxs29("span", { className: label4({ status }), children: [
3221
+ /* @__PURE__ */ jsx37("span", { className: indicator2({ status }), "aria-hidden": true, children: status === "complete" ? /* @__PURE__ */ jsx37(CheckIcon4, { size: 16, strokeWidth: 2.5 }) : index + 1 }),
3222
+ /* @__PURE__ */ jsxs30("span", { className: text2({ orientation }), children: [
3223
+ /* @__PURE__ */ jsxs30("span", { className: label4({ status }), children: [
3116
3224
  step2.label,
3117
- status === "complete" && /* @__PURE__ */ jsxs29("span", { className: visuallyHidden, children: [
3225
+ status === "complete" && /* @__PURE__ */ jsxs30("span", { className: visuallyHidden, children: [
3118
3226
  " (",
3119
3227
  m.stepCompleted ?? "\uC644\uB8CC",
3120
3228
  ")"
3121
3229
  ] })
3122
3230
  ] }),
3123
- step2.description && /* @__PURE__ */ jsx36("span", { className: description5, children: step2.description })
3231
+ step2.description && /* @__PURE__ */ jsx37("span", { className: description5, children: step2.description })
3124
3232
  ] })
3125
3233
  ]
3126
3234
  },
@@ -3132,52 +3240,125 @@ var Stepper = /* @__PURE__ */ forwardRef32(function Stepper2({ steps, current: c
3132
3240
  });
3133
3241
 
3134
3242
  // src/components/Switch/Switch.tsx
3135
- import * as RadixSwitch from "@radix-ui/react-switch";
3136
- import { forwardRef as forwardRef33, useId as useId15 } from "react";
3243
+ import { forwardRef as forwardRef34, useEffect as useEffect10, useId as useId16, useRef as useRef15, useState as useState15 } from "react";
3137
3244
 
3138
3245
  // src/components/Switch/Switch.css.ts
3139
- import { createRuntimeFn as _7a46817 } from "@vanilla-extract/recipes/createRuntimeFn";
3140
- var label5 = "o33ul29";
3141
- var root12 = /* @__PURE__ */ _7a46817({ defaultClassName: "o33ul20", variantClassNames: { size: { sm: "o33ul21", md: "o33ul22" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
3142
- var thumb2 = /* @__PURE__ */ _7a46817({ defaultClassName: "o33ul26", variantClassNames: { size: { sm: "o33ul27", md: "o33ul28" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
3143
- var track2 = /* @__PURE__ */ _7a46817({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
3246
+ import { createRuntimeFn as _7a46818 } from "@vanilla-extract/recipes/createRuntimeFn";
3247
+ var bubbleInput = /* @__PURE__ */ _7a46818({ defaultClassName: "o33ul29", variantClassNames: { size: { sm: "o33ul2a", md: "o33ul2b" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
3248
+ var label5 = "o33ul2c";
3249
+ var root12 = /* @__PURE__ */ _7a46818({ defaultClassName: "o33ul20", variantClassNames: { size: { sm: "o33ul21", md: "o33ul22" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
3250
+ var thumb2 = /* @__PURE__ */ _7a46818({ defaultClassName: "o33ul26", variantClassNames: { size: { sm: "o33ul27", md: "o33ul28" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
3251
+ var track2 = /* @__PURE__ */ _7a46818({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
3144
3252
 
3145
3253
  // src/components/Switch/Switch.tsx
3146
- import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
3147
- var Switch = /* @__PURE__ */ forwardRef33(function Switch2({ label: label6, size, id, className, disabled, "aria-label": ariaLabel, ...rest }, ref) {
3148
- const generatedId = useId15();
3254
+ import { jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
3255
+ function setNativeChecked(input6, checked) {
3256
+ Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "checked")?.set?.call(input6, checked);
3257
+ }
3258
+ var Switch = /* @__PURE__ */ forwardRef34(function Switch2({
3259
+ label: label6,
3260
+ size,
3261
+ id,
3262
+ className,
3263
+ disabled,
3264
+ required,
3265
+ name,
3266
+ value: value3 = "on",
3267
+ checked: checkedProp,
3268
+ defaultChecked,
3269
+ onCheckedChange,
3270
+ "aria-label": ariaLabel
3271
+ }, ref) {
3272
+ const generatedId = useId16();
3149
3273
  const switchId = id ?? generatedId;
3150
- return /* @__PURE__ */ jsxs30("span", { className: cx(root12({ size }), className), "data-disabled": disabled || void 0, children: [
3151
- /* @__PURE__ */ jsx37(
3152
- RadixSwitch.Root,
3274
+ const [uncontrolled, setUncontrolled] = useState15(defaultChecked ?? false);
3275
+ const isControlled = checkedProp !== void 0;
3276
+ const checked = isControlled ? checkedProp : uncontrolled;
3277
+ const buttonRef = useRef15(null);
3278
+ const inputRef = useRef15(null);
3279
+ const [inForm, setInForm] = useState15(true);
3280
+ const userToggled = useRef15(false);
3281
+ const setChecked = (next) => {
3282
+ if (!isControlled) setUncontrolled(next);
3283
+ if (next !== checked) onCheckedChange?.(next);
3284
+ };
3285
+ const setCheckedRef = useRef15(setChecked);
3286
+ setCheckedRef.current = setChecked;
3287
+ useEffect10(() => {
3288
+ const form = buttonRef.current?.form;
3289
+ setInForm(!!form);
3290
+ if (!form) return;
3291
+ const initial = checked;
3292
+ const onReset = () => setCheckedRef.current(initial);
3293
+ form.addEventListener("reset", onReset);
3294
+ return () => form.removeEventListener("reset", onReset);
3295
+ }, []);
3296
+ useEffect10(() => {
3297
+ const input6 = inputRef.current;
3298
+ if (!input6 || input6.checked === checked) return;
3299
+ setNativeChecked(input6, checked);
3300
+ if (userToggled.current) input6.dispatchEvent(new Event("click", { bubbles: true }));
3301
+ userToggled.current = false;
3302
+ }, [checked]);
3303
+ const handleClick = (event) => {
3304
+ userToggled.current = true;
3305
+ setChecked(!checked);
3306
+ if (inForm) event.stopPropagation();
3307
+ };
3308
+ const state = checked ? "checked" : "unchecked";
3309
+ return /* @__PURE__ */ jsxs31("span", { className: cx(root12({ size }), className), "data-disabled": disabled || void 0, children: [
3310
+ /* @__PURE__ */ jsx38(
3311
+ "button",
3153
3312
  {
3154
- ref,
3313
+ ref: mergeRefs(ref, buttonRef),
3314
+ type: "button",
3315
+ role: "switch",
3155
3316
  id: switchId,
3156
- disabled,
3317
+ "aria-checked": checked,
3318
+ "aria-required": required,
3157
3319
  "aria-label": ariaLabel,
3320
+ "data-state": state,
3321
+ "data-disabled": disabled ? "" : void 0,
3322
+ disabled,
3323
+ value: value3,
3158
3324
  className: track2({ size }),
3159
- ...rest,
3160
- children: /* @__PURE__ */ jsx37(RadixSwitch.Thumb, { className: thumb2({ size }) })
3325
+ onClick: handleClick,
3326
+ children: /* @__PURE__ */ jsx38("span", { className: thumb2({ size }), "data-state": state, "data-disabled": disabled ? "" : void 0 })
3327
+ }
3328
+ ),
3329
+ inForm && /* @__PURE__ */ jsx38(
3330
+ "input",
3331
+ {
3332
+ ref: inputRef,
3333
+ type: "checkbox",
3334
+ "aria-hidden": true,
3335
+ tabIndex: -1,
3336
+ defaultChecked: checked,
3337
+ required,
3338
+ disabled,
3339
+ name,
3340
+ value: value3,
3341
+ className: bubbleInput({ size })
3161
3342
  }
3162
3343
  ),
3163
- label6 && /* @__PURE__ */ jsx37("label", { htmlFor: switchId, className: label5, children: label6 })
3344
+ label6 && /* @__PURE__ */ jsx38("label", { htmlFor: switchId, className: label5, children: label6 })
3164
3345
  ] });
3165
3346
  });
3166
3347
 
3167
3348
  // src/components/Table/Table.tsx
3168
3349
  import {
3169
3350
  createContext as createContext3,
3170
- forwardRef as forwardRef34,
3351
+ forwardRef as forwardRef35,
3171
3352
  useContext as useContext3,
3172
- useId as useId16
3353
+ useId as useId17
3173
3354
  } from "react";
3174
3355
  import { ArrowDownIcon, ArrowUpIcon } from "@bestow-ui/icons";
3175
3356
 
3176
3357
  // src/components/Table/Table.css.ts
3177
- import { createRuntimeFn as _7a46818 } from "@vanilla-extract/recipes/createRuntimeFn";
3358
+ import { createRuntimeFn as _7a46819 } from "@vanilla-extract/recipes/createRuntimeFn";
3178
3359
  var body3 = "l3ploy5";
3179
3360
  var caption = "l3ploy2";
3180
- var cell2 = /* @__PURE__ */ _7a46818({ defaultClassName: "l3ploy9", variantClassNames: { size: { sm: "l3ploya", md: "l3ployb" }, align: { left: "l3ployc", center: "l3ployd", right: "l3ploye" } }, defaultVariants: { size: "md", align: "left" }, compoundVariants: [] });
3361
+ var cell2 = /* @__PURE__ */ _7a46819({ defaultClassName: "l3ploy9", variantClassNames: { size: { sm: "l3ploya", md: "l3ployb" }, align: { left: "l3ployc", center: "l3ployd", right: "l3ploye" } }, defaultVariants: { size: "md", align: "left" }, compoundVariants: [] });
3181
3362
  var container = "l3ploy0";
3182
3363
  var emptyCell = "l3ployj";
3183
3364
  var emptyContent = "l3ployk";
@@ -3193,10 +3374,10 @@ var striped = "l3ploy6";
3193
3374
  var table = "l3ploy1";
3194
3375
 
3195
3376
  // src/components/Table/Table.tsx
3196
- import { Fragment as Fragment6, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
3377
+ import { Fragment as Fragment6, jsx as jsx39, jsxs as jsxs32 } from "react/jsx-runtime";
3197
3378
  var TableSizeContext = /* @__PURE__ */ createContext3("md");
3198
3379
  var TableSectionContext = /* @__PURE__ */ createContext3("body");
3199
- var Table = /* @__PURE__ */ forwardRef34(function Table2({
3380
+ var Table = /* @__PURE__ */ forwardRef35(function Table2({
3200
3381
  size = "md",
3201
3382
  striped: striped2,
3202
3383
  stickyHeader: stickyHeader2,
@@ -3208,8 +3389,8 @@ var Table = /* @__PURE__ */ forwardRef34(function Table2({
3208
3389
  children,
3209
3390
  ...rest
3210
3391
  }, ref) {
3211
- const captionId = useId16();
3212
- return /* @__PURE__ */ jsx38(TableSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx38(
3392
+ const captionId = useId17();
3393
+ return /* @__PURE__ */ jsx39(TableSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx39(
3213
3394
  "div",
3214
3395
  {
3215
3396
  className: cx(container, containerClassName),
@@ -3218,7 +3399,7 @@ var Table = /* @__PURE__ */ forwardRef34(function Table2({
3218
3399
  role: "region",
3219
3400
  "aria-labelledby": caption2 ? captionId : void 0,
3220
3401
  "aria-label": caption2 ? void 0 : ariaLabel,
3221
- children: /* @__PURE__ */ jsxs31(
3402
+ children: /* @__PURE__ */ jsxs32(
3222
3403
  "table",
3223
3404
  {
3224
3405
  ref,
@@ -3226,7 +3407,7 @@ var Table = /* @__PURE__ */ forwardRef34(function Table2({
3226
3407
  "aria-label": caption2 ? void 0 : ariaLabel,
3227
3408
  ...rest,
3228
3409
  children: [
3229
- caption2 && /* @__PURE__ */ jsx38("caption", { id: captionId, className: caption, children: caption2 }),
3410
+ caption2 && /* @__PURE__ */ jsx39("caption", { id: captionId, className: caption, children: caption2 }),
3230
3411
  children
3231
3412
  ]
3232
3413
  }
@@ -3234,31 +3415,31 @@ var Table = /* @__PURE__ */ forwardRef34(function Table2({
3234
3415
  }
3235
3416
  ) });
3236
3417
  });
3237
- var TableHeader = /* @__PURE__ */ forwardRef34(
3418
+ var TableHeader = /* @__PURE__ */ forwardRef35(
3238
3419
  function TableHeader2({ className, ...rest }, ref) {
3239
- return /* @__PURE__ */ jsx38(TableSectionContext.Provider, { value: "header", children: /* @__PURE__ */ jsx38("thead", { ref, className: cx(header7, className), ...rest }) });
3420
+ return /* @__PURE__ */ jsx39(TableSectionContext.Provider, { value: "header", children: /* @__PURE__ */ jsx39("thead", { ref, className: cx(header7, className), ...rest }) });
3240
3421
  }
3241
3422
  );
3242
- var TableBody = /* @__PURE__ */ forwardRef34(
3423
+ var TableBody = /* @__PURE__ */ forwardRef35(
3243
3424
  function TableBody2({ className, ...rest }, ref) {
3244
- return /* @__PURE__ */ jsx38(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ jsx38("tbody", { ref, className: cx(body3, className), ...rest }) });
3425
+ return /* @__PURE__ */ jsx39(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ jsx39("tbody", { ref, className: cx(body3, className), ...rest }) });
3245
3426
  }
3246
3427
  );
3247
- var TableFooter = /* @__PURE__ */ forwardRef34(
3428
+ var TableFooter = /* @__PURE__ */ forwardRef35(
3248
3429
  function TableFooter2({ className, ...rest }, ref) {
3249
- return /* @__PURE__ */ jsx38(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ jsx38("tfoot", { ref, className: cx(footer3, className), ...rest }) });
3430
+ return /* @__PURE__ */ jsx39(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ jsx39("tfoot", { ref, className: cx(footer3, className), ...rest }) });
3250
3431
  }
3251
3432
  );
3252
- var TableRow = /* @__PURE__ */ forwardRef34(function TableRow2({ selected, className, ...rest }, ref) {
3253
- return /* @__PURE__ */ jsx38("tr", { ref, className: cx(row3, className), "data-state": selected ? "selected" : void 0, ...rest });
3433
+ var TableRow = /* @__PURE__ */ forwardRef35(function TableRow2({ selected, className, ...rest }, ref) {
3434
+ return /* @__PURE__ */ jsx39("tr", { ref, className: cx(row3, className), "data-state": selected ? "selected" : void 0, ...rest });
3254
3435
  });
3255
- var TableHead = /* @__PURE__ */ forwardRef34(function TableHead2({ align, sortDirection, onSort, scope, className, children, ...rest }, ref) {
3436
+ var TableHead = /* @__PURE__ */ forwardRef35(function TableHead2({ align, sortDirection, onSort, scope, className, children, ...rest }, ref) {
3256
3437
  const size = useContext3(TableSizeContext);
3257
3438
  const section = useContext3(TableSectionContext);
3258
3439
  const sortable = onSort !== void 0;
3259
3440
  const direction = sortDirection ?? "none";
3260
3441
  const SortIcon = direction === "descending" ? ArrowDownIcon : ArrowUpIcon;
3261
- return /* @__PURE__ */ jsx38(
3442
+ return /* @__PURE__ */ jsx39(
3262
3443
  "th",
3263
3444
  {
3264
3445
  ref,
@@ -3270,17 +3451,17 @@ var TableHead = /* @__PURE__ */ forwardRef34(function TableHead2({ align, sortDi
3270
3451
  className
3271
3452
  ),
3272
3453
  ...rest,
3273
- children: sortable ? /* @__PURE__ */ jsxs31("button", { type: "button", className: sortButton, onClick: onSort, children: [
3454
+ children: sortable ? /* @__PURE__ */ jsxs32("button", { type: "button", className: sortButton, onClick: onSort, children: [
3274
3455
  children,
3275
- /* @__PURE__ */ jsx38(SortIcon, { size: 14, className: sortIcon, "data-active": direction !== "none", "aria-hidden": true })
3456
+ /* @__PURE__ */ jsx39(SortIcon, { size: 14, className: sortIcon, "data-active": direction !== "none", "aria-hidden": true })
3276
3457
  ] }) : children
3277
3458
  }
3278
3459
  );
3279
3460
  });
3280
- var TableCell = /* @__PURE__ */ forwardRef34(function TableCell2({ align, className, ...rest }, ref) {
3461
+ var TableCell = /* @__PURE__ */ forwardRef35(function TableCell2({ align, className, ...rest }, ref) {
3281
3462
  const size = useContext3(TableSizeContext);
3282
3463
  const section = useContext3(TableSectionContext);
3283
- return /* @__PURE__ */ jsx38(
3464
+ return /* @__PURE__ */ jsx39(
3284
3465
  "td",
3285
3466
  {
3286
3467
  ref,
@@ -3289,17 +3470,17 @@ var TableCell = /* @__PURE__ */ forwardRef34(function TableCell2({ align, classN
3289
3470
  }
3290
3471
  );
3291
3472
  });
3292
- var TableEmpty = /* @__PURE__ */ forwardRef34(function TableEmpty2({ colSpan, className, children, ...rest }, ref) {
3293
- return /* @__PURE__ */ jsx38(TableRow, { children: /* @__PURE__ */ jsx38(TableCell, { ref, colSpan, className: cx(emptyCell, className), ...rest, children: /* @__PURE__ */ jsx38("div", { className: emptyContent, children }) }) });
3473
+ var TableEmpty = /* @__PURE__ */ forwardRef35(function TableEmpty2({ colSpan, className, children, ...rest }, ref) {
3474
+ return /* @__PURE__ */ jsx39(TableRow, { children: /* @__PURE__ */ jsx39(TableCell, { ref, colSpan, className: cx(emptyCell, className), ...rest, children: /* @__PURE__ */ jsx39("div", { className: emptyContent, children }) }) });
3294
3475
  });
3295
3476
  function TableSkeleton({ rows = 5, columns }) {
3296
- return /* @__PURE__ */ jsx38(Fragment6, { children: Array.from({ length: rows }, (_, row5) => /* @__PURE__ */ jsx38(TableRow, { "aria-hidden": true, children: Array.from({ length: columns }, (_2, column) => /* @__PURE__ */ jsx38(TableCell, { children: /* @__PURE__ */ jsx38(Skeleton, { width: column === 0 ? "60%" : "80%" }) }, column)) }, row5)) });
3477
+ return /* @__PURE__ */ jsx39(Fragment6, { children: Array.from({ length: rows }, (_, row5) => /* @__PURE__ */ jsx39(TableRow, { "aria-hidden": true, children: Array.from({ length: columns }, (_2, column) => /* @__PURE__ */ jsx39(TableCell, { children: /* @__PURE__ */ jsx39(Skeleton, { width: column === 0 ? "60%" : "80%" }) }, column)) }, row5)) });
3297
3478
  }
3298
3479
 
3299
3480
  // src/components/Table/useTableSelection.ts
3300
- import { useCallback, useState as useState14 } from "react";
3481
+ import { useCallback, useState as useState16 } from "react";
3301
3482
  function useTableSelection(initial = []) {
3302
- const [selected, setSelected] = useState14(initial);
3483
+ const [selected, setSelected] = useState16(initial);
3303
3484
  const isSelected = useCallback((id) => selected.includes(id), [selected]);
3304
3485
  const toggle3 = useCallback((id, checked) => {
3305
3486
  setSelected((prev) => {
@@ -3329,54 +3510,54 @@ function useTableSelection(initial = []) {
3329
3510
 
3330
3511
  // src/components/Tabs/Tabs.tsx
3331
3512
  import * as RadixTabs from "@radix-ui/react-tabs";
3332
- import { createContext as createContext4, forwardRef as forwardRef35, useContext as useContext4 } from "react";
3513
+ import { createContext as createContext4, forwardRef as forwardRef36, useContext as useContext4 } from "react";
3333
3514
 
3334
3515
  // src/components/Tabs/Tabs.css.ts
3335
- import { createRuntimeFn as _7a46819 } from "@vanilla-extract/recipes/createRuntimeFn";
3516
+ import { createRuntimeFn as _7a46820 } from "@vanilla-extract/recipes/createRuntimeFn";
3336
3517
  var content10 = "fvhbtdb";
3337
- var list6 = /* @__PURE__ */ _7a46819({ defaultClassName: "fvhbtd1", variantClassNames: { variant: { line: "fvhbtd2", soft: "fvhbtd3" } }, defaultVariants: { variant: "line" }, compoundVariants: [] });
3518
+ var list6 = /* @__PURE__ */ _7a46820({ defaultClassName: "fvhbtd1", variantClassNames: { variant: { line: "fvhbtd2", soft: "fvhbtd3" } }, defaultVariants: { variant: "line" }, compoundVariants: [] });
3338
3519
  var root13 = "fvhbtd0";
3339
- var trigger3 = /* @__PURE__ */ _7a46819({ defaultClassName: "fvhbtd4", variantClassNames: { variant: { line: "fvhbtd5", soft: "fvhbtd6" }, size: { sm: "fvhbtd7", md: "fvhbtd8" } }, defaultVariants: { variant: "line", size: "md" }, compoundVariants: [[{ variant: "soft", size: "sm" }, "fvhbtd9"], [{ variant: "soft", size: "md" }, "fvhbtda"]] });
3520
+ var trigger3 = /* @__PURE__ */ _7a46820({ defaultClassName: "fvhbtd4", variantClassNames: { variant: { line: "fvhbtd5", soft: "fvhbtd6" }, size: { sm: "fvhbtd7", md: "fvhbtd8" } }, defaultVariants: { variant: "line", size: "md" }, compoundVariants: [[{ variant: "soft", size: "sm" }, "fvhbtd9"], [{ variant: "soft", size: "md" }, "fvhbtda"]] });
3340
3521
 
3341
3522
  // src/components/Tabs/Tabs.tsx
3342
- import { jsx as jsx39 } from "react/jsx-runtime";
3523
+ import { jsx as jsx40 } from "react/jsx-runtime";
3343
3524
  var TabsStyleContext = /* @__PURE__ */ createContext4({ variant: "line", size: "md" });
3344
- var Tabs = /* @__PURE__ */ forwardRef35(function Tabs2({ variant = "line", size = "md", className, ...props }, ref) {
3525
+ var Tabs = /* @__PURE__ */ forwardRef36(function Tabs2({ variant = "line", size = "md", className, ...props }, ref) {
3345
3526
  const controlled = "value" in props ? { value: props.value ?? "" } : {};
3346
- return /* @__PURE__ */ jsx39(TabsStyleContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ jsx39(RadixTabs.Root, { ref, className: cx(root13, className), ...props, ...controlled }) });
3527
+ return /* @__PURE__ */ jsx40(TabsStyleContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ jsx40(RadixTabs.Root, { ref, className: cx(root13, className), ...props, ...controlled }) });
3347
3528
  });
3348
- var TabsList = /* @__PURE__ */ forwardRef35(function TabsList2({ className, ...rest }, ref) {
3529
+ var TabsList = /* @__PURE__ */ forwardRef36(function TabsList2({ className, ...rest }, ref) {
3349
3530
  const { variant } = useContext4(TabsStyleContext);
3350
- return /* @__PURE__ */ jsx39(RadixTabs.List, { ref, className: cx(list6({ variant }), className), ...rest });
3531
+ return /* @__PURE__ */ jsx40(RadixTabs.List, { ref, className: cx(list6({ variant }), className), ...rest });
3351
3532
  });
3352
- var TabsTrigger = /* @__PURE__ */ forwardRef35(function TabsTrigger2({ className, ...rest }, ref) {
3533
+ var TabsTrigger = /* @__PURE__ */ forwardRef36(function TabsTrigger2({ className, ...rest }, ref) {
3353
3534
  const { variant, size } = useContext4(TabsStyleContext);
3354
- return /* @__PURE__ */ jsx39(RadixTabs.Trigger, { ref, className: cx(trigger3({ variant, size }), className), ...rest });
3535
+ return /* @__PURE__ */ jsx40(RadixTabs.Trigger, { ref, className: cx(trigger3({ variant, size }), className), ...rest });
3355
3536
  });
3356
- var TabsContent = /* @__PURE__ */ forwardRef35(function TabsContent2({ className, ...rest }, ref) {
3357
- return /* @__PURE__ */ jsx39(RadixTabs.Content, { ref, className: cx(content10, className), ...rest });
3537
+ var TabsContent = /* @__PURE__ */ forwardRef36(function TabsContent2({ className, ...rest }, ref) {
3538
+ return /* @__PURE__ */ jsx40(RadixTabs.Content, { ref, className: cx(content10, className), ...rest });
3358
3539
  });
3359
3540
 
3360
3541
  // src/components/Textarea/Textarea.tsx
3361
3542
  import {
3362
- forwardRef as forwardRef36,
3543
+ forwardRef as forwardRef37,
3363
3544
  useCallback as useCallback2,
3364
- useId as useId17,
3365
- useRef as useRef15,
3366
- useState as useState15
3545
+ useId as useId18,
3546
+ useRef as useRef16,
3547
+ useState as useState17
3367
3548
  } from "react";
3368
3549
 
3369
3550
  // src/components/Textarea/Textarea.css.ts
3370
- import { createRuntimeFn as _7a46820 } from "@vanilla-extract/recipes/createRuntimeFn";
3551
+ import { createRuntimeFn as _7a46821 } from "@vanilla-extract/recipes/createRuntimeFn";
3371
3552
  var count = "_1koawa9";
3372
3553
  var countOver = "_1koawaa";
3373
3554
  var defaultWidth = "_1koawa7";
3374
3555
  var footer4 = "_1koawa8";
3375
- var textarea = /* @__PURE__ */ _7a46820({ defaultClassName: "_1koawa0", variantClassNames: { size: { sm: "_1koawa1", md: "_1koawa2", lg: "_1koawa3" }, resize: { none: "_1koawa4", vertical: "_1koawa5", both: "_1koawa6" } }, defaultVariants: { size: "md", resize: "vertical" }, compoundVariants: [] });
3556
+ var textarea = /* @__PURE__ */ _7a46821({ defaultClassName: "_1koawa0", variantClassNames: { size: { sm: "_1koawa1", md: "_1koawa2", lg: "_1koawa3" }, resize: { none: "_1koawa4", vertical: "_1koawa5", both: "_1koawa6" } }, defaultVariants: { size: "md", resize: "vertical" }, compoundVariants: [] });
3376
3557
 
3377
3558
  // src/components/Textarea/Textarea.tsx
3378
- import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
3379
- var Textarea = /* @__PURE__ */ forwardRef36(function Textarea2({
3559
+ import { jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
3560
+ var Textarea = /* @__PURE__ */ forwardRef37(function Textarea2({
3380
3561
  label: label6,
3381
3562
  helperText: helperText3,
3382
3563
  error,
@@ -3397,11 +3578,11 @@ var Textarea = /* @__PURE__ */ forwardRef36(function Textarea2({
3397
3578
  "aria-describedby": ariaDescribedBy,
3398
3579
  ...rest
3399
3580
  }, ref) {
3400
- const generatedId = useId17();
3581
+ const generatedId = useId18();
3401
3582
  const textareaId = id ?? generatedId;
3402
3583
  const helperId = helperText3 ? `${textareaId}-helper` : void 0;
3403
- const innerRef = useRef15(null);
3404
- const [uncontrolledLength, setUncontrolledLength] = useState15(() => String(defaultValue ?? "").length);
3584
+ const innerRef = useRef16(null);
3585
+ const [uncontrolledLength, setUncontrolledLength] = useState17(() => String(defaultValue ?? "").length);
3405
3586
  const length = value3 !== void 0 ? String(value3).length : uncontrolledLength;
3406
3587
  const fitHeight = useCallback2(() => {
3407
3588
  const el = innerRef.current;
@@ -3416,12 +3597,12 @@ var Textarea = /* @__PURE__ */ forwardRef36(function Textarea2({
3416
3597
  fitHeight();
3417
3598
  onChange?.(event);
3418
3599
  };
3419
- return /* @__PURE__ */ jsxs32("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
3420
- label6 && /* @__PURE__ */ jsxs32("label", { htmlFor: textareaId, className: label, children: [
3600
+ return /* @__PURE__ */ jsxs33("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
3601
+ label6 && /* @__PURE__ */ jsxs33("label", { htmlFor: textareaId, className: label, children: [
3421
3602
  label6,
3422
- required && /* @__PURE__ */ jsx40("span", { className: requiredMark, "aria-hidden": true, children: "*" })
3603
+ required && /* @__PURE__ */ jsx41("span", { className: requiredMark, "aria-hidden": true, children: "*" })
3423
3604
  ] }),
3424
- /* @__PURE__ */ jsx40(
3605
+ /* @__PURE__ */ jsx41(
3425
3606
  "textarea",
3426
3607
  {
3427
3608
  ref: mergeRefs(innerRef, ref),
@@ -3443,36 +3624,36 @@ var Textarea = /* @__PURE__ */ forwardRef36(function Textarea2({
3443
3624
  ...rest
3444
3625
  }
3445
3626
  ),
3446
- (helperText3 || showCount) && /* @__PURE__ */ jsxs32("div", { className: footer4, children: [
3447
- helperText3 && /* @__PURE__ */ jsx40("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
3448
- showCount && /* @__PURE__ */ jsx40("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
3627
+ (helperText3 || showCount) && /* @__PURE__ */ jsxs33("div", { className: footer4, children: [
3628
+ helperText3 && /* @__PURE__ */ jsx41("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
3629
+ showCount && /* @__PURE__ */ jsx41("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
3449
3630
  ] })
3450
3631
  ] });
3451
3632
  });
3452
3633
 
3453
3634
  // src/components/Toast/Toast.tsx
3454
3635
  import * as RadixToast from "@radix-ui/react-toast";
3455
- import { createContext as createContext5, useCallback as useCallback3, useContext as useContext5, useMemo as useMemo4, useRef as useRef16, useState as useState16 } from "react";
3636
+ import { createContext as createContext5, useCallback as useCallback3, useContext as useContext5, useMemo as useMemo4, useRef as useRef17, useState as useState18 } from "react";
3456
3637
  import { XIcon as XIcon7 } from "@bestow-ui/icons";
3457
3638
 
3458
3639
  // src/components/Toast/Toast.css.ts
3459
- import { createRuntimeFn as _7a46821 } from "@vanilla-extract/recipes/createRuntimeFn";
3640
+ import { createRuntimeFn as _7a46822 } from "@vanilla-extract/recipes/createRuntimeFn";
3460
3641
  var action2 = "_1g11zvx9";
3461
3642
  var close = "_1g11zvxa";
3462
3643
  var description6 = "_1g11zvx8";
3463
3644
  var title5 = "_1g11zvx7";
3464
- var toast = /* @__PURE__ */ _7a46821({ defaultClassName: "_1g11zvx1", variantClassNames: { color: { primary: "_1g11zvx2", neutral: "_1g11zvx3", success: "_1g11zvx4", warning: "_1g11zvx5", danger: "_1g11zvx6" } }, defaultVariants: { color: "neutral" }, compoundVariants: [] });
3645
+ var toast = /* @__PURE__ */ _7a46822({ defaultClassName: "_1g11zvx1", variantClassNames: { color: { primary: "_1g11zvx2", neutral: "_1g11zvx3", success: "_1g11zvx4", warning: "_1g11zvx5", danger: "_1g11zvx6" } }, defaultVariants: { color: "neutral" }, compoundVariants: [] });
3465
3646
  var viewport2 = "_1g11zvx0";
3466
3647
 
3467
3648
  // src/components/Toast/Toast.tsx
3468
- import { jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
3649
+ import { jsx as jsx42, jsxs as jsxs34 } from "react/jsx-runtime";
3469
3650
  var REMOVE_DELAY = 500;
3470
3651
  var ToastContext = /* @__PURE__ */ createContext5(null);
3471
3652
  function ToastProvider({ children, duration = 5e3, label: labelProp }) {
3472
3653
  const m = useMessages();
3473
3654
  const label6 = labelProp ?? m.notifications ?? "\uC54C\uB9BC";
3474
- const [toasts, setToasts] = useState16([]);
3475
- const nextId = useRef16(0);
3655
+ const [toasts, setToasts] = useState18([]);
3656
+ const nextId = useRef17(0);
3476
3657
  const portal2 = usePortalProps();
3477
3658
  const toast2 = useCallback3((options) => {
3478
3659
  const id = nextId.current++;
@@ -3485,9 +3666,9 @@ function ToastProvider({ children, duration = 5e3, label: labelProp }) {
3485
3666
  setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
3486
3667
  }, []);
3487
3668
  const value3 = useMemo4(() => ({ toast: toast2, dismiss }), [toast2, dismiss]);
3488
- return /* @__PURE__ */ jsx41(ToastContext.Provider, { value: value3, children: /* @__PURE__ */ jsxs33(RadixToast.Provider, { duration, label: label6, swipeDirection: "right", children: [
3669
+ return /* @__PURE__ */ jsx42(ToastContext.Provider, { value: value3, children: /* @__PURE__ */ jsxs34(RadixToast.Provider, { duration, label: label6, swipeDirection: "right", children: [
3489
3670
  children,
3490
- toasts.map(({ id, open, title: title6, description: description7, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */ jsxs33(
3671
+ toasts.map(({ id, open, title: title6, description: description7, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */ jsxs34(
3491
3672
  RadixToast.Root,
3492
3673
  {
3493
3674
  open,
@@ -3497,15 +3678,15 @@ function ToastProvider({ children, duration = 5e3, label: labelProp }) {
3497
3678
  },
3498
3679
  className: toast({ color }),
3499
3680
  children: [
3500
- /* @__PURE__ */ jsx41(RadixToast.Title, { className: title5, children: title6 }),
3501
- description7 && /* @__PURE__ */ jsx41(RadixToast.Description, { className: description6, children: description7 }),
3502
- action3 && /* @__PURE__ */ jsx41(RadixToast.Action, { asChild: true, altText: action3.altText ?? action3.label, className: action2, children: /* @__PURE__ */ jsx41(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action3.onClick, children: action3.label }) }),
3503
- /* @__PURE__ */ jsx41(RadixToast.Close, { className: close, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ jsx41(XIcon7, { size: 16 }) })
3681
+ /* @__PURE__ */ jsx42(RadixToast.Title, { className: title5, children: title6 }),
3682
+ description7 && /* @__PURE__ */ jsx42(RadixToast.Description, { className: description6, children: description7 }),
3683
+ action3 && /* @__PURE__ */ jsx42(RadixToast.Action, { asChild: true, altText: action3.altText ?? action3.label, className: action2, children: /* @__PURE__ */ jsx42(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action3.onClick, children: action3.label }) }),
3684
+ /* @__PURE__ */ jsx42(RadixToast.Close, { className: close, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ jsx42(XIcon7, { size: 16 }) })
3504
3685
  ]
3505
3686
  },
3506
3687
  id
3507
3688
  )),
3508
- /* @__PURE__ */ jsx41(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
3689
+ /* @__PURE__ */ jsx42(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
3509
3690
  ] }) });
3510
3691
  }
3511
3692
  function useToast() {
@@ -3522,7 +3703,7 @@ var arrow2 = "z7rufs1";
3522
3703
  var content11 = "z7rufs0";
3523
3704
 
3524
3705
  // src/components/Tooltip/Tooltip.tsx
3525
- import { jsx as jsx42, jsxs as jsxs34 } from "react/jsx-runtime";
3706
+ import { jsx as jsx43, jsxs as jsxs35 } from "react/jsx-runtime";
3526
3707
  function Tooltip({
3527
3708
  content: content12,
3528
3709
  children,
@@ -3537,9 +3718,9 @@ function Tooltip({
3537
3718
  }) {
3538
3719
  const portal2 = usePortalProps();
3539
3720
  if (disabled || content12 == null || content12 === "") return children;
3540
- return /* @__PURE__ */ jsx42(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ jsxs34(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
3541
- /* @__PURE__ */ jsx42(RadixTooltip.Trigger, { asChild: true, children }),
3542
- /* @__PURE__ */ jsx42(RadixTooltip.Portal, { children: /* @__PURE__ */ jsxs34(
3721
+ return /* @__PURE__ */ jsx43(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ jsxs35(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
3722
+ /* @__PURE__ */ jsx43(RadixTooltip.Trigger, { asChild: true, children }),
3723
+ /* @__PURE__ */ jsx43(RadixTooltip.Portal, { children: /* @__PURE__ */ jsxs35(
3543
3724
  RadixTooltip.Content,
3544
3725
  {
3545
3726
  side,
@@ -3550,7 +3731,7 @@ function Tooltip({
3550
3731
  style: portal2.style,
3551
3732
  children: [
3552
3733
  content12,
3553
- /* @__PURE__ */ jsx42(RadixTooltip.Arrow, { className: arrow2, width: 10, height: 5 })
3734
+ /* @__PURE__ */ jsx43(RadixTooltip.Arrow, { className: arrow2, width: 10, height: 5 })
3554
3735
  ]
3555
3736
  }
3556
3737
  ) })
@@ -3558,7 +3739,7 @@ function Tooltip({
3558
3739
  }
3559
3740
 
3560
3741
  // src/components/VerificationCodeInput/VerificationCodeInput.tsx
3561
- import { forwardRef as forwardRef37, useEffect as useEffect10, useId as useId18, useRef as useRef17, useState as useState17 } from "react";
3742
+ import { forwardRef as forwardRef38, useEffect as useEffect11, useId as useId19, useRef as useRef18, useState as useState19 } from "react";
3562
3743
 
3563
3744
  // src/components/VerificationCodeInput/VerificationCodeInput.css.ts
3564
3745
  var input5 = "ea01812";
@@ -3568,9 +3749,9 @@ var slots = "ea01811";
3568
3749
  var timer = "ea01814";
3569
3750
 
3570
3751
  // src/components/VerificationCodeInput/VerificationCodeInput.tsx
3571
- import { jsx as jsx43, jsxs as jsxs35 } from "react/jsx-runtime";
3752
+ import { jsx as jsx44, jsxs as jsxs36 } from "react/jsx-runtime";
3572
3753
  var formatTime = (seconds) => `${String(Math.floor(seconds / 60)).padStart(2, "0")}:${String(seconds % 60).padStart(2, "0")}`;
3573
- var VerificationCodeInput = /* @__PURE__ */ forwardRef37(
3754
+ var VerificationCodeInput = /* @__PURE__ */ forwardRef38(
3574
3755
  function VerificationCodeInput2(props, ref) {
3575
3756
  const {
3576
3757
  length = 6,
@@ -3597,23 +3778,23 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef37(
3597
3778
  const label6 = labelProp ?? m.verificationCode ?? "\uC778\uC99D\uBC88\uD638";
3598
3779
  const resendText = resendTextProp ?? m.resend ?? "\uC7AC\uC804\uC1A1";
3599
3780
  const expiredText = expiredTextProp ?? m.verificationExpired ?? "\uC778\uC99D \uC2DC\uAC04\uC774 \uC9C0\uB0AC\uC5B4\uC694. \uC7AC\uC804\uC1A1\uD574 \uC8FC\uC138\uC694.";
3600
- const generatedId = useId18();
3781
+ const generatedId = useId19();
3601
3782
  const inputId = id ?? generatedId;
3602
3783
  const helperId = `${inputId}-helper`;
3603
3784
  const statusId = `${inputId}-status`;
3604
- const inputRef = useRef17(null);
3785
+ const inputRef = useRef18(null);
3605
3786
  const isControlled = "value" in props;
3606
- const [innerValue, setInnerValue] = useState17(defaultValue ?? "");
3787
+ const [innerValue, setInnerValue] = useState19(defaultValue ?? "");
3607
3788
  const code = (isControlled ? value3 ?? "" : innerValue).slice(0, length);
3608
- const [focused, setFocused] = useState17(false);
3609
- const [endAt, setEndAt] = useState17(() => expiresIn ? Date.now() + expiresIn * 1e3 : null);
3610
- const [remaining, setRemaining] = useState17(expiresIn ?? 0);
3789
+ const [focused, setFocused] = useState19(false);
3790
+ const [endAt, setEndAt] = useState19(() => expiresIn ? Date.now() + expiresIn * 1e3 : null);
3791
+ const [remaining, setRemaining] = useState19(expiresIn ?? 0);
3611
3792
  const expired = expiresIn !== void 0 && remaining <= 0;
3612
- const onExpireRef = useRef17(onExpire);
3613
- useEffect10(() => {
3793
+ const onExpireRef = useRef18(onExpire);
3794
+ useEffect11(() => {
3614
3795
  onExpireRef.current = onExpire;
3615
3796
  });
3616
- useEffect10(() => {
3797
+ useEffect11(() => {
3617
3798
  if (endAt === null) return;
3618
3799
  const tick = () => {
3619
3800
  const left = Math.max(0, Math.ceil((endAt - Date.now()) / 1e3));
@@ -3648,17 +3829,17 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef37(
3648
3829
  };
3649
3830
  const description7 = helperText3 ?? m.verificationCodeHint?.(length, type) ?? `${length}\uC790\uB9AC ${type === "numeric" ? "\uC22B\uC790" : "\uBB38\uC790"}\uB97C \uC785\uB825\uD558\uC138\uC694.`;
3650
3831
  const activeIndex = Math.min(code.length, length - 1);
3651
- return /* @__PURE__ */ jsxs35(
3832
+ return /* @__PURE__ */ jsxs36(
3652
3833
  "div",
3653
3834
  {
3654
3835
  className: cx(field, className),
3655
3836
  "data-invalid": error || void 0,
3656
3837
  "data-disabled": disabled || void 0,
3657
3838
  children: [
3658
- /* @__PURE__ */ jsx43("label", { htmlFor: inputId, className: label, children: label6 }),
3659
- /* @__PURE__ */ jsxs35("div", { className: row4, children: [
3660
- /* @__PURE__ */ jsxs35("div", { className: slots, children: [
3661
- /* @__PURE__ */ jsx43(
3839
+ /* @__PURE__ */ jsx44("label", { htmlFor: inputId, className: label, children: label6 }),
3840
+ /* @__PURE__ */ jsxs36("div", { className: row4, children: [
3841
+ /* @__PURE__ */ jsxs36("div", { className: slots, children: [
3842
+ /* @__PURE__ */ jsx44(
3662
3843
  "input",
3663
3844
  {
3664
3845
  ref: mergeRefs(ref, inputRef),
@@ -3678,7 +3859,7 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef37(
3678
3859
  className: input5
3679
3860
  }
3680
3861
  ),
3681
- Array.from({ length }, (_, index) => /* @__PURE__ */ jsx43(
3862
+ Array.from({ length }, (_, index) => /* @__PURE__ */ jsx44(
3682
3863
  "div",
3683
3864
  {
3684
3865
  className: slot,
@@ -3689,12 +3870,12 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef37(
3689
3870
  index
3690
3871
  ))
3691
3872
  ] }),
3692
- expiresIn !== void 0 && /* @__PURE__ */ jsx43("span", { role: "timer", className: timer, children: formatTime(remaining) }),
3693
- onResend && /* @__PURE__ */ jsx43(Button, { size: "sm", variant: "outline", color: "neutral", onClick: resend, disabled, children: resendText })
3873
+ expiresIn !== void 0 && /* @__PURE__ */ jsx44("span", { role: "timer", className: timer, children: formatTime(remaining) }),
3874
+ onResend && /* @__PURE__ */ jsx44(Button, { size: "sm", variant: "outline", color: "neutral", onClick: resend, disabled, children: resendText })
3694
3875
  ] }),
3695
- /* @__PURE__ */ jsx43("p", { id: helperId, className: helperText({ error }), children: description7 }),
3696
- /* @__PURE__ */ jsx43("p", { id: statusId, role: "status", className: helperText({ error: true }), children: expired ? expiredText : "" }),
3697
- name && /* @__PURE__ */ jsx43("input", { type: "hidden", name, value: code })
3876
+ /* @__PURE__ */ jsx44("p", { id: helperId, className: helperText({ error }), children: description7 }),
3877
+ /* @__PURE__ */ jsx44("p", { id: statusId, role: "status", className: helperText({ error: true }), children: expired ? expiredText : "" }),
3878
+ name && /* @__PURE__ */ jsx44("input", { type: "hidden", name, value: code })
3698
3879
  ]
3699
3880
  }
3700
3881
  );
@@ -3739,6 +3920,7 @@ export {
3739
3920
  LocaleProvider,
3740
3921
  Modal,
3741
3922
  ModalClose,
3923
+ NativeSelect,
3742
3924
  NumberInput,
3743
3925
  Pagination,
3744
3926
  PhoneNumberInput,