@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/client.js
CHANGED
|
@@ -631,7 +631,7 @@ var AgreementGroup = /* @__PURE__ */ forwardRef9(
|
|
|
631
631
|
if (!isControlled) setInnerValue(next);
|
|
632
632
|
onValueChange?.(next);
|
|
633
633
|
};
|
|
634
|
-
const allValues = items2.map((
|
|
634
|
+
const allValues = items2.map((item8) => item8.value);
|
|
635
635
|
const agreedCount = allValues.filter((v) => agreed.includes(v)).length;
|
|
636
636
|
const allChecked = items2.length > 0 && agreedCount === items2.length;
|
|
637
637
|
const toggleItem = (itemValue, checked) => update(checked ? [...agreed.filter((v) => v !== itemValue), itemValue] : agreed.filter((v) => v !== itemValue));
|
|
@@ -655,28 +655,28 @@ var AgreementGroup = /* @__PURE__ */ forwardRef9(
|
|
|
655
655
|
onChange: (event) => update(event.target.checked ? allValues : [])
|
|
656
656
|
}
|
|
657
657
|
) }),
|
|
658
|
-
/* @__PURE__ */ jsx11("ul", { className: list, children: items2.map((
|
|
659
|
-
const labelId = `${baseId}-${
|
|
660
|
-
const toggleTextId = `${baseId}-${
|
|
661
|
-
const contentId = `${baseId}-${
|
|
662
|
-
const isOpen = expanded.includes(
|
|
658
|
+
/* @__PURE__ */ jsx11("ul", { className: list, children: items2.map((item8) => {
|
|
659
|
+
const labelId = `${baseId}-${item8.value}-label`;
|
|
660
|
+
const toggleTextId = `${baseId}-${item8.value}-toggle`;
|
|
661
|
+
const contentId = `${baseId}-${item8.value}-content`;
|
|
662
|
+
const isOpen = expanded.includes(item8.value);
|
|
663
663
|
return /* @__PURE__ */ jsxs9("li", { className: item2, children: [
|
|
664
664
|
/* @__PURE__ */ jsxs9("div", { className: row2, children: [
|
|
665
665
|
/* @__PURE__ */ jsx11(
|
|
666
666
|
Checkbox,
|
|
667
667
|
{
|
|
668
668
|
size: "sm",
|
|
669
|
-
checked: agreed.includes(
|
|
670
|
-
invalid: error &&
|
|
671
|
-
onChange: (event) => toggleItem(
|
|
669
|
+
checked: agreed.includes(item8.value),
|
|
670
|
+
invalid: error && item8.required && !agreed.includes(item8.value),
|
|
671
|
+
onChange: (event) => toggleItem(item8.value, event.target.checked),
|
|
672
672
|
label: /* @__PURE__ */ jsxs9("span", { id: labelId, children: [
|
|
673
|
-
/* @__PURE__ */ jsx11("span", { className: tag, "data-required":
|
|
673
|
+
/* @__PURE__ */ jsx11("span", { className: tag, "data-required": item8.required || void 0, children: item8.required ? requiredText : optionalText }),
|
|
674
674
|
" ",
|
|
675
|
-
|
|
675
|
+
item8.label
|
|
676
676
|
] })
|
|
677
677
|
}
|
|
678
678
|
),
|
|
679
|
-
|
|
679
|
+
item8.content && /* @__PURE__ */ jsxs9(
|
|
680
680
|
"button",
|
|
681
681
|
{
|
|
682
682
|
type: "button",
|
|
@@ -684,7 +684,7 @@ var AgreementGroup = /* @__PURE__ */ forwardRef9(
|
|
|
684
684
|
"aria-expanded": isOpen,
|
|
685
685
|
"aria-controls": contentId,
|
|
686
686
|
"aria-labelledby": `${labelId} ${toggleTextId}`,
|
|
687
|
-
onClick: () => setExpanded((prev) => isOpen ? prev.filter((v) => v !==
|
|
687
|
+
onClick: () => setExpanded((prev) => isOpen ? prev.filter((v) => v !== item8.value) : [...prev, item8.value]),
|
|
688
688
|
children: [
|
|
689
689
|
/* @__PURE__ */ jsx11("span", { id: toggleTextId, children: isOpen ? hideText : showText }),
|
|
690
690
|
/* @__PURE__ */ jsx11(ChevronDownIcon2, { size: 14, className: chevron2 })
|
|
@@ -692,10 +692,10 @@ var AgreementGroup = /* @__PURE__ */ forwardRef9(
|
|
|
692
692
|
}
|
|
693
693
|
)
|
|
694
694
|
] }),
|
|
695
|
-
|
|
695
|
+
item8.content && isOpen && // 내용이 길면 스크롤된다 — 키보드로도 스크롤할 수 있게 포커스를 받는 이름 있는 영역으로 둔다
|
|
696
696
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
|
|
697
|
-
/* @__PURE__ */ jsx11("div", { id: contentId, role: "region", "aria-labelledby": labelId, tabIndex: 0, className: content3, children:
|
|
698
|
-
] },
|
|
697
|
+
/* @__PURE__ */ jsx11("div", { id: contentId, role: "region", "aria-labelledby": labelId, tabIndex: 0, className: content3, children: item8.content })
|
|
698
|
+
] }, item8.value);
|
|
699
699
|
}) })
|
|
700
700
|
] }),
|
|
701
701
|
name && agreed.map((v) => /* @__PURE__ */ jsx11("input", { type: "hidden", name, value: v }, v)),
|
|
@@ -733,7 +733,7 @@ var Alert = /* @__PURE__ */ forwardRef10(function Alert2({
|
|
|
733
733
|
variant,
|
|
734
734
|
color = "primary",
|
|
735
735
|
title: title6,
|
|
736
|
-
icon:
|
|
736
|
+
icon: icon7,
|
|
737
737
|
action: action3,
|
|
738
738
|
onClose,
|
|
739
739
|
closeLabel: closeLabelProp,
|
|
@@ -744,7 +744,7 @@ var Alert = /* @__PURE__ */ forwardRef10(function Alert2({
|
|
|
744
744
|
const m = useMessages();
|
|
745
745
|
const closeLabel = closeLabelProp ?? m.close ?? "\uB2EB\uAE30";
|
|
746
746
|
const DefaultIcon = defaultIcons[color];
|
|
747
|
-
const iconNode =
|
|
747
|
+
const iconNode = icon7 === void 0 ? /* @__PURE__ */ jsx12(DefaultIcon, { size: 18 }) : icon7;
|
|
748
748
|
return /* @__PURE__ */ jsxs10("div", { ref, className: cx(alert({ variant, color }), className), ...rest, children: [
|
|
749
749
|
iconNode !== false && iconNode !== null && /* @__PURE__ */ jsx12("span", { className: icon2, "aria-hidden": true, children: iconNode }),
|
|
750
750
|
/* @__PURE__ */ jsxs10("div", { className: content4, children: [
|
|
@@ -1015,11 +1015,11 @@ var Breadcrumb = /* @__PURE__ */ forwardRef15(function Breadcrumb2({ items: item
|
|
|
1015
1015
|
const m = useMessages();
|
|
1016
1016
|
const ariaLabel = ariaLabelProp ?? m.breadcrumb ?? "\uC774\uB3D9 \uACBD\uB85C";
|
|
1017
1017
|
const sep = separator3 ?? /* @__PURE__ */ jsx17(ChevronRightIcon, { size: 14 });
|
|
1018
|
-
return /* @__PURE__ */ jsx17("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ jsx17("ol", { className: list2, children: items2.map((
|
|
1018
|
+
return /* @__PURE__ */ jsx17("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ jsx17("ol", { className: list2, children: items2.map((item8, index) => {
|
|
1019
1019
|
const isCurrent = index === items2.length - 1;
|
|
1020
1020
|
return /* @__PURE__ */ jsxs15("li", { className: item3, children: [
|
|
1021
1021
|
index > 0 && /* @__PURE__ */ jsx17("span", { className: separator, "aria-hidden": true, children: sep }),
|
|
1022
|
-
isCurrent ||
|
|
1022
|
+
isCurrent || item8.href === void 0 ? /* @__PURE__ */ jsx17("span", { className: isCurrent ? current : void 0, "aria-current": isCurrent ? "page" : void 0, children: item8.label }) : /* @__PURE__ */ jsx17(Link, { as: linkAs, href: item8.href, color: "neutral", underline: "hover", className: link2, children: item8.label })
|
|
1023
1023
|
] }, index);
|
|
1024
1024
|
}) }) });
|
|
1025
1025
|
});
|
|
@@ -1322,7 +1322,7 @@ import {
|
|
|
1322
1322
|
useRef as useRef8,
|
|
1323
1323
|
useState as useState6
|
|
1324
1324
|
} from "react";
|
|
1325
|
-
import { CheckIcon, ChevronDownIcon as ChevronDownIcon3 } from "@bestow-ui/icons";
|
|
1325
|
+
import { CheckIcon, ChevronDownIcon as ChevronDownIcon3, XIcon as XIcon3 } from "@bestow-ui/icons";
|
|
1326
1326
|
|
|
1327
1327
|
// src/components/Select/Select.css.ts
|
|
1328
1328
|
var content5 = "_1kx81e83";
|
|
@@ -1334,9 +1334,10 @@ var value = "_1kx81e81";
|
|
|
1334
1334
|
var viewport = "_1kx81e84";
|
|
1335
1335
|
|
|
1336
1336
|
// src/components/Combobox/Combobox.css.ts
|
|
1337
|
-
var
|
|
1338
|
-
var
|
|
1339
|
-
var
|
|
1337
|
+
var clear = "c2pbq72 c2pbq70";
|
|
1338
|
+
var content6 = "c2pbq73";
|
|
1339
|
+
var empty = "c2pbq74";
|
|
1340
|
+
var toggle2 = "c2pbq71 c2pbq70";
|
|
1340
1341
|
|
|
1341
1342
|
// src/components/Combobox/Combobox.tsx
|
|
1342
1343
|
import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
@@ -1361,11 +1362,14 @@ var Combobox = /* @__PURE__ */ forwardRef20(function Combobox2(props, ref) {
|
|
|
1361
1362
|
id,
|
|
1362
1363
|
"aria-label": ariaLabel,
|
|
1363
1364
|
toggleLabel: toggleLabelProp,
|
|
1365
|
+
clearable,
|
|
1366
|
+
clearLabel: clearLabelProp,
|
|
1364
1367
|
className
|
|
1365
1368
|
} = props;
|
|
1366
1369
|
const m = useMessages();
|
|
1367
1370
|
const emptyMessage = emptyMessageProp ?? m.noResults ?? "\uACB0\uACFC\uAC00 \uC5C6\uC5B4\uC694";
|
|
1368
1371
|
const toggleLabel = toggleLabelProp ?? m.openList ?? "\uBAA9\uB85D \uC5F4\uAE30";
|
|
1372
|
+
const clearLabel = clearLabelProp ?? m.clearSelection ?? "\uC120\uD0DD \uC9C0\uC6B0\uAE30";
|
|
1369
1373
|
const generatedId = useId5();
|
|
1370
1374
|
const inputId = id ?? generatedId;
|
|
1371
1375
|
const labelId = `${inputId}-label`;
|
|
@@ -1395,16 +1399,24 @@ var Combobox = /* @__PURE__ */ forwardRef20(function Combobox2(props, ref) {
|
|
|
1395
1399
|
selectedIndex >= 0 && !list5[selectedIndex].disabled ? selectedIndex : preferLast ? firstEnabled(list5, list5.length - 1, -1) : firstEnabled(list5)
|
|
1396
1400
|
);
|
|
1397
1401
|
};
|
|
1398
|
-
const
|
|
1402
|
+
const reset = () => {
|
|
1399
1403
|
setOpen(false);
|
|
1400
1404
|
setQuery(null);
|
|
1401
1405
|
setActiveIndex(-1);
|
|
1402
1406
|
};
|
|
1407
|
+
const clearSelection = () => {
|
|
1408
|
+
if (!isControlled) setInnerValue(void 0);
|
|
1409
|
+
if (selectedValue) onValueChange?.("");
|
|
1410
|
+
};
|
|
1411
|
+
const close2 = () => {
|
|
1412
|
+
if (query === "" && selectedValue) clearSelection();
|
|
1413
|
+
reset();
|
|
1414
|
+
};
|
|
1403
1415
|
const select = (option2) => {
|
|
1404
1416
|
if (option2.disabled) return;
|
|
1405
1417
|
if (!isControlled) setInnerValue(option2.value);
|
|
1406
1418
|
if (option2.value !== selectedValue) onValueChange?.(option2.value);
|
|
1407
|
-
|
|
1419
|
+
reset();
|
|
1408
1420
|
};
|
|
1409
1421
|
const move = (step) => {
|
|
1410
1422
|
const start = activeIndex < 0 ? step === 1 ? 0 : filtered.length - 1 : activeIndex + step;
|
|
@@ -1416,7 +1428,7 @@ var Combobox = /* @__PURE__ */ forwardRef20(function Combobox2(props, ref) {
|
|
|
1416
1428
|
const nextList = nextQuery ? options.filter((o) => filter(o, nextQuery)) : options;
|
|
1417
1429
|
setQuery(nextQuery);
|
|
1418
1430
|
setOpen(true);
|
|
1419
|
-
setActiveIndex(firstEnabled(nextList));
|
|
1431
|
+
setActiveIndex(nextQuery ? firstEnabled(nextList) : -1);
|
|
1420
1432
|
};
|
|
1421
1433
|
const handleKeyDown = (event) => {
|
|
1422
1434
|
switch (event.key) {
|
|
@@ -1435,6 +1447,7 @@ var Combobox = /* @__PURE__ */ forwardRef20(function Combobox2(props, ref) {
|
|
|
1435
1447
|
event.preventDefault();
|
|
1436
1448
|
const option2 = filtered[activeIndex];
|
|
1437
1449
|
if (option2) select(option2);
|
|
1450
|
+
else close2();
|
|
1438
1451
|
}
|
|
1439
1452
|
break;
|
|
1440
1453
|
case "Escape":
|
|
@@ -1494,6 +1507,22 @@ var Combobox = /* @__PURE__ */ forwardRef20(function Combobox2(props, ref) {
|
|
|
1494
1507
|
className: input
|
|
1495
1508
|
}
|
|
1496
1509
|
),
|
|
1510
|
+
clearable && selectedOption && !disabled && /* @__PURE__ */ jsx22(
|
|
1511
|
+
"button",
|
|
1512
|
+
{
|
|
1513
|
+
type: "button",
|
|
1514
|
+
tabIndex: -1,
|
|
1515
|
+
"aria-label": clearLabel,
|
|
1516
|
+
className: clear,
|
|
1517
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
1518
|
+
onClick: () => {
|
|
1519
|
+
clearSelection();
|
|
1520
|
+
reset();
|
|
1521
|
+
inputRef.current?.focus();
|
|
1522
|
+
},
|
|
1523
|
+
children: /* @__PURE__ */ jsx22(XIcon3, { size: 16 })
|
|
1524
|
+
}
|
|
1525
|
+
),
|
|
1497
1526
|
/* @__PURE__ */ jsx22(
|
|
1498
1527
|
"button",
|
|
1499
1528
|
{
|
|
@@ -1581,7 +1610,7 @@ import { CalendarIcon } from "@bestow-ui/icons";
|
|
|
1581
1610
|
|
|
1582
1611
|
// src/components/Popover/Popover.tsx
|
|
1583
1612
|
import * as RadixPopover from "@radix-ui/react-popover";
|
|
1584
|
-
import { XIcon as
|
|
1613
|
+
import { XIcon as XIcon4 } from "@bestow-ui/icons";
|
|
1585
1614
|
import { useId as useId6 } from "react";
|
|
1586
1615
|
|
|
1587
1616
|
// src/components/Popover/Popover.css.ts
|
|
@@ -1630,7 +1659,7 @@ function Popover2({
|
|
|
1630
1659
|
children: [
|
|
1631
1660
|
(title6 || showClose) && /* @__PURE__ */ jsxs18("div", { className: header5, children: [
|
|
1632
1661
|
title6 && /* @__PURE__ */ jsx23("h2", { id: titleId, className: title3, children: title6 }),
|
|
1633
|
-
showClose && /* @__PURE__ */ jsx23(RadixPopover.Close, { className: closeButton3, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ jsx23(
|
|
1662
|
+
showClose && /* @__PURE__ */ jsx23(RadixPopover.Close, { className: closeButton3, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ jsx23(XIcon4, { size: 16 }) })
|
|
1634
1663
|
] }),
|
|
1635
1664
|
content12,
|
|
1636
1665
|
showArrow && /* @__PURE__ */ jsx23(RadixPopover.Arrow, { className: arrow, width: 12, height: 6 })
|
|
@@ -1803,7 +1832,7 @@ var Divider = /* @__PURE__ */ forwardRef22(function Divider2({ orientation = "ho
|
|
|
1803
1832
|
|
|
1804
1833
|
// src/components/Drawer/Drawer.tsx
|
|
1805
1834
|
import * as Dialog2 from "@radix-ui/react-dialog";
|
|
1806
|
-
import { XIcon as
|
|
1835
|
+
import { XIcon as XIcon5 } from "@bestow-ui/icons";
|
|
1807
1836
|
|
|
1808
1837
|
// src/components/Drawer/Drawer.css.ts
|
|
1809
1838
|
import { createRuntimeFn as _7a46813 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
@@ -1857,7 +1886,7 @@ function Drawer({
|
|
|
1857
1886
|
/* @__PURE__ */ jsx26(Dialog2.Title, { className: title4, children: title6 }),
|
|
1858
1887
|
description6 && /* @__PURE__ */ jsx26(Dialog2.Description, { className: description3, children: description6 })
|
|
1859
1888
|
] }),
|
|
1860
|
-
!hideCloseButton && /* @__PURE__ */ jsx26(Dialog2.Close, { asChild: true, children: /* @__PURE__ */ jsx26(IconButton, { "aria-label": m.close ?? "\uB2EB\uAE30", size: "sm", className: closeButton4, children: /* @__PURE__ */ jsx26(
|
|
1889
|
+
!hideCloseButton && /* @__PURE__ */ jsx26(Dialog2.Close, { asChild: true, children: /* @__PURE__ */ jsx26(IconButton, { "aria-label": m.close ?? "\uB2EB\uAE30", size: "sm", className: closeButton4, children: /* @__PURE__ */ jsx26(XIcon5, {}) }) })
|
|
1861
1890
|
] }),
|
|
1862
1891
|
children && /* @__PURE__ */ jsx26("div", { className: body3, children }),
|
|
1863
1892
|
footer6 && /* @__PURE__ */ jsx26("div", { className: footer3, children: footer6 })
|
|
@@ -1906,9 +1935,9 @@ var DropdownMenuContent = /* @__PURE__ */ forwardRef23(
|
|
|
1906
1935
|
}
|
|
1907
1936
|
);
|
|
1908
1937
|
var DropdownMenuItem = /* @__PURE__ */ forwardRef23(
|
|
1909
|
-
function DropdownMenuItem2({ icon:
|
|
1938
|
+
function DropdownMenuItem2({ icon: icon7, shortcut: shortcut2, color = "neutral", className, children, ...rest }, ref) {
|
|
1910
1939
|
return /* @__PURE__ */ jsxs22(RadixMenu.Item, { ref, className: cx(item5, color === "danger" && danger, className), ...rest, children: [
|
|
1911
|
-
|
|
1940
|
+
icon7 && /* @__PURE__ */ jsx27("span", { className: icon5, "aria-hidden": true, children: icon7 }),
|
|
1912
1941
|
children,
|
|
1913
1942
|
shortcut2 && /* @__PURE__ */ jsx27("span", { className: shortcut, "aria-hidden": true, children: shortcut2 })
|
|
1914
1943
|
] });
|
|
@@ -1999,17 +2028,17 @@ var Pagination = /* @__PURE__ */ forwardRef24(function Pagination2({
|
|
|
1999
2028
|
}
|
|
2000
2029
|
) }),
|
|
2001
2030
|
getPaginationItems(page, totalPages, siblingCount, boundaryCount).map(
|
|
2002
|
-
(
|
|
2031
|
+
(item8) => typeof item8 === "number" ? /* @__PURE__ */ jsx28("li", { children: /* @__PURE__ */ jsx28(
|
|
2003
2032
|
"button",
|
|
2004
2033
|
{
|
|
2005
2034
|
type: "button",
|
|
2006
2035
|
className: itemClass,
|
|
2007
|
-
"aria-label": getItemLabel("page",
|
|
2008
|
-
"aria-current":
|
|
2009
|
-
onClick: () => goTo(
|
|
2010
|
-
children:
|
|
2036
|
+
"aria-label": getItemLabel("page", item8),
|
|
2037
|
+
"aria-current": item8 === page ? "page" : void 0,
|
|
2038
|
+
onClick: () => goTo(item8),
|
|
2039
|
+
children: item8
|
|
2011
2040
|
}
|
|
2012
|
-
) },
|
|
2041
|
+
) }, item8) : /* @__PURE__ */ jsx28("li", { "aria-hidden": true, className: cx(itemClass, ellipsis), children: "\u2026" }, item8)
|
|
2013
2042
|
),
|
|
2014
2043
|
/* @__PURE__ */ jsx28("li", { children: /* @__PURE__ */ jsx28(
|
|
2015
2044
|
"button",
|
|
@@ -2229,12 +2258,125 @@ var RadioGroup = /* @__PURE__ */ forwardRef27(function RadioGroup2(props, ref) {
|
|
|
2229
2258
|
] });
|
|
2230
2259
|
});
|
|
2231
2260
|
|
|
2261
|
+
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
2262
|
+
import { forwardRef as forwardRef28, useId as useId9, useRef as useRef11, useState as useState9 } from "react";
|
|
2263
|
+
|
|
2264
|
+
// src/components/SegmentedControl/SegmentedControl.css.ts
|
|
2265
|
+
import { createRuntimeFn as _7a46817 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
2266
|
+
var icon6 = "_1h65mmo7";
|
|
2267
|
+
var item7 = /* @__PURE__ */ _7a46817({ defaultClassName: "_1h65mmo2", variantClassNames: { size: { sm: "_1h65mmo3", md: "_1h65mmo4", lg: "_1h65mmo5" }, fullWidth: { true: "_1h65mmo6" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2268
|
+
var root8 = /* @__PURE__ */ _7a46817({ defaultClassName: "_1h65mmo0", variantClassNames: { fullWidth: { true: "_1h65mmo1" } }, defaultVariants: {}, compoundVariants: [] });
|
|
2269
|
+
|
|
2270
|
+
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
2271
|
+
import { jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
2272
|
+
var NEXT_KEYS = { ArrowRight: 1, ArrowDown: 1, ArrowLeft: -1, ArrowUp: -1 };
|
|
2273
|
+
var SegmentedControl = /* @__PURE__ */ forwardRef28(
|
|
2274
|
+
function SegmentedControl2(props, ref) {
|
|
2275
|
+
const {
|
|
2276
|
+
options,
|
|
2277
|
+
value: value4,
|
|
2278
|
+
defaultValue,
|
|
2279
|
+
onValueChange,
|
|
2280
|
+
label: label6,
|
|
2281
|
+
"aria-label": ariaLabel,
|
|
2282
|
+
size,
|
|
2283
|
+
fullWidth,
|
|
2284
|
+
disabled,
|
|
2285
|
+
name,
|
|
2286
|
+
id,
|
|
2287
|
+
className
|
|
2288
|
+
} = props;
|
|
2289
|
+
const isControlled = "value" in props;
|
|
2290
|
+
const [innerValue, setInnerValue] = useState9(defaultValue ?? "");
|
|
2291
|
+
const current2 = isControlled ? value4 ?? "" : innerValue;
|
|
2292
|
+
const generatedId = useId9();
|
|
2293
|
+
const labelId = label6 ? `${id ?? generatedId}-label` : void 0;
|
|
2294
|
+
const itemRefs = useRef11([]);
|
|
2295
|
+
const isEnabled = (index) => !disabled && !options[index]?.disabled;
|
|
2296
|
+
const select = (index) => {
|
|
2297
|
+
const next = options[index].value;
|
|
2298
|
+
if (next === current2) return;
|
|
2299
|
+
if (!isControlled) setInnerValue(next);
|
|
2300
|
+
onValueChange?.(next);
|
|
2301
|
+
};
|
|
2302
|
+
const checkedIndex = options.findIndex((option2) => option2.value === current2);
|
|
2303
|
+
const tabStop = checkedIndex >= 0 && isEnabled(checkedIndex) ? checkedIndex : options.findIndex((_, i) => isEnabled(i));
|
|
2304
|
+
const handleKeyDown = (event, index) => {
|
|
2305
|
+
let target = -1;
|
|
2306
|
+
const step = NEXT_KEYS[event.key];
|
|
2307
|
+
if (step) {
|
|
2308
|
+
for (let i = 1; i <= options.length; i++) {
|
|
2309
|
+
const candidate = (index + step * i + options.length) % options.length;
|
|
2310
|
+
if (isEnabled(candidate)) {
|
|
2311
|
+
target = candidate;
|
|
2312
|
+
break;
|
|
2313
|
+
}
|
|
2314
|
+
}
|
|
2315
|
+
} else if (event.key === "Home") {
|
|
2316
|
+
target = options.findIndex((_, i) => isEnabled(i));
|
|
2317
|
+
} else if (event.key === "End") {
|
|
2318
|
+
for (let i = options.length - 1; i >= 0 && target < 0; i--) if (isEnabled(i)) target = i;
|
|
2319
|
+
}
|
|
2320
|
+
if (target < 0) return;
|
|
2321
|
+
event.preventDefault();
|
|
2322
|
+
itemRefs.current[target]?.focus();
|
|
2323
|
+
select(target);
|
|
2324
|
+
};
|
|
2325
|
+
const group = /* @__PURE__ */ jsxs26(
|
|
2326
|
+
"div",
|
|
2327
|
+
{
|
|
2328
|
+
ref,
|
|
2329
|
+
id,
|
|
2330
|
+
role: "radiogroup",
|
|
2331
|
+
"aria-labelledby": labelId,
|
|
2332
|
+
"aria-label": label6 ? void 0 : ariaLabel,
|
|
2333
|
+
"aria-disabled": disabled || void 0,
|
|
2334
|
+
className: cx(root8({ fullWidth }), !label6 && className),
|
|
2335
|
+
children: [
|
|
2336
|
+
options.map((option2, index) => {
|
|
2337
|
+
const checked = index === checkedIndex;
|
|
2338
|
+
return /* @__PURE__ */ jsxs26(
|
|
2339
|
+
"button",
|
|
2340
|
+
{
|
|
2341
|
+
ref: (node) => {
|
|
2342
|
+
itemRefs.current[index] = node;
|
|
2343
|
+
},
|
|
2344
|
+
type: "button",
|
|
2345
|
+
role: "radio",
|
|
2346
|
+
"aria-checked": checked,
|
|
2347
|
+
tabIndex: index === tabStop ? 0 : -1,
|
|
2348
|
+
disabled: !isEnabled(index),
|
|
2349
|
+
"data-state": checked ? "checked" : "unchecked",
|
|
2350
|
+
"data-disabled": isEnabled(index) ? void 0 : "",
|
|
2351
|
+
className: item7({ size, fullWidth }),
|
|
2352
|
+
onClick: () => select(index),
|
|
2353
|
+
onKeyDown: (event) => handleKeyDown(event, index),
|
|
2354
|
+
children: [
|
|
2355
|
+
option2.icon && /* @__PURE__ */ jsx32("span", { "aria-hidden": true, className: icon6, children: option2.icon }),
|
|
2356
|
+
option2.label
|
|
2357
|
+
]
|
|
2358
|
+
},
|
|
2359
|
+
option2.value
|
|
2360
|
+
);
|
|
2361
|
+
}),
|
|
2362
|
+
name && /* @__PURE__ */ jsx32("input", { type: "hidden", name, value: current2 })
|
|
2363
|
+
]
|
|
2364
|
+
}
|
|
2365
|
+
);
|
|
2366
|
+
if (!label6) return group;
|
|
2367
|
+
return /* @__PURE__ */ jsxs26("div", { className: cx(field, className), children: [
|
|
2368
|
+
/* @__PURE__ */ jsx32("span", { id: labelId, className: label, children: label6 }),
|
|
2369
|
+
group
|
|
2370
|
+
] });
|
|
2371
|
+
}
|
|
2372
|
+
);
|
|
2373
|
+
|
|
2232
2374
|
// src/components/Select/Select.tsx
|
|
2233
2375
|
import * as RadixSelect from "@radix-ui/react-select";
|
|
2234
|
-
import { forwardRef as
|
|
2376
|
+
import { forwardRef as forwardRef29, useId as useId10 } from "react";
|
|
2235
2377
|
import { CheckIcon as CheckIcon2, ChevronDownIcon as ChevronDownIcon4 } from "@bestow-ui/icons";
|
|
2236
|
-
import { jsx as
|
|
2237
|
-
var Select = /* @__PURE__ */
|
|
2378
|
+
import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
2379
|
+
var Select = /* @__PURE__ */ forwardRef29(function Select2(props, ref) {
|
|
2238
2380
|
const {
|
|
2239
2381
|
options,
|
|
2240
2382
|
value: value4,
|
|
@@ -2254,16 +2396,16 @@ var Select = /* @__PURE__ */ forwardRef28(function Select2(props, ref) {
|
|
|
2254
2396
|
className
|
|
2255
2397
|
} = props;
|
|
2256
2398
|
const isControlled = "value" in props;
|
|
2257
|
-
const generatedId =
|
|
2399
|
+
const generatedId = useId10();
|
|
2258
2400
|
const triggerId = id ?? generatedId;
|
|
2259
2401
|
const helperId = helperText3 ? `${triggerId}-helper` : void 0;
|
|
2260
2402
|
const portal2 = usePortalProps();
|
|
2261
|
-
return /* @__PURE__ */
|
|
2262
|
-
label6 && /* @__PURE__ */
|
|
2403
|
+
return /* @__PURE__ */ jsxs27("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
2404
|
+
label6 && /* @__PURE__ */ jsxs27("label", { htmlFor: triggerId, className: label, children: [
|
|
2263
2405
|
label6,
|
|
2264
|
-
required && /* @__PURE__ */
|
|
2406
|
+
required && /* @__PURE__ */ jsx33("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2265
2407
|
] }),
|
|
2266
|
-
/* @__PURE__ */
|
|
2408
|
+
/* @__PURE__ */ jsxs27(
|
|
2267
2409
|
RadixSelect.Root,
|
|
2268
2410
|
{
|
|
2269
2411
|
value: isControlled ? value4 ?? "" : void 0,
|
|
@@ -2273,7 +2415,7 @@ var Select = /* @__PURE__ */ forwardRef28(function Select2(props, ref) {
|
|
|
2273
2415
|
required,
|
|
2274
2416
|
name,
|
|
2275
2417
|
children: [
|
|
2276
|
-
/* @__PURE__ */
|
|
2418
|
+
/* @__PURE__ */ jsxs27(
|
|
2277
2419
|
RadixSelect.Trigger,
|
|
2278
2420
|
{
|
|
2279
2421
|
ref,
|
|
@@ -2284,12 +2426,12 @@ var Select = /* @__PURE__ */ forwardRef28(function Select2(props, ref) {
|
|
|
2284
2426
|
"data-invalid": error || void 0,
|
|
2285
2427
|
className: cx(root3({ size, fullWidth }), trigger2, className),
|
|
2286
2428
|
children: [
|
|
2287
|
-
/* @__PURE__ */
|
|
2288
|
-
/* @__PURE__ */
|
|
2429
|
+
/* @__PURE__ */ jsx33("span", { className: value, children: /* @__PURE__ */ jsx33(RadixSelect.Value, { placeholder }) }),
|
|
2430
|
+
/* @__PURE__ */ jsx33(RadixSelect.Icon, { className: icon4, children: /* @__PURE__ */ jsx33(ChevronDownIcon4, { size: 16 }) })
|
|
2289
2431
|
]
|
|
2290
2432
|
}
|
|
2291
2433
|
),
|
|
2292
|
-
/* @__PURE__ */
|
|
2434
|
+
/* @__PURE__ */ jsx33(RadixSelect.Portal, { children: /* @__PURE__ */ jsx33(
|
|
2293
2435
|
RadixSelect.Content,
|
|
2294
2436
|
{
|
|
2295
2437
|
position: "popper",
|
|
@@ -2297,15 +2439,15 @@ var Select = /* @__PURE__ */ forwardRef28(function Select2(props, ref) {
|
|
|
2297
2439
|
collisionPadding: 8,
|
|
2298
2440
|
className: cx(portal2.className, content5),
|
|
2299
2441
|
style: portal2.style,
|
|
2300
|
-
children: /* @__PURE__ */
|
|
2442
|
+
children: /* @__PURE__ */ jsx33(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */ jsxs27(
|
|
2301
2443
|
RadixSelect.Item,
|
|
2302
2444
|
{
|
|
2303
2445
|
value: option2.value,
|
|
2304
2446
|
disabled: option2.disabled,
|
|
2305
2447
|
className: item4,
|
|
2306
2448
|
children: [
|
|
2307
|
-
/* @__PURE__ */
|
|
2308
|
-
/* @__PURE__ */
|
|
2449
|
+
/* @__PURE__ */ jsx33(RadixSelect.ItemText, { children: option2.label }),
|
|
2450
|
+
/* @__PURE__ */ jsx33(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ jsx33(CheckIcon2, { size: 16 }) })
|
|
2309
2451
|
]
|
|
2310
2452
|
},
|
|
2311
2453
|
option2.value
|
|
@@ -2315,29 +2457,29 @@ var Select = /* @__PURE__ */ forwardRef28(function Select2(props, ref) {
|
|
|
2315
2457
|
]
|
|
2316
2458
|
}
|
|
2317
2459
|
),
|
|
2318
|
-
helperText3 && /* @__PURE__ */
|
|
2460
|
+
helperText3 && /* @__PURE__ */ jsx33("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
2319
2461
|
] });
|
|
2320
2462
|
});
|
|
2321
2463
|
|
|
2322
2464
|
// src/components/Skeleton/Skeleton.tsx
|
|
2323
2465
|
import { assignInlineVars } from "@vanilla-extract/dynamic";
|
|
2324
|
-
import { forwardRef as
|
|
2466
|
+
import { forwardRef as forwardRef30 } from "react";
|
|
2325
2467
|
|
|
2326
2468
|
// src/components/Skeleton/Skeleton.css.ts
|
|
2327
|
-
import { createRuntimeFn as
|
|
2469
|
+
import { createRuntimeFn as _7a46818 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
2328
2470
|
var height = "var(--_1s8datd1)";
|
|
2329
2471
|
var lines = "_1s8datd6";
|
|
2330
|
-
var skeleton = /* @__PURE__ */
|
|
2472
|
+
var skeleton = /* @__PURE__ */ _7a46818({ defaultClassName: "_1s8datd2", variantClassNames: { variant: { text: "_1s8datd3", rect: "_1s8datd4", circle: "_1s8datd5" } }, defaultVariants: { variant: "text" }, compoundVariants: [] });
|
|
2331
2473
|
var width = "var(--_1s8datd0)";
|
|
2332
2474
|
|
|
2333
2475
|
// src/components/Skeleton/Skeleton.tsx
|
|
2334
|
-
import { jsx as
|
|
2476
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
2335
2477
|
var toCss = (value4) => typeof value4 === "number" ? `${value4}px` : value4;
|
|
2336
|
-
var Skeleton = /* @__PURE__ */
|
|
2478
|
+
var Skeleton = /* @__PURE__ */ forwardRef30(function Skeleton2({ variant = "text", width: width2, height: height2, lines: lines2 = 1, className, style, ...rest }, ref) {
|
|
2337
2479
|
const w = toCss(width2 ?? (variant === "circle" ? 40 : "100%"));
|
|
2338
2480
|
const h = toCss(height2 ?? (variant === "circle" ? w : variant === "rect" ? 100 : "1em"));
|
|
2339
2481
|
if (variant === "text" && lines2 > 1) {
|
|
2340
|
-
return /* @__PURE__ */
|
|
2482
|
+
return /* @__PURE__ */ jsx34(
|
|
2341
2483
|
"span",
|
|
2342
2484
|
{
|
|
2343
2485
|
ref,
|
|
@@ -2345,7 +2487,7 @@ var Skeleton = /* @__PURE__ */ forwardRef29(function Skeleton2({ variant = "text
|
|
|
2345
2487
|
className: cx(lines, className),
|
|
2346
2488
|
style: { ...assignInlineVars({ [width]: w }), ...style },
|
|
2347
2489
|
...rest,
|
|
2348
|
-
children: Array.from({ length: lines2 }, (_, i) => /* @__PURE__ */
|
|
2490
|
+
children: Array.from({ length: lines2 }, (_, i) => /* @__PURE__ */ jsx34(
|
|
2349
2491
|
"span",
|
|
2350
2492
|
{
|
|
2351
2493
|
className: skeleton({ variant }),
|
|
@@ -2356,7 +2498,7 @@ var Skeleton = /* @__PURE__ */ forwardRef29(function Skeleton2({ variant = "text
|
|
|
2356
2498
|
}
|
|
2357
2499
|
);
|
|
2358
2500
|
}
|
|
2359
|
-
return /* @__PURE__ */
|
|
2501
|
+
return /* @__PURE__ */ jsx34(
|
|
2360
2502
|
"span",
|
|
2361
2503
|
{
|
|
2362
2504
|
ref,
|
|
@@ -2368,25 +2510,48 @@ var Skeleton = /* @__PURE__ */ forwardRef29(function Skeleton2({ variant = "text
|
|
|
2368
2510
|
);
|
|
2369
2511
|
});
|
|
2370
2512
|
|
|
2513
|
+
// src/components/SkipLink/SkipLink.tsx
|
|
2514
|
+
import { forwardRef as forwardRef31 } from "react";
|
|
2515
|
+
|
|
2516
|
+
// src/components/SkipLink/SkipLink.css.ts
|
|
2517
|
+
var skipLink = "_1t9jaar0";
|
|
2518
|
+
|
|
2519
|
+
// src/components/SkipLink/SkipLink.tsx
|
|
2520
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
2521
|
+
var SkipLink = /* @__PURE__ */ forwardRef31(function SkipLink2({ href = "#main", className, children, onClick, ...rest }, ref) {
|
|
2522
|
+
const m = useMessages();
|
|
2523
|
+
const handleClick = (event) => {
|
|
2524
|
+
onClick?.(event);
|
|
2525
|
+
if (event.defaultPrevented || !href.startsWith("#")) return;
|
|
2526
|
+
const target = document.getElementById(decodeURIComponent(href.slice(1)));
|
|
2527
|
+
if (!target) return;
|
|
2528
|
+
event.preventDefault();
|
|
2529
|
+
if (!target.hasAttribute("tabindex")) target.setAttribute("tabindex", "-1");
|
|
2530
|
+
target.focus();
|
|
2531
|
+
target.scrollIntoView?.({ block: "start" });
|
|
2532
|
+
};
|
|
2533
|
+
return /* @__PURE__ */ jsx35("a", { ref, href, className: cx(skipLink, className), onClick: handleClick, ...rest, children: children ?? m.skipToContent ?? "\uBCF8\uBB38 \uBC14\uB85C\uAC00\uAE30" });
|
|
2534
|
+
});
|
|
2535
|
+
|
|
2371
2536
|
// src/components/Slider/Slider.tsx
|
|
2372
2537
|
import * as RadixSlider from "@radix-ui/react-slider";
|
|
2373
|
-
import { forwardRef as
|
|
2538
|
+
import { forwardRef as forwardRef32, useId as useId11, useState as useState10 } from "react";
|
|
2374
2539
|
|
|
2375
2540
|
// src/components/Slider/Slider.css.ts
|
|
2376
|
-
import { createRuntimeFn as
|
|
2541
|
+
import { createRuntimeFn as _7a46819 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
2377
2542
|
var field2 = "_126mzjm0";
|
|
2378
2543
|
var header8 = "_126mzjm1";
|
|
2379
2544
|
var helperText2 = "_126mzjm4";
|
|
2380
2545
|
var label4 = "_126mzjm2";
|
|
2381
2546
|
var range2 = "_126mzjmb";
|
|
2382
|
-
var
|
|
2383
|
-
var thumb = /* @__PURE__ */
|
|
2384
|
-
var track2 = /* @__PURE__ */
|
|
2547
|
+
var root9 = /* @__PURE__ */ _7a46819({ defaultClassName: "_126mzjm5", variantClassNames: { size: { sm: "_126mzjm6", md: "_126mzjm7" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2548
|
+
var thumb = /* @__PURE__ */ _7a46819({ defaultClassName: "_126mzjmc", variantClassNames: { size: { sm: "_126mzjmd", md: "_126mzjme" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2549
|
+
var track2 = /* @__PURE__ */ _7a46819({ defaultClassName: "_126mzjm8", variantClassNames: { size: { sm: "_126mzjm9", md: "_126mzjma" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2385
2550
|
var value3 = "_126mzjm3";
|
|
2386
2551
|
|
|
2387
2552
|
// src/components/Slider/Slider.tsx
|
|
2388
|
-
import { jsx as
|
|
2389
|
-
var Slider = /* @__PURE__ */
|
|
2553
|
+
import { jsx as jsx36, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
2554
|
+
var Slider = /* @__PURE__ */ forwardRef32(function Slider2(props, ref) {
|
|
2390
2555
|
const {
|
|
2391
2556
|
value: value4,
|
|
2392
2557
|
defaultValue,
|
|
@@ -2407,12 +2572,12 @@ var Slider = /* @__PURE__ */ forwardRef30(function Slider2(props, ref) {
|
|
|
2407
2572
|
} = props;
|
|
2408
2573
|
const m = useMessages();
|
|
2409
2574
|
const thumbLabels = thumbLabelsProp ?? [m.rangeStart ?? "\uCD5C\uC18C", m.rangeEnd ?? "\uCD5C\uB300"];
|
|
2410
|
-
const generatedId =
|
|
2575
|
+
const generatedId = useId11();
|
|
2411
2576
|
const baseId = id ?? generatedId;
|
|
2412
2577
|
const labelId = `${baseId}-label`;
|
|
2413
2578
|
const helperId = `${baseId}-helper`;
|
|
2414
2579
|
const isControlled = "value" in props;
|
|
2415
|
-
const [innerValue, setInnerValue] =
|
|
2580
|
+
const [innerValue, setInnerValue] = useState10(defaultValue ?? [min]);
|
|
2416
2581
|
const current2 = isControlled ? value4 ?? [min] : innerValue;
|
|
2417
2582
|
const isRange = current2.length > 1;
|
|
2418
2583
|
const handleChange = (next) => {
|
|
@@ -2420,12 +2585,12 @@ var Slider = /* @__PURE__ */ forwardRef30(function Slider2(props, ref) {
|
|
|
2420
2585
|
onValueChange?.(next);
|
|
2421
2586
|
};
|
|
2422
2587
|
const valueText = current2.map(formatValue).join(" \u2013 ");
|
|
2423
|
-
return /* @__PURE__ */
|
|
2424
|
-
(label6 || showValue) && /* @__PURE__ */
|
|
2425
|
-
label6 && /* @__PURE__ */
|
|
2426
|
-
showValue && /* @__PURE__ */
|
|
2588
|
+
return /* @__PURE__ */ jsxs28("div", { className: cx(field2, className), children: [
|
|
2589
|
+
(label6 || showValue) && /* @__PURE__ */ jsxs28("div", { className: header8, children: [
|
|
2590
|
+
label6 && /* @__PURE__ */ jsx36("span", { id: labelId, className: label4, children: label6 }),
|
|
2591
|
+
showValue && /* @__PURE__ */ jsx36("span", { className: value3, "aria-hidden": true, children: valueText })
|
|
2427
2592
|
] }),
|
|
2428
|
-
/* @__PURE__ */
|
|
2593
|
+
/* @__PURE__ */ jsxs28(
|
|
2429
2594
|
RadixSlider.Root,
|
|
2430
2595
|
{
|
|
2431
2596
|
ref,
|
|
@@ -2435,13 +2600,13 @@ var Slider = /* @__PURE__ */ forwardRef30(function Slider2(props, ref) {
|
|
|
2435
2600
|
disabled,
|
|
2436
2601
|
value: current2,
|
|
2437
2602
|
onValueChange: handleChange,
|
|
2438
|
-
className:
|
|
2603
|
+
className: root9({ size }),
|
|
2439
2604
|
...rest,
|
|
2440
2605
|
children: [
|
|
2441
|
-
/* @__PURE__ */
|
|
2606
|
+
/* @__PURE__ */ jsx36(RadixSlider.Track, { className: track2({ size }), children: /* @__PURE__ */ jsx36(RadixSlider.Range, { className: range2 }) }),
|
|
2442
2607
|
current2.map((thumbValue, index) => {
|
|
2443
2608
|
const thumbLabelId = `${baseId}-thumb-${index}`;
|
|
2444
|
-
return /* @__PURE__ */
|
|
2609
|
+
return /* @__PURE__ */ jsx36(
|
|
2445
2610
|
RadixSlider.Thumb,
|
|
2446
2611
|
{
|
|
2447
2612
|
className: thumb({ size }),
|
|
@@ -2456,45 +2621,45 @@ var Slider = /* @__PURE__ */ forwardRef30(function Slider2(props, ref) {
|
|
|
2456
2621
|
]
|
|
2457
2622
|
}
|
|
2458
2623
|
),
|
|
2459
|
-
isRange && current2.map((_, index) => /* @__PURE__ */
|
|
2624
|
+
isRange && current2.map((_, index) => /* @__PURE__ */ jsxs28("span", { id: `${baseId}-thumb-${index}`, hidden: true, children: [
|
|
2460
2625
|
label6 ? "" : ariaLabel ? `${ariaLabel} ` : "",
|
|
2461
2626
|
thumbLabels[index] ?? `${index + 1}`
|
|
2462
2627
|
] }, index)),
|
|
2463
|
-
helperText3 && /* @__PURE__ */
|
|
2628
|
+
helperText3 && /* @__PURE__ */ jsx36("span", { id: helperId, className: helperText2, children: helperText3 })
|
|
2464
2629
|
] });
|
|
2465
2630
|
});
|
|
2466
2631
|
|
|
2467
2632
|
// src/components/Stack/Stack.tsx
|
|
2468
|
-
import { forwardRef as
|
|
2633
|
+
import { forwardRef as forwardRef33 } from "react";
|
|
2469
2634
|
|
|
2470
2635
|
// src/components/Stack/Stack.css.ts
|
|
2471
|
-
import { createRuntimeFn as
|
|
2472
|
-
var stack = /* @__PURE__ */
|
|
2636
|
+
import { createRuntimeFn as _7a46820 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
2637
|
+
var stack = /* @__PURE__ */ _7a46820({ 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: [] });
|
|
2473
2638
|
|
|
2474
2639
|
// src/components/Stack/Stack.tsx
|
|
2475
|
-
import { jsx as
|
|
2476
|
-
var Stack = /* @__PURE__ */
|
|
2477
|
-
return /* @__PURE__ */
|
|
2640
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
2641
|
+
var Stack = /* @__PURE__ */ forwardRef33(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, ...rest }, ref) {
|
|
2642
|
+
return /* @__PURE__ */ jsx37(Component, { ref, className: cx(stack({ direction, gap, align, justify, wrap }), className), ...rest });
|
|
2478
2643
|
});
|
|
2479
2644
|
|
|
2480
2645
|
// src/components/Switch/Switch.tsx
|
|
2481
2646
|
import * as RadixSwitch from "@radix-ui/react-switch";
|
|
2482
|
-
import { forwardRef as
|
|
2647
|
+
import { forwardRef as forwardRef34, useId as useId12 } from "react";
|
|
2483
2648
|
|
|
2484
2649
|
// src/components/Switch/Switch.css.ts
|
|
2485
|
-
import { createRuntimeFn as
|
|
2650
|
+
import { createRuntimeFn as _7a46821 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
2486
2651
|
var label5 = "o33ul29";
|
|
2487
|
-
var
|
|
2488
|
-
var thumb2 = /* @__PURE__ */
|
|
2489
|
-
var track3 = /* @__PURE__ */
|
|
2652
|
+
var root10 = /* @__PURE__ */ _7a46821({ defaultClassName: "o33ul20", variantClassNames: { size: { sm: "o33ul21", md: "o33ul22" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2653
|
+
var thumb2 = /* @__PURE__ */ _7a46821({ defaultClassName: "o33ul26", variantClassNames: { size: { sm: "o33ul27", md: "o33ul28" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2654
|
+
var track3 = /* @__PURE__ */ _7a46821({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2490
2655
|
|
|
2491
2656
|
// src/components/Switch/Switch.tsx
|
|
2492
|
-
import { jsx as
|
|
2493
|
-
var Switch = /* @__PURE__ */
|
|
2494
|
-
const generatedId =
|
|
2657
|
+
import { jsx as jsx38, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
2658
|
+
var Switch = /* @__PURE__ */ forwardRef34(function Switch2({ label: label6, size, id, className, disabled, "aria-label": ariaLabel, ...rest }, ref) {
|
|
2659
|
+
const generatedId = useId12();
|
|
2495
2660
|
const switchId = id ?? generatedId;
|
|
2496
|
-
return /* @__PURE__ */
|
|
2497
|
-
/* @__PURE__ */
|
|
2661
|
+
return /* @__PURE__ */ jsxs29("span", { className: cx(root10({ size }), className), "data-disabled": disabled || void 0, children: [
|
|
2662
|
+
/* @__PURE__ */ jsx38(
|
|
2498
2663
|
RadixSwitch.Root,
|
|
2499
2664
|
{
|
|
2500
2665
|
ref,
|
|
@@ -2503,27 +2668,27 @@ var Switch = /* @__PURE__ */ forwardRef32(function Switch2({ label: label6, size
|
|
|
2503
2668
|
"aria-label": ariaLabel,
|
|
2504
2669
|
className: track3({ size }),
|
|
2505
2670
|
...rest,
|
|
2506
|
-
children: /* @__PURE__ */
|
|
2671
|
+
children: /* @__PURE__ */ jsx38(RadixSwitch.Thumb, { className: thumb2({ size }) })
|
|
2507
2672
|
}
|
|
2508
2673
|
),
|
|
2509
|
-
label6 && /* @__PURE__ */
|
|
2674
|
+
label6 && /* @__PURE__ */ jsx38("label", { htmlFor: switchId, className: label5, children: label6 })
|
|
2510
2675
|
] });
|
|
2511
2676
|
});
|
|
2512
2677
|
|
|
2513
2678
|
// src/components/Table/Table.tsx
|
|
2514
2679
|
import {
|
|
2515
2680
|
createContext as createContext3,
|
|
2516
|
-
forwardRef as
|
|
2681
|
+
forwardRef as forwardRef35,
|
|
2517
2682
|
useContext as useContext3,
|
|
2518
|
-
useId as
|
|
2683
|
+
useId as useId13
|
|
2519
2684
|
} from "react";
|
|
2520
2685
|
import { ArrowDownIcon, ArrowUpIcon } from "@bestow-ui/icons";
|
|
2521
2686
|
|
|
2522
2687
|
// src/components/Table/Table.css.ts
|
|
2523
|
-
import { createRuntimeFn as
|
|
2688
|
+
import { createRuntimeFn as _7a46822 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
2524
2689
|
var body4 = "l3ploy5";
|
|
2525
2690
|
var caption = "l3ploy2";
|
|
2526
|
-
var cell2 = /* @__PURE__ */
|
|
2691
|
+
var cell2 = /* @__PURE__ */ _7a46822({ defaultClassName: "l3ploy9", variantClassNames: { size: { sm: "l3ploya", md: "l3ployb" }, align: { left: "l3ployc", center: "l3ployd", right: "l3ploye" } }, defaultVariants: { size: "md", align: "left" }, compoundVariants: [] });
|
|
2527
2692
|
var container = "l3ploy0";
|
|
2528
2693
|
var footer4 = "l3ploy7";
|
|
2529
2694
|
var footerCell = "l3ployg";
|
|
@@ -2537,10 +2702,10 @@ var striped = "l3ploy6";
|
|
|
2537
2702
|
var table = "l3ploy1";
|
|
2538
2703
|
|
|
2539
2704
|
// src/components/Table/Table.tsx
|
|
2540
|
-
import { jsx as
|
|
2705
|
+
import { jsx as jsx39, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
2541
2706
|
var TableSizeContext = /* @__PURE__ */ createContext3("md");
|
|
2542
2707
|
var TableSectionContext = /* @__PURE__ */ createContext3("body");
|
|
2543
|
-
var Table = /* @__PURE__ */
|
|
2708
|
+
var Table = /* @__PURE__ */ forwardRef35(function Table2({
|
|
2544
2709
|
size = "md",
|
|
2545
2710
|
striped: striped2,
|
|
2546
2711
|
stickyHeader: stickyHeader2,
|
|
@@ -2552,8 +2717,8 @@ var Table = /* @__PURE__ */ forwardRef33(function Table2({
|
|
|
2552
2717
|
children,
|
|
2553
2718
|
...rest
|
|
2554
2719
|
}, ref) {
|
|
2555
|
-
const captionId =
|
|
2556
|
-
return /* @__PURE__ */
|
|
2720
|
+
const captionId = useId13();
|
|
2721
|
+
return /* @__PURE__ */ jsx39(TableSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx39(
|
|
2557
2722
|
"div",
|
|
2558
2723
|
{
|
|
2559
2724
|
className: cx(container, containerClassName),
|
|
@@ -2562,7 +2727,7 @@ var Table = /* @__PURE__ */ forwardRef33(function Table2({
|
|
|
2562
2727
|
role: "region",
|
|
2563
2728
|
"aria-labelledby": caption2 ? captionId : void 0,
|
|
2564
2729
|
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
2565
|
-
children: /* @__PURE__ */
|
|
2730
|
+
children: /* @__PURE__ */ jsxs30(
|
|
2566
2731
|
"table",
|
|
2567
2732
|
{
|
|
2568
2733
|
ref,
|
|
@@ -2570,7 +2735,7 @@ var Table = /* @__PURE__ */ forwardRef33(function Table2({
|
|
|
2570
2735
|
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
2571
2736
|
...rest,
|
|
2572
2737
|
children: [
|
|
2573
|
-
caption2 && /* @__PURE__ */
|
|
2738
|
+
caption2 && /* @__PURE__ */ jsx39("caption", { id: captionId, className: caption, children: caption2 }),
|
|
2574
2739
|
children
|
|
2575
2740
|
]
|
|
2576
2741
|
}
|
|
@@ -2578,31 +2743,31 @@ var Table = /* @__PURE__ */ forwardRef33(function Table2({
|
|
|
2578
2743
|
}
|
|
2579
2744
|
) });
|
|
2580
2745
|
});
|
|
2581
|
-
var TableHeader = /* @__PURE__ */
|
|
2746
|
+
var TableHeader = /* @__PURE__ */ forwardRef35(
|
|
2582
2747
|
function TableHeader2({ className, ...rest }, ref) {
|
|
2583
|
-
return /* @__PURE__ */
|
|
2748
|
+
return /* @__PURE__ */ jsx39(TableSectionContext.Provider, { value: "header", children: /* @__PURE__ */ jsx39("thead", { ref, className: cx(header9, className), ...rest }) });
|
|
2584
2749
|
}
|
|
2585
2750
|
);
|
|
2586
|
-
var TableBody = /* @__PURE__ */
|
|
2751
|
+
var TableBody = /* @__PURE__ */ forwardRef35(
|
|
2587
2752
|
function TableBody2({ className, ...rest }, ref) {
|
|
2588
|
-
return /* @__PURE__ */
|
|
2753
|
+
return /* @__PURE__ */ jsx39(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ jsx39("tbody", { ref, className: cx(body4, className), ...rest }) });
|
|
2589
2754
|
}
|
|
2590
2755
|
);
|
|
2591
|
-
var TableFooter = /* @__PURE__ */
|
|
2756
|
+
var TableFooter = /* @__PURE__ */ forwardRef35(
|
|
2592
2757
|
function TableFooter2({ className, ...rest }, ref) {
|
|
2593
|
-
return /* @__PURE__ */
|
|
2758
|
+
return /* @__PURE__ */ jsx39(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ jsx39("tfoot", { ref, className: cx(footer4, className), ...rest }) });
|
|
2594
2759
|
}
|
|
2595
2760
|
);
|
|
2596
|
-
var TableRow = /* @__PURE__ */
|
|
2597
|
-
return /* @__PURE__ */
|
|
2761
|
+
var TableRow = /* @__PURE__ */ forwardRef35(function TableRow2({ selected, className, ...rest }, ref) {
|
|
2762
|
+
return /* @__PURE__ */ jsx39("tr", { ref, className: cx(row3, className), "data-state": selected ? "selected" : void 0, ...rest });
|
|
2598
2763
|
});
|
|
2599
|
-
var TableHead = /* @__PURE__ */
|
|
2764
|
+
var TableHead = /* @__PURE__ */ forwardRef35(function TableHead2({ align, sortDirection, onSort, scope, className, children, ...rest }, ref) {
|
|
2600
2765
|
const size = useContext3(TableSizeContext);
|
|
2601
2766
|
const section = useContext3(TableSectionContext);
|
|
2602
2767
|
const sortable = onSort !== void 0;
|
|
2603
2768
|
const direction = sortDirection ?? "none";
|
|
2604
2769
|
const SortIcon = direction === "descending" ? ArrowDownIcon : ArrowUpIcon;
|
|
2605
|
-
return /* @__PURE__ */
|
|
2770
|
+
return /* @__PURE__ */ jsx39(
|
|
2606
2771
|
"th",
|
|
2607
2772
|
{
|
|
2608
2773
|
ref,
|
|
@@ -2614,17 +2779,17 @@ var TableHead = /* @__PURE__ */ forwardRef33(function TableHead2({ align, sortDi
|
|
|
2614
2779
|
className
|
|
2615
2780
|
),
|
|
2616
2781
|
...rest,
|
|
2617
|
-
children: sortable ? /* @__PURE__ */
|
|
2782
|
+
children: sortable ? /* @__PURE__ */ jsxs30("button", { type: "button", className: sortButton, onClick: onSort, children: [
|
|
2618
2783
|
children,
|
|
2619
|
-
/* @__PURE__ */
|
|
2784
|
+
/* @__PURE__ */ jsx39(SortIcon, { size: 14, className: sortIcon, "data-active": direction !== "none", "aria-hidden": true })
|
|
2620
2785
|
] }) : children
|
|
2621
2786
|
}
|
|
2622
2787
|
);
|
|
2623
2788
|
});
|
|
2624
|
-
var TableCell = /* @__PURE__ */
|
|
2789
|
+
var TableCell = /* @__PURE__ */ forwardRef35(function TableCell2({ align, className, ...rest }, ref) {
|
|
2625
2790
|
const size = useContext3(TableSizeContext);
|
|
2626
2791
|
const section = useContext3(TableSectionContext);
|
|
2627
|
-
return /* @__PURE__ */
|
|
2792
|
+
return /* @__PURE__ */ jsx39(
|
|
2628
2793
|
"td",
|
|
2629
2794
|
{
|
|
2630
2795
|
ref,
|
|
@@ -2636,53 +2801,53 @@ var TableCell = /* @__PURE__ */ forwardRef33(function TableCell2({ align, classN
|
|
|
2636
2801
|
|
|
2637
2802
|
// src/components/Tabs/Tabs.tsx
|
|
2638
2803
|
import * as RadixTabs from "@radix-ui/react-tabs";
|
|
2639
|
-
import { createContext as createContext4, forwardRef as
|
|
2804
|
+
import { createContext as createContext4, forwardRef as forwardRef36, useContext as useContext4 } from "react";
|
|
2640
2805
|
|
|
2641
2806
|
// src/components/Tabs/Tabs.css.ts
|
|
2642
|
-
import { createRuntimeFn as
|
|
2807
|
+
import { createRuntimeFn as _7a46823 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
2643
2808
|
var content10 = "fvhbtda";
|
|
2644
|
-
var list4 = /* @__PURE__ */
|
|
2645
|
-
var trigger3 = /* @__PURE__ */
|
|
2809
|
+
var list4 = /* @__PURE__ */ _7a46823({ defaultClassName: "fvhbtd0", variantClassNames: { variant: { line: "fvhbtd1", soft: "fvhbtd2" } }, defaultVariants: { variant: "line" }, compoundVariants: [] });
|
|
2810
|
+
var trigger3 = /* @__PURE__ */ _7a46823({ 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"]] });
|
|
2646
2811
|
|
|
2647
2812
|
// src/components/Tabs/Tabs.tsx
|
|
2648
|
-
import { jsx as
|
|
2813
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
2649
2814
|
var TabsStyleContext = /* @__PURE__ */ createContext4({ variant: "line", size: "md" });
|
|
2650
|
-
var Tabs = /* @__PURE__ */
|
|
2815
|
+
var Tabs = /* @__PURE__ */ forwardRef36(function Tabs2({ variant = "line", size = "md", ...props }, ref) {
|
|
2651
2816
|
const controlled = "value" in props ? { value: props.value ?? "" } : {};
|
|
2652
|
-
return /* @__PURE__ */
|
|
2817
|
+
return /* @__PURE__ */ jsx40(TabsStyleContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ jsx40(RadixTabs.Root, { ref, ...props, ...controlled }) });
|
|
2653
2818
|
});
|
|
2654
|
-
var TabsList = /* @__PURE__ */
|
|
2819
|
+
var TabsList = /* @__PURE__ */ forwardRef36(function TabsList2({ className, ...rest }, ref) {
|
|
2655
2820
|
const { variant } = useContext4(TabsStyleContext);
|
|
2656
|
-
return /* @__PURE__ */
|
|
2821
|
+
return /* @__PURE__ */ jsx40(RadixTabs.List, { ref, className: cx(list4({ variant }), className), ...rest });
|
|
2657
2822
|
});
|
|
2658
|
-
var TabsTrigger = /* @__PURE__ */
|
|
2823
|
+
var TabsTrigger = /* @__PURE__ */ forwardRef36(function TabsTrigger2({ className, ...rest }, ref) {
|
|
2659
2824
|
const { variant, size } = useContext4(TabsStyleContext);
|
|
2660
|
-
return /* @__PURE__ */
|
|
2825
|
+
return /* @__PURE__ */ jsx40(RadixTabs.Trigger, { ref, className: cx(trigger3({ variant, size }), className), ...rest });
|
|
2661
2826
|
});
|
|
2662
|
-
var TabsContent = /* @__PURE__ */
|
|
2663
|
-
return /* @__PURE__ */
|
|
2827
|
+
var TabsContent = /* @__PURE__ */ forwardRef36(function TabsContent2({ className, ...rest }, ref) {
|
|
2828
|
+
return /* @__PURE__ */ jsx40(RadixTabs.Content, { ref, className: cx(content10, className), ...rest });
|
|
2664
2829
|
});
|
|
2665
2830
|
|
|
2666
2831
|
// src/components/Textarea/Textarea.tsx
|
|
2667
2832
|
import {
|
|
2668
|
-
forwardRef as
|
|
2833
|
+
forwardRef as forwardRef37,
|
|
2669
2834
|
useCallback,
|
|
2670
|
-
useId as
|
|
2671
|
-
useRef as
|
|
2672
|
-
useState as
|
|
2835
|
+
useId as useId14,
|
|
2836
|
+
useRef as useRef12,
|
|
2837
|
+
useState as useState11
|
|
2673
2838
|
} from "react";
|
|
2674
2839
|
|
|
2675
2840
|
// src/components/Textarea/Textarea.css.ts
|
|
2676
|
-
import { createRuntimeFn as
|
|
2841
|
+
import { createRuntimeFn as _7a46824 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
2677
2842
|
var count = "_1koawa9";
|
|
2678
2843
|
var countOver = "_1koawaa";
|
|
2679
2844
|
var defaultWidth = "_1koawa7";
|
|
2680
2845
|
var footer5 = "_1koawa8";
|
|
2681
|
-
var textarea = /* @__PURE__ */
|
|
2846
|
+
var textarea = /* @__PURE__ */ _7a46824({ defaultClassName: "_1koawa0", variantClassNames: { size: { sm: "_1koawa1", md: "_1koawa2", lg: "_1koawa3" }, resize: { none: "_1koawa4", vertical: "_1koawa5", both: "_1koawa6" } }, defaultVariants: { size: "md", resize: "vertical" }, compoundVariants: [] });
|
|
2682
2847
|
|
|
2683
2848
|
// src/components/Textarea/Textarea.tsx
|
|
2684
|
-
import { jsx as
|
|
2685
|
-
var Textarea = /* @__PURE__ */
|
|
2849
|
+
import { jsx as jsx41, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
2850
|
+
var Textarea = /* @__PURE__ */ forwardRef37(function Textarea2({
|
|
2686
2851
|
label: label6,
|
|
2687
2852
|
helperText: helperText3,
|
|
2688
2853
|
error,
|
|
@@ -2703,11 +2868,11 @@ var Textarea = /* @__PURE__ */ forwardRef35(function Textarea2({
|
|
|
2703
2868
|
"aria-describedby": ariaDescribedBy,
|
|
2704
2869
|
...rest
|
|
2705
2870
|
}, ref) {
|
|
2706
|
-
const generatedId =
|
|
2871
|
+
const generatedId = useId14();
|
|
2707
2872
|
const textareaId = id ?? generatedId;
|
|
2708
2873
|
const helperId = helperText3 ? `${textareaId}-helper` : void 0;
|
|
2709
|
-
const innerRef =
|
|
2710
|
-
const [uncontrolledLength, setUncontrolledLength] =
|
|
2874
|
+
const innerRef = useRef12(null);
|
|
2875
|
+
const [uncontrolledLength, setUncontrolledLength] = useState11(() => String(defaultValue ?? "").length);
|
|
2711
2876
|
const length = value4 !== void 0 ? String(value4).length : uncontrolledLength;
|
|
2712
2877
|
const fitHeight = useCallback(() => {
|
|
2713
2878
|
const el = innerRef.current;
|
|
@@ -2722,12 +2887,12 @@ var Textarea = /* @__PURE__ */ forwardRef35(function Textarea2({
|
|
|
2722
2887
|
fitHeight();
|
|
2723
2888
|
onChange?.(event);
|
|
2724
2889
|
};
|
|
2725
|
-
return /* @__PURE__ */
|
|
2726
|
-
label6 && /* @__PURE__ */
|
|
2890
|
+
return /* @__PURE__ */ jsxs31("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
2891
|
+
label6 && /* @__PURE__ */ jsxs31("label", { htmlFor: textareaId, className: label, children: [
|
|
2727
2892
|
label6,
|
|
2728
|
-
required && /* @__PURE__ */
|
|
2893
|
+
required && /* @__PURE__ */ jsx41("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2729
2894
|
] }),
|
|
2730
|
-
/* @__PURE__ */
|
|
2895
|
+
/* @__PURE__ */ jsx41(
|
|
2731
2896
|
"textarea",
|
|
2732
2897
|
{
|
|
2733
2898
|
ref: mergeRefs(innerRef, ref),
|
|
@@ -2749,36 +2914,36 @@ var Textarea = /* @__PURE__ */ forwardRef35(function Textarea2({
|
|
|
2749
2914
|
...rest
|
|
2750
2915
|
}
|
|
2751
2916
|
),
|
|
2752
|
-
(helperText3 || showCount) && /* @__PURE__ */
|
|
2753
|
-
helperText3 && /* @__PURE__ */
|
|
2754
|
-
showCount && /* @__PURE__ */
|
|
2917
|
+
(helperText3 || showCount) && /* @__PURE__ */ jsxs31("div", { className: footer5, children: [
|
|
2918
|
+
helperText3 && /* @__PURE__ */ jsx41("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
|
|
2919
|
+
showCount && /* @__PURE__ */ jsx41("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
|
|
2755
2920
|
] })
|
|
2756
2921
|
] });
|
|
2757
2922
|
});
|
|
2758
2923
|
|
|
2759
2924
|
// src/components/Toast/Toast.tsx
|
|
2760
2925
|
import * as RadixToast from "@radix-ui/react-toast";
|
|
2761
|
-
import { createContext as createContext5, useCallback as useCallback2, useContext as useContext5, useMemo as useMemo4, useRef as
|
|
2762
|
-
import { XIcon as
|
|
2926
|
+
import { createContext as createContext5, useCallback as useCallback2, useContext as useContext5, useMemo as useMemo4, useRef as useRef13, useState as useState12 } from "react";
|
|
2927
|
+
import { XIcon as XIcon6 } from "@bestow-ui/icons";
|
|
2763
2928
|
|
|
2764
2929
|
// src/components/Toast/Toast.css.ts
|
|
2765
|
-
import { createRuntimeFn as
|
|
2930
|
+
import { createRuntimeFn as _7a46825 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
2766
2931
|
var action2 = "_1g11zvx9";
|
|
2767
2932
|
var close = "_1g11zvxa";
|
|
2768
2933
|
var description5 = "_1g11zvx8";
|
|
2769
2934
|
var title5 = "_1g11zvx7";
|
|
2770
|
-
var toast = /* @__PURE__ */
|
|
2935
|
+
var toast = /* @__PURE__ */ _7a46825({ defaultClassName: "_1g11zvx1", variantClassNames: { color: { primary: "_1g11zvx2", neutral: "_1g11zvx3", success: "_1g11zvx4", warning: "_1g11zvx5", danger: "_1g11zvx6" } }, defaultVariants: { color: "neutral" }, compoundVariants: [] });
|
|
2771
2936
|
var viewport2 = "_1g11zvx0";
|
|
2772
2937
|
|
|
2773
2938
|
// src/components/Toast/Toast.tsx
|
|
2774
|
-
import { jsx as
|
|
2939
|
+
import { jsx as jsx42, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
2775
2940
|
var REMOVE_DELAY = 500;
|
|
2776
2941
|
var ToastContext = /* @__PURE__ */ createContext5(null);
|
|
2777
2942
|
function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
2778
2943
|
const m = useMessages();
|
|
2779
2944
|
const label6 = labelProp ?? m.notifications ?? "\uC54C\uB9BC";
|
|
2780
|
-
const [toasts, setToasts] =
|
|
2781
|
-
const nextId =
|
|
2945
|
+
const [toasts, setToasts] = useState12([]);
|
|
2946
|
+
const nextId = useRef13(0);
|
|
2782
2947
|
const portal2 = usePortalProps();
|
|
2783
2948
|
const toast2 = useCallback2((options) => {
|
|
2784
2949
|
const id = nextId.current++;
|
|
@@ -2791,9 +2956,9 @@ function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
|
2791
2956
|
setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
|
|
2792
2957
|
}, []);
|
|
2793
2958
|
const value4 = useMemo4(() => ({ toast: toast2, dismiss }), [toast2, dismiss]);
|
|
2794
|
-
return /* @__PURE__ */
|
|
2959
|
+
return /* @__PURE__ */ jsx42(ToastContext.Provider, { value: value4, children: /* @__PURE__ */ jsxs32(RadixToast.Provider, { duration, label: label6, swipeDirection: "right", children: [
|
|
2795
2960
|
children,
|
|
2796
|
-
toasts.map(({ id, open, title: title6, description: description6, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */
|
|
2961
|
+
toasts.map(({ id, open, title: title6, description: description6, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */ jsxs32(
|
|
2797
2962
|
RadixToast.Root,
|
|
2798
2963
|
{
|
|
2799
2964
|
open,
|
|
@@ -2803,15 +2968,15 @@ function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
|
2803
2968
|
},
|
|
2804
2969
|
className: toast({ color }),
|
|
2805
2970
|
children: [
|
|
2806
|
-
/* @__PURE__ */
|
|
2807
|
-
description6 && /* @__PURE__ */
|
|
2808
|
-
action3 && /* @__PURE__ */
|
|
2809
|
-
/* @__PURE__ */
|
|
2971
|
+
/* @__PURE__ */ jsx42(RadixToast.Title, { className: title5, children: title6 }),
|
|
2972
|
+
description6 && /* @__PURE__ */ jsx42(RadixToast.Description, { className: description5, children: description6 }),
|
|
2973
|
+
action3 && /* @__PURE__ */ jsx42(RadixToast.Action, { asChild: true, altText: action3.altText ?? action3.label, className: action2, children: /* @__PURE__ */ jsx42(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action3.onClick, children: action3.label }) }),
|
|
2974
|
+
/* @__PURE__ */ jsx42(RadixToast.Close, { className: close, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ jsx42(XIcon6, { size: 16 }) })
|
|
2810
2975
|
]
|
|
2811
2976
|
},
|
|
2812
2977
|
id
|
|
2813
2978
|
)),
|
|
2814
|
-
/* @__PURE__ */
|
|
2979
|
+
/* @__PURE__ */ jsx42(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
|
|
2815
2980
|
] }) });
|
|
2816
2981
|
}
|
|
2817
2982
|
function useToast() {
|
|
@@ -2828,7 +2993,7 @@ var arrow2 = "z7rufs1";
|
|
|
2828
2993
|
var content11 = "z7rufs0";
|
|
2829
2994
|
|
|
2830
2995
|
// src/components/Tooltip/Tooltip.tsx
|
|
2831
|
-
import { jsx as
|
|
2996
|
+
import { jsx as jsx43, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
2832
2997
|
function Tooltip({
|
|
2833
2998
|
content: content12,
|
|
2834
2999
|
children,
|
|
@@ -2843,9 +3008,9 @@ function Tooltip({
|
|
|
2843
3008
|
}) {
|
|
2844
3009
|
const portal2 = usePortalProps();
|
|
2845
3010
|
if (disabled || content12 == null || content12 === "") return children;
|
|
2846
|
-
return /* @__PURE__ */
|
|
2847
|
-
/* @__PURE__ */
|
|
2848
|
-
/* @__PURE__ */
|
|
3011
|
+
return /* @__PURE__ */ jsx43(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ jsxs33(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
|
|
3012
|
+
/* @__PURE__ */ jsx43(RadixTooltip.Trigger, { asChild: true, children }),
|
|
3013
|
+
/* @__PURE__ */ jsx43(RadixTooltip.Portal, { children: /* @__PURE__ */ jsxs33(
|
|
2849
3014
|
RadixTooltip.Content,
|
|
2850
3015
|
{
|
|
2851
3016
|
side,
|
|
@@ -2856,7 +3021,7 @@ function Tooltip({
|
|
|
2856
3021
|
style: portal2.style,
|
|
2857
3022
|
children: [
|
|
2858
3023
|
content12,
|
|
2859
|
-
/* @__PURE__ */
|
|
3024
|
+
/* @__PURE__ */ jsx43(RadixTooltip.Arrow, { className: arrow2, width: 10, height: 5 })
|
|
2860
3025
|
]
|
|
2861
3026
|
}
|
|
2862
3027
|
) })
|
|
@@ -2864,14 +3029,14 @@ function Tooltip({
|
|
|
2864
3029
|
}
|
|
2865
3030
|
|
|
2866
3031
|
// src/components/Typography/Typography.tsx
|
|
2867
|
-
import { forwardRef as
|
|
3032
|
+
import { forwardRef as forwardRef38 } from "react";
|
|
2868
3033
|
|
|
2869
3034
|
// src/components/Typography/Typography.css.ts
|
|
2870
|
-
import { createRuntimeFn as
|
|
2871
|
-
var typography = /* @__PURE__ */
|
|
3035
|
+
import { createRuntimeFn as _7a46826 } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
3036
|
+
var typography = /* @__PURE__ */ _7a46826({ 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: [] });
|
|
2872
3037
|
|
|
2873
3038
|
// src/components/Typography/Typography.tsx
|
|
2874
|
-
import { jsx as
|
|
3039
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
2875
3040
|
var defaultElement = {
|
|
2876
3041
|
display: "h1",
|
|
2877
3042
|
h1: "h1",
|
|
@@ -2883,9 +3048,9 @@ var defaultElement = {
|
|
|
2883
3048
|
"body-sm": "p",
|
|
2884
3049
|
caption: "span"
|
|
2885
3050
|
};
|
|
2886
|
-
var Typography = /* @__PURE__ */
|
|
3051
|
+
var Typography = /* @__PURE__ */ forwardRef38(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
|
|
2887
3052
|
const Component = as ?? defaultElement[variant];
|
|
2888
|
-
return /* @__PURE__ */
|
|
3053
|
+
return /* @__PURE__ */ jsx44(
|
|
2889
3054
|
Component,
|
|
2890
3055
|
{
|
|
2891
3056
|
ref,
|
|
@@ -2896,7 +3061,7 @@ var Typography = /* @__PURE__ */ forwardRef36(function Typography2({ variant = "
|
|
|
2896
3061
|
});
|
|
2897
3062
|
|
|
2898
3063
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
2899
|
-
import { forwardRef as
|
|
3064
|
+
import { forwardRef as forwardRef39, useEffect as useEffect7, useId as useId15, useRef as useRef14, useState as useState13 } from "react";
|
|
2900
3065
|
|
|
2901
3066
|
// src/components/VerificationCodeInput/VerificationCodeInput.css.ts
|
|
2902
3067
|
var input4 = "ea01812";
|
|
@@ -2906,9 +3071,9 @@ var slots = "ea01811";
|
|
|
2906
3071
|
var timer = "ea01814";
|
|
2907
3072
|
|
|
2908
3073
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
2909
|
-
import { jsx as
|
|
3074
|
+
import { jsx as jsx45, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
2910
3075
|
var formatTime = (seconds) => `${String(Math.floor(seconds / 60)).padStart(2, "0")}:${String(seconds % 60).padStart(2, "0")}`;
|
|
2911
|
-
var VerificationCodeInput = /* @__PURE__ */
|
|
3076
|
+
var VerificationCodeInput = /* @__PURE__ */ forwardRef39(
|
|
2912
3077
|
function VerificationCodeInput2(props, ref) {
|
|
2913
3078
|
const {
|
|
2914
3079
|
length = 6,
|
|
@@ -2935,19 +3100,19 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef37(
|
|
|
2935
3100
|
const label6 = labelProp ?? m.verificationCode ?? "\uC778\uC99D\uBC88\uD638";
|
|
2936
3101
|
const resendText = resendTextProp ?? m.resend ?? "\uC7AC\uC804\uC1A1";
|
|
2937
3102
|
const expiredText = expiredTextProp ?? m.verificationExpired ?? "\uC778\uC99D \uC2DC\uAC04\uC774 \uC9C0\uB0AC\uC5B4\uC694. \uC7AC\uC804\uC1A1\uD574 \uC8FC\uC138\uC694.";
|
|
2938
|
-
const generatedId =
|
|
3103
|
+
const generatedId = useId15();
|
|
2939
3104
|
const inputId = id ?? generatedId;
|
|
2940
3105
|
const helperId = `${inputId}-helper`;
|
|
2941
3106
|
const statusId = `${inputId}-status`;
|
|
2942
|
-
const inputRef =
|
|
3107
|
+
const inputRef = useRef14(null);
|
|
2943
3108
|
const isControlled = "value" in props;
|
|
2944
|
-
const [innerValue, setInnerValue] =
|
|
3109
|
+
const [innerValue, setInnerValue] = useState13(defaultValue ?? "");
|
|
2945
3110
|
const code = (isControlled ? value4 ?? "" : innerValue).slice(0, length);
|
|
2946
|
-
const [focused, setFocused] =
|
|
2947
|
-
const [endAt, setEndAt] =
|
|
2948
|
-
const [remaining, setRemaining] =
|
|
3111
|
+
const [focused, setFocused] = useState13(false);
|
|
3112
|
+
const [endAt, setEndAt] = useState13(() => expiresIn ? Date.now() + expiresIn * 1e3 : null);
|
|
3113
|
+
const [remaining, setRemaining] = useState13(expiresIn ?? 0);
|
|
2949
3114
|
const expired = expiresIn !== void 0 && remaining <= 0;
|
|
2950
|
-
const onExpireRef =
|
|
3115
|
+
const onExpireRef = useRef14(onExpire);
|
|
2951
3116
|
useEffect7(() => {
|
|
2952
3117
|
onExpireRef.current = onExpire;
|
|
2953
3118
|
});
|
|
@@ -2986,17 +3151,17 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef37(
|
|
|
2986
3151
|
};
|
|
2987
3152
|
const description6 = helperText3 ?? m.verificationCodeHint?.(length, type) ?? `${length}\uC790\uB9AC ${type === "numeric" ? "\uC22B\uC790" : "\uBB38\uC790"}\uB97C \uC785\uB825\uD558\uC138\uC694.`;
|
|
2988
3153
|
const activeIndex = Math.min(code.length, length - 1);
|
|
2989
|
-
return /* @__PURE__ */
|
|
3154
|
+
return /* @__PURE__ */ jsxs34(
|
|
2990
3155
|
"div",
|
|
2991
3156
|
{
|
|
2992
3157
|
className: cx(field, className),
|
|
2993
3158
|
"data-invalid": error || void 0,
|
|
2994
3159
|
"data-disabled": disabled || void 0,
|
|
2995
3160
|
children: [
|
|
2996
|
-
/* @__PURE__ */
|
|
2997
|
-
/* @__PURE__ */
|
|
2998
|
-
/* @__PURE__ */
|
|
2999
|
-
/* @__PURE__ */
|
|
3161
|
+
/* @__PURE__ */ jsx45("label", { htmlFor: inputId, className: label, children: label6 }),
|
|
3162
|
+
/* @__PURE__ */ jsxs34("div", { className: row4, children: [
|
|
3163
|
+
/* @__PURE__ */ jsxs34("div", { className: slots, children: [
|
|
3164
|
+
/* @__PURE__ */ jsx45(
|
|
3000
3165
|
"input",
|
|
3001
3166
|
{
|
|
3002
3167
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -3016,7 +3181,7 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef37(
|
|
|
3016
3181
|
className: input4
|
|
3017
3182
|
}
|
|
3018
3183
|
),
|
|
3019
|
-
Array.from({ length }, (_, index) => /* @__PURE__ */
|
|
3184
|
+
Array.from({ length }, (_, index) => /* @__PURE__ */ jsx45(
|
|
3020
3185
|
"div",
|
|
3021
3186
|
{
|
|
3022
3187
|
className: slot,
|
|
@@ -3027,12 +3192,12 @@ var VerificationCodeInput = /* @__PURE__ */ forwardRef37(
|
|
|
3027
3192
|
index
|
|
3028
3193
|
))
|
|
3029
3194
|
] }),
|
|
3030
|
-
expiresIn !== void 0 && /* @__PURE__ */
|
|
3031
|
-
onResend && /* @__PURE__ */
|
|
3195
|
+
expiresIn !== void 0 && /* @__PURE__ */ jsx45("span", { role: "timer", className: timer, children: formatTime(remaining) }),
|
|
3196
|
+
onResend && /* @__PURE__ */ jsx45(Button, { size: "sm", variant: "outline", color: "neutral", onClick: resend, disabled, children: resendText })
|
|
3032
3197
|
] }),
|
|
3033
|
-
/* @__PURE__ */
|
|
3034
|
-
/* @__PURE__ */
|
|
3035
|
-
name && /* @__PURE__ */
|
|
3198
|
+
/* @__PURE__ */ jsx45("p", { id: helperId, className: helperText({ error }), children: description6 }),
|
|
3199
|
+
/* @__PURE__ */ jsx45("p", { id: statusId, role: "status", className: helperText({ error: true }), children: expired ? expiredText : "" }),
|
|
3200
|
+
name && /* @__PURE__ */ jsx45("input", { type: "hidden", name, value: code })
|
|
3036
3201
|
]
|
|
3037
3202
|
}
|
|
3038
3203
|
);
|
|
@@ -3080,8 +3245,10 @@ export {
|
|
|
3080
3245
|
PopoverClose,
|
|
3081
3246
|
Progress,
|
|
3082
3247
|
RadioGroup,
|
|
3248
|
+
SegmentedControl,
|
|
3083
3249
|
Select,
|
|
3084
3250
|
Skeleton,
|
|
3251
|
+
SkipLink,
|
|
3085
3252
|
Slider,
|
|
3086
3253
|
Spinner,
|
|
3087
3254
|
Stack,
|