@bestow-ui/react 1.6.0 → 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 +10 -5
- package/dist/{chunk-NKLDAXUR.js → chunk-YYLDXZWR.js} +26 -5
- package/dist/chunk-YYLDXZWR.js.map +1 -0
- package/dist/client.js +885 -578
- package/dist/client.js.map +1 -1
- package/dist/index.cjs +1333 -863
- 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,27 +1974,41 @@ 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
|
|
1799
|
-
|
|
1992
|
+
var import_react33 = require("react");
|
|
1993
|
+
var import_korean_utils5 = require("@bestow-ui/korean-utils");
|
|
1994
|
+
|
|
1995
|
+
// src/utils/useDelayedAnnouncement.ts
|
|
1996
|
+
var import_react32 = require("react");
|
|
1997
|
+
var ANNOUNCE_DELAY = 800;
|
|
1998
|
+
function useDelayedAnnouncement(message, delay = ANNOUNCE_DELAY) {
|
|
1999
|
+
const [announced, setAnnounced] = (0, import_react32.useState)("");
|
|
2000
|
+
(0, import_react32.useEffect)(() => {
|
|
2001
|
+
const timer2 = setTimeout(() => setAnnounced(message), message ? delay : 0);
|
|
2002
|
+
return () => clearTimeout(timer2);
|
|
2003
|
+
}, [message, delay]);
|
|
2004
|
+
return message && announced === message ? message : "";
|
|
2005
|
+
}
|
|
2006
|
+
|
|
2007
|
+
// src/components/BusinessNumberInput/BusinessNumberInput.tsx
|
|
2008
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1800
2009
|
var sanitize = (input6) => input6.replace(/\D/g, "").slice(0, 10);
|
|
1801
2010
|
var isDigit2 = (char) => /\d/.test(char);
|
|
1802
|
-
var BusinessNumberInput = /* @__PURE__ */ (0,
|
|
2011
|
+
var BusinessNumberInput = /* @__PURE__ */ (0, import_react33.forwardRef)(
|
|
1803
2012
|
function BusinessNumberInput2(props, ref) {
|
|
1804
2013
|
const {
|
|
1805
2014
|
value: value4,
|
|
@@ -1815,61 +2024,65 @@ var BusinessNumberInput = /* @__PURE__ */ (0, import_react28.forwardRef)(
|
|
|
1815
2024
|
onKeyDown,
|
|
1816
2025
|
...rest
|
|
1817
2026
|
} = props;
|
|
1818
|
-
const inputRef = (0,
|
|
2027
|
+
const inputRef = (0, import_react33.useRef)(null);
|
|
1819
2028
|
const m = useMessages();
|
|
1820
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.";
|
|
1821
2030
|
const label7 = labelProp ?? m.businessNumber ?? "\uC0AC\uC5C5\uC790\uB4F1\uB85D\uBC88\uD638";
|
|
1822
2031
|
const incompleteText = m.businessNumberIncomplete ?? "10\uC790\uB9AC\uB97C \uBAA8\uB450 \uC785\uB825\uD574 \uC8FC\uC138\uC694.";
|
|
1823
|
-
const [touched, setTouched] = (0,
|
|
2032
|
+
const [touched, setTouched] = (0, import_react33.useState)(false);
|
|
1824
2033
|
const field4 = useFormattedInput({
|
|
1825
2034
|
isControlled: "value" in props,
|
|
1826
2035
|
value: value4,
|
|
1827
2036
|
defaultValue,
|
|
1828
|
-
onValueChange: (digits) => onValueChange?.(digits, digits.length === 10 ? (0,
|
|
2037
|
+
onValueChange: (digits) => onValueChange?.(digits, digits.length === 10 ? (0, import_korean_utils5.isValidBusinessNumber)(digits) : null),
|
|
1829
2038
|
sanitize,
|
|
1830
|
-
format:
|
|
2039
|
+
format: import_korean_utils5.formatBusinessNumber,
|
|
1831
2040
|
isMeaningful: isDigit2,
|
|
1832
2041
|
inputRef
|
|
1833
2042
|
});
|
|
1834
2043
|
const complete = field4.raw.length === 10;
|
|
1835
|
-
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);
|
|
1836
2045
|
const showAuto = autoInvalid && error === void 0;
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
field4.
|
|
1848
|
-
onKeyDown
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
onBlur
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
2046
|
+
const announcement = useDelayedAnnouncement(showAuto && complete ? invalidText : "");
|
|
2047
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
|
2048
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2049
|
+
TextField,
|
|
2050
|
+
{
|
|
2051
|
+
ref: mergeRefs(ref, inputRef),
|
|
2052
|
+
label: label7,
|
|
2053
|
+
placeholder,
|
|
2054
|
+
inputMode: "numeric",
|
|
2055
|
+
value: field4.display,
|
|
2056
|
+
onChange: field4.onChange,
|
|
2057
|
+
onKeyDown: (event) => {
|
|
2058
|
+
field4.onKeyDown(event);
|
|
2059
|
+
onKeyDown?.(event);
|
|
2060
|
+
},
|
|
2061
|
+
onBlur: (event) => {
|
|
2062
|
+
setTouched(true);
|
|
2063
|
+
onBlur?.(event);
|
|
2064
|
+
},
|
|
2065
|
+
error: error ?? autoInvalid,
|
|
2066
|
+
helperText: showAuto ? complete ? invalidText : incompleteText : helperText3,
|
|
2067
|
+
...rest
|
|
2068
|
+
}
|
|
2069
|
+
),
|
|
2070
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { role: "status", className: visuallyHidden, children: announcement })
|
|
2071
|
+
] });
|
|
1859
2072
|
}
|
|
1860
2073
|
);
|
|
1861
2074
|
|
|
1862
2075
|
// src/components/Calendar/Calendar.tsx
|
|
1863
|
-
var
|
|
2076
|
+
var import_react36 = require("react");
|
|
1864
2077
|
var import_icons9 = require("@bestow-ui/icons");
|
|
1865
|
-
var
|
|
2078
|
+
var import_korean_utils6 = require("@bestow-ui/korean-utils");
|
|
1866
2079
|
|
|
1867
2080
|
// src/utils/useIsClient.ts
|
|
1868
|
-
var
|
|
2081
|
+
var import_react34 = require("react");
|
|
1869
2082
|
var subscribeNothing = () => () => {
|
|
1870
2083
|
};
|
|
1871
2084
|
function useIsClient() {
|
|
1872
|
-
return (0,
|
|
2085
|
+
return (0, import_react34.useSyncExternalStore)(
|
|
1873
2086
|
subscribeNothing,
|
|
1874
2087
|
() => true,
|
|
1875
2088
|
() => false
|
|
@@ -1877,16 +2090,16 @@ function useIsClient() {
|
|
|
1877
2090
|
}
|
|
1878
2091
|
|
|
1879
2092
|
// src/components/IconButton/IconButton.tsx
|
|
1880
|
-
var
|
|
2093
|
+
var import_react35 = require("react");
|
|
1881
2094
|
|
|
1882
2095
|
// src/components/IconButton/IconButton.css.ts
|
|
1883
|
-
var
|
|
1884
|
-
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: [] });
|
|
1885
2098
|
|
|
1886
2099
|
// src/components/IconButton/IconButton.tsx
|
|
1887
|
-
var
|
|
1888
|
-
var IconButton = /* @__PURE__ */ (0,
|
|
1889
|
-
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)(
|
|
1890
2103
|
Button,
|
|
1891
2104
|
{
|
|
1892
2105
|
ref,
|
|
@@ -1904,15 +2117,15 @@ var IconButton = /* @__PURE__ */ (0, import_react30.forwardRef)(function IconBut
|
|
|
1904
2117
|
// src/components/Calendar/Calendar.css.ts
|
|
1905
2118
|
var cell = "_1qyq67b5";
|
|
1906
2119
|
var day = "_1qyq67b6";
|
|
1907
|
-
var
|
|
2120
|
+
var grid2 = "_1qyq67b3";
|
|
1908
2121
|
var header5 = "_1qyq67b1";
|
|
1909
2122
|
var heading = "_1qyq67b2";
|
|
1910
2123
|
var root8 = "_1qyq67b0";
|
|
1911
2124
|
var weekday = "_1qyq67b4";
|
|
1912
2125
|
|
|
1913
2126
|
// src/components/Calendar/Calendar.tsx
|
|
1914
|
-
var
|
|
1915
|
-
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) {
|
|
1916
2129
|
const {
|
|
1917
2130
|
value: value4,
|
|
1918
2131
|
defaultValue,
|
|
@@ -1930,12 +2143,12 @@ var Calendar = /* @__PURE__ */ (0, import_react31.forwardRef)(function Calendar2
|
|
|
1930
2143
|
const m = useMessages();
|
|
1931
2144
|
const prevMonthLabel = prevMonthLabelProp ?? m.previousMonth ?? "\uC774\uC804 \uB2EC";
|
|
1932
2145
|
const nextMonthLabel = nextMonthLabelProp ?? m.nextMonth ?? "\uB2E4\uC74C \uB2EC";
|
|
1933
|
-
const weekdaysShort = m.weekdaysShort ??
|
|
1934
|
-
const weekdaysLong = m.weekdaysLong ??
|
|
1935
|
-
const headingId = (0,
|
|
1936
|
-
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);
|
|
1937
2150
|
const isControlled = "value" in props;
|
|
1938
|
-
const [innerValue, setInnerValue] = (0,
|
|
2151
|
+
const [innerValue, setInnerValue] = (0, import_react36.useState)(defaultValue ?? "");
|
|
1939
2152
|
const selected = parseISODate(isControlled ? value4 : innerValue);
|
|
1940
2153
|
const isClient = useIsClient();
|
|
1941
2154
|
const today = parseISODate(todayProp) ?? (isClient ? /* @__PURE__ */ new Date() : null);
|
|
@@ -1947,16 +2160,16 @@ var Calendar = /* @__PURE__ */ (0, import_react31.forwardRef)(function Calendar2
|
|
|
1947
2160
|
return date;
|
|
1948
2161
|
};
|
|
1949
2162
|
const isDisabled = (date) => minDate !== null && compareDays(date, minDate) < 0 || maxDate !== null && compareDays(date, maxDate) > 0 || !!isDateDisabled?.(date);
|
|
1950
|
-
const [focusedState, setFocused] = (0,
|
|
2163
|
+
const [focusedState, setFocused] = (0, import_react36.useState)(null);
|
|
1951
2164
|
const base = selected ?? today;
|
|
1952
2165
|
const focused = focusedState ?? (base ? clamp(base) : null);
|
|
1953
|
-
const moveFocus = (0,
|
|
2166
|
+
const moveFocus = (0, import_react36.useRef)(initialFocus ?? false);
|
|
1954
2167
|
const selectedIso = selected ? toISODate(selected) : "";
|
|
1955
|
-
(0,
|
|
2168
|
+
(0, import_react36.useEffect)(() => {
|
|
1956
2169
|
const date = parseISODate(selectedIso);
|
|
1957
2170
|
if (date) setFocused((prev) => isSameDay(prev, date) ? prev : date);
|
|
1958
2171
|
}, [selectedIso]);
|
|
1959
|
-
(0,
|
|
2172
|
+
(0, import_react36.useEffect)(() => {
|
|
1960
2173
|
if (!moveFocus.current || !focused) return;
|
|
1961
2174
|
moveFocus.current = false;
|
|
1962
2175
|
gridRef.current?.querySelector(`[data-date="${toISODate(focused)}"]`)?.focus();
|
|
@@ -1996,36 +2209,36 @@ var Calendar = /* @__PURE__ */ (0, import_react31.forwardRef)(function Calendar2
|
|
|
1996
2209
|
) : [];
|
|
1997
2210
|
const canPrev = !!visible && (!minDate || compareDays(new Date(visible.getFullYear(), visible.getMonth(), 0), minDate) >= 0);
|
|
1998
2211
|
const canNext = !!visible && (!maxDate || compareDays(new Date(visible.getFullYear(), visible.getMonth() + 1, 1), maxDate) <= 0);
|
|
1999
|
-
return /* @__PURE__ */ (0,
|
|
2000
|
-
/* @__PURE__ */ (0,
|
|
2001
|
-
/* @__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)(
|
|
2002
2215
|
IconButton,
|
|
2003
2216
|
{
|
|
2004
2217
|
"aria-label": prevMonthLabel,
|
|
2005
2218
|
size: "sm",
|
|
2006
2219
|
disabled: !canPrev,
|
|
2007
2220
|
onClick: () => visible && setFocused(clamp(addMonths(visible, -1))),
|
|
2008
|
-
children: /* @__PURE__ */ (0,
|
|
2221
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_icons9.ChevronLeftIcon, {})
|
|
2009
2222
|
}
|
|
2010
2223
|
),
|
|
2011
|
-
/* @__PURE__ */ (0,
|
|
2012
|
-
/* @__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)(
|
|
2013
2226
|
IconButton,
|
|
2014
2227
|
{
|
|
2015
2228
|
"aria-label": nextMonthLabel,
|
|
2016
2229
|
size: "sm",
|
|
2017
2230
|
disabled: !canNext,
|
|
2018
2231
|
onClick: () => visible && setFocused(clamp(addMonths(visible, 1))),
|
|
2019
|
-
children: /* @__PURE__ */ (0,
|
|
2232
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_icons9.ChevronRightIcon, {})
|
|
2020
2233
|
}
|
|
2021
2234
|
)
|
|
2022
2235
|
] }),
|
|
2023
|
-
/* @__PURE__ */ (0,
|
|
2024
|
-
/* @__PURE__ */ (0,
|
|
2025
|
-
/* @__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) => {
|
|
2026
2239
|
const iso = toISODate(date);
|
|
2027
2240
|
if (!visible || !isSameMonth(date, visible))
|
|
2028
|
-
return /* @__PURE__ */ (0,
|
|
2241
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("td", { role: "gridcell", className: cell }, iso);
|
|
2029
2242
|
const isSelected = isSameDay(date, selected);
|
|
2030
2243
|
const isToday = isSameDay(date, today);
|
|
2031
2244
|
const holiday = !!isHoliday?.(date);
|
|
@@ -2035,7 +2248,7 @@ var Calendar = /* @__PURE__ */ (0, import_react31.forwardRef)(function Calendar2
|
|
|
2035
2248
|
holiday && (m.holiday ?? "\uACF5\uD734\uC77C"),
|
|
2036
2249
|
isToday && (m.today ?? "\uC624\uB298")
|
|
2037
2250
|
].filter(Boolean).join(", ");
|
|
2038
|
-
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)(
|
|
2039
2252
|
"button",
|
|
2040
2253
|
{
|
|
2041
2254
|
type: "button",
|
|
@@ -2058,9 +2271,105 @@ var Calendar = /* @__PURE__ */ (0, import_react31.forwardRef)(function Calendar2
|
|
|
2058
2271
|
] });
|
|
2059
2272
|
});
|
|
2060
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
|
+
|
|
2061
2370
|
// src/components/Combobox/Combobox.tsx
|
|
2062
2371
|
var Popover = __toESM(require("@radix-ui/react-popover"), 1);
|
|
2063
|
-
var
|
|
2372
|
+
var import_react38 = require("react");
|
|
2064
2373
|
var import_icons10 = require("@bestow-ui/icons");
|
|
2065
2374
|
|
|
2066
2375
|
// src/components/Select/Select.css.ts
|
|
@@ -2079,10 +2388,9 @@ var empty = "c2pbq74";
|
|
|
2079
2388
|
var toggle2 = "c2pbq71 c2pbq70";
|
|
2080
2389
|
|
|
2081
2390
|
// src/components/Combobox/Combobox.tsx
|
|
2082
|
-
var
|
|
2083
|
-
var
|
|
2084
|
-
var
|
|
2085
|
-
var Combobox = /* @__PURE__ */ (0, import_react32.forwardRef)(function Combobox2(props, ref) {
|
|
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) {
|
|
2086
2394
|
const {
|
|
2087
2395
|
options,
|
|
2088
2396
|
value: value4,
|
|
@@ -2110,24 +2418,24 @@ var Combobox = /* @__PURE__ */ (0, import_react32.forwardRef)(function Combobox2
|
|
|
2110
2418
|
const emptyMessage = emptyMessageProp ?? m.noResults ?? "\uACB0\uACFC\uAC00 \uC5C6\uC5B4\uC694";
|
|
2111
2419
|
const toggleLabel = toggleLabelProp ?? m.openList ?? "\uBAA9\uB85D \uC5F4\uAE30";
|
|
2112
2420
|
const clearLabel = clearLabelProp ?? m.clearSelection ?? "\uC120\uD0DD \uC9C0\uC6B0\uAE30";
|
|
2113
|
-
const generatedId = (0,
|
|
2421
|
+
const generatedId = (0, import_react38.useId)();
|
|
2114
2422
|
const inputId = id ?? generatedId;
|
|
2115
2423
|
const labelId = `${inputId}-label`;
|
|
2116
2424
|
const listId = `${inputId}-listbox`;
|
|
2117
2425
|
const helperId = helperText3 ? `${inputId}-helper` : void 0;
|
|
2118
2426
|
const optionId = (index) => `${inputId}-option-${index}`;
|
|
2119
2427
|
const portal2 = usePortalProps();
|
|
2120
|
-
const inputRef = (0,
|
|
2121
|
-
const anchorRef = (0,
|
|
2428
|
+
const inputRef = (0, import_react38.useRef)(null);
|
|
2429
|
+
const anchorRef = (0, import_react38.useRef)(null);
|
|
2122
2430
|
const isControlled = "value" in props;
|
|
2123
|
-
const [innerValue, setInnerValue] = (0,
|
|
2431
|
+
const [innerValue, setInnerValue] = (0, import_react38.useState)(defaultValue);
|
|
2124
2432
|
const selectedValue = isControlled ? value4 : innerValue;
|
|
2125
2433
|
const selectedOption = options.find((o) => o.value === selectedValue);
|
|
2126
|
-
const [open, setOpen] = (0,
|
|
2127
|
-
const [
|
|
2128
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
2129
|
-
const filtered = (0,
|
|
2130
|
-
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 ?? "";
|
|
2131
2439
|
const firstEnabled = (list7, from = 0, step2 = 1) => {
|
|
2132
2440
|
for (let i = from; i >= 0 && i < list7.length; i += step2) if (!list7[i].disabled) return i;
|
|
2133
2441
|
return -1;
|
|
@@ -2149,13 +2457,13 @@ var Combobox = /* @__PURE__ */ (0, import_react32.forwardRef)(function Combobox2
|
|
|
2149
2457
|
if (selectedValue) onValueChange?.("");
|
|
2150
2458
|
};
|
|
2151
2459
|
const close2 = () => {
|
|
2152
|
-
if (
|
|
2460
|
+
if (query2 === "" && selectedValue) clearSelection();
|
|
2153
2461
|
reset();
|
|
2154
2462
|
};
|
|
2155
|
-
const select2 = (
|
|
2156
|
-
if (
|
|
2157
|
-
if (!isControlled) setInnerValue(
|
|
2158
|
-
if (
|
|
2463
|
+
const select2 = (option3) => {
|
|
2464
|
+
if (option3.disabled) return;
|
|
2465
|
+
if (!isControlled) setInnerValue(option3.value);
|
|
2466
|
+
if (option3.value !== selectedValue) onValueChange?.(option3.value);
|
|
2159
2467
|
reset();
|
|
2160
2468
|
};
|
|
2161
2469
|
const move = (step2) => {
|
|
@@ -2185,8 +2493,8 @@ var Combobox = /* @__PURE__ */ (0, import_react32.forwardRef)(function Combobox2
|
|
|
2185
2493
|
case "Enter":
|
|
2186
2494
|
if (open) {
|
|
2187
2495
|
event.preventDefault();
|
|
2188
|
-
const
|
|
2189
|
-
if (
|
|
2496
|
+
const option3 = filtered[activeIndex];
|
|
2497
|
+
if (option3) select2(option3);
|
|
2190
2498
|
else close2();
|
|
2191
2499
|
}
|
|
2192
2500
|
break;
|
|
@@ -2201,34 +2509,34 @@ var Combobox = /* @__PURE__ */ (0, import_react32.forwardRef)(function Combobox2
|
|
|
2201
2509
|
break;
|
|
2202
2510
|
}
|
|
2203
2511
|
};
|
|
2204
|
-
(0,
|
|
2512
|
+
(0, import_react38.useEffect)(() => {
|
|
2205
2513
|
if (!open || activeIndex < 0) return;
|
|
2206
2514
|
document.getElementById(optionId(activeIndex))?.scrollIntoView?.({ block: "nearest" });
|
|
2207
2515
|
}, [open, activeIndex]);
|
|
2208
2516
|
const hasOptions = filtered.length > 0;
|
|
2209
2517
|
const noResults = open && !disabled && !hasOptions;
|
|
2210
|
-
const [announcedFor, setAnnouncedFor] = (0,
|
|
2211
|
-
(0,
|
|
2518
|
+
const [announcedFor, setAnnouncedFor] = (0, import_react38.useState)(void 0);
|
|
2519
|
+
(0, import_react38.useEffect)(() => {
|
|
2212
2520
|
if (!noResults) return;
|
|
2213
|
-
const timer2 = setTimeout(() => setAnnouncedFor(
|
|
2521
|
+
const timer2 = setTimeout(() => setAnnouncedFor(query2), ANNOUNCE_DELAY);
|
|
2214
2522
|
return () => clearTimeout(timer2);
|
|
2215
|
-
}, [noResults,
|
|
2216
|
-
const announceNoResults = noResults && announcedFor ===
|
|
2217
|
-
return /* @__PURE__ */ (0,
|
|
2218
|
-
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: [
|
|
2219
2527
|
label7,
|
|
2220
|
-
required && /* @__PURE__ */ (0,
|
|
2528
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2221
2529
|
] }),
|
|
2222
|
-
/* @__PURE__ */ (0,
|
|
2223
|
-
/* @__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)(
|
|
2224
2532
|
"div",
|
|
2225
2533
|
{
|
|
2226
2534
|
ref: anchorRef,
|
|
2227
|
-
className: cx(
|
|
2535
|
+
className: cx(root2({ size, fullWidth }), className),
|
|
2228
2536
|
"data-invalid": error || void 0,
|
|
2229
2537
|
"data-disabled": disabled || void 0,
|
|
2230
2538
|
children: [
|
|
2231
|
-
/* @__PURE__ */ (0,
|
|
2539
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2232
2540
|
"input",
|
|
2233
2541
|
{
|
|
2234
2542
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -2255,7 +2563,7 @@ var Combobox = /* @__PURE__ */ (0, import_react32.forwardRef)(function Combobox2
|
|
|
2255
2563
|
className: input
|
|
2256
2564
|
}
|
|
2257
2565
|
),
|
|
2258
|
-
clearable && selectedOption && !disabled && /* @__PURE__ */ (0,
|
|
2566
|
+
clearable && selectedOption && !disabled && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2259
2567
|
"button",
|
|
2260
2568
|
{
|
|
2261
2569
|
type: "button",
|
|
@@ -2268,10 +2576,10 @@ var Combobox = /* @__PURE__ */ (0, import_react32.forwardRef)(function Combobox2
|
|
|
2268
2576
|
reset();
|
|
2269
2577
|
inputRef.current?.focus();
|
|
2270
2578
|
},
|
|
2271
|
-
children: /* @__PURE__ */ (0,
|
|
2579
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons10.XIcon, { size: 16 })
|
|
2272
2580
|
}
|
|
2273
2581
|
),
|
|
2274
|
-
/* @__PURE__ */ (0,
|
|
2582
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2275
2583
|
"button",
|
|
2276
2584
|
{
|
|
2277
2585
|
type: "button",
|
|
@@ -2286,13 +2594,13 @@ var Combobox = /* @__PURE__ */ (0, import_react32.forwardRef)(function Combobox2
|
|
|
2286
2594
|
else openList(options);
|
|
2287
2595
|
inputRef.current?.focus();
|
|
2288
2596
|
},
|
|
2289
|
-
children: /* @__PURE__ */ (0,
|
|
2597
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_icons10.ChevronDownIcon, { size: 16 })
|
|
2290
2598
|
}
|
|
2291
2599
|
)
|
|
2292
2600
|
]
|
|
2293
2601
|
}
|
|
2294
2602
|
) }),
|
|
2295
|
-
/* @__PURE__ */ (0,
|
|
2603
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2296
2604
|
Popover.Content,
|
|
2297
2605
|
{
|
|
2298
2606
|
role: "presentation",
|
|
@@ -2307,63 +2615,63 @@ var Combobox = /* @__PURE__ */ (0, import_react32.forwardRef)(function Combobox2
|
|
|
2307
2615
|
onInteractOutside: (event) => {
|
|
2308
2616
|
if (anchorRef.current?.contains(event.target)) event.preventDefault();
|
|
2309
2617
|
},
|
|
2310
|
-
children: hasOptions ? /* @__PURE__ */ (0,
|
|
2618
|
+
children: hasOptions ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2311
2619
|
"div",
|
|
2312
2620
|
{
|
|
2313
2621
|
id: listId,
|
|
2314
2622
|
role: "listbox",
|
|
2315
2623
|
"aria-labelledby": label7 ? labelId : void 0,
|
|
2316
2624
|
"aria-label": label7 ? void 0 : ariaLabel,
|
|
2317
|
-
children: filtered.map((
|
|
2318
|
-
const isSelected =
|
|
2625
|
+
children: filtered.map((option3, index) => {
|
|
2626
|
+
const isSelected = option3.value === selectedValue;
|
|
2319
2627
|
return (
|
|
2320
2628
|
// aria-activedescendant 패턴: 포커스·키보드는 입력창이 맡고 항목은 포커스를 받지 않는다 (WAI-ARIA combobox)
|
|
2321
2629
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/interactive-supports-focus
|
|
2322
|
-
/* @__PURE__ */ (0,
|
|
2630
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
2323
2631
|
"div",
|
|
2324
2632
|
{
|
|
2325
2633
|
id: optionId(index),
|
|
2326
2634
|
role: "option",
|
|
2327
2635
|
"aria-selected": isSelected,
|
|
2328
|
-
"aria-disabled":
|
|
2636
|
+
"aria-disabled": option3.disabled || void 0,
|
|
2329
2637
|
"data-highlighted": index === activeIndex ? "" : void 0,
|
|
2330
2638
|
"data-state": isSelected ? "checked" : "unchecked",
|
|
2331
|
-
"data-disabled":
|
|
2639
|
+
"data-disabled": option3.disabled ? "" : void 0,
|
|
2332
2640
|
className: item5,
|
|
2333
2641
|
onMouseDown: (event) => event.preventDefault(),
|
|
2334
|
-
onMouseMove: () => !
|
|
2335
|
-
onClick: () => select2(
|
|
2642
|
+
onMouseMove: () => !option3.disabled && setActiveIndex(index),
|
|
2643
|
+
onClick: () => select2(option3),
|
|
2336
2644
|
children: [
|
|
2337
|
-
|
|
2338
|
-
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 }) })
|
|
2339
2647
|
]
|
|
2340
2648
|
},
|
|
2341
|
-
|
|
2649
|
+
option3.value
|
|
2342
2650
|
)
|
|
2343
2651
|
);
|
|
2344
2652
|
})
|
|
2345
2653
|
}
|
|
2346
2654
|
) : (
|
|
2347
2655
|
// 스크린리더 알림은 아래의 항상 있는 status 영역이 맡는다 (여기는 화면 표시만)
|
|
2348
|
-
/* @__PURE__ */ (0,
|
|
2656
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: empty, children: emptyMessage })
|
|
2349
2657
|
)
|
|
2350
2658
|
}
|
|
2351
2659
|
) })
|
|
2352
2660
|
] }),
|
|
2353
|
-
/* @__PURE__ */ (0,
|
|
2354
|
-
name && /* @__PURE__ */ (0,
|
|
2355
|
-
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 })
|
|
2356
2664
|
] });
|
|
2357
2665
|
});
|
|
2358
2666
|
|
|
2359
2667
|
// src/components/DatePicker/DatePicker.tsx
|
|
2360
|
-
var
|
|
2668
|
+
var import_react40 = require("react");
|
|
2361
2669
|
var import_icons12 = require("@bestow-ui/icons");
|
|
2362
2670
|
|
|
2363
2671
|
// src/components/Popover/Popover.tsx
|
|
2364
2672
|
var RadixPopover = __toESM(require("@radix-ui/react-popover"), 1);
|
|
2365
2673
|
var import_icons11 = require("@bestow-ui/icons");
|
|
2366
|
-
var
|
|
2674
|
+
var import_react39 = require("react");
|
|
2367
2675
|
|
|
2368
2676
|
// src/components/Popover/Popover.css.ts
|
|
2369
2677
|
var arrow = "_1j99p8x4";
|
|
@@ -2373,7 +2681,7 @@ var header6 = "_1j99p8x1";
|
|
|
2373
2681
|
var title3 = "_1j99p8x2";
|
|
2374
2682
|
|
|
2375
2683
|
// src/components/Popover/Popover.tsx
|
|
2376
|
-
var
|
|
2684
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2377
2685
|
function Popover2({
|
|
2378
2686
|
content: content12,
|
|
2379
2687
|
children,
|
|
@@ -2393,10 +2701,10 @@ function Popover2({
|
|
|
2393
2701
|
}) {
|
|
2394
2702
|
const portal2 = usePortalProps();
|
|
2395
2703
|
const m = useMessages();
|
|
2396
|
-
const titleId = (0,
|
|
2397
|
-
return /* @__PURE__ */ (0,
|
|
2398
|
-
/* @__PURE__ */ (0,
|
|
2399
|
-
/* @__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)(
|
|
2400
2708
|
RadixPopover.Content,
|
|
2401
2709
|
{
|
|
2402
2710
|
side,
|
|
@@ -2409,12 +2717,12 @@ function Popover2({
|
|
|
2409
2717
|
className: cx(portal2.className, content7, className),
|
|
2410
2718
|
style: { ...portal2.style, ...style },
|
|
2411
2719
|
children: [
|
|
2412
|
-
(title6 || showClose) && /* @__PURE__ */ (0,
|
|
2413
|
-
title6 && /* @__PURE__ */ (0,
|
|
2414
|
-
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 }) })
|
|
2415
2723
|
] }),
|
|
2416
2724
|
content12,
|
|
2417
|
-
showArrow && /* @__PURE__ */ (0,
|
|
2725
|
+
showArrow && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadixPopover.Arrow, { className: arrow, width: 12, height: 6 })
|
|
2418
2726
|
]
|
|
2419
2727
|
}
|
|
2420
2728
|
) })
|
|
@@ -2423,11 +2731,11 @@ function Popover2({
|
|
|
2423
2731
|
var PopoverClose = RadixPopover.Close;
|
|
2424
2732
|
|
|
2425
2733
|
// src/components/DatePicker/DatePicker.tsx
|
|
2426
|
-
var
|
|
2734
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2427
2735
|
var sanitize2 = (input6) => input6.replace(/\D/g, "").slice(0, 8);
|
|
2428
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)}`;
|
|
2429
2737
|
var isDigit3 = (char) => /\d/.test(char);
|
|
2430
|
-
var DatePicker = /* @__PURE__ */ (0,
|
|
2738
|
+
var DatePicker = /* @__PURE__ */ (0, import_react40.forwardRef)(
|
|
2431
2739
|
function DatePicker2(props, ref) {
|
|
2432
2740
|
const {
|
|
2433
2741
|
value: value4,
|
|
@@ -2453,17 +2761,17 @@ var DatePicker = /* @__PURE__ */ (0, import_react34.forwardRef)(
|
|
|
2453
2761
|
id,
|
|
2454
2762
|
className
|
|
2455
2763
|
} = props;
|
|
2456
|
-
const inputRef = (0,
|
|
2764
|
+
const inputRef = (0, import_react40.useRef)(null);
|
|
2457
2765
|
const m = useMessages();
|
|
2458
2766
|
const label7 = labelProp ?? m.date ?? "\uB0A0\uC9DC";
|
|
2459
2767
|
const calendarLabel = calendarLabelProp ?? m.openCalendar ?? "\uB2EC\uB825 \uC5F4\uAE30";
|
|
2460
2768
|
const invalidText = invalidTextProp ?? m.dateInvalid ?? "\uC62C\uBC14\uB978 \uB0A0\uC9DC\uAC00 \uC544\uB2C8\uC5D0\uC694.";
|
|
2461
2769
|
const unavailableText = unavailableTextProp ?? m.dateUnavailable ?? "\uACE0\uB97C \uC218 \uC5C6\uB294 \uB0A0\uC9DC\uC608\uC694.";
|
|
2462
2770
|
const incompleteText = incompleteTextProp ?? m.dateIncomplete ?? "\uB0A0\uC9DC\uB97C YYYY-MM-DD \uD615\uC2DD\uC73C\uB85C \uC785\uB825\uD574 \uC8FC\uC138\uC694.";
|
|
2463
|
-
const [open, setOpen] = (0,
|
|
2464
|
-
const [touched, setTouched] = (0,
|
|
2771
|
+
const [open, setOpen] = (0, import_react40.useState)(false);
|
|
2772
|
+
const [touched, setTouched] = (0, import_react40.useState)(false);
|
|
2465
2773
|
const isControlled = "value" in props;
|
|
2466
|
-
const lastEmitted = (0,
|
|
2774
|
+
const lastEmitted = (0, import_react40.useRef)(isControlled ? value4 ?? "" : defaultValue ?? "");
|
|
2467
2775
|
const minDate = parseISODate(min);
|
|
2468
2776
|
const maxDate = parseISODate(max);
|
|
2469
2777
|
const toIso = (digits) => digits.length === 8 ? `${digits.slice(0, 4)}-${digits.slice(4, 6)}-${digits.slice(6)}` : "";
|
|
@@ -2488,7 +2796,7 @@ var DatePicker = /* @__PURE__ */ (0, import_react34.forwardRef)(
|
|
|
2488
2796
|
});
|
|
2489
2797
|
const textIso = toIso(field4.raw);
|
|
2490
2798
|
const { setRaw } = field4;
|
|
2491
|
-
(0,
|
|
2799
|
+
(0, import_react40.useEffect)(() => {
|
|
2492
2800
|
if (!isControlled) return;
|
|
2493
2801
|
const next = value4 ?? "";
|
|
2494
2802
|
lastEmitted.current = next;
|
|
@@ -2502,9 +2810,10 @@ var DatePicker = /* @__PURE__ */ (0, import_react34.forwardRef)(
|
|
|
2502
2810
|
const complete = field4.raw.length === 8;
|
|
2503
2811
|
const autoError = complete ? !date ? invalidText : isUnavailable(date) ? unavailableText : null : touched && field4.raw.length > 0 ? incompleteText : null;
|
|
2504
2812
|
const showAuto = autoError !== null && error === void 0;
|
|
2813
|
+
const announcement = useDelayedAnnouncement(showAuto && complete ? autoError ?? "" : "");
|
|
2505
2814
|
const selectedIso = date && !isUnavailable(date) ? textIso : "";
|
|
2506
|
-
return /* @__PURE__ */ (0,
|
|
2507
|
-
/* @__PURE__ */ (0,
|
|
2815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
|
2816
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2508
2817
|
TextField,
|
|
2509
2818
|
{
|
|
2510
2819
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -2523,7 +2832,7 @@ var DatePicker = /* @__PURE__ */ (0, import_react34.forwardRef)(
|
|
|
2523
2832
|
disabled,
|
|
2524
2833
|
fullWidth,
|
|
2525
2834
|
rootClassName: className,
|
|
2526
|
-
endAdornment: /* @__PURE__ */ (0,
|
|
2835
|
+
endAdornment: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2527
2836
|
Popover2,
|
|
2528
2837
|
{
|
|
2529
2838
|
open,
|
|
@@ -2532,7 +2841,7 @@ var DatePicker = /* @__PURE__ */ (0, import_react34.forwardRef)(
|
|
|
2532
2841
|
align: "end",
|
|
2533
2842
|
"aria-label": m.calendar ?? "\uB2EC\uB825",
|
|
2534
2843
|
onOpenAutoFocus: (event) => event.preventDefault(),
|
|
2535
|
-
content: /* @__PURE__ */ (0,
|
|
2844
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2536
2845
|
Calendar,
|
|
2537
2846
|
{
|
|
2538
2847
|
value: selectedIso,
|
|
@@ -2549,18 +2858,19 @@ var DatePicker = /* @__PURE__ */ (0, import_react34.forwardRef)(
|
|
|
2549
2858
|
initialFocus: true
|
|
2550
2859
|
}
|
|
2551
2860
|
),
|
|
2552
|
-
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, {}) })
|
|
2553
2862
|
}
|
|
2554
2863
|
)
|
|
2555
2864
|
}
|
|
2556
2865
|
),
|
|
2557
|
-
|
|
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 })
|
|
2558
2868
|
] });
|
|
2559
2869
|
}
|
|
2560
2870
|
);
|
|
2561
2871
|
|
|
2562
2872
|
// src/components/DateRangePicker/DateRangePicker.tsx
|
|
2563
|
-
var
|
|
2873
|
+
var import_react41 = require("react");
|
|
2564
2874
|
|
|
2565
2875
|
// src/components/DateRangePicker/DateRangePicker.css.ts
|
|
2566
2876
|
var field2 = "_17277dh3";
|
|
@@ -2571,8 +2881,8 @@ var presets = "_17277dh5";
|
|
|
2571
2881
|
var separator2 = "_17277dh4";
|
|
2572
2882
|
|
|
2573
2883
|
// src/components/DateRangePicker/DateRangePicker.tsx
|
|
2574
|
-
var
|
|
2575
|
-
var DateRangePicker = /* @__PURE__ */ (0,
|
|
2884
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2885
|
+
var DateRangePicker = /* @__PURE__ */ (0, import_react41.forwardRef)(
|
|
2576
2886
|
function DateRangePicker2(props, ref) {
|
|
2577
2887
|
const {
|
|
2578
2888
|
value: value4,
|
|
@@ -2597,12 +2907,12 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2597
2907
|
className
|
|
2598
2908
|
} = props;
|
|
2599
2909
|
const m = useMessages();
|
|
2600
|
-
const generatedId = (0,
|
|
2910
|
+
const generatedId = (0, import_react41.useId)();
|
|
2601
2911
|
const baseId = id ?? generatedId;
|
|
2602
2912
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
2603
2913
|
const isClient = useIsClient();
|
|
2604
2914
|
const isControlled = "value" in props;
|
|
2605
|
-
const [inner, setInner] = (0,
|
|
2915
|
+
const [inner, setInner] = (0, import_react41.useState)(defaultValue ?? { start: "", end: "" });
|
|
2606
2916
|
const range3 = isControlled ? value4 ?? { start: "", end: "" } : inner;
|
|
2607
2917
|
const update = (next) => {
|
|
2608
2918
|
if (next.start === range3.start && next.end === range3.end) return;
|
|
@@ -2613,7 +2923,7 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2613
2923
|
const startLabel = startLabelProp ?? m.dateRangeStart ?? "\uC2DC\uC791\uC77C";
|
|
2614
2924
|
const endLabel = endLabelProp ?? m.dateRangeEnd ?? "\uC885\uB8CC\uC77C";
|
|
2615
2925
|
const common = { isDateDisabled, isHoliday, today, disabled, required, fullWidth: true };
|
|
2616
|
-
return /* @__PURE__ */ (0,
|
|
2926
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2617
2927
|
"fieldset",
|
|
2618
2928
|
{
|
|
2619
2929
|
ref,
|
|
@@ -2622,12 +2932,12 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2622
2932
|
"aria-describedby": helperId,
|
|
2623
2933
|
"data-invalid": error || void 0,
|
|
2624
2934
|
children: [
|
|
2625
|
-
label7 && /* @__PURE__ */ (0,
|
|
2935
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("legend", { className: legend3, children: [
|
|
2626
2936
|
label7,
|
|
2627
|
-
required && /* @__PURE__ */ (0,
|
|
2937
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2628
2938
|
] }),
|
|
2629
|
-
/* @__PURE__ */ (0,
|
|
2630
|
-
/* @__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)(
|
|
2631
2941
|
DatePicker,
|
|
2632
2942
|
{
|
|
2633
2943
|
...common,
|
|
@@ -2641,8 +2951,8 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2641
2951
|
error: error || void 0
|
|
2642
2952
|
}
|
|
2643
2953
|
) }),
|
|
2644
|
-
/* @__PURE__ */ (0,
|
|
2645
|
-
/* @__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)(
|
|
2646
2956
|
DatePicker,
|
|
2647
2957
|
{
|
|
2648
2958
|
...common,
|
|
@@ -2657,10 +2967,10 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2657
2967
|
}
|
|
2658
2968
|
) })
|
|
2659
2969
|
] }),
|
|
2660
|
-
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) => {
|
|
2661
2971
|
const target = isClient ? presetRange(preset, todayIso()) : null;
|
|
2662
2972
|
const pressed = !!target && target.start === range3.start && target.end === range3.end;
|
|
2663
|
-
return /* @__PURE__ */ (0,
|
|
2973
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2664
2974
|
Button,
|
|
2665
2975
|
{
|
|
2666
2976
|
type: "button",
|
|
@@ -2675,7 +2985,7 @@ var DateRangePicker = /* @__PURE__ */ (0, import_react35.forwardRef)(
|
|
|
2675
2985
|
preset.label
|
|
2676
2986
|
);
|
|
2677
2987
|
}) }),
|
|
2678
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
2988
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
2679
2989
|
]
|
|
2680
2990
|
}
|
|
2681
2991
|
);
|
|
@@ -2687,11 +2997,11 @@ var Dialog2 = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
|
2687
2997
|
var import_icons13 = require("@bestow-ui/icons");
|
|
2688
2998
|
|
|
2689
2999
|
// src/components/Drawer/Drawer.css.ts
|
|
2690
|
-
var
|
|
3000
|
+
var import_createRuntimeFn20 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
2691
3001
|
var body3 = "nmobyvy";
|
|
2692
3002
|
var closeButton4 = "nmobyvx";
|
|
2693
|
-
var content8 = /* @__PURE__ */ (0,
|
|
2694
|
-
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";
|
|
2695
3005
|
var footer3 = "nmobyvz";
|
|
2696
3006
|
var header7 = "nmobyvt";
|
|
2697
3007
|
var headings2 = "nmobyvu";
|
|
@@ -2699,14 +3009,14 @@ var overlay2 = "nmobyv0";
|
|
|
2699
3009
|
var title4 = "nmobyvv";
|
|
2700
3010
|
|
|
2701
3011
|
// src/components/Drawer/Drawer.tsx
|
|
2702
|
-
var
|
|
3012
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2703
3013
|
function Drawer({
|
|
2704
3014
|
open,
|
|
2705
3015
|
defaultOpen,
|
|
2706
3016
|
onOpenChange,
|
|
2707
3017
|
trigger: trigger4,
|
|
2708
3018
|
title: title6,
|
|
2709
|
-
description:
|
|
3019
|
+
description: description9,
|
|
2710
3020
|
children,
|
|
2711
3021
|
footer: footer6,
|
|
2712
3022
|
side,
|
|
@@ -2718,11 +3028,11 @@ function Drawer({
|
|
|
2718
3028
|
const portal2 = usePortalProps();
|
|
2719
3029
|
const m = useMessages();
|
|
2720
3030
|
const focus = useReturnFocus(Boolean(trigger4));
|
|
2721
|
-
return /* @__PURE__ */ (0,
|
|
2722
|
-
trigger4 && /* @__PURE__ */ (0,
|
|
2723
|
-
/* @__PURE__ */ (0,
|
|
2724
|
-
/* @__PURE__ */ (0,
|
|
2725
|
-
/* @__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)(
|
|
2726
3036
|
Dialog2.Content,
|
|
2727
3037
|
{
|
|
2728
3038
|
className: cx(portal2.className, content8({ side, size }), className),
|
|
@@ -2731,17 +3041,17 @@ function Drawer({
|
|
|
2731
3041
|
onPointerDownOutside: closeOnOverlayClick ? void 0 : (event) => event.preventDefault(),
|
|
2732
3042
|
onOpenAutoFocus: focus.onOpenAutoFocus,
|
|
2733
3043
|
onCloseAutoFocus: focus.onCloseAutoFocus,
|
|
2734
|
-
...
|
|
3044
|
+
...description9 ? {} : { "aria-describedby": void 0 },
|
|
2735
3045
|
children: [
|
|
2736
|
-
/* @__PURE__ */ (0,
|
|
2737
|
-
/* @__PURE__ */ (0,
|
|
2738
|
-
/* @__PURE__ */ (0,
|
|
2739
|
-
|
|
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 })
|
|
2740
3050
|
] }),
|
|
2741
|
-
!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, {}) }) })
|
|
2742
3052
|
] }),
|
|
2743
|
-
children && /* @__PURE__ */ (0,
|
|
2744
|
-
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 })
|
|
2745
3055
|
]
|
|
2746
3056
|
}
|
|
2747
3057
|
)
|
|
@@ -2751,7 +3061,7 @@ function Drawer({
|
|
|
2751
3061
|
var DrawerClose = Dialog2.Close;
|
|
2752
3062
|
|
|
2753
3063
|
// src/components/ErrorSummary/ErrorSummary.tsx
|
|
2754
|
-
var
|
|
3064
|
+
var import_react42 = require("react");
|
|
2755
3065
|
|
|
2756
3066
|
// src/components/ErrorSummary/ErrorSummary.css.ts
|
|
2757
3067
|
var link3 = "_1cdophv2";
|
|
@@ -2759,17 +3069,17 @@ var list3 = "_1cdophv1";
|
|
|
2759
3069
|
var root9 = "_1cdophv0";
|
|
2760
3070
|
|
|
2761
3071
|
// src/components/ErrorSummary/ErrorSummary.tsx
|
|
2762
|
-
var
|
|
2763
|
-
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) {
|
|
2764
3074
|
const m = useMessages();
|
|
2765
|
-
const titleId = (0,
|
|
2766
|
-
const rootRef = (0,
|
|
3075
|
+
const titleId = (0, import_react42.useId)();
|
|
3076
|
+
const rootRef = (0, import_react42.useRef)(null);
|
|
2767
3077
|
const hasErrors = errors2.length > 0;
|
|
2768
|
-
(0,
|
|
3078
|
+
(0, import_react42.useEffect)(() => {
|
|
2769
3079
|
if (hasErrors) rootRef.current?.focus();
|
|
2770
3080
|
}, [focusKey, hasErrors]);
|
|
2771
3081
|
if (!hasErrors) return null;
|
|
2772
|
-
return /* @__PURE__ */ (0,
|
|
3082
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2773
3083
|
"div",
|
|
2774
3084
|
{
|
|
2775
3085
|
ref: mergeRefs(ref, rootRef),
|
|
@@ -2777,12 +3087,12 @@ var ErrorSummary = /* @__PURE__ */ (0, import_react36.forwardRef)(function Error
|
|
|
2777
3087
|
"aria-labelledby": titleId,
|
|
2778
3088
|
className: cx(root9, className),
|
|
2779
3089
|
...rest,
|
|
2780
|
-
children: /* @__PURE__ */ (0,
|
|
3090
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2781
3091
|
Alert,
|
|
2782
3092
|
{
|
|
2783
3093
|
color: "danger",
|
|
2784
|
-
title: /* @__PURE__ */ (0,
|
|
2785
|
-
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)(
|
|
2786
3096
|
"a",
|
|
2787
3097
|
{
|
|
2788
3098
|
href: `#${error.id}`,
|
|
@@ -2800,7 +3110,7 @@ var ErrorSummary = /* @__PURE__ */ (0, import_react36.forwardRef)(function Error
|
|
|
2800
3110
|
});
|
|
2801
3111
|
|
|
2802
3112
|
// src/components/FileUpload/FileUpload.tsx
|
|
2803
|
-
var
|
|
3113
|
+
var import_react43 = require("react");
|
|
2804
3114
|
var import_icons14 = require("@bestow-ui/icons");
|
|
2805
3115
|
|
|
2806
3116
|
// src/components/FileUpload/FileUpload.css.ts
|
|
@@ -2816,7 +3126,7 @@ var list4 = "r2jefr4";
|
|
|
2816
3126
|
var root10 = "r2jefr0";
|
|
2817
3127
|
|
|
2818
3128
|
// src/components/FileUpload/FileUpload.tsx
|
|
2819
|
-
var
|
|
3129
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2820
3130
|
var REMOVED_ANNOUNCE_DELAY = 500;
|
|
2821
3131
|
function formatSize(bytes) {
|
|
2822
3132
|
if (bytes < 1024) return `${bytes} B`;
|
|
@@ -2833,7 +3143,7 @@ function matchesAccept(file, accept) {
|
|
|
2833
3143
|
}
|
|
2834
3144
|
var NO_FILES = [];
|
|
2835
3145
|
var sameFile = (a, b) => a.name === b.name && a.size === b.size && a.lastModified === b.lastModified;
|
|
2836
|
-
var FileUpload = /* @__PURE__ */ (0,
|
|
3146
|
+
var FileUpload = /* @__PURE__ */ (0, import_react43.forwardRef)(function FileUpload2(props, ref) {
|
|
2837
3147
|
const {
|
|
2838
3148
|
value: value4,
|
|
2839
3149
|
defaultValue,
|
|
@@ -2854,22 +3164,22 @@ var FileUpload = /* @__PURE__ */ (0, import_react37.forwardRef)(function FileUpl
|
|
|
2854
3164
|
} = props;
|
|
2855
3165
|
const m = useMessages();
|
|
2856
3166
|
const isControlled = "value" in props;
|
|
2857
|
-
const [innerFiles, setInnerFiles] = (0,
|
|
3167
|
+
const [innerFiles, setInnerFiles] = (0, import_react43.useState)(defaultValue ?? []);
|
|
2858
3168
|
const files = isControlled ? value4 ?? NO_FILES : innerFiles;
|
|
2859
|
-
const [rejections, setRejections] = (0,
|
|
2860
|
-
const [announcement, setAnnouncement] = (0,
|
|
2861
|
-
const [dragging, setDragging] = (0,
|
|
2862
|
-
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)();
|
|
2863
3173
|
const baseId = id ?? generatedId;
|
|
2864
3174
|
const labelId = label7 ? `${baseId}-label` : void 0;
|
|
2865
3175
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
2866
3176
|
const errorsId = rejections.length > 0 ? `${baseId}-errors` : void 0;
|
|
2867
|
-
const inputRef = (0,
|
|
2868
|
-
const selectButtonRef = (0,
|
|
2869
|
-
const removeButtonRefs = (0,
|
|
2870
|
-
const focusAfterRemove = (0,
|
|
2871
|
-
const announceTimer = (0,
|
|
2872
|
-
(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), []);
|
|
2873
3183
|
const selectLabel = m.fileSelect ?? "\uD30C\uC77C \uC120\uD0DD";
|
|
2874
3184
|
const reasonText = (rejection) => {
|
|
2875
3185
|
const fileName2 = rejection.file.name;
|
|
@@ -2917,13 +3227,13 @@ var FileUpload = /* @__PURE__ */ (0, import_react37.forwardRef)(function FileUpl
|
|
|
2917
3227
|
setRejections([]);
|
|
2918
3228
|
commit(next, m.fileRemoved?.(removed.name) ?? `${removed.name} \uC0AD\uC81C\uB428`, REMOVED_ANNOUNCE_DELAY);
|
|
2919
3229
|
};
|
|
2920
|
-
(0,
|
|
3230
|
+
(0, import_react43.useEffect)(() => {
|
|
2921
3231
|
if (focusAfterRemove.current === null) return;
|
|
2922
3232
|
const target = focusAfterRemove.current;
|
|
2923
3233
|
focusAfterRemove.current = null;
|
|
2924
3234
|
(target >= 0 ? removeButtonRefs.current[target] : selectButtonRef.current)?.focus();
|
|
2925
3235
|
}, [files]);
|
|
2926
|
-
(0,
|
|
3236
|
+
(0, import_react43.useEffect)(() => {
|
|
2927
3237
|
const input6 = inputRef.current;
|
|
2928
3238
|
if (!name || !input6 || typeof DataTransfer === "undefined") return;
|
|
2929
3239
|
try {
|
|
@@ -2938,12 +3248,12 @@ var FileUpload = /* @__PURE__ */ (0, import_react37.forwardRef)(function FileUpl
|
|
|
2938
3248
|
event.preventDefault();
|
|
2939
3249
|
setDragging(over);
|
|
2940
3250
|
};
|
|
2941
|
-
return /* @__PURE__ */ (0,
|
|
2942
|
-
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: [
|
|
2943
3253
|
label7,
|
|
2944
|
-
required && /* @__PURE__ */ (0,
|
|
3254
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
2945
3255
|
] }),
|
|
2946
|
-
/* @__PURE__ */ (0,
|
|
3256
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2947
3257
|
"div",
|
|
2948
3258
|
{
|
|
2949
3259
|
role: "group",
|
|
@@ -2963,8 +3273,8 @@ var FileUpload = /* @__PURE__ */ (0, import_react37.forwardRef)(function FileUpl
|
|
|
2963
3273
|
if (!disabled) addFiles(Array.from(event.dataTransfer.files));
|
|
2964
3274
|
},
|
|
2965
3275
|
children: [
|
|
2966
|
-
/* @__PURE__ */ (0,
|
|
2967
|
-
/* @__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)(
|
|
2968
3278
|
Button,
|
|
2969
3279
|
{
|
|
2970
3280
|
ref: selectButtonRef,
|
|
@@ -2977,8 +3287,8 @@ var FileUpload = /* @__PURE__ */ (0, import_react37.forwardRef)(function FileUpl
|
|
|
2977
3287
|
children: selectLabel
|
|
2978
3288
|
}
|
|
2979
3289
|
),
|
|
2980
|
-
/* @__PURE__ */ (0,
|
|
2981
|
-
/* @__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)(
|
|
2982
3292
|
"input",
|
|
2983
3293
|
{
|
|
2984
3294
|
ref: inputRef,
|
|
@@ -3001,11 +3311,11 @@ var FileUpload = /* @__PURE__ */ (0, import_react37.forwardRef)(function FileUpl
|
|
|
3001
3311
|
]
|
|
3002
3312
|
}
|
|
3003
3313
|
),
|
|
3004
|
-
files.length > 0 && /* @__PURE__ */ (0,
|
|
3005
|
-
/* @__PURE__ */ (0,
|
|
3006
|
-
/* @__PURE__ */ (0,
|
|
3007
|
-
/* @__PURE__ */ (0,
|
|
3008
|
-
/* @__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)(
|
|
3009
3319
|
IconButton,
|
|
3010
3320
|
{
|
|
3011
3321
|
ref: (node) => {
|
|
@@ -3016,20 +3326,20 @@ var FileUpload = /* @__PURE__ */ (0, import_react37.forwardRef)(function FileUpl
|
|
|
3016
3326
|
"aria-describedby": `${baseId}-size-${index}`,
|
|
3017
3327
|
disabled,
|
|
3018
3328
|
onClick: () => removeAt(index),
|
|
3019
|
-
children: /* @__PURE__ */ (0,
|
|
3329
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_icons14.XIcon, {})
|
|
3020
3330
|
}
|
|
3021
3331
|
)
|
|
3022
3332
|
] }, `${file.name}-${file.size}-${file.lastModified}`)) }),
|
|
3023
|
-
rejections.length > 0 && /* @__PURE__ */ (0,
|
|
3024
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
3025
|
-
/* @__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 })
|
|
3026
3336
|
] });
|
|
3027
3337
|
});
|
|
3028
3338
|
|
|
3029
3339
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
3030
3340
|
var RadixMenu = __toESM(require("@radix-ui/react-dropdown-menu"), 1);
|
|
3031
3341
|
var import_icons15 = require("@bestow-ui/icons");
|
|
3032
|
-
var
|
|
3342
|
+
var import_react44 = require("react");
|
|
3033
3343
|
|
|
3034
3344
|
// src/components/DropdownMenu/DropdownMenu.css.ts
|
|
3035
3345
|
var content9 = "_1d7ahux0";
|
|
@@ -3046,14 +3356,14 @@ var subChevron = "_1d7ahuxb";
|
|
|
3046
3356
|
var subTrigger = "_1d7ahuxa";
|
|
3047
3357
|
|
|
3048
3358
|
// src/components/DropdownMenu/DropdownMenu.tsx
|
|
3049
|
-
var
|
|
3359
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3050
3360
|
var DropdownMenu = RadixMenu.Root;
|
|
3051
3361
|
var DropdownMenuTrigger = RadixMenu.Trigger;
|
|
3052
3362
|
var DropdownMenuGroup = RadixMenu.Group;
|
|
3053
|
-
var DropdownMenuContent = /* @__PURE__ */ (0,
|
|
3363
|
+
var DropdownMenuContent = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3054
3364
|
function DropdownMenuContent2({ className, style, side = "bottom", align = "start", sideOffset = 4, collisionPadding = 8, ...rest }, ref) {
|
|
3055
3365
|
const portal2 = usePortalProps();
|
|
3056
|
-
return /* @__PURE__ */ (0,
|
|
3366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3057
3367
|
RadixMenu.Content,
|
|
3058
3368
|
{
|
|
3059
3369
|
ref,
|
|
@@ -3068,56 +3378,56 @@ var DropdownMenuContent = /* @__PURE__ */ (0, import_react38.forwardRef)(
|
|
|
3068
3378
|
) });
|
|
3069
3379
|
}
|
|
3070
3380
|
);
|
|
3071
|
-
var DropdownMenuItem = /* @__PURE__ */ (0,
|
|
3381
|
+
var DropdownMenuItem = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3072
3382
|
function DropdownMenuItem2({ icon: icon8, shortcut: shortcut2, color = "neutral", className, children, ...rest }, ref) {
|
|
3073
|
-
return /* @__PURE__ */ (0,
|
|
3074
|
-
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 }),
|
|
3075
3385
|
children,
|
|
3076
|
-
shortcut2 && /* @__PURE__ */ (0,
|
|
3386
|
+
shortcut2 && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: shortcut, "aria-hidden": true, children: shortcut2 })
|
|
3077
3387
|
] });
|
|
3078
3388
|
}
|
|
3079
3389
|
);
|
|
3080
|
-
var DropdownMenuLabel = /* @__PURE__ */ (0,
|
|
3390
|
+
var DropdownMenuLabel = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3081
3391
|
function DropdownMenuLabel2({ className, ...rest }, ref) {
|
|
3082
|
-
return /* @__PURE__ */ (0,
|
|
3392
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixMenu.Label, { ref, className: cx(label3, className), ...rest });
|
|
3083
3393
|
}
|
|
3084
3394
|
);
|
|
3085
|
-
var DropdownMenuSeparator = /* @__PURE__ */ (0,
|
|
3395
|
+
var DropdownMenuSeparator = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3086
3396
|
function DropdownMenuSeparator2({ className, ...rest }, ref) {
|
|
3087
|
-
return /* @__PURE__ */ (0,
|
|
3397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixMenu.Separator, { ref, className: cx(separator3, className), ...rest });
|
|
3088
3398
|
}
|
|
3089
3399
|
);
|
|
3090
|
-
var DropdownMenuCheckboxItem = /* @__PURE__ */ (0,
|
|
3400
|
+
var DropdownMenuCheckboxItem = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3091
3401
|
function DropdownMenuCheckboxItem2({ className, children, ...rest }, ref) {
|
|
3092
|
-
return /* @__PURE__ */ (0,
|
|
3093
|
-
/* @__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 }) }) }),
|
|
3094
3404
|
children
|
|
3095
3405
|
] });
|
|
3096
3406
|
}
|
|
3097
3407
|
);
|
|
3098
3408
|
var DropdownMenuRadioGroup = RadixMenu.RadioGroup;
|
|
3099
|
-
var DropdownMenuRadioItem = /* @__PURE__ */ (0,
|
|
3409
|
+
var DropdownMenuRadioItem = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3100
3410
|
function DropdownMenuRadioItem2({ className, children, ...rest }, ref) {
|
|
3101
|
-
return /* @__PURE__ */ (0,
|
|
3102
|
-
/* @__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 }) }) }),
|
|
3103
3413
|
children
|
|
3104
3414
|
] });
|
|
3105
3415
|
}
|
|
3106
3416
|
);
|
|
3107
3417
|
var DropdownMenuSub = RadixMenu.Sub;
|
|
3108
|
-
var DropdownMenuSubTrigger = /* @__PURE__ */ (0,
|
|
3418
|
+
var DropdownMenuSubTrigger = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3109
3419
|
function DropdownMenuSubTrigger2({ icon: icon8, className, children, ...rest }, ref) {
|
|
3110
|
-
return /* @__PURE__ */ (0,
|
|
3111
|
-
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 }),
|
|
3112
3422
|
children,
|
|
3113
|
-
/* @__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 }) })
|
|
3114
3424
|
] });
|
|
3115
3425
|
}
|
|
3116
3426
|
);
|
|
3117
|
-
var DropdownMenuSubContent = /* @__PURE__ */ (0,
|
|
3427
|
+
var DropdownMenuSubContent = /* @__PURE__ */ (0, import_react44.forwardRef)(
|
|
3118
3428
|
function DropdownMenuSubContent2({ className, style, sideOffset = 4, alignOffset = -5, collisionPadding = 8, ...rest }, ref) {
|
|
3119
3429
|
const portal2 = usePortalProps();
|
|
3120
|
-
return /* @__PURE__ */ (0,
|
|
3430
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(RadixMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3121
3431
|
RadixMenu.SubContent,
|
|
3122
3432
|
{
|
|
3123
3433
|
ref,
|
|
@@ -3133,23 +3443,23 @@ var DropdownMenuSubContent = /* @__PURE__ */ (0, import_react38.forwardRef)(
|
|
|
3133
3443
|
);
|
|
3134
3444
|
|
|
3135
3445
|
// src/components/NumberInput/NumberInput.tsx
|
|
3136
|
-
var
|
|
3446
|
+
var import_react45 = require("react");
|
|
3137
3447
|
var import_icons16 = require("@bestow-ui/icons");
|
|
3138
3448
|
|
|
3139
3449
|
// src/components/NumberInput/NumberInput.css.ts
|
|
3140
|
-
var
|
|
3450
|
+
var import_createRuntimeFn21 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3141
3451
|
var end = "_1vq2qhv1";
|
|
3142
3452
|
var input4 = "_1vq2qhv0";
|
|
3143
|
-
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: [] });
|
|
3144
3454
|
var unit = "_1vq2qhv2";
|
|
3145
3455
|
|
|
3146
3456
|
// src/components/NumberInput/NumberInput.tsx
|
|
3147
|
-
var
|
|
3457
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3148
3458
|
var MAX_DIGITS2 = 15;
|
|
3149
3459
|
var isMeaningful = (char) => /[\d.-]/.test(char);
|
|
3150
3460
|
var decimalsOf = (n) => Number.isFinite(n) ? String(n).split(".")[1]?.length ?? 0 : 0;
|
|
3151
3461
|
var parse = (raw) => /\d/.test(raw) ? Number(raw) : null;
|
|
3152
|
-
var NumberInput = /* @__PURE__ */ (0,
|
|
3462
|
+
var NumberInput = /* @__PURE__ */ (0, import_react45.forwardRef)(
|
|
3153
3463
|
function NumberInput2(props, ref) {
|
|
3154
3464
|
const {
|
|
3155
3465
|
value: value4,
|
|
@@ -3175,8 +3485,8 @@ var NumberInput = /* @__PURE__ */ (0, import_react39.forwardRef)(
|
|
|
3175
3485
|
} = props;
|
|
3176
3486
|
const isControlled = "value" in props;
|
|
3177
3487
|
const m = useMessages();
|
|
3178
|
-
const inputRef = (0,
|
|
3179
|
-
const generatedId = (0,
|
|
3488
|
+
const inputRef = (0, import_react45.useRef)(null);
|
|
3489
|
+
const generatedId = (0, import_react45.useId)();
|
|
3180
3490
|
const inputId = id ?? generatedId;
|
|
3181
3491
|
const precision = Math.max(0, precisionProp ?? decimalsOf(step2));
|
|
3182
3492
|
const allowNegative = min === void 0 || min < 0;
|
|
@@ -3196,7 +3506,7 @@ var NumberInput = /* @__PURE__ */ (0, import_react39.forwardRef)(
|
|
|
3196
3506
|
const [, sign = "", int = "", rest2 = ""] = raw.match(/^(-?)(\d*)(.*)$/) ?? [];
|
|
3197
3507
|
return `${sign}${int ? Number(int).toLocaleString("ko-KR") : ""}${rest2}`;
|
|
3198
3508
|
};
|
|
3199
|
-
const lastEmitted = (0,
|
|
3509
|
+
const lastEmitted = (0, import_react45.useRef)(parse(toRaw(isControlled ? value4 : defaultValue)));
|
|
3200
3510
|
const emit = (next) => {
|
|
3201
3511
|
if (next === lastEmitted.current) return;
|
|
3202
3512
|
lastEmitted.current = next;
|
|
@@ -3213,7 +3523,7 @@ var NumberInput = /* @__PURE__ */ (0, import_react39.forwardRef)(
|
|
|
3213
3523
|
inputRef
|
|
3214
3524
|
});
|
|
3215
3525
|
const { setRaw } = field4;
|
|
3216
|
-
(0,
|
|
3526
|
+
(0, import_react45.useEffect)(() => {
|
|
3217
3527
|
if (!isControlled) return;
|
|
3218
3528
|
const next = value4 ?? null;
|
|
3219
3529
|
lastEmitted.current = next;
|
|
@@ -3221,7 +3531,7 @@ var NumberInput = /* @__PURE__ */ (0, import_react39.forwardRef)(
|
|
|
3221
3531
|
}, [value4]);
|
|
3222
3532
|
const current2 = parse(field4.raw);
|
|
3223
3533
|
const valueText = (n) => `${format2(toRaw(n))}${unit2 ?? ""}`;
|
|
3224
|
-
const [announcement, setAnnouncement] = (0,
|
|
3534
|
+
const [announcement, setAnnouncement] = (0, import_react45.useState)("");
|
|
3225
3535
|
const setValue = (next, announce = true) => {
|
|
3226
3536
|
setRaw(toRaw(next));
|
|
3227
3537
|
emit(next);
|
|
@@ -3255,7 +3565,7 @@ var NumberInput = /* @__PURE__ */ (0, import_react39.forwardRef)(
|
|
|
3255
3565
|
field4.onKeyDown(event);
|
|
3256
3566
|
}
|
|
3257
3567
|
};
|
|
3258
|
-
const stepper2 = (direction) => /* @__PURE__ */ (0,
|
|
3568
|
+
const stepper2 = (direction) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3259
3569
|
IconButton,
|
|
3260
3570
|
{
|
|
3261
3571
|
size: "sm",
|
|
@@ -3266,11 +3576,11 @@ var NumberInput = /* @__PURE__ */ (0, import_react39.forwardRef)(
|
|
|
3266
3576
|
onMouseDown: (event) => event.preventDefault(),
|
|
3267
3577
|
onClick: () => stepBy(direction * step2),
|
|
3268
3578
|
className: stepper({ size }),
|
|
3269
|
-
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, {})
|
|
3270
3580
|
}
|
|
3271
3581
|
);
|
|
3272
|
-
return /* @__PURE__ */ (0,
|
|
3273
|
-
/* @__PURE__ */ (0,
|
|
3582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
|
|
3583
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3274
3584
|
TextField,
|
|
3275
3585
|
{
|
|
3276
3586
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -3298,23 +3608,23 @@ var NumberInput = /* @__PURE__ */ (0, import_react39.forwardRef)(
|
|
|
3298
3608
|
disabled,
|
|
3299
3609
|
readOnly,
|
|
3300
3610
|
startAdornment: hideStepper ? void 0 : stepper2(-1),
|
|
3301
|
-
endAdornment: unit2 || !hideStepper ? /* @__PURE__ */ (0,
|
|
3302
|
-
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 }),
|
|
3303
3613
|
!hideStepper && stepper2(1)
|
|
3304
3614
|
] }) : void 0,
|
|
3305
3615
|
className: cx(input4, className),
|
|
3306
3616
|
...rest
|
|
3307
3617
|
}
|
|
3308
3618
|
),
|
|
3309
|
-
name && /* @__PURE__ */ (0,
|
|
3310
|
-
/* @__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 })
|
|
3311
3621
|
] });
|
|
3312
3622
|
}
|
|
3313
3623
|
);
|
|
3314
3624
|
|
|
3315
3625
|
// src/components/Pagination/Pagination.tsx
|
|
3316
3626
|
var import_icons17 = require("@bestow-ui/icons");
|
|
3317
|
-
var
|
|
3627
|
+
var import_react46 = require("react");
|
|
3318
3628
|
|
|
3319
3629
|
// src/components/Pagination/getPaginationItems.ts
|
|
3320
3630
|
var range = (start, end2) => end2 < start ? [] : Array.from({ length: end2 - start + 1 }, (_, i) => start + i);
|
|
@@ -3330,25 +3640,25 @@ function getPaginationItems(page, totalPages, siblingCount = 1, boundaryCount =
|
|
|
3330
3640
|
Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2),
|
|
3331
3641
|
endPages.length > 0 ? endPages[0] - 2 : totalPages - 1
|
|
3332
3642
|
);
|
|
3333
|
-
const
|
|
3334
|
-
if (siblingsStart > boundaryCount + 2)
|
|
3335
|
-
else if (boundaryCount + 1 < totalPages - boundaryCount)
|
|
3336
|
-
|
|
3337
|
-
if (siblingsEnd < totalPages - boundaryCount - 1)
|
|
3338
|
-
else if (totalPages - boundaryCount > boundaryCount)
|
|
3339
|
-
|
|
3340
|
-
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;
|
|
3341
3651
|
}
|
|
3342
3652
|
|
|
3343
3653
|
// src/components/Pagination/Pagination.css.ts
|
|
3344
|
-
var
|
|
3654
|
+
var import_createRuntimeFn22 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3345
3655
|
var ellipsis = "_1iraoak4";
|
|
3346
|
-
var item8 = /* @__PURE__ */ (0,
|
|
3656
|
+
var item8 = /* @__PURE__ */ (0, import_createRuntimeFn22.createRuntimeFn)({ defaultClassName: "_1iraoak1", variantClassNames: { size: { sm: "_1iraoak2", md: "_1iraoak3" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
|
|
3347
3657
|
var list5 = "_1iraoak0";
|
|
3348
3658
|
|
|
3349
3659
|
// src/components/Pagination/Pagination.tsx
|
|
3350
|
-
var
|
|
3351
|
-
var Pagination = /* @__PURE__ */ (0,
|
|
3660
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3661
|
+
var Pagination = /* @__PURE__ */ (0, import_react46.forwardRef)(function Pagination2({
|
|
3352
3662
|
totalPages,
|
|
3353
3663
|
page: pageProp,
|
|
3354
3664
|
defaultPage = 1,
|
|
@@ -3361,7 +3671,7 @@ var Pagination = /* @__PURE__ */ (0, import_react40.forwardRef)(function Paginat
|
|
|
3361
3671
|
"aria-label": ariaLabelProp,
|
|
3362
3672
|
...rest
|
|
3363
3673
|
}, ref) {
|
|
3364
|
-
const [uncontrolledPage, setUncontrolledPage] = (0,
|
|
3674
|
+
const [uncontrolledPage, setUncontrolledPage] = (0, import_react46.useState)(defaultPage);
|
|
3365
3675
|
const m = useMessages();
|
|
3366
3676
|
const ariaLabel = ariaLabelProp ?? m.pagination ?? "\uD398\uC774\uC9C0 \uD0D0\uC0C9";
|
|
3367
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`);
|
|
@@ -3373,8 +3683,8 @@ var Pagination = /* @__PURE__ */ (0, import_react40.forwardRef)(function Paginat
|
|
|
3373
3683
|
onPageChange?.(next);
|
|
3374
3684
|
};
|
|
3375
3685
|
const itemClass = item8({ size });
|
|
3376
|
-
return /* @__PURE__ */ (0,
|
|
3377
|
-
/* @__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)(
|
|
3378
3688
|
"button",
|
|
3379
3689
|
{
|
|
3380
3690
|
type: "button",
|
|
@@ -3382,11 +3692,11 @@ var Pagination = /* @__PURE__ */ (0, import_react40.forwardRef)(function Paginat
|
|
|
3382
3692
|
"aria-label": getItemLabel("previous", page - 1),
|
|
3383
3693
|
disabled: page <= 1,
|
|
3384
3694
|
onClick: () => goTo(page - 1),
|
|
3385
|
-
children: /* @__PURE__ */ (0,
|
|
3695
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons17.ChevronLeftIcon, { size: 16 })
|
|
3386
3696
|
}
|
|
3387
3697
|
) }),
|
|
3388
3698
|
getPaginationItems(page, totalPages, siblingCount, boundaryCount).map(
|
|
3389
|
-
(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)(
|
|
3390
3700
|
"button",
|
|
3391
3701
|
{
|
|
3392
3702
|
type: "button",
|
|
@@ -3396,9 +3706,9 @@ var Pagination = /* @__PURE__ */ (0, import_react40.forwardRef)(function Paginat
|
|
|
3396
3706
|
onClick: () => goTo(item10),
|
|
3397
3707
|
children: item10
|
|
3398
3708
|
}
|
|
3399
|
-
) }, item10) : /* @__PURE__ */ (0,
|
|
3709
|
+
) }, item10) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("li", { "aria-hidden": true, className: cx(itemClass, ellipsis), children: "\u2026" }, item10)
|
|
3400
3710
|
),
|
|
3401
|
-
/* @__PURE__ */ (0,
|
|
3711
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3402
3712
|
"button",
|
|
3403
3713
|
{
|
|
3404
3714
|
type: "button",
|
|
@@ -3406,22 +3716,22 @@ var Pagination = /* @__PURE__ */ (0, import_react40.forwardRef)(function Paginat
|
|
|
3406
3716
|
"aria-label": getItemLabel("next", page + 1),
|
|
3407
3717
|
disabled: page >= totalPages,
|
|
3408
3718
|
onClick: () => goTo(page + 1),
|
|
3409
|
-
children: /* @__PURE__ */ (0,
|
|
3719
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_icons17.ChevronRightIcon, { size: 16 })
|
|
3410
3720
|
}
|
|
3411
3721
|
) })
|
|
3412
3722
|
] }) });
|
|
3413
3723
|
});
|
|
3414
3724
|
|
|
3415
3725
|
// src/components/PhoneNumberInput/PhoneNumberInput.tsx
|
|
3416
|
-
var
|
|
3417
|
-
var
|
|
3418
|
-
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");
|
|
3419
3729
|
var sanitize3 = (input6) => {
|
|
3420
3730
|
const digits = input6.replace(/\D/g, "");
|
|
3421
|
-
return digits.slice(0, (0,
|
|
3731
|
+
return digits.slice(0, (0, import_korean_utils7.phoneNumberMaxDigits)(digits));
|
|
3422
3732
|
};
|
|
3423
3733
|
var isDigit4 = (char) => /\d/.test(char);
|
|
3424
|
-
var PhoneNumberInput = /* @__PURE__ */ (0,
|
|
3734
|
+
var PhoneNumberInput = /* @__PURE__ */ (0, import_react47.forwardRef)(
|
|
3425
3735
|
function PhoneNumberInput2(props, ref) {
|
|
3426
3736
|
const {
|
|
3427
3737
|
value: value4,
|
|
@@ -3432,7 +3742,7 @@ var PhoneNumberInput = /* @__PURE__ */ (0, import_react41.forwardRef)(
|
|
|
3432
3742
|
onKeyDown,
|
|
3433
3743
|
...rest
|
|
3434
3744
|
} = props;
|
|
3435
|
-
const inputRef = (0,
|
|
3745
|
+
const inputRef = (0, import_react47.useRef)(null);
|
|
3436
3746
|
const m = useMessages();
|
|
3437
3747
|
const label7 = labelProp ?? m.phoneNumber ?? "\uD734\uB300\uD3F0 \uBC88\uD638";
|
|
3438
3748
|
const field4 = useFormattedInput({
|
|
@@ -3441,11 +3751,11 @@ var PhoneNumberInput = /* @__PURE__ */ (0, import_react41.forwardRef)(
|
|
|
3441
3751
|
defaultValue,
|
|
3442
3752
|
onValueChange,
|
|
3443
3753
|
sanitize: sanitize3,
|
|
3444
|
-
format:
|
|
3754
|
+
format: import_korean_utils7.formatPhoneNumber,
|
|
3445
3755
|
isMeaningful: isDigit4,
|
|
3446
3756
|
inputRef
|
|
3447
3757
|
});
|
|
3448
|
-
return /* @__PURE__ */ (0,
|
|
3758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3449
3759
|
TextField,
|
|
3450
3760
|
{
|
|
3451
3761
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -3467,21 +3777,21 @@ var PhoneNumberInput = /* @__PURE__ */ (0, import_react41.forwardRef)(
|
|
|
3467
3777
|
);
|
|
3468
3778
|
|
|
3469
3779
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
3470
|
-
var
|
|
3780
|
+
var import_react48 = require("react");
|
|
3471
3781
|
|
|
3472
3782
|
// src/components/RadioGroup/RadioGroup.css.ts
|
|
3473
|
-
var
|
|
3474
|
-
var
|
|
3475
|
-
var
|
|
3476
|
-
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: [] });
|
|
3477
3787
|
var labelText = "_1w9iwjmb";
|
|
3478
|
-
var
|
|
3479
|
-
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: [] });
|
|
3480
3790
|
var text = "_1w9iwjma";
|
|
3481
3791
|
|
|
3482
3792
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
3483
|
-
var
|
|
3484
|
-
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) {
|
|
3485
3795
|
const {
|
|
3486
3796
|
options,
|
|
3487
3797
|
value: value4,
|
|
@@ -3500,9 +3810,9 @@ var RadioGroup2 = /* @__PURE__ */ (0, import_react42.forwardRef)(function RadioG
|
|
|
3500
3810
|
className
|
|
3501
3811
|
} = props;
|
|
3502
3812
|
const isControlled = "value" in props;
|
|
3503
|
-
const [innerValue, setInnerValue] = (0,
|
|
3813
|
+
const [innerValue, setInnerValue] = (0, import_react48.useState)(defaultValue ?? "");
|
|
3504
3814
|
const current2 = isControlled ? value4 ?? "" : innerValue;
|
|
3505
|
-
const generatedId = (0,
|
|
3815
|
+
const generatedId = (0, import_react48.useId)();
|
|
3506
3816
|
const baseId = id ?? generatedId;
|
|
3507
3817
|
const labelId = label7 ? `${baseId}-label` : void 0;
|
|
3508
3818
|
const helperId = helperText3 ? `${baseId}-helper` : void 0;
|
|
@@ -3513,12 +3823,12 @@ var RadioGroup2 = /* @__PURE__ */ (0, import_react42.forwardRef)(function RadioG
|
|
|
3513
3823
|
if (!isControlled) setInnerValue(next);
|
|
3514
3824
|
onValueChange?.(next);
|
|
3515
3825
|
};
|
|
3516
|
-
return /* @__PURE__ */ (0,
|
|
3517
|
-
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: [
|
|
3518
3828
|
label7,
|
|
3519
|
-
required && /* @__PURE__ */ (0,
|
|
3829
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
3520
3830
|
] }),
|
|
3521
|
-
/* @__PURE__ */ (0,
|
|
3831
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3522
3832
|
"div",
|
|
3523
3833
|
{
|
|
3524
3834
|
ref,
|
|
@@ -3530,23 +3840,23 @@ var RadioGroup2 = /* @__PURE__ */ (0, import_react42.forwardRef)(function RadioG
|
|
|
3530
3840
|
"aria-invalid": error || void 0,
|
|
3531
3841
|
"aria-required": required || void 0,
|
|
3532
3842
|
"data-disabled": disabled || void 0,
|
|
3533
|
-
className:
|
|
3534
|
-
children: options.map((
|
|
3535
|
-
const itemId = `${baseId}-${
|
|
3536
|
-
const descriptionId =
|
|
3537
|
-
const itemDisabled = disabled ||
|
|
3538
|
-
const checked =
|
|
3539
|
-
return /* @__PURE__ */ (0,
|
|
3540
|
-
/* @__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)(
|
|
3541
3851
|
"input",
|
|
3542
3852
|
{
|
|
3543
3853
|
type: "radio",
|
|
3544
3854
|
id: itemId,
|
|
3545
3855
|
name: groupName,
|
|
3546
3856
|
form: detachedForm,
|
|
3547
|
-
value:
|
|
3857
|
+
value: option3.value,
|
|
3548
3858
|
checked,
|
|
3549
|
-
onChange: () => handleChange(
|
|
3859
|
+
onChange: () => handleChange(option3.value),
|
|
3550
3860
|
disabled: itemDisabled,
|
|
3551
3861
|
required,
|
|
3552
3862
|
"aria-describedby": descriptionId,
|
|
@@ -3554,31 +3864,177 @@ var RadioGroup2 = /* @__PURE__ */ (0, import_react42.forwardRef)(function RadioG
|
|
|
3554
3864
|
className: radio({ size })
|
|
3555
3865
|
}
|
|
3556
3866
|
),
|
|
3557
|
-
/* @__PURE__ */ (0,
|
|
3558
|
-
/* @__PURE__ */ (0,
|
|
3559
|
-
|
|
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 })
|
|
3560
3870
|
] })
|
|
3561
|
-
] },
|
|
3871
|
+
] }, option3.value);
|
|
3562
3872
|
})
|
|
3563
3873
|
}
|
|
3564
3874
|
),
|
|
3565
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
3875
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
3566
3876
|
] });
|
|
3567
3877
|
});
|
|
3568
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
|
+
|
|
3569
4025
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
3570
|
-
var
|
|
4026
|
+
var import_react50 = require("react");
|
|
3571
4027
|
|
|
3572
4028
|
// src/components/SegmentedControl/SegmentedControl.css.ts
|
|
3573
|
-
var
|
|
4029
|
+
var import_createRuntimeFn24 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3574
4030
|
var icon6 = "_1h65mmo7";
|
|
3575
|
-
var item9 = /* @__PURE__ */ (0,
|
|
3576
|
-
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: [] });
|
|
3577
4033
|
|
|
3578
4034
|
// src/components/SegmentedControl/SegmentedControl.tsx
|
|
3579
|
-
var
|
|
4035
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
3580
4036
|
var NEXT_KEYS = { ArrowRight: 1, ArrowDown: 1, ArrowLeft: -1, ArrowUp: -1 };
|
|
3581
|
-
var SegmentedControl = /* @__PURE__ */ (0,
|
|
4037
|
+
var SegmentedControl = /* @__PURE__ */ (0, import_react50.forwardRef)(
|
|
3582
4038
|
function SegmentedControl2(props, ref) {
|
|
3583
4039
|
const {
|
|
3584
4040
|
options,
|
|
@@ -3595,11 +4051,11 @@ var SegmentedControl = /* @__PURE__ */ (0, import_react43.forwardRef)(
|
|
|
3595
4051
|
className
|
|
3596
4052
|
} = props;
|
|
3597
4053
|
const isControlled = "value" in props;
|
|
3598
|
-
const [innerValue, setInnerValue] = (0,
|
|
4054
|
+
const [innerValue, setInnerValue] = (0, import_react50.useState)(defaultValue ?? "");
|
|
3599
4055
|
const current2 = isControlled ? value4 ?? "" : innerValue;
|
|
3600
|
-
const generatedId = (0,
|
|
4056
|
+
const generatedId = (0, import_react50.useId)();
|
|
3601
4057
|
const labelId = label7 ? `${id ?? generatedId}-label` : void 0;
|
|
3602
|
-
const itemRefs = (0,
|
|
4058
|
+
const itemRefs = (0, import_react50.useRef)([]);
|
|
3603
4059
|
const isEnabled = (index) => !disabled && !options[index]?.disabled;
|
|
3604
4060
|
const select2 = (index) => {
|
|
3605
4061
|
const next = options[index].value;
|
|
@@ -3607,7 +4063,7 @@ var SegmentedControl = /* @__PURE__ */ (0, import_react43.forwardRef)(
|
|
|
3607
4063
|
if (!isControlled) setInnerValue(next);
|
|
3608
4064
|
onValueChange?.(next);
|
|
3609
4065
|
};
|
|
3610
|
-
const checkedIndex = options.findIndex((
|
|
4066
|
+
const checkedIndex = options.findIndex((option3) => option3.value === current2);
|
|
3611
4067
|
const tabStop = checkedIndex >= 0 && isEnabled(checkedIndex) ? checkedIndex : options.findIndex((_, i) => isEnabled(i));
|
|
3612
4068
|
const handleKeyDown = (event, index) => {
|
|
3613
4069
|
let target = -1;
|
|
@@ -3630,7 +4086,7 @@ var SegmentedControl = /* @__PURE__ */ (0, import_react43.forwardRef)(
|
|
|
3630
4086
|
itemRefs.current[target]?.focus();
|
|
3631
4087
|
select2(target);
|
|
3632
4088
|
};
|
|
3633
|
-
const group = /* @__PURE__ */ (0,
|
|
4089
|
+
const group = /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
3634
4090
|
"div",
|
|
3635
4091
|
{
|
|
3636
4092
|
ref,
|
|
@@ -3641,9 +4097,9 @@ var SegmentedControl = /* @__PURE__ */ (0, import_react43.forwardRef)(
|
|
|
3641
4097
|
"aria-disabled": disabled || void 0,
|
|
3642
4098
|
className: cx(root11({ fullWidth }), !label7 && className),
|
|
3643
4099
|
children: [
|
|
3644
|
-
options.map((
|
|
4100
|
+
options.map((option3, index) => {
|
|
3645
4101
|
const checked = index === checkedIndex;
|
|
3646
|
-
return /* @__PURE__ */ (0,
|
|
4102
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
3647
4103
|
"button",
|
|
3648
4104
|
{
|
|
3649
4105
|
ref: (node) => {
|
|
@@ -3660,38 +4116,38 @@ var SegmentedControl = /* @__PURE__ */ (0, import_react43.forwardRef)(
|
|
|
3660
4116
|
onClick: () => select2(index),
|
|
3661
4117
|
onKeyDown: (event) => handleKeyDown(event, index),
|
|
3662
4118
|
children: [
|
|
3663
|
-
|
|
3664
|
-
|
|
4119
|
+
option3.icon && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { "aria-hidden": true, className: icon6, children: option3.icon }),
|
|
4120
|
+
option3.label
|
|
3665
4121
|
]
|
|
3666
4122
|
},
|
|
3667
|
-
|
|
4123
|
+
option3.value
|
|
3668
4124
|
);
|
|
3669
4125
|
}),
|
|
3670
|
-
name && /* @__PURE__ */ (0,
|
|
4126
|
+
name && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("input", { type: "hidden", name, value: current2 })
|
|
3671
4127
|
]
|
|
3672
4128
|
}
|
|
3673
4129
|
);
|
|
3674
4130
|
if (!label7) return group;
|
|
3675
|
-
return /* @__PURE__ */ (0,
|
|
3676
|
-
/* @__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 }),
|
|
3677
4133
|
group
|
|
3678
4134
|
] });
|
|
3679
4135
|
}
|
|
3680
4136
|
);
|
|
3681
4137
|
|
|
3682
4138
|
// src/components/NativeSelect/NativeSelect.tsx
|
|
3683
|
-
var
|
|
4139
|
+
var import_react51 = require("react");
|
|
3684
4140
|
var import_icons18 = require("@bestow-ui/icons");
|
|
3685
4141
|
|
|
3686
4142
|
// src/components/NativeSelect/NativeSelect.css.ts
|
|
3687
|
-
var
|
|
3688
|
-
var icon7 = /* @__PURE__ */ (0,
|
|
3689
|
-
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: [] });
|
|
3690
4146
|
var wrapper = "_5silym0";
|
|
3691
4147
|
|
|
3692
4148
|
// src/components/NativeSelect/NativeSelect.tsx
|
|
3693
|
-
var
|
|
3694
|
-
var NativeSelect = /* @__PURE__ */ (0,
|
|
4149
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
4150
|
+
var NativeSelect = /* @__PURE__ */ (0, import_react51.forwardRef)(function NativeSelect2({
|
|
3695
4151
|
options,
|
|
3696
4152
|
onValueChange,
|
|
3697
4153
|
onChange,
|
|
@@ -3711,26 +4167,26 @@ var NativeSelect = /* @__PURE__ */ (0, import_react44.forwardRef)(function Nativ
|
|
|
3711
4167
|
"aria-describedby": ariaDescribedBy,
|
|
3712
4168
|
...rest
|
|
3713
4169
|
}, ref) {
|
|
3714
|
-
const generatedId = (0,
|
|
4170
|
+
const generatedId = (0, import_react51.useId)();
|
|
3715
4171
|
const selectId = id ?? generatedId;
|
|
3716
4172
|
const helperId = helperText3 ? `${selectId}-helper` : void 0;
|
|
3717
4173
|
const handleChange = (event) => {
|
|
3718
4174
|
onChange?.(event);
|
|
3719
4175
|
onValueChange?.(event.target.value);
|
|
3720
4176
|
};
|
|
3721
|
-
return /* @__PURE__ */ (0,
|
|
3722
|
-
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: [
|
|
3723
4179
|
label7,
|
|
3724
|
-
required && /* @__PURE__ */ (0,
|
|
4180
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
3725
4181
|
] }),
|
|
3726
|
-
/* @__PURE__ */ (0,
|
|
4182
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
3727
4183
|
"span",
|
|
3728
4184
|
{
|
|
3729
|
-
className: cx(
|
|
4185
|
+
className: cx(root2({ size, fullWidth }), wrapper),
|
|
3730
4186
|
"data-invalid": error || void 0,
|
|
3731
4187
|
"data-disabled": disabled || void 0,
|
|
3732
4188
|
children: [
|
|
3733
|
-
/* @__PURE__ */ (0,
|
|
4189
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
3734
4190
|
"select",
|
|
3735
4191
|
{
|
|
3736
4192
|
ref,
|
|
@@ -3745,25 +4201,25 @@ var NativeSelect = /* @__PURE__ */ (0, import_react44.forwardRef)(function Nativ
|
|
|
3745
4201
|
className: cx(select({ size }), className),
|
|
3746
4202
|
...rest,
|
|
3747
4203
|
children: [
|
|
3748
|
-
placeholder !== void 0 && /* @__PURE__ */ (0,
|
|
3749
|
-
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
|
|
3750
4206
|
]
|
|
3751
4207
|
}
|
|
3752
4208
|
),
|
|
3753
|
-
/* @__PURE__ */ (0,
|
|
4209
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_icons18.ChevronDownIcon, { size: 16, className: icon7({ size }) })
|
|
3754
4210
|
]
|
|
3755
4211
|
}
|
|
3756
4212
|
),
|
|
3757
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
4213
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
3758
4214
|
] });
|
|
3759
4215
|
});
|
|
3760
4216
|
|
|
3761
4217
|
// src/components/Select/Select.tsx
|
|
3762
4218
|
var RadixSelect = __toESM(require("@radix-ui/react-select"), 1);
|
|
3763
|
-
var
|
|
4219
|
+
var import_react52 = require("react");
|
|
3764
4220
|
var import_icons19 = require("@bestow-ui/icons");
|
|
3765
|
-
var
|
|
3766
|
-
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) {
|
|
3767
4223
|
const {
|
|
3768
4224
|
options,
|
|
3769
4225
|
value: value4,
|
|
@@ -3783,16 +4239,16 @@ var Select = /* @__PURE__ */ (0, import_react45.forwardRef)(function Select2(pro
|
|
|
3783
4239
|
className
|
|
3784
4240
|
} = props;
|
|
3785
4241
|
const isControlled = "value" in props;
|
|
3786
|
-
const generatedId = (0,
|
|
4242
|
+
const generatedId = (0, import_react52.useId)();
|
|
3787
4243
|
const triggerId = id ?? generatedId;
|
|
3788
4244
|
const helperId = helperText3 ? `${triggerId}-helper` : void 0;
|
|
3789
4245
|
const portal2 = usePortalProps();
|
|
3790
|
-
return /* @__PURE__ */ (0,
|
|
3791
|
-
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: [
|
|
3792
4248
|
label7,
|
|
3793
|
-
required && /* @__PURE__ */ (0,
|
|
4249
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
3794
4250
|
] }),
|
|
3795
|
-
/* @__PURE__ */ (0,
|
|
4251
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
3796
4252
|
RadixSelect.Root,
|
|
3797
4253
|
{
|
|
3798
4254
|
value: isControlled ? value4 ?? "" : void 0,
|
|
@@ -3802,7 +4258,7 @@ var Select = /* @__PURE__ */ (0, import_react45.forwardRef)(function Select2(pro
|
|
|
3802
4258
|
required,
|
|
3803
4259
|
name,
|
|
3804
4260
|
children: [
|
|
3805
|
-
/* @__PURE__ */ (0,
|
|
4261
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
3806
4262
|
RadixSelect.Trigger,
|
|
3807
4263
|
{
|
|
3808
4264
|
ref,
|
|
@@ -3811,14 +4267,14 @@ var Select = /* @__PURE__ */ (0, import_react45.forwardRef)(function Select2(pro
|
|
|
3811
4267
|
"aria-invalid": error || void 0,
|
|
3812
4268
|
"aria-describedby": helperId,
|
|
3813
4269
|
"data-invalid": error || void 0,
|
|
3814
|
-
className: cx(
|
|
4270
|
+
className: cx(root2({ size, fullWidth }), trigger2, className),
|
|
3815
4271
|
children: [
|
|
3816
|
-
/* @__PURE__ */ (0,
|
|
3817
|
-
/* @__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 }) })
|
|
3818
4274
|
]
|
|
3819
4275
|
}
|
|
3820
4276
|
),
|
|
3821
|
-
/* @__PURE__ */ (0,
|
|
4277
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(RadixSelect.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3822
4278
|
RadixSelect.Content,
|
|
3823
4279
|
{
|
|
3824
4280
|
position: "popper",
|
|
@@ -3826,37 +4282,37 @@ var Select = /* @__PURE__ */ (0, import_react45.forwardRef)(function Select2(pro
|
|
|
3826
4282
|
collisionPadding: 8,
|
|
3827
4283
|
className: cx(portal2.className, content5),
|
|
3828
4284
|
style: portal2.style,
|
|
3829
|
-
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)(
|
|
3830
4286
|
RadixSelect.Item,
|
|
3831
4287
|
{
|
|
3832
|
-
value:
|
|
3833
|
-
disabled:
|
|
4288
|
+
value: option3.value,
|
|
4289
|
+
disabled: option3.disabled,
|
|
3834
4290
|
className: item5,
|
|
3835
4291
|
children: [
|
|
3836
|
-
/* @__PURE__ */ (0,
|
|
3837
|
-
/* @__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 }) })
|
|
3838
4294
|
]
|
|
3839
4295
|
},
|
|
3840
|
-
|
|
4296
|
+
option3.value
|
|
3841
4297
|
)) })
|
|
3842
4298
|
}
|
|
3843
4299
|
) })
|
|
3844
4300
|
]
|
|
3845
4301
|
}
|
|
3846
4302
|
),
|
|
3847
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
4303
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { id: helperId, className: helperText({ error }), children: helperText3 })
|
|
3848
4304
|
] });
|
|
3849
4305
|
});
|
|
3850
4306
|
|
|
3851
4307
|
// src/components/SkipLink/SkipLink.tsx
|
|
3852
|
-
var
|
|
4308
|
+
var import_react53 = require("react");
|
|
3853
4309
|
|
|
3854
4310
|
// src/components/SkipLink/SkipLink.css.ts
|
|
3855
4311
|
var skipLink = "_1t9jaar0";
|
|
3856
4312
|
|
|
3857
4313
|
// src/components/SkipLink/SkipLink.tsx
|
|
3858
|
-
var
|
|
3859
|
-
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) {
|
|
3860
4316
|
const m = useMessages();
|
|
3861
4317
|
const handleClick = (event) => {
|
|
3862
4318
|
onClick?.(event);
|
|
@@ -3868,28 +4324,28 @@ var SkipLink = /* @__PURE__ */ (0, import_react46.forwardRef)(function SkipLink2
|
|
|
3868
4324
|
target.focus();
|
|
3869
4325
|
target.scrollIntoView?.({ block: "start" });
|
|
3870
4326
|
};
|
|
3871
|
-
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" });
|
|
3872
4328
|
});
|
|
3873
4329
|
|
|
3874
4330
|
// src/components/Slider/Slider.tsx
|
|
3875
4331
|
var RadixSlider = __toESM(require("@radix-ui/react-slider"), 1);
|
|
3876
|
-
var
|
|
4332
|
+
var import_react54 = require("react");
|
|
3877
4333
|
|
|
3878
4334
|
// src/components/Slider/Slider.css.ts
|
|
3879
|
-
var
|
|
4335
|
+
var import_createRuntimeFn26 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
3880
4336
|
var field3 = "_126mzjm0";
|
|
3881
4337
|
var header8 = "_126mzjm1";
|
|
3882
4338
|
var helperText2 = "_126mzjm4";
|
|
3883
4339
|
var label4 = "_126mzjm2";
|
|
3884
4340
|
var range2 = "_126mzjmb";
|
|
3885
|
-
var root12 = /* @__PURE__ */ (0,
|
|
3886
|
-
var thumb = /* @__PURE__ */ (0,
|
|
3887
|
-
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: [] });
|
|
3888
4344
|
var value3 = "_126mzjm3";
|
|
3889
4345
|
|
|
3890
4346
|
// src/components/Slider/Slider.tsx
|
|
3891
|
-
var
|
|
3892
|
-
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) {
|
|
3893
4349
|
const {
|
|
3894
4350
|
value: value4,
|
|
3895
4351
|
defaultValue,
|
|
@@ -3910,12 +4366,12 @@ var Slider = /* @__PURE__ */ (0, import_react47.forwardRef)(function Slider2(pro
|
|
|
3910
4366
|
} = props;
|
|
3911
4367
|
const m = useMessages();
|
|
3912
4368
|
const thumbLabels = thumbLabelsProp ?? [m.rangeStart ?? "\uCD5C\uC18C", m.rangeEnd ?? "\uCD5C\uB300"];
|
|
3913
|
-
const generatedId = (0,
|
|
4369
|
+
const generatedId = (0, import_react54.useId)();
|
|
3914
4370
|
const baseId = id ?? generatedId;
|
|
3915
4371
|
const labelId = `${baseId}-label`;
|
|
3916
4372
|
const helperId = `${baseId}-helper`;
|
|
3917
4373
|
const isControlled = "value" in props;
|
|
3918
|
-
const [innerValue, setInnerValue] = (0,
|
|
4374
|
+
const [innerValue, setInnerValue] = (0, import_react54.useState)(defaultValue ?? [min]);
|
|
3919
4375
|
const current2 = isControlled ? value4 ?? [min] : innerValue;
|
|
3920
4376
|
const isRange = current2.length > 1;
|
|
3921
4377
|
const handleChange = (next) => {
|
|
@@ -3923,12 +4379,12 @@ var Slider = /* @__PURE__ */ (0, import_react47.forwardRef)(function Slider2(pro
|
|
|
3923
4379
|
onValueChange?.(next);
|
|
3924
4380
|
};
|
|
3925
4381
|
const valueText = current2.map(formatValue).join(" \u2013 ");
|
|
3926
|
-
return /* @__PURE__ */ (0,
|
|
3927
|
-
(label7 || showValue) && /* @__PURE__ */ (0,
|
|
3928
|
-
label7 && /* @__PURE__ */ (0,
|
|
3929
|
-
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 })
|
|
3930
4386
|
] }),
|
|
3931
|
-
/* @__PURE__ */ (0,
|
|
4387
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
3932
4388
|
RadixSlider.Root,
|
|
3933
4389
|
{
|
|
3934
4390
|
ref,
|
|
@@ -3941,10 +4397,10 @@ var Slider = /* @__PURE__ */ (0, import_react47.forwardRef)(function Slider2(pro
|
|
|
3941
4397
|
className: root12({ size }),
|
|
3942
4398
|
...rest,
|
|
3943
4399
|
children: [
|
|
3944
|
-
/* @__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 }) }),
|
|
3945
4401
|
current2.map((thumbValue, index) => {
|
|
3946
4402
|
const thumbLabelId = `${baseId}-thumb-${index}`;
|
|
3947
|
-
return /* @__PURE__ */ (0,
|
|
4403
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
3948
4404
|
RadixSlider.Thumb,
|
|
3949
4405
|
{
|
|
3950
4406
|
className: thumb({ size }),
|
|
@@ -3959,32 +4415,32 @@ var Slider = /* @__PURE__ */ (0, import_react47.forwardRef)(function Slider2(pro
|
|
|
3959
4415
|
]
|
|
3960
4416
|
}
|
|
3961
4417
|
),
|
|
3962
|
-
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: [
|
|
3963
4419
|
label7 ? "" : ariaLabel ? `${ariaLabel} ` : "",
|
|
3964
4420
|
thumbLabels[index] ?? `${index + 1}`
|
|
3965
4421
|
] }, index)),
|
|
3966
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
4422
|
+
helperText3 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { id: helperId, className: helperText2, children: helperText3 })
|
|
3967
4423
|
] });
|
|
3968
4424
|
});
|
|
3969
4425
|
|
|
3970
4426
|
// src/components/Stepper/Stepper.tsx
|
|
3971
|
-
var
|
|
4427
|
+
var import_react55 = require("react");
|
|
3972
4428
|
var import_icons20 = require("@bestow-ui/icons");
|
|
3973
4429
|
|
|
3974
4430
|
// src/components/Stepper/Stepper.css.ts
|
|
3975
|
-
var
|
|
3976
|
-
var
|
|
3977
|
-
var indicator3 = /* @__PURE__ */ (0,
|
|
3978
|
-
var label5 = /* @__PURE__ */ (0,
|
|
3979
|
-
var root13 = /* @__PURE__ */ (0,
|
|
3980
|
-
var step = /* @__PURE__ */ (0,
|
|
3981
|
-
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: [] });
|
|
3982
4438
|
|
|
3983
4439
|
// src/components/Stepper/Stepper.tsx
|
|
3984
|
-
var
|
|
3985
|
-
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) {
|
|
3986
4442
|
const m = useMessages();
|
|
3987
|
-
return /* @__PURE__ */ (0,
|
|
4443
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
3988
4444
|
"ol",
|
|
3989
4445
|
{
|
|
3990
4446
|
ref,
|
|
@@ -3993,24 +4449,24 @@ var Stepper = /* @__PURE__ */ (0, import_react48.forwardRef)(function Stepper2({
|
|
|
3993
4449
|
...rest,
|
|
3994
4450
|
children: steps.map((step2, index) => {
|
|
3995
4451
|
const status = index < current2 ? "complete" : index === current2 ? "current" : "upcoming";
|
|
3996
|
-
return /* @__PURE__ */ (0,
|
|
4452
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
3997
4453
|
"li",
|
|
3998
4454
|
{
|
|
3999
4455
|
className: step({ orientation }),
|
|
4000
4456
|
"data-status": status,
|
|
4001
4457
|
"aria-current": status === "current" ? "step" : void 0,
|
|
4002
4458
|
children: [
|
|
4003
|
-
/* @__PURE__ */ (0,
|
|
4004
|
-
/* @__PURE__ */ (0,
|
|
4005
|
-
/* @__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: [
|
|
4006
4462
|
step2.label,
|
|
4007
|
-
status === "complete" && /* @__PURE__ */ (0,
|
|
4463
|
+
status === "complete" && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { className: visuallyHidden, children: [
|
|
4008
4464
|
" (",
|
|
4009
4465
|
m.stepCompleted ?? "\uC644\uB8CC",
|
|
4010
4466
|
")"
|
|
4011
4467
|
] })
|
|
4012
4468
|
] }),
|
|
4013
|
-
step2.description && /* @__PURE__ */ (0,
|
|
4469
|
+
step2.description && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: description7, children: step2.description })
|
|
4014
4470
|
] })
|
|
4015
4471
|
]
|
|
4016
4472
|
},
|
|
@@ -4022,22 +4478,22 @@ var Stepper = /* @__PURE__ */ (0, import_react48.forwardRef)(function Stepper2({
|
|
|
4022
4478
|
});
|
|
4023
4479
|
|
|
4024
4480
|
// src/components/Switch/Switch.tsx
|
|
4025
|
-
var
|
|
4481
|
+
var import_react56 = require("react");
|
|
4026
4482
|
|
|
4027
4483
|
// src/components/Switch/Switch.css.ts
|
|
4028
|
-
var
|
|
4029
|
-
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: [] });
|
|
4030
4486
|
var label6 = "o33ul2c";
|
|
4031
|
-
var root14 = /* @__PURE__ */ (0,
|
|
4032
|
-
var thumb2 = /* @__PURE__ */ (0,
|
|
4033
|
-
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: [] });
|
|
4034
4490
|
|
|
4035
4491
|
// src/components/Switch/Switch.tsx
|
|
4036
|
-
var
|
|
4492
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
4037
4493
|
function setNativeChecked(input6, checked) {
|
|
4038
4494
|
Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "checked")?.set?.call(input6, checked);
|
|
4039
4495
|
}
|
|
4040
|
-
var Switch = /* @__PURE__ */ (0,
|
|
4496
|
+
var Switch = /* @__PURE__ */ (0, import_react56.forwardRef)(function Switch2({
|
|
4041
4497
|
label: label7,
|
|
4042
4498
|
size,
|
|
4043
4499
|
id,
|
|
@@ -4051,22 +4507,22 @@ var Switch = /* @__PURE__ */ (0, import_react49.forwardRef)(function Switch2({
|
|
|
4051
4507
|
onCheckedChange,
|
|
4052
4508
|
"aria-label": ariaLabel
|
|
4053
4509
|
}, ref) {
|
|
4054
|
-
const generatedId = (0,
|
|
4510
|
+
const generatedId = (0, import_react56.useId)();
|
|
4055
4511
|
const switchId = id ?? generatedId;
|
|
4056
|
-
const [uncontrolled, setUncontrolled] = (0,
|
|
4512
|
+
const [uncontrolled, setUncontrolled] = (0, import_react56.useState)(defaultChecked ?? false);
|
|
4057
4513
|
const isControlled = checkedProp !== void 0;
|
|
4058
4514
|
const checked = isControlled ? checkedProp : uncontrolled;
|
|
4059
|
-
const buttonRef = (0,
|
|
4060
|
-
const inputRef = (0,
|
|
4061
|
-
const [inForm, setInForm] = (0,
|
|
4062
|
-
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);
|
|
4063
4519
|
const setChecked = (next) => {
|
|
4064
4520
|
if (!isControlled) setUncontrolled(next);
|
|
4065
4521
|
if (next !== checked) onCheckedChange?.(next);
|
|
4066
4522
|
};
|
|
4067
|
-
const setCheckedRef = (0,
|
|
4523
|
+
const setCheckedRef = (0, import_react56.useRef)(setChecked);
|
|
4068
4524
|
setCheckedRef.current = setChecked;
|
|
4069
|
-
(0,
|
|
4525
|
+
(0, import_react56.useEffect)(() => {
|
|
4070
4526
|
const form = buttonRef.current?.form;
|
|
4071
4527
|
setInForm(!!form);
|
|
4072
4528
|
if (!form) return;
|
|
@@ -4075,7 +4531,7 @@ var Switch = /* @__PURE__ */ (0, import_react49.forwardRef)(function Switch2({
|
|
|
4075
4531
|
form.addEventListener("reset", onReset);
|
|
4076
4532
|
return () => form.removeEventListener("reset", onReset);
|
|
4077
4533
|
}, []);
|
|
4078
|
-
(0,
|
|
4534
|
+
(0, import_react56.useEffect)(() => {
|
|
4079
4535
|
const input6 = inputRef.current;
|
|
4080
4536
|
if (!input6 || input6.checked === checked) return;
|
|
4081
4537
|
setNativeChecked(input6, checked);
|
|
@@ -4088,8 +4544,8 @@ var Switch = /* @__PURE__ */ (0, import_react49.forwardRef)(function Switch2({
|
|
|
4088
4544
|
if (inForm) event.stopPropagation();
|
|
4089
4545
|
};
|
|
4090
4546
|
const state = checked ? "checked" : "unchecked";
|
|
4091
|
-
return /* @__PURE__ */ (0,
|
|
4092
|
-
/* @__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)(
|
|
4093
4549
|
"button",
|
|
4094
4550
|
{
|
|
4095
4551
|
ref: mergeRefs(ref, buttonRef),
|
|
@@ -4105,10 +4561,10 @@ var Switch = /* @__PURE__ */ (0, import_react49.forwardRef)(function Switch2({
|
|
|
4105
4561
|
value: value4,
|
|
4106
4562
|
className: track3({ size }),
|
|
4107
4563
|
onClick: handleClick,
|
|
4108
|
-
children: /* @__PURE__ */ (0,
|
|
4564
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: thumb2({ size }), "data-state": state, "data-disabled": disabled ? "" : void 0 })
|
|
4109
4565
|
}
|
|
4110
4566
|
),
|
|
4111
|
-
inForm && /* @__PURE__ */ (0,
|
|
4567
|
+
inForm && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4112
4568
|
"input",
|
|
4113
4569
|
{
|
|
4114
4570
|
ref: inputRef,
|
|
@@ -4123,27 +4579,27 @@ var Switch = /* @__PURE__ */ (0, import_react49.forwardRef)(function Switch2({
|
|
|
4123
4579
|
className: bubbleInput({ size })
|
|
4124
4580
|
}
|
|
4125
4581
|
),
|
|
4126
|
-
label7 && /* @__PURE__ */ (0,
|
|
4582
|
+
label7 && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("label", { htmlFor: switchId, className: label6, children: label7 })
|
|
4127
4583
|
] });
|
|
4128
4584
|
});
|
|
4129
4585
|
|
|
4130
4586
|
// src/components/Table/Table.tsx
|
|
4131
|
-
var
|
|
4587
|
+
var import_react57 = require("react");
|
|
4132
4588
|
var import_icons21 = require("@bestow-ui/icons");
|
|
4133
4589
|
|
|
4134
4590
|
// src/components/Table/Table.css.ts
|
|
4135
|
-
var
|
|
4591
|
+
var import_createRuntimeFn29 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
4136
4592
|
var body4 = "l3ploy5";
|
|
4137
4593
|
var caption = "l3ploy2";
|
|
4138
|
-
var cell2 = /* @__PURE__ */ (0,
|
|
4139
|
-
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";
|
|
4140
4596
|
var emptyCell = "l3ployj";
|
|
4141
4597
|
var emptyContent = "l3ployk";
|
|
4142
4598
|
var footer4 = "l3ploy7";
|
|
4143
4599
|
var footerCell = "l3ployg";
|
|
4144
4600
|
var head = "l3ployf";
|
|
4145
4601
|
var header9 = "l3ploy3";
|
|
4146
|
-
var
|
|
4602
|
+
var row4 = "l3ploy8";
|
|
4147
4603
|
var sortButton = "l3ployh";
|
|
4148
4604
|
var sortIcon = "l3ployi";
|
|
4149
4605
|
var stickyHeader = "l3ploy4";
|
|
@@ -4151,10 +4607,10 @@ var striped = "l3ploy6";
|
|
|
4151
4607
|
var table = "l3ploy1";
|
|
4152
4608
|
|
|
4153
4609
|
// src/components/Table/Table.tsx
|
|
4154
|
-
var
|
|
4155
|
-
var TableSizeContext = /* @__PURE__ */ (0,
|
|
4156
|
-
var TableSectionContext = /* @__PURE__ */ (0,
|
|
4157
|
-
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({
|
|
4158
4614
|
size = "md",
|
|
4159
4615
|
striped: striped2,
|
|
4160
4616
|
stickyHeader: stickyHeader2,
|
|
@@ -4166,17 +4622,17 @@ var Table = /* @__PURE__ */ (0, import_react50.forwardRef)(function Table2({
|
|
|
4166
4622
|
children,
|
|
4167
4623
|
...rest
|
|
4168
4624
|
}, ref) {
|
|
4169
|
-
const captionId = (0,
|
|
4170
|
-
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)(
|
|
4171
4627
|
"div",
|
|
4172
4628
|
{
|
|
4173
|
-
className: cx(
|
|
4629
|
+
className: cx(container2, containerClassName),
|
|
4174
4630
|
style: containerStyle,
|
|
4175
4631
|
tabIndex: 0,
|
|
4176
4632
|
role: "region",
|
|
4177
4633
|
"aria-labelledby": caption2 ? captionId : void 0,
|
|
4178
4634
|
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
4179
|
-
children: /* @__PURE__ */ (0,
|
|
4635
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
4180
4636
|
"table",
|
|
4181
4637
|
{
|
|
4182
4638
|
ref,
|
|
@@ -4184,7 +4640,7 @@ var Table = /* @__PURE__ */ (0, import_react50.forwardRef)(function Table2({
|
|
|
4184
4640
|
"aria-label": caption2 ? void 0 : ariaLabel,
|
|
4185
4641
|
...rest,
|
|
4186
4642
|
children: [
|
|
4187
|
-
caption2 && /* @__PURE__ */ (0,
|
|
4643
|
+
caption2 && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("caption", { id: captionId, className: caption, children: caption2 }),
|
|
4188
4644
|
children
|
|
4189
4645
|
]
|
|
4190
4646
|
}
|
|
@@ -4192,31 +4648,31 @@ var Table = /* @__PURE__ */ (0, import_react50.forwardRef)(function Table2({
|
|
|
4192
4648
|
}
|
|
4193
4649
|
) });
|
|
4194
4650
|
});
|
|
4195
|
-
var TableHeader = /* @__PURE__ */ (0,
|
|
4651
|
+
var TableHeader = /* @__PURE__ */ (0, import_react57.forwardRef)(
|
|
4196
4652
|
function TableHeader2({ className, ...rest }, ref) {
|
|
4197
|
-
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 }) });
|
|
4198
4654
|
}
|
|
4199
4655
|
);
|
|
4200
|
-
var TableBody = /* @__PURE__ */ (0,
|
|
4656
|
+
var TableBody = /* @__PURE__ */ (0, import_react57.forwardRef)(
|
|
4201
4657
|
function TableBody2({ className, ...rest }, ref) {
|
|
4202
|
-
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 }) });
|
|
4203
4659
|
}
|
|
4204
4660
|
);
|
|
4205
|
-
var TableFooter = /* @__PURE__ */ (0,
|
|
4661
|
+
var TableFooter = /* @__PURE__ */ (0, import_react57.forwardRef)(
|
|
4206
4662
|
function TableFooter2({ className, ...rest }, ref) {
|
|
4207
|
-
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 }) });
|
|
4208
4664
|
}
|
|
4209
4665
|
);
|
|
4210
|
-
var TableRow = /* @__PURE__ */ (0,
|
|
4211
|
-
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 });
|
|
4212
4668
|
});
|
|
4213
|
-
var TableHead = /* @__PURE__ */ (0,
|
|
4214
|
-
const size = (0,
|
|
4215
|
-
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);
|
|
4216
4672
|
const sortable = onSort !== void 0;
|
|
4217
4673
|
const direction = sortDirection ?? "none";
|
|
4218
4674
|
const SortIcon = direction === "descending" ? import_icons21.ArrowDownIcon : import_icons21.ArrowUpIcon;
|
|
4219
|
-
return /* @__PURE__ */ (0,
|
|
4675
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
4220
4676
|
"th",
|
|
4221
4677
|
{
|
|
4222
4678
|
ref,
|
|
@@ -4228,17 +4684,17 @@ var TableHead = /* @__PURE__ */ (0, import_react50.forwardRef)(function TableHea
|
|
|
4228
4684
|
className
|
|
4229
4685
|
),
|
|
4230
4686
|
...rest,
|
|
4231
|
-
children: sortable ? /* @__PURE__ */ (0,
|
|
4687
|
+
children: sortable ? /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("button", { type: "button", className: sortButton, onClick: onSort, children: [
|
|
4232
4688
|
children,
|
|
4233
|
-
/* @__PURE__ */ (0,
|
|
4689
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(SortIcon, { size: 14, className: sortIcon, "data-active": direction !== "none", "aria-hidden": true })
|
|
4234
4690
|
] }) : children
|
|
4235
4691
|
}
|
|
4236
4692
|
);
|
|
4237
4693
|
});
|
|
4238
|
-
var TableCell = /* @__PURE__ */ (0,
|
|
4239
|
-
const size = (0,
|
|
4240
|
-
const section = (0,
|
|
4241
|
-
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)(
|
|
4242
4698
|
"td",
|
|
4243
4699
|
{
|
|
4244
4700
|
ref,
|
|
@@ -4247,26 +4703,26 @@ var TableCell = /* @__PURE__ */ (0, import_react50.forwardRef)(function TableCel
|
|
|
4247
4703
|
}
|
|
4248
4704
|
);
|
|
4249
4705
|
});
|
|
4250
|
-
var TableEmpty = /* @__PURE__ */ (0,
|
|
4251
|
-
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 }) }) });
|
|
4252
4708
|
});
|
|
4253
|
-
function TableSkeleton({ rows = 5, columns }) {
|
|
4254
|
-
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)) });
|
|
4255
4711
|
}
|
|
4256
4712
|
|
|
4257
4713
|
// src/components/Table/useTableSelection.ts
|
|
4258
|
-
var
|
|
4714
|
+
var import_react58 = require("react");
|
|
4259
4715
|
function useTableSelection(initial = []) {
|
|
4260
|
-
const [selected, setSelected] = (0,
|
|
4261
|
-
const isSelected = (0,
|
|
4262
|
-
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) => {
|
|
4263
4719
|
setSelected((prev) => {
|
|
4264
4720
|
const on = checked ?? !prev.includes(id);
|
|
4265
4721
|
if (on) return prev.includes(id) ? prev : [...prev, id];
|
|
4266
4722
|
return prev.filter((value4) => value4 !== id);
|
|
4267
4723
|
});
|
|
4268
4724
|
}, []);
|
|
4269
|
-
const clear2 = (0,
|
|
4725
|
+
const clear2 = (0, import_react58.useCallback)(() => setSelected([]), []);
|
|
4270
4726
|
const selectAllProps = (pageIds) => {
|
|
4271
4727
|
const all2 = pageIds.length > 0 && pageIds.every((id) => selected.includes(id));
|
|
4272
4728
|
const some = pageIds.some((id) => selected.includes(id));
|
|
@@ -4287,48 +4743,48 @@ function useTableSelection(initial = []) {
|
|
|
4287
4743
|
|
|
4288
4744
|
// src/components/Tabs/Tabs.tsx
|
|
4289
4745
|
var RadixTabs = __toESM(require("@radix-ui/react-tabs"), 1);
|
|
4290
|
-
var
|
|
4746
|
+
var import_react59 = require("react");
|
|
4291
4747
|
|
|
4292
4748
|
// src/components/Tabs/Tabs.css.ts
|
|
4293
|
-
var
|
|
4749
|
+
var import_createRuntimeFn30 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
4294
4750
|
var content10 = "fvhbtdb";
|
|
4295
|
-
var list6 = /* @__PURE__ */ (0,
|
|
4751
|
+
var list6 = /* @__PURE__ */ (0, import_createRuntimeFn30.createRuntimeFn)({ defaultClassName: "fvhbtd1", variantClassNames: { variant: { line: "fvhbtd2", soft: "fvhbtd3" } }, defaultVariants: { variant: "line" }, compoundVariants: [] });
|
|
4296
4752
|
var root15 = "fvhbtd0";
|
|
4297
|
-
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"]] });
|
|
4298
4754
|
|
|
4299
4755
|
// src/components/Tabs/Tabs.tsx
|
|
4300
|
-
var
|
|
4301
|
-
var TabsStyleContext = /* @__PURE__ */ (0,
|
|
4302
|
-
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) {
|
|
4303
4759
|
const controlled = "value" in props ? { value: props.value ?? "" } : {};
|
|
4304
|
-
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 }) });
|
|
4305
4761
|
});
|
|
4306
|
-
var TabsList = /* @__PURE__ */ (0,
|
|
4307
|
-
const { variant } = (0,
|
|
4308
|
-
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 });
|
|
4309
4765
|
});
|
|
4310
|
-
var TabsTrigger = /* @__PURE__ */ (0,
|
|
4311
|
-
const { variant, size } = (0,
|
|
4312
|
-
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 });
|
|
4313
4769
|
});
|
|
4314
|
-
var TabsContent = /* @__PURE__ */ (0,
|
|
4315
|
-
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 });
|
|
4316
4772
|
});
|
|
4317
4773
|
|
|
4318
4774
|
// src/components/Textarea/Textarea.tsx
|
|
4319
|
-
var
|
|
4775
|
+
var import_react60 = require("react");
|
|
4320
4776
|
|
|
4321
4777
|
// src/components/Textarea/Textarea.css.ts
|
|
4322
|
-
var
|
|
4778
|
+
var import_createRuntimeFn31 = require("@vanilla-extract/recipes/createRuntimeFn");
|
|
4323
4779
|
var count = "_1koawa9";
|
|
4324
4780
|
var countOver = "_1koawaa";
|
|
4325
4781
|
var defaultWidth = "_1koawa7";
|
|
4326
4782
|
var footer5 = "_1koawa8";
|
|
4327
|
-
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: [] });
|
|
4328
4784
|
|
|
4329
4785
|
// src/components/Textarea/Textarea.tsx
|
|
4330
|
-
var
|
|
4331
|
-
var Textarea = /* @__PURE__ */ (0,
|
|
4786
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
4787
|
+
var Textarea = /* @__PURE__ */ (0, import_react60.forwardRef)(function Textarea2({
|
|
4332
4788
|
label: label7,
|
|
4333
4789
|
helperText: helperText3,
|
|
4334
4790
|
error,
|
|
@@ -4349,13 +4805,13 @@ var Textarea = /* @__PURE__ */ (0, import_react53.forwardRef)(function Textarea2
|
|
|
4349
4805
|
"aria-describedby": ariaDescribedBy,
|
|
4350
4806
|
...rest
|
|
4351
4807
|
}, ref) {
|
|
4352
|
-
const generatedId = (0,
|
|
4808
|
+
const generatedId = (0, import_react60.useId)();
|
|
4353
4809
|
const textareaId = id ?? generatedId;
|
|
4354
4810
|
const helperId = helperText3 ? `${textareaId}-helper` : void 0;
|
|
4355
|
-
const innerRef = (0,
|
|
4356
|
-
const [uncontrolledLength, setUncontrolledLength] = (0,
|
|
4811
|
+
const innerRef = (0, import_react60.useRef)(null);
|
|
4812
|
+
const [uncontrolledLength, setUncontrolledLength] = (0, import_react60.useState)(() => String(defaultValue ?? "").length);
|
|
4357
4813
|
const length = value4 !== void 0 ? String(value4).length : uncontrolledLength;
|
|
4358
|
-
const fitHeight = (0,
|
|
4814
|
+
const fitHeight = (0, import_react60.useCallback)(() => {
|
|
4359
4815
|
const el = innerRef.current;
|
|
4360
4816
|
if (!autoResize || !el) return;
|
|
4361
4817
|
el.style.height = "auto";
|
|
@@ -4368,12 +4824,12 @@ var Textarea = /* @__PURE__ */ (0, import_react53.forwardRef)(function Textarea2
|
|
|
4368
4824
|
fitHeight();
|
|
4369
4825
|
onChange?.(event);
|
|
4370
4826
|
};
|
|
4371
|
-
return /* @__PURE__ */ (0,
|
|
4372
|
-
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: [
|
|
4373
4829
|
label7,
|
|
4374
|
-
required && /* @__PURE__ */ (0,
|
|
4830
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { className: requiredMark, "aria-hidden": true, children: "*" })
|
|
4375
4831
|
] }),
|
|
4376
|
-
/* @__PURE__ */ (0,
|
|
4832
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4377
4833
|
"textarea",
|
|
4378
4834
|
{
|
|
4379
4835
|
ref: mergeRefs(innerRef, ref),
|
|
@@ -4395,51 +4851,51 @@ var Textarea = /* @__PURE__ */ (0, import_react53.forwardRef)(function Textarea2
|
|
|
4395
4851
|
...rest
|
|
4396
4852
|
}
|
|
4397
4853
|
),
|
|
4398
|
-
(helperText3 || showCount) && /* @__PURE__ */ (0,
|
|
4399
|
-
helperText3 && /* @__PURE__ */ (0,
|
|
4400
|
-
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 })
|
|
4401
4857
|
] })
|
|
4402
4858
|
] });
|
|
4403
4859
|
});
|
|
4404
4860
|
|
|
4405
4861
|
// src/components/Toast/Toast.tsx
|
|
4406
4862
|
var RadixToast = __toESM(require("@radix-ui/react-toast"), 1);
|
|
4407
|
-
var
|
|
4863
|
+
var import_react61 = require("react");
|
|
4408
4864
|
var import_icons22 = require("@bestow-ui/icons");
|
|
4409
4865
|
|
|
4410
4866
|
// src/components/Toast/Toast.css.ts
|
|
4411
|
-
var
|
|
4412
|
-
var action2 = "
|
|
4413
|
-
var close = "
|
|
4414
|
-
var
|
|
4415
|
-
var title5 = "
|
|
4416
|
-
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: [] });
|
|
4417
4873
|
var viewport2 = "_1g11zvx0";
|
|
4418
4874
|
|
|
4419
4875
|
// src/components/Toast/Toast.tsx
|
|
4420
|
-
var
|
|
4876
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
4421
4877
|
var REMOVE_DELAY = 500;
|
|
4422
|
-
var ToastContext = /* @__PURE__ */ (0,
|
|
4878
|
+
var ToastContext = /* @__PURE__ */ (0, import_react61.createContext)(null);
|
|
4423
4879
|
function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
4424
4880
|
const m = useMessages();
|
|
4425
4881
|
const label7 = labelProp ?? m.notifications ?? "\uC54C\uB9BC";
|
|
4426
|
-
const [toasts, setToasts] = (0,
|
|
4427
|
-
const nextId = (0,
|
|
4882
|
+
const [toasts, setToasts] = (0, import_react61.useState)([]);
|
|
4883
|
+
const nextId = (0, import_react61.useRef)(0);
|
|
4428
4884
|
const portal2 = usePortalProps();
|
|
4429
|
-
const toast2 = (0,
|
|
4885
|
+
const toast2 = (0, import_react61.useCallback)((options) => {
|
|
4430
4886
|
const id = nextId.current++;
|
|
4431
4887
|
setToasts((prev) => [...prev, { ...options, id, open: true }]);
|
|
4432
4888
|
return id;
|
|
4433
4889
|
}, []);
|
|
4434
|
-
const dismiss = (0,
|
|
4890
|
+
const dismiss = (0, import_react61.useCallback)((id) => {
|
|
4435
4891
|
const isTarget = (t) => id === void 0 || t.id === id;
|
|
4436
4892
|
setToasts((prev) => prev.map((t) => isTarget(t) ? { ...t, open: false } : t));
|
|
4437
4893
|
setTimeout(() => setToasts((prev) => prev.filter((t) => t.open || !isTarget(t))), REMOVE_DELAY);
|
|
4438
4894
|
}, []);
|
|
4439
|
-
const value4 = (0,
|
|
4440
|
-
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: [
|
|
4441
4897
|
children,
|
|
4442
|
-
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)(
|
|
4443
4899
|
RadixToast.Root,
|
|
4444
4900
|
{
|
|
4445
4901
|
open,
|
|
@@ -4449,19 +4905,19 @@ function ToastProvider({ children, duration = 5e3, label: labelProp }) {
|
|
|
4449
4905
|
},
|
|
4450
4906
|
className: toast({ color }),
|
|
4451
4907
|
children: [
|
|
4452
|
-
/* @__PURE__ */ (0,
|
|
4453
|
-
|
|
4454
|
-
action3 && /* @__PURE__ */ (0,
|
|
4455
|
-
/* @__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 }) })
|
|
4456
4912
|
]
|
|
4457
4913
|
},
|
|
4458
4914
|
id
|
|
4459
4915
|
)),
|
|
4460
|
-
/* @__PURE__ */ (0,
|
|
4916
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(RadixToast.Viewport, { className: cx(portal2.className, viewport2), style: portal2.style })
|
|
4461
4917
|
] }) });
|
|
4462
4918
|
}
|
|
4463
4919
|
function useToast() {
|
|
4464
|
-
const context = (0,
|
|
4920
|
+
const context = (0, import_react61.useContext)(ToastContext);
|
|
4465
4921
|
if (!context) throw new Error("useToast \uB294 ToastProvider \uC548\uC5D0\uC11C \uC0AC\uC6A9\uD574\uC57C \uD569\uB2C8\uB2E4.");
|
|
4466
4922
|
return context;
|
|
4467
4923
|
}
|
|
@@ -4474,7 +4930,7 @@ var arrow2 = "z7rufs1";
|
|
|
4474
4930
|
var content11 = "z7rufs0";
|
|
4475
4931
|
|
|
4476
4932
|
// src/components/Tooltip/Tooltip.tsx
|
|
4477
|
-
var
|
|
4933
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
4478
4934
|
function Tooltip({
|
|
4479
4935
|
content: content12,
|
|
4480
4936
|
children,
|
|
@@ -4489,9 +4945,9 @@ function Tooltip({
|
|
|
4489
4945
|
}) {
|
|
4490
4946
|
const portal2 = usePortalProps();
|
|
4491
4947
|
if (disabled || content12 == null || content12 === "") return children;
|
|
4492
|
-
return /* @__PURE__ */ (0,
|
|
4493
|
-
/* @__PURE__ */ (0,
|
|
4494
|
-
/* @__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)(
|
|
4495
4951
|
RadixTooltip.Content,
|
|
4496
4952
|
{
|
|
4497
4953
|
side,
|
|
@@ -4502,7 +4958,7 @@ function Tooltip({
|
|
|
4502
4958
|
style: portal2.style,
|
|
4503
4959
|
children: [
|
|
4504
4960
|
content12,
|
|
4505
|
-
/* @__PURE__ */ (0,
|
|
4961
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(RadixTooltip.Arrow, { className: arrow2, width: 10, height: 5 })
|
|
4506
4962
|
]
|
|
4507
4963
|
}
|
|
4508
4964
|
) })
|
|
@@ -4510,19 +4966,19 @@ function Tooltip({
|
|
|
4510
4966
|
}
|
|
4511
4967
|
|
|
4512
4968
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
4513
|
-
var
|
|
4969
|
+
var import_react62 = require("react");
|
|
4514
4970
|
|
|
4515
4971
|
// src/components/VerificationCodeInput/VerificationCodeInput.css.ts
|
|
4516
4972
|
var input5 = "ea01812";
|
|
4517
|
-
var
|
|
4973
|
+
var row5 = "ea01810";
|
|
4518
4974
|
var slot = "ea01813";
|
|
4519
4975
|
var slots = "ea01811";
|
|
4520
4976
|
var timer = "ea01814";
|
|
4521
4977
|
|
|
4522
4978
|
// src/components/VerificationCodeInput/VerificationCodeInput.tsx
|
|
4523
|
-
var
|
|
4979
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
4524
4980
|
var formatTime = (seconds) => `${String(Math.floor(seconds / 60)).padStart(2, "0")}:${String(seconds % 60).padStart(2, "0")}`;
|
|
4525
|
-
var VerificationCodeInput = /* @__PURE__ */ (0,
|
|
4981
|
+
var VerificationCodeInput = /* @__PURE__ */ (0, import_react62.forwardRef)(
|
|
4526
4982
|
function VerificationCodeInput2(props, ref) {
|
|
4527
4983
|
const {
|
|
4528
4984
|
length = 6,
|
|
@@ -4549,23 +5005,23 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react55.forwardRef)(
|
|
|
4549
5005
|
const label7 = labelProp ?? m.verificationCode ?? "\uC778\uC99D\uBC88\uD638";
|
|
4550
5006
|
const resendText = resendTextProp ?? m.resend ?? "\uC7AC\uC804\uC1A1";
|
|
4551
5007
|
const expiredText = expiredTextProp ?? m.verificationExpired ?? "\uC778\uC99D \uC2DC\uAC04\uC774 \uC9C0\uB0AC\uC5B4\uC694. \uC7AC\uC804\uC1A1\uD574 \uC8FC\uC138\uC694.";
|
|
4552
|
-
const generatedId = (0,
|
|
5008
|
+
const generatedId = (0, import_react62.useId)();
|
|
4553
5009
|
const inputId = id ?? generatedId;
|
|
4554
5010
|
const helperId = `${inputId}-helper`;
|
|
4555
5011
|
const statusId = `${inputId}-status`;
|
|
4556
|
-
const inputRef = (0,
|
|
5012
|
+
const inputRef = (0, import_react62.useRef)(null);
|
|
4557
5013
|
const isControlled = "value" in props;
|
|
4558
|
-
const [innerValue, setInnerValue] = (0,
|
|
5014
|
+
const [innerValue, setInnerValue] = (0, import_react62.useState)(defaultValue ?? "");
|
|
4559
5015
|
const code = (isControlled ? value4 ?? "" : innerValue).slice(0, length);
|
|
4560
|
-
const [focused, setFocused] = (0,
|
|
4561
|
-
const [endAt, setEndAt] = (0,
|
|
4562
|
-
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);
|
|
4563
5019
|
const expired = expiresIn !== void 0 && remaining <= 0;
|
|
4564
|
-
const onExpireRef = (0,
|
|
4565
|
-
(0,
|
|
5020
|
+
const onExpireRef = (0, import_react62.useRef)(onExpire);
|
|
5021
|
+
(0, import_react62.useEffect)(() => {
|
|
4566
5022
|
onExpireRef.current = onExpire;
|
|
4567
5023
|
});
|
|
4568
|
-
(0,
|
|
5024
|
+
(0, import_react62.useEffect)(() => {
|
|
4569
5025
|
if (endAt === null) return;
|
|
4570
5026
|
const tick = () => {
|
|
4571
5027
|
const left = Math.max(0, Math.ceil((endAt - Date.now()) / 1e3));
|
|
@@ -4598,19 +5054,19 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react55.forwardRef)(
|
|
|
4598
5054
|
}
|
|
4599
5055
|
inputRef.current?.focus();
|
|
4600
5056
|
};
|
|
4601
|
-
const
|
|
5057
|
+
const description9 = helperText3 ?? m.verificationCodeHint?.(length, type) ?? `${length}\uC790\uB9AC ${type === "numeric" ? "\uC22B\uC790" : "\uBB38\uC790"}\uB97C \uC785\uB825\uD558\uC138\uC694.`;
|
|
4602
5058
|
const activeIndex = Math.min(code.length, length - 1);
|
|
4603
|
-
return /* @__PURE__ */ (0,
|
|
5059
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
4604
5060
|
"div",
|
|
4605
5061
|
{
|
|
4606
5062
|
className: cx(field, className),
|
|
4607
5063
|
"data-invalid": error || void 0,
|
|
4608
5064
|
"data-disabled": disabled || void 0,
|
|
4609
5065
|
children: [
|
|
4610
|
-
/* @__PURE__ */ (0,
|
|
4611
|
-
/* @__PURE__ */ (0,
|
|
4612
|
-
/* @__PURE__ */ (0,
|
|
4613
|
-
/* @__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)(
|
|
4614
5070
|
"input",
|
|
4615
5071
|
{
|
|
4616
5072
|
ref: mergeRefs(ref, inputRef),
|
|
@@ -4630,7 +5086,7 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react55.forwardRef)(
|
|
|
4630
5086
|
className: input5
|
|
4631
5087
|
}
|
|
4632
5088
|
),
|
|
4633
|
-
Array.from({ length }, (_, index) => /* @__PURE__ */ (0,
|
|
5089
|
+
Array.from({ length }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
4634
5090
|
"div",
|
|
4635
5091
|
{
|
|
4636
5092
|
className: slot,
|
|
@@ -4641,12 +5097,12 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react55.forwardRef)(
|
|
|
4641
5097
|
index
|
|
4642
5098
|
))
|
|
4643
5099
|
] }),
|
|
4644
|
-
expiresIn !== void 0 && /* @__PURE__ */ (0,
|
|
4645
|
-
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 })
|
|
4646
5102
|
] }),
|
|
4647
|
-
/* @__PURE__ */ (0,
|
|
4648
|
-
/* @__PURE__ */ (0,
|
|
4649
|
-
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 })
|
|
4650
5106
|
]
|
|
4651
5107
|
}
|
|
4652
5108
|
);
|
|
@@ -4671,7 +5127,9 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react55.forwardRef)(
|
|
|
4671
5127
|
CardFooter,
|
|
4672
5128
|
CardHeader,
|
|
4673
5129
|
Checkbox,
|
|
5130
|
+
CheckboxGroup,
|
|
4674
5131
|
Combobox,
|
|
5132
|
+
Container,
|
|
4675
5133
|
DatePicker,
|
|
4676
5134
|
DateRangePicker,
|
|
4677
5135
|
DescriptionList,
|
|
@@ -4693,6 +5151,8 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react55.forwardRef)(
|
|
|
4693
5151
|
DropdownMenuTrigger,
|
|
4694
5152
|
ErrorSummary,
|
|
4695
5153
|
FileUpload,
|
|
5154
|
+
FormField,
|
|
5155
|
+
Grid,
|
|
4696
5156
|
IconButton,
|
|
4697
5157
|
Input,
|
|
4698
5158
|
Link,
|
|
@@ -4707,6 +5167,7 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react55.forwardRef)(
|
|
|
4707
5167
|
PopoverClose,
|
|
4708
5168
|
Progress,
|
|
4709
5169
|
RadioGroup,
|
|
5170
|
+
ResidentNumberInput,
|
|
4710
5171
|
SegmentedControl,
|
|
4711
5172
|
Select,
|
|
4712
5173
|
Skeleton,
|
|
@@ -4748,10 +5209,19 @@ var VerificationCodeInput = /* @__PURE__ */ (0, import_react55.forwardRef)(
|
|
|
4748
5209
|
formatKoreanAmount,
|
|
4749
5210
|
formatKoreanDate,
|
|
4750
5211
|
formatPhoneNumber,
|
|
5212
|
+
formatResidentNumber,
|
|
4751
5213
|
hasAllRequiredAgreements,
|
|
4752
5214
|
isValidBusinessNumber,
|
|
5215
|
+
isValidResidentNumber,
|
|
4753
5216
|
kakaoPostcodeProvider,
|
|
5217
|
+
maskCardNumber,
|
|
5218
|
+
maskDigits,
|
|
5219
|
+
maskName,
|
|
5220
|
+
maskPhoneNumber,
|
|
5221
|
+
maskResidentNumber,
|
|
5222
|
+
media,
|
|
4754
5223
|
parseISODate,
|
|
5224
|
+
parseResidentNumber,
|
|
4755
5225
|
presetRange,
|
|
4756
5226
|
strongInputBorders,
|
|
4757
5227
|
themeClass,
|