@wishket/design-system 3.4.2 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/Components/Base/Typography/Typography.d.ts +0 -9
  2. package/dist/Components/Base/Typography/Typography.js +2 -2
  3. package/dist/Components/DataDisplays/ImageLabel/ImageLabel.js +1 -1
  4. package/dist/Components/Feedbacks/DialogBox/DialogBox.js +6 -6
  5. package/dist/Components/Feedbacks/GlobalLoadingIndicator/GlobalLoadingIndicator.js +1 -1
  6. package/dist/Components/Feedbacks/Tooltip/Tooltip.js +3 -3
  7. package/dist/Components/Inputs/AutoCompleteList/AutoCompleteList.d.ts +2 -2
  8. package/dist/Components/Inputs/AutoCompleteList/AutoCompleteList.js +22 -7
  9. package/dist/Components/Inputs/AutoCompleteList/AutoCompleteList.types.d.ts +17 -0
  10. package/dist/Components/Inputs/Autocomplete/Autocomplete.d.ts +3 -1
  11. package/dist/Components/Inputs/Autocomplete/Autocomplete.js +28 -5
  12. package/dist/Components/Inputs/Autocomplete/Autocomplete.types.d.ts +18 -0
  13. package/dist/Components/Inputs/Checkbox/Checkbox.js +4 -4
  14. package/dist/Components/Inputs/Checkbox/Checkbox.parts.js +3 -3
  15. package/dist/Components/Inputs/Checkbox/Checkbox.types.d.ts +0 -1
  16. package/dist/Components/Inputs/CheckboxCard/CheckboxCard.js +4 -4
  17. package/dist/Components/Inputs/CheckboxCard/CheckboxCard.parts.js +4 -4
  18. package/dist/Components/Inputs/FileUploader/FileUploader.js +4 -4
  19. package/dist/Components/Inputs/IconButtonDropdown/IconButtonDropdown.js +4 -4
  20. package/dist/Components/Inputs/Input/Input.js +1 -1
  21. package/dist/Components/Inputs/Input/PasswordInput.js +3 -3
  22. package/dist/Components/Inputs/InputChip/InputChip.d.ts +16 -3
  23. package/dist/Components/Inputs/InputChip/InputChip.js +13 -4
  24. package/dist/Components/Inputs/Radio/Radio.js +5 -5
  25. package/dist/Components/Inputs/RadioCard/RadioCard.js +5 -5
  26. package/dist/Components/Inputs/RadioCard/RadioCard.parts.js +4 -4
  27. package/dist/Components/Inputs/RangeSlider/RangeSlider.js +2 -2
  28. package/dist/Components/Inputs/SearchField/SearchField.js +5 -5
  29. package/dist/Components/Inputs/TextField/TextField.js +1 -1
  30. package/dist/Components/Inputs/TextFieldDropdown/TextFieldDropdown.d.ts +24 -3
  31. package/dist/Components/Inputs/TextFieldDropdown/TextFieldDropdown.js +10 -54
  32. package/dist/Components/Inputs/TextFieldDropdown/TextFieldDropdown.parts.d.ts +9 -0
  33. package/dist/Components/Inputs/TextFieldDropdown/TextFieldDropdown.parts.js +1 -1
  34. package/dist/Components/Inputs/TextFieldTrigger/TextFieldTrigger.d.ts +73 -0
  35. package/dist/Components/Inputs/TextFieldTrigger/TextFieldTrigger.js +62 -0
  36. package/dist/Components/Inputs/TextFieldTrigger/index.d.ts +2 -0
  37. package/dist/Components/Inputs/Textarea/Textarea.js +4 -4
  38. package/dist/Components/Inputs/index.d.ts +1 -0
  39. package/dist/Components/Navigations/Drawer/Drawer.js +3 -3
  40. package/dist/Components/Navigations/Menu/MenuBase.js +3 -3
  41. package/dist/Components/Utils/BackDrop/BackDrop.js +1 -1
  42. package/dist/Components/Utils/BackDropLiftContainer/BackDropLiftContainer.js +2 -2
  43. package/dist/Components/Utils/BottomModalContainer/BottomModalContainer.js +1 -1
  44. package/dist/Components/Utils/FullModalContainer/FullModalContainer.js +1 -1
  45. package/dist/Components/Utils/Modal/Modal.js +3 -3
  46. package/dist/Components/Utils/ModalContainer/ModalContainer.js +2 -2
  47. package/dist/Components/Wrappers/WithBadge/WithBadge.js +2 -2
  48. package/dist/Components/Wrappers/WithSnackBar/WithSnackBar.js +3 -3
  49. package/dist/ai/tokens.json +1538 -0
  50. package/dist/cjs/Components/Base/Typography/Typography.js +1 -1
  51. package/dist/cjs/Components/DataDisplays/ImageLabel/ImageLabel.js +3 -3
  52. package/dist/cjs/Components/Feedbacks/DialogBox/DialogBox.js +6 -6
  53. package/dist/cjs/Components/Feedbacks/GlobalLoadingIndicator/GlobalLoadingIndicator.js +1 -1
  54. package/dist/cjs/Components/Feedbacks/Tooltip/Tooltip.js +3 -3
  55. package/dist/cjs/Components/Inputs/AutoCompleteList/AutoCompleteList.js +22 -7
  56. package/dist/cjs/Components/Inputs/Autocomplete/Autocomplete.js +25 -4
  57. package/dist/cjs/Components/Inputs/Checkbox/Checkbox.js +4 -4
  58. package/dist/cjs/Components/Inputs/Checkbox/Checkbox.parts.js +5 -5
  59. package/dist/cjs/Components/Inputs/CheckboxCard/CheckboxCard.js +4 -4
  60. package/dist/cjs/Components/Inputs/CheckboxCard/CheckboxCard.parts.js +4 -4
  61. package/dist/cjs/Components/Inputs/FileUploader/FileUploader.js +6 -6
  62. package/dist/cjs/Components/Inputs/IconButtonDropdown/IconButtonDropdown.js +3 -3
  63. package/dist/cjs/Components/Inputs/Input/Input.js +2 -2
  64. package/dist/cjs/Components/Inputs/Input/PasswordInput.js +2 -2
  65. package/dist/cjs/Components/Inputs/InputChip/InputChip.js +36 -2
  66. package/dist/cjs/Components/Inputs/Radio/Radio.js +6 -6
  67. package/dist/cjs/Components/Inputs/RadioCard/RadioCard.js +4 -4
  68. package/dist/cjs/Components/Inputs/RadioCard/RadioCard.parts.js +4 -4
  69. package/dist/cjs/Components/Inputs/RangeSlider/RangeSlider.js +3 -3
  70. package/dist/cjs/Components/Inputs/SearchField/SearchField.js +3 -3
  71. package/dist/cjs/Components/Inputs/TextField/TextField.js +2 -2
  72. package/dist/cjs/Components/Inputs/TextFieldDropdown/TextFieldDropdown.js +10 -8
  73. package/dist/cjs/Components/Inputs/TextFieldDropdown/TextFieldDropdown.parts.js +1 -1
  74. package/dist/cjs/Components/Inputs/TextFieldTrigger/TextFieldTrigger.js +62 -0
  75. package/dist/cjs/Components/Inputs/Textarea/Textarea.js +5 -5
  76. package/dist/cjs/Components/Navigations/Drawer/Drawer.js +3 -3
  77. package/dist/cjs/Components/Navigations/Menu/MenuBase.js +3 -3
  78. package/dist/cjs/Components/Utils/BackDrop/BackDrop.js +1 -1
  79. package/dist/cjs/Components/Utils/BackDropLiftContainer/BackDropLiftContainer.js +2 -2
  80. package/dist/cjs/Components/Utils/BottomModalContainer/BottomModalContainer.js +1 -1
  81. package/dist/cjs/Components/Utils/FullModalContainer/FullModalContainer.js +1 -1
  82. package/dist/cjs/Components/Utils/Modal/Modal.js +2 -2
  83. package/dist/cjs/Components/Utils/ModalContainer/ModalContainer.js +2 -2
  84. package/dist/cjs/Components/Wrappers/WithBadge/WithBadge.js +1 -1
  85. package/dist/cjs/Components/Wrappers/WithSnackBar/WithSnackBar.js +1 -1
  86. package/dist/cjs/index.js +1 -1
  87. package/dist/index.js +1 -1
  88. package/package.json +8 -5
  89. package/scripts/codemods/add-as-link.ts +9 -5
  90. package/scripts/codemods/menu-split.ts +25 -11
