@bestow-ui/react 1.6.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/client.js +196 -177
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +216 -197
- package/dist/index.cjs.map +1 -1
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -1005,9 +1005,23 @@ var Breadcrumb = /* @__PURE__ */ forwardRef14(function Breadcrumb2({ items: item
|
|
|
1005
1005
|
});
|
|
1006
1006
|
|
|
1007
1007
|
// src/components/BusinessNumberInput/BusinessNumberInput.tsx
|
|
1008
|
-
import { forwardRef as forwardRef15, useRef as useRef6, useState as
|
|
1008
|
+
import { forwardRef as forwardRef15, useRef as useRef6, useState as useState5 } from "react";
|
|
1009
1009
|
import { formatBusinessNumber, isValidBusinessNumber } from "@bestow-ui/korean-utils";
|
|
1010
|
-
|
|
1010
|
+
|
|
1011
|
+
// src/utils/useDelayedAnnouncement.ts
|
|
1012
|
+
import { useEffect as useEffect4, useState as useState4 } from "react";
|
|
1013
|
+
var ANNOUNCE_DELAY = 800;
|
|
1014
|
+
function useDelayedAnnouncement(message, delay = ANNOUNCE_DELAY) {
|
|
1015
|
+
const [announced, setAnnounced] = useState4("");
|
|
1016
|
+
useEffect4(() => {
|
|
1017
|
+
const timer2 = setTimeout(() => setAnnounced(message), message ? delay : 0);
|
|
1018
|
+
return () => clearTimeout(timer2);
|
|
1019
|
+
}, [message, delay]);
|
|
1020
|
+
return message && announced === message ? message : "";
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
// src/components/BusinessNumberInput/BusinessNumberInput.tsx
|
|
1024
|
+
import { Fragment as Fragment4, jsx as jsx17, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1011
1025
|
var sanitize = (input6) => input6.replace(/\D/g, "").slice(0, 10);
|
|
1012
1026
|
var isDigit2 = (char) => /\d/.test(char);
|
|
1013
1027
|
var BusinessNumberInput = /* @__PURE__ */ forwardRef15(
|
|
@@ -1031,7 +1045,7 @@ var BusinessNumberInput = /* @__PURE__ */ forwardRef15(
|
|
|
1031
1045
|
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.";
|
|
1032
1046
|
const label6 = labelProp ?? m.businessNumber ?? "\uC0AC\uC5C5\uC790\uB4F1\uB85D\uBC88\uD638";
|
|
1033
1047
|
const incompleteText = m.businessNumberIncomplete ?? "10\uC790\uB9AC\uB97C \uBAA8\uB450 \uC785\uB825\uD574 \uC8FC\uC138\uC694.";
|
|
1034
|
-
const [touched, setTouched] =
|
|
1048
|
+
const [touched, setTouched] = useState5(false);
|
|
1035
1049
|
const field4 = useFormattedInput({
|
|
1036
1050
|
isControlled: "value" in props,
|
|
1037
1051
|
value: value3,
|
|
@@ -1045,33 +1059,37 @@ var BusinessNumberInput = /* @__PURE__ */ forwardRef15(
|
|
|
1045
1059
|
const complete = field4.raw.length === 10;
|
|
1046
1060
|
const autoInvalid = validate && field4.raw.length > 0 && (complete ? !isValidBusinessNumber(field4.raw) : touched);
|
|
1047
1061
|
const showAuto = autoInvalid && error === void 0;
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
field4.
|
|
1059
|
-
onKeyDown
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
onBlur
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1062
|
+
const announcement = useDelayedAnnouncement(showAuto && complete ? invalidText : "");
|
|
1063
|
+
return /* @__PURE__ */ jsxs15(Fragment4, { children: [
|
|
1064
|
+
/* @__PURE__ */ jsx17(
|
|
1065
|
+
TextField,
|
|
1066
|
+
{
|
|
1067
|
+
ref: mergeRefs(ref, inputRef),
|
|
1068
|
+
label: label6,
|
|
1069
|
+
placeholder,
|
|
1070
|
+
inputMode: "numeric",
|
|
1071
|
+
value: field4.display,
|
|
1072
|
+
onChange: field4.onChange,
|
|
1073
|
+
onKeyDown: (event) => {
|
|
1074
|
+
field4.onKeyDown(event);
|
|
1075
|
+
onKeyDown?.(event);
|
|
1076
|
+
},
|
|
1077
|
+
onBlur: (event) => {
|
|
1078
|
+
setTouched(true);
|
|
1079
|
+
onBlur?.(event);
|
|
1080
|
+
},
|
|
1081
|
+
error: error ?? autoInvalid,
|
|
1082
|
+
helperText: showAuto ? complete ? invalidText : incompleteText : helperText3,
|
|
1083
|
+
...rest
|
|
1084
|
+
}
|
|
1085
|
+
),
|
|
1086
|
+
/* @__PURE__ */ jsx17("span", { role: "status", className: visuallyHidden, children: announcement })
|
|
1087
|
+
] });
|
|
1070
1088
|
}
|
|
1071
1089
|
);
|
|
1072
1090
|
|
|
1073
1091
|
// src/components/Calendar/Calendar.tsx
|
|
1074
|
-
import { forwardRef as forwardRef17, useEffect as
|
|
1092
|
+
import { forwardRef as forwardRef17, useEffect as useEffect5, useId as useId4, useRef as useRef7, useState as useState6 } from "react";
|
|
1075
1093
|
import { ChevronLeftIcon, ChevronRightIcon as ChevronRightIcon2 } from "@bestow-ui/icons";
|
|
1076
1094
|
import { KOREAN_WEEKDAYS } from "@bestow-ui/korean-utils";
|
|
1077
1095
|
|
|
@@ -1122,7 +1140,7 @@ var root6 = "_1qyq67b0";
|
|
|
1122
1140
|
var weekday = "_1qyq67b4";
|
|
1123
1141
|
|
|
1124
1142
|
// src/components/Calendar/Calendar.tsx
|
|
1125
|
-
import { jsx as jsx19, jsxs as
|
|
1143
|
+
import { jsx as jsx19, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1126
1144
|
var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
|
|
1127
1145
|
const {
|
|
1128
1146
|
value: value3,
|
|
@@ -1146,7 +1164,7 @@ var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
|
|
|
1146
1164
|
const headingId = useId4();
|
|
1147
1165
|
const gridRef = useRef7(null);
|
|
1148
1166
|
const isControlled = "value" in props;
|
|
1149
|
-
const [innerValue, setInnerValue] =
|
|
1167
|
+
const [innerValue, setInnerValue] = useState6(defaultValue ?? "");
|
|
1150
1168
|
const selected = parseISODate(isControlled ? value3 : innerValue);
|
|
1151
1169
|
const isClient = useIsClient();
|
|
1152
1170
|
const today = parseISODate(todayProp) ?? (isClient ? /* @__PURE__ */ new Date() : null);
|
|
@@ -1158,16 +1176,16 @@ var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
|
|
|
1158
1176
|
return date;
|
|
1159
1177
|
};
|
|
1160
1178
|
const isDisabled = (date) => minDate !== null && compareDays(date, minDate) < 0 || maxDate !== null && compareDays(date, maxDate) > 0 || !!isDateDisabled?.(date);
|
|
1161
|
-
const [focusedState, setFocused] =
|
|
1179
|
+
const [focusedState, setFocused] = useState6(null);
|
|
1162
1180
|
const base = selected ?? today;
|
|
1163
1181
|
const focused = focusedState ?? (base ? clamp(base) : null);
|
|
1164
1182
|
const moveFocus = useRef7(initialFocus ?? false);
|
|
1165
1183
|
const selectedIso = selected ? toISODate(selected) : "";
|
|
1166
|
-
|
|
1184
|
+
useEffect5(() => {
|
|
1167
1185
|
const date = parseISODate(selectedIso);
|
|
1168
1186
|
if (date) setFocused((prev) => isSameDay(prev, date) ? prev : date);
|
|
1169
1187
|
}, [selectedIso]);
|
|
1170
|
-
|
|
1188
|
+
useEffect5(() => {
|
|
1171
1189
|
if (!moveFocus.current || !focused) return;
|
|
1172
1190
|
moveFocus.current = false;
|
|
1173
1191
|
gridRef.current?.querySelector(`[data-date="${toISODate(focused)}"]`)?.focus();
|
|
@@ -1207,8 +1225,8 @@ var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
|
|
|
1207
1225
|
) : [];
|
|
1208
1226
|
const canPrev = !!visible && (!minDate || compareDays(new Date(visible.getFullYear(), visible.getMonth(), 0), minDate) >= 0);
|
|
1209
1227
|
const canNext = !!visible && (!maxDate || compareDays(new Date(visible.getFullYear(), visible.getMonth() + 1, 1), maxDate) <= 0);
|
|
1210
|
-
return /* @__PURE__ */
|
|
1211
|
-
/* @__PURE__ */
|
|
1228
|
+
return /* @__PURE__ */ jsxs16("div", { ref, className: cx(root6, className), children: [
|
|
1229
|
+
/* @__PURE__ */ jsxs16("div", { className: header3, children: [
|
|
1212
1230
|
/* @__PURE__ */ jsx19(
|
|
1213
1231
|
IconButton,
|
|
1214
1232
|
{
|
|
@@ -1231,7 +1249,7 @@ var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
|
|
|
1231
1249
|
}
|
|
1232
1250
|
)
|
|
1233
1251
|
] }),
|
|
1234
|
-
/* @__PURE__ */
|
|
1252
|
+
/* @__PURE__ */ jsxs16("table", { ref: gridRef, role: "grid", "aria-labelledby": headingId, className: grid, onKeyDown: handleKeyDown, children: [
|
|
1235
1253
|
/* @__PURE__ */ jsx19("thead", { children: /* @__PURE__ */ jsx19("tr", { children: weekdaysShort.map((name, index) => /* @__PURE__ */ jsx19("th", { scope: "col", abbr: weekdaysLong[index], className: weekday, "data-weekday": index, children: name }, index)) }) }),
|
|
1236
1254
|
/* @__PURE__ */ jsx19("tbody", { children: weeks.map((week) => /* @__PURE__ */ jsx19("tr", { children: week.map((date) => {
|
|
1237
1255
|
const iso = toISODate(date);
|
|
@@ -1273,11 +1291,11 @@ var Calendar = /* @__PURE__ */ forwardRef17(function Calendar2(props, ref) {
|
|
|
1273
1291
|
import * as Popover from "@radix-ui/react-popover";
|
|
1274
1292
|
import {
|
|
1275
1293
|
forwardRef as forwardRef18,
|
|
1276
|
-
useEffect as
|
|
1294
|
+
useEffect as useEffect6,
|
|
1277
1295
|
useId as useId5,
|
|
1278
1296
|
useMemo as useMemo3,
|
|
1279
1297
|
useRef as useRef8,
|
|
1280
|
-
useState as
|
|
1298
|
+
useState as useState7
|
|
1281
1299
|
} from "react";
|
|
1282
1300
|
import { CheckIcon, ChevronDownIcon as ChevronDownIcon3, XIcon as XIcon3 } from "@bestow-ui/icons";
|
|
1283
1301
|
|
|
@@ -1297,8 +1315,7 @@ var empty = "c2pbq74";
|
|
|
1297
1315
|
var toggle2 = "c2pbq71 c2pbq70";
|
|
1298
1316
|
|
|
1299
1317
|
// src/components/Combobox/Combobox.tsx
|
|
1300
|
-
import { jsx as jsx20, jsxs as
|
|
1301
|
-
var NO_RESULTS_ANNOUNCE_DELAY = 800;
|
|
1318
|
+
import { jsx as jsx20, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1302
1319
|
var defaultFilter = (option2, query) => option2.label.toLowerCase().includes(query.trim().toLowerCase());
|
|
1303
1320
|
var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
|
|
1304
1321
|
const {
|
|
@@ -1338,12 +1355,12 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
|
|
|
1338
1355
|
const inputRef = useRef8(null);
|
|
1339
1356
|
const anchorRef = useRef8(null);
|
|
1340
1357
|
const isControlled = "value" in props;
|
|
1341
|
-
const [innerValue, setInnerValue] =
|
|
1358
|
+
const [innerValue, setInnerValue] = useState7(defaultValue);
|
|
1342
1359
|
const selectedValue = isControlled ? value3 : innerValue;
|
|
1343
1360
|
const selectedOption = options.find((o) => o.value === selectedValue);
|
|
1344
|
-
const [open, setOpen] =
|
|
1345
|
-
const [query, setQuery] =
|
|
1346
|
-
const [activeIndex, setActiveIndex] =
|
|
1361
|
+
const [open, setOpen] = useState7(false);
|
|
1362
|
+
const [query, setQuery] = useState7(null);
|
|
1363
|
+
const [activeIndex, setActiveIndex] = useState7(-1);
|
|
1347
1364
|
const filtered = useMemo3(() => query ? options.filter((o) => filter(o, query)) : options, [options, filter, query]);
|
|
1348
1365
|
const inputText = query ?? selectedOption?.label ?? "";
|
|
1349
1366
|
const firstEnabled = (list7, from = 0, step2 = 1) => {
|
|
@@ -1419,26 +1436,26 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
|
|
|
1419
1436
|
break;
|
|
1420
1437
|
}
|
|
1421
1438
|
};
|
|
1422
|
-
|
|
1439
|
+
useEffect6(() => {
|
|
1423
1440
|
if (!open || activeIndex < 0) return;
|
|
1424
1441
|
document.getElementById(optionId(activeIndex))?.scrollIntoView?.({ block: "nearest" });
|
|
1425
1442
|
}, [open, activeIndex]);
|
|
1426
1443
|
const hasOptions = filtered.length > 0;
|
|
1427
1444
|
const noResults = open && !disabled && !hasOptions;
|
|
1428
|
-
const [announcedFor, setAnnouncedFor] =
|
|
1429
|
-
|
|
1445
|
+
const [announcedFor, setAnnouncedFor] = useState7(void 0);
|
|
1446
|
+
useEffect6(() => {
|
|
1430
1447
|
if (!noResults) return;
|
|
1431
|
-
const timer2 = setTimeout(() => setAnnouncedFor(query),
|
|
1448
|
+
const timer2 = setTimeout(() => setAnnouncedFor(query), ANNOUNCE_DELAY);
|
|
1432
1449
|
return () => clearTimeout(timer2);
|
|
1433
1450
|
}, [noResults, query]);
|
|
1434
1451
|
const announceNoResults = noResults && announcedFor === query;
|
|
1435
|
-
return /* @__PURE__ */
|
|
1436
|
-
label6 && /* @__PURE__ */
|
|
1452
|
+
return /* @__PURE__ */ jsxs17("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
1453
|
+
label6 && /* @__PURE__ */ jsxs17("label", { id: labelId, htmlFor: inputId, className: label, children: [
|
|
1437
1454
|
label6,
|
|
1438
1455
|
required && /* @__PURE__ */ jsx20("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
1439
1456
|
] }),
|
|
1440
|
-
/* @__PURE__ */
|
|
1441
|
-
/* @__PURE__ */ jsx20(Popover.Anchor, { asChild: true, children: /* @__PURE__ */
|
|
1457
|
+
/* @__PURE__ */ jsxs17(Popover.Root, { open: open && !disabled, onOpenChange: (next) => next ? openList() : close2(), children: [
|
|
1458
|
+
/* @__PURE__ */ jsx20(Popover.Anchor, { asChild: true, children: /* @__PURE__ */ jsxs17(
|
|
1442
1459
|
"div",
|
|
1443
1460
|
{
|
|
1444
1461
|
ref: anchorRef,
|
|
@@ -1537,7 +1554,7 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
|
|
|
1537
1554
|
return (
|
|
1538
1555
|
// aria-activedescendant 패턴: 포커스·키보드는 입력창이 맡고 항목은 포커스를 받지 않는다 (WAI-ARIA combobox)
|
|
1539
1556
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/interactive-supports-focus
|
|
1540
|
-
/* @__PURE__ */
|
|
1557
|
+
/* @__PURE__ */ jsxs17(
|
|
1541
1558
|
"div",
|
|
1542
1559
|
{
|
|
1543
1560
|
id: optionId(index),
|
|
@@ -1575,7 +1592,7 @@ var Combobox = /* @__PURE__ */ forwardRef18(function Combobox2(props, ref) {
|
|
|
1575
1592
|
});
|
|
1576
1593
|
|
|
1577
1594
|
// src/components/DatePicker/DatePicker.tsx
|
|
1578
|
-
import { forwardRef as forwardRef19, useEffect as
|
|
1595
|
+
import { forwardRef as forwardRef19, useEffect as useEffect7, useRef as useRef9, useState as useState8 } from "react";
|
|
1579
1596
|
import { CalendarIcon } from "@bestow-ui/icons";
|
|
1580
1597
|
|
|
1581
1598
|
// src/components/Popover/Popover.tsx
|
|
@@ -1591,7 +1608,7 @@ var header4 = "_1j99p8x1";
|
|
|
1591
1608
|
var title3 = "_1j99p8x2";
|
|
1592
1609
|
|
|
1593
1610
|
// src/components/Popover/Popover.tsx
|
|
1594
|
-
import { jsx as jsx21, jsxs as
|
|
1611
|
+
import { jsx as jsx21, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1595
1612
|
function Popover2({
|
|
1596
1613
|
content: content12,
|
|
1597
1614
|
children,
|
|
@@ -1612,9 +1629,9 @@ function Popover2({
|
|
|
1612
1629
|
const portal2 = usePortalProps();
|
|
1613
1630
|
const m = useMessages();
|
|
1614
1631
|
const titleId = useId6();
|
|
1615
|
-
return /* @__PURE__ */
|
|
1632
|
+
return /* @__PURE__ */ jsxs18(RadixPopover.Root, { open, defaultOpen, onOpenChange, modal, children: [
|
|
1616
1633
|
/* @__PURE__ */ jsx21(RadixPopover.Trigger, { asChild: true, children }),
|
|
1617
|
-
/* @__PURE__ */ jsx21(RadixPopover.Portal, { children: /* @__PURE__ */
|
|
1634
|
+
/* @__PURE__ */ jsx21(RadixPopover.Portal, { children: /* @__PURE__ */ jsxs18(
|
|
1618
1635
|
RadixPopover.Content,
|
|
1619
1636
|
{
|
|
1620
1637
|
side,
|
|
@@ -1627,7 +1644,7 @@ function Popover2({
|
|
|
1627
1644
|
className: cx(portal2.className, content7, className),
|
|
1628
1645
|
style: { ...portal2.style, ...style },
|
|
1629
1646
|
children: [
|
|
1630
|
-
(title6 || showClose) && /* @__PURE__ */
|
|
1647
|
+
(title6 || showClose) && /* @__PURE__ */ jsxs18("div", { className: header4, children: [
|
|
1631
1648
|
title6 && /* @__PURE__ */ jsx21("h2", { id: titleId, className: title3, children: title6 }),
|
|
1632
1649
|
showClose && /* @__PURE__ */ jsx21(RadixPopover.Close, { className: closeButton3, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ jsx21(XIcon4, { size: 16 }) })
|
|
1633
1650
|
] }),
|
|
@@ -1641,7 +1658,7 @@ function Popover2({
|
|
|
1641
1658
|
var PopoverClose = RadixPopover.Close;
|
|
1642
1659
|
|
|
1643
1660
|
// src/components/DatePicker/DatePicker.tsx
|
|
1644
|
-
import { Fragment as
|
|
1661
|
+
import { Fragment as Fragment5, jsx as jsx22, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1645
1662
|
var sanitize2 = (input6) => input6.replace(/\D/g, "").slice(0, 8);
|
|
1646
1663
|
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)}`;
|
|
1647
1664
|
var isDigit3 = (char) => /\d/.test(char);
|
|
@@ -1678,8 +1695,8 @@ var DatePicker = /* @__PURE__ */ forwardRef19(
|
|
|
1678
1695
|
const invalidText = invalidTextProp ?? m.dateInvalid ?? "\uC62C\uBC14\uB978 \uB0A0\uC9DC\uAC00 \uC544\uB2C8\uC5D0\uC694.";
|
|
1679
1696
|
const unavailableText = unavailableTextProp ?? m.dateUnavailable ?? "\uACE0\uB97C \uC218 \uC5C6\uB294 \uB0A0\uC9DC\uC608\uC694.";
|
|
1680
1697
|
const incompleteText = incompleteTextProp ?? m.dateIncomplete ?? "\uB0A0\uC9DC\uB97C YYYY-MM-DD \uD615\uC2DD\uC73C\uB85C \uC785\uB825\uD574 \uC8FC\uC138\uC694.";
|
|
1681
|
-
const [open, setOpen] =
|
|
1682
|
-
const [touched, setTouched] =
|
|
1698
|
+
const [open, setOpen] = useState8(false);
|
|
1699
|
+
const [touched, setTouched] = useState8(false);
|
|
1683
1700
|
const isControlled = "value" in props;
|
|
1684
1701
|
const lastEmitted = useRef9(isControlled ? value3 ?? "" : defaultValue ?? "");
|
|
1685
1702
|
const minDate = parseISODate(min);
|
|
@@ -1706,7 +1723,7 @@ var DatePicker = /* @__PURE__ */ forwardRef19(
|
|
|
1706
1723
|
});
|
|
1707
1724
|
const textIso = toIso(field4.raw);
|
|
1708
1725
|
const { setRaw } = field4;
|
|
1709
|
-
|
|
1726
|
+
useEffect7(() => {
|
|
1710
1727
|
if (!isControlled) return;
|
|
1711
1728
|
const next = value3 ?? "";
|
|
1712
1729
|
lastEmitted.current = next;
|
|
@@ -1720,8 +1737,9 @@ var DatePicker = /* @__PURE__ */ forwardRef19(
|
|
|
1720
1737
|
const complete = field4.raw.length === 8;
|
|
1721
1738
|
const autoError = complete ? !date ? invalidText : isUnavailable(date) ? unavailableText : null : touched && field4.raw.length > 0 ? incompleteText : null;
|
|
1722
1739
|
const showAuto = autoError !== null && error === void 0;
|
|
1740
|
+
const announcement = useDelayedAnnouncement(showAuto && complete ? autoError ?? "" : "");
|
|
1723
1741
|
const selectedIso = date && !isUnavailable(date) ? textIso : "";
|
|
1724
|
-
return /* @__PURE__ */
|
|
1742
|
+
return /* @__PURE__ */ jsxs19(Fragment5, { children: [
|
|
1725
1743
|
/* @__PURE__ */ jsx22(
|
|
1726
1744
|
TextField,
|
|
1727
1745
|
{
|
|
@@ -1772,13 +1790,14 @@ var DatePicker = /* @__PURE__ */ forwardRef19(
|
|
|
1772
1790
|
)
|
|
1773
1791
|
}
|
|
1774
1792
|
),
|
|
1793
|
+
/* @__PURE__ */ jsx22("span", { role: "status", className: visuallyHidden, children: announcement }),
|
|
1775
1794
|
name && /* @__PURE__ */ jsx22("input", { type: "hidden", name, value: selectedIso })
|
|
1776
1795
|
] });
|
|
1777
1796
|
}
|
|
1778
1797
|
);
|
|
1779
1798
|
|
|
1780
1799
|
// src/components/DateRangePicker/DateRangePicker.tsx
|
|
1781
|
-
import { forwardRef as forwardRef20, useId as useId7, useState as
|
|
1800
|
+
import { forwardRef as forwardRef20, useId as useId7, useState as useState9 } from "react";
|
|
1782
1801
|
|
|
1783
1802
|
// src/components/DateRangePicker/DateRangePicker.css.ts
|
|
1784
1803
|
var field2 = "_17277dh3";
|
|
@@ -1789,7 +1808,7 @@ var presets = "_17277dh5";
|
|
|
1789
1808
|
var separator2 = "_17277dh4";
|
|
1790
1809
|
|
|
1791
1810
|
// src/components/DateRangePicker/DateRangePicker.tsx
|
|
1792
|
-
import { jsx as jsx23, jsxs as
|
|
1811
|
+
import { jsx as jsx23, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1793
1812
|
var DateRangePicker = /* @__PURE__ */ forwardRef20(
|
|
1794
1813
|
function DateRangePicker2(props, ref) {
|
|
1795
1814
|
const {
|
|
@@ -1820,7 +1839,7 @@ var DateRangePicker = /* @__PURE__ */ forwardRef20(
|
|
|
1820
1839
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
1821
1840
|
const isClient = useIsClient();
|
|
1822
1841
|
const isControlled = "value" in props;
|
|
1823
|
-
const [inner, setInner] =
|
|
1842
|
+
const [inner, setInner] = useState9(defaultValue ?? { start: "", end: "" });
|
|
1824
1843
|
const range3 = isControlled ? value3 ?? { start: "", end: "" } : inner;
|
|
1825
1844
|
const update = (next) => {
|
|
1826
1845
|
if (next.start === range3.start && next.end === range3.end) return;
|
|
@@ -1831,7 +1850,7 @@ var DateRangePicker = /* @__PURE__ */ forwardRef20(
|
|
|
1831
1850
|
const startLabel = startLabelProp ?? m.dateRangeStart ?? "\uC2DC\uC791\uC77C";
|
|
1832
1851
|
const endLabel = endLabelProp ?? m.dateRangeEnd ?? "\uC885\uB8CC\uC77C";
|
|
1833
1852
|
const common = { isDateDisabled, isHoliday, today, disabled, required, fullWidth: true };
|
|
1834
|
-
return /* @__PURE__ */
|
|
1853
|
+
return /* @__PURE__ */ jsxs20(
|
|
1835
1854
|
"fieldset",
|
|
1836
1855
|
{
|
|
1837
1856
|
ref,
|
|
@@ -1840,11 +1859,11 @@ var DateRangePicker = /* @__PURE__ */ forwardRef20(
|
|
|
1840
1859
|
"aria-describedby": helperId,
|
|
1841
1860
|
"data-invalid": error || void 0,
|
|
1842
1861
|
children: [
|
|
1843
|
-
label6 && /* @__PURE__ */
|
|
1862
|
+
label6 && /* @__PURE__ */ jsxs20("legend", { className: legend3, children: [
|
|
1844
1863
|
label6,
|
|
1845
1864
|
required && /* @__PURE__ */ jsx23("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
1846
1865
|
] }),
|
|
1847
|
-
/* @__PURE__ */
|
|
1866
|
+
/* @__PURE__ */ jsxs20("div", { className: fields, children: [
|
|
1848
1867
|
/* @__PURE__ */ jsx23("div", { className: field2, children: /* @__PURE__ */ jsx23(
|
|
1849
1868
|
DatePicker,
|
|
1850
1869
|
{
|
|
@@ -1917,7 +1936,7 @@ var overlay2 = "nmobyv0";
|
|
|
1917
1936
|
var title4 = "nmobyvv";
|
|
1918
1937
|
|
|
1919
1938
|
// src/components/Drawer/Drawer.tsx
|
|
1920
|
-
import { jsx as jsx24, jsxs as
|
|
1939
|
+
import { jsx as jsx24, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
1921
1940
|
function Drawer({
|
|
1922
1941
|
open,
|
|
1923
1942
|
defaultOpen,
|
|
@@ -1936,11 +1955,11 @@ function Drawer({
|
|
|
1936
1955
|
const portal2 = usePortalProps();
|
|
1937
1956
|
const m = useMessages();
|
|
1938
1957
|
const focus = useReturnFocus(Boolean(trigger4));
|
|
1939
|
-
return /* @__PURE__ */
|
|
1958
|
+
return /* @__PURE__ */ jsxs21(Dialog2.Root, { open, defaultOpen, onOpenChange, children: [
|
|
1940
1959
|
trigger4 && /* @__PURE__ */ jsx24(Dialog2.Trigger, { asChild: true, children: trigger4 }),
|
|
1941
|
-
/* @__PURE__ */
|
|
1960
|
+
/* @__PURE__ */ jsxs21(Dialog2.Portal, { children: [
|
|
1942
1961
|
/* @__PURE__ */ jsx24(Dialog2.Overlay, { className: cx(portal2.className, overlay2), style: portal2.style }),
|
|
1943
|
-
/* @__PURE__ */
|
|
1962
|
+
/* @__PURE__ */ jsxs21(
|
|
1944
1963
|
Dialog2.Content,
|
|
1945
1964
|
{
|
|
1946
1965
|
className: cx(portal2.className, content8({ side, size }), className),
|
|
@@ -1951,8 +1970,8 @@ function Drawer({
|
|
|
1951
1970
|
onCloseAutoFocus: focus.onCloseAutoFocus,
|
|
1952
1971
|
...description7 ? {} : { "aria-describedby": void 0 },
|
|
1953
1972
|
children: [
|
|
1954
|
-
/* @__PURE__ */
|
|
1955
|
-
/* @__PURE__ */
|
|
1973
|
+
/* @__PURE__ */ jsxs21("div", { className: header5, children: [
|
|
1974
|
+
/* @__PURE__ */ jsxs21("div", { className: headings2, children: [
|
|
1956
1975
|
/* @__PURE__ */ jsx24(Dialog2.Title, { className: title4, children: title6 }),
|
|
1957
1976
|
description7 && /* @__PURE__ */ jsx24(Dialog2.Description, { className: description3, children: description7 })
|
|
1958
1977
|
] }),
|
|
@@ -1969,7 +1988,7 @@ function Drawer({
|
|
|
1969
1988
|
var DrawerClose = Dialog2.Close;
|
|
1970
1989
|
|
|
1971
1990
|
// src/components/ErrorSummary/ErrorSummary.tsx
|
|
1972
|
-
import { forwardRef as forwardRef21, useEffect as
|
|
1991
|
+
import { forwardRef as forwardRef21, useEffect as useEffect8, useId as useId8, useRef as useRef10 } from "react";
|
|
1973
1992
|
|
|
1974
1993
|
// src/components/ErrorSummary/ErrorSummary.css.ts
|
|
1975
1994
|
var link3 = "_1cdophv2";
|
|
@@ -1983,7 +2002,7 @@ var ErrorSummary = /* @__PURE__ */ forwardRef21(function ErrorSummary2({ errors:
|
|
|
1983
2002
|
const titleId = useId8();
|
|
1984
2003
|
const rootRef = useRef10(null);
|
|
1985
2004
|
const hasErrors = errors2.length > 0;
|
|
1986
|
-
|
|
2005
|
+
useEffect8(() => {
|
|
1987
2006
|
if (hasErrors) rootRef.current?.focus();
|
|
1988
2007
|
}, [focusKey, hasErrors]);
|
|
1989
2008
|
if (!hasErrors) return null;
|
|
@@ -2018,7 +2037,7 @@ var ErrorSummary = /* @__PURE__ */ forwardRef21(function ErrorSummary2({ errors:
|
|
|
2018
2037
|
});
|
|
2019
2038
|
|
|
2020
2039
|
// src/components/FileUpload/FileUpload.tsx
|
|
2021
|
-
import { forwardRef as forwardRef22, useEffect as
|
|
2040
|
+
import { forwardRef as forwardRef22, useEffect as useEffect9, useId as useId9, useRef as useRef11, useState as useState10 } from "react";
|
|
2022
2041
|
import { FileIcon, UploadIcon, XIcon as XIcon6 } from "@bestow-ui/icons";
|
|
2023
2042
|
|
|
2024
2043
|
// src/components/FileUpload/FileUpload.css.ts
|
|
@@ -2034,7 +2053,7 @@ var list4 = "r2jefr4";
|
|
|
2034
2053
|
var root8 = "r2jefr0";
|
|
2035
2054
|
|
|
2036
2055
|
// src/components/FileUpload/FileUpload.tsx
|
|
2037
|
-
import { jsx as jsx26, jsxs as
|
|
2056
|
+
import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2038
2057
|
var REMOVED_ANNOUNCE_DELAY = 500;
|
|
2039
2058
|
function formatSize(bytes) {
|
|
2040
2059
|
if (bytes < 1024) return `${bytes} B`;
|
|
@@ -2072,11 +2091,11 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
|
|
|
2072
2091
|
} = props;
|
|
2073
2092
|
const m = useMessages();
|
|
2074
2093
|
const isControlled = "value" in props;
|
|
2075
|
-
const [innerFiles, setInnerFiles] =
|
|
2094
|
+
const [innerFiles, setInnerFiles] = useState10(defaultValue ?? []);
|
|
2076
2095
|
const files = isControlled ? value3 ?? NO_FILES : innerFiles;
|
|
2077
|
-
const [rejections, setRejections] =
|
|
2078
|
-
const [announcement, setAnnouncement] =
|
|
2079
|
-
const [dragging, setDragging] =
|
|
2096
|
+
const [rejections, setRejections] = useState10([]);
|
|
2097
|
+
const [announcement, setAnnouncement] = useState10("");
|
|
2098
|
+
const [dragging, setDragging] = useState10(false);
|
|
2080
2099
|
const generatedId = useId9();
|
|
2081
2100
|
const baseId = id ?? generatedId;
|
|
2082
2101
|
const labelId = label6 ? `${baseId}-label` : void 0;
|
|
@@ -2087,7 +2106,7 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
|
|
|
2087
2106
|
const removeButtonRefs = useRef11([]);
|
|
2088
2107
|
const focusAfterRemove = useRef11(null);
|
|
2089
2108
|
const announceTimer = useRef11(void 0);
|
|
2090
|
-
|
|
2109
|
+
useEffect9(() => () => clearTimeout(announceTimer.current), []);
|
|
2091
2110
|
const selectLabel = m.fileSelect ?? "\uD30C\uC77C \uC120\uD0DD";
|
|
2092
2111
|
const reasonText = (rejection) => {
|
|
2093
2112
|
const fileName2 = rejection.file.name;
|
|
@@ -2135,13 +2154,13 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
|
|
|
2135
2154
|
setRejections([]);
|
|
2136
2155
|
commit(next, m.fileRemoved?.(removed.name) ?? `${removed.name} \uC0AD\uC81C\uB428`, REMOVED_ANNOUNCE_DELAY);
|
|
2137
2156
|
};
|
|
2138
|
-
|
|
2157
|
+
useEffect9(() => {
|
|
2139
2158
|
if (focusAfterRemove.current === null) return;
|
|
2140
2159
|
const target = focusAfterRemove.current;
|
|
2141
2160
|
focusAfterRemove.current = null;
|
|
2142
2161
|
(target >= 0 ? removeButtonRefs.current[target] : selectButtonRef.current)?.focus();
|
|
2143
2162
|
}, [files]);
|
|
2144
|
-
|
|
2163
|
+
useEffect9(() => {
|
|
2145
2164
|
const input6 = inputRef.current;
|
|
2146
2165
|
if (!name || !input6 || typeof DataTransfer === "undefined") return;
|
|
2147
2166
|
try {
|
|
@@ -2156,12 +2175,12 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
|
|
|
2156
2175
|
event.preventDefault();
|
|
2157
2176
|
setDragging(over);
|
|
2158
2177
|
};
|
|
2159
|
-
return /* @__PURE__ */
|
|
2160
|
-
label6 && /* @__PURE__ */
|
|
2178
|
+
return /* @__PURE__ */ jsxs22("div", { ref, className: cx(field, root8, className), children: [
|
|
2179
|
+
label6 && /* @__PURE__ */ jsxs22("span", { id: labelId, className: label, children: [
|
|
2161
2180
|
label6,
|
|
2162
2181
|
required && /* @__PURE__ */ jsx26("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2163
2182
|
] }),
|
|
2164
|
-
/* @__PURE__ */
|
|
2183
|
+
/* @__PURE__ */ jsxs22(
|
|
2165
2184
|
"div",
|
|
2166
2185
|
{
|
|
2167
2186
|
role: "group",
|
|
@@ -2219,7 +2238,7 @@ var FileUpload = /* @__PURE__ */ forwardRef22(function FileUpload2(props, ref) {
|
|
|
2219
2238
|
]
|
|
2220
2239
|
}
|
|
2221
2240
|
),
|
|
2222
|
-
files.length > 0 && /* @__PURE__ */ jsx26("ul", { "aria-label": m.fileList ?? "\uC120\uD0DD\uD55C \uD30C\uC77C", className: list4, children: files.map((file, index) => /* @__PURE__ */
|
|
2241
|
+
files.length > 0 && /* @__PURE__ */ jsx26("ul", { "aria-label": m.fileList ?? "\uC120\uD0DD\uD55C \uD30C\uC77C", className: list4, children: files.map((file, index) => /* @__PURE__ */ jsxs22("li", { className: item5, children: [
|
|
2223
2242
|
/* @__PURE__ */ jsx26("span", { className: fileIcon, "aria-hidden": true, children: /* @__PURE__ */ jsx26(FileIcon, { size: 16 }) }),
|
|
2224
2243
|
/* @__PURE__ */ jsx26("span", { className: fileName, children: file.name }),
|
|
2225
2244
|
/* @__PURE__ */ jsx26("span", { id: `${baseId}-size-${index}`, className: fileSize, children: formatSize(file.size) }),
|
|
@@ -2264,7 +2283,7 @@ var subChevron = "_1d7ahuxb";
|
|
|
2264
2283
|
var subTrigger = "_1d7ahuxa";
|
|
2265
2284
|
|
|
2266
2285
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
2267
|
-
import { jsx as jsx27, jsxs as
|
|
2286
|
+
import { jsx as jsx27, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
2268
2287
|
var DropdownMenu = RadixMenu.Root;
|
|
2269
2288
|
var DropdownMenuTrigger = RadixMenu.Trigger;
|
|
2270
2289
|
var DropdownMenuGroup = RadixMenu.Group;
|
|
@@ -2288,7 +2307,7 @@ var DropdownMenuContent = /* @__PURE__ */ forwardRef23(
|
|
|
2288
2307
|
);
|
|
2289
2308
|
var DropdownMenuItem = /* @__PURE__ */ forwardRef23(
|
|
2290
2309
|
function DropdownMenuItem2({ icon: icon7, shortcut: shortcut2, color = "neutral", className, children, ...rest }, ref) {
|
|
2291
|
-
return /* @__PURE__ */
|
|
2310
|
+
return /* @__PURE__ */ jsxs23(RadixMenu.Item, { ref, className: cx(item6, color === "danger" && danger, className), ...rest, children: [
|
|
2292
2311
|
icon7 && /* @__PURE__ */ jsx27("span", { className: icon4, "aria-hidden": true, children: icon7 }),
|
|
2293
2312
|
children,
|
|
2294
2313
|
shortcut2 && /* @__PURE__ */ jsx27("span", { className: shortcut, "aria-hidden": true, children: shortcut2 })
|
|
@@ -2307,7 +2326,7 @@ var DropdownMenuSeparator = /* @__PURE__ */ forwardRef23(
|
|
|
2307
2326
|
);
|
|
2308
2327
|
var DropdownMenuCheckboxItem = /* @__PURE__ */ forwardRef23(
|
|
2309
2328
|
function DropdownMenuCheckboxItem2({ className, children, ...rest }, ref) {
|
|
2310
|
-
return /* @__PURE__ */
|
|
2329
|
+
return /* @__PURE__ */ jsxs23(RadixMenu.CheckboxItem, { ref, className: cx(item6, className), ...rest, children: [
|
|
2311
2330
|
/* @__PURE__ */ jsx27("span", { className: indicator, "aria-hidden": true, children: /* @__PURE__ */ jsx27(RadixMenu.ItemIndicator, { className: indicatorInner, children: rest.checked === "indeterminate" ? /* @__PURE__ */ jsx27(MinusIcon, { size: 16 }) : /* @__PURE__ */ jsx27(CheckIcon2, { size: 16 }) }) }),
|
|
2312
2331
|
children
|
|
2313
2332
|
] });
|
|
@@ -2316,7 +2335,7 @@ var DropdownMenuCheckboxItem = /* @__PURE__ */ forwardRef23(
|
|
|
2316
2335
|
var DropdownMenuRadioGroup = RadixMenu.RadioGroup;
|
|
2317
2336
|
var DropdownMenuRadioItem = /* @__PURE__ */ forwardRef23(
|
|
2318
2337
|
function DropdownMenuRadioItem2({ className, children, ...rest }, ref) {
|
|
2319
|
-
return /* @__PURE__ */
|
|
2338
|
+
return /* @__PURE__ */ jsxs23(RadixMenu.RadioItem, { ref, className: cx(item6, className), ...rest, children: [
|
|
2320
2339
|
/* @__PURE__ */ jsx27("span", { className: indicator, "aria-hidden": true, children: /* @__PURE__ */ jsx27(RadixMenu.ItemIndicator, { className: indicatorInner, children: /* @__PURE__ */ jsx27("span", { className: radioDot }) }) }),
|
|
2321
2340
|
children
|
|
2322
2341
|
] });
|
|
@@ -2325,7 +2344,7 @@ var DropdownMenuRadioItem = /* @__PURE__ */ forwardRef23(
|
|
|
2325
2344
|
var DropdownMenuSub = RadixMenu.Sub;
|
|
2326
2345
|
var DropdownMenuSubTrigger = /* @__PURE__ */ forwardRef23(
|
|
2327
2346
|
function DropdownMenuSubTrigger2({ icon: icon7, className, children, ...rest }, ref) {
|
|
2328
|
-
return /* @__PURE__ */
|
|
2347
|
+
return /* @__PURE__ */ jsxs23(RadixMenu.SubTrigger, { ref, className: cx(item6, subTrigger, className), ...rest, children: [
|
|
2329
2348
|
icon7 && /* @__PURE__ */ jsx27("span", { className: icon4, "aria-hidden": true, children: icon7 }),
|
|
2330
2349
|
children,
|
|
2331
2350
|
/* @__PURE__ */ jsx27("span", { className: subChevron, "aria-hidden": true, children: /* @__PURE__ */ jsx27(ChevronRightIcon3, { size: 16 }) })
|
|
@@ -2351,7 +2370,7 @@ var DropdownMenuSubContent = /* @__PURE__ */ forwardRef23(
|
|
|
2351
2370
|
);
|
|
2352
2371
|
|
|
2353
2372
|
// src/components/NumberInput/NumberInput.tsx
|
|
2354
|
-
import { forwardRef as forwardRef24, useEffect as
|
|
2373
|
+
import { forwardRef as forwardRef24, useEffect as useEffect10, useId as useId10, useRef as useRef12, useState as useState11 } from "react";
|
|
2355
2374
|
import { MinusIcon as MinusIcon2, PlusIcon } from "@bestow-ui/icons";
|
|
2356
2375
|
|
|
2357
2376
|
// src/components/NumberInput/NumberInput.css.ts
|
|
@@ -2362,7 +2381,7 @@ var stepper = /* @__PURE__ */ _7a46811({ defaultClassName: "_1vq2qhv3", variantC
|
|
|
2362
2381
|
var unit = "_1vq2qhv2";
|
|
2363
2382
|
|
|
2364
2383
|
// src/components/NumberInput/NumberInput.tsx
|
|
2365
|
-
import { Fragment as
|
|
2384
|
+
import { Fragment as Fragment6, jsx as jsx28, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2366
2385
|
var MAX_DIGITS2 = 15;
|
|
2367
2386
|
var isMeaningful = (char) => /[\d.-]/.test(char);
|
|
2368
2387
|
var decimalsOf = (n) => Number.isFinite(n) ? String(n).split(".")[1]?.length ?? 0 : 0;
|
|
@@ -2431,7 +2450,7 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
|
|
|
2431
2450
|
inputRef
|
|
2432
2451
|
});
|
|
2433
2452
|
const { setRaw } = field4;
|
|
2434
|
-
|
|
2453
|
+
useEffect10(() => {
|
|
2435
2454
|
if (!isControlled) return;
|
|
2436
2455
|
const next = value3 ?? null;
|
|
2437
2456
|
lastEmitted.current = next;
|
|
@@ -2439,7 +2458,7 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
|
|
|
2439
2458
|
}, [value3]);
|
|
2440
2459
|
const current2 = parse(field4.raw);
|
|
2441
2460
|
const valueText = (n) => `${format2(toRaw(n))}${unit2 ?? ""}`;
|
|
2442
|
-
const [announcement, setAnnouncement] =
|
|
2461
|
+
const [announcement, setAnnouncement] = useState11("");
|
|
2443
2462
|
const setValue = (next, announce = true) => {
|
|
2444
2463
|
setRaw(toRaw(next));
|
|
2445
2464
|
emit(next);
|
|
@@ -2487,7 +2506,7 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
|
|
|
2487
2506
|
children: direction < 0 ? /* @__PURE__ */ jsx28(MinusIcon2, {}) : /* @__PURE__ */ jsx28(PlusIcon, {})
|
|
2488
2507
|
}
|
|
2489
2508
|
);
|
|
2490
|
-
return /* @__PURE__ */
|
|
2509
|
+
return /* @__PURE__ */ jsxs24(Fragment6, { children: [
|
|
2491
2510
|
/* @__PURE__ */ jsx28(
|
|
2492
2511
|
TextField,
|
|
2493
2512
|
{
|
|
@@ -2516,7 +2535,7 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
|
|
|
2516
2535
|
disabled,
|
|
2517
2536
|
readOnly,
|
|
2518
2537
|
startAdornment: hideStepper ? void 0 : stepper2(-1),
|
|
2519
|
-
endAdornment: unit2 || !hideStepper ? /* @__PURE__ */
|
|
2538
|
+
endAdornment: unit2 || !hideStepper ? /* @__PURE__ */ jsxs24("span", { className: end, children: [
|
|
2520
2539
|
unit2 && /* @__PURE__ */ jsx28("span", { className: unit, children: unit2 }),
|
|
2521
2540
|
!hideStepper && stepper2(1)
|
|
2522
2541
|
] }) : void 0,
|
|
@@ -2532,7 +2551,7 @@ var NumberInput = /* @__PURE__ */ forwardRef24(
|
|
|
2532
2551
|
|
|
2533
2552
|
// src/components/Pagination/Pagination.tsx
|
|
2534
2553
|
import { ChevronLeftIcon as ChevronLeftIcon2, ChevronRightIcon as ChevronRightIcon4 } from "@bestow-ui/icons";
|
|
2535
|
-
import { forwardRef as forwardRef25, useState as
|
|
2554
|
+
import { forwardRef as forwardRef25, useState as useState12 } from "react";
|
|
2536
2555
|
|
|
2537
2556
|
// src/components/Pagination/getPaginationItems.ts
|
|
2538
2557
|
var range = (start, end2) => end2 < start ? [] : Array.from({ length: end2 - start + 1 }, (_, i) => start + i);
|
|
@@ -2565,7 +2584,7 @@ var item7 = /* @__PURE__ */ _7a46812({ defaultClassName: "_1iraoak1", variantCla
|
|
|
2565
2584
|
var list5 = "_1iraoak0";
|
|
2566
2585
|
|
|
2567
2586
|
// src/components/Pagination/Pagination.tsx
|
|
2568
|
-
import { jsx as jsx29, jsxs as
|
|
2587
|
+
import { jsx as jsx29, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2569
2588
|
var Pagination = /* @__PURE__ */ forwardRef25(function Pagination2({
|
|
2570
2589
|
totalPages,
|
|
2571
2590
|
page: pageProp,
|
|
@@ -2579,7 +2598,7 @@ var Pagination = /* @__PURE__ */ forwardRef25(function Pagination2({
|
|
|
2579
2598
|
"aria-label": ariaLabelProp,
|
|
2580
2599
|
...rest
|
|
2581
2600
|
}, ref) {
|
|
2582
|
-
const [uncontrolledPage, setUncontrolledPage] =
|
|
2601
|
+
const [uncontrolledPage, setUncontrolledPage] = useState12(defaultPage);
|
|
2583
2602
|
const m = useMessages();
|
|
2584
2603
|
const ariaLabel = ariaLabelProp ?? m.pagination ?? "\uD398\uC774\uC9C0 \uD0D0\uC0C9";
|
|
2585
2604
|
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`);
|
|
@@ -2591,7 +2610,7 @@ var Pagination = /* @__PURE__ */ forwardRef25(function Pagination2({
|
|
|
2591
2610
|
onPageChange?.(next);
|
|
2592
2611
|
};
|
|
2593
2612
|
const itemClass = item7({ size });
|
|
2594
|
-
return /* @__PURE__ */ jsx29("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */
|
|
2613
|
+
return /* @__PURE__ */ jsx29("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ jsxs25("ul", { className: list5, children: [
|
|
2595
2614
|
/* @__PURE__ */ jsx29("li", { children: /* @__PURE__ */ jsx29(
|
|
2596
2615
|
"button",
|
|
2597
2616
|
{
|
|
@@ -2685,7 +2704,7 @@ var PhoneNumberInput = /* @__PURE__ */ forwardRef26(
|
|
|
2685
2704
|
);
|
|
2686
2705
|
|
|
2687
2706
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
2688
|
-
import { forwardRef as forwardRef27, useId as useId11, useState as
|
|
2707
|
+
import { forwardRef as forwardRef27, useId as useId11, useState as useState13 } from "react";
|
|
2689
2708
|
|
|
2690
2709
|
// src/components/RadioGroup/RadioGroup.css.ts
|
|
2691
2710
|
import { createRuntimeFn as _7a46813 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
@@ -2698,7 +2717,7 @@ var radio = /* @__PURE__ */ _7a46813({ defaultClassName: "_1w9iwjm7", variantCla
|
|
|
2698
2717
|
var text = "_1w9iwjma";
|
|
2699
2718
|
|
|
2700
2719
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
2701
|
-
import { jsx as jsx31, jsxs as
|
|
2720
|
+
import { jsx as jsx31, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
2702
2721
|
var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref) {
|
|
2703
2722
|
const {
|
|
2704
2723
|
options,
|
|
@@ -2718,7 +2737,7 @@ var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref)
|
|
|
2718
2737
|
className
|
|
2719
2738
|
} = props;
|
|
2720
2739
|
const isControlled = "value" in props;
|
|
2721
|
-
const [innerValue, setInnerValue] =
|
|
2740
|
+
const [innerValue, setInnerValue] = useState13(defaultValue ?? "");
|
|
2722
2741
|
const current2 = isControlled ? value3 ?? "" : innerValue;
|
|
2723
2742
|
const generatedId = useId11();
|
|
2724
2743
|
const baseId = id ?? generatedId;
|
|
@@ -2731,8 +2750,8 @@ var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref)
|
|
|
2731
2750
|
if (!isControlled) setInnerValue(next);
|
|
2732
2751
|
onValueChange?.(next);
|
|
2733
2752
|
};
|
|
2734
|
-
return /* @__PURE__ */
|
|
2735
|
-
label6 && /* @__PURE__ */
|
|
2753
|
+
return /* @__PURE__ */ jsxs26("div", { className: cx(field, className), children: [
|
|
2754
|
+
label6 && /* @__PURE__ */ jsxs26("span", { id: labelId, className: cx(label, groupLabel), children: [
|
|
2736
2755
|
label6,
|
|
2737
2756
|
required && /* @__PURE__ */ jsx31("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2738
2757
|
] }),
|
|
@@ -2754,7 +2773,7 @@ var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref)
|
|
|
2754
2773
|
const descriptionId = option2.description ? `${itemId}-description` : void 0;
|
|
2755
2774
|
const itemDisabled = disabled || option2.disabled;
|
|
2756
2775
|
const checked = option2.value === current2;
|
|
2757
|
-
return /* @__PURE__ */
|
|
2776
|
+
return /* @__PURE__ */ jsxs26("div", { className: option({ size }), "data-disabled": itemDisabled || void 0, children: [
|
|
2758
2777
|
/* @__PURE__ */ jsx31(
|
|
2759
2778
|
"input",
|
|
2760
2779
|
{
|
|
@@ -2772,7 +2791,7 @@ var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref)
|
|
|
2772
2791
|
className: radio({ size })
|
|
2773
2792
|
}
|
|
2774
2793
|
),
|
|
2775
|
-
/* @__PURE__ */
|
|
2794
|
+
/* @__PURE__ */ jsxs26("span", { className: text, children: [
|
|
2776
2795
|
/* @__PURE__ */ jsx31("label", { htmlFor: itemId, className: labelText, children: option2.label }),
|
|
2777
2796
|
option2.description && /* @__PURE__ */ jsx31("span", { id: descriptionId, className: description4, children: option2.description })
|
|
2778
2797
|
] })
|
|
@@ -2785,7 +2804,7 @@ var RadioGroup2 = /* @__PURE__ */ forwardRef27(function RadioGroup3(props, ref)
|
|
|
2785
2804
|
});
|
|
2786
2805
|
|
|
2787
2806
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
2788
|
-
import { forwardRef as forwardRef28, useId as useId12, useRef as useRef14, useState as
|
|
2807
|
+
import { forwardRef as forwardRef28, useId as useId12, useRef as useRef14, useState as useState14 } from "react";
|
|
2789
2808
|
|
|
2790
2809
|
// src/components/SegmentedControl/SegmentedControl.css.ts
|
|
2791
2810
|
import { createRuntimeFn as _7a46814 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
@@ -2794,7 +2813,7 @@ var item8 = /* @__PURE__ */ _7a46814({ defaultClassName: "_1h65mmo2", variantCla
|
|
|
2794
2813
|
var root9 = /* @__PURE__ */ _7a46814({ defaultClassName: "_1h65mmo0", variantClassNames: { fullWidth: { true: "_1h65mmo1" } }, defaultVariants: {}, compoundVariants: [] });
|
|
2795
2814
|
|
|
2796
2815
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
2797
|
-
import { jsx as jsx32, jsxs as
|
|
2816
|
+
import { jsx as jsx32, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
2798
2817
|
var NEXT_KEYS = { ArrowRight: 1, ArrowDown: 1, ArrowLeft: -1, ArrowUp: -1 };
|
|
2799
2818
|
var SegmentedControl = /* @__PURE__ */ forwardRef28(
|
|
2800
2819
|
function SegmentedControl2(props, ref) {
|
|
@@ -2813,7 +2832,7 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
|
|
|
2813
2832
|
className
|
|
2814
2833
|
} = props;
|
|
2815
2834
|
const isControlled = "value" in props;
|
|
2816
|
-
const [innerValue, setInnerValue] =
|
|
2835
|
+
const [innerValue, setInnerValue] = useState14(defaultValue ?? "");
|
|
2817
2836
|
const current2 = isControlled ? value3 ?? "" : innerValue;
|
|
2818
2837
|
const generatedId = useId12();
|
|
2819
2838
|
const labelId = label6 ? `${id ?? generatedId}-label` : void 0;
|
|
@@ -2848,7 +2867,7 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
|
|
|
2848
2867
|
itemRefs.current[target]?.focus();
|
|
2849
2868
|
select2(target);
|
|
2850
2869
|
};
|
|
2851
|
-
const group = /* @__PURE__ */
|
|
2870
|
+
const group = /* @__PURE__ */ jsxs27(
|
|
2852
2871
|
"div",
|
|
2853
2872
|
{
|
|
2854
2873
|
ref,
|
|
@@ -2861,7 +2880,7 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
|
|
|
2861
2880
|
children: [
|
|
2862
2881
|
options.map((option2, index) => {
|
|
2863
2882
|
const checked = index === checkedIndex;
|
|
2864
|
-
return /* @__PURE__ */
|
|
2883
|
+
return /* @__PURE__ */ jsxs27(
|
|
2865
2884
|
"button",
|
|
2866
2885
|
{
|
|
2867
2886
|
ref: (node) => {
|
|
@@ -2890,7 +2909,7 @@ var SegmentedControl = /* @__PURE__ */ forwardRef28(
|
|
|
2890
2909
|
}
|
|
2891
2910
|
);
|
|
2892
2911
|
if (!label6) return group;
|
|
2893
|
-
return /* @__PURE__ */
|
|
2912
|
+
return /* @__PURE__ */ jsxs27("div", { className: cx(field, className), children: [
|
|
2894
2913
|
/* @__PURE__ */ jsx32("span", { id: labelId, className: label, children: label6 }),
|
|
2895
2914
|
group
|
|
2896
2915
|
] });
|
|
@@ -2908,7 +2927,7 @@ var select = /* @__PURE__ */ _7a46815({ defaultClassName: "_5silym1", variantCla
|
|
|
2908
2927
|
var wrapper = "_5silym0";
|
|
2909
2928
|
|
|
2910
2929
|
// src/components/NativeSelect/NativeSelect.tsx
|
|
2911
|
-
import { jsx as jsx33, jsxs as
|
|
2930
|
+
import { jsx as jsx33, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
2912
2931
|
var NativeSelect = /* @__PURE__ */ forwardRef29(function NativeSelect2({
|
|
2913
2932
|
options,
|
|
2914
2933
|
onValueChange,
|
|
@@ -2936,19 +2955,19 @@ var NativeSelect = /* @__PURE__ */ forwardRef29(function NativeSelect2({
|
|
|
2936
2955
|
onChange?.(event);
|
|
2937
2956
|
onValueChange?.(event.target.value);
|
|
2938
2957
|
};
|
|
2939
|
-
return /* @__PURE__ */
|
|
2940
|
-
label6 && /* @__PURE__ */
|
|
2958
|
+
return /* @__PURE__ */ jsxs28("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
2959
|
+
label6 && /* @__PURE__ */ jsxs28("label", { htmlFor: selectId, className: label, children: [
|
|
2941
2960
|
label6,
|
|
2942
2961
|
required && /* @__PURE__ */ jsx33("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2943
2962
|
] }),
|
|
2944
|
-
/* @__PURE__ */
|
|
2963
|
+
/* @__PURE__ */ jsxs28(
|
|
2945
2964
|
"span",
|
|
2946
2965
|
{
|
|
2947
2966
|
className: cx(root3({ size, fullWidth }), wrapper),
|
|
2948
2967
|
"data-invalid": error || void 0,
|
|
2949
2968
|
"data-disabled": disabled || void 0,
|
|
2950
2969
|
children: [
|
|
2951
|
-
/* @__PURE__ */
|
|
2970
|
+
/* @__PURE__ */ jsxs28(
|
|
2952
2971
|
"select",
|
|
2953
2972
|
{
|
|
2954
2973
|
ref,
|
|
@@ -2980,7 +2999,7 @@ var NativeSelect = /* @__PURE__ */ forwardRef29(function NativeSelect2({
|
|
|
2980
2999
|
import * as RadixSelect from "@radix-ui/react-select";
|
|
2981
3000
|
import { forwardRef as forwardRef30, useId as useId14 } from "react";
|
|
2982
3001
|
import { CheckIcon as CheckIcon3, ChevronDownIcon as ChevronDownIcon5 } from "@bestow-ui/icons";
|
|
2983
|
-
import { jsx as jsx34, jsxs as
|
|
3002
|
+
import { jsx as jsx34, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
2984
3003
|
var Select = /* @__PURE__ */ forwardRef30(function Select2(props, ref) {
|
|
2985
3004
|
const {
|
|
2986
3005
|
options,
|
|
@@ -3005,12 +3024,12 @@ var Select = /* @__PURE__ */ forwardRef30(function Select2(props, ref) {
|
|
|
3005
3024
|
const triggerId = id ?? generatedId;
|
|
3006
3025
|
const helperId = helperText3 ? `${triggerId}-helper` : void 0;
|
|
3007
3026
|
const portal2 = usePortalProps();
|
|
3008
|
-
return /* @__PURE__ */
|
|
3009
|
-
label6 && /* @__PURE__ */
|
|
3027
|
+
return /* @__PURE__ */ jsxs29("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
3028
|
+
label6 && /* @__PURE__ */ jsxs29("label", { htmlFor: triggerId, className: label, children: [
|
|
3010
3029
|
label6,
|
|
3011
3030
|
required && /* @__PURE__ */ jsx34("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
3012
3031
|
] }),
|
|
3013
|
-
/* @__PURE__ */
|
|
3032
|
+
/* @__PURE__ */ jsxs29(
|
|
3014
3033
|
RadixSelect.Root,
|
|
3015
3034
|
{
|
|
3016
3035
|
value: isControlled ? value3 ?? "" : void 0,
|
|
@@ -3020,7 +3039,7 @@ var Select = /* @__PURE__ */ forwardRef30(function Select2(props, ref) {
|
|
|
3020
3039
|
required,
|
|
3021
3040
|
name,
|
|
3022
3041
|
children: [
|
|
3023
|
-
/* @__PURE__ */
|
|
3042
|
+
/* @__PURE__ */ jsxs29(
|
|
3024
3043
|
RadixSelect.Trigger,
|
|
3025
3044
|
{
|
|
3026
3045
|
ref,
|
|
@@ -3044,7 +3063,7 @@ var Select = /* @__PURE__ */ forwardRef30(function Select2(props, ref) {
|
|
|
3044
3063
|
collisionPadding: 8,
|
|
3045
3064
|
className: cx(portal2.className, content5),
|
|
3046
3065
|
style: portal2.style,
|
|
3047
|
-
children: /* @__PURE__ */ jsx34(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */
|
|
3066
|
+
children: /* @__PURE__ */ jsx34(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */ jsxs29(
|
|
3048
3067
|
RadixSelect.Item,
|
|
3049
3068
|
{
|
|
3050
3069
|
value: option2.value,
|
|
@@ -3091,7 +3110,7 @@ var SkipLink = /* @__PURE__ */ forwardRef31(function SkipLink2({ href = "#main",
|
|
|
3091
3110
|
|
|
3092
3111
|
// src/components/Slider/Slider.tsx
|
|
3093
3112
|
import * as RadixSlider from "@radix-ui/react-slider";
|
|
3094
|
-
import { forwardRef as forwardRef32, useId as useId15, useState as
|
|
3113
|
+
import { forwardRef as forwardRef32, useId as useId15, useState as useState15 } from "react";
|
|
3095
3114
|
|
|
3096
3115
|
// src/components/Slider/Slider.css.ts
|
|
3097
3116
|
import { createRuntimeFn as _7a46816 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
@@ -3106,7 +3125,7 @@ var track = /* @__PURE__ */ _7a46816({ defaultClassName: "_126mzjm8", variantCla
|
|
|
3106
3125
|
var value2 = "_126mzjm3";
|
|
3107
3126
|
|
|
3108
3127
|
// src/components/Slider/Slider.tsx
|
|
3109
|
-
import { jsx as jsx36, jsxs as
|
|
3128
|
+
import { jsx as jsx36, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3110
3129
|
var Slider = /* @__PURE__ */ forwardRef32(function Slider2(props, ref) {
|
|
3111
3130
|
const {
|
|
3112
3131
|
value: value3,
|
|
@@ -3133,7 +3152,7 @@ var Slider = /* @__PURE__ */ forwardRef32(function Slider2(props, ref) {
|
|
|
3133
3152
|
const labelId = `${baseId}-label`;
|
|
3134
3153
|
const helperId = `${baseId}-helper`;
|
|
3135
3154
|
const isControlled = "value" in props;
|
|
3136
|
-
const [innerValue, setInnerValue] =
|
|
3155
|
+
const [innerValue, setInnerValue] = useState15(defaultValue ?? [min]);
|
|
3137
3156
|
const current2 = isControlled ? value3 ?? [min] : innerValue;
|
|
3138
3157
|
const isRange = current2.length > 1;
|
|
3139
3158
|
const handleChange = (next) => {
|
|
@@ -3141,12 +3160,12 @@ var Slider = /* @__PURE__ */ forwardRef32(function Slider2(props, ref) {
|
|
|
3141
3160
|
onValueChange?.(next);
|
|
3142
3161
|
};
|
|
3143
3162
|
const valueText = current2.map(formatValue).join(" \u2013 ");
|
|
3144
|
-
return /* @__PURE__ */
|
|
3145
|
-
(label6 || showValue) && /* @__PURE__ */
|
|
3163
|
+
return /* @__PURE__ */ jsxs30("div", { className: cx(field3, className), children: [
|
|
3164
|
+
(label6 || showValue) && /* @__PURE__ */ jsxs30("div", { className: header6, children: [
|
|
3146
3165
|
label6 && /* @__PURE__ */ jsx36("span", { id: labelId, className: label3, children: label6 }),
|
|
3147
3166
|
showValue && /* @__PURE__ */ jsx36("span", { className: value2, "aria-hidden": true, children: valueText })
|
|
3148
3167
|
] }),
|
|
3149
|
-
/* @__PURE__ */
|
|
3168
|
+
/* @__PURE__ */ jsxs30(
|
|
3150
3169
|
RadixSlider.Root,
|
|
3151
3170
|
{
|
|
3152
3171
|
ref,
|
|
@@ -3177,7 +3196,7 @@ var Slider = /* @__PURE__ */ forwardRef32(function Slider2(props, ref) {
|
|
|
3177
3196
|
]
|
|
3178
3197
|
}
|
|
3179
3198
|
),
|
|
3180
|
-
isRange && current2.map((_, index) => /* @__PURE__ */
|
|
3199
|
+
isRange && current2.map((_, index) => /* @__PURE__ */ jsxs30("span", { id: `${baseId}-thumb-${index}`, hidden: true, children: [
|
|
3181
3200
|
label6 ? "" : ariaLabel ? `${ariaLabel} ` : "",
|
|
3182
3201
|
thumbLabels[index] ?? `${index + 1}`
|
|
3183
3202
|
] }, index)),
|
|
@@ -3199,7 +3218,7 @@ var step = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhm3", variantClassN
|
|
|
3199
3218
|
var text2 = /* @__PURE__ */ _7a46817({ defaultClassName: "kervhma", variantClassNames: { orientation: { horizontal: "kervhmb", vertical: "kervhmc" } }, defaultVariants: {}, compoundVariants: [] });
|
|
3200
3219
|
|
|
3201
3220
|
// src/components/Stepper/Stepper.tsx
|
|
3202
|
-
import { jsx as jsx37, jsxs as
|
|
3221
|
+
import { jsx as jsx37, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
3203
3222
|
var Stepper = /* @__PURE__ */ forwardRef33(function Stepper2({ steps, current: current2, orientation = "horizontal", "aria-label": ariaLabel, className, ...rest }, ref) {
|
|
3204
3223
|
const m = useMessages();
|
|
3205
3224
|
return /* @__PURE__ */ jsx37(
|
|
@@ -3211,7 +3230,7 @@ var Stepper = /* @__PURE__ */ forwardRef33(function Stepper2({ steps, current: c
|
|
|
3211
3230
|
...rest,
|
|
3212
3231
|
children: steps.map((step2, index) => {
|
|
3213
3232
|
const status = index < current2 ? "complete" : index === current2 ? "current" : "upcoming";
|
|
3214
|
-
return /* @__PURE__ */
|
|
3233
|
+
return /* @__PURE__ */ jsxs31(
|
|
3215
3234
|
"li",
|
|
3216
3235
|
{
|
|
3217
3236
|
className: step({ orientation }),
|
|
@@ -3219,10 +3238,10 @@ var Stepper = /* @__PURE__ */ forwardRef33(function Stepper2({ steps, current: c
|
|
|
3219
3238
|
"aria-current": status === "current" ? "step" : void 0,
|
|
3220
3239
|
children: [
|
|
3221
3240
|
/* @__PURE__ */ jsx37("span", { className: indicator2({ status }), "aria-hidden": true, children: status === "complete" ? /* @__PURE__ */ jsx37(CheckIcon4, { size: 16, strokeWidth: 2.5 }) : index + 1 }),
|
|
3222
|
-
/* @__PURE__ */
|
|
3223
|
-
/* @__PURE__ */
|
|
3241
|
+
/* @__PURE__ */ jsxs31("span", { className: text2({ orientation }), children: [
|
|
3242
|
+
/* @__PURE__ */ jsxs31("span", { className: label4({ status }), children: [
|
|
3224
3243
|
step2.label,
|
|
3225
|
-
status === "complete" && /* @__PURE__ */
|
|
3244
|
+
status === "complete" && /* @__PURE__ */ jsxs31("span", { className: visuallyHidden, children: [
|
|
3226
3245
|
" (",
|
|
3227
3246
|
m.stepCompleted ?? "\uC644\uB8CC",
|
|
3228
3247
|
")"
|
|
@@ -3240,7 +3259,7 @@ var Stepper = /* @__PURE__ */ forwardRef33(function Stepper2({ steps, current: c
|
|
|
3240
3259
|
});
|
|
3241
3260
|
|
|
3242
3261
|
// src/components/Switch/Switch.tsx
|
|
3243
|
-
import { forwardRef as forwardRef34, useEffect as
|
|
3262
|
+
import { forwardRef as forwardRef34, useEffect as useEffect11, useId as useId16, useRef as useRef15, useState as useState16 } from "react";
|
|
3244
3263
|
|
|
3245
3264
|
// src/components/Switch/Switch.css.ts
|
|
3246
3265
|
import { createRuntimeFn as _7a46818 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
@@ -3251,7 +3270,7 @@ var thumb2 = /* @__PURE__ */ _7a46818({ defaultClassName: "o33ul26", variantClas
|
|
|
3251
3270
|
var track2 = /* @__PURE__ */ _7a46818({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3252
3271
|
|
|
3253
3272
|
// src/components/Switch/Switch.tsx
|
|
3254
|
-
import { jsx as jsx38, jsxs as
|
|
3273
|
+
import { jsx as jsx38, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
3255
3274
|
function setNativeChecked(input6, checked) {
|
|
3256
3275
|
Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "checked")?.set?.call(input6, checked);
|
|
3257
3276
|
}
|
|
@@ -3271,12 +3290,12 @@ var Switch = /* @__PURE__ */ forwardRef34(function Switch2({
|
|
|
3271
3290
|
}, ref) {
|
|
3272
3291
|
const generatedId = useId16();
|
|
3273
3292
|
const switchId = id ?? generatedId;
|
|
3274
|
-
const [uncontrolled, setUncontrolled] =
|
|
3293
|
+
const [uncontrolled, setUncontrolled] = useState16(defaultChecked ?? false);
|
|
3275
3294
|
const isControlled = checkedProp !== void 0;
|
|
3276
3295
|
const checked = isControlled ? checkedProp : uncontrolled;
|
|
3277
3296
|
const buttonRef = useRef15(null);
|
|
3278
3297
|
const inputRef = useRef15(null);
|
|
3279
|
-
const [inForm, setInForm] =
|
|
3298
|
+
const [inForm, setInForm] = useState16(true);
|
|
3280
3299
|
const userToggled = useRef15(false);
|
|
3281
3300
|
const setChecked = (next) => {
|
|
3282
3301
|
if (!isControlled) setUncontrolled(next);
|
|
@@ -3284,7 +3303,7 @@ var Switch = /* @__PURE__ */ forwardRef34(function Switch2({
|
|
|
3284
3303
|
};
|
|
3285
3304
|
const setCheckedRef = useRef15(setChecked);
|
|
3286
3305
|
setCheckedRef.current = setChecked;
|
|
3287
|
-
|
|
3306
|
+
useEffect11(() => {
|
|
3288
3307
|
const form = buttonRef.current?.form;
|
|
3289
3308
|
setInForm(!!form);
|
|
3290
3309
|
if (!form) return;
|
|
@@ -3293,7 +3312,7 @@ var Switch = /* @__PURE__ */ forwardRef34(function Switch2({
|
|
|
3293
3312
|
form.addEventListener("reset", onReset);
|
|
3294
3313
|
return () => form.removeEventListener("reset", onReset);
|
|
3295
3314
|
}, []);
|
|
3296
|
-
|
|
3315
|
+
useEffect11(() => {
|
|
3297
3316
|
const input6 = inputRef.current;
|
|
3298
3317
|
if (!input6 || input6.checked === checked) return;
|
|
3299
3318
|
setNativeChecked(input6, checked);
|
|
@@ -3306,7 +3325,7 @@ var Switch = /* @__PURE__ */ forwardRef34(function Switch2({
|
|
|
3306
3325
|
if (inForm) event.stopPropagation();
|
|
3307
3326
|
};
|
|
3308
3327
|
const state = checked ? "checked" : "unchecked";
|
|
3309
|
-
return /* @__PURE__ */
|
|
3328
|
+
return /* @__PURE__ */ jsxs32("span", { className: cx(root12({ size }), className), "data-disabled": disabled || void 0, children: [
|
|
3310
3329
|
/* @__PURE__ */ jsx38(
|
|
3311
3330
|
"button",
|
|
3312
3331
|
{
|
|
@@ -3374,7 +3393,7 @@ var striped = "l3ploy6";
|
|
|
3374
3393
|
var table = "l3ploy1";
|
|
3375
3394
|
|
|
3376
3395
|
// src/components/Table/Table.tsx
|
|
3377
|
-
import { Fragment as
|
|
3396
|
+
import { Fragment as Fragment7, jsx as jsx39, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
3378
3397
|
var TableSizeContext = /* @__PURE__ */ createContext3("md");
|
|
3379
3398
|
var TableSectionContext = /* @__PURE__ */ createContext3("body");
|
|
3380
3399
|
var Table = /* @__PURE__ */ forwardRef35(function Table2({
|
|
@@ -3399,7 +3418,7 @@ var Table = /* @__PURE__ */ forwardRef35(function Table2({
|
|
|
3399
3418
|
role: "region",
|
|
3400
3419
|
"aria-labelledby": caption2 ? captionId : void 0,
|
|
3401
3420
|
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
3402
|
-
children: /* @__PURE__ */
|
|
3421
|
+
children: /* @__PURE__ */ jsxs33(
|
|
3403
3422
|
"table",
|
|
3404
3423
|
{
|
|
3405
3424
|
ref,
|
|
@@ -3451,7 +3470,7 @@ var TableHead = /* @__PURE__ */ forwardRef35(function TableHead2({ align, sortDi
|
|
|
3451
3470
|
className
|
|
3452
3471
|
),
|
|
3453
3472
|
...rest,
|
|
3454
|
-
children: sortable ? /* @__PURE__ */
|
|
3473
|
+
children: sortable ? /* @__PURE__ */ jsxs33("button", { type: "button", className: sortButton, onClick: onSort, children: [
|
|
3455
3474
|
children,
|
|
3456
3475
|
/* @__PURE__ */ jsx39(SortIcon, { size: 14, className: sortIcon, "data-active": direction !== "none", "aria-hidden": true })
|
|
3457
3476
|
] }) : children
|
|
@@ -3474,13 +3493,13 @@ var TableEmpty = /* @__PURE__ */ forwardRef35(function TableEmpty2({ colSpan, cl
|
|
|
3474
3493
|
return /* @__PURE__ */ jsx39(TableRow, { children: /* @__PURE__ */ jsx39(TableCell, { ref, colSpan, className: cx(emptyCell, className), ...rest, children: /* @__PURE__ */ jsx39("div", { className: emptyContent, children }) }) });
|
|
3475
3494
|
});
|
|
3476
3495
|
function TableSkeleton({ rows = 5, columns }) {
|
|
3477
|
-
return /* @__PURE__ */ jsx39(
|
|
3496
|
+
return /* @__PURE__ */ jsx39(Fragment7, { children: Array.from({ length: rows }, (_, row5) => /* @__PURE__ */ jsx39(TableRow, { "aria-hidden": true, children: Array.from({ length: columns }, (_2, column) => /* @__PURE__ */ jsx39(TableCell, { children: /* @__PURE__ */ jsx39(Skeleton, { width: column === 0 ? "60%" : "80%" }) }, column)) }, row5)) });
|
|
3478
3497
|
}
|
|
3479
3498
|
|
|
3480
3499
|
// src/components/Table/useTableSelection.ts
|
|
3481
|
-
import { useCallback, useState as
|
|
3500
|
+
import { useCallback, useState as useState17 } from "react";
|
|
3482
3501
|
function useTableSelection(initial = []) {
|
|
3483
|
-
const [selected, setSelected] =
|
|
3502
|
+
const [selected, setSelected] = useState17(initial);
|
|
3484
3503
|
const isSelected = useCallback((id) => selected.includes(id), [selected]);
|
|
3485
3504
|
const toggle3 = useCallback((id, checked) => {
|
|
3486
3505
|
setSelected((prev) => {
|
|
@@ -3544,7 +3563,7 @@ import {
|
|
|
3544
3563
|
useCallback as useCallback2,
|
|
3545
3564
|
useId as useId18,
|
|
3546
3565
|
useRef as useRef16,
|
|
3547
|
-
useState as
|
|
3566
|
+
useState as useState18
|
|
3548
3567
|
} from "react";
|
|
3549
3568
|
|
|
3550
3569
|
// src/components/Textarea/Textarea.css.ts
|
|
@@ -3556,7 +3575,7 @@ var footer4 = "_1koawa8";
|
|
|
3556
3575
|
var textarea = /* @__PURE__ */ _7a46821({ defaultClassName: "_1koawa0", variantClassNames: { size: { sm: "_1koawa1", md: "_1koawa2", lg: "_1koawa3" }, resize: { none: "_1koawa4", vertical: "_1koawa5", both: "_1koawa6" } }, defaultVariants: { size: "md", resize: "vertical" }, compoundVariants: [] });
|
|
3557
3576
|
|
|
3558
3577
|
// src/components/Textarea/Textarea.tsx
|
|
3559
|
-
import { jsx as jsx41, jsxs as
|
|
3578
|
+
import { jsx as jsx41, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
3560
3579
|
var Textarea = /* @__PURE__ */ forwardRef37(function Textarea2({
|
|
3561
3580
|
label: label6,
|
|
3562
3581
|
helperText: helperText3,
|
|
@@ -3582,7 +3601,7 @@ var Textarea = /* @__PURE__ */ forwardRef37(function Textarea2({
|
|
|
3582
3601
|
const textareaId = id ?? generatedId;
|
|
3583
3602
|
const helperId = helperText3 ? `${textareaId}-helper` : void 0;
|
|
3584
3603
|
const innerRef = useRef16(null);
|
|
3585
|
-
const [uncontrolledLength, setUncontrolledLength] =
|
|
3604
|
+
const [uncontrolledLength, setUncontrolledLength] = useState18(() => String(defaultValue ?? "").length);
|
|
3586
3605
|
const length = value3 !== void 0 ? String(value3).length : uncontrolledLength;
|
|
3587
3606
|
const fitHeight = useCallback2(() => {
|
|
3588
3607
|
const el = innerRef.current;
|
|
@@ -3597,8 +3616,8 @@ var Textarea = /* @__PURE__ */ forwardRef37(function Textarea2({
|
|
|
3597
3616
|
fitHeight();
|
|
3598
3617
|
onChange?.(event);
|
|
3599
3618
|
};
|
|
3600
|
-
return /* @__PURE__ */
|
|
3601
|
-
label6 && /* @__PURE__ */
|
|
3619
|
+
return /* @__PURE__ */ jsxs34("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
3620
|
+
label6 && /* @__PURE__ */ jsxs34("label", { htmlFor: textareaId, className: label, children: [
|
|
3602
3621
|
label6,
|
|
3603
3622
|
required && /* @__PURE__ */ jsx41("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
3604
3623
|
] }),
|
|
@@ -3624,7 +3643,7 @@ var Textarea = /* @__PURE__ */ forwardRef37(function Textarea2({
|
|
|
3624
3643
|
...rest
|
|
3625
3644
|
}
|
|
3626
3645
|
),
|
|
3627
|
-
(helperText3 || showCount) && /* @__PURE__ */
|
|
3646
|
+
(helperText3 || showCount) && /* @__PURE__ */ jsxs34("div", { className: footer4, children: [
|
|
3628
3647
|
helperText3 && /* @__PURE__ */ jsx41("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
|
|
3629
3648
|
showCount && /* @__PURE__ */ jsx41("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
|
|
3630
3649
|
] })
|
|
@@ -3633,7 +3652,7 @@ var Textarea = /* @__PURE__ */ forwardRef37(function Textarea2({
|
|
|
3633
3652
|
|
|
3634
3653
|
// src/components/Toast/Toast.tsx
|
|
3635
3654
|
import * as RadixToast from "@radix-ui/react-toast";
|
|
3636
|
-
import { createContext as createContext5, useCallback as useCallback3, useContext as useContext5, useMemo as useMemo4, useRef as useRef17, useState as
|
|
3655
|
+
import { createContext as createContext5, useCallback as useCallback3, useContext as useContext5, useMemo as useMemo4, useRef as useRef17, useState as useState19 } from "react";
|
|
3637
3656
|
import { XIcon as XIcon7 } from "@bestow-ui/icons";
|
|
3638
3657
|
|
|
3639
3658
|
// src/components/Toast/Toast.css.ts
|
|
@@ -3646,13 +3665,13 @@ var toast = /* @__PURE__ */ _7a46822({ defaultClassName: "_1g11zvx1", variantCla
|
|
|
3646
3665
|
var viewport2 = "_1g11zvx0";
|
|
3647
3666
|
|
|
3648
3667
|
// src/components/Toast/Toast.tsx
|
|
3649
|
-
import { jsx as jsx42, jsxs as
|
|
3668
|
+
import { jsx as jsx42, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
3650
3669
|
var REMOVE_DELAY = 500;
|
|
3651
3670
|
var ToastContext = /* @__PURE__ */ createContext5(null);
|
|
3652
3671
|
function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
3653
3672
|
const m = useMessages();
|
|
3654
3673
|
const label6 = labelProp ?? m.notifications ?? "\uC54C\uB9BC";
|
|
3655
|
-
const [toasts, setToasts] =
|
|
3674
|
+
const [toasts, setToasts] = useState19([]);
|
|
3656
3675
|
const nextId = useRef17(0);
|
|
3657
3676
|
const portal2 = usePortalProps();
|
|
3658
3677
|
const toast2 = useCallback3((options) => {
|
|
@@ -3666,9 +3685,9 @@ function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
|
3666
3685
|
setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
|
|
3667
3686
|
}, []);
|
|
3668
3687
|
const value3 = useMemo4(() => ({ toast: toast2, dismiss }), [toast2, dismiss]);
|
|
3669
|
-
return /* @__PURE__ */ jsx42(ToastContext.Provider, { value: value3, children: /* @__PURE__ */
|
|
3688
|
+
return /* @__PURE__ */ jsx42(ToastContext.Provider, { value: value3, children: /* @__PURE__ */ jsxs35(RadixToast.Provider, { duration, label: label6, swipeDirection: "right", children: [
|
|
3670
3689
|
children,
|
|
3671
|
-
toasts.map(({ id, open, title: title6, description: description7, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */
|
|
3690
|
+
toasts.map(({ id, open, title: title6, description: description7, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */ jsxs35(
|
|
3672
3691
|
RadixToast.Root,
|
|
3673
3692
|
{
|
|
3674
3693
|
open,
|
|
@@ -3703,7 +3722,7 @@ var arrow2 = "z7rufs1";
|
|
|
3703
3722
|
var content11 = "z7rufs0";
|
|
3704
3723
|
|
|
3705
3724
|
// src/components/Tooltip/Tooltip.tsx
|
|
3706
|
-
import { jsx as jsx43, jsxs as
|
|
3725
|
+
import { jsx as jsx43, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
3707
3726
|
function Tooltip({
|
|
3708
3727
|
content: content12,
|
|
3709
3728
|
children,
|
|
@@ -3718,9 +3737,9 @@ function Tooltip({
|
|
|
3718
3737
|
}) {
|
|
3719
3738
|
const portal2 = usePortalProps();
|
|
3720
3739
|
if (disabled || content12 == null || content12 === "") return children;
|
|
3721
|
-
return /* @__PURE__ */ jsx43(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */
|
|
3740
|
+
return /* @__PURE__ */ jsx43(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ jsxs36(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
|
|
3722
3741
|
/* @__PURE__ */ jsx43(RadixTooltip.Trigger, { asChild: true, children }),
|
|
3723
|
-
/* @__PURE__ */ jsx43(RadixTooltip.Portal, { children: /* @__PURE__ */
|
|
3742
|
+
/* @__PURE__ */ jsx43(RadixTooltip.Portal, { children: /* @__PURE__ */ jsxs36(
|
|
3724
3743
|
RadixTooltip.Content,
|
|
3725
3744
|
{
|
|
3726
3745
|
side,
|
|
@@ -3739,7 +3758,7 @@ function Tooltip({
|
|
|
3739
3758
|
}
|
|
3740
3759
|
|
|
3741
3760
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
3742
|
-
import { forwardRef as forwardRef38, useEffect as
|
|
3761
|
+
import { forwardRef as forwardRef38, useEffect as useEffect12, useId as useId19, useRef as useRef18, useState as useState20 } from "react";
|
|
3743
3762
|
|
|
3744
3763
|
// src/components/VerificationCodeInput/VerificationCodeInput.css.ts
|
|
3745
3764
|
var input5 = "ea01812";
|
|
@@ -3749,7 +3768,7 @@ var slots = "ea01811";
|
|
|
3749
3768
|
var timer = "ea01814";
|
|
3750
3769
|
|
|
3751
3770
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
3752
|
-
import { jsx as jsx44, jsxs as
|
|
3771
|
+
import { jsx as jsx44, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
3753
3772
|
var formatTime = (seconds) => `${String(Math.floor(seconds / 60)).padStart(2, "0")}:${String(seconds % 60).padStart(2, "0")}`;
|
|
3754
3773
|
var VerificationCodeInput = /* @__PURE__ */ forwardRef38(
|
|
3755
3774
|
function VerificationCodeInput2(props, ref) {
|
|
@@ -3784,17 +3803,17 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef38(
|
|
|
3784
3803
|
const statusId = `${inputId}-status`;
|
|
3785
3804
|
const inputRef = useRef18(null);
|
|
3786
3805
|
const isControlled = "value" in props;
|
|
3787
|
-
const [innerValue, setInnerValue] =
|
|
3806
|
+
const [innerValue, setInnerValue] = useState20(defaultValue ?? "");
|
|
3788
3807
|
const code = (isControlled ? value3 ?? "" : innerValue).slice(0, length);
|
|
3789
|
-
const [focused, setFocused] =
|
|
3790
|
-
const [endAt, setEndAt] =
|
|
3791
|
-
const [remaining, setRemaining] =
|
|
3808
|
+
const [focused, setFocused] = useState20(false);
|
|
3809
|
+
const [endAt, setEndAt] = useState20(() => expiresIn ? Date.now() + expiresIn * 1e3 : null);
|
|
3810
|
+
const [remaining, setRemaining] = useState20(expiresIn ?? 0);
|
|
3792
3811
|
const expired = expiresIn !== void 0 && remaining <= 0;
|
|
3793
3812
|
const onExpireRef = useRef18(onExpire);
|
|
3794
|
-
|
|
3813
|
+
useEffect12(() => {
|
|
3795
3814
|
onExpireRef.current = onExpire;
|
|
3796
3815
|
});
|
|
3797
|
-
|
|
3816
|
+
useEffect12(() => {
|
|
3798
3817
|
if (endAt === null) return;
|
|
3799
3818
|
const tick = () => {
|
|
3800
3819
|
const left = Math.max(0, Math.ceil((endAt - Date.now()) / 1e3));
|
|
@@ -3829,7 +3848,7 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef38(
|
|
|
3829
3848
|
};
|
|
3830
3849
|
const description7 = helperText3 ?? m.verificationCodeHint?.(length, type) ?? `${length}\uC790\uB9AC ${type === "numeric" ? "\uC22B\uC790" : "\uBB38\uC790"}\uB97C \uC785\uB825\uD558\uC138\uC694.`;
|
|
3831
3850
|
const activeIndex = Math.min(code.length, length - 1);
|
|
3832
|
-
return /* @__PURE__ */
|
|
3851
|
+
return /* @__PURE__ */ jsxs37(
|
|
3833
3852
|
"div",
|
|
3834
3853
|
{
|
|
3835
3854
|
className: cx(field, className),
|
|
@@ -3837,8 +3856,8 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef38(
|
|
|
3837
3856
|
"data-disabled": disabled || void 0,
|
|
3838
3857
|
children: [
|
|
3839
3858
|
/* @__PURE__ */ jsx44("label", { htmlFor: inputId, className: label, children: label6 }),
|
|
3840
|
-
/* @__PURE__ */
|
|
3841
|
-
/* @__PURE__ */
|
|
3859
|
+
/* @__PURE__ */ jsxs37("div", { className: row4, children: [
|
|
3860
|
+
/* @__PURE__ */ jsxs37("div", { className: slots, children: [
|
|
3842
3861
|
/* @__PURE__ */ jsx44(
|
|
3843
3862
|
"input",
|
|
3844
3863
|
{
|