@bestow-ui/react 1.6.1 → 1.7.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 +7 -5
- package/dist/{chunk-NKLDAXUR.js → chunk-YYLDXZWR.js} +26 -5
- package/dist/chunk-YYLDXZWR.js.map +1 -0
- package/dist/client.js +826 -538
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +1298 -847
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +600 -116
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +237 -22
- package/dist/index.d.ts +237 -22
- package/dist/shared.js +210 -52
- package/dist/shared.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-NKLDAXUR.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -48,7 +48,9 @@ __export(src_exports, {
|
|
|
48
48
|
CardFooter: () => CardFooter,
|
|
49
49
|
CardHeader: () => CardHeader,
|
|
50
50
|
Checkbox: () => Checkbox,
|
|
51
|
+
CheckboxGroup: () => CheckboxGroup,
|
|
51
52
|
Combobox: () => Combobox,
|
|
53
|
+
Container: () => Container,
|
|
52
54
|
DatePicker: () => DatePicker,
|
|
53
55
|
DateRangePicker: () => DateRangePicker,
|
|
54
56
|
DescriptionList: () => DescriptionList,
|
|
@@ -70,6 +72,8 @@ __export(src_exports, {
|
|
|
70
72
|
DropdownMenuTrigger: () => DropdownMenuTrigger,
|
|
71
73
|
ErrorSummary: () => ErrorSummary,
|
|
72
74
|
FileUpload: () => FileUpload,
|
|
75
|
+
FormField: () => FormField,
|
|
76
|
+
Grid: () => Grid,
|
|
73
77
|
IconButton: () => IconButton,
|
|
74
78
|
Input: () => Input,
|
|
75
79
|
Link: () => Link,
|
|
@@ -84,6 +88,7 @@ __export(src_exports, {
|
|
|
84
88
|
PopoverClose: () => PopoverClose,
|
|
85
89
|
Progress: () => Progress,
|
|
86
90
|
RadioGroup: () => RadioGroup2,
|
|
91
|
+
ResidentNumberInput: () => ResidentNumberInput,
|
|
87
92
|
SegmentedControl: () => SegmentedControl,
|
|
88
93
|
Select: () => Select,
|
|
89
94
|
Skeleton: () => Skeleton,
|
|
@@ -125,10 +130,19 @@ __export(src_exports, {
|
|
|
125
130
|
formatKoreanAmount: () => import_korean_utils2.formatKoreanAmount,
|
|
126
131
|
formatKoreanDate: () => import_korean_utils2.formatKoreanDate,
|
|
127
132
|
formatPhoneNumber: () => import_korean_utils2.formatPhoneNumber,
|
|
133
|
+
formatResidentNumber: () => import_korean_utils3.formatResidentNumber,
|
|
128
134
|
hasAllRequiredAgreements: () => hasAllRequiredAgreements,
|
|
129
135
|
isValidBusinessNumber: () => import_korean_utils2.isValidBusinessNumber,
|
|
136
|
+
isValidResidentNumber: () => import_korean_utils3.isValidResidentNumber,
|
|
130
137
|
kakaoPostcodeProvider: () => kakaoPostcodeProvider,
|
|
138
|
+
maskCardNumber: () => import_korean_utils3.maskCardNumber,
|
|
139
|
+
maskDigits: () => import_korean_utils3.maskDigits,
|
|
140
|
+
maskName: () => import_korean_utils3.maskName,
|
|
141
|
+
maskPhoneNumber: () => import_korean_utils3.maskPhoneNumber,
|
|
142
|
+
maskResidentNumber: () => import_korean_utils3.maskResidentNumber,
|
|
143
|
+
media: () => media,
|
|
131
144
|
parseISODate: () => parseISODate,
|
|
145
|
+
parseResidentNumber: () => import_korean_utils3.parseResidentNumber,
|
|
132
146
|
presetRange: () => presetRange,
|
|
133
147
|
strongInputBorders: () => strongInputBorders,
|
|
134
148
|
themeClass: () => themeClass,
|
|
@@ -143,8 +157,9 @@ __export(src_exports, {
|
|
|
143
157
|
module.exports = __toCommonJS(src_exports);
|
|
144
158
|
|
|
145
159
|
// src/theme/contract.css.ts
|
|
160
|
+
var systemThemeClass = "tkagtb2";
|
|
146
161
|
var themeClass = { light: "tkagtb0", dark: "tkagtb1" };
|
|
147
|
-
var vars = { space: { "0": "var(--bestow-space-0)", "1": "var(--bestow-space-1)", "2": "var(--bestow-space-2)", "3": "var(--bestow-space-3)", "4": "var(--bestow-space-4)", "5": "var(--bestow-space-5)", "6": "var(--bestow-space-6)", "8": "var(--bestow-space-8)", "10": "var(--bestow-space-10)", "12": "var(--bestow-space-12)", "16": "var(--bestow-space-16)" }, radius: { none: "var(--bestow-radius-none)", sm: "var(--bestow-radius-sm)", md: "var(--bestow-radius-md)", lg: "var(--bestow-radius-lg)", xl: "var(--bestow-radius-xl)", full: "var(--bestow-radius-full)" }, font: { family: { sans: "var(--bestow-font-family-sans)", mono: "var(--bestow-font-family-mono)" }, size: { xs: "var(--bestow-font-size-xs)", sm: "var(--bestow-font-size-sm)", md: "var(--bestow-font-size-md)", lg: "var(--bestow-font-size-lg)", xl: "var(--bestow-font-size-xl)", "2xl": "var(--bestow-font-size-2xl)", "3xl": "var(--bestow-font-size-3xl)", "4xl": "var(--bestow-font-size-4xl)" }, weight: { regular: "var(--bestow-font-weight-regular)", medium: "var(--bestow-font-weight-medium)", semibold: "var(--bestow-font-weight-semibold)", bold: "var(--bestow-font-weight-bold)" }, lineHeight: { tight: "var(--bestow-font-line-height-tight)", normal: "var(--bestow-font-line-height-normal)", relaxed: "var(--bestow-font-line-height-relaxed)" } }, duration: { fast: "var(--bestow-duration-fast)", normal: "var(--bestow-duration-normal)", slow: "var(--bestow-duration-slow)" }, zIndex: { overlay: "var(--bestow-z-index-overlay)", modal: "var(--bestow-z-index-modal)", dropdown: "var(--bestow-z-index-dropdown)", toast: "var(--bestow-z-index-toast)", tooltip: "var(--bestow-z-index-tooltip)" }, color: { bg: { "default": "var(--bestow-color-bg-default)", subtle: "var(--bestow-color-bg-subtle)", muted: "var(--bestow-color-bg-muted)", inverse: "var(--bestow-color-bg-inverse)", overlay: "var(--bestow-color-bg-overlay)" }, fg: { "default": "var(--bestow-color-fg-default)", muted: "var(--bestow-color-fg-muted)", subtle: "var(--bestow-color-fg-subtle)", inverse: "var(--bestow-color-fg-inverse)" }, border: { "default": "var(--bestow-color-border-default)", strong: "var(--bestow-color-border-strong)", focus: "var(--bestow-color-border-focus)", input: "var(--bestow-color-border-input)", inputHover: "var(--bestow-color-border-input-hover)", control: "var(--bestow-color-border-control)" }, primary: { solid: "var(--bestow-color-primary-solid)", solidHover: "var(--bestow-color-primary-solid-hover)", contrast: "var(--bestow-color-primary-contrast)", subtle: "var(--bestow-color-primary-subtle)", subtleHover: "var(--bestow-color-primary-subtle-hover)", text: "var(--bestow-color-primary-text)" }, neutral: { solid: "var(--bestow-color-neutral-solid)", solidHover: "var(--bestow-color-neutral-solid-hover)", contrast: "var(--bestow-color-neutral-contrast)", subtle: "var(--bestow-color-neutral-subtle)", subtleHover: "var(--bestow-color-neutral-subtle-hover)", text: "var(--bestow-color-neutral-text)" }, danger: { solid: "var(--bestow-color-danger-solid)", solidHover: "var(--bestow-color-danger-solid-hover)", contrast: "var(--bestow-color-danger-contrast)", subtle: "var(--bestow-color-danger-subtle)", subtleHover: "var(--bestow-color-danger-subtle-hover)", text: "var(--bestow-color-danger-text)" }, success: { solid: "var(--bestow-color-success-solid)", solidHover: "var(--bestow-color-success-solid-hover)", contrast: "var(--bestow-color-success-contrast)", subtle: "var(--bestow-color-success-subtle)", subtleHover: "var(--bestow-color-success-subtle-hover)", text: "var(--bestow-color-success-text)" }, warning: { solid: "var(--bestow-color-warning-solid)", solidHover: "var(--bestow-color-warning-solid-hover)", contrast: "var(--bestow-color-warning-contrast)", subtle: "var(--bestow-color-warning-subtle)", subtleHover: "var(--bestow-color-warning-subtle-hover)", text: "var(--bestow-color-warning-text)" } }, shadow: { sm: "var(--bestow-shadow-sm)", md: "var(--bestow-shadow-md)", lg: "var(--bestow-shadow-lg)" } };
|
|
162
|
+
var vars = { space: { "0": "var(--bestow-space-0)", "1": "var(--bestow-space-1)", "2": "var(--bestow-space-2)", "3": "var(--bestow-space-3)", "4": "var(--bestow-space-4)", "5": "var(--bestow-space-5)", "6": "var(--bestow-space-6)", "8": "var(--bestow-space-8)", "10": "var(--bestow-space-10)", "12": "var(--bestow-space-12)", "16": "var(--bestow-space-16)" }, radius: { none: "var(--bestow-radius-none)", sm: "var(--bestow-radius-sm)", md: "var(--bestow-radius-md)", lg: "var(--bestow-radius-lg)", xl: "var(--bestow-radius-xl)", full: "var(--bestow-radius-full)" }, font: { family: { sans: "var(--bestow-font-family-sans)", mono: "var(--bestow-font-family-mono)" }, size: { xs: "var(--bestow-font-size-xs)", sm: "var(--bestow-font-size-sm)", md: "var(--bestow-font-size-md)", lg: "var(--bestow-font-size-lg)", xl: "var(--bestow-font-size-xl)", "2xl": "var(--bestow-font-size-2xl)", "3xl": "var(--bestow-font-size-3xl)", "4xl": "var(--bestow-font-size-4xl)" }, weight: { regular: "var(--bestow-font-weight-regular)", medium: "var(--bestow-font-weight-medium)", semibold: "var(--bestow-font-weight-semibold)", bold: "var(--bestow-font-weight-bold)" }, lineHeight: { tight: "var(--bestow-font-line-height-tight)", normal: "var(--bestow-font-line-height-normal)", relaxed: "var(--bestow-font-line-height-relaxed)" } }, duration: { fast: "var(--bestow-duration-fast)", normal: "var(--bestow-duration-normal)", slow: "var(--bestow-duration-slow)" }, zIndex: { overlay: "var(--bestow-z-index-overlay)", modal: "var(--bestow-z-index-modal)", dropdown: "var(--bestow-z-index-dropdown)", toast: "var(--bestow-z-index-toast)", tooltip: "var(--bestow-z-index-tooltip)" }, color: { bg: { "default": "var(--bestow-color-bg-default)", subtle: "var(--bestow-color-bg-subtle)", muted: "var(--bestow-color-bg-muted)", inverse: "var(--bestow-color-bg-inverse)", overlay: "var(--bestow-color-bg-overlay)" }, fg: { "default": "var(--bestow-color-fg-default)", muted: "var(--bestow-color-fg-muted)", subtle: "var(--bestow-color-fg-subtle)", inverse: "var(--bestow-color-fg-inverse)" }, border: { "default": "var(--bestow-color-border-default)", strong: "var(--bestow-color-border-strong)", focus: "var(--bestow-color-border-focus)", input: "var(--bestow-color-border-input)", inputHover: "var(--bestow-color-border-input-hover)", control: "var(--bestow-color-border-control)" }, primary: { solid: "var(--bestow-color-primary-solid)", solidHover: "var(--bestow-color-primary-solid-hover)", contrast: "var(--bestow-color-primary-contrast)", subtle: "var(--bestow-color-primary-subtle)", subtleHover: "var(--bestow-color-primary-subtle-hover)", text: "var(--bestow-color-primary-text)" }, neutral: { solid: "var(--bestow-color-neutral-solid)", solidHover: "var(--bestow-color-neutral-solid-hover)", contrast: "var(--bestow-color-neutral-contrast)", subtle: "var(--bestow-color-neutral-subtle)", subtleHover: "var(--bestow-color-neutral-subtle-hover)", text: "var(--bestow-color-neutral-text)" }, danger: { solid: "var(--bestow-color-danger-solid)", solidHover: "var(--bestow-color-danger-solid-hover)", contrast: "var(--bestow-color-danger-contrast)", subtle: "var(--bestow-color-danger-subtle)", subtleHover: "var(--bestow-color-danger-subtle-hover)", text: "var(--bestow-color-danger-text)" }, success: { solid: "var(--bestow-color-success-solid)", solidHover: "var(--bestow-color-success-solid-hover)", contrast: "var(--bestow-color-success-contrast)", subtle: "var(--bestow-color-success-subtle)", subtleHover: "var(--bestow-color-success-subtle-hover)", text: "var(--bestow-color-success-text)" }, warning: { solid: "var(--bestow-color-warning-solid)", solidHover: "var(--bestow-color-warning-solid-hover)", contrast: "var(--bestow-color-warning-contrast)", subtle: "var(--bestow-color-warning-subtle)", subtleHover: "var(--bestow-color-warning-subtle-hover)", text: "var(--bestow-color-warning-text)" }, info: { solid: "var(--bestow-color-info-solid)", solidHover: "var(--bestow-color-info-solid-hover)", contrast: "var(--bestow-color-info-contrast)", subtle: "var(--bestow-color-info-subtle)", subtleHover: "var(--bestow-color-info-subtle-hover)", text: "var(--bestow-color-info-text)" } }, shadow: { sm: "var(--bestow-shadow-sm)", md: "var(--bestow-shadow-md)", lg: "var(--bestow-shadow-lg)" } };
|
|
148
163
|
|
|
149
164
|
// src/theme/color.ts
|
|
150
165
|
var import_tokens = require("@bestow-ui/tokens");
|
|
@@ -396,6 +411,12 @@ var en = {
|
|
|
396
411
|
businessNumber: "Business registration number",
|
|
397
412
|
businessNumberInvalid: "This business registration number is not valid. Please check it again.",
|
|
398
413
|
businessNumberIncomplete: "Enter all 10 digits.",
|
|
414
|
+
residentNumber: "Resident registration number",
|
|
415
|
+
residentNumberFront: "First 6 digits",
|
|
416
|
+
residentNumberBack: "Last 7 digits",
|
|
417
|
+
residentNumberBackFirst: "First digit of the second part",
|
|
418
|
+
residentNumberInvalid: "This number is not valid. Check the date of birth and the first digit of the second part.",
|
|
419
|
+
residentNumberIncomplete: (digits) => `Enter all ${digits} digits.`,
|
|
399
420
|
amount: "Amount",
|
|
400
421
|
currencyUnit: "KRW",
|
|
401
422
|
address: "Address",
|
|
@@ -426,6 +447,7 @@ var en = {
|
|
|
426
447
|
|
|
427
448
|
// src/shared.ts
|
|
428
449
|
var import_korean_utils2 = require("@bestow-ui/korean-utils");
|
|
450
|
+
var import_korean_utils3 = require("@bestow-ui/korean-utils");
|
|
429
451
|
|
|
430
452
|
// src/utils/date.ts
|
|
431
453
|
var pad = (n) => String(n).padStart(2, "0");
|
|
@@ -464,6 +486,26 @@ function getCalendarWeeks(year, month) {
|
|
|
464
486
|
return Array.from({ length: 6 }, (_, week) => Array.from({ length: 7 }, (_2, day2) => addDays(start, week * 7 + day2)));
|
|
465
487
|
}
|
|
466
488
|
|
|
489
|
+
// src/utils/responsive.ts
|
|
490
|
+
var media = {
|
|
491
|
+
sm: "(min-width: 40em)",
|
|
492
|
+
md: "(min-width: 48em)",
|
|
493
|
+
lg: "(min-width: 64em)",
|
|
494
|
+
xl: "(min-width: 80em)"
|
|
495
|
+
};
|
|
496
|
+
var keys = ["base", "sm", "md", "lg", "xl"];
|
|
497
|
+
var isResponsiveObject = (value4) => typeof value4 === "object" && value4 !== null;
|
|
498
|
+
function responsiveVars(out, name, value4, toCss2) {
|
|
499
|
+
if (value4 === void 0) return;
|
|
500
|
+
const values = isResponsiveObject(value4) ? value4 : { base: value4 };
|
|
501
|
+
let current2;
|
|
502
|
+
for (const key of keys) {
|
|
503
|
+
current2 = values[key] ?? current2;
|
|
504
|
+
if (current2 !== void 0) out[`--bestow-${name}-${key}`] = toCss2(current2);
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
var spaceVar = (key) => `var(--bestow-space-${key})`;
|
|
508
|
+
|
|
467
509
|
// src/components/AddressInput/addressProviders.ts
|
|
468
510
|
var import_korean_utils = require("@bestow-ui/korean-utils");
|
|
469
511
|
var KAKAO_POSTCODE_SRC = "https://t1.kakaocdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js";
|
|
@@ -489,7 +531,7 @@ function loadKakaoPostcode() {
|
|
|
489
531
|
}));
|
|
490
532
|
return loading;
|
|
491
533
|
}
|
|
492
|
-
var kakaoPostcodeProvider = async (
|
|
534
|
+
var kakaoPostcodeProvider = async (container3, onSelect) => {
|
|
493
535
|
const Postcode = await loadKakaoPostcode();
|
|
494
536
|
new Postcode({
|
|
495
537
|
width: "100%",
|
|
@@ -498,12 +540,12 @@ var kakaoPostcodeProvider = async (container2, onSelect) => {
|
|
|
498
540
|
const address = data.userSelectedType === "R" ? data.roadAddress : data.jibunAddress || data.autoJibunAddress || "";
|
|
499
541
|
onSelect({ zonecode: data.zonecode, address, extraAddress: (0, import_korean_utils.composeExtraAddress)(data) });
|
|
500
542
|
}
|
|
501
|
-
}).embed(
|
|
543
|
+
}).embed(container3);
|
|
502
544
|
};
|
|
503
545
|
|
|
504
546
|
// src/components/AgreementGroup/agreements.ts
|
|
505
|
-
function hasAllRequiredAgreements(
|
|
506
|
-
return
|
|
547
|
+
function hasAllRequiredAgreements(items3, value4) {
|
|
548
|
+
return items3.every((item10) => !item10.required || value4.includes(item10.value));
|
|
507
549
|
}
|
|
508
550
|
|
|
509
551
|
// src/components/Badge/Badge.tsx
|
|
@@ -516,8 +558,8 @@ function cx(...classNames) {
|
|
|
516
558
|
|
|
517
559
|
// src/components/Badge/Badge.css.ts
|
|
518
560
|
var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
519
|
-
var badge = /* @__PURE__ */ (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_1295cfn4", variantClassNames: { variant: { solid: "_1295cfn5", soft: "_1295cfn6", outline: "_1295cfn7" }, color: { primary: "_1295cfn8", neutral: "_1295cfn9", danger: "_1295cfna", success: "_1295cfnb", warning: "_1295cfnc" }, size: { sm: "
|
|
520
|
-
var icon = "
|
|
561
|
+
var badge = /* @__PURE__ */ (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "_1295cfn4", variantClassNames: { variant: { solid: "_1295cfn5", soft: "_1295cfn6", outline: "_1295cfn7" }, color: { primary: "_1295cfn8", neutral: "_1295cfn9", danger: "_1295cfna", success: "_1295cfnb", warning: "_1295cfnc", info: "_1295cfnd" }, size: { sm: "_1295cfne", md: "_1295cfnf", lg: "_1295cfng" } }, defaultVariants: { variant: "soft", color: "neutral", size: "md" }, compoundVariants: [] });
|
|
562
|
+
var icon = "_1295cfnh";
|
|
521
563
|
|
|
522
564
|
// src/components/Badge/Badge.tsx
|
|
523
565
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -553,32 +595,45 @@ var CardFooter = /* @__PURE__ */ (0, import_react2.forwardRef)(function CardFoot
|
|
|
553
595
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { ref, className: cx(footer, className), ...rest });
|
|
554
596
|
});
|
|
555
597
|
|
|
598
|
+
// src/components/Container/Container.tsx
|
|
599
|
+
var import_react3 = require("react");
|
|
600
|
+
|
|
601
|
+
// src/components/Container/Container.css.ts
|
|
602
|
+
var import_createRuntimeFn3 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
603
|
+
var container = /* @__PURE__ */ (0, import_createRuntimeFn3.createRuntimeFn)({ defaultClassName: "b404nn0", variantClassNames: { size: { sm: "b404nn1", md: "b404nn2", lg: "b404nn3", xl: "b404nn4", full: "b404nn5" }, flush: { true: "b404nn6" } }, defaultVariants: { size: "lg" }, compoundVariants: [] });
|
|
604
|
+
|
|
605
|
+
// src/components/Container/Container.tsx
|
|
606
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
607
|
+
var Container = /* @__PURE__ */ (0, import_react3.forwardRef)(function Container2({ as: Component = "div", size, flush, className, ...rest }, ref) {
|
|
608
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Component, { ref, className: cx(container({ size, flush }), className), ...rest });
|
|
609
|
+
});
|
|
610
|
+
|
|
556
611
|
// src/components/DescriptionList/DescriptionList.tsx
|
|
557
612
|
var import_dynamic2 = require("@vanilla-extract/dynamic");
|
|
558
|
-
var
|
|
613
|
+
var import_react4 = require("react");
|
|
559
614
|
|
|
560
615
|
// src/components/DescriptionList/DescriptionList.css.ts
|
|
561
|
-
var
|
|
616
|
+
var import_createRuntimeFn4 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
562
617
|
var description = "_14g0ot47";
|
|
563
|
-
var item = /* @__PURE__ */ (0,
|
|
618
|
+
var item = /* @__PURE__ */ (0, import_createRuntimeFn4.createRuntimeFn)({ defaultClassName: "_14g0ot42", variantClassNames: { layout: { horizontal: "_14g0ot43", vertical: "_14g0ot44" }, divided: { true: "_14g0ot45" } }, defaultVariants: { layout: "horizontal" }, compoundVariants: [] });
|
|
564
619
|
var root = "_14g0ot41";
|
|
565
620
|
var term = "_14g0ot46";
|
|
566
621
|
var termWidth = "var(--_14g0ot40)";
|
|
567
622
|
|
|
568
623
|
// src/components/DescriptionList/DescriptionList.tsx
|
|
569
|
-
var
|
|
570
|
-
var DescriptionList = /* @__PURE__ */ (0,
|
|
571
|
-
function DescriptionList2({ items:
|
|
572
|
-
return /* @__PURE__ */ (0,
|
|
624
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
625
|
+
var DescriptionList = /* @__PURE__ */ (0, import_react4.forwardRef)(
|
|
626
|
+
function DescriptionList2({ items: items3, layout = "horizontal", termWidth: termWidth2, divided, className, style, ...rest }, ref) {
|
|
627
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
573
628
|
"dl",
|
|
574
629
|
{
|
|
575
630
|
ref,
|
|
576
631
|
className: cx(root, className),
|
|
577
632
|
style: termWidth2 ? { ...(0, import_dynamic2.assignInlineVars)({ [termWidth]: termWidth2 }), ...style } : style,
|
|
578
633
|
...rest,
|
|
579
|
-
children:
|
|
580
|
-
/* @__PURE__ */ (0,
|
|
581
|
-
/* @__PURE__ */ (0,
|
|
634
|
+
children: items3.map((item10, index) => /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: item({ layout, divided }), children: [
|
|
635
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("dt", { className: term, children: item10.term }),
|
|
636
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("dd", { className: description, children: item10.description })
|
|
582
637
|
] }, index))
|
|
583
638
|
}
|
|
584
639
|
);
|
|
@@ -600,44 +655,111 @@ function presetRange(preset, today) {
|
|
|
600
655
|
}
|
|
601
656
|
|
|
602
657
|
// src/components/Divider/Divider.tsx
|
|
603
|
-
var
|
|
658
|
+
var import_react5 = require("react");
|
|
604
659
|
|
|
605
660
|
// src/components/Divider/Divider.css.ts
|
|
606
|
-
var
|
|
607
|
-
var divider = /* @__PURE__ */ (0,
|
|
661
|
+
var import_createRuntimeFn5 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
662
|
+
var divider = /* @__PURE__ */ (0, import_createRuntimeFn5.createRuntimeFn)({ defaultClassName: "_1t3gq8v0", variantClassNames: { orientation: { horizontal: "_1t3gq8v1", vertical: "_1t3gq8v2" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
|
|
608
663
|
var labeled = "_1t3gq8v3";
|
|
609
664
|
var line = "_1t3gq8v4";
|
|
610
665
|
|
|
611
666
|
// src/components/Divider/Divider.tsx
|
|
612
|
-
var
|
|
613
|
-
var Divider = /* @__PURE__ */ (0,
|
|
667
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
668
|
+
var Divider = /* @__PURE__ */ (0, import_react5.forwardRef)(function Divider2({ orientation = "horizontal", decorative, className, children, ...rest }, ref) {
|
|
614
669
|
if (children && orientation === "horizontal") {
|
|
615
|
-
return /* @__PURE__ */ (0,
|
|
616
|
-
/* @__PURE__ */ (0,
|
|
670
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { ref, className: cx(labeled, className), ...rest, children: [
|
|
671
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: line, "aria-hidden": true }),
|
|
617
672
|
children,
|
|
618
|
-
/* @__PURE__ */ (0,
|
|
673
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: line, "aria-hidden": true })
|
|
619
674
|
] });
|
|
620
675
|
}
|
|
621
676
|
const a11y = decorative ? { role: "none" } : { role: "separator", "aria-orientation": orientation === "vertical" ? "vertical" : void 0 };
|
|
622
|
-
return /* @__PURE__ */ (0,
|
|
677
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { ref, className: cx(divider({ orientation }), className), ...a11y, ...rest });
|
|
678
|
+
});
|
|
679
|
+
|
|
680
|
+
// src/components/FormField/FormField.tsx
|
|
681
|
+
var import_react6 = require("react");
|
|
682
|
+
|
|
683
|
+
// src/components/Input/Input.css.ts
|
|
684
|
+
var import_createRuntimeFn6 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
685
|
+
var adornment = "_19p5zvh6";
|
|
686
|
+
var field = "_19p5zvh7";
|
|
687
|
+
var fieldFullWidth = "_19p5zvh8";
|
|
688
|
+
var helperText = /* @__PURE__ */ (0, import_createRuntimeFn6.createRuntimeFn)({ defaultClassName: "_19p5zvhb", variantClassNames: { error: { true: "_19p5zvhc" } }, defaultVariants: {}, compoundVariants: [] });
|
|
689
|
+
var input = "_19p5zvh5";
|
|
690
|
+
var label = "_19p5zvh9";
|
|
691
|
+
var requiredMark = "_19p5zvha";
|
|
692
|
+
var root2 = /* @__PURE__ */ (0, import_createRuntimeFn6.createRuntimeFn)({ defaultClassName: "_19p5zvh0", variantClassNames: { size: { sm: "_19p5zvh1", md: "_19p5zvh2", lg: "_19p5zvh3" }, fullWidth: { true: "_19p5zvh4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
693
|
+
|
|
694
|
+
// src/components/FormField/FormField.tsx
|
|
695
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
696
|
+
var FormField = /* @__PURE__ */ (0, import_react6.forwardRef)(function FormField2({ label: label7, helperText: helperText3, error, required, id, fullWidth, className, children, ...rest }, ref) {
|
|
697
|
+
const generatedId = (0, import_react6.useId)();
|
|
698
|
+
const controlId = id ?? generatedId;
|
|
699
|
+
const labelId = label7 ? `${controlId}-label` : void 0;
|
|
700
|
+
const helperId = helperText3 ? `${controlId}-helper` : void 0;
|
|
701
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { ref, className: cx(field, fullWidth && fieldFullWidth, className), ...rest, children: [
|
|
702
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("label", { id: labelId, htmlFor: controlId, className: label, children: [
|
|
703
|
+
label7,
|
|
704
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
705
|
+
] }),
|
|
706
|
+
children(
|
|
707
|
+
{
|
|
708
|
+
id: controlId,
|
|
709
|
+
"aria-describedby": helperId,
|
|
710
|
+
"aria-invalid": error || void 0,
|
|
711
|
+
"aria-required": required || void 0
|
|
712
|
+
},
|
|
713
|
+
{ labelId, helperId }
|
|
714
|
+
),
|
|
715
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
716
|
+
] });
|
|
717
|
+
});
|
|
718
|
+
|
|
719
|
+
// src/components/Grid/Grid.tsx
|
|
720
|
+
var import_react7 = require("react");
|
|
721
|
+
|
|
722
|
+
// src/components/Grid/Grid.css.ts
|
|
723
|
+
var columns = "_1tylv9m1";
|
|
724
|
+
var grid = "_1tylv9m0";
|
|
725
|
+
var responsiveGap = "iarbla0";
|
|
726
|
+
|
|
727
|
+
// src/components/Grid/Grid.tsx
|
|
728
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
729
|
+
var repeatColumns = (count2) => `repeat(${count2}, minmax(0, 1fr))`;
|
|
730
|
+
var Grid = /* @__PURE__ */ (0, import_react7.forwardRef)(function Grid2({ as: Component = "div", columns: columns2, minItemWidth, gap, className, style, ...rest }, ref) {
|
|
731
|
+
const responsive = {};
|
|
732
|
+
if (minItemWidth)
|
|
733
|
+
responsive["--bestow-grid-columns-base"] = `repeat(auto-fill, minmax(min(100%, ${minItemWidth}), 1fr))`;
|
|
734
|
+
else responsiveVars(responsive, "grid-columns", columns2, repeatColumns);
|
|
735
|
+
responsiveVars(responsive, "gap", gap, spaceVar);
|
|
736
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
737
|
+
Component,
|
|
738
|
+
{
|
|
739
|
+
ref,
|
|
740
|
+
className: cx(grid, columns, gap !== void 0 && responsiveGap, className),
|
|
741
|
+
style: { ...responsive, ...style },
|
|
742
|
+
...rest
|
|
743
|
+
}
|
|
744
|
+
);
|
|
623
745
|
});
|
|
624
746
|
|
|
625
747
|
// src/components/Progress/Progress.tsx
|
|
626
|
-
var
|
|
748
|
+
var import_react8 = require("react");
|
|
627
749
|
|
|
628
750
|
// src/components/Progress/Progress.css.ts
|
|
629
|
-
var
|
|
751
|
+
var import_createRuntimeFn7 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
630
752
|
var header2 = "_1tvkq001";
|
|
631
|
-
var indicator = /* @__PURE__ */ (0,
|
|
632
|
-
var
|
|
633
|
-
var
|
|
634
|
-
var track = /* @__PURE__ */ (0,
|
|
753
|
+
var indicator = /* @__PURE__ */ (0, import_createRuntimeFn7.createRuntimeFn)({ defaultClassName: "_1tvkq008", variantClassNames: { color: { primary: "_1tvkq009", neutral: "_1tvkq00a", success: "_1tvkq00b", warning: "_1tvkq00c", danger: "_1tvkq00d" } }, defaultVariants: { color: "primary" }, compoundVariants: [] });
|
|
754
|
+
var label2 = "_1tvkq002";
|
|
755
|
+
var root3 = "_1tvkq000";
|
|
756
|
+
var track = /* @__PURE__ */ (0, import_createRuntimeFn7.createRuntimeFn)({ defaultClassName: "_1tvkq004", variantClassNames: { size: { sm: "_1tvkq005", md: "_1tvkq006", lg: "_1tvkq007" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
635
757
|
var value = "_1tvkq003";
|
|
636
758
|
|
|
637
759
|
// src/components/Progress/Progress.tsx
|
|
638
|
-
var
|
|
760
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
639
761
|
var defaultFormat = (value4, max) => `${Math.round(value4 / max * 100)}%`;
|
|
640
|
-
var Progress = /* @__PURE__ */ (0,
|
|
762
|
+
var Progress = /* @__PURE__ */ (0, import_react8.forwardRef)(function Progress2({
|
|
641
763
|
value: value4,
|
|
642
764
|
max = 100,
|
|
643
765
|
label: label7,
|
|
@@ -649,17 +771,17 @@ var Progress = /* @__PURE__ */ (0, import_react5.forwardRef)(function Progress2(
|
|
|
649
771
|
className,
|
|
650
772
|
...rest
|
|
651
773
|
}, ref) {
|
|
652
|
-
const labelId = (0,
|
|
774
|
+
const labelId = (0, import_react8.useId)();
|
|
653
775
|
const isIndeterminate = value4 === void 0 || value4 === null;
|
|
654
776
|
const safeMax = max > 0 ? max : 100;
|
|
655
777
|
const clamped = isIndeterminate ? 0 : Math.min(safeMax, Math.max(0, value4));
|
|
656
778
|
const valueText = isIndeterminate ? void 0 : formatValue(clamped, safeMax);
|
|
657
|
-
return /* @__PURE__ */ (0,
|
|
658
|
-
(label7 || showValue && valueText) && /* @__PURE__ */ (0,
|
|
659
|
-
label7 && /* @__PURE__ */ (0,
|
|
660
|
-
showValue && valueText && /* @__PURE__ */ (0,
|
|
779
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { ref, className: cx(root3, className), ...rest, children: [
|
|
780
|
+
(label7 || showValue && valueText) && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: header2, children: [
|
|
781
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { id: labelId, className: label2, children: label7 }),
|
|
782
|
+
showValue && valueText && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: value, "aria-hidden": true, children: valueText })
|
|
661
783
|
] }),
|
|
662
|
-
/* @__PURE__ */ (0,
|
|
784
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
663
785
|
"div",
|
|
664
786
|
{
|
|
665
787
|
role: "progressbar",
|
|
@@ -670,7 +792,7 @@ var Progress = /* @__PURE__ */ (0, import_react5.forwardRef)(function Progress2(
|
|
|
670
792
|
"aria-valuenow": isIndeterminate ? void 0 : clamped,
|
|
671
793
|
"aria-valuetext": valueText,
|
|
672
794
|
className: track({ size }),
|
|
673
|
-
children: /* @__PURE__ */ (0,
|
|
795
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
674
796
|
"div",
|
|
675
797
|
{
|
|
676
798
|
className: indicator({ color }),
|
|
@@ -685,23 +807,23 @@ var Progress = /* @__PURE__ */ (0, import_react5.forwardRef)(function Progress2(
|
|
|
685
807
|
|
|
686
808
|
// src/components/Skeleton/Skeleton.tsx
|
|
687
809
|
var import_dynamic3 = require("@vanilla-extract/dynamic");
|
|
688
|
-
var
|
|
810
|
+
var import_react9 = require("react");
|
|
689
811
|
|
|
690
812
|
// src/components/Skeleton/Skeleton.css.ts
|
|
691
|
-
var
|
|
813
|
+
var import_createRuntimeFn8 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
692
814
|
var height = "var(--_1s8datd1)";
|
|
693
815
|
var lines = "_1s8datd6";
|
|
694
|
-
var skeleton = /* @__PURE__ */ (0,
|
|
816
|
+
var skeleton = /* @__PURE__ */ (0, import_createRuntimeFn8.createRuntimeFn)({ defaultClassName: "_1s8datd2", variantClassNames: { variant: { text: "_1s8datd3", rect: "_1s8datd4", circle: "_1s8datd5" } }, defaultVariants: { variant: "text" }, compoundVariants: [] });
|
|
695
817
|
var width = "var(--_1s8datd0)";
|
|
696
818
|
|
|
697
819
|
// src/components/Skeleton/Skeleton.tsx
|
|
698
|
-
var
|
|
820
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
699
821
|
var toCss = (value4) => typeof value4 === "number" ? `${value4}px` : value4;
|
|
700
|
-
var Skeleton = /* @__PURE__ */ (0,
|
|
822
|
+
var Skeleton = /* @__PURE__ */ (0, import_react9.forwardRef)(function Skeleton2({ variant = "text", width: width2, height: height2, lines: lines2 = 1, className, style, ...rest }, ref) {
|
|
701
823
|
const w = toCss(width2 ?? (variant === "circle" ? 40 : "100%"));
|
|
702
824
|
const h = toCss(height2 ?? (variant === "circle" ? w : variant === "rect" ? 100 : "1em"));
|
|
703
825
|
if (variant === "text" && lines2 > 1) {
|
|
704
|
-
return /* @__PURE__ */ (0,
|
|
826
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
705
827
|
"span",
|
|
706
828
|
{
|
|
707
829
|
ref,
|
|
@@ -709,7 +831,7 @@ var Skeleton = /* @__PURE__ */ (0, import_react6.forwardRef)(function Skeleton2(
|
|
|
709
831
|
className: cx(lines, className),
|
|
710
832
|
style: { ...(0, import_dynamic3.assignInlineVars)({ [width]: w }), ...style },
|
|
711
833
|
...rest,
|
|
712
|
-
children: Array.from({ length: lines2 }, (_, i) => /* @__PURE__ */ (0,
|
|
834
|
+
children: Array.from({ length: lines2 }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
713
835
|
"span",
|
|
714
836
|
{
|
|
715
837
|
className: skeleton({ variant }),
|
|
@@ -720,7 +842,7 @@ var Skeleton = /* @__PURE__ */ (0, import_react6.forwardRef)(function Skeleton2(
|
|
|
720
842
|
}
|
|
721
843
|
);
|
|
722
844
|
}
|
|
723
|
-
return /* @__PURE__ */ (0,
|
|
845
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
724
846
|
"span",
|
|
725
847
|
{
|
|
726
848
|
ref,
|
|
@@ -733,27 +855,65 @@ var Skeleton = /* @__PURE__ */ (0, import_react6.forwardRef)(function Skeleton2(
|
|
|
733
855
|
});
|
|
734
856
|
|
|
735
857
|
// src/components/Stack/Stack.tsx
|
|
736
|
-
var
|
|
858
|
+
var import_react10 = require("react");
|
|
737
859
|
|
|
738
860
|
// src/components/Stack/Stack.css.ts
|
|
739
|
-
var
|
|
740
|
-
var
|
|
861
|
+
var import_createRuntimeFn9 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
862
|
+
var responsiveAlign = "_1jz9hj9t";
|
|
863
|
+
var responsiveDirection = "_1jz9hj9s";
|
|
864
|
+
var responsiveGap2 = "iarbla0";
|
|
865
|
+
var responsiveJustify = "_1jz9hj9u";
|
|
866
|
+
var stack = /* @__PURE__ */ (0, import_createRuntimeFn9.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: {}, compoundVariants: [] });
|
|
741
867
|
|
|
742
868
|
// src/components/Stack/Stack.tsx
|
|
743
|
-
var
|
|
744
|
-
var
|
|
745
|
-
|
|
869
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
870
|
+
var flexValues = {
|
|
871
|
+
start: "flex-start",
|
|
872
|
+
end: "flex-end",
|
|
873
|
+
between: "space-between",
|
|
874
|
+
around: "space-around",
|
|
875
|
+
evenly: "space-evenly"
|
|
876
|
+
};
|
|
877
|
+
var flexValue = (value4) => flexValues[value4] ?? value4;
|
|
878
|
+
var responsiveProps = [
|
|
879
|
+
["direction", "stack-direction", String, responsiveDirection],
|
|
880
|
+
["gap", "gap", spaceVar, responsiveGap2],
|
|
881
|
+
["align", "stack-align", flexValue, responsiveAlign],
|
|
882
|
+
["justify", "stack-justify", flexValue, responsiveJustify]
|
|
883
|
+
];
|
|
884
|
+
var Stack = /* @__PURE__ */ (0, import_react10.forwardRef)(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, style, ...rest }, ref) {
|
|
885
|
+
const props = { direction: direction ?? "column", gap, align, justify };
|
|
886
|
+
const variants = { wrap };
|
|
887
|
+
const classes = [];
|
|
888
|
+
const cssVars = {};
|
|
889
|
+
for (const [key, name, toCss2, responsiveClass] of responsiveProps) {
|
|
890
|
+
const value4 = props[key];
|
|
891
|
+
if (!isResponsiveObject(value4)) variants[key] = value4;
|
|
892
|
+
else {
|
|
893
|
+
responsiveVars(cssVars, name, key === "direction" ? { base: "column", ...value4 } : value4, toCss2);
|
|
894
|
+
classes.push(responsiveClass);
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
898
|
+
Component,
|
|
899
|
+
{
|
|
900
|
+
ref,
|
|
901
|
+
className: cx(stack(variants), ...classes, className),
|
|
902
|
+
style: classes.length ? { ...cssVars, ...style } : style,
|
|
903
|
+
...rest
|
|
904
|
+
}
|
|
905
|
+
);
|
|
746
906
|
});
|
|
747
907
|
|
|
748
908
|
// src/components/Typography/Typography.tsx
|
|
749
|
-
var
|
|
909
|
+
var import_react11 = require("react");
|
|
750
910
|
|
|
751
911
|
// src/components/Typography/Typography.css.ts
|
|
752
|
-
var
|
|
753
|
-
var typography = /* @__PURE__ */ (0,
|
|
912
|
+
var import_createRuntimeFn10 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
913
|
+
var typography = /* @__PURE__ */ (0, import_createRuntimeFn10.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: [] });
|
|
754
914
|
|
|
755
915
|
// src/components/Typography/Typography.tsx
|
|
756
|
-
var
|
|
916
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
757
917
|
var defaultElement = {
|
|
758
918
|
display: "h1",
|
|
759
919
|
h1: "h1",
|
|
@@ -765,9 +925,9 @@ var defaultElement = {
|
|
|
765
925
|
"body-sm": "p",
|
|
766
926
|
caption: "span"
|
|
767
927
|
};
|
|
768
|
-
var Typography = /* @__PURE__ */ (0,
|
|
928
|
+
var Typography = /* @__PURE__ */ (0, import_react11.forwardRef)(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
|
|
769
929
|
const Component = as ?? defaultElement[variant];
|
|
770
|
-
return /* @__PURE__ */ (0,
|
|
930
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
771
931
|
Component,
|
|
772
932
|
{
|
|
773
933
|
ref,
|
|
@@ -778,15 +938,15 @@ var Typography = /* @__PURE__ */ (0, import_react8.forwardRef)(function Typograp
|
|
|
778
938
|
});
|
|
779
939
|
|
|
780
940
|
// src/components/VisuallyHidden/VisuallyHidden.tsx
|
|
781
|
-
var
|
|
941
|
+
var import_react12 = require("react");
|
|
782
942
|
|
|
783
943
|
// src/styles/visuallyHidden.css.ts
|
|
784
944
|
var visuallyHidden = "_1kdtbw10";
|
|
785
945
|
|
|
786
946
|
// src/components/VisuallyHidden/VisuallyHidden.tsx
|
|
787
|
-
var
|
|
788
|
-
var VisuallyHidden = /* @__PURE__ */ (0,
|
|
789
|
-
return /* @__PURE__ */ (0,
|
|
947
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
948
|
+
var VisuallyHidden = /* @__PURE__ */ (0, import_react12.forwardRef)(function VisuallyHidden2({ as: Component = "span", className, ...rest }, ref) {
|
|
949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Component, { ref, className: cx(visuallyHidden, className), ...rest });
|
|
790
950
|
});
|
|
791
951
|
|
|
792
952
|
// src/utils/focusField.ts
|
|
@@ -794,10 +954,10 @@ var FOCUSABLE = 'input:not([type="hidden"]):not([disabled]), select:not([disable
|
|
|
794
954
|
function isUsable(element) {
|
|
795
955
|
return element instanceof HTMLElement && element.matches(FOCUSABLE) && element.tabIndex >= 0 && !element.closest('[aria-hidden="true"], [inert], [hidden]');
|
|
796
956
|
}
|
|
797
|
-
function firstUsableIn(
|
|
798
|
-
if (!
|
|
799
|
-
const checked = Array.from(
|
|
800
|
-
return checked ?? Array.from(
|
|
957
|
+
function firstUsableIn(container3) {
|
|
958
|
+
if (!container3) return null;
|
|
959
|
+
const checked = Array.from(container3.querySelectorAll(':checked, [aria-checked="true"]')).find(isUsable);
|
|
960
|
+
return checked ?? Array.from(container3.querySelectorAll(FOCUSABLE)).find(isUsable) ?? null;
|
|
801
961
|
}
|
|
802
962
|
function focusField(target) {
|
|
803
963
|
const element = typeof target === "string" ? document.getElementById(target) : target ?? null;
|
|
@@ -809,60 +969,105 @@ function focusField(target) {
|
|
|
809
969
|
}
|
|
810
970
|
|
|
811
971
|
// src/theme/ThemeProvider.tsx
|
|
812
|
-
var
|
|
972
|
+
var import_react14 = require("react");
|
|
813
973
|
|
|
814
974
|
// src/theme/ThemeProvider.css.ts
|
|
815
975
|
var portal = "sfyhlv0";
|
|
816
|
-
var
|
|
976
|
+
var root4 = "sfyhlv1 sfyhlv0";
|
|
977
|
+
|
|
978
|
+
// src/theme/useSystemTheme.ts
|
|
979
|
+
var import_react13 = require("react");
|
|
980
|
+
var query = "(prefers-color-scheme: dark)";
|
|
981
|
+
var getMediaQuery = () => typeof window !== "undefined" && window.matchMedia ? window.matchMedia(query) : void 0;
|
|
982
|
+
function subscribe(onChange) {
|
|
983
|
+
const mql = getMediaQuery();
|
|
984
|
+
mql?.addEventListener("change", onChange);
|
|
985
|
+
return () => mql?.removeEventListener("change", onChange);
|
|
986
|
+
}
|
|
987
|
+
var noopSubscribe = () => () => {
|
|
988
|
+
};
|
|
989
|
+
var getSnapshot = () => getMediaQuery()?.matches ? "dark" : "light";
|
|
990
|
+
var getLight = () => "light";
|
|
991
|
+
var getServerSnapshot = () => null;
|
|
992
|
+
function useSystemTheme(enabled) {
|
|
993
|
+
return (0, import_react13.useSyncExternalStore)(
|
|
994
|
+
enabled ? subscribe : noopSubscribe,
|
|
995
|
+
enabled ? getSnapshot : getLight,
|
|
996
|
+
enabled ? getServerSnapshot : getLight
|
|
997
|
+
);
|
|
998
|
+
}
|
|
817
999
|
|
|
818
1000
|
// src/theme/ThemeProvider.tsx
|
|
819
|
-
var
|
|
820
|
-
var ThemeContext = /* @__PURE__ */ (0,
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
1001
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1002
|
+
var ThemeContext = /* @__PURE__ */ (0, import_react14.createContext)({
|
|
1003
|
+
mode: "light",
|
|
1004
|
+
theme: "light",
|
|
1005
|
+
pending: false
|
|
1006
|
+
});
|
|
1007
|
+
var declarations = (style) => (
|
|
1008
|
+
// 값은 개발자가 준 테마지만 </style> 로 태그가 끝나지 않게 < 를 CSS 이스케이프로 바꾼다
|
|
1009
|
+
Object.entries(style ?? {}).map(([name, value4]) => `${name}:${value4.replace(/</g, "\\3c ")}`).join(";")
|
|
1010
|
+
);
|
|
1011
|
+
function pendingOverridesCss(selector, theme) {
|
|
1012
|
+
const light = declarations(themeToStyle(theme, "light"));
|
|
1013
|
+
const dark = declarations(themeToStyle(theme, "dark"));
|
|
1014
|
+
if (!light && !dark) return void 0;
|
|
1015
|
+
return `${selector}{${light}}@media (prefers-color-scheme: dark){${selector}{${dark}}}`;
|
|
1016
|
+
}
|
|
1017
|
+
var ThemeProvider = /* @__PURE__ */ (0, import_react14.forwardRef)(function ThemeProvider2({ theme: themeProp, overrides, className, style, children, ...rest }, ref) {
|
|
1018
|
+
const parent = (0, import_react14.useContext)(ThemeContext);
|
|
1019
|
+
const mode = themeProp ?? parent.mode;
|
|
1020
|
+
const system = useSystemTheme(mode === "system");
|
|
1021
|
+
const pending = mode === "system" && system === null;
|
|
1022
|
+
const theme = mode === "system" ? system ?? "light" : mode;
|
|
1023
|
+
const merged = (0, import_react14.useMemo)(() => mergeThemes(parent.overrides, overrides), [parent.overrides, overrides]);
|
|
1024
|
+
const value4 = (0, import_react14.useMemo)(
|
|
1025
|
+
() => ({ mode, theme, pending, overrides: merged, style: pending ? void 0 : themeToStyle(merged, theme) }),
|
|
1026
|
+
[mode, theme, pending, merged]
|
|
828
1027
|
);
|
|
829
|
-
|
|
1028
|
+
const id = (0, import_react14.useId)();
|
|
1029
|
+
const pendingCss = pending && pendingOverridesCss(`.${systemThemeClass}[data-bestow-theme-id="${id}"]`, merged);
|
|
1030
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ThemeContext.Provider, { value: value4, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
830
1031
|
"div",
|
|
831
1032
|
{
|
|
832
1033
|
ref,
|
|
833
|
-
"data-theme": theme,
|
|
834
|
-
|
|
1034
|
+
"data-theme": pending ? "system" : theme,
|
|
1035
|
+
"data-bestow-theme-id": pendingCss ? id : void 0,
|
|
1036
|
+
className: cx(pending ? systemThemeClass : themeClass[theme], root4, className),
|
|
835
1037
|
style: value4.style ? { ...value4.style, ...style } : style,
|
|
836
1038
|
...rest,
|
|
837
|
-
children
|
|
1039
|
+
children: [
|
|
1040
|
+
pendingCss && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("style", { dangerouslySetInnerHTML: { __html: pendingCss } }),
|
|
1041
|
+
children
|
|
1042
|
+
]
|
|
838
1043
|
}
|
|
839
1044
|
) });
|
|
840
1045
|
});
|
|
841
1046
|
function useTheme() {
|
|
842
|
-
return (0,
|
|
1047
|
+
return (0, import_react14.useContext)(ThemeContext).theme;
|
|
843
1048
|
}
|
|
844
1049
|
function usePortalProps() {
|
|
845
|
-
const { theme, style } = (0,
|
|
846
|
-
return { className: cx(themeClass[theme], portal), style };
|
|
1050
|
+
const { theme, pending, style } = (0, import_react14.useContext)(ThemeContext);
|
|
1051
|
+
return { className: cx(pending ? systemThemeClass : themeClass[theme], portal), style };
|
|
847
1052
|
}
|
|
848
1053
|
|
|
849
1054
|
// src/i18n/LocaleProvider.tsx
|
|
850
|
-
var
|
|
851
|
-
var
|
|
852
|
-
var MessagesContext = /* @__PURE__ */ (0,
|
|
1055
|
+
var import_react15 = require("react");
|
|
1056
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1057
|
+
var MessagesContext = /* @__PURE__ */ (0, import_react15.createContext)({});
|
|
853
1058
|
function LocaleProvider({ messages, children }) {
|
|
854
|
-
const parent = (0,
|
|
855
|
-
const value4 = (0,
|
|
856
|
-
return /* @__PURE__ */ (0,
|
|
1059
|
+
const parent = (0, import_react15.useContext)(MessagesContext);
|
|
1060
|
+
const value4 = (0, import_react15.useMemo)(() => ({ ...parent, ...messages }), [parent, messages]);
|
|
1061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(MessagesContext.Provider, { value: value4, children });
|
|
857
1062
|
}
|
|
858
1063
|
function useMessages() {
|
|
859
|
-
return (0,
|
|
1064
|
+
return (0, import_react15.useContext)(MessagesContext);
|
|
860
1065
|
}
|
|
861
1066
|
|
|
862
1067
|
// src/components/Accordion/Accordion.tsx
|
|
863
1068
|
var RadixAccordion = __toESM(require("@radix-ui/react-accordion"), 1);
|
|
864
1069
|
var import_icons = require("@bestow-ui/icons");
|
|
865
|
-
var
|
|
1070
|
+
var import_react16 = require("react");
|
|
866
1071
|
|
|
867
1072
|
// src/components/Accordion/Accordion.css.ts
|
|
868
1073
|
var chevron = "v58j0l4";
|
|
@@ -870,62 +1075,62 @@ var content = "v58j0l5";
|
|
|
870
1075
|
var contentInner = "v58j0l6";
|
|
871
1076
|
var header3 = "v58j0l2";
|
|
872
1077
|
var item2 = "v58j0l1";
|
|
873
|
-
var
|
|
1078
|
+
var root5 = "v58j0l0";
|
|
874
1079
|
var trigger = "v58j0l3";
|
|
875
1080
|
|
|
876
1081
|
// src/components/Accordion/Accordion.tsx
|
|
877
|
-
var
|
|
878
|
-
var Accordion = /* @__PURE__ */ (0,
|
|
1082
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1083
|
+
var Accordion = /* @__PURE__ */ (0, import_react16.forwardRef)(function Accordion2({ className, ...props }, ref) {
|
|
879
1084
|
const { collapsible, ...multipleProps } = props;
|
|
880
1085
|
const typedProps = props.type === "multiple" ? multipleProps : { ...multipleProps, collapsible };
|
|
881
1086
|
const rootProps = "value" in props ? { ...typedProps, value: props.value ?? (props.type === "multiple" ? [] : "") } : typedProps;
|
|
882
|
-
return /* @__PURE__ */ (0,
|
|
1087
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(RadixAccordion.Root, { ref, className: cx(root5, className), ...rootProps });
|
|
883
1088
|
});
|
|
884
|
-
var AccordionItem = /* @__PURE__ */ (0,
|
|
1089
|
+
var AccordionItem = /* @__PURE__ */ (0, import_react16.forwardRef)(function AccordionItem2({ title: title6, headingLevel = 3, className, children, ...rest }, ref) {
|
|
885
1090
|
const Heading = `h${headingLevel}`;
|
|
886
|
-
return /* @__PURE__ */ (0,
|
|
887
|
-
/* @__PURE__ */ (0,
|
|
1091
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(RadixAccordion.Item, { ref, className: cx(item2, className), ...rest, children: [
|
|
1092
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(RadixAccordion.Header, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Heading, { className: header3, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(RadixAccordion.Trigger, { className: trigger, children: [
|
|
888
1093
|
title6,
|
|
889
|
-
/* @__PURE__ */ (0,
|
|
1094
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_icons.ChevronDownIcon, { size: 18, className: chevron })
|
|
890
1095
|
] }) }) }),
|
|
891
|
-
/* @__PURE__ */ (0,
|
|
1096
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(RadixAccordion.Content, { className: content, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: contentInner, children }) })
|
|
892
1097
|
] });
|
|
893
1098
|
});
|
|
894
1099
|
|
|
895
1100
|
// src/components/AddressInput/AddressInput.tsx
|
|
896
|
-
var
|
|
1101
|
+
var import_react22 = require("react");
|
|
897
1102
|
|
|
898
1103
|
// src/components/Button/Button.tsx
|
|
899
|
-
var
|
|
1104
|
+
var import_react18 = require("react");
|
|
900
1105
|
|
|
901
1106
|
// src/components/Spinner/Spinner.tsx
|
|
902
1107
|
var import_icons2 = require("@bestow-ui/icons");
|
|
903
|
-
var
|
|
1108
|
+
var import_react17 = require("react");
|
|
904
1109
|
|
|
905
1110
|
// src/components/Spinner/Spinner.css.ts
|
|
906
|
-
var
|
|
907
|
-
var spinner = /* @__PURE__ */ (0,
|
|
1111
|
+
var import_createRuntimeFn11 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1112
|
+
var spinner = /* @__PURE__ */ (0, import_createRuntimeFn11.createRuntimeFn)({ defaultClassName: "_4b5tg40", variantClassNames: { color: { inherit: "_4b5tg41", primary: "_4b5tg42", neutral: "_4b5tg43", danger: "_4b5tg44" }, size: { sm: "_4b5tg45", md: "_4b5tg46", lg: "_4b5tg47" } }, defaultVariants: { color: "inherit", size: "md" }, compoundVariants: [] });
|
|
908
1113
|
|
|
909
1114
|
// src/components/Spinner/Spinner.tsx
|
|
910
|
-
var
|
|
911
|
-
var Spinner = /* @__PURE__ */ (0,
|
|
1115
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1116
|
+
var Spinner = /* @__PURE__ */ (0, import_react17.forwardRef)(function Spinner2({ size, color, label: labelProp, className, ...rest }, ref) {
|
|
912
1117
|
const m = useMessages();
|
|
913
1118
|
const label7 = labelProp ?? m.loading ?? "\uB85C\uB529 \uC911";
|
|
914
1119
|
const a11y = label7 ? { role: "status" } : { "aria-hidden": true };
|
|
915
|
-
return /* @__PURE__ */ (0,
|
|
916
|
-
/* @__PURE__ */ (0,
|
|
917
|
-
label7 && /* @__PURE__ */ (0,
|
|
1120
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { ref, className: cx(spinner({ size, color }), className), ...a11y, ...rest, children: [
|
|
1121
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons2.LoaderIcon, { size: "100%" }),
|
|
1122
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: visuallyHidden, children: label7 })
|
|
918
1123
|
] });
|
|
919
1124
|
});
|
|
920
1125
|
|
|
921
1126
|
// src/components/Button/Button.css.ts
|
|
922
|
-
var
|
|
923
|
-
var button = /* @__PURE__ */ (0,
|
|
1127
|
+
var import_createRuntimeFn12 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1128
|
+
var button = /* @__PURE__ */ (0, import_createRuntimeFn12.createRuntimeFn)({ defaultClassName: "xcekda6", variantClassNames: { variant: { solid: "xcekda7", soft: "xcekda8", outline: "xcekda9", ghost: "xcekdaa" }, color: { primary: "xcekdab", neutral: "xcekdac", danger: "xcekdad" }, size: { sm: "xcekdae", md: "xcekdaf", lg: "xcekdag" }, fullWidth: { true: "xcekdah" } }, defaultVariants: { variant: "solid", color: "primary", size: "md" }, compoundVariants: [] });
|
|
924
1129
|
var icon2 = "xcekdai";
|
|
925
1130
|
|
|
926
1131
|
// src/components/Button/Button.tsx
|
|
927
|
-
var
|
|
928
|
-
var Button = /* @__PURE__ */ (0,
|
|
1132
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1133
|
+
var Button = /* @__PURE__ */ (0, import_react18.forwardRef)(function Button2({
|
|
929
1134
|
variant,
|
|
930
1135
|
color,
|
|
931
1136
|
size,
|
|
@@ -946,8 +1151,8 @@ var Button = /* @__PURE__ */ (0, import_react14.forwardRef)(function Button2({
|
|
|
946
1151
|
}
|
|
947
1152
|
onClick?.(event);
|
|
948
1153
|
};
|
|
949
|
-
const leading = loading2 ? /* @__PURE__ */ (0,
|
|
950
|
-
return /* @__PURE__ */ (0,
|
|
1154
|
+
const leading = loading2 ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Spinner, { size: "sm", label: "" }) : startIcon;
|
|
1155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
951
1156
|
"button",
|
|
952
1157
|
{
|
|
953
1158
|
ref,
|
|
@@ -958,38 +1163,27 @@ var Button = /* @__PURE__ */ (0, import_react14.forwardRef)(function Button2({
|
|
|
958
1163
|
onClick: handleClick,
|
|
959
1164
|
...rest,
|
|
960
1165
|
children: [
|
|
961
|
-
leading && /* @__PURE__ */ (0,
|
|
1166
|
+
leading && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: icon2, children: leading }),
|
|
962
1167
|
children,
|
|
963
|
-
endIcon && /* @__PURE__ */ (0,
|
|
1168
|
+
endIcon && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: icon2, children: endIcon })
|
|
964
1169
|
]
|
|
965
1170
|
}
|
|
966
1171
|
);
|
|
967
1172
|
});
|
|
968
1173
|
|
|
969
|
-
// src/components/Input/Input.css.ts
|
|
970
|
-
var import_createRuntimeFn11 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
971
|
-
var adornment = "_19p5zvh6";
|
|
972
|
-
var field = "_19p5zvh7";
|
|
973
|
-
var fieldFullWidth = "_19p5zvh8";
|
|
974
|
-
var helperText = /* @__PURE__ */ (0, import_createRuntimeFn11.createRuntimeFn)({ defaultClassName: "_19p5zvhb", variantClassNames: { error: { true: "_19p5zvhc" } }, defaultVariants: {}, compoundVariants: [] });
|
|
975
|
-
var input = "_19p5zvh5";
|
|
976
|
-
var label2 = "_19p5zvh9";
|
|
977
|
-
var requiredMark = "_19p5zvha";
|
|
978
|
-
var root5 = /* @__PURE__ */ (0, import_createRuntimeFn11.createRuntimeFn)({ defaultClassName: "_19p5zvh0", variantClassNames: { size: { sm: "_19p5zvh1", md: "_19p5zvh2", lg: "_19p5zvh3" }, fullWidth: { true: "_19p5zvh4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
979
|
-
|
|
980
1174
|
// src/components/Input/Input.tsx
|
|
981
|
-
var
|
|
982
|
-
var
|
|
983
|
-
var Input = /* @__PURE__ */ (0,
|
|
984
|
-
return /* @__PURE__ */ (0,
|
|
1175
|
+
var import_react19 = require("react");
|
|
1176
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1177
|
+
var Input = /* @__PURE__ */ (0, import_react19.forwardRef)(function Input2({ size, invalid, fullWidth, startAdornment, endAdornment, rootClassName, className, disabled, ...rest }, ref) {
|
|
1178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
985
1179
|
"div",
|
|
986
1180
|
{
|
|
987
|
-
className: cx(
|
|
1181
|
+
className: cx(root2({ size, fullWidth }), rootClassName),
|
|
988
1182
|
"data-invalid": invalid || void 0,
|
|
989
1183
|
"data-disabled": disabled || void 0,
|
|
990
1184
|
children: [
|
|
991
|
-
startAdornment && /* @__PURE__ */ (0,
|
|
992
|
-
/* @__PURE__ */ (0,
|
|
1185
|
+
startAdornment && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: adornment, children: startAdornment }),
|
|
1186
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
993
1187
|
"input",
|
|
994
1188
|
{
|
|
995
1189
|
ref,
|
|
@@ -999,25 +1193,25 @@ var Input = /* @__PURE__ */ (0, import_react15.forwardRef)(function Input2({ siz
|
|
|
999
1193
|
...rest
|
|
1000
1194
|
}
|
|
1001
1195
|
),
|
|
1002
|
-
endAdornment && /* @__PURE__ */ (0,
|
|
1196
|
+
endAdornment && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: adornment, children: endAdornment })
|
|
1003
1197
|
]
|
|
1004
1198
|
}
|
|
1005
1199
|
);
|
|
1006
1200
|
});
|
|
1007
1201
|
|
|
1008
1202
|
// src/components/Input/TextField.tsx
|
|
1009
|
-
var
|
|
1010
|
-
var
|
|
1011
|
-
var TextField = /* @__PURE__ */ (0,
|
|
1012
|
-
const generatedId = (0,
|
|
1203
|
+
var import_react20 = require("react");
|
|
1204
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1205
|
+
var TextField = /* @__PURE__ */ (0, import_react20.forwardRef)(function TextField2({ label: label7, helperText: helperText3, error, required, fullWidth, id, "aria-describedby": ariaDescribedBy, ...rest }, ref) {
|
|
1206
|
+
const generatedId = (0, import_react20.useId)();
|
|
1013
1207
|
const inputId = id ?? generatedId;
|
|
1014
1208
|
const helperId = helperText3 ? `${inputId}-helper` : void 0;
|
|
1015
|
-
return /* @__PURE__ */ (0,
|
|
1016
|
-
label7 && /* @__PURE__ */ (0,
|
|
1209
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
1210
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("label", { htmlFor: inputId, className: label, children: [
|
|
1017
1211
|
label7,
|
|
1018
|
-
required && /* @__PURE__ */ (0,
|
|
1212
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
1019
1213
|
] }),
|
|
1020
|
-
/* @__PURE__ */ (0,
|
|
1214
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1021
1215
|
Input,
|
|
1022
1216
|
{
|
|
1023
1217
|
ref,
|
|
@@ -1029,7 +1223,7 @@ var TextField = /* @__PURE__ */ (0, import_react16.forwardRef)(function TextFiel
|
|
|
1029
1223
|
...rest
|
|
1030
1224
|
}
|
|
1031
1225
|
),
|
|
1032
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
1226
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
1033
1227
|
] });
|
|
1034
1228
|
});
|
|
1035
1229
|
|
|
@@ -1038,9 +1232,9 @@ var Dialog = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
|
1038
1232
|
var import_icons3 = require("@bestow-ui/icons");
|
|
1039
1233
|
|
|
1040
1234
|
// src/utils/useReturnFocus.ts
|
|
1041
|
-
var
|
|
1235
|
+
var import_react21 = require("react");
|
|
1042
1236
|
function useReturnFocus(hasTrigger, onCloseAutoFocus) {
|
|
1043
|
-
const returnTo = (0,
|
|
1237
|
+
const returnTo = (0, import_react21.useRef)(null);
|
|
1044
1238
|
return {
|
|
1045
1239
|
onOpenAutoFocus: () => {
|
|
1046
1240
|
const active = document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
@@ -1061,10 +1255,10 @@ function useReturnFocus(hasTrigger, onCloseAutoFocus) {
|
|
|
1061
1255
|
}
|
|
1062
1256
|
|
|
1063
1257
|
// src/components/Modal/Modal.css.ts
|
|
1064
|
-
var
|
|
1258
|
+
var import_createRuntimeFn13 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1065
1259
|
var body2 = "_1pdsmv0a";
|
|
1066
1260
|
var closeButton = "_1pdsmv09";
|
|
1067
|
-
var content2 = /* @__PURE__ */ (0,
|
|
1261
|
+
var content2 = /* @__PURE__ */ (0, import_createRuntimeFn13.createRuntimeFn)({ defaultClassName: "_1pdsmv01", variantClassNames: { size: { sm: "_1pdsmv02", md: "_1pdsmv03", lg: "_1pdsmv04" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1068
1262
|
var description2 = "_1pdsmv08";
|
|
1069
1263
|
var footer2 = "_1pdsmv0b";
|
|
1070
1264
|
var header4 = "_1pdsmv05";
|
|
@@ -1073,14 +1267,14 @@ var overlay = "_1pdsmv00";
|
|
|
1073
1267
|
var title = "_1pdsmv07";
|
|
1074
1268
|
|
|
1075
1269
|
// src/components/Modal/Modal.tsx
|
|
1076
|
-
var
|
|
1270
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1077
1271
|
function Modal({
|
|
1078
1272
|
open,
|
|
1079
1273
|
defaultOpen,
|
|
1080
1274
|
onOpenChange,
|
|
1081
1275
|
trigger: trigger4,
|
|
1082
1276
|
title: title6,
|
|
1083
|
-
description:
|
|
1277
|
+
description: description9,
|
|
1084
1278
|
children,
|
|
1085
1279
|
footer: footer6,
|
|
1086
1280
|
size,
|
|
@@ -1092,11 +1286,11 @@ function Modal({
|
|
|
1092
1286
|
const portal2 = usePortalProps();
|
|
1093
1287
|
const m = useMessages();
|
|
1094
1288
|
const focus = useReturnFocus(Boolean(trigger4), onCloseAutoFocus);
|
|
1095
|
-
return /* @__PURE__ */ (0,
|
|
1096
|
-
trigger4 && /* @__PURE__ */ (0,
|
|
1097
|
-
/* @__PURE__ */ (0,
|
|
1098
|
-
/* @__PURE__ */ (0,
|
|
1099
|
-
/* @__PURE__ */ (0,
|
|
1289
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Dialog.Root, { open, defaultOpen, onOpenChange, children: [
|
|
1290
|
+
trigger4 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog.Trigger, { asChild: true, children: trigger4 }),
|
|
1291
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Dialog.Portal, { children: [
|
|
1292
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog.Overlay, { className: cx(portal2.className, overlay), style: portal2.style }),
|
|
1293
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
1100
1294
|
Dialog.Content,
|
|
1101
1295
|
{
|
|
1102
1296
|
className: cx(portal2.className, content2({ size }), className),
|
|
@@ -1104,17 +1298,17 @@ function Modal({
|
|
|
1104
1298
|
onPointerDownOutside: closeOnOverlayClick ? void 0 : (event) => event.preventDefault(),
|
|
1105
1299
|
onOpenAutoFocus: focus.onOpenAutoFocus,
|
|
1106
1300
|
onCloseAutoFocus: focus.onCloseAutoFocus,
|
|
1107
|
-
...
|
|
1301
|
+
...description9 ? {} : { "aria-describedby": void 0 },
|
|
1108
1302
|
children: [
|
|
1109
|
-
/* @__PURE__ */ (0,
|
|
1110
|
-
/* @__PURE__ */ (0,
|
|
1111
|
-
/* @__PURE__ */ (0,
|
|
1112
|
-
|
|
1303
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: header4, children: [
|
|
1304
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: headings, children: [
|
|
1305
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog.Title, { className: title, children: title6 }),
|
|
1306
|
+
description9 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog.Description, { className: description2, children: description9 })
|
|
1113
1307
|
] }),
|
|
1114
|
-
!hideCloseButton && /* @__PURE__ */ (0,
|
|
1308
|
+
!hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog.Close, { className: closeButton, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_icons3.XIcon, { size: 16 }) })
|
|
1115
1309
|
] }),
|
|
1116
|
-
children && /* @__PURE__ */ (0,
|
|
1117
|
-
footer6 && /* @__PURE__ */ (0,
|
|
1310
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: body2, children }),
|
|
1311
|
+
footer6 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: footer2, children: footer6 })
|
|
1118
1312
|
]
|
|
1119
1313
|
}
|
|
1120
1314
|
)
|
|
@@ -1132,7 +1326,7 @@ var searchStatus = "_16fi7uy5";
|
|
|
1132
1326
|
var zonecode = "_16fi7uy3";
|
|
1133
1327
|
|
|
1134
1328
|
// src/components/AddressInput/AddressInput.tsx
|
|
1135
|
-
var
|
|
1329
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1136
1330
|
var EMPTY = { zonecode: "", address: "", extraAddress: "", detail: "" };
|
|
1137
1331
|
function SearchArea({
|
|
1138
1332
|
provider,
|
|
@@ -1140,18 +1334,18 @@ function SearchArea({
|
|
|
1140
1334
|
loadErrorText,
|
|
1141
1335
|
loadingText
|
|
1142
1336
|
}) {
|
|
1143
|
-
const containerRef = (0,
|
|
1144
|
-
const [status, setStatus] = (0,
|
|
1145
|
-
const onSelectRef = (0,
|
|
1146
|
-
(0,
|
|
1337
|
+
const containerRef = (0, import_react22.useRef)(null);
|
|
1338
|
+
const [status, setStatus] = (0, import_react22.useState)("loading");
|
|
1339
|
+
const onSelectRef = (0, import_react22.useRef)(onSelect);
|
|
1340
|
+
(0, import_react22.useEffect)(() => {
|
|
1147
1341
|
onSelectRef.current = onSelect;
|
|
1148
1342
|
});
|
|
1149
|
-
(0,
|
|
1150
|
-
const
|
|
1151
|
-
if (!
|
|
1343
|
+
(0, import_react22.useEffect)(() => {
|
|
1344
|
+
const container3 = containerRef.current;
|
|
1345
|
+
if (!container3) return;
|
|
1152
1346
|
let cleanup;
|
|
1153
1347
|
let cancelled = false;
|
|
1154
|
-
Promise.resolve().then(() => provider(
|
|
1348
|
+
Promise.resolve().then(() => provider(container3, (result) => onSelectRef.current(result))).then((fn) => {
|
|
1155
1349
|
if (cancelled) fn?.();
|
|
1156
1350
|
else {
|
|
1157
1351
|
cleanup = fn;
|
|
@@ -1163,12 +1357,12 @@ function SearchArea({
|
|
|
1163
1357
|
cleanup?.();
|
|
1164
1358
|
};
|
|
1165
1359
|
}, [provider]);
|
|
1166
|
-
return /* @__PURE__ */ (0,
|
|
1167
|
-
/* @__PURE__ */ (0,
|
|
1168
|
-
status !== "ready" && /* @__PURE__ */ (0,
|
|
1360
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: searchArea, children: [
|
|
1361
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { ref: containerRef, style: { width: "100%", height: "100%" } }),
|
|
1362
|
+
status !== "ready" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: searchStatus, role: "status", children: status === "loading" ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Spinner, { label: loadingText }) : loadErrorText })
|
|
1169
1363
|
] });
|
|
1170
1364
|
}
|
|
1171
|
-
var AddressInput = /* @__PURE__ */ (0,
|
|
1365
|
+
var AddressInput = /* @__PURE__ */ (0, import_react22.forwardRef)(
|
|
1172
1366
|
function AddressInput2(props, ref) {
|
|
1173
1367
|
const {
|
|
1174
1368
|
value: value4,
|
|
@@ -1191,13 +1385,13 @@ var AddressInput = /* @__PURE__ */ (0, import_react18.forwardRef)(
|
|
|
1191
1385
|
const searchLabel = searchLabelProp ?? m.addressSearch ?? "\uC8FC\uC18C \uAC80\uC0C9";
|
|
1192
1386
|
const detailPlaceholder = detailPlaceholderProp ?? m.detailAddressPlaceholder ?? "\uC0C1\uC138 \uC8FC\uC18C (\uB3D9\xB7\uD638\uC218 \uB4F1)";
|
|
1193
1387
|
const loadErrorText = loadErrorTextProp ?? m.addressLoadError ?? "\uC8FC\uC18C \uAC80\uC0C9\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC5B4\uC694. \uC7A0\uC2DC \uB4A4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694.";
|
|
1194
|
-
const baseId = (0,
|
|
1388
|
+
const baseId = (0, import_react22.useId)();
|
|
1195
1389
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
1196
|
-
const detailRef = (0,
|
|
1197
|
-
const selectedRef = (0,
|
|
1198
|
-
const [open, setOpen] = (0,
|
|
1390
|
+
const detailRef = (0, import_react22.useRef)(null);
|
|
1391
|
+
const selectedRef = (0, import_react22.useRef)(false);
|
|
1392
|
+
const [open, setOpen] = (0, import_react22.useState)(false);
|
|
1199
1393
|
const isControlled = "value" in props;
|
|
1200
|
-
const [innerValue, setInnerValue] = (0,
|
|
1394
|
+
const [innerValue, setInnerValue] = (0, import_react22.useState)(defaultValue ?? EMPTY);
|
|
1201
1395
|
const current2 = isControlled ? value4 ?? EMPTY : innerValue;
|
|
1202
1396
|
const update = (next) => {
|
|
1203
1397
|
if (!isControlled) setInnerValue(next);
|
|
@@ -1219,13 +1413,13 @@ var AddressInput = /* @__PURE__ */ (0, import_react18.forwardRef)(
|
|
|
1219
1413
|
setOpen(false);
|
|
1220
1414
|
};
|
|
1221
1415
|
const fullAddress = `${current2.address}${current2.extraAddress ?? ""}`;
|
|
1222
|
-
return /* @__PURE__ */ (0,
|
|
1223
|
-
/* @__PURE__ */ (0,
|
|
1416
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("fieldset", { ref, className: cx(fieldset, className), disabled, "aria-describedby": helperId, children: [
|
|
1417
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("legend", { className: legend, children: [
|
|
1224
1418
|
label7,
|
|
1225
|
-
required && /* @__PURE__ */ (0,
|
|
1419
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
1226
1420
|
] }),
|
|
1227
|
-
/* @__PURE__ */ (0,
|
|
1228
|
-
/* @__PURE__ */ (0,
|
|
1421
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: row, children: [
|
|
1422
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1229
1423
|
TextField,
|
|
1230
1424
|
{
|
|
1231
1425
|
"aria-label": m.postalCode ?? "\uC6B0\uD3B8\uBC88\uD638",
|
|
@@ -1238,9 +1432,9 @@ var AddressInput = /* @__PURE__ */ (0, import_react18.forwardRef)(
|
|
|
1238
1432
|
onClick: openSearch
|
|
1239
1433
|
}
|
|
1240
1434
|
),
|
|
1241
|
-
/* @__PURE__ */ (0,
|
|
1435
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { variant: "outline", color: "neutral", onClick: openSearch, disabled, children: searchLabel })
|
|
1242
1436
|
] }),
|
|
1243
|
-
/* @__PURE__ */ (0,
|
|
1437
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1244
1438
|
TextField,
|
|
1245
1439
|
{
|
|
1246
1440
|
"aria-label": m.baseAddress ?? "\uAE30\uBCF8 \uC8FC\uC18C",
|
|
@@ -1253,7 +1447,7 @@ var AddressInput = /* @__PURE__ */ (0, import_react18.forwardRef)(
|
|
|
1253
1447
|
onClick: openSearch
|
|
1254
1448
|
}
|
|
1255
1449
|
),
|
|
1256
|
-
/* @__PURE__ */ (0,
|
|
1450
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1257
1451
|
TextField,
|
|
1258
1452
|
{
|
|
1259
1453
|
ref: detailRef,
|
|
@@ -1265,13 +1459,13 @@ var AddressInput = /* @__PURE__ */ (0, import_react18.forwardRef)(
|
|
|
1265
1459
|
fullWidth: true
|
|
1266
1460
|
}
|
|
1267
1461
|
),
|
|
1268
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
1269
|
-
name && /* @__PURE__ */ (0,
|
|
1270
|
-
/* @__PURE__ */ (0,
|
|
1271
|
-
/* @__PURE__ */ (0,
|
|
1272
|
-
/* @__PURE__ */ (0,
|
|
1462
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
|
|
1463
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
1464
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("input", { type: "hidden", name: `${name}[zonecode]`, value: current2.zonecode }),
|
|
1465
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("input", { type: "hidden", name: `${name}[address]`, value: fullAddress }),
|
|
1466
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("input", { type: "hidden", name: `${name}[detail]`, value: current2.detail })
|
|
1273
1467
|
] }),
|
|
1274
|
-
/* @__PURE__ */ (0,
|
|
1468
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1275
1469
|
Modal,
|
|
1276
1470
|
{
|
|
1277
1471
|
open,
|
|
@@ -1284,7 +1478,7 @@ var AddressInput = /* @__PURE__ */ (0, import_react18.forwardRef)(
|
|
|
1284
1478
|
detailRef.current?.focus();
|
|
1285
1479
|
}
|
|
1286
1480
|
},
|
|
1287
|
-
children: /* @__PURE__ */ (0,
|
|
1481
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1288
1482
|
SearchArea,
|
|
1289
1483
|
{
|
|
1290
1484
|
provider,
|
|
@@ -1300,11 +1494,11 @@ var AddressInput = /* @__PURE__ */ (0, import_react18.forwardRef)(
|
|
|
1300
1494
|
);
|
|
1301
1495
|
|
|
1302
1496
|
// src/components/AgreementGroup/AgreementGroup.tsx
|
|
1303
|
-
var
|
|
1497
|
+
var import_react24 = require("react");
|
|
1304
1498
|
var import_icons4 = require("@bestow-ui/icons");
|
|
1305
1499
|
|
|
1306
1500
|
// src/components/Checkbox/Checkbox.tsx
|
|
1307
|
-
var
|
|
1501
|
+
var import_react23 = require("react");
|
|
1308
1502
|
|
|
1309
1503
|
// src/utils/mergeRefs.ts
|
|
1310
1504
|
function mergeRefs(...refs) {
|
|
@@ -1317,23 +1511,23 @@ function mergeRefs(...refs) {
|
|
|
1317
1511
|
}
|
|
1318
1512
|
|
|
1319
1513
|
// src/components/Checkbox/Checkbox.css.ts
|
|
1320
|
-
var
|
|
1514
|
+
var import_createRuntimeFn14 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1321
1515
|
var checkIcon = "_1y7mzsn8 _1y7mzsn7";
|
|
1322
|
-
var control = /* @__PURE__ */ (0,
|
|
1516
|
+
var control = /* @__PURE__ */ (0, import_createRuntimeFn14.createRuntimeFn)({ defaultClassName: "_1y7mzsn3", variantClassNames: { size: { sm: "_1y7mzsn4", md: "_1y7mzsn5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1323
1517
|
var indeterminateIcon = "_1y7mzsn9 _1y7mzsn7";
|
|
1324
1518
|
var input2 = "_1y7mzsn6";
|
|
1325
|
-
var root6 = /* @__PURE__ */ (0,
|
|
1519
|
+
var root6 = /* @__PURE__ */ (0, import_createRuntimeFn14.createRuntimeFn)({ defaultClassName: "_1y7mzsn0", variantClassNames: { size: { sm: "_1y7mzsn1", md: "_1y7mzsn2" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1326
1520
|
|
|
1327
1521
|
// src/components/Checkbox/Checkbox.tsx
|
|
1328
|
-
var
|
|
1329
|
-
var Checkbox = /* @__PURE__ */ (0,
|
|
1330
|
-
const innerRef = (0,
|
|
1331
|
-
(0,
|
|
1522
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1523
|
+
var Checkbox = /* @__PURE__ */ (0, import_react23.forwardRef)(function Checkbox2({ label: label7, size, indeterminate = false, invalid, disabled, onChange, onCheckedChange, className, ...rest }, ref) {
|
|
1524
|
+
const innerRef = (0, import_react23.useRef)(null);
|
|
1525
|
+
(0, import_react23.useEffect)(() => {
|
|
1332
1526
|
if (innerRef.current) innerRef.current.indeterminate = indeterminate;
|
|
1333
1527
|
}, [indeterminate]);
|
|
1334
|
-
return /* @__PURE__ */ (0,
|
|
1335
|
-
/* @__PURE__ */ (0,
|
|
1336
|
-
/* @__PURE__ */ (0,
|
|
1528
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("label", { className: cx(root6({ size }), className), "data-disabled": disabled || void 0, children: [
|
|
1529
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { className: control({ size }), children: [
|
|
1530
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1337
1531
|
"input",
|
|
1338
1532
|
{
|
|
1339
1533
|
ref: mergeRefs(innerRef, ref),
|
|
@@ -1348,7 +1542,7 @@ var Checkbox = /* @__PURE__ */ (0, import_react19.forwardRef)(function Checkbox2
|
|
|
1348
1542
|
...rest
|
|
1349
1543
|
}
|
|
1350
1544
|
),
|
|
1351
|
-
/* @__PURE__ */ (0,
|
|
1545
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("svg", { className: checkIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1352
1546
|
"path",
|
|
1353
1547
|
{
|
|
1354
1548
|
d: "M5 10.5l3.2 3L15 7",
|
|
@@ -1358,7 +1552,7 @@ var Checkbox = /* @__PURE__ */ (0, import_react19.forwardRef)(function Checkbox2
|
|
|
1358
1552
|
strokeLinejoin: "round"
|
|
1359
1553
|
}
|
|
1360
1554
|
) }),
|
|
1361
|
-
/* @__PURE__ */ (0,
|
|
1555
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("svg", { className: indeterminateIcon, viewBox: "0 0 20 20", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("path", { d: "M6 10h8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }) })
|
|
1362
1556
|
] }),
|
|
1363
1557
|
label7
|
|
1364
1558
|
] });
|
|
@@ -1378,11 +1572,11 @@ var tag = "j3uxdc7";
|
|
|
1378
1572
|
var toggle = "j3uxdc8";
|
|
1379
1573
|
|
|
1380
1574
|
// src/components/AgreementGroup/AgreementGroup.tsx
|
|
1381
|
-
var
|
|
1382
|
-
var AgreementGroup = /* @__PURE__ */ (0,
|
|
1575
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1576
|
+
var AgreementGroup = /* @__PURE__ */ (0, import_react24.forwardRef)(
|
|
1383
1577
|
function AgreementGroup2(props, ref) {
|
|
1384
1578
|
const {
|
|
1385
|
-
items:
|
|
1579
|
+
items: items3,
|
|
1386
1580
|
value: value4,
|
|
1387
1581
|
defaultValue,
|
|
1388
1582
|
onValueChange,
|
|
@@ -1405,21 +1599,21 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react20.forwardRef)(
|
|
|
1405
1599
|
const optionalText = optionalTextProp ?? m.optional ?? "\uC120\uD0DD";
|
|
1406
1600
|
const showText = showTextProp ?? m.show ?? "\uBCF4\uAE30";
|
|
1407
1601
|
const hideText = hideTextProp ?? m.hide ?? "\uC811\uAE30";
|
|
1408
|
-
const baseId = (0,
|
|
1602
|
+
const baseId = (0, import_react24.useId)();
|
|
1409
1603
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
1410
1604
|
const isControlled = "value" in props;
|
|
1411
|
-
const [innerValue, setInnerValue] = (0,
|
|
1605
|
+
const [innerValue, setInnerValue] = (0, import_react24.useState)(defaultValue ?? []);
|
|
1412
1606
|
const agreed = isControlled ? value4 ?? [] : innerValue;
|
|
1413
|
-
const [expanded, setExpanded] = (0,
|
|
1607
|
+
const [expanded, setExpanded] = (0, import_react24.useState)([]);
|
|
1414
1608
|
const update = (next) => {
|
|
1415
1609
|
if (!isControlled) setInnerValue(next);
|
|
1416
1610
|
onValueChange?.(next);
|
|
1417
1611
|
};
|
|
1418
|
-
const allValues =
|
|
1612
|
+
const allValues = items3.map((item10) => item10.value);
|
|
1419
1613
|
const agreedCount = allValues.filter((v) => agreed.includes(v)).length;
|
|
1420
|
-
const allChecked =
|
|
1614
|
+
const allChecked = items3.length > 0 && agreedCount === items3.length;
|
|
1421
1615
|
const toggleItem = (itemValue, checked) => update(checked ? [...agreed.filter((v) => v !== itemValue), itemValue] : agreed.filter((v) => v !== itemValue));
|
|
1422
|
-
return /* @__PURE__ */ (0,
|
|
1616
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
1423
1617
|
"fieldset",
|
|
1424
1618
|
{
|
|
1425
1619
|
ref,
|
|
@@ -1429,9 +1623,9 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react20.forwardRef)(
|
|
|
1429
1623
|
"aria-describedby": helperId,
|
|
1430
1624
|
"data-invalid": error || void 0,
|
|
1431
1625
|
children: [
|
|
1432
|
-
label7 && /* @__PURE__ */ (0,
|
|
1433
|
-
/* @__PURE__ */ (0,
|
|
1434
|
-
/* @__PURE__ */ (0,
|
|
1626
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("legend", { className: legend2, children: label7 }),
|
|
1627
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: box, children: [
|
|
1628
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: all, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1435
1629
|
Checkbox,
|
|
1436
1630
|
{
|
|
1437
1631
|
label: allLabel,
|
|
@@ -1440,28 +1634,28 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react20.forwardRef)(
|
|
|
1440
1634
|
onChange: (event) => update(event.target.checked ? allValues : [])
|
|
1441
1635
|
}
|
|
1442
1636
|
) }),
|
|
1443
|
-
/* @__PURE__ */ (0,
|
|
1637
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("ul", { className: list, children: items3.map((item10) => {
|
|
1444
1638
|
const labelId = `${baseId}-${item10.value}-label`;
|
|
1445
1639
|
const toggleTextId = `${baseId}-${item10.value}-toggle`;
|
|
1446
1640
|
const contentId = `${baseId}-${item10.value}-content`;
|
|
1447
1641
|
const isOpen = expanded.includes(item10.value);
|
|
1448
|
-
return /* @__PURE__ */ (0,
|
|
1449
|
-
/* @__PURE__ */ (0,
|
|
1450
|
-
/* @__PURE__ */ (0,
|
|
1642
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("li", { className: item3, children: [
|
|
1643
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: row2, children: [
|
|
1644
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1451
1645
|
Checkbox,
|
|
1452
1646
|
{
|
|
1453
1647
|
size: "sm",
|
|
1454
1648
|
checked: agreed.includes(item10.value),
|
|
1455
1649
|
invalid: error && item10.required && !agreed.includes(item10.value),
|
|
1456
1650
|
onChange: (event) => toggleItem(item10.value, event.target.checked),
|
|
1457
|
-
label: /* @__PURE__ */ (0,
|
|
1458
|
-
/* @__PURE__ */ (0,
|
|
1651
|
+
label: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("span", { id: labelId, children: [
|
|
1652
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: tag, "data-required": item10.required || void 0, children: item10.required ? requiredText : optionalText }),
|
|
1459
1653
|
" ",
|
|
1460
1654
|
item10.label
|
|
1461
1655
|
] })
|
|
1462
1656
|
}
|
|
1463
1657
|
),
|
|
1464
|
-
item10.content && /* @__PURE__ */ (0,
|
|
1658
|
+
item10.content && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
1465
1659
|
"button",
|
|
1466
1660
|
{
|
|
1467
1661
|
type: "button",
|
|
@@ -1471,20 +1665,20 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react20.forwardRef)(
|
|
|
1471
1665
|
"aria-labelledby": `${labelId} ${toggleTextId}`,
|
|
1472
1666
|
onClick: () => setExpanded((prev) => isOpen ? prev.filter((v) => v !== item10.value) : [...prev, item10.value]),
|
|
1473
1667
|
children: [
|
|
1474
|
-
/* @__PURE__ */ (0,
|
|
1475
|
-
/* @__PURE__ */ (0,
|
|
1668
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { id: toggleTextId, children: isOpen ? hideText : showText }),
|
|
1669
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_icons4.ChevronDownIcon, { size: 14, className: chevron2 })
|
|
1476
1670
|
]
|
|
1477
1671
|
}
|
|
1478
1672
|
)
|
|
1479
1673
|
] }),
|
|
1480
1674
|
item10.content && isOpen && // 내용이 길면 스크롤된다 — 키보드로도 스크롤할 수 있게 포커스를 받는 이름 있는 영역으로 둔다
|
|
1481
1675
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
|
|
1482
|
-
/* @__PURE__ */ (0,
|
|
1676
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { id: contentId, role: "region", "aria-labelledby": labelId, tabIndex: 0, className: content3, children: item10.content })
|
|
1483
1677
|
] }, item10.value);
|
|
1484
1678
|
}) })
|
|
1485
1679
|
] }),
|
|
1486
|
-
name && agreed.map((v) => /* @__PURE__ */ (0,
|
|
1487
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
1680
|
+
name && agreed.map((v) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("input", { type: "hidden", name, value: v }, v)),
|
|
1681
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
1488
1682
|
]
|
|
1489
1683
|
}
|
|
1490
1684
|
);
|
|
@@ -1492,29 +1686,30 @@ var AgreementGroup = /* @__PURE__ */ (0, import_react20.forwardRef)(
|
|
|
1492
1686
|
);
|
|
1493
1687
|
|
|
1494
1688
|
// src/components/Alert/Alert.tsx
|
|
1495
|
-
var
|
|
1689
|
+
var import_react25 = require("react");
|
|
1496
1690
|
var import_icons5 = require("@bestow-ui/icons");
|
|
1497
1691
|
|
|
1498
1692
|
// src/components/Alert/Alert.css.ts
|
|
1499
|
-
var
|
|
1500
|
-
var action = "
|
|
1501
|
-
var alert = /* @__PURE__ */ (0,
|
|
1502
|
-
var closeButton2 = "
|
|
1503
|
-
var content4 = "
|
|
1504
|
-
var description3 = "
|
|
1505
|
-
var icon3 = "
|
|
1506
|
-
var title2 = "
|
|
1693
|
+
var import_createRuntimeFn15 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1694
|
+
var action = "bsmpc0k";
|
|
1695
|
+
var alert = /* @__PURE__ */ (0, import_createRuntimeFn15.createRuntimeFn)({ defaultClassName: "bsmpc06", variantClassNames: { variant: { soft: "bsmpc07", outline: "bsmpc08", solid: "bsmpc09" }, color: { primary: "bsmpc0a", neutral: "bsmpc0b", danger: "bsmpc0c", success: "bsmpc0d", warning: "bsmpc0e", info: "bsmpc0f" } }, defaultVariants: { variant: "soft", color: "primary" }, compoundVariants: [] });
|
|
1696
|
+
var closeButton2 = "bsmpc0l";
|
|
1697
|
+
var content4 = "bsmpc0h";
|
|
1698
|
+
var description3 = "bsmpc0j";
|
|
1699
|
+
var icon3 = "bsmpc0g";
|
|
1700
|
+
var title2 = "bsmpc0i";
|
|
1507
1701
|
|
|
1508
1702
|
// src/components/Alert/Alert.tsx
|
|
1509
|
-
var
|
|
1703
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1510
1704
|
var defaultIcons = {
|
|
1511
1705
|
primary: import_icons5.InfoIcon,
|
|
1512
1706
|
neutral: import_icons5.InfoIcon,
|
|
1513
1707
|
success: import_icons5.CircleCheckIcon,
|
|
1514
1708
|
warning: import_icons5.TriangleAlertIcon,
|
|
1515
|
-
danger: import_icons5.CircleAlertIcon
|
|
1709
|
+
danger: import_icons5.CircleAlertIcon,
|
|
1710
|
+
info: import_icons5.InfoIcon
|
|
1516
1711
|
};
|
|
1517
|
-
var Alert = /* @__PURE__ */ (0,
|
|
1712
|
+
var Alert = /* @__PURE__ */ (0, import_react25.forwardRef)(function Alert2({
|
|
1518
1713
|
variant,
|
|
1519
1714
|
color = "primary",
|
|
1520
1715
|
title: title6,
|
|
@@ -1529,28 +1724,28 @@ var Alert = /* @__PURE__ */ (0, import_react21.forwardRef)(function Alert2({
|
|
|
1529
1724
|
const m = useMessages();
|
|
1530
1725
|
const closeLabel = closeLabelProp ?? m.close ?? "\uB2EB\uAE30";
|
|
1531
1726
|
const DefaultIcon = defaultIcons[color];
|
|
1532
|
-
const iconNode = icon8 === void 0 ? /* @__PURE__ */ (0,
|
|
1533
|
-
return /* @__PURE__ */ (0,
|
|
1534
|
-
iconNode !== false && iconNode !== null && /* @__PURE__ */ (0,
|
|
1535
|
-
/* @__PURE__ */ (0,
|
|
1536
|
-
title6 && /* @__PURE__ */ (0,
|
|
1537
|
-
children && /* @__PURE__ */ (0,
|
|
1727
|
+
const iconNode = icon8 === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DefaultIcon, { size: 18 }) : icon8;
|
|
1728
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { ref, className: cx(alert({ variant, color }), className), ...rest, children: [
|
|
1729
|
+
iconNode !== false && iconNode !== null && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: icon3, "aria-hidden": true, children: iconNode }),
|
|
1730
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: content4, children: [
|
|
1731
|
+
title6 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: title2, children: title6 }),
|
|
1732
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: description3, children })
|
|
1538
1733
|
] }),
|
|
1539
|
-
action3 && /* @__PURE__ */ (0,
|
|
1540
|
-
onClose && /* @__PURE__ */ (0,
|
|
1734
|
+
action3 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: action, children: action3 }),
|
|
1735
|
+
onClose && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("button", { type: "button", className: closeButton2, "aria-label": closeLabel, onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_icons5.XIcon, { size: 16 }) })
|
|
1541
1736
|
] });
|
|
1542
1737
|
});
|
|
1543
1738
|
|
|
1544
1739
|
// src/components/AmountInput/AmountInput.tsx
|
|
1545
|
-
var
|
|
1546
|
-
var
|
|
1740
|
+
var import_react28 = require("react");
|
|
1741
|
+
var import_korean_utils4 = require("@bestow-ui/korean-utils");
|
|
1547
1742
|
|
|
1548
1743
|
// src/utils/useFormattedInput.ts
|
|
1549
|
-
var
|
|
1744
|
+
var import_react27 = require("react");
|
|
1550
1745
|
|
|
1551
1746
|
// src/utils/useIsomorphicLayoutEffect.ts
|
|
1552
|
-
var
|
|
1553
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ?
|
|
1747
|
+
var import_react26 = require("react");
|
|
1748
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react26.useLayoutEffect : import_react26.useEffect;
|
|
1554
1749
|
|
|
1555
1750
|
// src/utils/useFormattedInput.ts
|
|
1556
1751
|
function caretAfter(display, count2, isMeaningful2) {
|
|
@@ -1572,10 +1767,10 @@ function useFormattedInput({
|
|
|
1572
1767
|
isMeaningful: isMeaningful2,
|
|
1573
1768
|
inputRef
|
|
1574
1769
|
}) {
|
|
1575
|
-
const [innerValue, setInnerValue] = (0,
|
|
1770
|
+
const [innerValue, setInnerValue] = (0, import_react27.useState)(() => sanitize4(defaultValue ?? ""));
|
|
1576
1771
|
const raw = isControlled ? sanitize4(value4 ?? "") : innerValue;
|
|
1577
1772
|
const display = format2(raw);
|
|
1578
|
-
const pendingCaret = (0,
|
|
1773
|
+
const pendingCaret = (0, import_react27.useRef)(null);
|
|
1579
1774
|
useIsomorphicLayoutEffect(() => {
|
|
1580
1775
|
const input6 = inputRef.current;
|
|
1581
1776
|
if (pendingCaret.current === null || !input6 || document.activeElement !== input6) return;
|
|
@@ -1619,10 +1814,10 @@ function useFormattedInput({
|
|
|
1619
1814
|
var input3 = "_70qkav0";
|
|
1620
1815
|
|
|
1621
1816
|
// src/components/AmountInput/AmountInput.tsx
|
|
1622
|
-
var
|
|
1817
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1623
1818
|
var MAX_DIGITS = 15;
|
|
1624
1819
|
var isDigit = (char) => /\d/.test(char);
|
|
1625
|
-
var AmountInput = /* @__PURE__ */ (0,
|
|
1820
|
+
var AmountInput = /* @__PURE__ */ (0, import_react28.forwardRef)(
|
|
1626
1821
|
function AmountInput2(props, ref) {
|
|
1627
1822
|
const {
|
|
1628
1823
|
value: value4,
|
|
@@ -1638,7 +1833,7 @@ var AmountInput = /* @__PURE__ */ (0, import_react24.forwardRef)(
|
|
|
1638
1833
|
className,
|
|
1639
1834
|
...rest
|
|
1640
1835
|
} = props;
|
|
1641
|
-
const inputRef = (0,
|
|
1836
|
+
const inputRef = (0, import_react28.useRef)(null);
|
|
1642
1837
|
const m = useMessages();
|
|
1643
1838
|
const unit2 = unitProp ?? m.currencyUnit ?? "\uC6D0";
|
|
1644
1839
|
const label7 = labelProp ?? m.amount ?? "\uAE08\uC561";
|
|
@@ -1658,8 +1853,8 @@ var AmountInput = /* @__PURE__ */ (0, import_react24.forwardRef)(
|
|
|
1658
1853
|
isMeaningful: isDigit,
|
|
1659
1854
|
inputRef
|
|
1660
1855
|
});
|
|
1661
|
-
const reading = showKoreanAmount && field4.raw !== "" ? (0,
|
|
1662
|
-
return /* @__PURE__ */ (0,
|
|
1856
|
+
const reading = showKoreanAmount && field4.raw !== "" ? (0, import_korean_utils4.formatKoreanAmount)(Number(field4.raw), unit2) : null;
|
|
1857
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1663
1858
|
TextField,
|
|
1664
1859
|
{
|
|
1665
1860
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -1673,9 +1868,9 @@ var AmountInput = /* @__PURE__ */ (0, import_react24.forwardRef)(
|
|
|
1673
1868
|
onKeyDown?.(event);
|
|
1674
1869
|
},
|
|
1675
1870
|
endAdornment: unit2,
|
|
1676
|
-
helperText: reading && helperText3 ? /* @__PURE__ */ (0,
|
|
1871
|
+
helperText: reading && helperText3 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [
|
|
1677
1872
|
reading,
|
|
1678
|
-
/* @__PURE__ */ (0,
|
|
1873
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("br", {}),
|
|
1679
1874
|
helperText3
|
|
1680
1875
|
] }) : reading ?? helperText3,
|
|
1681
1876
|
className: cx(input3, className),
|
|
@@ -1688,51 +1883,51 @@ var AmountInput = /* @__PURE__ */ (0, import_react24.forwardRef)(
|
|
|
1688
1883
|
// src/components/Avatar/Avatar.tsx
|
|
1689
1884
|
var RadixAvatar = __toESM(require("@radix-ui/react-avatar"), 1);
|
|
1690
1885
|
var import_icons6 = require("@bestow-ui/icons");
|
|
1691
|
-
var
|
|
1886
|
+
var import_react29 = require("react");
|
|
1692
1887
|
|
|
1693
1888
|
// src/components/Avatar/Avatar.css.ts
|
|
1694
|
-
var
|
|
1889
|
+
var import_createRuntimeFn16 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1695
1890
|
var fallback = "_1fd2kp27";
|
|
1696
1891
|
var image = "_1fd2kp26";
|
|
1697
|
-
var root7 = /* @__PURE__ */ (0,
|
|
1892
|
+
var root7 = /* @__PURE__ */ (0, import_createRuntimeFn16.createRuntimeFn)({ defaultClassName: "_1fd2kp20", variantClassNames: { size: { sm: "_1fd2kp21", md: "_1fd2kp22", lg: "_1fd2kp23" }, shape: { circle: "_1fd2kp24", square: "_1fd2kp25" } }, defaultVariants: { size: "md", shape: "circle" }, compoundVariants: [] });
|
|
1698
1893
|
|
|
1699
1894
|
// src/components/Avatar/Avatar.tsx
|
|
1700
|
-
var
|
|
1895
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1701
1896
|
function getInitials(name) {
|
|
1702
1897
|
const [a = "", b = ""] = name.trim().split(/\s+/);
|
|
1703
1898
|
const first = (word) => Array.from(word)[0] ?? "";
|
|
1704
1899
|
return (first(a) + first(b)).toUpperCase();
|
|
1705
1900
|
}
|
|
1706
|
-
var Avatar = /* @__PURE__ */ (0,
|
|
1901
|
+
var Avatar = /* @__PURE__ */ (0, import_react29.forwardRef)(function Avatar2({ src, alt, name, fallback: fallback2, size, shape, className, ...rest }, ref) {
|
|
1707
1902
|
const label7 = alt ?? name;
|
|
1708
1903
|
const a11y = label7 ? { role: "img", "aria-label": label7 } : { "aria-hidden": true };
|
|
1709
1904
|
const initials = name ? getInitials(name) : "";
|
|
1710
|
-
return /* @__PURE__ */ (0,
|
|
1711
|
-
src && /* @__PURE__ */ (0,
|
|
1712
|
-
/* @__PURE__ */ (0,
|
|
1905
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(RadixAvatar.Root, { ref, className: cx(root7({ size, shape }), className), ...a11y, ...rest, children: [
|
|
1906
|
+
src && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadixAvatar.Image, { src, alt: "", className: image }),
|
|
1907
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadixAvatar.Fallback, { className: fallback, children: fallback2 ?? (initials || /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_icons6.UserIcon, { size: "60%" })) })
|
|
1713
1908
|
] });
|
|
1714
1909
|
});
|
|
1715
1910
|
|
|
1716
1911
|
// src/components/Breadcrumb/Breadcrumb.tsx
|
|
1717
|
-
var
|
|
1912
|
+
var import_react31 = require("react");
|
|
1718
1913
|
var import_icons8 = require("@bestow-ui/icons");
|
|
1719
1914
|
|
|
1720
1915
|
// src/components/Link/Link.tsx
|
|
1721
1916
|
var import_react_slot = require("@radix-ui/react-slot");
|
|
1722
|
-
var
|
|
1917
|
+
var import_react30 = require("react");
|
|
1723
1918
|
var import_icons7 = require("@bestow-ui/icons");
|
|
1724
1919
|
|
|
1725
1920
|
// src/components/Link/Link.css.ts
|
|
1726
|
-
var
|
|
1921
|
+
var import_createRuntimeFn17 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
1727
1922
|
var externalIcon = "_1t4hlp6";
|
|
1728
|
-
var link = /* @__PURE__ */ (0,
|
|
1923
|
+
var link = /* @__PURE__ */ (0, import_createRuntimeFn17.createRuntimeFn)({ defaultClassName: "_1t4hlp0", variantClassNames: { color: { primary: "_1t4hlp1", neutral: "_1t4hlp2", inherit: "_1t4hlp3" }, underline: { always: "_1t4hlp4", hover: "_1t4hlp5" } }, defaultVariants: { color: "primary", underline: "always" }, compoundVariants: [] });
|
|
1729
1924
|
|
|
1730
1925
|
// src/components/Link/Link.tsx
|
|
1731
|
-
var
|
|
1926
|
+
var import_jsx_runtime27 = (
|
|
1732
1927
|
// Slot 의 props 타입은 HTMLElement 기준이라 <a> 전용 속성(target·rel 등)은 그대로 넘기도록 단언한다
|
|
1733
1928
|
require("react/jsx-runtime")
|
|
1734
1929
|
);
|
|
1735
|
-
var Link = /* @__PURE__ */ (0,
|
|
1930
|
+
var Link = /* @__PURE__ */ (0, import_react30.forwardRef)(function Link2({
|
|
1736
1931
|
as: Component = "a",
|
|
1737
1932
|
asChild,
|
|
1738
1933
|
color,
|
|
@@ -1749,9 +1944,9 @@ var Link = /* @__PURE__ */ (0, import_react26.forwardRef)(function Link2({
|
|
|
1749
1944
|
const externalLabel = externalLabelProp ?? m.newWindow ?? "(\uC0C8 \uCC3D)";
|
|
1750
1945
|
const linkClassName = cx(link({ color, underline }), className);
|
|
1751
1946
|
if (asChild) {
|
|
1752
|
-
return /* @__PURE__ */ (0,
|
|
1947
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_slot.Slot, { ref, className: linkClassName, ...{ target, rel, ...rest }, children });
|
|
1753
1948
|
}
|
|
1754
|
-
return /* @__PURE__ */ (0,
|
|
1949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
1755
1950
|
Component,
|
|
1756
1951
|
{
|
|
1757
1952
|
ref,
|
|
@@ -1761,10 +1956,10 @@ var Link = /* @__PURE__ */ (0, import_react26.forwardRef)(function Link2({
|
|
|
1761
1956
|
...rest,
|
|
1762
1957
|
children: [
|
|
1763
1958
|
children,
|
|
1764
|
-
external && /* @__PURE__ */ (0,
|
|
1959
|
+
external && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
|
|
1765
1960
|
" ",
|
|
1766
|
-
/* @__PURE__ */ (0,
|
|
1767
|
-
/* @__PURE__ */ (0,
|
|
1961
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_icons7.ExternalLinkIcon, { className: externalIcon }),
|
|
1962
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: visuallyHidden, children: externalLabel })
|
|
1768
1963
|
] })
|
|
1769
1964
|
]
|
|
1770
1965
|
}
|
|
@@ -1779,30 +1974,30 @@ var list2 = "_18t8ztt0";
|
|
|
1779
1974
|
var separator = "_18t8ztt4";
|
|
1780
1975
|
|
|
1781
1976
|
// src/components/Breadcrumb/Breadcrumb.tsx
|
|
1782
|
-
var
|
|
1783
|
-
var Breadcrumb = /* @__PURE__ */ (0,
|
|
1977
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1978
|
+
var Breadcrumb = /* @__PURE__ */ (0, import_react31.forwardRef)(function Breadcrumb2({ items: items3, linkAs, separator: separator5, "aria-label": ariaLabelProp, className, ...rest }, ref) {
|
|
1784
1979
|
const m = useMessages();
|
|
1785
1980
|
const ariaLabel = ariaLabelProp ?? m.breadcrumb ?? "\uC774\uB3D9 \uACBD\uB85C";
|
|
1786
|
-
const sep =
|
|
1787
|
-
return /* @__PURE__ */ (0,
|
|
1788
|
-
const isCurrent = index ===
|
|
1789
|
-
return /* @__PURE__ */ (0,
|
|
1790
|
-
index > 0 && /* @__PURE__ */ (0,
|
|
1791
|
-
isCurrent || item10.href === void 0 ? /* @__PURE__ */ (0,
|
|
1981
|
+
const sep = separator5 ?? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_icons8.ChevronRightIcon, { size: 14 });
|
|
1982
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("ol", { className: list2, children: items3.map((item10, index) => {
|
|
1983
|
+
const isCurrent = index === items3.length - 1;
|
|
1984
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("li", { className: item4, children: [
|
|
1985
|
+
index > 0 && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: separator, "aria-hidden": true, children: sep }),
|
|
1986
|
+
isCurrent || item10.href === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: isCurrent ? current : void 0, "aria-current": isCurrent ? "page" : void 0, children: item10.label }) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Link, { as: linkAs, href: item10.href, color: "neutral", underline: "hover", className: link2, children: item10.label })
|
|
1792
1987
|
] }, index);
|
|
1793
1988
|
}) }) });
|
|
1794
1989
|
});
|
|
1795
1990
|
|
|
1796
1991
|
// src/components/BusinessNumberInput/BusinessNumberInput.tsx
|
|
1797
|
-
var
|
|
1798
|
-
var
|
|
1992
|
+
var import_react33 = require("react");
|
|
1993
|
+
var import_korean_utils5 = require("@bestow-ui/korean-utils");
|
|
1799
1994
|
|
|
1800
1995
|
// src/utils/useDelayedAnnouncement.ts
|
|
1801
|
-
var
|
|
1996
|
+
var import_react32 = require("react");
|
|
1802
1997
|
var ANNOUNCE_DELAY = 800;
|
|
1803
1998
|
function useDelayedAnnouncement(message, delay = ANNOUNCE_DELAY) {
|
|
1804
|
-
const [announced, setAnnounced] = (0,
|
|
1805
|
-
(0,
|
|
1999
|
+
const [announced, setAnnounced] = (0, import_react32.useState)("");
|
|
2000
|
+
(0, import_react32.useEffect)(() => {
|
|
1806
2001
|
const timer2 = setTimeout(() => setAnnounced(message), message ? delay : 0);
|
|
1807
2002
|
return () => clearTimeout(timer2);
|
|
1808
2003
|
}, [message, delay]);
|
|
@@ -1810,10 +2005,10 @@ function useDelayedAnnouncement(message, delay = ANNOUNCE_DELAY) {
|
|
|
1810
2005
|
}
|
|
1811
2006
|
|
|
1812
2007
|
// src/components/BusinessNumberInput/BusinessNumberInput.tsx
|
|
1813
|
-
var
|
|
2008
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1814
2009
|
var sanitize = (input6) => input6.replace(/\D/g, "").slice(0, 10);
|
|
1815
2010
|
var isDigit2 = (char) => /\d/.test(char);
|
|
1816
|
-
var BusinessNumberInput = /* @__PURE__ */ (0,
|
|
2011
|
+
var BusinessNumberInput = /* @__PURE__ */ (0, import_react33.forwardRef)(
|
|
1817
2012
|
function BusinessNumberInput2(props, ref) {
|
|
1818
2013
|
const {
|
|
1819
2014
|
value: value4,
|
|
@@ -1829,28 +2024,28 @@ var BusinessNumberInput = /* @__PURE__ */ (0, import_react29.forwardRef)(
|
|
|
1829
2024
|
onKeyDown,
|
|
1830
2025
|
...rest
|
|
1831
2026
|
} = props;
|
|
1832
|
-
const inputRef = (0,
|
|
2027
|
+
const inputRef = (0, import_react33.useRef)(null);
|
|
1833
2028
|
const m = useMessages();
|
|
1834
2029
|
const invalidText = invalidTextProp ?? m.businessNumberInvalid ?? "\uC62C\uBC14\uB978 \uC0AC\uC5C5\uC790\uB4F1\uB85D\uBC88\uD638\uAC00 \uC544\uB2C8\uC5D0\uC694. \uBC88\uD638\uB97C \uB2E4\uC2DC \uD655\uC778\uD574 \uC8FC\uC138\uC694.";
|
|
1835
2030
|
const label7 = labelProp ?? m.businessNumber ?? "\uC0AC\uC5C5\uC790\uB4F1\uB85D\uBC88\uD638";
|
|
1836
2031
|
const incompleteText = m.businessNumberIncomplete ?? "10\uC790\uB9AC\uB97C \uBAA8\uB450 \uC785\uB825\uD574 \uC8FC\uC138\uC694.";
|
|
1837
|
-
const [touched, setTouched] = (0,
|
|
2032
|
+
const [touched, setTouched] = (0, import_react33.useState)(false);
|
|
1838
2033
|
const field4 = useFormattedInput({
|
|
1839
2034
|
isControlled: "value" in props,
|
|
1840
2035
|
value: value4,
|
|
1841
2036
|
defaultValue,
|
|
1842
|
-
onValueChange: (digits) => onValueChange?.(digits, digits.length === 10 ? (0,
|
|
2037
|
+
onValueChange: (digits) => onValueChange?.(digits, digits.length === 10 ? (0, import_korean_utils5.isValidBusinessNumber)(digits) : null),
|
|
1843
2038
|
sanitize,
|
|
1844
|
-
format:
|
|
2039
|
+
format: import_korean_utils5.formatBusinessNumber,
|
|
1845
2040
|
isMeaningful: isDigit2,
|
|
1846
2041
|
inputRef
|
|
1847
2042
|
});
|
|
1848
2043
|
const complete = field4.raw.length === 10;
|
|
1849
|
-
const autoInvalid = validate && field4.raw.length > 0 && (complete ? !(0,
|
|
2044
|
+
const autoInvalid = validate && field4.raw.length > 0 && (complete ? !(0, import_korean_utils5.isValidBusinessNumber)(field4.raw) : touched);
|
|
1850
2045
|
const showAuto = autoInvalid && error === void 0;
|
|
1851
2046
|
const announcement = useDelayedAnnouncement(showAuto && complete ? invalidText : "");
|
|
1852
|
-
return /* @__PURE__ */ (0,
|
|
1853
|
-
/* @__PURE__ */ (0,
|
|
2047
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
|
2048
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1854
2049
|
TextField,
|
|
1855
2050
|
{
|
|
1856
2051
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -1872,22 +2067,22 @@ var BusinessNumberInput = /* @__PURE__ */ (0, import_react29.forwardRef)(
|
|
|
1872
2067
|
...rest
|
|
1873
2068
|
}
|
|
1874
2069
|
),
|
|
1875
|
-
/* @__PURE__ */ (0,
|
|
2070
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { role: "status", className: visuallyHidden, children: announcement })
|
|
1876
2071
|
] });
|
|
1877
2072
|
}
|
|
1878
2073
|
);
|
|
1879
2074
|
|
|
1880
2075
|
// src/components/Calendar/Calendar.tsx
|
|
1881
|
-
var
|
|
2076
|
+
var import_react36 = require("react");
|
|
1882
2077
|
var import_icons9 = require("@bestow-ui/icons");
|
|
1883
|
-
var
|
|
2078
|
+
var import_korean_utils6 = require("@bestow-ui/korean-utils");
|
|
1884
2079
|
|
|
1885
2080
|
// src/utils/useIsClient.ts
|
|
1886
|
-
var
|
|
2081
|
+
var import_react34 = require("react");
|
|
1887
2082
|
var subscribeNothing = () => () => {
|
|
1888
2083
|
};
|
|
1889
2084
|
function useIsClient() {
|
|
1890
|
-
return (0,
|
|
2085
|
+
return (0, import_react34.useSyncExternalStore)(
|
|
1891
2086
|
subscribeNothing,
|
|
1892
2087
|
() => true,
|
|
1893
2088
|
() => false
|
|
@@ -1895,16 +2090,16 @@ function useIsClient() {
|
|
|
1895
2090
|
}
|
|
1896
2091
|
|
|
1897
2092
|
// src/components/IconButton/IconButton.tsx
|
|
1898
|
-
var
|
|
2093
|
+
var import_react35 = require("react");
|
|
1899
2094
|
|
|
1900
2095
|
// src/components/IconButton/IconButton.css.ts
|
|
1901
|
-
var
|
|
1902
|
-
var iconButton = /* @__PURE__ */ (0,
|
|
2096
|
+
var import_createRuntimeFn18 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2097
|
+
var iconButton = /* @__PURE__ */ (0, import_createRuntimeFn18.createRuntimeFn)({ defaultClassName: "ip9et20", variantClassNames: { size: { sm: "ip9et21", md: "ip9et22", lg: "ip9et23" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
1903
2098
|
|
|
1904
2099
|
// src/components/IconButton/IconButton.tsx
|
|
1905
|
-
var
|
|
1906
|
-
var IconButton = /* @__PURE__ */ (0,
|
|
1907
|
-
return /* @__PURE__ */ (0,
|
|
2100
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2101
|
+
var IconButton = /* @__PURE__ */ (0, import_react35.forwardRef)(function IconButton2({ variant = "ghost", color = "neutral", size, loading: loading2, className, children, ...rest }, ref) {
|
|
2102
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
1908
2103
|
Button,
|
|
1909
2104
|
{
|
|
1910
2105
|
ref,
|
|
@@ -1922,15 +2117,15 @@ var IconButton = /* @__PURE__ */ (0, import_react31.forwardRef)(function IconBut
|
|
|
1922
2117
|
// src/components/Calendar/Calendar.css.ts
|
|
1923
2118
|
var cell = "_1qyq67b5";
|
|
1924
2119
|
var day = "_1qyq67b6";
|
|
1925
|
-
var
|
|
2120
|
+
var grid2 = "_1qyq67b3";
|
|
1926
2121
|
var header5 = "_1qyq67b1";
|
|
1927
2122
|
var heading = "_1qyq67b2";
|
|
1928
2123
|
var root8 = "_1qyq67b0";
|
|
1929
2124
|
var weekday = "_1qyq67b4";
|
|
1930
2125
|
|
|
1931
2126
|
// src/components/Calendar/Calendar.tsx
|
|
1932
|
-
var
|
|
1933
|
-
var Calendar = /* @__PURE__ */ (0,
|
|
2127
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2128
|
+
var Calendar = /* @__PURE__ */ (0, import_react36.forwardRef)(function Calendar2(props, ref) {
|
|
1934
2129
|
const {
|
|
1935
2130
|
value: value4,
|
|
1936
2131
|
defaultValue,
|
|
@@ -1948,12 +2143,12 @@ var Calendar = /* @__PURE__ */ (0, import_react32.forwardRef)(function Calendar2
|
|
|
1948
2143
|
const m = useMessages();
|
|
1949
2144
|
const prevMonthLabel = prevMonthLabelProp ?? m.previousMonth ?? "\uC774\uC804 \uB2EC";
|
|
1950
2145
|
const nextMonthLabel = nextMonthLabelProp ?? m.nextMonth ?? "\uB2E4\uC74C \uB2EC";
|
|
1951
|
-
const weekdaysShort = m.weekdaysShort ??
|
|
1952
|
-
const weekdaysLong = m.weekdaysLong ??
|
|
1953
|
-
const headingId = (0,
|
|
1954
|
-
const gridRef = (0,
|
|
2146
|
+
const weekdaysShort = m.weekdaysShort ?? import_korean_utils6.KOREAN_WEEKDAYS;
|
|
2147
|
+
const weekdaysLong = m.weekdaysLong ?? import_korean_utils6.KOREAN_WEEKDAYS.map((name) => `${name}\uC694\uC77C`);
|
|
2148
|
+
const headingId = (0, import_react36.useId)();
|
|
2149
|
+
const gridRef = (0, import_react36.useRef)(null);
|
|
1955
2150
|
const isControlled = "value" in props;
|
|
1956
|
-
const [innerValue, setInnerValue] = (0,
|
|
2151
|
+
const [innerValue, setInnerValue] = (0, import_react36.useState)(defaultValue ?? "");
|
|
1957
2152
|
const selected = parseISODate(isControlled ? value4 : innerValue);
|
|
1958
2153
|
const isClient = useIsClient();
|
|
1959
2154
|
const today = parseISODate(todayProp) ?? (isClient ? /* @__PURE__ */ new Date() : null);
|
|
@@ -1965,16 +2160,16 @@ var Calendar = /* @__PURE__ */ (0, import_react32.forwardRef)(function Calendar2
|
|
|
1965
2160
|
return date;
|
|
1966
2161
|
};
|
|
1967
2162
|
const isDisabled = (date) => minDate !== null && compareDays(date, minDate) < 0 || maxDate !== null && compareDays(date, maxDate) > 0 || !!isDateDisabled?.(date);
|
|
1968
|
-
const [focusedState, setFocused] = (0,
|
|
2163
|
+
const [focusedState, setFocused] = (0, import_react36.useState)(null);
|
|
1969
2164
|
const base = selected ?? today;
|
|
1970
2165
|
const focused = focusedState ?? (base ? clamp(base) : null);
|
|
1971
|
-
const moveFocus = (0,
|
|
2166
|
+
const moveFocus = (0, import_react36.useRef)(initialFocus ?? false);
|
|
1972
2167
|
const selectedIso = selected ? toISODate(selected) : "";
|
|
1973
|
-
(0,
|
|
2168
|
+
(0, import_react36.useEffect)(() => {
|
|
1974
2169
|
const date = parseISODate(selectedIso);
|
|
1975
2170
|
if (date) setFocused((prev) => isSameDay(prev, date) ? prev : date);
|
|
1976
2171
|
}, [selectedIso]);
|
|
1977
|
-
(0,
|
|
2172
|
+
(0, import_react36.useEffect)(() => {
|
|
1978
2173
|
if (!moveFocus.current || !focused) return;
|
|
1979
2174
|
moveFocus.current = false;
|
|
1980
2175
|
gridRef.current?.querySelector(`[data-date="${toISODate(focused)}"]`)?.focus();
|
|
@@ -2014,36 +2209,36 @@ var Calendar = /* @__PURE__ */ (0, import_react32.forwardRef)(function Calendar2
|
|
|
2014
2209
|
) : [];
|
|
2015
2210
|
const canPrev = !!visible && (!minDate || compareDays(new Date(visible.getFullYear(), visible.getMonth(), 0), minDate) >= 0);
|
|
2016
2211
|
const canNext = !!visible && (!maxDate || compareDays(new Date(visible.getFullYear(), visible.getMonth() + 1, 1), maxDate) <= 0);
|
|
2017
|
-
return /* @__PURE__ */ (0,
|
|
2018
|
-
/* @__PURE__ */ (0,
|
|
2019
|
-
/* @__PURE__ */ (0,
|
|
2212
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { ref, className: cx(root8, className), children: [
|
|
2213
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: header5, children: [
|
|
2214
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2020
2215
|
IconButton,
|
|
2021
2216
|
{
|
|
2022
2217
|
"aria-label": prevMonthLabel,
|
|
2023
2218
|
size: "sm",
|
|
2024
2219
|
disabled: !canPrev,
|
|
2025
2220
|
onClick: () => visible && setFocused(clamp(addMonths(visible, -1))),
|
|
2026
|
-
children: /* @__PURE__ */ (0,
|
|
2221
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_icons9.ChevronLeftIcon, {})
|
|
2027
2222
|
}
|
|
2028
2223
|
),
|
|
2029
|
-
/* @__PURE__ */ (0,
|
|
2030
|
-
/* @__PURE__ */ (0,
|
|
2224
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { id: headingId, className: heading, "aria-live": "polite", children: visible && (m.monthTitle?.(visible.getFullYear(), visible.getMonth() + 1) ?? `${visible.getFullYear()}\uB144 ${visible.getMonth() + 1}\uC6D4`) }),
|
|
2225
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2031
2226
|
IconButton,
|
|
2032
2227
|
{
|
|
2033
2228
|
"aria-label": nextMonthLabel,
|
|
2034
2229
|
size: "sm",
|
|
2035
2230
|
disabled: !canNext,
|
|
2036
2231
|
onClick: () => visible && setFocused(clamp(addMonths(visible, 1))),
|
|
2037
|
-
children: /* @__PURE__ */ (0,
|
|
2232
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_icons9.ChevronRightIcon, {})
|
|
2038
2233
|
}
|
|
2039
2234
|
)
|
|
2040
2235
|
] }),
|
|
2041
|
-
/* @__PURE__ */ (0,
|
|
2042
|
-
/* @__PURE__ */ (0,
|
|
2043
|
-
/* @__PURE__ */ (0,
|
|
2236
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("table", { ref: gridRef, role: "grid", "aria-labelledby": headingId, className: grid2, onKeyDown: handleKeyDown, children: [
|
|
2237
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("tr", { children: weekdaysShort.map((name, index) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("th", { scope: "col", abbr: weekdaysLong[index], className: weekday, "data-weekday": index, children: name }, index)) }) }),
|
|
2238
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("tbody", { children: weeks.map((week) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("tr", { children: week.map((date) => {
|
|
2044
2239
|
const iso = toISODate(date);
|
|
2045
2240
|
if (!visible || !isSameMonth(date, visible))
|
|
2046
|
-
return /* @__PURE__ */ (0,
|
|
2241
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("td", { role: "gridcell", className: cell }, iso);
|
|
2047
2242
|
const isSelected = isSameDay(date, selected);
|
|
2048
2243
|
const isToday = isSameDay(date, today);
|
|
2049
2244
|
const holiday = !!isHoliday?.(date);
|
|
@@ -2053,7 +2248,7 @@ var Calendar = /* @__PURE__ */ (0, import_react32.forwardRef)(function Calendar2
|
|
|
2053
2248
|
holiday && (m.holiday ?? "\uACF5\uD734\uC77C"),
|
|
2054
2249
|
isToday && (m.today ?? "\uC624\uB298")
|
|
2055
2250
|
].filter(Boolean).join(", ");
|
|
2056
|
-
return /* @__PURE__ */ (0,
|
|
2251
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("td", { role: "gridcell", "aria-selected": isSelected, className: cell, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2057
2252
|
"button",
|
|
2058
2253
|
{
|
|
2059
2254
|
type: "button",
|
|
@@ -2076,9 +2271,105 @@ var Calendar = /* @__PURE__ */ (0, import_react32.forwardRef)(function Calendar2
|
|
|
2076
2271
|
] });
|
|
2077
2272
|
});
|
|
2078
2273
|
|
|
2274
|
+
// src/components/CheckboxGroup/CheckboxGroup.tsx
|
|
2275
|
+
var import_react37 = require("react");
|
|
2276
|
+
|
|
2277
|
+
// src/components/CheckboxGroup/CheckboxGroup.css.ts
|
|
2278
|
+
var import_createRuntimeFn19 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2279
|
+
var description4 = /* @__PURE__ */ (0, import_createRuntimeFn19.createRuntimeFn)({ defaultClassName: "_1z0r6xj5", variantClassNames: { size: { sm: "_1z0r6xj6", md: "_1z0r6xj7" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
2280
|
+
var groupLabel = "_1z0r6xj0";
|
|
2281
|
+
var items = /* @__PURE__ */ (0, import_createRuntimeFn19.createRuntimeFn)({ defaultClassName: "_1z0r6xj1", variantClassNames: { orientation: { vertical: "_1z0r6xj2", horizontal: "_1z0r6xj3" } }, defaultVariants: { orientation: "vertical" }, compoundVariants: [] });
|
|
2282
|
+
var option = "_1z0r6xj4";
|
|
2283
|
+
|
|
2284
|
+
// src/components/CheckboxGroup/CheckboxGroup.tsx
|
|
2285
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2286
|
+
var CheckboxGroup = /* @__PURE__ */ (0, import_react37.forwardRef)(
|
|
2287
|
+
function CheckboxGroup2(props, ref) {
|
|
2288
|
+
const {
|
|
2289
|
+
options,
|
|
2290
|
+
value: value4,
|
|
2291
|
+
defaultValue,
|
|
2292
|
+
onValueChange,
|
|
2293
|
+
label: label7,
|
|
2294
|
+
helperText: helperText3,
|
|
2295
|
+
error,
|
|
2296
|
+
orientation,
|
|
2297
|
+
size,
|
|
2298
|
+
disabled,
|
|
2299
|
+
required,
|
|
2300
|
+
name,
|
|
2301
|
+
id,
|
|
2302
|
+
"aria-label": ariaLabel,
|
|
2303
|
+
className
|
|
2304
|
+
} = props;
|
|
2305
|
+
const m = useMessages();
|
|
2306
|
+
const isControlled = "value" in props;
|
|
2307
|
+
const [innerValue, setInnerValue] = (0, import_react37.useState)(defaultValue ?? []);
|
|
2308
|
+
const current2 = isControlled ? value4 ?? [] : innerValue;
|
|
2309
|
+
const generatedId = (0, import_react37.useId)();
|
|
2310
|
+
const baseId = id ?? generatedId;
|
|
2311
|
+
const labelId = label7 ? `${baseId}-label` : void 0;
|
|
2312
|
+
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
2313
|
+
const toggle3 = (optionValue, checked) => {
|
|
2314
|
+
const next = options.map((option3) => option3.value).filter((v) => v === optionValue ? checked : current2.includes(v));
|
|
2315
|
+
if (!isControlled) setInnerValue(next);
|
|
2316
|
+
onValueChange?.(next);
|
|
2317
|
+
};
|
|
2318
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: cx(field, className), children: [
|
|
2319
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("span", { id: labelId, className: cx(label, groupLabel), children: [
|
|
2320
|
+
label7,
|
|
2321
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
2322
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" }),
|
|
2323
|
+
" ",
|
|
2324
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("span", { className: visuallyHidden, children: [
|
|
2325
|
+
"(",
|
|
2326
|
+
m.required ?? "\uD544\uC218",
|
|
2327
|
+
")"
|
|
2328
|
+
] })
|
|
2329
|
+
] })
|
|
2330
|
+
] }),
|
|
2331
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2332
|
+
"div",
|
|
2333
|
+
{
|
|
2334
|
+
ref,
|
|
2335
|
+
id: baseId,
|
|
2336
|
+
role: "group",
|
|
2337
|
+
"aria-label": ariaLabel,
|
|
2338
|
+
"aria-labelledby": labelId,
|
|
2339
|
+
"aria-describedby": helperId,
|
|
2340
|
+
className: items({ orientation }),
|
|
2341
|
+
children: options.map((option3) => {
|
|
2342
|
+
const itemId = `${baseId}-${option3.value}`;
|
|
2343
|
+
const descriptionId = option3.description ? `${itemId}-description` : void 0;
|
|
2344
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: option, children: [
|
|
2345
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2346
|
+
Checkbox,
|
|
2347
|
+
{
|
|
2348
|
+
id: itemId,
|
|
2349
|
+
name,
|
|
2350
|
+
value: option3.value,
|
|
2351
|
+
label: option3.label,
|
|
2352
|
+
size,
|
|
2353
|
+
checked: current2.includes(option3.value),
|
|
2354
|
+
onCheckedChange: (checked) => toggle3(option3.value, checked),
|
|
2355
|
+
disabled: disabled || option3.disabled,
|
|
2356
|
+
invalid: error,
|
|
2357
|
+
"aria-describedby": descriptionId
|
|
2358
|
+
}
|
|
2359
|
+
),
|
|
2360
|
+
option3.description && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { id: descriptionId, className: description4({ size }), children: option3.description })
|
|
2361
|
+
] }, option3.value);
|
|
2362
|
+
})
|
|
2363
|
+
}
|
|
2364
|
+
),
|
|
2365
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
2366
|
+
] });
|
|
2367
|
+
}
|
|
2368
|
+
);
|
|
2369
|
+
|
|
2079
2370
|
// src/components/Combobox/Combobox.tsx
|
|
2080
2371
|
var Popover = __toESM(require("@radix-ui/react-popover"), 1);
|
|
2081
|
-
var
|
|
2372
|
+
var import_react38 = require("react");
|
|
2082
2373
|
var import_icons10 = require("@bestow-ui/icons");
|
|
2083
2374
|
|
|
2084
2375
|
// src/components/Select/Select.css.ts
|
|
@@ -2097,9 +2388,9 @@ var empty = "c2pbq74";
|
|
|
2097
2388
|
var toggle2 = "c2pbq71 c2pbq70";
|
|
2098
2389
|
|
|
2099
2390
|
// src/components/Combobox/Combobox.tsx
|
|
2100
|
-
var
|
|
2101
|
-
var defaultFilter = (
|
|
2102
|
-
var Combobox = /* @__PURE__ */ (0,
|
|
2391
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2392
|
+
var defaultFilter = (option3, query2) => option3.label.toLowerCase().includes(query2.trim().toLowerCase());
|
|
2393
|
+
var Combobox = /* @__PURE__ */ (0, import_react38.forwardRef)(function Combobox2(props, ref) {
|
|
2103
2394
|
const {
|
|
2104
2395
|
options,
|
|
2105
2396
|
value: value4,
|
|
@@ -2127,24 +2418,24 @@ var Combobox = /* @__PURE__ */ (0, import_react33.forwardRef)(function Combobox2
|
|
|
2127
2418
|
const emptyMessage = emptyMessageProp ?? m.noResults ?? "\uACB0\uACFC\uAC00 \uC5C6\uC5B4\uC694";
|
|
2128
2419
|
const toggleLabel = toggleLabelProp ?? m.openList ?? "\uBAA9\uB85D \uC5F4\uAE30";
|
|
2129
2420
|
const clearLabel = clearLabelProp ?? m.clearSelection ?? "\uC120\uD0DD \uC9C0\uC6B0\uAE30";
|
|
2130
|
-
const generatedId = (0,
|
|
2421
|
+
const generatedId = (0, import_react38.useId)();
|
|
2131
2422
|
const inputId = id ?? generatedId;
|
|
2132
2423
|
const labelId = `${inputId}-label`;
|
|
2133
2424
|
const listId = `${inputId}-listbox`;
|
|
2134
2425
|
const helperId = helperText3 ? `${inputId}-helper` : void 0;
|
|
2135
2426
|
const optionId = (index) => `${inputId}-option-${index}`;
|
|
2136
2427
|
const portal2 = usePortalProps();
|
|
2137
|
-
const inputRef = (0,
|
|
2138
|
-
const anchorRef = (0,
|
|
2428
|
+
const inputRef = (0, import_react38.useRef)(null);
|
|
2429
|
+
const anchorRef = (0, import_react38.useRef)(null);
|
|
2139
2430
|
const isControlled = "value" in props;
|
|
2140
|
-
const [innerValue, setInnerValue] = (0,
|
|
2431
|
+
const [innerValue, setInnerValue] = (0, import_react38.useState)(defaultValue);
|
|
2141
2432
|
const selectedValue = isControlled ? value4 : innerValue;
|
|
2142
2433
|
const selectedOption = options.find((o) => o.value === selectedValue);
|
|
2143
|
-
const [open, setOpen] = (0,
|
|
2144
|
-
const [
|
|
2145
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
2146
|
-
const filtered = (0,
|
|
2147
|
-
const inputText =
|
|
2434
|
+
const [open, setOpen] = (0, import_react38.useState)(false);
|
|
2435
|
+
const [query2, setQuery] = (0, import_react38.useState)(null);
|
|
2436
|
+
const [activeIndex, setActiveIndex] = (0, import_react38.useState)(-1);
|
|
2437
|
+
const filtered = (0, import_react38.useMemo)(() => query2 ? options.filter((o) => filter(o, query2)) : options, [options, filter, query2]);
|
|
2438
|
+
const inputText = query2 ?? selectedOption?.label ?? "";
|
|
2148
2439
|
const firstEnabled = (list7, from = 0, step2 = 1) => {
|
|
2149
2440
|
for (let i = from; i >= 0 && i < list7.length; i += step2) if (!list7[i].disabled) return i;
|
|
2150
2441
|
return -1;
|
|
@@ -2166,13 +2457,13 @@ var Combobox = /* @__PURE__ */ (0, import_react33.forwardRef)(function Combobox2
|
|
|
2166
2457
|
if (selectedValue) onValueChange?.("");
|
|
2167
2458
|
};
|
|
2168
2459
|
const close2 = () => {
|
|
2169
|
-
if (
|
|
2460
|
+
if (query2 === "" && selectedValue) clearSelection();
|
|
2170
2461
|
reset();
|
|
2171
2462
|
};
|
|
2172
|
-
const select2 = (
|
|
2173
|
-
if (
|
|
2174
|
-
if (!isControlled) setInnerValue(
|
|
2175
|
-
if (
|
|
2463
|
+
const select2 = (option3) => {
|
|
2464
|
+
if (option3.disabled) return;
|
|
2465
|
+
if (!isControlled) setInnerValue(option3.value);
|
|
2466
|
+
if (option3.value !== selectedValue) onValueChange?.(option3.value);
|
|
2176
2467
|
reset();
|
|
2177
2468
|
};
|
|
2178
2469
|
const move = (step2) => {
|
|
@@ -2202,8 +2493,8 @@ var Combobox = /* @__PURE__ */ (0, import_react33.forwardRef)(function Combobox2
|
|
|
2202
2493
|
case "Enter":
|
|
2203
2494
|
if (open) {
|
|
2204
2495
|
event.preventDefault();
|
|
2205
|
-
const
|
|
2206
|
-
if (
|
|
2496
|
+
const option3 = filtered[activeIndex];
|
|
2497
|
+
if (option3) select2(option3);
|
|
2207
2498
|
else close2();
|
|
2208
2499
|
}
|
|
2209
2500
|
break;
|
|
@@ -2218,34 +2509,34 @@ var Combobox = /* @__PURE__ */ (0, import_react33.forwardRef)(function Combobox2
|
|
|
2218
2509
|
break;
|
|
2219
2510
|
}
|
|
2220
2511
|
};
|
|
2221
|
-
(0,
|
|
2512
|
+
(0, import_react38.useEffect)(() => {
|
|
2222
2513
|
if (!open || activeIndex < 0) return;
|
|
2223
2514
|
document.getElementById(optionId(activeIndex))?.scrollIntoView?.({ block: "nearest" });
|
|
2224
2515
|
}, [open, activeIndex]);
|
|
2225
2516
|
const hasOptions = filtered.length > 0;
|
|
2226
2517
|
const noResults = open && !disabled && !hasOptions;
|
|
2227
|
-
const [announcedFor, setAnnouncedFor] = (0,
|
|
2228
|
-
(0,
|
|
2518
|
+
const [announcedFor, setAnnouncedFor] = (0, import_react38.useState)(void 0);
|
|
2519
|
+
(0, import_react38.useEffect)(() => {
|
|
2229
2520
|
if (!noResults) return;
|
|
2230
|
-
const timer2 = setTimeout(() => setAnnouncedFor(
|
|
2521
|
+
const timer2 = setTimeout(() => setAnnouncedFor(query2), ANNOUNCE_DELAY);
|
|
2231
2522
|
return () => clearTimeout(timer2);
|
|
2232
|
-
}, [noResults,
|
|
2233
|
-
const announceNoResults = noResults && announcedFor ===
|
|
2234
|
-
return /* @__PURE__ */ (0,
|
|
2235
|
-
label7 && /* @__PURE__ */ (0,
|
|
2523
|
+
}, [noResults, query2]);
|
|
2524
|
+
const announceNoResults = noResults && announcedFor === query2;
|
|
2525
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
2526
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("label", { id: labelId, htmlFor: inputId, className: label, children: [
|
|
2236
2527
|
label7,
|
|
2237
|
-
required && /* @__PURE__ */ (0,
|
|
2528
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2238
2529
|
] }),
|
|
2239
|
-
/* @__PURE__ */ (0,
|
|
2240
|
-
/* @__PURE__ */ (0,
|
|
2530
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Popover.Root, { open: open && !disabled, onOpenChange: (next) => next ? openList() : close2(), children: [
|
|
2531
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Popover.Anchor, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2241
2532
|
"div",
|
|
2242
2533
|
{
|
|
2243
2534
|
ref: anchorRef,
|
|
2244
|
-
className: cx(
|
|
2535
|
+
className: cx(root2({ size, fullWidth }), className),
|
|
2245
2536
|
"data-invalid": error || void 0,
|
|
2246
2537
|
"data-disabled": disabled || void 0,
|
|
2247
2538
|
children: [
|
|
2248
|
-
/* @__PURE__ */ (0,
|
|
2539
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2249
2540
|
"input",
|
|
2250
2541
|
{
|
|
2251
2542
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -2272,7 +2563,7 @@ var Combobox = /* @__PURE__ */ (0, import_react33.forwardRef)(function Combobox2
|
|
|
2272
2563
|
className: input
|
|
2273
2564
|
}
|
|
2274
2565
|
),
|
|
2275
|
-
clearable && selectedOption && !disabled && /* @__PURE__ */ (0,
|
|
2566
|
+
clearable && selectedOption && !disabled && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2276
2567
|
"button",
|
|
2277
2568
|
{
|
|
2278
2569
|
type: "button",
|
|
@@ -2285,10 +2576,10 @@ var Combobox = /* @__PURE__ */ (0, import_react33.forwardRef)(function Combobox2
|
|
|
2285
2576
|
reset();
|
|
2286
2577
|
inputRef.current?.focus();
|
|
2287
2578
|
},
|
|
2288
|
-
children: /* @__PURE__ */ (0,
|
|
2579
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons10.XIcon, { size: 16 })
|
|
2289
2580
|
}
|
|
2290
2581
|
),
|
|
2291
|
-
/* @__PURE__ */ (0,
|
|
2582
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2292
2583
|
"button",
|
|
2293
2584
|
{
|
|
2294
2585
|
type: "button",
|
|
@@ -2303,13 +2594,13 @@ var Combobox = /* @__PURE__ */ (0, import_react33.forwardRef)(function Combobox2
|
|
|
2303
2594
|
else openList(options);
|
|
2304
2595
|
inputRef.current?.focus();
|
|
2305
2596
|
},
|
|
2306
|
-
children: /* @__PURE__ */ (0,
|
|
2597
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons10.ChevronDownIcon, { size: 16 })
|
|
2307
2598
|
}
|
|
2308
2599
|
)
|
|
2309
2600
|
]
|
|
2310
2601
|
}
|
|
2311
2602
|
) }),
|
|
2312
|
-
/* @__PURE__ */ (0,
|
|
2603
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2313
2604
|
Popover.Content,
|
|
2314
2605
|
{
|
|
2315
2606
|
role: "presentation",
|
|
@@ -2324,63 +2615,63 @@ var Combobox = /* @__PURE__ */ (0, import_react33.forwardRef)(function Combobox2
|
|
|
2324
2615
|
onInteractOutside: (event) => {
|
|
2325
2616
|
if (anchorRef.current?.contains(event.target)) event.preventDefault();
|
|
2326
2617
|
},
|
|
2327
|
-
children: hasOptions ? /* @__PURE__ */ (0,
|
|
2618
|
+
children: hasOptions ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2328
2619
|
"div",
|
|
2329
2620
|
{
|
|
2330
2621
|
id: listId,
|
|
2331
2622
|
role: "listbox",
|
|
2332
2623
|
"aria-labelledby": label7 ? labelId : void 0,
|
|
2333
2624
|
"aria-label": label7 ? void 0 : ariaLabel,
|
|
2334
|
-
children: filtered.map((
|
|
2335
|
-
const isSelected =
|
|
2625
|
+
children: filtered.map((option3, index) => {
|
|
2626
|
+
const isSelected = option3.value === selectedValue;
|
|
2336
2627
|
return (
|
|
2337
2628
|
// aria-activedescendant 패턴: 포커스·키보드는 입력창이 맡고 항목은 포커스를 받지 않는다 (WAI-ARIA combobox)
|
|
2338
2629
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/interactive-supports-focus
|
|
2339
|
-
/* @__PURE__ */ (0,
|
|
2630
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2340
2631
|
"div",
|
|
2341
2632
|
{
|
|
2342
2633
|
id: optionId(index),
|
|
2343
2634
|
role: "option",
|
|
2344
2635
|
"aria-selected": isSelected,
|
|
2345
|
-
"aria-disabled":
|
|
2636
|
+
"aria-disabled": option3.disabled || void 0,
|
|
2346
2637
|
"data-highlighted": index === activeIndex ? "" : void 0,
|
|
2347
2638
|
"data-state": isSelected ? "checked" : "unchecked",
|
|
2348
|
-
"data-disabled":
|
|
2639
|
+
"data-disabled": option3.disabled ? "" : void 0,
|
|
2349
2640
|
className: item5,
|
|
2350
2641
|
onMouseDown: (event) => event.preventDefault(),
|
|
2351
|
-
onMouseMove: () => !
|
|
2352
|
-
onClick: () => select2(
|
|
2642
|
+
onMouseMove: () => !option3.disabled && setActiveIndex(index),
|
|
2643
|
+
onClick: () => select2(option3),
|
|
2353
2644
|
children: [
|
|
2354
|
-
|
|
2355
|
-
isSelected && /* @__PURE__ */ (0,
|
|
2645
|
+
option3.label,
|
|
2646
|
+
isSelected && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: itemIndicator, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons10.CheckIcon, { size: 16 }) })
|
|
2356
2647
|
]
|
|
2357
2648
|
},
|
|
2358
|
-
|
|
2649
|
+
option3.value
|
|
2359
2650
|
)
|
|
2360
2651
|
);
|
|
2361
2652
|
})
|
|
2362
2653
|
}
|
|
2363
2654
|
) : (
|
|
2364
2655
|
// 스크린리더 알림은 아래의 항상 있는 status 영역이 맡는다 (여기는 화면 표시만)
|
|
2365
|
-
/* @__PURE__ */ (0,
|
|
2656
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: empty, children: emptyMessage })
|
|
2366
2657
|
)
|
|
2367
2658
|
}
|
|
2368
2659
|
) })
|
|
2369
2660
|
] }),
|
|
2370
|
-
/* @__PURE__ */ (0,
|
|
2371
|
-
name && /* @__PURE__ */ (0,
|
|
2372
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
2661
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { role: "status", className: visuallyHidden, children: announceNoResults ? emptyMessage : "" }),
|
|
2662
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("input", { type: "hidden", name, value: selectedValue ?? "" }),
|
|
2663
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
2373
2664
|
] });
|
|
2374
2665
|
});
|
|
2375
2666
|
|
|
2376
2667
|
// src/components/DatePicker/DatePicker.tsx
|
|
2377
|
-
var
|
|
2668
|
+
var import_react40 = require("react");
|
|
2378
2669
|
var import_icons12 = require("@bestow-ui/icons");
|
|
2379
2670
|
|
|
2380
2671
|
// src/components/Popover/Popover.tsx
|
|
2381
2672
|
var RadixPopover = __toESM(require("@radix-ui/react-popover"), 1);
|
|
2382
2673
|
var import_icons11 = require("@bestow-ui/icons");
|
|
2383
|
-
var
|
|
2674
|
+
var import_react39 = require("react");
|
|
2384
2675
|
|
|
2385
2676
|
// src/components/Popover/Popover.css.ts
|
|
2386
2677
|
var arrow = "_1j99p8x4";
|
|
@@ -2390,7 +2681,7 @@ var header6 = "_1j99p8x1";
|
|
|
2390
2681
|
var title3 = "_1j99p8x2";
|
|
2391
2682
|
|
|
2392
2683
|
// src/components/Popover/Popover.tsx
|
|
2393
|
-
var
|
|
2684
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2394
2685
|
function Popover2({
|
|
2395
2686
|
content: content12,
|
|
2396
2687
|
children,
|
|
@@ -2410,10 +2701,10 @@ function Popover2({
|
|
|
2410
2701
|
}) {
|
|
2411
2702
|
const portal2 = usePortalProps();
|
|
2412
2703
|
const m = useMessages();
|
|
2413
|
-
const titleId = (0,
|
|
2414
|
-
return /* @__PURE__ */ (0,
|
|
2415
|
-
/* @__PURE__ */ (0,
|
|
2416
|
-
/* @__PURE__ */ (0,
|
|
2704
|
+
const titleId = (0, import_react39.useId)();
|
|
2705
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(RadixPopover.Root, { open, defaultOpen, onOpenChange, modal, children: [
|
|
2706
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadixPopover.Trigger, { asChild: true, children }),
|
|
2707
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadixPopover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
2417
2708
|
RadixPopover.Content,
|
|
2418
2709
|
{
|
|
2419
2710
|
side,
|
|
@@ -2426,12 +2717,12 @@ function Popover2({
|
|
|
2426
2717
|
className: cx(portal2.className, content7, className),
|
|
2427
2718
|
style: { ...portal2.style, ...style },
|
|
2428
2719
|
children: [
|
|
2429
|
-
(title6 || showClose) && /* @__PURE__ */ (0,
|
|
2430
|
-
title6 && /* @__PURE__ */ (0,
|
|
2431
|
-
showClose && /* @__PURE__ */ (0,
|
|
2720
|
+
(title6 || showClose) && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: header6, children: [
|
|
2721
|
+
title6 && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("h2", { id: titleId, className: title3, children: title6 }),
|
|
2722
|
+
showClose && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadixPopover.Close, { className: closeButton3, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_icons11.XIcon, { size: 16 }) })
|
|
2432
2723
|
] }),
|
|
2433
2724
|
content12,
|
|
2434
|
-
showArrow && /* @__PURE__ */ (0,
|
|
2725
|
+
showArrow && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadixPopover.Arrow, { className: arrow, width: 12, height: 6 })
|
|
2435
2726
|
]
|
|
2436
2727
|
}
|
|
2437
2728
|
) })
|
|
@@ -2440,11 +2731,11 @@ function Popover2({
|
|
|
2440
2731
|
var PopoverClose = RadixPopover.Close;
|
|
2441
2732
|
|
|
2442
2733
|
// src/components/DatePicker/DatePicker.tsx
|
|
2443
|
-
var
|
|
2734
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2444
2735
|
var sanitize2 = (input6) => input6.replace(/\D/g, "").slice(0, 8);
|
|
2445
2736
|
var format = (digits) => digits.length <= 4 ? digits : digits.length <= 6 ? `${digits.slice(0, 4)}-${digits.slice(4)}` : `${digits.slice(0, 4)}-${digits.slice(4, 6)}-${digits.slice(6)}`;
|
|
2446
2737
|
var isDigit3 = (char) => /\d/.test(char);
|
|
2447
|
-
var DatePicker = /* @__PURE__ */ (0,
|
|
2738
|
+
var DatePicker = /* @__PURE__ */ (0, import_react40.forwardRef)(
|
|
2448
2739
|
function DatePicker2(props, ref) {
|
|
2449
2740
|
const {
|
|
2450
2741
|
value: value4,
|
|
@@ -2470,17 +2761,17 @@ var DatePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2470
2761
|
id,
|
|
2471
2762
|
className
|
|
2472
2763
|
} = props;
|
|
2473
|
-
const inputRef = (0,
|
|
2764
|
+
const inputRef = (0, import_react40.useRef)(null);
|
|
2474
2765
|
const m = useMessages();
|
|
2475
2766
|
const label7 = labelProp ?? m.date ?? "\uB0A0\uC9DC";
|
|
2476
2767
|
const calendarLabel = calendarLabelProp ?? m.openCalendar ?? "\uB2EC\uB825 \uC5F4\uAE30";
|
|
2477
2768
|
const invalidText = invalidTextProp ?? m.dateInvalid ?? "\uC62C\uBC14\uB978 \uB0A0\uC9DC\uAC00 \uC544\uB2C8\uC5D0\uC694.";
|
|
2478
2769
|
const unavailableText = unavailableTextProp ?? m.dateUnavailable ?? "\uACE0\uB97C \uC218 \uC5C6\uB294 \uB0A0\uC9DC\uC608\uC694.";
|
|
2479
2770
|
const incompleteText = incompleteTextProp ?? m.dateIncomplete ?? "\uB0A0\uC9DC\uB97C YYYY-MM-DD \uD615\uC2DD\uC73C\uB85C \uC785\uB825\uD574 \uC8FC\uC138\uC694.";
|
|
2480
|
-
const [open, setOpen] = (0,
|
|
2481
|
-
const [touched, setTouched] = (0,
|
|
2771
|
+
const [open, setOpen] = (0, import_react40.useState)(false);
|
|
2772
|
+
const [touched, setTouched] = (0, import_react40.useState)(false);
|
|
2482
2773
|
const isControlled = "value" in props;
|
|
2483
|
-
const lastEmitted = (0,
|
|
2774
|
+
const lastEmitted = (0, import_react40.useRef)(isControlled ? value4 ?? "" : defaultValue ?? "");
|
|
2484
2775
|
const minDate = parseISODate(min);
|
|
2485
2776
|
const maxDate = parseISODate(max);
|
|
2486
2777
|
const toIso = (digits) => digits.length === 8 ? `${digits.slice(0, 4)}-${digits.slice(4, 6)}-${digits.slice(6)}` : "";
|
|
@@ -2505,7 +2796,7 @@ var DatePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2505
2796
|
});
|
|
2506
2797
|
const textIso = toIso(field4.raw);
|
|
2507
2798
|
const { setRaw } = field4;
|
|
2508
|
-
(0,
|
|
2799
|
+
(0, import_react40.useEffect)(() => {
|
|
2509
2800
|
if (!isControlled) return;
|
|
2510
2801
|
const next = value4 ?? "";
|
|
2511
2802
|
lastEmitted.current = next;
|
|
@@ -2521,8 +2812,8 @@ var DatePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2521
2812
|
const showAuto = autoError !== null && error === void 0;
|
|
2522
2813
|
const announcement = useDelayedAnnouncement(showAuto && complete ? autoError ?? "" : "");
|
|
2523
2814
|
const selectedIso = date && !isUnavailable(date) ? textIso : "";
|
|
2524
|
-
return /* @__PURE__ */ (0,
|
|
2525
|
-
/* @__PURE__ */ (0,
|
|
2815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
|
2816
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2526
2817
|
TextField,
|
|
2527
2818
|
{
|
|
2528
2819
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -2541,7 +2832,7 @@ var DatePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2541
2832
|
disabled,
|
|
2542
2833
|
fullWidth,
|
|
2543
2834
|
rootClassName: className,
|
|
2544
|
-
endAdornment: /* @__PURE__ */ (0,
|
|
2835
|
+
endAdornment: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2545
2836
|
Popover2,
|
|
2546
2837
|
{
|
|
2547
2838
|
open,
|
|
@@ -2550,7 +2841,7 @@ var DatePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2550
2841
|
align: "end",
|
|
2551
2842
|
"aria-label": m.calendar ?? "\uB2EC\uB825",
|
|
2552
2843
|
onOpenAutoFocus: (event) => event.preventDefault(),
|
|
2553
|
-
content: /* @__PURE__ */ (0,
|
|
2844
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2554
2845
|
Calendar,
|
|
2555
2846
|
{
|
|
2556
2847
|
value: selectedIso,
|
|
@@ -2567,19 +2858,19 @@ var DatePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2567
2858
|
initialFocus: true
|
|
2568
2859
|
}
|
|
2569
2860
|
),
|
|
2570
|
-
children: /* @__PURE__ */ (0,
|
|
2861
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(IconButton, { "aria-label": calendarLabel, size: "sm", disabled, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_icons12.CalendarIcon, {}) })
|
|
2571
2862
|
}
|
|
2572
2863
|
)
|
|
2573
2864
|
}
|
|
2574
2865
|
),
|
|
2575
|
-
/* @__PURE__ */ (0,
|
|
2576
|
-
name && /* @__PURE__ */ (0,
|
|
2866
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { role: "status", className: visuallyHidden, children: announcement }),
|
|
2867
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("input", { type: "hidden", name, value: selectedIso })
|
|
2577
2868
|
] });
|
|
2578
2869
|
}
|
|
2579
2870
|
);
|
|
2580
2871
|
|
|
2581
2872
|
// src/components/DateRangePicker/DateRangePicker.tsx
|
|
2582
|
-
var
|
|
2873
|
+
var import_react41 = require("react");
|
|
2583
2874
|
|
|
2584
2875
|
// src/components/DateRangePicker/DateRangePicker.css.ts
|
|
2585
2876
|
var field2 = "_17277dh3";
|
|
@@ -2590,8 +2881,8 @@ var presets = "_17277dh5";
|
|
|
2590
2881
|
var separator2 = "_17277dh4";
|
|
2591
2882
|
|
|
2592
2883
|
// src/components/DateRangePicker/DateRangePicker.tsx
|
|
2593
|
-
var
|
|
2594
|
-
var DateRangePicker = /* @__PURE__ */ (0,
|
|
2884
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2885
|
+
var DateRangePicker = /* @__PURE__ */ (0, import_react41.forwardRef)(
|
|
2595
2886
|
function DateRangePicker2(props, ref) {
|
|
2596
2887
|
const {
|
|
2597
2888
|
value: value4,
|
|
@@ -2616,12 +2907,12 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react36.forwardRef)(
|
|
|
2616
2907
|
className
|
|
2617
2908
|
} = props;
|
|
2618
2909
|
const m = useMessages();
|
|
2619
|
-
const generatedId = (0,
|
|
2910
|
+
const generatedId = (0, import_react41.useId)();
|
|
2620
2911
|
const baseId = id ?? generatedId;
|
|
2621
2912
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
2622
2913
|
const isClient = useIsClient();
|
|
2623
2914
|
const isControlled = "value" in props;
|
|
2624
|
-
const [inner, setInner] = (0,
|
|
2915
|
+
const [inner, setInner] = (0, import_react41.useState)(defaultValue ?? { start: "", end: "" });
|
|
2625
2916
|
const range3 = isControlled ? value4 ?? { start: "", end: "" } : inner;
|
|
2626
2917
|
const update = (next) => {
|
|
2627
2918
|
if (next.start === range3.start && next.end === range3.end) return;
|
|
@@ -2632,7 +2923,7 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react36.forwardRef)(
|
|
|
2632
2923
|
const startLabel = startLabelProp ?? m.dateRangeStart ?? "\uC2DC\uC791\uC77C";
|
|
2633
2924
|
const endLabel = endLabelProp ?? m.dateRangeEnd ?? "\uC885\uB8CC\uC77C";
|
|
2634
2925
|
const common = { isDateDisabled, isHoliday, today, disabled, required, fullWidth: true };
|
|
2635
|
-
return /* @__PURE__ */ (0,
|
|
2926
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2636
2927
|
"fieldset",
|
|
2637
2928
|
{
|
|
2638
2929
|
ref,
|
|
@@ -2641,12 +2932,12 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react36.forwardRef)(
|
|
|
2641
2932
|
"aria-describedby": helperId,
|
|
2642
2933
|
"data-invalid": error || void 0,
|
|
2643
2934
|
children: [
|
|
2644
|
-
label7 && /* @__PURE__ */ (0,
|
|
2935
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("legend", { className: legend3, children: [
|
|
2645
2936
|
label7,
|
|
2646
|
-
required && /* @__PURE__ */ (0,
|
|
2937
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2647
2938
|
] }),
|
|
2648
|
-
/* @__PURE__ */ (0,
|
|
2649
|
-
/* @__PURE__ */ (0,
|
|
2939
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: fields, children: [
|
|
2940
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: field2, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2650
2941
|
DatePicker,
|
|
2651
2942
|
{
|
|
2652
2943
|
...common,
|
|
@@ -2660,8 +2951,8 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react36.forwardRef)(
|
|
|
2660
2951
|
error: error || void 0
|
|
2661
2952
|
}
|
|
2662
2953
|
) }),
|
|
2663
|
-
/* @__PURE__ */ (0,
|
|
2664
|
-
/* @__PURE__ */ (0,
|
|
2954
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: separator2, "aria-hidden": true, children: "~" }),
|
|
2955
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: field2, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2665
2956
|
DatePicker,
|
|
2666
2957
|
{
|
|
2667
2958
|
...common,
|
|
@@ -2676,10 +2967,10 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react36.forwardRef)(
|
|
|
2676
2967
|
}
|
|
2677
2968
|
) })
|
|
2678
2969
|
] }),
|
|
2679
|
-
presets2 && presets2.length > 0 && /* @__PURE__ */ (0,
|
|
2970
|
+
presets2 && presets2.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { role: "group", "aria-label": m.dateRangePresets ?? "\uBE60\uB978 \uC120\uD0DD", className: presets, children: presets2.map((preset) => {
|
|
2680
2971
|
const target = isClient ? presetRange(preset, todayIso()) : null;
|
|
2681
2972
|
const pressed = !!target && target.start === range3.start && target.end === range3.end;
|
|
2682
|
-
return /* @__PURE__ */ (0,
|
|
2973
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2683
2974
|
Button,
|
|
2684
2975
|
{
|
|
2685
2976
|
type: "button",
|
|
@@ -2694,7 +2985,7 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react36.forwardRef)(
|
|
|
2694
2985
|
preset.label
|
|
2695
2986
|
);
|
|
2696
2987
|
}) }),
|
|
2697
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
2988
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
2698
2989
|
]
|
|
2699
2990
|
}
|
|
2700
2991
|
);
|
|
@@ -2706,11 +2997,11 @@ var Dialog2 = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
|
2706
2997
|
var import_icons13 = require("@bestow-ui/icons");
|
|
2707
2998
|
|
|
2708
2999
|
// src/components/Drawer/Drawer.css.ts
|
|
2709
|
-
var
|
|
3000
|
+
var import_createRuntimeFn20 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2710
3001
|
var body3 = "nmobyvy";
|
|
2711
3002
|
var closeButton4 = "nmobyvx";
|
|
2712
|
-
var content8 = /* @__PURE__ */ (0,
|
|
2713
|
-
var
|
|
3003
|
+
var content8 = /* @__PURE__ */ (0, import_createRuntimeFn20.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"]] });
|
|
3004
|
+
var description5 = "nmobyvw";
|
|
2714
3005
|
var footer3 = "nmobyvz";
|
|
2715
3006
|
var header7 = "nmobyvt";
|
|
2716
3007
|
var headings2 = "nmobyvu";
|
|
@@ -2718,14 +3009,14 @@ var overlay2 = "nmobyv0";
|
|
|
2718
3009
|
var title4 = "nmobyvv";
|
|
2719
3010
|
|
|
2720
3011
|
// src/components/Drawer/Drawer.tsx
|
|
2721
|
-
var
|
|
3012
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2722
3013
|
function Drawer({
|
|
2723
3014
|
open,
|
|
2724
3015
|
defaultOpen,
|
|
2725
3016
|
onOpenChange,
|
|
2726
3017
|
trigger: trigger4,
|
|
2727
3018
|
title: title6,
|
|
2728
|
-
description:
|
|
3019
|
+
description: description9,
|
|
2729
3020
|
children,
|
|
2730
3021
|
footer: footer6,
|
|
2731
3022
|
side,
|
|
@@ -2737,11 +3028,11 @@ function Drawer({
|
|
|
2737
3028
|
const portal2 = usePortalProps();
|
|
2738
3029
|
const m = useMessages();
|
|
2739
3030
|
const focus = useReturnFocus(Boolean(trigger4));
|
|
2740
|
-
return /* @__PURE__ */ (0,
|
|
2741
|
-
trigger4 && /* @__PURE__ */ (0,
|
|
2742
|
-
/* @__PURE__ */ (0,
|
|
2743
|
-
/* @__PURE__ */ (0,
|
|
2744
|
-
/* @__PURE__ */ (0,
|
|
3031
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Dialog2.Root, { open, defaultOpen, onOpenChange, children: [
|
|
3032
|
+
trigger4 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Dialog2.Trigger, { asChild: true, children: trigger4 }),
|
|
3033
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Dialog2.Portal, { children: [
|
|
3034
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Dialog2.Overlay, { className: cx(portal2.className, overlay2), style: portal2.style }),
|
|
3035
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2745
3036
|
Dialog2.Content,
|
|
2746
3037
|
{
|
|
2747
3038
|
className: cx(portal2.className, content8({ side, size }), className),
|
|
@@ -2750,17 +3041,17 @@ function Drawer({
|
|
|
2750
3041
|
onPointerDownOutside: closeOnOverlayClick ? void 0 : (event) => event.preventDefault(),
|
|
2751
3042
|
onOpenAutoFocus: focus.onOpenAutoFocus,
|
|
2752
3043
|
onCloseAutoFocus: focus.onCloseAutoFocus,
|
|
2753
|
-
...
|
|
3044
|
+
...description9 ? {} : { "aria-describedby": void 0 },
|
|
2754
3045
|
children: [
|
|
2755
|
-
/* @__PURE__ */ (0,
|
|
2756
|
-
/* @__PURE__ */ (0,
|
|
2757
|
-
/* @__PURE__ */ (0,
|
|
2758
|
-
|
|
3046
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: header7, children: [
|
|
3047
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: headings2, children: [
|
|
3048
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Dialog2.Title, { className: title4, children: title6 }),
|
|
3049
|
+
description9 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Dialog2.Description, { className: description5, children: description9 })
|
|
2759
3050
|
] }),
|
|
2760
|
-
!hideCloseButton && /* @__PURE__ */ (0,
|
|
3051
|
+
!hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Dialog2.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(IconButton, { "aria-label": m.close ?? "\uB2EB\uAE30", size: "sm", className: closeButton4, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_icons13.XIcon, {}) }) })
|
|
2761
3052
|
] }),
|
|
2762
|
-
children && /* @__PURE__ */ (0,
|
|
2763
|
-
footer6 && /* @__PURE__ */ (0,
|
|
3053
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: body3, children }),
|
|
3054
|
+
footer6 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: footer3, children: footer6 })
|
|
2764
3055
|
]
|
|
2765
3056
|
}
|
|
2766
3057
|
)
|
|
@@ -2770,7 +3061,7 @@ function Drawer({
|
|
|
2770
3061
|
var DrawerClose = Dialog2.Close;
|
|
2771
3062
|
|
|
2772
3063
|
// src/components/ErrorSummary/ErrorSummary.tsx
|
|
2773
|
-
var
|
|
3064
|
+
var import_react42 = require("react");
|
|
2774
3065
|
|
|
2775
3066
|
// src/components/ErrorSummary/ErrorSummary.css.ts
|
|
2776
3067
|
var link3 = "_1cdophv2";
|
|
@@ -2778,17 +3069,17 @@ var list3 = "_1cdophv1";
|
|
|
2778
3069
|
var root9 = "_1cdophv0";
|
|
2779
3070
|
|
|
2780
3071
|
// src/components/ErrorSummary/ErrorSummary.tsx
|
|
2781
|
-
var
|
|
2782
|
-
var ErrorSummary = /* @__PURE__ */ (0,
|
|
3072
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3073
|
+
var ErrorSummary = /* @__PURE__ */ (0, import_react42.forwardRef)(function ErrorSummary2({ errors: errors2, title: title6, focusKey, className, ...rest }, ref) {
|
|
2783
3074
|
const m = useMessages();
|
|
2784
|
-
const titleId = (0,
|
|
2785
|
-
const rootRef = (0,
|
|
3075
|
+
const titleId = (0, import_react42.useId)();
|
|
3076
|
+
const rootRef = (0, import_react42.useRef)(null);
|
|
2786
3077
|
const hasErrors = errors2.length > 0;
|
|
2787
|
-
(0,
|
|
3078
|
+
(0, import_react42.useEffect)(() => {
|
|
2788
3079
|
if (hasErrors) rootRef.current?.focus();
|
|
2789
3080
|
}, [focusKey, hasErrors]);
|
|
2790
3081
|
if (!hasErrors) return null;
|
|
2791
|
-
return /* @__PURE__ */ (0,
|
|
3082
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2792
3083
|
"div",
|
|
2793
3084
|
{
|
|
2794
3085
|
ref: mergeRefs(ref, rootRef),
|
|
@@ -2796,12 +3087,12 @@ var ErrorSummary = /* @__PURE__ */ (0, import_react37.forwardRef)(function Error
|
|
|
2796
3087
|
"aria-labelledby": titleId,
|
|
2797
3088
|
className: cx(root9, className),
|
|
2798
3089
|
...rest,
|
|
2799
|
-
children: /* @__PURE__ */ (0,
|
|
3090
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2800
3091
|
Alert,
|
|
2801
3092
|
{
|
|
2802
3093
|
color: "danger",
|
|
2803
|
-
title: /* @__PURE__ */ (0,
|
|
2804
|
-
children: /* @__PURE__ */ (0,
|
|
3094
|
+
title: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { id: titleId, children: title6 ?? m.errorSummaryTitle?.(errors2.length) ?? `\uC785\uB825\uD55C \uB0B4\uC6A9\uC5D0 \uACE0\uCE60 \uACF3\uC774 ${errors2.length}\uAC1C \uC788\uC5B4\uC694` }),
|
|
3095
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("ul", { className: list3, children: errors2.map((error) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2805
3096
|
"a",
|
|
2806
3097
|
{
|
|
2807
3098
|
href: `#${error.id}`,
|
|
@@ -2819,7 +3110,7 @@ var ErrorSummary = /* @__PURE__ */ (0, import_react37.forwardRef)(function Error
|
|
|
2819
3110
|
});
|
|
2820
3111
|
|
|
2821
3112
|
// src/components/FileUpload/FileUpload.tsx
|
|
2822
|
-
var
|
|
3113
|
+
var import_react43 = require("react");
|
|
2823
3114
|
var import_icons14 = require("@bestow-ui/icons");
|
|
2824
3115
|
|
|
2825
3116
|
// src/components/FileUpload/FileUpload.css.ts
|
|
@@ -2835,7 +3126,7 @@ var list4 = "r2jefr4";
|
|
|
2835
3126
|
var root10 = "r2jefr0";
|
|
2836
3127
|
|
|
2837
3128
|
// src/components/FileUpload/FileUpload.tsx
|
|
2838
|
-
var
|
|
3129
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2839
3130
|
var REMOVED_ANNOUNCE_DELAY = 500;
|
|
2840
3131
|
function formatSize(bytes) {
|
|
2841
3132
|
if (bytes < 1024) return `${bytes} B`;
|
|
@@ -2852,7 +3143,7 @@ function matchesAccept(file, accept) {
|
|
|
2852
3143
|
}
|
|
2853
3144
|
var NO_FILES = [];
|
|
2854
3145
|
var sameFile = (a, b) => a.name === b.name && a.size === b.size && a.lastModified === b.lastModified;
|
|
2855
|
-
var FileUpload = /* @__PURE__ */ (0,
|
|
3146
|
+
var FileUpload = /* @__PURE__ */ (0, import_react43.forwardRef)(function FileUpload2(props, ref) {
|
|
2856
3147
|
const {
|
|
2857
3148
|
value: value4,
|
|
2858
3149
|
defaultValue,
|
|
@@ -2873,22 +3164,22 @@ var FileUpload = /* @__PURE__ */ (0, import_react38.forwardRef)(function FileUpl
|
|
|
2873
3164
|
} = props;
|
|
2874
3165
|
const m = useMessages();
|
|
2875
3166
|
const isControlled = "value" in props;
|
|
2876
|
-
const [innerFiles, setInnerFiles] = (0,
|
|
3167
|
+
const [innerFiles, setInnerFiles] = (0, import_react43.useState)(defaultValue ?? []);
|
|
2877
3168
|
const files = isControlled ? value4 ?? NO_FILES : innerFiles;
|
|
2878
|
-
const [rejections, setRejections] = (0,
|
|
2879
|
-
const [announcement, setAnnouncement] = (0,
|
|
2880
|
-
const [dragging, setDragging] = (0,
|
|
2881
|
-
const generatedId = (0,
|
|
3169
|
+
const [rejections, setRejections] = (0, import_react43.useState)([]);
|
|
3170
|
+
const [announcement, setAnnouncement] = (0, import_react43.useState)("");
|
|
3171
|
+
const [dragging, setDragging] = (0, import_react43.useState)(false);
|
|
3172
|
+
const generatedId = (0, import_react43.useId)();
|
|
2882
3173
|
const baseId = id ?? generatedId;
|
|
2883
3174
|
const labelId = label7 ? `${baseId}-label` : void 0;
|
|
2884
3175
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
2885
3176
|
const errorsId = rejections.length > 0 ? `${baseId}-errors` : void 0;
|
|
2886
|
-
const inputRef = (0,
|
|
2887
|
-
const selectButtonRef = (0,
|
|
2888
|
-
const removeButtonRefs = (0,
|
|
2889
|
-
const focusAfterRemove = (0,
|
|
2890
|
-
const announceTimer = (0,
|
|
2891
|
-
(0,
|
|
3177
|
+
const inputRef = (0, import_react43.useRef)(null);
|
|
3178
|
+
const selectButtonRef = (0, import_react43.useRef)(null);
|
|
3179
|
+
const removeButtonRefs = (0, import_react43.useRef)([]);
|
|
3180
|
+
const focusAfterRemove = (0, import_react43.useRef)(null);
|
|
3181
|
+
const announceTimer = (0, import_react43.useRef)(void 0);
|
|
3182
|
+
(0, import_react43.useEffect)(() => () => clearTimeout(announceTimer.current), []);
|
|
2892
3183
|
const selectLabel = m.fileSelect ?? "\uD30C\uC77C \uC120\uD0DD";
|
|
2893
3184
|
const reasonText = (rejection) => {
|
|
2894
3185
|
const fileName2 = rejection.file.name;
|
|
@@ -2936,13 +3227,13 @@ var FileUpload = /* @__PURE__ */ (0, import_react38.forwardRef)(function FileUpl
|
|
|
2936
3227
|
setRejections([]);
|
|
2937
3228
|
commit(next, m.fileRemoved?.(removed.name) ?? `${removed.name} \uC0AD\uC81C\uB428`, REMOVED_ANNOUNCE_DELAY);
|
|
2938
3229
|
};
|
|
2939
|
-
(0,
|
|
3230
|
+
(0, import_react43.useEffect)(() => {
|
|
2940
3231
|
if (focusAfterRemove.current === null) return;
|
|
2941
3232
|
const target = focusAfterRemove.current;
|
|
2942
3233
|
focusAfterRemove.current = null;
|
|
2943
3234
|
(target >= 0 ? removeButtonRefs.current[target] : selectButtonRef.current)?.focus();
|
|
2944
3235
|
}, [files]);
|
|
2945
|
-
(0,
|
|
3236
|
+
(0, import_react43.useEffect)(() => {
|
|
2946
3237
|
const input6 = inputRef.current;
|
|
2947
3238
|
if (!name || !input6 || typeof DataTransfer === "undefined") return;
|
|
2948
3239
|
try {
|
|
@@ -2957,12 +3248,12 @@ var FileUpload = /* @__PURE__ */ (0, import_react38.forwardRef)(function FileUpl
|
|
|
2957
3248
|
event.preventDefault();
|
|
2958
3249
|
setDragging(over);
|
|
2959
3250
|
};
|
|
2960
|
-
return /* @__PURE__ */ (0,
|
|
2961
|
-
label7 && /* @__PURE__ */ (0,
|
|
3251
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { ref, className: cx(field, root10, className), children: [
|
|
3252
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("span", { id: labelId, className: label, children: [
|
|
2962
3253
|
label7,
|
|
2963
|
-
required && /* @__PURE__ */ (0,
|
|
3254
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2964
3255
|
] }),
|
|
2965
|
-
/* @__PURE__ */ (0,
|
|
3256
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2966
3257
|
"div",
|
|
2967
3258
|
{
|
|
2968
3259
|
role: "group",
|
|
@@ -2982,8 +3273,8 @@ var FileUpload = /* @__PURE__ */ (0, import_react38.forwardRef)(function FileUpl
|
|
|
2982
3273
|
if (!disabled) addFiles(Array.from(event.dataTransfer.files));
|
|
2983
3274
|
},
|
|
2984
3275
|
children: [
|
|
2985
|
-
/* @__PURE__ */ (0,
|
|
2986
|
-
/* @__PURE__ */ (0,
|
|
3276
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: dropIcon, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons14.UploadIcon, { size: 24 }) }),
|
|
3277
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2987
3278
|
Button,
|
|
2988
3279
|
{
|
|
2989
3280
|
ref: selectButtonRef,
|
|
@@ -2996,8 +3287,8 @@ var FileUpload = /* @__PURE__ */ (0, import_react38.forwardRef)(function FileUpl
|
|
|
2996
3287
|
children: selectLabel
|
|
2997
3288
|
}
|
|
2998
3289
|
),
|
|
2999
|
-
/* @__PURE__ */ (0,
|
|
3000
|
-
/* @__PURE__ */ (0,
|
|
3290
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: dropHint, children: m.fileDropHint ?? "\uB610\uB294 \uC5EC\uAE30\uB85C \uB04C\uC5B4\uB2E4 \uB193\uC73C\uC138\uC694" }),
|
|
3291
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3001
3292
|
"input",
|
|
3002
3293
|
{
|
|
3003
3294
|
ref: inputRef,
|
|
@@ -3020,11 +3311,11 @@ var FileUpload = /* @__PURE__ */ (0, import_react38.forwardRef)(function FileUpl
|
|
|
3020
3311
|
]
|
|
3021
3312
|
}
|
|
3022
3313
|
),
|
|
3023
|
-
files.length > 0 && /* @__PURE__ */ (0,
|
|
3024
|
-
/* @__PURE__ */ (0,
|
|
3025
|
-
/* @__PURE__ */ (0,
|
|
3026
|
-
/* @__PURE__ */ (0,
|
|
3027
|
-
/* @__PURE__ */ (0,
|
|
3314
|
+
files.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("ul", { "aria-label": m.fileList ?? "\uC120\uD0DD\uD55C \uD30C\uC77C", className: list4, children: files.map((file, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("li", { className: item6, children: [
|
|
3315
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: fileIcon, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons14.FileIcon, { size: 16 }) }),
|
|
3316
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: fileName, children: file.name }),
|
|
3317
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { id: `${baseId}-size-${index}`, className: fileSize, children: formatSize(file.size) }),
|
|
3318
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3028
3319
|
IconButton,
|
|
3029
3320
|
{
|
|
3030
3321
|
ref: (node) => {
|
|
@@ -3035,20 +3326,20 @@ var FileUpload = /* @__PURE__ */ (0, import_react38.forwardRef)(function FileUpl
|
|
|
3035
3326
|
"aria-describedby": `${baseId}-size-${index}`,
|
|
3036
3327
|
disabled,
|
|
3037
3328
|
onClick: () => removeAt(index),
|
|
3038
|
-
children: /* @__PURE__ */ (0,
|
|
3329
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons14.XIcon, {})
|
|
3039
3330
|
}
|
|
3040
3331
|
)
|
|
3041
3332
|
] }, `${file.name}-${file.size}-${file.lastModified}`)) }),
|
|
3042
|
-
rejections.length > 0 && /* @__PURE__ */ (0,
|
|
3043
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
3044
|
-
/* @__PURE__ */ (0,
|
|
3333
|
+
rejections.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("ul", { id: errorsId, className: errors, children: [...new Set(rejections.map(reasonText))].map((text3) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("li", { children: text3 }, text3)) }),
|
|
3334
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
|
|
3335
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { role: "status", className: visuallyHidden, children: announcement })
|
|
3045
3336
|
] });
|
|
3046
3337
|
});
|
|
3047
3338
|
|
|
3048
3339
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
3049
3340
|
var RadixMenu = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
|
|
3050
3341
|
var import_icons15 = require("@bestow-ui/icons");
|
|
3051
|
-
var
|
|
3342
|
+
var import_react44 = require("react");
|
|
3052
3343
|
|
|
3053
3344
|
// src/components/DropdownMenu/DropdownMenu.css.ts
|
|
3054
3345
|
var content9 = "_1d7ahux0";
|
|
@@ -3065,14 +3356,14 @@ var subChevron = "_1d7ahuxb";
|
|
|
3065
3356
|
var subTrigger = "_1d7ahuxa";
|
|
3066
3357
|
|
|
3067
3358
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
3068
|
-
var
|
|
3359
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3069
3360
|
var DropdownMenu = RadixMenu.Root;
|
|
3070
3361
|
var DropdownMenuTrigger = RadixMenu.Trigger;
|
|
3071
3362
|
var DropdownMenuGroup = RadixMenu.Group;
|
|
3072
|
-
var DropdownMenuContent = /* @__PURE__ */ (0,
|
|
3363
|
+
var DropdownMenuContent = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3073
3364
|
function DropdownMenuContent2({ className, style, side = "bottom", align = "start", sideOffset = 4, collisionPadding = 8, ...rest }, ref) {
|
|
3074
3365
|
const portal2 = usePortalProps();
|
|
3075
|
-
return /* @__PURE__ */ (0,
|
|
3366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3076
3367
|
RadixMenu.Content,
|
|
3077
3368
|
{
|
|
3078
3369
|
ref,
|
|
@@ -3087,56 +3378,56 @@ var DropdownMenuContent = /* @__PURE__ */ (0, import_react39.forwardRef)(
|
|
|
3087
3378
|
) });
|
|
3088
3379
|
}
|
|
3089
3380
|
);
|
|
3090
|
-
var DropdownMenuItem = /* @__PURE__ */ (0,
|
|
3381
|
+
var DropdownMenuItem = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3091
3382
|
function DropdownMenuItem2({ icon: icon8, shortcut: shortcut2, color = "neutral", className, children, ...rest }, ref) {
|
|
3092
|
-
return /* @__PURE__ */ (0,
|
|
3093
|
-
icon8 && /* @__PURE__ */ (0,
|
|
3383
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(RadixMenu.Item, { ref, className: cx(item7, color === "danger" && danger, className), ...rest, children: [
|
|
3384
|
+
icon8 && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: icon5, "aria-hidden": true, children: icon8 }),
|
|
3094
3385
|
children,
|
|
3095
|
-
shortcut2 && /* @__PURE__ */ (0,
|
|
3386
|
+
shortcut2 && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: shortcut, "aria-hidden": true, children: shortcut2 })
|
|
3096
3387
|
] });
|
|
3097
3388
|
}
|
|
3098
3389
|
);
|
|
3099
|
-
var DropdownMenuLabel = /* @__PURE__ */ (0,
|
|
3390
|
+
var DropdownMenuLabel = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3100
3391
|
function DropdownMenuLabel2({ className, ...rest }, ref) {
|
|
3101
|
-
return /* @__PURE__ */ (0,
|
|
3392
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixMenu.Label, { ref, className: cx(label3, className), ...rest });
|
|
3102
3393
|
}
|
|
3103
3394
|
);
|
|
3104
|
-
var DropdownMenuSeparator = /* @__PURE__ */ (0,
|
|
3395
|
+
var DropdownMenuSeparator = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3105
3396
|
function DropdownMenuSeparator2({ className, ...rest }, ref) {
|
|
3106
|
-
return /* @__PURE__ */ (0,
|
|
3397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixMenu.Separator, { ref, className: cx(separator3, className), ...rest });
|
|
3107
3398
|
}
|
|
3108
3399
|
);
|
|
3109
|
-
var DropdownMenuCheckboxItem = /* @__PURE__ */ (0,
|
|
3400
|
+
var DropdownMenuCheckboxItem = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3110
3401
|
function DropdownMenuCheckboxItem2({ className, children, ...rest }, ref) {
|
|
3111
|
-
return /* @__PURE__ */ (0,
|
|
3112
|
-
/* @__PURE__ */ (0,
|
|
3402
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(RadixMenu.CheckboxItem, { ref, className: cx(item7, className), ...rest, children: [
|
|
3403
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: indicator2, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixMenu.ItemIndicator, { className: indicatorInner, children: rest.checked === "indeterminate" ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_icons15.MinusIcon, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_icons15.CheckIcon, { size: 16 }) }) }),
|
|
3113
3404
|
children
|
|
3114
3405
|
] });
|
|
3115
3406
|
}
|
|
3116
3407
|
);
|
|
3117
3408
|
var DropdownMenuRadioGroup = RadixMenu.RadioGroup;
|
|
3118
|
-
var DropdownMenuRadioItem = /* @__PURE__ */ (0,
|
|
3409
|
+
var DropdownMenuRadioItem = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3119
3410
|
function DropdownMenuRadioItem2({ className, children, ...rest }, ref) {
|
|
3120
|
-
return /* @__PURE__ */ (0,
|
|
3121
|
-
/* @__PURE__ */ (0,
|
|
3411
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(RadixMenu.RadioItem, { ref, className: cx(item7, className), ...rest, children: [
|
|
3412
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: indicator2, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixMenu.ItemIndicator, { className: indicatorInner, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: radioDot }) }) }),
|
|
3122
3413
|
children
|
|
3123
3414
|
] });
|
|
3124
3415
|
}
|
|
3125
3416
|
);
|
|
3126
3417
|
var DropdownMenuSub = RadixMenu.Sub;
|
|
3127
|
-
var DropdownMenuSubTrigger = /* @__PURE__ */ (0,
|
|
3418
|
+
var DropdownMenuSubTrigger = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3128
3419
|
function DropdownMenuSubTrigger2({ icon: icon8, className, children, ...rest }, ref) {
|
|
3129
|
-
return /* @__PURE__ */ (0,
|
|
3130
|
-
icon8 && /* @__PURE__ */ (0,
|
|
3420
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(RadixMenu.SubTrigger, { ref, className: cx(item7, subTrigger, className), ...rest, children: [
|
|
3421
|
+
icon8 && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: icon5, "aria-hidden": true, children: icon8 }),
|
|
3131
3422
|
children,
|
|
3132
|
-
/* @__PURE__ */ (0,
|
|
3423
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: subChevron, "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_icons15.ChevronRightIcon, { size: 16 }) })
|
|
3133
3424
|
] });
|
|
3134
3425
|
}
|
|
3135
3426
|
);
|
|
3136
|
-
var DropdownMenuSubContent = /* @__PURE__ */ (0,
|
|
3427
|
+
var DropdownMenuSubContent = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3137
3428
|
function DropdownMenuSubContent2({ className, style, sideOffset = 4, alignOffset = -5, collisionPadding = 8, ...rest }, ref) {
|
|
3138
3429
|
const portal2 = usePortalProps();
|
|
3139
|
-
return /* @__PURE__ */ (0,
|
|
3430
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3140
3431
|
RadixMenu.SubContent,
|
|
3141
3432
|
{
|
|
3142
3433
|
ref,
|
|
@@ -3152,23 +3443,23 @@ var DropdownMenuSubContent = /* @__PURE__ */ (0, import_react39.forwardRef)(
|
|
|
3152
3443
|
);
|
|
3153
3444
|
|
|
3154
3445
|
// src/components/NumberInput/NumberInput.tsx
|
|
3155
|
-
var
|
|
3446
|
+
var import_react45 = require("react");
|
|
3156
3447
|
var import_icons16 = require("@bestow-ui/icons");
|
|
3157
3448
|
|
|
3158
3449
|
// src/components/NumberInput/NumberInput.css.ts
|
|
3159
|
-
var
|
|
3450
|
+
var import_createRuntimeFn21 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3160
3451
|
var end = "_1vq2qhv1";
|
|
3161
3452
|
var input4 = "_1vq2qhv0";
|
|
3162
|
-
var stepper = /* @__PURE__ */ (0,
|
|
3453
|
+
var stepper = /* @__PURE__ */ (0, import_createRuntimeFn21.createRuntimeFn)({ defaultClassName: "_1vq2qhv3", variantClassNames: { size: { sm: "_1vq2qhv4", md: "_1vq2qhv5", lg: "_1vq2qhv6" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3163
3454
|
var unit = "_1vq2qhv2";
|
|
3164
3455
|
|
|
3165
3456
|
// src/components/NumberInput/NumberInput.tsx
|
|
3166
|
-
var
|
|
3457
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3167
3458
|
var MAX_DIGITS2 = 15;
|
|
3168
3459
|
var isMeaningful = (char) => /[\d.-]/.test(char);
|
|
3169
3460
|
var decimalsOf = (n) => Number.isFinite(n) ? String(n).split(".")[1]?.length ?? 0 : 0;
|
|
3170
3461
|
var parse = (raw) => /\d/.test(raw) ? Number(raw) : null;
|
|
3171
|
-
var NumberInput = /* @__PURE__ */ (0,
|
|
3462
|
+
var NumberInput = /* @__PURE__ */ (0, import_react45.forwardRef)(
|
|
3172
3463
|
function NumberInput2(props, ref) {
|
|
3173
3464
|
const {
|
|
3174
3465
|
value: value4,
|
|
@@ -3194,8 +3485,8 @@ var NumberInput = /* @__PURE__ */ (0, import_react40.forwardRef)(
|
|
|
3194
3485
|
} = props;
|
|
3195
3486
|
const isControlled = "value" in props;
|
|
3196
3487
|
const m = useMessages();
|
|
3197
|
-
const inputRef = (0,
|
|
3198
|
-
const generatedId = (0,
|
|
3488
|
+
const inputRef = (0, import_react45.useRef)(null);
|
|
3489
|
+
const generatedId = (0, import_react45.useId)();
|
|
3199
3490
|
const inputId = id ?? generatedId;
|
|
3200
3491
|
const precision = Math.max(0, precisionProp ?? decimalsOf(step2));
|
|
3201
3492
|
const allowNegative = min === void 0 || min < 0;
|
|
@@ -3215,7 +3506,7 @@ var NumberInput = /* @__PURE__ */ (0, import_react40.forwardRef)(
|
|
|
3215
3506
|
const [, sign = "", int = "", rest2 = ""] = raw.match(/^(-?)(\d*)(.*)$/) ?? [];
|
|
3216
3507
|
return `${sign}${int ? Number(int).toLocaleString("ko-KR") : ""}${rest2}`;
|
|
3217
3508
|
};
|
|
3218
|
-
const lastEmitted = (0,
|
|
3509
|
+
const lastEmitted = (0, import_react45.useRef)(parse(toRaw(isControlled ? value4 : defaultValue)));
|
|
3219
3510
|
const emit = (next) => {
|
|
3220
3511
|
if (next === lastEmitted.current) return;
|
|
3221
3512
|
lastEmitted.current = next;
|
|
@@ -3232,7 +3523,7 @@ var NumberInput = /* @__PURE__ */ (0, import_react40.forwardRef)(
|
|
|
3232
3523
|
inputRef
|
|
3233
3524
|
});
|
|
3234
3525
|
const { setRaw } = field4;
|
|
3235
|
-
(0,
|
|
3526
|
+
(0, import_react45.useEffect)(() => {
|
|
3236
3527
|
if (!isControlled) return;
|
|
3237
3528
|
const next = value4 ?? null;
|
|
3238
3529
|
lastEmitted.current = next;
|
|
@@ -3240,7 +3531,7 @@ var NumberInput = /* @__PURE__ */ (0, import_react40.forwardRef)(
|
|
|
3240
3531
|
}, [value4]);
|
|
3241
3532
|
const current2 = parse(field4.raw);
|
|
3242
3533
|
const valueText = (n) => `${format2(toRaw(n))}${unit2 ?? ""}`;
|
|
3243
|
-
const [announcement, setAnnouncement] = (0,
|
|
3534
|
+
const [announcement, setAnnouncement] = (0, import_react45.useState)("");
|
|
3244
3535
|
const setValue = (next, announce = true) => {
|
|
3245
3536
|
setRaw(toRaw(next));
|
|
3246
3537
|
emit(next);
|
|
@@ -3274,7 +3565,7 @@ var NumberInput = /* @__PURE__ */ (0, import_react40.forwardRef)(
|
|
|
3274
3565
|
field4.onKeyDown(event);
|
|
3275
3566
|
}
|
|
3276
3567
|
};
|
|
3277
|
-
const stepper2 = (direction) => /* @__PURE__ */ (0,
|
|
3568
|
+
const stepper2 = (direction) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3278
3569
|
IconButton,
|
|
3279
3570
|
{
|
|
3280
3571
|
size: "sm",
|
|
@@ -3285,11 +3576,11 @@ var NumberInput = /* @__PURE__ */ (0, import_react40.forwardRef)(
|
|
|
3285
3576
|
onMouseDown: (event) => event.preventDefault(),
|
|
3286
3577
|
onClick: () => stepBy(direction * step2),
|
|
3287
3578
|
className: stepper({ size }),
|
|
3288
|
-
children: direction < 0 ? /* @__PURE__ */ (0,
|
|
3579
|
+
children: direction < 0 ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_icons16.MinusIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_icons16.PlusIcon, {})
|
|
3289
3580
|
}
|
|
3290
3581
|
);
|
|
3291
|
-
return /* @__PURE__ */ (0,
|
|
3292
|
-
/* @__PURE__ */ (0,
|
|
3582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
|
|
3583
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3293
3584
|
TextField,
|
|
3294
3585
|
{
|
|
3295
3586
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -3317,23 +3608,23 @@ var NumberInput = /* @__PURE__ */ (0, import_react40.forwardRef)(
|
|
|
3317
3608
|
disabled,
|
|
3318
3609
|
readOnly,
|
|
3319
3610
|
startAdornment: hideStepper ? void 0 : stepper2(-1),
|
|
3320
|
-
endAdornment: unit2 || !hideStepper ? /* @__PURE__ */ (0,
|
|
3321
|
-
unit2 && /* @__PURE__ */ (0,
|
|
3611
|
+
endAdornment: unit2 || !hideStepper ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("span", { className: end, children: [
|
|
3612
|
+
unit2 && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: unit, children: unit2 }),
|
|
3322
3613
|
!hideStepper && stepper2(1)
|
|
3323
3614
|
] }) : void 0,
|
|
3324
3615
|
className: cx(input4, className),
|
|
3325
3616
|
...rest
|
|
3326
3617
|
}
|
|
3327
3618
|
),
|
|
3328
|
-
name && /* @__PURE__ */ (0,
|
|
3329
|
-
/* @__PURE__ */ (0,
|
|
3619
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("input", { type: "hidden", name, value: current2 === null ? "" : String(current2) }),
|
|
3620
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { "aria-live": "assertive", "aria-atomic": "true", className: visuallyHidden, children: announcement })
|
|
3330
3621
|
] });
|
|
3331
3622
|
}
|
|
3332
3623
|
);
|
|
3333
3624
|
|
|
3334
3625
|
// src/components/Pagination/Pagination.tsx
|
|
3335
3626
|
var import_icons17 = require("@bestow-ui/icons");
|
|
3336
|
-
var
|
|
3627
|
+
var import_react46 = require("react");
|
|
3337
3628
|
|
|
3338
3629
|
// src/components/Pagination/getPaginationItems.ts
|
|
3339
3630
|
var range = (start, end2) => end2 < start ? [] : Array.from({ length: end2 - start + 1 }, (_, i) => start + i);
|
|
@@ -3349,25 +3640,25 @@ function getPaginationItems(page, totalPages, siblingCount = 1, boundaryCount =
|
|
|
3349
3640
|
Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2),
|
|
3350
3641
|
endPages.length > 0 ? endPages[0] - 2 : totalPages - 1
|
|
3351
3642
|
);
|
|
3352
|
-
const
|
|
3353
|
-
if (siblingsStart > boundaryCount + 2)
|
|
3354
|
-
else if (boundaryCount + 1 < totalPages - boundaryCount)
|
|
3355
|
-
|
|
3356
|
-
if (siblingsEnd < totalPages - boundaryCount - 1)
|
|
3357
|
-
else if (totalPages - boundaryCount > boundaryCount)
|
|
3358
|
-
|
|
3359
|
-
return
|
|
3643
|
+
const items3 = [...startPages];
|
|
3644
|
+
if (siblingsStart > boundaryCount + 2) items3.push("ellipsis-start");
|
|
3645
|
+
else if (boundaryCount + 1 < totalPages - boundaryCount) items3.push(boundaryCount + 1);
|
|
3646
|
+
items3.push(...range(siblingsStart, siblingsEnd));
|
|
3647
|
+
if (siblingsEnd < totalPages - boundaryCount - 1) items3.push("ellipsis-end");
|
|
3648
|
+
else if (totalPages - boundaryCount > boundaryCount) items3.push(totalPages - boundaryCount);
|
|
3649
|
+
items3.push(...endPages);
|
|
3650
|
+
return items3;
|
|
3360
3651
|
}
|
|
3361
3652
|
|
|
3362
3653
|
// src/components/Pagination/Pagination.css.ts
|
|
3363
|
-
var
|
|
3654
|
+
var import_createRuntimeFn22 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3364
3655
|
var ellipsis = "_1iraoak4";
|
|
3365
|
-
var item8 = /* @__PURE__ */ (0,
|
|
3656
|
+
var item8 = /* @__PURE__ */ (0, import_createRuntimeFn22.createRuntimeFn)({ defaultClassName: "_1iraoak1", variantClassNames: { size: { sm: "_1iraoak2", md: "_1iraoak3" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3366
3657
|
var list5 = "_1iraoak0";
|
|
3367
3658
|
|
|
3368
3659
|
// src/components/Pagination/Pagination.tsx
|
|
3369
|
-
var
|
|
3370
|
-
var Pagination = /* @__PURE__ */ (0,
|
|
3660
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3661
|
+
var Pagination = /* @__PURE__ */ (0, import_react46.forwardRef)(function Pagination2({
|
|
3371
3662
|
totalPages,
|
|
3372
3663
|
page: pageProp,
|
|
3373
3664
|
defaultPage = 1,
|
|
@@ -3380,7 +3671,7 @@ var Pagination = /* @__PURE__ */ (0, import_react41.forwardRef)(function Paginat
|
|
|
3380
3671
|
"aria-label": ariaLabelProp,
|
|
3381
3672
|
...rest
|
|
3382
3673
|
}, ref) {
|
|
3383
|
-
const [uncontrolledPage, setUncontrolledPage] = (0,
|
|
3674
|
+
const [uncontrolledPage, setUncontrolledPage] = (0, import_react46.useState)(defaultPage);
|
|
3384
3675
|
const m = useMessages();
|
|
3385
3676
|
const ariaLabel = ariaLabelProp ?? m.pagination ?? "\uD398\uC774\uC9C0 \uD0D0\uC0C9";
|
|
3386
3677
|
const getItemLabel = getItemLabelProp ?? ((type, n) => type === "previous" ? m.paginationPrevious ?? "\uC774\uC804 \uD398\uC774\uC9C0" : type === "next" ? m.paginationNext ?? "\uB2E4\uC74C \uD398\uC774\uC9C0" : m.paginationPage?.(n) ?? `${n} \uD398\uC774\uC9C0`);
|
|
@@ -3392,8 +3683,8 @@ var Pagination = /* @__PURE__ */ (0, import_react41.forwardRef)(function Paginat
|
|
|
3392
3683
|
onPageChange?.(next);
|
|
3393
3684
|
};
|
|
3394
3685
|
const itemClass = item8({ size });
|
|
3395
|
-
return /* @__PURE__ */ (0,
|
|
3396
|
-
/* @__PURE__ */ (0,
|
|
3686
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("nav", { ref, "aria-label": ariaLabel, className, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("ul", { className: list5, children: [
|
|
3687
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3397
3688
|
"button",
|
|
3398
3689
|
{
|
|
3399
3690
|
type: "button",
|
|
@@ -3401,11 +3692,11 @@ var Pagination = /* @__PURE__ */ (0, import_react41.forwardRef)(function Paginat
|
|
|
3401
3692
|
"aria-label": getItemLabel("previous", page - 1),
|
|
3402
3693
|
disabled: page <= 1,
|
|
3403
3694
|
onClick: () => goTo(page - 1),
|
|
3404
|
-
children: /* @__PURE__ */ (0,
|
|
3695
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons17.ChevronLeftIcon, { size: 16 })
|
|
3405
3696
|
}
|
|
3406
3697
|
) }),
|
|
3407
3698
|
getPaginationItems(page, totalPages, siblingCount, boundaryCount).map(
|
|
3408
|
-
(item10) => typeof item10 === "number" ? /* @__PURE__ */ (0,
|
|
3699
|
+
(item10) => typeof item10 === "number" ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3409
3700
|
"button",
|
|
3410
3701
|
{
|
|
3411
3702
|
type: "button",
|
|
@@ -3415,9 +3706,9 @@ var Pagination = /* @__PURE__ */ (0, import_react41.forwardRef)(function Paginat
|
|
|
3415
3706
|
onClick: () => goTo(item10),
|
|
3416
3707
|
children: item10
|
|
3417
3708
|
}
|
|
3418
|
-
) }, item10) : /* @__PURE__ */ (0,
|
|
3709
|
+
) }, item10) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("li", { "aria-hidden": true, className: cx(itemClass, ellipsis), children: "\u2026" }, item10)
|
|
3419
3710
|
),
|
|
3420
|
-
/* @__PURE__ */ (0,
|
|
3711
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3421
3712
|
"button",
|
|
3422
3713
|
{
|
|
3423
3714
|
type: "button",
|
|
@@ -3425,22 +3716,22 @@ var Pagination = /* @__PURE__ */ (0, import_react41.forwardRef)(function Paginat
|
|
|
3425
3716
|
"aria-label": getItemLabel("next", page + 1),
|
|
3426
3717
|
disabled: page >= totalPages,
|
|
3427
3718
|
onClick: () => goTo(page + 1),
|
|
3428
|
-
children: /* @__PURE__ */ (0,
|
|
3719
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons17.ChevronRightIcon, { size: 16 })
|
|
3429
3720
|
}
|
|
3430
3721
|
) })
|
|
3431
3722
|
] }) });
|
|
3432
3723
|
});
|
|
3433
3724
|
|
|
3434
3725
|
// src/components/PhoneNumberInput/PhoneNumberInput.tsx
|
|
3435
|
-
var
|
|
3436
|
-
var
|
|
3437
|
-
var
|
|
3726
|
+
var import_react47 = require("react");
|
|
3727
|
+
var import_korean_utils7 = require("@bestow-ui/korean-utils");
|
|
3728
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3438
3729
|
var sanitize3 = (input6) => {
|
|
3439
3730
|
const digits = input6.replace(/\D/g, "");
|
|
3440
|
-
return digits.slice(0, (0,
|
|
3731
|
+
return digits.slice(0, (0, import_korean_utils7.phoneNumberMaxDigits)(digits));
|
|
3441
3732
|
};
|
|
3442
3733
|
var isDigit4 = (char) => /\d/.test(char);
|
|
3443
|
-
var PhoneNumberInput = /* @__PURE__ */ (0,
|
|
3734
|
+
var PhoneNumberInput = /* @__PURE__ */ (0, import_react47.forwardRef)(
|
|
3444
3735
|
function PhoneNumberInput2(props, ref) {
|
|
3445
3736
|
const {
|
|
3446
3737
|
value: value4,
|
|
@@ -3451,7 +3742,7 @@ var PhoneNumberInput = /* @__PURE__ */ (0, import_react42.forwardRef)(
|
|
|
3451
3742
|
onKeyDown,
|
|
3452
3743
|
...rest
|
|
3453
3744
|
} = props;
|
|
3454
|
-
const inputRef = (0,
|
|
3745
|
+
const inputRef = (0, import_react47.useRef)(null);
|
|
3455
3746
|
const m = useMessages();
|
|
3456
3747
|
const label7 = labelProp ?? m.phoneNumber ?? "\uD734\uB300\uD3F0 \uBC88\uD638";
|
|
3457
3748
|
const field4 = useFormattedInput({
|
|
@@ -3460,11 +3751,11 @@ var PhoneNumberInput = /* @__PURE__ */ (0, import_react42.forwardRef)(
|
|
|
3460
3751
|
defaultValue,
|
|
3461
3752
|
onValueChange,
|
|
3462
3753
|
sanitize: sanitize3,
|
|
3463
|
-
format:
|
|
3754
|
+
format: import_korean_utils7.formatPhoneNumber,
|
|
3464
3755
|
isMeaningful: isDigit4,
|
|
3465
3756
|
inputRef
|
|
3466
3757
|
});
|
|
3467
|
-
return /* @__PURE__ */ (0,
|
|
3758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3468
3759
|
TextField,
|
|
3469
3760
|
{
|
|
3470
3761
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -3486,21 +3777,21 @@ var PhoneNumberInput = /* @__PURE__ */ (0, import_react42.forwardRef)(
|
|
|
3486
3777
|
);
|
|
3487
3778
|
|
|
3488
3779
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
3489
|
-
var
|
|
3780
|
+
var import_react48 = require("react");
|
|
3490
3781
|
|
|
3491
3782
|
// src/components/RadioGroup/RadioGroup.css.ts
|
|
3492
|
-
var
|
|
3493
|
-
var
|
|
3494
|
-
var
|
|
3495
|
-
var
|
|
3783
|
+
var import_createRuntimeFn23 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3784
|
+
var description6 = "_1w9iwjmc";
|
|
3785
|
+
var groupLabel2 = "_1w9iwjmd";
|
|
3786
|
+
var items2 = /* @__PURE__ */ (0, import_createRuntimeFn23.createRuntimeFn)({ defaultClassName: "_1w9iwjm0", variantClassNames: { orientation: { vertical: "_1w9iwjm1", horizontal: "_1w9iwjm2" } }, defaultVariants: { orientation: "vertical" }, compoundVariants: [] });
|
|
3496
3787
|
var labelText = "_1w9iwjmb";
|
|
3497
|
-
var
|
|
3498
|
-
var radio = /* @__PURE__ */ (0,
|
|
3788
|
+
var option2 = /* @__PURE__ */ (0, import_createRuntimeFn23.createRuntimeFn)({ defaultClassName: "_1w9iwjm3", variantClassNames: { size: { sm: "_1w9iwjm4", md: "_1w9iwjm5" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3789
|
+
var radio = /* @__PURE__ */ (0, import_createRuntimeFn23.createRuntimeFn)({ defaultClassName: "_1w9iwjm7", variantClassNames: { size: { sm: "_1w9iwjm8", md: "_1w9iwjm9" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3499
3790
|
var text = "_1w9iwjma";
|
|
3500
3791
|
|
|
3501
3792
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
3502
|
-
var
|
|
3503
|
-
var RadioGroup2 = /* @__PURE__ */ (0,
|
|
3793
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3794
|
+
var RadioGroup2 = /* @__PURE__ */ (0, import_react48.forwardRef)(function RadioGroup3(props, ref) {
|
|
3504
3795
|
const {
|
|
3505
3796
|
options,
|
|
3506
3797
|
value: value4,
|
|
@@ -3519,9 +3810,9 @@ var RadioGroup2 = /* @__PURE__ */ (0, import_react43.forwardRef)(function RadioG
|
|
|
3519
3810
|
className
|
|
3520
3811
|
} = props;
|
|
3521
3812
|
const isControlled = "value" in props;
|
|
3522
|
-
const [innerValue, setInnerValue] = (0,
|
|
3813
|
+
const [innerValue, setInnerValue] = (0, import_react48.useState)(defaultValue ?? "");
|
|
3523
3814
|
const current2 = isControlled ? value4 ?? "" : innerValue;
|
|
3524
|
-
const generatedId = (0,
|
|
3815
|
+
const generatedId = (0, import_react48.useId)();
|
|
3525
3816
|
const baseId = id ?? generatedId;
|
|
3526
3817
|
const labelId = label7 ? `${baseId}-label` : void 0;
|
|
3527
3818
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
@@ -3532,12 +3823,12 @@ var RadioGroup2 = /* @__PURE__ */ (0, import_react43.forwardRef)(function RadioG
|
|
|
3532
3823
|
if (!isControlled) setInnerValue(next);
|
|
3533
3824
|
onValueChange?.(next);
|
|
3534
3825
|
};
|
|
3535
|
-
return /* @__PURE__ */ (0,
|
|
3536
|
-
label7 && /* @__PURE__ */ (0,
|
|
3826
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: cx(field, className), children: [
|
|
3827
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("span", { id: labelId, className: cx(label, groupLabel2), children: [
|
|
3537
3828
|
label7,
|
|
3538
|
-
required && /* @__PURE__ */ (0,
|
|
3829
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
3539
3830
|
] }),
|
|
3540
|
-
/* @__PURE__ */ (0,
|
|
3831
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3541
3832
|
"div",
|
|
3542
3833
|
{
|
|
3543
3834
|
ref,
|
|
@@ -3549,23 +3840,23 @@ var RadioGroup2 = /* @__PURE__ */ (0, import_react43.forwardRef)(function RadioG
|
|
|
3549
3840
|
"aria-invalid": error || void 0,
|
|
3550
3841
|
"aria-required": required || void 0,
|
|
3551
3842
|
"data-disabled": disabled || void 0,
|
|
3552
|
-
className:
|
|
3553
|
-
children: options.map((
|
|
3554
|
-
const itemId = `${baseId}-${
|
|
3555
|
-
const descriptionId =
|
|
3556
|
-
const itemDisabled = disabled ||
|
|
3557
|
-
const checked =
|
|
3558
|
-
return /* @__PURE__ */ (0,
|
|
3559
|
-
/* @__PURE__ */ (0,
|
|
3843
|
+
className: items2({ orientation }),
|
|
3844
|
+
children: options.map((option3) => {
|
|
3845
|
+
const itemId = `${baseId}-${option3.value}`;
|
|
3846
|
+
const descriptionId = option3.description ? `${itemId}-description` : void 0;
|
|
3847
|
+
const itemDisabled = disabled || option3.disabled;
|
|
3848
|
+
const checked = option3.value === current2;
|
|
3849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: option2({ size }), "data-disabled": itemDisabled || void 0, children: [
|
|
3850
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3560
3851
|
"input",
|
|
3561
3852
|
{
|
|
3562
3853
|
type: "radio",
|
|
3563
3854
|
id: itemId,
|
|
3564
3855
|
name: groupName,
|
|
3565
3856
|
form: detachedForm,
|
|
3566
|
-
value:
|
|
3857
|
+
value: option3.value,
|
|
3567
3858
|
checked,
|
|
3568
|
-
onChange: () => handleChange(
|
|
3859
|
+
onChange: () => handleChange(option3.value),
|
|
3569
3860
|
disabled: itemDisabled,
|
|
3570
3861
|
required,
|
|
3571
3862
|
"aria-describedby": descriptionId,
|
|
@@ -3573,31 +3864,177 @@ var RadioGroup2 = /* @__PURE__ */ (0, import_react43.forwardRef)(function RadioG
|
|
|
3573
3864
|
className: radio({ size })
|
|
3574
3865
|
}
|
|
3575
3866
|
),
|
|
3576
|
-
/* @__PURE__ */ (0,
|
|
3577
|
-
/* @__PURE__ */ (0,
|
|
3578
|
-
|
|
3867
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("span", { className: text, children: [
|
|
3868
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)("label", { htmlFor: itemId, className: labelText, children: option3.label }),
|
|
3869
|
+
option3.description && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { id: descriptionId, className: description6, children: option3.description })
|
|
3579
3870
|
] })
|
|
3580
|
-
] },
|
|
3871
|
+
] }, option3.value);
|
|
3581
3872
|
})
|
|
3582
3873
|
}
|
|
3583
3874
|
),
|
|
3584
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
3875
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
3585
3876
|
] });
|
|
3586
3877
|
});
|
|
3587
3878
|
|
|
3879
|
+
// src/components/ResidentNumberInput/ResidentNumberInput.tsx
|
|
3880
|
+
var import_react49 = require("react");
|
|
3881
|
+
var import_korean_utils8 = require("@bestow-ui/korean-utils");
|
|
3882
|
+
|
|
3883
|
+
// src/components/ResidentNumberInput/ResidentNumberInput.css.ts
|
|
3884
|
+
var back = "_1llmfr72";
|
|
3885
|
+
var backOne = "_1llmfr73";
|
|
3886
|
+
var front = "_1llmfr71";
|
|
3887
|
+
var hiddenDigits = "_1llmfr75";
|
|
3888
|
+
var row3 = "_1llmfr70";
|
|
3889
|
+
var separator4 = "_1llmfr74";
|
|
3890
|
+
|
|
3891
|
+
// src/components/ResidentNumberInput/ResidentNumberInput.tsx
|
|
3892
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3893
|
+
var onlyDigits = (input6) => input6.replace(/\D/g, "");
|
|
3894
|
+
var ResidentNumberInput = /* @__PURE__ */ (0, import_react49.forwardRef)(
|
|
3895
|
+
function ResidentNumberInput2(props, ref) {
|
|
3896
|
+
const {
|
|
3897
|
+
value: value4,
|
|
3898
|
+
defaultValue,
|
|
3899
|
+
onValueChange,
|
|
3900
|
+
digits = 13,
|
|
3901
|
+
validate = true,
|
|
3902
|
+
invalidText: invalidTextProp,
|
|
3903
|
+
label: labelProp,
|
|
3904
|
+
helperText: helperText3,
|
|
3905
|
+
error,
|
|
3906
|
+
required,
|
|
3907
|
+
disabled,
|
|
3908
|
+
size,
|
|
3909
|
+
name,
|
|
3910
|
+
id,
|
|
3911
|
+
className,
|
|
3912
|
+
onBlur
|
|
3913
|
+
} = props;
|
|
3914
|
+
const m = useMessages();
|
|
3915
|
+
const label7 = labelProp ?? m.residentNumber ?? "\uC8FC\uBBFC\uB4F1\uB85D\uBC88\uD638";
|
|
3916
|
+
const invalidText = invalidTextProp ?? m.residentNumberInvalid ?? "\uC62C\uBC14\uB978 \uC8FC\uBBFC\uB4F1\uB85D\uBC88\uD638\uAC00 \uC544\uB2C8\uC5D0\uC694. \uC0DD\uB144\uC6D4\uC77C\uACFC \uB4B7\uC790\uB9AC \uCCAB \uC22B\uC790\uB97C \uD655\uC778\uD574 \uC8FC\uC138\uC694.";
|
|
3917
|
+
const incompleteText = m.residentNumberIncomplete?.(digits) ?? `${digits}\uC790\uB9AC\uB97C \uBAA8\uB450 \uC785\uB825\uD574 \uC8FC\uC138\uC694.`;
|
|
3918
|
+
const backLength = digits - 6;
|
|
3919
|
+
const isControlled = "value" in props;
|
|
3920
|
+
const split = (v) => {
|
|
3921
|
+
const d = onlyDigits(v).slice(0, digits);
|
|
3922
|
+
return { front: d.slice(0, 6), back: d.slice(6) };
|
|
3923
|
+
};
|
|
3924
|
+
const [parts, setParts] = (0, import_react49.useState)(() => split((isControlled ? value4 : defaultValue) ?? ""));
|
|
3925
|
+
const current2 = isControlled && (value4 ?? "") !== parts.front + parts.back ? split(value4 ?? "") : parts;
|
|
3926
|
+
const raw = current2.front + current2.back;
|
|
3927
|
+
const generatedId = (0, import_react49.useId)();
|
|
3928
|
+
const baseId = id ?? generatedId;
|
|
3929
|
+
const frontId = `${baseId}-front`;
|
|
3930
|
+
const backId = `${baseId}-back`;
|
|
3931
|
+
const labelId = `${baseId}-label`;
|
|
3932
|
+
const frontRef = (0, import_react49.useRef)(null);
|
|
3933
|
+
const backRef = (0, import_react49.useRef)(null);
|
|
3934
|
+
const complete = current2.front.length === 6 && current2.back.length === backLength;
|
|
3935
|
+
const isValid = (v) => digits === 13 ? (0, import_korean_utils8.isValidResidentNumber)(v) : (0, import_korean_utils8.parseResidentNumber)(v) !== null;
|
|
3936
|
+
const update = (next) => {
|
|
3937
|
+
setParts(next);
|
|
3938
|
+
const nextRaw = next.front + next.back;
|
|
3939
|
+
if (nextRaw === raw) return;
|
|
3940
|
+
const nextComplete = next.front.length === 6 && next.back.length === backLength;
|
|
3941
|
+
onValueChange?.(nextRaw, nextComplete ? isValid(nextRaw) : null);
|
|
3942
|
+
};
|
|
3943
|
+
const [touched, setTouched] = (0, import_react49.useState)(false);
|
|
3944
|
+
const autoInvalid = validate && raw.length > 0 && (complete ? !isValid(raw) : touched);
|
|
3945
|
+
const showAuto = autoInvalid && error === void 0;
|
|
3946
|
+
const invalid = error ?? autoInvalid;
|
|
3947
|
+
const helper = showAuto ? complete ? invalidText : incompleteText : helperText3;
|
|
3948
|
+
const helperId = helper ? `${baseId}-helper` : void 0;
|
|
3949
|
+
const announcement = useDelayedAnnouncement(showAuto && complete ? invalidText : "");
|
|
3950
|
+
const common = {
|
|
3951
|
+
inputMode: "numeric",
|
|
3952
|
+
autoComplete: "off",
|
|
3953
|
+
size,
|
|
3954
|
+
disabled,
|
|
3955
|
+
required,
|
|
3956
|
+
invalid,
|
|
3957
|
+
"aria-describedby": helperId
|
|
3958
|
+
};
|
|
3959
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
3960
|
+
"div",
|
|
3961
|
+
{
|
|
3962
|
+
className: cx(field, className),
|
|
3963
|
+
onBlur: (event) => {
|
|
3964
|
+
if (!event.currentTarget.contains(event.relatedTarget)) setTouched(true);
|
|
3965
|
+
onBlur?.(event);
|
|
3966
|
+
},
|
|
3967
|
+
children: [
|
|
3968
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("label", { id: labelId, htmlFor: frontId, className: label, children: [
|
|
3969
|
+
label7,
|
|
3970
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
3971
|
+
] }),
|
|
3972
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { role: "group", id: baseId, "aria-labelledby": labelId, className: row3, children: [
|
|
3973
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3974
|
+
Input,
|
|
3975
|
+
{
|
|
3976
|
+
...common,
|
|
3977
|
+
ref: mergeRefs(ref, frontRef),
|
|
3978
|
+
id: frontId,
|
|
3979
|
+
"aria-label": m.residentNumberFront ?? "\uC55E 6\uC790\uB9AC",
|
|
3980
|
+
placeholder: "000000",
|
|
3981
|
+
rootClassName: front,
|
|
3982
|
+
maxLength: 6,
|
|
3983
|
+
value: current2.front,
|
|
3984
|
+
onChange: (event) => update({ front: onlyDigits(event.target.value).slice(0, 6), back: current2.back }),
|
|
3985
|
+
onPaste: (event) => {
|
|
3986
|
+
const pasted = onlyDigits(event.clipboardData.getData("text"));
|
|
3987
|
+
if (pasted.length <= 6) return;
|
|
3988
|
+
event.preventDefault();
|
|
3989
|
+
update(split(pasted));
|
|
3990
|
+
}
|
|
3991
|
+
}
|
|
3992
|
+
),
|
|
3993
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: separator4, "aria-hidden": true, children: "-" }),
|
|
3994
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3995
|
+
Input,
|
|
3996
|
+
{
|
|
3997
|
+
...common,
|
|
3998
|
+
ref: backRef,
|
|
3999
|
+
id: backId,
|
|
4000
|
+
type: digits === 13 ? "password" : "text",
|
|
4001
|
+
"aria-label": digits === 13 ? m.residentNumberBack ?? "\uB4A4 7\uC790\uB9AC" : m.residentNumberBackFirst ?? "\uB4B7\uC790\uB9AC \uCCAB \uC22B\uC790",
|
|
4002
|
+
maxLength: backLength,
|
|
4003
|
+
rootClassName: digits === 13 ? back : backOne,
|
|
4004
|
+
value: current2.back,
|
|
4005
|
+
onChange: (event) => update({ front: current2.front, back: onlyDigits(event.target.value).slice(0, backLength) }),
|
|
4006
|
+
onKeyDown: (event) => {
|
|
4007
|
+
if (event.key === "Backspace" && current2.back === "") {
|
|
4008
|
+
event.preventDefault();
|
|
4009
|
+
frontRef.current?.focus();
|
|
4010
|
+
}
|
|
4011
|
+
}
|
|
4012
|
+
}
|
|
4013
|
+
),
|
|
4014
|
+
digits === 7 && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: hiddenDigits, "aria-hidden": true, children: "\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF" })
|
|
4015
|
+
] }),
|
|
4016
|
+
helper && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { id: helperId, className: helperText({ error: invalid }), children: helper }),
|
|
4017
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("input", { type: "hidden", name, value: raw }),
|
|
4018
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { role: "status", className: visuallyHidden, children: announcement })
|
|
4019
|
+
]
|
|
4020
|
+
}
|
|
4021
|
+
);
|
|
4022
|
+
}
|
|
4023
|
+
);
|
|
4024
|
+
|
|
3588
4025
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
3589
|
-
var
|
|
4026
|
+
var import_react50 = require("react");
|
|
3590
4027
|
|
|
3591
4028
|
// src/components/SegmentedControl/SegmentedControl.css.ts
|
|
3592
|
-
var
|
|
4029
|
+
var import_createRuntimeFn24 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3593
4030
|
var icon6 = "_1h65mmo7";
|
|
3594
|
-
var item9 = /* @__PURE__ */ (0,
|
|
3595
|
-
var root11 = /* @__PURE__ */ (0,
|
|
4031
|
+
var item9 = /* @__PURE__ */ (0, import_createRuntimeFn24.createRuntimeFn)({ defaultClassName: "_1h65mmo2", variantClassNames: { size: { sm: "_1h65mmo3", md: "_1h65mmo4", lg: "_1h65mmo5" }, fullWidth: { true: "_1h65mmo6" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
4032
|
+
var root11 = /* @__PURE__ */ (0, import_createRuntimeFn24.createRuntimeFn)({ defaultClassName: "_1h65mmo0", variantClassNames: { fullWidth: { true: "_1h65mmo1" } }, defaultVariants: {}, compoundVariants: [] });
|
|
3596
4033
|
|
|
3597
4034
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
3598
|
-
var
|
|
4035
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
3599
4036
|
var NEXT_KEYS = { ArrowRight: 1, ArrowDown: 1, ArrowLeft: -1, ArrowUp: -1 };
|
|
3600
|
-
var SegmentedControl = /* @__PURE__ */ (0,
|
|
4037
|
+
var SegmentedControl = /* @__PURE__ */ (0, import_react50.forwardRef)(
|
|
3601
4038
|
function SegmentedControl2(props, ref) {
|
|
3602
4039
|
const {
|
|
3603
4040
|
options,
|
|
@@ -3614,11 +4051,11 @@ var SegmentedControl = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3614
4051
|
className
|
|
3615
4052
|
} = props;
|
|
3616
4053
|
const isControlled = "value" in props;
|
|
3617
|
-
const [innerValue, setInnerValue] = (0,
|
|
4054
|
+
const [innerValue, setInnerValue] = (0, import_react50.useState)(defaultValue ?? "");
|
|
3618
4055
|
const current2 = isControlled ? value4 ?? "" : innerValue;
|
|
3619
|
-
const generatedId = (0,
|
|
4056
|
+
const generatedId = (0, import_react50.useId)();
|
|
3620
4057
|
const labelId = label7 ? `${id ?? generatedId}-label` : void 0;
|
|
3621
|
-
const itemRefs = (0,
|
|
4058
|
+
const itemRefs = (0, import_react50.useRef)([]);
|
|
3622
4059
|
const isEnabled = (index) => !disabled && !options[index]?.disabled;
|
|
3623
4060
|
const select2 = (index) => {
|
|
3624
4061
|
const next = options[index].value;
|
|
@@ -3626,7 +4063,7 @@ var SegmentedControl = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3626
4063
|
if (!isControlled) setInnerValue(next);
|
|
3627
4064
|
onValueChange?.(next);
|
|
3628
4065
|
};
|
|
3629
|
-
const checkedIndex = options.findIndex((
|
|
4066
|
+
const checkedIndex = options.findIndex((option3) => option3.value === current2);
|
|
3630
4067
|
const tabStop = checkedIndex >= 0 && isEnabled(checkedIndex) ? checkedIndex : options.findIndex((_, i) => isEnabled(i));
|
|
3631
4068
|
const handleKeyDown = (event, index) => {
|
|
3632
4069
|
let target = -1;
|
|
@@ -3649,7 +4086,7 @@ var SegmentedControl = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3649
4086
|
itemRefs.current[target]?.focus();
|
|
3650
4087
|
select2(target);
|
|
3651
4088
|
};
|
|
3652
|
-
const group = /* @__PURE__ */ (0,
|
|
4089
|
+
const group = /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
3653
4090
|
"div",
|
|
3654
4091
|
{
|
|
3655
4092
|
ref,
|
|
@@ -3660,9 +4097,9 @@ var SegmentedControl = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3660
4097
|
"aria-disabled": disabled || void 0,
|
|
3661
4098
|
className: cx(root11({ fullWidth }), !label7 && className),
|
|
3662
4099
|
children: [
|
|
3663
|
-
options.map((
|
|
4100
|
+
options.map((option3, index) => {
|
|
3664
4101
|
const checked = index === checkedIndex;
|
|
3665
|
-
return /* @__PURE__ */ (0,
|
|
4102
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
3666
4103
|
"button",
|
|
3667
4104
|
{
|
|
3668
4105
|
ref: (node) => {
|
|
@@ -3679,38 +4116,38 @@ var SegmentedControl = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
|
3679
4116
|
onClick: () => select2(index),
|
|
3680
4117
|
onKeyDown: (event) => handleKeyDown(event, index),
|
|
3681
4118
|
children: [
|
|
3682
|
-
|
|
3683
|
-
|
|
4119
|
+
option3.icon && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { "aria-hidden": true, className: icon6, children: option3.icon }),
|
|
4120
|
+
option3.label
|
|
3684
4121
|
]
|
|
3685
4122
|
},
|
|
3686
|
-
|
|
4123
|
+
option3.value
|
|
3687
4124
|
);
|
|
3688
4125
|
}),
|
|
3689
|
-
name && /* @__PURE__ */ (0,
|
|
4126
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("input", { type: "hidden", name, value: current2 })
|
|
3690
4127
|
]
|
|
3691
4128
|
}
|
|
3692
4129
|
);
|
|
3693
4130
|
if (!label7) return group;
|
|
3694
|
-
return /* @__PURE__ */ (0,
|
|
3695
|
-
/* @__PURE__ */ (0,
|
|
4131
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: cx(field, className), children: [
|
|
4132
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { id: labelId, className: label, children: label7 }),
|
|
3696
4133
|
group
|
|
3697
4134
|
] });
|
|
3698
4135
|
}
|
|
3699
4136
|
);
|
|
3700
4137
|
|
|
3701
4138
|
// src/components/NativeSelect/NativeSelect.tsx
|
|
3702
|
-
var
|
|
4139
|
+
var import_react51 = require("react");
|
|
3703
4140
|
var import_icons18 = require("@bestow-ui/icons");
|
|
3704
4141
|
|
|
3705
4142
|
// src/components/NativeSelect/NativeSelect.css.ts
|
|
3706
|
-
var
|
|
3707
|
-
var icon7 = /* @__PURE__ */ (0,
|
|
3708
|
-
var select = /* @__PURE__ */ (0,
|
|
4143
|
+
var import_createRuntimeFn25 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
4144
|
+
var icon7 = /* @__PURE__ */ (0, import_createRuntimeFn25.createRuntimeFn)({ defaultClassName: "_5silym5", variantClassNames: { size: { sm: "_5silym6", md: "_5silym7", lg: "_5silym8" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
4145
|
+
var select = /* @__PURE__ */ (0, import_createRuntimeFn25.createRuntimeFn)({ defaultClassName: "_5silym1", variantClassNames: { size: { sm: "_5silym2", md: "_5silym3", lg: "_5silym4" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3709
4146
|
var wrapper = "_5silym0";
|
|
3710
4147
|
|
|
3711
4148
|
// src/components/NativeSelect/NativeSelect.tsx
|
|
3712
|
-
var
|
|
3713
|
-
var NativeSelect = /* @__PURE__ */ (0,
|
|
4149
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
4150
|
+
var NativeSelect = /* @__PURE__ */ (0, import_react51.forwardRef)(function NativeSelect2({
|
|
3714
4151
|
options,
|
|
3715
4152
|
onValueChange,
|
|
3716
4153
|
onChange,
|
|
@@ -3730,26 +4167,26 @@ var NativeSelect = /* @__PURE__ */ (0, import_react45.forwardRef)(function Nativ
|
|
|
3730
4167
|
"aria-describedby": ariaDescribedBy,
|
|
3731
4168
|
...rest
|
|
3732
4169
|
}, ref) {
|
|
3733
|
-
const generatedId = (0,
|
|
4170
|
+
const generatedId = (0, import_react51.useId)();
|
|
3734
4171
|
const selectId = id ?? generatedId;
|
|
3735
4172
|
const helperId = helperText3 ? `${selectId}-helper` : void 0;
|
|
3736
4173
|
const handleChange = (event) => {
|
|
3737
4174
|
onChange?.(event);
|
|
3738
4175
|
onValueChange?.(event.target.value);
|
|
3739
4176
|
};
|
|
3740
|
-
return /* @__PURE__ */ (0,
|
|
3741
|
-
label7 && /* @__PURE__ */ (0,
|
|
4177
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
4178
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("label", { htmlFor: selectId, className: label, children: [
|
|
3742
4179
|
label7,
|
|
3743
|
-
required && /* @__PURE__ */ (0,
|
|
4180
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
3744
4181
|
] }),
|
|
3745
|
-
/* @__PURE__ */ (0,
|
|
4182
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
3746
4183
|
"span",
|
|
3747
4184
|
{
|
|
3748
|
-
className: cx(
|
|
4185
|
+
className: cx(root2({ size, fullWidth }), wrapper),
|
|
3749
4186
|
"data-invalid": error || void 0,
|
|
3750
4187
|
"data-disabled": disabled || void 0,
|
|
3751
4188
|
children: [
|
|
3752
|
-
/* @__PURE__ */ (0,
|
|
4189
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
3753
4190
|
"select",
|
|
3754
4191
|
{
|
|
3755
4192
|
ref,
|
|
@@ -3764,25 +4201,25 @@ var NativeSelect = /* @__PURE__ */ (0, import_react45.forwardRef)(function Nativ
|
|
|
3764
4201
|
className: cx(select({ size }), className),
|
|
3765
4202
|
...rest,
|
|
3766
4203
|
children: [
|
|
3767
|
-
placeholder !== void 0 && /* @__PURE__ */ (0,
|
|
3768
|
-
options ? options.map((
|
|
4204
|
+
placeholder !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("option", { value: "", disabled: true, children: placeholder }),
|
|
4205
|
+
options ? options.map((option3) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("option", { value: option3.value, disabled: option3.disabled, children: option3.label }, option3.value)) : children
|
|
3769
4206
|
]
|
|
3770
4207
|
}
|
|
3771
4208
|
),
|
|
3772
|
-
/* @__PURE__ */ (0,
|
|
4209
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_icons18.ChevronDownIcon, { size: 16, className: icon7({ size }) })
|
|
3773
4210
|
]
|
|
3774
4211
|
}
|
|
3775
4212
|
),
|
|
3776
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
4213
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
3777
4214
|
] });
|
|
3778
4215
|
});
|
|
3779
4216
|
|
|
3780
4217
|
// src/components/Select/Select.tsx
|
|
3781
4218
|
var RadixSelect = __toESM(require("@radix-ui/react-select"), 1);
|
|
3782
|
-
var
|
|
4219
|
+
var import_react52 = require("react");
|
|
3783
4220
|
var import_icons19 = require("@bestow-ui/icons");
|
|
3784
|
-
var
|
|
3785
|
-
var Select = /* @__PURE__ */ (0,
|
|
4221
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
4222
|
+
var Select = /* @__PURE__ */ (0, import_react52.forwardRef)(function Select2(props, ref) {
|
|
3786
4223
|
const {
|
|
3787
4224
|
options,
|
|
3788
4225
|
value: value4,
|
|
@@ -3802,16 +4239,16 @@ var Select = /* @__PURE__ */ (0, import_react46.forwardRef)(function Select2(pro
|
|
|
3802
4239
|
className
|
|
3803
4240
|
} = props;
|
|
3804
4241
|
const isControlled = "value" in props;
|
|
3805
|
-
const generatedId = (0,
|
|
4242
|
+
const generatedId = (0, import_react52.useId)();
|
|
3806
4243
|
const triggerId = id ?? generatedId;
|
|
3807
4244
|
const helperId = helperText3 ? `${triggerId}-helper` : void 0;
|
|
3808
4245
|
const portal2 = usePortalProps();
|
|
3809
|
-
return /* @__PURE__ */ (0,
|
|
3810
|
-
label7 && /* @__PURE__ */ (0,
|
|
4246
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
4247
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("label", { htmlFor: triggerId, className: label, children: [
|
|
3811
4248
|
label7,
|
|
3812
|
-
required && /* @__PURE__ */ (0,
|
|
4249
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
3813
4250
|
] }),
|
|
3814
|
-
/* @__PURE__ */ (0,
|
|
4251
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
3815
4252
|
RadixSelect.Root,
|
|
3816
4253
|
{
|
|
3817
4254
|
value: isControlled ? value4 ?? "" : void 0,
|
|
@@ -3821,7 +4258,7 @@ var Select = /* @__PURE__ */ (0, import_react46.forwardRef)(function Select2(pro
|
|
|
3821
4258
|
required,
|
|
3822
4259
|
name,
|
|
3823
4260
|
children: [
|
|
3824
|
-
/* @__PURE__ */ (0,
|
|
4261
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
3825
4262
|
RadixSelect.Trigger,
|
|
3826
4263
|
{
|
|
3827
4264
|
ref,
|
|
@@ -3830,14 +4267,14 @@ var Select = /* @__PURE__ */ (0, import_react46.forwardRef)(function Select2(pro
|
|
|
3830
4267
|
"aria-invalid": error || void 0,
|
|
3831
4268
|
"aria-describedby": helperId,
|
|
3832
4269
|
"data-invalid": error || void 0,
|
|
3833
|
-
className: cx(
|
|
4270
|
+
className: cx(root2({ size, fullWidth }), trigger2, className),
|
|
3834
4271
|
children: [
|
|
3835
|
-
/* @__PURE__ */ (0,
|
|
3836
|
-
/* @__PURE__ */ (0,
|
|
4272
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: value2, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(RadixSelect.Value, { placeholder }) }),
|
|
4273
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(RadixSelect.Icon, { className: icon4, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_icons19.ChevronDownIcon, { size: 16 }) })
|
|
3837
4274
|
]
|
|
3838
4275
|
}
|
|
3839
4276
|
),
|
|
3840
|
-
/* @__PURE__ */ (0,
|
|
4277
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(RadixSelect.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3841
4278
|
RadixSelect.Content,
|
|
3842
4279
|
{
|
|
3843
4280
|
position: "popper",
|
|
@@ -3845,37 +4282,37 @@ var Select = /* @__PURE__ */ (0, import_react46.forwardRef)(function Select2(pro
|
|
|
3845
4282
|
collisionPadding: 8,
|
|
3846
4283
|
className: cx(portal2.className, content5),
|
|
3847
4284
|
style: portal2.style,
|
|
3848
|
-
children: /* @__PURE__ */ (0,
|
|
4285
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(RadixSelect.Viewport, { className: viewport, children: options.map((option3) => /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
3849
4286
|
RadixSelect.Item,
|
|
3850
4287
|
{
|
|
3851
|
-
value:
|
|
3852
|
-
disabled:
|
|
4288
|
+
value: option3.value,
|
|
4289
|
+
disabled: option3.disabled,
|
|
3853
4290
|
className: item5,
|
|
3854
4291
|
children: [
|
|
3855
|
-
/* @__PURE__ */ (0,
|
|
3856
|
-
/* @__PURE__ */ (0,
|
|
4292
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(RadixSelect.ItemText, { children: option3.label }),
|
|
4293
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(RadixSelect.ItemIndicator, { className: itemIndicator, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_icons19.CheckIcon, { size: 16 }) })
|
|
3857
4294
|
]
|
|
3858
4295
|
},
|
|
3859
|
-
|
|
4296
|
+
option3.value
|
|
3860
4297
|
)) })
|
|
3861
4298
|
}
|
|
3862
4299
|
) })
|
|
3863
4300
|
]
|
|
3864
4301
|
}
|
|
3865
4302
|
),
|
|
3866
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
4303
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
3867
4304
|
] });
|
|
3868
4305
|
});
|
|
3869
4306
|
|
|
3870
4307
|
// src/components/SkipLink/SkipLink.tsx
|
|
3871
|
-
var
|
|
4308
|
+
var import_react53 = require("react");
|
|
3872
4309
|
|
|
3873
4310
|
// src/components/SkipLink/SkipLink.css.ts
|
|
3874
4311
|
var skipLink = "_1t9jaar0";
|
|
3875
4312
|
|
|
3876
4313
|
// src/components/SkipLink/SkipLink.tsx
|
|
3877
|
-
var
|
|
3878
|
-
var SkipLink = /* @__PURE__ */ (0,
|
|
4314
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
4315
|
+
var SkipLink = /* @__PURE__ */ (0, import_react53.forwardRef)(function SkipLink2({ href = "#main", className, children, onClick, ...rest }, ref) {
|
|
3879
4316
|
const m = useMessages();
|
|
3880
4317
|
const handleClick = (event) => {
|
|
3881
4318
|
onClick?.(event);
|
|
@@ -3887,28 +4324,28 @@ var SkipLink = /* @__PURE__ */ (0, import_react47.forwardRef)(function SkipLink2
|
|
|
3887
4324
|
target.focus();
|
|
3888
4325
|
target.scrollIntoView?.({ block: "start" });
|
|
3889
4326
|
};
|
|
3890
|
-
return /* @__PURE__ */ (0,
|
|
4327
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("a", { ref, href, className: cx(skipLink, className), onClick: handleClick, ...rest, children: children ?? m.skipToContent ?? "\uBCF8\uBB38 \uBC14\uB85C\uAC00\uAE30" });
|
|
3891
4328
|
});
|
|
3892
4329
|
|
|
3893
4330
|
// src/components/Slider/Slider.tsx
|
|
3894
4331
|
var RadixSlider = __toESM(require("@radix-ui/react-slider"), 1);
|
|
3895
|
-
var
|
|
4332
|
+
var import_react54 = require("react");
|
|
3896
4333
|
|
|
3897
4334
|
// src/components/Slider/Slider.css.ts
|
|
3898
|
-
var
|
|
4335
|
+
var import_createRuntimeFn26 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3899
4336
|
var field3 = "_126mzjm0";
|
|
3900
4337
|
var header8 = "_126mzjm1";
|
|
3901
4338
|
var helperText2 = "_126mzjm4";
|
|
3902
4339
|
var label4 = "_126mzjm2";
|
|
3903
4340
|
var range2 = "_126mzjmb";
|
|
3904
|
-
var root12 = /* @__PURE__ */ (0,
|
|
3905
|
-
var thumb = /* @__PURE__ */ (0,
|
|
3906
|
-
var track2 = /* @__PURE__ */ (0,
|
|
4341
|
+
var root12 = /* @__PURE__ */ (0, import_createRuntimeFn26.createRuntimeFn)({ defaultClassName: "_126mzjm5", variantClassNames: { size: { sm: "_126mzjm6", md: "_126mzjm7" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
4342
|
+
var thumb = /* @__PURE__ */ (0, import_createRuntimeFn26.createRuntimeFn)({ defaultClassName: "_126mzjmc", variantClassNames: { size: { sm: "_126mzjmd", md: "_126mzjme" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
4343
|
+
var track2 = /* @__PURE__ */ (0, import_createRuntimeFn26.createRuntimeFn)({ defaultClassName: "_126mzjm8", variantClassNames: { size: { sm: "_126mzjm9", md: "_126mzjma" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3907
4344
|
var value3 = "_126mzjm3";
|
|
3908
4345
|
|
|
3909
4346
|
// src/components/Slider/Slider.tsx
|
|
3910
|
-
var
|
|
3911
|
-
var Slider = /* @__PURE__ */ (0,
|
|
4347
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
4348
|
+
var Slider = /* @__PURE__ */ (0, import_react54.forwardRef)(function Slider2(props, ref) {
|
|
3912
4349
|
const {
|
|
3913
4350
|
value: value4,
|
|
3914
4351
|
defaultValue,
|
|
@@ -3929,12 +4366,12 @@ var Slider = /* @__PURE__ */ (0, import_react48.forwardRef)(function Slider2(pro
|
|
|
3929
4366
|
} = props;
|
|
3930
4367
|
const m = useMessages();
|
|
3931
4368
|
const thumbLabels = thumbLabelsProp ?? [m.rangeStart ?? "\uCD5C\uC18C", m.rangeEnd ?? "\uCD5C\uB300"];
|
|
3932
|
-
const generatedId = (0,
|
|
4369
|
+
const generatedId = (0, import_react54.useId)();
|
|
3933
4370
|
const baseId = id ?? generatedId;
|
|
3934
4371
|
const labelId = `${baseId}-label`;
|
|
3935
4372
|
const helperId = `${baseId}-helper`;
|
|
3936
4373
|
const isControlled = "value" in props;
|
|
3937
|
-
const [innerValue, setInnerValue] = (0,
|
|
4374
|
+
const [innerValue, setInnerValue] = (0, import_react54.useState)(defaultValue ?? [min]);
|
|
3938
4375
|
const current2 = isControlled ? value4 ?? [min] : innerValue;
|
|
3939
4376
|
const isRange = current2.length > 1;
|
|
3940
4377
|
const handleChange = (next) => {
|
|
@@ -3942,12 +4379,12 @@ var Slider = /* @__PURE__ */ (0, import_react48.forwardRef)(function Slider2(pro
|
|
|
3942
4379
|
onValueChange?.(next);
|
|
3943
4380
|
};
|
|
3944
4381
|
const valueText = current2.map(formatValue).join(" \u2013 ");
|
|
3945
|
-
return /* @__PURE__ */ (0,
|
|
3946
|
-
(label7 || showValue) && /* @__PURE__ */ (0,
|
|
3947
|
-
label7 && /* @__PURE__ */ (0,
|
|
3948
|
-
showValue && /* @__PURE__ */ (0,
|
|
4382
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: cx(field3, className), children: [
|
|
4383
|
+
(label7 || showValue) && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: header8, children: [
|
|
4384
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { id: labelId, className: label4, children: label7 }),
|
|
4385
|
+
showValue && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: value3, "aria-hidden": true, children: valueText })
|
|
3949
4386
|
] }),
|
|
3950
|
-
/* @__PURE__ */ (0,
|
|
4387
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
3951
4388
|
RadixSlider.Root,
|
|
3952
4389
|
{
|
|
3953
4390
|
ref,
|
|
@@ -3960,10 +4397,10 @@ var Slider = /* @__PURE__ */ (0, import_react48.forwardRef)(function Slider2(pro
|
|
|
3960
4397
|
className: root12({ size }),
|
|
3961
4398
|
...rest,
|
|
3962
4399
|
children: [
|
|
3963
|
-
/* @__PURE__ */ (0,
|
|
4400
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(RadixSlider.Track, { className: track2({ size }), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(RadixSlider.Range, { className: range2 }) }),
|
|
3964
4401
|
current2.map((thumbValue, index) => {
|
|
3965
4402
|
const thumbLabelId = `${baseId}-thumb-${index}`;
|
|
3966
|
-
return /* @__PURE__ */ (0,
|
|
4403
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
3967
4404
|
RadixSlider.Thumb,
|
|
3968
4405
|
{
|
|
3969
4406
|
className: thumb({ size }),
|
|
@@ -3978,32 +4415,32 @@ var Slider = /* @__PURE__ */ (0, import_react48.forwardRef)(function Slider2(pro
|
|
|
3978
4415
|
]
|
|
3979
4416
|
}
|
|
3980
4417
|
),
|
|
3981
|
-
isRange && current2.map((_, index) => /* @__PURE__ */ (0,
|
|
4418
|
+
isRange && current2.map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("span", { id: `${baseId}-thumb-${index}`, hidden: true, children: [
|
|
3982
4419
|
label7 ? "" : ariaLabel ? `${ariaLabel} ` : "",
|
|
3983
4420
|
thumbLabels[index] ?? `${index + 1}`
|
|
3984
4421
|
] }, index)),
|
|
3985
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
4422
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { id: helperId, className: helperText2, children: helperText3 })
|
|
3986
4423
|
] });
|
|
3987
4424
|
});
|
|
3988
4425
|
|
|
3989
4426
|
// src/components/Stepper/Stepper.tsx
|
|
3990
|
-
var
|
|
4427
|
+
var import_react55 = require("react");
|
|
3991
4428
|
var import_icons20 = require("@bestow-ui/icons");
|
|
3992
4429
|
|
|
3993
4430
|
// src/components/Stepper/Stepper.css.ts
|
|
3994
|
-
var
|
|
3995
|
-
var
|
|
3996
|
-
var indicator3 = /* @__PURE__ */ (0,
|
|
3997
|
-
var label5 = /* @__PURE__ */ (0,
|
|
3998
|
-
var root13 = /* @__PURE__ */ (0,
|
|
3999
|
-
var step = /* @__PURE__ */ (0,
|
|
4000
|
-
var text2 = /* @__PURE__ */ (0,
|
|
4431
|
+
var import_createRuntimeFn27 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
4432
|
+
var description7 = "kervhmh";
|
|
4433
|
+
var indicator3 = /* @__PURE__ */ (0, import_createRuntimeFn27.createRuntimeFn)({ defaultClassName: "kervhm6", variantClassNames: { status: { complete: "kervhm7", current: "kervhm8", upcoming: "kervhm9" } }, defaultVariants: {}, compoundVariants: [] });
|
|
4434
|
+
var label5 = /* @__PURE__ */ (0, import_createRuntimeFn27.createRuntimeFn)({ defaultClassName: "kervhmd", variantClassNames: { status: { complete: "kervhme", current: "kervhmf", upcoming: "kervhmg" } }, defaultVariants: {}, compoundVariants: [] });
|
|
4435
|
+
var root13 = /* @__PURE__ */ (0, import_createRuntimeFn27.createRuntimeFn)({ defaultClassName: "kervhm0", variantClassNames: { orientation: { horizontal: "kervhm1", vertical: "kervhm2" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
|
|
4436
|
+
var step = /* @__PURE__ */ (0, import_createRuntimeFn27.createRuntimeFn)({ defaultClassName: "kervhm3", variantClassNames: { orientation: { horizontal: "kervhm4", vertical: "kervhm5" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
|
|
4437
|
+
var text2 = /* @__PURE__ */ (0, import_createRuntimeFn27.createRuntimeFn)({ defaultClassName: "kervhma", variantClassNames: { orientation: { horizontal: "kervhmb", vertical: "kervhmc" } }, defaultVariants: {}, compoundVariants: [] });
|
|
4001
4438
|
|
|
4002
4439
|
// src/components/Stepper/Stepper.tsx
|
|
4003
|
-
var
|
|
4004
|
-
var Stepper = /* @__PURE__ */ (0,
|
|
4440
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
4441
|
+
var Stepper = /* @__PURE__ */ (0, import_react55.forwardRef)(function Stepper2({ steps, current: current2, orientation = "horizontal", "aria-label": ariaLabel, className, ...rest }, ref) {
|
|
4005
4442
|
const m = useMessages();
|
|
4006
|
-
return /* @__PURE__ */ (0,
|
|
4443
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
4007
4444
|
"ol",
|
|
4008
4445
|
{
|
|
4009
4446
|
ref,
|
|
@@ -4012,24 +4449,24 @@ var Stepper = /* @__PURE__ */ (0, import_react49.forwardRef)(function Stepper2({
|
|
|
4012
4449
|
...rest,
|
|
4013
4450
|
children: steps.map((step2, index) => {
|
|
4014
4451
|
const status = index < current2 ? "complete" : index === current2 ? "current" : "upcoming";
|
|
4015
|
-
return /* @__PURE__ */ (0,
|
|
4452
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
4016
4453
|
"li",
|
|
4017
4454
|
{
|
|
4018
4455
|
className: step({ orientation }),
|
|
4019
4456
|
"data-status": status,
|
|
4020
4457
|
"aria-current": status === "current" ? "step" : void 0,
|
|
4021
4458
|
children: [
|
|
4022
|
-
/* @__PURE__ */ (0,
|
|
4023
|
-
/* @__PURE__ */ (0,
|
|
4024
|
-
/* @__PURE__ */ (0,
|
|
4459
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: indicator3({ status }), "aria-hidden": true, children: status === "complete" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_icons20.CheckIcon, { size: 16, strokeWidth: 2.5 }) : index + 1 }),
|
|
4460
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { className: text2({ orientation }), children: [
|
|
4461
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { className: label5({ status }), children: [
|
|
4025
4462
|
step2.label,
|
|
4026
|
-
status === "complete" && /* @__PURE__ */ (0,
|
|
4463
|
+
status === "complete" && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { className: visuallyHidden, children: [
|
|
4027
4464
|
" (",
|
|
4028
4465
|
m.stepCompleted ?? "\uC644\uB8CC",
|
|
4029
4466
|
")"
|
|
4030
4467
|
] })
|
|
4031
4468
|
] }),
|
|
4032
|
-
step2.description && /* @__PURE__ */ (0,
|
|
4469
|
+
step2.description && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: description7, children: step2.description })
|
|
4033
4470
|
] })
|
|
4034
4471
|
]
|
|
4035
4472
|
},
|
|
@@ -4041,22 +4478,22 @@ var Stepper = /* @__PURE__ */ (0, import_react49.forwardRef)(function Stepper2({
|
|
|
4041
4478
|
});
|
|
4042
4479
|
|
|
4043
4480
|
// src/components/Switch/Switch.tsx
|
|
4044
|
-
var
|
|
4481
|
+
var import_react56 = require("react");
|
|
4045
4482
|
|
|
4046
4483
|
// src/components/Switch/Switch.css.ts
|
|
4047
|
-
var
|
|
4048
|
-
var bubbleInput = /* @__PURE__ */ (0,
|
|
4484
|
+
var import_createRuntimeFn28 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
4485
|
+
var bubbleInput = /* @__PURE__ */ (0, import_createRuntimeFn28.createRuntimeFn)({ defaultClassName: "o33ul29", variantClassNames: { size: { sm: "o33ul2a", md: "o33ul2b" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
4049
4486
|
var label6 = "o33ul2c";
|
|
4050
|
-
var root14 = /* @__PURE__ */ (0,
|
|
4051
|
-
var thumb2 = /* @__PURE__ */ (0,
|
|
4052
|
-
var track3 = /* @__PURE__ */ (0,
|
|
4487
|
+
var root14 = /* @__PURE__ */ (0, import_createRuntimeFn28.createRuntimeFn)({ defaultClassName: "o33ul20", variantClassNames: { size: { sm: "o33ul21", md: "o33ul22" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
4488
|
+
var thumb2 = /* @__PURE__ */ (0, import_createRuntimeFn28.createRuntimeFn)({ defaultClassName: "o33ul26", variantClassNames: { size: { sm: "o33ul27", md: "o33ul28" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
4489
|
+
var track3 = /* @__PURE__ */ (0, import_createRuntimeFn28.createRuntimeFn)({ defaultClassName: "o33ul23", variantClassNames: { size: { sm: "o33ul24", md: "o33ul25" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
4053
4490
|
|
|
4054
4491
|
// src/components/Switch/Switch.tsx
|
|
4055
|
-
var
|
|
4492
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
4056
4493
|
function setNativeChecked(input6, checked) {
|
|
4057
4494
|
Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "checked")?.set?.call(input6, checked);
|
|
4058
4495
|
}
|
|
4059
|
-
var Switch = /* @__PURE__ */ (0,
|
|
4496
|
+
var Switch = /* @__PURE__ */ (0, import_react56.forwardRef)(function Switch2({
|
|
4060
4497
|
label: label7,
|
|
4061
4498
|
size,
|
|
4062
4499
|
id,
|
|
@@ -4070,22 +4507,22 @@ var Switch = /* @__PURE__ */ (0, import_react50.forwardRef)(function Switch2({
|
|
|
4070
4507
|
onCheckedChange,
|
|
4071
4508
|
"aria-label": ariaLabel
|
|
4072
4509
|
}, ref) {
|
|
4073
|
-
const generatedId = (0,
|
|
4510
|
+
const generatedId = (0, import_react56.useId)();
|
|
4074
4511
|
const switchId = id ?? generatedId;
|
|
4075
|
-
const [uncontrolled, setUncontrolled] = (0,
|
|
4512
|
+
const [uncontrolled, setUncontrolled] = (0, import_react56.useState)(defaultChecked ?? false);
|
|
4076
4513
|
const isControlled = checkedProp !== void 0;
|
|
4077
4514
|
const checked = isControlled ? checkedProp : uncontrolled;
|
|
4078
|
-
const buttonRef = (0,
|
|
4079
|
-
const inputRef = (0,
|
|
4080
|
-
const [inForm, setInForm] = (0,
|
|
4081
|
-
const userToggled = (0,
|
|
4515
|
+
const buttonRef = (0, import_react56.useRef)(null);
|
|
4516
|
+
const inputRef = (0, import_react56.useRef)(null);
|
|
4517
|
+
const [inForm, setInForm] = (0, import_react56.useState)(true);
|
|
4518
|
+
const userToggled = (0, import_react56.useRef)(false);
|
|
4082
4519
|
const setChecked = (next) => {
|
|
4083
4520
|
if (!isControlled) setUncontrolled(next);
|
|
4084
4521
|
if (next !== checked) onCheckedChange?.(next);
|
|
4085
4522
|
};
|
|
4086
|
-
const setCheckedRef = (0,
|
|
4523
|
+
const setCheckedRef = (0, import_react56.useRef)(setChecked);
|
|
4087
4524
|
setCheckedRef.current = setChecked;
|
|
4088
|
-
(0,
|
|
4525
|
+
(0, import_react56.useEffect)(() => {
|
|
4089
4526
|
const form = buttonRef.current?.form;
|
|
4090
4527
|
setInForm(!!form);
|
|
4091
4528
|
if (!form) return;
|
|
@@ -4094,7 +4531,7 @@ var Switch = /* @__PURE__ */ (0, import_react50.forwardRef)(function Switch2({
|
|
|
4094
4531
|
form.addEventListener("reset", onReset);
|
|
4095
4532
|
return () => form.removeEventListener("reset", onReset);
|
|
4096
4533
|
}, []);
|
|
4097
|
-
(0,
|
|
4534
|
+
(0, import_react56.useEffect)(() => {
|
|
4098
4535
|
const input6 = inputRef.current;
|
|
4099
4536
|
if (!input6 || input6.checked === checked) return;
|
|
4100
4537
|
setNativeChecked(input6, checked);
|
|
@@ -4107,8 +4544,8 @@ var Switch = /* @__PURE__ */ (0, import_react50.forwardRef)(function Switch2({
|
|
|
4107
4544
|
if (inForm) event.stopPropagation();
|
|
4108
4545
|
};
|
|
4109
4546
|
const state = checked ? "checked" : "unchecked";
|
|
4110
|
-
return /* @__PURE__ */ (0,
|
|
4111
|
-
/* @__PURE__ */ (0,
|
|
4547
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("span", { className: cx(root14({ size }), className), "data-disabled": disabled || void 0, children: [
|
|
4548
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4112
4549
|
"button",
|
|
4113
4550
|
{
|
|
4114
4551
|
ref: mergeRefs(ref, buttonRef),
|
|
@@ -4124,10 +4561,10 @@ var Switch = /* @__PURE__ */ (0, import_react50.forwardRef)(function Switch2({
|
|
|
4124
4561
|
value: value4,
|
|
4125
4562
|
className: track3({ size }),
|
|
4126
4563
|
onClick: handleClick,
|
|
4127
|
-
children: /* @__PURE__ */ (0,
|
|
4564
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: thumb2({ size }), "data-state": state, "data-disabled": disabled ? "" : void 0 })
|
|
4128
4565
|
}
|
|
4129
4566
|
),
|
|
4130
|
-
inForm && /* @__PURE__ */ (0,
|
|
4567
|
+
inForm && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4131
4568
|
"input",
|
|
4132
4569
|
{
|
|
4133
4570
|
ref: inputRef,
|
|
@@ -4142,27 +4579,27 @@ var Switch = /* @__PURE__ */ (0, import_react50.forwardRef)(function Switch2({
|
|
|
4142
4579
|
className: bubbleInput({ size })
|
|
4143
4580
|
}
|
|
4144
4581
|
),
|
|
4145
|
-
label7 && /* @__PURE__ */ (0,
|
|
4582
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("label", { htmlFor: switchId, className: label6, children: label7 })
|
|
4146
4583
|
] });
|
|
4147
4584
|
});
|
|
4148
4585
|
|
|
4149
4586
|
// src/components/Table/Table.tsx
|
|
4150
|
-
var
|
|
4587
|
+
var import_react57 = require("react");
|
|
4151
4588
|
var import_icons21 = require("@bestow-ui/icons");
|
|
4152
4589
|
|
|
4153
4590
|
// src/components/Table/Table.css.ts
|
|
4154
|
-
var
|
|
4591
|
+
var import_createRuntimeFn29 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
4155
4592
|
var body4 = "l3ploy5";
|
|
4156
4593
|
var caption = "l3ploy2";
|
|
4157
|
-
var cell2 = /* @__PURE__ */ (0,
|
|
4158
|
-
var
|
|
4594
|
+
var cell2 = /* @__PURE__ */ (0, import_createRuntimeFn29.createRuntimeFn)({ defaultClassName: "l3ploy9", variantClassNames: { size: { sm: "l3ploya", md: "l3ployb" }, align: { left: "l3ployc", center: "l3ployd", right: "l3ploye" } }, defaultVariants: { size: "md", align: "left" }, compoundVariants: [] });
|
|
4595
|
+
var container2 = "l3ploy0";
|
|
4159
4596
|
var emptyCell = "l3ployj";
|
|
4160
4597
|
var emptyContent = "l3ployk";
|
|
4161
4598
|
var footer4 = "l3ploy7";
|
|
4162
4599
|
var footerCell = "l3ployg";
|
|
4163
4600
|
var head = "l3ployf";
|
|
4164
4601
|
var header9 = "l3ploy3";
|
|
4165
|
-
var
|
|
4602
|
+
var row4 = "l3ploy8";
|
|
4166
4603
|
var sortButton = "l3ployh";
|
|
4167
4604
|
var sortIcon = "l3ployi";
|
|
4168
4605
|
var stickyHeader = "l3ploy4";
|
|
@@ -4170,10 +4607,10 @@ var striped = "l3ploy6";
|
|
|
4170
4607
|
var table = "l3ploy1";
|
|
4171
4608
|
|
|
4172
4609
|
// src/components/Table/Table.tsx
|
|
4173
|
-
var
|
|
4174
|
-
var TableSizeContext = /* @__PURE__ */ (0,
|
|
4175
|
-
var TableSectionContext = /* @__PURE__ */ (0,
|
|
4176
|
-
var Table = /* @__PURE__ */ (0,
|
|
4610
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
4611
|
+
var TableSizeContext = /* @__PURE__ */ (0, import_react57.createContext)("md");
|
|
4612
|
+
var TableSectionContext = /* @__PURE__ */ (0, import_react57.createContext)("body");
|
|
4613
|
+
var Table = /* @__PURE__ */ (0, import_react57.forwardRef)(function Table2({
|
|
4177
4614
|
size = "md",
|
|
4178
4615
|
striped: striped2,
|
|
4179
4616
|
stickyHeader: stickyHeader2,
|
|
@@ -4185,17 +4622,17 @@ var Table = /* @__PURE__ */ (0, import_react51.forwardRef)(function Table2({
|
|
|
4185
4622
|
children,
|
|
4186
4623
|
...rest
|
|
4187
4624
|
}, ref) {
|
|
4188
|
-
const captionId = (0,
|
|
4189
|
-
return /* @__PURE__ */ (0,
|
|
4625
|
+
const captionId = (0, import_react57.useId)();
|
|
4626
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TableSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
4190
4627
|
"div",
|
|
4191
4628
|
{
|
|
4192
|
-
className: cx(
|
|
4629
|
+
className: cx(container2, containerClassName),
|
|
4193
4630
|
style: containerStyle,
|
|
4194
4631
|
tabIndex: 0,
|
|
4195
4632
|
role: "region",
|
|
4196
4633
|
"aria-labelledby": caption2 ? captionId : void 0,
|
|
4197
4634
|
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
4198
|
-
children: /* @__PURE__ */ (0,
|
|
4635
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
4199
4636
|
"table",
|
|
4200
4637
|
{
|
|
4201
4638
|
ref,
|
|
@@ -4203,7 +4640,7 @@ var Table = /* @__PURE__ */ (0, import_react51.forwardRef)(function Table2({
|
|
|
4203
4640
|
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
4204
4641
|
...rest,
|
|
4205
4642
|
children: [
|
|
4206
|
-
caption2 && /* @__PURE__ */ (0,
|
|
4643
|
+
caption2 && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("caption", { id: captionId, className: caption, children: caption2 }),
|
|
4207
4644
|
children
|
|
4208
4645
|
]
|
|
4209
4646
|
}
|
|
@@ -4211,31 +4648,31 @@ var Table = /* @__PURE__ */ (0, import_react51.forwardRef)(function Table2({
|
|
|
4211
4648
|
}
|
|
4212
4649
|
) });
|
|
4213
4650
|
});
|
|
4214
|
-
var TableHeader = /* @__PURE__ */ (0,
|
|
4651
|
+
var TableHeader = /* @__PURE__ */ (0, import_react57.forwardRef)(
|
|
4215
4652
|
function TableHeader2({ className, ...rest }, ref) {
|
|
4216
|
-
return /* @__PURE__ */ (0,
|
|
4653
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TableSectionContext.Provider, { value: "header", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("thead", { ref, className: cx(header9, className), ...rest }) });
|
|
4217
4654
|
}
|
|
4218
4655
|
);
|
|
4219
|
-
var TableBody = /* @__PURE__ */ (0,
|
|
4656
|
+
var TableBody = /* @__PURE__ */ (0, import_react57.forwardRef)(
|
|
4220
4657
|
function TableBody2({ className, ...rest }, ref) {
|
|
4221
|
-
return /* @__PURE__ */ (0,
|
|
4658
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TableSectionContext.Provider, { value: "body", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("tbody", { ref, className: cx(body4, className), ...rest }) });
|
|
4222
4659
|
}
|
|
4223
4660
|
);
|
|
4224
|
-
var TableFooter = /* @__PURE__ */ (0,
|
|
4661
|
+
var TableFooter = /* @__PURE__ */ (0, import_react57.forwardRef)(
|
|
4225
4662
|
function TableFooter2({ className, ...rest }, ref) {
|
|
4226
|
-
return /* @__PURE__ */ (0,
|
|
4663
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TableSectionContext.Provider, { value: "footer", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("tfoot", { ref, className: cx(footer4, className), ...rest }) });
|
|
4227
4664
|
}
|
|
4228
4665
|
);
|
|
4229
|
-
var TableRow = /* @__PURE__ */ (0,
|
|
4230
|
-
return /* @__PURE__ */ (0,
|
|
4666
|
+
var TableRow = /* @__PURE__ */ (0, import_react57.forwardRef)(function TableRow2({ selected, className, ...rest }, ref) {
|
|
4667
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("tr", { ref, className: cx(row4, className), "data-state": selected ? "selected" : void 0, ...rest });
|
|
4231
4668
|
});
|
|
4232
|
-
var TableHead = /* @__PURE__ */ (0,
|
|
4233
|
-
const size = (0,
|
|
4234
|
-
const section = (0,
|
|
4669
|
+
var TableHead = /* @__PURE__ */ (0, import_react57.forwardRef)(function TableHead2({ align, sortDirection, onSort, scope, className, children, ...rest }, ref) {
|
|
4670
|
+
const size = (0, import_react57.useContext)(TableSizeContext);
|
|
4671
|
+
const section = (0, import_react57.useContext)(TableSectionContext);
|
|
4235
4672
|
const sortable = onSort !== void 0;
|
|
4236
4673
|
const direction = sortDirection ?? "none";
|
|
4237
4674
|
const SortIcon = direction === "descending" ? import_icons21.ArrowDownIcon : import_icons21.ArrowUpIcon;
|
|
4238
|
-
return /* @__PURE__ */ (0,
|
|
4675
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
4239
4676
|
"th",
|
|
4240
4677
|
{
|
|
4241
4678
|
ref,
|
|
@@ -4247,17 +4684,17 @@ var TableHead = /* @__PURE__ */ (0, import_react51.forwardRef)(function TableHea
|
|
|
4247
4684
|
className
|
|
4248
4685
|
),
|
|
4249
4686
|
...rest,
|
|
4250
|
-
children: sortable ? /* @__PURE__ */ (0,
|
|
4687
|
+
children: sortable ? /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("button", { type: "button", className: sortButton, onClick: onSort, children: [
|
|
4251
4688
|
children,
|
|
4252
|
-
/* @__PURE__ */ (0,
|
|
4689
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SortIcon, { size: 14, className: sortIcon, "data-active": direction !== "none", "aria-hidden": true })
|
|
4253
4690
|
] }) : children
|
|
4254
4691
|
}
|
|
4255
4692
|
);
|
|
4256
4693
|
});
|
|
4257
|
-
var TableCell = /* @__PURE__ */ (0,
|
|
4258
|
-
const size = (0,
|
|
4259
|
-
const section = (0,
|
|
4260
|
-
return /* @__PURE__ */ (0,
|
|
4694
|
+
var TableCell = /* @__PURE__ */ (0, import_react57.forwardRef)(function TableCell2({ align, className, ...rest }, ref) {
|
|
4695
|
+
const size = (0, import_react57.useContext)(TableSizeContext);
|
|
4696
|
+
const section = (0, import_react57.useContext)(TableSectionContext);
|
|
4697
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
4261
4698
|
"td",
|
|
4262
4699
|
{
|
|
4263
4700
|
ref,
|
|
@@ -4266,26 +4703,26 @@ var TableCell = /* @__PURE__ */ (0, import_react51.forwardRef)(function TableCel
|
|
|
4266
4703
|
}
|
|
4267
4704
|
);
|
|
4268
4705
|
});
|
|
4269
|
-
var TableEmpty = /* @__PURE__ */ (0,
|
|
4270
|
-
return /* @__PURE__ */ (0,
|
|
4706
|
+
var TableEmpty = /* @__PURE__ */ (0, import_react57.forwardRef)(function TableEmpty2({ colSpan, className, children, ...rest }, ref) {
|
|
4707
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TableCell, { ref, colSpan, className: cx(emptyCell, className), ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: emptyContent, children }) }) });
|
|
4271
4708
|
});
|
|
4272
|
-
function TableSkeleton({ rows = 5, columns }) {
|
|
4273
|
-
return /* @__PURE__ */ (0,
|
|
4709
|
+
function TableSkeleton({ rows = 5, columns: columns2 }) {
|
|
4710
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_jsx_runtime53.Fragment, { children: Array.from({ length: rows }, (_, row6) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TableRow, { "aria-hidden": true, children: Array.from({ length: columns2 }, (_2, column) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TableCell, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Skeleton, { width: column === 0 ? "60%" : "80%" }) }, column)) }, row6)) });
|
|
4274
4711
|
}
|
|
4275
4712
|
|
|
4276
4713
|
// src/components/Table/useTableSelection.ts
|
|
4277
|
-
var
|
|
4714
|
+
var import_react58 = require("react");
|
|
4278
4715
|
function useTableSelection(initial = []) {
|
|
4279
|
-
const [selected, setSelected] = (0,
|
|
4280
|
-
const isSelected = (0,
|
|
4281
|
-
const toggle3 = (0,
|
|
4716
|
+
const [selected, setSelected] = (0, import_react58.useState)(initial);
|
|
4717
|
+
const isSelected = (0, import_react58.useCallback)((id) => selected.includes(id), [selected]);
|
|
4718
|
+
const toggle3 = (0, import_react58.useCallback)((id, checked) => {
|
|
4282
4719
|
setSelected((prev) => {
|
|
4283
4720
|
const on = checked ?? !prev.includes(id);
|
|
4284
4721
|
if (on) return prev.includes(id) ? prev : [...prev, id];
|
|
4285
4722
|
return prev.filter((value4) => value4 !== id);
|
|
4286
4723
|
});
|
|
4287
4724
|
}, []);
|
|
4288
|
-
const clear2 = (0,
|
|
4725
|
+
const clear2 = (0, import_react58.useCallback)(() => setSelected([]), []);
|
|
4289
4726
|
const selectAllProps = (pageIds) => {
|
|
4290
4727
|
const all2 = pageIds.length > 0 && pageIds.every((id) => selected.includes(id));
|
|
4291
4728
|
const some = pageIds.some((id) => selected.includes(id));
|
|
@@ -4306,48 +4743,48 @@ function useTableSelection(initial = []) {
|
|
|
4306
4743
|
|
|
4307
4744
|
// src/components/Tabs/Tabs.tsx
|
|
4308
4745
|
var RadixTabs = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
4309
|
-
var
|
|
4746
|
+
var import_react59 = require("react");
|
|
4310
4747
|
|
|
4311
4748
|
// src/components/Tabs/Tabs.css.ts
|
|
4312
|
-
var
|
|
4749
|
+
var import_createRuntimeFn30 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
4313
4750
|
var content10 = "fvhbtdb";
|
|
4314
|
-
var list6 = /* @__PURE__ */ (0,
|
|
4751
|
+
var list6 = /* @__PURE__ */ (0, import_createRuntimeFn30.createRuntimeFn)({ defaultClassName: "fvhbtd1", variantClassNames: { variant: { line: "fvhbtd2", soft: "fvhbtd3" } }, defaultVariants: { variant: "line" }, compoundVariants: [] });
|
|
4315
4752
|
var root15 = "fvhbtd0";
|
|
4316
|
-
var trigger3 = /* @__PURE__ */ (0,
|
|
4753
|
+
var trigger3 = /* @__PURE__ */ (0, import_createRuntimeFn30.createRuntimeFn)({ defaultClassName: "fvhbtd4", variantClassNames: { variant: { line: "fvhbtd5", soft: "fvhbtd6" }, size: { sm: "fvhbtd7", md: "fvhbtd8" } }, defaultVariants: { variant: "line", size: "md" }, compoundVariants: [[{ variant: "soft", size: "sm" }, "fvhbtd9"], [{ variant: "soft", size: "md" }, "fvhbtda"]] });
|
|
4317
4754
|
|
|
4318
4755
|
// src/components/Tabs/Tabs.tsx
|
|
4319
|
-
var
|
|
4320
|
-
var TabsStyleContext = /* @__PURE__ */ (0,
|
|
4321
|
-
var Tabs = /* @__PURE__ */ (0,
|
|
4756
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
4757
|
+
var TabsStyleContext = /* @__PURE__ */ (0, import_react59.createContext)({ variant: "line", size: "md" });
|
|
4758
|
+
var Tabs = /* @__PURE__ */ (0, import_react59.forwardRef)(function Tabs2({ variant = "line", size = "md", className, ...props }, ref) {
|
|
4322
4759
|
const controlled = "value" in props ? { value: props.value ?? "" } : {};
|
|
4323
|
-
return /* @__PURE__ */ (0,
|
|
4760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TabsStyleContext.Provider, { value: { variant, size }, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(RadixTabs.Root, { ref, className: cx(root15, className), ...props, ...controlled }) });
|
|
4324
4761
|
});
|
|
4325
|
-
var TabsList = /* @__PURE__ */ (0,
|
|
4326
|
-
const { variant } = (0,
|
|
4327
|
-
return /* @__PURE__ */ (0,
|
|
4762
|
+
var TabsList = /* @__PURE__ */ (0, import_react59.forwardRef)(function TabsList2({ className, ...rest }, ref) {
|
|
4763
|
+
const { variant } = (0, import_react59.useContext)(TabsStyleContext);
|
|
4764
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(RadixTabs.List, { ref, className: cx(list6({ variant }), className), ...rest });
|
|
4328
4765
|
});
|
|
4329
|
-
var TabsTrigger = /* @__PURE__ */ (0,
|
|
4330
|
-
const { variant, size } = (0,
|
|
4331
|
-
return /* @__PURE__ */ (0,
|
|
4766
|
+
var TabsTrigger = /* @__PURE__ */ (0, import_react59.forwardRef)(function TabsTrigger2({ className, ...rest }, ref) {
|
|
4767
|
+
const { variant, size } = (0, import_react59.useContext)(TabsStyleContext);
|
|
4768
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(RadixTabs.Trigger, { ref, className: cx(trigger3({ variant, size }), className), ...rest });
|
|
4332
4769
|
});
|
|
4333
|
-
var TabsContent = /* @__PURE__ */ (0,
|
|
4334
|
-
return /* @__PURE__ */ (0,
|
|
4770
|
+
var TabsContent = /* @__PURE__ */ (0, import_react59.forwardRef)(function TabsContent2({ className, ...rest }, ref) {
|
|
4771
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(RadixTabs.Content, { ref, className: cx(content10, className), ...rest });
|
|
4335
4772
|
});
|
|
4336
4773
|
|
|
4337
4774
|
// src/components/Textarea/Textarea.tsx
|
|
4338
|
-
var
|
|
4775
|
+
var import_react60 = require("react");
|
|
4339
4776
|
|
|
4340
4777
|
// src/components/Textarea/Textarea.css.ts
|
|
4341
|
-
var
|
|
4778
|
+
var import_createRuntimeFn31 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
4342
4779
|
var count = "_1koawa9";
|
|
4343
4780
|
var countOver = "_1koawaa";
|
|
4344
4781
|
var defaultWidth = "_1koawa7";
|
|
4345
4782
|
var footer5 = "_1koawa8";
|
|
4346
|
-
var textarea = /* @__PURE__ */ (0,
|
|
4783
|
+
var textarea = /* @__PURE__ */ (0, import_createRuntimeFn31.createRuntimeFn)({ defaultClassName: "_1koawa0", variantClassNames: { size: { sm: "_1koawa1", md: "_1koawa2", lg: "_1koawa3" }, resize: { none: "_1koawa4", vertical: "_1koawa5", both: "_1koawa6" } }, defaultVariants: { size: "md", resize: "vertical" }, compoundVariants: [] });
|
|
4347
4784
|
|
|
4348
4785
|
// src/components/Textarea/Textarea.tsx
|
|
4349
|
-
var
|
|
4350
|
-
var Textarea = /* @__PURE__ */ (0,
|
|
4786
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
4787
|
+
var Textarea = /* @__PURE__ */ (0, import_react60.forwardRef)(function Textarea2({
|
|
4351
4788
|
label: label7,
|
|
4352
4789
|
helperText: helperText3,
|
|
4353
4790
|
error,
|
|
@@ -4368,13 +4805,13 @@ var Textarea = /* @__PURE__ */ (0, import_react54.forwardRef)(function Textarea2
|
|
|
4368
4805
|
"aria-describedby": ariaDescribedBy,
|
|
4369
4806
|
...rest
|
|
4370
4807
|
}, ref) {
|
|
4371
|
-
const generatedId = (0,
|
|
4808
|
+
const generatedId = (0, import_react60.useId)();
|
|
4372
4809
|
const textareaId = id ?? generatedId;
|
|
4373
4810
|
const helperId = helperText3 ? `${textareaId}-helper` : void 0;
|
|
4374
|
-
const innerRef = (0,
|
|
4375
|
-
const [uncontrolledLength, setUncontrolledLength] = (0,
|
|
4811
|
+
const innerRef = (0, import_react60.useRef)(null);
|
|
4812
|
+
const [uncontrolledLength, setUncontrolledLength] = (0, import_react60.useState)(() => String(defaultValue ?? "").length);
|
|
4376
4813
|
const length = value4 !== void 0 ? String(value4).length : uncontrolledLength;
|
|
4377
|
-
const fitHeight = (0,
|
|
4814
|
+
const fitHeight = (0, import_react60.useCallback)(() => {
|
|
4378
4815
|
const el = innerRef.current;
|
|
4379
4816
|
if (!autoResize || !el) return;
|
|
4380
4817
|
el.style.height = "auto";
|
|
@@ -4387,12 +4824,12 @@ var Textarea = /* @__PURE__ */ (0, import_react54.forwardRef)(function Textarea2
|
|
|
4387
4824
|
fitHeight();
|
|
4388
4825
|
onChange?.(event);
|
|
4389
4826
|
};
|
|
4390
|
-
return /* @__PURE__ */ (0,
|
|
4391
|
-
label7 && /* @__PURE__ */ (0,
|
|
4827
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: cx(field, fullWidth && fieldFullWidth), children: [
|
|
4828
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("label", { htmlFor: textareaId, className: label, children: [
|
|
4392
4829
|
label7,
|
|
4393
|
-
required && /* @__PURE__ */ (0,
|
|
4830
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
4394
4831
|
] }),
|
|
4395
|
-
/* @__PURE__ */ (0,
|
|
4832
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4396
4833
|
"textarea",
|
|
4397
4834
|
{
|
|
4398
4835
|
ref: mergeRefs(innerRef, ref),
|
|
@@ -4414,51 +4851,51 @@ var Textarea = /* @__PURE__ */ (0, import_react54.forwardRef)(function Textarea2
|
|
|
4414
4851
|
...rest
|
|
4415
4852
|
}
|
|
4416
4853
|
),
|
|
4417
|
-
(helperText3 || showCount) && /* @__PURE__ */ (0,
|
|
4418
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
4419
|
-
showCount && /* @__PURE__ */ (0,
|
|
4854
|
+
(helperText3 || showCount) && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: footer5, children: [
|
|
4855
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 }),
|
|
4856
|
+
showCount && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: cx(count, maxLength !== void 0 && length >= maxLength && countOver), children: maxLength !== void 0 ? `${length}/${maxLength}` : length })
|
|
4420
4857
|
] })
|
|
4421
4858
|
] });
|
|
4422
4859
|
});
|
|
4423
4860
|
|
|
4424
4861
|
// src/components/Toast/Toast.tsx
|
|
4425
4862
|
var RadixToast = __toESM(require("@radix-ui/react-toast"), 1);
|
|
4426
|
-
var
|
|
4863
|
+
var import_react61 = require("react");
|
|
4427
4864
|
var import_icons22 = require("@bestow-ui/icons");
|
|
4428
4865
|
|
|
4429
4866
|
// src/components/Toast/Toast.css.ts
|
|
4430
|
-
var
|
|
4431
|
-
var action2 = "
|
|
4432
|
-
var close = "
|
|
4433
|
-
var
|
|
4434
|
-
var title5 = "
|
|
4435
|
-
var toast = /* @__PURE__ */ (0,
|
|
4867
|
+
var import_createRuntimeFn32 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
4868
|
+
var action2 = "_1g11zvxa";
|
|
4869
|
+
var close = "_1g11zvxb";
|
|
4870
|
+
var description8 = "_1g11zvx9";
|
|
4871
|
+
var title5 = "_1g11zvx8";
|
|
4872
|
+
var toast = /* @__PURE__ */ (0, import_createRuntimeFn32.createRuntimeFn)({ defaultClassName: "_1g11zvx1", variantClassNames: { color: { primary: "_1g11zvx2", neutral: "_1g11zvx3", success: "_1g11zvx4", warning: "_1g11zvx5", danger: "_1g11zvx6", info: "_1g11zvx7" } }, defaultVariants: { color: "neutral" }, compoundVariants: [] });
|
|
4436
4873
|
var viewport2 = "_1g11zvx0";
|
|
4437
4874
|
|
|
4438
4875
|
// src/components/Toast/Toast.tsx
|
|
4439
|
-
var
|
|
4876
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
4440
4877
|
var REMOVE_DELAY = 500;
|
|
4441
|
-
var ToastContext = /* @__PURE__ */ (0,
|
|
4878
|
+
var ToastContext = /* @__PURE__ */ (0, import_react61.createContext)(null);
|
|
4442
4879
|
function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
4443
4880
|
const m = useMessages();
|
|
4444
4881
|
const label7 = labelProp ?? m.notifications ?? "\uC54C\uB9BC";
|
|
4445
|
-
const [toasts, setToasts] = (0,
|
|
4446
|
-
const nextId = (0,
|
|
4882
|
+
const [toasts, setToasts] = (0, import_react61.useState)([]);
|
|
4883
|
+
const nextId = (0, import_react61.useRef)(0);
|
|
4447
4884
|
const portal2 = usePortalProps();
|
|
4448
|
-
const toast2 = (0,
|
|
4885
|
+
const toast2 = (0, import_react61.useCallback)((options) => {
|
|
4449
4886
|
const id = nextId.current++;
|
|
4450
4887
|
setToasts((prev) => [...prev, { ...options, id, open: true }]);
|
|
4451
4888
|
return id;
|
|
4452
4889
|
}, []);
|
|
4453
|
-
const dismiss = (0,
|
|
4890
|
+
const dismiss = (0, import_react61.useCallback)((id) => {
|
|
4454
4891
|
const isTarget = (t) => id === void 0 || t.id === id;
|
|
4455
4892
|
setToasts((prev) => prev.map((t) => isTarget(t) ? { ...t, open: false } : t));
|
|
4456
4893
|
setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
|
|
4457
4894
|
}, []);
|
|
4458
|
-
const value4 = (0,
|
|
4459
|
-
return /* @__PURE__ */ (0,
|
|
4895
|
+
const value4 = (0, import_react61.useMemo)(() => ({ toast: toast2, dismiss }), [toast2, dismiss]);
|
|
4896
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ToastContext.Provider, { value: value4, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(RadixToast.Provider, { duration, label: label7, swipeDirection: "right", children: [
|
|
4460
4897
|
children,
|
|
4461
|
-
toasts.map(({ id, open, title: title6, description:
|
|
4898
|
+
toasts.map(({ id, open, title: title6, description: description9, color, duration: itemDuration, action: action3 }) => /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
|
|
4462
4899
|
RadixToast.Root,
|
|
4463
4900
|
{
|
|
4464
4901
|
open,
|
|
@@ -4468,19 +4905,19 @@ function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
|
4468
4905
|
},
|
|
4469
4906
|
className: toast({ color }),
|
|
4470
4907
|
children: [
|
|
4471
|
-
/* @__PURE__ */ (0,
|
|
4472
|
-
|
|
4473
|
-
action3 && /* @__PURE__ */ (0,
|
|
4474
|
-
/* @__PURE__ */ (0,
|
|
4908
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(RadixToast.Title, { className: title5, children: title6 }),
|
|
4909
|
+
description9 && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(RadixToast.Description, { className: description8, children: description9 }),
|
|
4910
|
+
action3 && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(RadixToast.Action, { asChild: true, altText: action3.altText ?? action3.label, className: action2, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Button, { size: "sm", variant: "soft", color: "neutral", onClick: action3.onClick, children: action3.label }) }),
|
|
4911
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(RadixToast.Close, { className: close, "aria-label": m.close ?? "\uB2EB\uAE30", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_icons22.XIcon, { size: 16 }) })
|
|
4475
4912
|
]
|
|
4476
4913
|
},
|
|
4477
4914
|
id
|
|
4478
4915
|
)),
|
|
4479
|
-
/* @__PURE__ */ (0,
|
|
4916
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
|
|
4480
4917
|
] }) });
|
|
4481
4918
|
}
|
|
4482
4919
|
function useToast() {
|
|
4483
|
-
const context = (0,
|
|
4920
|
+
const context = (0, import_react61.useContext)(ToastContext);
|
|
4484
4921
|
if (!context) throw new Error("useToast \uB294 ToastProvider \uC548\uC5D0\uC11C \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4.");
|
|
4485
4922
|
return context;
|
|
4486
4923
|
}
|
|
@@ -4493,7 +4930,7 @@ var arrow2 = "z7rufs1";
|
|
|
4493
4930
|
var content11 = "z7rufs0";
|
|
4494
4931
|
|
|
4495
4932
|
// src/components/Tooltip/Tooltip.tsx
|
|
4496
|
-
var
|
|
4933
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
4497
4934
|
function Tooltip({
|
|
4498
4935
|
content: content12,
|
|
4499
4936
|
children,
|
|
@@ -4508,9 +4945,9 @@ function Tooltip({
|
|
|
4508
4945
|
}) {
|
|
4509
4946
|
const portal2 = usePortalProps();
|
|
4510
4947
|
if (disabled || content12 == null || content12 === "") return children;
|
|
4511
|
-
return /* @__PURE__ */ (0,
|
|
4512
|
-
/* @__PURE__ */ (0,
|
|
4513
|
-
/* @__PURE__ */ (0,
|
|
4948
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(RadixTooltip.Provider, { delayDuration: delay, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(RadixTooltip.Root, { open, defaultOpen, onOpenChange, children: [
|
|
4949
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(RadixTooltip.Trigger, { asChild: true, children }),
|
|
4950
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(RadixTooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
4514
4951
|
RadixTooltip.Content,
|
|
4515
4952
|
{
|
|
4516
4953
|
side,
|
|
@@ -4521,7 +4958,7 @@ function Tooltip({
|
|
|
4521
4958
|
style: portal2.style,
|
|
4522
4959
|
children: [
|
|
4523
4960
|
content12,
|
|
4524
|
-
/* @__PURE__ */ (0,
|
|
4961
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(RadixTooltip.Arrow, { className: arrow2, width: 10, height: 5 })
|
|
4525
4962
|
]
|
|
4526
4963
|
}
|
|
4527
4964
|
) })
|
|
@@ -4529,19 +4966,19 @@ function Tooltip({
|
|
|
4529
4966
|
}
|
|
4530
4967
|
|
|
4531
4968
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
4532
|
-
var
|
|
4969
|
+
var import_react62 = require("react");
|
|
4533
4970
|
|
|
4534
4971
|
// src/components/VerificationCodeInput/VerificationCodeInput.css.ts
|
|
4535
4972
|
var input5 = "ea01812";
|
|
4536
|
-
var
|
|
4973
|
+
var row5 = "ea01810";
|
|
4537
4974
|
var slot = "ea01813";
|
|
4538
4975
|
var slots = "ea01811";
|
|
4539
4976
|
var timer = "ea01814";
|
|
4540
4977
|
|
|
4541
4978
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
4542
|
-
var
|
|
4979
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
4543
4980
|
var formatTime = (seconds) => `${String(Math.floor(seconds / 60)).padStart(2, "0")}:${String(seconds % 60).padStart(2, "0")}`;
|
|
4544
|
-
var VerificationCodeInput = /* @__PURE__ */ (0,
|
|
4981
|
+
var VerificationCodeInput = /* @__PURE__ */ (0, import_react62.forwardRef)(
|
|
4545
4982
|
function VerificationCodeInput2(props, ref) {
|
|
4546
4983
|
const {
|
|
4547
4984
|
length = 6,
|
|
@@ -4568,23 +5005,23 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react56.forwardRef)(
|
|
|
4568
5005
|
const label7 = labelProp ?? m.verificationCode ?? "\uC778\uC99D\uBC88\uD638";
|
|
4569
5006
|
const resendText = resendTextProp ?? m.resend ?? "\uC7AC\uC804\uC1A1";
|
|
4570
5007
|
const expiredText = expiredTextProp ?? m.verificationExpired ?? "\uC778\uC99D \uC2DC\uAC04\uC774 \uC9C0\uB0AC\uC5B4\uC694. \uC7AC\uC804\uC1A1\uD574 \uC8FC\uC138\uC694.";
|
|
4571
|
-
const generatedId = (0,
|
|
5008
|
+
const generatedId = (0, import_react62.useId)();
|
|
4572
5009
|
const inputId = id ?? generatedId;
|
|
4573
5010
|
const helperId = `${inputId}-helper`;
|
|
4574
5011
|
const statusId = `${inputId}-status`;
|
|
4575
|
-
const inputRef = (0,
|
|
5012
|
+
const inputRef = (0, import_react62.useRef)(null);
|
|
4576
5013
|
const isControlled = "value" in props;
|
|
4577
|
-
const [innerValue, setInnerValue] = (0,
|
|
5014
|
+
const [innerValue, setInnerValue] = (0, import_react62.useState)(defaultValue ?? "");
|
|
4578
5015
|
const code = (isControlled ? value4 ?? "" : innerValue).slice(0, length);
|
|
4579
|
-
const [focused, setFocused] = (0,
|
|
4580
|
-
const [endAt, setEndAt] = (0,
|
|
4581
|
-
const [remaining, setRemaining] = (0,
|
|
5016
|
+
const [focused, setFocused] = (0, import_react62.useState)(false);
|
|
5017
|
+
const [endAt, setEndAt] = (0, import_react62.useState)(() => expiresIn ? Date.now() + expiresIn * 1e3 : null);
|
|
5018
|
+
const [remaining, setRemaining] = (0, import_react62.useState)(expiresIn ?? 0);
|
|
4582
5019
|
const expired = expiresIn !== void 0 && remaining <= 0;
|
|
4583
|
-
const onExpireRef = (0,
|
|
4584
|
-
(0,
|
|
5020
|
+
const onExpireRef = (0, import_react62.useRef)(onExpire);
|
|
5021
|
+
(0, import_react62.useEffect)(() => {
|
|
4585
5022
|
onExpireRef.current = onExpire;
|
|
4586
5023
|
});
|
|
4587
|
-
(0,
|
|
5024
|
+
(0, import_react62.useEffect)(() => {
|
|
4588
5025
|
if (endAt === null) return;
|
|
4589
5026
|
const tick = () => {
|
|
4590
5027
|
const left = Math.max(0, Math.ceil((endAt - Date.now()) / 1e3));
|
|
@@ -4617,19 +5054,19 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react56.forwardRef)(
|
|
|
4617
5054
|
}
|
|
4618
5055
|
inputRef.current?.focus();
|
|
4619
5056
|
};
|
|
4620
|
-
const
|
|
5057
|
+
const description9 = helperText3 ?? m.verificationCodeHint?.(length, type) ?? `${length}\uC790\uB9AC ${type === "numeric" ? "\uC22B\uC790" : "\uBB38\uC790"}\uB97C \uC785\uB825\uD558\uC138\uC694.`;
|
|
4621
5058
|
const activeIndex = Math.min(code.length, length - 1);
|
|
4622
|
-
return /* @__PURE__ */ (0,
|
|
5059
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
4623
5060
|
"div",
|
|
4624
5061
|
{
|
|
4625
5062
|
className: cx(field, className),
|
|
4626
5063
|
"data-invalid": error || void 0,
|
|
4627
5064
|
"data-disabled": disabled || void 0,
|
|
4628
5065
|
children: [
|
|
4629
|
-
/* @__PURE__ */ (0,
|
|
4630
|
-
/* @__PURE__ */ (0,
|
|
4631
|
-
/* @__PURE__ */ (0,
|
|
4632
|
-
/* @__PURE__ */ (0,
|
|
5066
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("label", { htmlFor: inputId, className: label, children: label7 }),
|
|
5067
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: row5, children: [
|
|
5068
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: slots, children: [
|
|
5069
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4633
5070
|
"input",
|
|
4634
5071
|
{
|
|
4635
5072
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -4649,7 +5086,7 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react56.forwardRef)(
|
|
|
4649
5086
|
className: input5
|
|
4650
5087
|
}
|
|
4651
5088
|
),
|
|
4652
|
-
Array.from({ length }, (_, index) => /* @__PURE__ */ (0,
|
|
5089
|
+
Array.from({ length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4653
5090
|
"div",
|
|
4654
5091
|
{
|
|
4655
5092
|
className: slot,
|
|
@@ -4660,12 +5097,12 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react56.forwardRef)(
|
|
|
4660
5097
|
index
|
|
4661
5098
|
))
|
|
4662
5099
|
] }),
|
|
4663
|
-
expiresIn !== void 0 && /* @__PURE__ */ (0,
|
|
4664
|
-
onResend && /* @__PURE__ */ (0,
|
|
5100
|
+
expiresIn !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("span", { role: "timer", className: timer, children: formatTime(remaining) }),
|
|
5101
|
+
onResend && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Button, { size: "sm", variant: "outline", color: "neutral", onClick: resend, disabled, children: resendText })
|
|
4665
5102
|
] }),
|
|
4666
|
-
/* @__PURE__ */ (0,
|
|
4667
|
-
/* @__PURE__ */ (0,
|
|
4668
|
-
name && /* @__PURE__ */ (0,
|
|
5103
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { id: helperId, className: helperText({ error }), children: description9 }),
|
|
5104
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { id: statusId, role: "status", className: helperText({ error: true }), children: expired ? expiredText : "" }),
|
|
5105
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("input", { type: "hidden", name, value: code })
|
|
4669
5106
|
]
|
|
4670
5107
|
}
|
|
4671
5108
|
);
|
|
@@ -4690,7 +5127,9 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react56.forwardRef)(
|
|
|
4690
5127
|
CardFooter,
|
|
4691
5128
|
CardHeader,
|
|
4692
5129
|
Checkbox,
|
|
5130
|
+
CheckboxGroup,
|
|
4693
5131
|
Combobox,
|
|
5132
|
+
Container,
|
|
4694
5133
|
DatePicker,
|
|
4695
5134
|
DateRangePicker,
|
|
4696
5135
|
DescriptionList,
|
|
@@ -4712,6 +5151,8 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react56.forwardRef)(
|
|
|
4712
5151
|
DropdownMenuTrigger,
|
|
4713
5152
|
ErrorSummary,
|
|
4714
5153
|
FileUpload,
|
|
5154
|
+
FormField,
|
|
5155
|
+
Grid,
|
|
4715
5156
|
IconButton,
|
|
4716
5157
|
Input,
|
|
4717
5158
|
Link,
|
|
@@ -4726,6 +5167,7 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react56.forwardRef)(
|
|
|
4726
5167
|
PopoverClose,
|
|
4727
5168
|
Progress,
|
|
4728
5169
|
RadioGroup,
|
|
5170
|
+
ResidentNumberInput,
|
|
4729
5171
|
SegmentedControl,
|
|
4730
5172
|
Select,
|
|
4731
5173
|
Skeleton,
|
|
@@ -4767,10 +5209,19 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react56.forwardRef)(
|
|
|
4767
5209
|
formatKoreanAmount,
|
|
4768
5210
|
formatKoreanDate,
|
|
4769
5211
|
formatPhoneNumber,
|
|
5212
|
+
formatResidentNumber,
|
|
4770
5213
|
hasAllRequiredAgreements,
|
|
4771
5214
|
isValidBusinessNumber,
|
|
5215
|
+
isValidResidentNumber,
|
|
4772
5216
|
kakaoPostcodeProvider,
|
|
5217
|
+
maskCardNumber,
|
|
5218
|
+
maskDigits,
|
|
5219
|
+
maskName,
|
|
5220
|
+
maskPhoneNumber,
|
|
5221
|
+
maskResidentNumber,
|
|
5222
|
+
media,
|
|
4773
5223
|
parseISODate,
|
|
5224
|
+
parseResidentNumber,
|
|
4774
5225
|
presetRange,
|
|
4775
5226
|
strongInputBorders,
|
|
4776
5227
|
themeClass,
|