@@ -8,4 +8,4 @@ return e.jsx(f,o(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arg
8
8
  * @param {string} [props.className] - 추가적인 CSS 클래스
9
9
  * @param {keyof JSX.IntrinsicElements} [props.as='span'] - 렌더링할 HTML 요소
10
10
  * @param {Ref} [props.ref] - 렌더된 요소로 forward되는 ref. as에 따라 추론
11
- */exports.Typography=s;
11
+ */s.displayName="Typography";const l=s;exports.Typography=l;
@@ -1,6 +1,6 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("react");var s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var t=require("./parts/NewCircle.js"),a=require("./parts/New.js"),i=require("./parts/Beta.js"),u=require("./parts/Ai.js");exports.ImageLabel=({type:l})=>{const c=()=>{switch(l){case"new_circle":/*#__PURE__*/
2
- return e.jsx(t.NewCircle,{});case"new":/*#__PURE__*/
3
- return e.jsx(a.New,{});case"beta":/*#__PURE__*/
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("../../Base/Typography/Typography.js");var s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var a=require("./parts/NewCircle.js"),t=require("./parts/New.js"),i=require("./parts/Beta.js"),u=require("./parts/Ai.js");require("react");exports.ImageLabel=({type:l})=>{const c=()=>{switch(l){case"new_circle":/*#__PURE__*/
2
+ return e.jsx(a.NewCircle,{});case"new":/*#__PURE__*/
3
+ return e.jsx(t.New,{});case"beta":/*#__PURE__*/
4
4
  return e.jsx(i.Beta,{});case"ai":/*#__PURE__*/
5
5
  return e.jsx(u.Ai,{});default:return null}};/*#__PURE__*/
6
6
  return e.jsx(s.Box,{"data-testid":"design-system-imageLabel",className:r.twJoin("text-primary h-fit w-fit","new_circle"!==l&&"pb-1.5"),children:/*#__PURE__*/e.jsx(c,{})})};
@@ -1,6 +1,6 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge"),a=require("../../Base/Typography/Typography.js"),o=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var s=require("../../Inputs/Button/Button.js");exports.DialogBox=({title:l,description:t,variant:i="primary",onClose:n,onConfirm:c,confirm:u,close:d="닫기",testId:x})=>{const g="caution"===i;/*#__PURE__*/
2
- return e.jsxs(o.Box,{className:"bg-w-white shadow-modal tablet:w-[400px] flex h-fit max-w-[calc(100vw-40px)] flex-col items-center gap-8 rounded-3xl p-8 font-normal not-italic","data-testid":x||"design-system--dialog-box",children:[
3
- /*#__PURE__*/e.jsxs(o.Box,{className:"flex w-full flex-col gap-6",children:[
4
- /*#__PURE__*/e.jsx(a.Typography,{variant:"subTitle18",className:"text-w-gray-900 font-medium",children:l}),
5
- /*#__PURE__*/e.jsx(a.Typography,{variant:"body16",className:"text-w-gray-800 whitespace-break-spaces",children:t})]}),
6
- /*#__PURE__*/e.jsxs(o.Box,{className:"flex w-full items-center justify-end gap-4",children:[d&&/*#__PURE__*/e.jsx(s.Button,{role:"close",onClick:n,variant:"solid",className:"border-w-bluegray-200 bg-w-bluegray-200 hover:border-w-bluegray-300 hover:bg-w-bluegray-300",children:d}),u&&/*#__PURE__*/e.jsx(s.Button,{role:"confirm",onClick:c,variant:"solid",className:r.twJoin(g&&"border-w-orange-500 bg-w-orange-500 hover:border-w-orange-600 hover:bg-w-orange-600"),children:u})]})]})};
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge"),a=require("../../Base/Typography/Typography.js"),s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var o=require("../../Inputs/Button/Button.js");exports.DialogBox=({title:t,description:l,variant:i="primary",onClose:n,onConfirm:c,confirm:u,close:d="닫기",testId:x})=>{const g="caution"===i;/*#__PURE__*/
2
+ return e.jsxs(s.Box,{className:"bg-w-white shadow-modal tablet:w-[400px] flex h-fit max-w-[calc(100vw-40px)] flex-col items-center gap-8 rounded-3xl p-8 font-normal not-italic","data-testid":x||"design-system--dialog-box",children:[
3
+ /*#__PURE__*/e.jsxs(s.Box,{className:"flex w-full flex-col gap-6",children:[
4
+ /*#__PURE__*/e.jsx(a.Typography,{variant:"subTitle18",className:"text-w-gray-900 font-medium",children:t}),
5
+ /*#__PURE__*/e.jsx(a.Typography,{variant:"body16",className:"text-w-gray-800 whitespace-break-spaces",children:l})]}),
6
+ /*#__PURE__*/e.jsxs(s.Box,{className:"flex w-full items-center justify-end gap-4",children:[d&&/*#__PURE__*/e.jsx(o.Button,{onClick:n,variant:"solid",className:"border-w-bluegray-200 bg-w-bluegray-200 hover:border-w-bluegray-300 hover:bg-w-bluegray-300",children:d}),u&&/*#__PURE__*/e.jsx(o.Button,{onClick:c,variant:"solid",className:r.twJoin(g&&"border-w-orange-500 bg-w-orange-500 hover:border-w-orange-600 hover:bg-w-orange-600"),children:u})]})]})};
@@ -1 +1 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),t=require("react");require("tailwind-merge"),require("@wishket/yogokit"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js");var r=require("../../Utils/Portal/Portal.js"),s=require("../LoadingIndicator/LoadingIndicator.js");function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},s=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),s.forEach((function(t){n(e,t,r[t])}))}return e}class i{static getInstance(){return i.instance||(i.instance=new i),i.instance}register(e){this.loaderIds.includes(e)||this.loaderIds.push(e)}unregister(e){this.loaderIds=this.loaderIds.filter((t=>t!==e))}getIsLastIndex(e){return this.loaderIds[this.loaderIds.length-1]===e}constructor(){n(this,"loaderIds",[])}}n(i,"instance",void 0);exports.GlobalLoadingIndicator=n=>{const o=i.getInstance(),l=t.useId(),[d,c]=t.useState([]);t.useEffect((()=>(o.register(l),c(o.loaderIds),()=>{o.unregister(l),c(o.loaderIds)})),[l]);return d.indexOf(l)===d.length-1?/*#__PURE__*/e.jsx(r.Portal,{children:/*#__PURE__*/e.jsx("div",{"data-testid":"design-system-globalLoadingIndicator",className:"fixed top-1/2 left-1/2 z-30 aspect-square -translate-x-1/2 -translate-y-1/2",children:/*#__PURE__*/e.jsx(s.LoadingIndicator,a({},n))})}):null},exports.LoadingManager=i;
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),r=require("react");require("tailwind-merge"),require("@wishket/yogokit"),require("../../Base/Typography/Typography.js"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js");var t=require("../../Utils/Portal/Portal.js"),s=require("../LoadingIndicator/LoadingIndicator.js");function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},s=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),s.forEach((function(r){n(e,r,t[r])}))}return e}class i{static getInstance(){return i.instance||(i.instance=new i),i.instance}register(e){this.loaderIds.includes(e)||this.loaderIds.push(e)}unregister(e){this.loaderIds=this.loaderIds.filter((r=>r!==e))}getIsLastIndex(e){return this.loaderIds[this.loaderIds.length-1]===e}constructor(){n(this,"loaderIds",[])}}n(i,"instance",void 0);exports.GlobalLoadingIndicator=n=>{const o=i.getInstance(),l=r.useId(),[d,u]=r.useState([]);r.useEffect((()=>(o.register(l),u(o.loaderIds),()=>{o.unregister(l),u(o.loaderIds)})),[l]);return d.indexOf(l)===d.length-1?/*#__PURE__*/e.jsx(t.Portal,{children:/*#__PURE__*/e.jsx("div",{"data-testid":"design-system-globalLoadingIndicator",className:"fixed top-1/2 left-1/2 z-30 aspect-square -translate-x-1/2 -translate-y-1/2",children:/*#__PURE__*/e.jsx(s.LoadingIndicator,a({},n))})}):null},exports.LoadingManager=i;
@@ -1,4 +1,4 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),i=require("tailwind-merge");require("react");var t=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var r=require("./PlainTooltip/PlainTooltip.js"),l=require("./RichTooltip/RichTooltip.js");
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),i=require("tailwind-merge");require("../../Base/Typography/Typography.js");var t=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var r=require("./PlainTooltip/PlainTooltip.js"),s=require("./RichTooltip/RichTooltip.js");
2
2
  /**
3
3
  * 툴팁의 루트 컴포넌트입니다.
4
4
  * CSS 기반 hover와 focus로 동작합니다.
@@ -14,7 +14,7 @@
14
14
  * <Tooltip.Plain variant="up" text="간단한 툴팁" />
15
15
  * </Tooltip>
16
16
  */
17
- const s=({children:r,className:l})=>/*#__PURE__*/e.jsx(t.Box,{className:i.twMerge("group relative inline-block h-fit w-fit",l),"data-testid":"design-system-tooltip",children:r});
17
+ const l=({children:r,className:s})=>/*#__PURE__*/e.jsx(t.Box,{className:i.twMerge("group relative inline-block h-fit w-fit",s),"data-testid":"design-system-tooltip",children:r});
18
18
  /**
19
19
  * 툴팁 트리거 컴포넌트입니다.
20
20
  * 데스크톱에서는 CSS hover로, 모바일에서는 터치(focus)로 툴팁을 표시합니다.
@@ -23,4 +23,4 @@ const s=({children:r,className:l})=>/*#__PURE__*/e.jsx(t.Box,{className:i.twMerg
23
23
  * <Tooltip.Trigger>
24
24
  * <SystemIcon name="medium_information" />
25
25
  * </Tooltip.Trigger>
26
- */s.Trigger=({children:i})=>/*#__PURE__*/e.jsx(t.Box,{"data-testid":"design-system-tooltip--trigger",className:"h-fit w-fit focus:outline-hidden",tabIndex:0,children:i}),s.Plain=r.PlainTooltip,s.Rich=l.RichTooltip,exports.Tooltip=s;
26
+ */l.Trigger=({children:i})=>/*#__PURE__*/e.jsx(t.Box,{"data-testid":"design-system-tooltip--trigger",className:"h-fit w-fit focus:outline-hidden",tabIndex:0,children:i}),l.Plain=r.PlainTooltip,l.Rich=s.RichTooltip,exports.Tooltip=l;
@@ -1,10 +1,19 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge"),r=require("react");require("../../DataDisplays/Avatar/Avatar.js"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js");var n=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var s=require("../../DataDisplays/Divider/Divider.js");require("../../DataDisplays/Accordion/Accordion.js");var i=require("./AutoCompleteList.parts.js");function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(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){o(e,t,r[t])}))}return e}function l(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 c(e,t){if(null==e)return{};var r,n,s=function(e,t){if(null==e)return{};var r,n,s={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(s[r]=e[r]);return s}
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge"),r=require("react");require("../../DataDisplays/Avatar/Avatar.js"),require("../../Base/Typography/Typography.js"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js");var s=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var n=require("../../DataDisplays/Divider/Divider.js");require("../../DataDisplays/Accordion/Accordion.js");var i=require("./AutoCompleteList.parts.js");function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},s=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),s.forEach((function(t){o(e,t,r[t])}))}return e}function a(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 c(e,t){if(null==e)return{};var r,s,n=function(e,t){if(null==e)return{};var r,s,n={},i=Object.keys(e);for(s=0;s<i.length;s++)r=i[s],t.indexOf(r)>=0||(n[r]=e[r]);return n}
2
2
  /**
3
3
  * 자동완성 목록의 Root 컴포넌트입니다.
4
4
  * 자동완성 항목들을 감싸는 컨테이너 역할을 합니다.
5
5
  *
6
+ * WAI-ARIA APG의 Combobox with List Autocomplete 패턴에 맞춰 실제 목록인
7
+ * `<ul>`에 `role="listbox"`와 `aria-multiselectable="true"`를 항상 부여합니다
8
+ * (`Autocomplete`이 다중 선택 위젯이라 옵션마다 `aria-selected`를 따로 갖습니다).
9
+ * `listboxId`를 넘기면 그 값이 이 `<ul>`의 `id`가 되므로, `Autocomplete`의
10
+ * 입력 필드가 `aria-controls`로 참조할 수 있습니다. `{...rest}`(`className` 제외)와
11
+ * `className`은 그대로 바깥 `<div>`(그림자, IndexBar를 포함하는 레이아웃 전용
12
+ * 래퍼)에 적용됩니다.
13
+ *
6
14
  * @param {Object} props
7
15
  * @param {ReactNode} props.children - 자동완성 목록에 표시될 자식 컴포넌트들 (AutoCompleteList.Item, AutoCompleteList.Divider)
16
+ * @param {string} [props.listboxId] - 실제 목록(`<ul role="listbox">`)에 부여할 id
8
17
  *
9
18
  * @example
10
19
  * ```tsx
@@ -21,11 +30,11 @@
21
30
  * />
22
31
  * </AutoCompleteList.Root>
23
32
  * ```
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)&&(s[r]=e[r])}return s}const u={Root:n=>{var{children:s,className:o,hasIndexBar:u=!1,onIndexClick:p}=n,d=c(n,["children","className","hasIndexBar","onIndexClick"]);const y=r.useRef(null),[m,f]=r.useState(!1);return r.useLayoutEffect((()=>{const e=y.current;if(!e)return;const{scrollHeight:t,clientHeight:r}=e;f(t>r)}),[s]),/*#__PURE__*/e.jsxs("div",l(a({className:t.twMerge("shadow-graymedium flex max-h-[436px] w-full rounded-xl",o)},d),{children:[u&&/*#__PURE__*/e.jsx(i.IndexBar,{onIndexClick:p}),
25
- /*#__PURE__*/e.jsx("ul",{ref:y,"data-testid":"design-system-autoCompleteList",className:t.twMerge("bg-w-white flex w-full flex-col py-2 pr-2","scrollbar-list overflow-y-auto",u?"rounded-r-xl":"rounded-xl",m&&"pr-0"),children:s})]}))},Item:r=>{var{text:s,count:o,leadingIcon:u,iconUrl:p,isInputItem:d=!1,isFocused:y=!1,inputValue:m,className:f}=r,x=c(r,["text","count","leadingIcon","iconUrl","isInputItem","isFocused","inputValue","className"]);/*#__PURE__*/
26
- return e.jsxs("li",l(a({className:t.twMerge("bg-w-white hover:bg-primary-10 visible ml-2 flex cursor-pointer items-center gap-2 rounded-xl px-4 py-3 select-none",y&&"bg-primary-10",f)},x),{"data-testid":"design-system-list-item",children:[u&&/*#__PURE__*/e.jsx(n.SystemIcon,{name:u,className:"text-w-gray-600",testId:"design-system-list-item-leading-icon"}),p&&/*#__PURE__*/e.jsx(i.Icon,{iconUrl:p}),
27
- /*#__PURE__*/e.jsx(i.TextSection,{text:s,isInputItem:d,inputValue:m}),
28
- /*#__PURE__*/e.jsx(i.CountSection,{count:o})]}))},Divider:()=>/*#__PURE__*/e.jsx(s.Divider,{className:"my-2"})};
33
+ */(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}const u={Root:s=>{var{children:n,className:o,hasIndexBar:u=!1,onIndexClick:p,listboxId:d}=s,y=c(s,["children","className","hasIndexBar","onIndexClick","listboxId"]);const m=r.useRef(null),[x,b]=r.useState(!1);return r.useLayoutEffect((()=>{const e=m.current;if(!e)return;const{scrollHeight:t,clientHeight:r}=e;b(t>r)}),[n]),/*#__PURE__*/e.jsxs("div",a(l({className:t.twMerge("shadow-graymedium flex max-h-[436px] w-full rounded-xl",o)},y),{children:[u&&/*#__PURE__*/e.jsx(i.IndexBar,{onIndexClick:p}),
34
+ /*#__PURE__*/e.jsx("ul",{ref:m,id:d,role:"listbox","aria-multiselectable":"true",className:t.twMerge("bg-w-white flex w-full flex-col py-2 pr-2","scrollbar-list overflow-y-auto",u?"rounded-r-xl":"rounded-xl",x&&"pr-0"),"data-testid":"design-system-autoCompleteList",children:n})]}))},Item:r=>{var{text:n,count:o,leadingIcon:u,iconUrl:p,isInputItem:d=!1,isFocused:y=!1,isSelected:m=!1,inputValue:x,className:b}=r,f=c(r,["text","count","leadingIcon","iconUrl","isInputItem","isFocused","isSelected","inputValue","className"]);/*#__PURE__*/
35
+ return e.jsxs("li",a(l({className:t.twMerge("bg-w-white hover:bg-primary-10 visible ml-2 flex cursor-pointer items-center gap-2 rounded-xl px-4 py-3 select-none",y&&"bg-primary-10",b)},f),{role:"option","aria-selected":m,"data-testid":"design-system-list-item",children:[u&&/*#__PURE__*/e.jsx(s.SystemIcon,{name:u,className:"text-w-gray-600",testId:"design-system-list-item-leading-icon"}),p&&/*#__PURE__*/e.jsx(i.Icon,{iconUrl:p}),
36
+ /*#__PURE__*/e.jsx(i.TextSection,{text:n,isInputItem:d,inputValue:x}),
37
+ /*#__PURE__*/e.jsx(i.CountSection,{count:o})]}))},Divider:()=>/*#__PURE__*/e.jsx(n.Divider,{className:"my-2"})};
29
38
  /**
30
39
  * 자동완성 목록의 개별 항목 컴포넌트입니다.
31
40
  * @param {Object} props
@@ -34,7 +43,13 @@ return e.jsxs("li",l(a({className:t.twMerge("bg-w-white hover:bg-primary-10 visi
34
43
  * @param {SystemIconName} [props.leadingIcon] - 항목 앞에 표시될 시스템 아이콘
35
44
  * @param {string} [props.iconUrl] - 항목 앞에 표시될 커스텀 아이콘 URL
36
45
  * @param {boolean} [props.isInputItem=false] - 입력 항목 여부
37
- * @param {boolean} [props.isFocused=false] - 포커스 상태 여부
46
+ * @param {boolean} [props.isFocused=false] - 키보드 커서(활성 옵션) 여부. 시각 하이라이트(`bg-primary-10`)에만 반영되며 `aria-selected`와는 무관합니다.
47
+ * @param {boolean} [props.isSelected=false] - 실제로 선택된 항목인지 여부. `aria-selected`에 그대로 반영됩니다.
38
48
  * @param {string} [props.inputValue] - 입력값 (isInputItem이 true인 경우 사용)
39
49
  * @param {string} [props.className] - 추가적인 CSS 클래스
50
+ *
51
+ * `role="option"`이 항상 부여되며, `aria-selected`는 `isSelected`를 그대로 반영합니다.
52
+ * (`isFocused`는 시각 하이라이트 전용이며, `Autocomplete`처럼 다중 선택이 가능한
53
+ * 위젯에서는 커서 위치와 실제 선택 여부가 다르므로 분리했습니다.)
54
+ * `aria-activedescendant`가 가리킬 수 있도록 `id`를 넘겨야 합니다.
40
55
  */exports.AutoCompleteList=u;
