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