@hivcd-printshop/design-system 1.3.3 → 1.4.1

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/index.js CHANGED
@@ -23,6 +23,7 @@ var index_exports = {};
23
23
  __export(index_exports, {
24
24
  Accordion: () => Accordion,
25
25
  BackButton: () => BackButton,
26
+ Badge: () => Badge,
26
27
  BasicFormField: () => BasicFormField,
27
28
  CTA: () => CTA,
28
29
  CategorySegment: () => CategorySegment,
@@ -451,8 +452,33 @@ var BackButton = ({ onClick, className }) => {
451
452
  );
452
453
  };
453
454
 
454
- // src/components/CTA/CTA.tsx
455
+ // src/components/Badge/Badge.tsx
455
456
  var import_jsx_runtime4 = require("react/jsx-runtime");
457
+ var variantStyles = {
458
+ warning: "bg-sub-warning text-strong",
459
+ restriction: "bg-sub-restriction text-strong",
460
+ outline: "bg-white border border-gray02 text-primary",
461
+ neutral: "bg-gray01 text-secondary",
462
+ solid: "bg-black text-white"
463
+ };
464
+ var Badge = ({ variant = "neutral", children, className, ...props }) => {
465
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
466
+ "span",
467
+ {
468
+ className: cn(
469
+ "inline-flex h-8 w-fit items-center justify-center px-2 py-1",
470
+ "text-body3-book whitespace-nowrap select-none",
471
+ variantStyles[variant],
472
+ className
473
+ ),
474
+ ...props,
475
+ children
476
+ }
477
+ );
478
+ };
479
+
480
+ // src/components/CTA/CTA.tsx
481
+ var import_jsx_runtime5 = require("react/jsx-runtime");
456
482
  var CTA = ({
457
483
  primary = false,
458
484
  alert = false,
@@ -463,7 +489,7 @@ var CTA = ({
463
489
  forModal = false,
464
490
  ...props
465
491
  }) => {
466
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
492
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
467
493
  "button",
468
494
  {
469
495
  type: "button",
@@ -491,22 +517,22 @@ var CTA = ({
491
517
  };
492
518
 
493
519
  // src/components/Column/MultiColumn.tsx
494
- var import_jsx_runtime5 = require("react/jsx-runtime");
520
+ var import_jsx_runtime6 = require("react/jsx-runtime");
495
521
  var MultiColumnMain = ({ children, className }) => {
496
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: cn("flex flex-col w-full h-full", className), children });
522
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: cn("flex flex-col w-full h-full", className), children });
497
523
  };
498
524
  var Columns = ({ children, className }) => {
499
525
  return (
500
526
  // flex 래퍼를 사용하고 하위 Column들이 flex-1을 가지게 하거나,
501
527
  // grid를 사용하여 열을 나눌 수 있어. 여기서는 flex를 활용한 균등 분할 예시야.
502
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: cn("flex w-full h-full divide-x divide-gray02", className), children })
528
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: cn("flex w-full h-full divide-x divide-gray02", className), children })
503
529
  );
504
530
  };
505
531
  var CTAs = ({ children, className }) => {
506
532
  if (!children) return null;
507
533
  return (
508
534
  // CTA 버튼들을 중앙에 배치하는 예시 (우측 정렬이 필요하면 justify-end 사용)
509
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: cn("flex flex-col w-full h-fit", className), children })
535
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: cn("flex flex-col w-full h-fit", className), children })
510
536
  );
511
537
  };
512
538
  var MultiColumn = Object.assign(MultiColumnMain, {
@@ -515,78 +541,78 @@ var MultiColumn = Object.assign(MultiColumnMain, {
515
541
  });
516
542
 
517
543
  // src/components/Column/Column.tsx
518
- var import_jsx_runtime6 = require("react/jsx-runtime");
544
+ var import_jsx_runtime7 = require("react/jsx-runtime");
519
545
  var Column = ({ className, children, header }) => {
520
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: cn("flex flex-col gap-5", "h-full w-full px-5 py-3", className), children: [
521
- header && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h1", { className: cn("text-body1-medium text-primary"), children: header }),
546
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: cn("flex flex-col gap-5", "h-full w-full px-5 py-3", className), children: [
547
+ header && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("h1", { className: cn("text-body1-medium text-primary"), children: header }),
522
548
  children
523
549
  ] });
524
550
  };
525
551
 
526
552
  // src/components/Column/ColumnContentContainer.tsx
527
- var import_jsx_runtime7 = require("react/jsx-runtime");
553
+ var import_jsx_runtime8 = require("react/jsx-runtime");
528
554
  var ColumnContentContainer = ({ className, children }) => {
529
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: cn("flex flex-col gap-1.5 w-full h-fit", className), children });
555
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: cn("flex flex-col gap-1.5 w-full h-fit", className), children });
530
556
  };
531
557
 
532
558
  // src/components/Column/ColumnLabel.tsx
533
- var import_jsx_runtime8 = require("react/jsx-runtime");
559
+ var import_jsx_runtime9 = require("react/jsx-runtime");
534
560
  var ColumnLabel = ({ className, children, subLabel, htmlFor }) => {
535
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { htmlFor, className: cn("flex gap-1.5 items-end", className), children: [
536
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: cn("text-body2-regular text-tertiary"), children }),
537
- subLabel && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: cn("text-caption-book text-quaternary"), children: subLabel })
561
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("label", { htmlFor, className: cn("flex gap-1.5 items-end", className), children: [
562
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: cn("text-body2-regular text-tertiary"), children }),
563
+ subLabel && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: cn("text-caption-book text-quaternary"), children: subLabel })
538
564
  ] });
539
565
  };
540
566
 
541
567
  // src/components/Column/ColumnText.tsx
542
- var import_jsx_runtime9 = require("react/jsx-runtime");
568
+ var import_jsx_runtime10 = require("react/jsx-runtime");
543
569
  var ColumnTextStyle = "text-body3-book text-strong";
544
570
  var ModalTextStyle = "text-body1-regular text-primary";
545
571
  var ColumnText = ({ className, alert = false, children, onClick }) => {
546
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: cn(ColumnTextStyle, alert && "text-danger", className), onClick, children: children ? children : "-" });
572
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: cn(ColumnTextStyle, alert && "text-danger", className), onClick, children: children ? children : "-" });
547
573
  };
548
574
 
549
575
  // src/components/Column/ColumnSubTitle.tsx
550
- var import_jsx_runtime10 = require("react/jsx-runtime");
576
+ var import_jsx_runtime11 = require("react/jsx-runtime");
551
577
  var ColumnSubTitle = ({
552
578
  className,
553
579
  children,
554
580
  action,
555
581
  as: Tag2 = "h2"
556
582
  }) => {
557
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Tag2, { className: cn("flex items-center justify-between gap-1.5", "w-full", className), children: [
558
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: cn("text-body1-medium text-primary"), children }),
559
- action && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { className: "flex shrink-0 items-center", children: action })
583
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Tag2, { className: cn("flex items-center justify-between gap-1.5", "w-full", className), children: [
584
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: cn("text-body1-medium text-primary"), children }),
585
+ action && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "flex shrink-0 items-center", children: action })
560
586
  ] });
561
587
  };
562
588
 
563
589
  // src/components/Column/ColumnDescription.tsx
