@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/dist/shared.js CHANGED
@@ -4,15 +4,20 @@ import {
4
4
  createTheme,
5
5
  cx,
6
6
  dateRangePresets,
7
+ field,
8
+ fieldFullWidth,
7
9
  focusField,
10
+ helperText,
8
11
  kakaoPostcodeProvider,
12
+ label,
9
13
  parseISODate,
10
14
  presetRange,
15
+ requiredMark,
11
16
  themeClass,
12
17
  toISODate,
13
18
  vars,
14
19
  visuallyHidden
15
- } from "./chunk-NKLDAXUR.js";
20
+ } from "./chunk-YYLDXZWR.js";
16
21
 
17
22
  // src/theme/color.ts
18
23
  import { darkColors, lightColors, palette } from "@bestow-ui/tokens";
@@ -223,6 +228,12 @@ var en = {
223
228
  businessNumber: "Business registration number",
224
229
  businessNumberInvalid: "This business registration number is not valid. Please check it again.",
225
230
  businessNumberIncomplete: "Enter all 10 digits.",
231
+ residentNumber: "Resident registration number",
232
+ residentNumberFront: "First 6 digits",
233
+ residentNumberBack: "Last 7 digits",
234
+ residentNumberBackFirst: "First digit of the second part",
235
+ residentNumberInvalid: "This number is not valid. Check the date of birth and the first digit of the second part.",
236
+ residentNumberIncomplete: (digits) => `Enter all ${digits} digits.`,
226
237
  amount: "Amount",
227
238
  currencyUnit: "KRW",
228
239
  address: "Address",
@@ -259,6 +270,36 @@ import {
259
270
  formatPhoneNumber,
260
271
  isValidBusinessNumber
261
272
  } from "@bestow-ui/korean-utils";
273
+ import {
274
+ formatResidentNumber,
275
+ isValidResidentNumber,
276
+ maskCardNumber,
277
+ maskDigits,
278
+ maskName,
279
+ maskPhoneNumber,
280
+ maskResidentNumber,
281
+ parseResidentNumber
282
+ } from "@bestow-ui/korean-utils";
283
+
284
+ // src/utils/responsive.ts
285
+ var media = {
286
+ sm: "(min-width: 40em)",
287
+ md: "(min-width: 48em)",
288
+ lg: "(min-width: 64em)",
289
+ xl: "(min-width: 80em)"
290
+ };
291
+ var keys = ["base", "sm", "md", "lg", "xl"];
292
+ var isResponsiveObject = (value2) => typeof value2 === "object" && value2 !== null;
293
+ function responsiveVars(out, name, value2, toCss) {
294
+ if (value2 === void 0) return;
295
+ const values = isResponsiveObject(value2) ? value2 : { base: value2 };
296
+ let current;
297
+ for (const key of keys) {
298
+ current = values[key] ?? current;
299
+ if (current !== void 0) out[`--bestow-${name}-${key}`] = toCss(current);
300
+ }
301
+ }
302
+ var spaceVar = (key) => `var(--bestow-space-${key})`;
262
303
 
263
304
  // src/components/AgreementGroup/agreements.ts
264
305
  function hasAllRequiredAgreements(items, value2) {
@@ -270,8 +311,8 @@ import { forwardRef } from "react";
270
311
 
271
312
  // src/components/Badge/Badge.css.ts
272
313
  import { createRuntimeFn as _7a468 } from "@vanilla-extract/recipes/createRuntimeFn";
273
- var badge = /* @__PURE__ */ _7a468({ defaultClassName: "_1295cfn4", variantClassNames: { variant: { solid: "_1295cfn5", soft: "_1295cfn6", outline: "_1295cfn7" }, color: { primary: "_1295cfn8", neutral: "_1295cfn9", danger: "_1295cfna", success: "_1295cfnb", warning: "_1295cfnc" }, size: { sm: "_1295cfnd", md: "_1295cfne", lg: "_1295cfnf" } }, defaultVariants: { variant: "soft", color: "neutral", size: "md" }, compoundVariants: [] });
274
- var icon = "_1295cfng";
314
+ var badge = /* @__PURE__ */ _7a468({ 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: [] });
315
+ var icon = "_1295cfnh";
275
316
 
276
317
  // src/components/Badge/Badge.tsx
277
318
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -307,23 +348,36 @@ var CardFooter = /* @__PURE__ */ forwardRef2(function CardFooter2({ className, .
307
348
  return /* @__PURE__ */ jsx2("div", { ref, className: cx(footer, className), ...rest });
308
349
  });
309
350
 
351
+ // src/components/Container/Container.tsx
352
+ import { forwardRef as forwardRef3 } from "react";
353
+
354
+ // src/components/Container/Container.css.ts
355
+ import { createRuntimeFn as _7a4683 } from "@vanilla-extract/recipes/createRuntimeFn";
356
+ var container = /* @__PURE__ */ _7a4683({ defaultClassName: "b404nn0", variantClassNames: { size: { sm: "b404nn1", md: "b404nn2", lg: "b404nn3", xl: "b404nn4", full: "b404nn5" }, flush: { true: "b404nn6" } }, defaultVariants: { size: "lg" }, compoundVariants: [] });
357
+
358
+ // src/components/Container/Container.tsx
359
+ import { jsx as jsx3 } from "react/jsx-runtime";
360
+ var Container = /* @__PURE__ */ forwardRef3(function Container2({ as: Component = "div", size, flush, className, ...rest }, ref) {
361
+ return /* @__PURE__ */ jsx3(Component, { ref, className: cx(container({ size, flush }), className), ...rest });
362
+ });
363
+
310
364
  // src/components/DescriptionList/DescriptionList.tsx
311
365
  import { assignInlineVars } from "@vanilla-extract/dynamic";
312
- import { forwardRef as forwardRef3 } from "react";
366
+ import { forwardRef as forwardRef4 } from "react";
313
367
 
314
368
  // src/components/DescriptionList/DescriptionList.css.ts
315
- import { createRuntimeFn as _7a4683 } from "@vanilla-extract/recipes/createRuntimeFn";
369
+ import { createRuntimeFn as _7a4684 } from "@vanilla-extract/recipes/createRuntimeFn";
316
370
  var description = "_14g0ot47";
317
- var item = /* @__PURE__ */ _7a4683({ defaultClassName: "_14g0ot42", variantClassNames: { layout: { horizontal: "_14g0ot43", vertical: "_14g0ot44" }, divided: { true: "_14g0ot45" } }, defaultVariants: { layout: "horizontal" }, compoundVariants: [] });
371
+ var item = /* @__PURE__ */ _7a4684({ defaultClassName: "_14g0ot42", variantClassNames: { layout: { horizontal: "_14g0ot43", vertical: "_14g0ot44" }, divided: { true: "_14g0ot45" } }, defaultVariants: { layout: "horizontal" }, compoundVariants: [] });
318
372
  var root = "_14g0ot41";
319
373
  var term = "_14g0ot46";
320
374
  var termWidth = "var(--_14g0ot40)";
321
375
 
322
376
  // src/components/DescriptionList/DescriptionList.tsx
323
- import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
324
- var DescriptionList = /* @__PURE__ */ forwardRef3(
377
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
378
+ var DescriptionList = /* @__PURE__ */ forwardRef4(
325
379
  function DescriptionList2({ items, layout = "horizontal", termWidth: termWidth2, divided, className, style, ...rest }, ref) {
326
- return /* @__PURE__ */ jsx3(
380
+ return /* @__PURE__ */ jsx4(
327
381
  "dl",
328
382
  {
329
383
  ref,
@@ -331,8 +385,8 @@ var DescriptionList = /* @__PURE__ */ forwardRef3(
331
385
  style: termWidth2 ? { ...assignInlineVars({ [termWidth]: termWidth2 }), ...style } : style,
332
386
  ...rest,
333
387
  children: items.map((item2, index) => /* @__PURE__ */ jsxs2("div", { className: item({ layout, divided }), children: [
334
- /* @__PURE__ */ jsx3("dt", { className: term, children: item2.term }),
335
- /* @__PURE__ */ jsx3("dd", { className: description, children: item2.description })
388
+ /* @__PURE__ */ jsx4("dt", { className: term, children: item2.term }),
389
+ /* @__PURE__ */ jsx4("dd", { className: description, children: item2.description })
336
390
  ] }, index))
337
391
  }
338
392
  );
@@ -340,47 +394,101 @@ var DescriptionList = /* @__PURE__ */ forwardRef3(
340
394
  );
341
395
 
342
396
  // src/components/Divider/Divider.tsx
343
- import { forwardRef as forwardRef4 } from "react";
397
+ import { forwardRef as forwardRef5 } from "react";
344
398
 
345
399
  // src/components/Divider/Divider.css.ts
346
- import { createRuntimeFn as _7a4684 } from "@vanilla-extract/recipes/createRuntimeFn";
347
- var divider = /* @__PURE__ */ _7a4684({ defaultClassName: "_1t3gq8v0", variantClassNames: { orientation: { horizontal: "_1t3gq8v1", vertical: "_1t3gq8v2" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
400
+ import { createRuntimeFn as _7a4685 } from "@vanilla-extract/recipes/createRuntimeFn";
401
+ var divider = /* @__PURE__ */ _7a4685({ defaultClassName: "_1t3gq8v0", variantClassNames: { orientation: { horizontal: "_1t3gq8v1", vertical: "_1t3gq8v2" } }, defaultVariants: { orientation: "horizontal" }, compoundVariants: [] });
348
402
  var labeled = "_1t3gq8v3";
349
403
  var line = "_1t3gq8v4";
350
404
 
351
405
  // src/components/Divider/Divider.tsx
352
- import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
353
- var Divider = /* @__PURE__ */ forwardRef4(function Divider2({ orientation = "horizontal", decorative, className, children, ...rest }, ref) {
406
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
407
+ var Divider = /* @__PURE__ */ forwardRef5(function Divider2({ orientation = "horizontal", decorative, className, children, ...rest }, ref) {
354
408
  if (children && orientation === "horizontal") {
355
409
  return /* @__PURE__ */ jsxs3("div", { ref, className: cx(labeled, className), ...rest, children: [
356
- /* @__PURE__ */ jsx4("span", { className: line, "aria-hidden": true }),
410
+ /* @__PURE__ */ jsx5("span", { className: line, "aria-hidden": true }),
357
411
  children,
358
- /* @__PURE__ */ jsx4("span", { className: line, "aria-hidden": true })
412
+ /* @__PURE__ */ jsx5("span", { className: line, "aria-hidden": true })
359
413
  ] });
360
414
  }
361
415
  const a11y = decorative ? { role: "none" } : { role: "separator", "aria-orientation": orientation === "vertical" ? "vertical" : void 0 };
362
- return /* @__PURE__ */ jsx4("div", { ref, className: cx(divider({ orientation }), className), ...a11y, ...rest });
416
+ return /* @__PURE__ */ jsx5("div", { ref, className: cx(divider({ orientation }), className), ...a11y, ...rest });
417
+ });
418
+
419
+ // src/components/FormField/FormField.tsx
420
+ import { forwardRef as forwardRef6, useId } from "react";
421
+ import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
422
+ var FormField = /* @__PURE__ */ forwardRef6(function FormField2({ label: label3, helperText: helperText2, error, required, id, fullWidth, className, children, ...rest }, ref) {
423
+ const generatedId = useId();
424
+ const controlId = id ?? generatedId;
425
+ const labelId = label3 ? `${controlId}-label` : void 0;
426
+ const helperId = helperText2 ? `${controlId}-helper` : void 0;
427
+ return /* @__PURE__ */ jsxs4("div", { ref, className: cx(field, fullWidth && fieldFullWidth, className), ...rest, children: [
428
+ label3 && /* @__PURE__ */ jsxs4("label", { id: labelId, htmlFor: controlId, className: label, children: [
429
+ label3,
430
+ required && /* @__PURE__ */ jsx6("span", { className: requiredMark, "aria-hidden": true, children: "*" })
431
+ ] }),
432
+ children(
433
+ {
434
+ id: controlId,
435
+ "aria-describedby": helperId,
436
+ "aria-invalid": error || void 0,
437
+ "aria-required": required || void 0
438
+ },
439
+ { labelId, helperId }
440
+ ),
441
+ helperText2 && /* @__PURE__ */ jsx6("p", { id: helperId, className: helperText({ error }), children: helperText2 })
442
+ ] });
443
+ });
444
+
445
+ // src/components/Grid/Grid.tsx
446
+ import { forwardRef as forwardRef7 } from "react";
447
+
448
+ // src/components/Grid/Grid.css.ts
449
+ var columns = "_1tylv9m1";
450
+ var grid = "_1tylv9m0";
451
+ var responsiveGap = "iarbla0";
452
+
453
+ // src/components/Grid/Grid.tsx
454
+ import { jsx as jsx7 } from "react/jsx-runtime";
455
+ var repeatColumns = (count) => `repeat(${count}, minmax(0, 1fr))`;
456
+ var Grid = /* @__PURE__ */ forwardRef7(function Grid2({ as: Component = "div", columns: columns2, minItemWidth, gap, className, style, ...rest }, ref) {
457
+ const responsive = {};
458
+ if (minItemWidth)
459
+ responsive["--bestow-grid-columns-base"] = `repeat(auto-fill, minmax(min(100%, ${minItemWidth}), 1fr))`;
460
+ else responsiveVars(responsive, "grid-columns", columns2, repeatColumns);
461
+ responsiveVars(responsive, "gap", gap, spaceVar);
462
+ return /* @__PURE__ */ jsx7(
463
+ Component,
464
+ {
465
+ ref,
466
+ className: cx(grid, columns, gap !== void 0 && responsiveGap, className),
467
+ style: { ...responsive, ...style },
468
+ ...rest
469
+ }
470
+ );
363
471
  });
364
472
 
365
473
  // src/components/Progress/Progress.tsx
366
- import { forwardRef as forwardRef5, useId } from "react";
474
+ import { forwardRef as forwardRef8, useId as useId2 } from "react";
367
475
 
368
476
  // src/components/Progress/Progress.css.ts
369
- import { createRuntimeFn as _7a4685 } from "@vanilla-extract/recipes/createRuntimeFn";
477
+ import { createRuntimeFn as _7a4686 } from "@vanilla-extract/recipes/createRuntimeFn";
370
478
  var header2 = "_1tvkq001";
371
- var indicator = /* @__PURE__ */ _7a4685({ defaultClassName: "_1tvkq008", variantClassNames: { color: { primary: "_1tvkq009", neutral: "_1tvkq00a", success: "_1tvkq00b", warning: "_1tvkq00c", danger: "_1tvkq00d" } }, defaultVariants: { color: "primary" }, compoundVariants: [] });
372
- var label = "_1tvkq002";
479
+ var indicator = /* @__PURE__ */ _7a4686({ defaultClassName: "_1tvkq008", variantClassNames: { color: { primary: "_1tvkq009", neutral: "_1tvkq00a", success: "_1tvkq00b", warning: "_1tvkq00c", danger: "_1tvkq00d" } }, defaultVariants: { color: "primary" }, compoundVariants: [] });
480
+ var label2 = "_1tvkq002";
373
481
  var root2 = "_1tvkq000";
374
- var track = /* @__PURE__ */ _7a4685({ defaultClassName: "_1tvkq004", variantClassNames: { size: { sm: "_1tvkq005", md: "_1tvkq006", lg: "_1tvkq007" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
482
+ var track = /* @__PURE__ */ _7a4686({ defaultClassName: "_1tvkq004", variantClassNames: { size: { sm: "_1tvkq005", md: "_1tvkq006", lg: "_1tvkq007" } }, defaultVariants: { size: "md" }, compoundVariants: [] });
375
483
  var value = "_1tvkq003";
376
484
 
377
485
  // src/components/Progress/Progress.tsx
378
- import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
486
+ import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
379
487
  var defaultFormat = (value2, max) => `${Math.round(value2 / max * 100)}%`;
380
- var Progress = /* @__PURE__ */ forwardRef5(function Progress2({
488
+ var Progress = /* @__PURE__ */ forwardRef8(function Progress2({
381
489
  value: value2,
382
490
  max = 100,
383
- label: label2,
491
+ label: label3,
384
492
  "aria-label": ariaLabel,
385
493
  showValue,
386
494
  formatValue = defaultFormat,
@@ -389,28 +497,28 @@ var Progress = /* @__PURE__ */ forwardRef5(function Progress2({
389
497
  className,
390
498
  ...rest
391
499
  }, ref) {
392
- const labelId = useId();
500
+ const labelId = useId2();
393
501
  const isIndeterminate = value2 === void 0 || value2 === null;
394
502
  const safeMax = max > 0 ? max : 100;
395
503
  const clamped = isIndeterminate ? 0 : Math.min(safeMax, Math.max(0, value2));
396
504
  const valueText = isIndeterminate ? void 0 : formatValue(clamped, safeMax);
397
- return /* @__PURE__ */ jsxs4("div", { ref, className: cx(root2, className), ...rest, children: [
398
- (label2 || showValue && valueText) && /* @__PURE__ */ jsxs4("div", { className: header2, children: [
399
- label2 && /* @__PURE__ */ jsx5("span", { id: labelId, className: label, children: label2 }),
400
- showValue && valueText && /* @__PURE__ */ jsx5("span", { className: value, "aria-hidden": true, children: valueText })
505
+ return /* @__PURE__ */ jsxs5("div", { ref, className: cx(root2, className), ...rest, children: [
506
+ (label3 || showValue && valueText) && /* @__PURE__ */ jsxs5("div", { className: header2, children: [
507
+ label3 && /* @__PURE__ */ jsx8("span", { id: labelId, className: label2, children: label3 }),
508
+ showValue && valueText && /* @__PURE__ */ jsx8("span", { className: value, "aria-hidden": true, children: valueText })
401
509
  ] }),
402
- /* @__PURE__ */ jsx5(
510
+ /* @__PURE__ */ jsx8(
403
511
  "div",
404
512
  {
405
513
  role: "progressbar",
406
- "aria-labelledby": label2 ? labelId : void 0,
407
- "aria-label": label2 ? void 0 : ariaLabel,
514
+ "aria-labelledby": label3 ? labelId : void 0,
515
+ "aria-label": label3 ? void 0 : ariaLabel,
408
516
  "aria-valuemin": 0,
409
517
  "aria-valuemax": safeMax,
410
518
  "aria-valuenow": isIndeterminate ? void 0 : clamped,
411
519
  "aria-valuetext": valueText,
412
520
  className: track({ size }),
413
- children: /* @__PURE__ */ jsx5(
521
+ children: /* @__PURE__ */ jsx8(
414
522
  "div",
415
523
  {
416
524
  className: indicator({ color }),
@@ -424,27 +532,65 @@ var Progress = /* @__PURE__ */ forwardRef5(function Progress2({
424
532
  });
425
533
 
426
534
  // src/components/Stack/Stack.tsx
427
- import { forwardRef as forwardRef6 } from "react";
535
+ import { forwardRef as forwardRef9 } from "react";
428
536
 
429
537
  // src/components/Stack/Stack.css.ts
430
- import { createRuntimeFn as _7a4686 } from "@vanilla-extract/recipes/createRuntimeFn";
431
- var stack = /* @__PURE__ */ _7a4686({ defaultClassName: "_1jz9hj90", variantClassNames: { direction: { row: "_1jz9hj91", column: "_1jz9hj92", "row-reverse": "_1jz9hj93", "column-reverse": "_1jz9hj94" }, gap: { "0": "_1jz9hj95", "1": "_1jz9hj96", "2": "_1jz9hj97", "3": "_1jz9hj98", "4": "_1jz9hj99", "5": "_1jz9hj9a", "6": "_1jz9hj9b", "8": "_1jz9hj9c", "10": "_1jz9hj9d", "12": "_1jz9hj9e", "16": "_1jz9hj9f" }, align: { start: "_1jz9hj9g", center: "_1jz9hj9h", end: "_1jz9hj9i", stretch: "_1jz9hj9j", baseline: "_1jz9hj9k" }, justify: { start: "_1jz9hj9l", center: "_1jz9hj9m", end: "_1jz9hj9n", between: "_1jz9hj9o", around: "_1jz9hj9p", evenly: "_1jz9hj9q" }, wrap: { true: "_1jz9hj9r" } }, defaultVariants: { direction: "column" }, compoundVariants: [] });
538
+ import { createRuntimeFn as _7a4687 } from "@vanilla-extract/recipes/createRuntimeFn";
539
+ var responsiveAlign = "_1jz9hj9t";
540
+ var responsiveDirection = "_1jz9hj9s";
541
+ var responsiveGap2 = "iarbla0";
542
+ var responsiveJustify = "_1jz9hj9u";
543
+ var stack = /* @__PURE__ */ _7a4687({ 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: [] });
432
544
 
433
545
  // src/components/Stack/Stack.tsx
434
- import { jsx as jsx6 } from "react/jsx-runtime";
435
- var Stack = /* @__PURE__ */ forwardRef6(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, ...rest }, ref) {
436
- return /* @__PURE__ */ jsx6(Component, { ref, className: cx(stack({ direction, gap, align, justify, wrap }), className), ...rest });
546
+ import { jsx as jsx9 } from "react/jsx-runtime";
547
+ var flexValues = {
548
+ start: "flex-start",
549
+ end: "flex-end",
550
+ between: "space-between",
551
+ around: "space-around",
552
+ evenly: "space-evenly"
553
+ };
554
+ var flexValue = (value2) => flexValues[value2] ?? value2;
555
+ var responsiveProps = [
556
+ ["direction", "stack-direction", String, responsiveDirection],
557
+ ["gap", "gap", spaceVar, responsiveGap2],
558
+ ["align", "stack-align", flexValue, responsiveAlign],
559
+ ["justify", "stack-justify", flexValue, responsiveJustify]
560
+ ];
561
+ var Stack = /* @__PURE__ */ forwardRef9(function Stack2({ as: Component = "div", direction, gap, align, justify, wrap, className, style, ...rest }, ref) {
562
+ const props = { direction: direction ?? "column", gap, align, justify };
563
+ const variants = { wrap };
564
+ const classes = [];
565
+ const cssVars = {};
566
+ for (const [key, name, toCss, responsiveClass] of responsiveProps) {
567
+ const value2 = props[key];
568
+ if (!isResponsiveObject(value2)) variants[key] = value2;
569
+ else {
570
+ responsiveVars(cssVars, name, key === "direction" ? { base: "column", ...value2 } : value2, toCss);
571
+ classes.push(responsiveClass);
572
+ }
573
+ }
574
+ return /* @__PURE__ */ jsx9(
575
+ Component,
576
+ {
577
+ ref,
578
+ className: cx(stack(variants), ...classes, className),
579
+ style: classes.length ? { ...cssVars, ...style } : style,
580
+ ...rest
581
+ }
582
+ );
437
583
  });
438
584
 
439
585
  // src/components/Typography/Typography.tsx
440
- import { forwardRef as forwardRef7 } from "react";
586
+ import { forwardRef as forwardRef10 } from "react";
441
587
 
442
588
  // src/components/Typography/Typography.css.ts
443
- import { createRuntimeFn as _7a4687 } from "@vanilla-extract/recipes/createRuntimeFn";
444
- var typography = /* @__PURE__ */ _7a4687({ 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: [] });
589
+ import { createRuntimeFn as _7a4688 } from "@vanilla-extract/recipes/createRuntimeFn";
590
+ var typography = /* @__PURE__ */ _7a4688({ 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: [] });
445
591
 
446
592
  // src/components/Typography/Typography.tsx
447
- import { jsx as jsx7 } from "react/jsx-runtime";
593
+ import { jsx as jsx10 } from "react/jsx-runtime";
448
594
  var defaultElement = {
449
595
  display: "h1",
450
596
  h1: "h1",
@@ -456,9 +602,9 @@ var defaultElement = {
456
602
  "body-sm": "p",
457
603
  caption: "span"
458
604
  };
459
- var Typography = /* @__PURE__ */ forwardRef7(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
605
+ var Typography = /* @__PURE__ */ forwardRef10(function Typography2({ variant = "body", as, color, weight, align, truncate, className, ...rest }, ref) {
460
606
  const Component = as ?? defaultElement[variant];
461
- return /* @__PURE__ */ jsx7(
607
+ return /* @__PURE__ */ jsx10(
462
608
  Component,
463
609
  {
464
610
  ref,
@@ -469,10 +615,10 @@ var Typography = /* @__PURE__ */ forwardRef7(function Typography2({ variant = "b
469
615
  });
470
616
 
471
617
  // src/components/VisuallyHidden/VisuallyHidden.tsx
472
- import { forwardRef as forwardRef8 } from "react";
473
- import { jsx as jsx8 } from "react/jsx-runtime";
474
- var VisuallyHidden = /* @__PURE__ */ forwardRef8(function VisuallyHidden2({ as: Component = "span", className, ...rest }, ref) {
475
- return /* @__PURE__ */ jsx8(Component, { ref, className: cx(visuallyHidden, className), ...rest });
618
+ import { forwardRef as forwardRef11 } from "react";
619
+ import { jsx as jsx11 } from "react/jsx-runtime";
620
+ var VisuallyHidden = /* @__PURE__ */ forwardRef11(function VisuallyHidden2({ as: Component = "span", className, ...rest }, ref) {
621
+ return /* @__PURE__ */ jsx11(Component, { ref, className: cx(visuallyHidden, className), ...rest });
476
622
  });
477
623
  export {
478
624
  Badge,
@@ -480,8 +626,11 @@ export {
480
626
  CardBody,
481
627
  CardFooter,
482
628
  CardHeader,
629
+ Container,
483
630
  DescriptionList,
484
631
  Divider,
632
+ FormField,
633
+ Grid,
485
634
  Progress,
486
635
  Skeleton,
487
636
  Stack,
@@ -498,10 +647,19 @@ export {
498
647
  formatKoreanAmount,
499
648
  formatKoreanDate,
500
649
  formatPhoneNumber,
650
+ formatResidentNumber,
501
651
  hasAllRequiredAgreements,
502
652
  isValidBusinessNumber,
653
+ isValidResidentNumber,
503
654
  kakaoPostcodeProvider,
655
+ maskCardNumber,
656
+ maskDigits,
657
+ maskName,
658
+ maskPhoneNumber,
659
+ maskResidentNumber,
660
+ media,
504
661
  parseISODate,
662
+ parseResidentNumber,
505
663
  presetRange,
506
664
  strongInputBorders,
507
665
  themeClass,