@wishket/design-system 1.17.2 → 1.17.3

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.
Files changed (121) hide show
  1. package/README.md +13 -0
  2. package/dist/Components/Base/TextWithIcons/TextWithIcons.d.ts +10 -0
  3. package/dist/Components/Base/TextWithIcons/TextWithIcons.js +2 -0
  4. package/dist/Components/Base/TextWithIcons/index.d.ts +1 -0
  5. package/dist/Components/DataDisplays/Accordion/Accordion.d.ts +33 -0
  6. package/dist/Components/DataDisplays/Accordion/Accordion.js +58 -0
  7. package/dist/Components/DataDisplays/Accordion/index.d.ts +1 -0
  8. package/dist/Components/DataDisplays/index.d.ts +1 -0
  9. package/dist/Components/Feedbacks/MessageBar/MessageBar.js +5 -5
  10. package/dist/Components/Feedbacks/MessageBox/MessageBox.js +6 -6
  11. package/dist/Components/Feedbacks/MessageBox/MessageBox.parts.js +2 -2
  12. package/dist/Components/Feedbacks/SnackBar/SnackBar.js +10 -10
  13. package/dist/Components/Inputs/AutoCompleteList/AutoCompleteList.js +3 -3
  14. package/dist/Components/Inputs/Autocomplete/Autocomplete.js +1 -1
  15. package/dist/Components/Inputs/Button/Button.parts.js +1 -1
  16. package/dist/Components/Inputs/Calendar/Calendar.js +6 -6
  17. package/dist/Components/Inputs/Calendar/Calendar.parts.js +1 -1
  18. package/dist/Components/Inputs/Checkbox/Checkbox.js +5 -5
  19. package/dist/Components/Inputs/Checkbox/Checkbox.parts.d.ts +1 -1
  20. package/dist/Components/Inputs/Checkbox/Checkbox.parts.js +2 -4
  21. package/dist/Components/Inputs/CheckboxCard/CheckboxCard.d.ts +2 -2
  22. package/dist/Components/Inputs/CheckboxCard/CheckboxCard.js +6 -6
  23. package/dist/Components/Inputs/CheckboxCard/CheckboxCard.parts.js +2 -2
  24. package/dist/Components/Inputs/ChoiceChip/ChoiceChip.js +3 -3
  25. package/dist/Components/Inputs/CommentArea/CommentArea.js +9 -9
  26. package/dist/Components/Inputs/FilterChip/FilterChip.js +5 -5
  27. package/dist/Components/Inputs/FilterList/FilterList.js +5 -5
  28. package/dist/Components/Inputs/IconButtonDropdown/IconButtonDropdown.js +3 -3
  29. package/dist/Components/Inputs/Input/LabelInput.d.ts +9 -0
  30. package/dist/Components/Inputs/Input/{LableInput.js → LabelInput.js} +4 -4
  31. package/dist/Components/Inputs/Input/PasswordInput.js +1 -1
  32. package/dist/Components/Inputs/Input/index.d.ts +2 -2
  33. package/dist/Components/Inputs/InputChip/InputChip.js +3 -3
  34. package/dist/Components/Inputs/List/List.js +4 -4
  35. package/dist/Components/Inputs/Radio/Radio.d.ts +14 -8
  36. package/dist/Components/Inputs/Radio/Radio.js +20 -14
  37. package/dist/Components/Inputs/Radio/index.d.ts +1 -1
  38. package/dist/Components/Inputs/Radio/types.d.ts +8 -0
  39. package/dist/Components/Inputs/RadioCard/RadioCard.js +6 -6
  40. package/dist/Components/Inputs/RadioCard/RadioCard.parts.d.ts +3 -3
  41. package/dist/Components/Inputs/RadioCard/RadioCard.parts.js +4 -4
  42. package/dist/Components/Inputs/RadioCard/RadioCard.types.d.ts +8 -8
  43. package/dist/Components/Inputs/RadioGroup/RadioGroup.d.ts +3 -3
  44. package/dist/Components/Inputs/RadioGroup/RadioGroup.js +2 -2
  45. package/dist/Components/Inputs/RadioList/RadioList.d.ts +2 -2
  46. package/dist/Components/Inputs/RadioList/RadioList.js +2 -2
  47. package/dist/Components/Inputs/RadioList/RadioList.types.d.ts +3 -2
  48. package/dist/Components/Inputs/RadioList/parts/RadioListItem.d.ts +4 -7
  49. package/dist/Components/Inputs/RadioList/parts/RadioListItem.js +3 -3
  50. package/dist/Components/Inputs/SearchField/SearchField.js +4 -4
  51. package/dist/Components/Inputs/TextButton/TextButton.js +3 -4
  52. package/dist/Components/Inputs/TextButtonDropdown/TextButtonDropdown.parts.js +1 -1
  53. package/dist/Components/Inputs/TextField/TextField.d.ts +6 -6
  54. package/dist/Components/Inputs/TextField/TextField.js +7 -7
  55. package/dist/Components/Inputs/TextFieldContainer/TextFieldContainer.js +1 -1
  56. package/dist/Components/Inputs/TextFieldDropdown/TextFieldDropdown.parts.js +3 -3
  57. package/dist/Components/Inputs/Textarea/Textarea.js +3 -3
  58. package/dist/Components/Navigations/GNBList/GNBList.parts.js +1 -1
  59. package/dist/Components/Navigations/Menu/Menu.js +3 -3
  60. package/dist/Components/Navigations/Pagination/Pagination.parts.js +1 -1
  61. package/dist/Components/Navigations/TextLink/TextLink.d.ts +66 -0
  62. package/dist/Components/Navigations/TextLink/TextLink.js +61 -0
  63. package/dist/Components/Navigations/TextLink/index.d.ts +1 -0
  64. package/dist/Components/Navigations/TextTab/TextTab.parts.js +5 -5
  65. package/dist/Components/Navigations/index.d.ts +1 -0
  66. package/dist/Components/Wrappers/WithBadge/WithBadge.js +2 -2
  67. package/dist/Components/Wrappers/WithRichTooltip/WithRichTooltip.js +3 -3
  68. package/dist/Components/Wrappers/WithSnackBar/WithSnackBar.js +1 -1
  69. package/dist/cjs/Components/Base/TextWithIcons/TextWithIcons.js +2 -0
  70. package/dist/cjs/Components/DataDisplays/Accordion/Accordion.js +58 -0
  71. package/dist/cjs/Components/Feedbacks/MessageBar/MessageBar.js +47 -5
  72. package/dist/cjs/Components/Feedbacks/MessageBox/MessageBox.js +38 -3
  73. package/dist/cjs/Components/Feedbacks/MessageBox/MessageBox.parts.js +1 -1
  74. package/dist/cjs/Components/Feedbacks/SnackBar/SnackBar.js +6 -6
  75. package/dist/cjs/Components/Inputs/AutoCompleteList/AutoCompleteList.js +1 -1
  76. package/dist/cjs/Components/Inputs/Autocomplete/Autocomplete.js +1 -1
  77. package/dist/cjs/Components/Inputs/Button/Button.parts.js +2 -2
  78. package/dist/cjs/Components/Inputs/Calendar/Calendar.js +5 -5
  79. package/dist/cjs/Components/Inputs/Calendar/Calendar.parts.js +1 -1
  80. package/dist/cjs/Components/Inputs/Checkbox/Checkbox.js +4 -4
  81. package/dist/cjs/Components/Inputs/Checkbox/Checkbox.parts.js +2 -4
  82. package/dist/cjs/Components/Inputs/CheckboxCard/CheckboxCard.js +4 -4
  83. package/dist/cjs/Components/Inputs/CheckboxCard/CheckboxCard.parts.js +4 -4
  84. package/dist/cjs/Components/Inputs/ChoiceChip/ChoiceChip.js +4 -4
  85. package/dist/cjs/Components/Inputs/CommentArea/CommentArea.js +8 -8
  86. package/dist/cjs/Components/Inputs/FilterChip/FilterChip.js +4 -3
  87. package/dist/cjs/Components/Inputs/FilterList/FilterList.js +1 -1
  88. package/dist/cjs/Components/Inputs/IconButtonDropdown/IconButtonDropdown.js +3 -3
  89. package/dist/cjs/Components/Inputs/Input/{LableInput.js → LabelInput.js} +4 -4
  90. package/dist/cjs/Components/Inputs/Input/PasswordInput.js +3 -3
  91. package/dist/cjs/Components/Inputs/InputChip/InputChip.js +2 -2
  92. package/dist/cjs/Components/Inputs/List/List.js +1 -1
  93. package/dist/cjs/Components/Inputs/Radio/Radio.js +21 -15
  94. package/dist/cjs/Components/Inputs/RadioCard/RadioCard.js +4 -4
  95. package/dist/cjs/Components/Inputs/RadioCard/RadioCard.parts.js +4 -4
  96. package/dist/cjs/Components/Inputs/RadioGroup/RadioGroup.js +3 -3
  97. package/dist/cjs/Components/Inputs/RadioList/RadioList.js +3 -3
  98. package/dist/cjs/Components/Inputs/RadioList/parts/RadioListItem.js +3 -3
  99. package/dist/cjs/Components/Inputs/SearchField/SearchField.js +4 -4
  100. package/dist/cjs/Components/Inputs/TextButton/TextButton.js +3 -4
  101. package/dist/cjs/Components/Inputs/TextButtonDropdown/TextButtonDropdown.parts.js +1 -1
  102. package/dist/cjs/Components/Inputs/TextField/TextField.js +7 -7
  103. package/dist/cjs/Components/Inputs/TextFieldContainer/TextFieldContainer.js +1 -1
  104. package/dist/cjs/Components/Inputs/TextFieldDropdown/TextFieldDropdown.parts.js +1 -1
  105. package/dist/cjs/Components/Inputs/Textarea/Textarea.js +5 -5
  106. package/dist/cjs/Components/Navigations/GNBList/GNBList.parts.js +1 -1
  107. package/dist/cjs/Components/Navigations/Menu/Menu.js +2 -2
  108. package/dist/cjs/Components/Navigations/Pagination/Pagination.parts.js +1 -1
  109. package/dist/cjs/Components/Navigations/TextLink/TextLink.js +61 -0
  110. package/dist/cjs/Components/Navigations/TextTab/TextTab.parts.js +3 -3
  111. package/dist/cjs/Components/Wrappers/WithBadge/WithBadge.js +1 -1
  112. package/dist/cjs/Components/Wrappers/WithRichTooltip/WithRichTooltip.js +2 -2
  113. package/dist/cjs/Components/Wrappers/WithSnackBar/WithSnackBar.js +2 -2
  114. package/dist/cjs/index.js +1 -1
  115. package/dist/index.js +1 -1
  116. package/dist/types/checkbox.types.d.ts +0 -2
  117. package/dist/types/index.d.ts +0 -1
  118. package/package.json +12 -12
  119. package/dist/Components/Inputs/Input/LableInput.d.ts +0 -9
  120. package/dist/Components/Inputs/Radio/Radio.types.d.ts +0 -8
  121. package/dist/types/radio.types.d.ts +0 -7
