@bestow-ui/react 0.9.0 → 0.10.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 +2 -2
- package/dist/index.cjs +802 -331
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +460 -203
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +138 -2
- package/dist/index.d.ts +138 -2
- package/dist/index.js +801 -327
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/dist/index.cjs
CHANGED
|
@@ -43,6 +43,7 @@ __export(index_exports, {
|
|
|
43
43
|
CardFooter: () => CardFooter,
|
|
44
44
|
CardHeader: () => CardHeader,
|
|
45
45
|
Checkbox: () => Checkbox,
|
|
46
|
+
Combobox: () => Combobox,
|
|
46
47
|
Divider: () => Divider,
|
|
47
48
|
Drawer: () => Drawer,
|
|
48
49
|
DrawerClose: () => DrawerClose,
|
|
@@ -59,15 +60,23 @@ __export(index_exports, {
|
|
|
59
60
|
Modal: () => Modal,
|
|
60
61
|
ModalClose: () => ModalClose,
|
|
61
62
|
Pagination: () => Pagination,
|
|
62
|
-
Popover: () =>
|
|
63
|
+
Popover: () => Popover2,
|
|
63
64
|
PopoverClose: () => PopoverClose,
|
|
64
65
|
Progress: () => Progress,
|
|
65
66
|
RadioGroup: () => RadioGroup,
|
|
66
67
|
Select: () => Select,
|
|
67
68
|
Skeleton: () => Skeleton,
|
|
69
|
+
Slider: () => Slider,
|
|
68
70
|
Spinner: () => Spinner,
|
|
69
71
|
Stack: () => Stack,
|
|
70
72
|
Switch: () => Switch,
|
|
73
|
+
Table: () => Table,
|
|
74
|
+
TableBody: () => TableBody,
|
|
75
|
+
TableCell: () => TableCell,
|
|
76
|
+
TableFooter: () => TableFooter,
|
|
77
|
+
TableHead: () => TableHead,
|
|
78
|
+
TableHeader: () => TableHeader,
|
|
79
|
+
TableRow: () => TableRow,
|
|
71
80
|
Tabs: () => Tabs,
|
|
72
81
|
TabsContent: () => TabsContent,
|
|
73
82
|
TabsList: () => TabsList,
|
|
@@ -226,10 +235,10 @@ var import_dynamic = require("@vanilla-extract/dynamic");
|
|
|
226
235
|
function deepMerge(target, source) {
|
|
227
236
|
if (!source) return target;
|
|
228
237
|
const out = { ...target };
|
|
229
|
-
for (const [key,
|
|
230
|
-
if (
|
|
238
|
+
for (const [key, value4] of Object.entries(source)) {
|
|
239
|
+
if (value4 === void 0) continue;
|
|
231
240
|
const prev = out[key];
|
|
232
|
-
out[key] = typeof
|
|
241
|
+
out[key] = typeof value4 === "object" && typeof prev === "object" ? deepMerge(prev, value4) : value4;
|
|
233
242
|
}
|
|
234
243
|
return out;
|
|
235
244
|
}
|
|
@@ -248,11 +257,11 @@ function mergeThemes(a, b) {
|
|
|
248
257
|
return createTheme(a, b);
|
|
249
258
|
}
|
|
250
259
|
function flatten(partial, contract, out) {
|
|
251
|
-
for (const [key,
|
|
260
|
+
for (const [key, value4] of Object.entries(partial)) {
|
|
252
261
|
const target = contract[key];
|
|
253
262
|
if (target === void 0) continue;
|
|
254
|
-
if (typeof target === "string" && typeof
|
|
255
|
-
else if (typeof target === "object" && typeof
|
|
263
|
+
if (typeof target === "string" && typeof value4 === "string") out[target] = value4;
|
|
264
|
+
else if (typeof target === "object" && typeof value4 === "object") flatten(value4, target, out);
|
|
256
265
|
}
|
|
257
266
|
return out;
|
|
258
267
|
}
|
|
@@ -281,17 +290,17 @@ var ThemeProvider = /* @__PURE__ */ (0, import_react.forwardRef)(function ThemeP
|
|
|
281
290
|
const parent = (0, import_react.useContext)(ThemeContext);
|
|
282
291
|
const theme = themeProp ?? parent.theme;
|
|
283
292
|
const merged = (0, import_react.useMemo)(() => mergeThemes(parent.overrides, overrides), [parent.overrides, overrides]);
|
|
284
|
-
const
|
|
293
|
+
const value4 = (0, import_react.useMemo)(
|
|
285
294
|
() => ({ theme, overrides: merged, style: themeToStyle(merged, theme) }),
|
|
286
295
|
[theme, merged]
|
|
287
296
|
);
|
|
288
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThemeContext.Provider, { value:
|
|
297
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThemeContext.Provider, { value: value4, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
289
298
|
"div",
|
|
290
299
|
{
|
|
291
300
|
ref,
|
|
292
301
|
"data-theme": theme,
|
|
293
302
|
className: cx(themeClass[theme], root, className),
|
|
294
|
-
style:
|
|
303
|
+
style: value4.style ? { ...value4.style, ...style } : style,
|
|
295
304
|
...rest,
|
|
296
305
|
children
|
|
297
306
|
}
|
|
@@ -397,8 +406,8 @@ function getInitials(name) {
|
|
|
397
406
|
return (first(a) + first(b)).toUpperCase();
|
|
398
407
|
}
|
|
399
408
|
var Avatar = /* @__PURE__ */ (0, import_react4.forwardRef)(function Avatar2({ src, alt, name, fallback: fallback2, size, shape, className, ...rest }, ref) {
|
|
400
|
-
const
|
|
401
|
-
const a11y =
|
|
409
|
+
const label6 = alt ?? name;
|
|
410
|
+
const a11y = label6 ? { role: "img", "aria-label": label6 } : { "aria-hidden": true };
|
|
402
411
|
const initials = name ? getInitials(name) : "";
|
|
403
412
|
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(RadixAvatar.Root, { ref, className: cx(root3({ size, shape }), className), ...a11y, ...rest, children: [
|
|
404
413
|
src && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(RadixAvatar.Image, { src, alt: "", className: image }),
|
|
@@ -515,11 +524,11 @@ var spinner = /* @__PURE__ */ (0, import_createRuntimeFn5.createRuntimeFn)({ def
|
|
|
515
524
|
|
|
516
525
|
// src/components/Spinner/Spinner.tsx
|
|
517
526
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
518
|
-
var Spinner = /* @__PURE__ */ (0, import_react8.forwardRef)(function Spinner2({ size, color, label:
|
|
519
|
-
const a11y =
|
|
527
|
+
var Spinner = /* @__PURE__ */ (0, import_react8.forwardRef)(function Spinner2({ size, color, label: label6 = "\uB85C\uB529 \uC911", className, ...rest }, ref) {
|
|
528
|
+
const a11y = label6 ? { role: "status" } : { "aria-hidden": true };
|
|
520
529
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { ref, className: cx(spinner({ size, color }), className), ...a11y, ...rest, children: [
|
|
521
530
|
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_icons6.LoaderIcon, { size: "100%" }),
|
|
522
|
-
|
|
531
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: visuallyHidden, children: label6 })
|
|
523
532
|
] });
|
|
524
533
|
});
|
|
525
534
|
|
|
@@ -601,10 +610,10 @@ var import_react11 = require("react");
|
|
|
601
610
|
|
|
602
611
|
// src/utils/mergeRefs.ts
|
|
603
612
|
function mergeRefs(...refs) {
|
|
604
|
-
return (
|
|
613
|
+
return (value4) => {
|
|
605
614
|
for (const ref of refs) {
|
|
606
|
-
if (typeof ref === "function") ref(
|
|
607
|
-
else if (ref) ref.current =
|
|
615
|
+
if (typeof ref === "function") ref(value4);
|
|
616
|
+
else if (ref) ref.current = value4;
|
|
608
617
|
}
|
|
609
618
|
};
|
|
610
619
|
}
|
|
@@ -619,7 +628,7 @@ var root4 = /* @__PURE__ */ (0, import_createRuntimeFn8.createRuntimeFn)({ defau
|
|
|
619
628
|
|
|
620
629
|
// src/components/Checkbox/Checkbox.tsx
|
|
621
630
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
622
|
-
var Checkbox = /* @__PURE__ */ (0, import_react11.forwardRef)(function Checkbox2({ label:
|
|
631
|
+
var Checkbox = /* @__PURE__ */ (0, import_react11.forwardRef)(function Checkbox2({ label: label6, size, indeterminate = false, invalid, disabled, className, ...rest }, ref) {
|
|
623
632
|
const innerRef = (0, import_react11.useRef)(null);
|
|
624
633
|
(0, import_react11.useEffect)(() => {
|
|
625
634
|
if (innerRef.current) innerRef.current.indeterminate = indeterminate;
|
|
@@ -649,48 +658,312 @@ var Checkbox = /* @__PURE__ */ (0, import_react11.forwardRef)(function Checkbox2
|
|
|
649
658
|
) }),
|
|
650
659
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("svg", { className: indeterminateIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("path", { d: "M6 10h8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) })
|
|
651
660
|
] }),
|
|
652
|
-
|
|
661
|
+
label6
|
|
653
662
|
] });
|
|
654
663
|
});
|
|
655
664
|
|
|
656
|
-
// src/components/
|
|
665
|
+
// src/components/Combobox/Combobox.tsx
|
|
666
|
+
var Popover = __toESM(require("@radix-ui/react-popover"), 1);
|
|
657
667
|
var import_react12 = require("react");
|
|
668
|
+
var import_icons7 = require("@bestow-ui/icons");
|
|
658
669
|
|
|
659
|
-
// src/components/
|
|
670
|
+
// src/components/Input/Input.css.ts
|
|
660
671
|
var import_createRuntimeFn9 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
661
|
-
var
|
|
672
|
+
var adornment = "_19p5zvh6";
|
|
673
|
+
var field = "_19p5zvh7";
|
|
674
|
+
var fieldFullWidth = "_19p5zvh8";
|
|
675
|
+
var helperText = /* @__PURE__ */ (0, import_createRuntimeFn9.createRuntimeFn)({ defaultClassName: "_19p5zvhb", variantClassNames: { error: { true: "_19p5zvhc" } }, defaultVariants: {}, compoundVariants: [] });
|
|
676
|
+
var input2 = "_19p5zvh5";
|
|
677
|
+
var label = "_19p5zvh9";
|
|
678
|
+
var requiredMark = "_19p5zvha";
|
|
679
|
+
var root5 = /* @__PURE__ */ (0, import_createRuntimeFn9.createRuntimeFn)({ defaultClassName: "_19p5zvh0", variantClassNames: { size: { sm: "_19p5zvh1", md: "_19p5zvh2", lg: "_19p5zvh3" }, fullWidth: { true: "_19p5zvh4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
680
|
+
|
|
681
|
+
// src/components/Select/Select.css.ts
|
|
682
|
+
var content3 = "_1kx81e83";
|
|
683
|
+
var icon4 = "_1kx81e82";
|
|
684
|
+
var item3 = "_1kx81e85";
|
|
685
|
+
var itemIndicator = "_1kx81e86";
|
|
686
|
+
var trigger2 = "_1kx81e80";
|
|
687
|
+
var value = "_1kx81e81";
|
|
688
|
+
var viewport = "_1kx81e84";
|
|
689
|
+
|
|
690
|
+
// src/components/Combobox/Combobox.css.ts
|
|
691
|
+
var content4 = "c2pbq71";
|
|
692
|
+
var empty = "c2pbq72";
|
|
693
|
+
var toggle = "c2pbq70";
|
|
694
|
+
|
|
695
|
+
// src/components/Combobox/Combobox.tsx
|
|
696
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
697
|
+
var defaultFilter = (option2, query) => option2.label.toLowerCase().includes(query.trim().toLowerCase());
|
|
698
|
+
var Combobox = /* @__PURE__ */ (0, import_react12.forwardRef)(function Combobox2(props, ref) {
|
|
699
|
+
const {
|
|
700
|
+
options,
|
|
701
|
+
value: value4,
|
|
702
|
+
defaultValue,
|
|
703
|
+
onValueChange,
|
|
704
|
+
filter = defaultFilter,
|
|
705
|
+
emptyMessage = "\uACB0\uACFC\uAC00 \uC5C6\uC5B4\uC694",
|
|
706
|
+
placeholder,
|
|
707
|
+
label: label6,
|
|
708
|
+
helperText: helperText3,
|
|
709
|
+
error,
|
|
710
|
+
size,
|
|
711
|
+
fullWidth,
|
|
712
|
+
disabled,
|
|
713
|
+
required,
|
|
714
|
+
name,
|
|
715
|
+
id,
|
|
716
|
+
"aria-label": ariaLabel,
|
|
717
|
+
toggleLabel = "\uBAA9\uB85D \uC5F4\uAE30",
|
|
718
|
+
className
|
|
719
|
+
} = props;
|
|
720
|
+
const generatedId = (0, import_react12.useId)();
|
|
721
|
+
const inputId = id ?? generatedId;
|
|
722
|
+
const labelId = `${inputId}-label`;
|
|
723
|
+
const listId = `${inputId}-listbox`;
|
|
724
|
+
const helperId = helperText3 ? `${inputId}-helper` : void 0;
|
|
725
|
+
const optionId = (index) => `${inputId}-option-${index}`;
|
|
726
|
+
const portal2 = usePortalProps();
|
|
727
|
+
const inputRef = (0, import_react12.useRef)(null);
|
|
728
|
+
const anchorRef = (0, import_react12.useRef)(null);
|
|
729
|
+
const isControlled = "value" in props;
|
|
730
|
+
const [innerValue, setInnerValue] = (0, import_react12.useState)(defaultValue);
|
|
731
|
+
const selectedValue = isControlled ? value4 : innerValue;
|
|
732
|
+
const selectedOption = options.find((o) => o.value === selectedValue);
|
|
733
|
+
const [open, setOpen] = (0, import_react12.useState)(false);
|
|
734
|
+
const [query, setQuery] = (0, import_react12.useState)(null);
|
|
735
|
+
const [activeIndex, setActiveIndex] = (0, import_react12.useState)(-1);
|
|
736
|
+
const filtered = (0, import_react12.useMemo)(() => query ? options.filter((o) => filter(o, query)) : options, [options, filter, query]);
|
|
737
|
+
const inputText = query ?? selectedOption?.label ?? "";
|
|
738
|
+
const firstEnabled = (list4, from = 0, step = 1) => {
|
|
739
|
+
for (let i = from; i >= 0 && i < list4.length; i += step) if (!list4[i].disabled) return i;
|
|
740
|
+
return -1;
|
|
741
|
+
};
|
|
742
|
+
const openList = (list4 = filtered, preferLast = false) => {
|
|
743
|
+
setOpen(true);
|
|
744
|
+
const selectedIndex = list4.findIndex((o) => o.value === selectedValue);
|
|
745
|
+
setActiveIndex(
|
|
746
|
+
selectedIndex >= 0 && !list4[selectedIndex].disabled ? selectedIndex : preferLast ? firstEnabled(list4, list4.length - 1, -1) : firstEnabled(list4)
|
|
747
|
+
);
|
|
748
|
+
};
|
|
749
|
+
const close2 = () => {
|
|
750
|
+
setOpen(false);
|
|
751
|
+
setQuery(null);
|
|
752
|
+
setActiveIndex(-1);
|
|
753
|
+
};
|
|
754
|
+
const select = (option2) => {
|
|
755
|
+
if (option2.disabled) return;
|
|
756
|
+
if (!isControlled) setInnerValue(option2.value);
|
|
757
|
+
if (option2.value !== selectedValue) onValueChange?.(option2.value);
|
|
758
|
+
close2();
|
|
759
|
+
};
|
|
760
|
+
const move = (step) => {
|
|
761
|
+
const start = activeIndex < 0 ? step === 1 ? 0 : filtered.length - 1 : activeIndex + step;
|
|
762
|
+
const next = firstEnabled(filtered, start, step);
|
|
763
|
+
if (next >= 0) setActiveIndex(next);
|
|
764
|
+
};
|
|
765
|
+
const handleChange = (event) => {
|
|
766
|
+
const nextQuery = event.target.value;
|
|
767
|
+
const nextList = nextQuery ? options.filter((o) => filter(o, nextQuery)) : options;
|
|
768
|
+
setQuery(nextQuery);
|
|
769
|
+
setOpen(true);
|
|
770
|
+
setActiveIndex(firstEnabled(nextList));
|
|
771
|
+
};
|
|
772
|
+
const handleKeyDown = (event) => {
|
|
773
|
+
switch (event.key) {
|
|
774
|
+
case "ArrowDown":
|
|
775
|
+
event.preventDefault();
|
|
776
|
+
if (!open) openList();
|
|
777
|
+
else move(1);
|
|
778
|
+
break;
|
|
779
|
+
case "ArrowUp":
|
|
780
|
+
event.preventDefault();
|
|
781
|
+
if (!open) openList(filtered, true);
|
|
782
|
+
else move(-1);
|
|
783
|
+
break;
|
|
784
|
+
case "Enter":
|
|
785
|
+
if (open) {
|
|
786
|
+
event.preventDefault();
|
|
787
|
+
const option2 = filtered[activeIndex];
|
|
788
|
+
if (option2) select(option2);
|
|
789
|
+
}
|
|
790
|
+
break;
|
|
791
|
+
case "Escape":
|
|
792
|
+
if (open) {
|
|
793
|
+
event.preventDefault();
|
|
794
|
+
close2();
|
|
795
|
+
}
|
|
796
|
+
break;
|
|
797
|
+
case "Tab":
|
|
798
|
+
if (open) close2();
|
|
799
|
+
break;
|
|
800
|
+
}
|
|
801
|
+
};
|
|
802
|
+
(0, import_react12.useEffect)(() => {
|
|
803
|
+
if (!open || activeIndex < 0) return;
|
|
804
|
+
document.getElementById(optionId(activeIndex))?.scrollIntoView?.({ block: "nearest" });
|
|
805
|
+
}, [open, activeIndex]);
|
|
806
|
+
const hasOptions = filtered.length > 0;
|
|
807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
808
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("label", { id: labelId, htmlFor: inputId, className: label, children: [
|
|
809
|
+
label6,
|
|
810
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
811
|
+
] }),
|
|
812
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Popover.Root, { open: open && !disabled, onOpenChange: (next) => next ? openList() : close2(), children: [
|
|
813
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Popover.Anchor, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
814
|
+
"div",
|
|
815
|
+
{
|
|
816
|
+
ref: anchorRef,
|
|
817
|
+
className: cx(root5({ size, fullWidth }), className),
|
|
818
|
+
"data-invalid": error || void 0,
|
|
819
|
+
"data-disabled": disabled || void 0,
|
|
820
|
+
children: [
|
|
821
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
822
|
+
"input",
|
|
823
|
+
{
|
|
824
|
+
ref: mergeRefs(ref, inputRef),
|
|
825
|
+
id: inputId,
|
|
826
|
+
type: "text",
|
|
827
|
+
role: "combobox",
|
|
828
|
+
"aria-expanded": open,
|
|
829
|
+
"aria-controls": open && hasOptions ? listId : void 0,
|
|
830
|
+
"aria-autocomplete": "list",
|
|
831
|
+
"aria-activedescendant": open && activeIndex >= 0 ? optionId(activeIndex) : void 0,
|
|
832
|
+
"aria-label": label6 ? void 0 : ariaLabel,
|
|
833
|
+
"aria-invalid": error || void 0,
|
|
834
|
+
"aria-required": required || void 0,
|
|
835
|
+
"aria-describedby": helperId,
|
|
836
|
+
autoComplete: "off",
|
|
837
|
+
placeholder,
|
|
838
|
+
disabled,
|
|
839
|
+
value: inputText,
|
|
840
|
+
onChange: handleChange,
|
|
841
|
+
onKeyDown: handleKeyDown,
|
|
842
|
+
onBlur: () => {
|
|
843
|
+
if (open) close2();
|
|
844
|
+
},
|
|
845
|
+
className: input2
|
|
846
|
+
}
|
|
847
|
+
),
|
|
848
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
849
|
+
"button",
|
|
850
|
+
{
|
|
851
|
+
type: "button",
|
|
852
|
+
tabIndex: -1,
|
|
853
|
+
"aria-label": toggleLabel,
|
|
854
|
+
"aria-expanded": open,
|
|
855
|
+
disabled,
|
|
856
|
+
className: toggle,
|
|
857
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
858
|
+
onClick: () => {
|
|
859
|
+
if (open) close2();
|
|
860
|
+
else openList(options);
|
|
861
|
+
inputRef.current?.focus();
|
|
862
|
+
},
|
|
863
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_icons7.ChevronDownIcon, { size: 16 })
|
|
864
|
+
}
|
|
865
|
+
)
|
|
866
|
+
]
|
|
867
|
+
}
|
|
868
|
+
) }),
|
|
869
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
870
|
+
Popover.Content,
|
|
871
|
+
{
|
|
872
|
+
role: "presentation",
|
|
873
|
+
align: "start",
|
|
874
|
+
sideOffset: 4,
|
|
875
|
+
collisionPadding: 8,
|
|
876
|
+
className: cx(portal2.className, content4),
|
|
877
|
+
style: portal2.style,
|
|
878
|
+
onOpenAutoFocus: (event) => event.preventDefault(),
|
|
879
|
+
onCloseAutoFocus: (event) => event.preventDefault(),
|
|
880
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
881
|
+
onInteractOutside: (event) => {
|
|
882
|
+
if (anchorRef.current?.contains(event.target)) event.preventDefault();
|
|
883
|
+
},
|
|
884
|
+
children: hasOptions ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
885
|
+
"div",
|
|
886
|
+
{
|
|
887
|
+
id: listId,
|
|
888
|
+
role: "listbox",
|
|
889
|
+
"aria-labelledby": label6 ? labelId : void 0,
|
|
890
|
+
"aria-label": label6 ? void 0 : ariaLabel,
|
|
891
|
+
children: filtered.map((option2, index) => {
|
|
892
|
+
const isSelected = option2.value === selectedValue;
|
|
893
|
+
return (
|
|
894
|
+
// aria-activedescendant 패턴: 포커스·키보드는 입력창이 맡고 항목은 포커스를 받지 않는다 (WAI-ARIA combobox)
|
|
895
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/interactive-supports-focus
|
|
896
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
897
|
+
"div",
|
|
898
|
+
{
|
|
899
|
+
id: optionId(index),
|
|
900
|
+
role: "option",
|
|
901
|
+
"aria-selected": isSelected,
|
|
902
|
+
"aria-disabled": option2.disabled || void 0,
|
|
903
|
+
"data-highlighted": index === activeIndex ? "" : void 0,
|
|
904
|
+
"data-state": isSelected ? "checked" : "unchecked",
|
|
905
|
+
"data-disabled": option2.disabled ? "" : void 0,
|
|
906
|
+
className: item3,
|
|
907
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
908
|
+
onMouseMove: () => !option2.disabled && setActiveIndex(index),
|
|
909
|
+
onClick: () => select(option2),
|
|
910
|
+
children: [
|
|
911
|
+
option2.label,
|
|
912
|
+
isSelected && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: itemIndicator, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_icons7.CheckIcon, { size: 16 }) })
|
|
913
|
+
]
|
|
914
|
+
},
|
|
915
|
+
option2.value
|
|
916
|
+
)
|
|
917
|
+
);
|
|
918
|
+
})
|
|
919
|
+
}
|
|
920
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: empty, role: "status", children: emptyMessage })
|
|
921
|
+
}
|
|
922
|
+
) })
|
|
923
|
+
] }),
|
|
924
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("input", { type: "hidden", name, value: selectedValue ?? "" }),
|
|
925
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
926
|
+
] });
|
|
927
|
+
});
|
|
928
|
+
|
|
929
|
+
// src/components/Divider/Divider.tsx
|
|
930
|
+
var import_react13 = require("react");
|
|
931
|
+
|
|
932
|
+
// src/components/Divider/Divider.css.ts
|
|
933
|
+
var import_createRuntimeFn10 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
934
|
+
var divider = /* @__PURE__ */ (0, import_createRuntimeFn10.createRuntimeFn)({ defaultClassName: "_1t3gq8v0", variantClassNames: { orientation: { horizontal: "_1t3gq8v1", vertical: "_1t3gq8v2" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
|
|
662
935
|
var labeled = "_1t3gq8v3";
|
|
663
936
|
var line = "_1t3gq8v4";
|
|
664
937
|
|
|
665
938
|
// src/components/Divider/Divider.tsx
|
|
666
|
-
var
|
|
667
|
-
var Divider = /* @__PURE__ */ (0,
|
|
939
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
940
|
+
var Divider = /* @__PURE__ */ (0, import_react13.forwardRef)(function Divider2({ orientation = "horizontal", decorative, className, children, ...rest }, ref) {
|
|
668
941
|
if (children && orientation === "horizontal") {
|
|
669
|
-
return /* @__PURE__ */ (0,
|
|
670
|
-
/* @__PURE__ */ (0,
|
|
942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { ref, className: cx(labeled, className), ...rest, children: [
|
|
943
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: line, "aria-hidden": true }),
|
|
671
944
|
children,
|
|
672
|
-
/* @__PURE__ */ (0,
|
|
945
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: line, "aria-hidden": true })
|
|
673
946
|
] });
|
|
674
947
|
}
|
|
675
948
|
const a11y = decorative ? { role: "none" } : { role: "separator", "aria-orientation": orientation === "vertical" ? "vertical" : void 0 };
|
|
676
|
-
return /* @__PURE__ */ (0,
|
|
949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { ref, className: cx(divider({ orientation }), className), ...a11y, ...rest });
|
|
677
950
|
});
|
|
678
951
|
|
|
679
952
|
// src/components/Drawer/Drawer.tsx
|
|
680
953
|
var Dialog = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
681
|
-
var
|
|
954
|
+
var import_icons8 = require("@bestow-ui/icons");
|
|
682
955
|
|
|
683
956
|
// src/components/IconButton/IconButton.tsx
|
|
684
|
-
var
|
|
957
|
+
var import_react14 = require("react");
|
|
685
958
|
|
|
686
959
|
// src/components/IconButton/IconButton.css.ts
|
|
687
|
-
var
|
|
688
|
-
var iconButton = /* @__PURE__ */ (0,
|
|
960
|
+
var import_createRuntimeFn11 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
961
|
+
var iconButton = /* @__PURE__ */ (0, import_createRuntimeFn11.createRuntimeFn)({ defaultClassName: "ip9et20", variantClassNames: { size: { sm: "ip9et21", md: "ip9et22", lg: "ip9et23" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
689
962
|
|
|
690
963
|
// src/components/IconButton/IconButton.tsx
|
|
691
|
-
var
|
|
692
|
-
var IconButton = /* @__PURE__ */ (0,
|
|
693
|
-
return /* @__PURE__ */ (0,
|
|
964
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
965
|
+
var IconButton = /* @__PURE__ */ (0, import_react14.forwardRef)(function IconButton2({ variant = "ghost", color = "neutral", size, loading, className, children, ...rest }, ref) {
|
|
966
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
694
967
|
Button,
|
|
695
968
|
{
|
|
696
969
|
ref,
|
|
@@ -706,10 +979,10 @@ var IconButton = /* @__PURE__ */ (0, import_react13.forwardRef)(function IconBut
|
|
|
706
979
|
});
|
|
707
980
|
|
|
708
981
|
// src/components/Drawer/Drawer.css.ts
|
|
709
|
-
var
|
|
982
|
+
var import_createRuntimeFn12 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
710
983
|
var body2 = "nmobyvy";
|
|
711
984
|
var closeButton2 = "nmobyvx";
|
|
712
|
-
var
|
|
985
|
+
var content5 = /* @__PURE__ */ (0, import_createRuntimeFn12.createRuntimeFn)({ defaultClassName: "nmobyv9", variantClassNames: { side: { right: "nmobyva", left: "nmobyvb", top: "nmobyvc", bottom: "nmobyvd" }, size: { sm: "nmobyve", md: "nmobyvf", lg: "nmobyvg" } }, defaultVariants: { side: "right", size: "md" }, compoundVariants: [[{ side: "right", size: "sm" }, "nmobyvh"], [{ side: "right", size: "md" }, "nmobyvi"], [{ side: "right", size: "lg" }, "nmobyvj"], [{ side: "left", size: "sm" }, "nmobyvk"], [{ side: "left", size: "md" }, "nmobyvl"], [{ side: "left", size: "lg" }, "nmobyvm"], [{ side: "top", size: "sm" }, "nmobyvn"], [{ side: "top", size: "md" }, "nmobyvo"], [{ side: "top", size: "lg" }, "nmobyvp"], [{ side: "bottom", size: "sm" }, "nmobyvq"], [{ side: "bottom", size: "md" }, "nmobyvr"], [{ side: "bottom", size: "lg" }, "nmobyvs"]] });
|
|
713
986
|
var description2 = "nmobyvw";
|
|
714
987
|
var footer2 = "nmobyvz";
|
|
715
988
|
var header3 = "nmobyvt";
|
|
@@ -718,7 +991,7 @@ var overlay = "nmobyv0";
|
|
|
718
991
|
var title2 = "nmobyvv";
|
|
719
992
|
|
|
720
993
|
// src/components/Drawer/Drawer.tsx
|
|
721
|
-
var
|
|
994
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
722
995
|
function Drawer({
|
|
723
996
|
open,
|
|
724
997
|
defaultOpen,
|
|
@@ -727,7 +1000,7 @@ function Drawer({
|
|
|
727
1000
|
title: title6,
|
|
728
1001
|
description: description6,
|
|
729
1002
|
children,
|
|
730
|
-
footer:
|
|
1003
|
+
footer: footer6,
|
|
731
1004
|
side,
|
|
732
1005
|
size,
|
|
733
1006
|
hideCloseButton = false,
|
|
@@ -735,28 +1008,28 @@ function Drawer({
|
|
|
735
1008
|
className
|
|
736
1009
|
}) {
|
|
737
1010
|
const portal2 = usePortalProps();
|
|
738
|
-
return /* @__PURE__ */ (0,
|
|
739
|
-
trigger4 && /* @__PURE__ */ (0,
|
|
740
|
-
/* @__PURE__ */ (0,
|
|
741
|
-
/* @__PURE__ */ (0,
|
|
742
|
-
/* @__PURE__ */ (0,
|
|
1011
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Dialog.Root, { open, defaultOpen, onOpenChange, children: [
|
|
1012
|
+
trigger4 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Trigger, { asChild: true, children: trigger4 }),
|
|
1013
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Dialog.Portal, { children: [
|
|
1014
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Overlay, { className: cx(portal2.className, overlay), style: portal2.style }),
|
|
1015
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
743
1016
|
Dialog.Content,
|
|
744
1017
|
{
|
|
745
|
-
className: cx(portal2.className,
|
|
1018
|
+
className: cx(portal2.className, content5({ side, size }), className),
|
|
746
1019
|
style: portal2.style,
|
|
747
1020
|
"data-side": side ?? "right",
|
|
748
1021
|
onPointerDownOutside: closeOnOverlayClick ? void 0 : (event) => event.preventDefault(),
|
|
749
1022
|
...description6 ? {} : { "aria-describedby": void 0 },
|
|
750
1023
|
children: [
|
|
751
|
-
/* @__PURE__ */ (0,
|
|
752
|
-
/* @__PURE__ */ (0,
|
|
753
|
-
/* @__PURE__ */ (0,
|
|
754
|
-
description6 && /* @__PURE__ */ (0,
|
|
1024
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: header3, children: [
|
|
1025
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: headings, children: [
|
|
1026
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Title, { className: title2, children: title6 }),
|
|
1027
|
+
description6 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Description, { className: description2, children: description6 })
|
|
755
1028
|
] }),
|
|
756
|
-
!hideCloseButton && /* @__PURE__ */ (0,
|
|
1029
|
+
!hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(IconButton, { "aria-label": "\uB2EB\uAE30", size: "sm", className: closeButton2, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons8.XIcon, {}) }) })
|
|
757
1030
|
] }),
|
|
758
|
-
children && /* @__PURE__ */ (0,
|
|
759
|
-
|
|
1031
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: body2, children }),
|
|
1032
|
+
footer6 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: footer2, children: footer6 })
|
|
760
1033
|
]
|
|
761
1034
|
}
|
|
762
1035
|
)
|
|
@@ -767,26 +1040,26 @@ var DrawerClose = Dialog.Close;
|
|
|
767
1040
|
|
|
768
1041
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
769
1042
|
var RadixMenu = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
|
|
770
|
-
var
|
|
1043
|
+
var import_react15 = require("react");
|
|
771
1044
|
|
|
772
1045
|
// src/components/DropdownMenu/DropdownMenu.css.ts
|
|
773
|
-
var
|
|
1046
|
+
var content6 = "_1d7ahux0";
|
|
774
1047
|
var danger = "_1d7ahux2";
|
|
775
|
-
var
|
|
776
|
-
var
|
|
777
|
-
var
|
|
1048
|
+
var icon5 = "_1d7ahux3";
|
|
1049
|
+
var item4 = "_1d7ahux1";
|
|
1050
|
+
var label2 = "_1d7ahux5";
|
|
778
1051
|
var separator2 = "_1d7ahux6";
|
|
779
1052
|
var shortcut = "_1d7ahux4";
|
|
780
1053
|
|
|
781
1054
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
782
|
-
var
|
|
1055
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
783
1056
|
var DropdownMenu = RadixMenu.Root;
|
|
784
1057
|
var DropdownMenuTrigger = RadixMenu.Trigger;
|
|
785
1058
|
var DropdownMenuGroup = RadixMenu.Group;
|
|
786
|
-
var DropdownMenuContent = /* @__PURE__ */ (0,
|
|
1059
|
+
var DropdownMenuContent = /* @__PURE__ */ (0, import_react15.forwardRef)(
|
|
787
1060
|
function DropdownMenuContent2({ className, style, side = "bottom", align = "start", sideOffset = 4, collisionPadding = 8, ...rest }, ref) {
|
|
788
1061
|
const portal2 = usePortalProps();
|
|
789
|
-
return /* @__PURE__ */ (0,
|
|
1062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(RadixMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
790
1063
|
RadixMenu.Content,
|
|
791
1064
|
{
|
|
792
1065
|
ref,
|
|
@@ -794,59 +1067,46 @@ var DropdownMenuContent = /* @__PURE__ */ (0, import_react14.forwardRef)(
|
|
|
794
1067
|
align,
|
|
795
1068
|
sideOffset,
|
|
796
1069
|
collisionPadding,
|
|
797
|
-
className: cx(portal2.className,
|
|
1070
|
+
className: cx(portal2.className, content6, className),
|
|
798
1071
|
style: { ...portal2.style, ...style },
|
|
799
1072
|
...rest
|
|
800
1073
|
}
|
|
801
1074
|
) });
|
|
802
1075
|
}
|
|
803
1076
|
);
|
|
804
|
-
var DropdownMenuItem = /* @__PURE__ */ (0,
|
|
1077
|
+
var DropdownMenuItem = /* @__PURE__ */ (0, import_react15.forwardRef)(
|
|
805
1078
|
function DropdownMenuItem2({ icon: icon6, shortcut: shortcut2, color = "default", className, children, ...rest }, ref) {
|
|
806
|
-
return /* @__PURE__ */ (0,
|
|
807
|
-
icon6 && /* @__PURE__ */ (0,
|
|
1079
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(RadixMenu.Item, { ref, className: cx(item4, color === "danger" && danger, className), ...rest, children: [
|
|
1080
|
+
icon6 && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: icon5, "aria-hidden": true, children: icon6 }),
|
|
808
1081
|
children,
|
|
809
|
-
shortcut2 && /* @__PURE__ */ (0,
|
|
1082
|
+
shortcut2 && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: shortcut, "aria-hidden": true, children: shortcut2 })
|
|
810
1083
|
] });
|
|
811
1084
|
}
|
|
812
1085
|
);
|
|
813
|
-
var DropdownMenuLabel = /* @__PURE__ */ (0,
|
|
1086
|
+
var DropdownMenuLabel = /* @__PURE__ */ (0, import_react15.forwardRef)(
|
|
814
1087
|
function DropdownMenuLabel2({ className, ...rest }, ref) {
|
|
815
|
-
return /* @__PURE__ */ (0,
|
|
1088
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(RadixMenu.Label, { ref, className: cx(label2, className), ...rest });
|
|
816
1089
|
}
|
|
817
1090
|
);
|
|
818
|
-
var DropdownMenuSeparator = /* @__PURE__ */ (0,
|
|
1091
|
+
var DropdownMenuSeparator = /* @__PURE__ */ (0, import_react15.forwardRef)(
|
|
819
1092
|
function DropdownMenuSeparator2({ className, ...rest }, ref) {
|
|
820
|
-
return /* @__PURE__ */ (0,
|
|
1093
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(RadixMenu.Separator, { ref, className: cx(separator2, className), ...rest });
|
|
821
1094
|
}
|
|
822
1095
|
);
|
|
823
1096
|
|
|
824
1097
|
// src/components/Input/Input.tsx
|
|
825
|
-
var
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
var adornment = "_19p5zvh6";
|
|
830
|
-
var field = "_19p5zvh7";
|
|
831
|
-
var fieldFullWidth = "_19p5zvh8";
|
|
832
|
-
var helperText = /* @__PURE__ */ (0, import_createRuntimeFn12.createRuntimeFn)({ defaultClassName: "_19p5zvhb", variantClassNames: { error: { true: "_19p5zvhc" } }, defaultVariants: {}, compoundVariants: [] });
|
|
833
|
-
var input2 = "_19p5zvh5";
|
|
834
|
-
var label2 = "_19p5zvh9";
|
|
835
|
-
var requiredMark = "_19p5zvha";
|
|
836
|
-
var root5 = /* @__PURE__ */ (0, import_createRuntimeFn12.createRuntimeFn)({ defaultClassName: "_19p5zvh0", variantClassNames: { size: { sm: "_19p5zvh1", md: "_19p5zvh2", lg: "_19p5zvh3" }, fullWidth: { true: "_19p5zvh4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
837
|
-
|
|
838
|
-
// src/components/Input/Input.tsx
|
|
839
|
-
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
840
|
-
var Input = /* @__PURE__ */ (0, import_react15.forwardRef)(function Input2({ size, invalid, fullWidth, startAdornment, endAdornment, rootClassName, className, disabled, ...rest }, ref) {
|
|
841
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
1098
|
+
var import_react16 = require("react");
|
|
1099
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1100
|
+
var Input = /* @__PURE__ */ (0, import_react16.forwardRef)(function Input2({ size, invalid, fullWidth, startAdornment, endAdornment, rootClassName, className, disabled, ...rest }, ref) {
|
|
1101
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
842
1102
|
"div",
|
|
843
1103
|
{
|
|
844
1104
|
className: cx(root5({ size, fullWidth }), rootClassName),
|
|
845
1105
|
"data-invalid": invalid || void 0,
|
|
846
1106
|
"data-disabled": disabled || void 0,
|
|
847
1107
|
children: [
|
|
848
|
-
startAdornment && /* @__PURE__ */ (0,
|
|
849
|
-
/* @__PURE__ */ (0,
|
|
1108
|
+
startAdornment && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: adornment, children: startAdornment }),
|
|
1109
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
850
1110
|
"input",
|
|
851
1111
|
{
|
|
852
1112
|
ref,
|
|
@@ -856,25 +1116,25 @@ var Input = /* @__PURE__ */ (0, import_react15.forwardRef)(function Input2({ siz
|
|
|
856
1116
|
...rest
|
|
857
1117
|
}
|
|
858
1118
|
),
|
|
859
|
-
endAdornment && /* @__PURE__ */ (0,
|
|
1119
|
+
endAdornment && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: adornment, children: endAdornment })
|
|
860
1120
|
]
|
|
861
1121
|
}
|
|
862
1122
|
);
|
|
863
1123
|
});
|
|
864
1124
|
|
|
865
1125
|
// src/components/Input/TextField.tsx
|
|
866
|
-
var
|
|
867
|
-
var
|
|
868
|
-
var TextField = /* @__PURE__ */ (0,
|
|
869
|
-
const generatedId = (0,
|
|
1126
|
+
var import_react17 = require("react");
|
|
1127
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1128
|
+
var TextField = /* @__PURE__ */ (0, import_react17.forwardRef)(function TextField2({ label: label6, helperText: helperText3, error, required, fullWidth, id, "aria-describedby": ariaDescribedBy, ...rest }, ref) {
|
|
1129
|
+
const generatedId = (0, import_react17.useId)();
|
|
870
1130
|
const inputId = id ?? generatedId;
|
|
871
|
-
const helperId =
|
|
872
|
-
return /* @__PURE__ */ (0,
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
required && /* @__PURE__ */ (0,
|
|
1131
|
+
const helperId = helperText3 ? `${inputId}-helper` : void 0;
|
|
1132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
1133
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("label", { htmlFor: inputId, className: label, children: [
|
|
1134
|
+
label6,
|
|
1135
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
876
1136
|
] }),
|
|
877
|
-
/* @__PURE__ */ (0,
|
|
1137
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
878
1138
|
Input,
|
|
879
1139
|
{
|
|
880
1140
|
ref,
|
|
@@ -886,19 +1146,19 @@ var TextField = /* @__PURE__ */ (0, import_react16.forwardRef)(function TextFiel
|
|
|
886
1146
|
...rest
|
|
887
1147
|
}
|
|
888
1148
|
),
|
|
889
|
-
|
|
1149
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
890
1150
|
] });
|
|
891
1151
|
});
|
|
892
1152
|
|
|
893
1153
|
// src/components/Modal/Modal.tsx
|
|
894
1154
|
var Dialog2 = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
895
|
-
var
|
|
1155
|
+
var import_icons9 = require("@bestow-ui/icons");
|
|
896
1156
|
|
|
897
1157
|
// src/components/Modal/Modal.css.ts
|
|
898
1158
|
var import_createRuntimeFn13 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
899
1159
|
var body3 = "_1pdsmv0a";
|
|
900
1160
|
var closeButton3 = "_1pdsmv09";
|
|
901
|
-
var
|
|
1161
|
+
var content7 = /* @__PURE__ */ (0, import_createRuntimeFn13.createRuntimeFn)({ defaultClassName: "_1pdsmv01", variantClassNames: { size: { sm: "_1pdsmv02", md: "_1pdsmv03", lg: "_1pdsmv04" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
902
1162
|
var description3 = "_1pdsmv08";
|
|
903
1163
|
var footer3 = "_1pdsmv0b";
|
|
904
1164
|
var header4 = "_1pdsmv05";
|
|
@@ -907,7 +1167,7 @@ var overlay2 = "_1pdsmv00";
|
|
|
907
1167
|
var title3 = "_1pdsmv07";
|
|
908
1168
|
|
|
909
1169
|
// src/components/Modal/Modal.tsx
|
|
910
|
-
var
|
|
1170
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
911
1171
|
function Modal({
|
|
912
1172
|
open,
|
|
913
1173
|
defaultOpen,
|
|
@@ -916,34 +1176,34 @@ function Modal({
|
|
|
916
1176
|
title: title6,
|
|
917
1177
|
description: description6,
|
|
918
1178
|
children,
|
|
919
|
-
footer:
|
|
1179
|
+
footer: footer6,
|
|
920
1180
|
size,
|
|
921
1181
|
hideCloseButton = false,
|
|
922
1182
|
closeOnOverlayClick = true,
|
|
923
1183
|
className
|
|
924
1184
|
}) {
|
|
925
1185
|
const portal2 = usePortalProps();
|
|
926
|
-
return /* @__PURE__ */ (0,
|
|
927
|
-
trigger4 && /* @__PURE__ */ (0,
|
|
928
|
-
/* @__PURE__ */ (0,
|
|
929
|
-
/* @__PURE__ */ (0,
|
|
930
|
-
/* @__PURE__ */ (0,
|
|
1186
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Dialog2.Root, { open, defaultOpen, onOpenChange, children: [
|
|
1187
|
+
trigger4 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dialog2.Trigger, { asChild: true, children: trigger4 }),
|
|
1188
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Dialog2.Portal, { children: [
|
|
1189
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dialog2.Overlay, { className: cx(portal2.className, overlay2), style: portal2.style }),
|
|
1190
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
931
1191
|
Dialog2.Content,
|
|
932
1192
|
{
|
|
933
|
-
className: cx(portal2.className,
|
|
1193
|
+
className: cx(portal2.className, content7({ size }), className),
|
|
934
1194
|
style: portal2.style,
|
|
935
1195
|
onPointerDownOutside: closeOnOverlayClick ? void 0 : (event) => event.preventDefault(),
|
|
936
1196
|
...description6 ? {} : { "aria-describedby": void 0 },
|
|
937
1197
|
children: [
|
|
938
|
-
/* @__PURE__ */ (0,
|
|
939
|
-
/* @__PURE__ */ (0,
|
|
940
|
-
/* @__PURE__ */ (0,
|
|
941
|
-
description6 && /* @__PURE__ */ (0,
|
|
1198
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: header4, children: [
|
|
1199
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: headings2, children: [
|
|
1200
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dialog2.Title, { className: title3, children: title6 }),
|
|
1201
|
+
description6 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dialog2.Description, { className: description3, children: description6 })
|
|
942
1202
|
] }),
|
|
943
|
-
!hideCloseButton && /* @__PURE__ */ (0,
|
|
1203
|
+
!hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dialog2.Close, { className: closeButton3, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_icons9.XIcon, { size: 16 }) })
|
|
944
1204
|
] }),
|
|
945
|
-
children && /* @__PURE__ */ (0,
|
|
946
|
-
|
|
1205
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: body3, children }),
|
|
1206
|
+
footer6 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: footer3, children: footer6 })
|
|
947
1207
|
]
|
|
948
1208
|
}
|
|
949
1209
|
)
|
|
@@ -953,8 +1213,8 @@ function Modal({
|
|
|
953
1213
|
var ModalClose = Dialog2.Close;
|
|
954
1214
|
|
|
955
1215
|
// src/components/Pagination/Pagination.tsx
|
|
956
|
-
var
|
|
957
|
-
var
|
|
1216
|
+
var import_icons10 = require("@bestow-ui/icons");
|
|
1217
|
+
var import_react18 = require("react");
|
|
958
1218
|
|
|
959
1219
|
// src/components/Pagination/getPaginationItems.ts
|
|
960
1220
|
var range = (start, end) => end < start ? [] : Array.from({ length: end - start + 1 }, (_, i) => start + i);
|
|
@@ -983,13 +1243,13 @@ function getPaginationItems(page, totalPages, siblingCount = 1, boundaryCount =
|
|
|
983
1243
|
// src/components/Pagination/Pagination.css.ts
|
|
984
1244
|
var import_createRuntimeFn14 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
985
1245
|
var ellipsis = "_1iraoak4";
|
|
986
|
-
var
|
|
1246
|
+
var item5 = /* @__PURE__ */ (0, import_createRuntimeFn14.createRuntimeFn)({ defaultClassName: "_1iraoak1", variantClassNames: { size: { sm: "_1iraoak2", md: "_1iraoak3" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
987
1247
|
var list2 = "_1iraoak0";
|
|
988
1248
|
|
|
989
1249
|
// src/components/Pagination/Pagination.tsx
|
|
990
|
-
var
|
|
1250
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
991
1251
|
var defaultItemLabel = (type, page) => type === "previous" ? "\uC774\uC804 \uD398\uC774\uC9C0" : type === "next" ? "\uB2E4\uC74C \uD398\uC774\uC9C0" : `${page} \uD398\uC774\uC9C0`;
|
|
992
|
-
var Pagination = /* @__PURE__ */ (0,
|
|
1252
|
+
var Pagination = /* @__PURE__ */ (0, import_react18.forwardRef)(function Pagination2({
|
|
993
1253
|
totalPages,
|
|
994
1254
|
page: pageProp,
|
|
995
1255
|
defaultPage = 1,
|
|
@@ -1002,7 +1262,7 @@ var Pagination = /* @__PURE__ */ (0, import_react17.forwardRef)(function Paginat
|
|
|
1002
1262
|
"aria-label": ariaLabel = "\uD398\uC774\uC9C0 \uD0D0\uC0C9",
|
|
1003
1263
|
...rest
|
|
1004
1264
|
}, ref) {
|
|
1005
|
-
const [uncontrolledPage, setUncontrolledPage] = (0,
|
|
1265
|
+
const [uncontrolledPage, setUncontrolledPage] = (0, import_react18.useState)(defaultPage);
|
|
1006
1266
|
if (totalPages < 1) return null;
|
|
1007
1267
|
const page = Math.min(Math.max(pageProp ?? uncontrolledPage, 1), totalPages);
|
|
1008
1268
|
const goTo = (next) => {
|
|
@@ -1010,9 +1270,9 @@ var Pagination = /* @__PURE__ */ (0, import_react17.forwardRef)(function Paginat
|
|
|
1010
1270
|
if (pageProp === void 0) setUncontrolledPage(next);
|
|
1011
1271
|
onPageChange?.(next);
|
|
1012
1272
|
};
|
|
1013
|
-
const itemClass =
|
|
1014
|
-
return /* @__PURE__ */ (0,
|
|
1015
|
-
/* @__PURE__ */ (0,
|
|
1273
|
+
const itemClass = item5({ size });
|
|
1274
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("ul", { className: list2, children: [
|
|
1275
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1016
1276
|
"button",
|
|
1017
1277
|
{
|
|
1018
1278
|
type: "button",
|
|
@@ -1020,11 +1280,11 @@ var Pagination = /* @__PURE__ */ (0, import_react17.forwardRef)(function Paginat
|
|
|
1020
1280
|
"aria-label": getItemLabel("previous", page - 1),
|
|
1021
1281
|
disabled: page <= 1,
|
|
1022
1282
|
onClick: () => goTo(page - 1),
|
|
1023
|
-
children: /* @__PURE__ */ (0,
|
|
1283
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons10.ChevronLeftIcon, { size: 16 })
|
|
1024
1284
|
}
|
|
1025
1285
|
) }),
|
|
1026
1286
|
getPaginationItems(page, totalPages, siblingCount, boundaryCount).map(
|
|
1027
|
-
(item6) => typeof item6 === "number" ? /* @__PURE__ */ (0,
|
|
1287
|
+
(item6) => typeof item6 === "number" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1028
1288
|
"button",
|
|
1029
1289
|
{
|
|
1030
1290
|
type: "button",
|
|
@@ -1034,9 +1294,9 @@ var Pagination = /* @__PURE__ */ (0, import_react17.forwardRef)(function Paginat
|
|
|
1034
1294
|
onClick: () => goTo(item6),
|
|
1035
1295
|
children: item6
|
|
1036
1296
|
}
|
|
1037
|
-
) }, item6) : /* @__PURE__ */ (0,
|
|
1297
|
+
) }, item6) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("li", { "aria-hidden": true, className: cx(itemClass, ellipsis), children: "\u2026" }, item6)
|
|
1038
1298
|
),
|
|
1039
|
-
/* @__PURE__ */ (0,
|
|
1299
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
1040
1300
|
"button",
|
|
1041
1301
|
{
|
|
1042
1302
|
type: "button",
|
|
@@ -1044,7 +1304,7 @@ var Pagination = /* @__PURE__ */ (0, import_react17.forwardRef)(function Paginat
|
|
|
1044
1304
|
"aria-label": getItemLabel("next", page + 1),
|
|
1045
1305
|
disabled: page >= totalPages,
|
|
1046
1306
|
onClick: () => goTo(page + 1),
|
|
1047
|
-
children: /* @__PURE__ */ (0,
|
|
1307
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons10.ChevronRightIcon, { size: 16 })
|
|
1048
1308
|
}
|
|
1049
1309
|
) })
|
|
1050
1310
|
] }) });
|
|
@@ -1052,20 +1312,20 @@ var Pagination = /* @__PURE__ */ (0, import_react17.forwardRef)(function Paginat
|
|
|
1052
1312
|
|
|
1053
1313
|
// src/components/Popover/Popover.tsx
|
|
1054
1314
|
var RadixPopover = __toESM(require("@radix-ui/react-popover"), 1);
|
|
1055
|
-
var
|
|
1056
|
-
var
|
|
1315
|
+
var import_icons11 = require("@bestow-ui/icons");
|
|
1316
|
+
var import_react19 = require("react");
|
|
1057
1317
|
|
|
1058
1318
|
// src/components/Popover/Popover.css.ts
|
|
1059
1319
|
var arrow = "_1j99p8x4";
|
|
1060
1320
|
var closeButton4 = "_1j99p8x3";
|
|
1061
|
-
var
|
|
1321
|
+
var content8 = "_1j99p8x0";
|
|
1062
1322
|
var header5 = "_1j99p8x1";
|
|
1063
1323
|
var title4 = "_1j99p8x2";
|
|
1064
1324
|
|
|
1065
1325
|
// src/components/Popover/Popover.tsx
|
|
1066
|
-
var
|
|
1067
|
-
function
|
|
1068
|
-
content:
|
|
1326
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1327
|
+
function Popover2({
|
|
1328
|
+
content: content11,
|
|
1069
1329
|
children,
|
|
1070
1330
|
title: title6,
|
|
1071
1331
|
"aria-label": ariaLabel,
|
|
@@ -1081,10 +1341,10 @@ function Popover({
|
|
|
1081
1341
|
style
|
|
1082
1342
|
}) {
|
|
1083
1343
|
const portal2 = usePortalProps();
|
|
1084
|
-
const titleId = (0,
|
|
1085
|
-
return /* @__PURE__ */ (0,
|
|
1086
|
-
/* @__PURE__ */ (0,
|
|
1087
|
-
/* @__PURE__ */ (0,
|
|
1344
|
+
const titleId = (0, import_react19.useId)();
|
|
1345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(RadixPopover.Root, { open, defaultOpen, onOpenChange, modal, children: [
|
|
1346
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RadixPopover.Trigger, { asChild: true, children }),
|
|
1347
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RadixPopover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
1088
1348
|
RadixPopover.Content,
|
|
1089
1349
|
{
|
|
1090
1350
|
side,
|
|
@@ -1093,15 +1353,15 @@ function Popover({
|
|
|
1093
1353
|
collisionPadding: 8,
|
|
1094
1354
|
"aria-labelledby": title6 ? titleId : void 0,
|
|
1095
1355
|
"aria-label": title6 ? void 0 : ariaLabel,
|
|
1096
|
-
className: cx(portal2.className,
|
|
1356
|
+
className: cx(portal2.className, content8, className),
|
|
1097
1357
|
style: { ...portal2.style, ...style },
|
|
1098
1358
|
children: [
|
|
1099
|
-
(title6 || showClose) && /* @__PURE__ */ (0,
|
|
1100
|
-
title6 && /* @__PURE__ */ (0,
|
|
1101
|
-
showClose && /* @__PURE__ */ (0,
|
|
1359
|
+
(title6 || showClose) && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: header5, children: [
|
|
1360
|
+
title6 && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("h2", { id: titleId, className: title4, children: title6 }),
|
|
1361
|
+
showClose && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RadixPopover.Close, { className: closeButton4, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_icons11.XIcon, { size: 16 }) })
|
|
1102
1362
|
] }),
|
|
1103
|
-
|
|
1104
|
-
showArrow && /* @__PURE__ */ (0,
|
|
1363
|
+
content11,
|
|
1364
|
+
showArrow && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RadixPopover.Arrow, { className: arrow, width: 12, height: 6 })
|
|
1105
1365
|
]
|
|
1106
1366
|
}
|
|
1107
1367
|
) })
|
|
@@ -1110,7 +1370,7 @@ function Popover({
|
|
|
1110
1370
|
var PopoverClose = RadixPopover.Close;
|
|
1111
1371
|
|
|
1112
1372
|
// src/components/Progress/Progress.tsx
|
|
1113
|
-
var
|
|
1373
|
+
var import_react20 = require("react");
|
|
1114
1374
|
|
|
1115
1375
|
// src/components/Progress/Progress.css.ts
|
|
1116
1376
|
var import_createRuntimeFn15 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
@@ -1119,15 +1379,15 @@ var indicator = /* @__PURE__ */ (0, import_createRuntimeFn15.createRuntimeFn)({
|
|
|
1119
1379
|
var label3 = "_1tvkq002";
|
|
1120
1380
|
var root6 = "_1tvkq000";
|
|
1121
1381
|
var track = /* @__PURE__ */ (0, import_createRuntimeFn15.createRuntimeFn)({ defaultClassName: "_1tvkq004", variantClassNames: { size: { sm: "_1tvkq005", md: "_1tvkq006", lg: "_1tvkq007" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1122
|
-
var
|
|
1382
|
+
var value2 = "_1tvkq003";
|
|
1123
1383
|
|
|
1124
1384
|
// src/components/Progress/Progress.tsx
|
|
1125
|
-
var
|
|
1126
|
-
var defaultFormat = (
|
|
1127
|
-
var Progress = /* @__PURE__ */ (0,
|
|
1128
|
-
value:
|
|
1385
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1386
|
+
var defaultFormat = (value4, max) => `${Math.round(value4 / max * 100)}%`;
|
|
1387
|
+
var Progress = /* @__PURE__ */ (0, import_react20.forwardRef)(function Progress2({
|
|
1388
|
+
value: value4,
|
|
1129
1389
|
max = 100,
|
|
1130
|
-
label:
|
|
1390
|
+
label: label6,
|
|
1131
1391
|
"aria-label": ariaLabel,
|
|
1132
1392
|
showValue,
|
|
1133
1393
|
formatValue = defaultFormat,
|
|
@@ -1136,28 +1396,28 @@ var Progress = /* @__PURE__ */ (0, import_react19.forwardRef)(function Progress2
|
|
|
1136
1396
|
className,
|
|
1137
1397
|
...rest
|
|
1138
1398
|
}, ref) {
|
|
1139
|
-
const labelId = (0,
|
|
1140
|
-
const isIndeterminate =
|
|
1399
|
+
const labelId = (0, import_react20.useId)();
|
|
1400
|
+
const isIndeterminate = value4 === void 0 || value4 === null;
|
|
1141
1401
|
const safeMax = max > 0 ? max : 100;
|
|
1142
|
-
const clamped = isIndeterminate ? 0 : Math.min(safeMax, Math.max(0,
|
|
1402
|
+
const clamped = isIndeterminate ? 0 : Math.min(safeMax, Math.max(0, value4));
|
|
1143
1403
|
const valueText = isIndeterminate ? void 0 : formatValue(clamped, safeMax);
|
|
1144
|
-
return /* @__PURE__ */ (0,
|
|
1145
|
-
(
|
|
1146
|
-
|
|
1147
|
-
showValue && valueText && /* @__PURE__ */ (0,
|
|
1404
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { ref, className: cx(root6, className), ...rest, children: [
|
|
1405
|
+
(label6 || showValue && valueText) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: header6, children: [
|
|
1406
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { id: labelId, className: label3, children: label6 }),
|
|
1407
|
+
showValue && valueText && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: value2, "aria-hidden": true, children: valueText })
|
|
1148
1408
|
] }),
|
|
1149
|
-
/* @__PURE__ */ (0,
|
|
1409
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1150
1410
|
"div",
|
|
1151
1411
|
{
|
|
1152
1412
|
role: "progressbar",
|
|
1153
|
-
"aria-labelledby":
|
|
1154
|
-
"aria-label":
|
|
1413
|
+
"aria-labelledby": label6 ? labelId : void 0,
|
|
1414
|
+
"aria-label": label6 ? void 0 : ariaLabel,
|
|
1155
1415
|
"aria-valuemin": 0,
|
|
1156
1416
|
"aria-valuemax": safeMax,
|
|
1157
1417
|
"aria-valuenow": isIndeterminate ? void 0 : clamped,
|
|
1158
1418
|
"aria-valuetext": valueText,
|
|
1159
1419
|
className: track({ size }),
|
|
1160
|
-
children: /* @__PURE__ */ (0,
|
|
1420
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1161
1421
|
"div",
|
|
1162
1422
|
{
|
|
1163
1423
|
className: indicator({ color }),
|
|
@@ -1172,7 +1432,7 @@ var Progress = /* @__PURE__ */ (0, import_react19.forwardRef)(function Progress2
|
|
|
1172
1432
|
|
|
1173
1433
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
1174
1434
|
var RadixRadioGroup = __toESM(require("@radix-ui/react-radio-group"), 1);
|
|
1175
|
-
var
|
|
1435
|
+
var import_react21 = require("react");
|
|
1176
1436
|
|
|
1177
1437
|
// src/components/RadioGroup/RadioGroup.css.ts
|
|
1178
1438
|
var import_createRuntimeFn16 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
@@ -1186,15 +1446,15 @@ var radio = /* @__PURE__ */ (0, import_createRuntimeFn16.createRuntimeFn)({ defa
|
|
|
1186
1446
|
var text = "_1w9iwjmb";
|
|
1187
1447
|
|
|
1188
1448
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
1189
|
-
var
|
|
1190
|
-
var RadioGroup = /* @__PURE__ */ (0,
|
|
1449
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1450
|
+
var RadioGroup = /* @__PURE__ */ (0, import_react21.forwardRef)(function RadioGroup2(props, ref) {
|
|
1191
1451
|
const {
|
|
1192
1452
|
options,
|
|
1193
|
-
value:
|
|
1453
|
+
value: value4,
|
|
1194
1454
|
defaultValue,
|
|
1195
1455
|
onValueChange,
|
|
1196
|
-
label:
|
|
1197
|
-
helperText:
|
|
1456
|
+
label: label6,
|
|
1457
|
+
helperText: helperText3,
|
|
1198
1458
|
error,
|
|
1199
1459
|
orientation = "vertical",
|
|
1200
1460
|
size,
|
|
@@ -1206,21 +1466,21 @@ var RadioGroup = /* @__PURE__ */ (0, import_react20.forwardRef)(function RadioGr
|
|
|
1206
1466
|
className
|
|
1207
1467
|
} = props;
|
|
1208
1468
|
const isControlled = "value" in props;
|
|
1209
|
-
const generatedId = (0,
|
|
1469
|
+
const generatedId = (0, import_react21.useId)();
|
|
1210
1470
|
const baseId = id ?? generatedId;
|
|
1211
|
-
const labelId =
|
|
1212
|
-
const helperId =
|
|
1213
|
-
return /* @__PURE__ */ (0,
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
required && /* @__PURE__ */ (0,
|
|
1471
|
+
const labelId = label6 ? `${baseId}-label` : void 0;
|
|
1472
|
+
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
1473
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: cx(field, className), children: [
|
|
1474
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { id: labelId, className: cx(label, groupLabel), children: [
|
|
1475
|
+
label6,
|
|
1476
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
1217
1477
|
] }),
|
|
1218
|
-
/* @__PURE__ */ (0,
|
|
1478
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1219
1479
|
RadixRadioGroup.Root,
|
|
1220
1480
|
{
|
|
1221
1481
|
ref,
|
|
1222
1482
|
id: baseId,
|
|
1223
|
-
value: isControlled ?
|
|
1483
|
+
value: isControlled ? value4 ?? "" : void 0,
|
|
1224
1484
|
defaultValue,
|
|
1225
1485
|
onValueChange,
|
|
1226
1486
|
orientation,
|
|
@@ -1236,8 +1496,8 @@ var RadioGroup = /* @__PURE__ */ (0, import_react20.forwardRef)(function RadioGr
|
|
|
1236
1496
|
const itemId = `${baseId}-${option2.value}`;
|
|
1237
1497
|
const descriptionId = option2.description ? `${itemId}-description` : void 0;
|
|
1238
1498
|
const itemDisabled = disabled || option2.disabled;
|
|
1239
|
-
return /* @__PURE__ */ (0,
|
|
1240
|
-
/* @__PURE__ */ (0,
|
|
1499
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: option({ size }), "data-disabled": itemDisabled || void 0, children: [
|
|
1500
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1241
1501
|
RadixRadioGroup.Item,
|
|
1242
1502
|
{
|
|
1243
1503
|
id: itemId,
|
|
@@ -1245,46 +1505,35 @@ var RadioGroup = /* @__PURE__ */ (0, import_react20.forwardRef)(function RadioGr
|
|
|
1245
1505
|
disabled: option2.disabled,
|
|
1246
1506
|
"aria-describedby": descriptionId,
|
|
1247
1507
|
className: radio({ size }),
|
|
1248
|
-
children: /* @__PURE__ */ (0,
|
|
1508
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(RadixRadioGroup.Indicator, { className: indicator2 })
|
|
1249
1509
|
}
|
|
1250
1510
|
),
|
|
1251
|
-
/* @__PURE__ */ (0,
|
|
1252
|
-
/* @__PURE__ */ (0,
|
|
1253
|
-
option2.description && /* @__PURE__ */ (0,
|
|
1511
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { className: text, children: [
|
|
1512
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("label", { htmlFor: itemId, className: labelText, children: option2.label }),
|
|
1513
|
+
option2.description && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { id: descriptionId, className: description4, children: option2.description })
|
|
1254
1514
|
] })
|
|
1255
1515
|
] }, option2.value);
|
|
1256
1516
|
})
|
|
1257
1517
|
}
|
|
1258
1518
|
),
|
|
1259
|
-
|
|
1519
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
1260
1520
|
] });
|
|
1261
1521
|
});
|
|
1262
1522
|
|
|
1263
1523
|
// src/components/Select/Select.tsx
|
|
1264
1524
|
var RadixSelect = __toESM(require("@radix-ui/react-select"), 1);
|
|
1265
|
-
var
|
|
1266
|
-
var
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
var content7 = "_1kx81e83";
|
|
1270
|
-
var icon5 = "_1kx81e82";
|
|
1271
|
-
var item5 = "_1kx81e85";
|
|
1272
|
-
var itemIndicator = "_1kx81e86";
|
|
1273
|
-
var trigger2 = "_1kx81e80";
|
|
1274
|
-
var value2 = "_1kx81e81";
|
|
1275
|
-
var viewport = "_1kx81e84";
|
|
1276
|
-
|
|
1277
|
-
// src/components/Select/Select.tsx
|
|
1278
|
-
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1279
|
-
var Select = /* @__PURE__ */ (0, import_react21.forwardRef)(function Select2(props, ref) {
|
|
1525
|
+
var import_react22 = require("react");
|
|
1526
|
+
var import_icons12 = require("@bestow-ui/icons");
|
|
1527
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1528
|
+
var Select = /* @__PURE__ */ (0, import_react22.forwardRef)(function Select2(props, ref) {
|
|
1280
1529
|
const {
|
|
1281
1530
|
options,
|
|
1282
|
-
value:
|
|
1531
|
+
value: value4,
|
|
1283
1532
|
defaultValue,
|
|
1284
1533
|
onValueChange,
|
|
1285
1534
|
placeholder,
|
|
1286
|
-
label:
|
|
1287
|
-
helperText:
|
|
1535
|
+
label: label6,
|
|
1536
|
+
helperText: helperText3,
|
|
1288
1537
|
error,
|
|
1289
1538
|
size,
|
|
1290
1539
|
fullWidth,
|
|
@@ -1296,26 +1545,26 @@ var Select = /* @__PURE__ */ (0, import_react21.forwardRef)(function Select2(pro
|
|
|
1296
1545
|
className
|
|
1297
1546
|
} = props;
|
|
1298
1547
|
const isControlled = "value" in props;
|
|
1299
|
-
const generatedId = (0,
|
|
1548
|
+
const generatedId = (0, import_react22.useId)();
|
|
1300
1549
|
const triggerId = id ?? generatedId;
|
|
1301
|
-
const helperId =
|
|
1550
|
+
const helperId = helperText3 ? `${triggerId}-helper` : void 0;
|
|
1302
1551
|
const portal2 = usePortalProps();
|
|
1303
|
-
return /* @__PURE__ */ (0,
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
required && /* @__PURE__ */ (0,
|
|
1552
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
1553
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("label", { htmlFor: triggerId, className: label, children: [
|
|
1554
|
+
label6,
|
|
1555
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
1307
1556
|
] }),
|
|
1308
|
-
/* @__PURE__ */ (0,
|
|
1557
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
1309
1558
|
RadixSelect.Root,
|
|
1310
1559
|
{
|
|
1311
|
-
value: isControlled ?
|
|
1560
|
+
value: isControlled ? value4 ?? "" : void 0,
|
|
1312
1561
|
defaultValue,
|
|
1313
1562
|
onValueChange,
|
|
1314
1563
|
disabled,
|
|
1315
1564
|
required,
|
|
1316
1565
|
name,
|
|
1317
1566
|
children: [
|
|
1318
|
-
/* @__PURE__ */ (0,
|
|
1567
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
1319
1568
|
RadixSelect.Trigger,
|
|
1320
1569
|
{
|
|
1321
1570
|
ref,
|
|
@@ -1326,28 +1575,28 @@ var Select = /* @__PURE__ */ (0, import_react21.forwardRef)(function Select2(pro
|
|
|
1326
1575
|
"data-invalid": error || void 0,
|
|
1327
1576
|
className: cx(root5({ size, fullWidth }), trigger2, className),
|
|
1328
1577
|
children: [
|
|
1329
|
-
/* @__PURE__ */ (0,
|
|
1330
|
-
/* @__PURE__ */ (0,
|
|
1578
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: value, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(RadixSelect.Value, { placeholder }) }),
|
|
1579
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(RadixSelect.Icon, { className: icon4, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_icons12.ChevronDownIcon, { size: 16 }) })
|
|
1331
1580
|
]
|
|
1332
1581
|
}
|
|
1333
1582
|
),
|
|
1334
|
-
/* @__PURE__ */ (0,
|
|
1583
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(RadixSelect.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1335
1584
|
RadixSelect.Content,
|
|
1336
1585
|
{
|
|
1337
1586
|
position: "popper",
|
|
1338
1587
|
sideOffset: 4,
|
|
1339
1588
|
collisionPadding: 8,
|
|
1340
|
-
className: cx(portal2.className,
|
|
1589
|
+
className: cx(portal2.className, content3),
|
|
1341
1590
|
style: portal2.style,
|
|
1342
|
-
children: /* @__PURE__ */ (0,
|
|
1591
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(RadixSelect.Viewport, { className: viewport, children: options.map((option2) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
1343
1592
|
RadixSelect.Item,
|
|
1344
1593
|
{
|
|
1345
1594
|
value: option2.value,
|
|
1346
1595
|
disabled: option2.disabled,
|
|
1347
|
-
className:
|
|
1596
|
+
className: item3,
|
|
1348
1597
|
children: [
|
|
1349
|
-
/* @__PURE__ */ (0,
|
|
1350
|
-
/* @__PURE__ */ (0,
|
|
1598
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(RadixSelect.ItemText, { children: option2.label }),
|
|
1599
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_icons12.CheckIcon, { size: 16 }) })
|
|
1351
1600
|
]
|
|
1352
1601
|
},
|
|
1353
1602
|
option2.value
|
|
@@ -1357,13 +1606,13 @@ var Select = /* @__PURE__ */ (0, import_react21.forwardRef)(function Select2(pro
|
|
|
1357
1606
|
]
|
|
1358
1607
|
}
|
|
1359
1608
|
),
|
|
1360
|
-
|
|
1609
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
1361
1610
|
] });
|
|
1362
1611
|
});
|
|
1363
1612
|
|
|
1364
1613
|
// src/components/Skeleton/Skeleton.tsx
|
|
1365
1614
|
var import_dynamic2 = require("@vanilla-extract/dynamic");
|
|
1366
|
-
var
|
|
1615
|
+
var import_react23 = require("react");
|
|
1367
1616
|
|
|
1368
1617
|
// src/components/Skeleton/Skeleton.css.ts
|
|
1369
1618
|
var import_createRuntimeFn17 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
@@ -1373,13 +1622,13 @@ var skeleton = /* @__PURE__ */ (0, import_createRuntimeFn17.createRuntimeFn)({ d
|
|
|
1373
1622
|
var width = "var(--_1s8datd0)";
|
|
1374
1623
|
|
|
1375
1624
|
// src/components/Skeleton/Skeleton.tsx
|
|
1376
|
-
var
|
|
1377
|
-
var toCss = (
|
|
1378
|
-
var Skeleton = /* @__PURE__ */ (0,
|
|
1625
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1626
|
+
var toCss = (value4) => typeof value4 === "number" ? `${value4}px` : value4;
|
|
1627
|
+
var Skeleton = /* @__PURE__ */ (0, import_react23.forwardRef)(function Skeleton2({ variant = "text", width: width2, height: height2, lines: lines2 = 1, className, style, ...rest }, ref) {
|
|
1379
1628
|
const w = toCss(width2 ?? (variant === "circle" ? 40 : "100%"));
|
|
1380
1629
|
const h = toCss(height2 ?? (variant === "circle" ? w : variant === "rect" ? 100 : "1em"));
|
|
1381
1630
|
if (variant === "text" && lines2 > 1) {
|
|
1382
|
-
return /* @__PURE__ */ (0,
|
|
1631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1383
1632
|
"span",
|
|
1384
1633
|
{
|
|
1385
1634
|
ref,
|
|
@@ -1387,7 +1636,7 @@ var Skeleton = /* @__PURE__ */ (0, import_react22.forwardRef)(function Skeleton2
|
|
|
1387
1636
|
className: cx(lines, className),
|
|
1388
1637
|
style: { ...(0, import_dynamic2.assignInlineVars)({ [width]: w }), ...style },
|
|
1389
1638
|
...rest,
|
|
1390
|
-
children: Array.from({ length: lines2 }, (_, i) => /* @__PURE__ */ (0,
|
|
1639
|
+
children: Array.from({ length: lines2 }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1391
1640
|
"span",
|
|
1392
1641
|
{
|
|
1393
1642
|
className: skeleton({ variant }),
|
|
@@ -1398,7 +1647,7 @@ var Skeleton = /* @__PURE__ */ (0, import_react22.forwardRef)(function Skeleton2
|
|
|
1398
1647
|
}
|
|
1399
1648
|
);
|
|
1400
1649
|
}
|
|
1401
|
-
return /* @__PURE__ */ (0,
|
|
1650
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1402
1651
|
"span",
|
|
1403
1652
|
{
|
|
1404
1653
|
ref,
|
|
@@ -1410,98 +1659,311 @@ var Skeleton = /* @__PURE__ */ (0, import_react22.forwardRef)(function Skeleton2
|
|
|
1410
1659
|
);
|
|
1411
1660
|
});
|
|
1412
1661
|
|
|
1662
|
+
// src/components/Slider/Slider.tsx
|
|
1663
|
+
var RadixSlider = __toESM(require("@radix-ui/react-slider"), 1);
|
|
1664
|
+
var import_react24 = require("react");
|
|
1665
|
+
|
|
1666
|
+
// src/components/Slider/Slider.css.ts
|
|
1667
|
+
var import_createRuntimeFn18 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1668
|
+
var field2 = "_126mzjm0";
|
|
1669
|
+
var header7 = "_126mzjm1";
|
|
1670
|
+
var helperText2 = "_126mzjm4";
|
|
1671
|
+
var label4 = "_126mzjm2";
|
|
1672
|
+
var range2 = "_126mzjmb";
|
|
1673
|
+
var root7 = /* @__PURE__ */ (0, import_createRuntimeFn18.createRuntimeFn)({ defaultClassName: "_126mzjm5", variantClassNames: { size: { sm: "_126mzjm6", md: "_126mzjm7" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1674
|
+
var thumb = /* @__PURE__ */ (0, import_createRuntimeFn18.createRuntimeFn)({ defaultClassName: "_126mzjmc", variantClassNames: { size: { sm: "_126mzjmd", md: "_126mzjme" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1675
|
+
var track2 = /* @__PURE__ */ (0, import_createRuntimeFn18.createRuntimeFn)({ defaultClassName: "_126mzjm8", variantClassNames: { size: { sm: "_126mzjm9", md: "_126mzjma" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1676
|
+
var value3 = "_126mzjm3";
|
|
1677
|
+
|
|
1678
|
+
// src/components/Slider/Slider.tsx
|
|
1679
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1680
|
+
var Slider = /* @__PURE__ */ (0, import_react24.forwardRef)(function Slider2(props, ref) {
|
|
1681
|
+
const {
|
|
1682
|
+
value: value4,
|
|
1683
|
+
defaultValue,
|
|
1684
|
+
onValueChange,
|
|
1685
|
+
min = 0,
|
|
1686
|
+
max = 100,
|
|
1687
|
+
label: label6,
|
|
1688
|
+
"aria-label": ariaLabel,
|
|
1689
|
+
helperText: helperText3,
|
|
1690
|
+
showValue,
|
|
1691
|
+
formatValue = String,
|
|
1692
|
+
thumbLabels = ["\uCD5C\uC18C", "\uCD5C\uB300"],
|
|
1693
|
+
size,
|
|
1694
|
+
id,
|
|
1695
|
+
className,
|
|
1696
|
+
disabled,
|
|
1697
|
+
...rest
|
|
1698
|
+
} = props;
|
|
1699
|
+
const generatedId = (0, import_react24.useId)();
|
|
1700
|
+
const baseId = id ?? generatedId;
|
|
1701
|
+
const labelId = `${baseId}-label`;
|
|
1702
|
+
const helperId = `${baseId}-helper`;
|
|
1703
|
+
const isControlled = "value" in props;
|
|
1704
|
+
const [innerValue, setInnerValue] = (0, import_react24.useState)(defaultValue ?? [min]);
|
|
1705
|
+
const current2 = isControlled ? value4 ?? [min] : innerValue;
|
|
1706
|
+
const isRange = current2.length > 1;
|
|
1707
|
+
const handleChange = (next) => {
|
|
1708
|
+
if (!isControlled) setInnerValue(next);
|
|
1709
|
+
onValueChange?.(next);
|
|
1710
|
+
};
|
|
1711
|
+
const valueText = current2.map(formatValue).join(" \u2013 ");
|
|
1712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: cx(field2, className), children: [
|
|
1713
|
+
(label6 || showValue) && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: header7, children: [
|
|
1714
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { id: labelId, className: label4, children: label6 }),
|
|
1715
|
+
showValue && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: value3, "aria-hidden": true, children: valueText })
|
|
1716
|
+
] }),
|
|
1717
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
1718
|
+
RadixSlider.Root,
|
|
1719
|
+
{
|
|
1720
|
+
ref,
|
|
1721
|
+
id: baseId,
|
|
1722
|
+
min,
|
|
1723
|
+
max,
|
|
1724
|
+
disabled,
|
|
1725
|
+
value: current2,
|
|
1726
|
+
onValueChange: handleChange,
|
|
1727
|
+
className: root7({ size }),
|
|
1728
|
+
...rest,
|
|
1729
|
+
children: [
|
|
1730
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadixSlider.Track, { className: track2({ size }), children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadixSlider.Range, { className: range2 }) }),
|
|
1731
|
+
current2.map((thumbValue, index) => {
|
|
1732
|
+
const thumbLabelId = `${baseId}-thumb-${index}`;
|
|
1733
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1734
|
+
RadixSlider.Thumb,
|
|
1735
|
+
{
|
|
1736
|
+
className: thumb({ size }),
|
|
1737
|
+
"aria-labelledby": label6 ? isRange ? `${labelId} ${thumbLabelId}` : labelId : isRange ? thumbLabelId : void 0,
|
|
1738
|
+
"aria-label": label6 ? void 0 : isRange ? void 0 : ariaLabel,
|
|
1739
|
+
"aria-valuetext": formatValue(thumbValue),
|
|
1740
|
+
"aria-describedby": helperText3 ? helperId : void 0
|
|
1741
|
+
},
|
|
1742
|
+
index
|
|
1743
|
+
);
|
|
1744
|
+
})
|
|
1745
|
+
]
|
|
1746
|
+
}
|
|
1747
|
+
),
|
|
1748
|
+
isRange && current2.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("span", { id: `${baseId}-thumb-${index}`, hidden: true, children: [
|
|
1749
|
+
label6 ? "" : ariaLabel ? `${ariaLabel} ` : "",
|
|
1750
|
+
thumbLabels[index] ?? `${index + 1}`
|
|
1751
|
+
] }, index)),
|
|
1752
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { id: helperId, className: helperText2, children: helperText3 })
|
|
1753
|
+
] });
|
|
1754
|
+
});
|
|
1755
|
+
|
|
1413
1756
|
// src/components/Stack/Stack.tsx
|
|
1414
|
-
var
|
|
1757
|
+
var import_react25 = require("react");
|
|
1415
1758
|
|
|
1416
1759
|
// src/components/Stack/Stack.css.ts
|
|
1417
|
-
var
|
|
1418
|
-
var stack = /* @__PURE__ */ (0,
|
|
1760
|
+
var import_createRuntimeFn19 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1761
|
+
var stack = /* @__PURE__ */ (0, import_createRuntimeFn19.createRuntimeFn)({ defaultClassName: "_1jz9hj90", variantClassNames: { direction: { row: "_1jz9hj91", column: "_1jz9hj92", "row-reverse": "_1jz9hj93", "column-reverse": "_1jz9hj94" }, gap: { "0": "_1jz9hj95", "1": "_1jz9hj96", "2": "_1jz9hj97", "3": "_1jz9hj98", "4": "_1jz9hj99", "5": "_1jz9hj9a", "6": "_1jz9hj9b", "8": "_1jz9hj9c", "10": "_1jz9hj9d", "12": "_1jz9hj9e", "16": "_1jz9hj9f" }, align: { start: "_1jz9hj9g", center: "_1jz9hj9h", end: "_1jz9hj9i", stretch: "_1jz9hj9j", baseline: "_1jz9hj9k" }, justify: { start: "_1jz9hj9l", center: "_1jz9hj9m", end: "_1jz9hj9n", between: "_1jz9hj9o", around: "_1jz9hj9p", evenly: "_1jz9hj9q" }, wrap: { true: "_1jz9hj9r" } }, defaultVariants: { direction: "column" }, compoundVariants: [] });
|
|
1419
1762
|
|
|
1420
1763
|
// src/components/Stack/Stack.tsx
|
|
1421
|
-
var
|
|
1422
|
-
var Stack = /* @__PURE__ */ (0,
|
|
1423
|
-
return /* @__PURE__ */ (0,
|
|
1764
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1765
|
+
var Stack = /* @__PURE__ */ (0, import_react25.forwardRef)(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, ...rest }, ref) {
|
|
1766
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Component, { ref, className: cx(stack({ direction, gap, align, justify, wrap }), className), ...rest });
|
|
1424
1767
|
});
|
|
1425
1768
|
|
|
1426
1769
|
// src/components/Switch/Switch.tsx
|
|
1427
1770
|
var RadixSwitch = __toESM(require("@radix-ui/react-switch"), 1);
|
|
1428
|
-
var
|
|
1771
|
+
var import_react26 = require("react");
|
|
1429
1772
|
|
|
1430
1773
|
// src/components/Switch/Switch.css.ts
|
|
1431
|
-
var
|
|
1432
|
-
var
|
|
1433
|
-
var
|
|
1434
|
-
var
|
|
1435
|
-
var
|
|
1774
|
+
var import_createRuntimeFn20 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1775
|
+
var label5 = "o33ul29";
|
|
1776
|
+
var root8 = /* @__PURE__ */ (0, import_createRuntimeFn20.createRuntimeFn)({ defaultClassName: "o33ul20", variantClassNames: { size: { sm: "o33ul21", md: "o33ul22" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1777
|
+
var thumb2 = /* @__PURE__ */ (0, import_createRuntimeFn20.createRuntimeFn)({ defaultClassName: "o33ul26", variantClassNames: { size: { sm: "o33ul27", md: "o33ul28" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1778
|
+
var track3 = /* @__PURE__ */ (0, import_createRuntimeFn20.createRuntimeFn)({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1436
1779
|
|
|
1437
1780
|
// src/components/Switch/Switch.tsx
|
|
1438
|
-
var
|
|
1439
|
-
var Switch = /* @__PURE__ */ (0,
|
|
1440
|
-
const generatedId = (0,
|
|
1781
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1782
|
+
var Switch = /* @__PURE__ */ (0, import_react26.forwardRef)(function Switch2({ label: label6, size, id, className, disabled, "aria-label": ariaLabel, ...rest }, ref) {
|
|
1783
|
+
const generatedId = (0, import_react26.useId)();
|
|
1441
1784
|
const switchId = id ?? generatedId;
|
|
1442
|
-
return /* @__PURE__ */ (0,
|
|
1443
|
-
/* @__PURE__ */ (0,
|
|
1785
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("span", { className: cx(root8({ size }), className), "data-disabled": disabled || void 0, children: [
|
|
1786
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1444
1787
|
RadixSwitch.Root,
|
|
1445
1788
|
{
|
|
1446
1789
|
ref,
|
|
1447
1790
|
id: switchId,
|
|
1448
1791
|
disabled,
|
|
1449
1792
|
"aria-label": ariaLabel,
|
|
1450
|
-
className:
|
|
1793
|
+
className: track3({ size }),
|
|
1451
1794
|
...rest,
|
|
1452
|
-
children: /* @__PURE__ */ (0,
|
|
1795
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RadixSwitch.Thumb, { className: thumb2({ size }) })
|
|
1453
1796
|
}
|
|
1454
1797
|
),
|
|
1455
|
-
|
|
1798
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("label", { htmlFor: switchId, className: label5, children: label6 })
|
|
1456
1799
|
] });
|
|
1457
1800
|
});
|
|
1458
1801
|
|
|
1802
|
+
// src/components/Table/Table.tsx
|
|
1803
|
+
var import_react27 = require("react");
|
|
1804
|
+
var import_icons13 = require("@bestow-ui/icons");
|
|
1805
|
+
|
|
1806
|
+
// src/components/Table/Table.css.ts
|
|
1807
|
+
var import_createRuntimeFn21 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1808
|
+
var body4 = "l3ploy5";
|
|
1809
|
+
var caption = "l3ploy2";
|
|
1810
|
+
var cell = /* @__PURE__ */ (0, import_createRuntimeFn21.createRuntimeFn)({ defaultClassName: "l3ploy9", variantClassNames: { size: { sm: "l3ploya", md: "l3ployb" }, align: { left: "l3ployc", center: "l3ployd", right: "l3ploye" } }, defaultVariants: { size: "md", align: "left" }, compoundVariants: [] });
|
|
1811
|
+
var container = "l3ploy0";
|
|
1812
|
+
var footer4 = "l3ploy7";
|
|
1813
|
+
var footerCell = "l3ployg";
|
|
1814
|
+
var head = "l3ployf";
|
|
1815
|
+
var header8 = "l3ploy3";
|
|
1816
|
+
var row = "l3ploy8";
|
|
1817
|
+
var sortButton = "l3ployh";
|
|
1818
|
+
var sortIcon = "l3ployi";
|
|
1819
|
+
var stickyHeader = "l3ploy4";
|
|
1820
|
+
var striped = "l3ploy6";
|
|
1821
|
+
var table = "l3ploy1";
|
|
1822
|
+
|
|
1823
|
+
// src/components/Table/Table.tsx
|
|
1824
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1825
|
+
var TableSizeContext = /* @__PURE__ */ (0, import_react27.createContext)("md");
|
|
1826
|
+
var TableSectionContext = /* @__PURE__ */ (0, import_react27.createContext)("body");
|
|
1827
|
+
var Table = /* @__PURE__ */ (0, import_react27.forwardRef)(function Table2({
|
|
1828
|
+
size = "md",
|
|
1829
|
+
striped: striped2,
|
|
1830
|
+
stickyHeader: stickyHeader2,
|
|
1831
|
+
caption: caption2,
|
|
1832
|
+
"aria-label": ariaLabel,
|
|
1833
|
+
containerClassName,
|
|
1834
|
+
containerStyle,
|
|
1835
|
+
className,
|
|
1836
|
+
children,
|
|
1837
|
+
...rest
|
|
1838
|
+
}, ref) {
|
|
1839
|
+
const captionId = (0, import_react27.useId)();
|
|
1840
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(TableSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1841
|
+
"div",
|
|
1842
|
+
{
|
|
1843
|
+
className: cx(container, containerClassName),
|
|
1844
|
+
style: containerStyle,
|
|
1845
|
+
tabIndex: 0,
|
|
1846
|
+
role: "region",
|
|
1847
|
+
"aria-labelledby": caption2 ? captionId : void 0,
|
|
1848
|
+
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
1849
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
1850
|
+
"table",
|
|
1851
|
+
{
|
|
1852
|
+
ref,
|
|
1853
|
+
className: cx(table, striped2 && striped, stickyHeader2 && stickyHeader, className),
|
|
1854
|
+
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
1855
|
+
...rest,
|
|
1856
|
+
children: [
|
|
1857
|
+
caption2 && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("caption", { id: captionId, className: caption, children: caption2 }),
|
|
1858
|
+
children
|
|
1859
|
+
]
|
|
1860
|
+
}
|
|
1861
|
+
)
|
|
1862
|
+
}
|
|
1863
|
+
) });
|
|
1864
|
+
});
|
|
1865
|
+
var TableHeader = /* @__PURE__ */ (0, import_react27.forwardRef)(
|
|
1866
|
+
function TableHeader2({ className, ...rest }, ref) {
|
|
1867
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(TableSectionContext.Provider, { value: "header", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("thead", { ref, className: cx(header8, className), ...rest }) });
|
|
1868
|
+
}
|
|
1869
|
+
);
|
|
1870
|
+
var TableBody = /* @__PURE__ */ (0, import_react27.forwardRef)(
|
|
1871
|
+
function TableBody2({ className, ...rest }, ref) {
|
|
1872
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("tbody", { ref, className: cx(body4, className), ...rest }) });
|
|
1873
|
+
}
|
|
1874
|
+
);
|
|
1875
|
+
var TableFooter = /* @__PURE__ */ (0, import_react27.forwardRef)(
|
|
1876
|
+
function TableFooter2({ className, ...rest }, ref) {
|
|
1877
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("tfoot", { ref, className: cx(footer4, className), ...rest }) });
|
|
1878
|
+
}
|
|
1879
|
+
);
|
|
1880
|
+
var TableRow = /* @__PURE__ */ (0, import_react27.forwardRef)(function TableRow2({ selected, className, ...rest }, ref) {
|
|
1881
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("tr", { ref, className: cx(row, className), "data-state": selected ? "selected" : void 0, ...rest });
|
|
1882
|
+
});
|
|
1883
|
+
var TableHead = /* @__PURE__ */ (0, import_react27.forwardRef)(function TableHead2({ align, sortDirection, onSort, scope, className, children, ...rest }, ref) {
|
|
1884
|
+
const size = (0, import_react27.useContext)(TableSizeContext);
|
|
1885
|
+
const section = (0, import_react27.useContext)(TableSectionContext);
|
|
1886
|
+
const sortable = onSort !== void 0;
|
|
1887
|
+
const direction = sortDirection ?? "none";
|
|
1888
|
+
const SortIcon = direction === "descending" ? import_icons13.ArrowDownIcon : import_icons13.ArrowUpIcon;
|
|
1889
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1890
|
+
"th",
|
|
1891
|
+
{
|
|
1892
|
+
ref,
|
|
1893
|
+
scope: scope ?? (section === "header" ? "col" : "row"),
|
|
1894
|
+
"aria-sort": sortable && direction !== "none" ? direction : void 0,
|
|
1895
|
+
className: cx(
|
|
1896
|
+
cell({ size, align }),
|
|
1897
|
+
section === "header" ? head : section === "footer" ? footerCell : void 0,
|
|
1898
|
+
className
|
|
1899
|
+
),
|
|
1900
|
+
...rest,
|
|
1901
|
+
children: sortable ? /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("button", { type: "button", className: sortButton, onClick: onSort, children: [
|
|
1902
|
+
children,
|
|
1903
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SortIcon, { size: 14, className: sortIcon, "data-active": direction !== "none", "aria-hidden": true })
|
|
1904
|
+
] }) : children
|
|
1905
|
+
}
|
|
1906
|
+
);
|
|
1907
|
+
});
|
|
1908
|
+
var TableCell = /* @__PURE__ */ (0, import_react27.forwardRef)(function TableCell2({ align, className, ...rest }, ref) {
|
|
1909
|
+
const size = (0, import_react27.useContext)(TableSizeContext);
|
|
1910
|
+
const section = (0, import_react27.useContext)(TableSectionContext);
|
|
1911
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1912
|
+
"td",
|
|
1913
|
+
{
|
|
1914
|
+
ref,
|
|
1915
|
+
className: cx(cell({ size, align }), section === "footer" && footerCell, className),
|
|
1916
|
+
...rest
|
|
1917
|
+
}
|
|
1918
|
+
);
|
|
1919
|
+
});
|
|
1920
|
+
|
|
1459
1921
|
// src/components/Tabs/Tabs.tsx
|
|
1460
1922
|
var RadixTabs = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
1461
|
-
var
|
|
1923
|
+
var import_react28 = require("react");
|
|
1462
1924
|
|
|
1463
1925
|
// src/components/Tabs/Tabs.css.ts
|
|
1464
|
-
var
|
|
1465
|
-
var
|
|
1466
|
-
var list3 = /* @__PURE__ */ (0,
|
|
1467
|
-
var trigger3 = /* @__PURE__ */ (0,
|
|
1926
|
+
var import_createRuntimeFn22 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1927
|
+
var content9 = "fvhbtda";
|
|
1928
|
+
var list3 = /* @__PURE__ */ (0, import_createRuntimeFn22.createRuntimeFn)({ defaultClassName: "fvhbtd0", variantClassNames: { variant: { line: "fvhbtd1", soft: "fvhbtd2" } }, defaultVariants: { variant: "line" }, compoundVariants: [] });
|
|
1929
|
+
var trigger3 = /* @__PURE__ */ (0, import_createRuntimeFn22.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"]] });
|
|
1468
1930
|
|
|
1469
1931
|
// src/components/Tabs/Tabs.tsx
|
|
1470
|
-
var
|
|
1471
|
-
var TabsStyleContext = /* @__PURE__ */ (0,
|
|
1472
|
-
var Tabs = /* @__PURE__ */ (0,
|
|
1932
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1933
|
+
var TabsStyleContext = /* @__PURE__ */ (0, import_react28.createContext)({ variant: "line", size: "md" });
|
|
1934
|
+
var Tabs = /* @__PURE__ */ (0, import_react28.forwardRef)(function Tabs2({ variant = "line", size = "md", ...props }, ref) {
|
|
1473
1935
|
const controlled = "value" in props ? { value: props.value ?? "" } : {};
|
|
1474
|
-
return /* @__PURE__ */ (0,
|
|
1936
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(TabsStyleContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(RadixTabs.Root, { ref, ...props, ...controlled }) });
|
|
1475
1937
|
});
|
|
1476
|
-
var TabsList = /* @__PURE__ */ (0,
|
|
1477
|
-
const { variant } = (0,
|
|
1478
|
-
return /* @__PURE__ */ (0,
|
|
1938
|
+
var TabsList = /* @__PURE__ */ (0, import_react28.forwardRef)(function TabsList2({ className, ...rest }, ref) {
|
|
1939
|
+
const { variant } = (0, import_react28.useContext)(TabsStyleContext);
|
|
1940
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(RadixTabs.List, { ref, className: cx(list3({ variant }), className), ...rest });
|
|
1479
1941
|
});
|
|
1480
|
-
var TabsTrigger = /* @__PURE__ */ (0,
|
|
1481
|
-
const { variant, size } = (0,
|
|
1482
|
-
return /* @__PURE__ */ (0,
|
|
1942
|
+
var TabsTrigger = /* @__PURE__ */ (0, import_react28.forwardRef)(function TabsTrigger2({ className, ...rest }, ref) {
|
|
1943
|
+
const { variant, size } = (0, import_react28.useContext)(TabsStyleContext);
|
|
1944
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(RadixTabs.Trigger, { ref, className: cx(trigger3({ variant, size }), className), ...rest });
|
|
1483
1945
|
});
|
|
1484
|
-
var TabsContent = /* @__PURE__ */ (0,
|
|
1485
|
-
return /* @__PURE__ */ (0,
|
|
1946
|
+
var TabsContent = /* @__PURE__ */ (0, import_react28.forwardRef)(function TabsContent2({ className, ...rest }, ref) {
|
|
1947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(RadixTabs.Content, { ref, className: cx(content9, className), ...rest });
|
|
1486
1948
|
});
|
|
1487
1949
|
|
|
1488
1950
|
// src/components/Textarea/Textarea.tsx
|
|
1489
|
-
var
|
|
1951
|
+
var import_react29 = require("react");
|
|
1490
1952
|
|
|
1491
1953
|
// src/components/Textarea/Textarea.css.ts
|
|
1492
|
-
var
|
|
1954
|
+
var import_createRuntimeFn23 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1493
1955
|
var count = "_1koawa9";
|
|
1494
1956
|
var countOver = "_1koawaa";
|
|
1495
1957
|
var defaultWidth = "_1koawa7";
|
|
1496
|
-
var
|
|
1497
|
-
var textarea = /* @__PURE__ */ (0,
|
|
1958
|
+
var footer5 = "_1koawa8";
|
|
1959
|
+
var textarea = /* @__PURE__ */ (0, import_createRuntimeFn23.createRuntimeFn)({ defaultClassName: "_1koawa0", variantClassNames: { size: { sm: "_1koawa1", md: "_1koawa2", lg: "_1koawa3" }, resize: { none: "_1koawa4", vertical: "_1koawa5", both: "_1koawa6" } }, defaultVariants: { size: "md", resize: "vertical" }, compoundVariants: [] });
|
|
1498
1960
|
|
|
1499
1961
|
// src/components/Textarea/Textarea.tsx
|
|
1500
|
-
var
|
|
1501
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ?
|
|
1502
|
-
var Textarea = /* @__PURE__ */ (0,
|
|
1503
|
-
label:
|
|
1504
|
-
helperText:
|
|
1962
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1963
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react29.useLayoutEffect : import_react29.useEffect;
|
|
1964
|
+
var Textarea = /* @__PURE__ */ (0, import_react29.forwardRef)(function Textarea2({
|
|
1965
|
+
label: label6,
|
|
1966
|
+
helperText: helperText3,
|
|
1505
1967
|
error,
|
|
1506
1968
|
size,
|
|
1507
1969
|
fullWidth,
|
|
@@ -1511,7 +1973,7 @@ var Textarea = /* @__PURE__ */ (0, import_react26.forwardRef)(function Textarea2
|
|
|
1511
1973
|
required,
|
|
1512
1974
|
id,
|
|
1513
1975
|
rows = 3,
|
|
1514
|
-
value:
|
|
1976
|
+
value: value4,
|
|
1515
1977
|
defaultValue,
|
|
1516
1978
|
onChange,
|
|
1517
1979
|
maxLength,
|
|
@@ -1520,37 +1982,37 @@ var Textarea = /* @__PURE__ */ (0, import_react26.forwardRef)(function Textarea2
|
|
|
1520
1982
|
"aria-describedby": ariaDescribedBy,
|
|
1521
1983
|
...rest
|
|
1522
1984
|
}, ref) {
|
|
1523
|
-
const generatedId = (0,
|
|
1985
|
+
const generatedId = (0, import_react29.useId)();
|
|
1524
1986
|
const textareaId = id ?? generatedId;
|
|
1525
|
-
const helperId =
|
|
1526
|
-
const innerRef = (0,
|
|
1527
|
-
const [uncontrolledLength, setUncontrolledLength] = (0,
|
|
1528
|
-
const length =
|
|
1529
|
-
const fitHeight = (0,
|
|
1987
|
+
const helperId = helperText3 ? `${textareaId}-helper` : void 0;
|
|
1988
|
+
const innerRef = (0, import_react29.useRef)(null);
|
|
1989
|
+
const [uncontrolledLength, setUncontrolledLength] = (0, import_react29.useState)(() => String(defaultValue ?? "").length);
|
|
1990
|
+
const length = value4 !== void 0 ? String(value4).length : uncontrolledLength;
|
|
1991
|
+
const fitHeight = (0, import_react29.useCallback)(() => {
|
|
1530
1992
|
const el = innerRef.current;
|
|
1531
1993
|
if (!autoResize || !el) return;
|
|
1532
1994
|
el.style.height = "auto";
|
|
1533
1995
|
const borders = el.offsetHeight - el.clientHeight;
|
|
1534
1996
|
el.style.height = `${el.scrollHeight + borders}px`;
|
|
1535
1997
|
}, [autoResize]);
|
|
1536
|
-
useIsomorphicLayoutEffect(fitHeight, [fitHeight,
|
|
1998
|
+
useIsomorphicLayoutEffect(fitHeight, [fitHeight, value4]);
|
|
1537
1999
|
const handleChange = (event) => {
|
|
1538
|
-
if (
|
|
2000
|
+
if (value4 === void 0) setUncontrolledLength(event.target.value.length);
|
|
1539
2001
|
fitHeight();
|
|
1540
2002
|
onChange?.(event);
|
|
1541
2003
|
};
|
|
1542
|
-
return /* @__PURE__ */ (0,
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
required && /* @__PURE__ */ (0,
|
|
2004
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
2005
|
+
label6 && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("label", { htmlFor: textareaId, className: label, children: [
|
|
2006
|
+
label6,
|
|
2007
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
1546
2008
|
] }),
|
|
1547
|
-
/* @__PURE__ */ (0,
|
|
2009
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
1548
2010
|
"textarea",
|
|
1549
2011
|
{
|
|
1550
2012
|
ref: mergeRefs(innerRef, ref),
|
|
1551
2013
|
id: textareaId,
|
|
1552
2014
|
rows,
|
|
1553
|
-
value:
|
|
2015
|
+
value: value4,
|
|
1554
2016
|
defaultValue,
|
|
1555
2017
|
onChange: handleChange,
|
|
1556
2018
|
maxLength,
|
|
@@ -1566,49 +2028,49 @@ var Textarea = /* @__PURE__ */ (0, import_react26.forwardRef)(function Textarea2
|
|
|
1566
2028
|
...rest
|
|
1567
2029
|
}
|
|
1568
2030
|
),
|
|
1569
|
-
(
|
|
1570
|
-
|
|
1571
|
-
showCount && /* @__PURE__ */ (0,
|
|
2031
|
+
(helperText3 || showCount) && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: footer5, children: [
|
|
2032
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
|
|
2033
|
+
showCount && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
|
|
1572
2034
|
] })
|
|
1573
2035
|
] });
|
|
1574
2036
|
});
|
|
1575
2037
|
|
|
1576
2038
|
// src/components/Toast/Toast.tsx
|
|
1577
2039
|
var RadixToast = __toESM(require("@radix-ui/react-toast"), 1);
|
|
1578
|
-
var
|
|
1579
|
-
var
|
|
2040
|
+
var import_react30 = require("react");
|
|
2041
|
+
var import_icons14 = require("@bestow-ui/icons");
|
|
1580
2042
|
|
|
1581
2043
|
// src/components/Toast/Toast.css.ts
|
|
1582
|
-
var
|
|
2044
|
+
var import_createRuntimeFn24 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1583
2045
|
var action2 = "_1g11zvx8";
|
|
1584
2046
|
var close = "_1g11zvx9";
|
|
1585
2047
|
var description5 = "_1g11zvx7";
|
|
1586
2048
|
var title5 = "_1g11zvx6";
|
|
1587
|
-
var toast = /* @__PURE__ */ (0,
|
|
2049
|
+
var toast = /* @__PURE__ */ (0, import_createRuntimeFn24.createRuntimeFn)({ defaultClassName: "_1g11zvx1", variantClassNames: { variant: { "default": "_1g11zvx2", success: "_1g11zvx3", warning: "_1g11zvx4", danger: "_1g11zvx5" } }, defaultVariants: { variant: "default" }, compoundVariants: [] });
|
|
1588
2050
|
var viewport2 = "_1g11zvx0";
|
|
1589
2051
|
|
|
1590
2052
|
// src/components/Toast/Toast.tsx
|
|
1591
|
-
var
|
|
2053
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1592
2054
|
var REMOVE_DELAY = 500;
|
|
1593
|
-
var ToastContext = /* @__PURE__ */ (0,
|
|
1594
|
-
function ToastProvider({ children, duration = 5e3, label:
|
|
1595
|
-
const [toasts, setToasts] = (0,
|
|
1596
|
-
const nextId = (0,
|
|
2055
|
+
var ToastContext = /* @__PURE__ */ (0, import_react30.createContext)(null);
|
|
2056
|
+
function ToastProvider({ children, duration = 5e3, label: label6 = "\uC54C\uB9BC" }) {
|
|
2057
|
+
const [toasts, setToasts] = (0, import_react30.useState)([]);
|
|
2058
|
+
const nextId = (0, import_react30.useRef)(0);
|
|
1597
2059
|
const portal2 = usePortalProps();
|
|
1598
|
-
const toast2 = (0,
|
|
2060
|
+
const toast2 = (0, import_react30.useCallback)((options) => {
|
|
1599
2061
|
const id = nextId.current++;
|
|
1600
2062
|
setToasts((prev) => [...prev, { ...options, id, open: true }]);
|
|
1601
2063
|
return id;
|
|
1602
2064
|
}, []);
|
|
1603
|
-
const dismiss = (0,
|
|
2065
|
+
const dismiss = (0, import_react30.useCallback)((id) => {
|
|
1604
2066
|
const isTarget = (t) => id === void 0 || t.id === id;
|
|
1605
2067
|
setToasts((prev) => prev.map((t) => isTarget(t) ? { ...t, open: false } : t));
|
|
1606
2068
|
setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
|
|
1607
2069
|
}, []);
|
|
1608
|
-
const
|
|
1609
|
-
return /* @__PURE__ */ (0,
|
|
2070
|
+
const value4 = (0, import_react30.useMemo)(() => ({ toast: toast2, dismiss }), [toast2, dismiss]);
|
|
2071
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ToastContext.Provider, { value: value4, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(RadixToast.Provider, { duration, label: label6, swipeDirection: "right", children: [
|
|
1610
2072
|
children,
|
|
1611
|
-
toasts.map(({ id, open, title: title6, description: description6, variant, duration: itemDuration, action: action3 }) => /* @__PURE__ */ (0,
|
|
2073
|
+
toasts.map(({ id, open, title: title6, description: description6, variant, duration: itemDuration, action: action3 }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
1612
2074
|
RadixToast.Root,
|
|
1613
2075
|
{
|
|
1614
2076
|
open,
|
|
@@ -1618,19 +2080,19 @@ function ToastProvider({ children, duration = 5e3, label: label5 = "\uC54C\uB9BC
|
|
|
1618
2080
|
},
|
|
1619
2081
|
className: toast({ variant }),
|
|
1620
2082
|
children: [
|
|
1621
|
-
/* @__PURE__ */ (0,
|
|
1622
|
-
description6 && /* @__PURE__ */ (0,
|
|
1623
|
-
action3 && /* @__PURE__ */ (0,
|
|
1624
|
-
/* @__PURE__ */ (0,
|
|
2083
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadixToast.Title, { className: title5, children: title6 }),
|
|
2084
|
+
description6 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadixToast.Description, { className: description5, children: description6 }),
|
|
2085
|
+
action3 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadixToast.Action, { asChild: true, altText: action3.altText ?? action3.label, className: action2, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action3.onClick, children: action3.label }) }),
|
|
2086
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadixToast.Close, { className: close, "aria-label": "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_icons14.XIcon, { size: 16 }) })
|
|
1625
2087
|
]
|
|
1626
2088
|
},
|
|
1627
2089
|
id
|
|
1628
2090
|
)),
|
|
1629
|
-
/* @__PURE__ */ (0,
|
|
2091
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
|
|
1630
2092
|
] }) });
|
|
1631
2093
|
}
|
|
1632
2094
|
function useToast() {
|
|
1633
|
-
const context = (0,
|
|
2095
|
+
const context = (0, import_react30.useContext)(ToastContext);
|
|
1634
2096
|
if (!context) throw new Error("useToast \uB294 ToastProvider \uC548\uC5D0\uC11C \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4.");
|
|
1635
2097
|
return context;
|
|
1636
2098
|
}
|
|
@@ -1640,12 +2102,12 @@ var RadixTooltip = __toESM(require("@radix-ui/react-tooltip"), 1);
|
|
|
1640
2102
|
|
|
1641
2103
|
// src/components/Tooltip/Tooltip.css.ts
|
|
1642
2104
|
var arrow2 = "z7rufs1";
|
|
1643
|
-
var
|
|
2105
|
+
var content10 = "z7rufs0";
|
|
1644
2106
|
|
|
1645
2107
|
// src/components/Tooltip/Tooltip.tsx
|
|
1646
|
-
var
|
|
2108
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1647
2109
|
function Tooltip({
|
|
1648
|
-
content:
|
|
2110
|
+
content: content11,
|
|
1649
2111
|
children,
|
|
1650
2112
|
side = "top",
|
|
1651
2113
|
align = "center",
|
|
@@ -1657,21 +2119,21 @@ function Tooltip({
|
|
|
1657
2119
|
className
|
|
1658
2120
|
}) {
|
|
1659
2121
|
const portal2 = usePortalProps();
|
|
1660
|
-
if (disabled ||
|
|
1661
|
-
return /* @__PURE__ */ (0,
|
|
1662
|
-
/* @__PURE__ */ (0,
|
|
1663
|
-
/* @__PURE__ */ (0,
|
|
2122
|
+
if (disabled || content11 == null || content11 === "") return children;
|
|
2123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
|
|
2124
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixTooltip.Trigger, { asChild: true, children }),
|
|
2125
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixTooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
1664
2126
|
RadixTooltip.Content,
|
|
1665
2127
|
{
|
|
1666
2128
|
side,
|
|
1667
2129
|
align,
|
|
1668
2130
|
sideOffset: 6,
|
|
1669
2131
|
collisionPadding: 8,
|
|
1670
|
-
className: cx(portal2.className,
|
|
2132
|
+
className: cx(portal2.className, content10, className),
|
|
1671
2133
|
style: portal2.style,
|
|
1672
2134
|
children: [
|
|
1673
|
-
|
|
1674
|
-
/* @__PURE__ */ (0,
|
|
2135
|
+
content11,
|
|
2136
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixTooltip.Arrow, { className: arrow2, width: 10, height: 5 })
|
|
1675
2137
|
]
|
|
1676
2138
|
}
|
|
1677
2139
|
) })
|
|
@@ -1679,14 +2141,14 @@ function Tooltip({
|
|
|
1679
2141
|
}
|
|
1680
2142
|
|
|
1681
2143
|
// src/components/Typography/Typography.tsx
|
|
1682
|
-
var
|
|
2144
|
+
var import_react31 = require("react");
|
|
1683
2145
|
|
|
1684
2146
|
// src/components/Typography/Typography.css.ts
|
|
1685
|
-
var
|
|
1686
|
-
var typography = /* @__PURE__ */ (0,
|
|
2147
|
+
var import_createRuntimeFn25 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2148
|
+
var typography = /* @__PURE__ */ (0, import_createRuntimeFn25.createRuntimeFn)({ defaultClassName: "kiolio0", variantClassNames: { variant: { display: "kiolio1", h1: "kiolio2", h2: "kiolio3", h3: "kiolio4", h4: "kiolio5", "body-lg": "kiolio6", body: "kiolio7", "body-sm": "kiolio8", caption: "kiolio9" }, color: { "default": "kiolioa", muted: "kioliob", subtle: "kiolioc", primary: "kioliod", danger: "kiolioe", success: "kioliof", warning: "kioliog", inherit: "kiolioh" }, weight: { regular: "kiolioi", medium: "kiolioj", semibold: "kioliok", bold: "kioliol" }, align: { start: "kioliom", center: "kiolion", end: "kiolioo" }, truncate: { true: "kioliop" } }, defaultVariants: { variant: "body", color: "default" }, compoundVariants: [] });
|
|
1687
2149
|
|
|
1688
2150
|
// src/components/Typography/Typography.tsx
|
|
1689
|
-
var
|
|
2151
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1690
2152
|
var defaultElement = {
|
|
1691
2153
|
display: "h1",
|
|
1692
2154
|
h1: "h1",
|
|
@@ -1698,9 +2160,9 @@ var defaultElement = {
|
|
|
1698
2160
|
"body-sm": "p",
|
|
1699
2161
|
caption: "span"
|
|
1700
2162
|
};
|
|
1701
|
-
var Typography = /* @__PURE__ */ (0,
|
|
2163
|
+
var Typography = /* @__PURE__ */ (0, import_react31.forwardRef)(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
|
|
1702
2164
|
const Component = as ?? defaultElement[variant];
|
|
1703
|
-
return /* @__PURE__ */ (0,
|
|
2165
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1704
2166
|
Component,
|
|
1705
2167
|
{
|
|
1706
2168
|
ref,
|
|
@@ -1723,6 +2185,7 @@ var Typography = /* @__PURE__ */ (0, import_react28.forwardRef)(function Typogra
|
|
|
1723
2185
|
CardFooter,
|
|
1724
2186
|
CardHeader,
|
|
1725
2187
|
Checkbox,
|
|
2188
|
+
Combobox,
|
|
1726
2189
|
Divider,
|
|
1727
2190
|
Drawer,
|
|
1728
2191
|
DrawerClose,
|
|
@@ -1745,9 +2208,17 @@ var Typography = /* @__PURE__ */ (0, import_react28.forwardRef)(function Typogra
|
|
|
1745
2208
|
RadioGroup,
|
|
1746
2209
|
Select,
|
|
1747
2210
|
Skeleton,
|
|
2211
|
+
Slider,
|
|
1748
2212
|
Spinner,
|
|
1749
2213
|
Stack,
|
|
1750
2214
|
Switch,
|
|
2215
|
+
Table,
|
|
2216
|
+
TableBody,
|
|
2217
|
+
TableCell,
|
|
2218
|
+
TableFooter,
|
|
2219
|
+
TableHead,
|
|
2220
|
+
TableHeader,
|
|
2221
|
+
TableRow,
|
|
1751
2222
|
Tabs,
|
|
1752
2223
|
TabsContent,
|
|
1753
2224
|
TabsList,
|