564
- var import_jsx_runtime11 = require("react/jsx-runtime");
590
+ var import_jsx_runtime12 = require("react/jsx-runtime");
565
591
  var ColumnDescription = ({
566
592
  className,
567
593
  children,
568
594
  bullet = true
569
595
  }) => {
570
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: cn("flex items-start gap-3", className), children: [
571
- bullet && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "flex shrink-0 items-center py-1", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(IconCompass, { className: "size-4" }) }),
572
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "min-w-0 flex-1 whitespace-pre-line text-body3-book text-primary", children })
596
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: cn("flex items-start gap-3", className), children: [
597
+ bullet && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "flex shrink-0 items-center py-1", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(IconCompass, { className: "size-4" }) }),
598
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "min-w-0 flex-1 whitespace-pre-line text-body3-book text-primary", children })
573
599
  ] });
574
600
  };
575
601
  var ColumnDescriptionList = ({ className, children }) => {
576
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: cn("flex flex-col gap-4", className), children });
602
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: cn("flex flex-col gap-4", className), children });
577
603
  };
578
604
 
579
605
  // src/components/Form/BasicFormField.tsx
580
- var import_jsx_runtime12 = require("react/jsx-runtime");
606
+ var import_jsx_runtime13 = require("react/jsx-runtime");
581
607
  var BasicFormField = ({
582
608
  children,
583
609
  isDanger,
584
610
  dangerText,
585
611
  className
586
612
  }) => {
587
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: cn("flex flex-col gap-1.5", className), children: [
613
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: cn("flex flex-col gap-1.5", className), children: [
588
614
  children,
589
- isDanger && dangerText && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-caption-book text-danger", children: dangerText })
615
+ isDanger && dangerText && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "text-caption-book text-danger", children: dangerText })
590
616
  ] });
591
617
  };
592
618
  var getInputStyles = (isDanger, additionalClass) => {
@@ -597,6 +623,9 @@ var getInputStyles = (isDanger, additionalClass) => {
597
623
  "bg-white transition-colors",
598
624
  ColumnTextStyle,
599
625
  "text-primary placeholder:text-quaternary",
626
+ // 비활성(disabled) 상태: 배경/글자를 죽이고 커서 차단
627
+ "disabled:bg-gray00 disabled:text-quaternary disabled:cursor-not-allowed",
628
+ "disabled:placeholder:text-quaternary",
600
629
  isDanger && "border-danger",
601
630
  // 경고 시 빨간 테두리 (#E42939)
602
631
  additionalClass
@@ -605,15 +634,15 @@ var getInputStyles = (isDanger, additionalClass) => {
605
634
  };
606
635
 
607
636
  // src/components/Form/FormText.tsx
608
- var import_jsx_runtime13 = require("react/jsx-runtime");
637
+ var import_jsx_runtime14 = require("react/jsx-runtime");
609
638
  var FormText = ({ className, isDanger, dangerText, ...props }) => {
610
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("input", { type: "text", className: getInputStyles(isDanger, className), ...props }) });
639
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("input", { type: "text", className: getInputStyles(isDanger, className), ...props }) });
611
640
  };
612
641
 
613
642
  // src/components/Form/FormTextArea.tsx
614
- var import_jsx_runtime14 = require("react/jsx-runtime");
643
+ var import_jsx_runtime15 = require("react/jsx-runtime");
615
644
  var FormTextArea = ({ className, isDanger, dangerText, ...props }) => {
616
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
645
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
617
646
  "textarea",
618
647
  {
619
648
  className: getInputStyles(isDanger, "resize-none h-30 px-4 py-2.5 " + (className || "")),
@@ -623,19 +652,19 @@ var FormTextArea = ({ className, isDanger, dangerText, ...props }) => {
623
652
  };
624
653
 
625
654
  // src/components/Form/FormNumber.tsx
626
- var import_jsx_runtime15 = require("react/jsx-runtime");
655
+ var import_jsx_runtime16 = require("react/jsx-runtime");
627
656
  var FormNumber = ({ className, isDanger, dangerText, ...props }) => {
628
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("input", { type: "number", className: getInputStyles(isDanger, className), ...props }) });
657
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("input", { type: "number", className: getInputStyles(isDanger, className), ...props }) });
629
658
  };
630
659
 
631
660
  // src/components/Form/FormPassword.tsx
632
- var import_jsx_runtime16 = require("react/jsx-runtime");
661
+ var import_jsx_runtime17 = require("react/jsx-runtime");
633
662
  var FormPassword = ({ className, isDanger, dangerText, ...props }) => {
634
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("input", { type: "password", className: getInputStyles(isDanger, className), ...props }) });
663
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("input", { type: "password", className: getInputStyles(isDanger, className), ...props }) });
635
664
  };
636
665
 
637
666
  // src/components/Form/FormTel.tsx