@@ -1,4 +1,25 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("@wishket/yogokit"),s=require("../AutoCompleteList/AutoCompleteList.js"),l=require("../TextFieldContainer/TextFieldContainer.js");require("tailwind-merge");var n=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var i=require("../Input/Input.js");require("../Input/PasswordInput.js"),require("../Input/LabelInput.js"),require("../Input/InputTypeSelector.js");var o=require("../InputChip/InputChip.js"),u=require("../SupportTextContainer/SupportTextContainer.js"),a=require("./Autocomplete.parts.js"),c=require("./Autocomplete.utils.js");exports.Autocomplete=({skillItems:p,legacySkillItems:m,selectedItems:d,onChipDelete:x,value:g,onValueChange:I,placeholder:h,onSkillItemClick:f,onLegacySkillItemClick:C,onInputItemClick:j,supportingText:v,hasIndexBar:k=!1,isError:y,errorMessage:q,leadingIcon:S})=>{const[w,A]=t.useState(!1),F=t.useRef(null),b=t.useRef(null),B=t.useRef(null),L=t.useRef(null),[D,T]=t.useState(54),[R,E]=t.useState([]),[V,M]=t.useState(-1),U=c.getSortedSkillItems(p),$=c.getSortedSkillItems(m),_=()=>{A(!1)};t.useEffect((()=>{if(!b.current)return;const e=new ResizeObserver((e=>{for(const t of e)t.target===b.current&&T(t.contentRect.height+4)}));return e.observe(b.current),()=>{e.disconnect()}}),[]),r.useClickOutside(F,_);const N=[...U.map((e=>({type:"static_skill",item:e}))),...$.map((e=>({type:"legacy",item:e}))),...g?[{type:"input",item:g}]:[]],z=e=>{f(e),E([...R,e])},O=e=>{C(e),E([...R,e])},W=()=>{""!==g.trim()&&(j(g.trim()),I(""),E([...R,g]))};/*#__PURE__*/
2
- return e.jsxs("div",{"data-testid":"design-system-autocomplete-root",className:"relative flex w-full flex-col gap-3",ref:F,onKeyDown:e=>{if(!e.nativeEvent.isComposing&&w)switch(e.key){case"ArrowDown":e.preventDefault(),M((e=>{const t=e<N.length-1?e+1:e,r=L.current;if(r){const e=r.querySelectorAll("li")[t];null==e||e.scrollIntoView({block:"nearest"})}return t}));break;case"ArrowUp":e.preventDefault(),M((e=>{const t=e>0?e-1:e,r=L.current;if(r){const e=r.querySelectorAll("li")[t];null==e||e.scrollIntoView({block:"nearest"})}return t}));break;case"Enter":if(e.preventDefault(),V>=0&&V<N.length){const{type:e,item:t}=N[V];"static_skill"===e?z(t):"legacy"===e?O(t):"input"===e&&W()}else g.trim()&&W();break;case"Backspace":g||(e.preventDefault(),x(d[d.length-1]));break;case"Escape":e.preventDefault(),_()}},children:[
3
- /*#__PURE__*/e.jsx("label",{ref:b,children:/*#__PURE__*/e.jsxs(l.TextFieldContainer,{isError:y,isFocused:w,testId:"design-system--selectBox",isAutoComplete:!0,children:[d.map((t=>/*#__PURE__*/e.jsx(o.InputChip,{onDelete:()=>x(t),children:t},t))),
4
- /*#__PURE__*/e.jsx(i.Input,{value:g,onChange:e=>{I(e.target.value)},placeholder:h,onFocus:()=>{w||A(!w)},className:"w-fit flex-auto"})]})}),(v||q)&&/*#__PURE__*/e.jsx(u.SupportTextContainer,{supportMessage:v,errorMessage:q}),w&&/*#__PURE__*/e.jsx(n.Box,{"data-testid":"design-system-autocomplete-list",ref:B,className:"absolute z-40 w-full",style:{top:D},onMouseLeave:()=>{R.length>0&&(_(),E([]))},children:/*#__PURE__*/e.jsx(s.AutoCompleteList.Root,{hasIndexBar:k,onIndexClick:e=>{const t=U.find((t=>t.value.toUpperCase().startsWith(e)));if(t&&B.current){const e=B.current.querySelector(`[id="item-${t.value.replace(/ /g,"_")}"]`);e&&e.scrollIntoView()}},children:/*#__PURE__*/e.jsx("ul",{ref:L,children:/*#__PURE__*/e.jsxs(a.WithDivider,{children:[p.length>0&&/*#__PURE__*/e.jsx(e.Fragment,{children:U.map(((t,r)=>/*#__PURE__*/e.jsx(s.AutoCompleteList.Item,{id:`item-${t.value.replace(/ /g,"_")}`,leadingIcon:S,iconUrl:t.iconUrl,text:t.value,onClick:()=>z(t),isFocused:V===r,inputValue:g},t.value)))}),m.length>0&&/*#__PURE__*/e.jsx(e.Fragment,{children:$.map(((t,r)=>/*#__PURE__*/e.jsx(s.AutoCompleteList.Item,{text:t.value,count:t.count,onClick:()=>O(t),isFocused:V===U.length+r,inputValue:g},`${t.value}-${r}`)))}),""!==g.trim()&&/*#__PURE__*/e.jsx(s.AutoCompleteList.Item,{text:g,isInputItem:!0,onClick:()=>W(),isFocused:V===N.length-1})]})})})})]})};
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("@wishket/yogokit"),l=require("../AutoCompleteList/AutoCompleteList.js"),s=require("../TextFieldContainer/TextFieldContainer.js");require("../../Base/Typography/Typography.js");var n=require("../../Base/Layouts/Box/Box.js");require("tailwind-merge"),require("../../Base/Layouts/FullBleed/FullBleed.js");var i=require("../Input/Input.js");require("../Input/PasswordInput.js"),require("../Input/LabelInput.js"),require("../Input/InputTypeSelector.js");var a=require("../InputChip/InputChip.js"),o=require("../SupportTextContainer/SupportTextContainer.js"),u=require("./Autocomplete.parts.js"),c=require("./Autocomplete.utils.js");exports.Autocomplete=({skillItems:d,legacySkillItems:p,selectedItems:m,onChipDelete:v,value:h,onValueChange:g,placeholder:f,onSkillItemClick:x,onLegacySkillItemClick:I,onInputItemClick:k,supportingText:y,hasIndexBar:C=!1,isError:j,errorMessage:b,leadingIcon:B,label:S,ariaLabel:w})=>{const[q,D]=t.useState(!1),E=t.useRef(null),A=t.useRef(null),F=t.useRef(null),[L,T]=t.useState(54),[M,R]=t.useState([]),[$,V]=t.useState(-1),N=t.useId(),U=e=>`${N}-option-${e}`,z=t.useCallback((e=>`${N}-chip-${e}`),[N]),[O,P]=t.useState(0),W=t.useRef(null),_=`${N}-label`,H=c.getSortedSkillItems(d),K=c.getSortedSkillItems(p),G=()=>{D(!1)};t.useEffect((()=>{if(!A.current)return;const e=new ResizeObserver((e=>{for(const t of e)t.target===A.current&&T(t.contentRect.height+4)}));return e.observe(A.current),()=>{e.disconnect()}}),[]),r.useClickOutside(E,G),
2
+ // 칩이 줄어들면 activeChipIndex가 범위를 벗어날 수 있다.
3
+ t.useEffect((()=>{P((e=>Math.min(e,Math.max(m.length-1,0))))}),[m.length]),
4
+ // 키보드 삭제 후 포커스 이동: 같은 자리의 칩 → 없으면 마지막 칩 →
5
+ // 칩이 하나도 남지 않으면 입력 필드. 포커스가 body로 유실되지 않게 한다.
6
+ t.useEffect((()=>{var e;const t=W.current;if(null===t)return;var r;if(W.current=null,0===m.length)return void(null===(r=F.current)||void 0===r||r.focus());const l=Math.min(t,m.length-1);P(l),null===(e=document.getElementById(z(l)))||void 0===e||e.focus()}),[m,z]);const J=[...H.map((e=>({type:"static_skill",item:e}))),...K.map((e=>({type:"legacy",item:e}))),...h?[{type:"input",item:h}]:[]],Q=e=>{var t;P(e),null===(t=document.getElementById(z(e)))||void 0===t||t.focus()},X=e=>{const t=m.length-1;if(!(t<0))switch(e.key){case"ArrowRight":e.preventDefault(),Q(Math.min(O+1,t));break;case"ArrowLeft":e.preventDefault(),Q(Math.max(O-1,0));break;case"Home":e.preventDefault(),Q(0);break;case"End":e.preventDefault(),Q(t);break;case"Delete":case"Backspace":case"Enter":case" ":e.preventDefault(),(e=>{
7
+ // activeChipIndex는 clamp effect와 삭제 버튼의 onFocus로 범위 안에 유지되지만,
8
+ // 소비자 콜백에 undefined를 넘기는 일은 어떤 경우에도 없어야 하므로 확인한다.
9
+ const t=m[e];void 0!==t&&(
10
+ // 다음 렌더에서 포커스를 옮기기 위해 위치를 기록해 둔다.
11
+ W.current=e,v(t))})(O)}},Y=e=>{x(e),R([...M,e])},Z=e=>{I(e),R([...M,e])},ee=()=>{""!==h.trim()&&(k(h.trim()),g(""),R([...M,h]))};/*#__PURE__*/
12
+ return e.jsxs("div",{"data-testid":"design-system-autocomplete-root",className:"relative flex w-full flex-col gap-3",ref:E,onKeyDown:e=>{if(!e.nativeEvent.isComposing){
13
+ // Escape는 위젯 안 어디에 포커스가 있든 목록을 닫아야 한다(APG combobox).
14
+ // 칩 삭제 버튼에 포커스를 둔 키보드 사용자가 목록을 닫을 방법이 없어지면
15
+ // 안 되므로, 아래 "입력 필드 한정" 가드보다 먼저 처리한다.
16
+ if("Escape"===e.key){if(!q)return;return e.preventDefault(),void G()}
17
+ // 그 밖의 콤보박스 키 조작은 입력 필드에 포커스가 있을 때만 처리한다.
18
+ // 이 핸들러는 루트 <div>에 붙어 있어, 컨테이너 안의 다른 포커스 가능한
19
+ // 요소(칩의 삭제 버튼)에서 올라온 키 이벤트까지 그대로 받는다. 그대로 두면
20
+ // Enter의 preventDefault가 버튼의 기본 활성화를 막아 삭제가 아예 동작하지
21
+ // 않고, Backspace는 포커스된 칩이 아니라 항상 마지막 칩을 지운다.
22
+ if(e.target===F.current){if(q)switch(e.key){case"ArrowDown":e.preventDefault(),V((e=>{var t;const r=e<J.length-1?e+1:e;return null===(t=document.getElementById(U(r)))||void 0===t||t.scrollIntoView({block:"nearest"}),r}));break;case"ArrowUp":e.preventDefault(),V((e=>{var t;const r=e>0?e-1:e;return null===(t=document.getElementById(U(r)))||void 0===t||t.scrollIntoView({block:"nearest"}),r}));break;case"Enter":if(e.preventDefault(),$>=0&&$<J.length){const{type:e,item:t}=J[$];"static_skill"===e?Y(t):"legacy"===e?Z(t):"input"===e&&ee()}else h.trim()&&ee();break;case"Backspace":h||(e.preventDefault(),v(m[m.length-1]))}}else X(e)}},children:[
23
+ /*#__PURE__*/e.jsxs("div",{ref:A,onClick:()=>{var e;null===(e=F.current)||void 0===e||e.focus()},className:"cursor-text",children:[S&&/*#__PURE__*/e.jsx("span",{id:_,className:"sr-only",children:S}),
24
+ /*#__PURE__*/e.jsxs(s.TextFieldContainer,{isError:j,isFocused:q,testId:"design-system--selectBox",isAutoComplete:!0,children:[m.map(((t,r)=>/*#__PURE__*/e.jsx(a.InputChip,{onDelete:()=>v(t),deleteButtonProps:{id:z(r),tabIndex:r===O?0:-1,onFocus:()=>P(r)},children:t},t))),
25
+ /*#__PURE__*/e.jsx(i.Input,{ref:F,value:h,onChange:e=>{g(e.target.value)},placeholder:f,onFocus:()=>{q||D(!q)},className:"w-fit flex-auto",role:"combobox","aria-label":w,"aria-labelledby":!w&&S?_:void 0,"aria-expanded":q,"aria-controls":N,"aria-autocomplete":"list","aria-activedescendant":$>=0?U($):void 0})]})]}),(y||b)&&/*#__PURE__*/e.jsx(o.SupportTextContainer,{supportMessage:y,errorMessage:b}),q&&/*#__PURE__*/e.jsx(n.Box,{"data-testid":"design-system-autocomplete-list",className:"absolute z-40 w-full",style:{top:L},onMouseLeave:()=>{M.length>0&&(G(),R([]))},children:/*#__PURE__*/e.jsx(l.AutoCompleteList.Root,{listboxId:N,hasIndexBar:C,onIndexClick:e=>{var t;const r=H.findIndex((t=>t.value.toUpperCase().startsWith(e)));-1!==r&&(null===(t=document.getElementById(U(r)))||void 0===t||t.scrollIntoView())},children:/*#__PURE__*/e.jsxs(u.WithDivider,{children:[d.length>0&&/*#__PURE__*/e.jsx(e.Fragment,{children:H.map(((t,r)=>/*#__PURE__*/e.jsx(l.AutoCompleteList.Item,{id:U(r),leadingIcon:B,iconUrl:t.iconUrl,text:t.value,onClick:()=>Y(t),isFocused:$===r,isSelected:m.includes(t.value),inputValue:h},t.value)))}),p.length>0&&/*#__PURE__*/e.jsx(e.Fragment,{children:K.map(((t,r)=>/*#__PURE__*/e.jsx(l.AutoCompleteList.Item,{id:U(H.length+r),text:t.value,count:t.count,onClick:()=>Z(t),isFocused:$===H.length+r,isSelected:m.includes(t.value),inputValue:h},`${t.value}-${r}`)))}),""!==h.trim()&&/*#__PURE__*/e.jsx(l.AutoCompleteList.Item,{id:U(J.length-1),text:h,isInputItem:!0,onClick:()=>ee(),isFocused:$===J.length-1,isSelected:m.includes(h.trim())})]})})})]})};
@@ -1,4 +1,4 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),r=require("react");require("tailwind-merge");var t=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var n=require("./Checkbox.parts.js");function o(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]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){o(e,r,t[r])}))}return e}function a(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},s=Object.keys(e);for(n=0;n<s.length;n++)t=s[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),r=require("react");require("../../Base/Typography/Typography.js");var t=require("../../Base/Layouts/Box/Box.js");require("tailwind-merge"),require("../../Base/Layouts/FullBleed/FullBleed.js");var n=require("./Checkbox.parts.js");function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){o(e,r,t[r])}))}return e}function s(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}
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 s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)t=s[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}const c=/*#__PURE__*/r.forwardRef(((o,c)=>{var{checked:l=!1,onChange:i,disabled:u=!1,isError:b=!1,type:f="box",className:d}=o,y=a(o,["checked","onChange","disabled","isError","type","className"]);const p=r.useCallback((e=>{u||null==i||i(e)}),[i,u]);/*#__PURE__*/
30
+ */(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}const c=/*#__PURE__*/r.forwardRef(((o,c)=>{var{checked:i=!1,onChange:l,disabled:u=!1,isError:b=!1,type:y="box",className:p}=o,f=s(o,["checked","onChange","disabled","isError","type","className"]);const d=r.useCallback((e=>{u||null==l||l(e)}),[l,u]);/*#__PURE__*/
31
31
  return e.jsxs(t.Box,{"data-testid":"design-system-checkbox",className:"group relative flex size-fit",children:[
32
- /*#__PURE__*/e.jsx("input",s({ref:c,className:"absolute inset-0 z-10 cursor-pointer opacity-0",type:"checkbox",checked:l,onChange:p,disabled:u},y)),
33
- /*#__PURE__*/e.jsx(n.CheckboxButton,{checked:l,disabled:u,isError:b,type:f,className:d})]})}));c.displayName="Checkbox",exports.Checkbox=c;
32
+ /*#__PURE__*/e.jsx("input",a({ref:c,className:"absolute inset-0 z-10 cursor-pointer opacity-0",type:"checkbox",checked:i,onChange:d,disabled:u},f)),
33
+ /*#__PURE__*/e.jsx(n.CheckboxButton,{checked:i,disabled:u,isError:b,type:y,className:p})]})}));c.displayName="Checkbox",exports.Checkbox=c;
@@ -1,8 +1,8 @@
1
- "use strict";var r=require("react/jsx-runtime"),e=require("tailwind-merge");const t="text-w-white group-hover:text-w-white",o="text-w-gray-200 group-hover:text-w-gray-200",s="stroke-dasharray-[16] stroke-dashoffset-[16] animate-checkbox-check",a=({checked:a,isError:i,disabled:d})=>/*#__PURE__*/r.jsx("svg",{width:"10",height:"8",viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e.twMerge("absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",a&&t,i&&d&&o,!a&&"text-transparent",d&&(!i&&a?t:"text-transparent")),style:{strokeDasharray:a?"16":"0",strokeDashoffset:a?"16":"0"},children:/*#__PURE__*/r.jsx("path",{d:"M1 3.8L4 7L9 1",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:a?s:""})}),i=({checked:a,isError:i,disabled:d})=>/*#__PURE__*/r.jsx("svg",{width:"10",height:"8",viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e.twMerge("absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",a&&t,i&&d&&o,!a&&"text-w-gray-200 group-hover:text-w-primary",i&&!a&&"text-w-red-500 group-hover:text-w-red-500",d&&(!i&&a?t:o)),style:{strokeDasharray:a?"16":"0",strokeDashoffset:a?"16":"0"},children:/*#__PURE__*/r.jsx("path",{d:"M1 3.8L4 7L9 1",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:a?s:""})}),d=({role:t,className:o,checked:s,disabled:a,isError:i})=>{const d="text-w-gray-100",c=i?a?d:"text-w-red-500":a?s?"text-primary-100":d:s?"text-primary":"text-w-gray-200";/*#__PURE__*/
2
- return r.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:t,className:e.twMerge("cursor-pointer",a&&"cursor-not-allowed",c,o),"data-testid":"design-system--sub-checkbox",children:/*#__PURE__*/r.jsx("path",{d:"M4 8.76667L7.75004 12.5L14.0001 5.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})};exports.CheckboxButton=({type:t="box",disabled:o,checked:s=!1,isError:c,className:l})=>{const n="circle"===t?"rounded-full":"rounded";return"sub"===t?/*#__PURE__*/r.jsx(d,{role:"checkbox-button",className:l,checked:s,disabled:o,isError:c}):/*#__PURE__*/r.jsxs("div",{className:e.twMerge("group relative box-border cursor-pointer border",!o&&!c&&"group-focus-within:border-primary-500",!o&&!c&&!s&&"group-focus-within:bg-w-white",{box:"size-4 m-px",circle:"size-[18px]"}[t],n,
1
+ "use strict";var r=require("react/jsx-runtime"),e=require("tailwind-merge");const t="text-w-white group-hover:text-w-white",s="text-w-gray-200 group-hover:text-w-gray-200",o="stroke-dasharray-[16] stroke-dashoffset-[16] animate-checkbox-check",a=({checked:a,isError:i,disabled:d})=>/*#__PURE__*/r.jsx("svg",{width:"10",height:"8",viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e.twMerge("absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",a&&t,i&&d&&s,!a&&"text-transparent",d&&(!i&&a?t:"text-transparent")),style:{strokeDasharray:a?"16":"0",strokeDashoffset:a?"16":"0"},children:/*#__PURE__*/r.jsx("path",{d:"M1 3.8L4 7L9 1",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:a?o:""})}),i=({checked:a,isError:i,disabled:d})=>/*#__PURE__*/r.jsx("svg",{width:"10",height:"8",viewBox:"0 0 10 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e.twMerge("absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",a&&t,i&&d&&s,!a&&"text-w-gray-200 group-hover:text-w-primary",i&&!a&&"text-w-red-500 group-hover:text-w-red-500",d&&(!i&&a?t:s)),style:{strokeDasharray:a?"16":"0",strokeDashoffset:a?"16":"0"},children:/*#__PURE__*/r.jsx("path",{d:"M1 3.8L4 7L9 1",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",className:a?o:""})}),d=({className:t,checked:s,disabled:o,isError:a})=>{const i="text-w-gray-100",d=a?o?i:"text-w-red-500":o?s?"text-primary-100":i:s?"text-primary":"text-w-gray-200";/*#__PURE__*/
2
+ return r.jsx("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e.twMerge("cursor-pointer",o&&"cursor-not-allowed",d,t),"data-testid":"design-system--sub-checkbox",children:/*#__PURE__*/r.jsx("path",{d:"M4 8.76667L7.75004 12.5L14.0001 5.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})};exports.CheckboxButton=({type:t="box",disabled:s,checked:o=!1,isError:c,className:n})=>{const l="circle"===t?"rounded-full":"rounded";return"sub"===t?/*#__PURE__*/r.jsx(d,{className:n,checked:o,disabled:s,isError:c}):/*#__PURE__*/r.jsxs("div",{className:e.twMerge("group relative box-border cursor-pointer border",!s&&!c&&"group-focus-within:border-primary-500",!s&&!c&&!o&&"group-focus-within:bg-w-white",{box:"size-4 m-px",circle:"size-[18px]"}[t],l,
3
3
  // 비활성화 상태
4
- o?s?c?"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
+ s?o?c?"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":
5
5
  // 에러 상태
6
- c?s?"border-w-red-500 bg-w-red-500":"border-w-red-500 bg-w-white":
6
+ c?o?"border-w-red-500 bg-w-red-500":"border-w-red-500 bg-w-white":
7
7
  // 정상 상태
8
- s?"bg-primary-500 border-primary-500":"group-hover:border-primary-500 border-w-gray-200 bg-white",l),role:"checkbox-button",children:["box"===t&&/*#__PURE__*/r.jsx(a,{checked:s,isError:c,disabled:o}),"circle"===t&&/*#__PURE__*/r.jsx(i,{checked:s,isError:c,disabled:o})]})};
8
+ o?"bg-primary-500 border-primary-500":"group-hover:border-primary-500 border-w-gray-200 bg-white",n),"data-testid":"design-system--checkbox-button",children:["box"===t&&/*#__PURE__*/r.jsx(a,{checked:o,isError:c,disabled:s}),"circle"===t&&/*#__PURE__*/r.jsx(i,{checked:o,isError:c,disabled:s})]})};
@@ -1,5 +1,5 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge"),r=require("../../Base/Typography/Typography.js");require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js");var a=require("./CheckboxCard.parts.js");exports.CheckboxCard=s=>{const{disabled:i=!1,checked:d=!1,isError:c=!1,onChange:o,isWide:n=!1,containerClassName:l,className:x,iconName:h,title:y,description:g,testId:m,name:u,value:C}=s,b=null!=h?h:n?void 0:"receipt";/*#__PURE__*/
2
- return e.jsx("label",{"data-testid":m,role:"checkbox-card",className:t.twMerge("group",l),children:/*#__PURE__*/e.jsxs(a.CheckboxCardContainer,{"data-testid":"design-system-checkboxCard--container",checked:d,isError:c,isWide:n,disabled:i,className:x,children:[
3
- /*#__PURE__*/e.jsx(a.StyledCheckbox,{isWide:n,checked:d,onChange:o,isError:c,disabled:i,name:u,value:C}),b&&/*#__PURE__*/e.jsx(a.CheckboxCardIcon,{isError:c,checked:d,iconName:b,disabled:i}),
4
- /*#__PURE__*/e.jsxs(a.TitleContainer,{isWide:n,"data-testid":"design-system-checkboxCard--titleBox",children:[
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge"),r=require("../../Base/Typography/Typography.js");require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js");var s=require("./CheckboxCard.parts.js");exports.CheckboxCard=a=>{const{disabled:i=!1,checked:d=!1,isError:c=!1,onChange:o,isWide:n=!1,containerClassName:l,className:x,iconName:h,title:y,description:g,testId:m,name:u,value:C}=a,b=null!=h?h:n?void 0:"receipt";/*#__PURE__*/
2
+ return e.jsx("label",{"data-testid":m||"design-system-checkboxCard",className:t.twMerge("group",l),children:/*#__PURE__*/e.jsxs(s.CheckboxCardContainer,{"data-testid":"design-system-checkboxCard--container",checked:d,isError:c,isWide:n,disabled:i,className:x,children:[
3
+ /*#__PURE__*/e.jsx(s.StyledCheckbox,{isWide:n,checked:d,onChange:o,isError:c,disabled:i,name:u,value:C}),b&&/*#__PURE__*/e.jsx(s.CheckboxCardIcon,{isError:c,checked:d,iconName:b,disabled:i}),
4
+ /*#__PURE__*/e.jsxs(s.TitleContainer,{isWide:n,"data-testid":"design-system-checkboxCard--titleBox",children:[
5
5
  /*#__PURE__*/e.jsx(r.Typography,{"data-testid":"design-system-checkboxCard--title",variant:"body16",className:t.twMerge("font-medium",n?"text-left":"text-center",i?"text-w-gray-300":"text-w-gray-900"),children:y}),g&&/*#__PURE__*/e.jsx(r.Typography,{variant:"body14",className:t.twMerge("font-normal",n?"text-left":"text-center",i?"text-w-gray-300":"text-w-gray-600"),"data-testid":"design-system-checkboxCard--description",children:g})]})]})})};
@@ -1,4 +1,4 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js"),require("react");var t=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var o=require("../../DataDisplays/ProductIcon/ProductIcon.js");require("../../DataDisplays/Accordion/Accordion.js");var i=require("../Checkbox/Checkbox.js");function n(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){n(e,r,t[r])}))}return e}function c(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 a(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}exports.CheckboxCardContainer=t=>{var{children:o,isWide:i,checked:n,isError:l,disabled:u,className:d}=t,p=a(t,["children","isWide","checked","isError","disabled","className"]);/*#__PURE__*/
2
- return e.jsx("div",c(s({className:r.twMerge("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 pt-4 pb-6",!u&&!l&&"group-focus-within:border-primary-500",(()=>{const e=n&&!l;return u?r.twMerge("cursor-not-allowed",e?"border-primary-100":"border-w-gray-200"):l?"border-w-red-500":n?"border-primary-500":"border-w-gray-200 group-hover:border-primary"})(),u?n&&!l?"bg-primary-10":"bg-w-gray-10":n?l?"bg-w-red-10":"bg-primary-10":"bg-w-white",d)},p),{children:o}))},exports.CheckboxCardIcon=({iconName:t,disabled:i,checked:n,isError:s})=>{const c=s||!n;/*#__PURE__*/
3
- return e.jsx("div",{className:r.twMerge("flex size-[60px] shrink-0 items-center justify-center",i&&"opacity-30"),"data-testid":"design-system-checkboxCard--icon",children:/*#__PURE__*/e.jsx(o.ProductIcon,{name:t,disabled:c})})},exports.StyledCheckbox=o=>{var{isWide:n,className:c}=o,l=a(o,["isWide","className"]);const u=!n;/*#__PURE__*/
4
- return e.jsx(t.Box,{className:r.twJoin(u&&"absolute top-[17px] left-[17px]"),children:/*#__PURE__*/e.jsx(i.Checkbox,s({className:r.twMerge(u&&"group-hover:border-primary-500",c)},l))})},exports.TitleContainer=({isWide:t,children:o})=>/*#__PURE__*/e.jsx("div",{className:r.twMerge("flex h-auto w-full flex-col justify-between gap-0.5",t?"items-start":"items-center"),children:o});
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js"),require("../../Base/Typography/Typography.js");var t=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("react"),require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var o=require("../../DataDisplays/ProductIcon/ProductIcon.js");require("../../DataDisplays/Accordion/Accordion.js");var i=require("../Checkbox/Checkbox.js");function s(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function n(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){s(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 c(e,r){if(null==e)return{};var t,o,i=function(e,r){if(null==e)return{};var t,o,i={},s=Object.keys(e);for(o=0;o<s.length;o++)t=s[o],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)t=s[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}exports.CheckboxCardContainer=t=>{var{children:o,isWide:i,checked:s,isError:l,disabled:u,className:p}=t,d=c(t,["children","isWide","checked","isError","disabled","className"]);/*#__PURE__*/
2
+ return e.jsx("div",a(n({className:r.twMerge("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 pt-4 pb-6",!u&&!l&&"group-focus-within:border-primary-500",(()=>{const e=s&&!l;return u?r.twMerge("cursor-not-allowed",e?"border-primary-100":"border-w-gray-200"):l?"border-w-red-500":s?"border-primary-500":"border-w-gray-200 group-hover:border-primary"})(),u?s&&!l?"bg-primary-10":"bg-w-gray-10":s?l?"bg-w-red-10":"bg-primary-10":"bg-w-white",p)},d),{children:o}))},exports.CheckboxCardIcon=({iconName:t,disabled:i,checked:s,isError:n})=>{const a=n||!s;/*#__PURE__*/
3
+ return e.jsx("div",{className:r.twMerge("flex size-[60px] shrink-0 items-center justify-center",i&&"opacity-30"),"data-testid":"design-system-checkboxCard--icon",children:/*#__PURE__*/e.jsx(o.ProductIcon,{name:t,disabled:a})})},exports.StyledCheckbox=o=>{var{isWide:s,className:a}=o,l=c(o,["isWide","className"]);const u=!s;/*#__PURE__*/
4
+ return e.jsx(t.Box,{className:r.twJoin(u&&"absolute top-[17px] left-[17px]"),children:/*#__PURE__*/e.jsx(i.Checkbox,n({className:r.twMerge(u&&"group-hover:border-primary-500",a)},l))})},exports.TitleContainer=({isWide:t,children:o})=>/*#__PURE__*/e.jsx("div",{className:r.twMerge("flex h-auto w-full flex-col justify-between gap-0.5",t?"items-start":"items-center"),children:o});
@@ -1,6 +1,6 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge"),l=require("react"),a=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var i=require("../SupportTextContainer/SupportTextContainer.js"),s=require("./FileUploader.parts.js"),o=require("./FileUploader.hooks.js"),t=require("./FileUploader.utils.js");exports.FileUploader=({files:d=[],onChange:n,accept:p,multiple:u=!0,maxFileSize:x,disabled:c=!1,isError:g=!1,errorMessage:m,supportMessage:f,text:h,isSmall:j=!1,onFileSizeExceeded:F})=>{const{inputRef:b,isDragOver:w,handleInputChange:y,handleButtonClick:S,handleRemoveFile:v,handleDragOver:B,handleDragLeave:q,handleDrop:C}=o.useFileUploader({files:d,onChange:n,maxFileSize:x,disabled:c,onFileSizeExceeded:F}),D=l.useMemo((()=>d.reduce(((e,r)=>e+r.size),0)),[d]),z=t.generateAcceptDescription(p);/*#__PURE__*/
2
- return e.jsxs(a.Box,{className:"flex w-full flex-col gap-6",children:[
3
- /*#__PURE__*/e.jsx("input",{ref:b,type:"file",className:"hidden",accept:p,multiple:u,onChange:y,disabled:c,"data-testid":"file-uploader-input"}),d.length>0&&/*#__PURE__*/e.jsx(a.Box,{className:"flex flex-col gap-2",children:d.map(((r,l)=>/*#__PURE__*/e.jsx(s.FileItem,{file:r,onRemove:()=>v(l),disabled:c},`${r.name}-${l}`)))}),
4
- /*#__PURE__*/e.jsxs(a.Box,{className:"flex flex-col gap-2",children:[
5
- /*#__PURE__*/e.jsx("button",{type:"button",className:r.twMerge("border-w-gray-200 bg-w-gray-10 text-w-gray-600 flex w-full items-center justify-center gap-3 rounded-xl border border-dashed px-6 py-8",j?"flex-row":"flex-col",c&&"cursor-not-allowed",g&&"border-w-red-500",!c&&!g&&"hover:border-w-gray-400",w&&!c&&!g&&"border-w-gray-400"),disabled:c,onClick:S,onDragOver:B,onDragLeave:q,onDrop:C,children:/*#__PURE__*/e.jsx(s.FileUploadArea,{disabled:c,isSmall:j,text:h,acceptDescription:z})}),
6
- /*#__PURE__*/e.jsx(i.SupportTextContainer,{errorMessage:m,supportMessage:f,currentFileSize:D,maxFileSize:x})]})]})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge"),a=require("react");require("../../Base/Typography/Typography.js");var l=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var i=require("../SupportTextContainer/SupportTextContainer.js"),s=require("./FileUploader.parts.js"),o=require("./FileUploader.hooks.js"),t=require("./FileUploader.utils.js");exports.FileUploader=({files:d=[],onChange:n,accept:p,multiple:u=!0,maxFileSize:x,disabled:c=!1,isError:g=!1,errorMessage:h,supportMessage:m,text:f,isSmall:j=!1,onFileSizeExceeded:F})=>{const{inputRef:b,isDragOver:y,handleInputChange:w,handleButtonClick:v,handleRemoveFile:B,handleDragOver:S,handleDragLeave:q,handleDrop:C}=o.useFileUploader({files:d,onChange:n,maxFileSize:x,disabled:c,onFileSizeExceeded:F}),D=a.useMemo((()=>d.reduce(((e,r)=>e+r.size),0)),[d]),z=t.generateAcceptDescription(p);/*#__PURE__*/
2
+ return e.jsxs(l.Box,{className:"flex w-full flex-col gap-6",children:[
3
+ /*#__PURE__*/e.jsx("input",{ref:b,type:"file",className:"hidden",accept:p,multiple:u,onChange:w,disabled:c,"data-testid":"file-uploader-input"}),d.length>0&&/*#__PURE__*/e.jsx(l.Box,{className:"flex flex-col gap-2",children:d.map(((r,a)=>/*#__PURE__*/e.jsx(s.FileItem,{file:r,onRemove:()=>B(a),disabled:c},`${r.name}-${a}`)))}),
4
+ /*#__PURE__*/e.jsxs(l.Box,{className:"flex flex-col gap-2",children:[
5
+ /*#__PURE__*/e.jsx("button",{type:"button",className:r.twMerge("border-w-gray-200 bg-w-gray-10 text-w-gray-600 flex w-full items-center justify-center gap-3 rounded-xl border border-dashed px-6 py-8",j?"flex-row":"flex-col",c&&"cursor-not-allowed",g&&"border-w-red-500",!c&&!g&&"hover:border-w-gray-400",y&&!c&&!g&&"border-w-gray-400"),disabled:c,onClick:v,onDragOver:S,onDragLeave:q,onDrop:C,children:/*#__PURE__*/e.jsx(s.FileUploadArea,{disabled:c,isSmall:j,text:f,acceptDescription:z})}),
6
+ /*#__PURE__*/e.jsx(i.SupportTextContainer,{errorMessage:h,supportMessage:m,currentFileSize:D,maxFileSize:x})]})]})};
@@ -1,3 +1,3 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),s=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js"),require("react"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js");var t=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../DataDisplays/Accordion/Accordion.js");var i=require("../IconButton/IconButton.js"),n=require("../List/List.js"),o=require("../../../hooks/useDropdown.js");exports.IconButtonDropdown=({icon:a,items:r,selectedItem:l,onItemClick:c,size:d="sm",align:u="left",disabled:m=!1})=>{const{isListOpen:y,ref:I,focusedIndex:j,handleItemClick:x,toggleListOpen:w,handleKeyDown:p}=o.useDropdown({items:r,onItemClick:c});/*#__PURE__*/
2
- return e.jsxs("div",{"data-testid":"design-system-icon-button-dropdown",className:"relative w-fit outline-hidden",ref:I,onKeyDown:p,tabIndex:0,children:[
3
- /*#__PURE__*/e.jsx(i.IconButton,{onClick:w,size:d,className:"outline-hidden",disabled:m,children:/*#__PURE__*/e.jsx(t.SystemIcon,{name:a,className:s.twJoin(m&&"text-w-gray-300")})}),y&&/*#__PURE__*/e.jsx("div",{"data-testid":"design-system-icon-button-dropdown--list-container",className:s.twJoin("absolute -bottom-2 z-40 translate-y-full transform transition-all","right"===u?"right-0":"left-0"),children:/*#__PURE__*/e.jsx(n.List.Root,{className:"max-h-full min-w-40 overflow-y-visible",children:r.map(((s,t)=>/*#__PURE__*/e.jsx(n.List.Item,{text:s.value,leadingIcon:s.leadingIcon,onClick:()=>x(s),selected:s.key===(null==l?void 0:l.key),isFocused:t===j},s.key)))})})]})};
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),s=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js"),require("../../Base/Typography/Typography.js"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js"),require("react");var t=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../DataDisplays/Accordion/Accordion.js");var i=require("../IconButton/IconButton.js"),n=require("../List/List.js"),o=require("../../../hooks/useDropdown.js");exports.IconButtonDropdown=({icon:a,items:r,selectedItem:l,onItemClick:c,size:d="sm",align:u="left",disabled:m=!1})=>{const{isListOpen:y,ref:I,focusedIndex:j,handleItemClick:p,toggleListOpen:x,handleKeyDown:h}=o.useDropdown({items:r,onItemClick:c});/*#__PURE__*/
2
+ return e.jsxs("div",{"data-testid":"design-system-icon-button-dropdown",className:"relative w-fit outline-hidden",ref:I,onKeyDown:h,tabIndex:0,children:[
3
+ /*#__PURE__*/e.jsx(i.IconButton,{onClick:x,size:d,className:"outline-hidden",disabled:m,children:/*#__PURE__*/e.jsx(t.SystemIcon,{name:a,className:s.twJoin(m&&"text-w-gray-300")})}),y&&/*#__PURE__*/e.jsx("div",{"data-testid":"design-system-icon-button-dropdown--list-container",className:s.twJoin("absolute -bottom-2 z-40 translate-y-full transform transition-all","right"===u?"right-0":"left-0"),children:/*#__PURE__*/e.jsx(n.List.Root,{className:"max-h-full min-w-40 overflow-y-visible",children:r.map(((s,t)=>/*#__PURE__*/e.jsx(n.List.Item,{text:s.value,leadingIcon:s.leadingIcon,onClick:()=>p(s),selected:s.key===(null==l?void 0:l.key),isFocused:t===j},s.key)))})})]})};
@@ -23,5 +23,5 @@
23
23
  *
