@bestow-ui/react 1.6.1 → 1.7.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
@@ -3,49 +3,103 @@ import {
3
3
  Skeleton,
4
4
  addDays,
5
5
  addMonths,
6
+ adornment,
6
7
  compareDays,
7
8
  cx,
9
+ field,
10
+ fieldFullWidth,
8
11
  focusField,
9
12
  getCalendarWeeks,
13
+ helperText,
14
+ input,
10
15
  isSameDay,
11
16
  isSameMonth,
12
17
  kakaoPostcodeProvider,
18
+ label,
13
19
  mergeThemes,
14
20
  parseISODate,
15
21
  presetRange,
22
+ requiredMark,
23
+ root,
24
+ systemThemeClass,
16
25
  themeClass,
17
26
  themeToStyle,
18
27
  toISODate,
19
28
  visuallyHidden
20
- } from "./chunk-NKLDAXUR.js";
29
+ } from "./chunk-YYLDXZWR.js";
21
30
 
22
31
  // src/theme/ThemeProvider.tsx
23
- import { createContext, forwardRef, useContext, useMemo } from "react";
32
+ import { createContext, forwardRef, useContext, useId, useMemo } from "react";
24
33
 
25
34
  // src/theme/ThemeProvider.css.ts
26
35
  var portal = "sfyhlv0";
27
- var root = "sfyhlv1 sfyhlv0";
36
+ var root2 = "sfyhlv1 sfyhlv0";
37
+
38
+ // src/theme/useSystemTheme.ts
39
+ import { useSyncExternalStore } from "react";
40
+ var query = "(prefers-color-scheme: dark)";
41
+ var getMediaQuery = () => typeof window !== "undefined" && window.matchMedia ? window.matchMedia(query) : void 0;
42
+ function subscribe(onChange) {
43
+ const mql = getMediaQuery();
44
+ mql?.addEventListener("change", onChange);
45
+ return () => mql?.removeEventListener("change", onChange);
46
+ }
47
+ var noopSubscribe = () => () => {
48
+ };
49
+ var getSnapshot = () => getMediaQuery()?.matches ? "dark" : "light";
50
+ var getLight = () => "light";
51
+ var getServerSnapshot = () => null;
52
+ function useSystemTheme(enabled) {
53
+ return useSyncExternalStore(
54
+ enabled ? subscribe : noopSubscribe,
55
+ enabled ? getSnapshot : getLight,
56
+ enabled ? getServerSnapshot : getLight
57
+ );
58
+ }
28
59
 
29
60
  // src/theme/ThemeProvider.tsx
30
- import { jsx } from "react/jsx-runtime";
31
- var ThemeContext = /* @__PURE__ */ createContext({ theme: "light" });
61
+ import { jsx, jsxs } from "react/jsx-runtime";
62
+ var ThemeContext = /* @__PURE__ */ createContext({
63
+ mode: "light",
64
+ theme: "light",
65
+ pending: false
66
+ });
67
+ var declarations = (style) => (
68
+ // 값은 개발자가 준 테마지만 </style> 로 태그가 끝나지 않게 < 를 CSS 이스케이프로 바꾼다
69
+ Object.entries(style ?? {}).map(([name, value3]) => `${name}:${value3.replace(/</g, "\\3c ")}`).join(";")
70
+ );
71
+ function pendingOverridesCss(selector, theme) {
72
+ const light = declarations(themeToStyle(theme, "light"));
73
+ const dark = declarations(themeToStyle(theme, "dark"));
74
+ if (!light && !dark) return void 0;
75
+ return `${selector}{${light}}@media (prefers-color-scheme: dark){${selector}{${dark}}}`;
76
+ }
32
77
  var ThemeProvider = /* @__PURE__ */ forwardRef(function ThemeProvider2({ theme: themeProp, overrides, className, style, children, ...rest }, ref) {
33
78
  const parent = useContext(ThemeContext);
34
- const theme = themeProp ?? parent.theme;
79
+ const mode = themeProp ?? parent.mode;
80
+ const system = useSystemTheme(mode === "system");
81
+ const pending = mode === "system" && system === null;
82
+ const theme = mode === "system" ? system ?? "light" : mode;
35
83
  const merged = useMemo(() => mergeThemes(parent.overrides, overrides), [parent.overrides, overrides]);
36
84
  const value3 = useMemo(
37
- () => ({ theme, overrides: merged, style: themeToStyle(merged, theme) }),
38
- [theme, merged]
85
+ () => ({ mode, theme, pending, overrides: merged, style: pending ? void 0 : themeToStyle(merged, theme) }),
86
+ [mode, theme, pending, merged]
39
87
  );
40
- return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: value3, children: /* @__PURE__ */ jsx(
88
+ const id = useId();
89
+ const pendingCss = pending && pendingOverridesCss(`.${systemThemeClass}[data-bestow-theme-id="${id}"]`, merged);
90
+ return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: value3, children: /* @__PURE__ */ jsxs(
41
91
  "div",
42
92
  {
43
93
  ref,
44
- "data-theme": theme,
45
- className: cx(themeClass[theme], root, className),
94
+ "data-theme": pending ? "system" : theme,
95
+ "data-bestow-theme-id": pendingCss ? id : void 0,
96
+ className: cx(pending ? systemThemeClass : themeClass[theme], root2, className),
46
97
  style: value3.style ? { ...value3.style, ...style } : style,
47
98
  ...rest,
48
- children
99
+ children: [
100
+ pendingCss && /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: pendingCss } }),
101
+ children
102
+ ]
49
103
  }
50
104
  ) });
51
105
  });
@@ -53,8 +107,8 @@ function useTheme() {
53
107
  return useContext(ThemeContext).theme;
54
108
  }
55
109
  function usePortalProps() {
56
- const { theme, style } = useContext(ThemeContext);
57
- return { className: cx(themeClass[theme], portal), style };
110
+ const { theme, pending, style } = useContext(ThemeContext);
111
+ return { className: cx(pending ? systemThemeClass : themeClass[theme], portal), style };
58
112
  }
59
113
 
60
114
  // src/i18n/LocaleProvider.tsx
@@ -81,21 +135,21 @@ var content = "v58j0l5";
81
135
  var contentInner = "v58j0l6";
82
136
  var header = "v58j0l2";
83
137
  var item = "v58j0l1";
84
- var root2 = "v58j0l0";
138
+ var root3 = "v58j0l0";
85
139
  var trigger = "v58j0l3";
86
140
 
87
141
  // src/components/Accordion/Accordion.tsx
88
- import { jsx as jsx3, jsxs } from "react/jsx-runtime";
142
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
89
143
  var Accordion = /* @__PURE__ */ forwardRef2(function Accordion2({ className, ...props }, ref) {
90
144
  const { collapsible, ...multipleProps } = props;
91
145
  const typedProps = props.type === "multiple" ? multipleProps : { ...multipleProps, collapsible };
92
146
  const rootProps = "value" in props ? { ...typedProps, value: props.value ?? (props.type === "multiple" ? [] : "") } : typedProps;
93
- return /* @__PURE__ */ jsx3(RadixAccordion.Root, { ref, className: cx(root2, className), ...rootProps });
147
+ return /* @__PURE__ */ jsx3(RadixAccordion.Root, { ref, className: cx(root3, className), ...rootProps });
94
148
  });
