@bestow-ui/react 1.0.0 → 1.1.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 +1 -1
- package/dist/client.js +368 -201
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +380 -209
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +119 -9
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +134 -1
- package/dist/index.d.ts +134 -1
- package/dist/shared.js +2 -0
- package/dist/shared.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -72,8 +72,10 @@ __export(src_exports, {
|
|
|
72
72
|
PopoverClose: () => PopoverClose,
|
|
73
73
|
Progress: () => Progress,
|
|
74
74
|
RadioGroup: () => RadioGroup,
|
|
75
|
+
SegmentedControl: () => SegmentedControl,
|
|
75
76
|
Select: () => Select,
|
|
76
77
|
Skeleton: () => Skeleton,
|
|
78
|
+
SkipLink: () => SkipLink,
|
|
77
79
|
Slider: () => Slider,
|
|
78
80
|
Spinner: () => Spinner,
|
|
79
81
|
Stack: () => Stack,
|
|
@@ -329,6 +331,8 @@ var en = {
|
|
|
329
331
|
newWindow: "(opens in a new window)",
|
|
330
332
|
noResults: "No results",
|
|
331
333
|
openList: "Show options",
|
|
334
|
+
clearSelection: "Clear selection",
|
|
335
|
+
skipToContent: "Skip to main content",
|
|
332
336
|
rangeStart: "minimum",
|
|
333
337
|
rangeEnd: "maximum",
|
|
334
338
|
agreeAll: "Agree to all",
|
|
@@ -516,7 +520,7 @@ var kakaoPostcodeProvider = async (container2, onSelect) => {
|
|
|
516
520
|
|
|
517
521
|
// src/components/AgreementGroup/agreements.ts
|
|
518
522
|
function hasAllRequiredAgreements(items2, value4) {
|
|
519
|
-
return items2.every((
|
|
523
|
+
return items2.every((item8) => !item8.required || value4.includes(item8.value));
|
|
520
524
|
}
|
|
521
525
|
|
|
522
526
|
// src/theme/ThemeProvider.tsx
|
|
@@ -1130,7 +1134,7 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react11.forwardRef)(
|
|
|
1130
1134
|
if (!isControlled) setInnerValue(next);
|
|
1131
1135
|
onValueChange?.(next);
|
|
1132
1136
|
};
|
|
1133
|
-
const allValues = items2.map((
|
|
1137
|
+
const allValues = items2.map((item8) => item8.value);
|
|
1134
1138
|
const agreedCount = allValues.filter((v) => agreed.includes(v)).length;
|
|
1135
1139
|
const allChecked = items2.length > 0 && agreedCount === items2.length;
|
|
1136
1140
|
const toggleItem = (itemValue, checked) => update(checked ? [...agreed.filter((v) => v !== itemValue), itemValue] : agreed.filter((v) => v !== itemValue));
|
|
@@ -1154,28 +1158,28 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react11.forwardRef)(
|
|
|
1154
1158
|
onChange: (event) => update(event.target.checked ? allValues : [])
|
|
1155
1159
|
}
|
|
1156
1160
|
) }),
|
|
1157
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("ul", { className: list, children: items2.map((
|
|
1158
|
-
const labelId = `${baseId}-${
|
|
1159
|
-
const toggleTextId = `${baseId}-${
|
|
1160
|
-
const contentId = `${baseId}-${
|
|
1161
|
-
const isOpen = expanded.includes(
|
|
1161
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("ul", { className: list, children: items2.map((item8) => {
|
|
1162
|
+
const labelId = `${baseId}-${item8.value}-label`;
|
|
1163
|
+
const toggleTextId = `${baseId}-${item8.value}-toggle`;
|
|
1164
|
+
const contentId = `${baseId}-${item8.value}-content`;
|
|
1165
|
+
const isOpen = expanded.includes(item8.value);
|
|
1162
1166
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("li", { className: item2, children: [
|
|
1163
1167
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: row2, children: [
|
|
1164
1168
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1165
1169
|
Checkbox,
|
|
1166
1170
|
{
|
|
1167
1171
|
size: "sm",
|
|
1168
|
-
checked: agreed.includes(
|
|
1169
|
-
invalid: error &&
|
|
1170
|
-
onChange: (event) => toggleItem(
|
|
1172
|
+
checked: agreed.includes(item8.value),
|
|
1173
|
+
invalid: error && item8.required && !agreed.includes(item8.value),
|
|
1174
|
+
onChange: (event) => toggleItem(item8.value, event.target.checked),
|
|
1171
1175
|
label: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { id: labelId, children: [
|
|
1172
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: tag, "data-required":
|
|
1176
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: tag, "data-required": item8.required || void 0, children: item8.required ? requiredText : optionalText }),
|
|
1173
1177
|
" ",
|
|
1174
|
-
|
|
1178
|
+
item8.label
|
|
1175
1179
|
] })
|
|
1176
1180
|
}
|
|
1177
1181
|
),
|
|
1178
|
-
|
|
1182
|
+
item8.content && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
1179
1183
|
"button",
|
|
1180
1184
|
{
|
|
1181
1185
|
type: "button",
|
|
@@ -1183,7 +1187,7 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react11.forwardRef)(
|
|
|
1183
1187
|
"aria-expanded": isOpen,
|
|
1184
1188
|
"aria-controls": contentId,
|
|
1185
1189
|
"aria-labelledby": `${labelId} ${toggleTextId}`,
|
|
1186
|
-
onClick: () => setExpanded((prev) => isOpen ? prev.filter((v) => v !==
|
|
1190
|
+
onClick: () => setExpanded((prev) => isOpen ? prev.filter((v) => v !== item8.value) : [...prev, item8.value]),
|
|
1187
1191
|
children: [
|
|
1188
1192
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { id: toggleTextId, children: isOpen ? hideText : showText }),
|
|
1189
1193
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_icons4.ChevronDownIcon, { size: 14, className: chevron2 })
|
|
@@ -1191,10 +1195,10 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react11.forwardRef)(
|
|
|
1191
1195
|
}
|
|
1192
1196
|
)
|
|
1193
1197
|
] }),
|
|
1194
|
-
|
|
1198
|
+
item8.content && isOpen && // 내용이 길면 스크롤된다 — 키보드로도 스크롤할 수 있게 포커스를 받는 이름 있는 영역으로 둔다
|
|
1195
1199
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
|
|
1196
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { id: contentId, role: "region", "aria-labelledby": labelId, tabIndex: 0, className: content3, children:
|
|
1197
|
-
] },
|
|
1200
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { id: contentId, role: "region", "aria-labelledby": labelId, tabIndex: 0, className: content3, children: item8.content })
|
|
1201
|
+
] }, item8.value);
|
|
1198
1202
|
}) })
|
|
1199
1203
|
] }),
|
|
1200
1204
|
name && agreed.map((v) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("input", { type: "hidden", name, value: v }, v)),
|
|
@@ -1232,7 +1236,7 @@ var Alert = /* @__PURE__ */ (0, import_react12.forwardRef)(function Alert2({
|
|
|
1232
1236
|
variant,
|
|
1233
1237
|
color = "primary",
|
|
1234
1238
|
title: title6,
|
|
1235
|
-
icon:
|
|
1239
|
+
icon: icon7,
|
|
1236
1240
|
action: action3,
|
|
1237
1241
|
onClose,
|
|
1238
1242
|
closeLabel: closeLabelProp,
|
|
@@ -1243,7 +1247,7 @@ var Alert = /* @__PURE__ */ (0, import_react12.forwardRef)(function Alert2({
|
|
|
1243
1247
|
const m = useMessages();
|
|
1244
1248
|
const closeLabel = closeLabelProp ?? m.close ?? "\uB2EB\uAE30";
|
|
1245
1249
|
const DefaultIcon = defaultIcons[color];
|
|
1246
|
-
const iconNode =
|
|
1250
|
+
const iconNode = icon7 === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(DefaultIcon, { size: 18 }) : icon7;
|
|
1247
1251
|
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { ref, className: cx(alert({ variant, color }), className), ...rest, children: [
|
|
1248
1252
|
iconNode !== false && iconNode !== null && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: icon2, "aria-hidden": true, children: iconNode }),
|
|
1249
1253
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: content4, children: [
|
|
@@ -1514,11 +1518,11 @@ var Breadcrumb = /* @__PURE__ */ (0, import_react19.forwardRef)(function Breadcr
|
|
|
1514
1518
|
const m = useMessages();
|
|
1515
1519
|
const ariaLabel = ariaLabelProp ?? m.breadcrumb ?? "\uC774\uB3D9 \uACBD\uB85C";
|
|
1516
1520
|
const sep = separator3 ?? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_icons8.ChevronRightIcon, { size: 14 });
|
|
1517
|
-
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("ol", { className: list2, children: items2.map((
|
|
1521
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("ol", { className: list2, children: items2.map((item8, index) => {
|
|
1518
1522
|
const isCurrent = index === items2.length - 1;
|
|
1519
1523
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("li", { className: item3, children: [
|
|
1520
1524
|
index > 0 && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: separator, "aria-hidden": true, children: sep }),
|
|
1521
|
-
isCurrent ||
|
|
1525
|
+
isCurrent || item8.href === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: isCurrent ? current : void 0, "aria-current": isCurrent ? "page" : void 0, children: item8.label }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Link, { as: linkAs, href: item8.href, color: "neutral", underline: "hover", className: link2, children: item8.label })
|
|
1522
1526
|
] }, index);
|
|
1523
1527
|
}) }) });
|
|
1524
1528
|
});
|
|
@@ -1826,9 +1830,10 @@ var value = "_1kx81e81";
|
|
|
1826
1830
|
var viewport = "_1kx81e84";
|
|
1827
1831
|
|
|
1828
1832
|
// src/components/Combobox/Combobox.css.ts
|
|
1829
|
-
var
|
|
1830
|
-
var
|
|
1831
|
-
var
|
|
1833
|
+
var clear = "c2pbq72 c2pbq70";
|
|
1834
|
+
var content6 = "c2pbq73";
|
|
1835
|
+
var empty = "c2pbq74";
|
|
1836
|
+
var toggle2 = "c2pbq71 c2pbq70";
|
|
1832
1837
|
|
|
1833
1838
|
// src/components/Combobox/Combobox.tsx
|
|
1834
1839
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
@@ -1853,11 +1858,14 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
1853
1858
|
id,
|
|
1854
1859
|
"aria-label": ariaLabel,
|
|
1855
1860
|
toggleLabel: toggleLabelProp,
|
|
1861
|
+
clearable,
|
|
1862
|
+
clearLabel: clearLabelProp,
|
|
1856
1863
|
className
|
|
1857
1864
|
} = props;
|
|
1858
1865
|
const m = useMessages();
|
|
1859
1866
|
const emptyMessage = emptyMessageProp ?? m.noResults ?? "\uACB0\uACFC\uAC00 \uC5C6\uC5B4\uC694";
|
|
1860
1867
|
const toggleLabel = toggleLabelProp ?? m.openList ?? "\uBAA9\uB85D \uC5F4\uAE30";
|
|
1868
|
+
const clearLabel = clearLabelProp ?? m.clearSelection ?? "\uC120\uD0DD \uC9C0\uC6B0\uAE30";
|
|
1861
1869
|
const generatedId = (0, import_react25.useId)();
|
|
1862
1870
|
const inputId = id ?? generatedId;
|
|
1863
1871
|
const labelId = `${inputId}-label`;
|
|
@@ -1887,16 +1895,24 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
1887
1895
|
selectedIndex >= 0 && !list5[selectedIndex].disabled ? selectedIndex : preferLast ? firstEnabled(list5, list5.length - 1, -1) : firstEnabled(list5)
|
|
1888
1896
|
);
|
|
1889
1897
|
};
|
|
1890
|
-
const
|
|
1898
|
+
const reset = () => {
|
|
1891
1899
|
setOpen(false);
|
|
1892
1900
|
setQuery(null);
|
|
1893
1901
|
setActiveIndex(-1);
|
|
1894
1902
|
};
|
|
1903
|
+
const clearSelection = () => {
|
|
1904
|
+
if (!isControlled) setInnerValue(void 0);
|
|
1905
|
+
if (selectedValue) onValueChange?.("");
|
|
1906
|
+
};
|
|
1907
|
+
const close2 = () => {
|
|
1908
|
+
if (query === "" && selectedValue) clearSelection();
|
|
1909
|
+
reset();
|
|
1910
|
+
};
|
|
1895
1911
|
const select = (option2) => {
|
|
1896
1912
|
if (option2.disabled) return;
|
|
1897
1913
|
if (!isControlled) setInnerValue(option2.value);
|
|
1898
1914
|
if (option2.value !== selectedValue) onValueChange?.(option2.value);
|
|
1899
|
-
|
|
1915
|
+
reset();
|
|
1900
1916
|
};
|
|
1901
1917
|
const move = (step) => {
|
|
1902
1918
|
const start = activeIndex < 0 ? step === 1 ? 0 : filtered.length - 1 : activeIndex + step;
|
|
@@ -1908,7 +1924,7 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
1908
1924
|
const nextList = nextQuery ? options.filter((o) => filter(o, nextQuery)) : options;
|
|
1909
1925
|
setQuery(nextQuery);
|
|
1910
1926
|
setOpen(true);
|
|
1911
|
-
setActiveIndex(firstEnabled(nextList));
|
|
1927
|
+
setActiveIndex(nextQuery ? firstEnabled(nextList) : -1);
|
|
1912
1928
|
};
|
|
1913
1929
|
const handleKeyDown = (event) => {
|
|
1914
1930
|
switch (event.key) {
|
|
@@ -1927,6 +1943,7 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
1927
1943
|
event.preventDefault();
|
|
1928
1944
|
const option2 = filtered[activeIndex];
|
|
1929
1945
|
if (option2) select(option2);
|
|
1946
|
+
else close2();
|
|
1930
1947
|
}
|
|
1931
1948
|
break;
|
|
1932
1949
|
case "Escape":
|
|
@@ -1986,6 +2003,22 @@ var Combobox = /* @__PURE__ */ (0, import_react25.forwardRef)(function Combobox2
|
|
|
1986
2003
|
className: input
|
|
1987
2004
|
}
|
|
1988
2005
|
),
|
|
2006
|
+
clearable && selectedOption && !disabled && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2007
|
+
"button",
|
|
2008
|
+
{
|
|
2009
|
+
type: "button",
|
|
2010
|
+
tabIndex: -1,
|
|
2011
|
+
"aria-label": clearLabel,
|
|
2012
|
+
className: clear,
|
|
2013
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
2014
|
+
onClick: () => {
|
|
2015
|
+
clearSelection();
|
|
2016
|
+
reset();
|
|
2017
|
+
inputRef.current?.focus();
|
|
2018
|
+
},
|
|
2019
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons10.XIcon, { size: 16 })
|
|
2020
|
+
}
|
|
2021
|
+
),
|
|
1989
2022
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1990
2023
|
"button",
|
|
1991
2024
|
{
|
|
@@ -2398,9 +2431,9 @@ var DropdownMenuContent = /* @__PURE__ */ (0, import_react29.forwardRef)(
|
|
|
2398
2431
|
}
|
|
2399
2432
|
);
|
|
2400
2433
|
var DropdownMenuItem = /* @__PURE__ */ (0, import_react29.forwardRef)(
|
|
2401
|
-
function DropdownMenuItem2({ icon:
|
|
2434
|
+
function DropdownMenuItem2({ icon: icon7, shortcut: shortcut2, color = "neutral", className, children, ...rest }, ref) {
|
|
2402
2435
|
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(RadixMenu.Item, { ref, className: cx(item5, color === "danger" && danger, className), ...rest, children: [
|
|
2403
|
-
|
|
2436
|
+
icon7 && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: icon5, "aria-hidden": true, children: icon7 }),
|
|
2404
2437
|
children,
|
|
2405
2438
|
shortcut2 && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: shortcut, "aria-hidden": true, children: shortcut2 })
|
|
2406
2439
|
] });
|
|
@@ -2491,17 +2524,17 @@ var Pagination = /* @__PURE__ */ (0, import_react30.forwardRef)(function Paginat
|
|
|
2491
2524
|
}
|
|
2492
2525
|
) }),
|
|
2493
2526
|
getPaginationItems(page, totalPages, siblingCount, boundaryCount).map(
|
|
2494
|
-
(
|
|
2527
|
+
(item8) => typeof item8 === "number" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2495
2528
|
"button",
|
|
2496
2529
|
{
|
|
2497
2530
|
type: "button",
|
|
2498
2531
|
className: itemClass,
|
|
2499
|
-
"aria-label": getItemLabel("page",
|
|
2500
|
-
"aria-current":
|
|
2501
|
-
onClick: () => goTo(
|
|
2502
|
-
children:
|
|
2532
|
+
"aria-label": getItemLabel("page", item8),
|
|
2533
|
+
"aria-current": item8 === page ? "page" : void 0,
|
|
2534
|
+
onClick: () => goTo(item8),
|
|
2535
|
+
children: item8
|
|
2503
2536
|
}
|
|
2504
|
-
) },
|
|
2537
|
+
) }, item8) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("li", { "aria-hidden": true, className: cx(itemClass, ellipsis), children: "\u2026" }, item8)
|
|
2505
2538
|
),
|
|
2506
2539
|
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2507
2540
|
"button",
|
|
@@ -2721,12 +2754,125 @@ var RadioGroup = /* @__PURE__ */ (0, import_react33.forwardRef)(function RadioGr
|
|
|
2721
2754
|
] });
|
|
2722
2755
|
});
|
|
2723
2756
|
|
|
2757
|
+
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
2758
|
+
var import_react34 = require("react");
|
|
2759
|
+
|
|
2760
|
+
// src/components/SegmentedControl/SegmentedControl.css.ts
|
|
2761
|
+
var import_createRuntimeFn17 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2762
|
+
var icon6 = "_1h65mmo7";
|
|
2763
|
+
var item7 = /* @__PURE__ */ (0, import_createRuntimeFn17.createRuntimeFn)({ defaultClassName: "_1h65mmo2", variantClassNames: { size: { sm: "_1h65mmo3", md: "_1h65mmo4", lg: "_1h65mmo5" }, fullWidth: { true: "_1h65mmo6" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2764
|
+
var root8 = /* @__PURE__ */ (0, import_createRuntimeFn17.createRuntimeFn)({ defaultClassName: "_1h65mmo0", variantClassNames: { fullWidth: { true: "_1h65mmo1" } }, defaultVariants: {}, compoundVariants: [] });
|
|
2765
|
+
|
|
2766
|
+
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
2767
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2768
|
+
var NEXT_KEYS = { ArrowRight: 1, ArrowDown: 1, ArrowLeft: -1, ArrowUp: -1 };
|
|
2769
|
+
var SegmentedControl = /* @__PURE__ */ (0, import_react34.forwardRef)(
|
|
2770
|
+
function SegmentedControl2(props, ref) {
|
|
2771
|
+
const {
|
|
2772
|
+
options,
|
|
2773
|
+
value: value4,
|
|
2774
|
+
defaultValue,
|
|
2775
|
+
onValueChange,
|
|
2776
|
+
label: label6,
|
|
2777
|
+
"aria-label": ariaLabel,
|
|
2778
|
+
size,
|
|
2779
|
+
fullWidth,
|
|
2780
|
+
disabled,
|
|
2781
|
+
name,
|
|
2782
|
+
id,
|
|
2783
|
+
className
|
|
2784
|
+
} = props;
|
|
2785
|
+
const isControlled = "value" in props;
|
|
2786
|
+
const [innerValue, setInnerValue] = (0, import_react34.useState)(defaultValue ?? "");
|
|
2787
|
+
const current2 = isControlled ? value4 ?? "" : innerValue;
|
|
2788
|
+
const generatedId = (0, import_react34.useId)();
|
|
2789
|
+
const labelId = label6 ? `${id ?? generatedId}-label` : void 0;
|
|
2790
|
+
const itemRefs = (0, import_react34.useRef)([]);
|
|
2791
|
+
const isEnabled = (index) => !disabled && !options[index]?.disabled;
|
|
2792
|
+
const select = (index) => {
|
|
2793
|
+
const next = options[index].value;
|
|
2794
|
+
if (next === current2) return;
|
|
2795
|
+
if (!isControlled) setInnerValue(next);
|
|
2796
|
+
onValueChange?.(next);
|
|
2797
|
+
};
|
|
2798
|
+
const checkedIndex = options.findIndex((option2) => option2.value === current2);
|
|
2799
|
+
const tabStop = checkedIndex >= 0 && isEnabled(checkedIndex) ? checkedIndex : options.findIndex((_, i) => isEnabled(i));
|
|
2800
|
+
const handleKeyDown = (event, index) => {
|
|
2801
|
+
let target = -1;
|
|
2802
|
+
const step = NEXT_KEYS[event.key];
|
|
2803
|
+
if (step) {
|
|
2804
|
+
for (let i = 1; i <= options.length; i++) {
|
|
2805
|
+
const candidate = (index + step * i + options.length) % options.length;
|
|
2806
|
+
if (isEnabled(candidate)) {
|
|
2807
|
+
target = candidate;
|
|
2808
|
+
break;
|
|
2809
|
+
}
|
|
2810
|
+
}
|
|
2811
|
+
} else if (event.key === "Home") {
|
|
2812
|
+
target = options.findIndex((_, i) => isEnabled(i));
|
|
2813
|
+
} else if (event.key === "End") {
|
|
2814
|
+
for (let i = options.length - 1; i >= 0 && target < 0; i--) if (isEnabled(i)) target = i;
|
|
2815
|
+
}
|
|
2816
|
+
if (target < 0) return;
|
|
2817
|
+
event.preventDefault();
|
|
2818
|
+
itemRefs.current[target]?.focus();
|
|
2819
|
+
select(target);
|
|
2820
|
+
};
|
|
2821
|
+
const group = /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
2822
|
+
"div",
|
|
2823
|
+
{
|
|
2824
|
+
ref,
|
|
2825
|
+
id,
|
|
2826
|
+
role: "radiogroup",
|
|
2827
|
+
"aria-labelledby": labelId,
|
|
2828
|
+
"aria-label": label6 ? void 0 : ariaLabel,
|
|
2829
|
+
"aria-disabled": disabled || void 0,
|
|
2830
|
+
className: cx(root8({ fullWidth }), !label6 && className),
|
|
2831
|
+
children: [
|
|
2832
|
+
options.map((option2, index) => {
|
|
2833
|
+
const checked = index === checkedIndex;
|
|
2834
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
2835
|
+
"button",
|
|
2836
|
+
{
|
|
2837
|
+
ref: (node) => {
|
|
2838
|
+
itemRefs.current[index] = node;
|
|
2839
|
+
},
|
|
2840
|
+
type: "button",
|
|
2841
|
+
role: "radio",
|
|
2842
|
+
"aria-checked": checked,
|
|
2843
|
+
tabIndex: index === tabStop ? 0 : -1,
|
|
2844
|
+
disabled: !isEnabled(index),
|
|
2845
|
+
"data-state": checked ? "checked" : "unchecked",
|
|
2846
|
+
"data-disabled": isEnabled(index) ? void 0 : "",
|
|
2847
|
+
className: item7({ size, fullWidth }),
|
|
2848
|
+
onClick: () => select(index),
|
|
2849
|
+
onKeyDown: (event) => handleKeyDown(event, index),
|
|
2850
|
+
children: [
|
|
2851
|
+
option2.icon && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { "aria-hidden": true, className: icon6, children: option2.icon }),
|
|
2852
|
+
option2.label
|
|
2853
|
+
]
|
|
2854
|
+
},
|
|
2855
|
+
option2.value
|
|
2856
|
+
);
|
|
2857
|
+
}),
|
|
2858
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("input", { type: "hidden", name, value: current2 })
|
|
2859
|
+
]
|
|
2860
|
+
}
|
|
2861
|
+
);
|
|
2862
|
+
if (!label6) return group;
|
|
2863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: cx(field, className), children: [
|
|
2864
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { id: labelId, className: label, children: label6 }),
|
|
2865
|
+
group
|
|
2866
|
+
] });
|
|
2867
|
+
}
|
|
2868
|
+
);
|
|
2869
|
+
|
|
2724
2870
|
// src/components/Select/Select.tsx
|
|
2725
2871
|
var RadixSelect = __toESM(require("@radix-ui/react-select"), 1);
|
|
2726
|
-
var
|
|
2872
|
+
var import_react35 = require("react");
|
|
2727
2873
|
var import_icons15 = require("@bestow-ui/icons");
|
|
2728
|
-
var
|
|
2729
|
-
var Select = /* @__PURE__ */ (0,
|
|
2874
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2875
|
+
var Select = /* @__PURE__ */ (0, import_react35.forwardRef)(function Select2(props, ref) {
|
|
2730
2876
|
const {
|
|
2731
2877
|
options,
|
|
2732
2878
|
value: value4,
|
|
@@ -2746,16 +2892,16 @@ var Select = /* @__PURE__ */ (0, import_react34.forwardRef)(function Select2(pro
|
|
|
2746
2892
|
className
|
|
2747
2893
|
} = props;
|
|
2748
2894
|
const isControlled = "value" in props;
|
|
2749
|
-
const generatedId = (0,
|
|
2895
|
+
const generatedId = (0, import_react35.useId)();
|
|
2750
2896
|
const triggerId = id ?? generatedId;
|
|
2751
2897
|
const helperId = helperText3 ? `${triggerId}-helper` : void 0;
|
|
2752
2898
|
const portal2 = usePortalProps();
|
|
2753
|
-
return /* @__PURE__ */ (0,
|
|
2754
|
-
label6 && /* @__PURE__ */ (0,
|
|
2899
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
2900
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("label", { htmlFor: triggerId, className: label, children: [
|
|
2755
2901
|
label6,
|
|
2756
|
-
required && /* @__PURE__ */ (0,
|
|
2902
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2757
2903
|
] }),
|
|
2758
|
-
/* @__PURE__ */ (0,
|
|
2904
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2759
2905
|
RadixSelect.Root,
|
|
2760
2906
|
{
|
|
2761
2907
|
value: isControlled ? value4 ?? "" : void 0,
|
|
@@ -2765,7 +2911,7 @@ var Select = /* @__PURE__ */ (0, import_react34.forwardRef)(function Select2(pro
|
|
|
2765
2911
|
required,
|
|
2766
2912
|
name,
|
|
2767
2913
|
children: [
|
|
2768
|
-
/* @__PURE__ */ (0,
|
|
2914
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2769
2915
|
RadixSelect.Trigger,
|
|
2770
2916
|
{
|
|
2771
2917
|
ref,
|
|
@@ -2776,12 +2922,12 @@ var Select = /* @__PURE__ */ (0, import_react34.forwardRef)(function Select2(pro
|
|
|
2776
2922
|
"data-invalid": error || void 0,
|
|
2777
2923
|
className: cx(root3({ size, fullWidth }), trigger2, className),
|
|
2778
2924
|
children: [
|
|
2779
|
-
/* @__PURE__ */ (0,
|
|
2780
|
-
/* @__PURE__ */ (0,
|
|
2925
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: value, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixSelect.Value, { placeholder }) }),
|
|
2926
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixSelect.Icon, { className: icon4, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons15.ChevronDownIcon, { size: 16 }) })
|
|
2781
2927
|
]
|
|
2782
2928
|
}
|
|
2783
2929
|
),
|
|
2784
|
-
/* @__PURE__ */ (0,
|
|
2930
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixSelect.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2785
2931
|
RadixSelect.Content,
|
|
2786
2932
|
{
|
|
2787
2933
|
position: "popper",
|
|
@@ -2789,15 +2935,15 @@ var Select = /* @__PURE__ */ (0, import_react34.forwardRef)(function Select2(pro
|
|
|
2789
2935
|
collisionPadding: 8,
|
|
2790
2936
|
className: cx(portal2.className, content5),
|
|
2791
2937
|
style: portal2.style,
|
|
2792
|
-
children: /* @__PURE__ */ (0,
|
|
2938
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2793
2939
|
RadixSelect.Item,
|
|
2794
2940
|
{
|
|
2795
2941
|
value: option2.value,
|
|
2796
2942
|
disabled: option2.disabled,
|
|
2797
2943
|
className: item4,
|
|
2798
2944
|
children: [
|
|
2799
|
-
/* @__PURE__ */ (0,
|
|
2800
|
-
/* @__PURE__ */ (0,
|
|
2945
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixSelect.ItemText, { children: option2.label }),
|
|
2946
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons15.CheckIcon, { size: 16 }) })
|
|
2801
2947
|
]
|
|
2802
2948
|
},
|
|
2803
2949
|
option2.value
|
|
@@ -2807,29 +2953,29 @@ var Select = /* @__PURE__ */ (0, import_react34.forwardRef)(function Select2(pro
|
|
|
2807
2953
|
]
|
|
2808
2954
|
}
|
|
2809
2955
|
),
|
|
2810
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
2956
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
2811
2957
|
] });
|
|
2812
2958
|
});
|
|
2813
2959
|
|
|
2814
2960
|
// src/components/Skeleton/Skeleton.tsx
|
|
2815
2961
|
var import_dynamic2 = require("@vanilla-extract/dynamic");
|
|
2816
|
-
var
|
|
2962
|
+
var import_react36 = require("react");
|
|
2817
2963
|
|
|
2818
2964
|
// src/components/Skeleton/Skeleton.css.ts
|
|
2819
|
-
var
|
|
2965
|
+
var import_createRuntimeFn18 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2820
2966
|
var height = "var(--_1s8datd1)";
|
|
2821
2967
|
var lines = "_1s8datd6";
|
|
2822
|
-
var skeleton = /* @__PURE__ */ (0,
|
|
2968
|
+
var skeleton = /* @__PURE__ */ (0, import_createRuntimeFn18.createRuntimeFn)({ defaultClassName: "_1s8datd2", variantClassNames: { variant: { text: "_1s8datd3", rect: "_1s8datd4", circle: "_1s8datd5" } }, defaultVariants: { variant: "text" }, compoundVariants: [] });
|
|
2823
2969
|
var width = "var(--_1s8datd0)";
|
|
2824
2970
|
|
|
2825
2971
|
// src/components/Skeleton/Skeleton.tsx
|
|
2826
|
-
var
|
|
2972
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2827
2973
|
var toCss = (value4) => typeof value4 === "number" ? `${value4}px` : value4;
|
|
2828
|
-
var Skeleton = /* @__PURE__ */ (0,
|
|
2974
|
+
var Skeleton = /* @__PURE__ */ (0, import_react36.forwardRef)(function Skeleton2({ variant = "text", width: width2, height: height2, lines: lines2 = 1, className, style, ...rest }, ref) {
|
|
2829
2975
|
const w = toCss(width2 ?? (variant === "circle" ? 40 : "100%"));
|
|
2830
2976
|
const h = toCss(height2 ?? (variant === "circle" ? w : variant === "rect" ? 100 : "1em"));
|
|
2831
2977
|
if (variant === "text" && lines2 > 1) {
|
|
2832
|
-
return /* @__PURE__ */ (0,
|
|
2978
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2833
2979
|
"span",
|
|
2834
2980
|
{
|
|
2835
2981
|
ref,
|
|
@@ -2837,7 +2983,7 @@ var Skeleton = /* @__PURE__ */ (0, import_react35.forwardRef)(function Skeleton2
|
|
|
2837
2983
|
className: cx(lines, className),
|
|
2838
2984
|
style: { ...(0, import_dynamic2.assignInlineVars)({ [width]: w }), ...style },
|
|
2839
2985
|
...rest,
|
|
2840
|
-
children: Array.from({ length: lines2 }, (_, i) => /* @__PURE__ */ (0,
|
|
2986
|
+
children: Array.from({ length: lines2 }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2841
2987
|
"span",
|
|
2842
2988
|
{
|
|
2843
2989
|
className: skeleton({ variant }),
|
|
@@ -2848,7 +2994,7 @@ var Skeleton = /* @__PURE__ */ (0, import_react35.forwardRef)(function Skeleton2
|
|
|
2848
2994
|
}
|
|
2849
2995
|
);
|
|
2850
2996
|
}
|
|
2851
|
-
return /* @__PURE__ */ (0,
|
|
2997
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2852
2998
|
"span",
|
|
2853
2999
|
{
|
|
2854
3000
|
ref,
|
|
@@ -2860,25 +3006,48 @@ var Skeleton = /* @__PURE__ */ (0, import_react35.forwardRef)(function Skeleton2
|
|
|
2860
3006
|
);
|
|
2861
3007
|
});
|
|
2862
3008
|
|
|
3009
|
+
// src/components/SkipLink/SkipLink.tsx
|
|
3010
|
+
var import_react37 = require("react");
|
|
3011
|
+
|
|
3012
|
+
// src/components/SkipLink/SkipLink.css.ts
|
|
3013
|
+
var skipLink = "_1t9jaar0";
|
|
3014
|
+
|
|
3015
|
+
// src/components/SkipLink/SkipLink.tsx
|
|
3016
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3017
|
+
var SkipLink = /* @__PURE__ */ (0, import_react37.forwardRef)(function SkipLink2({ href = "#main", className, children, onClick, ...rest }, ref) {
|
|
3018
|
+
const m = useMessages();
|
|
3019
|
+
const handleClick = (event) => {
|
|
3020
|
+
onClick?.(event);
|
|
3021
|
+
if (event.defaultPrevented || !href.startsWith("#")) return;
|
|
3022
|
+
const target = document.getElementById(decodeURIComponent(href.slice(1)));
|
|
3023
|
+
if (!target) return;
|
|
3024
|
+
event.preventDefault();
|
|
3025
|
+
if (!target.hasAttribute("tabindex")) target.setAttribute("tabindex", "-1");
|
|
3026
|
+
target.focus();
|
|
3027
|
+
target.scrollIntoView?.({ block: "start" });
|
|
3028
|
+
};
|
|
3029
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("a", { ref, href, className: cx(skipLink, className), onClick: handleClick, ...rest, children: children ?? m.skipToContent ?? "\uBCF8\uBB38 \uBC14\uB85C\uAC00\uAE30" });
|
|
3030
|
+
});
|
|
3031
|
+
|
|
2863
3032
|
// src/components/Slider/Slider.tsx
|
|
2864
3033
|
var RadixSlider = __toESM(require("@radix-ui/react-slider"), 1);
|
|
2865
|
-
var
|
|
3034
|
+
var import_react38 = require("react");
|
|
2866
3035
|
|
|
2867
3036
|
// src/components/Slider/Slider.css.ts
|
|
2868
|
-
var
|
|
3037
|
+
var import_createRuntimeFn19 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2869
3038
|
var field2 = "_126mzjm0";
|
|
2870
3039
|
var header8 = "_126mzjm1";
|
|
2871
3040
|
var helperText2 = "_126mzjm4";
|
|
2872
3041
|
var label4 = "_126mzjm2";
|
|
2873
3042
|
var range2 = "_126mzjmb";
|
|
2874
|
-
var
|
|
2875
|
-
var thumb = /* @__PURE__ */ (0,
|
|
2876
|
-
var track2 = /* @__PURE__ */ (0,
|
|
3043
|
+
var root9 = /* @__PURE__ */ (0, import_createRuntimeFn19.createRuntimeFn)({ defaultClassName: "_126mzjm5", variantClassNames: { size: { sm: "_126mzjm6", md: "_126mzjm7" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3044
|
+
var thumb = /* @__PURE__ */ (0, import_createRuntimeFn19.createRuntimeFn)({ defaultClassName: "_126mzjmc", variantClassNames: { size: { sm: "_126mzjmd", md: "_126mzjme" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3045
|
+
var track2 = /* @__PURE__ */ (0, import_createRuntimeFn19.createRuntimeFn)({ defaultClassName: "_126mzjm8", variantClassNames: { size: { sm: "_126mzjm9", md: "_126mzjma" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2877
3046
|
var value3 = "_126mzjm3";
|
|
2878
3047
|
|
|
2879
3048
|
// src/components/Slider/Slider.tsx
|
|
2880
|
-
var
|
|
2881
|
-
var Slider = /* @__PURE__ */ (0,
|
|
3049
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3050
|
+
var Slider = /* @__PURE__ */ (0, import_react38.forwardRef)(function Slider2(props, ref) {
|
|
2882
3051
|
const {
|
|
2883
3052
|
value: value4,
|
|
2884
3053
|
defaultValue,
|
|
@@ -2899,12 +3068,12 @@ var Slider = /* @__PURE__ */ (0, import_react36.forwardRef)(function Slider2(pro
|
|
|
2899
3068
|
} = props;
|
|
2900
3069
|
const m = useMessages();
|
|
2901
3070
|
const thumbLabels = thumbLabelsProp ?? [m.rangeStart ?? "\uCD5C\uC18C", m.rangeEnd ?? "\uCD5C\uB300"];
|
|
2902
|
-
const generatedId = (0,
|
|
3071
|
+
const generatedId = (0, import_react38.useId)();
|
|
2903
3072
|
const baseId = id ?? generatedId;
|
|
2904
3073
|
const labelId = `${baseId}-label`;
|
|
2905
3074
|
const helperId = `${baseId}-helper`;
|
|
2906
3075
|
const isControlled = "value" in props;
|
|
2907
|
-
const [innerValue, setInnerValue] = (0,
|
|
3076
|
+
const [innerValue, setInnerValue] = (0, import_react38.useState)(defaultValue ?? [min]);
|
|
2908
3077
|
const current2 = isControlled ? value4 ?? [min] : innerValue;
|
|
2909
3078
|
const isRange = current2.length > 1;
|
|
2910
3079
|
const handleChange = (next) => {
|
|
@@ -2912,12 +3081,12 @@ var Slider = /* @__PURE__ */ (0, import_react36.forwardRef)(function Slider2(pro
|
|
|
2912
3081
|
onValueChange?.(next);
|
|
2913
3082
|
};
|
|
2914
3083
|
const valueText = current2.map(formatValue).join(" \u2013 ");
|
|
2915
|
-
return /* @__PURE__ */ (0,
|
|
2916
|
-
(label6 || showValue) && /* @__PURE__ */ (0,
|
|
2917
|
-
label6 && /* @__PURE__ */ (0,
|
|
2918
|
-
showValue && /* @__PURE__ */ (0,
|
|
3084
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: cx(field2, className), children: [
|
|
3085
|
+
(label6 || showValue) && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: header8, children: [
|
|
3086
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { id: labelId, className: label4, children: label6 }),
|
|
3087
|
+
showValue && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: value3, "aria-hidden": true, children: valueText })
|
|
2919
3088
|
] }),
|
|
2920
|
-
/* @__PURE__ */ (0,
|
|
3089
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2921
3090
|
RadixSlider.Root,
|
|
2922
3091
|
{
|
|
2923
3092
|
ref,
|
|
@@ -2927,13 +3096,13 @@ var Slider = /* @__PURE__ */ (0, import_react36.forwardRef)(function Slider2(pro
|
|
|
2927
3096
|
disabled,
|
|
2928
3097
|
value: current2,
|
|
2929
3098
|
onValueChange: handleChange,
|
|
2930
|
-
className:
|
|
3099
|
+
className: root9({ size }),
|
|
2931
3100
|
...rest,
|
|
2932
3101
|
children: [
|
|
2933
|
-
/* @__PURE__ */ (0,
|
|
3102
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(RadixSlider.Track, { className: track2({ size }), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(RadixSlider.Range, { className: range2 }) }),
|
|
2934
3103
|
current2.map((thumbValue, index) => {
|
|
2935
3104
|
const thumbLabelId = `${baseId}-thumb-${index}`;
|
|
2936
|
-
return /* @__PURE__ */ (0,
|
|
3105
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2937
3106
|
RadixSlider.Thumb,
|
|
2938
3107
|
{
|
|
2939
3108
|
className: thumb({ size }),
|
|
@@ -2948,45 +3117,45 @@ var Slider = /* @__PURE__ */ (0, import_react36.forwardRef)(function Slider2(pro
|
|
|
2948
3117
|
]
|
|
2949
3118
|
}
|
|
2950
3119
|
),
|
|
2951
|
-
isRange && current2.map((_, index) => /* @__PURE__ */ (0,
|
|
3120
|
+
isRange && current2.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("span", { id: `${baseId}-thumb-${index}`, hidden: true, children: [
|
|
2952
3121
|
label6 ? "" : ariaLabel ? `${ariaLabel} ` : "",
|
|
2953
3122
|
thumbLabels[index] ?? `${index + 1}`
|
|
2954
3123
|
] }, index)),
|
|
2955
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
3124
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { id: helperId, className: helperText2, children: helperText3 })
|
|
2956
3125
|
] });
|
|
2957
3126
|
});
|
|
2958
3127
|
|
|
2959
3128
|
// src/components/Stack/Stack.tsx
|
|
2960
|
-
var
|
|
3129
|
+
var import_react39 = require("react");
|
|
2961
3130
|
|
|
2962
3131
|
// src/components/Stack/Stack.css.ts
|
|
2963
|
-
var
|
|
2964
|
-
var stack = /* @__PURE__ */ (0,
|
|
3132
|
+
var import_createRuntimeFn20 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3133
|
+
var stack = /* @__PURE__ */ (0, import_createRuntimeFn20.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
3134
|
|
|
2966
3135
|
// src/components/Stack/Stack.tsx
|
|
2967
|
-
var
|
|
2968
|
-
var Stack = /* @__PURE__ */ (0,
|
|
2969
|
-
return /* @__PURE__ */ (0,
|
|
3136
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3137
|
+
var Stack = /* @__PURE__ */ (0, import_react39.forwardRef)(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, ...rest }, ref) {
|
|
3138
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Component, { ref, className: cx(stack({ direction, gap, align, justify, wrap }), className), ...rest });
|
|
2970
3139
|
});
|
|
2971
3140
|
|
|
2972
3141
|
// src/components/Switch/Switch.tsx
|
|
2973
3142
|
var RadixSwitch = __toESM(require("@radix-ui/react-switch"), 1);
|
|
2974
|
-
var
|
|
3143
|
+
var import_react40 = require("react");
|
|
2975
3144
|
|
|
2976
3145
|
// src/components/Switch/Switch.css.ts
|
|
2977
|
-
var
|
|
3146
|
+
var import_createRuntimeFn21 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2978
3147
|
var label5 = "o33ul29";
|
|
2979
|
-
var
|
|
2980
|
-
var thumb2 = /* @__PURE__ */ (0,
|
|
2981
|
-
var track3 = /* @__PURE__ */ (0,
|
|
3148
|
+
var root10 = /* @__PURE__ */ (0, import_createRuntimeFn21.createRuntimeFn)({ defaultClassName: "o33ul20", variantClassNames: { size: { sm: "o33ul21", md: "o33ul22" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3149
|
+
var thumb2 = /* @__PURE__ */ (0, import_createRuntimeFn21.createRuntimeFn)({ defaultClassName: "o33ul26", variantClassNames: { size: { sm: "o33ul27", md: "o33ul28" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3150
|
+
var track3 = /* @__PURE__ */ (0, import_createRuntimeFn21.createRuntimeFn)({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2982
3151
|
|
|
2983
3152
|
// src/components/Switch/Switch.tsx
|
|
2984
|
-
var
|
|
2985
|
-
var Switch = /* @__PURE__ */ (0,
|
|
2986
|
-
const generatedId = (0,
|
|
3153
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3154
|
+
var Switch = /* @__PURE__ */ (0, import_react40.forwardRef)(function Switch2({ label: label6, size, id, className, disabled, "aria-label": ariaLabel, ...rest }, ref) {
|
|
3155
|
+
const generatedId = (0, import_react40.useId)();
|
|
2987
3156
|
const switchId = id ?? generatedId;
|
|
2988
|
-
return /* @__PURE__ */ (0,
|
|
2989
|
-
/* @__PURE__ */ (0,
|
|
3157
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: cx(root10({ size }), className), "data-disabled": disabled || void 0, children: [
|
|
3158
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2990
3159
|
RadixSwitch.Root,
|
|
2991
3160
|
{
|
|
2992
3161
|
ref,
|
|
@@ -2995,22 +3164,22 @@ var Switch = /* @__PURE__ */ (0, import_react38.forwardRef)(function Switch2({ l
|
|
|
2995
3164
|
"aria-label": ariaLabel,
|
|
2996
3165
|
className: track3({ size }),
|
|
2997
3166
|
...rest,
|
|
2998
|
-
children: /* @__PURE__ */ (0,
|
|
3167
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(RadixSwitch.Thumb, { className: thumb2({ size }) })
|
|
2999
3168
|
}
|
|
3000
3169
|
),
|
|
3001
|
-
label6 && /* @__PURE__ */ (0,
|
|
3170
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("label", { htmlFor: switchId, className: label5, children: label6 })
|
|
3002
3171
|
] });
|
|
3003
3172
|
});
|
|
3004
3173
|
|
|
3005
3174
|
// src/components/Table/Table.tsx
|
|
3006
|
-
var
|
|
3175
|
+
var import_react41 = require("react");
|
|
3007
3176
|
var import_icons16 = require("@bestow-ui/icons");
|
|
3008
3177
|
|
|
3009
3178
|
// src/components/Table/Table.css.ts
|
|
3010
|
-
var
|
|
3179
|
+
var import_createRuntimeFn22 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3011
3180
|
var body4 = "l3ploy5";
|
|
3012
3181
|
var caption = "l3ploy2";
|
|
3013
|
-
var cell2 = /* @__PURE__ */ (0,
|
|
3182
|
+
var cell2 = /* @__PURE__ */ (0, import_createRuntimeFn22.createRuntimeFn)({ defaultClassName: "l3ploy9", variantClassNames: { size: { sm: "l3ploya", md: "l3ployb" }, align: { left: "l3ployc", center: "l3ployd", right: "l3ploye" } }, defaultVariants: { size: "md", align: "left" }, compoundVariants: [] });
|
|
3014
3183
|
var container = "l3ploy0";
|
|
3015
3184
|
var footer4 = "l3ploy7";
|
|
3016
3185
|
var footerCell = "l3ployg";
|
|
@@ -3024,10 +3193,10 @@ var striped = "l3ploy6";
|
|
|
3024
3193
|
var table = "l3ploy1";
|
|
3025
3194
|
|
|
3026
3195
|
// src/components/Table/Table.tsx
|
|
3027
|
-
var
|
|
3028
|
-
var TableSizeContext = /* @__PURE__ */ (0,
|
|
3029
|
-
var TableSectionContext = /* @__PURE__ */ (0,
|
|
3030
|
-
var Table = /* @__PURE__ */ (0,
|
|
3196
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3197
|
+
var TableSizeContext = /* @__PURE__ */ (0, import_react41.createContext)("md");
|
|
3198
|
+
var TableSectionContext = /* @__PURE__ */ (0, import_react41.createContext)("body");
|
|
3199
|
+
var Table = /* @__PURE__ */ (0, import_react41.forwardRef)(function Table2({
|
|
3031
3200
|
size = "md",
|
|
3032
3201
|
striped: striped2,
|
|
3033
3202
|
stickyHeader: stickyHeader2,
|
|
@@ -3039,8 +3208,8 @@ var Table = /* @__PURE__ */ (0, import_react39.forwardRef)(function Table2({
|
|
|
3039
3208
|
children,
|
|
3040
3209
|
...rest
|
|
3041
3210
|
}, ref) {
|
|
3042
|
-
const captionId = (0,
|
|
3043
|
-
return /* @__PURE__ */ (0,
|
|
3211
|
+
const captionId = (0, import_react41.useId)();
|
|
3212
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(TableSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3044
3213
|
"div",
|
|
3045
3214
|
{
|
|
3046
3215
|
className: cx(container, containerClassName),
|
|
@@ -3049,7 +3218,7 @@ var Table = /* @__PURE__ */ (0, import_react39.forwardRef)(function Table2({
|
|
|
3049
3218
|
role: "region",
|
|
3050
3219
|
"aria-labelledby": caption2 ? captionId : void 0,
|
|
3051
3220
|
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
3052
|
-
children: /* @__PURE__ */ (0,
|
|
3221
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
3053
3222
|
"table",
|
|
3054
3223
|
{
|
|
3055
3224
|
ref,
|
|
@@ -3057,7 +3226,7 @@ var Table = /* @__PURE__ */ (0, import_react39.forwardRef)(function Table2({
|
|
|
3057
3226
|
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
3058
3227
|
...rest,
|
|
3059
3228
|
children: [
|
|
3060
|
-
caption2 && /* @__PURE__ */ (0,
|
|
3229
|
+
caption2 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("caption", { id: captionId, className: caption, children: caption2 }),
|
|
3061
3230
|
children
|
|
3062
3231
|
]
|
|
3063
3232
|
}
|
|
@@ -3065,31 +3234,31 @@ var Table = /* @__PURE__ */ (0, import_react39.forwardRef)(function Table2({
|
|
|
3065
3234
|
}
|
|
3066
3235
|
) });
|
|
3067
3236
|
});
|
|
3068
|
-
var TableHeader = /* @__PURE__ */ (0,
|
|
3237
|
+
var TableHeader = /* @__PURE__ */ (0, import_react41.forwardRef)(
|
|
3069
3238
|
function TableHeader2({ className, ...rest }, ref) {
|
|
3070
|
-
return /* @__PURE__ */ (0,
|
|
3239
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(TableSectionContext.Provider, { value: "header", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("thead", { ref, className: cx(header9, className), ...rest }) });
|
|
3071
3240
|
}
|
|
3072
3241
|
);
|
|
3073
|
-
var TableBody = /* @__PURE__ */ (0,
|
|
3242
|
+
var TableBody = /* @__PURE__ */ (0, import_react41.forwardRef)(
|
|
3074
3243
|
function TableBody2({ className, ...rest }, ref) {
|
|
3075
|
-
return /* @__PURE__ */ (0,
|
|
3244
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("tbody", { ref, className: cx(body4, className), ...rest }) });
|
|
3076
3245
|
}
|
|
3077
3246
|
);
|
|
3078
|
-
var TableFooter = /* @__PURE__ */ (0,
|
|
3247
|
+
var TableFooter = /* @__PURE__ */ (0, import_react41.forwardRef)(
|
|
3079
3248
|
function TableFooter2({ className, ...rest }, ref) {
|
|
3080
|
-
return /* @__PURE__ */ (0,
|
|
3249
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("tfoot", { ref, className: cx(footer4, className), ...rest }) });
|
|
3081
3250
|
}
|
|
3082
3251
|
);
|
|
3083
|
-
var TableRow = /* @__PURE__ */ (0,
|
|
3084
|
-
return /* @__PURE__ */ (0,
|
|
3252
|
+
var TableRow = /* @__PURE__ */ (0, import_react41.forwardRef)(function TableRow2({ selected, className, ...rest }, ref) {
|
|
3253
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("tr", { ref, className: cx(row3, className), "data-state": selected ? "selected" : void 0, ...rest });
|
|
3085
3254
|
});
|
|
3086
|
-
var TableHead = /* @__PURE__ */ (0,
|
|
3087
|
-
const size = (0,
|
|
3088
|
-
const section = (0,
|
|
3255
|
+
var TableHead = /* @__PURE__ */ (0, import_react41.forwardRef)(function TableHead2({ align, sortDirection, onSort, scope, className, children, ...rest }, ref) {
|
|
3256
|
+
const size = (0, import_react41.useContext)(TableSizeContext);
|
|
3257
|
+
const section = (0, import_react41.useContext)(TableSectionContext);
|
|
3089
3258
|
const sortable = onSort !== void 0;
|
|
3090
3259
|
const direction = sortDirection ?? "none";
|
|
3091
3260
|
const SortIcon = direction === "descending" ? import_icons16.ArrowDownIcon : import_icons16.ArrowUpIcon;
|
|
3092
|
-
return /* @__PURE__ */ (0,
|
|
3261
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3093
3262
|
"th",
|
|
3094
3263
|
{
|
|
3095
3264
|
ref,
|
|
@@ -3101,17 +3270,17 @@ var TableHead = /* @__PURE__ */ (0, import_react39.forwardRef)(function TableHea
|
|
|
3101
3270
|
className
|
|
3102
3271
|
),
|
|
3103
3272
|
...rest,
|
|
3104
|
-
children: sortable ? /* @__PURE__ */ (0,
|
|
3273
|
+
children: sortable ? /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("button", { type: "button", className: sortButton, onClick: onSort, children: [
|
|
3105
3274
|
children,
|
|
3106
|
-
/* @__PURE__ */ (0,
|
|
3275
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(SortIcon, { size: 14, className: sortIcon, "data-active": direction !== "none", "aria-hidden": true })
|
|
3107
3276
|
] }) : children
|
|
3108
3277
|
}
|
|
3109
3278
|
);
|
|
3110
3279
|
});
|
|
3111
|
-
var TableCell = /* @__PURE__ */ (0,
|
|
3112
|
-
const size = (0,
|
|
3113
|
-
const section = (0,
|
|
3114
|
-
return /* @__PURE__ */ (0,
|
|
3280
|
+
var TableCell = /* @__PURE__ */ (0, import_react41.forwardRef)(function TableCell2({ align, className, ...rest }, ref) {
|
|
3281
|
+
const size = (0, import_react41.useContext)(TableSizeContext);
|
|
3282
|
+
const section = (0, import_react41.useContext)(TableSectionContext);
|
|
3283
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3115
3284
|
"td",
|
|
3116
3285
|
{
|
|
3117
3286
|
ref,
|
|
@@ -3123,47 +3292,47 @@ var TableCell = /* @__PURE__ */ (0, import_react39.forwardRef)(function TableCel
|
|
|
3123
3292
|
|
|
3124
3293
|
// src/components/Tabs/Tabs.tsx
|
|
3125
3294
|
var RadixTabs = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
3126
|
-
var
|
|
3295
|
+
var import_react42 = require("react");
|
|
3127
3296
|
|
|
3128
3297
|
// src/components/Tabs/Tabs.css.ts
|
|
3129
|
-
var
|
|
3298
|
+
var import_createRuntimeFn23 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3130
3299
|
var content10 = "fvhbtda";
|
|
3131
|
-
var list4 = /* @__PURE__ */ (0,
|
|
3132
|
-
var trigger3 = /* @__PURE__ */ (0,
|
|
3300
|
+
var list4 = /* @__PURE__ */ (0, import_createRuntimeFn23.createRuntimeFn)({ defaultClassName: "fvhbtd0", variantClassNames: { variant: { line: "fvhbtd1", soft: "fvhbtd2" } }, defaultVariants: { variant: "line" }, compoundVariants: [] });
|
|
3301
|
+
var trigger3 = /* @__PURE__ */ (0, import_createRuntimeFn23.createRuntimeFn)({ defaultClassName: "fvhbtd3", variantClassNames: { variant: { line: "fvhbtd4", soft: "fvhbtd5" }, size: { sm: "fvhbtd6", md: "fvhbtd7" } }, defaultVariants: { variant: "line", size: "md" }, compoundVariants: [[{ variant: "soft", size: "sm" }, "fvhbtd8"], [{ variant: "soft", size: "md" }, "fvhbtd9"]] });
|
|
3133
3302
|
|
|
3134
3303
|
// src/components/Tabs/Tabs.tsx
|
|
3135
|
-
var
|
|
3136
|
-
var TabsStyleContext = /* @__PURE__ */ (0,
|
|
3137
|
-
var Tabs = /* @__PURE__ */ (0,
|
|
3304
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3305
|
+
var TabsStyleContext = /* @__PURE__ */ (0, import_react42.createContext)({ variant: "line", size: "md" });
|
|
3306
|
+
var Tabs = /* @__PURE__ */ (0, import_react42.forwardRef)(function Tabs2({ variant = "line", size = "md", ...props }, ref) {
|
|
3138
3307
|
const controlled = "value" in props ? { value: props.value ?? "" } : {};
|
|
3139
|
-
return /* @__PURE__ */ (0,
|
|
3308
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(TabsStyleContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixTabs.Root, { ref, ...props, ...controlled }) });
|
|
3140
3309
|
});
|
|
3141
|
-
var TabsList = /* @__PURE__ */ (0,
|
|
3142
|
-
const { variant } = (0,
|
|
3143
|
-
return /* @__PURE__ */ (0,
|
|
3310
|
+
var TabsList = /* @__PURE__ */ (0, import_react42.forwardRef)(function TabsList2({ className, ...rest }, ref) {
|
|
3311
|
+
const { variant } = (0, import_react42.useContext)(TabsStyleContext);
|
|
3312
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixTabs.List, { ref, className: cx(list4({ variant }), className), ...rest });
|
|
3144
3313
|
});
|
|
3145
|
-
var TabsTrigger = /* @__PURE__ */ (0,
|
|
3146
|
-
const { variant, size } = (0,
|
|
3147
|
-
return /* @__PURE__ */ (0,
|
|
3314
|
+
var TabsTrigger = /* @__PURE__ */ (0, import_react42.forwardRef)(function TabsTrigger2({ className, ...rest }, ref) {
|
|
3315
|
+
const { variant, size } = (0, import_react42.useContext)(TabsStyleContext);
|
|
3316
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixTabs.Trigger, { ref, className: cx(trigger3({ variant, size }), className), ...rest });
|
|
3148
3317
|
});
|
|
3149
|
-
var TabsContent = /* @__PURE__ */ (0,
|
|
3150
|
-
return /* @__PURE__ */ (0,
|
|
3318
|
+
var TabsContent = /* @__PURE__ */ (0, import_react42.forwardRef)(function TabsContent2({ className, ...rest }, ref) {
|
|
3319
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixTabs.Content, { ref, className: cx(content10, className), ...rest });
|
|
3151
3320
|
});
|
|
3152
3321
|
|
|
3153
3322
|
// src/components/Textarea/Textarea.tsx
|
|
3154
|
-
var
|
|
3323
|
+
var import_react43 = require("react");
|
|
3155
3324
|
|
|
3156
3325
|
// src/components/Textarea/Textarea.css.ts
|
|
3157
|
-
var
|
|
3326
|
+
var import_createRuntimeFn24 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3158
3327
|
var count = "_1koawa9";
|
|
3159
3328
|
var countOver = "_1koawaa";
|
|
3160
3329
|
var defaultWidth = "_1koawa7";
|
|
3161
3330
|
var footer5 = "_1koawa8";
|
|
3162
|
-
var textarea = /* @__PURE__ */ (0,
|
|
3331
|
+
var textarea = /* @__PURE__ */ (0, import_createRuntimeFn24.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
3332
|
|
|
3164
3333
|
// src/components/Textarea/Textarea.tsx
|
|
3165
|
-
var
|
|
3166
|
-
var Textarea = /* @__PURE__ */ (0,
|
|
3334
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3335
|
+
var Textarea = /* @__PURE__ */ (0, import_react43.forwardRef)(function Textarea2({
|
|
3167
3336
|
label: label6,
|
|
3168
3337
|
helperText: helperText3,
|
|
3169
3338
|
error,
|
|
@@ -3184,13 +3353,13 @@ var Textarea = /* @__PURE__ */ (0, import_react41.forwardRef)(function Textarea2
|
|
|
3184
3353
|
"aria-describedby": ariaDescribedBy,
|
|
3185
3354
|
...rest
|
|
3186
3355
|
}, ref) {
|
|
3187
|
-
const generatedId = (0,
|
|
3356
|
+
const generatedId = (0, import_react43.useId)();
|
|
3188
3357
|
const textareaId = id ?? generatedId;
|
|
3189
3358
|
const helperId = helperText3 ? `${textareaId}-helper` : void 0;
|
|
3190
|
-
const innerRef = (0,
|
|
3191
|
-
const [uncontrolledLength, setUncontrolledLength] = (0,
|
|
3359
|
+
const innerRef = (0, import_react43.useRef)(null);
|
|
3360
|
+
const [uncontrolledLength, setUncontrolledLength] = (0, import_react43.useState)(() => String(defaultValue ?? "").length);
|
|
3192
3361
|
const length = value4 !== void 0 ? String(value4).length : uncontrolledLength;
|
|
3193
|
-
const fitHeight = (0,
|
|
3362
|
+
const fitHeight = (0, import_react43.useCallback)(() => {
|
|
3194
3363
|
const el = innerRef.current;
|
|
3195
3364
|
if (!autoResize || !el) return;
|
|
3196
3365
|
el.style.height = "auto";
|
|
@@ -3203,12 +3372,12 @@ var Textarea = /* @__PURE__ */ (0, import_react41.forwardRef)(function Textarea2
|
|
|
3203
3372
|
fitHeight();
|
|
3204
3373
|
onChange?.(event);
|
|
3205
3374
|
};
|
|
3206
|
-
return /* @__PURE__ */ (0,
|
|
3207
|
-
label6 && /* @__PURE__ */ (0,
|
|
3375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
3376
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("label", { htmlFor: textareaId, className: label, children: [
|
|
3208
3377
|
label6,
|
|
3209
|
-
required && /* @__PURE__ */ (0,
|
|
3378
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
3210
3379
|
] }),
|
|
3211
|
-
/* @__PURE__ */ (0,
|
|
3380
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3212
3381
|
"textarea",
|
|
3213
3382
|
{
|
|
3214
3383
|
ref: mergeRefs(innerRef, ref),
|
|
@@ -3230,51 +3399,51 @@ var Textarea = /* @__PURE__ */ (0, import_react41.forwardRef)(function Textarea2
|
|
|
3230
3399
|
...rest
|
|
3231
3400
|
}
|
|
3232
3401
|
),
|
|
3233
|
-
(helperText3 || showCount) && /* @__PURE__ */ (0,
|
|
3234
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
3235
|
-
showCount && /* @__PURE__ */ (0,
|
|
3402
|
+
(helperText3 || showCount) && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: footer5, children: [
|
|
3403
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
|
|
3404
|
+
showCount && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
|
|
3236
3405
|
] })
|
|
3237
3406
|
] });
|
|
3238
3407
|
});
|
|
3239
3408
|
|
|
3240
3409
|
// src/components/Toast/Toast.tsx
|
|
3241
3410
|
var RadixToast = __toESM(require("@radix-ui/react-toast"), 1);
|
|
3242
|
-
var
|
|
3411
|
+
var import_react44 = require("react");
|
|
3243
3412
|
var import_icons17 = require("@bestow-ui/icons");
|
|
3244
3413
|
|
|
3245
3414
|
// src/components/Toast/Toast.css.ts
|
|
3246
|
-
var
|
|
3415
|
+
var import_createRuntimeFn25 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3247
3416
|
var action2 = "_1g11zvx9";
|
|
3248
3417
|
var close = "_1g11zvxa";
|
|
3249
3418
|
var description5 = "_1g11zvx8";
|
|
3250
3419
|
var title5 = "_1g11zvx7";
|
|
3251
|
-
var toast = /* @__PURE__ */ (0,
|
|
3420
|
+
var toast = /* @__PURE__ */ (0, import_createRuntimeFn25.createRuntimeFn)({ defaultClassName: "_1g11zvx1", variantClassNames: { color: { primary: "_1g11zvx2", neutral: "_1g11zvx3", success: "_1g11zvx4", warning: "_1g11zvx5", danger: "_1g11zvx6" } }, defaultVariants: { color: "neutral" }, compoundVariants: [] });
|
|
3252
3421
|
var viewport2 = "_1g11zvx0";
|
|
3253
3422
|
|
|
3254
3423
|
// src/components/Toast/Toast.tsx
|
|
3255
|
-
var
|
|
3424
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3256
3425
|
var REMOVE_DELAY = 500;
|
|
3257
|
-
var ToastContext = /* @__PURE__ */ (0,
|
|
3426
|
+
var ToastContext = /* @__PURE__ */ (0, import_react44.createContext)(null);
|
|
3258
3427
|
function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
3259
3428
|
const m = useMessages();
|
|
3260
3429
|
const label6 = labelProp ?? m.notifications ?? "\uC54C\uB9BC";
|
|
3261
|
-
const [toasts, setToasts] = (0,
|
|
3262
|
-
const nextId = (0,
|
|
3430
|
+
const [toasts, setToasts] = (0, import_react44.useState)([]);
|
|
3431
|
+
const nextId = (0, import_react44.useRef)(0);
|
|
3263
3432
|
const portal2 = usePortalProps();
|
|
3264
|
-
const toast2 = (0,
|
|
3433
|
+
const toast2 = (0, import_react44.useCallback)((options) => {
|
|
3265
3434
|
const id = nextId.current++;
|
|
3266
3435
|
setToasts((prev) => [...prev, { ...options, id, open: true }]);
|
|
3267
3436
|
return id;
|
|
3268
3437
|
}, []);
|
|
3269
|
-
const dismiss = (0,
|
|
3438
|
+
const dismiss = (0, import_react44.useCallback)((id) => {
|
|
3270
3439
|
const isTarget = (t) => id === void 0 || t.id === id;
|
|
3271
3440
|
setToasts((prev) => prev.map((t) => isTarget(t) ? { ...t, open: false } : t));
|
|
3272
3441
|
setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
|
|
3273
3442
|
}, []);
|
|
3274
|
-
const value4 = (0,
|
|
3275
|
-
return /* @__PURE__ */ (0,
|
|
3443
|
+
const value4 = (0, import_react44.useMemo)(() => ({ toast: toast2, dismiss }), [toast2, dismiss]);
|
|
3444
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ToastContext.Provider, { value: value4, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(RadixToast.Provider, { duration, label: label6, swipeDirection: "right", children: [
|
|
3276
3445
|
children,
|
|
3277
|
-
toasts.map(({ id, open, title: title6, description: description6, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */ (0,
|
|
3446
|
+
toasts.map(({ id, open, title: title6, description: description6, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
3278
3447
|
RadixToast.Root,
|
|
3279
3448
|
{
|
|
3280
3449
|
open,
|
|
@@ -3284,19 +3453,19 @@ function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
|
3284
3453
|
},
|
|
3285
3454
|
className: toast({ color }),
|
|
3286
3455
|
children: [
|
|
3287
|
-
/* @__PURE__ */ (0,
|
|
3288
|
-
description6 && /* @__PURE__ */ (0,
|
|
3289
|
-
action3 && /* @__PURE__ */ (0,
|
|
3290
|
-
/* @__PURE__ */ (0,
|
|
3456
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadixToast.Title, { className: title5, children: title6 }),
|
|
3457
|
+
description6 && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadixToast.Description, { className: description5, children: description6 }),
|
|
3458
|
+
action3 && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadixToast.Action, { asChild: true, altText: action3.altText ?? action3.label, className: action2, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action3.onClick, children: action3.label }) }),
|
|
3459
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadixToast.Close, { className: close, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons17.XIcon, { size: 16 }) })
|
|
3291
3460
|
]
|
|
3292
3461
|
},
|
|
3293
3462
|
id
|
|
3294
3463
|
)),
|
|
3295
|
-
/* @__PURE__ */ (0,
|
|
3464
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
|
|
3296
3465
|
] }) });
|
|
3297
3466
|
}
|
|
3298
3467
|
function useToast() {
|
|
3299
|
-
const context = (0,
|
|
3468
|
+
const context = (0, import_react44.useContext)(ToastContext);
|
|
3300
3469
|
if (!context) throw new Error("useToast \uB294 ToastProvider \uC548\uC5D0\uC11C \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4.");
|
|
3301
3470
|
return context;
|
|
3302
3471
|
}
|
|
@@ -3309,7 +3478,7 @@ var arrow2 = "z7rufs1";
|
|
|
3309
3478
|
var content11 = "z7rufs0";
|
|
3310
3479
|
|
|
3311
3480
|
// src/components/Tooltip/Tooltip.tsx
|
|
3312
|
-
var
|
|
3481
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3313
3482
|
function Tooltip({
|
|
3314
3483
|
content: content12,
|
|
3315
3484
|
children,
|
|
@@ -3324,9 +3493,9 @@ function Tooltip({
|
|
|
3324
3493
|
}) {
|
|
3325
3494
|
const portal2 = usePortalProps();
|
|
3326
3495
|
if (disabled || content12 == null || content12 === "") return children;
|
|
3327
|
-
return /* @__PURE__ */ (0,
|
|
3328
|
-
/* @__PURE__ */ (0,
|
|
3329
|
-
/* @__PURE__ */ (0,
|
|
3496
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
|
|
3497
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadixTooltip.Trigger, { asChild: true, children }),
|
|
3498
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadixTooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
3330
3499
|
RadixTooltip.Content,
|
|
3331
3500
|
{
|
|
3332
3501
|
side,
|
|
@@ -3337,7 +3506,7 @@ function Tooltip({
|
|
|
3337
3506
|
style: portal2.style,
|
|
3338
3507
|
children: [
|
|
3339
3508
|
content12,
|
|
3340
|
-
/* @__PURE__ */ (0,
|
|
3509
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadixTooltip.Arrow, { className: arrow2, width: 10, height: 5 })
|
|
3341
3510
|
]
|
|
3342
3511
|
}
|
|
3343
3512
|
) })
|
|
@@ -3345,14 +3514,14 @@ function Tooltip({
|
|
|
3345
3514
|
}
|
|
3346
3515
|
|
|
3347
3516
|
// src/components/Typography/Typography.tsx
|
|
3348
|
-
var
|
|
3517
|
+
var import_react45 = require("react");
|
|
3349
3518
|
|
|
3350
3519
|
// src/components/Typography/Typography.css.ts
|
|
3351
|
-
var
|
|
3352
|
-
var typography = /* @__PURE__ */ (0,
|
|
3520
|
+
var import_createRuntimeFn26 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3521
|
+
var typography = /* @__PURE__ */ (0, import_createRuntimeFn26.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
3522
|
|
|
3354
3523
|
// src/components/Typography/Typography.tsx
|
|
3355
|
-
var
|
|
3524
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3356
3525
|
var defaultElement = {
|
|
3357
3526
|
display: "h1",
|
|
3358
3527
|
h1: "h1",
|
|
@@ -3364,9 +3533,9 @@ var defaultElement = {
|
|
|
3364
3533
|
"body-sm": "p",
|
|
3365
3534
|
caption: "span"
|
|
3366
3535
|
};
|
|
3367
|
-
var Typography = /* @__PURE__ */ (0,
|
|
3536
|
+
var Typography = /* @__PURE__ */ (0, import_react45.forwardRef)(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
|
|
3368
3537
|
const Component = as ?? defaultElement[variant];
|
|
3369
|
-
return /* @__PURE__ */ (0,
|
|
3538
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3370
3539
|
Component,
|
|
3371
3540
|
{
|
|
3372
3541
|
ref,
|
|
@@ -3377,7 +3546,7 @@ var Typography = /* @__PURE__ */ (0, import_react43.forwardRef)(function Typogra
|
|
|
3377
3546
|
});
|
|
3378
3547
|
|
|
3379
3548
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
3380
|
-
var
|
|
3549
|
+
var import_react46 = require("react");
|
|
3381
3550
|
|
|
3382
3551
|
// src/components/VerificationCodeInput/VerificationCodeInput.css.ts
|
|
3383
3552
|
var input4 = "ea01812";
|
|
@@ -3387,9 +3556,9 @@ var slots = "ea01811";
|
|
|
3387
3556
|
var timer = "ea01814";
|
|
3388
3557
|
|
|
3389
3558
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
3390
|
-
var
|
|
3559
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3391
3560
|
var formatTime = (seconds) => `${String(Math.floor(seconds / 60)).padStart(2, "0")}:${String(seconds % 60).padStart(2, "0")}`;
|
|
3392
|
-
var VerificationCodeInput = /* @__PURE__ */ (0,
|
|
3561
|
+
var VerificationCodeInput = /* @__PURE__ */ (0, import_react46.forwardRef)(
|
|
3393
3562
|
function VerificationCodeInput2(props, ref) {
|
|
3394
3563
|
const {
|
|
3395
3564
|
length = 6,
|
|
@@ -3416,23 +3585,23 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3416
3585
|
const label6 = labelProp ?? m.verificationCode ?? "\uC778\uC99D\uBC88\uD638";
|
|
3417
3586
|
const resendText = resendTextProp ?? m.resend ?? "\uC7AC\uC804\uC1A1";
|
|
3418
3587
|
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,
|
|
3588
|
+
const generatedId = (0, import_react46.useId)();
|
|
3420
3589
|
const inputId = id ?? generatedId;
|
|
3421
3590
|
const helperId = `${inputId}-helper`;
|
|
3422
3591
|
const statusId = `${inputId}-status`;
|
|
3423
|
-
const inputRef = (0,
|
|
3592
|
+
const inputRef = (0, import_react46.useRef)(null);
|
|
3424
3593
|
const isControlled = "value" in props;
|
|
3425
|
-
const [innerValue, setInnerValue] = (0,
|
|
3594
|
+
const [innerValue, setInnerValue] = (0, import_react46.useState)(defaultValue ?? "");
|
|
3426
3595
|
const code = (isControlled ? value4 ?? "" : innerValue).slice(0, length);
|
|
3427
|
-
const [focused, setFocused] = (0,
|
|
3428
|
-
const [endAt, setEndAt] = (0,
|
|
3429
|
-
const [remaining, setRemaining] = (0,
|
|
3596
|
+
const [focused, setFocused] = (0, import_react46.useState)(false);
|
|
3597
|
+
const [endAt, setEndAt] = (0, import_react46.useState)(() => expiresIn ? Date.now() + expiresIn * 1e3 : null);
|
|
3598
|
+
const [remaining, setRemaining] = (0, import_react46.useState)(expiresIn ?? 0);
|
|
3430
3599
|
const expired = expiresIn !== void 0 && remaining <= 0;
|
|
3431
|
-
const onExpireRef = (0,
|
|
3432
|
-
(0,
|
|
3600
|
+
const onExpireRef = (0, import_react46.useRef)(onExpire);
|
|
3601
|
+
(0, import_react46.useEffect)(() => {
|
|
3433
3602
|
onExpireRef.current = onExpire;
|
|
3434
3603
|
});
|
|
3435
|
-
(0,
|
|
3604
|
+
(0, import_react46.useEffect)(() => {
|
|
3436
3605
|
if (endAt === null) return;
|
|
3437
3606
|
const tick = () => {
|
|
3438
3607
|
const left = Math.max(0, Math.ceil((endAt - Date.now()) / 1e3));
|
|
@@ -3467,17 +3636,17 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3467
3636
|
};
|
|
3468
3637
|
const description6 = helperText3 ?? m.verificationCodeHint?.(length, type) ?? `${length}\uC790\uB9AC ${type === "numeric" ? "\uC22B\uC790" : "\uBB38\uC790"}\uB97C \uC785\uB825\uD558\uC138\uC694.`;
|
|
3469
3638
|
const activeIndex = Math.min(code.length, length - 1);
|
|
3470
|
-
return /* @__PURE__ */ (0,
|
|
3639
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
3471
3640
|
"div",
|
|
3472
3641
|
{
|
|
3473
3642
|
className: cx(field, className),
|
|
3474
3643
|
"data-invalid": error || void 0,
|
|
3475
3644
|
"data-disabled": disabled || void 0,
|
|
3476
3645
|
children: [
|
|
3477
|
-
/* @__PURE__ */ (0,
|
|
3478
|
-
/* @__PURE__ */ (0,
|
|
3479
|
-
/* @__PURE__ */ (0,
|
|
3480
|
-
/* @__PURE__ */ (0,
|
|
3646
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("label", { htmlFor: inputId, className: label, children: label6 }),
|
|
3647
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: row4, children: [
|
|
3648
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: slots, children: [
|
|
3649
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3481
3650
|
"input",
|
|
3482
3651
|
{
|
|
3483
3652
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -3497,7 +3666,7 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3497
3666
|
className: input4
|
|
3498
3667
|
}
|
|
3499
3668
|
),
|
|
3500
|
-
Array.from({ length }, (_, index) => /* @__PURE__ */ (0,
|
|
3669
|
+
Array.from({ length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3501
3670
|
"div",
|
|
3502
3671
|
{
|
|
3503
3672
|
className: slot,
|
|
@@ -3508,12 +3677,12 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3508
3677
|
index
|
|
3509
3678
|
))
|
|
3510
3679
|
] }),
|
|
3511
|
-
expiresIn !== void 0 && /* @__PURE__ */ (0,
|
|
3512
|
-
onResend && /* @__PURE__ */ (0,
|
|
3680
|
+
expiresIn !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { role: "timer", className: timer, children: formatTime(remaining) }),
|
|
3681
|
+
onResend && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Button, { size: "sm", variant: "outline", color: "neutral", onClick: resend, disabled, children: resendText })
|
|
3513
3682
|
] }),
|
|
3514
|
-
/* @__PURE__ */ (0,
|
|
3515
|
-
/* @__PURE__ */ (0,
|
|
3516
|
-
name && /* @__PURE__ */ (0,
|
|
3683
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { id: helperId, className: helperText({ error }), children: description6 }),
|
|
3684
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { id: statusId, role: "status", className: helperText({ error: true }), children: expired ? expiredText : "" }),
|
|
3685
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("input", { type: "hidden", name, value: code })
|
|
3517
3686
|
]
|
|
3518
3687
|
}
|
|
3519
3688
|
);
|
|
@@ -3562,8 +3731,10 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3562
3731
|
PopoverClose,
|
|
3563
3732
|
Progress,
|
|
3564
3733
|
RadioGroup,
|
|
3734
|
+
SegmentedControl,
|
|
3565
3735
|
Select,
|
|
3566
3736
|
Skeleton,
|
|
3737
|
+
SkipLink,
|
|
3567
3738
|
Slider,
|
|
3568
3739
|
Spinner,
|
|
3569
3740
|
Stack,
|