24
24
  * // 에러 상태
25
25
  * <Input isError placeholder="에러 상태" />
26
- */(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}const a=/*#__PURE__*/r.forwardRef(((r,a)=>{var{disabled:l,className:i,isError:u,isFocused:c}=r,s=o(r,["disabled","className","isError","isFocused"]);/*#__PURE__*/
27
- return e.jsx("input",function(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){n(e,r,t[r])}))}return e}({role:"text-input",ref:a,className:t.twMerge("typo-body16 placeholder:typo-body16 tracking-default placeholder:tracking-default text-w-gray-600 placeholder:text-w-gray-300 disabled:bg-w-gray-10 w-full outline-hidden",l&&"placeholder:typo-body16 text-w-gray-300 placeholder:text-w-gray-200 cursor-not-allowed",i),"data-testid":"design-system--input",disabled:l},s))}));a.displayName="Input",exports.Input=a;
26
+ */(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}const a=/*#__PURE__*/r.forwardRef(((r,a)=>{var{disabled:l,className:i,isError:c,isFocused:u}=r,s=o(r,["disabled","className","isError","isFocused"]);/*#__PURE__*/
27
+ return e.jsx("input",function(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){n(e,r,t[r])}))}return e}({ref:a,className:t.twMerge("typo-body16 placeholder:typo-body16 tracking-default placeholder:tracking-default text-w-gray-600 placeholder:text-w-gray-300 disabled:bg-w-gray-10 w-full outline-hidden",l&&"placeholder:typo-body16 text-w-gray-300 placeholder:text-w-gray-200 cursor-not-allowed",i),"data-testid":"design-system--input",disabled:l},s))}));a.displayName="Input",exports.Input=a;
@@ -1,4 +1,4 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),t=require("react");require("../../DataDisplays/Avatar/Avatar.js"),require("tailwind-merge");var r=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var n=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../DataDisplays/Accordion/Accordion.js");var s=require("./Input.js");function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(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){o(e,t,r[t])}))}return e}function i(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 c(e,t){if(null==e)return{};var r,n,s=function(e,t){if(null==e)return{};var r,n,s={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(s[r]=e[r]);return s}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}const u=/*#__PURE__*/t.forwardRef(((o,u)=>{var{type:l,disabled:p}=o,y=c(o,["type","disabled"]);const[b,f]=t.useState(!1);/*#__PURE__*/
2
- return e.jsxs(r.Box,{className:"flex w-full items-center gap-2","data-testid":"design-system--password-input",children:[
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),r=require("react");require("../../DataDisplays/Avatar/Avatar.js"),require("tailwind-merge"),require("../../Base/Typography/Typography.js");var t=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var n=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../DataDisplays/Accordion/Accordion.js");var s=require("./Input.js");function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){o(e,r,t[r])}))}return e}function i(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 c(e,r){if(null==e)return{};var t,n,s=function(e,r){if(null==e)return{};var t,n,s={},o=Object.keys(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||(s[t]=e[t]);return s}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t=o[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(s[t]=e[t])}return s}const u=/*#__PURE__*/r.forwardRef(((o,u)=>{var{type:l,disabled:p}=o,y=c(o,["type","disabled"]);const[b,f]=r.useState(!1);/*#__PURE__*/
2
+ return e.jsxs(t.Box,{className:"flex w-full items-center gap-2","data-testid":"design-system--password-input",children:[
3
3
  /*#__PURE__*/e.jsx(s.Input,i(a({type:b?"text":"password",ref:u},y),{disabled:p})),
4
4
  /*#__PURE__*/e.jsx("button",{onClick:e=>{e.preventDefault(),f((e=>!e))},disabled:p,className:p?"cursor-not-allowed":"cursor-pointer",type:"button",children:/*#__PURE__*/e.jsx(n.SystemIcon,{name:b?"medium_eye_slash":"medium_eye",className:"text-w-gray-400"})})]})}));u.displayName="PasswordInput",exports.PasswordInput=u;