95
149
  var AccordionItem = /* @__PURE__ */ forwardRef2(function AccordionItem2({ title: title6, headingLevel = 3, className, children, ...rest }, ref) {
96
150
  const Heading = `h${headingLevel}`;
97
- return /* @__PURE__ */ jsxs(RadixAccordion.Item, { ref, className: cx(item, className), ...rest, children: [
98
- /* @__PURE__ */ jsx3(RadixAccordion.Header, { asChild: true, children: /* @__PURE__ */ jsx3(Heading, { className: header, children: /* @__PURE__ */ jsxs(RadixAccordion.Trigger, { className: trigger, children: [
151
+ return /* @__PURE__ */ jsxs2(RadixAccordion.Item, { ref, className: cx(item, className), ...rest, children: [
152
+ /* @__PURE__ */ jsx3(RadixAccordion.Header, { asChild: true, children: /* @__PURE__ */ jsx3(Heading, { className: header, children: /* @__PURE__ */ jsxs2(RadixAccordion.Trigger, { className: trigger, children: [
99
153
  title6,
100
154
  /* @__PURE__ */ jsx3(ChevronDownIcon, { size: 18, className: chevron })
101
155
  ] }) }) }),
@@ -104,7 +158,7 @@ var AccordionItem = /* @__PURE__ */ forwardRef2(function AccordionItem2({ title:
104
158
  });
105
159
 
106
160
  // src/components/AddressInput/AddressInput.tsx
107
- import { forwardRef as forwardRef7, useEffect, useId as useId2, useRef as useRef2, useState } from "react";
161
+ import { forwardRef as forwardRef7, useEffect, useId as useId3, useRef as useRef2, useState } from "react";
108
162
 
109
163
  // src/components/Button/Button.tsx
110
164
  import { forwardRef as forwardRef4 } from "react";
@@ -118,12 +172,12 @@ import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntim
118
172
  var spinner = /* @__PURE__ */ _7a468({ defaultClassName: "_4b5tg40", variantClassNames: { color: { inherit: "_4b5tg41", primary: "_4b5tg42", neutral: "_4b5tg43", danger: "_4b5tg44" }, size: { sm: "_4b5tg45", md: "_4b5tg46", lg: "_4b5tg47" } }, defaultVariants: { color: "inherit", size: "md" }, compoundVariants: [] });
119
173
 
120
174
  // src/components/Spinner/Spinner.tsx
121
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
175
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
122
176
  var Spinner = /* @__PURE__ */ forwardRef3(function Spinner2({ size, color, label: labelProp, className, ...rest }, ref) {
123
177
  const m = useMessages();
124
178
  const label6 = labelProp ?? m.loading ?? "\uB85C\uB529 \uC911";
125
179
  const a11y = label6 ? { role: "status" } : { "aria-hidden": true };
126
- return /* @__PURE__ */ jsxs2("span", { ref, className: cx(spinner({ size, color }), className), ...a11y, ...rest, children: [
180
+ return /* @__PURE__ */ jsxs3("span", { ref, className: cx(spinner({ size, color }), className), ...a11y, ...rest, children: [
127
181
  /* @__PURE__ */ jsx4(LoaderIcon, { size: "100%" }),
128
182
  label6 && /* @__PURE__ */ jsx4("span", { className: visuallyHidden, children: label6 })
129
183
  ] });
@@ -135,7 +189,7 @@ var button = /* @__PURE__ */ _7a4682({ defaultClassName: "xcekda6", variantClass
135
189
  var icon = "xcekdai";
136
190
 
137
191
  // src/components/Button/Button.tsx
138
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
192
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
139
193
  var Button = /* @__PURE__ */ forwardRef4(function Button2({
140
194
  variant,
141
195
  color,
@@ -158,7 +212,7 @@ var Button = /* @__PURE__ */ forwardRef4(function Button2({
158
212
  onClick?.(event);
159
213
  };
160
214
  const leading = loading ? /* @__PURE__ */ jsx5(Spinner, { size: "sm", label: "" }) : startIcon;
161
- return /* @__PURE__ */ jsxs3(
215
+ return /* @__PURE__ */ jsxs4(
162
216
  "button",
163
217
  {
164
218
  ref,
@@ -177,25 +231,14 @@ var Button = /* @__PURE__ */ forwardRef4(function Button2({
177
231
  );
178
232
  });
179
233
 
180
- // src/components/Input/Input.css.ts
181
- import { createRuntimeFn as _7a4683 } from "@vanilla-extract/recipes/createRuntimeFn";
182
- var adornment = "_19p5zvh6";
183
- var field = "_19p5zvh7";
184
- var fieldFullWidth = "_19p5zvh8";
185
- var helperText = /* @__PURE__ */ _7a4683({ defaultClassName: "_19p5zvhb", variantClassNames: { error: { true: "_19p5zvhc" } }, defaultVariants: {}, compoundVariants: [] });
186
- var input = "_19p5zvh5";
187
- var label = "_19p5zvh9";
188
- var requiredMark = "_19p5zvha";
189
- var root3 = /* @__PURE__ */ _7a4683({ defaultClassName: "_19p5zvh0", variantClassNames: { size: { sm: "_19p5zvh1", md: "_19p5zvh2", lg: "_19p5zvh3" }, fullWidth: { true: "_19p5zvh4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
190
-
191
234
  // src/components/Input/Input.tsx
192
235
  import { forwardRef as forwardRef5 } from "react";
193
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
236
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
194
237
  var Input = /* @__PURE__ */ forwardRef5(function Input2({ size, invalid, fullWidth, startAdornment, endAdornment, rootClassName, className, disabled, ...rest }, ref) {
195
- return /* @__PURE__ */ jsxs4(
238
+ return /* @__PURE__ */ jsxs5(
196
239
  "div",
197
240
  {
198
- className: cx(root3({ size, fullWidth }), rootClassName),
241
+ className: cx(root({ size, fullWidth }), rootClassName),
199
242
  "data-invalid": invalid || void 0,
200
243
  "data-disabled": disabled || void 0,
201
244
  children: [
@@ -217,14 +260,14 @@ var Input = /* @__PURE__ */ forwardRef5(function Input2({ size, invalid, fullWid
217
260
  });
218
261
 
219
262
  // src/components/Input/TextField.tsx
220
- import { forwardRef as forwardRef6, useId } from "react";
221
- import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
263
+ import { forwardRef as forwardRef6, useId as useId2 } from "react";
264
+ import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
222
265
  var TextField = /* @__PURE__ */ forwardRef6(function TextField2({ label: label6, helperText: helperText3, error, required, fullWidth, id, "aria-describedby": ariaDescribedBy, ...rest }, ref) {
223
- const generatedId = useId();
266
+ const generatedId = useId2();
224
267
  const inputId = id ?? generatedId;
225
268
  const helperId = helperText3 ? `${inputId}-helper` : void 0;
226
- return /* @__PURE__ */ jsxs5("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
227
- label6 && /* @__PURE__ */ jsxs5("label", { htmlFor: inputId, className: label, children: [
269
+ return /* @__PURE__ */ jsxs6("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
270
+ label6 && /* @__PURE__ */ jsxs6("label", { htmlFor: inputId, className: label, children: [
228
271
  label6,
229
272
  required && /* @__PURE__ */ jsx7("span", { className: requiredMark, "aria-hidden": true, children: "*" })
230
273
  ] }),
@@ -272,10 +315,10 @@ function useReturnFocus(hasTrigger, onCloseAutoFocus) {
272
315
  }
273
316
 
274
317
  // src/components/Modal/Modal.css.ts
275
- import { createRuntimeFn as _7a4684 } from "@vanilla-extract/recipes/createRuntimeFn";
318
+ import { createRuntimeFn as _7a4683 } from "@vanilla-extract/recipes/createRuntimeFn";
276
319
  var body = "_1pdsmv0a";
277
320
  var closeButton = "_1pdsmv09";
278
- var content2 = /* @__PURE__ */ _7a4684({ defaultClassName: "_1pdsmv01", variantClassNames: { size: { sm: "_1pdsmv02", md: "_1pdsmv03", lg: "_1pdsmv04" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
321
+ var content2 = /* @__PURE__ */ _7a4683({ defaultClassName: "_1pdsmv01", variantClassNames: { size: { sm: "_1pdsmv02", md: "_1pdsmv03", lg: "_1pdsmv04" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
279
322
  var description = "_1pdsmv08";
280
323
  var footer = "_1pdsmv0b";
281
324
  var header2 = "_1pdsmv05";
@@ -284,14 +327,14 @@ var overlay = "_1pdsmv00";
284
327
  var title = "_1pdsmv07";
285
328
 
286
329
  // src/components/Modal/Modal.tsx
287
- import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
330
+ import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
288
331
  function Modal({
289
332
  open,
290
333
  defaultOpen,
291
334
  onOpenChange,
292
335
  trigger: trigger4,
293
336
  title: title6,
294
- description: description7,
337
+ description: description8,
295
338
  children,
296
339
  footer: footer5,
297
340
  size,
@@ -303,11 +346,11 @@ function Modal({
303
346
  const portal2 = usePortalProps();
304
347
  const m = useMessages();
305
348
  const focus = useReturnFocus(Boolean(trigger4), onCloseAutoFocus);
306
- return /* @__PURE__ */ jsxs6(Dialog.Root, { open, defaultOpen, onOpenChange, children: [
349
+ return /* @__PURE__ */ jsxs7(Dialog.Root, { open, defaultOpen, onOpenChange, children: [
307
350
  trigger4 && /* @__PURE__ */ jsx8(Dialog.Trigger, { asChild: true, children: trigger4 }),
308
- /* @__PURE__ */ jsxs6(Dialog.Portal, { children: [
351
+ /* @__PURE__ */ jsxs7(Dialog.Portal, { children: [
309
352
  /* @__PURE__ */ jsx8(Dialog.Overlay, { className: cx(portal2.className, overlay), style: portal2.style }),
310
- /* @__PURE__ */ jsxs6(
353
+ /* @__PURE__ */ jsxs7(
311
354
  Dialog.Content,
312
355
  {
313
356
  className: cx(portal2.className, content2({ size }), className),
@@ -315,12 +358,12 @@ function Modal({
315
358
  onPointerDownOutside: closeOnOverlayClick ? void 0 : (event) => event.preventDefault(),
316
359
  onOpenAutoFocus: focus.onOpenAutoFocus,
317
360
  onCloseAutoFocus: focus.onCloseAutoFocus,
318
- ...description7 ? {} : { "aria-describedby": void 0 },
361
+ ...description8 ? {} : { "aria-describedby": void 0 },
319
362
  children: [
320
- /* @__PURE__ */ jsxs6("div", { className: header2, children: [
321
- /* @__PURE__ */ jsxs6("div", { className: headings, children: [
363
+ /* @__PURE__ */ jsxs7("div", { className: header2, children: [
364
+ /* @__PURE__ */ jsxs7("div", { className: headings, children: [
322
365
  /* @__PURE__ */ jsx8(Dialog.Title, { className: title, children: title6 }),
323
- description7 && /* @__PURE__ */ jsx8(Dialog.Description, { className: description, children: description7 })
366
+ description8 && /* @__PURE__ */ jsx8(Dialog.Description, { className: description, children: description8 })
324
367
  ] }),
325
368
  !hideCloseButton && /* @__PURE__ */ jsx8(Dialog.Close, { className: closeButton, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ jsx8(XIcon, { size: 16 }) })
326
369
  ] }),
@@ -343,7 +386,7 @@ var searchStatus = "_16fi7uy5";
343
386
  var zonecode = "_16fi7uy3";
344
387
 
345
388
  // src/components/AddressInput/AddressInput.tsx
346
- import { Fragment, jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
389
+ import { Fragment, jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
347
390
  var EMPTY = { zonecode: "", address: "", extraAddress: "", detail: "" };
348
391
  function SearchArea({
349
392
  provider,
@@ -374,7 +417,7 @@ function SearchArea({
374
417
  cleanup?.();
375
418
  };
376
419
  }, [provider]);
377
- return /* @__PURE__ */ jsxs7("div", { className: searchArea, children: [
420
+ return /* @__PURE__ */ jsxs8("div", { className: searchArea, children: [
378
421
  /* @__PURE__ */ jsx9("div", { ref: containerRef, style: { width: "100%", height: "100%" } }),
379
422
  status !== "ready" && /* @__PURE__ */ jsx9("div", { className: searchStatus, role: "status", children: status === "loading" ? /* @__PURE__ */ jsx9(Spinner, { label: loadingText }) : loadErrorText })
380
423
  ] });
@@ -402,7 +445,7 @@ var AddressInput = /* @__PURE__ */ forwardRef7(
402
445
  const searchLabel = searchLabelProp ?? m.addressSearch ?? "\uC8FC\uC18C \uAC80\uC0C9";
403
446
  const detailPlaceholder = detailPlaceholderProp ?? m.detailAddressPlaceholder ?? "\uC0C1\uC138 \uC8FC\uC18C (\uB3D9\xB7\uD638\uC218 \uB4F1)";
404
447
  const loadErrorText = loadErrorTextProp ?? m.addressLoadError ?? "\uC8FC\uC18C \uAC80\uC0C9\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC5B4\uC694. \uC7A0\uC2DC \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694.";
405
- const baseId = useId2();
448
+ const baseId = useId3();
406
449
  const helperId = helperText3 ? `${baseId}-helper` : void 0;
407
450
  const detailRef = useRef2(null);
408
451
  const selectedRef = useRef2(false);
@@ -430,12 +473,12 @@ var AddressInput = /* @__PURE__ */ forwardRef7(
430
473
  setOpen(false);
431
474
  };
432
475
  const fullAddress = `${current2.address}${current2.extraAddress ?? ""}`;
433
- return /* @__PURE__ */ jsxs7("fieldset", { ref, className: cx(fieldset, className), disabled, "aria-describedby": helperId, children: [
434
- /* @__PURE__ */ jsxs7("legend", { className: legend, children: [
476
+ return /* @__PURE__ */ jsxs8("fieldset", { ref, className: cx(fieldset, className), disabled, "aria-describedby": helperId, children: [
477
+ /* @__PURE__ */ jsxs8("legend", { className: legend, children: [
435
478
  label6,
436
479
  required && /* @__PURE__ */ jsx9("span", { className: requiredMark, "aria-hidden": true, children: "*" })
437
480
  ] }),
438
- /* @__PURE__ */ jsxs7("div", { className: row, children: [
481
+ /* @__PURE__ */ jsxs8("div", { className: row, children: [
439
482
  /* @__PURE__ */ jsx9(
440
483
  TextField,
441
484
  {
@@ -477,7 +520,7 @@ var AddressInput = /* @__PURE__ */ forwardRef7(
477
520
  }
478
521
  ),
479
522
  helperText3 && /* @__PURE__ */ jsx9("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
480
- name && /* @__PURE__ */ jsxs7(Fragment, { children: [
523
+ name && /* @__PURE__ */ jsxs8(Fragment, { children: [
481
524
  /* @__PURE__ */ jsx9("input", { type: "hidden", name: `${name}[zonecode]`, value: current2.zonecode }),
482
525
  /* @__PURE__ */ jsx9("input", { type: "hidden", name: `${name}[address]`, value: fullAddress }),
483
526
  /* @__PURE__ */ jsx9("input", { type: "hidden", name: `${name}[detail]`, value: current2.detail })
@@ -511,7 +554,7 @@ var AddressInput = /* @__PURE__ */ forwardRef7(
511
554
  );
512
555
 
513
556
  // src/components/AgreementGroup/AgreementGroup.tsx
514
- import { forwardRef as forwardRef9, useId as useId3, useState as useState2 } from "react";
557
+ import { forwardRef as forwardRef9, useId as useId4, useState as useState2 } from "react";
515
558
  import { ChevronDownIcon as ChevronDownIcon2 } from "@bestow-ui/icons";
516
559
 
517
560
  // src/components/Checkbox/Checkbox.tsx
@@ -528,22 +571,22 @@ function mergeRefs(...refs) {
528
571
  }
529
572
 
530
573
  // src/components/Checkbox/Checkbox.css.ts
531
- import { createRuntimeFn as _7a4685 } from "@vanilla-extract/recipes/createRuntimeFn";
574
+ import { createRuntimeFn as _7a4684 } from "@vanilla-extract/recipes/createRuntimeFn";
532
575
  var checkIcon = "_1y7mzsn8 _1y7mzsn7";
533
- var control = /* @__PURE__ */ _7a4685({ defaultClassName: "_1y7mzsn3", variantClassNames: { size: { sm: "_1y7mzsn4", md: "_1y7mzsn5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
576
+ var control = /* @__PURE__ */ _7a4684({ defaultClassName: "_1y7mzsn3", variantClassNames: { size: { sm: "_1y7mzsn4", md: "_1y7mzsn5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
534
577
  var indeterminateIcon = "_1y7mzsn9 _1y7mzsn7";
535
578
  var input2 = "_1y7mzsn6";
536
- var root4 = /* @__PURE__ */ _7a4685({ defaultClassName: "_1y7mzsn0", variantClassNames: { size: { sm: "_1y7mzsn1", md: "_1y7mzsn2" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
579
+ var root4 = /* @__PURE__ */ _7a4684({ defaultClassName: "_1y7mzsn0", variantClassNames: { size: { sm: "_1y7mzsn1", md: "_1y7mzsn2" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
537
580
 
538
581
  // src/components/Checkbox/Checkbox.tsx
539
- import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
582
+ import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
540
583
  var Checkbox = /* @__PURE__ */ forwardRef8(function Checkbox2({ label: label6, size, indeterminate = false, invalid, disabled, onChange, onCheckedChange, className, ...rest }, ref) {
541
584
  const innerRef = useRef3(null);
542
585
  useEffect2(() => {
543
586
  if (innerRef.current) innerRef.current.indeterminate = indeterminate;
544
587
  }, [indeterminate]);
545
- return /* @__PURE__ */ jsxs8("label", { className: cx(root4({ size }), className), "data-disabled": disabled || void 0, children: [
546
- /* @__PURE__ */ jsxs8("span", { className: control({ size }), children: [
588
+ return /* @__PURE__ */ jsxs9("label", { className: cx(root4({ size }), className), "data-disabled": disabled || void 0, children: [
589
+ /* @__PURE__ */ jsxs9("span", { className: control({ size }), children: [
547
590
  /* @__PURE__ */ jsx10(
548
591
  "input",
549
592
  {
@@ -589,11 +632,11 @@ var tag = "j3uxdc7";
589
632
  var toggle = "j3uxdc8";
590
633
 
591
634
  // src/components/AgreementGroup/AgreementGroup.tsx
592
- import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
635
+ import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
593
636
  var AgreementGroup = /* @__PURE__ */ forwardRef9(
594
637
  function AgreementGroup2(props, ref) {
595
638
  const {
596
- items: items2,
639
+ items: items3,
597
640
  value: value3,
598
641
  defaultValue,
599
642
  onValueChange,
@@ -616,7 +659,7 @@ var AgreementGroup = /* @__PURE__ */ forwardRef9(
616
659
  const optionalText = optionalTextProp ?? m.optional ?? "\uC120\uD0DD";
617
660
  const showText = showTextProp ?? m.show ?? "\uBCF4\uAE30";
618
661
  const hideText = hideTextProp ?? m.hide ?? "\uC811\uAE30";
619
- const baseId = useId3();
662
+ const baseId = useId4();
620
663
  const helperId = helperText3 ? `${baseId}-helper` : void 0;
621
664
  const isControlled = "value" in props;
622
665
  const [innerValue, setInnerValue] = useState2(defaultValue ?? []);
@@ -626,11 +669,11 @@ var AgreementGroup = /* @__PURE__ */ forwardRef9(
626
669
  if (!isControlled) setInnerValue(next);
627
670
  onValueChange?.(next);
628
671
  };
629
- const allValues = items2.map((item9) => item9.value);
672
+ const allValues = items3.map((item9) => item9.value);
630
673
  const agreedCount = allValues.filter((v) => agreed.includes(v)).length;
631
- const allChecked = items2.length > 0 && agreedCount === items2.length;
674
+ const allChecked = items3.length > 0 && agreedCount === items3.length;
632
675
  const toggleItem = (itemValue, checked) => update(checked ? [...agreed.filter((v) => v !== itemValue), itemValue] : agreed.filter((v) => v !== itemValue));
633
- return /* @__PURE__ */ jsxs9(
676
+ return /* @__PURE__ */ jsxs10(
634
677
  "fieldset",
635
678
  {
636
679
  ref,
@@ -641,7 +684,7 @@ var AgreementGroup = /* @__PURE__ */ forwardRef9(
641
684
  "data-invalid": error || void 0,
642
685
  children: [
643
686
  label6 && /* @__PURE__ */ jsx11("legend", { className: legend2, children: label6 }),
644
- /* @__PURE__ */ jsxs9("div", { className: box, children: [
687
+ /* @__PURE__ */ jsxs10("div", { className: box, children: [
645
688
  /* @__PURE__ */ jsx11("div", { className: all, children: /* @__PURE__ */ jsx11(
646
689
  Checkbox,
647
690
  {
@@ -651,13 +694,13 @@ var AgreementGroup = /* @__PURE__ */ forwardRef9(
651
694
  onChange: (event) => update(event.target.checked ? allValues : [])
652
695
  }
653
696
  ) }),
654
- /* @__PURE__ */ jsx11("ul", { className: list, children: items2.map((item9) => {
697
+ /* @__PURE__ */ jsx11("ul", { className: list, children: items3.map((item9) => {
655
698
  const labelId = `${baseId}-${item9.value}-label`;
656
699
  const toggleTextId = `${baseId}-${item9.value}-toggle`;
657
700
  const contentId = `${baseId}-${item9.value}-content`;
658
701
  const isOpen = expanded.includes(item9.value);
659
- return /* @__PURE__ */ jsxs9("li", { className: item2, children: [
660
- /* @__PURE__ */ jsxs9("div", { className: row2, children: [
702
+ return /* @__PURE__ */ jsxs10("li", { className: item2, children: [
703
+ /* @__PURE__ */ jsxs10("div", { className: row2, children: [
661
704
  /* @__PURE__ */ jsx11(
662
705
  Checkbox,
663
706
  {
@@ -665,14 +708,14 @@ var AgreementGroup = /* @__PURE__ */ forwardRef9(
665
708
  checked: agreed.includes(item9.value),
666
709
  invalid: error && item9.required && !agreed.includes(item9.value),
667
710
  onChange: (event) => toggleItem(item9.value, event.target.checked),
668
- label: /* @__PURE__ */ jsxs9("span", { id: labelId, children: [
711
+ label: /* @__PURE__ */ jsxs10("span", { id: labelId, children: [
669
712
  /* @__PURE__ */ jsx11("span", { className: tag, "data-required": item9.required || void 0, children: item9.required ? requiredText : optionalText }),
670
713
  " ",
671
714
  item9.label
672
715
  ] })
673
716
  }
674
717
  ),
675
- item9.content && /* @__PURE__ */ jsxs9(
718
+ item9.content && /* @__PURE__ */ jsxs10(
676
719
  "button",
677
720
  {
678
721
  type: "button",
@@ -707,23 +750,24 @@ import { forwardRef as forwardRef10 } from "react";
707
750
  import { CircleAlertIcon, CircleCheckIcon, InfoIcon, TriangleAlertIcon, XIcon as XIcon2 } from "@bestow-ui/icons";
708
751
 
709
752
  // src/components/Alert/Alert.css.ts
710
- import { createRuntimeFn as _7a4686 } from "@vanilla-extract/recipes/createRuntimeFn";
711
- var action = "bsmpc0j";
712
- var alert = /* @__PURE__ */ _7a4686({ defaultClassName: "bsmpc06", variantClassNames: { variant: { soft: "bsmpc07", outline: "bsmpc08", solid: "bsmpc09" }, color: { primary: "bsmpc0a", neutral: "bsmpc0b", danger: "bsmpc0c", success: "bsmpc0d", warning: "bsmpc0e" } }, defaultVariants: { variant: "soft", color: "primary" }, compoundVariants: [] });
713
- var closeButton2 = "bsmpc0k";
714
- var content4 = "bsmpc0g";
715
- var description2 = "bsmpc0i";
716
- var icon2 = "bsmpc0f";
717
- var title2 = "bsmpc0h";
753
+ import { createRuntimeFn as _7a4685 } from "@vanilla-extract/recipes/createRuntimeFn";
754
+ var action = "bsmpc0k";
755
+ var alert = /* @__PURE__ */ _7a4685({ defaultClassName: "bsmpc06", variantClassNames: { variant: { soft: "bsmpc07", outline: "bsmpc08", solid: "bsmpc09" }, color: { primary: "bsmpc0a", neutral: "bsmpc0b", danger: "bsmpc0c", success: "bsmpc0d", warning: "bsmpc0e", info: "bsmpc0f" } }, defaultVariants: { variant: "soft", color: "primary" }, compoundVariants: [] });
756
+ var closeButton2 = "bsmpc0l";
757
+ var content4 = "bsmpc0h";
758
+ var description2 = "bsmpc0j";
759
+ var icon2 = "bsmpc0g";
760
+ var title2 = "bsmpc0i";
718
761
 
719
762
  // src/components/Alert/Alert.tsx
720
- import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
763
+ import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
721
764
  var defaultIcons = {
722
765
  primary: InfoIcon,
723
766
  neutral: InfoIcon,
724
767
  success: CircleCheckIcon,
725
768
  warning: TriangleAlertIcon,
726
- danger: CircleAlertIcon
769
+ danger: CircleAlertIcon,
770
+ info: InfoIcon
727
771
  };
728
772
  var Alert = /* @__PURE__ */ forwardRef10(function Alert2({
729
773
  variant,
@@ -741,9 +785,9 @@ var Alert = /* @__PURE__ */ forwardRef10(function Alert2({
741
785
  const closeLabel = closeLabelProp ?? m.close ?? "\uB2EB\uAE30";
742
786
  const DefaultIcon = defaultIcons[color];
743
787
  const iconNode = icon7 === void 0 ? /* @__PURE__ */ jsx12(DefaultIcon, { size: 18 }) : icon7;
744
- return /* @__PURE__ */ jsxs10("div", { ref, className: cx(alert({ variant, color }), className), ...rest, children: [
788
+ return /* @__PURE__ */ jsxs11("div", { ref, className: cx(alert({ variant, color }), className), ...rest, children: [
745
789
  iconNode !== false && iconNode !== null && /* @__PURE__ */ jsx12("span", { className: icon2, "aria-hidden": true, children: iconNode }),
746
- /* @__PURE__ */ jsxs10("div", { className: content4, children: [
790
+ /* @__PURE__ */ jsxs11("div", { className: content4, children: [
747
791
  title6 && /* @__PURE__ */ jsx12("div", { className: title2, children: title6 }),
748
792
  children && /* @__PURE__ */ jsx12("div", { className: description2, children })
749
793
  ] }),
@@ -830,7 +874,7 @@ function useFormattedInput({
830
874
  var input3 = "_70qkav0";
831
875
 
832
876
  // src/components/AmountInput/AmountInput.tsx
833
- import { Fragment as Fragment2, jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
877
+ import { Fragment as Fragment2, jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
834
878
  var MAX_DIGITS = 15;
835
879
  var isDigit = (char) => /\d/.test(char);
836
880
  var AmountInput = /* @__PURE__ */ forwardRef11(
@@ -884,7 +928,7 @@ var AmountInput = /* @__PURE__ */ forwardRef11(
884
928
  onKeyDown?.(event);
885
929
  },
886
930
  endAdornment: unit2,
887
- helperText: reading && helperText3 ? /* @__PURE__ */ jsxs11(Fragment2, { children: [
931
+ helperText: reading && helperText3 ? /* @__PURE__ */ jsxs12(Fragment2, { children: [
888
932
  reading,
889
933
  /* @__PURE__ */ jsx13("br", {}),
890
934
  helperText3
@@ -902,13 +946,13 @@ import { UserIcon } from "@bestow-ui/icons";
902
946
  import { forwardRef as forwardRef12 } from "react";
903
947
 
904
948
  // src/components/Avatar/Avatar.css.ts
905
- import { createRuntimeFn as _7a4687 } from "@vanilla-extract/recipes/createRuntimeFn";
949
+ import { createRuntimeFn as _7a4686 } from "@vanilla-extract/recipes/createRuntimeFn";
906
950
  var fallback = "_1fd2kp27";
907
951
  var image = "_1fd2kp26";
908
- var root5 = /* @__PURE__ */ _7a4687({ defaultClassName: "_1fd2kp20", variantClassNames: { size: { sm: "_1fd2kp21", md: "_1fd2kp22", lg: "_1fd2kp23" }, shape: { circle: "_1fd2kp24", square: "_1fd2kp25" } }, defaultVariants: { size: "md", shape: "circle" }, compoundVariants: [] });
952
+ var root5 = /* @__PURE__ */ _7a4686({ defaultClassName: "_1fd2kp20", variantClassNames: { size: { sm: "_1fd2kp21", md: "_1fd2kp22", lg: "_1fd2kp23" }, shape: { circle: "_1fd2kp24", square: "_1fd2kp25" } }, defaultVariants: { size: "md", shape: "circle" }, compoundVariants: [] });
909
953
 
910
954
  // src/components/Avatar/Avatar.tsx
911
- import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
955
+ import { jsx as jsx14, jsxs as jsxs13 } from "react/jsx-runtime";
912
956
  function getInitials(name) {
913
957
  const [a = "", b = ""] = name.trim().split(/\s+/);
914
958
  const first = (word) => Array.from(word)[0] ?? "";
@@ -918,7 +962,7 @@ var Avatar = /* @__PURE__ */ forwardRef12(function Avatar2({ src, alt, name, fal
918
962
  const label6 = alt ?? name;
919
963
  const a11y = label6 ? { role: "img", "aria-label": label6 } : { "aria-hidden": true };
920
964
  const initials = name ? getInitials(name) : "";
921
- return /* @__PURE__ */ jsxs12(RadixAvatar.Root, { ref, className: cx(root5({ size, shape }), className), ...a11y, ...rest, children: [
965
+ return /* @__PURE__ */ jsxs13(RadixAvatar.Root, { ref, className: cx(root5({ size, shape }), className), ...a11y, ...rest, children: [
922
966
  src && /* @__PURE__ */ jsx14(RadixAvatar.Image, { src, alt: "", className: image }),
923
967
  /* @__PURE__ */ jsx14(RadixAvatar.Fallback, { className: fallback, children: fallback2 ?? (initials || /* @__PURE__ */ jsx14(UserIcon, { size: "60%" })) })
924
968
  ] });
@@ -934,12 +978,12 @@ import { forwardRef as forwardRef13 } from "react";
934
978
  import { ExternalLinkIcon } from "@bestow-ui/icons";
935
979
 
936
980
  // src/components/Link/Link.css.ts
937
- import { createRuntimeFn as _7a4688 } from "@vanilla-extract/recipes/createRuntimeFn";
981
+ import { createRuntimeFn as _7a4687 } from "@vanilla-extract/recipes/createRuntimeFn";
938
982
  var externalIcon = "_1t4hlp6";
939
- var link = /* @__PURE__ */ _7a4688({ defaultClassName: "_1t4hlp0", variantClassNames: { color: { primary: "_1t4hlp1", neutral: "_1t4hlp2", inherit: "_1t4hlp3" }, underline: { always: "_1t4hlp4", hover: "_1t4hlp5" } }, defaultVariants: { color: "primary", underline: "always" }, compoundVariants: [] });
983
+ var link = /* @__PURE__ */ _7a4687({ defaultClassName: "_1t4hlp0", variantClassNames: { color: { primary: "_1t4hlp1", neutral: "_1t4hlp2", inherit: "_1t4hlp3" }, underline: { always: "_1t4hlp4", hover: "_1t4hlp5" } }, defaultVariants: { color: "primary", underline: "always" }, compoundVariants: [] });
940
984
 
941
985
  // src/components/Link/Link.tsx
942
- import { Fragment as Fragment3, jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
986
+ import { Fragment as Fragment3, jsx as jsx15, jsxs as jsxs14 } from "react/jsx-runtime";
943
987
  var Link = /* @__PURE__ */ forwardRef13(function Link2({
944
988
  as: Component = "a",
945
989
  asChild,
@@ -962,7 +1006,7 @@ var Link = /* @__PURE__ */ forwardRef13(function Link2({
962
1006
  /* @__PURE__ */ jsx15(Slot, { ref, className: linkClassName, ...{ target, rel, ...rest }, children })
963
1007
  );
964
1008
  }
965
- return /* @__PURE__ */ jsxs13(
1009
+ return /* @__PURE__ */ jsxs14(
966
1010
  Component,
967
1011
  {
968
1012
  ref,
@@ -972,7 +1016,7 @@ var Link = /* @__PURE__ */ forwardRef13(function Link2({
972
1016
  ...rest,
973
1017
  children: [
974
1018
  children,
975
- external && /* @__PURE__ */ jsxs13(Fragment3, { children: [
1019
+ external && /* @__PURE__ */ jsxs14(Fragment3, { children: [
976
1020
  " ",
977
1021
  /* @__PURE__ */ jsx15(ExternalLinkIcon, { className: externalIcon }),
978
1022
  /* @__PURE__ */ jsx15("span", { className: visuallyHidden, children: externalLabel })
@@ -990,14 +1034,14 @@ var list2 = "_18t8ztt0";
990
1034
  var separator = "_18t8ztt4";
991
1035
 
992
1036
  // src/components/Breadcrumb/Breadcrumb.tsx
993
- import { jsx as jsx16, jsxs as jsxs14 } from "react/jsx-runtime";
994
- var Breadcrumb = /* @__PURE__ */ forwardRef14(function Breadcrumb2({ items: items2, linkAs, separator: separator4, "aria-label": ariaLabelProp, className, ...rest }, ref) {
1037
+ import { jsx as jsx16, jsxs as jsxs15 } from "react/jsx-runtime";
1038
+ var Breadcrumb = /* @__PURE__ */ forwardRef14(function Breadcrumb2({ items: items3, linkAs, separator: separator5, "aria-label": ariaLabelProp, className, ...rest }, ref) {
995
1039
  const m = useMessages();
996
1040
  const ariaLabel = ariaLabelProp ?? m.breadcrumb ?? "\uC774\uB3D9 \uACBD\uB85C";
997
- const sep = separator4 ?? /* @__PURE__ */ jsx16(ChevronRightIcon, { size: 14 });
998
- return /* @__PURE__ */ jsx16("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ jsx16("ol", { className: list2, children: items2.map((item9, index) => {
999
- const isCurrent = index === items2.length - 1;
1000
- return /* @__PURE__ */ jsxs14("li", { className: item3, children: [
1041
+ const sep = separator5 ?? /* @__PURE__ */ jsx16(ChevronRightIcon, { size: 14 });
1042
+ return /* @__PURE__ */ jsx16("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ jsx16("ol", { className: list2, children: items3.map((item9, index) => {
1043
+ const isCurrent = index === items3.length - 1;
1044
+ return /* @__PURE__ */ jsxs15("li", { className: item3, children: [
1001
1045
  index > 0 && /* @__PURE__ */ jsx16("span", { className: separator, "aria-hidden": true, children: sep }),
1002
1046
  isCurrent || item9.href === void 0 ? /* @__PURE__ */ jsx16("span", { className: isCurrent ? current : void 0, "aria-current": isCurrent ? "page" : void 0, children: item9.label }) : /* @__PURE__ */ jsx16(Link, { as: linkAs, href: item9.href, color: "neutral", underline: "hover", className: link2, children: item9.label })
1003
1047
  ] }, index);
@@ -1021,7 +1065,7 @@ function useDelayedAnnouncement(message, delay = ANNOUNCE_DELAY) {
1021
1065
  }
1022
1066
 
1023
1067
  // src/components/BusinessNumberInput/BusinessNumberInput.tsx
1024
- import { Fragment as Fragment4, jsx as jsx17, jsxs as jsxs15 } from "react/jsx-runtime";
1068
+ import { Fragment as Fragment4, jsx as jsx17, jsxs as jsxs16 } from "react/jsx-runtime";
1025
1069
  var sanitize = (input6) => input6.replace(/\D/g, "").slice(0, 10);
1026
1070
  var isDigit2 = (char) => /\d/.test(char);
1027
1071
  var BusinessNumberInput = /* @__PURE__ */ forwardRef15(
@@ -1060,7 +1104,7 @@ var BusinessNumberInput = /* @__PURE__ */ forwardRef15(
1060
1104
  const autoInvalid = validate && field4.raw.length > 0 && (complete ? !isValidBusinessNumber(field4.raw) : touched);
1061
1105
  const showAuto = autoInvalid && error === void 0;
1062
1106
  const announcement = useDelayedAnnouncement(showAuto && complete ? invalidText : "");
1063
- return /* @__PURE__ */ jsxs15(Fragment4, { children: [
1107
+ return /* @__PURE__ */ jsxs16(Fragment4, { children: [
1064
1108
  /* @__PURE__ */ jsx17(
1065
1109
  TextField,
1066
1110
  {
@@ -1089,16 +1133,16 @@ var BusinessNumberInput = /* @__PURE__ */ forwardRef15(
1089
1133
  );
1090
1134
 
1091
1135
  // src/components/Calendar/Calendar.tsx
1092
- import { forwardRef as forwardRef17, useEffect as useEffect5, useId as useId4, useRef as useRef7, useState as useState6 } from "react";
1136
+ import { forwardRef as forwardRef17, useEffect as useEffect5, useId as useId5, useRef as useRef7, useState as useState6 } from "react";
1093
1137
  import { ChevronLeftIcon, ChevronRightIcon as ChevronRightIcon2 } from "@bestow-ui/icons";
1094
1138
  import { KOREAN_WEEKDAYS } from "@bestow-ui/korean-utils";
1095
1139
 
1096
1140
  // src/utils/useIsClient.ts
1097
- import { useSyncExternalStore } from "react";
1141
+ import { useSyncExternalStore as useSyncExternalStore2 } from "react";
1098
1142
  var subscribeNothing = () => () => {
1099
1143
  };
1100
1144
  function useIsClient() {
1101
- return useSyncExternalStore(
1145
+ return useSyncExternalStore2(
1102
1146
  subscribeNothing,
1103
1147
  () => true,
1104
1148
  () => false
@@ -1109,8 +1153,8 @@ function useIsClient() {
1109
1153
  import { forwardRef as forwardRef16 } from "react";
1110
1154
 
1111
1155
  // src/components/IconButton/IconButton.css.ts
1112
- import { createRuntimeFn as _7a4689 } from "@vanilla-extract/recipes/createRuntimeFn";
1113
- var iconButton = /* @__PURE__ */ _7a4689({ defaultClassName: "ip9et20", variantClassNames: { size: { sm: "ip9et21", md: "ip9et22", lg: "ip9et23" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
1156
+ import { createRuntimeFn as _7a4688 } from "@vanilla-extract/recipes/createRuntimeFn";
1157
+ var iconButton = /* @__PURE__ */ _7a4688({ defaultClassName: "ip9et20", variantClassNames: { size: { sm: "ip9et21", md: "ip9et22", lg: "ip9et23" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
1114
1158
 
1115
1159
  // src/components/IconButton/IconButton.tsx
1116
1160
  import { jsx as jsx18 } from "react/jsx-runtime";
@@ -1140,7 +1184,7 @@ var root6 = "_1qyq67b0";
1140
1184
  var weekday = "_1qyq67b4";
1141
1185
 
1142
1186
  // src/components/Calendar/Calendar.tsx
1143
- import { jsx as jsx19, jsxs as jsxs16 } from "react/jsx-runtime";
1187
+ import { jsx as jsx19, jsxs as jsxs17 } from "react/jsx-runtime";
1144
1188
  var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
1145
1189
  const {
1146
1190
  value: value3,
@@ -1161,7 +1205,7 @@ var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
1161
1205
  const nextMonthLabel = nextMonthLabelProp ?? m.nextMonth ?? "\uB2E4\uC74C \uB2EC";
1162
1206
  const weekdaysShort = m.weekdaysShort ?? KOREAN_WEEKDAYS;
1163
1207
  const weekdaysLong = m.weekdaysLong ?? KOREAN_WEEKDAYS.map((name) => `${name}\uC694\uC77C`);
1164
- const headingId = useId4();
1208
+ const headingId = useId5();
1165
1209
  const gridRef = useRef7(null);
1166
1210
  const isControlled = "value" in props;
1167
1211
  const [innerValue, setInnerValue] = useState6(defaultValue ?? "");
@@ -1225,8 +1269,8 @@ var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
1225
1269
  ) : [];
1226
1270
  const canPrev = !!visible && (!minDate || compareDays(new Date(visible.getFullYear(), visible.getMonth(), 0), minDate) >= 0);
1227
1271
  const canNext = !!visible && (!maxDate || compareDays(new Date(visible.getFullYear(), visible.getMonth() + 1, 1), maxDate) <= 0);
1228
- return /* @__PURE__ */ jsxs16("div", { ref, className: cx(root6, className), children: [
1229
- /* @__PURE__ */ jsxs16("div", { className: header3, children: [
1272
+ return /* @__PURE__ */ jsxs17("div", { ref, className: cx(root6, className), children: [
1273
+ /* @__PURE__ */ jsxs17("div", { className: header3, children: [
1230
1274
  /* @__PURE__ */ jsx19(
1231
1275
  IconButton,
1232
1276
  {
@@ -1249,7 +1293,7 @@ var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
1249
1293
  }
1250
1294
  )
1251
1295
  ] }),
1252
- /* @__PURE__ */ jsxs16("table", { ref: gridRef, role: "grid", "aria-labelledby": headingId, className: grid, onKeyDown: handleKeyDown, children: [
1296
+ /* @__PURE__ */ jsxs17("table", { ref: gridRef, role: "grid", "aria-labelledby": headingId, className: grid, onKeyDown: handleKeyDown, children: [
1253
1297
  /* @__PURE__ */ jsx19("thead", { children: /* @__PURE__ */ jsx19("tr", { children: weekdaysShort.map((name, index) => /* @__PURE__ */ jsx19("th", { scope: "col", abbr: weekdaysLong[index], className: weekday, "data-weekday": index, children: name }, index)) }) }),
1254
1298
  /* @__PURE__ */ jsx19("tbody", { children: weeks.map((week) => /* @__PURE__ */ jsx19("tr", { children: week.map((date) => {
1255
1299
  const iso = toISODate(date);
@@ -1287,15 +1331,111 @@ var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
1287
1331
  ] });
1288
1332
  });
1289
1333
 
1334
+ // src/components/CheckboxGroup/CheckboxGroup.tsx
1335
+ import { forwardRef as forwardRef18, useId as useId6, useState as useState7 } from "react";
1336
+
1337
+ // src/components/CheckboxGroup/CheckboxGroup.css.ts
1338
+ import { createRuntimeFn as _7a4689 } from "@vanilla-extract/recipes/createRuntimeFn";
1339
+ var description3 = /* @__PURE__ */ _7a4689({ defaultClassName: "_1z0r6xj5", variantClassNames: { size: { sm: "_1z0r6xj6", md: "_1z0r6xj7" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
1340
+ var groupLabel = "_1z0r6xj0";
1341
+ var items = /* @__PURE__ */ _7a4689({ defaultClassName: "_1z0r6xj1", variantClassNames: { orientation: { vertical: "_1z0r6xj2", horizontal: "_1z0r6xj3" } }, defaultVariants: { orientation: "vertical" }, compoundVariants: [] });
1342
+ var option = "_1z0r6xj4";
1343
+
1344
+ // src/components/CheckboxGroup/CheckboxGroup.tsx
1345
+ import { Fragment as Fragment5, jsx as jsx20, jsxs as jsxs18 } from "react/jsx-runtime";
1346
+ var CheckboxGroup = /* @__PURE__ */ forwardRef18(
1347
+ function CheckboxGroup2(props, ref) {
1348
+ const {
1349
+ options,
1350
+ value: value3,
1351
+ defaultValue,
1352
+ onValueChange,
1353
+ label: label6,
1354
+ helperText: helperText3,
1355
+ error,
1356
+ orientation,
1357
+ size,
1358
+ disabled,
1359
+ required,
1360
+ name,
1361
+ id,
1362
+ "aria-label": ariaLabel,
1363
+ className
1364
+ } = props;
1365
+ const m = useMessages();
1366
+ const isControlled = "value" in props;
1367
+ const [innerValue, setInnerValue] = useState7(defaultValue ?? []);
1368
+ const current2 = isControlled ? value3 ?? [] : innerValue;
1369
+ const generatedId = useId6();
1370
+ const baseId = id ?? generatedId;
1371
+ const labelId = label6 ? `${baseId}-label` : void 0;
1372
+ const helperId = helperText3 ? `${baseId}-helper` : void 0;
1373
+ const toggle3 = (optionValue, checked) => {
1374
+ const next = options.map((option3) => option3.value).filter((v) => v === optionValue ? checked : current2.includes(v));
1375
+ if (!isControlled) setInnerValue(next);
1376
+ onValueChange?.(next);
1377
+ };
1378
+ return /* @__PURE__ */ jsxs18("div", { className: cx(field, className), children: [
1379
+ label6 && /* @__PURE__ */ jsxs18("span", { id: labelId, className: cx(label, groupLabel), children: [
1380
+ label6,
1381
+ required && /* @__PURE__ */ jsxs18(Fragment5, { children: [
1382
+ /* @__PURE__ */ jsx20("span", { className: requiredMark, "aria-hidden": true, children: "*" }),
1383
+ " ",
1384
+ /* @__PURE__ */ jsxs18("span", { className: visuallyHidden, children: [
1385
+ "(",
1386
+ m.required ?? "\uD544\uC218",
1387
+ ")"
1388
+ ] })
1389
+ ] })
1390
+ ] }),
1391
+ /* @__PURE__ */ jsx20(
1392
+ "div",
1393
+ {
1394
+ ref,
1395
+ id: baseId,
1396
+ role: "group",
1397
+ "aria-label": ariaLabel,
1398
+ "aria-labelledby": labelId,
1399
+ "aria-describedby": helperId,
1400
+ className: items({ orientation }),
1401
+ children: options.map((option3) => {
1402
+ const itemId = `${baseId}-${option3.value}`;
1403
+ const descriptionId = option3.description ? `${itemId}-description` : void 0;
1404
+ return /* @__PURE__ */ jsxs18("div", { className: option, children: [
1405
+ /* @__PURE__ */ jsx20(
1406
+ Checkbox,
1407
+ {
1408
+ id: itemId,
1409
+ name,
1410
+ value: option3.value,
1411
+ label: option3.label,
1412
+ size,
1413
+ checked: current2.includes(option3.value),
1414
+ onCheckedChange: (checked) => toggle3(option3.value, checked),
1415
+ disabled: disabled || option3.disabled,
1416
+ invalid: error,
1417
+ "aria-describedby": descriptionId
1418
+ }
1419
+ ),
1420
+ option3.description && /* @__PURE__ */ jsx20("span", { id: descriptionId, className: description3({ size }), children: option3.description })
1421
+ ] }, option3.value);
1422
+ })
1423
+ }
1424
+ ),
1425
+ helperText3 && /* @__PURE__ */ jsx20("p", { id: helperId, className: helperText({ error }), children: helperText3 })
1426
+ ] });
1427
+ }
1428
+ );
1429
+
1290
1430
  // src/components/Combobox/Combobox.tsx
1291
1431
  import * as Popover from "@radix-ui/react-popover";
1292
1432
  import {
1293
- forwardRef as forwardRef18,
1433
+ forwardRef as forwardRef19,
1294
1434
  useEffect as useEffect6,
1295
- useId as useId5,
1435
+ useId as useId7,
1296
1436
  useMemo as useMemo3,
1297
1437
  useRef as useRef8,
1298
- useState as useState7
1438
+ useState as useState8
1299
1439
  } from "react";
1300
1440
  import { CheckIcon, ChevronDownIcon as ChevronDownIcon3, XIcon as XIcon3 } from "@bestow-ui/icons";
1301
1441
 
@@ -1315,9 +1455,9 @@ var empty = "c2pbq74";
1315
1455
  var toggle2 = "c2pbq71 c2pbq70";
1316
1456
 
1317
1457
  // src/components/Combobox/Combobox.tsx
1318
- import { jsx as jsx20, jsxs as jsxs17 } from "react/jsx-runtime";
1319
- var defaultFilter = (option2, query) => option2.label.toLowerCase().includes(query.trim().toLowerCase());
1320
- var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1458
+ import { jsx as jsx21, jsxs as jsxs19 } from "react/jsx-runtime";
1459
+ var defaultFilter = (option3, query2) => option3.label.toLowerCase().includes(query2.trim().toLowerCase());
1460
+ var Combobox = /* @__PURE__ */ forwardRef19(function Combobox2(props, ref) {
1321
1461
  const {
1322
1462
  options,
1323
1463
  value: value3,
@@ -1345,7 +1485,7 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1345
1485
  const emptyMessage = emptyMessageProp ?? m.noResults ?? "\uACB0\uACFC\uAC00 \uC5C6\uC5B4\uC694";
1346
1486
  const toggleLabel = toggleLabelProp ?? m.openList ?? "\uBAA9\uB85D \uC5F4\uAE30";
1347
1487
  const clearLabel = clearLabelProp ?? m.clearSelection ?? "\uC120\uD0DD \uC9C0\uC6B0\uAE30";
1348
- const generatedId = useId5();
1488
+ const generatedId = useId7();
1349
1489
  const inputId = id ?? generatedId;
1350
1490
  const labelId = `${inputId}-label`;
1351
1491
  const listId = `${inputId}-listbox`;
@@ -1355,14 +1495,14 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1355
1495
  const inputRef = useRef8(null);
1356
1496
  const anchorRef = useRef8(null);
1357
1497
  const isControlled = "value" in props;
1358
- const [innerValue, setInnerValue] = useState7(defaultValue);
1498
+ const [innerValue, setInnerValue] = useState8(defaultValue);
1359
1499
  const selectedValue = isControlled ? value3 : innerValue;
1360
1500
  const selectedOption = options.find((o) => o.value === selectedValue);
1361
- const [open, setOpen] = useState7(false);
1362
- const [query, setQuery] = useState7(null);
1363
- const [activeIndex, setActiveIndex] = useState7(-1);
1364
- const filtered = useMemo3(() => query ? options.filter((o) => filter(o, query)) : options, [options, filter, query]);
1365
- const inputText = query ?? selectedOption?.label ?? "";
1501
+ const [open, setOpen] = useState8(false);
1502
+ const [query2, setQuery] = useState8(null);
1503
+ const [activeIndex, setActiveIndex] = useState8(-1);
1504
+ const filtered = useMemo3(() => query2 ? options.filter((o) => filter(o, query2)) : options, [options, filter, query2]);
1505
+ const inputText = query2 ?? selectedOption?.label ?? "";
1366
1506
  const firstEnabled = (list7, from = 0, step2 = 1) => {
1367
1507
  for (let i = from; i >= 0 && i < list7.length; i += step2) if (!list7[i].disabled) return i;
1368
1508
  return -1;
@@ -1384,13 +1524,13 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1384
1524
  if (selectedValue) onValueChange?.("");
1385
1525
  };
1386
1526
  const close2 = () => {
1387
- if (query === "" && selectedValue) clearSelection();
1527
+ if (query2 === "" && selectedValue) clearSelection();
1388
1528
  reset();
1389
1529
  };
1390
- const select2 = (option2) => {
1391
- if (option2.disabled) return;
1392
- if (!isControlled) setInnerValue(option2.value);
1393
- if (option2.value !== selectedValue) onValueChange?.(option2.value);
1530
+ const select2 = (option3) => {
1531
+ if (option3.disabled) return;
1532
+ if (!isControlled) setInnerValue(option3.value);
1533
+ if (option3.value !== selectedValue) onValueChange?.(option3.value);
1394
1534
  reset();
1395
1535
  };
1396
1536
  const move = (step2) => {
@@ -1420,8 +1560,8 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1420
1560
  case "Enter":
1421
1561
  if (open) {
1422
1562
  event.preventDefault();
1423
- const option2 = filtered[activeIndex];
1424
- if (option2) select2(option2);
1563
+ const option3 = filtered[activeIndex];
1564
+ if (option3) select2(option3);
1425
1565
  else close2();
1426
1566
  }
1427
1567
  break;
@@ -1442,28 +1582,28 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1442
1582
  }, [open, activeIndex]);
1443
1583
  const hasOptions = filtered.length > 0;
1444
1584
  const noResults = open && !disabled && !hasOptions;
1445
- const [announcedFor, setAnnouncedFor] = useState7(void 0);
1585
+ const [announcedFor, setAnnouncedFor] = useState8(void 0);
1446
1586
  useEffect6(() => {
1447
1587
  if (!noResults) return;
1448
- const timer2 = setTimeout(() => setAnnouncedFor(query), ANNOUNCE_DELAY);
1588
+ const timer2 = setTimeout(() => setAnnouncedFor(query2), ANNOUNCE_DELAY);
1449
1589
  return () => clearTimeout(timer2);
1450
- }, [noResults, query]);
1451
- const announceNoResults = noResults && announcedFor === query;
1452
- return /* @__PURE__ */ jsxs17("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
1453
- label6 && /* @__PURE__ */ jsxs17("label", { id: labelId, htmlFor: inputId, className: label, children: [
1590
+ }, [noResults, query2]);
1591
+ const announceNoResults = noResults && announcedFor === query2;
1592
+ return /* @__PURE__ */ jsxs19("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
1593
+ label6 && /* @__PURE__ */ jsxs19("label", { id: labelId, htmlFor: inputId, className: label, children: [
1454
1594
  label6,
1455
- required && /* @__PURE__ */ jsx20("span", { className: requiredMark, "aria-hidden": true, children: "*" })
1595
+ required && /* @__PURE__ */ jsx21("span", { className: requiredMark, "aria-hidden": true, children: "*" })
1456
1596
  ] }),
1457
- /* @__PURE__ */ jsxs17(Popover.Root, { open: open && !disabled, onOpenChange: (next) => next ? openList() : close2(), children: [
1458
- /* @__PURE__ */ jsx20(Popover.Anchor, { asChild: true, children: /* @__PURE__ */ jsxs17(
1597
+ /* @__PURE__ */ jsxs19(Popover.Root, { open: open && !disabled, onOpenChange: (next) => next ? openList() : close2(), children: [
1598
+ /* @__PURE__ */ jsx21(Popover.Anchor, { asChild: true, children: /* @__PURE__ */ jsxs19(
1459
1599
  "div",
1460
1600
  {
1461
1601
  ref: anchorRef,
1462
- className: cx(root3({ size, fullWidth }), className),
1602
+ className: cx(root({ size, fullWidth }), className),
1463
1603
  "data-invalid": error || void 0,
1464
1604
  "data-disabled": disabled || void 0,
1465
1605
  children: [
1466
- /* @__PURE__ */ jsx20(
1606
+ /* @__PURE__ */ jsx21(
1467
1607
  "input",
1468
1608
  {
1469
1609
  ref: mergeRefs(ref, inputRef),
@@ -1490,7 +1630,7 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1490
1630
  className: input
1491
1631
  }
1492
1632
  ),
1493
- clearable && selectedOption && !disabled && /* @__PURE__ */ jsx20(
1633
+ clearable && selectedOption && !disabled && /* @__PURE__ */ jsx21(
1494
1634
  "button",
1495
1635
  {
1496
1636
  type: "button",
@@ -1503,10 +1643,10 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1503
1643
  reset();
1504
1644
  inputRef.current?.focus();
1505
1645
  },
1506
- children: /* @__PURE__ */ jsx20(XIcon3, { size: 16 })
1646
+ children: /* @__PURE__ */ jsx21(XIcon3, { size: 16 })
1507
1647
  }
1508
1648
  ),
1509
- /* @__PURE__ */ jsx20(
1649
+ /* @__PURE__ */ jsx21(
1510
1650
  "button",
1511
1651
  {
1512
1652
  type: "button",
@@ -1521,13 +1661,13 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1521
1661
  else openList(options);
1522
1662
  inputRef.current?.focus();
1523
1663
  },
1524
- children: /* @__PURE__ */ jsx20(ChevronDownIcon3, { size: 16 })
1664
+ children: /* @__PURE__ */ jsx21(ChevronDownIcon3, { size: 16 })
1525
1665
  }
1526
1666
  )
1527
1667
  ]
1528
1668
  }
1529
1669
  ) }),
1530
- /* @__PURE__ */ jsx20(Popover.Portal, { children: /* @__PURE__ */ jsx20(
1670
+ /* @__PURE__ */ jsx21(Popover.Portal, { children: /* @__PURE__ */ jsx21(
1531
1671
  Popover.Content,
1532
1672
  {
1533
1673
  role: "presentation",
@@ -1542,63 +1682,63 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
1542
1682
  onInteractOutside: (event) => {
1543
1683
  if (anchorRef.current?.contains(event.target)) event.preventDefault();
1544
1684
  },
1545
- children: hasOptions ? /* @__PURE__ */ jsx20(
1685
+ children: hasOptions ? /* @__PURE__ */ jsx21(
1546
1686
  "div",
1547
1687
  {
1548
1688
  id: listId,
1549
1689
  role: "listbox",
1550
1690
  "aria-labelledby": label6 ? labelId : void 0,
1551
1691
  "aria-label": label6 ? void 0 : ariaLabel,
1552
- children: filtered.map((option2, index) => {
1553
- const isSelected = option2.value === selectedValue;
1692
+ children: filtered.map((option3, index) => {
1693
+ const isSelected = option3.value === selectedValue;
1554
1694
  return (
1555
1695
  // aria-activedescendant 패턴: 포커스·키보드는 입력창이 맡고 항목은 포커스를 받지 않는다 (WAI-ARIA combobox)
1556
1696
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/interactive-supports-focus
1557
- /* @__PURE__ */ jsxs17(
1697
+ /* @__PURE__ */ jsxs19(
1558
1698
  "div",
1559
1699
  {
1560
1700
  id: optionId(index),
1561
1701
  role: "option",
1562
1702
  "aria-selected": isSelected,
1563
- "aria-disabled": option2.disabled || void 0,
1703
+ "aria-disabled": option3.disabled || void 0,
1564
1704
  "data-highlighted": index === activeIndex ? "" : void 0,
1565
1705
  "data-state": isSelected ? "checked" : "unchecked",
1566
- "data-disabled": option2.disabled ? "" : void 0,
1706
+ "data-disabled": option3.disabled ? "" : void 0,
1567
1707
  className: item4,
1568
1708
  onMouseDown: (event) => event.preventDefault(),
1569
- onMouseMove: () => !option2.disabled && setActiveIndex(index),
1570
- onClick: () => select2(option2),
1709
+ onMouseMove: () => !option3.disabled && setActiveIndex(index),
1710
+ onClick: () => select2(option3),
1571
1711
  children: [
1572
- option2.label,
1573
- isSelected && /* @__PURE__ */ jsx20("span", { className: itemIndicator, "aria-hidden": true, children: /* @__PURE__ */ jsx20(CheckIcon, { size: 16 }) })
1712
+ option3.label,
1713
+ isSelected && /* @__PURE__ */ jsx21("span", { className: itemIndicator, "aria-hidden": true, children: /* @__PURE__ */ jsx21(CheckIcon, { size: 16 }) })
1574
1714
  ]
1575
1715
  },
1576
- option2.value
1716
+ option3.value
1577
1717
  )
1578
1718
  );
1579
1719
  })
1580
1720
  }
1581
1721
  ) : (
1582
1722
  // 스크린리더 알림은 아래의 항상 있는 status 영역이 맡는다 (여기는 화면 표시만)
1583
- /* @__PURE__ */ jsx20("div", { className: empty, children: emptyMessage })
1723
+ /* @__PURE__ */ jsx21("div", { className: empty, children: emptyMessage })
1584
1724
  )
1585
1725
  }
1586
1726
  ) })
1587
1727
  ] }),
1588
- /* @__PURE__ */ jsx20("span", { role: "status", className: visuallyHidden, children: announceNoResults ? emptyMessage : "" }),
1589
- name && /* @__PURE__ */ jsx20("input", { type: "hidden", name, value: selectedValue ?? "" }),
1590
- helperText3 && /* @__PURE__ */ jsx20("p", { id: helperId, className: helperText({ error }), children: helperText3 })
1728
+ /* @__PURE__ */ jsx21("span", { role: "status", className: visuallyHidden, children: announceNoResults ? emptyMessage : "" }),
1729
+ name && /* @__PURE__ */ jsx21("input", { type: "hidden", name, value: selectedValue ?? "" }),
1730
+ helperText3 && /* @__PURE__ */ jsx21("p", { id: helperId, className: helperText({ error }), children: helperText3 })
1591
1731
  ] });
1592
1732
  });
1593
1733
 
1594
1734
  // src/components/DatePicker/DatePicker.tsx
1595
- import { forwardRef as forwardRef19, useEffect as useEffect7, useRef as useRef9, useState as useState8 } from "react";
1735
+ import { forwardRef as forwardRef20, useEffect as useEffect7, useRef as useRef9, useState as useState9 } from "react";
1596
1736
  import { CalendarIcon } from "@bestow-ui/icons";
1597
1737
 
1598
1738
  // src/components/Popover/Popover.tsx
1599
1739
  import * as RadixPopover from "@radix-ui/react-popover";
1600
1740
  import { XIcon as XIcon4 } from "@bestow-ui/icons";
1601
- import { useId as useId6 } from "react";
1741
+ import { useId as useId8 } from "react";
1602
1742
 
1603
1743
  // src/components/Popover/Popover.css.ts
1604
1744
  var arrow = "_1j99p8x4";
@@ -1608,7 +1748,7 @@ var header4 = "_1j99p8x1";
1608
1748
  var title3 = "_1j99p8x2";
1609
1749
 
1610
1750
  // src/components/Popover/Popover.tsx
1611
- import { jsx as jsx21, jsxs as jsxs18 } from "react/jsx-runtime";
1751
+ import { jsx as jsx22, jsxs as jsxs20 } from "react/jsx-runtime";
1612
1752
  function Popover2({
1613
1753
  content: content12,
1614
1754
  children,
@@ -1628,10 +1768,10 @@ function Popover2({
1628
1768
  }) {
1629
1769
  const portal2 = usePortalProps();
1630
1770
  const m = useMessages();
1631
- const titleId = useId6();
1632
- return /* @__PURE__ */ jsxs18(RadixPopover.Root, { open, defaultOpen, onOpenChange, modal, children: [
1633
- /* @__PURE__ */ jsx21(RadixPopover.Trigger, { asChild: true, children }),
1634
- /* @__PURE__ */ jsx21(RadixPopover.Portal, { children: /* @__PURE__ */ jsxs18(
1771
+ const titleId = useId8();
1772
+ return /* @__PURE__ */ jsxs20(RadixPopover.Root, { open, defaultOpen, onOpenChange, modal, children: [
1773
+ /* @__PURE__ */ jsx22(RadixPopover.Trigger, { asChild: true, children }),
1774
+ /* @__PURE__ */ jsx22(RadixPopover.Portal, { children: /* @__PURE__ */ jsxs20(
1635
1775
  RadixPopover.Content,
1636
1776
  {
1637
1777
  side,
@@ -1644,12 +1784,12 @@ function Popover2({
1644
1784
  className: cx(portal2.className, content7, className),
1645
1785
  style: { ...portal2.style, ...style },
1646
1786
  children: [
1647
- (title6 || showClose) && /* @__PURE__ */ jsxs18("div", { className: header4, children: [
1648
- title6 && /* @__PURE__ */ jsx21("h2", { id: titleId, className: title3, children: title6 }),
1649
- showClose && /* @__PURE__ */ jsx21(RadixPopover.Close, { className: closeButton3, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ jsx21(XIcon4, { size: 16 }) })
1787
+ (title6 || showClose) && /* @__PURE__ */ jsxs20("div", { className: header4, children: [
1788
+ title6 && /* @__PURE__ */ jsx22("h2", { id: titleId, className: title3, children: title6 }),
1789
+ showClose && /* @__PURE__ */ jsx22(RadixPopover.Close, { className: closeButton3, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ jsx22(XIcon4, { size: 16 }) })
1650
1790
  ] }),
1651
1791
  content12,
1652
- showArrow && /* @__PURE__ */ jsx21(RadixPopover.Arrow, { className: arrow, width: 12, height: 6 })
1792
+ showArrow && /* @__PURE__ */ jsx22(RadixPopover.Arrow, { className: arrow, width: 12, height: 6 })
1653
1793
  ]
1654
1794
  }
1655
1795
  ) })
@@ -1658,11 +1798,11 @@ function Popover2({
1658
1798
  var PopoverClose = RadixPopover.Close;
1659
1799
 
1660
1800
  // src/components/DatePicker/DatePicker.tsx
1661
- import { Fragment as Fragment5, jsx as jsx22, jsxs as jsxs19 } from "react/jsx-runtime";
1801
+ import { Fragment as Fragment6, jsx as jsx23, jsxs as jsxs21 } from "react/jsx-runtime";
1662
1802
  var sanitize2 = (input6) => input6.replace(/\D/g, "").slice(0, 8);
1663
1803
  var format = (digits) => digits.length <= 4 ? digits : digits.length <= 6 ? `${digits.slice(0, 4)}-${digits.slice(4)}` : `${digits.slice(0, 4)}-${digits.slice(4, 6)}-${digits.slice(6)}`;
1664
1804
  var isDigit3 = (char) => /\d/.test(char);
1665
- var DatePicker = /* @__PURE__ */ forwardRef19(
1805
+ var DatePicker = /* @__PURE__ */ forwardRef20(
1666
1806
  function DatePicker2(props, ref) {
1667
1807
  const {
1668
1808
  value: value3,
@@ -1695,8 +1835,8 @@ var DatePicker = /* @__PURE__ */ forwardRef19(
1695
1835
  const invalidText = invalidTextProp ?? m.dateInvalid ?? "\uC62C\uBC14\uB978 \uB0A0\uC9DC\uAC00 \uC544\uB2C8\uC5D0\uC694.";
1696
1836
  const unavailableText = unavailableTextProp ?? m.dateUnavailable ?? "\uACE0\uB97C \uC218 \uC5C6\uB294 \uB0A0\uC9DC\uC608\uC694.";
1697
1837
  const incompleteText = incompleteTextProp ?? m.dateIncomplete ?? "\uB0A0\uC9DC\uB97C YYYY-MM-DD \uD615\uC2DD\uC73C\uB85C \uC785\uB825\uD574 \uC8FC\uC138\uC694.";
1698
- const [open, setOpen] = useState8(false);
1699
- const [touched, setTouched] = useState8(false);
1838
+ const [open, setOpen] = useState9(false);
1839
+ const [touched, setTouched] = useState9(false);
1700
1840
  const isControlled = "value" in props;
1701
1841
  const lastEmitted = useRef9(isControlled ? value3 ?? "" : defaultValue ?? "");
1702
1842
  const minDate = parseISODate(min);
@@ -1739,8 +1879,8 @@ var DatePicker = /* @__PURE__ */ forwardRef19(
1739
1879
  const showAuto = autoError !== null && error === void 0;
1740
1880
  const announcement = useDelayedAnnouncement(showAuto && complete ? autoError ?? "" : "");
1741
1881
  const selectedIso = date && !isUnavailable(date) ? textIso : "";
1742
- return /* @__PURE__ */ jsxs19(Fragment5, { children: [
1743
- /* @__PURE__ */ jsx22(
1882
+ return /* @__PURE__ */ jsxs21(Fragment6, { children: [
1883
+ /* @__PURE__ */ jsx23(
1744
1884
  TextField,
1745
1885
  {
1746
1886
  ref: mergeRefs(ref, inputRef),
@@ -1759,7 +1899,7 @@ var DatePicker = /* @__PURE__ */ forwardRef19(
1759
1899
  disabled,
1760
1900
  fullWidth,
1761
1901
  rootClassName: className,
1762
- endAdornment: /* @__PURE__ */ jsx22(
1902
+ endAdornment: /* @__PURE__ */ jsx23(
1763
1903
  Popover2,
1764
1904
  {
1765
1905
  open,
@@ -1768,7 +1908,7 @@ var DatePicker = /* @__PURE__ */ forwardRef19(
1768
1908
  align: "end",
1769
1909
  "aria-label": m.calendar ?? "\uB2EC\uB825",
1770
1910
  onOpenAutoFocus: (event) => event.preventDefault(),
1771
- content: /* @__PURE__ */ jsx22(
1911
+ content: /* @__PURE__ */ jsx23(
1772
1912
  Calendar,
1773
1913
  {
1774
1914
  value: selectedIso,
@@ -1785,19 +1925,19 @@ var DatePicker = /* @__PURE__ */ forwardRef19(
1785
1925
  initialFocus: true
1786
1926
  }
1787
1927
  ),
1788
- children: /* @__PURE__ */ jsx22(IconButton, { "aria-label": calendarLabel, size: "sm", disabled, children: /* @__PURE__ */ jsx22(CalendarIcon, {}) })
1928
+ children: /* @__PURE__ */ jsx23(IconButton, { "aria-label": calendarLabel, size: "sm", disabled, children: /* @__PURE__ */ jsx23(CalendarIcon, {}) })
1789
1929
  }
1790
1930
  )
1791
1931
  }
1792
1932
  ),
1793
- /* @__PURE__ */ jsx22("span", { role: "status", className: visuallyHidden, children: announcement }),
1794
- name && /* @__PURE__ */ jsx22("input", { type: "hidden", name, value: selectedIso })
1933
+ /* @__PURE__ */ jsx23("span", { role: "status", className: visuallyHidden, children: announcement }),
1934
+ name && /* @__PURE__ */ jsx23("input", { type: "hidden", name, value: selectedIso })
1795
1935
  ] });
1796
1936
  }
1797
1937
  );
1798
1938
 
1799
1939
  // src/components/DateRangePicker/DateRangePicker.tsx
1800
- import { forwardRef as forwardRef20, useId as useId7, useState as useState9 } from "react";
1940
+ import { forwardRef as forwardRef21, useId as useId9, useState as useState10 } from "react";
1801
1941
 
1802
1942
  // src/components/DateRangePicker/DateRangePicker.css.ts
1803
1943
  var field2 = "_17277dh3";
@@ -1808,8 +1948,8 @@ var presets = "_17277dh5";
1808
1948
  var separator2 = "_17277dh4";
1809
1949
 
1810
1950
  // src/components/DateRangePicker/DateRangePicker.tsx
1811
- import { jsx as jsx23, jsxs as jsxs20 } from "react/jsx-runtime";
1812
- var DateRangePicker = /* @__PURE__ */ forwardRef20(
1951
+ import { jsx as jsx24, jsxs as jsxs22 } from "react/jsx-runtime";
1952
+ var DateRangePicker = /* @__PURE__ */ forwardRef21(
1813
1953
  function DateRangePicker2(props, ref) {
1814
1954
  const {
1815
1955
  value: value3,
@@ -1834,12 +1974,12 @@ var DateRangePicker = /* @__PURE__ */ forwardRef20(
1834
1974
  className
1835
1975
  } = props;
1836
1976
  const m = useMessages();
1837
- const generatedId = useId7();
1977
+ const generatedId = useId9();
1838
1978
  const baseId = id ?? generatedId;
1839
1979
  const helperId = helperText3 ? `${baseId}-helper` : void 0;
1840
1980
  const isClient = useIsClient();
1841
1981
  const isControlled = "value" in props;
1842
- const [inner, setInner] = useState9(defaultValue ?? { start: "", end: "" });
1982
+ const [inner, setInner] = useState10(defaultValue ?? { start: "", end: "" });
1843
1983
  const range3 = isControlled ? value3 ?? { start: "", end: "" } : inner;
1844
1984
  const update = (next) => {
1845
1985
  if (next.start === range3.start && next.end === range3.end) return;
@@ -1850,7 +1990,7 @@ var DateRangePicker = /* @__PURE__ */ forwardRef20(
1850
1990
  const startLabel = startLabelProp ?? m.dateRangeStart ?? "\uC2DC\uC791\uC77C";
1851
1991
  const endLabel = endLabelProp ?? m.dateRangeEnd ?? "\uC885\uB8CC\uC77C";
1852
1992
  const common = { isDateDisabled, isHoliday, today, disabled, required, fullWidth: true };
1853
- return /* @__PURE__ */ jsxs20(
1993
+ return /* @__PURE__ */ jsxs22(
1854
1994
  "fieldset",
1855
1995
  {
1856
1996
  ref,
@@ -1859,12 +1999,12 @@ var DateRangePicker = /* @__PURE__ */ forwardRef20(
1859
1999
  "aria-describedby": helperId,
1860
2000
  "data-invalid": error || void 0,
1861
2001
  children: [
1862
- label6 && /* @__PURE__ */ jsxs20("legend", { className: legend3, children: [
2002
+ label6 && /* @__PURE__ */ jsxs22("legend", { className: legend3, children: [
1863
2003
  label6,
1864
- required && /* @__PURE__ */ jsx23("span", { className: requiredMark, "aria-hidden": true, children: "*" })
2004
+ required && /* @__PURE__ */ jsx24("span", { className: requiredMark, "aria-hidden": true, children: "*" })
1865
2005
  ] }),
1866
- /* @__PURE__ */ jsxs20("div", { className: fields, children: [
1867
- /* @__PURE__ */ jsx23("div", { className: field2, children: /* @__PURE__ */ jsx23(
2006
+ /* @__PURE__ */ jsxs22("div", { className: fields, children: [
2007
+ /* @__PURE__ */ jsx24("div", { className: field2, children: /* @__PURE__ */ jsx24(
1868
2008
  DatePicker,
1869
2009
  {
1870
2010
  ...common,
@@ -1878,8 +2018,8 @@ var DateRangePicker = /* @__PURE__ */ forwardRef20(
1878
2018
  error: error || void 0
1879
2019
  }
1880
2020
  ) }),
1881
- /* @__PURE__ */ jsx23("span", { className: separator2, "aria-hidden": true, children: "~" }),
1882
- /* @__PURE__ */ jsx23("div", { className: field2, children: /* @__PURE__ */ jsx23(
2021
+ /* @__PURE__ */ jsx24("span", { className: separator2, "aria-hidden": true, children: "~" }),
2022
+ /* @__PURE__ */ jsx24("div", { className: field2, children: /* @__PURE__ */ jsx24(
1883
2023
  DatePicker,
1884
2024
  {
1885
2025
  ...common,
@@ -1894,10 +2034,10 @@ var DateRangePicker = /* @__PURE__ */ forwardRef20(
1894
2034
  }
1895
2035
  ) })
1896
2036
  ] }),
1897
- presets2 && presets2.length > 0 && /* @__PURE__ */ jsx23("div", { role: "group", "aria-label": m.dateRangePresets ?? "\uBE60\uB978 \uC120\uD0DD", className: presets, children: presets2.map((preset) => {
2037
+ presets2 && presets2.length > 0 && /* @__PURE__ */ jsx24("div", { role: "group", "aria-label": m.dateRangePresets ?? "\uBE60\uB978 \uC120\uD0DD", className: presets, children: presets2.map((preset) => {
1898
2038
  const target = isClient ? presetRange(preset, todayIso()) : null;
1899
2039
  const pressed = !!target && target.start === range3.start && target.end === range3.end;
1900
- return /* @__PURE__ */ jsx23(
2040
+ return /* @__PURE__ */ jsx24(
1901
2041
  Button,
1902
2042
  {
1903
2043
  type: "button",
@@ -1912,7 +2052,7 @@ var DateRangePicker = /* @__PURE__ */ forwardRef20(
1912
2052
  preset.label
1913
2053
  );
1914
2054
  }) }),
1915
- helperText3 && /* @__PURE__ */ jsx23("p", { id: helperId, className: helperText({ error }), children: helperText3 })
2055
+ helperText3 && /* @__PURE__ */ jsx24("p", { id: helperId, className: helperText({ error }), children: helperText3 })
1916
2056
  ]
1917
2057
  }
1918
2058
  );
@@ -1928,7 +2068,7 @@ import { createRuntimeFn as _7a46810 } from "@vanilla-extract/recipes/createRunt
1928
2068
  var body2 = "nmobyvy";
1929
2069
  var closeButton4 = "nmobyvx";
1930
2070
  var content8 = /* @__PURE__ */ _7a46810({ defaultClassName: "nmobyv9", variantClassNames: { side: { right: "nmobyva", left: "nmobyvb", top: "nmobyvc", bottom: "nmobyvd" }, size: { sm: "nmobyve", md: "nmobyvf", lg: "nmobyvg" } }, defaultVariants: { side: "right", size: "md" }, compoundVariants: [[{ side: "right", size: "sm" }, "nmobyvh"], [{ side: "right", size: "md" }, "nmobyvi"], [{ side: "right", size: "lg" }, "nmobyvj"], [{ side: "left", size: "sm" }, "nmobyvk"], [{ side: "left", size: "md" }, "nmobyvl"], [{ side: "left", size: "lg" }, "nmobyvm"], [{ side: "top", size: "sm" }, "nmobyvn"], [{ side: "top", size: "md" }, "nmobyvo"], [{ side: "top", size: "lg" }, "nmobyvp"], [{ side: "bottom", size: "sm" }, "nmobyvq"], [{ side: "bottom", size: "md" }, "nmobyvr"], [{ side: "bottom", size: "lg" }, "nmobyvs"]] });
1931
- var description3 = "nmobyvw";
2071
+ var description4 = "nmobyvw";
1932
2072
  var footer2 = "nmobyvz";
1933
2073
  var header5 = "nmobyvt";
1934
2074
  var headings2 = "nmobyvu";
@@ -1936,14 +2076,14 @@ var overlay2 = "nmobyv0";
1936
2076
  var title4 = "nmobyvv";
1937
2077
 
1938
2078
  // src/components/Drawer/Drawer.tsx
1939
- import { jsx as jsx24, jsxs as jsxs21 } from "react/jsx-runtime";
2079
+ import { jsx as jsx25, jsxs as jsxs23 } from "react/jsx-runtime";
1940
2080
  function Drawer({
1941
2081
  open,
1942
2082
  defaultOpen,
1943
2083
  onOpenChange,
1944
2084
  trigger: trigger4,
1945
2085
  title: title6,
1946
- description: description7,
2086
+ description: description8,
1947
2087
  children,
1948
2088
  footer: footer5,
1949
2089
  side,
@@ -1955,11 +2095,11 @@ function Drawer({
1955
2095
  const portal2 = usePortalProps();
1956
2096
  const m = useMessages();
1957
2097
  const focus = useReturnFocus(Boolean(trigger4));
1958
- return /* @__PURE__ */ jsxs21(Dialog2.Root, { open, defaultOpen, onOpenChange, children: [
1959
- trigger4 && /* @__PURE__ */ jsx24(Dialog2.Trigger, { asChild: true, children: trigger4 }),
1960
- /* @__PURE__ */ jsxs21(Dialog2.Portal, { children: [
1961
- /* @__PURE__ */ jsx24(Dialog2.Overlay, { className: cx(portal2.className, overlay2), style: portal2.style }),
1962
- /* @__PURE__ */ jsxs21(
2098
+ return /* @__PURE__ */ jsxs23(Dialog2.Root, { open, defaultOpen, onOpenChange, children: [
2099
+ trigger4 && /* @__PURE__ */ jsx25(Dialog2.Trigger, { asChild: true, children: trigger4 }),
2100
+ /* @__PURE__ */ jsxs23(Dialog2.Portal, { children: [
2101
+ /* @__PURE__ */ jsx25(Dialog2.Overlay, { className: cx(portal2.className, overlay2), style: portal2.style }),
2102
+ /* @__PURE__ */ jsxs23(
1963
2103
  Dialog2.Content,
1964
2104
  {
1965
2105
  className: cx(portal2.className, content8({ side, size }), className),
@@ -1968,17 +2108,17 @@ function Drawer({
1968
2108
  onPointerDownOutside: closeOnOverlayClick ? void 0 : (event) => event.preventDefault(),
1969
2109
  onOpenAutoFocus: focus.onOpenAutoFocus,
1970
2110
  onCloseAutoFocus: focus.onCloseAutoFocus,
1971
- ...description7 ? {} : { "aria-describedby": void 0 },
2111
+ ...description8 ? {} : { "aria-describedby": void 0 },
1972
2112
  children: [
1973
- /* @__PURE__ */ jsxs21("div", { className: header5, children: [
1974
- /* @__PURE__ */ jsxs21("div", { className: headings2, children: [
1975
- /* @__PURE__ */ jsx24(Dialog2.Title, { className: title4, children: title6 }),
1976
- description7 && /* @__PURE__ */ jsx24(Dialog2.Description, { className: description3, children: description7 })
2113
+ /* @__PURE__ */ jsxs23("div", { className: header5, children: [
2114
+ /* @__PURE__ */ jsxs23("div", { className: headings2, children: [
2115
+ /* @__PURE__ */ jsx25(Dialog2.Title, { className: title4, children: title6 }),
2116
+ description8 && /* @__PURE__ */ jsx25(Dialog2.Description, { className: description4, children: description8 })
1977
2117
  ] }),
1978
- !hideCloseButton && /* @__PURE__ */ jsx24(Dialog2.Close, { asChild: true, children: /* @__PURE__ */ jsx24(IconButton, { "aria-label": m.close ?? "\uB2EB\uAE30", size: "sm", className: closeButton4, children: /* @__PURE__ */ jsx24(XIcon5, {}) }) })
2118
+ !hideCloseButton && /* @__PURE__ */ jsx25(Dialog2.Close, { asChild: true, children: /* @__PURE__ */ jsx25(IconButton, { "aria-label": m.close ?? "\uB2EB\uAE30", size: "sm", className: closeButton4, children: /* @__PURE__ */ jsx25(XIcon5, {}) }) })
1979
2119
  ] }),
1980
- children && /* @__PURE__ */ jsx24("div", { className: body2, children }),
1981
- footer5 && /* @__PURE__ */ jsx24("div", { className: footer2, children: footer5 })
2120
+ children && /* @__PURE__ */ jsx25("div", { className: body2, children }),
2121
+ footer5 && /* @__PURE__ */ jsx25("div", { className: footer2, children: footer5 })
1982
2122
  ]
1983
2123
  }
1984
2124
  )
@@ -1988,7 +2128,7 @@ function Drawer({
1988
2128
  var DrawerClose = Dialog2.Close;
1989
2129
 
1990
2130
  // src/components/ErrorSummary/ErrorSummary.tsx
1991
- import { forwardRef as forwardRef21, useEffect as useEffect8, useId as useId8, useRef as useRef10 } from "react";
2131
+ import { forwardRef as forwardRef22, useEffect as useEffect8, useId as useId10, useRef as useRef10 } from "react";
1992
2132
 
1993
2133
  // src/components/ErrorSummary/ErrorSummary.css.ts
1994
2134
  var link3 = "_1cdophv2";
@@ -1996,17 +2136,17 @@ var list3 = "_1cdophv1";
1996
2136
  var root7 = "_1cdophv0";
1997
2137
 
1998
2138
  // src/components/ErrorSummary/ErrorSummary.tsx
1999
- import { jsx as jsx25 } from "react/jsx-runtime";
2000
- var ErrorSummary = /* @__PURE__ */ forwardRef21(function ErrorSummary2({ errors: errors2, title: title6, focusKey, className, ...rest }, ref) {
2139
+ import { jsx as jsx26 } from "react/jsx-runtime";
2140
+ var ErrorSummary = /* @__PURE__ */ forwardRef22(function ErrorSummary2({ errors: errors2, title: title6, focusKey, className, ...rest }, ref) {
2001
2141
  const m = useMessages();
2002
- const titleId = useId8();
2142
+ const titleId = useId10();
2003
2143
  const rootRef = useRef10(null);
2004
2144
  const hasErrors = errors2.length > 0;
2005
2145
  useEffect8(() => {
2006
2146
  if (hasErrors) rootRef.current?.focus();
2007
2147
  }, [focusKey, hasErrors]);
2008
2148
  if (!hasErrors) return null;
2009
- return /* @__PURE__ */ jsx25(
2149
+ return /* @__PURE__ */ jsx26(
2010
2150
  "div",
2011
2151
  {
2012
2152
  ref: mergeRefs(ref, rootRef),
@@ -2014,12 +2154,12 @@ var ErrorSummary = /* @__PURE__ */ forwardRef21(function ErrorSummary2({ errors:
2014
2154
  "aria-labelledby": titleId,
2015
2155
  className: cx(root7, className),
2016
2156
  ...rest,
2017
- children: /* @__PURE__ */ jsx25(
2157
+ children: /* @__PURE__ */ jsx26(
2018
2158
  Alert,
2019
2159
  {
2020
2160
  color: "danger",
2021
- title: /* @__PURE__ */ jsx25("span", { id: titleId, children: title6 ?? m.errorSummaryTitle?.(errors2.length) ?? `\uC785\uB825\uD55C \uB0B4\uC6A9\uC5D0 \uACE0\uCE60 \uACF3\uC774 ${errors2.length}\uAC1C \uC788\uC5B4\uC694` }),
2022
- children: /* @__PURE__ */ jsx25("ul", { className: list3, children: errors2.map((error) => /* @__PURE__ */ jsx25("li", { children: /* @__PURE__ */ jsx25(
2161
+ title: /* @__PURE__ */ jsx26("span", { id: titleId, children: title6 ?? m.errorSummaryTitle?.(errors2.length) ?? `\uC785\uB825\uD55C \uB0B4\uC6A9\uC5D0 \uACE0\uCE60 \uACF3\uC774 ${errors2.length}\uAC1C \uC788\uC5B4\uC694` }),
2162
+ children: /* @__PURE__ */ jsx26("ul", { className: list3, children: errors2.map((error) => /* @__PURE__ */ jsx26("li", { children: /* @__PURE__ */ jsx26(
2023
2163
  "a",
2024
2164
  {
2025
2165
  href: `#${error.id}`,
@@ -2037,7 +2177,7 @@ var ErrorSummary = /* @__PURE__ */ forwardRef21(function ErrorSummary2({ errors:
2037
2177
  });
2038
2178
 
2039
2179
  // src/components/FileUpload/FileUpload.tsx
2040
- import { forwardRef as forwardRef22, useEffect as useEffect9, useId as useId9, useRef as useRef11, useState as useState10 } from "react";
2180
+ import { forwardRef as forwardRef23, useEffect as useEffect9, useId as useId11, useRef as useRef11, useState as useState11 } from "react";
2041
2181
  import { FileIcon, UploadIcon, XIcon as XIcon6 } from "@bestow-ui/icons";
2042
2182
 
2043
2183
  // src/components/FileUpload/FileUpload.css.ts
@@ -2053,7 +2193,7 @@ var list4 = "r2jefr4";
2053
2193
  var root8 = "r2jefr0";
2054
2194
 
2055
2195
  // src/components/FileUpload/FileUpload.tsx
2056
- import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
2196
+ import { jsx as jsx27, jsxs as jsxs24 } from "react/jsx-runtime";
2057
2197
  var REMOVED_ANNOUNCE_DELAY = 500;
2058
2198
  function formatSize(bytes) {
2059
2199
  if (bytes < 1024) return `${bytes} B`;
@@ -2070,7 +2210,7 @@ function matchesAccept(file, accept) {
2070
2210
  }
2071
2211
  var NO_FILES = [];
2072
2212
  var sameFile = (a, b) => a.name === b.name && a.size === b.size && a.lastModified === b.lastModified;
2073
- var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2213
+ var FileUpload = /* @__PURE__ */ forwardRef23(function FileUpload2(props, ref) {
2074
2214
  const {
2075
2215
  value: value3,
2076
2216
  defaultValue,
@@ -2091,12 +2231,12 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2091
2231
  } = props;
2092
2232
  const m = useMessages();
2093
2233
  const isControlled = "value" in props;
2094
- const [innerFiles, setInnerFiles] = useState10(defaultValue ?? []);
2234
+ const [innerFiles, setInnerFiles] = useState11(defaultValue ?? []);
2095
2235
  const files = isControlled ? value3 ?? NO_FILES : innerFiles;
2096
- const [rejections, setRejections] = useState10([]);
2097
- const [announcement, setAnnouncement] = useState10("");
2098
- const [dragging, setDragging] = useState10(false);
2099
- const generatedId = useId9();
2236
+ const [rejections, setRejections] = useState11([]);
2237
+ const [announcement, setAnnouncement] = useState11("");
2238
+ const [dragging, setDragging] = useState11(false);
2239
+ const generatedId = useId11();
2100
2240
  const baseId = id ?? generatedId;
2101
2241
  const labelId = label6 ? `${baseId}-label` : void 0;
2102
2242
  const helperId = helperText3 ? `${baseId}-helper` : void 0;
@@ -2175,12 +2315,12 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2175
2315
  event.preventDefault();
2176
2316
  setDragging(over);
2177
2317
  };
2178
- return /* @__PURE__ */ jsxs22("div", { ref, className: cx(field, root8, className), children: [
2179
- label6 && /* @__PURE__ */ jsxs22("span", { id: labelId, className: label, children: [
2318
+ return /* @__PURE__ */ jsxs24("div", { ref, className: cx(field, root8, className), children: [
2319
+ label6 && /* @__PURE__ */ jsxs24("span", { id: labelId, className: label, children: [
2180
2320
  label6,
2181
- required && /* @__PURE__ */ jsx26("span", { className: requiredMark, "aria-hidden": true, children: "*" })
2321
+ required && /* @__PURE__ */ jsx27("span", { className: requiredMark, "aria-hidden": true, children: "*" })
2182
2322
  ] }),
2183
- /* @__PURE__ */ jsxs22(
2323
+ /* @__PURE__ */ jsxs24(
2184
2324
  "div",
2185
2325
  {
2186
2326
  role: "group",
@@ -2200,8 +2340,8 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2200
2340
  if (!disabled) addFiles(Array.from(event.dataTransfer.files));
2201
2341
  },
2202
2342
  children: [
2203
- /* @__PURE__ */ jsx26("span", { className: dropIcon, "aria-hidden": true, children: /* @__PURE__ */ jsx26(UploadIcon, { size: 24 }) }),
2204
- /* @__PURE__ */ jsx26(
2343
+ /* @__PURE__ */ jsx27("span", { className: dropIcon, "aria-hidden": true, children: /* @__PURE__ */ jsx27(UploadIcon, { size: 24 }) }),
2344
+ /* @__PURE__ */ jsx27(
2205
2345
  Button,
2206
2346
  {
2207
2347
  ref: selectButtonRef,
@@ -2214,8 +2354,8 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2214
2354
  children: selectLabel
2215
2355
  }
2216
2356
  ),
2217
- /* @__PURE__ */ jsx26("span", { className: dropHint, children: m.fileDropHint ?? "\uB610\uB294 \uC5EC\uAE30\uB85C \uB04C\uC5B4\uB2E4 \uB193\uC73C\uC138\uC694" }),
2218
- /* @__PURE__ */ jsx26(
2357
+ /* @__PURE__ */ jsx27("span", { className: dropHint, children: m.fileDropHint ?? "\uB610\uB294 \uC5EC\uAE30\uB85C \uB04C\uC5B4\uB2E4 \uB193\uC73C\uC138\uC694" }),
2358
+ /* @__PURE__ */ jsx27(
2219
2359
  "input",
2220
2360
  {
2221
2361
  ref: inputRef,
@@ -2238,11 +2378,11 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2238
2378
  ]
2239
2379
  }
2240
2380
  ),
2241
- files.length > 0 && /* @__PURE__ */ jsx26("ul", { "aria-label": m.fileList ?? "\uC120\uD0DD\uD55C \uD30C\uC77C", className: list4, children: files.map((file, index) => /* @__PURE__ */ jsxs22("li", { className: item5, children: [
2242
- /* @__PURE__ */ jsx26("span", { className: fileIcon, "aria-hidden": true, children: /* @__PURE__ */ jsx26(FileIcon, { size: 16 }) }),
2243
- /* @__PURE__ */ jsx26("span", { className: fileName, children: file.name }),
2244
- /* @__PURE__ */ jsx26("span", { id: `${baseId}-size-${index}`, className: fileSize, children: formatSize(file.size) }),
2245
- /* @__PURE__ */ jsx26(
2381
+ files.length > 0 && /* @__PURE__ */ jsx27("ul", { "aria-label": m.fileList ?? "\uC120\uD0DD\uD55C \uD30C\uC77C", className: list4, children: files.map((file, index) => /* @__PURE__ */ jsxs24("li", { className: item5, children: [
2382
+ /* @__PURE__ */ jsx27("span", { className: fileIcon, "aria-hidden": true, children: /* @__PURE__ */ jsx27(FileIcon, { size: 16 }) }),
2383
+ /* @__PURE__ */ jsx27("span", { className: fileName, children: file.name }),
2384
+ /* @__PURE__ */ jsx27("span", { id: `${baseId}-size-${index}`, className: fileSize, children: formatSize(file.size) }),
2385
+ /* @__PURE__ */ jsx27(
2246
2386
  IconButton,
2247
2387
  {
2248
2388
  ref: (node) => {
@@ -2253,20 +2393,20 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
2253
2393
  "aria-describedby": `${baseId}-size-${index}`,
2254
2394
  disabled,
2255
2395
  onClick: () => removeAt(index),
2256
- children: /* @__PURE__ */ jsx26(XIcon6, {})
2396
+ children: /* @__PURE__ */ jsx27(XIcon6, {})
2257
2397
  }
2258
2398
  )
2259
2399
  ] }, `${file.name}-${file.size}-${file.lastModified}`)) }),
2260
- rejections.length > 0 && /* @__PURE__ */ jsx26("ul", { id: errorsId, className: errors, children: [...new Set(rejections.map(reasonText))].map((text3) => /* @__PURE__ */ jsx26("li", { children: text3 }, text3)) }),
2261
- helperText3 && /* @__PURE__ */ jsx26("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
2262
- /* @__PURE__ */ jsx26("div", { role: "status", className: visuallyHidden, children: announcement })
2400
+ rejections.length > 0 && /* @__PURE__ */ jsx27("ul", { id: errorsId, className: errors, children: [...new Set(rejections.map(reasonText))].map((text3) => /* @__PURE__ */ jsx27("li", { children: text3 }, text3)) }),
2401
+ helperText3 && /* @__PURE__ */ jsx27("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
2402
+ /* @__PURE__ */ jsx27("div", { role: "status", className: visuallyHidden, children: announcement })
2263
2403
  ] });
2264
2404
  });
2265
2405
 
2266
2406
  // src/components/DropdownMenu/DropdownMenu.tsx
2267
2407
  import * as RadixMenu from "@radix-ui/react-dropdown-menu";
2268
2408
  import { CheckIcon as CheckIcon2, ChevronRightIcon as ChevronRightIcon3, MinusIcon } from "@bestow-ui/icons";
2269
- import { forwardRef as forwardRef23 } from "react";
2409
+ import { forwardRef as forwardRef24 } from "react";
2270
2410
 
2271
2411
  // src/components/DropdownMenu/DropdownMenu.css.ts
2272
2412
  var content9 = "_1d7ahux0";
@@ -2283,14 +2423,14 @@ var subChevron = "_1d7ahuxb";
2283
2423
  var subTrigger = "_1d7ahuxa";
2284
2424
 
2285
2425
  // src/components/DropdownMenu/DropdownMenu.tsx
2286
- import { jsx as jsx27, jsxs as jsxs23 } from "react/jsx-runtime";
2426
+ import { jsx as jsx28, jsxs as jsxs25 } from "react/jsx-runtime";
2287
2427
  var DropdownMenu = RadixMenu.Root;
2288
2428
  var DropdownMenuTrigger = RadixMenu.Trigger;
2289
2429
  var DropdownMenuGroup = RadixMenu.Group;
2290
- var DropdownMenuContent = /* @__PURE__ */ forwardRef23(
2430
+ var DropdownMenuContent = /* @__PURE__ */ forwardRef24(
2291
2431
  function DropdownMenuContent2({ className, style, side = "bottom", align = "start", sideOffset = 4, collisionPadding = 8, ...rest }, ref) {
2292
2432
  const portal2 = usePortalProps();
2293
- return /* @__PURE__ */ jsx27(RadixMenu.Portal, { children: /* @__PURE__ */ jsx27(
2433
+ return /* @__PURE__ */ jsx28(RadixMenu.Portal, { children: /* @__PURE__ */ jsx28(
2294
2434
  RadixMenu.Content,
2295
2435
  {
2296
2436
  ref,
@@ -2305,56 +2445,56 @@ var DropdownMenuContent = /* @__PURE__ */ forwardRef23(
2305
2445
  ) });
2306
2446
  }
2307
2447
  );
2308
- var DropdownMenuItem = /* @__PURE__ */ forwardRef23(
2448
+ var DropdownMenuItem = /* @__PURE__ */ forwardRef24(
2309
2449
  function DropdownMenuItem2({ icon: icon7, shortcut: shortcut2, color = "neutral", className, children, ...rest }, ref) {
2310
- return /* @__PURE__ */ jsxs23(RadixMenu.Item, { ref, className: cx(item6, color === "danger" && danger, className), ...rest, children: [
2311
- icon7 && /* @__PURE__ */ jsx27("span", { className: icon4, "aria-hidden": true, children: icon7 }),
2450
+ return /* @__PURE__ */ jsxs25(RadixMenu.Item, { ref, className: cx(item6, color === "danger" && danger, className), ...rest, children: [
2451
+ icon7 && /* @__PURE__ */ jsx28("span", { className: icon4, "aria-hidden": true, children: icon7 }),
2312
2452
  children,
2313
- shortcut2 && /* @__PURE__ */ jsx27("span", { className: shortcut, "aria-hidden": true, children: shortcut2 })
2453
+ shortcut2 && /* @__PURE__ */ jsx28("span", { className: shortcut, "aria-hidden": true, children: shortcut2 })
2314
2454
  ] });
2315
2455
  }
2316
2456
  );
2317
- var DropdownMenuLabel = /* @__PURE__ */ forwardRef23(
2457
+ var DropdownMenuLabel = /* @__PURE__ */ forwardRef24(
2318
2458
  function DropdownMenuLabel2({ className, ...rest }, ref) {
2319
- return /* @__PURE__ */ jsx27(RadixMenu.Label, { ref, className: cx(label2, className), ...rest });
2459
+ return /* @__PURE__ */ jsx28(RadixMenu.Label, { ref, className: cx(label2, className), ...rest });
2320
2460
  }
2321
2461
  );
2322
- var DropdownMenuSeparator = /* @__PURE__ */ forwardRef23(
2462
+ var DropdownMenuSeparator = /* @__PURE__ */ forwardRef24(
2323
2463
  function DropdownMenuSeparator2({ className, ...rest }, ref) {
2324
- return /* @__PURE__ */ jsx27(RadixMenu.Separator, { ref, className: cx(separator3, className), ...rest });
2464
+ return /* @__PURE__ */ jsx28(RadixMenu.Separator, { ref, className: cx(separator3, className), ...rest });
2325
2465
  }
2326
2466
  );
2327
- var DropdownMenuCheckboxItem = /* @__PURE__ */ forwardRef23(
2467
+ var DropdownMenuCheckboxItem = /* @__PURE__ */ forwardRef24(
2328
2468
  function DropdownMenuCheckboxItem2({ className, children, ...rest }, ref) {
2329
- return /* @__PURE__ */ jsxs23(RadixMenu.CheckboxItem, { ref, className: cx(item6, className), ...rest, children: [
2330
- /* @__PURE__ */ jsx27("span", { className: indicator, "aria-hidden": true, children: /* @__PURE__ */ jsx27(RadixMenu.ItemIndicator, { className: indicatorInner, children: rest.checked === "indeterminate" ? /* @__PURE__ */ jsx27(MinusIcon, { size: 16 }) : /* @__PURE__ */ jsx27(CheckIcon2, { size: 16 }) }) }),
2469
+ return /* @__PURE__ */ jsxs25(RadixMenu.CheckboxItem, { ref, className: cx(item6, className), ...rest, children: [
2470
+ /* @__PURE__ */ jsx28("span", { className: indicator, "aria-hidden": true, children: /* @__PURE__ */ jsx28(RadixMenu.ItemIndicator, { className: indicatorInner, children: rest.checked === "indeterminate" ? /* @__PURE__ */ jsx28(MinusIcon, { size: 16 }) : /* @__PURE__ */ jsx28(CheckIcon2, { size: 16 }) }) }),
2331
2471
  children
2332
2472
  ] });
2333
2473
  }
2334
2474
  );
2335
2475
  var DropdownMenuRadioGroup = RadixMenu.RadioGroup;
2336
- var DropdownMenuRadioItem = /* @__PURE__ */ forwardRef23(
2476
+ var DropdownMenuRadioItem = /* @__PURE__ */ forwardRef24(
2337
2477
  function DropdownMenuRadioItem2({ className, children, ...rest }, ref) {
2338
- return /* @__PURE__ */ jsxs23(RadixMenu.RadioItem, { ref, className: cx(item6, className), ...rest, children: [
2339
- /* @__PURE__ */ jsx27("span", { className: indicator, "aria-hidden": true, children: /* @__PURE__ */ jsx27(RadixMenu.ItemIndicator, { className: indicatorInner, children: /* @__PURE__ */ jsx27("span", { className: radioDot }) }) }),
2478
+ return /* @__PURE__ */ jsxs25(RadixMenu.RadioItem, { ref, className: cx(item6, className), ...rest, children: [
2479
+ /* @__PURE__ */ jsx28("span", { className: indicator, "aria-hidden": true, children: /* @__PURE__ */ jsx28(RadixMenu.ItemIndicator, { className: indicatorInner, children: /* @__PURE__ */ jsx28("span", { className: radioDot }) }) }),
2340
2480
  children
2341
2481
  ] });
2342
2482
  }
2343
2483
  );
2344
2484
  var DropdownMenuSub = RadixMenu.Sub;
2345
- var DropdownMenuSubTrigger = /* @__PURE__ */ forwardRef23(
2485
+ var DropdownMenuSubTrigger = /* @__PURE__ */ forwardRef24(
2346
2486
  function DropdownMenuSubTrigger2({ icon: icon7, className, children, ...rest }, ref) {
2347
- return /* @__PURE__ */ jsxs23(RadixMenu.SubTrigger, { ref, className: cx(item6, subTrigger, className), ...rest, children: [
2348
- icon7 && /* @__PURE__ */ jsx27("span", { className: icon4, "aria-hidden": true, children: icon7 }),
2487
+ return /* @__PURE__ */ jsxs25(RadixMenu.SubTrigger, { ref, className: cx(item6, subTrigger, className), ...rest, children: [
2488
+ icon7 && /* @__PURE__ */ jsx28("span", { className: icon4, "aria-hidden": true, children: icon7 }),
2349
2489
  children,
2350
- /* @__PURE__ */ jsx27("span", { className: subChevron, "aria-hidden": true, children: /* @__PURE__ */ jsx27(ChevronRightIcon3, { size: 16 }) })
2490
+ /* @__PURE__ */ jsx28("span", { className: subChevron, "aria-hidden": true, children: /* @__PURE__ */ jsx28(ChevronRightIcon3, { size: 16 }) })
2351
2491
  ] });
2352
2492
  }
2353
2493
  );
2354
- var DropdownMenuSubContent = /* @__PURE__ */ forwardRef23(
2494
+ var DropdownMenuSubContent = /* @__PURE__ */ forwardRef24(
2355
2495
  function DropdownMenuSubContent2({ className, style, sideOffset = 4, alignOffset = -5, collisionPadding = 8, ...rest }, ref) {
2356
2496
  const portal2 = usePortalProps();
2357
- return /* @__PURE__ */ jsx27(RadixMenu.Portal, { children: /* @__PURE__ */ jsx27(
2497
+ return /* @__PURE__ */ jsx28(RadixMenu.Portal, { children: /* @__PURE__ */ jsx28(
2358
2498
  RadixMenu.SubContent,
2359
2499
  {
2360
2500
  ref,
@@ -2370,7 +2510,7 @@ var DropdownMenuSubContent = /* @__PURE__ */ forwardRef23(
2370
2510
  );
2371
2511
 
2372
2512
  // src/components/NumberInput/NumberInput.tsx
2373
- import { forwardRef as forwardRef24, useEffect as useEffect10, useId as useId10, useRef as useRef12, useState as useState11 } from "react";
2513
+ import { forwardRef as forwardRef25, useEffect as useEffect10, useId as useId12, useRef as useRef12, useState as useState12 } from "react";
2374
2514
  import { MinusIcon as MinusIcon2, PlusIcon } from "@bestow-ui/icons";
2375
2515
 
2376
2516
  // src/components/NumberInput/NumberInput.css.ts
@@ -2381,12 +2521,12 @@ var stepper = /* @__PURE__ */ _7a46811({ defaultClassName: "_1vq2qhv3", variantC
2381
2521
  var unit = "_1vq2qhv2";
2382
2522
 
2383
2523
  // src/components/NumberInput/NumberInput.tsx
2384
- import { Fragment as Fragment6, jsx as jsx28, jsxs as jsxs24 } from "react/jsx-runtime";
2524
+ import { Fragment as Fragment7, jsx as jsx29, jsxs as jsxs26 } from "react/jsx-runtime";
2385
2525
  var MAX_DIGITS2 = 15;
2386
2526
  var isMeaningful = (char) => /[\d.-]/.test(char);
2387
2527
  var decimalsOf = (n) => Number.isFinite(n) ? String(n).split(".")[1]?.length ?? 0 : 0;
2388
2528
  var parse = (raw) => /\d/.test(raw) ? Number(raw) : null;
2389
- var NumberInput = /* @__PURE__ */ forwardRef24(
2529
+ var NumberInput = /* @__PURE__ */ forwardRef25(
2390
2530
  function NumberInput2(props, ref) {
2391
2531
  const {
2392
2532
  value: value3,
@@ -2413,7 +2553,7 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
2413
2553
  const isControlled = "value" in props;
2414
2554
  const m = useMessages();
2415
2555
  const inputRef = useRef12(null);
2416
- const generatedId = useId10();
2556
+ const generatedId = useId12();
2417
2557
  const inputId = id ?? generatedId;
2418
2558
  const precision = Math.max(0, precisionProp ?? decimalsOf(step2));
2419
2559
  const allowNegative = min === void 0 || min < 0;
@@ -2458,7 +2598,7 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
2458
2598
  }, [value3]);
2459
2599
  const current2 = parse(field4.raw);
2460
2600
  const valueText = (n) => `${format2(toRaw(n))}${unit2 ?? ""}`;
2461
- const [announcement, setAnnouncement] = useState11("");
2601
+ const [announcement, setAnnouncement] = useState12("");
2462
2602
  const setValue = (next, announce = true) => {
2463
2603
  setRaw(toRaw(next));
2464
2604
  emit(next);
@@ -2492,7 +2632,7 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
2492
2632
  field4.onKeyDown(event);
2493
2633
  }
2494
2634
  };
2495
- const stepper2 = (direction) => /* @__PURE__ */ jsx28(
2635
+ const stepper2 = (direction) => /* @__PURE__ */ jsx29(
2496
2636
  IconButton,
2497
2637
  {
2498
2638
  size: "sm",
@@ -2503,11 +2643,11 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
2503
2643
  onMouseDown: (event) => event.preventDefault(),
2504
2644
  onClick: () => stepBy(direction * step2),
2505
2645
  className: stepper({ size }),
2506
- children: direction < 0 ? /* @__PURE__ */ jsx28(MinusIcon2, {}) : /* @__PURE__ */ jsx28(PlusIcon, {})
2646
+ children: direction < 0 ? /* @__PURE__ */ jsx29(MinusIcon2, {}) : /* @__PURE__ */ jsx29(PlusIcon, {})
2507
2647
  }
2508
2648
  );
2509
- return /* @__PURE__ */ jsxs24(Fragment6, { children: [
2510
- /* @__PURE__ */ jsx28(
2649
+ return /* @__PURE__ */ jsxs26(Fragment7, { children: [
2650
+ /* @__PURE__ */ jsx29(
2511
2651
  TextField,
2512
2652
  {
2513
2653
  ref: mergeRefs(ref, inputRef),
@@ -2535,23 +2675,23 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
2535
2675
  disabled,
2536
2676
  readOnly,
2537
2677
  startAdornment: hideStepper ? void 0 : stepper2(-1),
2538
- endAdornment: unit2 || !hideStepper ? /* @__PURE__ */ jsxs24("span", { className: end, children: [
2539
- unit2 && /* @__PURE__ */ jsx28("span", { className: unit, children: unit2 }),
2678
+ endAdornment: unit2 || !hideStepper ? /* @__PURE__ */ jsxs26("span", { className: end, children: [
2679
+ unit2 && /* @__PURE__ */ jsx29("span", { className: unit, children: unit2 }),
2540
2680
  !hideStepper && stepper2(1)
2541
2681
  ] }) : void 0,
2542
2682
  className: cx(input4, className),
2543
2683
  ...rest
2544
2684
  }
2545
2685
  ),
2546
- name && /* @__PURE__ */ jsx28("input", { type: "hidden", name, value: current2 === null ? "" : String(current2) }),
2547
- /* @__PURE__ */ jsx28("span", { "aria-live": "assertive", "aria-atomic": "true", className: visuallyHidden, children: announcement })
2686
+ name && /* @__PURE__ */ jsx29("input", { type: "hidden", name, value: current2 === null ? "" : String(current2) }),
2687
+ /* @__PURE__ */ jsx29("span", { "aria-live": "assertive", "aria-atomic": "true", className: visuallyHidden, children: announcement })
2548
2688
  ] });
2549
2689
  }
2550
2690
  );
2551
2691
 
2552
2692
  // src/components/Pagination/Pagination.tsx
2553
2693
  import { ChevronLeftIcon as ChevronLeftIcon2, ChevronRightIcon as ChevronRightIcon4 } from "@bestow-ui/icons";
2554
- import { forwardRef as forwardRef25, useState as useState12 } from "react";
2694
+ import { forwardRef as forwardRef26, useState as useState13 } from "react";
2555
2695
 
2556
2696
  // src/components/Pagination/getPaginationItems.ts
2557
2697
  var range = (start, end2) => end2 < start ? [] : Array.from({ length: end2 - start + 1 }, (_, i) => start + i);
@@ -2567,14 +2707,14 @@ function getPaginationItems(page, totalPages, siblingCount = 1, boundaryCount =
2567
2707
  Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2),
2568
2708
  endPages.length > 0 ? endPages[0] - 2 : totalPages - 1
2569
2709
  );
2570
- const items2 = [...startPages];
2571
- if (siblingsStart > boundaryCount + 2) items2.push("ellipsis-start");
2572
- else if (boundaryCount + 1 < totalPages - boundaryCount) items2.push(boundaryCount + 1);
2573
- items2.push(...range(siblingsStart, siblingsEnd));
2574
- if (siblingsEnd < totalPages - boundaryCount - 1) items2.push("ellipsis-end");
2575
- else if (totalPages - boundaryCount > boundaryCount) items2.push(totalPages - boundaryCount);
2576
- items2.push(...endPages);
2577
- return items2;
2710
+ const items3 = [...startPages];
2711
+ if (siblingsStart > boundaryCount + 2) items3.push("ellipsis-start");
2712
+ else if (boundaryCount + 1 < totalPages - boundaryCount) items3.push(boundaryCount + 1);
2713
+ items3.push(...range(siblingsStart, siblingsEnd));
2714
+ if (siblingsEnd < totalPages - boundaryCount - 1) items3.push("ellipsis-end");
2715
+ else if (totalPages - boundaryCount > boundaryCount) items3.push(totalPages - boundaryCount);
2716
+ items3.push(...endPages);
2717
+ return items3;
2578
2718
  }
2579
2719
 
2580
2720
  // src/components/Pagination/Pagination.css.ts
@@ -2584,8 +2724,8 @@ var item7 = /* @__PURE__ */ _7a46812({ defaultClassName: "_1iraoak1", variantCla
2584
2724
  var list5 = "_1iraoak0";
2585
2725
 
2586
2726
  // src/components/Pagination/Pagination.tsx
2587
- import { jsx as jsx29, jsxs as jsxs25 } from "react/jsx-runtime";
2588
- var Pagination = /* @__PURE__ */ forwardRef25(function Pagination2({
2727
+ import { jsx as jsx30, jsxs as jsxs27 } from "react/jsx-runtime";
2728
+ var Pagination = /* @__PURE__ */ forwardRef26(function Pagination2({
2589
2729
  totalPages,
2590
2730
  page: pageProp,
2591
2731
  defaultPage = 1,
@@ -2598,7 +2738,7 @@ var Pagination = /* @__PURE__ */ forwardRef25(function Pagination2({
2598
2738
  "aria-label": ariaLabelProp,
2599
2739
  ...rest
2600
2740
  }, ref) {
2601
- const [uncontrolledPage, setUncontrolledPage] = useState12(defaultPage);
2741
+ const [uncontrolledPage, setUncontrolledPage] = useState13(defaultPage);
2602
2742
  const m = useMessages();
2603
2743
  const ariaLabel = ariaLabelProp ?? m.pagination ?? "\uD398\uC774\uC9C0 \uD0D0\uC0C9";
2604
2744
  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`);
@@ -2610,8 +2750,8 @@ var Pagination = /* @__PURE__ */ forwardRef25(function Pagination2({
2610
2750
  onPageChange?.(next);
2611
2751
  };
2612
2752
  const itemClass = item7({ size });
2613
- return /* @__PURE__ */ jsx29("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ jsxs25("ul", { className: list5, children: [
2614
- /* @__PURE__ */ jsx29("li", { children: /* @__PURE__ */ jsx29(
2753
+ return /* @__PURE__ */ jsx30("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ jsxs27("ul", { className: list5, children: [
2754
+ /* @__PURE__ */ jsx30("li", { children: /* @__PURE__ */ jsx30(
2615
2755
  "button",
2616
2756
  {
2617
2757
  type: "button",
@@ -2619,11 +2759,11 @@ var Pagination = /* @__PURE__ */ forwardRef25(function Pagination2({
2619
2759
  "aria-label": getItemLabel("previous", page - 1),
2620
2760
  disabled: page <= 1,
2621
2761
  onClick: () => goTo(page - 1),
2622
- children: /* @__PURE__ */ jsx29(ChevronLeftIcon2, { size: 16 })
2762
+ children: /* @__PURE__ */ jsx30(ChevronLeftIcon2, { size: 16 })
2623
2763
  }
2624
2764
  ) }),
2625
2765
  getPaginationItems(page, totalPages, siblingCount, boundaryCount).map(
2626
- (item9) => typeof item9 === "number" ? /* @__PURE__ */ jsx29("li", { children: /* @__PURE__ */ jsx29(
2766
+ (item9) => typeof item9 === "number" ? /* @__PURE__ */ jsx30("li", { children: /* @__PURE__ */ jsx30(
2627
2767
  "button",
2628
2768
  {
2629
2769
  type: "button",
@@ -2633,9 +2773,9 @@ var Pagination = /* @__PURE__ */ forwardRef25(function Pagination2({
2633
2773
  onClick: () => goTo(item9),
2634
2774
  children: item9
2635
2775
  }
2636
- ) }, item9) : /* @__PURE__ */ jsx29("li", { "aria-hidden": true, className: cx(itemClass, ellipsis), children: "\u2026" }, item9)
2776
+ ) }, item9) : /* @__PURE__ */ jsx30("li", { "aria-hidden": true, className: cx(itemClass, ellipsis), children: "\u2026" }, item9)
2637
2777
  ),
2638
- /* @__PURE__ */ jsx29("li", { children: /* @__PURE__ */ jsx29(
2778
+ /* @__PURE__ */ jsx30("li", { children: /* @__PURE__ */ jsx30(
2639
2779
  "button",
2640
2780
  {
2641
2781
  type: "button",
@@ -2643,22 +2783,22 @@ var Pagination = /* @__PURE__ */ forwardRef25(function Pagination2({
2643
2783
  "aria-label": getItemLabel("next", page + 1),
2644
2784
  disabled: page >= totalPages,
2645
2785
  onClick: () => goTo(page + 1),
2646
- children: /* @__PURE__ */ jsx29(ChevronRightIcon4, { size: 16 })
2786
+ children: /* @__PURE__ */ jsx30(ChevronRightIcon4, { size: 16 })
2647
2787
  }
2648
2788
  ) })
2649
2789
  ] }) });
2650
2790
  });
2651
2791
 
2652
2792
  // src/components/PhoneNumberInput/PhoneNumberInput.tsx
2653
- import { forwardRef as forwardRef26, useRef as useRef13 } from "react";
2793
+ import { forwardRef as forwardRef27, useRef as useRef13 } from "react";
2654
2794
  import { formatPhoneNumber, phoneNumberMaxDigits } from "@bestow-ui/korean-utils";
2655
- import { jsx as jsx30 } from "react/jsx-runtime";
2795
+ import { jsx as jsx31 } from "react/jsx-runtime";
2656
2796
  var sanitize3 = (input6) => {
2657
2797
  const digits = input6.replace(/\D/g, "");
2658
2798
  return digits.slice(0, phoneNumberMaxDigits(digits));
2659
2799
  };
2660
2800
  var isDigit4 = (char) => /\d/.test(char);
2661
- var PhoneNumberInput = /* @__PURE__ */ forwardRef26(
2801
+ var PhoneNumberInput = /* @__PURE__ */ forwardRef27(
2662
2802
  function PhoneNumberInput2(props, ref) {
2663
2803
  const {
2664
2804
  value: value3,
@@ -2682,7 +2822,7 @@ var PhoneNumberInput = /* @__PURE__ */ forwardRef26(
2682
2822
  isMeaningful: isDigit4,
2683
2823
  inputRef
2684
2824
  });
2685
- return /* @__PURE__ */ jsx30(
2825
+ return /* @__PURE__ */ jsx31(
2686
2826
  TextField,
2687
2827
  {
2688
2828
  ref: mergeRefs(ref, inputRef),
@@ -2704,21 +2844,21 @@ var PhoneNumberInput = /* @__PURE__ */ forwardRef26(
2704
2844
  );
2705
2845
 
2706
2846
  // src/components/RadioGroup/RadioGroup.tsx
2707
- import { forwardRef as forwardRef27, useId as useId11, useState as useState13 } from "react";
2847
+ import { forwardRef as forwardRef28, useId as useId13, useState as useState14 } from "react";
2708
2848
 
2709
2849
  // src/components/RadioGroup/RadioGroup.css.ts
2710
2850
  import { createRuntimeFn as _7a46813 } from "@vanilla-extract/recipes/createRuntimeFn";
2711
- var description4 = "_1w9iwjmc";
2712
- var groupLabel = "_1w9iwjmd";
2713
- var items = /* @__PURE__ */ _7a46813({ defaultClassName: "_1w9iwjm0", variantClassNames: { orientation: { vertical: "_1w9iwjm1", horizontal: "_1w9iwjm2" } }, defaultVariants: { orientation: "vertical" }, compoundVariants: [] });
2851
+ var description5 = "_1w9iwjmc";
2852
+ var groupLabel2 = "_1w9iwjmd";
2853
+ var items2 = /* @__PURE__ */ _7a46813({ defaultClassName: "_1w9iwjm0", variantClassNames: { orientation: { vertical: "_1w9iwjm1", horizontal: "_1w9iwjm2" } }, defaultVariants: { orientation: "vertical" }, compoundVariants: [] });
2714
2854
  var labelText = "_1w9iwjmb";
2715
- var option = /* @__PURE__ */ _7a46813({ defaultClassName: "_1w9iwjm3", variantClassNames: { size: { sm: "_1w9iwjm4", md: "_1w9iwjm5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
2855
+ var option2 = /* @__PURE__ */ _7a46813({ defaultClassName: "_1w9iwjm3", variantClassNames: { size: { sm: "_1w9iwjm4", md: "_1w9iwjm5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
2716
2856
  var radio = /* @__PURE__ */ _7a46813({ defaultClassName: "_1w9iwjm7", variantClassNames: { size: { sm: "_1w9iwjm8", md: "_1w9iwjm9" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
2717
2857
  var text = "_1w9iwjma";
2718
2858
 
2719
2859
  // src/components/RadioGroup/RadioGroup.tsx
2720
- import { jsx as jsx31, jsxs as jsxs26 } from "react/jsx-runtime";
2721
- var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref) {
2860
+ import { jsx as jsx32, jsxs as jsxs28 } from "react/jsx-runtime";
2861
+ var RadioGroup2 = /* @__PURE__ */ forwardRef28(function RadioGroup3(props, ref) {
2722
2862
  const {
2723
2863
  options,
2724
2864
  value: value3,
@@ -2737,9 +2877,9 @@ var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref)
2737
2877
  className
2738
2878
  } = props;
2739
2879
  const isControlled = "value" in props;
2740
- const [innerValue, setInnerValue] = useState13(defaultValue ?? "");
2880
+ const [innerValue, setInnerValue] = useState14(defaultValue ?? "");
2741
2881
  const current2 = isControlled ? value3 ?? "" : innerValue;
2742
- const generatedId = useId11();
2882
+ const generatedId = useId13();
2743
2883
  const baseId = id ?? generatedId;
2744
2884
  const labelId = label6 ? `${baseId}-label` : void 0;
2745
2885
  const helperId = helperText3 ? `${baseId}-helper` : void 0;
@@ -2750,12 +2890,12 @@ var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref)
2750
2890
  if (!isControlled) setInnerValue(next);
2751
2891
  onValueChange?.(next);
2752
2892
  };
2753
- return /* @__PURE__ */ jsxs26("div", { className: cx(field, className), children: [
2754
- label6 && /* @__PURE__ */ jsxs26("span", { id: labelId, className: cx(label, groupLabel), children: [
2893
+ return /* @__PURE__ */ jsxs28("div", { className: cx(field, className), children: [
2894
+ label6 && /* @__PURE__ */ jsxs28("span", { id: labelId, className: cx(label, groupLabel2), children: [
2755
2895
  label6,
2756
- required && /* @__PURE__ */ jsx31("span", { className: requiredMark, "aria-hidden": true, children: "*" })
2896
+ required && /* @__PURE__ */ jsx32("span", { className: requiredMark, "aria-hidden": true, children: "*" })
2757
2897
  ] }),
2758
- /* @__PURE__ */ jsx31(
2898
+ /* @__PURE__ */ jsx32(
2759
2899
  "div",
2760
2900
  {
2761
2901
  ref,
@@ -2767,23 +2907,23 @@ var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref)
2767
2907
  "aria-invalid": error || void 0,
2768
2908
  "aria-required": required || void 0,
2769
2909
  "data-disabled": disabled || void 0,
2770
- className: items({ orientation }),
2771
- children: options.map((option2) => {
2772
- const itemId = `${baseId}-${option2.value}`;
2773
- const descriptionId = option2.description ? `${itemId}-description` : void 0;
2774
- const itemDisabled = disabled || option2.disabled;
2775
- const checked = option2.value === current2;
2776
- return /* @__PURE__ */ jsxs26("div", { className: option({ size }), "data-disabled": itemDisabled || void 0, children: [
2777
- /* @__PURE__ */ jsx31(
2910
+ className: items2({ orientation }),
2911
+ children: options.map((option3) => {
2912
+ const itemId = `${baseId}-${option3.value}`;
2913
+ const descriptionId = option3.description ? `${itemId}-description` : void 0;
2914
+ const itemDisabled = disabled || option3.disabled;
2915
+ const checked = option3.value === current2;
2916
+ return /* @__PURE__ */ jsxs28("div", { className: option2({ size }), "data-disabled": itemDisabled || void 0, children: [
2917
+ /* @__PURE__ */ jsx32(
2778
2918
  "input",
2779
2919
  {
2780
2920
  type: "radio",
2781
2921
  id: itemId,
2782
2922
  name: groupName,
2783
2923
  form: detachedForm,
2784
- value: option2.value,
2924
+ value: option3.value,
2785
2925
  checked,
2786
- onChange: () => handleChange(option2.value),
2926
+ onChange: () => handleChange(option3.value),
2787
2927
  disabled: itemDisabled,
2788
2928
  required,
2789
2929
  "aria-describedby": descriptionId,
@@ -2791,20 +2931,166 @@ var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref)
2791
2931
  className: radio({ size })
2792
2932
  }
2793
2933
  ),
2794
- /* @__PURE__ */ jsxs26("span", { className: text, children: [
2795
- /* @__PURE__ */ jsx31("label", { htmlFor: itemId, className: labelText, children: option2.label }),
2796
- option2.description && /* @__PURE__ */ jsx31("span", { id: descriptionId, className: description4, children: option2.description })
2934
+ /* @__PURE__ */ jsxs28("span", { className: text, children: [
2935
+ /* @__PURE__ */ jsx32("label", { htmlFor: itemId, className: labelText, children: option3.label }),
2936
+ option3.description && /* @__PURE__ */ jsx32("span", { id: descriptionId, className: description5, children: option3.description })
2797
2937
  ] })
2798
- ] }, option2.value);
2938
+ ] }, option3.value);
2799
2939
  })
2800
2940
  }
2801
2941
  ),
2802
- helperText3 && /* @__PURE__ */ jsx31("p", { id: helperId, className: helperText({ error }), children: helperText3 })
2942
+ helperText3 && /* @__PURE__ */ jsx32("p", { id: helperId, className: helperText({ error }), children: helperText3 })
2803
2943
  ] });
2804
2944
  });
2805
2945
 
2946
+ // src/components/ResidentNumberInput/ResidentNumberInput.tsx
2947
+ import { forwardRef as forwardRef29, useId as useId14, useRef as useRef14, useState as useState15 } from "react";
2948
+ import { isValidResidentNumber, parseResidentNumber } from "@bestow-ui/korean-utils";
2949
+
2950
+ // src/components/ResidentNumberInput/ResidentNumberInput.css.ts
2951
+ var back = "_1llmfr72";
2952
+ var backOne = "_1llmfr73";
2953
+ var front = "_1llmfr71";
2954
+ var hiddenDigits = "_1llmfr75";
2955
+ var row3 = "_1llmfr70";
2956
+ var separator4 = "_1llmfr74";
2957
+
2958
+ // src/components/ResidentNumberInput/ResidentNumberInput.tsx
2959
+ import { jsx as jsx33, jsxs as jsxs29 } from "react/jsx-runtime";
2960
+ var onlyDigits = (input6) => input6.replace(/\D/g, "");
2961
+ var ResidentNumberInput = /* @__PURE__ */ forwardRef29(
2962
+ function ResidentNumberInput2(props, ref) {
2963
+ const {
2964
+ value: value3,
2965
+ defaultValue,
2966
+ onValueChange,
2967
+ digits = 13,
2968
+ validate = true,
2969
+ invalidText: invalidTextProp,
2970
+ label: labelProp,
2971
+ helperText: helperText3,
2972
+ error,
2973
+ required,
2974
+ disabled,
2975
+ size,
2976
+ name,
2977
+ id,
2978
+ className,
2979
+ onBlur
2980
+ } = props;
2981
+ const m = useMessages();
2982
+ const label6 = labelProp ?? m.residentNumber ?? "\uC8FC\uBBFC\uB4F1\uB85D\uBC88\uD638";
2983
+ const invalidText = invalidTextProp ?? m.residentNumberInvalid ?? "\uC62C\uBC14\uB978 \uC8FC\uBBFC\uB4F1\uB85D\uBC88\uD638\uAC00 \uC544\uB2C8\uC5D0\uC694. \uC0DD\uB144\uC6D4\uC77C\uACFC \uB4B7\uC790\uB9AC \uCCAB \uC22B\uC790\uB97C \uD655\uC778\uD574 \uC8FC\uC138\uC694.";
2984
+ const incompleteText = m.residentNumberIncomplete?.(digits) ?? `${digits}\uC790\uB9AC\uB97C \uBAA8\uB450 \uC785\uB825\uD574 \uC8FC\uC138\uC694.`;
2985
+ const backLength = digits - 6;
2986
+ const isControlled = "value" in props;
2987
+ const split = (v) => {
2988
+ const d = onlyDigits(v).slice(0, digits);
2989
+ return { front: d.slice(0, 6), back: d.slice(6) };
2990
+ };
2991
+ const [parts, setParts] = useState15(() => split((isControlled ? value3 : defaultValue) ?? ""));
2992
+ const current2 = isControlled && (value3 ?? "") !== parts.front + parts.back ? split(value3 ?? "") : parts;
2993
+ const raw = current2.front + current2.back;
2994
+ const generatedId = useId14();
2995
+ const baseId = id ?? generatedId;
2996
+ const frontId = `${baseId}-front`;
2997
+ const backId = `${baseId}-back`;
2998
+ const labelId = `${baseId}-label`;
2999
+ const frontRef = useRef14(null);
3000
+ const backRef = useRef14(null);
3001
+ const complete = current2.front.length === 6 && current2.back.length === backLength;
3002
+ const isValid = (v) => digits === 13 ? isValidResidentNumber(v) : parseResidentNumber(v) !== null;
3003
+ const update = (next) => {
3004
+ setParts(next);
3005
+ const nextRaw = next.front + next.back;
3006
+ if (nextRaw === raw) return;
3007
+ const nextComplete = next.front.length === 6 && next.back.length === backLength;
3008
+ onValueChange?.(nextRaw, nextComplete ? isValid(nextRaw) : null);
3009
+ };
3010
+ const [touched, setTouched] = useState15(false);
3011
+ const autoInvalid = validate && raw.length > 0 && (complete ? !isValid(raw) : touched);
3012
+ const showAuto = autoInvalid && error === void 0;
3013
+ const invalid = error ?? autoInvalid;
3014
+ const helper = showAuto ? complete ? invalidText : incompleteText : helperText3;
3015
+ const helperId = helper ? `${baseId}-helper` : void 0;
3016
+ const announcement = useDelayedAnnouncement(showAuto && complete ? invalidText : "");
3017
+ const common = {
3018
+ inputMode: "numeric",
3019
+ autoComplete: "off",
3020
+ size,
3021
+ disabled,
3022
+ required,
3023
+ invalid,
3024
+ "aria-describedby": helperId
3025
+ };
3026
+ return /* @__PURE__ */ jsxs29(
3027
+ "div",
3028
+ {
3029
+ className: cx(field, className),
3030
+ onBlur: (event) => {
3031
+ if (!event.currentTarget.contains(event.relatedTarget)) setTouched(true);
3032
+ onBlur?.(event);
3033
+ },
3034
+ children: [
3035
+ /* @__PURE__ */ jsxs29("label", { id: labelId, htmlFor: frontId, className: label, children: [
3036
+ label6,
3037
+ required && /* @__PURE__ */ jsx33("span", { className: requiredMark, "aria-hidden": true, children: "*" })
3038
+ ] }),
3039
+ /* @__PURE__ */ jsxs29("div", { role: "group", id: baseId, "aria-labelledby": labelId, className: row3, children: [
3040
+ /* @__PURE__ */ jsx33(
3041
+ Input,
3042
+ {
3043
+ ...common,
3044
+ ref: mergeRefs(ref, frontRef),
3045
+ id: frontId,
3046
+ "aria-label": m.residentNumberFront ?? "\uC55E 6\uC790\uB9AC",
3047
+ placeholder: "000000",
3048
+ rootClassName: front,
3049
+ maxLength: 6,
3050
+ value: current2.front,
3051
+ onChange: (event) => update({ front: onlyDigits(event.target.value).slice(0, 6), back: current2.back }),
3052
+ onPaste: (event) => {
3053
+ const pasted = onlyDigits(event.clipboardData.getData("text"));
3054
+ if (pasted.length <= 6) return;
3055
+ event.preventDefault();
3056
+ update(split(pasted));
3057
+ }
3058
+ }
3059
+ ),
3060
+ /* @__PURE__ */ jsx33("span", { className: separator4, "aria-hidden": true, children: "-" }),
3061
+ /* @__PURE__ */ jsx33(
3062
+ Input,
3063
+ {
3064
+ ...common,
3065
+ ref: backRef,
3066
+ id: backId,
3067
+ type: digits === 13 ? "password" : "text",
3068
+ "aria-label": digits === 13 ? m.residentNumberBack ?? "\uB4A4 7\uC790\uB9AC" : m.residentNumberBackFirst ?? "\uB4B7\uC790\uB9AC \uCCAB \uC22B\uC790",
3069
+ maxLength: backLength,
3070
+ rootClassName: digits === 13 ? back : backOne,
3071
+ value: current2.back,
3072
+ onChange: (event) => update({ front: current2.front, back: onlyDigits(event.target.value).slice(0, backLength) }),
3073
+ onKeyDown: (event) => {
3074
+ if (event.key === "Backspace" && current2.back === "") {
3075
+ event.preventDefault();
3076
+ frontRef.current?.focus();
3077
+ }
3078
+ }
3079
+ }
3080
+ ),
3081
+ digits === 7 && /* @__PURE__ */ jsx33("span", { className: hiddenDigits, "aria-hidden": true, children: "\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF" })
3082
+ ] }),
3083
+ helper && /* @__PURE__ */ jsx33("p", { id: helperId, className: helperText({ error: invalid }), children: helper }),
3084
+ name && /* @__PURE__ */ jsx33("input", { type: "hidden", name, value: raw }),
3085
+ /* @__PURE__ */ jsx33("span", { role: "status", className: visuallyHidden, children: announcement })
3086
+ ]
3087
+ }
3088
+ );
3089
+ }
3090
+ );
3091
+
2806
3092
  // src/components/SegmentedControl/SegmentedControl.tsx
2807
- import { forwardRef as forwardRef28, useId as useId12, useRef as useRef14, useState as useState14 } from "react";
3093
+ import { forwardRef as forwardRef30, useId as useId15, useRef as useRef15, useState as useState16 } from "react";
2808
3094
 
2809
3095
  // src/components/SegmentedControl/SegmentedControl.css.ts
2810
3096
  import { createRuntimeFn as _7a46814 } from "@vanilla-extract/recipes/createRuntimeFn";
@@ -2813,9 +3099,9 @@ var item8 = /* @__PURE__ */ _7a46814({ defaultClassName: "_1h65mmo2", variantCla
2813
3099
  var root9 = /* @__PURE__ */ _7a46814({ defaultClassName: "_1h65mmo0", variantClassNames: { fullWidth: { true: "_1h65mmo1" } }, defaultVariants: {}, compoundVariants: [] });
2814
3100
 
2815
3101
  // src/components/SegmentedControl/SegmentedControl.tsx
2816
- import { jsx as jsx32, jsxs as jsxs27 } from "react/jsx-runtime";
3102
+ import { jsx as jsx34, jsxs as jsxs30 } from "react/jsx-runtime";
2817
3103
  var NEXT_KEYS = { ArrowRight: 1, ArrowDown: 1, ArrowLeft: -1, ArrowUp: -1 };
2818
- var SegmentedControl = /* @__PURE__ */ forwardRef28(
3104
+ var SegmentedControl = /* @__PURE__ */ forwardRef30(
2819
3105
  function SegmentedControl2(props, ref) {
2820
3106
  const {
2821
3107
  options,
@@ -2832,11 +3118,11 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
2832
3118
  className
2833
3119
  } = props;
2834
3120
  const isControlled = "value" in props;
2835
- const [innerValue, setInnerValue] = useState14(defaultValue ?? "");
3121
+ const [innerValue, setInnerValue] = useState16(defaultValue ?? "");
2836
3122
  const current2 = isControlled ? value3 ?? "" : innerValue;
2837
- const generatedId = useId12();
3123
+ const generatedId = useId15();
2838
3124
  const labelId = label6 ? `${id ?? generatedId}-label` : void 0;
2839
- const itemRefs = useRef14([]);
3125
+ const itemRefs = useRef15([]);
2840
3126
  const isEnabled = (index) => !disabled && !options[index]?.disabled;
2841
3127
  const select2 = (index) => {
2842
3128
  const next = options[index].value;
@@ -2844,7 +3130,7 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
2844
3130
  if (!isControlled) setInnerValue(next);
2845
3131
  onValueChange?.(next);
2846
3132
  };
2847
- const checkedIndex = options.findIndex((option2) => option2.value === current2);
3133
+ const checkedIndex = options.findIndex((option3) => option3.value === current2);
2848
3134
  const tabStop = checkedIndex >= 0 && isEnabled(checkedIndex) ? checkedIndex : options.findIndex((_, i) => isEnabled(i));
2849
3135
  const handleKeyDown = (event, index) => {
2850
3136
  let target = -1;
@@ -2867,7 +3153,7 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
2867
3153
  itemRefs.current[target]?.focus();
2868
3154
  select2(target);
2869
3155
  };
2870
- const group = /* @__PURE__ */ jsxs27(
3156
+ const group = /* @__PURE__ */ jsxs30(
2871
3157
  "div",
2872
3158
  {
2873
3159
  ref,
@@ -2878,9 +3164,9 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
2878
3164
  "aria-disabled": disabled || void 0,
2879
3165
  className: cx(root9({ fullWidth }), !label6 && className),
2880
3166
  children: [
2881
- options.map((option2, index) => {
3167
+ options.map((option3, index) => {
2882
3168
  const checked = index === checkedIndex;
2883
- return /* @__PURE__ */ jsxs27(
3169
+ return /* @__PURE__ */ jsxs30(
2884
3170
  "button",
2885
3171
  {
2886
3172
  ref: (node) => {
@@ -2897,27 +3183,27 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
2897
3183
  onClick: () => select2(index),
2898
3184
  onKeyDown: (event) => handleKeyDown(event, index),
2899
3185
  children: [
2900
- option2.icon && /* @__PURE__ */ jsx32("span", { "aria-hidden": true, className: icon5, children: option2.icon }),
2901
- option2.label
3186
+ option3.icon && /* @__PURE__ */ jsx34("span", { "aria-hidden": true, className: icon5, children: option3.icon }),
3187
+ option3.label
2902
3188
  ]
2903
3189
  },
2904
- option2.value
3190
+ option3.value
2905
3191
  );
2906
3192
  }),
2907
- name && /* @__PURE__ */ jsx32("input", { type: "hidden", name, value: current2 })
3193
+ name && /* @__PURE__ */ jsx34("input", { type: "hidden", name, value: current2 })
2908
3194
  ]
2909
3195
  }
2910
3196
  );
2911
3197
  if (!label6) return group;
2912
- return /* @__PURE__ */ jsxs27("div", { className: cx(field, className), children: [
2913
- /* @__PURE__ */ jsx32("span", { id: labelId, className: label, children: label6 }),
3198
+ return /* @__PURE__ */ jsxs30("div", { className: cx(field, className), children: [
3199
+ /* @__PURE__ */ jsx34("span", { id: labelId, className: label, children: label6 }),
2914
3200
  group
2915
3201
  ] });
2916
3202
  }
2917
3203
  );
2918
3204
 
2919
3205
  // src/components/NativeSelect/NativeSelect.tsx
2920
- import { forwardRef as forwardRef29, useId as useId13 } from "react";
3206
+ import { forwardRef as forwardRef31, useId as useId16 } from "react";
2921
3207
  import { ChevronDownIcon as ChevronDownIcon4 } from "@bestow-ui/icons";
2922
3208
 
2923
3209
  // src/components/NativeSelect/NativeSelect.css.ts
@@ -2927,8 +3213,8 @@ var select = /* @__PURE__ */ _7a46815({ defaultClassName: "_5silym1", variantCla
2927
3213
  var wrapper = "_5silym0";
2928
3214
 
2929
3215
  // src/components/NativeSelect/NativeSelect.tsx
2930
- import { jsx as jsx33, jsxs as jsxs28 } from "react/jsx-runtime";
2931
- var NativeSelect = /* @__PURE__ */ forwardRef29(function NativeSelect2({
3216
+ import { jsx as jsx35, jsxs as jsxs31 } from "react/jsx-runtime";
3217
+ var NativeSelect = /* @__PURE__ */ forwardRef31(function NativeSelect2({
2932
3218
  options,
2933
3219
  onValueChange,
2934
3220
  onChange,
@@ -2948,26 +3234,26 @@ var NativeSelect = /* @__PURE__ */ forwardRef29(function NativeSelect2({
2948
3234
  "aria-describedby": ariaDescribedBy,
2949
3235
  ...rest
2950
3236
  }, ref) {
2951
- const generatedId = useId13();
3237
+ const generatedId = useId16();
2952
3238
  const selectId = id ?? generatedId;
2953
3239
  const helperId = helperText3 ? `${selectId}-helper` : void 0;
2954
3240
  const handleChange = (event) => {
2955
3241
  onChange?.(event);
2956
3242
  onValueChange?.(event.target.value);
2957
3243
  };
2958
- return /* @__PURE__ */ jsxs28("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
2959
- label6 && /* @__PURE__ */ jsxs28("label", { htmlFor: selectId, className: label, children: [
3244
+ return /* @__PURE__ */ jsxs31("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
3245
+ label6 && /* @__PURE__ */ jsxs31("label", { htmlFor: selectId, className: label, children: [
2960
3246
  label6,
2961
- required && /* @__PURE__ */ jsx33("span", { className: requiredMark, "aria-hidden": true, children: "*" })
3247
+ required && /* @__PURE__ */ jsx35("span", { className: requiredMark, "aria-hidden": true, children: "*" })
2962
3248
  ] }),
2963
- /* @__PURE__ */ jsxs28(
3249
+ /* @__PURE__ */ jsxs31(
2964
3250
  "span",
2965
3251
  {
2966
- className: cx(root3({ size, fullWidth }), wrapper),
3252
+ className: cx(root({ size, fullWidth }), wrapper),
2967
3253
  "data-invalid": error || void 0,
2968
3254
  "data-disabled": disabled || void 0,
2969
3255
  children: [
2970
- /* @__PURE__ */ jsxs28(
3256
+ /* @__PURE__ */ jsxs31(
2971
3257
  "select",
2972
3258
  {
2973
3259
  ref,
@@ -2982,25 +3268,25 @@ var NativeSelect = /* @__PURE__ */ forwardRef29(function NativeSelect2({
2982
3268
  className: cx(select({ size }), className),
2983
3269
  ...rest,
2984
3270
  children: [
2985
- placeholder !== void 0 && /* @__PURE__ */ jsx33("option", { value: "", disabled: true, children: placeholder }),
2986
- options ? options.map((option2) => /* @__PURE__ */ jsx33("option", { value: option2.value, disabled: option2.disabled, children: option2.label }, option2.value)) : children
3271
+ placeholder !== void 0 && /* @__PURE__ */ jsx35("option", { value: "", disabled: true, children: placeholder }),
3272
+ options ? options.map((option3) => /* @__PURE__ */ jsx35("option", { value: option3.value, disabled: option3.disabled, children: option3.label }, option3.value)) : children
2987
3273
  ]
2988
3274
  }
2989
3275
  ),
2990
- /* @__PURE__ */ jsx33(ChevronDownIcon4, { size: 16, className: icon6({ size }) })
3276
+ /* @__PURE__ */ jsx35(ChevronDownIcon4, { size: 16, className: icon6({ size }) })
2991
3277
  ]
2992
3278
  }
2993
3279
  ),
2994
- helperText3 && /* @__PURE__ */ jsx33("p", { id: helperId, className: helperText({ error }), children: helperText3 })
3280
+ helperText3 && /* @__PURE__ */ jsx35("p", { id: helperId, className: helperText({ error }), children: helperText3 })
2995
3281
  ] });
2996
3282
  });
2997
3283
 
2998
3284
  // src/components/Select/Select.tsx
2999
3285
  import * as RadixSelect from "@radix-ui/react-select";
3000
- import { forwardRef as forwardRef30, useId as useId14 } from "react";
3286
+ import { forwardRef as forwardRef32, useId as useId17 } from "react";
3001
3287
  import { CheckIcon as CheckIcon3, ChevronDownIcon as ChevronDownIcon5 } from "@bestow-ui/icons";
3002
- import { jsx as jsx34, jsxs as jsxs29 } from "react/jsx-runtime";
3003
- var Select = /* @__PURE__ */ forwardRef30(function Select2(props, ref) {
3288
+ import { jsx as jsx36, jsxs as jsxs32 } from "react/jsx-runtime";
3289
+ var Select = /* @__PURE__ */ forwardRef32(function Select2(props, ref) {
3004
3290
  const {
3005
3291
  options,
3006
3292
  value: value3,
@@ -3020,16 +3306,16 @@ var Select = /* @__PURE__ */ forwardRef30(function Select2(props, ref) {
3020
3306
  className
3021
3307
  } = props;
3022
3308
  const isControlled = "value" in props;
3023
- const generatedId = useId14();
3309
+ const generatedId = useId17();
3024
3310
  const triggerId = id ?? generatedId;
3025
3311
  const helperId = helperText3 ? `${triggerId}-helper` : void 0;
3026
3312
  const portal2 = usePortalProps();
3027
- return /* @__PURE__ */ jsxs29("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
3028
- label6 && /* @__PURE__ */ jsxs29("label", { htmlFor: triggerId, className: label, children: [
3313
+ return /* @__PURE__ */ jsxs32("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
3314
+ label6 && /* @__PURE__ */ jsxs32("label", { htmlFor: triggerId, className: label, children: [
3029
3315
  label6,
3030
- required && /* @__PURE__ */ jsx34("span", { className: requiredMark, "aria-hidden": true, children: "*" })
3316
+ required && /* @__PURE__ */ jsx36("span", { className: requiredMark, "aria-hidden": true, children: "*" })
3031
3317
  ] }),
3032
- /* @__PURE__ */ jsxs29(
3318
+ /* @__PURE__ */ jsxs32(
3033
3319
  RadixSelect.Root,
3034
3320
  {
3035
3321
  value: isControlled ? value3 ?? "" : void 0,
@@ -3039,7 +3325,7 @@ var Select = /* @__PURE__ */ forwardRef30(function Select2(props, ref) {
3039
3325
  required,
3040
3326
  name,
3041
3327
  children: [
3042
- /* @__PURE__ */ jsxs29(
3328
+ /* @__PURE__ */ jsxs32(
3043
3329
  RadixSelect.Trigger,
3044
3330
  {
3045
3331
  ref,
@@ -3048,14 +3334,14 @@ var Select = /* @__PURE__ */ forwardRef30(function Select2(props, ref) {
3048
3334
  "aria-invalid": error || void 0,
3049
3335
  "aria-describedby": helperId,
3050
3336
  "data-invalid": error || void 0,
3051
- className: cx(root3({ size, fullWidth }), trigger2, className),
3337
+ className: cx(root({ size, fullWidth }), trigger2, className),
3052
3338
  children: [
3053
- /* @__PURE__ */ jsx34("span", { className: value, children: /* @__PURE__ */ jsx34(RadixSelect.Value, { placeholder }) }),
3054
- /* @__PURE__ */ jsx34(RadixSelect.Icon, { className: icon3, children: /* @__PURE__ */ jsx34(ChevronDownIcon5, { size: 16 }) })
3339
+ /* @__PURE__ */ jsx36("span", { className: value, children: /* @__PURE__ */ jsx36(RadixSelect.Value, { placeholder }) }),
3340
+ /* @__PURE__ */ jsx36(RadixSelect.Icon, { className: icon3, children: /* @__PURE__ */ jsx36(ChevronDownIcon5, { size: 16 }) })
3055
3341
  ]
3056
3342
  }
3057
3343
  ),
3058
- /* @__PURE__ */ jsx34(RadixSelect.Portal, { children: /* @__PURE__ */ jsx34(
3344
+ /* @__PURE__ */ jsx36(RadixSelect.Portal, { children: /* @__PURE__ */ jsx36(
3059
3345
  RadixSelect.Content,
3060
3346
  {
3061
3347
  position: "popper",
@@ -3063,37 +3349,37 @@ var Select = /* @__PURE__ */ forwardRef30(function Select2(props, ref) {
3063
3349
  collisionPadding: 8,
3064
3350
  className: cx(portal2.className, content5),
3065
3351
  style: portal2.style,
3066
- children: /* @__PURE__ */ jsx34(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */ jsxs29(
3352
+ children: /* @__PURE__ */ jsx36(RadixSelect.Viewport, { className: viewport, children: options.map((option3) => /* @__PURE__ */ jsxs32(
3067
3353
  RadixSelect.Item,
3068
3354
  {
3069
- value: option2.value,
3070
- disabled: option2.disabled,
3355
+ value: option3.value,
3356
+ disabled: option3.disabled,
3071
3357
  className: item4,
3072
3358
  children: [
3073
- /* @__PURE__ */ jsx34(RadixSelect.ItemText, { children: option2.label }),
3074
- /* @__PURE__ */ jsx34(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ jsx34(CheckIcon3, { size: 16 }) })
3359
+ /* @__PURE__ */ jsx36(RadixSelect.ItemText, { children: option3.label }),
3360
+ /* @__PURE__ */ jsx36(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ jsx36(CheckIcon3, { size: 16 }) })
3075
3361
  ]
3076
3362
  },
3077
- option2.value
3363
+ option3.value
3078
3364
  )) })
3079
3365
  }
3080
3366
  ) })
3081
3367
  ]
3082
3368
  }
3083
3369
  ),
3084
- helperText3 && /* @__PURE__ */ jsx34("p", { id: helperId, className: helperText({ error }), children: helperText3 })
3370
+ helperText3 && /* @__PURE__ */ jsx36("p", { id: helperId, className: helperText({ error }), children: helperText3 })
3085
3371
  ] });
3086
3372
  });
3087
3373
 
3088
3374
  // src/components/SkipLink/SkipLink.tsx
3089
- import { forwardRef as forwardRef31 } from "react";
3375
+ import { forwardRef as forwardRef33 } from "react";
3090
3376
 
3091
3377
  // src/components/SkipLink/SkipLink.css.ts
3092
3378
  var skipLink = "_1t9jaar0";
3093
3379
 
3094
3380
  // src/components/SkipLink/SkipLink.tsx
3095
- import { jsx as jsx35 } from "react/jsx-runtime";
3096
- var SkipLink = /* @__PURE__ */ forwardRef31(function SkipLink2({ href = "#main", className, children, onClick, ...rest }, ref) {
3381
+ import { jsx as jsx37 } from "react/jsx-runtime";
3382
+ var SkipLink = /* @__PURE__ */ forwardRef33(function SkipLink2({ href = "#main", className, children, onClick, ...rest }, ref) {
3097
3383
  const m = useMessages();
3098
3384
  const handleClick = (event) => {
3099
3385
  onClick?.(event);
@@ -3105,12 +3391,12 @@ var SkipLink = /* @__PURE__ */ forwardRef31(function SkipLink2({ href = "#main",
3105
3391
  target.focus();
3106
3392
  target.scrollIntoView?.({ block: "start" });
3107
3393
  };
3108
- return /* @__PURE__ */ jsx35("a", { ref, href, className: cx(skipLink, className), onClick: handleClick, ...rest, children: children ?? m.skipToContent ?? "\uBCF8\uBB38 \uBC14\uB85C\uAC00\uAE30" });
3394
+ return /* @__PURE__ */ jsx37("a", { ref, href, className: cx(skipLink, className), onClick: handleClick, ...rest, children: children ?? m.skipToContent ?? "\uBCF8\uBB38 \uBC14\uB85C\uAC00\uAE30" });
3109
3395
  });
3110
3396
 
3111
3397
  // src/components/Slider/Slider.tsx
3112
3398
  import * as RadixSlider from "@radix-ui/react-slider";
3113
- import { forwardRef as forwardRef32, useId as useId15, useState as useState15 } from "react";
3399
+ import { forwardRef as forwardRef34, useId as useId18, useState as useState17 } from "react";
3114
3400
 
3115
3401
  // src/components/Slider/Slider.css.ts
3116
3402
  import { createRuntimeFn as _7a46816 } from "@vanilla-extract/recipes/createRuntimeFn";
@@ -3125,8 +3411,8 @@ var track = /* @__PURE__ */ _7a46816({ defaultClassName: "_126mzjm8", variantCla
3125
3411
  var value2 = "_126mzjm3";
3126
3412
 
3127
3413
  // src/components/Slider/Slider.tsx
3128
- import { jsx as jsx36, jsxs as jsxs30 } from "react/jsx-runtime";
3129
- var Slider = /* @__PURE__ */ forwardRef32(function Slider2(props, ref) {
3414
+ import { jsx as jsx38, jsxs as jsxs33 } from "react/jsx-runtime";
3415
+ var Slider = /* @__PURE__ */ forwardRef34(function Slider2(props, ref) {
3130
3416
  const {
3131
3417
  value: value3,
3132
3418
  defaultValue,
@@ -3147,12 +3433,12 @@ var Slider = /* @__PURE__ */ forwardRef32(function Slider2(props, ref) {
3147
3433
  } = props;
3148
3434
  const m = useMessages();
3149
3435
  const thumbLabels = thumbLabelsProp ?? [m.rangeStart ?? "\uCD5C\uC18C", m.rangeEnd ?? "\uCD5C\uB300"];
3150
- const generatedId = useId15();
3436
+ const generatedId = useId18();
3151
3437
  const baseId = id ?? generatedId;
3152
3438
  const labelId = `${baseId}-label`;
3153
3439
  const helperId = `${baseId}-helper`;
3154
3440
  const isControlled = "value" in props;
3155
- const [innerValue, setInnerValue] = useState15(defaultValue ?? [min]);
3441
+ const [innerValue, setInnerValue] = useState17(defaultValue ?? [min]);
3156
3442
  const current2 = isControlled ? value3 ?? [min] : innerValue;
3157
3443
  const isRange = current2.length > 1;
3158
3444
  const handleChange = (next) => {
@@ -3160,12 +3446,12 @@ var Slider = /* @__PURE__ */ forwardRef32(function Slider2(props, ref) {
3160
3446
  onValueChange?.(next);
3161
3447
  };
3162
3448
  const valueText = current2.map(formatValue).join(" \u2013 ");
3163
- return /* @__PURE__ */ jsxs30("div", { className: cx(field3, className), children: [
3164
- (label6 || showValue) && /* @__PURE__ */ jsxs30("div", { className: header6, children: [
3165
- label6 && /* @__PURE__ */ jsx36("span", { id: labelId, className: label3, children: label6 }),
3166
- showValue && /* @__PURE__ */ jsx36("span", { className: value2, "aria-hidden": true, children: valueText })
3449
+ return /* @__PURE__ */ jsxs33("div", { className: cx(field3, className), children: [
3450
+ (label6 || showValue) && /* @__PURE__ */ jsxs33("div", { className: header6, children: [
3451
+ label6 && /* @__PURE__ */ jsx38("span", { id: labelId, className: label3, children: label6 }),
3452
+ showValue && /* @__PURE__ */ jsx38("span", { className: value2, "aria-hidden": true, children: valueText })
3167
3453
  ] }),
3168
- /* @__PURE__ */ jsxs30(
3454
+ /* @__PURE__ */ jsxs33(
3169
3455
  RadixSlider.Root,
3170
3456
  {
3171
3457
  ref,
@@ -3178,10 +3464,10 @@ var Slider = /* @__PURE__ */ forwardRef32(function Slider2(props, ref) {
3178
3464
  className: root10({ size }),
3179
3465
  ...rest,
3180
3466
  children: [
3181
- /* @__PURE__ */ jsx36(RadixSlider.Track, { className: track({ size }), children: /* @__PURE__ */ jsx36(RadixSlider.Range, { className: range2 }) }),
3467
+ /* @__PURE__ */ jsx38(RadixSlider.Track, { className: track({ size }), children: /* @__PURE__ */ jsx38(RadixSlider.Range, { className: range2 }) }),
3182
3468
  current2.map((thumbValue, index) => {
3183
3469
  const thumbLabelId = `${baseId}-thumb-${index}`;
3184
- return /* @__PURE__ */ jsx36(
3470
+ return /* @__PURE__ */ jsx38(
3185
3471
  RadixSlider.Thumb,
3186
3472
  {
3187
3473
  className: thumb({ size }),
@@ -3196,21 +3482,21 @@ var Slider = /* @__PURE__ */ forwardRef32(function Slider2(props, ref) {
3196
3482
  ]
3197
3483
  }
3198
3484
  ),
3199
- isRange && current2.map((_, index) => /* @__PURE__ */ jsxs30("span", { id: `${baseId}-thumb-${index}`, hidden: true, children: [
3485
+ isRange && current2.map((_, index) => /* @__PURE__ */ jsxs33("span", { id: `${baseId}-thumb-${index}`, hidden: true, children: [
3200
3486
  label6 ? "" : ariaLabel ? `${ariaLabel} ` : "",
3201
3487
  thumbLabels[index] ?? `${index + 1}`
3202
3488
  ] }, index)),
3203
- helperText3 && /* @__PURE__ */ jsx36("span", { id: helperId, className: helperText2, children: helperText3 })
3489
+ helperText3 && /* @__PURE__ */ jsx38("span", { id: helperId, className: helperText2, children: helperText3 })
3204
3490
  ] });
3205
3491
  });
3206
3492
 
3207
3493
  // src/components/Stepper/Stepper.tsx
3208
- import { forwardRef as forwardRef33 } from "react";
3494
+ import { forwardRef as forwardRef35 } from "react";
3209
3495
  import { CheckIcon as CheckIcon4 } from "@bestow-ui/icons";
3210
3496
 
3211
3497
  // src/components/Stepper/Stepper.css.ts
3212
3498
  import { createRuntimeFn as _7a46817 } from "@vanilla-extract/recipes/createRuntimeFn";
3213
- var description5 = "kervhmh";
3499
+ var description6 = "kervhmh";
3214
3500
  var indicator2 = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhm6", variantClassNames: { status: { complete: "kervhm7", current: "kervhm8", upcoming: "kervhm9" } }, defaultVariants: {}, compoundVariants: [] });
3215
3501
  var label4 = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhmd", variantClassNames: { status: { complete: "kervhme", current: "kervhmf", upcoming: "kervhmg" } }, defaultVariants: {}, compoundVariants: [] });
3216
3502
  var root11 = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhm0", variantClassNames: { orientation: { horizontal: "kervhm1", vertical: "kervhm2" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
@@ -3218,10 +3504,10 @@ var step = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhm3", variantClassN
3218
3504
  var text2 = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhma", variantClassNames: { orientation: { horizontal: "kervhmb", vertical: "kervhmc" } }, defaultVariants: {}, compoundVariants: [] });
3219
3505
 
3220
3506
  // src/components/Stepper/Stepper.tsx
3221
- import { jsx as jsx37, jsxs as jsxs31 } from "react/jsx-runtime";
3222
- var Stepper = /* @__PURE__ */ forwardRef33(function Stepper2({ steps, current: current2, orientation = "horizontal", "aria-label": ariaLabel, className, ...rest }, ref) {
3507
+ import { jsx as jsx39, jsxs as jsxs34 } from "react/jsx-runtime";
3508
+ var Stepper = /* @__PURE__ */ forwardRef35(function Stepper2({ steps, current: current2, orientation = "horizontal", "aria-label": ariaLabel, className, ...rest }, ref) {
3223
3509
  const m = useMessages();
3224
- return /* @__PURE__ */ jsx37(
3510
+ return /* @__PURE__ */ jsx39(
3225
3511
  "ol",
3226
3512
  {
3227
3513
  ref,
@@ -3230,24 +3516,24 @@ var Stepper = /* @__PURE__ */ forwardRef33(function Stepper2({ steps, current: c
3230
3516
  ...rest,
3231
3517
  children: steps.map((step2, index) => {
3232
3518
  const status = index < current2 ? "complete" : index === current2 ? "current" : "upcoming";
3233
- return /* @__PURE__ */ jsxs31(
3519
+ return /* @__PURE__ */ jsxs34(
3234
3520
  "li",
3235
3521
  {
3236
3522
  className: step({ orientation }),
3237
3523
  "data-status": status,
3238
3524
  "aria-current": status === "current" ? "step" : void 0,
3239
3525
  children: [
3240
- /* @__PURE__ */ jsx37("span", { className: indicator2({ status }), "aria-hidden": true, children: status === "complete" ? /* @__PURE__ */ jsx37(CheckIcon4, { size: 16, strokeWidth: 2.5 }) : index + 1 }),
3241
- /* @__PURE__ */ jsxs31("span", { className: text2({ orientation }), children: [
3242
- /* @__PURE__ */ jsxs31("span", { className: label4({ status }), children: [
3526
+ /* @__PURE__ */ jsx39("span", { className: indicator2({ status }), "aria-hidden": true, children: status === "complete" ? /* @__PURE__ */ jsx39(CheckIcon4, { size: 16, strokeWidth: 2.5 }) : index + 1 }),
3527
+ /* @__PURE__ */ jsxs34("span", { className: text2({ orientation }), children: [
3528
+ /* @__PURE__ */ jsxs34("span", { className: label4({ status }), children: [
3243
3529
  step2.label,
3244
- status === "complete" && /* @__PURE__ */ jsxs31("span", { className: visuallyHidden, children: [
3530
+ status === "complete" && /* @__PURE__ */ jsxs34("span", { className: visuallyHidden, children: [
3245
3531
  " (",
3246
3532
  m.stepCompleted ?? "\uC644\uB8CC",
3247
3533
  ")"
3248
3534
  ] })
3249
3535
  ] }),
3250
- step2.description && /* @__PURE__ */ jsx37("span", { className: description5, children: step2.description })
3536
+ step2.description && /* @__PURE__ */ jsx39("span", { className: description6, children: step2.description })
3251
3537
  ] })
3252
3538
  ]
3253
3539
  },
@@ -3259,7 +3545,7 @@ var Stepper = /* @__PURE__ */ forwardRef33(function Stepper2({ steps, current: c
3259
3545
  });
3260
3546
 
3261
3547
  // src/components/Switch/Switch.tsx
3262
- import { forwardRef as forwardRef34, useEffect as useEffect11, useId as useId16, useRef as useRef15, useState as useState16 } from "react";
3548
+ import { forwardRef as forwardRef36, useEffect as useEffect11, useId as useId19, useRef as useRef16, useState as useState18 } from "react";
3263
3549
 
3264
3550
  // src/components/Switch/Switch.css.ts
3265
3551
  import { createRuntimeFn as _7a46818 } from "@vanilla-extract/recipes/createRuntimeFn";
@@ -3270,11 +3556,11 @@ var thumb2 = /* @__PURE__ */ _7a46818({ defaultClassName: "o33ul26", variantClas
3270
3556
  var track2 = /* @__PURE__ */ _7a46818({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
3271
3557
 
3272
3558
  // src/components/Switch/Switch.tsx
3273
- import { jsx as jsx38, jsxs as jsxs32 } from "react/jsx-runtime";
3559
+ import { jsx as jsx40, jsxs as jsxs35 } from "react/jsx-runtime";
3274
3560
  function setNativeChecked(input6, checked) {
3275
3561
  Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "checked")?.set?.call(input6, checked);
3276
3562
  }
3277
- var Switch = /* @__PURE__ */ forwardRef34(function Switch2({
3563
+ var Switch = /* @__PURE__ */ forwardRef36(function Switch2({
3278
3564
  label: label6,
3279
3565
  size,
3280
3566
  id,
@@ -3288,20 +3574,20 @@ var Switch = /* @__PURE__ */ forwardRef34(function Switch2({
3288
3574
  onCheckedChange,
3289
3575
  "aria-label": ariaLabel
3290
3576
  }, ref) {
3291
- const generatedId = useId16();
3577
+ const generatedId = useId19();
3292
3578
  const switchId = id ?? generatedId;
3293
- const [uncontrolled, setUncontrolled] = useState16(defaultChecked ?? false);
3579
+ const [uncontrolled, setUncontrolled] = useState18(defaultChecked ?? false);
3294
3580
  const isControlled = checkedProp !== void 0;
3295
3581
  const checked = isControlled ? checkedProp : uncontrolled;
3296
- const buttonRef = useRef15(null);
3297
- const inputRef = useRef15(null);
3298
- const [inForm, setInForm] = useState16(true);
3299
- const userToggled = useRef15(false);
3582
+ const buttonRef = useRef16(null);
3583
+ const inputRef = useRef16(null);
3584
+ const [inForm, setInForm] = useState18(true);
3585
+ const userToggled = useRef16(false);
3300
3586
  const setChecked = (next) => {
3301
3587
  if (!isControlled) setUncontrolled(next);
3302
3588
  if (next !== checked) onCheckedChange?.(next);
3303
3589
  };
3304
- const setCheckedRef = useRef15(setChecked);
3590
+ const setCheckedRef = useRef16(setChecked);
3305
3591
  setCheckedRef.current = setChecked;
3306
3592
  useEffect11(() => {
3307
3593
  const form = buttonRef.current?.form;
@@ -3325,8 +3611,8 @@ var Switch = /* @__PURE__ */ forwardRef34(function Switch2({
3325
3611
  if (inForm) event.stopPropagation();
3326
3612
  };
3327
3613
  const state = checked ? "checked" : "unchecked";
3328
- return /* @__PURE__ */ jsxs32("span", { className: cx(root12({ size }), className), "data-disabled": disabled || void 0, children: [
3329
- /* @__PURE__ */ jsx38(
3614
+ return /* @__PURE__ */ jsxs35("span", { className: cx(root12({ size }), className), "data-disabled": disabled || void 0, children: [
3615
+ /* @__PURE__ */ jsx40(
3330
3616
  "button",
3331
3617
  {
3332
3618
  ref: mergeRefs(ref, buttonRef),
@@ -3342,10 +3628,10 @@ var Switch = /* @__PURE__ */ forwardRef34(function Switch2({
3342
3628
  value: value3,
3343
3629
  className: track2({ size }),
3344
3630
  onClick: handleClick,
3345
- children: /* @__PURE__ */ jsx38("span", { className: thumb2({ size }), "data-state": state, "data-disabled": disabled ? "" : void 0 })
3631
+ children: /* @__PURE__ */ jsx40("span", { className: thumb2({ size }), "data-state": state, "data-disabled": disabled ? "" : void 0 })
3346
3632
  }
3347
3633
  ),
3348
- inForm && /* @__PURE__ */ jsx38(
3634
+ inForm && /* @__PURE__ */ jsx40(
3349
3635
  "input",
3350
3636
  {
3351
3637
  ref: inputRef,
@@ -3360,16 +3646,16 @@ var Switch = /* @__PURE__ */ forwardRef34(function Switch2({
3360
3646
  className: bubbleInput({ size })
3361
3647
  }
3362
3648
  ),
3363
- label6 && /* @__PURE__ */ jsx38("label", { htmlFor: switchId, className: label5, children: label6 })
3649
+ label6 && /* @__PURE__ */ jsx40("label", { htmlFor: switchId, className: label5, children: label6 })
3364
3650
  ] });
3365
3651
  });
3366
3652
 
3367
3653
  // src/components/Table/Table.tsx
3368
3654
  import {
3369
3655
  createContext as createContext3,
3370
- forwardRef as forwardRef35,
3656
+ forwardRef as forwardRef37,
3371
3657
  useContext as useContext3,
3372
- useId as useId17
3658
+ useId as useId20
3373
3659
  } from "react";
3374
3660
  import { ArrowDownIcon, ArrowUpIcon } from "@bestow-ui/icons";
3375
3661
 
@@ -3385,7 +3671,7 @@ var footer3 = "l3ploy7";
3385
3671
  var footerCell = "l3ployg";
3386
3672
  var head = "l3ployf";
3387
3673
  var header7 = "l3ploy3";
3388
- var row3 = "l3ploy8";
3674
+ var row4 = "l3ploy8";
3389
3675
  var sortButton = "l3ployh";
3390
3676
  var sortIcon = "l3ployi";
3391
3677
  var stickyHeader = "l3ploy4";
@@ -3393,10 +3679,10 @@ var striped = "l3ploy6";
3393
3679
  var table = "l3ploy1";
3394
3680
 
3395
3681
  // src/components/Table/Table.tsx
3396
- import { Fragment as Fragment7, jsx as jsx39, jsxs as jsxs33 } from "react/jsx-runtime";
3682
+ import { Fragment as Fragment8, jsx as jsx41, jsxs as jsxs36 } from "react/jsx-runtime";
3397
3683
  var TableSizeContext = /* @__PURE__ */ createContext3("md");
3398
3684
  var TableSectionContext = /* @__PURE__ */ createContext3("body");
3399
- var Table = /* @__PURE__ */ forwardRef35(function Table2({
3685
+ var Table = /* @__PURE__ */ forwardRef37(function Table2({
3400
3686
  size = "md",
3401
3687
  striped: striped2,
3402
3688
  stickyHeader: stickyHeader2,
@@ -3408,8 +3694,8 @@ var Table = /* @__PURE__ */ forwardRef35(function Table2({
3408
3694
  children,
3409
3695
  ...rest
3410
3696
  }, ref) {
3411
- const captionId = useId17();
3412
- return /* @__PURE__ */ jsx39(TableSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx39(
3697
+ const captionId = useId20();
3698
+ return /* @__PURE__ */ jsx41(TableSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx41(
3413
3699
  "div",
3414
3700
  {
3415
3701
  className: cx(container, containerClassName),
@@ -3418,7 +3704,7 @@ var Table = /* @__PURE__ */ forwardRef35(function Table2({
3418
3704
  role: "region",
3419
3705
  "aria-labelledby": caption2 ? captionId : void 0,
3420
3706
  "aria-label": caption2 ? void 0 : ariaLabel,
3421
- children: /* @__PURE__ */ jsxs33(
3707
+ children: /* @__PURE__ */ jsxs36(
3422
3708
  "table",
3423
3709
  {
3424
3710
  ref,
@@ -3426,7 +3712,7 @@ var Table = /* @__PURE__ */ forwardRef35(function Table2({
3426
3712
  "aria-label": caption2 ? void 0 : ariaLabel,
3427
3713
  ...rest,
3428
3714
  children: [
3429
- caption2 && /* @__PURE__ */ jsx39("caption", { id: captionId, className: caption, children: caption2 }),
3715
+ caption2 && /* @__PURE__ */ jsx41("caption", { id: captionId, className: caption, children: caption2 }),
3430
3716
  children
3431
3717
  ]
3432
3718
  }
@@ -3434,31 +3720,31 @@ var Table = /* @__PURE__ */ forwardRef35(function Table2({
3434
3720
  }
3435
3721
  ) });
3436
3722
  });
3437
- var TableHeader = /* @__PURE__ */ forwardRef35(
3723
+ var TableHeader = /* @__PURE__ */ forwardRef37(
3438
3724
  function TableHeader2({ className, ...rest }, ref) {
3439
- return /* @__PURE__ */ jsx39(TableSectionContext.Provider, { value: "header", children: /* @__PURE__ */ jsx39("thead", { ref, className: cx(header7, className), ...rest }) });
3725
+ return /* @__PURE__ */ jsx41(TableSectionContext.Provider, { value: "header", children: /* @__PURE__ */ jsx41("thead", { ref, className: cx(header7, className), ...rest }) });
3440
3726
  }
3441
3727
  );
3442
- var TableBody = /* @__PURE__ */ forwardRef35(
3728
+ var TableBody = /* @__PURE__ */ forwardRef37(
3443
3729
  function TableBody2({ className, ...rest }, ref) {
3444
- return /* @__PURE__ */ jsx39(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ jsx39("tbody", { ref, className: cx(body3, className), ...rest }) });
3730
+ return /* @__PURE__ */ jsx41(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ jsx41("tbody", { ref, className: cx(body3, className), ...rest }) });
3445
3731
  }
3446
3732
  );
3447
- var TableFooter = /* @__PURE__ */ forwardRef35(
3733
+ var TableFooter = /* @__PURE__ */ forwardRef37(
3448
3734
  function TableFooter2({ className, ...rest }, ref) {
3449
- return /* @__PURE__ */ jsx39(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ jsx39("tfoot", { ref, className: cx(footer3, className), ...rest }) });
3735
+ return /* @__PURE__ */ jsx41(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ jsx41("tfoot", { ref, className: cx(footer3, className), ...rest }) });
3450
3736
  }
3451
3737
  );
3452
- var TableRow = /* @__PURE__ */ forwardRef35(function TableRow2({ selected, className, ...rest }, ref) {
3453
- return /* @__PURE__ */ jsx39("tr", { ref, className: cx(row3, className), "data-state": selected ? "selected" : void 0, ...rest });
3738
+ var TableRow = /* @__PURE__ */ forwardRef37(function TableRow2({ selected, className, ...rest }, ref) {
3739
+ return /* @__PURE__ */ jsx41("tr", { ref, className: cx(row4, className), "data-state": selected ? "selected" : void 0, ...rest });
3454
3740
  });
3455
- var TableHead = /* @__PURE__ */ forwardRef35(function TableHead2({ align, sortDirection, onSort, scope, className, children, ...rest }, ref) {
3741
+ var TableHead = /* @__PURE__ */ forwardRef37(function TableHead2({ align, sortDirection, onSort, scope, className, children, ...rest }, ref) {
3456
3742
  const size = useContext3(TableSizeContext);
3457
3743
  const section = useContext3(TableSectionContext);
3458
3744
  const sortable = onSort !== void 0;
3459
3745
  const direction = sortDirection ?? "none";
3460
3746
  const SortIcon = direction === "descending" ? ArrowDownIcon : ArrowUpIcon;
3461
- return /* @__PURE__ */ jsx39(
3747
+ return /* @__PURE__ */ jsx41(
3462
3748
  "th",
3463
3749
  {
3464
3750
  ref,
@@ -3470,17 +3756,17 @@ var TableHead = /* @__PURE__ */ forwardRef35(function TableHead2({ align, sortDi
3470
3756
  className
3471
3757
  ),
3472
3758
  ...rest,
3473
- children: sortable ? /* @__PURE__ */ jsxs33("button", { type: "button", className: sortButton, onClick: onSort, children: [
3759
+ children: sortable ? /* @__PURE__ */ jsxs36("button", { type: "button", className: sortButton, onClick: onSort, children: [
3474
3760
  children,
3475
- /* @__PURE__ */ jsx39(SortIcon, { size: 14, className: sortIcon, "data-active": direction !== "none", "aria-hidden": true })
3761
+ /* @__PURE__ */ jsx41(SortIcon, { size: 14, className: sortIcon, "data-active": direction !== "none", "aria-hidden": true })
3476
3762
  ] }) : children
3477
3763
  }
3478
3764
  );
3479
3765
  });
3480
- var TableCell = /* @__PURE__ */ forwardRef35(function TableCell2({ align, className, ...rest }, ref) {
3766
+ var TableCell = /* @__PURE__ */ forwardRef37(function TableCell2({ align, className, ...rest }, ref) {
3481
3767
  const size = useContext3(TableSizeContext);
3482
3768
  const section = useContext3(TableSectionContext);
3483
- return /* @__PURE__ */ jsx39(
3769
+ return /* @__PURE__ */ jsx41(
3484
3770
  "td",
3485
3771
  {
3486
3772
  ref,
@@ -3489,17 +3775,17 @@ var TableCell = /* @__PURE__ */ forwardRef35(function TableCell2({ align, classN
3489
3775
  }
3490
3776
  );
3491
3777
  });
3492
- var TableEmpty = /* @__PURE__ */ forwardRef35(function TableEmpty2({ colSpan, className, children, ...rest }, ref) {
3493
- return /* @__PURE__ */ jsx39(TableRow, { children: /* @__PURE__ */ jsx39(TableCell, { ref, colSpan, className: cx(emptyCell, className), ...rest, children: /* @__PURE__ */ jsx39("div", { className: emptyContent, children }) }) });
3778
+ var TableEmpty = /* @__PURE__ */ forwardRef37(function TableEmpty2({ colSpan, className, children, ...rest }, ref) {
3779
+ return /* @__PURE__ */ jsx41(TableRow, { children: /* @__PURE__ */ jsx41(TableCell, { ref, colSpan, className: cx(emptyCell, className), ...rest, children: /* @__PURE__ */ jsx41("div", { className: emptyContent, children }) }) });
3494
3780
  });
3495
3781
  function TableSkeleton({ rows = 5, columns }) {
3496
- return /* @__PURE__ */ jsx39(Fragment7, { 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)) });
3782
+ return /* @__PURE__ */ jsx41(Fragment8, { children: Array.from({ length: rows }, (_, row6) => /* @__PURE__ */ jsx41(TableRow, { "aria-hidden": true, children: Array.from({ length: columns }, (_2, column) => /* @__PURE__ */ jsx41(TableCell, { children: /* @__PURE__ */ jsx41(Skeleton, { width: column === 0 ? "60%" : "80%" }) }, column)) }, row6)) });
3497
3783
  }
3498
3784
 
3499
3785
  // src/components/Table/useTableSelection.ts
3500
- import { useCallback, useState as useState17 } from "react";
3786
+ import { useCallback, useState as useState19 } from "react";
3501
3787
  function useTableSelection(initial = []) {
3502
- const [selected, setSelected] = useState17(initial);
3788
+ const [selected, setSelected] = useState19(initial);
3503
3789
  const isSelected = useCallback((id) => selected.includes(id), [selected]);
3504
3790
  const toggle3 = useCallback((id, checked) => {
3505
3791
  setSelected((prev) => {
@@ -3529,7 +3815,7 @@ function useTableSelection(initial = []) {
3529
3815
 
3530
3816
  // src/components/Tabs/Tabs.tsx
3531
3817
  import * as RadixTabs from "@radix-ui/react-tabs";
3532
- import { createContext as createContext4, forwardRef as forwardRef36, useContext as useContext4 } from "react";
3818
+ import { createContext as createContext4, forwardRef as forwardRef38, useContext as useContext4 } from "react";
3533
3819
 
3534
3820
  // src/components/Tabs/Tabs.css.ts
3535
3821
  import { createRuntimeFn as _7a46820 } from "@vanilla-extract/recipes/createRuntimeFn";
@@ -3539,31 +3825,31 @@ var root13 = "fvhbtd0";
3539
3825
  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"]] });
3540
3826
 
3541
3827
  // src/components/Tabs/Tabs.tsx
3542
- import { jsx as jsx40 } from "react/jsx-runtime";
3828
+ import { jsx as jsx42 } from "react/jsx-runtime";
3543
3829
  var TabsStyleContext = /* @__PURE__ */ createContext4({ variant: "line", size: "md" });
3544
- var Tabs = /* @__PURE__ */ forwardRef36(function Tabs2({ variant = "line", size = "md", className, ...props }, ref) {
3830
+ var Tabs = /* @__PURE__ */ forwardRef38(function Tabs2({ variant = "line", size = "md", className, ...props }, ref) {
3545
3831
  const controlled = "value" in props ? { value: props.value ?? "" } : {};
3546
- return /* @__PURE__ */ jsx40(TabsStyleContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ jsx40(RadixTabs.Root, { ref, className: cx(root13, className), ...props, ...controlled }) });
3832
+ return /* @__PURE__ */ jsx42(TabsStyleContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ jsx42(RadixTabs.Root, { ref, className: cx(root13, className), ...props, ...controlled }) });
3547
3833
  });
3548
- var TabsList = /* @__PURE__ */ forwardRef36(function TabsList2({ className, ...rest }, ref) {
3834
+ var TabsList = /* @__PURE__ */ forwardRef38(function TabsList2({ className, ...rest }, ref) {
3549
3835
  const { variant } = useContext4(TabsStyleContext);
3550
- return /* @__PURE__ */ jsx40(RadixTabs.List, { ref, className: cx(list6({ variant }), className), ...rest });
3836
+ return /* @__PURE__ */ jsx42(RadixTabs.List, { ref, className: cx(list6({ variant }), className), ...rest });
3551
3837
  });
3552
- var TabsTrigger = /* @__PURE__ */ forwardRef36(function TabsTrigger2({ className, ...rest }, ref) {
3838
+ var TabsTrigger = /* @__PURE__ */ forwardRef38(function TabsTrigger2({ className, ...rest }, ref) {
3553
3839
  const { variant, size } = useContext4(TabsStyleContext);
3554
- return /* @__PURE__ */ jsx40(RadixTabs.Trigger, { ref, className: cx(trigger3({ variant, size }), className), ...rest });
3840
+ return /* @__PURE__ */ jsx42(RadixTabs.Trigger, { ref, className: cx(trigger3({ variant, size }), className), ...rest });
3555
3841
  });
3556
- var TabsContent = /* @__PURE__ */ forwardRef36(function TabsContent2({ className, ...rest }, ref) {
3557
- return /* @__PURE__ */ jsx40(RadixTabs.Content, { ref, className: cx(content10, className), ...rest });
3842
+ var TabsContent = /* @__PURE__ */ forwardRef38(function TabsContent2({ className, ...rest }, ref) {
3843
+ return /* @__PURE__ */ jsx42(RadixTabs.Content, { ref, className: cx(content10, className), ...rest });
3558
3844
  });
3559
3845
 
3560
3846
  // src/components/Textarea/Textarea.tsx
3561
3847
  import {
3562
- forwardRef as forwardRef37,
3848
+ forwardRef as forwardRef39,
3563
3849
  useCallback as useCallback2,
3564
- useId as useId18,
3565
- useRef as useRef16,
3566
- useState as useState18
3850
+ useId as useId21,
3851
+ useRef as useRef17,
3852
+ useState as useState20
3567
3853
  } from "react";
3568
3854
 
3569
3855
  // src/components/Textarea/Textarea.css.ts
@@ -3575,8 +3861,8 @@ var footer4 = "_1koawa8";
3575
3861
  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: [] });
3576
3862
 
3577
3863
  // src/components/Textarea/Textarea.tsx
3578
- import { jsx as jsx41, jsxs as jsxs34 } from "react/jsx-runtime";
3579
- var Textarea = /* @__PURE__ */ forwardRef37(function Textarea2({
3864
+ import { jsx as jsx43, jsxs as jsxs37 } from "react/jsx-runtime";
3865
+ var Textarea = /* @__PURE__ */ forwardRef39(function Textarea2({
3580
3866
  label: label6,
3581
3867
  helperText: helperText3,
3582
3868
  error,
@@ -3597,11 +3883,11 @@ var Textarea = /* @__PURE__ */ forwardRef37(function Textarea2({
3597
3883
  "aria-describedby": ariaDescribedBy,
3598
3884
  ...rest
3599
3885
  }, ref) {
3600
- const generatedId = useId18();
3886
+ const generatedId = useId21();
3601
3887
  const textareaId = id ?? generatedId;
3602
3888
  const helperId = helperText3 ? `${textareaId}-helper` : void 0;
3603
- const innerRef = useRef16(null);
3604
- const [uncontrolledLength, setUncontrolledLength] = useState18(() => String(defaultValue ?? "").length);
3889
+ const innerRef = useRef17(null);
3890
+ const [uncontrolledLength, setUncontrolledLength] = useState20(() => String(defaultValue ?? "").length);
3605
3891
  const length = value3 !== void 0 ? String(value3).length : uncontrolledLength;
3606
3892
  const fitHeight = useCallback2(() => {
3607
3893
  const el = innerRef.current;
@@ -3616,12 +3902,12 @@ var Textarea = /* @__PURE__ */ forwardRef37(function Textarea2({
3616
3902
  fitHeight();
3617
3903
  onChange?.(event);
3618
3904
  };
3619
- return /* @__PURE__ */ jsxs34("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
3620
- label6 && /* @__PURE__ */ jsxs34("label", { htmlFor: textareaId, className: label, children: [
3905
+ return /* @__PURE__ */ jsxs37("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
3906
+ label6 && /* @__PURE__ */ jsxs37("label", { htmlFor: textareaId, className: label, children: [
3621
3907
  label6,
3622
- required && /* @__PURE__ */ jsx41("span", { className: requiredMark, "aria-hidden": true, children: "*" })
3908
+ required && /* @__PURE__ */ jsx43("span", { className: requiredMark, "aria-hidden": true, children: "*" })
3623
3909
  ] }),
3624
- /* @__PURE__ */ jsx41(
3910
+ /* @__PURE__ */ jsx43(
3625
3911
  "textarea",
3626
3912
  {
3627
3913
  ref: mergeRefs(innerRef, ref),
@@ -3643,36 +3929,36 @@ var Textarea = /* @__PURE__ */ forwardRef37(function Textarea2({
3643
3929
  ...rest
3644
3930
  }
3645
3931
  ),
3646
- (helperText3 || showCount) && /* @__PURE__ */ jsxs34("div", { className: footer4, children: [
3647
- helperText3 && /* @__PURE__ */ jsx41("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
3648
- showCount && /* @__PURE__ */ jsx41("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
3932
+ (helperText3 || showCount) && /* @__PURE__ */ jsxs37("div", { className: footer4, children: [
3933
+ helperText3 && /* @__PURE__ */ jsx43("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
3934
+ showCount && /* @__PURE__ */ jsx43("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
3649
3935
  ] })
3650
3936
  ] });
3651
3937
  });
3652
3938
 
3653
3939
  // src/components/Toast/Toast.tsx
3654
3940
  import * as RadixToast from "@radix-ui/react-toast";
3655
- import { createContext as createContext5, useCallback as useCallback3, useContext as useContext5, useMemo as useMemo4, useRef as useRef17, useState as useState19 } from "react";
3941
+ import { createContext as createContext5, useCallback as useCallback3, useContext as useContext5, useMemo as useMemo4, useRef as useRef18, useState as useState21 } from "react";
3656
3942
  import { XIcon as XIcon7 } from "@bestow-ui/icons";
3657
3943
 
3658
3944
  // src/components/Toast/Toast.css.ts
3659
3945
  import { createRuntimeFn as _7a46822 } from "@vanilla-extract/recipes/createRuntimeFn";
3660
- var action2 = "_1g11zvx9";
3661
- var close = "_1g11zvxa";
3662
- var description6 = "_1g11zvx8";
3663
- var title5 = "_1g11zvx7";
3664
- var toast = /* @__PURE__ */ _7a46822({ defaultClassName: "_1g11zvx1", variantClassNames: { color: { primary: "_1g11zvx2", neutral: "_1g11zvx3", success: "_1g11zvx4", warning: "_1g11zvx5", danger: "_1g11zvx6" } }, defaultVariants: { color: "neutral" }, compoundVariants: [] });
3946
+ var action2 = "_1g11zvxa";
3947
+ var close = "_1g11zvxb";
3948
+ var description7 = "_1g11zvx9";
3949
+ var title5 = "_1g11zvx8";
3950
+ var toast = /* @__PURE__ */ _7a46822({ defaultClassName: "_1g11zvx1", variantClassNames: { color: { primary: "_1g11zvx2", neutral: "_1g11zvx3", success: "_1g11zvx4", warning: "_1g11zvx5", danger: "_1g11zvx6", info: "_1g11zvx7" } }, defaultVariants: { color: "neutral" }, compoundVariants: [] });
3665
3951
  var viewport2 = "_1g11zvx0";
3666
3952
 
3667
3953
  // src/components/Toast/Toast.tsx
3668
- import { jsx as jsx42, jsxs as jsxs35 } from "react/jsx-runtime";
3954
+ import { jsx as jsx44, jsxs as jsxs38 } from "react/jsx-runtime";
3669
3955
  var REMOVE_DELAY = 500;
3670
3956
  var ToastContext = /* @__PURE__ */ createContext5(null);
3671
3957
  function ToastProvider({ children, duration = 5e3, label: labelProp }) {
3672
3958
  const m = useMessages();
3673
3959
  const label6 = labelProp ?? m.notifications ?? "\uC54C\uB9BC";
3674
- const [toasts, setToasts] = useState19([]);
3675
- const nextId = useRef17(0);
3960
+ const [toasts, setToasts] = useState21([]);
3961
+ const nextId = useRef18(0);
3676
3962
  const portal2 = usePortalProps();
3677
3963
  const toast2 = useCallback3((options) => {
3678
3964
  const id = nextId.current++;
@@ -3685,9 +3971,9 @@ function ToastProvider({ children, duration = 5e3, label: labelProp }) {
3685
3971
  setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
3686
3972
  }, []);
3687
3973
  const value3 = useMemo4(() => ({ toast: toast2, dismiss }), [toast2, dismiss]);
3688
- return /* @__PURE__ */ jsx42(ToastContext.Provider, { value: value3, children: /* @__PURE__ */ jsxs35(RadixToast.Provider, { duration, label: label6, swipeDirection: "right", children: [
3974
+ return /* @__PURE__ */ jsx44(ToastContext.Provider, { value: value3, children: /* @__PURE__ */ jsxs38(RadixToast.Provider, { duration, label: label6, swipeDirection: "right", children: [
3689
3975
  children,
3690
- toasts.map(({ id, open, title: title6, description: description7, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */ jsxs35(
3976
+ toasts.map(({ id, open, title: title6, description: description8, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */ jsxs38(
3691
3977
  RadixToast.Root,
3692
3978
  {
3693
3979
  open,
@@ -3697,15 +3983,15 @@ function ToastProvider({ children, duration = 5e3, label: labelProp }) {
3697
3983
  },
3698
3984
  className: toast({ color }),
3699
3985
  children: [
3700
- /* @__PURE__ */ jsx42(RadixToast.Title, { className: title5, children: title6 }),
3701
- description7 && /* @__PURE__ */ jsx42(RadixToast.Description, { className: description6, children: description7 }),
3702
- 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 }) }),
3703
- /* @__PURE__ */ jsx42(RadixToast.Close, { className: close, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ jsx42(XIcon7, { size: 16 }) })
3986
+ /* @__PURE__ */ jsx44(RadixToast.Title, { className: title5, children: title6 }),
3987
+ description8 && /* @__PURE__ */ jsx44(RadixToast.Description, { className: description7, children: description8 }),
3988
+ action3 && /* @__PURE__ */ jsx44(RadixToast.Action, { asChild: true, altText: action3.altText ?? action3.label, className: action2, children: /* @__PURE__ */ jsx44(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action3.onClick, children: action3.label }) }),
3989
+ /* @__PURE__ */ jsx44(RadixToast.Close, { className: close, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ jsx44(XIcon7, { size: 16 }) })
3704
3990
  ]
3705
3991
  },
3706
3992
  id
3707
3993
  )),
3708
- /* @__PURE__ */ jsx42(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
3994
+ /* @__PURE__ */ jsx44(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
3709
3995
  ] }) });
3710
3996
  }
3711
3997
  function useToast() {
@@ -3722,7 +4008,7 @@ var arrow2 = "z7rufs1";
3722
4008
  var content11 = "z7rufs0";
3723
4009
 
3724
4010
  // src/components/Tooltip/Tooltip.tsx
3725
- import { jsx as jsx43, jsxs as jsxs36 } from "react/jsx-runtime";
4011
+ import { jsx as jsx45, jsxs as jsxs39 } from "react/jsx-runtime";
3726
4012
  function Tooltip({
3727
4013
  content: content12,
3728
4014
  children,
@@ -3737,9 +4023,9 @@ function Tooltip({
3737
4023
  }) {
3738
4024
  const portal2 = usePortalProps();
3739
4025
  if (disabled || content12 == null || content12 === "") return children;
3740
- return /* @__PURE__ */ jsx43(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ jsxs36(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
3741
- /* @__PURE__ */ jsx43(RadixTooltip.Trigger, { asChild: true, children }),
3742
- /* @__PURE__ */ jsx43(RadixTooltip.Portal, { children: /* @__PURE__ */ jsxs36(
4026
+ return /* @__PURE__ */ jsx45(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ jsxs39(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
4027
+ /* @__PURE__ */ jsx45(RadixTooltip.Trigger, { asChild: true, children }),
4028
+ /* @__PURE__ */ jsx45(RadixTooltip.Portal, { children: /* @__PURE__ */ jsxs39(
3743
4029
  RadixTooltip.Content,
3744
4030
  {
3745
4031
  side,
@@ -3750,7 +4036,7 @@ function Tooltip({
3750
4036
  style: portal2.style,
3751
4037
  children: [
3752
4038
  content12,
3753
- /* @__PURE__ */ jsx43(RadixTooltip.Arrow, { className: arrow2, width: 10, height: 5 })
4039
+ /* @__PURE__ */ jsx45(RadixTooltip.Arrow, { className: arrow2, width: 10, height: 5 })
3754
4040
  ]
3755
4041
  }
3756
4042
  ) })
@@ -3758,19 +4044,19 @@ function Tooltip({
3758
4044
  }
3759
4045
 
3760
4046
  // src/components/VerificationCodeInput/VerificationCodeInput.tsx
3761
- import { forwardRef as forwardRef38, useEffect as useEffect12, useId as useId19, useRef as useRef18, useState as useState20 } from "react";
4047
+ import { forwardRef as forwardRef40, useEffect as useEffect12, useId as useId22, useRef as useRef19, useState as useState22 } from "react";
3762
4048
 
3763
4049
  // src/components/VerificationCodeInput/VerificationCodeInput.css.ts
3764
4050
  var input5 = "ea01812";
3765
- var row4 = "ea01810";
4051
+ var row5 = "ea01810";
3766
4052
  var slot = "ea01813";
3767
4053
  var slots = "ea01811";
3768
4054
  var timer = "ea01814";
3769
4055
 
3770
4056
  // src/components/VerificationCodeInput/VerificationCodeInput.tsx
3771
- import { jsx as jsx44, jsxs as jsxs37 } from "react/jsx-runtime";
4057
+ import { jsx as jsx46, jsxs as jsxs40 } from "react/jsx-runtime";
3772
4058
  var formatTime = (seconds) => `${String(Math.floor(seconds / 60)).padStart(2, "0")}:${String(seconds % 60).padStart(2, "0")}`;
3773
- var VerificationCodeInput = /* @__PURE__ */ forwardRef38(
4059
+ var VerificationCodeInput = /* @__PURE__ */ forwardRef40(
3774
4060
  function VerificationCodeInput2(props, ref) {
3775
4061
  const {
3776
4062
  length = 6,
@@ -3797,19 +4083,19 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef38(
3797
4083
  const label6 = labelProp ?? m.verificationCode ?? "\uC778\uC99D\uBC88\uD638";
3798
4084
  const resendText = resendTextProp ?? m.resend ?? "\uC7AC\uC804\uC1A1";
3799
4085
  const expiredText = expiredTextProp ?? m.verificationExpired ?? "\uC778\uC99D \uC2DC\uAC04\uC774 \uC9C0\uB0AC\uC5B4\uC694. \uC7AC\uC804\uC1A1\uD574 \uC8FC\uC138\uC694.";
3800
- const generatedId = useId19();
4086
+ const generatedId = useId22();
3801
4087
  const inputId = id ?? generatedId;
3802
4088
  const helperId = `${inputId}-helper`;
3803
4089
  const statusId = `${inputId}-status`;
3804
- const inputRef = useRef18(null);
4090
+ const inputRef = useRef19(null);
3805
4091
  const isControlled = "value" in props;
3806
- const [innerValue, setInnerValue] = useState20(defaultValue ?? "");
4092
+ const [innerValue, setInnerValue] = useState22(defaultValue ?? "");
3807
4093
  const code = (isControlled ? value3 ?? "" : innerValue).slice(0, length);
3808
- const [focused, setFocused] = useState20(false);
3809
- const [endAt, setEndAt] = useState20(() => expiresIn ? Date.now() + expiresIn * 1e3 : null);
3810
- const [remaining, setRemaining] = useState20(expiresIn ?? 0);
4094
+ const [focused, setFocused] = useState22(false);
4095
+ const [endAt, setEndAt] = useState22(() => expiresIn ? Date.now() + expiresIn * 1e3 : null);
4096
+ const [remaining, setRemaining] = useState22(expiresIn ?? 0);
3811
4097
  const expired = expiresIn !== void 0 && remaining <= 0;
3812
- const onExpireRef = useRef18(onExpire);
4098
+ const onExpireRef = useRef19(onExpire);
3813
4099
  useEffect12(() => {
3814
4100
  onExpireRef.current = onExpire;
3815
4101
  });
@@ -3846,19 +4132,19 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef38(
3846
4132
  }
3847
4133
  inputRef.current?.focus();
3848
4134
  };
3849
- const description7 = helperText3 ?? m.verificationCodeHint?.(length, type) ?? `${length}\uC790\uB9AC ${type === "numeric" ? "\uC22B\uC790" : "\uBB38\uC790"}\uB97C \uC785\uB825\uD558\uC138\uC694.`;
4135
+ const description8 = helperText3 ?? m.verificationCodeHint?.(length, type) ?? `${length}\uC790\uB9AC ${type === "numeric" ? "\uC22B\uC790" : "\uBB38\uC790"}\uB97C \uC785\uB825\uD558\uC138\uC694.`;
3850
4136
  const activeIndex = Math.min(code.length, length - 1);
3851
- return /* @__PURE__ */ jsxs37(
4137
+ return /* @__PURE__ */ jsxs40(
3852
4138
  "div",
3853
4139
  {
3854
4140
  className: cx(field, className),
3855
4141
  "data-invalid": error || void 0,
3856
4142
  "data-disabled": disabled || void 0,
3857
4143
  children: [
3858
- /* @__PURE__ */ jsx44("label", { htmlFor: inputId, className: label, children: label6 }),
3859
- /* @__PURE__ */ jsxs37("div", { className: row4, children: [
3860
- /* @__PURE__ */ jsxs37("div", { className: slots, children: [
3861
- /* @__PURE__ */ jsx44(
4144
+ /* @__PURE__ */ jsx46("label", { htmlFor: inputId, className: label, children: label6 }),
4145
+ /* @__PURE__ */ jsxs40("div", { className: row5, children: [
4146
+ /* @__PURE__ */ jsxs40("div", { className: slots, children: [
4147
+ /* @__PURE__ */ jsx46(
3862
4148
  "input",
3863
4149
  {
3864
4150
  ref: mergeRefs(ref, inputRef),
@@ -3878,7 +4164,7 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef38(
3878
4164
  className: input5
3879
4165
  }
3880
4166
  ),
3881
- Array.from({ length }, (_, index) => /* @__PURE__ */ jsx44(
4167
+ Array.from({ length }, (_, index) => /* @__PURE__ */ jsx46(
3882
4168
  "div",
3883
4169
  {
3884
4170
  className: slot,
@@ -3889,12 +4175,12 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef38(
3889
4175
  index
3890
4176
  ))
3891
4177
  ] }),
3892
- expiresIn !== void 0 && /* @__PURE__ */ jsx44("span", { role: "timer", className: timer, children: formatTime(remaining) }),
3893
- onResend && /* @__PURE__ */ jsx44(Button, { size: "sm", variant: "outline", color: "neutral", onClick: resend, disabled, children: resendText })
4178
+ expiresIn !== void 0 && /* @__PURE__ */ jsx46("span", { role: "timer", className: timer, children: formatTime(remaining) }),
4179
+ onResend && /* @__PURE__ */ jsx46(Button, { size: "sm", variant: "outline", color: "neutral", onClick: resend, disabled, children: resendText })
3894
4180
  ] }),
3895
- /* @__PURE__ */ jsx44("p", { id: helperId, className: helperText({ error }), children: description7 }),
3896
- /* @__PURE__ */ jsx44("p", { id: statusId, role: "status", className: helperText({ error: true }), children: expired ? expiredText : "" }),
3897
- name && /* @__PURE__ */ jsx44("input", { type: "hidden", name, value: code })
4181
+ /* @__PURE__ */ jsx46("p", { id: helperId, className: helperText({ error }), children: description8 }),
4182
+ /* @__PURE__ */ jsx46("p", { id: statusId, role: "status", className: helperText({ error: true }), children: expired ? expiredText : "" }),
4183
+ name && /* @__PURE__ */ jsx46("input", { type: "hidden", name, value: code })
3898
4184
  ]
3899
4185
  }
3900
4186
  );
@@ -3913,6 +4199,7 @@ export {
3913
4199
  Button,
3914
4200
  Calendar,
3915
4201
  Checkbox,
4202
+ CheckboxGroup,
3916
4203
  Combobox,
3917
4204
  DatePicker,
3918
4205
  DateRangePicker,
@@ -3946,6 +4233,7 @@ export {
3946
4233
  Popover2 as Popover,
3947
4234
  PopoverClose,
3948
4235
  RadioGroup2 as RadioGroup,
4236
+ ResidentNumberInput,
3949
4237
  SegmentedControl,
3950
4238
  Select,
3951
4239
  SkipLink,