@bestow-ui/react 1.0.0 → 1.2.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/README.md +5 -3
- package/dist/{chunk-PFEZ3D2H.js → chunk-LHT64JDG.js} +7 -1
- package/dist/chunk-LHT64JDG.js.map +1 -0
- package/dist/client.js +868 -695
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +1254 -834
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +809 -601
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +340 -111
- package/dist/index.d.ts +340 -111
- package/dist/shared.js +238 -3
- package/dist/shared.js.map +1 -1
- package/package.json +1 -2
- package/dist/chunk-PFEZ3D2H.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -54,11 +54,17 @@ __export(src_exports, {
|
|
|
54
54
|
Drawer: () => Drawer,
|
|
55
55
|
DrawerClose: () => DrawerClose,
|
|
56
56
|
DropdownMenu: () => DropdownMenu,
|
|
57
|
+
DropdownMenuCheckboxItem: () => DropdownMenuCheckboxItem,
|
|
57
58
|
DropdownMenuContent: () => DropdownMenuContent,
|
|
58
59
|
DropdownMenuGroup: () => DropdownMenuGroup,
|
|
59
60
|
DropdownMenuItem: () => DropdownMenuItem,
|
|
60
61
|
DropdownMenuLabel: () => DropdownMenuLabel,
|
|
62
|
+
DropdownMenuRadioGroup: () => DropdownMenuRadioGroup,
|
|
63
|
+
DropdownMenuRadioItem: () => DropdownMenuRadioItem,
|
|
61
64
|
DropdownMenuSeparator: () => DropdownMenuSeparator,
|
|
65
|
+
DropdownMenuSub: () => DropdownMenuSub,
|
|
66
|
+
DropdownMenuSubContent: () => DropdownMenuSubContent,
|
|
67
|
+
DropdownMenuSubTrigger: () => DropdownMenuSubTrigger,
|
|
62
68
|
DropdownMenuTrigger: () => DropdownMenuTrigger,
|
|
63
69
|
IconButton: () => IconButton,
|
|
64
70
|
Input: () => Input,
|
|
@@ -66,14 +72,17 @@ __export(src_exports, {
|
|
|
66
72
|
LocaleProvider: () => LocaleProvider,
|
|
67
73
|
Modal: () => Modal,
|
|
68
74
|
ModalClose: () => ModalClose,
|
|
75
|
+
NumberInput: () => NumberInput,
|
|
69
76
|
Pagination: () => Pagination,
|
|
70
77
|
PhoneNumberInput: () => PhoneNumberInput,
|
|
71
78
|
Popover: () => Popover2,
|
|
72
79
|
PopoverClose: () => PopoverClose,
|
|
73
80
|
Progress: () => Progress,
|
|
74
|
-
RadioGroup: () =>
|
|
81
|
+
RadioGroup: () => RadioGroup2,
|
|
82
|
+
SegmentedControl: () => SegmentedControl,
|
|
75
83
|
Select: () => Select,
|
|
76
84
|
Skeleton: () => Skeleton,
|
|
85
|
+
SkipLink: () => SkipLink,
|
|
77
86
|
Slider: () => Slider,
|
|
78
87
|
Spinner: () => Spinner,
|
|
79
88
|
Stack: () => Stack,
|
|
@@ -221,11 +230,11 @@ var rgba = (hex, alpha) => {
|
|
|
221
230
|
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
222
231
|
};
|
|
223
232
|
function createIntentColors(intent, color) {
|
|
224
|
-
const
|
|
225
|
-
const base = rgbToOklch(parseHex(
|
|
233
|
+
const input6 = toHex(parseHex(color));
|
|
234
|
+
const base = rgbToOklch(parseHex(input6));
|
|
226
235
|
const lightSubtle = withL(base, 0.97, Math.min(base.c, 0.12) * 0.3);
|
|
227
236
|
const lightSubtleHover = withL(base, 0.93, Math.min(base.c, 0.12) * 0.45);
|
|
228
|
-
const { solid, contrast: lightContrast } = solidWithContrast(
|
|
237
|
+
const { solid, contrast: lightContrast } = solidWithContrast(input6);
|
|
229
238
|
const light = {
|
|
230
239
|
solid,
|
|
231
240
|
solidHover: hoverFor(rgbToOklch(parseHex(solid)), -0.06, lightContrast),
|
|
@@ -235,7 +244,7 @@ function createIntentColors(intent, color) {
|
|
|
235
244
|
text: findReadable(base, Math.min(base.l, 0.55), -0.02, [import_tokens.lightColors.bg.default, lightSubtle, lightSubtleHover])
|
|
236
245
|
};
|
|
237
246
|
const darkBg = import_tokens.darkColors.bg.default;
|
|
238
|
-
const { solid: darkSolid, contrast: darkContrast } = solidWithContrast(base.l < 0.5 ? withL(base, 0.55) :
|
|
247
|
+
const { solid: darkSolid, contrast: darkContrast } = solidWithContrast(base.l < 0.5 ? withL(base, 0.55) : input6);
|
|
239
248
|
const darkBase = rgbToOklch(parseHex(darkSolid));
|
|
240
249
|
const darkSubtleOnBg = blend(darkSolid, 0.16, darkBg);
|
|
241
250
|
const darkSubtleHoverOnBg = blend(darkSolid, 0.26, darkBg);
|
|
@@ -275,9 +284,9 @@ function deepMerge(target, source) {
|
|
|
275
284
|
function createTheme(...inputs) {
|
|
276
285
|
let light = {};
|
|
277
286
|
let dark = {};
|
|
278
|
-
for (const
|
|
279
|
-
light = deepMerge(deepMerge(light,
|
|
280
|
-
dark = deepMerge(deepMerge(dark,
|
|
287
|
+
for (const input6 of inputs) {
|
|
288
|
+
light = deepMerge(deepMerge(light, input6.common), input6.light);
|
|
289
|
+
dark = deepMerge(deepMerge(dark, input6.common), input6.dark);
|
|
281
290
|
}
|
|
282
291
|
return Object.freeze({ light, dark });
|
|
283
292
|
}
|
|
@@ -329,6 +338,10 @@ var en = {
|
|
|
329
338
|
newWindow: "(opens in a new window)",
|
|
330
339
|
noResults: "No results",
|
|
331
340
|
openList: "Show options",
|
|
341
|
+
clearSelection: "Clear selection",
|
|
342
|
+
skipToContent: "Skip to main content",
|
|
343
|
+
decrement: "Decrease",
|
|
344
|
+
increment: "Increase",
|
|
332
345
|
rangeStart: "minimum",
|
|
333
346
|
rangeEnd: "maximum",
|
|
334
347
|
agreeAll: "Agree to all",
|
|
@@ -373,14 +386,14 @@ var en = {
|
|
|
373
386
|
};
|
|
374
387
|
|
|
375
388
|
// src/utils/koreanFormat.ts
|
|
376
|
-
var onlyDigits = (
|
|
389
|
+
var onlyDigits = (input6) => input6.replace(/\D/g, "");
|
|
377
390
|
function phoneNumberMaxDigits(digits) {
|
|
378
391
|
if (digits.startsWith("02")) return 10;
|
|
379
392
|
if (/^1[568]/.test(digits)) return 8;
|
|
380
393
|
return 11;
|
|
381
394
|
}
|
|
382
|
-
function formatPhoneNumber(
|
|
383
|
-
const d = onlyDigits(
|
|
395
|
+
function formatPhoneNumber(input6) {
|
|
396
|
+
const d = onlyDigits(input6).slice(0, phoneNumberMaxDigits(onlyDigits(input6)));
|
|
384
397
|
if (d.startsWith("02")) {
|
|
385
398
|
if (d.length <= 2) return d;
|
|
386
399
|
if (d.length <= 5) return `${d.slice(0, 2)}-${d.slice(2)}`;
|
|
@@ -395,14 +408,14 @@ function formatPhoneNumber(input5) {
|
|
|
395
408
|
if (d.length <= 10) return `${d.slice(0, 3)}-${d.slice(3, 6)}-${d.slice(6)}`;
|
|
396
409
|
return `${d.slice(0, 3)}-${d.slice(3, 7)}-${d.slice(7)}`;
|
|
397
410
|
}
|
|
398
|
-
function formatBusinessNumber(
|
|
399
|
-
const d = onlyDigits(
|
|
411
|
+
function formatBusinessNumber(input6) {
|
|
412
|
+
const d = onlyDigits(input6).slice(0, 10);
|
|
400
413
|
if (d.length <= 3) return d;
|
|
401
414
|
if (d.length <= 5) return `${d.slice(0, 3)}-${d.slice(3)}`;
|
|
402
415
|
return `${d.slice(0, 3)}-${d.slice(3, 5)}-${d.slice(5)}`;
|
|
403
416
|
}
|
|
404
|
-
function isValidBusinessNumber(
|
|
405
|
-
const d = onlyDigits(
|
|
417
|
+
function isValidBusinessNumber(input6) {
|
|
418
|
+
const d = onlyDigits(input6);
|
|
406
419
|
if (d.length !== 10) return false;
|
|
407
420
|
const weights = [1, 3, 7, 1, 3, 7, 1, 3, 5];
|
|
408
421
|
const digits = [...d].map(Number);
|
|
@@ -410,9 +423,9 @@ function isValidBusinessNumber(input5) {
|
|
|
410
423
|
sum += Math.floor(digits[8] * 5 / 10);
|
|
411
424
|
return (10 - sum % 10) % 10 === digits[9];
|
|
412
425
|
}
|
|
413
|
-
function formatKoreanAmount(amount,
|
|
426
|
+
function formatKoreanAmount(amount, unit2 = "\uC6D0") {
|
|
414
427
|
const n = Math.floor(Math.abs(amount));
|
|
415
|
-
if (n === 0) return `0${
|
|
428
|
+
if (n === 0) return `0${unit2}`;
|
|
416
429
|
const units = [
|
|
417
430
|
{ value: 1e12, label: "\uC870" },
|
|
418
431
|
{ value: 1e8, label: "\uC5B5" },
|
|
@@ -426,7 +439,7 @@ function formatKoreanAmount(amount, unit = "\uC6D0") {
|
|
|
426
439
|
rest %= u.value;
|
|
427
440
|
if (q > 0) parts.push(`${q.toLocaleString("ko-KR")}${u.label}`);
|
|
428
441
|
}
|
|
429
|
-
return `${amount < 0 ? "-" : ""}${parts.join(" ")}${
|
|
442
|
+
return `${amount < 0 ? "-" : ""}${parts.join(" ")}${unit2}`;
|
|
430
443
|
}
|
|
431
444
|
|
|
432
445
|
// src/utils/date.ts
|
|
@@ -516,10 +529,10 @@ var kakaoPostcodeProvider = async (container2, onSelect) => {
|
|
|
516
529
|
|
|
517
530
|
// src/components/AgreementGroup/agreements.ts
|
|
518
531
|
function hasAllRequiredAgreements(items2, value4) {
|
|
519
|
-
return items2.every((
|
|
532
|
+
return items2.every((item8) => !item8.required || value4.includes(item8.value));
|
|
520
533
|
}
|
|
521
534
|
|
|
522
|
-
// src/
|
|
535
|
+
// src/components/Badge/Badge.tsx
|
|
523
536
|
var import_react = require("react");
|
|
524
537
|
|
|
525
538
|
// src/utils/cx.ts
|
|
@@ -527,27 +540,247 @@ function cx(...classNames) {
|
|
|
527
540
|
return classNames.filter(Boolean).join(" ");
|
|
528
541
|
}
|
|
529
542
|
|
|
543
|
+
// src/components/Badge/Badge.css.ts
|
|
544
|
+
var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
545
|
+
var badge = /* @__PURE__ */ (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_1295cfn4", variantClassNames: { variant: { solid: "_1295cfn5", soft: "_1295cfn6", outline: "_1295cfn7" }, color: { primary: "_1295cfn8", neutral: "_1295cfn9", danger: "_1295cfna", success: "_1295cfnb", warning: "_1295cfnc" }, size: { sm: "_1295cfnd", md: "_1295cfne", lg: "_1295cfnf" } }, defaultVariants: { variant: "soft", color: "neutral", size: "md" }, compoundVariants: [] });
|
|
546
|
+
var icon = "_1295cfng";
|
|
547
|
+
|
|
548
|
+
// src/components/Badge/Badge.tsx
|
|
549
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
550
|
+
var Badge = /* @__PURE__ */ (0, import_react.forwardRef)(function Badge2({ variant, color, size, startIcon, className, children, ...rest }, ref) {
|
|
551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { ref, className: cx(badge({ variant, color, size }), className), ...rest, children: [
|
|
552
|
+
startIcon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: icon, children: startIcon }),
|
|
553
|
+
children
|
|
554
|
+
] });
|
|
555
|
+
});
|
|
556
|
+
|
|
557
|
+
// src/components/Card/Card.tsx
|
|
558
|
+
var import_react2 = require("react");
|
|
559
|
+
|
|
560
|
+
// src/components/Card/Card.css.ts
|
|
561
|
+
var import_createRuntimeFn2 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
562
|
+
var body = "dnuf1u9";
|
|
563
|
+
var card = /* @__PURE__ */ (0, import_createRuntimeFn2.createRuntimeFn)({ defaultClassName: "dnuf1u0", variantClassNames: { variant: { outline: "dnuf1u1", elevated: "dnuf1u2", soft: "dnuf1u3" }, padding: { none: "dnuf1u4", sm: "dnuf1u5", md: "dnuf1u6", lg: "dnuf1u7" } }, defaultVariants: { variant: "outline", padding: "md" }, compoundVariants: [] });
|
|
564
|
+
var footer = "dnuf1ua";
|
|
565
|
+
var header = "dnuf1u8";
|
|
566
|
+
|
|
567
|
+
// src/components/Card/Card.tsx
|
|
568
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
569
|
+
var Card = /* @__PURE__ */ (0, import_react2.forwardRef)(function Card2({ variant, padding, as: Component = "div", className, ...rest }, ref) {
|
|
570
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Component, { ref, className: cx(card({ variant, padding }), className), ...rest });
|
|
571
|
+
});
|
|
572
|
+
var CardHeader = /* @__PURE__ */ (0, import_react2.forwardRef)(function CardHeader2({ className, ...rest }, ref) {
|
|
573
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { ref, className: cx(header, className), ...rest });
|
|
574
|
+
});
|
|
575
|
+
var CardBody = /* @__PURE__ */ (0, import_react2.forwardRef)(function CardBody2({ className, ...rest }, ref) {
|
|
576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { ref, className: cx(body, className), ...rest });
|
|
577
|
+
});
|
|
578
|
+
var CardFooter = /* @__PURE__ */ (0, import_react2.forwardRef)(function CardFooter2({ className, ...rest }, ref) {
|
|
579
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { ref, className: cx(footer, className), ...rest });
|
|
580
|
+
});
|
|
581
|
+
|
|
582
|
+
// src/components/Divider/Divider.tsx
|
|
583
|
+
var import_react3 = require("react");
|
|
584
|
+
|
|
585
|
+
// src/components/Divider/Divider.css.ts
|
|
586
|
+
var import_createRuntimeFn3 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
587
|
+
var divider = /* @__PURE__ */ (0, import_createRuntimeFn3.createRuntimeFn)({ defaultClassName: "_1t3gq8v0", variantClassNames: { orientation: { horizontal: "_1t3gq8v1", vertical: "_1t3gq8v2" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
|
|
588
|
+
var labeled = "_1t3gq8v3";
|
|
589
|
+
var line = "_1t3gq8v4";
|
|
590
|
+
|
|
591
|
+
// src/components/Divider/Divider.tsx
|
|
592
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
593
|
+
var Divider = /* @__PURE__ */ (0, import_react3.forwardRef)(function Divider2({ orientation = "horizontal", decorative, className, children, ...rest }, ref) {
|
|
594
|
+
if (children && orientation === "horizontal") {
|
|
595
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { ref, className: cx(labeled, className), ...rest, children: [
|
|
596
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: line, "aria-hidden": true }),
|
|
597
|
+
children,
|
|
598
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: line, "aria-hidden": true })
|
|
599
|
+
] });
|
|
600
|
+
}
|
|
601
|
+
const a11y = decorative ? { role: "none" } : { role: "separator", "aria-orientation": orientation === "vertical" ? "vertical" : void 0 };
|
|
602
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { ref, className: cx(divider({ orientation }), className), ...a11y, ...rest });
|
|
603
|
+
});
|
|
604
|
+
|
|
605
|
+
// src/components/Progress/Progress.tsx
|
|
606
|
+
var import_react4 = require("react");
|
|
607
|
+
|
|
608
|
+
// src/components/Progress/Progress.css.ts
|
|
609
|
+
var import_createRuntimeFn4 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
610
|
+
var header2 = "_1tvkq001";
|
|
611
|
+
var indicator = /* @__PURE__ */ (0, import_createRuntimeFn4.createRuntimeFn)({ defaultClassName: "_1tvkq008", variantClassNames: { color: { primary: "_1tvkq009", neutral: "_1tvkq00a", success: "_1tvkq00b", warning: "_1tvkq00c", danger: "_1tvkq00d" } }, defaultVariants: { color: "primary" }, compoundVariants: [] });
|
|
612
|
+
var label = "_1tvkq002";
|
|
613
|
+
var root = "_1tvkq000";
|
|
614
|
+
var track = /* @__PURE__ */ (0, import_createRuntimeFn4.createRuntimeFn)({ defaultClassName: "_1tvkq004", variantClassNames: { size: { sm: "_1tvkq005", md: "_1tvkq006", lg: "_1tvkq007" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
615
|
+
var value = "_1tvkq003";
|
|
616
|
+
|
|
617
|
+
// src/components/Progress/Progress.tsx
|
|
618
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
619
|
+
var defaultFormat = (value4, max) => `${Math.round(value4 / max * 100)}%`;
|
|
620
|
+
var Progress = /* @__PURE__ */ (0, import_react4.forwardRef)(function Progress2({
|
|
621
|
+
value: value4,
|
|
622
|
+
max = 100,
|
|
623
|
+
label: label6,
|
|
624
|
+
"aria-label": ariaLabel,
|
|
625
|
+
showValue,
|
|
626
|
+
formatValue = defaultFormat,
|
|
627
|
+
size,
|
|
628
|
+
color,
|
|
629
|
+
className,
|
|
630
|
+
...rest
|
|
631
|
+
}, ref) {
|
|
632
|
+
const labelId = (0, import_react4.useId)();
|
|
633
|
+
const isIndeterminate = value4 === void 0 || value4 === null;
|
|
634
|
+
const safeMax = max > 0 ? max : 100;
|
|
635
|
+
const clamped = isIndeterminate ? 0 : Math.min(safeMax, Math.max(0, value4));
|
|
636
|
+
const valueText = isIndeterminate ? void 0 : formatValue(clamped, safeMax);
|
|
637
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { ref, className: cx(root, className), ...rest, children: [
|
|
638
|
+
(label6 || showValue && valueText) && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: header2, children: [
|
|
639
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { id: labelId, className: label, children: label6 }),
|
|
640
|
+
showValue && valueText && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: value, "aria-hidden": true, children: valueText })
|
|
641
|
+
] }),
|
|
642
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
643
|
+
"div",
|
|
644
|
+
{
|
|
645
|
+
role: "progressbar",
|
|
646
|
+
"aria-labelledby": label6 ? labelId : void 0,
|
|
647
|
+
"aria-label": label6 ? void 0 : ariaLabel,
|
|
648
|
+
"aria-valuemin": 0,
|
|
649
|
+
"aria-valuemax": safeMax,
|
|
650
|
+
"aria-valuenow": isIndeterminate ? void 0 : clamped,
|
|
651
|
+
"aria-valuetext": valueText,
|
|
652
|
+
className: track({ size }),
|
|
653
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
654
|
+
"div",
|
|
655
|
+
{
|
|
656
|
+
className: indicator({ color }),
|
|
657
|
+
"data-state": isIndeterminate ? "indeterminate" : clamped >= safeMax ? "complete" : "loading",
|
|
658
|
+
style: isIndeterminate ? void 0 : { width: `${clamped / safeMax * 100}%` }
|
|
659
|
+
}
|
|
660
|
+
)
|
|
661
|
+
}
|
|
662
|
+
)
|
|
663
|
+
] });
|
|
664
|
+
});
|
|
665
|
+
|
|
666
|
+
// src/components/Skeleton/Skeleton.tsx
|
|
667
|
+
var import_dynamic2 = require("@vanilla-extract/dynamic");
|
|
668
|
+
var import_react5 = require("react");
|
|
669
|
+
|
|
670
|
+
// src/components/Skeleton/Skeleton.css.ts
|
|
671
|
+
var import_createRuntimeFn5 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
672
|
+
var height = "var(--_1s8datd1)";
|
|
673
|
+
var lines = "_1s8datd6";
|
|
674
|
+
var skeleton = /* @__PURE__ */ (0, import_createRuntimeFn5.createRuntimeFn)({ defaultClassName: "_1s8datd2", variantClassNames: { variant: { text: "_1s8datd3", rect: "_1s8datd4", circle: "_1s8datd5" } }, defaultVariants: { variant: "text" }, compoundVariants: [] });
|
|
675
|
+
var width = "var(--_1s8datd0)";
|
|
676
|
+
|
|
677
|
+
// src/components/Skeleton/Skeleton.tsx
|
|
678
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
679
|
+
var toCss = (value4) => typeof value4 === "number" ? `${value4}px` : value4;
|
|
680
|
+
var Skeleton = /* @__PURE__ */ (0, import_react5.forwardRef)(function Skeleton2({ variant = "text", width: width2, height: height2, lines: lines2 = 1, className, style, ...rest }, ref) {
|
|
681
|
+
const w = toCss(width2 ?? (variant === "circle" ? 40 : "100%"));
|
|
682
|
+
const h = toCss(height2 ?? (variant === "circle" ? w : variant === "rect" ? 100 : "1em"));
|
|
683
|
+
if (variant === "text" && lines2 > 1) {
|
|
684
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
685
|
+
"span",
|
|
686
|
+
{
|
|
687
|
+
ref,
|
|
688
|
+
"aria-hidden": true,
|
|
689
|
+
className: cx(lines, className),
|
|
690
|
+
style: { ...(0, import_dynamic2.assignInlineVars)({ [width]: w }), ...style },
|
|
691
|
+
...rest,
|
|
692
|
+
children: Array.from({ length: lines2 }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
693
|
+
"span",
|
|
694
|
+
{
|
|
695
|
+
className: skeleton({ variant }),
|
|
696
|
+
style: (0, import_dynamic2.assignInlineVars)({ [width]: i === lines2 - 1 ? "60%" : "100%", [height]: h })
|
|
697
|
+
},
|
|
698
|
+
i
|
|
699
|
+
))
|
|
700
|
+
}
|
|
701
|
+
);
|
|
702
|
+
}
|
|
703
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
704
|
+
"span",
|
|
705
|
+
{
|
|
706
|
+
ref,
|
|
707
|
+
"aria-hidden": true,
|
|
708
|
+
className: cx(skeleton({ variant }), className),
|
|
709
|
+
style: { ...(0, import_dynamic2.assignInlineVars)({ [width]: w, [height]: h }), ...style },
|
|
710
|
+
...rest
|
|
711
|
+
}
|
|
712
|
+
);
|
|
713
|
+
});
|
|
714
|
+
|
|
715
|
+
// src/components/Stack/Stack.tsx
|
|
716
|
+
var import_react6 = require("react");
|
|
717
|
+
|
|
718
|
+
// src/components/Stack/Stack.css.ts
|
|
719
|
+
var import_createRuntimeFn6 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
720
|
+
var stack = /* @__PURE__ */ (0, import_createRuntimeFn6.createRuntimeFn)({ defaultClassName: "_1jz9hj90", variantClassNames: { direction: { row: "_1jz9hj91", column: "_1jz9hj92", "row-reverse": "_1jz9hj93", "column-reverse": "_1jz9hj94" }, gap: { "0": "_1jz9hj95", "1": "_1jz9hj96", "2": "_1jz9hj97", "3": "_1jz9hj98", "4": "_1jz9hj99", "5": "_1jz9hj9a", "6": "_1jz9hj9b", "8": "_1jz9hj9c", "10": "_1jz9hj9d", "12": "_1jz9hj9e", "16": "_1jz9hj9f" }, align: { start: "_1jz9hj9g", center: "_1jz9hj9h", end: "_1jz9hj9i", stretch: "_1jz9hj9j", baseline: "_1jz9hj9k" }, justify: { start: "_1jz9hj9l", center: "_1jz9hj9m", end: "_1jz9hj9n", between: "_1jz9hj9o", around: "_1jz9hj9p", evenly: "_1jz9hj9q" }, wrap: { true: "_1jz9hj9r" } }, defaultVariants: { direction: "column" }, compoundVariants: [] });
|
|
721
|
+
|
|
722
|
+
// src/components/Stack/Stack.tsx
|
|
723
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
724
|
+
var Stack = /* @__PURE__ */ (0, import_react6.forwardRef)(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, ...rest }, ref) {
|
|
725
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Component, { ref, className: cx(stack({ direction, gap, align, justify, wrap }), className), ...rest });
|
|
726
|
+
});
|
|
727
|
+
|
|
728
|
+
// src/components/Typography/Typography.tsx
|
|
729
|
+
var import_react7 = require("react");
|
|
730
|
+
|
|
731
|
+
// src/components/Typography/Typography.css.ts
|
|
732
|
+
var import_createRuntimeFn7 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
733
|
+
var typography = /* @__PURE__ */ (0, import_createRuntimeFn7.createRuntimeFn)({ defaultClassName: "kiolio0", variantClassNames: { variant: { display: "kiolio1", h1: "kiolio2", h2: "kiolio3", h3: "kiolio4", h4: "kiolio5", "body-lg": "kiolio6", body: "kiolio7", "body-sm": "kiolio8", caption: "kiolio9" }, color: { "default": "kiolioa", muted: "kioliob", subtle: "kiolioc", primary: "kioliod", danger: "kiolioe", success: "kioliof", warning: "kioliog", inherit: "kiolioh" }, weight: { regular: "kiolioi", medium: "kiolioj", semibold: "kioliok", bold: "kioliol" }, align: { start: "kioliom", center: "kiolion", end: "kiolioo" }, truncate: { true: "kioliop" } }, defaultVariants: { variant: "body", color: "default" }, compoundVariants: [] });
|
|
734
|
+
|
|
735
|
+
// src/components/Typography/Typography.tsx
|
|
736
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
737
|
+
var defaultElement = {
|
|
738
|
+
display: "h1",
|
|
739
|
+
h1: "h1",
|
|
740
|
+
h2: "h2",
|
|
741
|
+
h3: "h3",
|
|
742
|
+
h4: "h4",
|
|
743
|
+
"body-lg": "p",
|
|
744
|
+
body: "p",
|
|
745
|
+
"body-sm": "p",
|
|
746
|
+
caption: "span"
|
|
747
|
+
};
|
|
748
|
+
var Typography = /* @__PURE__ */ (0, import_react7.forwardRef)(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
|
|
749
|
+
const Component = as ?? defaultElement[variant];
|
|
750
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
751
|
+
Component,
|
|
752
|
+
{
|
|
753
|
+
ref,
|
|
754
|
+
className: cx(typography({ variant, color, weight, align, truncate }), className),
|
|
755
|
+
...rest
|
|
756
|
+
}
|
|
757
|
+
);
|
|
758
|
+
});
|
|
759
|
+
|
|
760
|
+
// src/theme/ThemeProvider.tsx
|
|
761
|
+
var import_react8 = require("react");
|
|
762
|
+
|
|
530
763
|
// src/theme/ThemeProvider.css.ts
|
|
531
764
|
var portal = "sfyhlv0";
|
|
532
|
-
var
|
|
765
|
+
var root2 = "sfyhlv1 sfyhlv0";
|
|
533
766
|
|
|
534
767
|
// src/theme/ThemeProvider.tsx
|
|
535
|
-
var
|
|
536
|
-
var ThemeContext = /* @__PURE__ */ (0,
|
|
537
|
-
var ThemeProvider = /* @__PURE__ */ (0,
|
|
538
|
-
const parent = (0,
|
|
768
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
769
|
+
var ThemeContext = /* @__PURE__ */ (0, import_react8.createContext)({ theme: "light" });
|
|
770
|
+
var ThemeProvider = /* @__PURE__ */ (0, import_react8.forwardRef)(function ThemeProvider2({ theme: themeProp, overrides, className, style, children, ...rest }, ref) {
|
|
771
|
+
const parent = (0, import_react8.useContext)(ThemeContext);
|
|
539
772
|
const theme = themeProp ?? parent.theme;
|
|
540
|
-
const merged = (0,
|
|
541
|
-
const value4 = (0,
|
|
773
|
+
const merged = (0, import_react8.useMemo)(() => mergeThemes(parent.overrides, overrides), [parent.overrides, overrides]);
|
|
774
|
+
const value4 = (0, import_react8.useMemo)(
|
|
542
775
|
() => ({ theme, overrides: merged, style: themeToStyle(merged, theme) }),
|
|
543
776
|
[theme, merged]
|
|
544
777
|
);
|
|
545
|
-
return /* @__PURE__ */ (0,
|
|
778
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ThemeContext.Provider, { value: value4, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
546
779
|
"div",
|
|
547
780
|
{
|
|
548
781
|
ref,
|
|
549
782
|
"data-theme": theme,
|
|
550
|
-
className: cx(themeClass[theme],
|
|
783
|
+
className: cx(themeClass[theme], root2, className),
|
|
551
784
|
style: value4.style ? { ...value4.style, ...style } : style,
|
|
552
785
|
...rest,
|
|
553
786
|
children
|
|
@@ -555,96 +788,96 @@ var ThemeProvider = /* @__PURE__ */ (0, import_react.forwardRef)(function ThemeP
|
|
|
555
788
|
) });
|
|
556
789
|
});
|
|
557
790
|
function useTheme() {
|
|
558
|
-
return (0,
|
|
791
|
+
return (0, import_react8.useContext)(ThemeContext).theme;
|
|
559
792
|
}
|
|
560
793
|
function usePortalProps() {
|
|
561
|
-
const { theme, style } = (0,
|
|
794
|
+
const { theme, style } = (0, import_react8.useContext)(ThemeContext);
|
|
562
795
|
return { className: cx(themeClass[theme], portal), style };
|
|
563
796
|
}
|
|
564
797
|
|
|
565
798
|
// src/i18n/LocaleProvider.tsx
|
|
566
|
-
var
|
|
567
|
-
var
|
|
568
|
-
var MessagesContext = /* @__PURE__ */ (0,
|
|
799
|
+
var import_react9 = require("react");
|
|
800
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
801
|
+
var MessagesContext = /* @__PURE__ */ (0, import_react9.createContext)({});
|
|
569
802
|
function LocaleProvider({ messages, children }) {
|
|
570
|
-
const parent = (0,
|
|
571
|
-
const value4 = (0,
|
|
572
|
-
return /* @__PURE__ */ (0,
|
|
803
|
+
const parent = (0, import_react9.useContext)(MessagesContext);
|
|
804
|
+
const value4 = (0, import_react9.useMemo)(() => ({ ...parent, ...messages }), [parent, messages]);
|
|
805
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(MessagesContext.Provider, { value: value4, children });
|
|
573
806
|
}
|
|
574
807
|
function useMessages() {
|
|
575
|
-
return (0,
|
|
808
|
+
return (0, import_react9.useContext)(MessagesContext);
|
|
576
809
|
}
|
|
577
810
|
|
|
578
811
|
// src/components/Accordion/Accordion.tsx
|
|
579
812
|
var RadixAccordion = __toESM(require("@radix-ui/react-accordion"), 1);
|
|
580
813
|
var import_icons = require("@bestow-ui/icons");
|
|
581
|
-
var
|
|
814
|
+
var import_react10 = require("react");
|
|
582
815
|
|
|
583
816
|
// src/components/Accordion/Accordion.css.ts
|
|
584
817
|
var chevron = "v58j0l4";
|
|
585
818
|
var content = "v58j0l5";
|
|
586
819
|
var contentInner = "v58j0l6";
|
|
587
|
-
var
|
|
820
|
+
var header3 = "v58j0l2";
|
|
588
821
|
var item = "v58j0l1";
|
|
589
|
-
var
|
|
822
|
+
var root3 = "v58j0l0";
|
|
590
823
|
var trigger = "v58j0l3";
|
|
591
824
|
|
|
592
825
|
// src/components/Accordion/Accordion.tsx
|
|
593
|
-
var
|
|
594
|
-
var Accordion = /* @__PURE__ */ (0,
|
|
826
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
827
|
+
var Accordion = /* @__PURE__ */ (0, import_react10.forwardRef)(function Accordion2({ className, ...props }, ref) {
|
|
595
828
|
const { collapsible, ...multipleProps } = props;
|
|
596
829
|
const typedProps = props.type === "multiple" ? multipleProps : { ...multipleProps, collapsible };
|
|
597
830
|
const rootProps = "value" in props ? { ...typedProps, value: props.value ?? (props.type === "multiple" ? [] : "") } : typedProps;
|
|
598
|
-
return /* @__PURE__ */ (0,
|
|
831
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(RadixAccordion.Root, { ref, className: cx(root3, className), ...rootProps });
|
|
599
832
|
});
|
|
600
|
-
var AccordionItem = /* @__PURE__ */ (0,
|
|
833
|
+
var AccordionItem = /* @__PURE__ */ (0, import_react10.forwardRef)(function AccordionItem2({ title: title6, headingLevel = 3, className, children, ...rest }, ref) {
|
|
601
834
|
const Heading = `h${headingLevel}`;
|
|
602
|
-
return /* @__PURE__ */ (0,
|
|
603
|
-
/* @__PURE__ */ (0,
|
|
835
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(RadixAccordion.Item, { ref, className: cx(item, className), ...rest, children: [
|
|
836
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(RadixAccordion.Header, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Heading, { className: header3, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(RadixAccordion.Trigger, { className: trigger, children: [
|
|
604
837
|
title6,
|
|
605
|
-
/* @__PURE__ */ (0,
|
|
838
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_icons.ChevronDownIcon, { size: 18, className: chevron })
|
|
606
839
|
] }) }) }),
|
|
607
|
-
/* @__PURE__ */ (0,
|
|
840
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(RadixAccordion.Content, { className: content, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: contentInner, children }) })
|
|
608
841
|
] });
|
|
609
842
|
});
|
|
610
843
|
|
|
611
844
|
// src/components/AddressInput/AddressInput.tsx
|
|
612
|
-
var
|
|
845
|
+
var import_react16 = require("react");
|
|
613
846
|
|
|
614
847
|
// src/components/Button/Button.tsx
|
|
615
|
-
var
|
|
848
|
+
var import_react12 = require("react");
|
|
616
849
|
|
|
617
850
|
// src/components/Spinner/Spinner.tsx
|
|
618
851
|
var import_icons2 = require("@bestow-ui/icons");
|
|
619
|
-
var
|
|
852
|
+
var import_react11 = require("react");
|
|
620
853
|
|
|
621
854
|
// src/styles/visuallyHidden.css.ts
|
|
622
855
|
var visuallyHidden = "_1kdtbw10";
|
|
623
856
|
|
|
624
857
|
// src/components/Spinner/Spinner.css.ts
|
|
625
|
-
var
|
|
626
|
-
var spinner = /* @__PURE__ */ (0,
|
|
858
|
+
var import_createRuntimeFn8 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
859
|
+
var spinner = /* @__PURE__ */ (0, import_createRuntimeFn8.createRuntimeFn)({ 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: [] });
|
|
627
860
|
|
|
628
861
|
// src/components/Spinner/Spinner.tsx
|
|
629
|
-
var
|
|
630
|
-
var Spinner = /* @__PURE__ */ (0,
|
|
862
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
863
|
+
var Spinner = /* @__PURE__ */ (0, import_react11.forwardRef)(function Spinner2({ size, color, label: labelProp, className, ...rest }, ref) {
|
|
631
864
|
const m = useMessages();
|
|
632
865
|
const label6 = labelProp ?? m.loading ?? "\uB85C\uB529 \uC911";
|
|
633
866
|
const a11y = label6 ? { role: "status" } : { "aria-hidden": true };
|
|
634
|
-
return /* @__PURE__ */ (0,
|
|
635
|
-
/* @__PURE__ */ (0,
|
|
636
|
-
label6 && /* @__PURE__ */ (0,
|
|
867
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { ref, className: cx(spinner({ size, color }), className), ...a11y, ...rest, children: [
|
|
868
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_icons2.LoaderIcon, { size: "100%" }),
|
|
869
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: visuallyHidden, children: label6 })
|
|
637
870
|
] });
|
|
638
871
|
});
|
|
639
872
|
|
|
640
873
|
// src/components/Button/Button.css.ts
|
|
641
|
-
var
|
|
642
|
-
var button = /* @__PURE__ */ (0,
|
|
643
|
-
var
|
|
874
|
+
var import_createRuntimeFn9 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
875
|
+
var button = /* @__PURE__ */ (0, import_createRuntimeFn9.createRuntimeFn)({ defaultClassName: "xcekda6", variantClassNames: { variant: { solid: "xcekda7", soft: "xcekda8", outline: "xcekda9", ghost: "xcekdaa" }, color: { primary: "xcekdab", neutral: "xcekdac", danger: "xcekdad" }, size: { sm: "xcekdae", md: "xcekdaf", lg: "xcekdag" }, fullWidth: { true: "xcekdah" } }, defaultVariants: { variant: "solid", color: "primary", size: "md" }, compoundVariants: [] });
|
|
876
|
+
var icon2 = "xcekdai";
|
|
644
877
|
|
|
645
878
|
// src/components/Button/Button.tsx
|
|
646
|
-
var
|
|
647
|
-
var Button = /* @__PURE__ */ (0,
|
|
879
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
880
|
+
var Button = /* @__PURE__ */ (0, import_react12.forwardRef)(function Button2({
|
|
648
881
|
variant,
|
|
649
882
|
color,
|
|
650
883
|
size,
|
|
@@ -665,8 +898,8 @@ var Button = /* @__PURE__ */ (0, import_react5.forwardRef)(function Button2({
|
|
|
665
898
|
}
|
|
666
899
|
onClick?.(event);
|
|
667
900
|
};
|
|
668
|
-
const leading = loading2 ? /* @__PURE__ */ (0,
|
|
669
|
-
return /* @__PURE__ */ (0,
|
|
901
|
+
const leading = loading2 ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Spinner, { size: "sm", label: "" }) : startIcon;
|
|
902
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
670
903
|
"button",
|
|
671
904
|
{
|
|
672
905
|
ref,
|
|
@@ -677,38 +910,38 @@ var Button = /* @__PURE__ */ (0, import_react5.forwardRef)(function Button2({
|
|
|
677
910
|
onClick: handleClick,
|
|
678
911
|
...rest,
|
|
679
912
|
children: [
|
|
680
|
-
leading && /* @__PURE__ */ (0,
|
|
913
|
+
leading && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: icon2, children: leading }),
|
|
681
914
|
children,
|
|
682
|
-
endIcon && /* @__PURE__ */ (0,
|
|
915
|
+
endIcon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: icon2, children: endIcon })
|
|
683
916
|
]
|
|
684
917
|
}
|
|
685
918
|
);
|
|
686
919
|
});
|
|
687
920
|
|
|
688
921
|
// src/components/Input/Input.css.ts
|
|
689
|
-
var
|
|
922
|
+
var import_createRuntimeFn10 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
690
923
|
var adornment = "_19p5zvh6";
|
|
691
924
|
var field = "_19p5zvh7";
|
|
692
925
|
var fieldFullWidth = "_19p5zvh8";
|
|
693
|
-
var helperText = /* @__PURE__ */ (0,
|
|
926
|
+
var helperText = /* @__PURE__ */ (0, import_createRuntimeFn10.createRuntimeFn)({ defaultClassName: "_19p5zvhb", variantClassNames: { error: { true: "_19p5zvhc" } }, defaultVariants: {}, compoundVariants: [] });
|
|
694
927
|
var input = "_19p5zvh5";
|
|
695
|
-
var
|
|
928
|
+
var label2 = "_19p5zvh9";
|
|
696
929
|
var requiredMark = "_19p5zvha";
|
|
697
|
-
var
|
|
930
|
+
var root4 = /* @__PURE__ */ (0, import_createRuntimeFn10.createRuntimeFn)({ defaultClassName: "_19p5zvh0", variantClassNames: { size: { sm: "_19p5zvh1", md: "_19p5zvh2", lg: "_19p5zvh3" }, fullWidth: { true: "_19p5zvh4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
698
931
|
|
|
699
932
|
// src/components/Input/Input.tsx
|
|
700
|
-
var
|
|
701
|
-
var
|
|
702
|
-
var Input = /* @__PURE__ */ (0,
|
|
703
|
-
return /* @__PURE__ */ (0,
|
|
933
|
+
var import_react13 = require("react");
|
|
934
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
935
|
+
var Input = /* @__PURE__ */ (0, import_react13.forwardRef)(function Input2({ size, invalid, fullWidth, startAdornment, endAdornment, rootClassName, className, disabled, ...rest }, ref) {
|
|
936
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
704
937
|
"div",
|
|
705
938
|
{
|
|
706
|
-
className: cx(
|
|
939
|
+
className: cx(root4({ size, fullWidth }), rootClassName),
|
|
707
940
|
"data-invalid": invalid || void 0,
|
|
708
941
|
"data-disabled": disabled || void 0,
|
|
709
942
|
children: [
|
|
710
|
-
startAdornment && /* @__PURE__ */ (0,
|
|
711
|
-
/* @__PURE__ */ (0,
|
|
943
|
+
startAdornment && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: adornment, children: startAdornment }),
|
|
944
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
712
945
|
"input",
|
|
713
946
|
{
|
|
714
947
|
ref,
|
|
@@ -718,25 +951,25 @@ var Input = /* @__PURE__ */ (0, import_react6.forwardRef)(function Input2({ size
|
|
|
718
951
|
...rest
|
|
719
952
|
}
|
|
720
953
|
),
|
|
721
|
-
endAdornment && /* @__PURE__ */ (0,
|
|
954
|
+
endAdornment && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: adornment, children: endAdornment })
|
|
722
955
|
]
|
|
723
956
|
}
|
|
724
957
|
);
|
|
725
958
|
});
|
|
726
959
|
|
|
727
960
|
// src/components/Input/TextField.tsx
|
|
728
|
-
var
|
|
729
|
-
var
|
|
730
|
-
var TextField = /* @__PURE__ */ (0,
|
|
731
|
-
const generatedId = (0,
|
|
961
|
+
var import_react14 = require("react");
|
|
962
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
963
|
+
var TextField = /* @__PURE__ */ (0, import_react14.forwardRef)(function TextField2({ label: label6, helperText: helperText3, error, required, fullWidth, id, "aria-describedby": ariaDescribedBy, ...rest }, ref) {
|
|
964
|
+
const generatedId = (0, import_react14.useId)();
|
|
732
965
|
const inputId = id ?? generatedId;
|
|
733
966
|
const helperId = helperText3 ? `${inputId}-helper` : void 0;
|
|
734
|
-
return /* @__PURE__ */ (0,
|
|
735
|
-
label6 && /* @__PURE__ */ (0,
|
|
967
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
968
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("label", { htmlFor: inputId, className: label2, children: [
|
|
736
969
|
label6,
|
|
737
|
-
required && /* @__PURE__ */ (0,
|
|
970
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
738
971
|
] }),
|
|
739
|
-
/* @__PURE__ */ (0,
|
|
972
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
740
973
|
Input,
|
|
741
974
|
{
|
|
742
975
|
ref,
|
|
@@ -748,7 +981,7 @@ var TextField = /* @__PURE__ */ (0, import_react7.forwardRef)(function TextField
|
|
|
748
981
|
...rest
|
|
749
982
|
}
|
|
750
983
|
),
|
|
751
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
984
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
752
985
|
] });
|
|
753
986
|
});
|
|
754
987
|
|
|
@@ -757,9 +990,9 @@ var Dialog = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
|
757
990
|
var import_icons3 = require("@bestow-ui/icons");
|
|
758
991
|
|
|
759
992
|
// src/utils/useReturnFocus.ts
|
|
760
|
-
var
|
|
993
|
+
var import_react15 = require("react");
|
|
761
994
|
function useReturnFocus(hasTrigger, onCloseAutoFocus) {
|
|
762
|
-
const returnTo = (0,
|
|
995
|
+
const returnTo = (0, import_react15.useRef)(null);
|
|
763
996
|
return {
|
|
764
997
|
onOpenAutoFocus: () => {
|
|
765
998
|
returnTo.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
@@ -777,19 +1010,19 @@ function useReturnFocus(hasTrigger, onCloseAutoFocus) {
|
|
|
777
1010
|
}
|
|
778
1011
|
|
|
779
1012
|
// src/components/Modal/Modal.css.ts
|
|
780
|
-
var
|
|
781
|
-
var
|
|
1013
|
+
var import_createRuntimeFn11 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1014
|
+
var body2 = "_1pdsmv0a";
|
|
782
1015
|
var closeButton = "_1pdsmv09";
|
|
783
|
-
var content2 = /* @__PURE__ */ (0,
|
|
1016
|
+
var content2 = /* @__PURE__ */ (0, import_createRuntimeFn11.createRuntimeFn)({ defaultClassName: "_1pdsmv01", variantClassNames: { size: { sm: "_1pdsmv02", md: "_1pdsmv03", lg: "_1pdsmv04" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
784
1017
|
var description = "_1pdsmv08";
|
|
785
|
-
var
|
|
786
|
-
var
|
|
1018
|
+
var footer2 = "_1pdsmv0b";
|
|
1019
|
+
var header4 = "_1pdsmv05";
|
|
787
1020
|
var headings = "_1pdsmv06";
|
|
788
1021
|
var overlay = "_1pdsmv00";
|
|
789
1022
|
var title = "_1pdsmv07";
|
|
790
1023
|
|
|
791
1024
|
// src/components/Modal/Modal.tsx
|
|
792
|
-
var
|
|
1025
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
793
1026
|
function Modal({
|
|
794
1027
|
open,
|
|
795
1028
|
defaultOpen,
|
|
@@ -808,11 +1041,11 @@ function Modal({
|
|
|
808
1041
|
const portal2 = usePortalProps();
|
|
809
1042
|
const m = useMessages();
|
|
810
1043
|
const focus = useReturnFocus(Boolean(trigger4), onCloseAutoFocus);
|
|
811
|
-
return /* @__PURE__ */ (0,
|
|
812
|
-
trigger4 && /* @__PURE__ */ (0,
|
|
813
|
-
/* @__PURE__ */ (0,
|
|
814
|
-
/* @__PURE__ */ (0,
|
|
815
|
-
/* @__PURE__ */ (0,
|
|
1044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Dialog.Root, { open, defaultOpen, onOpenChange, children: [
|
|
1045
|
+
trigger4 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Trigger, { asChild: true, children: trigger4 }),
|
|
1046
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Dialog.Portal, { children: [
|
|
1047
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Overlay, { className: cx(portal2.className, overlay), style: portal2.style }),
|
|
1048
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
816
1049
|
Dialog.Content,
|
|
817
1050
|
{
|
|
818
1051
|
className: cx(portal2.className, content2({ size }), className),
|
|
@@ -822,15 +1055,15 @@ function Modal({
|
|
|
822
1055
|
onCloseAutoFocus: focus.onCloseAutoFocus,
|
|
823
1056
|
...description6 ? {} : { "aria-describedby": void 0 },
|
|
824
1057
|
children: [
|
|
825
|
-
/* @__PURE__ */ (0,
|
|
826
|
-
/* @__PURE__ */ (0,
|
|
827
|
-
/* @__PURE__ */ (0,
|
|
828
|
-
description6 && /* @__PURE__ */ (0,
|
|
1058
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: header4, children: [
|
|
1059
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: headings, children: [
|
|
1060
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Title, { className: title, children: title6 }),
|
|
1061
|
+
description6 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Description, { className: description, children: description6 })
|
|
829
1062
|
] }),
|
|
830
|
-
!hideCloseButton && /* @__PURE__ */ (0,
|
|
1063
|
+
!hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Close, { className: closeButton, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons3.XIcon, { size: 16 }) })
|
|
831
1064
|
] }),
|
|
832
|
-
children && /* @__PURE__ */ (0,
|
|
833
|
-
footer6 && /* @__PURE__ */ (0,
|
|
1065
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: body2, children }),
|
|
1066
|
+
footer6 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: footer2, children: footer6 })
|
|
834
1067
|
]
|
|
835
1068
|
}
|
|
836
1069
|
)
|
|
@@ -848,7 +1081,7 @@ var searchStatus = "_16fi7uy5";
|
|
|
848
1081
|
var zonecode = "_16fi7uy3";
|
|
849
1082
|
|
|
850
1083
|
// src/components/AddressInput/AddressInput.tsx
|
|
851
|
-
var
|
|
1084
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
852
1085
|
var EMPTY = { zonecode: "", address: "", extraAddress: "", detail: "" };
|
|
853
1086
|
function SearchArea({
|
|
854
1087
|
provider,
|
|
@@ -856,13 +1089,13 @@ function SearchArea({
|
|
|
856
1089
|
loadErrorText,
|
|
857
1090
|
loadingText
|
|
858
1091
|
}) {
|
|
859
|
-
const containerRef = (0,
|
|
860
|
-
const [status, setStatus] = (0,
|
|
861
|
-
const onSelectRef = (0,
|
|
862
|
-
(0,
|
|
1092
|
+
const containerRef = (0, import_react16.useRef)(null);
|
|
1093
|
+
const [status, setStatus] = (0, import_react16.useState)("loading");
|
|
1094
|
+
const onSelectRef = (0, import_react16.useRef)(onSelect);
|
|
1095
|
+
(0, import_react16.useEffect)(() => {
|
|
863
1096
|
onSelectRef.current = onSelect;
|
|
864
1097
|
});
|
|
865
|
-
(0,
|
|
1098
|
+
(0, import_react16.useEffect)(() => {
|
|
866
1099
|
const container2 = containerRef.current;
|
|
867
1100
|
if (!container2) return;
|
|
868
1101
|
let cleanup;
|
|
@@ -879,12 +1112,12 @@ function SearchArea({
|
|
|
879
1112
|
cleanup?.();
|
|
880
1113
|
};
|
|
881
1114
|
}, [provider]);
|
|
882
|
-
return /* @__PURE__ */ (0,
|
|
883
|
-
/* @__PURE__ */ (0,
|
|
884
|
-
status !== "ready" && /* @__PURE__ */ (0,
|
|
1115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: searchArea, children: [
|
|
1116
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { ref: containerRef, style: { width: "100%", height: "100%" } }),
|
|
1117
|
+
status !== "ready" && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: searchStatus, role: "status", children: status === "loading" ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Spinner, { label: loadingText }) : loadErrorText })
|
|
885
1118
|
] });
|
|
886
1119
|
}
|
|
887
|
-
var AddressInput = /* @__PURE__ */ (0,
|
|
1120
|
+
var AddressInput = /* @__PURE__ */ (0, import_react16.forwardRef)(
|
|
888
1121
|
function AddressInput2(props, ref) {
|
|
889
1122
|
const {
|
|
890
1123
|
value: value4,
|
|
@@ -907,13 +1140,13 @@ var AddressInput = /* @__PURE__ */ (0, import_react9.forwardRef)(
|
|
|
907
1140
|
const searchLabel = searchLabelProp ?? m.addressSearch ?? "\uC8FC\uC18C \uAC80\uC0C9";
|
|
908
1141
|
const detailPlaceholder = detailPlaceholderProp ?? m.detailAddressPlaceholder ?? "\uC0C1\uC138 \uC8FC\uC18C (\uB3D9\xB7\uD638\uC218 \uB4F1)";
|
|
909
1142
|
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.";
|
|
910
|
-
const baseId = (0,
|
|
1143
|
+
const baseId = (0, import_react16.useId)();
|
|
911
1144
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
912
|
-
const detailRef = (0,
|
|
913
|
-
const selectedRef = (0,
|
|
914
|
-
const [open, setOpen] = (0,
|
|
1145
|
+
const detailRef = (0, import_react16.useRef)(null);
|
|
1146
|
+
const selectedRef = (0, import_react16.useRef)(false);
|
|
1147
|
+
const [open, setOpen] = (0, import_react16.useState)(false);
|
|
915
1148
|
const isControlled = "value" in props;
|
|
916
|
-
const [innerValue, setInnerValue] = (0,
|
|
1149
|
+
const [innerValue, setInnerValue] = (0, import_react16.useState)(defaultValue ?? EMPTY);
|
|
917
1150
|
const current2 = isControlled ? value4 ?? EMPTY : innerValue;
|
|
918
1151
|
const update = (next) => {
|
|
919
1152
|
if (!isControlled) setInnerValue(next);
|
|
@@ -935,13 +1168,13 @@ var AddressInput = /* @__PURE__ */ (0, import_react9.forwardRef)(
|
|
|
935
1168
|
setOpen(false);
|
|
936
1169
|
};
|
|
937
1170
|
const fullAddress = `${current2.address}${current2.extraAddress ?? ""}`;
|
|
938
|
-
return /* @__PURE__ */ (0,
|
|
939
|
-
/* @__PURE__ */ (0,
|
|
1171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("fieldset", { ref, className: cx(fieldset, className), disabled, "aria-describedby": helperId, children: [
|
|
1172
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("legend", { className: legend, children: [
|
|
940
1173
|
label6,
|
|
941
|
-
required && /* @__PURE__ */ (0,
|
|
1174
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
942
1175
|
] }),
|
|
943
|
-
/* @__PURE__ */ (0,
|
|
944
|
-
/* @__PURE__ */ (0,
|
|
1176
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: row, children: [
|
|
1177
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
945
1178
|
TextField,
|
|
946
1179
|
{
|
|
947
1180
|
"aria-label": m.postalCode ?? "\uC6B0\uD3B8\uBC88\uD638",
|
|
@@ -954,9 +1187,9 @@ var AddressInput = /* @__PURE__ */ (0, import_react9.forwardRef)(
|
|
|
954
1187
|
onClick: openSearch
|
|
955
1188
|
}
|
|
956
1189
|
),
|
|
957
|
-
/* @__PURE__ */ (0,
|
|
1190
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Button, { variant: "outline", color: "neutral", onClick: openSearch, disabled, children: searchLabel })
|
|
958
1191
|
] }),
|
|
959
|
-
/* @__PURE__ */ (0,
|
|
1192
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
960
1193
|
TextField,
|
|
961
1194
|
{
|
|
962
1195
|
"aria-label": m.baseAddress ?? "\uAE30\uBCF8 \uC8FC\uC18C",
|
|
@@ -969,7 +1202,7 @@ var AddressInput = /* @__PURE__ */ (0, import_react9.forwardRef)(
|
|
|
969
1202
|
onClick: openSearch
|
|
970
1203
|
}
|
|
971
1204
|
),
|
|
972
|
-
/* @__PURE__ */ (0,
|
|
1205
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
973
1206
|
TextField,
|
|
974
1207
|
{
|
|
975
1208
|
ref: detailRef,
|
|
@@ -981,13 +1214,13 @@ var AddressInput = /* @__PURE__ */ (0, import_react9.forwardRef)(
|
|
|
981
1214
|
fullWidth: true
|
|
982
1215
|
}
|
|
983
1216
|
),
|
|
984
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
985
|
-
name && /* @__PURE__ */ (0,
|
|
986
|
-
/* @__PURE__ */ (0,
|
|
987
|
-
/* @__PURE__ */ (0,
|
|
988
|
-
/* @__PURE__ */ (0,
|
|
1217
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
|
|
1218
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
|
|
1219
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("input", { type: "hidden", name: `${name}[zonecode]`, value: current2.zonecode }),
|
|
1220
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("input", { type: "hidden", name: `${name}[address]`, value: fullAddress }),
|
|
1221
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("input", { type: "hidden", name: `${name}[detail]`, value: current2.detail })
|
|
989
1222
|
] }),
|
|
990
|
-
/* @__PURE__ */ (0,
|
|
1223
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
991
1224
|
Modal,
|
|
992
1225
|
{
|
|
993
1226
|
open,
|
|
@@ -1000,7 +1233,7 @@ var AddressInput = /* @__PURE__ */ (0, import_react9.forwardRef)(
|
|
|
1000
1233
|
detailRef.current?.focus();
|
|
1001
1234
|
}
|
|
1002
1235
|
},
|
|
1003
|
-
children: /* @__PURE__ */ (0,
|
|
1236
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1004
1237
|
SearchArea,
|
|
1005
1238
|
{
|
|
1006
1239
|
provider,
|
|
@@ -1016,11 +1249,11 @@ var AddressInput = /* @__PURE__ */ (0, import_react9.forwardRef)(
|
|
|
1016
1249
|
);
|
|
1017
1250
|
|
|
1018
1251
|
// src/components/AgreementGroup/AgreementGroup.tsx
|
|
1019
|
-
var
|
|
1252
|
+
var import_react18 = require("react");
|
|
1020
1253
|
var import_icons4 = require("@bestow-ui/icons");
|
|
1021
1254
|
|
|
1022
1255
|
// src/components/Checkbox/Checkbox.tsx
|
|
1023
|
-
var
|
|
1256
|
+
var import_react17 = require("react");
|
|
1024
1257
|
|
|
1025
1258
|
// src/utils/mergeRefs.ts
|
|
1026
1259
|
function mergeRefs(...refs) {
|
|
@@ -1033,23 +1266,23 @@ function mergeRefs(...refs) {
|
|
|
1033
1266
|
}
|
|
1034
1267
|
|
|
1035
1268
|
// src/components/Checkbox/Checkbox.css.ts
|
|
1036
|
-
var
|
|
1269
|
+
var import_createRuntimeFn12 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1037
1270
|
var checkIcon = "_1y7mzsn8 _1y7mzsn7";
|
|
1038
|
-
var control = /* @__PURE__ */ (0,
|
|
1271
|
+
var control = /* @__PURE__ */ (0, import_createRuntimeFn12.createRuntimeFn)({ defaultClassName: "_1y7mzsn3", variantClassNames: { size: { sm: "_1y7mzsn4", md: "_1y7mzsn5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1039
1272
|
var indeterminateIcon = "_1y7mzsn9 _1y7mzsn7";
|
|
1040
1273
|
var input2 = "_1y7mzsn6";
|
|
1041
|
-
var
|
|
1274
|
+
var root5 = /* @__PURE__ */ (0, import_createRuntimeFn12.createRuntimeFn)({ defaultClassName: "_1y7mzsn0", variantClassNames: { size: { sm: "_1y7mzsn1", md: "_1y7mzsn2" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1042
1275
|
|
|
1043
1276
|
// src/components/Checkbox/Checkbox.tsx
|
|
1044
|
-
var
|
|
1045
|
-
var Checkbox = /* @__PURE__ */ (0,
|
|
1046
|
-
const innerRef = (0,
|
|
1047
|
-
(0,
|
|
1277
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1278
|
+
var Checkbox = /* @__PURE__ */ (0, import_react17.forwardRef)(function Checkbox2({ label: label6, size, indeterminate = false, invalid, disabled, onChange, onCheckedChange, className, ...rest }, ref) {
|
|
1279
|
+
const innerRef = (0, import_react17.useRef)(null);
|
|
1280
|
+
(0, import_react17.useEffect)(() => {
|
|
1048
1281
|
if (innerRef.current) innerRef.current.indeterminate = indeterminate;
|
|
1049
1282
|
}, [indeterminate]);
|
|
1050
|
-
return /* @__PURE__ */ (0,
|
|
1051
|
-
/* @__PURE__ */ (0,
|
|
1052
|
-
/* @__PURE__ */ (0,
|
|
1283
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("label", { className: cx(root5({ size }), className), "data-disabled": disabled || void 0, children: [
|
|
1284
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("span", { className: control({ size }), children: [
|
|
1285
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1053
1286
|
"input",
|
|
1054
1287
|
{
|
|
1055
1288
|
ref: mergeRefs(innerRef, ref),
|
|
@@ -1064,7 +1297,7 @@ var Checkbox = /* @__PURE__ */ (0, import_react10.forwardRef)(function Checkbox2
|
|
|
1064
1297
|
...rest
|
|
1065
1298
|
}
|
|
1066
1299
|
),
|
|
1067
|
-
/* @__PURE__ */ (0,
|
|
1300
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("svg", { className: checkIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1068
1301
|
"path",
|
|
1069
1302
|
{
|
|
1070
1303
|
d: "M5 10.5l3.2 3L15 7",
|
|
@@ -1074,7 +1307,7 @@ var Checkbox = /* @__PURE__ */ (0, import_react10.forwardRef)(function Checkbox2
|
|
|
1074
1307
|
strokeLinejoin: "round"
|
|
1075
1308
|
}
|
|
1076
1309
|
) }),
|
|
1077
|
-
/* @__PURE__ */ (0,
|
|
1310
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("svg", { className: indeterminateIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("path", { d: "M6 10h8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) })
|
|
1078
1311
|
] }),
|
|
1079
1312
|
label6
|
|
1080
1313
|
] });
|
|
@@ -1094,8 +1327,8 @@ var tag = "j3uxdc7";
|
|
|
1094
1327
|
var toggle = "j3uxdc8";
|
|
1095
1328
|
|
|
1096
1329
|
// src/components/AgreementGroup/AgreementGroup.tsx
|
|
1097
|
-
var
|
|
1098
|
-
var AgreementGroup = /* @__PURE__ */ (0,
|
|
1330
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1331
|
+
var AgreementGroup = /* @__PURE__ */ (0, import_react18.forwardRef)(
|
|
1099
1332
|
function AgreementGroup2(props, ref) {
|
|
1100
1333
|
const {
|
|
1101
1334
|
items: items2,
|
|
@@ -1120,21 +1353,21 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react11.forwardRef)(
|
|
|
1120
1353
|
const optionalText = optionalTextProp ?? m.optional ?? "\uC120\uD0DD";
|
|
1121
1354
|
const showText = showTextProp ?? m.show ?? "\uBCF4\uAE30";
|
|
1122
1355
|
const hideText = hideTextProp ?? m.hide ?? "\uC811\uAE30";
|
|
1123
|
-
const baseId = (0,
|
|
1356
|
+
const baseId = (0, import_react18.useId)();
|
|
1124
1357
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
1125
1358
|
const isControlled = "value" in props;
|
|
1126
|
-
const [innerValue, setInnerValue] = (0,
|
|
1359
|
+
const [innerValue, setInnerValue] = (0, import_react18.useState)(defaultValue ?? []);
|
|
1127
1360
|
const agreed = isControlled ? value4 ?? [] : innerValue;
|
|
1128
|
-
const [expanded, setExpanded] = (0,
|
|
1361
|
+
const [expanded, setExpanded] = (0, import_react18.useState)([]);
|
|
1129
1362
|
const update = (next) => {
|
|
1130
1363
|
if (!isControlled) setInnerValue(next);
|
|
1131
1364
|
onValueChange?.(next);
|
|
1132
1365
|
};
|
|
1133
|
-
const allValues = items2.map((
|
|
1366
|
+
const allValues = items2.map((item8) => item8.value);
|
|
1134
1367
|
const agreedCount = allValues.filter((v) => agreed.includes(v)).length;
|
|
1135
1368
|
const allChecked = items2.length > 0 && agreedCount === items2.length;
|
|
1136
1369
|
const toggleItem = (itemValue, checked) => update(checked ? [...agreed.filter((v) => v !== itemValue), itemValue] : agreed.filter((v) => v !== itemValue));
|
|
1137
|
-
return /* @__PURE__ */ (0,
|
|
1370
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1138
1371
|
"fieldset",
|
|
1139
1372
|
{
|
|
1140
1373
|
ref,
|
|
@@ -1143,9 +1376,9 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react11.forwardRef)(
|
|
|
1143
1376
|
"aria-describedby": helperId,
|
|
1144
1377
|
"data-invalid": error || void 0,
|
|
1145
1378
|
children: [
|
|
1146
|
-
label6 && /* @__PURE__ */ (0,
|
|
1147
|
-
/* @__PURE__ */ (0,
|
|
1148
|
-
/* @__PURE__ */ (0,
|
|
1379
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("legend", { className: legend2, children: label6 }),
|
|
1380
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: box, children: [
|
|
1381
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: all, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1149
1382
|
Checkbox,
|
|
1150
1383
|
{
|
|
1151
1384
|
label: allLabel,
|
|
@@ -1154,28 +1387,28 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react11.forwardRef)(
|
|
|
1154
1387
|
onChange: (event) => update(event.target.checked ? allValues : [])
|
|
1155
1388
|
}
|
|
1156
1389
|
) }),
|
|
1157
|
-
/* @__PURE__ */ (0,
|
|
1158
|
-
const labelId = `${baseId}-${
|
|
1159
|
-
const toggleTextId = `${baseId}-${
|
|
1160
|
-
const contentId = `${baseId}-${
|
|
1161
|
-
const isOpen = expanded.includes(
|
|
1162
|
-
return /* @__PURE__ */ (0,
|
|
1163
|
-
/* @__PURE__ */ (0,
|
|
1164
|
-
/* @__PURE__ */ (0,
|
|
1390
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("ul", { className: list, children: items2.map((item8) => {
|
|
1391
|
+
const labelId = `${baseId}-${item8.value}-label`;
|
|
1392
|
+
const toggleTextId = `${baseId}-${item8.value}-toggle`;
|
|
1393
|
+
const contentId = `${baseId}-${item8.value}-content`;
|
|
1394
|
+
const isOpen = expanded.includes(item8.value);
|
|
1395
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("li", { className: item2, children: [
|
|
1396
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: row2, children: [
|
|
1397
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1165
1398
|
Checkbox,
|
|
1166
1399
|
{
|
|
1167
1400
|
size: "sm",
|
|
1168
|
-
checked: agreed.includes(
|
|
1169
|
-
invalid: error &&
|
|
1170
|
-
onChange: (event) => toggleItem(
|
|
1171
|
-
label: /* @__PURE__ */ (0,
|
|
1172
|
-
/* @__PURE__ */ (0,
|
|
1401
|
+
checked: agreed.includes(item8.value),
|
|
1402
|
+
invalid: error && item8.required && !agreed.includes(item8.value),
|
|
1403
|
+
onChange: (event) => toggleItem(item8.value, event.target.checked),
|
|
1404
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("span", { id: labelId, children: [
|
|
1405
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: tag, "data-required": item8.required || void 0, children: item8.required ? requiredText : optionalText }),
|
|
1173
1406
|
" ",
|
|
1174
|
-
|
|
1407
|
+
item8.label
|
|
1175
1408
|
] })
|
|
1176
1409
|
}
|
|
1177
1410
|
),
|
|
1178
|
-
|
|
1411
|
+
item8.content && /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1179
1412
|
"button",
|
|
1180
1413
|
{
|
|
1181
1414
|
type: "button",
|
|
@@ -1183,22 +1416,22 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react11.forwardRef)(
|
|
|
1183
1416
|
"aria-expanded": isOpen,
|
|
1184
1417
|
"aria-controls": contentId,
|
|
1185
1418
|
"aria-labelledby": `${labelId} ${toggleTextId}`,
|
|
1186
|
-
onClick: () => setExpanded((prev) => isOpen ? prev.filter((v) => v !==
|
|
1419
|
+
onClick: () => setExpanded((prev) => isOpen ? prev.filter((v) => v !== item8.value) : [...prev, item8.value]),
|
|
1187
1420
|
children: [
|
|
1188
|
-
/* @__PURE__ */ (0,
|
|
1189
|
-
/* @__PURE__ */ (0,
|
|
1421
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { id: toggleTextId, children: isOpen ? hideText : showText }),
|
|
1422
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_icons4.ChevronDownIcon, { size: 14, className: chevron2 })
|
|
1190
1423
|
]
|
|
1191
1424
|
}
|
|
1192
1425
|
)
|
|
1193
1426
|
] }),
|
|
1194
|
-
|
|
1427
|
+
item8.content && isOpen && // 내용이 길면 스크롤된다 — 키보드로도 스크롤할 수 있게 포커스를 받는 이름 있는 영역으로 둔다
|
|
1195
1428
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
|
|
1196
|
-
/* @__PURE__ */ (0,
|
|
1197
|
-
] },
|
|
1429
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { id: contentId, role: "region", "aria-labelledby": labelId, tabIndex: 0, className: content3, children: item8.content })
|
|
1430
|
+
] }, item8.value);
|
|
1198
1431
|
}) })
|
|
1199
1432
|
] }),
|
|
1200
|
-
name && agreed.map((v) => /* @__PURE__ */ (0,
|
|
1201
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
1433
|
+
name && agreed.map((v) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("input", { type: "hidden", name, value: v }, v)),
|
|
1434
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
1202
1435
|
]
|
|
1203
1436
|
}
|
|
1204
1437
|
);
|
|
@@ -1206,21 +1439,21 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react11.forwardRef)(
|
|
|
1206
1439
|
);
|
|
1207
1440
|
|
|
1208
1441
|
// src/components/Alert/Alert.tsx
|
|
1209
|
-
var
|
|
1442
|
+
var import_react19 = require("react");
|
|
1210
1443
|
var import_icons5 = require("@bestow-ui/icons");
|
|
1211
1444
|
|
|
1212
1445
|
// src/components/Alert/Alert.css.ts
|
|
1213
|
-
var
|
|
1446
|
+
var import_createRuntimeFn13 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1214
1447
|
var action = "bsmpc0j";
|
|
1215
|
-
var alert = /* @__PURE__ */ (0,
|
|
1448
|
+
var alert = /* @__PURE__ */ (0, import_createRuntimeFn13.createRuntimeFn)({ 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: [] });
|
|
1216
1449
|
var closeButton2 = "bsmpc0k";
|
|
1217
1450
|
var content4 = "bsmpc0g";
|
|
1218
1451
|
var description2 = "bsmpc0i";
|
|
1219
|
-
var
|
|
1452
|
+
var icon3 = "bsmpc0f";
|
|
1220
1453
|
var title2 = "bsmpc0h";
|
|
1221
1454
|
|
|
1222
1455
|
// src/components/Alert/Alert.tsx
|
|
1223
|
-
var
|
|
1456
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1224
1457
|
var defaultIcons = {
|
|
1225
1458
|
primary: import_icons5.InfoIcon,
|
|
1226
1459
|
neutral: import_icons5.InfoIcon,
|
|
@@ -1228,11 +1461,11 @@ var defaultIcons = {
|
|
|
1228
1461
|
warning: import_icons5.TriangleAlertIcon,
|
|
1229
1462
|
danger: import_icons5.CircleAlertIcon
|
|
1230
1463
|
};
|
|
1231
|
-
var Alert = /* @__PURE__ */ (0,
|
|
1464
|
+
var Alert = /* @__PURE__ */ (0, import_react19.forwardRef)(function Alert2({
|
|
1232
1465
|
variant,
|
|
1233
1466
|
color = "primary",
|
|
1234
1467
|
title: title6,
|
|
1235
|
-
icon:
|
|
1468
|
+
icon: icon7,
|
|
1236
1469
|
action: action3,
|
|
1237
1470
|
onClose,
|
|
1238
1471
|
closeLabel: closeLabelProp,
|
|
@@ -1243,34 +1476,34 @@ var Alert = /* @__PURE__ */ (0, import_react12.forwardRef)(function Alert2({
|
|
|
1243
1476
|
const m = useMessages();
|
|
1244
1477
|
const closeLabel = closeLabelProp ?? m.close ?? "\uB2EB\uAE30";
|
|
1245
1478
|
const DefaultIcon = defaultIcons[color];
|
|
1246
|
-
const iconNode =
|
|
1247
|
-
return /* @__PURE__ */ (0,
|
|
1248
|
-
iconNode !== false && iconNode !== null && /* @__PURE__ */ (0,
|
|
1249
|
-
/* @__PURE__ */ (0,
|
|
1250
|
-
title6 && /* @__PURE__ */ (0,
|
|
1251
|
-
children && /* @__PURE__ */ (0,
|
|
1479
|
+
const iconNode = icon7 === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DefaultIcon, { size: 18 }) : icon7;
|
|
1480
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { ref, className: cx(alert({ variant, color }), className), ...rest, children: [
|
|
1481
|
+
iconNode !== false && iconNode !== null && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: icon3, "aria-hidden": true, children: iconNode }),
|
|
1482
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: content4, children: [
|
|
1483
|
+
title6 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: title2, children: title6 }),
|
|
1484
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: description2, children })
|
|
1252
1485
|
] }),
|
|
1253
|
-
action3 && /* @__PURE__ */ (0,
|
|
1254
|
-
onClose && /* @__PURE__ */ (0,
|
|
1486
|
+
action3 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: action, children: action3 }),
|
|
1487
|
+
onClose && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("button", { type: "button", className: closeButton2, "aria-label": closeLabel, onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons5.XIcon, { size: 16 }) })
|
|
1255
1488
|
] });
|
|
1256
1489
|
});
|
|
1257
1490
|
|
|
1258
1491
|
// src/components/AmountInput/AmountInput.tsx
|
|
1259
|
-
var
|
|
1492
|
+
var import_react22 = require("react");
|
|
1260
1493
|
|
|
1261
1494
|
// src/utils/useFormattedInput.ts
|
|
1262
|
-
var
|
|
1495
|
+
var import_react21 = require("react");
|
|
1263
1496
|
|
|
1264
1497
|
// src/utils/useIsomorphicLayoutEffect.ts
|
|
1265
|
-
var
|
|
1266
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ?
|
|
1498
|
+
var import_react20 = require("react");
|
|
1499
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react20.useLayoutEffect : import_react20.useEffect;
|
|
1267
1500
|
|
|
1268
1501
|
// src/utils/useFormattedInput.ts
|
|
1269
|
-
function caretAfter(display, count2,
|
|
1502
|
+
function caretAfter(display, count2, isMeaningful2) {
|
|
1270
1503
|
if (count2 <= 0) return 0;
|
|
1271
1504
|
let seen = 0;
|
|
1272
1505
|
for (let i = 0; i < display.length; i++) {
|
|
1273
|
-
if (
|
|
1506
|
+
if (isMeaningful2(display[i])) seen++;
|
|
1274
1507
|
if (seen === count2) return i + 1;
|
|
1275
1508
|
}
|
|
1276
1509
|
return display.length;
|
|
@@ -1282,18 +1515,18 @@ function useFormattedInput({
|
|
|
1282
1515
|
onValueChange,
|
|
1283
1516
|
sanitize: sanitize4,
|
|
1284
1517
|
format: format2,
|
|
1285
|
-
isMeaningful,
|
|
1518
|
+
isMeaningful: isMeaningful2,
|
|
1286
1519
|
inputRef
|
|
1287
1520
|
}) {
|
|
1288
|
-
const [innerValue, setInnerValue] = (0,
|
|
1521
|
+
const [innerValue, setInnerValue] = (0, import_react21.useState)(() => sanitize4(defaultValue ?? ""));
|
|
1289
1522
|
const raw = isControlled ? sanitize4(value4 ?? "") : innerValue;
|
|
1290
1523
|
const display = format2(raw);
|
|
1291
|
-
const pendingCaret = (0,
|
|
1524
|
+
const pendingCaret = (0, import_react21.useRef)(null);
|
|
1292
1525
|
useIsomorphicLayoutEffect(() => {
|
|
1293
|
-
const
|
|
1294
|
-
if (pendingCaret.current === null || !
|
|
1295
|
-
const position = caretAfter(
|
|
1296
|
-
|
|
1526
|
+
const input6 = inputRef.current;
|
|
1527
|
+
if (pendingCaret.current === null || !input6 || document.activeElement !== input6) return;
|
|
1528
|
+
const position = caretAfter(input6.value, pendingCaret.current, isMeaningful2);
|
|
1529
|
+
input6.setSelectionRange(position, position);
|
|
1297
1530
|
pendingCaret.current = null;
|
|
1298
1531
|
});
|
|
1299
1532
|
const commit = (next, caretCount) => {
|
|
@@ -1308,17 +1541,17 @@ function useFormattedInput({
|
|
|
1308
1541
|
commit(next, Math.min(before.length, next.length));
|
|
1309
1542
|
};
|
|
1310
1543
|
const onKeyDown = (event) => {
|
|
1311
|
-
const
|
|
1312
|
-
const { selectionStart: start, selectionEnd:
|
|
1313
|
-
if (start === null || start !==
|
|
1314
|
-
const countBefore = (text2) => [...text2].filter(
|
|
1315
|
-
if (event.key === "Backspace" && start > 0 && !
|
|
1316
|
-
const index = countBefore(
|
|
1544
|
+
const input6 = event.currentTarget;
|
|
1545
|
+
const { selectionStart: start, selectionEnd: end2 } = input6;
|
|
1546
|
+
if (start === null || start !== end2) return;
|
|
1547
|
+
const countBefore = (text2) => [...text2].filter(isMeaningful2).length;
|
|
1548
|
+
if (event.key === "Backspace" && start > 0 && !isMeaningful2(input6.value[start - 1])) {
|
|
1549
|
+
const index = countBefore(input6.value.slice(0, start)) - 1;
|
|
1317
1550
|
if (index < 0) return;
|
|
1318
1551
|
event.preventDefault();
|
|
1319
1552
|
commit(raw.slice(0, index) + raw.slice(index + 1), index);
|
|
1320
|
-
} else if (event.key === "Delete" && start <
|
|
1321
|
-
const index = countBefore(
|
|
1553
|
+
} else if (event.key === "Delete" && start < input6.value.length && !isMeaningful2(input6.value[start])) {
|
|
1554
|
+
const index = countBefore(input6.value.slice(0, start));
|
|
1322
1555
|
if (index >= raw.length) return;
|
|
1323
1556
|
event.preventDefault();
|
|
1324
1557
|
commit(raw.slice(0, index) + raw.slice(index + 1), index);
|
|
@@ -1332,10 +1565,10 @@ function useFormattedInput({
|
|
|
1332
1565
|
var input3 = "_70qkav0";
|
|
1333
1566
|
|
|
1334
1567
|
// src/components/AmountInput/AmountInput.tsx
|
|
1335
|
-
var
|
|
1568
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1336
1569
|
var MAX_DIGITS = 15;
|
|
1337
1570
|
var isDigit = (char) => /\d/.test(char);
|
|
1338
|
-
var AmountInput = /* @__PURE__ */ (0,
|
|
1571
|
+
var AmountInput = /* @__PURE__ */ (0, import_react22.forwardRef)(
|
|
1339
1572
|
function AmountInput2(props, ref) {
|
|
1340
1573
|
const {
|
|
1341
1574
|
value: value4,
|
|
@@ -1351,12 +1584,12 @@ var AmountInput = /* @__PURE__ */ (0, import_react15.forwardRef)(
|
|
|
1351
1584
|
className,
|
|
1352
1585
|
...rest
|
|
1353
1586
|
} = props;
|
|
1354
|
-
const inputRef = (0,
|
|
1587
|
+
const inputRef = (0, import_react22.useRef)(null);
|
|
1355
1588
|
const m = useMessages();
|
|
1356
|
-
const
|
|
1589
|
+
const unit2 = unitProp ?? m.currencyUnit ?? "\uC6D0";
|
|
1357
1590
|
const label6 = labelProp ?? m.amount ?? "\uAE08\uC561";
|
|
1358
|
-
const sanitize4 = (
|
|
1359
|
-
let digits =
|
|
1591
|
+
const sanitize4 = (input6) => {
|
|
1592
|
+
let digits = input6.replace(/\D/g, "").replace(/^0+(?=\d)/, "").slice(0, MAX_DIGITS);
|
|
1360
1593
|
if (max !== void 0 && digits && Number(digits) > max) digits = String(Math.floor(max));
|
|
1361
1594
|
return digits;
|
|
1362
1595
|
};
|
|
@@ -1371,8 +1604,8 @@ var AmountInput = /* @__PURE__ */ (0, import_react15.forwardRef)(
|
|
|
1371
1604
|
isMeaningful: isDigit,
|
|
1372
1605
|
inputRef
|
|
1373
1606
|
});
|
|
1374
|
-
const reading = showKoreanAmount && field3.raw !== "" ? formatKoreanAmount(Number(field3.raw),
|
|
1375
|
-
return /* @__PURE__ */ (0,
|
|
1607
|
+
const reading = showKoreanAmount && field3.raw !== "" ? formatKoreanAmount(Number(field3.raw), unit2) : null;
|
|
1608
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1376
1609
|
TextField,
|
|
1377
1610
|
{
|
|
1378
1611
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -1385,10 +1618,10 @@ var AmountInput = /* @__PURE__ */ (0, import_react15.forwardRef)(
|
|
|
1385
1618
|
field3.onKeyDown(event);
|
|
1386
1619
|
onKeyDown?.(event);
|
|
1387
1620
|
},
|
|
1388
|
-
endAdornment:
|
|
1389
|
-
helperText: reading && helperText3 ? /* @__PURE__ */ (0,
|
|
1621
|
+
endAdornment: unit2,
|
|
1622
|
+
helperText: reading && helperText3 ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
1390
1623
|
reading,
|
|
1391
|
-
/* @__PURE__ */ (0,
|
|
1624
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("br", {}),
|
|
1392
1625
|
helperText3
|
|
1393
1626
|
] }) : reading ?? helperText3,
|
|
1394
1627
|
className: cx(input3, className),
|
|
@@ -1401,68 +1634,51 @@ var AmountInput = /* @__PURE__ */ (0, import_react15.forwardRef)(
|
|
|
1401
1634
|
// src/components/Avatar/Avatar.tsx
|
|
1402
1635
|
var RadixAvatar = __toESM(require("@radix-ui/react-avatar"), 1);
|
|
1403
1636
|
var import_icons6 = require("@bestow-ui/icons");
|
|
1404
|
-
var
|
|
1637
|
+
var import_react23 = require("react");
|
|
1405
1638
|
|
|
1406
1639
|
// src/components/Avatar/Avatar.css.ts
|
|
1407
|
-
var
|
|
1640
|
+
var import_createRuntimeFn14 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1408
1641
|
var fallback = "_1fd2kp27";
|
|
1409
1642
|
var image = "_1fd2kp26";
|
|
1410
|
-
var
|
|
1643
|
+
var root6 = /* @__PURE__ */ (0, import_createRuntimeFn14.createRuntimeFn)({ defaultClassName: "_1fd2kp20", variantClassNames: { size: { sm: "_1fd2kp21", md: "_1fd2kp22", lg: "_1fd2kp23" }, shape: { circle: "_1fd2kp24", square: "_1fd2kp25" } }, defaultVariants: { size: "md", shape: "circle" }, compoundVariants: [] });
|
|
1411
1644
|
|
|
1412
1645
|
// src/components/Avatar/Avatar.tsx
|
|
1413
|
-
var
|
|
1646
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1414
1647
|
function getInitials(name) {
|
|
1415
1648
|
const [a = "", b = ""] = name.trim().split(/\s+/);
|
|
1416
1649
|
const first = (word) => Array.from(word)[0] ?? "";
|
|
1417
1650
|
return (first(a) + first(b)).toUpperCase();
|
|
1418
1651
|
}
|
|
1419
|
-
var Avatar = /* @__PURE__ */ (0,
|
|
1652
|
+
var Avatar = /* @__PURE__ */ (0, import_react23.forwardRef)(function Avatar2({ src, alt, name, fallback: fallback2, size, shape, className, ...rest }, ref) {
|
|
1420
1653
|
const label6 = alt ?? name;
|
|
1421
1654
|
const a11y = label6 ? { role: "img", "aria-label": label6 } : { "aria-hidden": true };
|
|
1422
1655
|
const initials = name ? getInitials(name) : "";
|
|
1423
|
-
return /* @__PURE__ */ (0,
|
|
1424
|
-
src && /* @__PURE__ */ (0,
|
|
1425
|
-
/* @__PURE__ */ (0,
|
|
1656
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(RadixAvatar.Root, { ref, className: cx(root6({ size, shape }), className), ...a11y, ...rest, children: [
|
|
1657
|
+
src && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RadixAvatar.Image, { src, alt: "", className: image }),
|
|
1658
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RadixAvatar.Fallback, { className: fallback, children: fallback2 ?? (initials || /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_icons6.UserIcon, { size: "60%" })) })
|
|
1426
1659
|
] });
|
|
1427
1660
|
});
|
|
1428
1661
|
|
|
1429
|
-
// src/components/
|
|
1430
|
-
var
|
|
1662
|
+
// src/components/Breadcrumb/Breadcrumb.tsx
|
|
1663
|
+
var import_react25 = require("react");
|
|
1664
|
+
var import_icons8 = require("@bestow-ui/icons");
|
|
1431
1665
|
|
|
1432
|
-
// src/components/
|
|
1433
|
-
var
|
|
1434
|
-
var
|
|
1435
|
-
var
|
|
1436
|
-
|
|
1437
|
-
// src/components/Badge/Badge.tsx
|
|
1438
|
-
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1439
|
-
var Badge = /* @__PURE__ */ (0, import_react17.forwardRef)(function Badge2({ variant, color, size, startIcon, className, children, ...rest }, ref) {
|
|
1440
|
-
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { ref, className: cx(badge({ variant, color, size }), className), ...rest, children: [
|
|
1441
|
-
startIcon && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: icon3, children: startIcon }),
|
|
1442
|
-
children
|
|
1443
|
-
] });
|
|
1444
|
-
});
|
|
1445
|
-
|
|
1446
|
-
// src/components/Breadcrumb/Breadcrumb.tsx
|
|
1447
|
-
var import_react19 = require("react");
|
|
1448
|
-
var import_icons8 = require("@bestow-ui/icons");
|
|
1449
|
-
|
|
1450
|
-
// src/components/Link/Link.tsx
|
|
1451
|
-
var import_react_slot = require("@radix-ui/react-slot");
|
|
1452
|
-
var import_react18 = require("react");
|
|
1453
|
-
var import_icons7 = require("@bestow-ui/icons");
|
|
1666
|
+
// src/components/Link/Link.tsx
|
|
1667
|
+
var import_react_slot = require("@radix-ui/react-slot");
|
|
1668
|
+
var import_react24 = require("react");
|
|
1669
|
+
var import_icons7 = require("@bestow-ui/icons");
|
|
1454
1670
|
|
|
1455
1671
|
// src/components/Link/Link.css.ts
|
|
1456
|
-
var
|
|
1672
|
+
var import_createRuntimeFn15 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1457
1673
|
var externalIcon = "_1t4hlp6";
|
|
1458
|
-
var link = /* @__PURE__ */ (0,
|
|
1674
|
+
var link = /* @__PURE__ */ (0, import_createRuntimeFn15.createRuntimeFn)({ defaultClassName: "_1t4hlp0", variantClassNames: { color: { primary: "_1t4hlp1", neutral: "_1t4hlp2", inherit: "_1t4hlp3" }, underline: { always: "_1t4hlp4", hover: "_1t4hlp5" } }, defaultVariants: { color: "primary", underline: "always" }, compoundVariants: [] });
|
|
1459
1675
|
|
|
1460
1676
|
// src/components/Link/Link.tsx
|
|
1461
|
-
var
|
|
1677
|
+
var import_jsx_runtime22 = (
|
|
1462
1678
|
// Slot 의 props 타입은 HTMLElement 기준이라 <a> 전용 속성(target·rel 등)은 그대로 넘기도록 단언한다
|
|
1463
1679
|
require("react/jsx-runtime")
|
|
1464
1680
|
);
|
|
1465
|
-
var Link = /* @__PURE__ */ (0,
|
|
1681
|
+
var Link = /* @__PURE__ */ (0, import_react24.forwardRef)(function Link2({
|
|
1466
1682
|
as: Component = "a",
|
|
1467
1683
|
asChild,
|
|
1468
1684
|
color,
|
|
@@ -1479,9 +1695,9 @@ var Link = /* @__PURE__ */ (0, import_react18.forwardRef)(function Link2({
|
|
|
1479
1695
|
const externalLabel = externalLabelProp ?? m.newWindow ?? "(\uC0C8 \uCC3D)";
|
|
1480
1696
|
const linkClassName = cx(link({ color, underline }), className);
|
|
1481
1697
|
if (asChild) {
|
|
1482
|
-
return /* @__PURE__ */ (0,
|
|
1698
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_slot.Slot, { ref, className: linkClassName, ...{ target, rel, ...rest }, children });
|
|
1483
1699
|
}
|
|
1484
|
-
return /* @__PURE__ */ (0,
|
|
1700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
1485
1701
|
Component,
|
|
1486
1702
|
{
|
|
1487
1703
|
ref,
|
|
@@ -1491,10 +1707,10 @@ var Link = /* @__PURE__ */ (0, import_react18.forwardRef)(function Link2({
|
|
|
1491
1707
|
...rest,
|
|
1492
1708
|
children: [
|
|
1493
1709
|
children,
|
|
1494
|
-
external && /* @__PURE__ */ (0,
|
|
1710
|
+
external && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
|
|
1495
1711
|
" ",
|
|
1496
|
-
/* @__PURE__ */ (0,
|
|
1497
|
-
/* @__PURE__ */ (0,
|
|
1712
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons7.ExternalLinkIcon, { className: externalIcon }),
|
|
1713
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: visuallyHidden, children: externalLabel })
|
|
1498
1714
|
] })
|
|
1499
1715
|
]
|
|
1500
1716
|
}
|
|
@@ -1509,26 +1725,26 @@ var list2 = "_18t8ztt0";
|
|
|
1509
1725
|
var separator = "_18t8ztt4";
|
|
1510
1726
|
|
|
1511
1727
|
// src/components/Breadcrumb/Breadcrumb.tsx
|
|
1512
|
-
var
|
|
1513
|
-
var Breadcrumb = /* @__PURE__ */ (0,
|
|
1728
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1729
|
+
var Breadcrumb = /* @__PURE__ */ (0, import_react25.forwardRef)(function Breadcrumb2({ items: items2, linkAs, separator: separator3, "aria-label": ariaLabelProp, className, ...rest }, ref) {
|
|
1514
1730
|
const m = useMessages();
|
|
1515
1731
|
const ariaLabel = ariaLabelProp ?? m.breadcrumb ?? "\uC774\uB3D9 \uACBD\uB85C";
|
|
1516
|
-
const sep = separator3 ?? /* @__PURE__ */ (0,
|
|
1517
|
-
return /* @__PURE__ */ (0,
|
|
1732
|
+
const sep = separator3 ?? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_icons8.ChevronRightIcon, { size: 14 });
|
|
1733
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("ol", { className: list2, children: items2.map((item8, index) => {
|
|
1518
1734
|
const isCurrent = index === items2.length - 1;
|
|
1519
|
-
return /* @__PURE__ */ (0,
|
|
1520
|
-
index > 0 && /* @__PURE__ */ (0,
|
|
1521
|
-
isCurrent ||
|
|
1735
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("li", { className: item3, children: [
|
|
1736
|
+
index > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: separator, "aria-hidden": true, children: sep }),
|
|
1737
|
+
isCurrent || item8.href === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: isCurrent ? current : void 0, "aria-current": isCurrent ? "page" : void 0, children: item8.label }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Link, { as: linkAs, href: item8.href, color: "neutral", underline: "hover", className: link2, children: item8.label })
|
|
1522
1738
|
] }, index);
|
|
1523
1739
|
}) }) });
|
|
1524
1740
|
});
|
|
1525
1741
|
|
|
1526
1742
|
// src/components/BusinessNumberInput/BusinessNumberInput.tsx
|
|
1527
|
-
var
|
|
1528
|
-
var
|
|
1529
|
-
var sanitize = (
|
|
1743
|
+
var import_react26 = require("react");
|
|
1744
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1745
|
+
var sanitize = (input6) => input6.replace(/\D/g, "").slice(0, 10);
|
|
1530
1746
|
var isDigit2 = (char) => /\d/.test(char);
|
|
1531
|
-
var BusinessNumberInput = /* @__PURE__ */ (0,
|
|
1747
|
+
var BusinessNumberInput = /* @__PURE__ */ (0, import_react26.forwardRef)(
|
|
1532
1748
|
function BusinessNumberInput2(props, ref) {
|
|
1533
1749
|
const {
|
|
1534
1750
|
value: value4,
|
|
@@ -1544,12 +1760,12 @@ var BusinessNumberInput = /* @__PURE__ */ (0, import_react20.forwardRef)(
|
|
|
1544
1760
|
onKeyDown,
|
|
1545
1761
|
...rest
|
|
1546
1762
|
} = props;
|
|
1547
|
-
const inputRef = (0,
|
|
1763
|
+
const inputRef = (0, import_react26.useRef)(null);
|
|
1548
1764
|
const m = useMessages();
|
|
1549
1765
|
const invalidText = invalidTextProp ?? m.businessNumberInvalid ?? "\uC62C\uBC14\uB978 \uC0AC\uC5C5\uC790\uB4F1\uB85D\uBC88\uD638\uAC00 \uC544\uB2C8\uC5D0\uC694. \uBC88\uD638\uB97C \uB2E4\uC2DC \uD655\uC778\uD574 \uC8FC\uC138\uC694.";
|
|
1550
1766
|
const label6 = labelProp ?? m.businessNumber ?? "\uC0AC\uC5C5\uC790\uB4F1\uB85D\uBC88\uD638";
|
|
1551
1767
|
const incompleteText = m.businessNumberIncomplete ?? "10\uC790\uB9AC\uB97C \uBAA8\uB450 \uC785\uB825\uD574 \uC8FC\uC138\uC694.";
|
|
1552
|
-
const [touched, setTouched] = (0,
|
|
1768
|
+
const [touched, setTouched] = (0, import_react26.useState)(false);
|
|
1553
1769
|
const field3 = useFormattedInput({
|
|
1554
1770
|
isControlled: "value" in props,
|
|
1555
1771
|
value: value4,
|
|
@@ -1563,7 +1779,7 @@ var BusinessNumberInput = /* @__PURE__ */ (0, import_react20.forwardRef)(
|
|
|
1563
1779
|
const complete = field3.raw.length === 10;
|
|
1564
1780
|
const autoInvalid = validate && field3.raw.length > 0 && (complete ? !isValidBusinessNumber(field3.raw) : touched);
|
|
1565
1781
|
const showAuto = autoInvalid && error === void 0;
|
|
1566
|
-
return /* @__PURE__ */ (0,
|
|
1782
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1567
1783
|
TextField,
|
|
1568
1784
|
{
|
|
1569
1785
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -1589,15 +1805,15 @@ var BusinessNumberInput = /* @__PURE__ */ (0, import_react20.forwardRef)(
|
|
|
1589
1805
|
);
|
|
1590
1806
|
|
|
1591
1807
|
// src/components/Calendar/Calendar.tsx
|
|
1592
|
-
var
|
|
1808
|
+
var import_react29 = require("react");
|
|
1593
1809
|
var import_icons9 = require("@bestow-ui/icons");
|
|
1594
1810
|
|
|
1595
1811
|
// src/utils/useIsClient.ts
|
|
1596
|
-
var
|
|
1812
|
+
var import_react27 = require("react");
|
|
1597
1813
|
var subscribeNothing = () => () => {
|
|
1598
1814
|
};
|
|
1599
1815
|
function useIsClient() {
|
|
1600
|
-
return (0,
|
|
1816
|
+
return (0, import_react27.useSyncExternalStore)(
|
|
1601
1817
|
subscribeNothing,
|
|
1602
1818
|
() => true,
|
|
1603
1819
|
() => false
|
|
@@ -1605,16 +1821,16 @@ function useIsClient() {
|
|
|
1605
1821
|
}
|
|
1606
1822
|
|
|
1607
1823
|
// src/components/IconButton/IconButton.tsx
|
|
1608
|
-
var
|
|
1824
|
+
var import_react28 = require("react");
|
|
1609
1825
|
|
|
1610
1826
|
// src/components/IconButton/IconButton.css.ts
|
|
1611
|
-
var
|
|
1612
|
-
var iconButton = /* @__PURE__ */ (0,
|
|
1827
|
+
var import_createRuntimeFn16 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1828
|
+
var iconButton = /* @__PURE__ */ (0, import_createRuntimeFn16.createRuntimeFn)({ defaultClassName: "ip9et20", variantClassNames: { size: { sm: "ip9et21", md: "ip9et22", lg: "ip9et23" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1613
1829
|
|
|
1614
1830
|
// src/components/IconButton/IconButton.tsx
|
|
1615
|
-
var
|
|
1616
|
-
var IconButton = /* @__PURE__ */ (0,
|
|
1617
|
-
return /* @__PURE__ */ (0,
|
|
1831
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1832
|
+
var IconButton = /* @__PURE__ */ (0, import_react28.forwardRef)(function IconButton2({ variant = "ghost", color = "neutral", size, loading: loading2, className, children, ...rest }, ref) {
|
|
1833
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1618
1834
|
Button,
|
|
1619
1835
|
{
|
|
1620
1836
|
ref,
|
|
@@ -1633,14 +1849,14 @@ var IconButton = /* @__PURE__ */ (0, import_react22.forwardRef)(function IconBut
|
|
|
1633
1849
|
var cell = "_1qyq67b5";
|
|
1634
1850
|
var day = "_1qyq67b6";
|
|
1635
1851
|
var grid = "_1qyq67b3";
|
|
1636
|
-
var
|
|
1852
|
+
var header5 = "_1qyq67b1";
|
|
1637
1853
|
var heading = "_1qyq67b2";
|
|
1638
|
-
var
|
|
1854
|
+
var root7 = "_1qyq67b0";
|
|
1639
1855
|
var weekday = "_1qyq67b4";
|
|
1640
1856
|
|
|
1641
1857
|
// src/components/Calendar/Calendar.tsx
|
|
1642
|
-
var
|
|
1643
|
-
var Calendar = /* @__PURE__ */ (0,
|
|
1858
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1859
|
+
var Calendar = /* @__PURE__ */ (0, import_react29.forwardRef)(function Calendar2(props, ref) {
|
|
1644
1860
|
const {
|
|
1645
1861
|
value: value4,
|
|
1646
1862
|
defaultValue,
|
|
@@ -1660,10 +1876,10 @@ var Calendar = /* @__PURE__ */ (0, import_react23.forwardRef)(function Calendar2
|
|
|
1660
1876
|
const nextMonthLabel = nextMonthLabelProp ?? m.nextMonth ?? "\uB2E4\uC74C \uB2EC";
|
|
1661
1877
|
const weekdaysShort = m.weekdaysShort ?? KOREAN_WEEKDAYS;
|
|
1662
1878
|
const weekdaysLong = m.weekdaysLong ?? KOREAN_WEEKDAYS.map((name) => `${name}\uC694\uC77C`);
|
|
1663
|
-
const headingId = (0,
|
|
1664
|
-
const gridRef = (0,
|
|
1879
|
+
const headingId = (0, import_react29.useId)();
|
|
1880
|
+
const gridRef = (0, import_react29.useRef)(null);
|
|
1665
1881
|
const isControlled = "value" in props;
|
|
1666
|
-
const [innerValue, setInnerValue] = (0,
|
|
1882
|
+
const [innerValue, setInnerValue] = (0, import_react29.useState)(defaultValue ?? "");
|
|
1667
1883
|
const selected = parseISODate(isControlled ? value4 : innerValue);
|
|
1668
1884
|
const isClient = useIsClient();
|
|
1669
1885
|
const today = parseISODate(todayProp) ?? (isClient ? /* @__PURE__ */ new Date() : null);
|
|
@@ -1675,16 +1891,16 @@ var Calendar = /* @__PURE__ */ (0, import_react23.forwardRef)(function Calendar2
|
|
|
1675
1891
|
return date;
|
|
1676
1892
|
};
|
|
1677
1893
|
const isDisabled = (date) => minDate !== null && compareDays(date, minDate) < 0 || maxDate !== null && compareDays(date, maxDate) > 0 || !!isDateDisabled?.(date);
|
|
1678
|
-
const [focusedState, setFocused] = (0,
|
|
1894
|
+
const [focusedState, setFocused] = (0, import_react29.useState)(null);
|
|
1679
1895
|
const base = selected ?? today;
|
|
1680
1896
|
const focused = focusedState ?? (base ? clamp(base) : null);
|
|
1681
|
-
const moveFocus = (0,
|
|
1897
|
+
const moveFocus = (0, import_react29.useRef)(initialFocus ?? false);
|
|
1682
1898
|
const selectedIso = selected ? toISODate(selected) : "";
|
|
1683
|
-
(0,
|
|
1899
|
+
(0, import_react29.useEffect)(() => {
|
|
1684
1900
|
const date = parseISODate(selectedIso);
|
|
1685
1901
|
if (date) setFocused((prev) => isSameDay(prev, date) ? prev : date);
|
|
1686
1902
|
}, [selectedIso]);
|
|
1687
|
-
(0,
|
|
1903
|
+
(0, import_react29.useEffect)(() => {
|
|
1688
1904
|
if (!moveFocus.current || !focused) return;
|
|
1689
1905
|
moveFocus.current = false;
|
|
1690
1906
|
gridRef.current?.querySelector(`[data-date="${toISODate(focused)}"]`)?.focus();
|
|
@@ -1724,36 +1940,36 @@ var Calendar = /* @__PURE__ */ (0, import_react23.forwardRef)(function Calendar2
|
|
|
1724
1940
|
) : [];
|
|
1725
1941
|
const canPrev = !!visible && (!minDate || compareDays(new Date(visible.getFullYear(), visible.getMonth(), 0), minDate) >= 0);
|
|
1726
1942
|
const canNext = !!visible && (!maxDate || compareDays(new Date(visible.getFullYear(), visible.getMonth() + 1, 1), maxDate) <= 0);
|
|
1727
|
-
return /* @__PURE__ */ (0,
|
|
1728
|
-
/* @__PURE__ */ (0,
|
|
1729
|
-
/* @__PURE__ */ (0,
|
|
1943
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { ref, className: cx(root7, className), children: [
|
|
1944
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: header5, children: [
|
|
1945
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1730
1946
|
IconButton,
|
|
1731
1947
|
{
|
|
1732
1948
|
"aria-label": prevMonthLabel,
|
|
1733
1949
|
size: "sm",
|
|
1734
1950
|
disabled: !canPrev,
|
|
1735
1951
|
onClick: () => visible && setFocused(clamp(addMonths(visible, -1))),
|
|
1736
|
-
children: /* @__PURE__ */ (0,
|
|
1952
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_icons9.ChevronLeftIcon, {})
|
|
1737
1953
|
}
|
|
1738
1954
|
),
|
|
1739
|
-
/* @__PURE__ */ (0,
|
|
1740
|
-
/* @__PURE__ */ (0,
|
|
1955
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { id: headingId, className: heading, "aria-live": "polite", children: visible && (m.monthTitle?.(visible.getFullYear(), visible.getMonth() + 1) ?? `${visible.getFullYear()}\uB144 ${visible.getMonth() + 1}\uC6D4`) }),
|
|
1956
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1741
1957
|
IconButton,
|
|
1742
1958
|
{
|
|
1743
1959
|
"aria-label": nextMonthLabel,
|
|
1744
1960
|
size: "sm",
|
|
1745
1961
|
disabled: !canNext,
|
|
1746
1962
|
onClick: () => visible && setFocused(clamp(addMonths(visible, 1))),
|
|
1747
|
-
children: /* @__PURE__ */ (0,
|
|
1963
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_icons9.ChevronRightIcon, {})
|
|
1748
1964
|
}
|
|
1749
1965
|
)
|
|
1750
1966
|
] }),
|
|
1751
|
-
/* @__PURE__ */ (0,
|
|
1752
|
-
/* @__PURE__ */ (0,
|
|
1753
|
-
/* @__PURE__ */ (0,
|
|
1967
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("table", { ref: gridRef, role: "grid", "aria-labelledby": headingId, className: grid, onKeyDown: handleKeyDown, children: [
|
|
1968
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("tr", { children: weekdaysShort.map((name, index) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("th", { scope: "col", abbr: weekdaysLong[index], className: weekday, "data-weekday": index, children: name }, index)) }) }),
|
|
1969
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("tbody", { children: weeks.map((week) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("tr", { children: week.map((date) => {
|
|
1754
1970
|
const iso = toISODate(date);
|
|
1755
1971
|
if (!visible || !isSameMonth(date, visible))
|
|
1756
|
-
return /* @__PURE__ */ (0,
|
|
1972
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("td", { role: "gridcell", className: cell }, iso);
|
|
1757
1973
|
const isSelected = isSameDay(date, selected);
|
|
1758
1974
|
const isToday = isSameDay(date, today);
|
|
1759
1975
|
const holiday = !!isHoliday?.(date);
|
|
@@ -1763,7 +1979,7 @@ var Calendar = /* @__PURE__ */ (0, import_react23.forwardRef)(function Calendar2
|
|
|
1763
1979
|
holiday && (m.holiday ?? "\uACF5\uD734\uC77C"),
|
|
1764
1980
|
isToday && (m.today ?? "\uC624\uB298")
|
|
1765
1981
|
].filter(Boolean).join(", ");
|
|
1766
|
-
return /* @__PURE__ */ (0,
|
|
1982
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("td", { role: "gridcell", "aria-selected": isSelected, className: cell, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1767
1983
|
"button",
|
|
1768
1984
|
{
|
|
1769
1985
|
type: "button",
|
|
@@ -1786,34 +2002,9 @@ var Calendar = /* @__PURE__ */ (0, import_react23.forwardRef)(function Calendar2
|
|
|
1786
2002
|
] });
|
|
1787
2003
|
});
|
|
1788
2004
|
|
|
1789
|
-
// src/components/Card/Card.tsx
|
|
1790
|
-
var import_react24 = require("react");
|
|
1791
|
-
|
|
1792
|
-
// src/components/Card/Card.css.ts
|
|
1793
|
-
var import_createRuntimeFn11 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1794
|
-
var body2 = "dnuf1u9";
|
|
1795
|
-
var card = /* @__PURE__ */ (0, import_createRuntimeFn11.createRuntimeFn)({ defaultClassName: "dnuf1u0", variantClassNames: { variant: { outline: "dnuf1u1", elevated: "dnuf1u2", soft: "dnuf1u3" }, padding: { none: "dnuf1u4", sm: "dnuf1u5", md: "dnuf1u6", lg: "dnuf1u7" } }, defaultVariants: { variant: "outline", padding: "md" }, compoundVariants: [] });
|
|
1796
|
-
var footer2 = "dnuf1ua";
|
|
1797
|
-
var header4 = "dnuf1u8";
|
|
1798
|
-
|
|
1799
|
-
// src/components/Card/Card.tsx
|
|
1800
|
-
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1801
|
-
var Card = /* @__PURE__ */ (0, import_react24.forwardRef)(function Card2({ variant, padding, as: Component = "div", className, ...rest }, ref) {
|
|
1802
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Component, { ref, className: cx(card({ variant, padding }), className), ...rest });
|
|
1803
|
-
});
|
|
1804
|
-
var CardHeader = /* @__PURE__ */ (0, import_react24.forwardRef)(function CardHeader2({ className, ...rest }, ref) {
|
|
1805
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { ref, className: cx(header4, className), ...rest });
|
|
1806
|
-
});
|
|
1807
|
-
var CardBody = /* @__PURE__ */ (0, import_react24.forwardRef)(function CardBody2({ className, ...rest }, ref) {
|
|
1808
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { ref, className: cx(body2, className), ...rest });
|
|
1809
|
-
});
|
|
1810
|
-
var CardFooter = /* @__PURE__ */ (0, import_react24.forwardRef)(function CardFooter2({ className, ...rest }, ref) {
|
|
1811
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { ref, className: cx(footer2, className), ...rest });
|
|
1812
|
-
});
|
|
1813
|
-
|
|
1814
2005
|
// src/components/Combobox/Combobox.tsx
|
|
1815
2006
|
var Popover = __toESM(require("@radix-ui/react-popover"), 1);
|
|
1816
|
-
var
|
|
2007
|
+
var import_react30 = require("react");
|
|
1817
2008
|
var import_icons10 = require("@bestow-ui/icons");
|
|
1818
2009
|
|
|
1819
2010
|
// src/components/Select/Select.css.ts
|
|
@@ -1822,18 +2013,19 @@ var icon4 = "_1kx81e82";
|
|
|
1822
2013
|
var item4 = "_1kx81e85";
|
|
1823
2014
|
var itemIndicator = "_1kx81e86";
|
|
1824
2015
|
var trigger2 = "_1kx81e80";
|
|
1825
|
-
var
|
|
2016
|
+
var value2 = "_1kx81e81";
|
|
1826
2017
|
var viewport = "_1kx81e84";
|
|
1827
2018
|
|
|
1828
2019
|
// src/components/Combobox/Combobox.css.ts
|
|
1829
|
-
var
|
|
1830
|
-
var
|
|
1831
|
-
var
|
|
2020
|
+
var clear = "c2pbq72 c2pbq70";
|
|
2021
|
+
var content6 = "c2pbq73";
|
|
2022
|
+
var empty = "c2pbq74";
|
|
2023
|
+
var toggle2 = "c2pbq71 c2pbq70";
|
|
1832
2024
|
|
|
1833
2025
|
// src/components/Combobox/Combobox.tsx
|
|
1834
|
-
var
|
|
2026
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1835
2027
|
var defaultFilter = (option2, query) => option2.label.toLowerCase().includes(query.trim().toLowerCase());
|
|
1836
|
-
var Combobox = /* @__PURE__ */ (0,
|
|
2028
|
+
var Combobox = /* @__PURE__ */ (0, import_react30.forwardRef)(function Combobox2(props, ref) {
|
|
1837
2029
|
const {
|
|
1838
2030
|
options,
|
|
1839
2031
|
value: value4,
|
|
@@ -1853,28 +2045,31 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
1853
2045
|
id,
|
|
1854
2046
|
"aria-label": ariaLabel,
|
|
1855
2047
|
toggleLabel: toggleLabelProp,
|
|
2048
|
+
clearable,
|
|
2049
|
+
clearLabel: clearLabelProp,
|
|
1856
2050
|
className
|
|
1857
2051
|
} = props;
|
|
1858
2052
|
const m = useMessages();
|
|
1859
2053
|
const emptyMessage = emptyMessageProp ?? m.noResults ?? "\uACB0\uACFC\uAC00 \uC5C6\uC5B4\uC694";
|
|
1860
2054
|
const toggleLabel = toggleLabelProp ?? m.openList ?? "\uBAA9\uB85D \uC5F4\uAE30";
|
|
1861
|
-
const
|
|
2055
|
+
const clearLabel = clearLabelProp ?? m.clearSelection ?? "\uC120\uD0DD \uC9C0\uC6B0\uAE30";
|
|
2056
|
+
const generatedId = (0, import_react30.useId)();
|
|
1862
2057
|
const inputId = id ?? generatedId;
|
|
1863
2058
|
const labelId = `${inputId}-label`;
|
|
1864
2059
|
const listId = `${inputId}-listbox`;
|
|
1865
2060
|
const helperId = helperText3 ? `${inputId}-helper` : void 0;
|
|
1866
2061
|
const optionId = (index) => `${inputId}-option-${index}`;
|
|
1867
2062
|
const portal2 = usePortalProps();
|
|
1868
|
-
const inputRef = (0,
|
|
1869
|
-
const anchorRef = (0,
|
|
2063
|
+
const inputRef = (0, import_react30.useRef)(null);
|
|
2064
|
+
const anchorRef = (0, import_react30.useRef)(null);
|
|
1870
2065
|
const isControlled = "value" in props;
|
|
1871
|
-
const [innerValue, setInnerValue] = (0,
|
|
2066
|
+
const [innerValue, setInnerValue] = (0, import_react30.useState)(defaultValue);
|
|
1872
2067
|
const selectedValue = isControlled ? value4 : innerValue;
|
|
1873
2068
|
const selectedOption = options.find((o) => o.value === selectedValue);
|
|
1874
|
-
const [open, setOpen] = (0,
|
|
1875
|
-
const [query, setQuery] = (0,
|
|
1876
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
1877
|
-
const filtered = (0,
|
|
2069
|
+
const [open, setOpen] = (0, import_react30.useState)(false);
|
|
2070
|
+
const [query, setQuery] = (0, import_react30.useState)(null);
|
|
2071
|
+
const [activeIndex, setActiveIndex] = (0, import_react30.useState)(-1);
|
|
2072
|
+
const filtered = (0, import_react30.useMemo)(() => query ? options.filter((o) => filter(o, query)) : options, [options, filter, query]);
|
|
1878
2073
|
const inputText = query ?? selectedOption?.label ?? "";
|
|
1879
2074
|
const firstEnabled = (list5, from = 0, step = 1) => {
|
|
1880
2075
|
for (let i = from; i >= 0 && i < list5.length; i += step) if (!list5[i].disabled) return i;
|
|
@@ -1887,16 +2082,24 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
1887
2082
|
selectedIndex >= 0 && !list5[selectedIndex].disabled ? selectedIndex : preferLast ? firstEnabled(list5, list5.length - 1, -1) : firstEnabled(list5)
|
|
1888
2083
|
);
|
|
1889
2084
|
};
|
|
1890
|
-
const
|
|
2085
|
+
const reset = () => {
|
|
1891
2086
|
setOpen(false);
|
|
1892
2087
|
setQuery(null);
|
|
1893
2088
|
setActiveIndex(-1);
|
|
1894
2089
|
};
|
|
2090
|
+
const clearSelection = () => {
|
|
2091
|
+
if (!isControlled) setInnerValue(void 0);
|
|
2092
|
+
if (selectedValue) onValueChange?.("");
|
|
2093
|
+
};
|
|
2094
|
+
const close2 = () => {
|
|
2095
|
+
if (query === "" && selectedValue) clearSelection();
|
|
2096
|
+
reset();
|
|
2097
|
+
};
|
|
1895
2098
|
const select = (option2) => {
|
|
1896
2099
|
if (option2.disabled) return;
|
|
1897
2100
|
if (!isControlled) setInnerValue(option2.value);
|
|
1898
2101
|
if (option2.value !== selectedValue) onValueChange?.(option2.value);
|
|
1899
|
-
|
|
2102
|
+
reset();
|
|
1900
2103
|
};
|
|
1901
2104
|
const move = (step) => {
|
|
1902
2105
|
const start = activeIndex < 0 ? step === 1 ? 0 : filtered.length - 1 : activeIndex + step;
|
|
@@ -1908,7 +2111,7 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
1908
2111
|
const nextList = nextQuery ? options.filter((o) => filter(o, nextQuery)) : options;
|
|
1909
2112
|
setQuery(nextQuery);
|
|
1910
2113
|
setOpen(true);
|
|
1911
|
-
setActiveIndex(firstEnabled(nextList));
|
|
2114
|
+
setActiveIndex(nextQuery ? firstEnabled(nextList) : -1);
|
|
1912
2115
|
};
|
|
1913
2116
|
const handleKeyDown = (event) => {
|
|
1914
2117
|
switch (event.key) {
|
|
@@ -1927,6 +2130,7 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
1927
2130
|
event.preventDefault();
|
|
1928
2131
|
const option2 = filtered[activeIndex];
|
|
1929
2132
|
if (option2) select(option2);
|
|
2133
|
+
else close2();
|
|
1930
2134
|
}
|
|
1931
2135
|
break;
|
|
1932
2136
|
case "Escape":
|
|
@@ -1940,26 +2144,26 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
1940
2144
|
break;
|
|
1941
2145
|
}
|
|
1942
2146
|
};
|
|
1943
|
-
(0,
|
|
2147
|
+
(0, import_react30.useEffect)(() => {
|
|
1944
2148
|
if (!open || activeIndex < 0) return;
|
|
1945
2149
|
document.getElementById(optionId(activeIndex))?.scrollIntoView?.({ block: "nearest" });
|
|
1946
2150
|
}, [open, activeIndex]);
|
|
1947
2151
|
const hasOptions = filtered.length > 0;
|
|
1948
|
-
return /* @__PURE__ */ (0,
|
|
1949
|
-
label6 && /* @__PURE__ */ (0,
|
|
2152
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
2153
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("label", { id: labelId, htmlFor: inputId, className: label2, children: [
|
|
1950
2154
|
label6,
|
|
1951
|
-
required && /* @__PURE__ */ (0,
|
|
2155
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
1952
2156
|
] }),
|
|
1953
|
-
/* @__PURE__ */ (0,
|
|
1954
|
-
/* @__PURE__ */ (0,
|
|
2157
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Popover.Root, { open: open && !disabled, onOpenChange: (next) => next ? openList() : close2(), children: [
|
|
2158
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Popover.Anchor, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1955
2159
|
"div",
|
|
1956
2160
|
{
|
|
1957
2161
|
ref: anchorRef,
|
|
1958
|
-
className: cx(
|
|
2162
|
+
className: cx(root4({ size, fullWidth }), className),
|
|
1959
2163
|
"data-invalid": error || void 0,
|
|
1960
2164
|
"data-disabled": disabled || void 0,
|
|
1961
2165
|
children: [
|
|
1962
|
-
/* @__PURE__ */ (0,
|
|
2166
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1963
2167
|
"input",
|
|
1964
2168
|
{
|
|
1965
2169
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -1986,7 +2190,23 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
1986
2190
|
className: input
|
|
1987
2191
|
}
|
|
1988
2192
|
),
|
|
1989
|
-
/* @__PURE__ */ (0,
|
|
2193
|
+
clearable && selectedOption && !disabled && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2194
|
+
"button",
|
|
2195
|
+
{
|
|
2196
|
+
type: "button",
|
|
2197
|
+
tabIndex: -1,
|
|
2198
|
+
"aria-label": clearLabel,
|
|
2199
|
+
className: clear,
|
|
2200
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
2201
|
+
onClick: () => {
|
|
2202
|
+
clearSelection();
|
|
2203
|
+
reset();
|
|
2204
|
+
inputRef.current?.focus();
|
|
2205
|
+
},
|
|
2206
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_icons10.XIcon, { size: 16 })
|
|
2207
|
+
}
|
|
2208
|
+
),
|
|
2209
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1990
2210
|
"button",
|
|
1991
2211
|
{
|
|
1992
2212
|
type: "button",
|
|
@@ -2001,13 +2221,13 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
2001
2221
|
else openList(options);
|
|
2002
2222
|
inputRef.current?.focus();
|
|
2003
2223
|
},
|
|
2004
|
-
children: /* @__PURE__ */ (0,
|
|
2224
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_icons10.ChevronDownIcon, { size: 16 })
|
|
2005
2225
|
}
|
|
2006
2226
|
)
|
|
2007
2227
|
]
|
|
2008
2228
|
}
|
|
2009
2229
|
) }),
|
|
2010
|
-
/* @__PURE__ */ (0,
|
|
2230
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2011
2231
|
Popover.Content,
|
|
2012
2232
|
{
|
|
2013
2233
|
role: "presentation",
|
|
@@ -2022,7 +2242,7 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
2022
2242
|
onInteractOutside: (event) => {
|
|
2023
2243
|
if (anchorRef.current?.contains(event.target)) event.preventDefault();
|
|
2024
2244
|
},
|
|
2025
|
-
children: hasOptions ? /* @__PURE__ */ (0,
|
|
2245
|
+
children: hasOptions ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2026
2246
|
"div",
|
|
2027
2247
|
{
|
|
2028
2248
|
id: listId,
|
|
@@ -2034,7 +2254,7 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
2034
2254
|
return (
|
|
2035
2255
|
// aria-activedescendant 패턴: 포커스·키보드는 입력창이 맡고 항목은 포커스를 받지 않는다 (WAI-ARIA combobox)
|
|
2036
2256
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/interactive-supports-focus
|
|
2037
|
-
/* @__PURE__ */ (0,
|
|
2257
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
2038
2258
|
"div",
|
|
2039
2259
|
{
|
|
2040
2260
|
id: optionId(index),
|
|
@@ -2050,7 +2270,7 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
2050
2270
|
onClick: () => select(option2),
|
|
2051
2271
|
children: [
|
|
2052
2272
|
option2.label,
|
|
2053
|
-
isSelected && /* @__PURE__ */ (0,
|
|
2273
|
+
isSelected && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: itemIndicator, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_icons10.CheckIcon, { size: 16 }) })
|
|
2054
2274
|
]
|
|
2055
2275
|
},
|
|
2056
2276
|
option2.value
|
|
@@ -2058,33 +2278,33 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
2058
2278
|
);
|
|
2059
2279
|
})
|
|
2060
2280
|
}
|
|
2061
|
-
) : /* @__PURE__ */ (0,
|
|
2281
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: empty, role: "status", children: emptyMessage })
|
|
2062
2282
|
}
|
|
2063
2283
|
) })
|
|
2064
2284
|
] }),
|
|
2065
|
-
name && /* @__PURE__ */ (0,
|
|
2066
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
2285
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("input", { type: "hidden", name, value: selectedValue ?? "" }),
|
|
2286
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
2067
2287
|
] });
|
|
2068
2288
|
});
|
|
2069
2289
|
|
|
2070
2290
|
// src/components/DatePicker/DatePicker.tsx
|
|
2071
|
-
var
|
|
2291
|
+
var import_react32 = require("react");
|
|
2072
2292
|
var import_icons12 = require("@bestow-ui/icons");
|
|
2073
2293
|
|
|
2074
2294
|
// src/components/Popover/Popover.tsx
|
|
2075
2295
|
var RadixPopover = __toESM(require("@radix-ui/react-popover"), 1);
|
|
2076
2296
|
var import_icons11 = require("@bestow-ui/icons");
|
|
2077
|
-
var
|
|
2297
|
+
var import_react31 = require("react");
|
|
2078
2298
|
|
|
2079
2299
|
// src/components/Popover/Popover.css.ts
|
|
2080
2300
|
var arrow = "_1j99p8x4";
|
|
2081
2301
|
var closeButton3 = "_1j99p8x3";
|
|
2082
2302
|
var content7 = "_1j99p8x0";
|
|
2083
|
-
var
|
|
2303
|
+
var header6 = "_1j99p8x1";
|
|
2084
2304
|
var title3 = "_1j99p8x2";
|
|
2085
2305
|
|
|
2086
2306
|
// src/components/Popover/Popover.tsx
|
|
2087
|
-
var
|
|
2307
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2088
2308
|
function Popover2({
|
|
2089
2309
|
content: content12,
|
|
2090
2310
|
children,
|
|
@@ -2104,10 +2324,10 @@ function Popover2({
|
|
|
2104
2324
|
}) {
|
|
2105
2325
|
const portal2 = usePortalProps();
|
|
2106
2326
|
const m = useMessages();
|
|
2107
|
-
const titleId = (0,
|
|
2108
|
-
return /* @__PURE__ */ (0,
|
|
2109
|
-
/* @__PURE__ */ (0,
|
|
2110
|
-
/* @__PURE__ */ (0,
|
|
2327
|
+
const titleId = (0, import_react31.useId)();
|
|
2328
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(RadixPopover.Root, { open, defaultOpen, onOpenChange, modal, children: [
|
|
2329
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RadixPopover.Trigger, { asChild: true, children }),
|
|
2330
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RadixPopover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2111
2331
|
RadixPopover.Content,
|
|
2112
2332
|
{
|
|
2113
2333
|
side,
|
|
@@ -2120,12 +2340,12 @@ function Popover2({
|
|
|
2120
2340
|
className: cx(portal2.className, content7, className),
|
|
2121
2341
|
style: { ...portal2.style, ...style },
|
|
2122
2342
|
children: [
|
|
2123
|
-
(title6 || showClose) && /* @__PURE__ */ (0,
|
|
2124
|
-
title6 && /* @__PURE__ */ (0,
|
|
2125
|
-
showClose && /* @__PURE__ */ (0,
|
|
2343
|
+
(title6 || showClose) && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: header6, children: [
|
|
2344
|
+
title6 && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("h2", { id: titleId, className: title3, children: title6 }),
|
|
2345
|
+
showClose && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RadixPopover.Close, { className: closeButton3, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_icons11.XIcon, { size: 16 }) })
|
|
2126
2346
|
] }),
|
|
2127
2347
|
content12,
|
|
2128
|
-
showArrow && /* @__PURE__ */ (0,
|
|
2348
|
+
showArrow && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RadixPopover.Arrow, { className: arrow, width: 12, height: 6 })
|
|
2129
2349
|
]
|
|
2130
2350
|
}
|
|
2131
2351
|
) })
|
|
@@ -2134,11 +2354,11 @@ function Popover2({
|
|
|
2134
2354
|
var PopoverClose = RadixPopover.Close;
|
|
2135
2355
|
|
|
2136
2356
|
// src/components/DatePicker/DatePicker.tsx
|
|
2137
|
-
var
|
|
2138
|
-
var sanitize2 = (
|
|
2357
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2358
|
+
var sanitize2 = (input6) => input6.replace(/\D/g, "").slice(0, 8);
|
|
2139
2359
|
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)}`;
|
|
2140
2360
|
var isDigit3 = (char) => /\d/.test(char);
|
|
2141
|
-
var DatePicker = /* @__PURE__ */ (0,
|
|
2361
|
+
var DatePicker = /* @__PURE__ */ (0, import_react32.forwardRef)(
|
|
2142
2362
|
function DatePicker2(props, ref) {
|
|
2143
2363
|
const {
|
|
2144
2364
|
value: value4,
|
|
@@ -2164,17 +2384,17 @@ var DatePicker = /* @__PURE__ */ (0, import_react27.forwardRef)(
|
|
|
2164
2384
|
id,
|
|
2165
2385
|
className
|
|
2166
2386
|
} = props;
|
|
2167
|
-
const inputRef = (0,
|
|
2387
|
+
const inputRef = (0, import_react32.useRef)(null);
|
|
2168
2388
|
const m = useMessages();
|
|
2169
2389
|
const label6 = labelProp ?? m.date ?? "\uB0A0\uC9DC";
|
|
2170
2390
|
const calendarLabel = calendarLabelProp ?? m.openCalendar ?? "\uB2EC\uB825 \uC5F4\uAE30";
|
|
2171
2391
|
const invalidText = invalidTextProp ?? m.dateInvalid ?? "\uC62C\uBC14\uB978 \uB0A0\uC9DC\uAC00 \uC544\uB2C8\uC5D0\uC694.";
|
|
2172
2392
|
const unavailableText = unavailableTextProp ?? m.dateUnavailable ?? "\uACE0\uB97C \uC218 \uC5C6\uB294 \uB0A0\uC9DC\uC608\uC694.";
|
|
2173
2393
|
const incompleteText = incompleteTextProp ?? m.dateIncomplete ?? "\uB0A0\uC9DC\uB97C YYYY-MM-DD \uD615\uC2DD\uC73C\uB85C \uC785\uB825\uD574 \uC8FC\uC138\uC694.";
|
|
2174
|
-
const [open, setOpen] = (0,
|
|
2175
|
-
const [touched, setTouched] = (0,
|
|
2394
|
+
const [open, setOpen] = (0, import_react32.useState)(false);
|
|
2395
|
+
const [touched, setTouched] = (0, import_react32.useState)(false);
|
|
2176
2396
|
const isControlled = "value" in props;
|
|
2177
|
-
const lastEmitted = (0,
|
|
2397
|
+
const lastEmitted = (0, import_react32.useRef)(isControlled ? value4 ?? "" : defaultValue ?? "");
|
|
2178
2398
|
const minDate = parseISODate(min);
|
|
2179
2399
|
const maxDate = parseISODate(max);
|
|
2180
2400
|
const toIso = (digits) => digits.length === 8 ? `${digits.slice(0, 4)}-${digits.slice(4, 6)}-${digits.slice(6)}` : "";
|
|
@@ -2199,7 +2419,7 @@ var DatePicker = /* @__PURE__ */ (0, import_react27.forwardRef)(
|
|
|
2199
2419
|
});
|
|
2200
2420
|
const textIso = toIso(field3.raw);
|
|
2201
2421
|
const { setRaw } = field3;
|
|
2202
|
-
(0,
|
|
2422
|
+
(0, import_react32.useEffect)(() => {
|
|
2203
2423
|
if (!isControlled) return;
|
|
2204
2424
|
const next = value4 ?? "";
|
|
2205
2425
|
lastEmitted.current = next;
|
|
@@ -2214,8 +2434,8 @@ var DatePicker = /* @__PURE__ */ (0, import_react27.forwardRef)(
|
|
|
2214
2434
|
const autoError = complete ? !date ? invalidText : isUnavailable(date) ? unavailableText : null : touched && field3.raw.length > 0 ? incompleteText : null;
|
|
2215
2435
|
const showAuto = autoError !== null && error === void 0;
|
|
2216
2436
|
const selectedIso = date && !isUnavailable(date) ? textIso : "";
|
|
2217
|
-
return /* @__PURE__ */ (0,
|
|
2218
|
-
/* @__PURE__ */ (0,
|
|
2437
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
|
2438
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2219
2439
|
TextField,
|
|
2220
2440
|
{
|
|
2221
2441
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -2234,7 +2454,7 @@ var DatePicker = /* @__PURE__ */ (0, import_react27.forwardRef)(
|
|
|
2234
2454
|
disabled,
|
|
2235
2455
|
fullWidth,
|
|
2236
2456
|
rootClassName: className,
|
|
2237
|
-
endAdornment: /* @__PURE__ */ (0,
|
|
2457
|
+
endAdornment: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2238
2458
|
Popover2,
|
|
2239
2459
|
{
|
|
2240
2460
|
open,
|
|
@@ -2243,7 +2463,7 @@ var DatePicker = /* @__PURE__ */ (0, import_react27.forwardRef)(
|
|
|
2243
2463
|
align: "end",
|
|
2244
2464
|
"aria-label": m.calendar ?? "\uB2EC\uB825",
|
|
2245
2465
|
onOpenAutoFocus: (event) => event.preventDefault(),
|
|
2246
|
-
content: /* @__PURE__ */ (0,
|
|
2466
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2247
2467
|
Calendar,
|
|
2248
2468
|
{
|
|
2249
2469
|
value: selectedIso,
|
|
@@ -2260,57 +2480,34 @@ var DatePicker = /* @__PURE__ */ (0, import_react27.forwardRef)(
|
|
|
2260
2480
|
initialFocus: true
|
|
2261
2481
|
}
|
|
2262
2482
|
),
|
|
2263
|
-
children: /* @__PURE__ */ (0,
|
|
2483
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(IconButton, { "aria-label": calendarLabel, size: "sm", disabled, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_icons12.CalendarIcon, {}) })
|
|
2264
2484
|
}
|
|
2265
2485
|
)
|
|
2266
2486
|
}
|
|
2267
2487
|
),
|
|
2268
|
-
name && /* @__PURE__ */ (0,
|
|
2488
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("input", { type: "hidden", name, value: selectedIso })
|
|
2269
2489
|
] });
|
|
2270
2490
|
}
|
|
2271
2491
|
);
|
|
2272
2492
|
|
|
2273
|
-
// src/components/Divider/Divider.tsx
|
|
2274
|
-
var import_react28 = require("react");
|
|
2275
|
-
|
|
2276
|
-
// src/components/Divider/Divider.css.ts
|
|
2277
|
-
var import_createRuntimeFn12 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2278
|
-
var divider = /* @__PURE__ */ (0, import_createRuntimeFn12.createRuntimeFn)({ defaultClassName: "_1t3gq8v0", variantClassNames: { orientation: { horizontal: "_1t3gq8v1", vertical: "_1t3gq8v2" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
|
|
2279
|
-
var labeled = "_1t3gq8v3";
|
|
2280
|
-
var line = "_1t3gq8v4";
|
|
2281
|
-
|
|
2282
|
-
// src/components/Divider/Divider.tsx
|
|
2283
|
-
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2284
|
-
var Divider = /* @__PURE__ */ (0, import_react28.forwardRef)(function Divider2({ orientation = "horizontal", decorative, className, children, ...rest }, ref) {
|
|
2285
|
-
if (children && orientation === "horizontal") {
|
|
2286
|
-
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { ref, className: cx(labeled, className), ...rest, children: [
|
|
2287
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: line, "aria-hidden": true }),
|
|
2288
|
-
children,
|
|
2289
|
-
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: line, "aria-hidden": true })
|
|
2290
|
-
] });
|
|
2291
|
-
}
|
|
2292
|
-
const a11y = decorative ? { role: "none" } : { role: "separator", "aria-orientation": orientation === "vertical" ? "vertical" : void 0 };
|
|
2293
|
-
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { ref, className: cx(divider({ orientation }), className), ...a11y, ...rest });
|
|
2294
|
-
});
|
|
2295
|
-
|
|
2296
2493
|
// src/components/Drawer/Drawer.tsx
|
|
2297
2494
|
var Dialog2 = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
2298
2495
|
var import_icons13 = require("@bestow-ui/icons");
|
|
2299
2496
|
|
|
2300
2497
|
// src/components/Drawer/Drawer.css.ts
|
|
2301
|
-
var
|
|
2498
|
+
var import_createRuntimeFn17 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2302
2499
|
var body3 = "nmobyvy";
|
|
2303
2500
|
var closeButton4 = "nmobyvx";
|
|
2304
|
-
var content8 = /* @__PURE__ */ (0,
|
|
2501
|
+
var content8 = /* @__PURE__ */ (0, import_createRuntimeFn17.createRuntimeFn)({ 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"]] });
|
|
2305
2502
|
var description3 = "nmobyvw";
|
|
2306
2503
|
var footer3 = "nmobyvz";
|
|
2307
|
-
var
|
|
2504
|
+
var header7 = "nmobyvt";
|
|
2308
2505
|
var headings2 = "nmobyvu";
|
|
2309
2506
|
var overlay2 = "nmobyv0";
|
|
2310
2507
|
var title4 = "nmobyvv";
|
|
2311
2508
|
|
|
2312
2509
|
// src/components/Drawer/Drawer.tsx
|
|
2313
|
-
var
|
|
2510
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2314
2511
|
function Drawer({
|
|
2315
2512
|
open,
|
|
2316
2513
|
defaultOpen,
|
|
@@ -2329,11 +2526,11 @@ function Drawer({
|
|
|
2329
2526
|
const portal2 = usePortalProps();
|
|
2330
2527
|
const m = useMessages();
|
|
2331
2528
|
const focus = useReturnFocus(Boolean(trigger4));
|
|
2332
|
-
return /* @__PURE__ */ (0,
|
|
2333
|
-
trigger4 && /* @__PURE__ */ (0,
|
|
2334
|
-
/* @__PURE__ */ (0,
|
|
2335
|
-
/* @__PURE__ */ (0,
|
|
2336
|
-
/* @__PURE__ */ (0,
|
|
2529
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Dialog2.Root, { open, defaultOpen, onOpenChange, children: [
|
|
2530
|
+
trigger4 && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Dialog2.Trigger, { asChild: true, children: trigger4 }),
|
|
2531
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Dialog2.Portal, { children: [
|
|
2532
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Dialog2.Overlay, { className: cx(portal2.className, overlay2), style: portal2.style }),
|
|
2533
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
2337
2534
|
Dialog2.Content,
|
|
2338
2535
|
{
|
|
2339
2536
|
className: cx(portal2.className, content8({ side, size }), className),
|
|
@@ -2344,15 +2541,15 @@ function Drawer({
|
|
|
2344
2541
|
onCloseAutoFocus: focus.onCloseAutoFocus,
|
|
2345
2542
|
...description6 ? {} : { "aria-describedby": void 0 },
|
|
2346
2543
|
children: [
|
|
2347
|
-
/* @__PURE__ */ (0,
|
|
2348
|
-
/* @__PURE__ */ (0,
|
|
2349
|
-
/* @__PURE__ */ (0,
|
|
2350
|
-
description6 && /* @__PURE__ */ (0,
|
|
2544
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: header7, children: [
|
|
2545
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: headings2, children: [
|
|
2546
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Dialog2.Title, { className: title4, children: title6 }),
|
|
2547
|
+
description6 && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Dialog2.Description, { className: description3, children: description6 })
|
|
2351
2548
|
] }),
|
|
2352
|
-
!hideCloseButton && /* @__PURE__ */ (0,
|
|
2549
|
+
!hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Dialog2.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(IconButton, { "aria-label": m.close ?? "\uB2EB\uAE30", size: "sm", className: closeButton4, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_icons13.XIcon, {}) }) })
|
|
2353
2550
|
] }),
|
|
2354
|
-
children && /* @__PURE__ */ (0,
|
|
2355
|
-
footer6 && /* @__PURE__ */ (0,
|
|
2551
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: body3, children }),
|
|
2552
|
+
footer6 && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: footer3, children: footer6 })
|
|
2356
2553
|
]
|
|
2357
2554
|
}
|
|
2358
2555
|
)
|
|
@@ -2363,26 +2560,32 @@ var DrawerClose = Dialog2.Close;
|
|
|
2363
2560
|
|
|
2364
2561
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
2365
2562
|
var RadixMenu = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
|
|
2366
|
-
var
|
|
2563
|
+
var import_icons14 = require("@bestow-ui/icons");
|
|
2564
|
+
var import_react33 = require("react");
|
|
2367
2565
|
|
|
2368
2566
|
// src/components/DropdownMenu/DropdownMenu.css.ts
|
|
2369
2567
|
var content9 = "_1d7ahux0";
|
|
2370
2568
|
var danger = "_1d7ahux2";
|
|
2371
2569
|
var icon5 = "_1d7ahux3";
|
|
2570
|
+
var indicator2 = "_1d7ahux7";
|
|
2571
|
+
var indicatorInner = "_1d7ahux8";
|
|
2372
2572
|
var item5 = "_1d7ahux1";
|
|
2373
|
-
var
|
|
2573
|
+
var label3 = "_1d7ahux5";
|
|
2574
|
+
var radioDot = "_1d7ahux9";
|
|
2374
2575
|
var separator2 = "_1d7ahux6";
|
|
2375
2576
|
var shortcut = "_1d7ahux4";
|
|
2577
|
+
var subChevron = "_1d7ahuxb";
|
|
2578
|
+
var subTrigger = "_1d7ahuxa";
|
|
2376
2579
|
|
|
2377
2580
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
2378
|
-
var
|
|
2581
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2379
2582
|
var DropdownMenu = RadixMenu.Root;
|
|
2380
2583
|
var DropdownMenuTrigger = RadixMenu.Trigger;
|
|
2381
2584
|
var DropdownMenuGroup = RadixMenu.Group;
|
|
2382
|
-
var DropdownMenuContent = /* @__PURE__ */ (0,
|
|
2585
|
+
var DropdownMenuContent = /* @__PURE__ */ (0, import_react33.forwardRef)(
|
|
2383
2586
|
function DropdownMenuContent2({ className, style, side = "bottom", align = "start", sideOffset = 4, collisionPadding = 8, ...rest }, ref) {
|
|
2384
2587
|
const portal2 = usePortalProps();
|
|
2385
|
-
return /* @__PURE__ */ (0,
|
|
2588
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2386
2589
|
RadixMenu.Content,
|
|
2387
2590
|
{
|
|
2388
2591
|
ref,
|
|
@@ -2397,32 +2600,248 @@ var DropdownMenuContent = /* @__PURE__ */ (0, import_react29.forwardRef)(
|
|
|
2397
2600
|
) });
|
|
2398
2601
|
}
|
|
2399
2602
|
);
|
|
2400
|
-
var DropdownMenuItem = /* @__PURE__ */ (0,
|
|
2401
|
-
function DropdownMenuItem2({ icon:
|
|
2402
|
-
return /* @__PURE__ */ (0,
|
|
2403
|
-
|
|
2603
|
+
var DropdownMenuItem = /* @__PURE__ */ (0, import_react33.forwardRef)(
|
|
2604
|
+
function DropdownMenuItem2({ icon: icon7, shortcut: shortcut2, color = "neutral", className, children, ...rest }, ref) {
|
|
2605
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(RadixMenu.Item, { ref, className: cx(item5, color === "danger" && danger, className), ...rest, children: [
|
|
2606
|
+
icon7 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: icon5, "aria-hidden": true, children: icon7 }),
|
|
2404
2607
|
children,
|
|
2405
|
-
shortcut2 && /* @__PURE__ */ (0,
|
|
2608
|
+
shortcut2 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: shortcut, "aria-hidden": true, children: shortcut2 })
|
|
2406
2609
|
] });
|
|
2407
2610
|
}
|
|
2408
2611
|
);
|
|
2409
|
-
var DropdownMenuLabel = /* @__PURE__ */ (0,
|
|
2612
|
+
var DropdownMenuLabel = /* @__PURE__ */ (0, import_react33.forwardRef)(
|
|
2410
2613
|
function DropdownMenuLabel2({ className, ...rest }, ref) {
|
|
2411
|
-
return /* @__PURE__ */ (0,
|
|
2614
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixMenu.Label, { ref, className: cx(label3, className), ...rest });
|
|
2412
2615
|
}
|
|
2413
2616
|
);
|
|
2414
|
-
var DropdownMenuSeparator = /* @__PURE__ */ (0,
|
|
2617
|
+
var DropdownMenuSeparator = /* @__PURE__ */ (0, import_react33.forwardRef)(
|
|
2415
2618
|
function DropdownMenuSeparator2({ className, ...rest }, ref) {
|
|
2416
|
-
return /* @__PURE__ */ (0,
|
|
2619
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixMenu.Separator, { ref, className: cx(separator2, className), ...rest });
|
|
2620
|
+
}
|
|
2621
|
+
);
|
|
2622
|
+
var DropdownMenuCheckboxItem = /* @__PURE__ */ (0, import_react33.forwardRef)(
|
|
2623
|
+
function DropdownMenuCheckboxItem2({ className, children, ...rest }, ref) {
|
|
2624
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(RadixMenu.CheckboxItem, { ref, className: cx(item5, className), ...rest, children: [
|
|
2625
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: indicator2, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixMenu.ItemIndicator, { className: indicatorInner, children: rest.checked === "indeterminate" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_icons14.MinusIcon, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_icons14.CheckIcon, { size: 16 }) }) }),
|
|
2626
|
+
children
|
|
2627
|
+
] });
|
|
2628
|
+
}
|
|
2629
|
+
);
|
|
2630
|
+
var DropdownMenuRadioGroup = RadixMenu.RadioGroup;
|
|
2631
|
+
var DropdownMenuRadioItem = /* @__PURE__ */ (0, import_react33.forwardRef)(
|
|
2632
|
+
function DropdownMenuRadioItem2({ className, children, ...rest }, ref) {
|
|
2633
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(RadixMenu.RadioItem, { ref, className: cx(item5, className), ...rest, children: [
|
|
2634
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: indicator2, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixMenu.ItemIndicator, { className: indicatorInner, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: radioDot }) }) }),
|
|
2635
|
+
children
|
|
2636
|
+
] });
|
|
2637
|
+
}
|
|
2638
|
+
);
|
|
2639
|
+
var DropdownMenuSub = RadixMenu.Sub;
|
|
2640
|
+
var DropdownMenuSubTrigger = /* @__PURE__ */ (0, import_react33.forwardRef)(
|
|
2641
|
+
function DropdownMenuSubTrigger2({ icon: icon7, className, children, ...rest }, ref) {
|
|
2642
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(RadixMenu.SubTrigger, { ref, className: cx(item5, subTrigger, className), ...rest, children: [
|
|
2643
|
+
icon7 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: icon5, "aria-hidden": true, children: icon7 }),
|
|
2644
|
+
children,
|
|
2645
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: subChevron, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_icons14.ChevronRightIcon, { size: 16 }) })
|
|
2646
|
+
] });
|
|
2647
|
+
}
|
|
2648
|
+
);
|
|
2649
|
+
var DropdownMenuSubContent = /* @__PURE__ */ (0, import_react33.forwardRef)(
|
|
2650
|
+
function DropdownMenuSubContent2({ className, style, sideOffset = 4, alignOffset = -5, collisionPadding = 8, ...rest }, ref) {
|
|
2651
|
+
const portal2 = usePortalProps();
|
|
2652
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2653
|
+
RadixMenu.SubContent,
|
|
2654
|
+
{
|
|
2655
|
+
ref,
|
|
2656
|
+
sideOffset,
|
|
2657
|
+
alignOffset,
|
|
2658
|
+
collisionPadding,
|
|
2659
|
+
className: cx(portal2.className, content9, className),
|
|
2660
|
+
style: { ...portal2.style, ...style },
|
|
2661
|
+
...rest
|
|
2662
|
+
}
|
|
2663
|
+
) });
|
|
2664
|
+
}
|
|
2665
|
+
);
|
|
2666
|
+
|
|
2667
|
+
// src/components/NumberInput/NumberInput.tsx
|
|
2668
|
+
var import_react34 = require("react");
|
|
2669
|
+
var import_icons15 = require("@bestow-ui/icons");
|
|
2670
|
+
|
|
2671
|
+
// src/components/NumberInput/NumberInput.css.ts
|
|
2672
|
+
var import_createRuntimeFn18 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2673
|
+
var end = "_1vq2qhv1";
|
|
2674
|
+
var input4 = "_1vq2qhv0";
|
|
2675
|
+
var stepper = /* @__PURE__ */ (0, import_createRuntimeFn18.createRuntimeFn)({ defaultClassName: "_1vq2qhv3", variantClassNames: { size: { sm: "_1vq2qhv4", md: "_1vq2qhv5", lg: "_1vq2qhv6" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2676
|
+
var unit = "_1vq2qhv2";
|
|
2677
|
+
|
|
2678
|
+
// src/components/NumberInput/NumberInput.tsx
|
|
2679
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2680
|
+
var MAX_DIGITS2 = 15;
|
|
2681
|
+
var isMeaningful = (char) => /[\d.-]/.test(char);
|
|
2682
|
+
var decimalsOf = (n) => Number.isFinite(n) ? String(n).split(".")[1]?.length ?? 0 : 0;
|
|
2683
|
+
var parse = (raw) => /\d/.test(raw) ? Number(raw) : null;
|
|
2684
|
+
var NumberInput = /* @__PURE__ */ (0, import_react34.forwardRef)(
|
|
2685
|
+
function NumberInput2(props, ref) {
|
|
2686
|
+
const {
|
|
2687
|
+
value: value4,
|
|
2688
|
+
defaultValue,
|
|
2689
|
+
onValueChange,
|
|
2690
|
+
min,
|
|
2691
|
+
max,
|
|
2692
|
+
step = 1,
|
|
2693
|
+
largeStep = step * 10,
|
|
2694
|
+
precision: precisionProp,
|
|
2695
|
+
unit: unit2,
|
|
2696
|
+
thousandSeparator = true,
|
|
2697
|
+
hideStepper,
|
|
2698
|
+
size,
|
|
2699
|
+
disabled,
|
|
2700
|
+
readOnly,
|
|
2701
|
+
id,
|
|
2702
|
+
name,
|
|
2703
|
+
onKeyDown,
|
|
2704
|
+
onBlur,
|
|
2705
|
+
className,
|
|
2706
|
+
...rest
|
|
2707
|
+
} = props;
|
|
2708
|
+
const isControlled = "value" in props;
|
|
2709
|
+
const m = useMessages();
|
|
2710
|
+
const inputRef = (0, import_react34.useRef)(null);
|
|
2711
|
+
const generatedId = (0, import_react34.useId)();
|
|
2712
|
+
const inputId = id ?? generatedId;
|
|
2713
|
+
const precision = Math.max(0, precisionProp ?? decimalsOf(step));
|
|
2714
|
+
const allowNegative = min === void 0 || min < 0;
|
|
2715
|
+
const round = (n) => Number(n.toFixed(precision));
|
|
2716
|
+
const clamp = (n) => Math.min(max ?? Infinity, Math.max(min ?? -Infinity, round(n)));
|
|
2717
|
+
const toRaw = (n) => n === null || n === void 0 || !Number.isFinite(n) ? "" : String(round(n));
|
|
2718
|
+
const sanitize4 = (input6) => {
|
|
2719
|
+
const negative = allowNegative && input6.trimStart().startsWith("-");
|
|
2720
|
+
const [intPart = "", ...fracParts] = input6.replace(/[^\d.]/g, "").split(".");
|
|
2721
|
+
const int = intPart.replace(/^0+(?=\d)/, "").slice(0, MAX_DIGITS2);
|
|
2722
|
+
const hasDot = precision > 0 && fracParts.length > 0;
|
|
2723
|
+
const frac = hasDot ? fracParts.join("").slice(0, precision) : "";
|
|
2724
|
+
return `${negative ? "-" : ""}${int}${hasDot ? `.${frac}` : ""}`;
|
|
2725
|
+
};
|
|
2726
|
+
const format2 = (raw) => {
|
|
2727
|
+
if (!thousandSeparator) return raw;
|
|
2728
|
+
const [, sign = "", int = "", rest2 = ""] = raw.match(/^(-?)(\d*)(.*)$/) ?? [];
|
|
2729
|
+
return `${sign}${int ? Number(int).toLocaleString("ko-KR") : ""}${rest2}`;
|
|
2730
|
+
};
|
|
2731
|
+
const lastEmitted = (0, import_react34.useRef)(parse(toRaw(isControlled ? value4 : defaultValue)));
|
|
2732
|
+
const emit = (next) => {
|
|
2733
|
+
if (next === lastEmitted.current) return;
|
|
2734
|
+
lastEmitted.current = next;
|
|
2735
|
+
onValueChange?.(next);
|
|
2736
|
+
};
|
|
2737
|
+
const field3 = useFormattedInput({
|
|
2738
|
+
isControlled: false,
|
|
2739
|
+
value: void 0,
|
|
2740
|
+
defaultValue: toRaw(isControlled ? value4 : defaultValue),
|
|
2741
|
+
onValueChange: (raw) => emit(parse(raw)),
|
|
2742
|
+
sanitize: sanitize4,
|
|
2743
|
+
format: format2,
|
|
2744
|
+
isMeaningful,
|
|
2745
|
+
inputRef
|
|
2746
|
+
});
|
|
2747
|
+
const { setRaw } = field3;
|
|
2748
|
+
(0, import_react34.useEffect)(() => {
|
|
2749
|
+
if (!isControlled) return;
|
|
2750
|
+
const next = value4 ?? null;
|
|
2751
|
+
lastEmitted.current = next;
|
|
2752
|
+
if (parse(field3.raw) !== next) setRaw(toRaw(next));
|
|
2753
|
+
}, [value4]);
|
|
2754
|
+
const current2 = parse(field3.raw);
|
|
2755
|
+
const setValue = (next) => {
|
|
2756
|
+
setRaw(toRaw(next));
|
|
2757
|
+
emit(next);
|
|
2758
|
+
};
|
|
2759
|
+
const stepBy = (delta) => {
|
|
2760
|
+
if (disabled || readOnly) return;
|
|
2761
|
+
setValue(current2 === null ? clamp(0) : clamp(current2 + delta));
|
|
2762
|
+
};
|
|
2763
|
+
const canDecrement = !disabled && !readOnly && (current2 === null || min === void 0 || current2 > min);
|
|
2764
|
+
const canIncrement = !disabled && !readOnly && (current2 === null || max === void 0 || current2 < max);
|
|
2765
|
+
const handleKeyDown = (event) => {
|
|
2766
|
+
onKeyDown?.(event);
|
|
2767
|
+
if (event.defaultPrevented) return;
|
|
2768
|
+
const deltas = {
|
|
2769
|
+
ArrowUp: step,
|
|
2770
|
+
ArrowDown: -step,
|
|
2771
|
+
PageUp: largeStep,
|
|
2772
|
+
PageDown: -largeStep
|
|
2773
|
+
};
|
|
2774
|
+
if (event.key in deltas) {
|
|
2775
|
+
event.preventDefault();
|
|
2776
|
+
stepBy(deltas[event.key]);
|
|
2777
|
+
} else if (event.key === "Home" && min !== void 0 && !readOnly) {
|
|
2778
|
+
event.preventDefault();
|
|
2779
|
+
setValue(min);
|
|
2780
|
+
} else if (event.key === "End" && max !== void 0 && !readOnly) {
|
|
2781
|
+
event.preventDefault();
|
|
2782
|
+
setValue(max);
|
|
2783
|
+
} else {
|
|
2784
|
+
field3.onKeyDown(event);
|
|
2785
|
+
}
|
|
2786
|
+
};
|
|
2787
|
+
const stepper2 = (direction) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2788
|
+
IconButton,
|
|
2789
|
+
{
|
|
2790
|
+
size: "sm",
|
|
2791
|
+
"aria-label": direction < 0 ? m.decrement ?? "\uC904\uC774\uAE30" : m.increment ?? "\uB298\uB9AC\uAE30",
|
|
2792
|
+
"aria-controls": inputId,
|
|
2793
|
+
tabIndex: -1,
|
|
2794
|
+
disabled: direction < 0 ? !canDecrement : !canIncrement,
|
|
2795
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
2796
|
+
onClick: () => stepBy(direction * step),
|
|
2797
|
+
className: stepper({ size }),
|
|
2798
|
+
children: direction < 0 ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_icons15.MinusIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_icons15.PlusIcon, {})
|
|
2799
|
+
}
|
|
2800
|
+
);
|
|
2801
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
2802
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2803
|
+
TextField,
|
|
2804
|
+
{
|
|
2805
|
+
ref: mergeRefs(ref, inputRef),
|
|
2806
|
+
id: inputId,
|
|
2807
|
+
role: "spinbutton",
|
|
2808
|
+
inputMode: allowNegative ? "text" : precision > 0 ? "decimal" : "numeric",
|
|
2809
|
+
autoComplete: "off",
|
|
2810
|
+
"aria-valuenow": current2 ?? void 0,
|
|
2811
|
+
"aria-valuemin": min,
|
|
2812
|
+
"aria-valuemax": max,
|
|
2813
|
+
"aria-valuetext": current2 === null ? void 0 : `${field3.display}${unit2 ?? ""}`,
|
|
2814
|
+
value: field3.display,
|
|
2815
|
+
onChange: field3.onChange,
|
|
2816
|
+
onKeyDown: handleKeyDown,
|
|
2817
|
+
onBlur: (event) => {
|
|
2818
|
+
if (current2 !== null && clamp(current2) !== current2) setValue(clamp(current2));
|
|
2819
|
+
else if (current2 === null && field3.raw !== "") setRaw("");
|
|
2820
|
+
onBlur?.(event);
|
|
2821
|
+
},
|
|
2822
|
+
size,
|
|
2823
|
+
disabled,
|
|
2824
|
+
readOnly,
|
|
2825
|
+
startAdornment: hideStepper ? void 0 : stepper2(-1),
|
|
2826
|
+
endAdornment: unit2 || !hideStepper ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("span", { className: end, children: [
|
|
2827
|
+
unit2 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: unit, children: unit2 }),
|
|
2828
|
+
!hideStepper && stepper2(1)
|
|
2829
|
+
] }) : void 0,
|
|
2830
|
+
className: cx(input4, className),
|
|
2831
|
+
...rest
|
|
2832
|
+
}
|
|
2833
|
+
),
|
|
2834
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("input", { type: "hidden", name, value: current2 === null ? "" : String(current2) })
|
|
2835
|
+
] });
|
|
2417
2836
|
}
|
|
2418
2837
|
);
|
|
2419
2838
|
|
|
2420
2839
|
// src/components/Pagination/Pagination.tsx
|
|
2421
|
-
var
|
|
2422
|
-
var
|
|
2840
|
+
var import_icons16 = require("@bestow-ui/icons");
|
|
2841
|
+
var import_react35 = require("react");
|
|
2423
2842
|
|
|
2424
2843
|
// src/components/Pagination/getPaginationItems.ts
|
|
2425
|
-
var range = (start,
|
|
2844
|
+
var range = (start, end2) => end2 < start ? [] : Array.from({ length: end2 - start + 1 }, (_, i) => start + i);
|
|
2426
2845
|
function getPaginationItems(page, totalPages, siblingCount = 1, boundaryCount = 1) {
|
|
2427
2846
|
if (totalPages < 1) return [];
|
|
2428
2847
|
const startPages = range(1, Math.min(boundaryCount, totalPages));
|
|
@@ -2446,14 +2865,14 @@ function getPaginationItems(page, totalPages, siblingCount = 1, boundaryCount =
|
|
|
2446
2865
|
}
|
|
2447
2866
|
|
|
2448
2867
|
// src/components/Pagination/Pagination.css.ts
|
|
2449
|
-
var
|
|
2868
|
+
var import_createRuntimeFn19 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2450
2869
|
var ellipsis = "_1iraoak4";
|
|
2451
|
-
var item6 = /* @__PURE__ */ (0,
|
|
2870
|
+
var item6 = /* @__PURE__ */ (0, import_createRuntimeFn19.createRuntimeFn)({ defaultClassName: "_1iraoak1", variantClassNames: { size: { sm: "_1iraoak2", md: "_1iraoak3" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2452
2871
|
var list3 = "_1iraoak0";
|
|
2453
2872
|
|
|
2454
2873
|
// src/components/Pagination/Pagination.tsx
|
|
2455
|
-
var
|
|
2456
|
-
var Pagination = /* @__PURE__ */ (0,
|
|
2874
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2875
|
+
var Pagination = /* @__PURE__ */ (0, import_react35.forwardRef)(function Pagination2({
|
|
2457
2876
|
totalPages,
|
|
2458
2877
|
page: pageProp,
|
|
2459
2878
|
defaultPage = 1,
|
|
@@ -2466,7 +2885,7 @@ var Pagination = /* @__PURE__ */ (0, import_react30.forwardRef)(function Paginat
|
|
|
2466
2885
|
"aria-label": ariaLabelProp,
|
|
2467
2886
|
...rest
|
|
2468
2887
|
}, ref) {
|
|
2469
|
-
const [uncontrolledPage, setUncontrolledPage] = (0,
|
|
2888
|
+
const [uncontrolledPage, setUncontrolledPage] = (0, import_react35.useState)(defaultPage);
|
|
2470
2889
|
const m = useMessages();
|
|
2471
2890
|
const ariaLabel = ariaLabelProp ?? m.pagination ?? "\uD398\uC774\uC9C0 \uD0D0\uC0C9";
|
|
2472
2891
|
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`);
|
|
@@ -2478,8 +2897,8 @@ var Pagination = /* @__PURE__ */ (0, import_react30.forwardRef)(function Paginat
|
|
|
2478
2897
|
onPageChange?.(next);
|
|
2479
2898
|
};
|
|
2480
2899
|
const itemClass = item6({ size });
|
|
2481
|
-
return /* @__PURE__ */ (0,
|
|
2482
|
-
/* @__PURE__ */ (0,
|
|
2900
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("ul", { className: list3, children: [
|
|
2901
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2483
2902
|
"button",
|
|
2484
2903
|
{
|
|
2485
2904
|
type: "button",
|
|
@@ -2487,23 +2906,23 @@ var Pagination = /* @__PURE__ */ (0, import_react30.forwardRef)(function Paginat
|
|
|
2487
2906
|
"aria-label": getItemLabel("previous", page - 1),
|
|
2488
2907
|
disabled: page <= 1,
|
|
2489
2908
|
onClick: () => goTo(page - 1),
|
|
2490
|
-
children: /* @__PURE__ */ (0,
|
|
2909
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons16.ChevronLeftIcon, { size: 16 })
|
|
2491
2910
|
}
|
|
2492
2911
|
) }),
|
|
2493
2912
|
getPaginationItems(page, totalPages, siblingCount, boundaryCount).map(
|
|
2494
|
-
(
|
|
2913
|
+
(item8) => typeof item8 === "number" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2495
2914
|
"button",
|
|
2496
2915
|
{
|
|
2497
2916
|
type: "button",
|
|
2498
2917
|
className: itemClass,
|
|
2499
|
-
"aria-label": getItemLabel("page",
|
|
2500
|
-
"aria-current":
|
|
2501
|
-
onClick: () => goTo(
|
|
2502
|
-
children:
|
|
2918
|
+
"aria-label": getItemLabel("page", item8),
|
|
2919
|
+
"aria-current": item8 === page ? "page" : void 0,
|
|
2920
|
+
onClick: () => goTo(item8),
|
|
2921
|
+
children: item8
|
|
2503
2922
|
}
|
|
2504
|
-
) },
|
|
2923
|
+
) }, item8) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("li", { "aria-hidden": true, className: cx(itemClass, ellipsis), children: "\u2026" }, item8)
|
|
2505
2924
|
),
|
|
2506
|
-
/* @__PURE__ */ (0,
|
|
2925
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2507
2926
|
"button",
|
|
2508
2927
|
{
|
|
2509
2928
|
type: "button",
|
|
@@ -2511,21 +2930,21 @@ var Pagination = /* @__PURE__ */ (0, import_react30.forwardRef)(function Paginat
|
|
|
2511
2930
|
"aria-label": getItemLabel("next", page + 1),
|
|
2512
2931
|
disabled: page >= totalPages,
|
|
2513
2932
|
onClick: () => goTo(page + 1),
|
|
2514
|
-
children: /* @__PURE__ */ (0,
|
|
2933
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons16.ChevronRightIcon, { size: 16 })
|
|
2515
2934
|
}
|
|
2516
2935
|
) })
|
|
2517
2936
|
] }) });
|
|
2518
2937
|
});
|
|
2519
2938
|
|
|
2520
2939
|
// src/components/PhoneNumberInput/PhoneNumberInput.tsx
|
|
2521
|
-
var
|
|
2522
|
-
var
|
|
2523
|
-
var sanitize3 = (
|
|
2524
|
-
const digits =
|
|
2940
|
+
var import_react36 = require("react");
|
|
2941
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2942
|
+
var sanitize3 = (input6) => {
|
|
2943
|
+
const digits = input6.replace(/\D/g, "");
|
|
2525
2944
|
return digits.slice(0, phoneNumberMaxDigits(digits));
|
|
2526
2945
|
};
|
|
2527
2946
|
var isDigit4 = (char) => /\d/.test(char);
|
|
2528
|
-
var PhoneNumberInput = /* @__PURE__ */ (0,
|
|
2947
|
+
var PhoneNumberInput = /* @__PURE__ */ (0, import_react36.forwardRef)(
|
|
2529
2948
|
function PhoneNumberInput2(props, ref) {
|
|
2530
2949
|
const {
|
|
2531
2950
|
value: value4,
|
|
@@ -2536,7 +2955,7 @@ var PhoneNumberInput = /* @__PURE__ */ (0, import_react31.forwardRef)(
|
|
|
2536
2955
|
onKeyDown,
|
|
2537
2956
|
...rest
|
|
2538
2957
|
} = props;
|
|
2539
|
-
const inputRef = (0,
|
|
2958
|
+
const inputRef = (0, import_react36.useRef)(null);
|
|
2540
2959
|
const m = useMessages();
|
|
2541
2960
|
const label6 = labelProp ?? m.phoneNumber ?? "\uD734\uB300\uD3F0 \uBC88\uD638";
|
|
2542
2961
|
const field3 = useFormattedInput({
|
|
@@ -2549,7 +2968,7 @@ var PhoneNumberInput = /* @__PURE__ */ (0, import_react31.forwardRef)(
|
|
|
2549
2968
|
isMeaningful: isDigit4,
|
|
2550
2969
|
inputRef
|
|
2551
2970
|
});
|
|
2552
|
-
return /* @__PURE__ */ (0,
|
|
2971
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2553
2972
|
TextField,
|
|
2554
2973
|
{
|
|
2555
2974
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -2570,85 +2989,22 @@ var PhoneNumberInput = /* @__PURE__ */ (0, import_react31.forwardRef)(
|
|
|
2570
2989
|
}
|
|
2571
2990
|
);
|
|
2572
2991
|
|
|
2573
|
-
// src/components/Progress/Progress.tsx
|
|
2574
|
-
var import_react32 = require("react");
|
|
2575
|
-
|
|
2576
|
-
// src/components/Progress/Progress.css.ts
|
|
2577
|
-
var import_createRuntimeFn15 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2578
|
-
var header7 = "_1tvkq001";
|
|
2579
|
-
var indicator = /* @__PURE__ */ (0, import_createRuntimeFn15.createRuntimeFn)({ defaultClassName: "_1tvkq008", variantClassNames: { color: { primary: "_1tvkq009", neutral: "_1tvkq00a", success: "_1tvkq00b", warning: "_1tvkq00c", danger: "_1tvkq00d" } }, defaultVariants: { color: "primary" }, compoundVariants: [] });
|
|
2580
|
-
var label3 = "_1tvkq002";
|
|
2581
|
-
var root7 = "_1tvkq000";
|
|
2582
|
-
var track = /* @__PURE__ */ (0, import_createRuntimeFn15.createRuntimeFn)({ defaultClassName: "_1tvkq004", variantClassNames: { size: { sm: "_1tvkq005", md: "_1tvkq006", lg: "_1tvkq007" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2583
|
-
var value2 = "_1tvkq003";
|
|
2584
|
-
|
|
2585
|
-
// src/components/Progress/Progress.tsx
|
|
2586
|
-
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2587
|
-
var defaultFormat = (value4, max) => `${Math.round(value4 / max * 100)}%`;
|
|
2588
|
-
var Progress = /* @__PURE__ */ (0, import_react32.forwardRef)(function Progress2({
|
|
2589
|
-
value: value4,
|
|
2590
|
-
max = 100,
|
|
2591
|
-
label: label6,
|
|
2592
|
-
"aria-label": ariaLabel,
|
|
2593
|
-
showValue,
|
|
2594
|
-
formatValue = defaultFormat,
|
|
2595
|
-
size,
|
|
2596
|
-
color,
|
|
2597
|
-
className,
|
|
2598
|
-
...rest
|
|
2599
|
-
}, ref) {
|
|
2600
|
-
const labelId = (0, import_react32.useId)();
|
|
2601
|
-
const isIndeterminate = value4 === void 0 || value4 === null;
|
|
2602
|
-
const safeMax = max > 0 ? max : 100;
|
|
2603
|
-
const clamped = isIndeterminate ? 0 : Math.min(safeMax, Math.max(0, value4));
|
|
2604
|
-
const valueText = isIndeterminate ? void 0 : formatValue(clamped, safeMax);
|
|
2605
|
-
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { ref, className: cx(root7, className), ...rest, children: [
|
|
2606
|
-
(label6 || showValue && valueText) && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: header7, children: [
|
|
2607
|
-
label6 && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { id: labelId, className: label3, children: label6 }),
|
|
2608
|
-
showValue && valueText && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: value2, "aria-hidden": true, children: valueText })
|
|
2609
|
-
] }),
|
|
2610
|
-
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2611
|
-
"div",
|
|
2612
|
-
{
|
|
2613
|
-
role: "progressbar",
|
|
2614
|
-
"aria-labelledby": label6 ? labelId : void 0,
|
|
2615
|
-
"aria-label": label6 ? void 0 : ariaLabel,
|
|
2616
|
-
"aria-valuemin": 0,
|
|
2617
|
-
"aria-valuemax": safeMax,
|
|
2618
|
-
"aria-valuenow": isIndeterminate ? void 0 : clamped,
|
|
2619
|
-
"aria-valuetext": valueText,
|
|
2620
|
-
className: track({ size }),
|
|
2621
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2622
|
-
"div",
|
|
2623
|
-
{
|
|
2624
|
-
className: indicator({ color }),
|
|
2625
|
-
"data-state": isIndeterminate ? "indeterminate" : clamped >= safeMax ? "complete" : "loading",
|
|
2626
|
-
style: isIndeterminate ? void 0 : { width: `${clamped / safeMax * 100}%` }
|
|
2627
|
-
}
|
|
2628
|
-
)
|
|
2629
|
-
}
|
|
2630
|
-
)
|
|
2631
|
-
] });
|
|
2632
|
-
});
|
|
2633
|
-
|
|
2634
2992
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
2635
|
-
var
|
|
2636
|
-
var import_react33 = require("react");
|
|
2993
|
+
var import_react37 = require("react");
|
|
2637
2994
|
|
|
2638
2995
|
// src/components/RadioGroup/RadioGroup.css.ts
|
|
2639
|
-
var
|
|
2640
|
-
var description4 = "
|
|
2641
|
-
var groupLabel = "
|
|
2642
|
-
var
|
|
2643
|
-
var
|
|
2644
|
-
var
|
|
2645
|
-
var
|
|
2646
|
-
var
|
|
2647
|
-
var text = "_1w9iwjmb";
|
|
2996
|
+
var import_createRuntimeFn20 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2997
|
+
var description4 = "_1w9iwjmc";
|
|
2998
|
+
var groupLabel = "_1w9iwjmd";
|
|
2999
|
+
var items = /* @__PURE__ */ (0, import_createRuntimeFn20.createRuntimeFn)({ defaultClassName: "_1w9iwjm0", variantClassNames: { orientation: { vertical: "_1w9iwjm1", horizontal: "_1w9iwjm2" } }, defaultVariants: { orientation: "vertical" }, compoundVariants: [] });
|
|
3000
|
+
var labelText = "_1w9iwjmb";
|
|
3001
|
+
var option = /* @__PURE__ */ (0, import_createRuntimeFn20.createRuntimeFn)({ defaultClassName: "_1w9iwjm3", variantClassNames: { size: { sm: "_1w9iwjm4", md: "_1w9iwjm5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3002
|
+
var radio = /* @__PURE__ */ (0, import_createRuntimeFn20.createRuntimeFn)({ defaultClassName: "_1w9iwjm7", variantClassNames: { size: { sm: "_1w9iwjm8", md: "_1w9iwjm9" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3003
|
+
var text = "_1w9iwjma";
|
|
2648
3004
|
|
|
2649
3005
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
2650
|
-
var
|
|
2651
|
-
var
|
|
3006
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3007
|
+
var RadioGroup2 = /* @__PURE__ */ (0, import_react37.forwardRef)(function RadioGroup3(props, ref) {
|
|
2652
3008
|
const {
|
|
2653
3009
|
options,
|
|
2654
3010
|
value: value4,
|
|
@@ -2667,66 +3023,191 @@ var RadioGroup = /* @__PURE__ */ (0, import_react33.forwardRef)(function RadioGr
|
|
|
2667
3023
|
className
|
|
2668
3024
|
} = props;
|
|
2669
3025
|
const isControlled = "value" in props;
|
|
2670
|
-
const
|
|
3026
|
+
const [innerValue, setInnerValue] = (0, import_react37.useState)(defaultValue ?? "");
|
|
3027
|
+
const current2 = isControlled ? value4 ?? "" : innerValue;
|
|
3028
|
+
const generatedId = (0, import_react37.useId)();
|
|
2671
3029
|
const baseId = id ?? generatedId;
|
|
2672
3030
|
const labelId = label6 ? `${baseId}-label` : void 0;
|
|
2673
3031
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
2674
|
-
|
|
2675
|
-
|
|
3032
|
+
const groupName = name ?? `${baseId}-radio`;
|
|
3033
|
+
const detachedForm = name ? void 0 : `${baseId}-no-form`;
|
|
3034
|
+
const handleChange = (next) => {
|
|
3035
|
+
if (next === current2) return;
|
|
3036
|
+
if (!isControlled) setInnerValue(next);
|
|
3037
|
+
onValueChange?.(next);
|
|
3038
|
+
};
|
|
3039
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: cx(field, className), children: [
|
|
3040
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("span", { id: labelId, className: cx(label2, groupLabel), children: [
|
|
2676
3041
|
label6,
|
|
2677
|
-
required && /* @__PURE__ */ (0,
|
|
3042
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2678
3043
|
] }),
|
|
2679
|
-
/* @__PURE__ */ (0,
|
|
2680
|
-
|
|
3044
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3045
|
+
"div",
|
|
2681
3046
|
{
|
|
2682
3047
|
ref,
|
|
2683
3048
|
id: baseId,
|
|
2684
|
-
|
|
2685
|
-
defaultValue,
|
|
2686
|
-
onValueChange,
|
|
2687
|
-
orientation,
|
|
2688
|
-
disabled,
|
|
2689
|
-
required,
|
|
2690
|
-
name,
|
|
3049
|
+
role: "radiogroup",
|
|
2691
3050
|
"aria-label": ariaLabel,
|
|
2692
3051
|
"aria-labelledby": labelId,
|
|
2693
3052
|
"aria-describedby": helperId,
|
|
2694
3053
|
"aria-invalid": error || void 0,
|
|
3054
|
+
"aria-required": required || void 0,
|
|
3055
|
+
"data-disabled": disabled || void 0,
|
|
2695
3056
|
className: items({ orientation }),
|
|
2696
3057
|
children: options.map((option2) => {
|
|
2697
3058
|
const itemId = `${baseId}-${option2.value}`;
|
|
2698
3059
|
const descriptionId = option2.description ? `${itemId}-description` : void 0;
|
|
2699
3060
|
const itemDisabled = disabled || option2.disabled;
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
3061
|
+
const checked = option2.value === current2;
|
|
3062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: option({ size }), "data-disabled": itemDisabled || void 0, children: [
|
|
3063
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3064
|
+
"input",
|
|
2703
3065
|
{
|
|
3066
|
+
type: "radio",
|
|
2704
3067
|
id: itemId,
|
|
3068
|
+
name: groupName,
|
|
3069
|
+
form: detachedForm,
|
|
2705
3070
|
value: option2.value,
|
|
2706
|
-
|
|
3071
|
+
checked,
|
|
3072
|
+
onChange: () => handleChange(option2.value),
|
|
3073
|
+
disabled: itemDisabled,
|
|
3074
|
+
required,
|
|
2707
3075
|
"aria-describedby": descriptionId,
|
|
2708
|
-
|
|
2709
|
-
|
|
3076
|
+
"data-state": checked ? "checked" : "unchecked",
|
|
3077
|
+
className: radio({ size })
|
|
2710
3078
|
}
|
|
2711
3079
|
),
|
|
2712
|
-
/* @__PURE__ */ (0,
|
|
2713
|
-
/* @__PURE__ */ (0,
|
|
2714
|
-
option2.description && /* @__PURE__ */ (0,
|
|
3080
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("span", { className: text, children: [
|
|
3081
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("label", { htmlFor: itemId, className: labelText, children: option2.label }),
|
|
3082
|
+
option2.description && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { id: descriptionId, className: description4, children: option2.description })
|
|
2715
3083
|
] })
|
|
2716
3084
|
] }, option2.value);
|
|
2717
3085
|
})
|
|
2718
3086
|
}
|
|
2719
3087
|
),
|
|
2720
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
3088
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
2721
3089
|
] });
|
|
2722
3090
|
});
|
|
2723
3091
|
|
|
3092
|
+
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
3093
|
+
var import_react38 = require("react");
|
|
3094
|
+
|
|
3095
|
+
// src/components/SegmentedControl/SegmentedControl.css.ts
|
|
3096
|
+
var import_createRuntimeFn21 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3097
|
+
var icon6 = "_1h65mmo7";
|
|
3098
|
+
var item7 = /* @__PURE__ */ (0, import_createRuntimeFn21.createRuntimeFn)({ defaultClassName: "_1h65mmo2", variantClassNames: { size: { sm: "_1h65mmo3", md: "_1h65mmo4", lg: "_1h65mmo5" }, fullWidth: { true: "_1h65mmo6" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3099
|
+
var root8 = /* @__PURE__ */ (0, import_createRuntimeFn21.createRuntimeFn)({ defaultClassName: "_1h65mmo0", variantClassNames: { fullWidth: { true: "_1h65mmo1" } }, defaultVariants: {}, compoundVariants: [] });
|
|
3100
|
+
|
|
3101
|
+
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
3102
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3103
|
+
var NEXT_KEYS = { ArrowRight: 1, ArrowDown: 1, ArrowLeft: -1, ArrowUp: -1 };
|
|
3104
|
+
var SegmentedControl = /* @__PURE__ */ (0, import_react38.forwardRef)(
|
|
3105
|
+
function SegmentedControl2(props, ref) {
|
|
3106
|
+
const {
|
|
3107
|
+
options,
|
|
3108
|
+
value: value4,
|
|
3109
|
+
defaultValue,
|
|
3110
|
+
onValueChange,
|
|
3111
|
+
label: label6,
|
|
3112
|
+
"aria-label": ariaLabel,
|
|
3113
|
+
size,
|
|
3114
|
+
fullWidth,
|
|
3115
|
+
disabled,
|
|
3116
|
+
name,
|
|
3117
|
+
id,
|
|
3118
|
+
className
|
|
3119
|
+
} = props;
|
|
3120
|
+
const isControlled = "value" in props;
|
|
3121
|
+
const [innerValue, setInnerValue] = (0, import_react38.useState)(defaultValue ?? "");
|
|
3122
|
+
const current2 = isControlled ? value4 ?? "" : innerValue;
|
|
3123
|
+
const generatedId = (0, import_react38.useId)();
|
|
3124
|
+
const labelId = label6 ? `${id ?? generatedId}-label` : void 0;
|
|
3125
|
+
const itemRefs = (0, import_react38.useRef)([]);
|
|
3126
|
+
const isEnabled = (index) => !disabled && !options[index]?.disabled;
|
|
3127
|
+
const select = (index) => {
|
|
3128
|
+
const next = options[index].value;
|
|
3129
|
+
if (next === current2) return;
|
|
3130
|
+
if (!isControlled) setInnerValue(next);
|
|
3131
|
+
onValueChange?.(next);
|
|
3132
|
+
};
|
|
3133
|
+
const checkedIndex = options.findIndex((option2) => option2.value === current2);
|
|
3134
|
+
const tabStop = checkedIndex >= 0 && isEnabled(checkedIndex) ? checkedIndex : options.findIndex((_, i) => isEnabled(i));
|
|
3135
|
+
const handleKeyDown = (event, index) => {
|
|
3136
|
+
let target = -1;
|
|
3137
|
+
const step = NEXT_KEYS[event.key];
|
|
3138
|
+
if (step) {
|
|
3139
|
+
for (let i = 1; i <= options.length; i++) {
|
|
3140
|
+
const candidate = (index + step * i + options.length) % options.length;
|
|
3141
|
+
if (isEnabled(candidate)) {
|
|
3142
|
+
target = candidate;
|
|
3143
|
+
break;
|
|
3144
|
+
}
|
|
3145
|
+
}
|
|
3146
|
+
} else if (event.key === "Home") {
|
|
3147
|
+
target = options.findIndex((_, i) => isEnabled(i));
|
|
3148
|
+
} else if (event.key === "End") {
|
|
3149
|
+
for (let i = options.length - 1; i >= 0 && target < 0; i--) if (isEnabled(i)) target = i;
|
|
3150
|
+
}
|
|
3151
|
+
if (target < 0) return;
|
|
3152
|
+
event.preventDefault();
|
|
3153
|
+
itemRefs.current[target]?.focus();
|
|
3154
|
+
select(target);
|
|
3155
|
+
};
|
|
3156
|
+
const group = /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
3157
|
+
"div",
|
|
3158
|
+
{
|
|
3159
|
+
ref,
|
|
3160
|
+
id,
|
|
3161
|
+
role: "radiogroup",
|
|
3162
|
+
"aria-labelledby": labelId,
|
|
3163
|
+
"aria-label": label6 ? void 0 : ariaLabel,
|
|
3164
|
+
"aria-disabled": disabled || void 0,
|
|
3165
|
+
className: cx(root8({ fullWidth }), !label6 && className),
|
|
3166
|
+
children: [
|
|
3167
|
+
options.map((option2, index) => {
|
|
3168
|
+
const checked = index === checkedIndex;
|
|
3169
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
3170
|
+
"button",
|
|
3171
|
+
{
|
|
3172
|
+
ref: (node) => {
|
|
3173
|
+
itemRefs.current[index] = node;
|
|
3174
|
+
},
|
|
3175
|
+
type: "button",
|
|
3176
|
+
role: "radio",
|
|
3177
|
+
"aria-checked": checked,
|
|
3178
|
+
tabIndex: index === tabStop ? 0 : -1,
|
|
3179
|
+
disabled: !isEnabled(index),
|
|
3180
|
+
"data-state": checked ? "checked" : "unchecked",
|
|
3181
|
+
"data-disabled": isEnabled(index) ? void 0 : "",
|
|
3182
|
+
className: item7({ size, fullWidth }),
|
|
3183
|
+
onClick: () => select(index),
|
|
3184
|
+
onKeyDown: (event) => handleKeyDown(event, index),
|
|
3185
|
+
children: [
|
|
3186
|
+
option2.icon && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { "aria-hidden": true, className: icon6, children: option2.icon }),
|
|
3187
|
+
option2.label
|
|
3188
|
+
]
|
|
3189
|
+
},
|
|
3190
|
+
option2.value
|
|
3191
|
+
);
|
|
3192
|
+
}),
|
|
3193
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("input", { type: "hidden", name, value: current2 })
|
|
3194
|
+
]
|
|
3195
|
+
}
|
|
3196
|
+
);
|
|
3197
|
+
if (!label6) return group;
|
|
3198
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: cx(field, className), children: [
|
|
3199
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { id: labelId, className: label2, children: label6 }),
|
|
3200
|
+
group
|
|
3201
|
+
] });
|
|
3202
|
+
}
|
|
3203
|
+
);
|
|
3204
|
+
|
|
2724
3205
|
// src/components/Select/Select.tsx
|
|
2725
3206
|
var RadixSelect = __toESM(require("@radix-ui/react-select"), 1);
|
|
2726
|
-
var
|
|
2727
|
-
var
|
|
2728
|
-
var
|
|
2729
|
-
var Select = /* @__PURE__ */ (0,
|
|
3207
|
+
var import_react39 = require("react");
|
|
3208
|
+
var import_icons17 = require("@bestow-ui/icons");
|
|
3209
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3210
|
+
var Select = /* @__PURE__ */ (0, import_react39.forwardRef)(function Select2(props, ref) {
|
|
2730
3211
|
const {
|
|
2731
3212
|
options,
|
|
2732
3213
|
value: value4,
|
|
@@ -2746,16 +3227,16 @@ var Select = /* @__PURE__ */ (0, import_react34.forwardRef)(function Select2(pro
|
|
|
2746
3227
|
className
|
|
2747
3228
|
} = props;
|
|
2748
3229
|
const isControlled = "value" in props;
|
|
2749
|
-
const generatedId = (0,
|
|
3230
|
+
const generatedId = (0, import_react39.useId)();
|
|
2750
3231
|
const triggerId = id ?? generatedId;
|
|
2751
3232
|
const helperId = helperText3 ? `${triggerId}-helper` : void 0;
|
|
2752
3233
|
const portal2 = usePortalProps();
|
|
2753
|
-
return /* @__PURE__ */ (0,
|
|
2754
|
-
label6 && /* @__PURE__ */ (0,
|
|
3234
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
3235
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("label", { htmlFor: triggerId, className: label2, children: [
|
|
2755
3236
|
label6,
|
|
2756
|
-
required && /* @__PURE__ */ (0,
|
|
3237
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2757
3238
|
] }),
|
|
2758
|
-
/* @__PURE__ */ (0,
|
|
3239
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2759
3240
|
RadixSelect.Root,
|
|
2760
3241
|
{
|
|
2761
3242
|
value: isControlled ? value4 ?? "" : void 0,
|
|
@@ -2765,7 +3246,7 @@ var Select = /* @__PURE__ */ (0, import_react34.forwardRef)(function Select2(pro
|
|
|
2765
3246
|
required,
|
|
2766
3247
|
name,
|
|
2767
3248
|
children: [
|
|
2768
|
-
/* @__PURE__ */ (0,
|
|
3249
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2769
3250
|
RadixSelect.Trigger,
|
|
2770
3251
|
{
|
|
2771
3252
|
ref,
|
|
@@ -2774,14 +3255,14 @@ var Select = /* @__PURE__ */ (0, import_react34.forwardRef)(function Select2(pro
|
|
|
2774
3255
|
"aria-invalid": error || void 0,
|
|
2775
3256
|
"aria-describedby": helperId,
|
|
2776
3257
|
"data-invalid": error || void 0,
|
|
2777
|
-
className: cx(
|
|
3258
|
+
className: cx(root4({ size, fullWidth }), trigger2, className),
|
|
2778
3259
|
children: [
|
|
2779
|
-
/* @__PURE__ */ (0,
|
|
2780
|
-
/* @__PURE__ */ (0,
|
|
3260
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: value2, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RadixSelect.Value, { placeholder }) }),
|
|
3261
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RadixSelect.Icon, { className: icon4, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons17.ChevronDownIcon, { size: 16 }) })
|
|
2781
3262
|
]
|
|
2782
3263
|
}
|
|
2783
3264
|
),
|
|
2784
|
-
/* @__PURE__ */ (0,
|
|
3265
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RadixSelect.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2785
3266
|
RadixSelect.Content,
|
|
2786
3267
|
{
|
|
2787
3268
|
position: "popper",
|
|
@@ -2789,15 +3270,15 @@ var Select = /* @__PURE__ */ (0, import_react34.forwardRef)(function Select2(pro
|
|
|
2789
3270
|
collisionPadding: 8,
|
|
2790
3271
|
className: cx(portal2.className, content5),
|
|
2791
3272
|
style: portal2.style,
|
|
2792
|
-
children: /* @__PURE__ */ (0,
|
|
3273
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2793
3274
|
RadixSelect.Item,
|
|
2794
3275
|
{
|
|
2795
3276
|
value: option2.value,
|
|
2796
3277
|
disabled: option2.disabled,
|
|
2797
3278
|
className: item4,
|
|
2798
3279
|
children: [
|
|
2799
|
-
/* @__PURE__ */ (0,
|
|
2800
|
-
/* @__PURE__ */ (0,
|
|
3280
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RadixSelect.ItemText, { children: option2.label }),
|
|
3281
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons17.CheckIcon, { size: 16 }) })
|
|
2801
3282
|
]
|
|
2802
3283
|
},
|
|
2803
3284
|
option2.value
|
|
@@ -2807,78 +3288,52 @@ var Select = /* @__PURE__ */ (0, import_react34.forwardRef)(function Select2(pro
|
|
|
2807
3288
|
]
|
|
2808
3289
|
}
|
|
2809
3290
|
),
|
|
2810
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
3291
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
2811
3292
|
] });
|
|
2812
3293
|
});
|
|
2813
3294
|
|
|
2814
|
-
// src/components/
|
|
2815
|
-
var
|
|
2816
|
-
var import_react35 = require("react");
|
|
3295
|
+
// src/components/SkipLink/SkipLink.tsx
|
|
3296
|
+
var import_react40 = require("react");
|
|
2817
3297
|
|
|
2818
|
-
// src/components/
|
|
2819
|
-
var
|
|
2820
|
-
var height = "var(--_1s8datd1)";
|
|
2821
|
-
var lines = "_1s8datd6";
|
|
2822
|
-
var skeleton = /* @__PURE__ */ (0, import_createRuntimeFn17.createRuntimeFn)({ defaultClassName: "_1s8datd2", variantClassNames: { variant: { text: "_1s8datd3", rect: "_1s8datd4", circle: "_1s8datd5" } }, defaultVariants: { variant: "text" }, compoundVariants: [] });
|
|
2823
|
-
var width = "var(--_1s8datd0)";
|
|
3298
|
+
// src/components/SkipLink/SkipLink.css.ts
|
|
3299
|
+
var skipLink = "_1t9jaar0";
|
|
2824
3300
|
|
|
2825
|
-
// src/components/
|
|
2826
|
-
var
|
|
2827
|
-
var
|
|
2828
|
-
|
|
2829
|
-
const
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
children: Array.from({ length: lines2 }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2841
|
-
"span",
|
|
2842
|
-
{
|
|
2843
|
-
className: skeleton({ variant }),
|
|
2844
|
-
style: (0, import_dynamic2.assignInlineVars)({ [width]: i === lines2 - 1 ? "60%" : "100%", [height]: h })
|
|
2845
|
-
},
|
|
2846
|
-
i
|
|
2847
|
-
))
|
|
2848
|
-
}
|
|
2849
|
-
);
|
|
2850
|
-
}
|
|
2851
|
-
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2852
|
-
"span",
|
|
2853
|
-
{
|
|
2854
|
-
ref,
|
|
2855
|
-
"aria-hidden": true,
|
|
2856
|
-
className: cx(skeleton({ variant }), className),
|
|
2857
|
-
style: { ...(0, import_dynamic2.assignInlineVars)({ [width]: w, [height]: h }), ...style },
|
|
2858
|
-
...rest
|
|
2859
|
-
}
|
|
2860
|
-
);
|
|
3301
|
+
// src/components/SkipLink/SkipLink.tsx
|
|
3302
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3303
|
+
var SkipLink = /* @__PURE__ */ (0, import_react40.forwardRef)(function SkipLink2({ href = "#main", className, children, onClick, ...rest }, ref) {
|
|
3304
|
+
const m = useMessages();
|
|
3305
|
+
const handleClick = (event) => {
|
|
3306
|
+
onClick?.(event);
|
|
3307
|
+
if (event.defaultPrevented || !href.startsWith("#")) return;
|
|
3308
|
+
const target = document.getElementById(decodeURIComponent(href.slice(1)));
|
|
3309
|
+
if (!target) return;
|
|
3310
|
+
event.preventDefault();
|
|
3311
|
+
if (!target.hasAttribute("tabindex")) target.setAttribute("tabindex", "-1");
|
|
3312
|
+
target.focus();
|
|
3313
|
+
target.scrollIntoView?.({ block: "start" });
|
|
3314
|
+
};
|
|
3315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("a", { ref, href, className: cx(skipLink, className), onClick: handleClick, ...rest, children: children ?? m.skipToContent ?? "\uBCF8\uBB38 \uBC14\uB85C\uAC00\uAE30" });
|
|
2861
3316
|
});
|
|
2862
3317
|
|
|
2863
3318
|
// src/components/Slider/Slider.tsx
|
|
2864
3319
|
var RadixSlider = __toESM(require("@radix-ui/react-slider"), 1);
|
|
2865
|
-
var
|
|
3320
|
+
var import_react41 = require("react");
|
|
2866
3321
|
|
|
2867
3322
|
// src/components/Slider/Slider.css.ts
|
|
2868
|
-
var
|
|
3323
|
+
var import_createRuntimeFn22 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2869
3324
|
var field2 = "_126mzjm0";
|
|
2870
3325
|
var header8 = "_126mzjm1";
|
|
2871
3326
|
var helperText2 = "_126mzjm4";
|
|
2872
3327
|
var label4 = "_126mzjm2";
|
|
2873
3328
|
var range2 = "_126mzjmb";
|
|
2874
|
-
var
|
|
2875
|
-
var thumb = /* @__PURE__ */ (0,
|
|
2876
|
-
var track2 = /* @__PURE__ */ (0,
|
|
3329
|
+
var root9 = /* @__PURE__ */ (0, import_createRuntimeFn22.createRuntimeFn)({ defaultClassName: "_126mzjm5", variantClassNames: { size: { sm: "_126mzjm6", md: "_126mzjm7" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3330
|
+
var thumb = /* @__PURE__ */ (0, import_createRuntimeFn22.createRuntimeFn)({ defaultClassName: "_126mzjmc", variantClassNames: { size: { sm: "_126mzjmd", md: "_126mzjme" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3331
|
+
var track2 = /* @__PURE__ */ (0, import_createRuntimeFn22.createRuntimeFn)({ defaultClassName: "_126mzjm8", variantClassNames: { size: { sm: "_126mzjm9", md: "_126mzjma" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2877
3332
|
var value3 = "_126mzjm3";
|
|
2878
3333
|
|
|
2879
3334
|
// src/components/Slider/Slider.tsx
|
|
2880
|
-
var
|
|
2881
|
-
var Slider = /* @__PURE__ */ (0,
|
|
3335
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3336
|
+
var Slider = /* @__PURE__ */ (0, import_react41.forwardRef)(function Slider2(props, ref) {
|
|
2882
3337
|
const {
|
|
2883
3338
|
value: value4,
|
|
2884
3339
|
defaultValue,
|
|
@@ -2899,12 +3354,12 @@ var Slider = /* @__PURE__ */ (0, import_react36.forwardRef)(function Slider2(pro
|
|
|
2899
3354
|
} = props;
|
|
2900
3355
|
const m = useMessages();
|
|
2901
3356
|
const thumbLabels = thumbLabelsProp ?? [m.rangeStart ?? "\uCD5C\uC18C", m.rangeEnd ?? "\uCD5C\uB300"];
|
|
2902
|
-
const generatedId = (0,
|
|
3357
|
+
const generatedId = (0, import_react41.useId)();
|
|
2903
3358
|
const baseId = id ?? generatedId;
|
|
2904
3359
|
const labelId = `${baseId}-label`;
|
|
2905
3360
|
const helperId = `${baseId}-helper`;
|
|
2906
3361
|
const isControlled = "value" in props;
|
|
2907
|
-
const [innerValue, setInnerValue] = (0,
|
|
3362
|
+
const [innerValue, setInnerValue] = (0, import_react41.useState)(defaultValue ?? [min]);
|
|
2908
3363
|
const current2 = isControlled ? value4 ?? [min] : innerValue;
|
|
2909
3364
|
const isRange = current2.length > 1;
|
|
2910
3365
|
const handleChange = (next) => {
|
|
@@ -2912,12 +3367,12 @@ var Slider = /* @__PURE__ */ (0, import_react36.forwardRef)(function Slider2(pro
|
|
|
2912
3367
|
onValueChange?.(next);
|
|
2913
3368
|
};
|
|
2914
3369
|
const valueText = current2.map(formatValue).join(" \u2013 ");
|
|
2915
|
-
return /* @__PURE__ */ (0,
|
|
2916
|
-
(label6 || showValue) && /* @__PURE__ */ (0,
|
|
2917
|
-
label6 && /* @__PURE__ */ (0,
|
|
2918
|
-
showValue && /* @__PURE__ */ (0,
|
|
3370
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: cx(field2, className), children: [
|
|
3371
|
+
(label6 || showValue) && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: header8, children: [
|
|
3372
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { id: labelId, className: label4, children: label6 }),
|
|
3373
|
+
showValue && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: value3, "aria-hidden": true, children: valueText })
|
|
2919
3374
|
] }),
|
|
2920
|
-
/* @__PURE__ */ (0,
|
|
3375
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2921
3376
|
RadixSlider.Root,
|
|
2922
3377
|
{
|
|
2923
3378
|
ref,
|
|
@@ -2927,13 +3382,13 @@ var Slider = /* @__PURE__ */ (0, import_react36.forwardRef)(function Slider2(pro
|
|
|
2927
3382
|
disabled,
|
|
2928
3383
|
value: current2,
|
|
2929
3384
|
onValueChange: handleChange,
|
|
2930
|
-
className:
|
|
3385
|
+
className: root9({ size }),
|
|
2931
3386
|
...rest,
|
|
2932
3387
|
children: [
|
|
2933
|
-
/* @__PURE__ */ (0,
|
|
3388
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RadixSlider.Track, { className: track2({ size }), children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(RadixSlider.Range, { className: range2 }) }),
|
|
2934
3389
|
current2.map((thumbValue, index) => {
|
|
2935
3390
|
const thumbLabelId = `${baseId}-thumb-${index}`;
|
|
2936
|
-
return /* @__PURE__ */ (0,
|
|
3391
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2937
3392
|
RadixSlider.Thumb,
|
|
2938
3393
|
{
|
|
2939
3394
|
className: thumb({ size }),
|
|
@@ -2948,45 +3403,32 @@ var Slider = /* @__PURE__ */ (0, import_react36.forwardRef)(function Slider2(pro
|
|
|
2948
3403
|
]
|
|
2949
3404
|
}
|
|
2950
3405
|
),
|
|
2951
|
-
isRange && current2.map((_, index) => /* @__PURE__ */ (0,
|
|
3406
|
+
isRange && current2.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("span", { id: `${baseId}-thumb-${index}`, hidden: true, children: [
|
|
2952
3407
|
label6 ? "" : ariaLabel ? `${ariaLabel} ` : "",
|
|
2953
3408
|
thumbLabels[index] ?? `${index + 1}`
|
|
2954
3409
|
] }, index)),
|
|
2955
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
3410
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { id: helperId, className: helperText2, children: helperText3 })
|
|
2956
3411
|
] });
|
|
2957
3412
|
});
|
|
2958
3413
|
|
|
2959
|
-
// src/components/Stack/Stack.tsx
|
|
2960
|
-
var import_react37 = require("react");
|
|
2961
|
-
|
|
2962
|
-
// src/components/Stack/Stack.css.ts
|
|
2963
|
-
var import_createRuntimeFn19 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2964
|
-
var stack = /* @__PURE__ */ (0, import_createRuntimeFn19.createRuntimeFn)({ defaultClassName: "_1jz9hj90", variantClassNames: { direction: { row: "_1jz9hj91", column: "_1jz9hj92", "row-reverse": "_1jz9hj93", "column-reverse": "_1jz9hj94" }, gap: { "0": "_1jz9hj95", "1": "_1jz9hj96", "2": "_1jz9hj97", "3": "_1jz9hj98", "4": "_1jz9hj99", "5": "_1jz9hj9a", "6": "_1jz9hj9b", "8": "_1jz9hj9c", "10": "_1jz9hj9d", "12": "_1jz9hj9e", "16": "_1jz9hj9f" }, align: { start: "_1jz9hj9g", center: "_1jz9hj9h", end: "_1jz9hj9i", stretch: "_1jz9hj9j", baseline: "_1jz9hj9k" }, justify: { start: "_1jz9hj9l", center: "_1jz9hj9m", end: "_1jz9hj9n", between: "_1jz9hj9o", around: "_1jz9hj9p", evenly: "_1jz9hj9q" }, wrap: { true: "_1jz9hj9r" } }, defaultVariants: { direction: "column" }, compoundVariants: [] });
|
|
2965
|
-
|
|
2966
|
-
// src/components/Stack/Stack.tsx
|
|
2967
|
-
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2968
|
-
var Stack = /* @__PURE__ */ (0, import_react37.forwardRef)(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, ...rest }, ref) {
|
|
2969
|
-
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Component, { ref, className: cx(stack({ direction, gap, align, justify, wrap }), className), ...rest });
|
|
2970
|
-
});
|
|
2971
|
-
|
|
2972
3414
|
// src/components/Switch/Switch.tsx
|
|
2973
3415
|
var RadixSwitch = __toESM(require("@radix-ui/react-switch"), 1);
|
|
2974
|
-
var
|
|
3416
|
+
var import_react42 = require("react");
|
|
2975
3417
|
|
|
2976
3418
|
// src/components/Switch/Switch.css.ts
|
|
2977
|
-
var
|
|
3419
|
+
var import_createRuntimeFn23 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2978
3420
|
var label5 = "o33ul29";
|
|
2979
|
-
var
|
|
2980
|
-
var thumb2 = /* @__PURE__ */ (0,
|
|
2981
|
-
var track3 = /* @__PURE__ */ (0,
|
|
3421
|
+
var root10 = /* @__PURE__ */ (0, import_createRuntimeFn23.createRuntimeFn)({ defaultClassName: "o33ul20", variantClassNames: { size: { sm: "o33ul21", md: "o33ul22" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3422
|
+
var thumb2 = /* @__PURE__ */ (0, import_createRuntimeFn23.createRuntimeFn)({ defaultClassName: "o33ul26", variantClassNames: { size: { sm: "o33ul27", md: "o33ul28" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3423
|
+
var track3 = /* @__PURE__ */ (0, import_createRuntimeFn23.createRuntimeFn)({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2982
3424
|
|
|
2983
3425
|
// src/components/Switch/Switch.tsx
|
|
2984
|
-
var
|
|
2985
|
-
var Switch = /* @__PURE__ */ (0,
|
|
2986
|
-
const generatedId = (0,
|
|
3426
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3427
|
+
var Switch = /* @__PURE__ */ (0, import_react42.forwardRef)(function Switch2({ label: label6, size, id, className, disabled, "aria-label": ariaLabel, ...rest }, ref) {
|
|
3428
|
+
const generatedId = (0, import_react42.useId)();
|
|
2987
3429
|
const switchId = id ?? generatedId;
|
|
2988
|
-
return /* @__PURE__ */ (0,
|
|
2989
|
-
/* @__PURE__ */ (0,
|
|
3430
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("span", { className: cx(root10({ size }), className), "data-disabled": disabled || void 0, children: [
|
|
3431
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2990
3432
|
RadixSwitch.Root,
|
|
2991
3433
|
{
|
|
2992
3434
|
ref,
|
|
@@ -2995,22 +3437,22 @@ var Switch = /* @__PURE__ */ (0, import_react38.forwardRef)(function Switch2({ l
|
|
|
2995
3437
|
"aria-label": ariaLabel,
|
|
2996
3438
|
className: track3({ size }),
|
|
2997
3439
|
...rest,
|
|
2998
|
-
children: /* @__PURE__ */ (0,
|
|
3440
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixSwitch.Thumb, { className: thumb2({ size }) })
|
|
2999
3441
|
}
|
|
3000
3442
|
),
|
|
3001
|
-
label6 && /* @__PURE__ */ (0,
|
|
3443
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("label", { htmlFor: switchId, className: label5, children: label6 })
|
|
3002
3444
|
] });
|
|
3003
3445
|
});
|
|
3004
3446
|
|
|
3005
3447
|
// src/components/Table/Table.tsx
|
|
3006
|
-
var
|
|
3007
|
-
var
|
|
3448
|
+
var import_react43 = require("react");
|
|
3449
|
+
var import_icons18 = require("@bestow-ui/icons");
|
|
3008
3450
|
|
|
3009
3451
|
// src/components/Table/Table.css.ts
|
|
3010
|
-
var
|
|
3452
|
+
var import_createRuntimeFn24 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3011
3453
|
var body4 = "l3ploy5";
|
|
3012
3454
|
var caption = "l3ploy2";
|
|
3013
|
-
var cell2 = /* @__PURE__ */ (0,
|
|
3455
|
+
var cell2 = /* @__PURE__ */ (0, import_createRuntimeFn24.createRuntimeFn)({ defaultClassName: "l3ploy9", variantClassNames: { size: { sm: "l3ploya", md: "l3ployb" }, align: { left: "l3ployc", center: "l3ployd", right: "l3ploye" } }, defaultVariants: { size: "md", align: "left" }, compoundVariants: [] });
|
|
3014
3456
|
var container = "l3ploy0";
|
|
3015
3457
|
var footer4 = "l3ploy7";
|
|
3016
3458
|
var footerCell = "l3ployg";
|
|
@@ -3024,10 +3466,10 @@ var striped = "l3ploy6";
|
|
|
3024
3466
|
var table = "l3ploy1";
|
|
3025
3467
|
|
|
3026
3468
|
// src/components/Table/Table.tsx
|
|
3027
|
-
var
|
|
3028
|
-
var TableSizeContext = /* @__PURE__ */ (0,
|
|
3029
|
-
var TableSectionContext = /* @__PURE__ */ (0,
|
|
3030
|
-
var Table = /* @__PURE__ */ (0,
|
|
3469
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3470
|
+
var TableSizeContext = /* @__PURE__ */ (0, import_react43.createContext)("md");
|
|
3471
|
+
var TableSectionContext = /* @__PURE__ */ (0, import_react43.createContext)("body");
|
|
3472
|
+
var Table = /* @__PURE__ */ (0, import_react43.forwardRef)(function Table2({
|
|
3031
3473
|
size = "md",
|
|
3032
3474
|
striped: striped2,
|
|
3033
3475
|
stickyHeader: stickyHeader2,
|
|
@@ -3039,8 +3481,8 @@ var Table = /* @__PURE__ */ (0, import_react39.forwardRef)(function Table2({
|
|
|
3039
3481
|
children,
|
|
3040
3482
|
...rest
|
|
3041
3483
|
}, ref) {
|
|
3042
|
-
const captionId = (0,
|
|
3043
|
-
return /* @__PURE__ */ (0,
|
|
3484
|
+
const captionId = (0, import_react43.useId)();
|
|
3485
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TableSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3044
3486
|
"div",
|
|
3045
3487
|
{
|
|
3046
3488
|
className: cx(container, containerClassName),
|
|
@@ -3049,7 +3491,7 @@ var Table = /* @__PURE__ */ (0, import_react39.forwardRef)(function Table2({
|
|
|
3049
3491
|
role: "region",
|
|
3050
3492
|
"aria-labelledby": caption2 ? captionId : void 0,
|
|
3051
3493
|
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
3052
|
-
children: /* @__PURE__ */ (0,
|
|
3494
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
3053
3495
|
"table",
|
|
3054
3496
|
{
|
|
3055
3497
|
ref,
|
|
@@ -3057,7 +3499,7 @@ var Table = /* @__PURE__ */ (0, import_react39.forwardRef)(function Table2({
|
|
|
3057
3499
|
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
3058
3500
|
...rest,
|
|
3059
3501
|
children: [
|
|
3060
|
-
caption2 && /* @__PURE__ */ (0,
|
|
3502
|
+
caption2 && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("caption", { id: captionId, className: caption, children: caption2 }),
|
|
3061
3503
|
children
|
|
3062
3504
|
]
|
|
3063
3505
|
}
|
|
@@ -3065,31 +3507,31 @@ var Table = /* @__PURE__ */ (0, import_react39.forwardRef)(function Table2({
|
|
|
3065
3507
|
}
|
|
3066
3508
|
) });
|
|
3067
3509
|
});
|
|
3068
|
-
var TableHeader = /* @__PURE__ */ (0,
|
|
3510
|
+
var TableHeader = /* @__PURE__ */ (0, import_react43.forwardRef)(
|
|
3069
3511
|
function TableHeader2({ className, ...rest }, ref) {
|
|
3070
|
-
return /* @__PURE__ */ (0,
|
|
3512
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TableSectionContext.Provider, { value: "header", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("thead", { ref, className: cx(header9, className), ...rest }) });
|
|
3071
3513
|
}
|
|
3072
3514
|
);
|
|
3073
|
-
var TableBody = /* @__PURE__ */ (0,
|
|
3515
|
+
var TableBody = /* @__PURE__ */ (0, import_react43.forwardRef)(
|
|
3074
3516
|
function TableBody2({ className, ...rest }, ref) {
|
|
3075
|
-
return /* @__PURE__ */ (0,
|
|
3517
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("tbody", { ref, className: cx(body4, className), ...rest }) });
|
|
3076
3518
|
}
|
|
3077
3519
|
);
|
|
3078
|
-
var TableFooter = /* @__PURE__ */ (0,
|
|
3520
|
+
var TableFooter = /* @__PURE__ */ (0, import_react43.forwardRef)(
|
|
3079
3521
|
function TableFooter2({ className, ...rest }, ref) {
|
|
3080
|
-
return /* @__PURE__ */ (0,
|
|
3522
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("tfoot", { ref, className: cx(footer4, className), ...rest }) });
|
|
3081
3523
|
}
|
|
3082
3524
|
);
|
|
3083
|
-
var TableRow = /* @__PURE__ */ (0,
|
|
3084
|
-
return /* @__PURE__ */ (0,
|
|
3525
|
+
var TableRow = /* @__PURE__ */ (0, import_react43.forwardRef)(function TableRow2({ selected, className, ...rest }, ref) {
|
|
3526
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("tr", { ref, className: cx(row3, className), "data-state": selected ? "selected" : void 0, ...rest });
|
|
3085
3527
|
});
|
|
3086
|
-
var TableHead = /* @__PURE__ */ (0,
|
|
3087
|
-
const size = (0,
|
|
3088
|
-
const section = (0,
|
|
3528
|
+
var TableHead = /* @__PURE__ */ (0, import_react43.forwardRef)(function TableHead2({ align, sortDirection, onSort, scope, className, children, ...rest }, ref) {
|
|
3529
|
+
const size = (0, import_react43.useContext)(TableSizeContext);
|
|
3530
|
+
const section = (0, import_react43.useContext)(TableSectionContext);
|
|
3089
3531
|
const sortable = onSort !== void 0;
|
|
3090
3532
|
const direction = sortDirection ?? "none";
|
|
3091
|
-
const SortIcon = direction === "descending" ?
|
|
3092
|
-
return /* @__PURE__ */ (0,
|
|
3533
|
+
const SortIcon = direction === "descending" ? import_icons18.ArrowDownIcon : import_icons18.ArrowUpIcon;
|
|
3534
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3093
3535
|
"th",
|
|
3094
3536
|
{
|
|
3095
3537
|
ref,
|
|
@@ -3101,17 +3543,17 @@ var TableHead = /* @__PURE__ */ (0, import_react39.forwardRef)(function TableHea
|
|
|
3101
3543
|
className
|
|
3102
3544
|
),
|
|
3103
3545
|
...rest,
|
|
3104
|
-
children: sortable ? /* @__PURE__ */ (0,
|
|
3546
|
+
children: sortable ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("button", { type: "button", className: sortButton, onClick: onSort, children: [
|
|
3105
3547
|
children,
|
|
3106
|
-
/* @__PURE__ */ (0,
|
|
3548
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SortIcon, { size: 14, className: sortIcon, "data-active": direction !== "none", "aria-hidden": true })
|
|
3107
3549
|
] }) : children
|
|
3108
3550
|
}
|
|
3109
3551
|
);
|
|
3110
3552
|
});
|
|
3111
|
-
var TableCell = /* @__PURE__ */ (0,
|
|
3112
|
-
const size = (0,
|
|
3113
|
-
const section = (0,
|
|
3114
|
-
return /* @__PURE__ */ (0,
|
|
3553
|
+
var TableCell = /* @__PURE__ */ (0, import_react43.forwardRef)(function TableCell2({ align, className, ...rest }, ref) {
|
|
3554
|
+
const size = (0, import_react43.useContext)(TableSizeContext);
|
|
3555
|
+
const section = (0, import_react43.useContext)(TableSectionContext);
|
|
3556
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3115
3557
|
"td",
|
|
3116
3558
|
{
|
|
3117
3559
|
ref,
|
|
@@ -3123,47 +3565,48 @@ var TableCell = /* @__PURE__ */ (0, import_react39.forwardRef)(function TableCel
|
|
|
3123
3565
|
|
|
3124
3566
|
// src/components/Tabs/Tabs.tsx
|
|
3125
3567
|
var RadixTabs = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
3126
|
-
var
|
|
3568
|
+
var import_react44 = require("react");
|
|
3127
3569
|
|
|
3128
3570
|
// src/components/Tabs/Tabs.css.ts
|
|
3129
|
-
var
|
|
3130
|
-
var content10 = "
|
|
3131
|
-
var list4 = /* @__PURE__ */ (0,
|
|
3132
|
-
var
|
|
3571
|
+
var import_createRuntimeFn25 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3572
|
+
var content10 = "fvhbtdb";
|
|
3573
|
+
var list4 = /* @__PURE__ */ (0, import_createRuntimeFn25.createRuntimeFn)({ defaultClassName: "fvhbtd1", variantClassNames: { variant: { line: "fvhbtd2", soft: "fvhbtd3" } }, defaultVariants: { variant: "line" }, compoundVariants: [] });
|
|
3574
|
+
var root11 = "fvhbtd0";
|
|
3575
|
+
var trigger3 = /* @__PURE__ */ (0, import_createRuntimeFn25.createRuntimeFn)({ 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"]] });
|
|
3133
3576
|
|
|
3134
3577
|
// src/components/Tabs/Tabs.tsx
|
|
3135
|
-
var
|
|
3136
|
-
var TabsStyleContext = /* @__PURE__ */ (0,
|
|
3137
|
-
var Tabs = /* @__PURE__ */ (0,
|
|
3578
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3579
|
+
var TabsStyleContext = /* @__PURE__ */ (0, import_react44.createContext)({ variant: "line", size: "md" });
|
|
3580
|
+
var Tabs = /* @__PURE__ */ (0, import_react44.forwardRef)(function Tabs2({ variant = "line", size = "md", className, ...props }, ref) {
|
|
3138
3581
|
const controlled = "value" in props ? { value: props.value ?? "" } : {};
|
|
3139
|
-
return /* @__PURE__ */ (0,
|
|
3582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(TabsStyleContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadixTabs.Root, { ref, className: cx(root11, className), ...props, ...controlled }) });
|
|
3140
3583
|
});
|
|
3141
|
-
var TabsList = /* @__PURE__ */ (0,
|
|
3142
|
-
const { variant } = (0,
|
|
3143
|
-
return /* @__PURE__ */ (0,
|
|
3584
|
+
var TabsList = /* @__PURE__ */ (0, import_react44.forwardRef)(function TabsList2({ className, ...rest }, ref) {
|
|
3585
|
+
const { variant } = (0, import_react44.useContext)(TabsStyleContext);
|
|
3586
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadixTabs.List, { ref, className: cx(list4({ variant }), className), ...rest });
|
|
3144
3587
|
});
|
|
3145
|
-
var TabsTrigger = /* @__PURE__ */ (0,
|
|
3146
|
-
const { variant, size } = (0,
|
|
3147
|
-
return /* @__PURE__ */ (0,
|
|
3588
|
+
var TabsTrigger = /* @__PURE__ */ (0, import_react44.forwardRef)(function TabsTrigger2({ className, ...rest }, ref) {
|
|
3589
|
+
const { variant, size } = (0, import_react44.useContext)(TabsStyleContext);
|
|
3590
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadixTabs.Trigger, { ref, className: cx(trigger3({ variant, size }), className), ...rest });
|
|
3148
3591
|
});
|
|
3149
|
-
var TabsContent = /* @__PURE__ */ (0,
|
|
3150
|
-
return /* @__PURE__ */ (0,
|
|
3592
|
+
var TabsContent = /* @__PURE__ */ (0, import_react44.forwardRef)(function TabsContent2({ className, ...rest }, ref) {
|
|
3593
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadixTabs.Content, { ref, className: cx(content10, className), ...rest });
|
|
3151
3594
|
});
|
|
3152
3595
|
|
|
3153
3596
|
// src/components/Textarea/Textarea.tsx
|
|
3154
|
-
var
|
|
3597
|
+
var import_react45 = require("react");
|
|
3155
3598
|
|
|
3156
3599
|
// src/components/Textarea/Textarea.css.ts
|
|
3157
|
-
var
|
|
3600
|
+
var import_createRuntimeFn26 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3158
3601
|
var count = "_1koawa9";
|
|
3159
3602
|
var countOver = "_1koawaa";
|
|
3160
3603
|
var defaultWidth = "_1koawa7";
|
|
3161
3604
|
var footer5 = "_1koawa8";
|
|
3162
|
-
var textarea = /* @__PURE__ */ (0,
|
|
3605
|
+
var textarea = /* @__PURE__ */ (0, import_createRuntimeFn26.createRuntimeFn)({ defaultClassName: "_1koawa0", variantClassNames: { size: { sm: "_1koawa1", md: "_1koawa2", lg: "_1koawa3" }, resize: { none: "_1koawa4", vertical: "_1koawa5", both: "_1koawa6" } }, defaultVariants: { size: "md", resize: "vertical" }, compoundVariants: [] });
|
|
3163
3606
|
|
|
3164
3607
|
// src/components/Textarea/Textarea.tsx
|
|
3165
|
-
var
|
|
3166
|
-
var Textarea = /* @__PURE__ */ (0,
|
|
3608
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3609
|
+
var Textarea = /* @__PURE__ */ (0, import_react45.forwardRef)(function Textarea2({
|
|
3167
3610
|
label: label6,
|
|
3168
3611
|
helperText: helperText3,
|
|
3169
3612
|
error,
|
|
@@ -3184,13 +3627,13 @@ var Textarea = /* @__PURE__ */ (0, import_react41.forwardRef)(function Textarea2
|
|
|
3184
3627
|
"aria-describedby": ariaDescribedBy,
|
|
3185
3628
|
...rest
|
|
3186
3629
|
}, ref) {
|
|
3187
|
-
const generatedId = (0,
|
|
3630
|
+
const generatedId = (0, import_react45.useId)();
|
|
3188
3631
|
const textareaId = id ?? generatedId;
|
|
3189
3632
|
const helperId = helperText3 ? `${textareaId}-helper` : void 0;
|
|
3190
|
-
const innerRef = (0,
|
|
3191
|
-
const [uncontrolledLength, setUncontrolledLength] = (0,
|
|
3633
|
+
const innerRef = (0, import_react45.useRef)(null);
|
|
3634
|
+
const [uncontrolledLength, setUncontrolledLength] = (0, import_react45.useState)(() => String(defaultValue ?? "").length);
|
|
3192
3635
|
const length = value4 !== void 0 ? String(value4).length : uncontrolledLength;
|
|
3193
|
-
const fitHeight = (0,
|
|
3636
|
+
const fitHeight = (0, import_react45.useCallback)(() => {
|
|
3194
3637
|
const el = innerRef.current;
|
|
3195
3638
|
if (!autoResize || !el) return;
|
|
3196
3639
|
el.style.height = "auto";
|
|
@@ -3203,12 +3646,12 @@ var Textarea = /* @__PURE__ */ (0, import_react41.forwardRef)(function Textarea2
|
|
|
3203
3646
|
fitHeight();
|
|
3204
3647
|
onChange?.(event);
|
|
3205
3648
|
};
|
|
3206
|
-
return /* @__PURE__ */ (0,
|
|
3207
|
-
label6 && /* @__PURE__ */ (0,
|
|
3649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
3650
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("label", { htmlFor: textareaId, className: label2, children: [
|
|
3208
3651
|
label6,
|
|
3209
|
-
required && /* @__PURE__ */ (0,
|
|
3652
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
3210
3653
|
] }),
|
|
3211
|
-
/* @__PURE__ */ (0,
|
|
3654
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3212
3655
|
"textarea",
|
|
3213
3656
|
{
|
|
3214
3657
|
ref: mergeRefs(innerRef, ref),
|
|
@@ -3230,51 +3673,51 @@ var Textarea = /* @__PURE__ */ (0, import_react41.forwardRef)(function Textarea2
|
|
|
3230
3673
|
...rest
|
|
3231
3674
|
}
|
|
3232
3675
|
),
|
|
3233
|
-
(helperText3 || showCount) && /* @__PURE__ */ (0,
|
|
3234
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
3235
|
-
showCount && /* @__PURE__ */ (0,
|
|
3676
|
+
(helperText3 || showCount) && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: footer5, children: [
|
|
3677
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
|
|
3678
|
+
showCount && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
|
|
3236
3679
|
] })
|
|
3237
3680
|
] });
|
|
3238
3681
|
});
|
|
3239
3682
|
|
|
3240
3683
|
// src/components/Toast/Toast.tsx
|
|
3241
3684
|
var RadixToast = __toESM(require("@radix-ui/react-toast"), 1);
|
|
3242
|
-
var
|
|
3243
|
-
var
|
|
3685
|
+
var import_react46 = require("react");
|
|
3686
|
+
var import_icons19 = require("@bestow-ui/icons");
|
|
3244
3687
|
|
|
3245
3688
|
// src/components/Toast/Toast.css.ts
|
|
3246
|
-
var
|
|
3689
|
+
var import_createRuntimeFn27 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3247
3690
|
var action2 = "_1g11zvx9";
|
|
3248
3691
|
var close = "_1g11zvxa";
|
|
3249
3692
|
var description5 = "_1g11zvx8";
|
|
3250
3693
|
var title5 = "_1g11zvx7";
|
|
3251
|
-
var toast = /* @__PURE__ */ (0,
|
|
3694
|
+
var toast = /* @__PURE__ */ (0, import_createRuntimeFn27.createRuntimeFn)({ defaultClassName: "_1g11zvx1", variantClassNames: { color: { primary: "_1g11zvx2", neutral: "_1g11zvx3", success: "_1g11zvx4", warning: "_1g11zvx5", danger: "_1g11zvx6" } }, defaultVariants: { color: "neutral" }, compoundVariants: [] });
|
|
3252
3695
|
var viewport2 = "_1g11zvx0";
|
|
3253
3696
|
|
|
3254
3697
|
// src/components/Toast/Toast.tsx
|
|
3255
|
-
var
|
|
3698
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3256
3699
|
var REMOVE_DELAY = 500;
|
|
3257
|
-
var ToastContext = /* @__PURE__ */ (0,
|
|
3700
|
+
var ToastContext = /* @__PURE__ */ (0, import_react46.createContext)(null);
|
|
3258
3701
|
function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
3259
3702
|
const m = useMessages();
|
|
3260
3703
|
const label6 = labelProp ?? m.notifications ?? "\uC54C\uB9BC";
|
|
3261
|
-
const [toasts, setToasts] = (0,
|
|
3262
|
-
const nextId = (0,
|
|
3704
|
+
const [toasts, setToasts] = (0, import_react46.useState)([]);
|
|
3705
|
+
const nextId = (0, import_react46.useRef)(0);
|
|
3263
3706
|
const portal2 = usePortalProps();
|
|
3264
|
-
const toast2 = (0,
|
|
3707
|
+
const toast2 = (0, import_react46.useCallback)((options) => {
|
|
3265
3708
|
const id = nextId.current++;
|
|
3266
3709
|
setToasts((prev) => [...prev, { ...options, id, open: true }]);
|
|
3267
3710
|
return id;
|
|
3268
3711
|
}, []);
|
|
3269
|
-
const dismiss = (0,
|
|
3712
|
+
const dismiss = (0, import_react46.useCallback)((id) => {
|
|
3270
3713
|
const isTarget = (t) => id === void 0 || t.id === id;
|
|
3271
3714
|
setToasts((prev) => prev.map((t) => isTarget(t) ? { ...t, open: false } : t));
|
|
3272
3715
|
setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
|
|
3273
3716
|
}, []);
|
|
3274
|
-
const value4 = (0,
|
|
3275
|
-
return /* @__PURE__ */ (0,
|
|
3717
|
+
const value4 = (0, import_react46.useMemo)(() => ({ toast: toast2, dismiss }), [toast2, dismiss]);
|
|
3718
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ToastContext.Provider, { value: value4, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(RadixToast.Provider, { duration, label: label6, swipeDirection: "right", children: [
|
|
3276
3719
|
children,
|
|
3277
|
-
toasts.map(({ id, open, title: title6, description: description6, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */ (0,
|
|
3720
|
+
toasts.map(({ id, open, title: title6, description: description6, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
3278
3721
|
RadixToast.Root,
|
|
3279
3722
|
{
|
|
3280
3723
|
open,
|
|
@@ -3284,19 +3727,19 @@ function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
|
3284
3727
|
},
|
|
3285
3728
|
className: toast({ color }),
|
|
3286
3729
|
children: [
|
|
3287
|
-
/* @__PURE__ */ (0,
|
|
3288
|
-
description6 && /* @__PURE__ */ (0,
|
|
3289
|
-
action3 && /* @__PURE__ */ (0,
|
|
3290
|
-
/* @__PURE__ */ (0,
|
|
3730
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadixToast.Title, { className: title5, children: title6 }),
|
|
3731
|
+
description6 && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadixToast.Description, { className: description5, children: description6 }),
|
|
3732
|
+
action3 && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadixToast.Action, { asChild: true, altText: action3.altText ?? action3.label, className: action2, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action3.onClick, children: action3.label }) }),
|
|
3733
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadixToast.Close, { className: close, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_icons19.XIcon, { size: 16 }) })
|
|
3291
3734
|
]
|
|
3292
3735
|
},
|
|
3293
3736
|
id
|
|
3294
3737
|
)),
|
|
3295
|
-
/* @__PURE__ */ (0,
|
|
3738
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
|
|
3296
3739
|
] }) });
|
|
3297
3740
|
}
|
|
3298
3741
|
function useToast() {
|
|
3299
|
-
const context = (0,
|
|
3742
|
+
const context = (0, import_react46.useContext)(ToastContext);
|
|
3300
3743
|
if (!context) throw new Error("useToast \uB294 ToastProvider \uC548\uC5D0\uC11C \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4.");
|
|
3301
3744
|
return context;
|
|
3302
3745
|
}
|
|
@@ -3309,7 +3752,7 @@ var arrow2 = "z7rufs1";
|
|
|
3309
3752
|
var content11 = "z7rufs0";
|
|
3310
3753
|
|
|
3311
3754
|
// src/components/Tooltip/Tooltip.tsx
|
|
3312
|
-
var
|
|
3755
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3313
3756
|
function Tooltip({
|
|
3314
3757
|
content: content12,
|
|
3315
3758
|
children,
|
|
@@ -3324,9 +3767,9 @@ function Tooltip({
|
|
|
3324
3767
|
}) {
|
|
3325
3768
|
const portal2 = usePortalProps();
|
|
3326
3769
|
if (disabled || content12 == null || content12 === "") return children;
|
|
3327
|
-
return /* @__PURE__ */ (0,
|
|
3328
|
-
/* @__PURE__ */ (0,
|
|
3329
|
-
/* @__PURE__ */ (0,
|
|
3770
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
|
|
3771
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(RadixTooltip.Trigger, { asChild: true, children }),
|
|
3772
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(RadixTooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
3330
3773
|
RadixTooltip.Content,
|
|
3331
3774
|
{
|
|
3332
3775
|
side,
|
|
@@ -3337,59 +3780,27 @@ function Tooltip({
|
|
|
3337
3780
|
style: portal2.style,
|
|
3338
3781
|
children: [
|
|
3339
3782
|
content12,
|
|
3340
|
-
/* @__PURE__ */ (0,
|
|
3783
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(RadixTooltip.Arrow, { className: arrow2, width: 10, height: 5 })
|
|
3341
3784
|
]
|
|
3342
3785
|
}
|
|
3343
3786
|
) })
|
|
3344
3787
|
] }) });
|
|
3345
3788
|
}
|
|
3346
3789
|
|
|
3347
|
-
// src/components/Typography/Typography.tsx
|
|
3348
|
-
var import_react43 = require("react");
|
|
3349
|
-
|
|
3350
|
-
// src/components/Typography/Typography.css.ts
|
|
3351
|
-
var import_createRuntimeFn25 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3352
|
-
var typography = /* @__PURE__ */ (0, import_createRuntimeFn25.createRuntimeFn)({ defaultClassName: "kiolio0", variantClassNames: { variant: { display: "kiolio1", h1: "kiolio2", h2: "kiolio3", h3: "kiolio4", h4: "kiolio5", "body-lg": "kiolio6", body: "kiolio7", "body-sm": "kiolio8", caption: "kiolio9" }, color: { "default": "kiolioa", muted: "kioliob", subtle: "kiolioc", primary: "kioliod", danger: "kiolioe", success: "kioliof", warning: "kioliog", inherit: "kiolioh" }, weight: { regular: "kiolioi", medium: "kiolioj", semibold: "kioliok", bold: "kioliol" }, align: { start: "kioliom", center: "kiolion", end: "kiolioo" }, truncate: { true: "kioliop" } }, defaultVariants: { variant: "body", color: "default" }, compoundVariants: [] });
|
|
3353
|
-
|
|
3354
|
-
// src/components/Typography/Typography.tsx
|
|
3355
|
-
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3356
|
-
var defaultElement = {
|
|
3357
|
-
display: "h1",
|
|
3358
|
-
h1: "h1",
|
|
3359
|
-
h2: "h2",
|
|
3360
|
-
h3: "h3",
|
|
3361
|
-
h4: "h4",
|
|
3362
|
-
"body-lg": "p",
|
|
3363
|
-
body: "p",
|
|
3364
|
-
"body-sm": "p",
|
|
3365
|
-
caption: "span"
|
|
3366
|
-
};
|
|
3367
|
-
var Typography = /* @__PURE__ */ (0, import_react43.forwardRef)(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
|
|
3368
|
-
const Component = as ?? defaultElement[variant];
|
|
3369
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3370
|
-
Component,
|
|
3371
|
-
{
|
|
3372
|
-
ref,
|
|
3373
|
-
className: cx(typography({ variant, color, weight, align, truncate }), className),
|
|
3374
|
-
...rest
|
|
3375
|
-
}
|
|
3376
|
-
);
|
|
3377
|
-
});
|
|
3378
|
-
|
|
3379
3790
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
3380
|
-
var
|
|
3791
|
+
var import_react47 = require("react");
|
|
3381
3792
|
|
|
3382
3793
|
// src/components/VerificationCodeInput/VerificationCodeInput.css.ts
|
|
3383
|
-
var
|
|
3794
|
+
var input5 = "ea01812";
|
|
3384
3795
|
var row4 = "ea01810";
|
|
3385
3796
|
var slot = "ea01813";
|
|
3386
3797
|
var slots = "ea01811";
|
|
3387
3798
|
var timer = "ea01814";
|
|
3388
3799
|
|
|
3389
3800
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
3390
|
-
var
|
|
3801
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
3391
3802
|
var formatTime = (seconds) => `${String(Math.floor(seconds / 60)).padStart(2, "0")}:${String(seconds % 60).padStart(2, "0")}`;
|
|
3392
|
-
var VerificationCodeInput = /* @__PURE__ */ (0,
|
|
3803
|
+
var VerificationCodeInput = /* @__PURE__ */ (0, import_react47.forwardRef)(
|
|
3393
3804
|
function VerificationCodeInput2(props, ref) {
|
|
3394
3805
|
const {
|
|
3395
3806
|
length = 6,
|
|
@@ -3416,23 +3827,23 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3416
3827
|
const label6 = labelProp ?? m.verificationCode ?? "\uC778\uC99D\uBC88\uD638";
|
|
3417
3828
|
const resendText = resendTextProp ?? m.resend ?? "\uC7AC\uC804\uC1A1";
|
|
3418
3829
|
const expiredText = expiredTextProp ?? m.verificationExpired ?? "\uC778\uC99D \uC2DC\uAC04\uC774 \uC9C0\uB0AC\uC5B4\uC694. \uC7AC\uC804\uC1A1\uD574 \uC8FC\uC138\uC694.";
|
|
3419
|
-
const generatedId = (0,
|
|
3830
|
+
const generatedId = (0, import_react47.useId)();
|
|
3420
3831
|
const inputId = id ?? generatedId;
|
|
3421
3832
|
const helperId = `${inputId}-helper`;
|
|
3422
3833
|
const statusId = `${inputId}-status`;
|
|
3423
|
-
const inputRef = (0,
|
|
3834
|
+
const inputRef = (0, import_react47.useRef)(null);
|
|
3424
3835
|
const isControlled = "value" in props;
|
|
3425
|
-
const [innerValue, setInnerValue] = (0,
|
|
3836
|
+
const [innerValue, setInnerValue] = (0, import_react47.useState)(defaultValue ?? "");
|
|
3426
3837
|
const code = (isControlled ? value4 ?? "" : innerValue).slice(0, length);
|
|
3427
|
-
const [focused, setFocused] = (0,
|
|
3428
|
-
const [endAt, setEndAt] = (0,
|
|
3429
|
-
const [remaining, setRemaining] = (0,
|
|
3838
|
+
const [focused, setFocused] = (0, import_react47.useState)(false);
|
|
3839
|
+
const [endAt, setEndAt] = (0, import_react47.useState)(() => expiresIn ? Date.now() + expiresIn * 1e3 : null);
|
|
3840
|
+
const [remaining, setRemaining] = (0, import_react47.useState)(expiresIn ?? 0);
|
|
3430
3841
|
const expired = expiresIn !== void 0 && remaining <= 0;
|
|
3431
|
-
const onExpireRef = (0,
|
|
3432
|
-
(0,
|
|
3842
|
+
const onExpireRef = (0, import_react47.useRef)(onExpire);
|
|
3843
|
+
(0, import_react47.useEffect)(() => {
|
|
3433
3844
|
onExpireRef.current = onExpire;
|
|
3434
3845
|
});
|
|
3435
|
-
(0,
|
|
3846
|
+
(0, import_react47.useEffect)(() => {
|
|
3436
3847
|
if (endAt === null) return;
|
|
3437
3848
|
const tick = () => {
|
|
3438
3849
|
const left = Math.max(0, Math.ceil((endAt - Date.now()) / 1e3));
|
|
@@ -3467,17 +3878,17 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3467
3878
|
};
|
|
3468
3879
|
const description6 = helperText3 ?? m.verificationCodeHint?.(length, type) ?? `${length}\uC790\uB9AC ${type === "numeric" ? "\uC22B\uC790" : "\uBB38\uC790"}\uB97C \uC785\uB825\uD558\uC138\uC694.`;
|
|
3469
3880
|
const activeIndex = Math.min(code.length, length - 1);
|
|
3470
|
-
return /* @__PURE__ */ (0,
|
|
3881
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
3471
3882
|
"div",
|
|
3472
3883
|
{
|
|
3473
3884
|
className: cx(field, className),
|
|
3474
3885
|
"data-invalid": error || void 0,
|
|
3475
3886
|
"data-disabled": disabled || void 0,
|
|
3476
3887
|
children: [
|
|
3477
|
-
/* @__PURE__ */ (0,
|
|
3478
|
-
/* @__PURE__ */ (0,
|
|
3479
|
-
/* @__PURE__ */ (0,
|
|
3480
|
-
/* @__PURE__ */ (0,
|
|
3888
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("label", { htmlFor: inputId, className: label2, children: label6 }),
|
|
3889
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: row4, children: [
|
|
3890
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: slots, children: [
|
|
3891
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3481
3892
|
"input",
|
|
3482
3893
|
{
|
|
3483
3894
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -3494,10 +3905,10 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3494
3905
|
autoFocus,
|
|
3495
3906
|
"aria-invalid": error || void 0,
|
|
3496
3907
|
"aria-describedby": `${helperId} ${statusId}`,
|
|
3497
|
-
className:
|
|
3908
|
+
className: input5
|
|
3498
3909
|
}
|
|
3499
3910
|
),
|
|
3500
|
-
Array.from({ length }, (_, index) => /* @__PURE__ */ (0,
|
|
3911
|
+
Array.from({ length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3501
3912
|
"div",
|
|
3502
3913
|
{
|
|
3503
3914
|
className: slot,
|
|
@@ -3508,12 +3919,12 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3508
3919
|
index
|
|
3509
3920
|
))
|
|
3510
3921
|
] }),
|
|
3511
|
-
expiresIn !== void 0 && /* @__PURE__ */ (0,
|
|
3512
|
-
onResend && /* @__PURE__ */ (0,
|
|
3922
|
+
expiresIn !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { role: "timer", className: timer, children: formatTime(remaining) }),
|
|
3923
|
+
onResend && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Button, { size: "sm", variant: "outline", color: "neutral", onClick: resend, disabled, children: resendText })
|
|
3513
3924
|
] }),
|
|
3514
|
-
/* @__PURE__ */ (0,
|
|
3515
|
-
/* @__PURE__ */ (0,
|
|
3516
|
-
name && /* @__PURE__ */ (0,
|
|
3925
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { id: helperId, className: helperText({ error }), children: description6 }),
|
|
3926
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { id: statusId, role: "status", className: helperText({ error: true }), children: expired ? expiredText : "" }),
|
|
3927
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("input", { type: "hidden", name, value: code })
|
|
3517
3928
|
]
|
|
3518
3929
|
}
|
|
3519
3930
|
);
|
|
@@ -3544,11 +3955,17 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3544
3955
|
Drawer,
|
|
3545
3956
|
DrawerClose,
|
|
3546
3957
|
DropdownMenu,
|
|
3958
|
+
DropdownMenuCheckboxItem,
|
|
3547
3959
|
DropdownMenuContent,
|
|
3548
3960
|
DropdownMenuGroup,
|
|
3549
3961
|
DropdownMenuItem,
|
|
3550
3962
|
DropdownMenuLabel,
|
|
3963
|
+
DropdownMenuRadioGroup,
|
|
3964
|
+
DropdownMenuRadioItem,
|
|
3551
3965
|
DropdownMenuSeparator,
|
|
3966
|
+
DropdownMenuSub,
|
|
3967
|
+
DropdownMenuSubContent,
|
|
3968
|
+
DropdownMenuSubTrigger,
|
|
3552
3969
|
DropdownMenuTrigger,
|
|
3553
3970
|
IconButton,
|
|
3554
3971
|
Input,
|
|
@@ -3556,14 +3973,17 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3556
3973
|
LocaleProvider,
|
|
3557
3974
|
Modal,
|
|
3558
3975
|
ModalClose,
|
|
3976
|
+
NumberInput,
|
|
3559
3977
|
Pagination,
|
|
3560
3978
|
PhoneNumberInput,
|
|
3561
3979
|
Popover,
|
|
3562
3980
|
PopoverClose,
|
|
3563
3981
|
Progress,
|
|
3564
3982
|
RadioGroup,
|
|
3983
|
+
SegmentedControl,
|
|
3565
3984
|
Select,
|
|
3566
3985
|
Skeleton,
|
|
3986
|
+
SkipLink,
|
|
3567
3987
|
Slider,
|
|
3568
3988
|
Spinner,
|
|
3569
3989
|
Stack,
|