package/README.md CHANGED
@@ -15,6 +15,19 @@
15
15
  - **Steady Components**. Frequently used Components based on the Atomic Design Pattern.
16
16
  - **Storybook**. You can explore the components in [Storybook](https://design-system.wishket.com).
17
17
 
18
+ ## Requirements
19
+
20
+ ### Node.js
21
+ - **Node.js**: >= 24.10.0 (권장)
22
+ - **TypeScript**: >= 5.0
23
+
24
+ 이 패키지는 Node.js 24.10.0 이상에서 테스트되었습니다.
25
+
26
+ ### Package Manager
27
+ - **Yarn**: >= 4.0.0 (권장)
28
+ - **npm**: >= 10.0.0
29
+ - **pnpm**: >= 9.0.0
30
+
18
31
  ## Getting Started
19
32
 
20
33
  ### 1. Install
@@ -0,0 +1,10 @@
1
+ import { SystemIconName } from '../../DataDisplays';
2
+ export interface TextWithIconsProps {
3
+ text: string;
4
+ leadingIcon?: SystemIconName;
5
+ trailingIcon?: SystemIconName;
6
+ isTextSmall?: boolean;
7
+ isGray?: boolean;
8
+ isUnderline?: boolean;
9
+ }
10
+ export declare const TextWithIcons: ({ text, leadingIcon, trailingIcon, isTextSmall, isGray, isUnderline, }: TextWithIconsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import{jsxs as t,Fragment as e,jsx as i}from"react/jsx-runtime";import{twJoin as s}from"tailwind-merge";import"react";import{SystemIcon as a}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as r}from"../Typography/Typography.js";import{Box as o}from"../Layouts/Box/Box.js";import"../Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Accordion/Accordion.js";const n=({text:n,leadingIcon:m,trailingIcon:c,isTextSmall:l=!1,isGray:d=!1,isUnderline:y=!1})=>/*#__PURE__*/t(e,{children:[m&&/*#__PURE__*/i(o,{"data-testid":"design-system-text-with-icons--icon--left",className:"w-fit",children:/*#__PURE__*/i(a,{name:m,className:s(d?"text-w-gray-600":"text-primary-500")})}),
2
+ /*#__PURE__*/i(o,{"data-testid":"design-system-text-with-icons--text",className:"w-fit",children:/*#__PURE__*/i(r,{variant:l?"body2":"body1",className:s("align-baseline font-medium",d?"text-w-gray-600":"text-primary-500",y?"underline decoration-1 underline-offset-2":""),children:n})}),c&&/*#__PURE__*/i(o,{"data-testid":"design-system-text-with-icons--icon--right",className:"w-fit",children:/*#__PURE__*/i(a,{name:c,className:s(d?"text-w-gray-600":"text-primary-500")})})]});export{n as TextWithIcons};
@@ -0,0 +1 @@
1
+ export { TextWithIcons } from './TextWithIcons';
@@ -0,0 +1,33 @@
1
+ import { PropsWithChildren } from 'react';
2
+ /**
3
+ * 아코디언 컨테이너 컴포넌트
4
+ *
5
+ * @description
6
+ * 여러 개의 접을 수 있는 콘텐츠 섹션을 관리하는 컨테이너입니다.
7
+ * Compound Component 패턴을 사용하여 Accordion.Item과 함께 사용합니다.
8
+ *
9
+ * @param {React.ReactNode} children - Accordion.Item 컴포넌트들
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * <Accordion>
14
+ * <Accordion.Item title="첫 번째 섹션">
15
+ * <p>첫 번째 섹션의 내용</p>
16
+ * </Accordion.Item>
17
+ * <Accordion.Item title="두 번째 섹션">
18
+ * <p>두 번째 섹션의 내용</p>
19
+ * </Accordion.Item>
20
+ * </Accordion>
21
+ * ```
22
+ */
23
+ declare const Accordion: {
24
+ ({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
25
+ Item: ({ title, href, linkText, linkTarget, children, }: ItemProps) => import("react/jsx-runtime").JSX.Element;
26
+ };
27
+ interface ItemProps extends PropsWithChildren {
28
+ title: string;
29
+ href?: string;
30
+ linkText?: string;
31
+ linkTarget?: '_blank' | '_self';
32
+ }
33
+ export { Accordion };
@@ -0,0 +1,58 @@
1
+ "use client";import{jsx as t,jsxs as e}from"react/jsx-runtime";import{useState as o,useId as r}from"react";import{twJoin as i}from"tailwind-merge";import{Typography as n}from"../../Base/Typography/Typography.js";import{Box as s}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{SystemIcon as a}from"../SystemIcon/SystemIcon.js";import"../SystemIcon/SystemIcon.constants.js";import"@wishket/yogokit";import"react-dom";import"next/link";import"../../Inputs/AutoCompleteList/AutoCompleteList.parts.js";import"../../Inputs/Input/Input.js";import"../../Inputs/Input/PasswordInput.js";import"../../Inputs/Input/LabelInput.js";import"../../Inputs/Input/InputTypeSelector.js";import"../../Inputs/Calendar/Calendar.utils.js";import"../../Inputs/Checkbox/Checkbox.js";import"../../Inputs/ChoiceChip/ChoiceChip.js";import"../../Inputs/Radio/Radio.js";import"../../Inputs/TextField/TextField.js";import"../../Inputs/CommentArea/CommentArea.js";import"../../Inputs/FilterChip/FilterChip.js";import{TextLink as l}from"../../Navigations/TextLink/TextLink.js";
2
+ /**
3
+ * 아코디언 컨테이너 컴포넌트
4
+ *
5
+ * @description
6
+ * 여러 개의 접을 수 있는 콘텐츠 섹션을 관리하는 컨테이너입니다.
7
+ * Compound Component 패턴을 사용하여 Accordion.Item과 함께 사용합니다.
8
+ *
9
+ * @param {React.ReactNode} children - Accordion.Item 컴포넌트들
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * <Accordion>
14
+ * <Accordion.Item title="첫 번째 섹션">
15
+ * <p>첫 번째 섹션의 내용</p>
16
+ * </Accordion.Item>
17
+ * <Accordion.Item title="두 번째 섹션">
18
+ * <p>두 번째 섹션의 내용</p>
19
+ * </Accordion.Item>
20
+ * </Accordion>
21
+ * ```
22
+ */const p=({children:e})=>/*#__PURE__*/t(s,{className:"flex w-full flex-col gap-6 p-6",children:e});
23
+ /**
24
+ * 아코디언의 개별 아이템 컴포넌트
25
+ *
26
+ * @description
27
+ * 클릭 가능한 제목과 접을 수 있는 콘텐츠 영역을 제공합니다.
28
+ * 선택적으로 하단에 링크를 추가할 수 있습니다.
29
+ *
30
+ * @param {string} title - 아코디언 아이템의 제목
31
+ * @param {string} href - 링크 대상 URL (linkText와 함께 사용)
32
+ * @param {string} linkText - 링크에 표시될 텍스트 (href와 함께 사용)
33
+ * @param {'_blank' | '_self'} linkTarget - 링크 타겟 설정 ('_blank' | '_self')
34
+ * @param {React.ReactNode} children - 아코디언 아이템의 콘텐츠
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * // 기본 사용법
39
+ * <Accordion.Item title="제목">
40
+ * <p>콘텐츠 내용</p>
41
+ * </Accordion.Item>
42
+ *
43
+ * // 링크가 포함된 아이템
44
+ * <Accordion.Item
45
+ * title="제목"
46
+ * href="/detail"
47
+ * linkText="자세히 보기"
48
+ * linkTarget="_blank"
49
+ * >
50
+ * <p>콘텐츠 내용</p>
51
+ * </Accordion.Item>
52
+ * ```
53
+ */p.Item=({title:p,href:m,linkText:c,linkTarget:u="_blank",children:d})=>{const[h,x]=o(!1),I=r(),f=m&&c&&u;/*#__PURE__*/
54
+ return e(s,{className:"flex w-full flex-col border-b border-w-gray-200 pb-6 last:border-b-0 last:pb-0",children:[
55
+ /*#__PURE__*/e("button",{type:"button",className:"box-border flex cursor-pointer items-center justify-between gap-6 text-left",onClick:()=>x(!h),"aria-expanded":h,"aria-controls":`accordionregion-${I}`,id:`accordionbutton-${I}`,children:[
56
+ /*#__PURE__*/t(n,{variant:"subTitle2",className:"w-full font-medium text-w-gray-900",children:p}),
57
+ /*#__PURE__*/t(s,{className:i("transition-transform duration-300 ease-in-out",h?"rotate-180":"rotate-0"),children:/*#__PURE__*/t(a,{name:"medium_arrow_down"})})]}),
58
+ /*#__PURE__*/t(s,{role:"region",id:`accordionregion-${I}`,"aria-labelledby":`accordionbutton-${I}`,className:i("w-full overflow-hidden transition-all duration-300 ease-in-out",h?"max-h-screen":"max-h-0"),children:/*#__PURE__*/e(s,{className:"mt-4 flex flex-col gap-4",children:[d,f&&/*#__PURE__*/t(l,{href:m,text:c,target:u,trailingIcon:"medium_arrow_right"})]})})]})};export{p as Accordion};
@@ -0,0 +1 @@
1
+ export { Accordion } from './Accordion';
@@ -10,3 +10,4 @@ export * from './SystemIcon';
10
10
  export * from './Divider';
11
11
  export * from './ProgressIndicator';
12
12
  export * from './Li';
13
+ export * from './Accordion';
@@ -1,4 +1,4 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twMerge as s}from"tailwind-merge";import{Typography as a}from"../../Base/Typography/Typography.js";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"react";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{ProductIcon as i}from"../../DataDisplays/ProductIcon/ProductIcon.js";import{Button as m}from"../../Inputs/Button/Button.js";
1
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import{twMerge as s}from"tailwind-merge";import{Typography as a}from"../../Base/Typography/Typography.js";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"react";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{ProductIcon as i}from"../../DataDisplays/ProductIcon/ProductIcon.js";import"../../DataDisplays/Accordion/Accordion.js";import{Button as o}from"../../Inputs/Button/Button.js";
2
2
  /**
3
3
  * 사용자에게 정보를 표시하는 메시지 바 컴포넌트입니다.
4
4
  *
@@ -40,7 +40,7 @@ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twMerge as s}from"tailw
40
40
  * buttonName="비밀번호 변경"
41
41
  * onClick={() => handlePasswordChange()}
42
42
  * />
43
- */const o=({variant:o="primary",icon:n,title:l,text:d,buttonName:c,onClick:p})=>/*#__PURE__*/e(r,{"data-testid":"design-system-message-bar",className:s("flex w-full items-center gap-5 rounded-2xl border px-8 py-5","primary"===o&&"border-primary-100 bg-primary-10","white"===o&&"border-w-gray-200 bg-white"),children:[
44
- /*#__PURE__*/t(r,{className:"shrink-0","data-testid":"design-system-message-bar--icon",children:/*#__PURE__*/t(i,{name:n,size:"medium"})}),
45
- /*#__PURE__*/e(r,{className:"flex w-full flex-col gap-1",children:[l&&/*#__PURE__*/t(a,{variant:"subTitle2",className:"font-medium text-w-gray-900","data-testid":"design-system-message-bar--title",children:l}),
46
- /*#__PURE__*/t(a,{variant:"body1",className:"text-w-gray-600","data-testid":"design-system-message-bar--text",children:d})]}),c&&p&&/*#__PURE__*/t(m,{variant:"outlined",size:"sm",className:"shrink-0",onClick:p,"data-testid":"design-system-message-bar--button",children:c})]});export{o as MessageBar};
43
+ */const m=({variant:m="primary",icon:n,title:d,text:l,buttonName:c,onClick:p})=>/*#__PURE__*/t(r,{"data-testid":"design-system-message-bar",className:s("flex w-full items-center gap-5 rounded-2xl border px-8 py-5","primary"===m&&"border-primary-100 bg-primary-10","white"===m&&"border-w-gray-200 bg-white"),children:[
44
+ /*#__PURE__*/e(r,{className:"shrink-0","data-testid":"design-system-message-bar--icon",children:/*#__PURE__*/e(i,{name:n,size:"medium"})}),
45
+ /*#__PURE__*/t(r,{className:"flex w-full flex-col gap-1",children:[d&&/*#__PURE__*/e(a,{variant:"subTitle2",className:"font-medium text-w-gray-900","data-testid":"design-system-message-bar--title",children:d}),
46
+ /*#__PURE__*/e(a,{variant:"body1",className:"text-w-gray-600","data-testid":"design-system-message-bar--text",children:l})]}),c&&p&&/*#__PURE__*/e(o,{variant:"outlined",size:"sm",className:"shrink-0",onClick:p,"data-testid":"design-system-message-bar--button",children:c})]});export{m as MessageBar};
@@ -1,4 +1,4 @@
1
- import{jsxs as e,jsx as s,Fragment as t}from"react/jsx-runtime";import"tailwind-merge";import"react";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as a}from"../../Base/Typography/Typography.js";import{Box as i}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{ProductIcon as r}from"../../DataDisplays/ProductIcon/ProductIcon.js";import{Divider as o}from"../../DataDisplays/Divider/Divider.js";import{ExternalLinks as l}from"./MessageBox.parts.js";
1
+ import{jsxs as e,jsx as s,Fragment as t}from"react/jsx-runtime";import"tailwind-merge";import"react";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as a}from"../../Base/Typography/Typography.js";import{Box as i}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{ProductIcon as o}from"../../DataDisplays/ProductIcon/ProductIcon.js";import{Divider as r}from"../../DataDisplays/Divider/Divider.js";import"../../DataDisplays/Accordion/Accordion.js";import{ExternalLinks as l}from"./MessageBox.parts.js";
2
2
  /**
3
3
  * 아이콘, 제목, 설명, 외부 링크 등을 포함할 수 있는 메시지 박스 컴포넌트입니다.
4
4
  *
@@ -33,9 +33,9 @@ import{jsxs as e,jsx as s,Fragment as t}from"react/jsx-runtime";import"tailwind-
33
33
  * >
34
34
  * <CustomContent />
35
35
  * </MessageBox>
36
- */const m=({icon:m,title:n,description:d,children:c,links:p})=>/*#__PURE__*/e(i,{className:"box-border flex h-auto flex-col rounded-3xl border border-w-gray-200","data-testid":"design-system-message-box--container",children:[
37
- /*#__PURE__*/e(i,{className:"flex h-auto flex-col gap-4 p-6",children:[m&&/*#__PURE__*/s(i,{className:"size-10 flex-shrink-0",children:/*#__PURE__*/s(r,{name:m,size:"medium"})}),
36
+ */const n=({icon:n,title:m,description:c,children:d,links:p})=>/*#__PURE__*/e(i,{className:"box-border flex h-auto flex-col rounded-3xl border border-w-gray-200","data-testid":"design-system-message-box--container",children:[
37
+ /*#__PURE__*/e(i,{className:"flex h-auto flex-col gap-4 p-6",children:[n&&/*#__PURE__*/s(i,{className:"size-10 flex-shrink-0",children:/*#__PURE__*/s(o,{name:n,size:"medium"})}),
38
38
  /*#__PURE__*/e(i,{className:"flex h-auto flex-col gap-1.5",children:[
39
- /*#__PURE__*/s(a,{variant:"subTitle2",className:"whitespace-pre-line font-medium text-w-gray-900","data-testid":"design-system-message-box--title",children:n}),d&&/*#__PURE__*/s(a,{variant:"body1",className:"whitespace-pre-line font-normal text-w-gray-600","data-testid":"design-system-message-box--description",children:d}),c]})]}),p&&p.length>0&&/*#__PURE__*/e(t,{children:[
40
- /*#__PURE__*/s(o,{}),
41
- /*#__PURE__*/s(l,{links:p})]})]});export{m as MessageBox};
39
+ /*#__PURE__*/s(a,{variant:"subTitle2",className:"whitespace-pre-line font-medium text-w-gray-900","data-testid":"design-system-message-box--title",children:m}),c&&/*#__PURE__*/s(a,{variant:"body1",className:"whitespace-pre-line font-normal text-w-gray-600","data-testid":"design-system-message-box--description",children:c}),d]})]}),p&&p.length>0&&/*#__PURE__*/e(t,{children:[
40
+ /*#__PURE__*/s(r,{}),
41
+ /*#__PURE__*/s(l,{links:p})]})]});export{n as MessageBox};
@@ -1,3 +1,3 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import"tailwind-merge";import"react";import{SystemIcon as s}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as a}from"../../Base/Typography/Typography.js";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";const l=({links:l})=>/*#__PURE__*/e(r,{className:"flex h-auto w-full flex-col gap-3 p-6","data-testid":"design-system-message-box--external-links-container",children:null==l?void 0:l.map(((r,l)=>/*#__PURE__*/t("a",{target:r.target||"_blank",href:r.url,className:"flex items-center justify-between text-w-gray-600 no-underline","data-testid":`design-system-message-box--external-links-item-${l}`,children:[
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import"tailwind-merge";import"react";import{SystemIcon as s}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as a}from"../../Base/Typography/Typography.js";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Accordion/Accordion.js";const o=({links:o})=>/*#__PURE__*/e(r,{className:"flex h-auto w-full flex-col gap-3 p-6","data-testid":"design-system-message-box--external-links-container",children:null==o?void 0:o.map(((r,o)=>/*#__PURE__*/t("a",{target:r.target||"_blank",href:r.url,className:"flex items-center justify-between text-w-gray-600 no-underline","data-testid":`design-system-message-box--external-links-item-${o}`,children:[
2
2
  /*#__PURE__*/e(a,{variant:"body1",className:"hover:underline hover:underline-offset-2",children:r.title}),