638
- var import_jsx_runtime17 = require("react/jsx-runtime");
667
+ var import_jsx_runtime18 = require("react/jsx-runtime");
639
668
  var FormTel = ({ className, isDanger, dangerText, onChange, ...props }) => {
640
669
  const handlePhoneChange = (e) => {
641
670
  const rawValue = e.target.value.replace(/[^0-9]/g, "");
@@ -647,7 +676,7 @@ var FormTel = ({ className, isDanger, dangerText, onChange, ...props }) => {
647
676
  e.target.value = formattedValue;
648
677
  if (onChange) onChange(e);
649
678
  };
650
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
679
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
651
680
  "input",
652
681
  {
653
682
  type: "tel",
@@ -661,7 +690,7 @@ var FormTel = ({ className, isDanger, dangerText, onChange, ...props }) => {
661
690
 
662
691
  // src/components/Form/FormColor.tsx
663
692
  var import_react3 = require("react");
664
- var import_jsx_runtime18 = require("react/jsx-runtime");
693
+ var import_jsx_runtime19 = require("react/jsx-runtime");
665
694
  var FormColor = ({
666
695
  className,
667
696
  isDanger,
@@ -679,7 +708,7 @@ var FormColor = ({
679
708
  setInternalColor(e.target.value);
680
709
  onChange?.(e);
681
710
  };
682
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
711
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
683
712
  "label",
684
713
  {
685
714
  className: getInputStyles(
@@ -688,7 +717,7 @@ var FormColor = ({
688
717
  "flex items-center gap-2 relative focus-within:border-black focus-within:hover:bg-white" + (className || "")
689
718
  ),
690
719
  children: [
691
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-6 h-6 shrink-0 overflow-hidden", style: { backgroundColor: color }, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
720
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "w-6 h-6 shrink-0 overflow-hidden", style: { backgroundColor: color }, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
692
721
  "input",
693
722
  {
694
723
  type: "color",
@@ -698,7 +727,7 @@ var FormColor = ({
698
727
  ...props
699
728
  }
700
729
  ) }),
701
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { className: "text-primary text-body3-regular uppercase flex-1 select-none", children: color })
730
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "text-primary text-body3-regular uppercase flex-1 select-none", children: color })
702
731
  ]
703
732
  }
704
733
  ) });
@@ -706,7 +735,7 @@ var FormColor = ({
706
735
 
707
736
  // src/components/Form/FormFile.tsx
708
737
  var import_react4 = require("react");
709
- var import_jsx_runtime19 = require("react/jsx-runtime");
738
+ var import_jsx_runtime20 = require("react/jsx-runtime");
710
739
  var FormFile = ({
711
740
  className,
712
741
  isDanger,
@@ -767,7 +796,7 @@ var FormFile = ({
767
796
  }
768
797
  };
769
798
  const displayFileName = selectedFile?.name || (fileUrl ? fileUrl.split("/").pop() : null);
770
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
799
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
771
800
  "div",
772
801
  {
773
802
  className: getInputStyles(
@@ -780,7 +809,7 @@ var FormFile = ({
780
809
  )
781
810
  ),
782
811
  children: [
783
- displayFileName && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
812
+ displayFileName && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
784
813
  "span",
785
814
  {
786
815
  onClick: handleDownload,
@@ -789,9 +818,9 @@ var FormFile = ({
789
818
  children: displayFileName
790
819
  }
791
820
  ),
792
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("label", { className: "shrink-0 px-1 -mx-1 cursor-pointer", children: [
793
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "text-primary text-caption-regular underline", children: displayFileName ? "\uB2E4\uC2DC \uCCA8\uBD80" : "\uD30C\uC77C \uCCA8\uBD80" }),
794
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("input", { type: "file", className: "hidden", onChange: handleFileChange, ...props })
821
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("label", { className: "shrink-0 px-1 -mx-1 cursor-pointer", children: [
822
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "text-primary text-caption-regular underline", children: displayFileName ? "\uB2E4\uC2DC \uCCA8\uBD80" : "\uD30C\uC77C \uCCA8\uBD80" }),
823
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("input", { type: "file", className: "hidden", onChange: handleFileChange, ...props })
795
824
  ] })
796
825
  ]
797
826
  }
@@ -799,7 +828,7 @@ var FormFile = ({
799
828
  };
800
829
 
801
830
  // src/components/Form/FormCheckBox.tsx
802
- var import_jsx_runtime20 = require("react/jsx-runtime");
831
+ var import_jsx_runtime21 = require("react/jsx-runtime");
803
832
  var FormCheckBox = ({
804
833
  isChecked,
805
834
  setIsChecked,
@@ -808,7 +837,7 @@ var FormCheckBox = ({
808
837
  textStyle,
809
838
  ...props
810
839
  }) => {
811
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
840
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
812
841
  "label",
813
842
  {
814
843
  className: cn(
@@ -819,7 +848,7 @@ var FormCheckBox = ({
819
848
  className
820
849
  ),
821
850
  children: [
822
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
851
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
823
852
  "input",
824
853
  {
825
854
  type: "checkbox",
@@ -829,14 +858,14 @@ var FormCheckBox = ({
829
858
  ...props
830
859
  }
831
860
  ),
832
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
861
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
833
862
  "div",
834
863
  {
835
864
  className: cn(
836
865
  "flex items-center justify-center w-5 h-5 shrink-0 rounded transition-colors",
837
866
  "group-hover:bg-gray00 group-active:bg-gray01"
838
867
  ),
839
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
868
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
840
869
  "div",
841
870
  {
842
871
  className: cn(
@@ -846,12 +875,12 @@ var FormCheckBox = ({
846
875
  // 💡 3. 키보드 Tab 이동 시 접근성 향상 (포커스 링 표시)
847
876
  "peer-focus-visible:ring-2 peer-focus-visible:ring-black peer-focus-visible:ring-offset-1"
848
877
  ),
849
- children: isChecked && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(IconCheck, {})
878
+ children: isChecked && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(IconCheck, {})
850
879
  }
851
880
  )
852
881
  }
853
882
  ),
854
- children && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: cn("text-body3-book text-primary", textStyle), children })
883
+ children && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: cn("text-body3-book text-primary", textStyle), children })
855
884
  ]
856
885
  }
857
886
  );
@@ -861,14 +890,14 @@ var FormCheckBox = ({
861
890
  var import_react5 = require("react");
862
891
 
863
892
  // src/components/Form/SelectBoxOption.tsx
864
- var import_jsx_runtime21 = require("react/jsx-runtime");
893
+ var import_jsx_runtime22 = require("react/jsx-runtime");
865
894
  var SelectBoxOption = ({
866
895
  label,
867
896
  onClick,
868
897
  // selectedLabel,
869
898
  className
870
899
  }) => {
871
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
900
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
872
901
  "li",
873
902
  {
874
903
  onClick,
@@ -890,7 +919,7 @@ var SelectBoxOption = ({
890
919
  };
891
920
 
892
921
  // src/components/Form/FormSelectBox.tsx
893
- var import_jsx_runtime22 = require("react/jsx-runtime");
922
+ var import_jsx_runtime23 = require("react/jsx-runtime");
894
923
  var FormSelectBox = ({
895
924
  options,
896
925
  value,
@@ -913,8 +942,8 @@ var FormSelectBox = ({
913
942
  document.removeEventListener("mousedown", handleClickOutside);
914
943
  };
915
944
  }, []);
916
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { ref: containerRef, className: "relative w-full", children: [
917
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
945
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(BasicFormField, { isDanger, dangerText, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { ref: containerRef, className: "relative w-full", children: [
946
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
918
947
  "div",
919
948
  {
920
949
  tabIndex: 0,
@@ -934,8 +963,8 @@ var FormSelectBox = ({
934
963
  setIsOpen((prev) => !prev);
935
964
  },
936
965
  children: [
937
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: value ? "text-primary" : "text-quaternary", children: value || placeholder }),
938
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
966
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: value ? "text-primary" : "text-quaternary", children: value || placeholder }),
967
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
939
968
  IconChevronDownXS,
940
969
  {
941
970
  className: cn("text-gray06 transition-transform", isOpen && "rotate-180"),
@@ -945,7 +974,7 @@ var FormSelectBox = ({
945
974
  ]
946
975
  }
947
976
  ),
948
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
977
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
949
978
  "ul",
950
979
  {
951
980
  className: cn(
@@ -955,7 +984,7 @@ var FormSelectBox = ({
955
984
  "max-h-50 overflow-y-auto"
956
985
  // 항목이 너무 많으면 스크롤 생성 (디자인 스펙: 그림자 없음)
957
986
  ),
958
- children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
987
+ children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
959
988
  SelectBoxOption,
960
989
  {
961
990
  label: option,
@@ -972,7 +1001,7 @@ var FormSelectBox = ({
972
1001
  };
973
1002
 
974
1003
  // src/components/TextButton/TextButton.tsx
975
- var import_jsx_runtime23 = require("react/jsx-runtime");
1004
+ var import_jsx_runtime24 = require("react/jsx-runtime");
976
1005
  var TextButton = ({
977
1006
  children,
978
1007
  icon,
@@ -982,10 +1011,10 @@ var TextButton = ({
982
1011
  className,
983
1012
  ...props
984
1013
  }) => {
985
- const content = /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment, { children: [
986
- icon && iconPosition === "left" && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "flex shrink-0 items-center", children: icon }),
987
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: cn(underline && "underline underline-offset-2"), children }),
988
- icon && iconPosition === "right" && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "flex shrink-0 items-center", children: icon })
1014
+ const content = /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_jsx_runtime24.Fragment, { children: [
1015
+ icon && iconPosition === "left" && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "flex shrink-0 items-center", children: icon }),
1016
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: cn(underline && "underline underline-offset-2"), children }),
1017
+ icon && iconPosition === "right" && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "flex shrink-0 items-center", children: icon })
989
1018
  ] });
990
1019
  const classes = cn(
991
1020
  "inline-flex w-fit items-center gap-1 px-1 -mx-1",
@@ -1000,15 +1029,15 @@ var TextButton = ({
1000
1029
  );
1001
1030
  if (props.href !== void 0) {
1002
1031
  const { href, ...rest } = props;
1003
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("a", { href, className: classes, ...rest, children: content });
1032
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("a", { href, className: classes, ...rest, children: content });
1004
1033
  }
1005
1034
  const buttonProps = props;
1006
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("button", { type: "button", className: classes, ...buttonProps, children: content });
1035
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("button", { type: "button", className: classes, ...buttonProps, children: content });
1007
1036
  };
1008
1037
 
1009
1038
  // src/components/Dropdown/Dropdown.tsx
1010
1039
  var import_react6 = require("react");
1011
- var import_jsx_runtime24 = require("react/jsx-runtime");
1040
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1012
1041
  var Dropdown = ({ selectedLabel, setSelectedLabel, labels, className }) => {
1013
1042
  const [isOpen, setIsOpen] = (0, import_react6.useState)(false);
1014
1043
  const containerRef = (0, import_react6.useRef)(null);
@@ -1023,8 +1052,8 @@ var Dropdown = ({ selectedLabel, setSelectedLabel, labels, className }) => {
1023
1052
  document.removeEventListener("mousedown", handleClickOutside);
1024
1053
  };
1025
1054
  }, []);
1026
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { ref: containerRef, className: "relative", children: [
1027
- /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1055
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { ref: containerRef, className: "relative", children: [
1056
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1028
1057
  "div",
1029
1058
  {
1030
1059
  className: cn(
@@ -1037,8 +1066,8 @@ var Dropdown = ({ selectedLabel, setSelectedLabel, labels, className }) => {
1037
1066
  ),
1038
1067
  onClick: () => setIsOpen((prev) => !prev),
1039
1068
  children: [
1040
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { children: selectedLabel }),
1041
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1069
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("p", { children: selectedLabel }),
1070
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1042
1071
  IconChevronDownXS,
1043
1072
  {
1044
1073
  className: cn("text-gray06 transition-transform", isOpen && "rotate-180"),
@@ -1048,7 +1077,7 @@ var Dropdown = ({ selectedLabel, setSelectedLabel, labels, className }) => {
1048
1077
  ]
1049
1078
  }
1050
1079
  ),
1051
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: cn("absolute top-full right-0 z-10", "box-border border border-gray02"), children: labels.map((label) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1080
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: cn("absolute top-full right-0 z-10", "box-border border border-gray02"), children: labels.map((label) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1052
1081
  SelectBoxOption,
1053
1082
  {
1054
1083
  label,
@@ -1064,7 +1093,7 @@ var Dropdown = ({ selectedLabel, setSelectedLabel, labels, className }) => {
1064
1093
  };
1065
1094
 
1066
1095
  // src/components/ListView/List.tsx
1067
- var import_jsx_runtime25 = require("react/jsx-runtime");
1096
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1068
1097
  function List({
1069
1098
  className,
1070
1099
  label1,
@@ -1077,7 +1106,7 @@ function List({
1077
1106
  children,
1078
1107
  ...props
1079
1108
  }) {
1080
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1109
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
1081
1110
  "li",
1082
1111
  {
1083
1112
  className: cn(
@@ -1092,15 +1121,15 @@ function List({
1092
1121
  ...props,
1093
1122
  onClick,
1094
1123
  children: [
1095
- /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("section", { className: cn("flex items-center gap-4"), children: [
1096
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("label", { className: cn("text-body2-regular"), children: label1 ? label1 : "-" }),
1097
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: cn("flex items-center gap-2"), children })
1124
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("section", { className: cn("flex items-center gap-4"), children: [
1125
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("label", { className: cn("text-body2-regular"), children: label1 ? label1 : "-" }),
1126
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: cn("flex items-center gap-2"), children })
1098
1127
  ] }),
1099
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1128
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1100
1129
  "label",
1101
1130
  {
1102
1131
  className: cn(
1103
- "text-body3-book truncate p-1 w-fit",
1132
+ "text-body3-book truncate p-1 w-fit max-w-full",
1104
1133
  label2OnClick && "underline has-clickable",
1105
1134
  label2OnClick && !selected && "hover:bg-gray00"
1106
1135
  ),
@@ -1108,18 +1137,18 @@ function List({
1108
1137
  children: label2 ? label2 : "-"
1109
1138
  }
1110
1139
  ),
1111
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("label", { className: cn("text-body3-regular text-right"), children: label3 ? label3 : "-" })
1140
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("label", { className: cn("text-body3-regular text-right"), children: label3 ? label3 : "-" })
1112
1141
  ]
1113
1142
  }
1114
1143
  );
1115
1144
  }
1116
1145
 
1117
1146
  // src/components/Modal/Modal.tsx
1118
- var import_jsx_runtime26 = require("react/jsx-runtime");
1147
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1119
1148
  var ModalBase = ({ isVisible, header, children, className, onClose }) => {
1120
1149
  if (!isVisible) return null;
1121
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: cn("fixed inset-0 z-50"), children: [
1122
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1150
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: cn("fixed inset-0 z-50"), children: [
1151
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1123
1152
  "div",
1124
1153
  {
1125
1154
  "aria-hidden": true,
@@ -1127,7 +1156,7 @@ var ModalBase = ({ isVisible, header, children, className, onClose }) => {
1127
1156
  className: cn("fixed inset-0 z-1000 bg-[#212121]/30", onClose && "cursor-pointer")
1128
1157
  }
1129
1158
  ),
1130
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "fixed inset-0 z-1001 flex items-center justify-center pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
1159
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "fixed inset-0 z-1001 flex items-center justify-center pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
1131
1160
  "main",
1132
1161
  {
1133
1162
  role: "dialog",
@@ -1140,7 +1169,7 @@ var ModalBase = ({ isVisible, header, children, className, onClose }) => {
1140
1169
  className
1141
1170
  ),
1142
1171
  children: [
1143
- onClose && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1172
+ onClose && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1144
1173
  "button",
1145
1174
  {
1146
1175
  type: "button",
@@ -1150,10 +1179,10 @@ var ModalBase = ({ isVisible, header, children, className, onClose }) => {
1150
1179
  "absolute right-3 top-3 flex size-8 items-center justify-center",
1151
1180
  "text-tertiary transition-colors hover:bg-gray00 active:bg-gray01 cursor-pointer"
1152
1181
  ),
1153
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(IconClose, {})
1182
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconClose, {})
1154
1183
  }
1155
1184
  ),
1156
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("h1", { className: cn("text-strong font-[500] text-[24px] leading-[32px]"), children: header }),
1185
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("h1", { className: cn("text-head-lg-medium text-strong"), children: header }),
1157
1186
  children
1158
1187
  ]
1159
1188
  }
@@ -1161,7 +1190,7 @@ var ModalBase = ({ isVisible, header, children, className, onClose }) => {
1161
1190
  ] });
1162
1191
  };
1163
1192
  var Contents = ({ children, className }) => {
1164
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1193
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1165
1194
  "div",
1166
1195
  {
1167
1196
  className: cn(
@@ -1178,7 +1207,7 @@ var CTAs2 = ({ children, className, row = false }) => {
1178
1207
  if (!children) return null;
1179
1208
  return (
1180
1209
  // CTA 버튼들을 중앙에 배치하는 예시 (우측 정렬이 필요하면 justify-end 사용)
1181
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1210
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1182
1211
  "div",
1183
1212
  {
1184
1213
  className: cn(
@@ -1197,9 +1226,9 @@ var Modal = Object.assign(ModalBase, {
1197
1226
  });
1198
1227
 
1199
1228
  // src/components/Modal/ModalText.tsx
1200
- var import_jsx_runtime27 = require("react/jsx-runtime");
1229
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1201
1230
  var ModalText = ({ children, className }) => {
1202
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1231
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1203
1232
  "div",
1204
1233
  {
1205
1234
  className: cn(
@@ -1215,14 +1244,14 @@ var ModalText = ({ children, className }) => {
1215
1244
  };
1216
1245
 
1217
1246
  // src/components/createPost/CategorySegment.tsx
1218
- var import_jsx_runtime28 = require("react/jsx-runtime");
1247
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1219
1248
  var CategorySegment = ({
1220
1249
  selected = false,
1221
1250
  label,
1222
1251
  className,
1223
1252
  onClick
1224
1253
  }) => {
1225
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1254
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1226
1255
  "div",
1227
1256
  {
1228
1257
  className: cn(
@@ -1242,7 +1271,7 @@ var CategorySegment = ({
1242
1271
  };
1243
1272
 
1244
1273
  // src/components/createPost/CategorySegmentedControl.tsx
1245
- var import_jsx_runtime29 = require("react/jsx-runtime");
1274
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1246
1275
  var categorySegments = {
1247
1276
  info: ["\uACF5\uC6A9 \uBB3C\uD488", "\uC77C\uBC18 \uAE30\uC790\uC7AC", "\uD2B9\uC218 \uAE30\uC790\uC7AC"],
1248
1277
  archive: ["\uD504\uB9B0\uD2B8\uC2E4", "\uD64D\uC775\uC2DC\uB514"],
@@ -1256,8 +1285,8 @@ var CategorySegmentedControl = ({
1256
1285
  className
1257
1286
  }) => {
1258
1287
  const segments = categorySegments[variable];
1259
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: cn("w-full h-fit flex items-center justify-start", className), children: [
1260
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1288
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: cn("w-full h-fit flex items-center justify-start", className), children: [
1289
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1261
1290
  "div",
1262
1291
  {
1263
1292
  className: cn(
@@ -1270,7 +1299,7 @@ var CategorySegmentedControl = ({
1270
1299
  children: variable === "infoTag" ? "\uD0DC\uADF8 \uC120\uD0DD" : "\uCE74\uD14C\uACE0\uB9AC \uC120\uD0DD"
1271
1300
  }
1272
1301
  ),
1273
- segments.map((label) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1302
+ segments.map((label) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1274
1303
  CategorySegment,
1275
1304
  {
1276
1305
  label,
@@ -1283,9 +1312,9 @@ var CategorySegmentedControl = ({
1283
1312
  };
1284
1313
 
1285
1314
  // src/components/createPost/TitleInput.tsx
1286
- var import_jsx_runtime30 = require("react/jsx-runtime");
1315
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1287
1316
  var TitleInput = ({ title, onChange, className }) => {
1288
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1317
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1289
1318
  "input",
1290
1319
  {
1291
1320
  type: "text",
@@ -1305,9 +1334,9 @@ var TitleInput = ({ title, onChange, className }) => {
1305
1334
  };
1306
1335
 
1307
1336
  // src/components/notice/NoticeBadge.tsx
1308
- var import_jsx_runtime31 = require("react/jsx-runtime");
1337
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1309
1338
  var NoticeBadge = ({ variable, className, onClick }) => {
1310
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1339
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1311
1340
  "button",
1312
1341
  {
1313
1342
  type: "button",
@@ -1328,7 +1357,7 @@ var NoticeBadge = ({ variable, className, onClick }) => {
1328
1357
  };
1329
1358
 
1330
1359
  // src/components/notice/NoticeBar.tsx
1331
- var import_jsx_runtime32 = require("react/jsx-runtime");
1360
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1332
1361
  var NoticeBar = ({
1333
1362
  variable = "default",
1334
1363
  badgeVariable,
@@ -1337,7 +1366,7 @@ var NoticeBar = ({
1337
1366
  className,
1338
1367
  onClick
1339
1368
  }) => {
1340
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
1369
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
1341
1370
  "div",
1342
1371
  {
1343
1372
  className: cn(
@@ -1349,20 +1378,20 @@ var NoticeBar = ({
1349
1378
  ),
1350
1379
  onClick,
1351
1380
  children: [
1352
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("section", { className: "flex items-center gap-3", children: [
1353
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(NoticeBadge, { variable: badgeVariable }),
1354
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("h1", { className: "text-head1-medium text-strong", children: title })
1381
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("section", { className: "flex items-center gap-3", children: [
1382
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(NoticeBadge, { variable: badgeVariable }),
1383
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("h1", { className: "text-head1-medium text-strong", children: title })
1355
1384
  ] }),
1356
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-body3-book text-tertiary", children: date })
1385
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-body3-book text-tertiary", children: date })
1357
1386
  ]
1358
1387
  }
1359
1388
  );
1360
1389
  };
1361
1390
 
1362
1391
  // src/components/SearchBar/SearchBar.tsx
1363
- var import_jsx_runtime33 = require("react/jsx-runtime");
1392
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1364
1393
  var SearchBar = ({ value, onChange, className }) => {
1365
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
1394
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
1366
1395
  "label",
1367
1396
  {
1368
1397
  className: cn(
@@ -1373,8 +1402,8 @@ var SearchBar = ({ value, onChange, className }) => {
1373
1402
  className
1374
1403
  ),
1375
1404
  children: [
1376
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(IconSearch, {}),
1377
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1405
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(IconSearch, {}),
1406
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1378
1407
  "input",
1379
1408
  {
1380
1409
  type: "text",
@@ -1394,7 +1423,7 @@ var SearchBar = ({ value, onChange, className }) => {
1394
1423
 
1395
1424
  // src/components/SideRadioAccordion/SideRadioAccordion.tsx
1396
1425
  var import_react7 = require("react");
1397
- var import_jsx_runtime34 = require("react/jsx-runtime");
1426
+ var import_jsx_runtime35 = require("react/jsx-runtime");
1398
1427
  var printColorBgClass = {
1399
1428
  Plotter: "bg-print-plotter",
1400
1429
  Printer: "bg-print-printer",
@@ -1438,8 +1467,8 @@ var SideRadioAccordion = (0, import_react7.forwardRef)(
1438
1467
  setIsOpen(next);
1439
1468
  onOpenChange?.(next);
1440
1469
  };
1441
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { ref, className: cn("w-full border-r border-gray02 bg-white", className), children: [
1442
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1470
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { ref, className: cn("w-full border-r border-gray02 bg-white", className), children: [
1471
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1443
1472
  Stepper,
1444
1473
  {
1445
1474
  step,
@@ -1450,8 +1479,8 @@ var SideRadioAccordion = (0, import_react7.forwardRef)(
1450
1479
  className: cn(stickyHeader && "sticky top-0 z-10")
1451
1480
  }
1452
1481
  ),
1453
- expanded && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-col divide-y divide-gray02", children: [
1454
- radioToggleList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1482
+ expanded && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-col divide-y divide-gray02", children: [
1483
+ radioToggleList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1455
1484
  RadioToggleItem,
1456
1485
  {
1457
1486
  ...item,
@@ -1460,22 +1489,22 @@ var SideRadioAccordion = (0, import_react7.forwardRef)(
1460
1489
  },
1461
1490
  itemKey(item)
1462
1491
  )),
1463
- quantityLimitLabel && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "px-5 py-4", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(TextButton2, { label: quantityLimitLabel, onClick: onClickQuantityLimit }) })
1492
+ quantityLimitLabel && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "px-5 py-4", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(TextButton2, { label: quantityLimitLabel, onClick: onClickQuantityLimit }) })
1464
1493
  ] })
1465
1494
  ] });
1466
1495
  }
1467
1496
  );
1468
1497
  var Stepper = ({ step, title, isOpen, collapsible, onClick, className }) => {
1469
- const label = /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { children: [
1498
+ const label = /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("span", { children: [
1470
1499
  step,
1471
1500
  " | ",
1472
1501
  title
1473
1502
  ] });
1474
1503
  const base = "w-full flex items-center justify-between px-5 py-2.5 text-head3-medium text-primary text-left bg-white border-b border-gray02";
1475
1504
  if (!collapsible) {
1476
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: cn(base, className), children: label });
1505
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: cn(base, className), children: label });
1477
1506
  }
1478
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
1507
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
1479
1508
  "button",
1480
1509
  {
1481
1510
  type: "button",
@@ -1483,7 +1512,7 @@ var Stepper = ({ step, title, isOpen, collapsible, onClick, className }) => {
1483
1512
  className: cn(base, "cursor-pointer hover:bg-gray00 active:bg-gray01", className),
1484
1513
  children: [
1485
1514
  label,
1486
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(IconChevronDownXS, { className: cn("transition-transform", isOpen && "rotate-180") })
1515
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(IconChevronDownXS, { className: cn("transition-transform", isOpen && "rotate-180") })
1487
1516
  ]
1488
1517
  }
1489
1518
  );
@@ -1503,8 +1532,8 @@ var RadioToggleItem = ({
1503
1532
  }) => {
1504
1533
  const rowBg = !open ? "bg-white hover:bg-gray00" : color ? void 0 : printColor ? printColorBgClass[printColor] : "bg-gray00";
1505
1534
  const style = open && color ? { backgroundColor: color } : void 0;
1506
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "w-full", children: [
1507
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
1535
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "w-full", children: [
1536
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
1508
1537
  "button",
1509
1538
  {
1510
1539
  type: "button",
@@ -1518,15 +1547,15 @@ var RadioToggleItem = ({
1518
1547
  className
1519
1548
  ),
1520
1549
  children: [
1521
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Radio, { selected: open }),
1522
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { children: title })
1550
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Radio, { selected: open }),
1551
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { children: title })
1523
1552
  ]
1524
1553
  }
1525
1554
  ),
1526
- open && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-col gap-2 px-3 py-3 bg-white", children: [
1527
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "text-caption-regular text-secondary", children: content }),
1528
- badges && badges.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "flex flex-wrap gap-1", children: badges.map((badge) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Badge, { label: badge }, badge)) }),
1529
- labelTextButton && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1555
+ open && /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-col gap-2 px-3 py-3 bg-white", children: [
1556
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-caption-regular text-secondary", children: content }),
1557
+ badges && badges.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex flex-wrap gap-1", children: badges.map((badge) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Badge2, { label: badge }, badge)) }),
1558
+ labelTextButton && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1530
1559
  TextButton2,
1531
1560
  {
1532
1561
  label: labelTextButton,
@@ -1544,7 +1573,7 @@ var Radio = ({ selected = false, className }) => {
1544
1573
  // 디자인 스펙(Figma "radio" 5:781): 24px 히트 영역 안에 10px 원만 중앙에 그려진다.
1545
1574
  // 아이콘 자체 색은 고정, hover/pressed 시 24px 원형 배경 칩만 나타난다(gray00/gray01).
1546
1575
  // 부모 버튼의 group-hover/active로 동기화.
1547
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1576
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1548
1577
  "span",
1549
1578
  {
1550
1579
  className: cn(
@@ -1552,13 +1581,13 @@ var Radio = ({ selected = false, className }) => {
1552
1581
  "group-hover:bg-gray00 group-active:bg-gray01",
1553
1582
  className
1554
1583
  ),
1555
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Icon, { className: "size-2.5" })
1584
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon, { className: "size-2.5" })
1556
1585
  }
1557
1586
  )
1558
1587
  );
1559
1588
  };
1560
1589
  var TextButton2 = ({ label, onClick, showIcon = false, className }) => {
1561
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
1590
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
1562
1591
  "button",
1563
1592
  {
1564
1593
  type: "button",
@@ -1571,14 +1600,14 @@ var TextButton2 = ({ label, onClick, showIcon = false, className }) => {
1571
1600
  className
1572
1601
  ),
1573
1602
  children: [
1574
- showIcon && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(IconExclamation, {}),
1603
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(IconExclamation, {}),
1575
1604
  label
1576
1605
  ]
1577
1606
  }
1578
1607
  );
1579
1608
  };
1580
- var Badge = ({ label, className }) => {
1581
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
1609
+ var Badge2 = ({ label, className }) => {
1610
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1582
1611
  "div",
1583
1612
  {
1584
1613
  className: cn(
@@ -1592,7 +1621,7 @@ var Badge = ({ label, className }) => {
1592
1621
  };
1593
1622
 
1594
1623
  // src/components/Tag/Tag.tsx
1595
- var import_jsx_runtime35 = require("react/jsx-runtime");
1624
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1596
1625
  var Tag = ({
1597
1626
  className,
1598
1627
  children,
@@ -1602,7 +1631,7 @@ var Tag = ({
1602
1631
  onClick,
1603
1632
  ...props
1604
1633
  }) => {
1605
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
1634
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1606
1635
  "button",
1607
1636
  {
1608
1637
  className: cn(
@@ -1621,25 +1650,25 @@ var Tag = ({
1621
1650
  disabled,
1622
1651
  style: bgColor ? { backgroundColor: bgColor, border: "none" } : void 0,
1623
1652
  ...props,
1624
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { children })
1653
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { children })
1625
1654
  }
1626
1655
  );
1627
1656
  };
1628
1657
 
1629
1658
  // src/components/TabSwitch/TabSwitch.tsx
1630
1659
  var import_react8 = require("react");
1631
- var import_jsx_runtime36 = require("react/jsx-runtime");
1660
+ var import_jsx_runtime37 = require("react/jsx-runtime");
1632
1661
  var itemKey2 = (item) => item.value ?? item.label;
1633
1662
  var TabSwitch = (0, import_react8.forwardRef)(function TabSwitch2({ items, selected, defaultSelected, onSelect, className }, ref) {
1634
1663
  const [selectedValue, setSelectedValue] = useControllableState(
1635
1664
  selected,
1636
1665
  defaultSelected ?? itemKey2(items[0])
1637
1666
  );
1638
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { ref, className: cn("w-full border-b border-gray02", className), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "flex items-stretch", children: items.map((item) => {
1667
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { ref, className: cn("w-full border-b border-gray02", className), children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex items-stretch", children: items.map((item) => {
1639
1668
  const key = itemKey2(item);
1640
1669
  const isSelected = key === selectedValue;
1641
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex items-stretch", children: [
1642
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
1670
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-stretch", children: [
1671
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
1643
1672
  "button",
1644
1673
  {
1645
1674
  type: "button",
@@ -1652,7 +1681,7 @@ var TabSwitch = (0, import_react8.forwardRef)(function TabSwitch2({ items, selec
1652
1681
  isSelected ? "gap-2" : "pb-2.5"
1653
1682
  ),
1654
1683
  children: [
1655
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1684
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1656
1685
  "span",
1657
1686
  {
1658
1687
  className: cn(
@@ -1662,11 +1691,11 @@ var TabSwitch = (0, import_react8.forwardRef)(function TabSwitch2({ items, selec
1662
1691
  children: item.label
1663
1692
  }
1664
1693
  ),
1665
- isSelected && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "h-0.5 w-full bg-black" })
1694
+ isSelected && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "h-0.5 w-full bg-black" })
1666
1695
  ]
1667
1696
  }
1668
1697
  ),
1669
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" })
1698
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" })
1670
1699
  ] }, key);
1671
1700
  }) }) });
1672
1701
  });
@@ -1708,7 +1737,7 @@ var formatWeekRange = (weekStart) => {
1708
1737
  };
1709
1738
 
1710
1739
  // src/components/Timetable/WeekNavigation.tsx
1711
- var import_jsx_runtime37 = require("react/jsx-runtime");
1740
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1712
1741
  var weekLabel = {
1713
1742
  thisWeek: "\uC774\uBC88 \uC8FC",
1714
1743
  nextWeek: "\uB2E4\uC74C \uC8FC",
@@ -1719,7 +1748,7 @@ var WeekNavigation = (0, import_react9.forwardRef)(
1719
1748
  const showPrev = canPrev ?? (week ? week !== "thisWeek" : true);
1720
1749
  const showNext = canNext ?? (week ? week !== "twoWeeksLater" : true);
1721
1750
  const text = label ?? (week ? `${weekLabel[week]} (${formatWeekRange(date)})` : formatWeekRange(date));
1722
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
1751
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
1723
1752
  "div",
1724
1753
  {
1725
1754
  ref,
@@ -1731,22 +1760,22 @@ var WeekNavigation = (0, import_react9.forwardRef)(
1731
1760
  className
1732
1761
  ),
1733
1762
  children: [
1734
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ArrowButton, { direction: "left", visible: showPrev, onClick: onPrevWeek }),
1735
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "flex flex-1 items-center justify-center text-center", children: text }),
1736
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ArrowButton, { direction: "right", visible: showNext, onClick: onNextWeek })
1763
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ArrowButton, { direction: "left", visible: showPrev, onClick: onPrevWeek }),
1764
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "flex flex-1 items-center justify-center text-center", children: text }),
1765
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ArrowButton, { direction: "right", visible: showNext, onClick: onNextWeek })
1737
1766
  ]
1738
1767
  }
1739
1768
  );
1740
1769
  }
1741
1770
  );
1742
1771
  var ArrowButton = ({ direction, visible, onClick }) => {
1743
- const divider = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" });
1772
+ const divider = /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" });
1744
1773
  if (!visible) {
1745
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { "aria-hidden": true, className: "w-[43px]" });
1774
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { "aria-hidden": true, className: "w-[43px]" });
1746
1775
  }
1747
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-stretch", children: [
1776
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex items-stretch", children: [
1748
1777
  direction === "right" && divider,
1749
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1778
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1750
1779
  "button",
1751
1780
  {
1752
1781
  type: "button",
@@ -1756,7 +1785,7 @@ var ArrowButton = ({ direction, visible, onClick }) => {
1756
1785
  "text-gray06 cursor-pointer transition-colors",
1757
1786
  "hover:bg-gray00 active:bg-gray01"
1758
1787
  ),
1759
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1788
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1760
1789
  IconChevronDownXS,
1761
1790
  {
1762
1791
  className: direction === "left" ? "rotate-90" : "-rotate-90",
@@ -1770,7 +1799,7 @@ var ArrowButton = ({ direction, visible, onClick }) => {
1770
1799
  };
1771
1800
 
1772
1801
  // src/components/Timetable/Timetable.tsx
1773
- var import_jsx_runtime38 = require("react/jsx-runtime");
1802
+ var import_jsx_runtime39 = require("react/jsx-runtime");
1774
1803
  var printColorHoverClass = {
1775
1804
  Plotter: "hover:bg-print-plotter",
1776
1805
  Printer: "hover:bg-print-printer",
@@ -1793,8 +1822,8 @@ var Timetable = (0, import_react10.forwardRef)(function Timetable2({
1793
1822
  canNextWeek,
1794
1823
  className
1795
1824
  }, ref) {
1796
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { ref, className: cn(fluid && "w-full", className), children: [
1797
- !hideWeekNavigation && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1825
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { ref, className: cn(fluid && "w-full", className), children: [
1826
+ !hideWeekNavigation && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1798
1827
  WeekNavigation,
1799
1828
  {
1800
1829
  date: weekStart,
@@ -1805,7 +1834,7 @@ var Timetable = (0, import_react10.forwardRef)(function Timetable2({
1805
1834
  onNextWeek
1806
1835
  }
1807
1836
  ),
1808
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: cn("flex divide-x divide-gray02", fluid && "w-full"), children: days.map((day) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1837
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: cn("flex divide-x divide-gray02", fluid && "w-full"), children: days.map((day) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1809
1838
  DailyTimetable,
1810
1839
  {
1811
1840
  date: day.date,
@@ -1818,12 +1847,12 @@ var Timetable = (0, import_react10.forwardRef)(function Timetable2({
1818
1847
  ] });
1819
1848
  });
1820
1849
  var DailyTimetable = ({ date, slots, fluid, onSelectTime, className }) => {
1821
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: cn("flex flex-col", fluid ? "flex-1 min-w-0" : "w-18", className), children: [
1822
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "h-12 flex items-center justify-center border-b border-gray02 text-body1-regular text-secondary", children: formatDayLabel(date) }),
1850
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: cn("flex flex-col", fluid ? "flex-1 min-w-0" : "w-18", className), children: [
1851
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "h-12 flex items-center justify-center border-b border-gray02 text-body1-regular text-secondary", children: formatDayLabel(date) }),
1823
1852
  slots.map((slot, index) => {
1824
1853
  const prevState = index > 0 ? slots[index - 1].state : void 0;
1825
1854
  const withTopBorder = slot.state !== "none" && prevState === "none";
1826
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1855
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1827
1856
  TimeItem,
1828
1857
  {
1829
1858
  state: slot.state,
@@ -1852,7 +1881,7 @@ var TimeItem = ({
1852
1881
  }) => {
1853
1882
  const clickable = (state === "default" || state === "selected") && !!onClick;
1854
1883
  const style = state === "default" && color ? { "--tt-hover": color } : void 0;
1855
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1884
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1856
1885
  "div",
1857
1886
  {
1858
1887
  onClick: clickable ? onClick : void 0,
@@ -1879,7 +1908,7 @@ var TimeItem = ({
1879
1908
 
1880
1909
  // src/components/TNB/TNB.tsx
1881
1910
  var import_react11 = require("react");
1882
- var import_jsx_runtime39 = require("react/jsx-runtime");
1911
+ var import_jsx_runtime40 = require("react/jsx-runtime");
1883
1912
  function useControllableState2(controlled, defaultValue) {
1884
1913
  const isControlled = controlled !== void 0;
1885
1914
  const [uncontrolled, setUncontrolled] = (0, import_react11.useState)(defaultValue);
@@ -1931,8 +1960,8 @@ var TNB = (0, import_react11.forwardRef)(function TNB2({
1931
1960
  setLowerValue(label);
1932
1961
  onSelectedLowerChange?.(label);
1933
1962
  };
1934
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("nav", { ref, "aria-label": ariaLabel, className: cn("w-full bg-white", className), children: [
1935
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1963
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("nav", { ref, "aria-label": ariaLabel, className: cn("w-full bg-white", className), children: [
1964
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1936
1965
  UpperPart,
1937
1966
  {
1938
1967
  logo,
@@ -1943,7 +1972,7 @@ var TNB = (0, import_react11.forwardRef)(function TNB2({
1943
1972
  linkComponent
1944
1973
  }
1945
1974
  ),
1946
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1975
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1947
1976
  LowerPart,
1948
1977
  {
1949
1978
  lowerPartItemList: currentLowerItemList,
@@ -1958,7 +1987,7 @@ var NavClickable = (0, import_react11.forwardRef)(function NavClickable2({ href,
1958
1987
  const ariaCurrent = current ? "page" : void 0;
1959
1988
  if (href && !disabled) {
1960
1989
  if (Link) {
1961
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1990
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1962
1991
  Link,
1963
1992
  {
1964
1993
  href,
@@ -1970,7 +1999,7 @@ var NavClickable = (0, import_react11.forwardRef)(function NavClickable2({ href,
1970
1999
  }
1971
2000
  );
1972
2001
  }
1973
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2002
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1974
2003
  "a",
1975
2004
  {
1976
2005
  href,
@@ -1982,7 +2011,7 @@ var NavClickable = (0, import_react11.forwardRef)(function NavClickable2({ href,
1982
2011
  }
1983
2012
  );
1984
2013
  }
1985
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2014
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1986
2015
  "button",
1987
2016
  {
1988
2017
  type: "button",
@@ -2004,7 +2033,7 @@ var UpperPart = ({
2004
2033
  linkComponent,
2005
2034
  className
2006
2035
  }) => {
2007
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2036
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
2008
2037
  "div",
2009
2038
  {
2010
2039
  className: cn(
@@ -2012,12 +2041,12 @@ var UpperPart = ({
2012
2041
  className
2013
2042
  ),
2014
2043
  children: [
2015
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex items-stretch", children: [
2016
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex w-14 shrink-0 items-center justify-center px-3", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(NavIconButton, { ...logo, linkComponent }) }),
2017
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex items-stretch", children: [
2018
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" }),
2019
- upperPartItemList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react11.Fragment, { children: [
2020
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2044
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex items-stretch", children: [
2045
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex w-14 shrink-0 items-center justify-center px-3", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(NavIconButton, { ...logo, linkComponent }) }),
2046
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex items-stretch", children: [
2047
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" }),
2048
+ upperPartItemList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_react11.Fragment, { children: [
2049
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2021
2050
  UpperPartTab,
2022
2051
  {
2023
2052
  label: item.label,
@@ -2030,15 +2059,15 @@ var UpperPart = ({
2030
2059
  }
2031
2060
  }
2032
2061
  ),
2033
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" })
2062
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" })
2034
2063
  ] }, item.id ?? item.label))
2035
2064
  ] })
2036
2065
  ] }),
2037
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex items-stretch", children: [
2038
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" }),
2039
- upperPartIconList.map((icon, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react11.Fragment, { children: [
2040
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(NavIconButton, { ...icon, linkComponent }),
2041
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" })
2066
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex items-stretch", children: [
2067
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" }),
2068
+ upperPartIconList.map((icon, index) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_react11.Fragment, { children: [
2069
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(NavIconButton, { ...icon, linkComponent }),
2070
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" })
2042
2071
  ] }, icon.id ?? icon.src ?? icon.label ?? index))
2043
2072
  ] })
2044
2073
  ]
@@ -2053,7 +2082,7 @@ var UpperPartTab = ({
2053
2082
  linkComponent,
2054
2083
  className
2055
2084
  }) => {
2056
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2085
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
2057
2086
  NavClickable,
2058
2087
  {
2059
2088
  href,
@@ -2068,8 +2097,8 @@ var UpperPartTab = ({
2068
2097
  className
2069
2098
  ),
2070
2099
  children: [
2071
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: cn("px-5 text-head1-medium", selected ? "text-strong" : "text-quaternary"), children: label }),
2072
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: cn("h-0.5 w-full", selected ? "bg-black" : "bg-transparent") })
2100
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: cn("px-5 text-head1-medium", selected ? "text-strong" : "text-quaternary"), children: label }),
2101
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: cn("h-0.5 w-full", selected ? "bg-black" : "bg-transparent") })
2073
2102
  ]
2074
2103
  }
2075
2104
  );
@@ -2078,7 +2107,7 @@ var NavIconButton = (0, import_react11.forwardRef)(
2078
2107
  function NavIconButton2({ src, icon, alt, label, href, onClick, selected, badge, className, linkComponent }, forwardedRef) {
2079
2108
  const interactive = Boolean(onClick || href);
2080
2109
  const showBadge = badge !== void 0 && badge !== null && badge !== false;
2081
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2110
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
2082
2111
  NavClickable,
2083
2112
  {
2084
2113
  ref: forwardedRef,
@@ -2094,9 +2123,9 @@ var NavIconButton = (0, import_react11.forwardRef)(
2094
2123
  className
2095
2124
  ),
2096
2125
  children: [
2097
- icon ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "inline-flex h-6 w-6 items-center justify-center", children: icon }) : src ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("img", { src, alt: alt ?? label ?? "", className: "h-6 w-6" }) : null,
2098
- label ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: cn("text-body2-regular", selected ? "text-white" : "text-secondary"), children: label }) : null,
2099
- showBadge ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2126
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "inline-flex h-6 w-6 items-center justify-center", children: icon }) : src ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("img", { src, alt: alt ?? label ?? "", className: "h-6 w-6" }) : null,
2127
+ label ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: cn("text-body2-regular", selected ? "text-white" : "text-secondary"), children: label }) : null,
2128
+ showBadge ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2100
2129
  "span",
2101
2130
  {
2102
2131
  "aria-hidden": badge === true,
@@ -2122,14 +2151,14 @@ var LowerPart = ({
2122
2151
  if (lowerPartItemList.length === 0) {
2123
2152
  return null;
2124
2153
  }
2125
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2154
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
2126
2155
  "div",
2127
2156
  {
2128
2157
  className: cn("w-full h-[42px] pl-14 flex items-stretch border-b border-gray02", className),
2129
2158
  children: [
2130
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" }),
2131
- lowerPartItemList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react11.Fragment, { children: [
2132
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2159
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" }),
2160
+ lowerPartItemList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_react11.Fragment, { children: [
2161
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2133
2162
  LowerPartItemButton,
2134
2163
  {
2135
2164
  label: item.label,
@@ -2142,7 +2171,7 @@ var LowerPart = ({
2142
2171
  }
2143
2172
  }
2144
2173
  ),
2145
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" })
2174
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { "aria-hidden": true, className: "w-px self-stretch bg-gray02" })
2146
2175
  ] }, item.id ?? item.label))
2147
2176
  ]
2148
2177
  }
@@ -2156,7 +2185,7 @@ var LowerPartItemButton = ({
2156
2185
  linkComponent,
2157
2186
  className
2158
2187
  }) => {
2159
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2188
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2160
2189
  NavClickable,
2161
2190
  {
2162
2191
  href,
@@ -2176,7 +2205,7 @@ var LowerPartItemButton = ({
2176
2205
 
2177
2206
  // src/components/Toast/Toast.tsx
2178
2207
  var import_react12 = require("react");
2179
- var import_jsx_runtime40 = require("react/jsx-runtime");
2208
+ var import_jsx_runtime41 = require("react/jsx-runtime");
2180
2209
  var EXIT_MS = 300;
2181
2210
  var Toast = (0, import_react12.forwardRef)(function Toast2({ message, open, duration = 3e3, onClose, position = "none", className }, ref) {
2182
2211
  const controlled = open !== void 0;
@@ -2199,7 +2228,7 @@ var Toast = (0, import_react12.forwardRef)(function Toast2({ message, open, dura
2199
2228
  return () => clearTimeout(timer);
2200
2229
  }, [controlled, open, duration, onClose]);
2201
2230
  if (!mounted) return null;
2202
- const banner = /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2231
+ const banner = /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2203
2232
  "div",
2204
2233
  {
2205
2234
  ref,
@@ -2217,7 +2246,7 @@ var Toast = (0, import_react12.forwardRef)(function Toast2({ message, open, dura
2217
2246
  }
2218
2247
  );
2219
2248
  if (position === "none") return banner;
2220
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2249
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2221
2250
  "div",
2222
2251
  {
2223
2252
  className: cn(
@@ -2232,6 +2261,7 @@ var Toast = (0, import_react12.forwardRef)(function Toast2({ message, open, dura
2232
2261
  0 && (module.exports = {
2233
2262
  Accordion,
2234
2263
  BackButton,
2264
+ Badge,
2235
2265
  BasicFormField,
2236
2266
  CTA,
2237
2267
  CategorySegment,