@@ -1,2 +1,36 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),s=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js");var a=require("../../Base/Typography/Typography.js"),r=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("react");var t=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../DataDisplays/Accordion/Accordion.js");exports.InputChip=({children:i,onDelete:l,className:n})=>/*#__PURE__*/e.jsxs(r.Box,{"data-testid":"design-system-input-chip--container",className:s.twMerge("bg-w-gray-100 flex h-6 w-fit max-w-[100px] items-center gap-0.5 rounded-lg px-2 py-px select-none",!!l&&"pr-1.5 pl-2",n),children:[
2
- /*#__PURE__*/e.jsx(a.Typography,{variant:"body14",className:"text-w-gray-600 h-6 w-full overflow-hidden break-all text-ellipsis whitespace-nowrap",children:i}),!!l&&/*#__PURE__*/e.jsx(r.Box,{onClick:l,"data-testid":"design-system-input-chip--delete",children:/*#__PURE__*/e.jsx(t.SystemIcon,{name:"small_delete",className:"text-w-gray-400 cursor-pointer"})})]});
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js");var r=require("../../Base/Typography/Typography.js"),n=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("react");var s=require("../../DataDisplays/SystemIcon/SystemIcon.js");function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(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){a(e,t,r[t])}))}return e}function i(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}
2
+ /**
3
+ * 삭제 가능한 칩(chip) 형태의 입력 컴포넌트입니다.
4
+ *
5
+ * @component
6
+ * @param {Object} props
7
+ * @param {React.ReactNode} props.children - 칩 내부에 표시될 콘텐츠
8
+ * @param {() => void} [props.onDelete] - 삭제 버튼 클릭 시 실행될 콜백 함수. 삭제 버튼은 `<button type="button">`으로 렌더되어 클릭뿐 아니라 키보드(Tab 포커스 + Enter/Space)로도 동작합니다.
9
+ * @param {string} [props.className] - 추가적인 CSS 클래스
10
+ * @param {string} [props.deleteLabel] - 삭제 버튼의 접근 가능한 이름. 미지정 시 `children`이 문자열이면 `"{children} 삭제"`, 아니면 `"삭제"`
11
+ * @param {Object} [props.deleteButtonProps] - 삭제 버튼에 직접 전달할 `id` / `tabIndex` / `onFocus`. 칩 묶음의 roving tabindex 구현용이며 단독 사용 시에는 불필요합니다.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * // 기본 사용
16
+ * <InputChip>태그</InputChip>
17
+ *
18
+ * // 삭제 기능이 있는 칩
19
+ * <InputChip onDelete={() => console.log('삭제됨')}>
20
+ * 삭제 가능한 태그
21
+ * </InputChip>
22
+ *
23
+ * // 커스텀 스타일이 적용된 칩
24
+ * <InputChip className="bg-blue-100">
25
+ * 커스텀 스타일 태그
26
+ * </InputChip>
27
+ * ```
28
+ */require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../DataDisplays/Accordion/Accordion.js");exports.InputChip=({children:a,onDelete:c,className:l,deleteLabel:p,deleteButtonProps:u})=>{
29
+ // 아이콘만 있는 버튼이라 접근 가능한 이름을 명시해야 한다. children이
30
+ // ReactNode라 항상 텍스트는 아니므로, 문자열/숫자일 때만 칩 텍스트를 이름에
31
+ // 넣고 그 외(엘리먼트, 배열 등)에는 일반 라벨로 폴백한다. 임의 ReactNode에서
32
+ // 텍스트를 추출할 일반적인 방법은 없으므로, 그런 경우 소비자가 deleteLabel로
33
+ // 직접 지정한다.
34
+ const y="string"==typeof a||"number"==typeof a?String(a):void 0,b=null!=p?p:y?`${y} 삭제`:"삭제";/*#__PURE__*/
35
+ return e.jsxs(n.Box,{"data-testid":"design-system-input-chip--container",className:t.twMerge("bg-w-gray-100 flex h-6 w-fit max-w-[100px] items-center gap-0.5 rounded-lg px-2 py-px select-none",!!c&&"pr-1.5 pl-2",l),children:[
36
+ /*#__PURE__*/e.jsx(r.Typography,{variant:"body14",className:"text-w-gray-600 h-6 w-full overflow-hidden break-all text-ellipsis whitespace-nowrap",children:a}),!!c&&/*#__PURE__*/e.jsx("button",i(o({},u),{type:"button",onClick:c,"aria-label":b,"data-testid":"design-system-input-chip--delete",className:"flex cursor-pointer items-center",children:/*#__PURE__*/e.jsx(s.SystemIcon,{name:"small_delete",className:"text-w-gray-400"})}))]})};
@@ -1,17 +1,17 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge"),t=require("react"),o=require("../../Base/Layouts/Box/Box.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 a(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 n(e,r){if(null==e)return{};var t,o,i=function(e,r){if(null==e)return{};var t,o,i={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}require("../../Base/Layouts/FullBleed/FullBleed.js");const s=({disabled:t,checked:o,isError:i})=>/*#__PURE__*/e.jsx("div",{className:r.twMerge("relative box-border flex h-[18px] w-[18px] items-center justify-center rounded-full border p-[4px]",!t&&!i&&"group-focus-within:border-primary-500",
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge"),t=require("react");require("../../Base/Typography/Typography.js");var o=require("../../Base/Layouts/Box/Box.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 s(e,r){if(null==e)return{};var t,o,a=function(e,r){if(null==e)return{};var t,o,a={},i=Object.keys(e);for(o=0;o<i.length;o++)t=i[o],r.indexOf(t)>=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)t=i[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}require("../../Base/Layouts/FullBleed/FullBleed.js");const n=({disabled:t,checked:o,isError:a})=>/*#__PURE__*/e.jsx("div",{className:r.twMerge("relative box-border flex h-[18px] w-[18px] items-center justify-center rounded-full border p-[4px]",!t&&!a&&"group-focus-within:border-primary-500",
2
2
  // 체크되었고 비활성화 상태의 경우
3
3
  o&&t?"bg-w-white border-primary-100 cursor-not-allowed":
4
4
  // 비활성화 상태의 경우
5
5
  t?"bg-w-gray-50 border-w-gray-200 cursor-not-allowed":
6
6
  // 활성화 상태에서 체크되었고 오류가 없는 경우
7
- o&&!i?"bg-w-white border-primary-500":
7
+ o&&!a?"bg-w-white border-primary-500":
8
8
  // 활성화 상태에서 체크되었고 오류가 있는 경우
9
- o&&i?"bg-w-white border-w-red-500":
9
+ o&&a?"bg-w-white border-w-red-500":
10
10
  // 활성화 상태에서 체크되지 않았고 오류가 있는 경우
11
- !o&&i?"border-w-red-500":"bg-white border-w-gray-200 group-hover:border-primary-500 cursor-pointer"),role:"radio-button",children:/*#__PURE__*/e.jsx("div",{className:r.twMerge("bg-primary size-2 rounded-full transition-all duration-100 ease-in-out",!o&&"h-0 w-0",i&&"bg-w-red-500",t&&"bg-w-gray-200",o&&t&&"bg-primary-100")})}),l=/*#__PURE__*/t.forwardRef(((t,i)=>{var{value:l="",checked:u=!1,disabled:d=!1,isError:c=!1,className:b}=t,p=n(t,["value","checked","disabled","isError","className"]);/*#__PURE__*/
11
+ !o&&a?"border-w-red-500":"bg-white border-w-gray-200 group-hover:border-primary-500 cursor-pointer"),"data-testid":"design-system-radio-button",children:/*#__PURE__*/e.jsx("div",{className:r.twMerge("bg-primary size-2 rounded-full transition-all duration-100 ease-in-out",!o&&"h-0 w-0",a&&"bg-w-red-500",t&&"bg-w-gray-200",o&&t&&"bg-primary-100")})}),l=/*#__PURE__*/t.forwardRef(((t,a)=>{var{value:l="",checked:d=!1,disabled:u=!1,isError:c=!1,className:b}=t,p=s(t,["value","checked","disabled","isError","className"]);/*#__PURE__*/
12
12
  return e.jsxs(o.Box,{"data-testid":"design-system-radio",className:r.twMerge("group relative cursor-pointer",b),children:[
13
- /*#__PURE__*/e.jsx("input",a({ref:i,type:"radio",className:"absolute inset-0 z-10 cursor-pointer opacity-0",value:l,checked:u,disabled:d},p)),
14
- /*#__PURE__*/e.jsx(s,{checked:u,isError:c,disabled:d})]})}));
13
+ /*#__PURE__*/e.jsx("input",i({ref:a,type:"radio",className:"absolute inset-0 z-10 cursor-pointer opacity-0",value:l,checked:d,disabled:u},p)),
14
+ /*#__PURE__*/e.jsx(n,{checked:d,isError:c,disabled:u})]})}));
15
15
  /**
16
16
  * 사용자가 여러 옵션 중 하나를 선택할 수 있는 라디오 버튼 컴포넌트입니다.
17
17
  *
@@ -1,5 +1,5 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime");require("react");var a=require("tailwind-merge"),r=require("../../Base/Typography/Typography.js");require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js");var t=require("./RadioCard.parts.js"),i=require("./useRadioCard.js");exports.RadioCard=d=>{const{disabled:s=!1,checked:o=!1,isError:n=!1,onChange:l,isWide:c=!1,className:u,iconName:y,title:g,description:x,testId:h,value:m,name:C}=d,p=null!=y?y:c?null:"receipt",{handleChange:j}=i.useRadioCard({checked:o,disabled:s,onChange:l});/*#__PURE__*/
2
- return e.jsx("label",{"data-testid":h,role:"radio-card",className:"group",children:/*#__PURE__*/e.jsxs(t.RadioCardContainer,{"data-testid":"design-system-radioCard--container",checked:o,isError:n,isWide:c,disabled:s,className:u,children:[
3
- /*#__PURE__*/e.jsx(t.StyledRadio,{name:C,value:m,isWide:c,checked:o,onChange:j,isError:n,disabled:s}),p&&/*#__PURE__*/e.jsx(t.RadioCardIcon,{iconName:p,checked:o,isError:n,disabled:s}),
1
+ "use client";"use strict";var e=require("react/jsx-runtime");require("react");var a=require("tailwind-merge"),r=require("../../Base/Typography/Typography.js");require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js");var t=require("./RadioCard.parts.js"),i=require("./useRadioCard.js");exports.RadioCard=s=>{const{disabled:d=!1,checked:n=!1,isError:o=!1,onChange:l,isWide:c=!1,className:u,iconName:y,title:g,description:x,testId:h,value:m,name:C}=s,p=null!=y?y:c?null:"receipt",{handleChange:j}=i.useRadioCard({checked:n,disabled:d,onChange:l});/*#__PURE__*/
2
+ return e.jsx("label",{"data-testid":h||"design-system-radioCard",className:"group",children:/*#__PURE__*/e.jsxs(t.RadioCardContainer,{"data-testid":"design-system-radioCard--container",checked:n,isError:o,isWide:c,disabled:d,className:u,children:[
3
+ /*#__PURE__*/e.jsx(t.StyledRadio,{name:C,value:m,isWide:c,checked:n,onChange:j,isError:o,disabled:d}),p&&/*#__PURE__*/e.jsx(t.RadioCardIcon,{iconName:p,checked:n,isError:o,disabled:d}),
4
4
  /*#__PURE__*/e.jsxs(t.TitleContainer,{isWide:c,"data-testid":"design-system-radioCard--titleBox",children:[
5
- /*#__PURE__*/e.jsx(r.Typography,{"data-testid":"design-system-radioCard--title",variant:"body16",className:a.twMerge("font-medium",c?"text-left":"text-center",s?"text-w-gray-300":"text-w-gray-900"),children:g}),x&&/*#__PURE__*/e.jsx(r.Typography,{variant:"body14",className:a.twMerge("font-normal",c?"text-left":"text-center",s?"text-w-gray-300":"text-w-gray-600"),"data-testid":"design-system-radioCard--description",children:x})]})]})})};
5
+ /*#__PURE__*/e.jsx(r.Typography,{"data-testid":"design-system-radioCard--title",variant:"body16",className:a.twMerge("font-medium",c?"text-left":"text-center",d?"text-w-gray-300":"text-w-gray-900"),children:g}),x&&/*#__PURE__*/e.jsx(r.Typography,{variant:"body14",className:a.twMerge("font-normal",c?"text-left":"text-center",d?"text-w-gray-300":"text-w-gray-600"),"data-testid":"design-system-radioCard--description",children:x})]})]})})};
@@ -1,4 +1,4 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js"),require("react"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var t=require("../../DataDisplays/ProductIcon/ProductIcon.js");require("../../DataDisplays/Accordion/Accordion.js");var i=require("../Radio/Radio.js");function o(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]:{},i=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),i.forEach((function(r){o(e,r,t[r])}))}return e}function n(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 a(e,r){if(null==e)return{};var t,i,o=function(e,r){if(null==e)return{};var t,i,o={},s=Object.keys(e);for(i=0;i<s.length;i++)t=s[i],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i<s.length;i++)t=s[i],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}exports.RadioCardContainer=t=>{var{children:i,isWide:o,checked:c,isError:l,disabled:d,className:u}=t,p=a(t,["children","isWide","checked","isError","disabled","className"]);/*#__PURE__*/
2
- return e.jsx("div",n(s({className:r.twMerge("relative flex h-auto cursor-pointer items-center gap-2 rounded-xl border",o?"min-h-[94px] w-[298px] flex-row gap-3 px-5 py-4":"min-h-fit w-[224px] flex-col justify-center px-4 py-6",!d&&!l&&"group-focus-within:border-primary-500",d&&c&&!l?"cursor-not-allowed border-primary-100":d?"cursor-not-allowed border-w-gray-200":l?"border-w-red-500":c?"border-primary-500":"border-w-gray-200 group-hover:border-primary",d?c&&!l?"bg-primary-10":"bg-w-gray-10":c?l?"bg-w-red-10":"bg-primary-10":"bg-w-white",u)},p),{children:i}))},exports.RadioCardIcon=({iconName:i,disabled:o,checked:s,isError:n})=>{const a=n||!s;/*#__PURE__*/
3
- return e.jsx("div",{className:r.twMerge("flex size-[60px] shrink-0 items-center justify-center",o&&"opacity-30"),"data-testid":"design-system-radioCard--icon",children:/*#__PURE__*/e.jsx(t.ProductIcon,{name:i,disabled:a})})},exports.StyledRadio=t=>{var{isWide:o,disabled:n,isError:c,checked:l}=t,d=a(t,["isWide","disabled","isError","checked"]);const u=!o,p=c&&l&&n;/*#__PURE__*/
4
- return e.jsx(i.Radio,s({className:r.twMerge(u&&"absolute top-[17px] left-[17px]"),disabled:n||p,checked:!p&&l,isError:c},d))},exports.TitleContainer=({isWide:t,children:i})=>/*#__PURE__*/e.jsx("div",{className:r.twJoin("flex h-auto w-full flex-col justify-between gap-0.5",t?"items-start":"items-center"),children:i});
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js"),require("../../Base/Typography/Typography.js"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js"),require("react"),require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var t=require("../../DataDisplays/ProductIcon/ProductIcon.js");require("../../DataDisplays/Accordion/Accordion.js");var i=require("../Radio/Radio.js");function o(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]:{},i=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),i.forEach((function(r){o(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 n(e,r){if(null==e)return{};var t,i,o=function(e,r){if(null==e)return{};var t,i,o={},s=Object.keys(e);for(i=0;i<s.length;i++)t=s[i],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i<s.length;i++)t=s[i],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}exports.RadioCardContainer=t=>{var{children:i,isWide:o,checked:c,isError:l,disabled:d,className:u}=t,p=n(t,["children","isWide","checked","isError","disabled","className"]);/*#__PURE__*/
2
+ return e.jsx("div",a(s({className:r.twMerge("relative flex h-auto cursor-pointer items-center gap-2 rounded-xl border",o?"min-h-[94px] w-[298px] flex-row gap-3 px-5 py-4":"min-h-fit w-[224px] flex-col justify-center px-4 py-6",!d&&!l&&"group-focus-within:border-primary-500",d&&c&&!l?"cursor-not-allowed border-primary-100":d?"cursor-not-allowed border-w-gray-200":l?"border-w-red-500":c?"border-primary-500":"border-w-gray-200 group-hover:border-primary",d?c&&!l?"bg-primary-10":"bg-w-gray-10":c?l?"bg-w-red-10":"bg-primary-10":"bg-w-white",u)},p),{children:i}))},exports.RadioCardIcon=({iconName:i,disabled:o,checked:s,isError:a})=>{const n=a||!s;/*#__PURE__*/
3
+ return e.jsx("div",{className:r.twMerge("flex size-[60px] shrink-0 items-center justify-center",o&&"opacity-30"),"data-testid":"design-system-radioCard--icon",children:/*#__PURE__*/e.jsx(t.ProductIcon,{name:i,disabled:n})})},exports.StyledRadio=t=>{var{isWide:o,disabled:a,isError:c,checked:l}=t,d=n(t,["isWide","disabled","isError","checked"]);const u=!o,p=c&&l&&a;/*#__PURE__*/
4
+ return e.jsx(i.Radio,s({className:r.twMerge(u&&"absolute top-[17px] left-[17px]"),disabled:a||p,checked:!p&&l,isError:c},d))},exports.TitleContainer=({isWide:t,children:i})=>/*#__PURE__*/e.jsx("div",{className:r.twJoin("flex h-auto w-full flex-col justify-between gap-0.5",t?"items-start":"items-center"),children:i});
@@ -1,5 +1,5 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge"),n=require("react"),r=require("../../Base/Layouts/Box/Box.js");function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){a(e,t,n[t])}))}return e}function s(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function m(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}require("../../Base/Layouts/FullBleed/FullBleed.js");const u="\n [&::-moz-range-thumb]:pointer-events-auto\n [&::-moz-range-thumb]:mr-2\n [&::-moz-range-thumb]:-translate-x-1/4\n [&::-moz-range-thumb]:transform\n [&::-moz-range-thumb]:appearance-none\n [&::-moz-range-thumb]:rounded-full\n [&::-moz-range-thumb]:border\n [&::-moz-range-thumb]:border-w-gray-200\n [&::-moz-range-thumb]:bg-transparent\n [&::-moz-range-thumb]:bg-white\n [&::-moz-range-thumb]:shadow-graymedium\n [&::-moz-range-thumb]:outline\n [&::-moz-range-thumb]:inset-ring\n [&::-moz-range-thumb]:inset-ring-w-gray-200\n [&::-moz-range-thumb]:transition-all\n [&::-moz-range-thumb]:duration-150\n [&::-moz-range-thumb]:ease-in-out\n [&::-moz-range-thumb]:dark:bg-w-white\n\n [&::-webkit-slider-thumb]:pointer-events-auto\n [&::-webkit-slider-thumb]:mr-2\n [&::-webkit-slider-thumb]:-translate-x-1/4\n [&::-webkit-slider-thumb]:transform\n [&::-webkit-slider-thumb]:appearance-none\n [&::-webkit-slider-thumb]:rounded-full\n [&::-webkit-slider-thumb]:border\n [&::-webkit-slider-thumb]:border-w-gray-200\n [&::-webkit-slider-thumb]:bg-transparent\n [&::-webkit-slider-thumb]:bg-white\n [&::-webkit-slider-thumb]:shadow-graymedium\n [&::-webkit-slider-thumb]:outline\n [&::-webkit-slider-thumb]:inset-ring\n [&::-webkit-slider-thumb]:inset-ring-w-gray-200\n [&::-webkit-slider-thumb]:transition-all\n [&::-webkit-slider-thumb]:duration-150\n [&::-webkit-slider-thumb]:ease-in-out\n [&::-webkit-slider-thumb]:dark:bg-w-white\n ",o="pointer-events-none [&::-webkit-slider-thumb]:pointer-events-none [&::-moz-range-thumb]:pointer-events-none",l="absolute z-30 h-full w-full cursor-grab appearance-none rounded-full bg-transparent text-transparent";exports.RangeSlider=a=>{var{variant:b="single",size:d="sm",step:g=10,value:h={min:0,max:0},min:c=0,max:w=100,onChange:p,className:f,disabled:y}=a,x=m(a,["variant","size","step","value","min","max","onChange","className","disabled"]);const z="dual"===b,{min:j,max:v}=h,O=z?j:0,[k,S]=n.useState({min:O,max:v}),[N,P]=n.useState("end"),B=e=>w===c?0:(e-c)/(w-c)*100,M=(e,t)=>{const n="min"===t,r=n?"start":"end",a=Number(e.target.value),m=n?Math.min(a,k.max):Math.max(a,k.min);P(r);const u=s(i({},k),{[t]:m});S(u),null==p||p(u)},q=()=>"sm"===d?`${u}[&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4`:`${u}[&::-moz-range-thumb]:h-5 [&::-moz-range-thumb]:w-5 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5`,D=Math.floor(Number(w)/Number(g))+1;return n.useEffect((()=>{var e;S({min:z?null!==(e=h.min)&&void 0!==e?e:k.min:0,max:h.max})}),[h.min,h.max]),/*#__PURE__*/e.jsxs(r.Box,{className:t.twMerge("relative px-1",f),"data-testid":"design-system-rangeSlider",children:[z&&/*#__PURE__*/e.jsx("input",i({"data-testid":"design-system-rangeSlider--start-thumb-input",type:"range",min:c,max:w,step:g,value:k.min,onInput:e=>M(e,"min"),className:t.twMerge(l,"pointer-events-none",q(),"start"===N&&"z-50",y&&o),disabled:y},x)),
2
- /*#__PURE__*/e.jsx("input",i({"data-testid":"design-system-rangeSlider--end-thumb-input",type:"range",min:c,max:w,value:k.max,onInput:e=>M(e,"max"),step:g,className:t.twMerge(l,"pointer-events-auto",q(),z&&"pointer-events-none","end"===N&&"z-50",y&&o),disabled:y},x)),
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge"),n=require("react");require("../../Base/Typography/Typography.js");var r=require("../../Base/Layouts/Box/Box.js");function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){a(e,t,n[t])}))}return e}function s(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 n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})),e}function m(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}require("../../Base/Layouts/FullBleed/FullBleed.js");const u="\n [&::-moz-range-thumb]:pointer-events-auto\n [&::-moz-range-thumb]:mr-2\n [&::-moz-range-thumb]:-translate-x-1/4\n [&::-moz-range-thumb]:transform\n [&::-moz-range-thumb]:appearance-none\n [&::-moz-range-thumb]:rounded-full\n [&::-moz-range-thumb]:border\n [&::-moz-range-thumb]:border-w-gray-200\n [&::-moz-range-thumb]:bg-transparent\n [&::-moz-range-thumb]:bg-white\n [&::-moz-range-thumb]:shadow-graymedium\n [&::-moz-range-thumb]:outline\n [&::-moz-range-thumb]:inset-ring\n [&::-moz-range-thumb]:inset-ring-w-gray-200\n [&::-moz-range-thumb]:transition-all\n [&::-moz-range-thumb]:duration-150\n [&::-moz-range-thumb]:ease-in-out\n [&::-moz-range-thumb]:dark:bg-w-white\n\n [&::-webkit-slider-thumb]:pointer-events-auto\n [&::-webkit-slider-thumb]:mr-2\n [&::-webkit-slider-thumb]:-translate-x-1/4\n [&::-webkit-slider-thumb]:transform\n [&::-webkit-slider-thumb]:appearance-none\n [&::-webkit-slider-thumb]:rounded-full\n [&::-webkit-slider-thumb]:border\n [&::-webkit-slider-thumb]:border-w-gray-200\n [&::-webkit-slider-thumb]:bg-transparent\n [&::-webkit-slider-thumb]:bg-white\n [&::-webkit-slider-thumb]:shadow-graymedium\n [&::-webkit-slider-thumb]:outline\n [&::-webkit-slider-thumb]:inset-ring\n [&::-webkit-slider-thumb]:inset-ring-w-gray-200\n [&::-webkit-slider-thumb]:transition-all\n [&::-webkit-slider-thumb]:duration-150\n [&::-webkit-slider-thumb]:ease-in-out\n [&::-webkit-slider-thumb]:dark:bg-w-white\n ",o="pointer-events-none [&::-webkit-slider-thumb]:pointer-events-none [&::-moz-range-thumb]:pointer-events-none",l="absolute z-30 h-full w-full cursor-grab appearance-none rounded-full bg-transparent text-transparent";exports.RangeSlider=a=>{var{variant:b="single",size:d="sm",step:g=10,value:h={min:0,max:0},min:c=0,max:p=100,onChange:w,className:y,disabled:f}=a,x=m(a,["variant","size","step","value","min","max","onChange","className","disabled"]);const z="dual"===b,{min:j,max:v}=h,O=z?j:0,[k,S]=n.useState({min:O,max:v}),[B,N]=n.useState("end"),P=e=>p===c?0:(e-c)/(p-c)*100,M=(e,t)=>{const n="min"===t,r=n?"start":"end",a=Number(e.target.value),m=n?Math.min(a,k.max):Math.max(a,k.min);N(r);const u=s(i({},k),{[t]:m});S(u),null==w||w(u)},q=()=>"sm"===d?`${u}[&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4`:`${u}[&::-moz-range-thumb]:h-5 [&::-moz-range-thumb]:w-5 [&::-webkit-slider-thumb]:h-5 [&::-webkit-slider-thumb]:w-5`,D=Math.floor(Number(p)/Number(g))+1;return n.useEffect((()=>{var e;S({min:z?null!==(e=h.min)&&void 0!==e?e:k.min:0,max:h.max})}),[h.min,h.max]),/*#__PURE__*/e.jsxs(r.Box,{className:t.twMerge("relative px-1",y),"data-testid":"design-system-rangeSlider",children:[z&&/*#__PURE__*/e.jsx("input",i({"data-testid":"design-system-rangeSlider--start-thumb-input",type:"range",min:c,max:p,step:g,value:k.min,onInput:e=>M(e,"min"),className:t.twMerge(l,"pointer-events-none",q(),"start"===B&&"z-50",f&&o),disabled:f},x)),
2
+ /*#__PURE__*/e.jsx("input",i({"data-testid":"design-system-rangeSlider--end-thumb-input",type:"range",min:c,max:p,value:k.max,onInput:e=>M(e,"max"),step:g,className:t.twMerge(l,"pointer-events-auto",q(),z&&"pointer-events-none","end"===B&&"z-50",f&&o),disabled:f},x)),
3
3
  /*#__PURE__*/e.jsxs(r.Box,{"data-testid":"design-system-rangeSlider--container",className:t.twMerge("relative overflow-hidden","sm"===d&&"h-1 rounded-xs","md"===d&&"h-2 rounded"),children:["md"===d&&/*#__PURE__*/e.jsx(r.Box,{className:"absolute z-20 flex h-2 w-full items-center justify-between bg-transparent p-0.5",children:[...Array(D)].map(((t,n)=>/*#__PURE__*/e.jsx(r.Box,{"data-testid":"design-system-rangeSlider--unit-dot",className:"bg-w-white size-1 rounded-full"},n)))}),
4
4
  /*#__PURE__*/e.jsx(r.Box,{className:"bg-w-gray-50 absolute top-0 left-0 z-0 h-full w-full","data-testid":"design-system-rangeSlider--rail"}),
5
- /*#__PURE__*/e.jsx(r.Box,{className:t.twMerge("bg-primary absolute top-0 left-0 z-10 h-full",y&&"bg-w-gray-300"),"data-testid":"design-system-rangeSlider--fill-track",style:{width:`${z?B(k.max)-B(k.min):B(k.max)}%`,left:z?`${B(k.min)}%`:0}})]})]})};
5
+ /*#__PURE__*/e.jsx(r.Box,{className:t.twMerge("bg-primary absolute top-0 left-0 z-10 h-full",f&&"bg-w-gray-300"),"data-testid":"design-system-rangeSlider--fill-track",style:{width:`${z?P(k.max)-P(k.min):P(k.max)}%`,left:z?`${P(k.min)}%`:0}})]})]})};
@@ -1,4 +1,4 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("tailwind-merge"),s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/Avatar/Avatar.js");var n=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../DataDisplays/Accordion/Accordion.js");var i=require("../TextButtonDropdown/TextButtonDropdown.js"),a=require("../TextFieldContainer/TextFieldContainer.js"),o=require("../Input/Input.js");function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},s=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),s.forEach((function(t){l(e,t,r[t])}))}return e}function c(e,t){if(null==e)return{};var r,s,n=function(e,t){if(null==e)return{};var r,s,n={},i=Object.keys(e);for(s=0;s<i.length;s++)r=i[s],t.indexOf(r)>=0||(n[r]=e[r]);return n}
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("tailwind-merge");require("../../Base/Typography/Typography.js");var s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/Avatar/Avatar.js");var n=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../DataDisplays/Accordion/Accordion.js");var a=require("../TextButtonDropdown/TextButtonDropdown.js"),i=require("../TextFieldContainer/TextFieldContainer.js"),o=require("../Input/Input.js");function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},s=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),s.forEach((function(t){l(e,t,r[t])}))}return e}function c(e,t){if(null==e)return{};var r,s,n=function(e,t){if(null==e)return{};var r,s,n={},a=Object.keys(e);for(s=0;s<a.length;s++)r=a[s],t.indexOf(r)>=0||(n[r]=e[r]);return n}
2
2
  /**
3
3
  * 검색 필드 컴포넌트
4
4
  *
@@ -34,7 +34,7 @@
34
34
  * ]
35
35
  * }}
36
36
  * />
37
- */(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}require("../Input/PasswordInput.js"),require("../Input/LabelInput.js"),require("../Input/InputTypeSelector.js");exports.SearchField=l=>{var{type:d,onSearch:p,className:y,disabled:b,spellCheck:m,onFocus:j,onBlur:f,filters:x}=l,h=c(l,["type","onSearch","className","disabled","spellCheck","onFocus","onBlur","filters"]);const[g,v]=t.useState(!1);/*#__PURE__*/
38
- return e.jsx("form",{onSubmit:e=>{e.preventDefault(),p()},"data-testid":"design-system-search-field",children:/*#__PURE__*/e.jsx("label",{className:"cursor-text",children:/*#__PURE__*/e.jsxs(a.TextFieldContainer,{isFocused:g,isDisabled:b,className:"overflow-visible",children:[!!x&&/*#__PURE__*/e.jsx(s.Box,{className:"shrink-0",children:/*#__PURE__*/e.jsx(i.TextButtonDropdown,u({disabled:b},x))}),
37
+ */(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++)r=a[s],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}require("../Input/PasswordInput.js"),require("../Input/LabelInput.js"),require("../Input/InputTypeSelector.js");exports.SearchField=l=>{var{type:d,onSearch:p,className:y,disabled:b,spellCheck:m,onFocus:j,onBlur:f,filters:x}=l,h=c(l,["type","onSearch","className","disabled","spellCheck","onFocus","onBlur","filters"]);const[g,v]=t.useState(!1);/*#__PURE__*/
38
+ return e.jsx("form",{onSubmit:e=>{e.preventDefault(),p()},"data-testid":"design-system-search-field",children:/*#__PURE__*/e.jsx("label",{className:"cursor-text",children:/*#__PURE__*/e.jsxs(i.TextFieldContainer,{isFocused:g,isDisabled:b,className:"overflow-visible",children:[!!x&&/*#__PURE__*/e.jsx(s.Box,{className:"shrink-0",children:/*#__PURE__*/e.jsx(a.TextButtonDropdown,u({disabled:b},x))}),
39
39
  /*#__PURE__*/e.jsx(o.Input,u({onFocus:e=>{v(!0),null==j||j(e)},onBlur:e=>{v(!1),null==f||f(e)},spellCheck:m||!1,disabled:b},h)),
40
40
  /*#__PURE__*/e.jsx("button",{type:"submit",className:"shrink-0","data-testid":"design-system-search-field--submit-button",disabled:b,children:/*#__PURE__*/e.jsx(n.SystemIcon,{testId:"design-system-search-field--submit-button-icon",name:"medium_search",className:r.twMerge("text-w-gray-600 pointer-events-none",b&&"text-w-gray-300")})})]})})})};