3
- /*#__PURE__*/e(s,{name:"small_arrow_right"})]},`${r.title}-${r.url}`)))});export{l as ExternalLinks};
3
+ /*#__PURE__*/e(s,{name:"small_arrow_right"})]},`${r.title}-${r.url}`)))});export{o as ExternalLinks};
@@ -1,4 +1,4 @@
1
- import{jsxs as e,jsx as s}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";import"react";import{SystemIcon as r}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as a}from"../../Base/Typography/Typography.js";import{Box as n}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{messageType as m}from"./SnackBar.types.js";
1
+ import{jsxs as e,jsx as s}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";import"react";import{SystemIcon as r}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as a}from"../../Base/Typography/Typography.js";import{Box as n}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Accordion/Accordion.js";import{messageType as o}from"./SnackBar.types.js";
2
2
  /**
3
3
  * 사용자에게 상태 메시지를 표시하는 스낵바 컴포넌트
4
4
  *
@@ -21,13 +21,13 @@ import{jsxs as e,jsx as s}from"react/jsx-runtime";import{twMerge as t}from"tailw
21
21
  * type="caution"
22
22
  * onClose={() => console.log('스낵바 닫힘')}
23
23
  * />
24
- */const i=({type:e})=>{switch(e){case m.Information:/*#__PURE__*/
25
- return s(r,{name:"medium_information",className:"text-success",testId:"design-system-message-bar--information-icon"});case m.Success:/*#__PURE__*/
26
- return s(r,{name:"medium_success",className:"text-success",testId:"design-system-message-bar--success-icon"});case m.Progress:/*#__PURE__*/
27
- return s(r,{name:"medium_success",className:"text-progress",testId:"design-system-message-bar--progress-icon"});case m.Waiting:/*#__PURE__*/
28
- return s(r,{name:"medium_wait",className:"text-waiting",testId:"design-system-message-bar--waiting-icon"});case m.Caution:/*#__PURE__*/
29
- return s(r,{name:"medium_caution",className:"text-caution",testId:"design-system-message-bar--caution-icon"});case m.Error:/*#__PURE__*/
30
- return s(r,{name:"medium_error",className:"text-error",testId:"design-system-message-bar--error-icon"});default:return null}},o=({message:o,type:c,onClose:d})=>{const u=!!d;/*#__PURE__*/
31
- return e(n,{"data-testid":"design-system-message-bar",className:t((e=>{switch(e){case m.Information:case m.Success:return"bg-success-10 border-success-100";case m.Progress:return"bg-progress-10 border-progress-100";case m.Waiting:return"bg-waiting-10 border-waiting-100";case m.Caution:return"bg-caution-10 border-caution-100";case m.Error:return"bg-error-10 border-error-100";default:return""}})(c),"box-border flex w-full items-start justify-between gap-x-4 rounded-xl border px-6 py-4"),children:[
24
+ */const i=({type:e})=>{switch(e){case o.Information:/*#__PURE__*/
25
+ return s(r,{name:"medium_information",className:"text-success",testId:"design-system-message-bar--information-icon"});case o.Success:/*#__PURE__*/
26
+ return s(r,{name:"medium_success",className:"text-success",testId:"design-system-message-bar--success-icon"});case o.Progress:/*#__PURE__*/
27
+ return s(r,{name:"medium_success",className:"text-progress",testId:"design-system-message-bar--progress-icon"});case o.Waiting:/*#__PURE__*/
28
+ return s(r,{name:"medium_wait",className:"text-waiting",testId:"design-system-message-bar--waiting-icon"});case o.Caution:/*#__PURE__*/
29
+ return s(r,{name:"medium_caution",className:"text-caution",testId:"design-system-message-bar--caution-icon"});case o.Error:/*#__PURE__*/
30
+ return s(r,{name:"medium_error",className:"text-error",testId:"design-system-message-bar--error-icon"});default:return null}},m=({message:m,type:c,onClose:d})=>{const u=!!d;/*#__PURE__*/
31
+ return e(n,{"data-testid":"design-system-message-bar",className:t((e=>{switch(e){case o.Information:case o.Success:return"bg-success-10 border-success-100";case o.Progress:return"bg-progress-10 border-progress-100";case o.Waiting:return"bg-waiting-10 border-waiting-100";case o.Caution:return"bg-caution-10 border-caution-100";case o.Error:return"bg-error-10 border-error-100";default:return""}})(c),"box-border flex w-full items-start justify-between gap-x-4 rounded-xl border px-6 py-4"),children:[
32
32
  /*#__PURE__*/s(n,{"data-testid":"design-system-message-bar--icon",className:"pt-[5px]",children:/*#__PURE__*/s(i,{type:c})}),
33
- /*#__PURE__*/s(n,{className:"w-full",children:/*#__PURE__*/s(a,{variant:"body1",className:"text-w-gray-600","data-testid":"design-system-message-bar--text",children:o})}),u&&/*#__PURE__*/s(n,{onClick:d,"data-testid":"design-system-message-bar--close-button",className:"pt-[5px]",children:/*#__PURE__*/s(r,{name:"medium_delete",className:"text-w-gray-400"})})]})};export{o as SnackBar};
33
+ /*#__PURE__*/s(n,{className:"w-full",children:/*#__PURE__*/s(a,{variant:"body1",className:"text-w-gray-600","data-testid":"design-system-message-bar--text",children:m})}),u&&/*#__PURE__*/s(n,{onClick:d,"data-testid":"design-system-message-bar--close-button",className:"pt-[5px]",children:/*#__PURE__*/s(r,{name:"medium_delete",className:"text-w-gray-400"})})]})};export{m as SnackBar};
@@ -1,4 +1,4 @@
1
- "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import{twMerge as r}from"tailwind-merge";import{useRef as n,useState as o,useLayoutEffect as i}from"react";import{SystemIcon as s}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{Divider as l}from"../../DataDisplays/Divider/Divider.js";import{IndexBar as c,Icon as a,TextSection as u,CountSection as m}from"./AutoCompleteList.parts.js";function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){p(e,t,r[t])}))}return e}function y(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function f(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}
1
+ "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import{twMerge as r}from"tailwind-merge";import{useRef as n,useState as o,useLayoutEffect as i}from"react";import{SystemIcon as s}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{Divider as l}from"../../DataDisplays/Divider/Divider.js";import"../../DataDisplays/Accordion/Accordion.js";import{IndexBar as c,Icon as a,TextSection as u,CountSection as m}from"./AutoCompleteList.parts.js";function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){p(e,t,r[t])}))}return e}function y(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function f(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}
2
2
  /**
3
3
  * 자동완성 목록의 Root 컴포넌트입니다.
4
4
  * 자동완성 항목들을 감싸는 컨테이너 역할을 합니다.
@@ -22,8 +22,8 @@
22
22
  * </AutoCompleteList.Root>
23
23
  * ```
24
24
  */(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}const b={Root:s=>{var{children:l,className:a,hasIndexBar:u=!1,onIndexClick:m}=s,p=f(s,["children","className","hasIndexBar","onIndexClick"]);const b=n(null),[g,O]=o(!1);return i((()=>{const e=b.current;if(!e)return;const{scrollHeight:t,clientHeight:r}=e;O(t>r)}),[l]),/*#__PURE__*/t("div",y(d({className:r("flex max-h-[436px] w-full rounded-xl shadow-graymedium",a)},p),{children:[u&&/*#__PURE__*/e(c,{onIndexClick:m}),
25
- /*#__PURE__*/e("ul",{ref:b,"data-testid":"design-system-autoCompleteList",className:r("flex w-full flex-col bg-w-white py-2 pr-2","overflow-y-auto scrollbar-list",u?"rounded-r-xl":"rounded-xl",g&&"pr-0"),children:l})]}))},Item:n=>{var{text:o,count:i,leadingIcon:l,iconUrl:c,isInputItem:p=!1,isFocused:b=!1,inputValue:g,className:O}=n,x=f(n,["text","count","leadingIcon","iconUrl","isInputItem","isFocused","inputValue","className"]);/*#__PURE__*/
26
- return t("li",y(d({className:r("visible ml-2 flex cursor-pointer select-none items-center gap-2 rounded-xl bg-w-white px-4 py-3 hover:bg-primary-10",b&&"bg-primary-10",O)},x),{"data-testid":"design-system-list-item",children:[l&&/*#__PURE__*/e(s,{name:l,className:"text-w-gray-600",testId:"design-system-list-item-leading-icon"}),c&&/*#__PURE__*/e(a,{iconUrl:c}),
25
+ /*#__PURE__*/e("ul",{ref:b,"data-testid":"design-system-autoCompleteList",className:r("flex w-full flex-col bg-w-white py-2 pr-2","overflow-y-auto scrollbar-list",u?"rounded-r-xl":"rounded-xl",g&&"pr-0"),children:l})]}))},Item:n=>{var{text:o,count:i,leadingIcon:l,iconUrl:c,isInputItem:p=!1,isFocused:b=!1,inputValue:g,className:O}=n,j=f(n,["text","count","leadingIcon","iconUrl","isInputItem","isFocused","inputValue","className"]);/*#__PURE__*/
26
+ return t("li",y(d({className:r("visible ml-2 flex cursor-pointer select-none items-center gap-2 rounded-xl bg-w-white px-4 py-3 hover:bg-primary-10",b&&"bg-primary-10",O)},j),{"data-testid":"design-system-list-item",children:[l&&/*#__PURE__*/e(s,{name:l,className:"text-w-gray-600",testId:"design-system-list-item-leading-icon"}),c&&/*#__PURE__*/e(a,{iconUrl:c}),
27
27
  /*#__PURE__*/e(u,{text:o,isInputItem:p,inputValue:g}),
28
28
  /*#__PURE__*/e(m,{count:i})]}))},Divider:()=>/*#__PURE__*/e(l,{className:"my-2"})};
29
29
  /**
@@ -1,4 +1,4 @@
1
- "use client";import{jsxs as e,jsx as t,Fragment as l}from"react/jsx-runtime";import{useState as r,useRef as o,useEffect as n}from"react";import{useClickOutside as i}from"@wishket/yogokit";import{AutoCompleteList as s}from"../AutoCompleteList/AutoCompleteList.js";import{TextFieldContainer as a}from"../TextFieldContainer/TextFieldContainer.js";import"tailwind-merge";import{Box as c}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{Input as u}from"../Input/Input.js";import"../Input/PasswordInput.js";import"../Input/LableInput.js";import"../Input/InputTypeSelector.js";import{InputChip as p}from"../InputChip/InputChip.js";import{SupportTextContainer as m}from"../SupportTextContainer/SupportTextContainer.js";import{WithDivider as d}from"./Autocomplete.parts.js";import{getSortedSkillItems as f}from"./Autocomplete.utils.js";
1
+ "use client";import{jsxs as e,jsx as t,Fragment as l}from"react/jsx-runtime";import{useState as r,useRef as o,useEffect as n}from"react";import{useClickOutside as i}from"@wishket/yogokit";import{AutoCompleteList as s}from"../AutoCompleteList/AutoCompleteList.js";import{TextFieldContainer as a}from"../TextFieldContainer/TextFieldContainer.js";import"tailwind-merge";import{Box as c}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{Input as u}from"../Input/Input.js";import"../Input/PasswordInput.js";import"../Input/LabelInput.js";import"../Input/InputTypeSelector.js";import{InputChip as p}from"../InputChip/InputChip.js";import{SupportTextContainer as m}from"../SupportTextContainer/SupportTextContainer.js";import{WithDivider as d}from"./Autocomplete.parts.js";import{getSortedSkillItems as f}from"./Autocomplete.utils.js";
2
2
  /**
3
3
  * 자동완성 입력 컴포넌트
4
4
  *
@@ -1,2 +1,2 @@
1
- import{jsxs as r,jsx as e}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";import"react";import{SystemIcon as o}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{CountBadge as i}from"../../DataDisplays/CountBadge/CountBadge.js";function n(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function a(r,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):function(r){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e.push.apply(e,t)}return e}(Object(e)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))})),r}function l(r,e){if(null==r)return{};var t,o,i=function(r,e){if(null==r)return{};var t,o,i={},n=Object.keys(r);for(o=0;o<n.length;o++)t=n[o],e.indexOf(t)>=0||(i[t]=r[t]);return i}(r,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);for(o=0;o<n.length;o++)t=n[o],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(r,t)&&(i[t]=r[t])}return i}const s=s=>{var{rounded:p,size:c,type:d,variant:y,color:b,children:m,leadingIcon:u,isLeadingIconSolid:g=!1,trailingIcon:f,isTrailingIconSolid:x=!1,badgeNumber:w="",className:O,disabled:h,onClick:j}=s,v=l(s,["rounded","size","type","variant","color","children","leadingIcon","isLeadingIconSolid","trailingIcon","isTrailingIconSolid","badgeNumber","className","disabled","onClick"]);const I=()=>{if(h){if("solid"===y)return"text-w-white";if("outline_filled"===y)return"text-primary-100";if("primary"===b)return"text-primary-100";if("gray"===b)return"text-w-gray-300"}return"solid"===y?"text-w-white":"outline_filled"===y||"primary"===b?"text-primary-500":"text-w-gray-600"};/*#__PURE__*/
1
+ import{jsxs as r,jsx as e}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";import"react";import{SystemIcon as o}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{CountBadge as i}from"../../DataDisplays/CountBadge/CountBadge.js";import"../../DataDisplays/Accordion/Accordion.js";function n(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function a(r,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):function(r){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(r);e.push.apply(e,t)}return e}(Object(e)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))})),r}function l(r,e){if(null==r)return{};var t,o,i=function(r,e){if(null==r)return{};var t,o,i={},n=Object.keys(r);for(o=0;o<n.length;o++)t=n[o],e.indexOf(t)>=0||(i[t]=r[t]);return i}(r,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);for(o=0;o<n.length;o++)t=n[o],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(r,t)&&(i[t]=r[t])}return i}const s=s=>{var{rounded:p,size:c,type:d,variant:y,color:b,children:m,leadingIcon:u,isLeadingIconSolid:g=!1,trailingIcon:f,isTrailingIconSolid:x=!1,badgeNumber:w="",className:O,disabled:h,onClick:j}=s,v=l(s,["rounded","size","type","variant","color","children","leadingIcon","isLeadingIconSolid","trailingIcon","isTrailingIconSolid","badgeNumber","className","disabled","onClick"]);const I=()=>{if(h){if("solid"===y)return"text-w-white";if("outline_filled"===y)return"text-primary-100";if("primary"===b)return"text-primary-100";if("gray"===b)return"text-w-gray-300"}return"solid"===y?"text-w-white":"outline_filled"===y||"primary"===b?"text-primary-500":"text-w-gray-600"};/*#__PURE__*/
2
2
  return r("button",a(function(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})))),o.forEach((function(e){n(r,e,t[e])}))}return r}({className:t("box-border flex w-fit cursor-pointer items-center justify-center border","outlined"===y&&p?"rounded-full":"rounded-xl","sm"===c?"h-[36px] typo-body2 gap-x-1":"lg"===c?"h-[60px] typo-subTitle1 gap-x-2":"h-[50px] typo-body1 gap-x-1.5",(()=>{const r="solid"===y;return"sm"===c?r?"px-3":"px-[11px]":"lg"===c?r?"px-6":"px-[23px]":r?"px-4":"px-[15px]"})(),I(),"solid"===y?"bg-primary-500 border-0 hover:bg-primary-700":"outline_filled"===y?"bg-primary-10 border-primary-200 hover:border-primary-500":"primary"===b?"bg-w-white border-w-gray-200 hover:border-primary-500":"bg-w-white border-w-gray-200 hover:border-w-gray-400",h&&"cursor-not-allowed",h&&("solid"===y?"bg-primary-100 border-0 hover:bg-primary-100 hover:border-primary-100":"outline_filled"===y?"bg-primary-10 border-primary-200 hover:border-primary-200":"bg-w-white border-w-gray-200 hover:border-w-gray-200"),O),onClick:j,disabled:h,type:d},v),{children:[u&&/*#__PURE__*/e(o,{name:u,solid:g,testId:"design-system-button--leading-icon",className:t("flex-shrink-0","sm"===c?"size-[14px]":"size-4",I())}),m,f&&/*#__PURE__*/e(o,{name:f,solid:x,testId:"design-system-button--trailing-icon",className:t("flex-shrink-0","sm"===c?"size-[14px]":"size-4",I())}),w&&/*#__PURE__*/e(i,{text:w,className:"relative flex-shrink-0"})]}))};export{s as ButtonContainer};
@@ -1,4 +1,4 @@
1
- "use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as a,useEffect as r}from"react";import{twMerge as s}from"tailwind-merge";import{SystemIcon as n}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as o}from"../../Base/Typography/Typography.js";import{Box as i}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{TextFieldContainer as l}from"../TextFieldContainer/TextFieldContainer.js";import{SelectHeader as d,WeekHeader as c,DateBox as m}from"./Calendar.parts.js";import{generateDate as p,today as y,getKoreanTimeString as g,getMonthDate as h,isSameDate as x}from"./Calendar.utils.js";
1
+ "use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as a,useEffect as r}from"react";import{twMerge as s}from"tailwind-merge";import{SystemIcon as n}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as o}from"../../Base/Typography/Typography.js";import{Box as i}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Accordion/Accordion.js";import{TextFieldContainer as l}from"../TextFieldContainer/TextFieldContainer.js";import{SelectHeader as d,WeekHeader as c,DateBox as m}from"./Calendar.parts.js";import{generateDate as p,today as y,getKoreanTimeString as g,getMonthDate as h,isSameDate as x}from"./Calendar.utils.js";
2
2
  /**
3
3
  * 날짜를 선택할 수 있는 캘린더 컴포넌트입니다.
4
4
  *
@@ -34,12 +34,12 @@
34
34
  * selected="2024-03-21"
35
35
  * />
36
36
  * ```
37
- */const u=({defaultDate:u,selected:f,onChange:w,disabled:b,placeholder:j,isError:C})=>{const[$,B]=a(!1),D=()=>{b||B((e=>!e))},N=u?p(u):y,[F,I]=a(f?p(f):N),v=f?p(f):N,{year:S,month:T,date:L}=g(v),{dateList:k}=h(F.year,F.month),z=[...Array.from({length:k[0].day},(()=>null)),...k],E=e=>{if(f&&x(e,v))return;const t=`${e.year}-${e.month}-${e.date}`;null==w||w(t),B(!1)};return r((()=>{!$&&f&&I(p(f));
37
+ */const u=({defaultDate:u,selected:f,onChange:w,disabled:b,placeholder:j,isError:C})=>{const[D,$]=a(!1),B=()=>{b||$((e=>!e))},N=u?p(u):y,[F,I]=a(f?p(f):N),v=f?p(f):N,{year:S,month:T,date:A}=g(v),{dateList:L}=h(F.year,F.month),k=[...Array.from({length:L[0].day},(()=>null)),...L],z=e=>{if(f&&x(e,v))return;const t=`${e.year}-${e.month}-${e.date}`;null==w||w(t),$(!1)};return r((()=>{!D&&f&&I(p(f));
38
38
  // eslint-disable-next-line react-hooks/exhaustive-deps
39
- }),[$]),/*#__PURE__*/e(i,{className:"relative h-fit w-fit select-none","data-testid":"design-system-calendar--container",children:[
40
- /*#__PURE__*/t(i,{className:"cursor-pointer",children:/*#__PURE__*/e(l,{isFocused:$,isError:C,isDisabled:b,testId:"design-system-calendar--trigger",onClick:D,children:[
39
+ }),[D]),/*#__PURE__*/e(i,{className:"relative h-fit w-fit select-none","data-testid":"design-system-calendar--container",children:[
40
+ /*#__PURE__*/t(i,{className:"cursor-pointer",children:/*#__PURE__*/e(l,{isFocused:D,isError:C,isDisabled:b,testId:"design-system-calendar--trigger",onClick:B,children:[
41
41
  /*#__PURE__*/t(n,{name:"medium_calendar",className:b||!f?"text-w-gray-300":"text-w-gray-400"}),
42
- /*#__PURE__*/t(o,{variant:"body1",className:s("min-w-[178px] text-w-gray-600",!f&&"text-w-gray-300",b&&"text-w-gray-300"),"data-testid":"design-system-calendar--selected-date",children:f?`${S} ${T} ${L}`:j})]})}),$&&/*#__PURE__*/t("div",{className:"fixed left-0 top-0 z-10 h-screen w-screen bg-transparent",onClick:D}),$&&/*#__PURE__*/e(i,{"data-testid":"design-system-calendar--content",className:"absolute top-[54px] z-30 flex w-[350px] flex-col gap-4 rounded-xl border border-w-gray-200 bg-w-white px-[15px] py-[23px] shadow-graymedium",children:[
42
+ /*#__PURE__*/t(o,{variant:"body1",className:s("min-w-[178px] text-w-gray-600",!f&&"text-w-gray-300",b&&"text-w-gray-300"),"data-testid":"design-system-calendar--selected-date",children:f?`${S} ${T} ${A}`:j})]})}),D&&/*#__PURE__*/t("div",{className:"fixed left-0 top-0 z-10 h-screen w-screen bg-transparent",onClick:B}),D&&/*#__PURE__*/e(i,{"data-testid":"design-system-calendar--content",className:"absolute top-[54px] z-30 flex w-[350px] flex-col gap-4 rounded-xl border border-w-gray-200 bg-w-white px-[15px] py-[23px] shadow-graymedium",children:[
43
43
  /*#__PURE__*/t(d,{visibleDate:F,onChange:e=>{I(e)}}),
44
44
  /*#__PURE__*/t(c,{}),
45
- /*#__PURE__*/t(i,{className:"grid w-full grid-cols-7 place-content-center place-items-center gap-1",children:z.map(((e,a)=>{const r=!(!e||!f)&&x(e,v);return e?/*#__PURE__*/t(m,{date:e,selected:r,onChange:E},`${e.year}-${e.month}-${e.date}`):/*#__PURE__*/t(m,{disabled:!0},a)}))})]})]})};export{u as Calendar};
45
+ /*#__PURE__*/t(i,{className:"grid w-full grid-cols-7 place-content-center place-items-center gap-1",children:k.map(((e,a)=>{const r=!(!e||!f)&&x(e,v);return e?/*#__PURE__*/t(m,{date:e,selected:r,onChange:z},`${e.year}-${e.month}-${e.date}`):/*#__PURE__*/t(m,{disabled:!0},a)}))})]})]})};export{u as Calendar};
@@ -1,4 +1,4 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twMerge as a}from"tailwind-merge";import"react";import{SystemIcon as r}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as l}from"../../Base/Typography/Typography.js";import{Box as n}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{getKoreanTimeString as s}from"./Calendar.utils.js";import{dayMap as o}from"./Calendar.constants.js";const i=()=>{const e=Array.from(o.values());/*#__PURE__*/
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twMerge as a}from"tailwind-merge";import"react";import{SystemIcon as r}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as l}from"../../Base/Typography/Typography.js";import{Box as n}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Accordion/Accordion.js";import{getKoreanTimeString as s}from"./Calendar.utils.js";import{dayMap as o}from"./Calendar.constants.js";const i=()=>{const e=Array.from(o.values());/*#__PURE__*/
2
2
  return t(n,{className:"grid w-full grid-cols-7 place-items-center gap-1",children:e.map((e=>/*#__PURE__*/t(n,{className:"flex h-5 items-center justify-center",children:/*#__PURE__*/t(l,{variant:"body3",className:"leading-normal text-w-gray-500",children:e})},e)))})},m=({visibleDate:a,onChange:o})=>{const i=1===(null==a?void 0:a.month),m=12===(null==a?void 0:a.month),{year:c,month:d}=a&&s(a);/*#__PURE__*/
3
3
  return e(n,{className:"flex h-[50px] w-full gap-4",children:[
4
4
  /*#__PURE__*/t(n,{"data-testid":"design-system-calendar--to-prev-month",className:"size-6 cursor-pointer text-gray-600",onClick:()=>{i?null==o||o({year:a.year-1,month:12,date:1}):null==o||o({year:a.year,month:a.month-1,date:1})},children:/*#__PURE__*/t(r,{name:"large_arrow_left",className:"text-gray-600"})}),
@@ -1,4 +1,4 @@
1
- "use client";import{jsxs as e,jsx as r}from"react/jsx-runtime";import{forwardRef as t,useState as o,useEffect as n,useCallback as c}from"react";import"tailwind-merge";import{Box as s}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{CheckboxButton as a}from"./Checkbox.parts.js";function i(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function l(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){i(e,r,t[r])}))}return e}function u(e,r){if(null==e)return{};var t,o,n=function(e,r){if(null==e)return{};var t,o,n={},c=Object.keys(e);for(o=0;o<c.length;o++)t=c[o],r.indexOf(t)>=0||(n[t]=e[t]);return n}
1
+ "use client";import{jsxs as e,jsx as r}from"react/jsx-runtime";import{forwardRef as t,useCallback as o}from"react";import"tailwind-merge";import{Box as n}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{CheckboxButton as c}from"./Checkbox.parts.js";function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){a(e,r,t[r])}))}return e}function l(e,r){if(null==e)return{};var t,o,n=function(e,r){if(null==e)return{};var t,o,n={},c=Object.keys(e);for(o=0;o<c.length;o++)t=c[o],r.indexOf(t)>=0||(n[t]=e[t]);return n}
2
2
  /**
3
3
  * @component
4
4
  * @param {Object} props - 체크박스 컴포넌트 프로퍼티
@@ -27,7 +27,7 @@
27
27
  * console.log('체크박스 상태:', e.target.checked);
28
28
  * };
29
29
  * <Checkbox onChange={handleChange} />
30
- */(e,r);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(o=0;o<c.length;o++)t=c[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}const p=/*#__PURE__*/t(((t,i)=>{var{checked:p=!1,onChange:b,disabled:f=!1,isError:d=!1,type:m="box",className:y}=t,h=u(t,["checked","onChange","disabled","isError","type","className"]);const[g,O]=o(p),[j,k]=o(!1);n((()=>{O(p)}),[p]);const x=c((e=>{f||b&&(b(e),O(e.target.checked),e.target.checked||k(!1))}),[b,f]);/*#__PURE__*/
31
- return e(s,{"data-testid":"design-system-checkbox",className:"group relative flex size-fit",children:[
32
- /*#__PURE__*/r("input",l({ref:i,className:"absolute inset-0 z-10 cursor-pointer opacity-0",type:"checkbox",checked:g,onChange:x,onFocus:()=>{k(!0)},onBlur:()=>{k(!1)},disabled:f},h)),
33
- /*#__PURE__*/r(a,{checked:g,disabled:f,isError:d,isFocused:j,type:m,className:y})]})}));p.displayName="Checkbox";export{p as Checkbox};
30
+ */(e,r);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(o=0;o<c.length;o++)t=c[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}const s=/*#__PURE__*/t(((t,a)=>{var{checked:s=!1,onChange:u,disabled:p=!1,isError:b=!1,type:f="box",className:m}=t,y=l(t,["checked","onChange","disabled","isError","type","className"]);const d=o((e=>{p||null==u||u(e)}),[u,p]);/*#__PURE__*/
31
+ return e(n,{"data-testid":"design-system-checkbox",className:"group relative flex size-fit",children:[
32
+ /*#__PURE__*/r("input",i({ref:a,className:"absolute inset-0 z-10 cursor-pointer opacity-0",type:"checkbox",checked:s,onChange:d,disabled:p},y)),
33
+ /*#__PURE__*/r(c,{checked:s,disabled:p,isError:b,type:f,className:m})]})}));s.displayName="Checkbox";export{s as Checkbox};
@@ -1,2 +1,2 @@
1
1
  import { CheckboxButtonProps } from './Checkbox.types';
2
- export declare const CheckboxButton: ({ type, disabled, checked, isError, isFocused, className, }: CheckboxButtonProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const CheckboxButton: ({ type, disabled, checked, isError, className, }: CheckboxButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,8 @@
1
- import{jsx as r,jsxs as e}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";const o="text-w-white group-hover:text-w-white",s="text-w-gray-200 group-hover:text-w-gray-200",a="stroke-dasharray-[16] stroke-dashoffset-[16] animate-checkbox-check",i=({type:o="box",disabled:s,checked:a=!1,isError:i,isFocused:n,className:h})=>{const w="circle"===o?"rounded-full":"rounded";return"sub"===o?/*#__PURE__*/r(c,{role:"checkbox-button",className:h,checked:a,disabled:s,isError:i}):/*#__PURE__*/e("div",{className:t("group relative box-border cursor-pointer border",{box:"size-4 m-px",circle:"size-[18px]"}[o],w,
1
+ import{jsx as r,jsxs as e}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";const o="text-w-white group-hover:text-w-white",s="text-w-gray-200 group-hover:text-w-gray-200",a="stroke-dasharray-[16] stroke-dashoffset-[16] animate-checkbox-check",i=({type:o="box",disabled:s,checked:a=!1,isError:i,className:n})=>{const h="circle"===o?"rounded-full":"rounded";return"sub"===o?/*#__PURE__*/r(l,{role:"checkbox-button",className:n,checked:a,disabled:s,isError:i}):/*#__PURE__*/e("div",{className:t("group relative box-border cursor-pointer border",!s&&!i&&"group-focus-within:border-primary-500",!s&&!i&&!a&&"group-focus-within:bg-w-white",{box:"size-4 m-px",circle:"size-[18px]"}[o],h,
2
2
  // 비활성화 상태
3
3
  s?a?i?"bg-w-gray-50 border-w-gray-200 cursor-not-allowed":"bg-primary-100 border-primary-100 cursor-not-allowed":"border-w-gray-200 bg-w-gray-50 cursor-not-allowed":
4
- // 포커스 상태 (에러가 없을 때)
5
- n&&!i?a?"bg-primary-500 border-primary-500":"border-primary-500 bg-w-white":
6
4
  // 에러 상태
7
5
  i?a?"border-w-red-500 bg-w-red-500":"border-w-red-500 bg-w-white":
8
6
  // 정상 상태
9
- a?"bg-primary-500 border-primary-500":"group-hover:border-primary-500 border-w-gray-200 bg-white",h),role:"checkbox-button",children:["box"===o&&/*#__PURE__*/r(d,{checked:a,isError:i,disabled:s}),"circle"===o&&/*#__PURE__*/r(l,{checked:a,isError:i,disabled:s})]})},d=({checked:e,isError:i,disabled:d})=>/*#__PURE__*/r("svg",{width:"10",height:"8",viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t("absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2",e&&o,i&&d&&s,!e&&"text-transparent",d&&(!i&&e?o:"text-transparent")),style:{strokeDasharray:e?"16":"0",strokeDashoffset:e?"16":"0"},children:/*#__PURE__*/r("path",{d:"M1 3.8L4 7L9 1",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:e?a:""})}),l=({checked:e,isError:i,disabled:d})=>/*#__PURE__*/r("svg",{width:"10",height:"8",viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t("absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2",e&&o,i&&d&&s,!e&&"text-w-gray-200 group-hover:text-w-primary",i&&!e&&"text-w-red-500 group-hover:text-w-red-500",d&&(!i&&e?o:s)),style:{strokeDasharray:e?"16":"0",strokeDashoffset:e?"16":"0"},children:/*#__PURE__*/r("path",{d:"M1 3.8L4 7L9 1",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:e?a:""})}),c=({role:e,className:o,checked:s,disabled:a,isError:i})=>{const d="text-w-gray-100";/*#__PURE__*/
7
+ a?"bg-primary-500 border-primary-500":"group-hover:border-primary-500 border-w-gray-200 bg-white",n),role:"checkbox-button",children:["box"===o&&/*#__PURE__*/r(d,{checked:a,isError:i,disabled:s}),"circle"===o&&/*#__PURE__*/r(c,{checked:a,isError:i,disabled:s})]})},d=({checked:e,isError:i,disabled:d})=>/*#__PURE__*/r("svg",{width:"10",height:"8",viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t("absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2",e&&o,i&&d&&s,!e&&"text-transparent",d&&(!i&&e?o:"text-transparent")),style:{strokeDasharray:e?"16":"0",strokeDashoffset:e?"16":"0"},children:/*#__PURE__*/r("path",{d:"M1 3.8L4 7L9 1",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:e?a:""})}),c=({checked:e,isError:i,disabled:d})=>/*#__PURE__*/r("svg",{width:"10",height:"8",viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t("absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2",e&&o,i&&d&&s,!e&&"text-w-gray-200 group-hover:text-w-primary",i&&!e&&"text-w-red-500 group-hover:text-w-red-500",d&&(!i&&e?o:s)),style:{strokeDasharray:e?"16":"0",strokeDashoffset:e?"16":"0"},children:/*#__PURE__*/r("path",{d:"M1 3.8L4 7L9 1",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:e?a:""})}),l=({role:e,className:o,checked:s,disabled:a,isError:i})=>{const d="text-w-gray-100";/*#__PURE__*/
10
8
  return r("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:e,className:t("cursor-pointer",a&&"cursor-not-allowed",i?a?d:"text-w-red-500":a?s?"text-primary-100":d:s?"text-primary":"text-w-gray-200",o),"data-testid":"design-system--sub-checkbox",children:/*#__PURE__*/r("path",{d:"M4 8.76667L7.75004 12.5L14.0001 5.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})};export{i as CheckboxButton};
@@ -7,10 +7,10 @@ import { CheckboxCardProps } from './CheckboxCard.types';
7
7
  * @param {boolean} [props.disabled=false] - 컴포넌트의 비활성화 여부
8
8
  * @param {boolean} [props.checked=false] - 체크박스의 선택 상태
9
9
  * @param {boolean} [props.isError=false] - 오류 상태 표시 여부
10
- * @param {(event: React.ChangeEvent<HTMLInputElement>) => void} props.onChange - 체크박스 상태 변경 시 호출되는 핸들러
10
+ * @param {(event: ChangeEvent<HTMLInputElement>) => void} props.onChange - 체크박스 상태 변경 시 호출되는 핸들러
11
11
  * @param {boolean} [props.isWide=false] - 넓은 형태로 표시할지 여부
12
12
  * @param {string} [props.className] - 추가적인 CSS 클래스
13
- * @param {string} props.iconName - 표시할 아이콘의 이름
13
+ * @param {ProductIconName} [props.iconName] - 표시할 아이콘의 이름
14
14
  * @param {string} props.title - 카드의 제목
15
15
  * @param {string} [props.description] - 카드의 설명 텍스트
16
16
  * @param {string} [props.testId] - 테스트를 위한 ID
@@ -1,8 +1,8 @@
1
- "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import"react";import{twMerge as a}from"tailwind-merge";import{Typography as r}from"../../Base/Typography/Typography.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{CheckboxCardContainer as s,StyledCheckbox as i,CheckboxCardIcon as d,TitleContainer as o}from"./CheckboxCard.parts.js";const c=c=>{const{disabled:l=!1,checked:n=!1,isError:m=!1,onChange:h,isWide:x=!1,containerClassName:p,className:y,iconName:g,title:b,description:u,testId:k,name:C,value:f}=c,B=null!=g?g:x?null:"receipt";/*#__PURE__*/
2
- return e("label",{"data-testid":k,role:"checkbox-card",className:a("group",p),children:/*#__PURE__*/t(s,{"data-testid":"design-system-checkboxCard--container",checked:n,isError:m,isWide:x,disabled:l,className:y,children:[
3
- /*#__PURE__*/e(i,{isWide:x,checked:n,onChange:h,isError:m,disabled:l,name:C,value:f}),B&&/*#__PURE__*/e(d,{isError:m,checked:n,iconName:B,disabled:l}),
1
+ "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import{twMerge as a}from"tailwind-merge";import{Typography as r}from"../../Base/Typography/Typography.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{CheckboxCardContainer as s,StyledCheckbox as i,CheckboxCardIcon as d,TitleContainer as o}from"./CheckboxCard.parts.js";const c=c=>{const{disabled:n=!1,checked:l=!1,isError:m=!1,onChange:h,isWide:x=!1,containerClassName:p,className:y,iconName:g,title:b,description:u,testId:k,name:C,value:f}=c,B=null!=g?g:x?void 0:"receipt";/*#__PURE__*/
2
+ return e("label",{"data-testid":k,role:"checkbox-card",className:a("group",p),children:/*#__PURE__*/t(s,{"data-testid":"design-system-checkboxCard--container",checked:l,isError:m,isWide:x,disabled:n,className:y,children:[
3
+ /*#__PURE__*/e(i,{isWide:x,checked:l,onChange:h,isError:m,disabled:n,name:C,value:f}),B&&/*#__PURE__*/e(d,{isError:m,checked:l,iconName:B,disabled:n}),
4
4
  /*#__PURE__*/t(o,{isWide:x,"data-testid":"design-system-checkboxCard--titleBox",children:[
5
- /*#__PURE__*/e(r,{"data-testid":"design-system-checkboxCard--title",variant:"body1",className:a("font-medium",x?"text-left":"text-center",l?"text-w-gray-300":"text-w-gray-900"),children:b}),u&&/*#__PURE__*/e(r,{variant:"body2",className:a("font-normal",x?"text-left":"text-center",l?"text-w-gray-300":"text-w-gray-600"),"data-testid":"design-system-checkboxCard--description",children:u})]})]})})};
5
+ /*#__PURE__*/e(r,{"data-testid":"design-system-checkboxCard--title",variant:"body1",className:a("font-medium",x?"text-left":"text-center",n?"text-w-gray-300":"text-w-gray-900"),children:b}),u&&/*#__PURE__*/e(r,{variant:"body2",className:a("font-normal",x?"text-left":"text-center",n?"text-w-gray-300":"text-w-gray-600"),"data-testid":"design-system-checkboxCard--description",children:u})]})]})})};
6
6
  /**
7
7
  * 체크박스와 함께 아이콘, 제목, 설명을 포함하는 카드 형태의 선택 컴포넌트입니다.
8
8
  *
@@ -11,10 +11,10 @@ return e("label",{"data-testid":k,role:"checkbox-card",className:a("group",p),ch
11
11
  * @param {boolean} [props.disabled=false] - 컴포넌트의 비활성화 여부
12
12
  * @param {boolean} [props.checked=false] - 체크박스의 선택 상태
13
13
  * @param {boolean} [props.isError=false] - 오류 상태 표시 여부
14
- * @param {(event: React.ChangeEvent<HTMLInputElement>) => void} props.onChange - 체크박스 상태 변경 시 호출되는 핸들러
14
+ * @param {(event: ChangeEvent<HTMLInputElement>) => void} props.onChange - 체크박스 상태 변경 시 호출되는 핸들러
15
15
  * @param {boolean} [props.isWide=false] - 넓은 형태로 표시할지 여부
16
16
  * @param {string} [props.className] - 추가적인 CSS 클래스
17
- * @param {string} props.iconName - 표시할 아이콘의 이름
17
+ * @param {ProductIconName} [props.iconName] - 표시할 아이콘의 이름
18
18
  * @param {string} props.title - 카드의 제목
19
19
  * @param {string} [props.description] - 카드의 설명 텍스트
20
20
  * @param {string} [props.testId] - 테스트를 위한 ID
@@ -1,4 +1,4 @@
1
- import{jsx as e}from"react/jsx-runtime";import{twMerge as r,twJoin as t}from"tailwind-merge";import"react";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Box as o}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{ProductIcon as i}from"../../DataDisplays/ProductIcon/ProductIcon.js";import{Checkbox as n}from"../Checkbox/Checkbox.js";function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){c(e,r,t[r])}))}return e}function a(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function l(e,r){if(null==e)return{};var t,o,i=function(e,r){if(null==e)return{};var t,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}const p=t=>{var{children:o,isWide:i,checked:n,isError:c,disabled:p,className:d}=t,b=l(t,["children","isWide","checked","isError","disabled","className"]);/*#__PURE__*/
2
- return e("div",a(s({className:r("relative flex h-auto cursor-pointer items-center gap-2 rounded-xl border",i?"min-h-[94px] w-[298px] flex-row gap-3 px-5 py-4":"min-h-fit w-[224px] flex-col justify-center px-4 pb-6 pt-4",p?r("cursor-not-allowed",n&&!c?"border-primary-100":"border-w-gray-200"):c?"border-w-red-500":n?"border-primary-500":"border-w-gray-200 group-hover:border-primary",p?n&&!c?"bg-primary-10":"bg-w-gray-10":n?c?"bg-w-red-10":"bg-primary-10":"bg-w-white",d)},b),{children:o}))},d=({isWide:t,children:o})=>/*#__PURE__*/e("div",{className:r("flex h-auto w-full flex-col justify-between gap-0.5",t?"items-start":"items-center"),children:o}),b=i=>{var{isWide:c,className:a}=i,p=l(i,["isWide","className"]);const d=!c;/*#__PURE__*/
1
+ import{jsx as e}from"react/jsx-runtime";import{twMerge as r,twJoin as t}from"tailwind-merge";import"react";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Box as o}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{ProductIcon as i}from"../../DataDisplays/ProductIcon/ProductIcon.js";import"../../DataDisplays/Accordion/Accordion.js";import{Checkbox as n}from"../Checkbox/Checkbox.js";function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){c(e,r,t[r])}))}return e}function a(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function l(e,r){if(null==e)return{};var t,o,i=function(e,r){if(null==e)return{};var t,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}const p=t=>{var{children:o,isWide:i,checked:n,isError:c,disabled:p,className:d}=t,b=l(t,["children","isWide","checked","isError","disabled","className"]);/*#__PURE__*/
2
+ return e("div",a(s({className:r("relative flex h-auto cursor-pointer items-center gap-2 rounded-xl border",i?"min-h-[94px] w-[298px] flex-row gap-3 px-5 py-4":"min-h-fit w-[224px] flex-col justify-center px-4 pb-6 pt-4",!p&&!c&&"group-focus-within:border-primary-500",p?r("cursor-not-allowed",n&&!c?"border-primary-100":"border-w-gray-200"):c?"border-w-red-500":n?"border-primary-500":"border-w-gray-200 group-hover:border-primary",p?n&&!c?"bg-primary-10":"bg-w-gray-10":n?c?"bg-w-red-10":"bg-primary-10":"bg-w-white",d)},b),{children:o}))},d=({isWide:t,children:o})=>/*#__PURE__*/e("div",{className:r("flex h-auto w-full flex-col justify-between gap-0.5",t?"items-start":"items-center"),children:o}),b=i=>{var{isWide:c,className:a}=i,p=l(i,["isWide","className"]);const d=!c;/*#__PURE__*/
3
3
  return e(o,{className:t(d&&"absolute left-[17px] top-[17px]"),children:/*#__PURE__*/e(n,s({className:r(d&&"group-hover:border-primary-500",a)},p))})},u=({iconName:t,disabled:o,checked:n,isError:c})=>{const s=c||!n;/*#__PURE__*/
4
4
  return e("div",{className:r("flex size-[60px] flex-shrink-0 items-center justify-center",o&&"opacity-30"),"data-testid":"design-system-checkboxCard--icon",children:/*#__PURE__*/e(i,{name:t,disabled:s})})};export{p as CheckboxCardContainer,u as CheckboxCardIcon,b as StyledCheckbox,d as TitleContainer};
@@ -1,4 +1,4 @@
1
- "use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twJoin as r}from"tailwind-merge";import{forwardRef as n,useState as o,useEffect as c}from"react";import{SystemIcon as i}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as a}from"../../Base/Typography/Typography.js";import{Box as s}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{generateLeadingIconColor as l,generateLabelStyle as p,generateTrailingIconStyle as m,generateBackgroundColor as y,generateBackgroundPadding as u}from"./ChoiceChip.styles.js";function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){f(e,t,r[t])}))}return e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function h(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}
1
+ "use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twJoin as r}from"tailwind-merge";import{forwardRef as n,useState as o,useEffect as c}from"react";import{SystemIcon as i}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as a}from"../../Base/Typography/Typography.js";import{Box as s}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Accordion/Accordion.js";import{generateLeadingIconColor as l,generateLabelStyle as p,generateTrailingIconStyle as m,generateBackgroundColor as y,generateBackgroundPadding as u}from"./ChoiceChip.styles.js";function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){f(e,t,r[t])}))}return e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function h(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},c=Object.keys(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}
2
2
  /**
3
3
  * 선택 가능한 칩 컴포넌트입니다.
4
4
  *
@@ -36,9 +36,9 @@
36
36
  * checked={true}
37
37
  * onChange={(e) => console.log('선택 상태:', e.target.checked)}
38
38
  * />
39
- */(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}const g=/*#__PURE__*/n(((n,f)=>{var{label:g,checked:O=!1,error:j=!1,leadingIcon:w,trailingIcon:P,onChange:v}=n,x=h(n,["label","checked","error","leadingIcon","trailingIcon","onChange"]);const[C,S]=o(O);c((()=>{S(O)}),[O]);/*#__PURE__*/
39
+ */(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}const g=/*#__PURE__*/n(((n,f)=>{var{label:g,checked:O=!1,error:j=!1,leadingIcon:w,trailingIcon:P,onChange:v}=n,x=h(n,["label","checked","error","leadingIcon","trailingIcon","onChange"]);const[C,D]=o(O);c((()=>{D(O)}),[O]);/*#__PURE__*/
40
40
  return e("label",{children:[
41
- /*#__PURE__*/t("input",d(b({type:"checkbox",checked:C,className:"absolute h-0 w-0 opacity-0",onChange:e=>{v&&(v(e),S(e.target.checked))}},x),{ref:f})),
41
+ /*#__PURE__*/t("input",b(d({type:"checkbox",checked:C,className:"absolute h-0 w-0 opacity-0",onChange:e=>{v&&(v(e),D(e.target.checked))}},x),{ref:f})),
42
42
  /*#__PURE__*/e("div",{"data-testid":"design-system-choiceChip",className:r("flex w-fit cursor-pointer select-none items-center gap-2 rounded-full",y(C,j),u(!!w)),children:[w&&/*#__PURE__*/t(s,{className:"flex size-8 items-center justify-center rounded-full bg-w-white p-0.5","data-testid":"design-system-choiceChip--leading-icon-container",children:/*#__PURE__*/t(i,{name:w,className:l(C,j)})}),
43
43
  /*#__PURE__*/e(s,{className:"flex items-center gap-1.5",children:[
44
44
  /*#__PURE__*/t(a,{"data-testid":"design-system-choiceChip-label",variant:"body1",className:p(C,j),children:g}),P&&/*#__PURE__*/t(i,{name:P,className:m(C,j)})]})]})]})}));g.displayName="ChoiceChip";export{g as ChoiceChip};
@@ -1,11 +1,11 @@
1
- "use client";import{jsxs as e,jsx as t,Fragment as r}from"react/jsx-runtime";import{forwardRef as l}from"react";import{twMerge as a}from"tailwind-merge";import{Typography as n}from"../../Base/Typography/Typography.js";import{Box as s}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{Avatar as i}from"../../DataDisplays/Avatar/Avatar.js";import{SystemIcon as o}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Divider as c}from"../../DataDisplays/Divider/Divider.js";import{Button as m}from"../Button/Button.js";import{CheckboxListItem as d}from"../CheckboxListItem/CheckboxListItem.js";function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},l=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(l=l.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),l.forEach((function(t){u(e,t,r[t])}))}return e}function p(e,t){if(null==e)return{};var r,l,a=function(e,t){if(null==e)return{};var r,l,a={},n=Object.keys(e);for(l=0;l<n.length;l++)r=n[l],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l<n.length;l++)r=n[l],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}const y=({userId:r,imgUrl:l=""})=>/*#__PURE__*/e(s,{className:"flex items-center gap-2",children:[
2
- /*#__PURE__*/t(i,{imgUrl:l,size:"sm"}),
3
- /*#__PURE__*/t(n,{variant:"body1",className:"w-full font-medium text-w-gray-600",children:r})]}),b=({guideText:e})=>/*#__PURE__*/t(s,{className:"w-full bg-w-gray-10 text-w-gray-500",children:/*#__PURE__*/t("ul",{className:"flex flex-col gap-0.5 typo-body2",children:"string"==typeof e?/*#__PURE__*/t("li",{className:'before:mr-2 before:inline-flex before:items-center before:justify-center before:content-["•"]',children:e}):/*#__PURE__*/t(r,{children:null==e?void 0:e.map((e=>/*#__PURE__*/t("li",{className:'before:mr-2 before:inline-flex before:items-center before:justify-center before:content-["•"]',children:e},e)))})})}),g=/*#__PURE__*/l(((l,n)=>{var{imgUrl:i,userId:u,isReply:g,guideText:h,buttonName:x,isSelected:w,optionMessage:j,cancelButtonName:N="취소",onClose:v,onSubmit:O,onCheck:k}=l,C=p(l,["imgUrl","userId","isReply","guideText","buttonName","isSelected","optionMessage","cancelButtonName","onClose","onSubmit","onCheck"]);const{value:S,className:B,disabled:D,spellCheck:I=!1,children:A}=C,P=p(C,["value","className","disabled","spellCheck","children"]),T=""===S.trim(),U=!u||T||D,z=u&&j;/*#__PURE__*/
4
- return e(s,{"data-testid":"design-system-commentArea--full-container",className:a("flex w-full items-start gap-4",B),children:[g&&/*#__PURE__*/t(o,{name:"medium_reply",className:"shrink-0 text-w-gray-400"}),
5
- /*#__PURE__*/e(s,{"data-testid":"design-system-commentArea--container",className:"w-full rounded-xl border border-w-gray-200 bg-w-white",children:[
6
- /*#__PURE__*/t(s,{className:"flex w-full flex-col gap-2 px-4 py-3",children:A?/*#__PURE__*/t(s,{className:"h-[98px]",children:A}):/*#__PURE__*/e(r,{children:[u&&/*#__PURE__*/t(y,{imgUrl:i,userId:u}),
7
- /*#__PURE__*/t("textarea",f({"data-testid":"design-system-commentArea",ref:n,value:S,spellCheck:I,disabled:D||!u,className:"h-[63px] w-full resize-none border-none bg-transparent tracking-default text-w-gray-900 outline-none placeholder:font-normal placeholder:text-w-gray-300 placeholder:typo-body1"},P))]})}),h&&/*#__PURE__*/t(s,{"data-testid":"design-system-commentArea--guide-message",className:"w-full bg-w-gray-10 px-4 py-2 text-w-gray-500",children:/*#__PURE__*/t(b,{guideText:h})}),
1
+ "use client";import{jsxs as e,jsx as t,Fragment as r}from"react/jsx-runtime";import{forwardRef as a}from"react";import{twMerge as l}from"tailwind-merge";import{Typography as s}from"../../Base/Typography/Typography.js";import{Box as n}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{Avatar as i}from"../../DataDisplays/Avatar/Avatar.js";import{SystemIcon as o}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Divider as c}from"../../DataDisplays/Divider/Divider.js";import"../../DataDisplays/Accordion/Accordion.js";import{Button as m}from"../Button/Button.js";import{CheckboxListItem as d}from"../CheckboxListItem/CheckboxListItem.js";function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},a=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),a.forEach((function(t){u(e,t,r[t])}))}return e}function p(e,t){if(null==e)return{};var r,a,l=function(e,t){if(null==e)return{};var r,a,l={},s=Object.keys(e);for(a=0;a<s.length;a++)r=s[a],t.indexOf(r)>=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}const y=({userId:r,imgUrl:a=""})=>/*#__PURE__*/e(n,{className:"flex items-center gap-2",children:[
2
+ /*#__PURE__*/t(i,{imgUrl:a,size:"sm"}),
3
+ /*#__PURE__*/t(s,{variant:"body1",className:"w-full font-medium text-w-gray-600",children:r})]}),b=({guideText:e})=>/*#__PURE__*/t(n,{className:"w-full bg-w-gray-10 text-w-gray-500",children:/*#__PURE__*/t("ul",{className:"flex flex-col gap-0.5 typo-body2",children:"string"==typeof e?/*#__PURE__*/t("li",{className:'before:mr-2 before:inline-flex before:items-center before:justify-center before:content-["•"]',children:e}):/*#__PURE__*/t(r,{children:null==e?void 0:e.map((e=>/*#__PURE__*/t("li",{className:'before:mr-2 before:inline-flex before:items-center before:justify-center before:content-["•"]',children:e},e)))})})}),g=/*#__PURE__*/a(((a,s)=>{var{imgUrl:i,userId:u,isReply:g,guideText:h,buttonName:x,isSelected:w,optionMessage:j,cancelButtonName:N="취소",onClose:v,onSubmit:O,onCheck:k}=a,C=p(a,["imgUrl","userId","isReply","guideText","buttonName","isSelected","optionMessage","cancelButtonName","onClose","onSubmit","onCheck"]);const{value:D,className:S,disabled:A,spellCheck:B=!1,children:I}=C,P=p(C,["value","className","disabled","spellCheck","children"]),T=""===D.trim(),U=!u||T||A,z=u&&j;/*#__PURE__*/
4
+ return e(n,{"data-testid":"design-system-commentArea--full-container",className:l("flex w-full items-start gap-4",S),children:[g&&/*#__PURE__*/t(o,{name:"medium_reply",className:"shrink-0 text-w-gray-400"}),
5
+ /*#__PURE__*/e(n,{"data-testid":"design-system-commentArea--container",className:"w-full rounded-xl border border-w-gray-200 bg-w-white",children:[
6
+ /*#__PURE__*/t(n,{className:"flex w-full flex-col gap-2 px-4 py-3",children:I?/*#__PURE__*/t(n,{className:"h-[98px]",children:I}):/*#__PURE__*/e(r,{children:[u&&/*#__PURE__*/t(y,{imgUrl:i,userId:u}),
7
+ /*#__PURE__*/t("textarea",f({"data-testid":"design-system-commentArea",ref:s,value:D,spellCheck:B,disabled:A||!u,className:"h-[63px] w-full resize-none border-none bg-transparent tracking-default text-w-gray-900 outline-none placeholder:font-normal placeholder:text-w-gray-300 placeholder:typo-body1"},P))]})}),h&&/*#__PURE__*/t(n,{"data-testid":"design-system-commentArea--guide-message",className:"w-full bg-w-gray-10 px-4 py-2 text-w-gray-500",children:/*#__PURE__*/t(b,{guideText:h})}),
8
8
  /*#__PURE__*/t(c,{}),
9
- /*#__PURE__*/e(s,{"data-testid":"design-system-commentArea--buttons",className:a("flex w-full items-center justify-end px-4 py-3",z&&"justify-between"),children:[z&&/*#__PURE__*/t(d,{label:j,checked:w,onChange:k,disabled:D||!u}),
10
- /*#__PURE__*/e(s,{className:"flex w-fit shrink-0 items-center gap-3",children:[g&&/*#__PURE__*/t(m,{size:"sm",onClick:v,color:"gray",children:N}),
9
+ /*#__PURE__*/e(n,{"data-testid":"design-system-commentArea--buttons",className:l("flex w-full items-center justify-end px-4 py-3",z&&"justify-between"),children:[z&&/*#__PURE__*/t(d,{label:j,checked:w,onChange:k,disabled:A||!u}),
10
+ /*#__PURE__*/e(n,{className:"flex w-fit shrink-0 items-center gap-3",children:[g&&/*#__PURE__*/t(m,{size:"sm",onClick:v,color:"gray",children:N}),
11
11
  /*#__PURE__*/t(m,{variant:"solid",size:"sm",disabled:U,onClick:O,children:x})]})]})]})]})}));g.displayName="CommentArea";export{g as CommentArea};