@wishket/design-system 1.17.2 → 1.17.4

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 (448) hide show
  1. package/README.md +14 -1
  2. package/dist/Components/Base/Layouts/FullBleed/FullBleed.js +1 -1
  3. package/dist/Components/Base/Layouts/FullBleed/FullBleed.utils.js +1 -1
  4. package/dist/Components/Base/TextWithIcons/TextWithIcons.d.ts +10 -0
  5. package/dist/Components/Base/TextWithIcons/TextWithIcons.js +2 -0
  6. package/dist/Components/Base/TextWithIcons/index.d.ts +1 -0
  7. package/dist/Components/Base/Typography/Typography.d.ts +1 -1
  8. package/dist/Components/Base/Typography/Typography.js +3 -3
  9. package/dist/Components/Base/Typography/Typography.types.d.ts +13 -12
  10. package/dist/Components/DataDisplays/Accordion/Accordion.d.ts +33 -0
  11. package/dist/Components/DataDisplays/Accordion/Accordion.js +58 -0
  12. package/dist/Components/DataDisplays/Accordion/index.d.ts +1 -0
  13. package/dist/Components/DataDisplays/Avatar/Avatar.d.ts +2 -1
  14. package/dist/Components/DataDisplays/Avatar/Avatar.js +5 -4
  15. package/dist/Components/DataDisplays/Divider/Divider.d.ts +3 -20
  16. package/dist/Components/DataDisplays/Divider/Divider.js +10 -6
  17. package/dist/Components/DataDisplays/Label/Label.js +1 -1
  18. package/dist/Components/DataDisplays/Li/Li.d.ts +5 -68
  19. package/dist/Components/DataDisplays/Li/Li.js +7 -7
  20. package/dist/Components/DataDisplays/ProductIcon/Icons/Achieve.d.ts +1 -1
  21. package/dist/Components/DataDisplays/ProductIcon/Icons/Bookmark.d.ts +1 -1
  22. package/dist/Components/DataDisplays/ProductIcon/Icons/BubbleStar.d.ts +1 -1
  23. package/dist/Components/DataDisplays/ProductIcon/Icons/BubbleStars.d.ts +1 -1
  24. package/dist/Components/DataDisplays/ProductIcon/Icons/Building.d.ts +1 -1
  25. package/dist/Components/DataDisplays/ProductIcon/Icons/Calendar.d.ts +1 -1
  26. package/dist/Components/DataDisplays/ProductIcon/Icons/CardConfirm.d.ts +1 -1
  27. package/dist/Components/DataDisplays/ProductIcon/Icons/CardWrite.d.ts +1 -1
  28. package/dist/Components/DataDisplays/ProductIcon/Icons/Congrats.d.ts +1 -1
  29. package/dist/Components/DataDisplays/ProductIcon/Icons/ContractPen.d.ts +1 -1
  30. package/dist/Components/DataDisplays/ProductIcon/Icons/Credit.d.ts +1 -1
  31. package/dist/Components/DataDisplays/ProductIcon/Icons/Database.d.ts +1 -1
  32. package/dist/Components/DataDisplays/ProductIcon/Icons/Design.d.ts +1 -1
  33. package/dist/Components/DataDisplays/ProductIcon/Icons/Discount.d.ts +1 -1
  34. package/dist/Components/DataDisplays/ProductIcon/Icons/DocumentCloud.d.ts +1 -1
  35. package/dist/Components/DataDisplays/ProductIcon/Icons/DocumentSuccess.d.ts +1 -1
  36. package/dist/Components/DataDisplays/ProductIcon/Icons/Email.d.ts +1 -1
  37. package/dist/Components/DataDisplays/ProductIcon/Icons/HandShake.d.ts +1 -1
  38. package/dist/Components/DataDisplays/ProductIcon/Icons/HandThumb.d.ts +1 -1
  39. package/dist/Components/DataDisplays/ProductIcon/Icons/Idea.d.ts +1 -1
  40. package/dist/Components/DataDisplays/ProductIcon/Icons/Lock.d.ts +1 -1
  41. package/dist/Components/DataDisplays/ProductIcon/Icons/Logout.d.ts +1 -1
  42. package/dist/Components/DataDisplays/ProductIcon/Icons/MemoWrite.d.ts +1 -1
  43. package/dist/Components/DataDisplays/ProductIcon/Icons/MobileConfirm.d.ts +1 -1
  44. package/dist/Components/DataDisplays/ProductIcon/Icons/Package.d.ts +1 -1
  45. package/dist/Components/DataDisplays/ProductIcon/Icons/PaperCertify.d.ts +1 -1
  46. package/dist/Components/DataDisplays/ProductIcon/Icons/PaperClip.d.ts +1 -1
  47. package/dist/Components/DataDisplays/ProductIcon/Icons/PaperClipClock.d.ts +1 -1
  48. package/dist/Components/DataDisplays/ProductIcon/Icons/PaperClock.d.ts +1 -1
  49. package/dist/Components/DataDisplays/ProductIcon/Icons/PaperConfirm.d.ts +1 -1
  50. package/dist/Components/DataDisplays/ProductIcon/Icons/PaperContract.d.ts +1 -1
  51. package/dist/Components/DataDisplays/ProductIcon/Icons/PaperHold.d.ts +1 -1
  52. package/dist/Components/DataDisplays/ProductIcon/Icons/PaperOverlap.d.ts +1 -1
  53. package/dist/Components/DataDisplays/ProductIcon/Icons/PaperPen.d.ts +1 -1
  54. package/dist/Components/DataDisplays/ProductIcon/Icons/PaperProject.d.ts +1 -1
  55. package/dist/Components/DataDisplays/ProductIcon/Icons/PaperSecurity.d.ts +1 -1
  56. package/dist/Components/DataDisplays/ProductIcon/Icons/PersonFreelancer.d.ts +1 -1
  57. package/dist/Components/DataDisplays/ProductIcon/Icons/PersonOffice.d.ts +1 -1
  58. package/dist/Components/DataDisplays/ProductIcon/Icons/PersonSmile.d.ts +1 -1
  59. package/dist/Components/DataDisplays/ProductIcon/Icons/Public.d.ts +1 -1
  60. package/dist/Components/DataDisplays/ProductIcon/Icons/Receipt.d.ts +1 -1
  61. package/dist/Components/DataDisplays/ProductIcon/Icons/Repair.d.ts +1 -1
  62. package/dist/Components/DataDisplays/ProductIcon/Icons/Search.d.ts +1 -1
  63. package/dist/Components/DataDisplays/ProductIcon/Icons/SearchConfirm.d.ts +1 -1
  64. package/dist/Components/DataDisplays/ProductIcon/Icons/ShieldConfirm.d.ts +1 -1
  65. package/dist/Components/DataDisplays/ProductIcon/Icons/ShieldWon.d.ts +1 -1
  66. package/dist/Components/DataDisplays/ProductIcon/Icons/Shopping.d.ts +1 -1
  67. package/dist/Components/DataDisplays/ProductIcon/Icons/WebDevelopment.d.ts +1 -1
  68. package/dist/Components/DataDisplays/ProductIcon/Icons/WebDomain.d.ts +1 -1
  69. package/dist/Components/DataDisplays/ProductIcon/Icons/WebPayment.d.ts +1 -1
  70. package/dist/Components/DataDisplays/ProductIcon/Icons/WebSecurity.d.ts +1 -1
  71. package/dist/Components/DataDisplays/ProductIcon/Icons/WidePaperConfirm.d.ts +1 -1
  72. package/dist/Components/DataDisplays/ProductIcon/Icons/WidePaperPayment.d.ts +1 -1
  73. package/dist/Components/DataDisplays/ProductIcon/Icons/WidePaperPlan.d.ts +1 -1
  74. package/dist/Components/DataDisplays/ProductIcon/Icons/WidePaperStructure.d.ts +1 -1
  75. package/dist/Components/DataDisplays/ProductIcon/Icons/Won.d.ts +1 -1
  76. package/dist/Components/DataDisplays/ProductIcon/ProductIcon.constants.d.ts +9 -5
  77. package/dist/Components/DataDisplays/ProductIcon/ProductIcon.js +5 -8
  78. package/dist/Components/DataDisplays/ProductIcon/ProductIcon.part.types.d.ts +5 -0
  79. package/dist/Components/DataDisplays/ProductIcon/ProductIcon.types.d.ts +4 -11
  80. package/dist/Components/DataDisplays/SkillLabel/SkillLabel.parts.js +1 -1
  81. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeAccountSetting.d.ts +1 -1
  82. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeAnswer.d.ts +1 -1
  83. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeArrowDown.d.ts +1 -1
  84. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeArrowLeft.d.ts +1 -1
  85. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeArrowRight.d.ts +1 -1
  86. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeArrowUp.d.ts +1 -1
  87. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeBell.d.ts +1 -1
  88. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeBubble.d.ts +1 -1
  89. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeCollection.d.ts +1 -1
  90. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeCollectionAdd.d.ts +1 -1
  91. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeDelete.d.ts +1 -1
  92. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeDrawer.d.ts +1 -1
  93. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeFilter.d.ts +1 -1
  94. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeHeart.d.ts +1 -1
  95. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeHome.d.ts +1 -1
  96. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeLike.d.ts +1 -1
  97. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeLink.d.ts +1 -1
  98. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargePlus.d.ts +1 -1
  99. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeQuestion.d.ts +1 -1
  100. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeReset.d.ts +1 -1
  101. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeScrap.d.ts +1 -1
  102. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeSearch.d.ts +1 -1
  103. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeSend.d.ts +1 -1
  104. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeService.d.ts +1 -1
  105. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeShare.d.ts +1 -1
  106. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeStar.d.ts +1 -1
  107. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeTop.d.ts +1 -1
  108. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeUserImageAvatar.d.ts +1 -2
  109. package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeUserImageAvatar.js +4 -4
  110. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumAi.d.ts +1 -1
  111. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumAnswer.d.ts +1 -1
  112. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumArrowDown.d.ts +1 -1
  113. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumArrowLeft.d.ts +1 -1
  114. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumArrowRight.d.ts +1 -1
  115. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumArrowUp.d.ts +1 -1
  116. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumBell.d.ts +1 -1
  117. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumBubble.d.ts +1 -1
  118. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCalendar.d.ts +1 -1
  119. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCaution.d.ts +1 -1
  120. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCautionTriangle.d.ts +1 -1
  121. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCheck.d.ts +1 -1
  122. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumClip.d.ts +1 -1
  123. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCollection.d.ts +1 -1
  124. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCompass.d.ts +1 -1
  125. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumDelete.d.ts +1 -1
  126. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumEdit.d.ts +1 -1
  127. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumError.d.ts +1 -1
  128. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumEye.d.ts +1 -1
  129. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumEyeSlash.d.ts +1 -1
  130. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumFilter.d.ts +1 -1
  131. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumFire.d.ts +1 -1
  132. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumGlassesMinus.d.ts +1 -1
  133. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumGlassesPlus.d.ts +1 -1
  134. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumHashTag.d.ts +1 -1
  135. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumHeart.d.ts +1 -1
  136. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumHighlight.d.ts +1 -1
  137. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumInformation.d.ts +1 -1
  138. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumLink.d.ts +1 -1
  139. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumList.d.ts +1 -1
  140. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumMagic.d.ts +1 -1
  141. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumMenuDown.d.ts +1 -1
  142. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumMenuUp.d.ts +1 -1
  143. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumMinus.d.ts +1 -1
  144. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumMoreOptions.d.ts +1 -1
  145. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPersonAdd.d.ts +1 -1
  146. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPin.d.ts +1 -1
  147. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPlus.d.ts +1 -1
  148. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPopular.d.ts +1 -1
  149. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPrivate.d.ts +1 -1
  150. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPublic.d.ts +1 -1
  151. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumQuestion.d.ts +1 -1
  152. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumQuestionNew.d.ts +1 -1
  153. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumRename.d.ts +1 -1
  154. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumReply.d.ts +1 -1
  155. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumReset.d.ts +1 -1
  156. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumScrap.d.ts +1 -1
  157. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumSearch.d.ts +1 -1
  158. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumSend.d.ts +1 -1
  159. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumShare.d.ts +1 -1
  160. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumStar.d.ts +1 -1
  161. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumSuccess.d.ts +1 -1
  162. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumTrash.d.ts +1 -1
  163. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumUpload.d.ts +1 -1
  164. package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumWait.d.ts +1 -1
  165. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallArrowDown.d.ts +1 -1
  166. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallArrowLeft.d.ts +1 -1
  167. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallArrowRight.d.ts +1 -1
  168. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallArrowUp.d.ts +1 -1
  169. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallBell.d.ts +1 -1
  170. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallCamera.d.ts +1 -1
  171. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallCat.d.ts +1 -1
  172. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallCheck.d.ts +1 -1
  173. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallCollection.d.ts +1 -1
  174. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallDelete.d.ts +1 -1
  175. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallEdit.d.ts +1 -1
  176. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallEye.d.ts +1 -1
  177. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallHeart.d.ts +1 -1
  178. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallIndeterminate.d.ts +1 -1
  179. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallInformation.d.ts +1 -1
  180. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallLike.d.ts +1 -1
  181. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallLink.d.ts +1 -1
  182. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallList.d.ts +1 -1
  183. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallMoreOptions.d.ts +1 -1
  184. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallPlay.d.ts +1 -1
  185. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallPlus.d.ts +1 -1
  186. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallPrivate.d.ts +1 -1
  187. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallPublic.d.ts +1 -1
  188. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallRadioDot.d.ts +1 -1
  189. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallResizer.d.ts +1 -1
  190. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallScrap.d.ts +1 -1
  191. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallShare.d.ts +1 -1
  192. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallSlash.d.ts +1 -1
  193. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallStar.d.ts +1 -1
  194. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallStop.d.ts +1 -1
  195. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallTrash.d.ts +1 -1
  196. package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallWait.d.ts +1 -1
  197. package/dist/Components/DataDisplays/SystemIcon/Icons/Social/SocialFacebook.d.ts +1 -1
  198. package/dist/Components/DataDisplays/SystemIcon/Icons/Social/SocialGoogle.d.ts +1 -1
  199. package/dist/Components/DataDisplays/SystemIcon/Icons/Social/SocialLinkedIn.d.ts +1 -1
  200. package/dist/Components/DataDisplays/SystemIcon/Icons/Social/SocialNaver.d.ts +1 -1
  201. package/dist/Components/DataDisplays/SystemIcon/Icons/Social/SocialX.d.ts +1 -1
  202. package/dist/Components/DataDisplays/SystemIcon/Icons/Social/WishketBlog.d.ts +1 -1
  203. package/dist/Components/DataDisplays/SystemIcon/Icons/Social/WishketFacebook.d.ts +1 -1
  204. package/dist/Components/DataDisplays/SystemIcon/Icons/Social/WishketNaverBlog.d.ts +1 -1
  205. package/dist/Components/DataDisplays/SystemIcon/SystemIcon.constants.d.ts +6 -1
  206. package/dist/Components/DataDisplays/SystemIcon/SystemIcon.part.types.d.ts +6 -0
  207. package/dist/Components/DataDisplays/SystemIcon/SystemIcon.types.d.ts +4 -12
  208. package/dist/Components/DataDisplays/index.d.ts +1 -0
  209. package/dist/Components/Feedbacks/DialogBox/DialogBox.js +2 -2
  210. package/dist/Components/Feedbacks/GlobalLoadingIndicator/GlobalLoadingIndicator.d.ts +18 -10
  211. package/dist/Components/Feedbacks/GlobalLoadingIndicator/GlobalLoadingIndicator.js +16 -7
  212. package/dist/Components/Feedbacks/LoadingIndicator/LoadingIndicator.d.ts +2 -21
  213. package/dist/Components/Feedbacks/LoadingIndicator/LoadingIndicator.js +9 -6
  214. package/dist/Components/Feedbacks/LoadingIndicator/LoadingIndicator.types.d.ts +2 -0
  215. package/dist/Components/Feedbacks/MessageBar/MessageBar.js +5 -5
  216. package/dist/Components/Feedbacks/MessageBox/MessageBox.js +4 -4
  217. package/dist/Components/Feedbacks/MessageBox/MessageBox.parts.js +3 -3
  218. package/dist/Components/Feedbacks/SnackBar/SnackBar.d.ts +1 -1
  219. package/dist/Components/Feedbacks/SnackBar/SnackBar.js +5 -11
  220. package/dist/Components/Feedbacks/SnackBar/SnackBar.types.d.ts +1 -0
  221. package/dist/Components/Feedbacks/Tooltip/PlainTooltip/PlainTooltip.d.ts +30 -0
  222. package/dist/Components/Feedbacks/Tooltip/PlainTooltip/PlainTooltip.js +31 -0
  223. package/dist/Components/Feedbacks/{PlainTooltip → Tooltip/PlainTooltip}/PlainTooltip.parts.d.ts +1 -1
  224. package/dist/Components/Feedbacks/Tooltip/PlainTooltip/PlainTooltip.parts.js +1 -0
  225. package/dist/Components/Feedbacks/Tooltip/PlainTooltip/index.d.ts +1 -0
  226. package/dist/Components/Feedbacks/Tooltip/RichTooltip/RichTooltip.d.ts +33 -0
  227. package/dist/Components/Feedbacks/Tooltip/RichTooltip/RichTooltip.js +32 -0
  228. package/dist/Components/Feedbacks/Tooltip/RichTooltip/index.d.ts +1 -0
  229. package/dist/Components/Feedbacks/Tooltip/Tooltip.d.ts +24 -0
  230. package/dist/Components/Feedbacks/Tooltip/Tooltip.js +25 -0
  231. package/dist/Components/Feedbacks/Tooltip/Tooltip.types.d.ts +19 -0
  232. package/dist/Components/Feedbacks/Tooltip/index.d.ts +4 -0
  233. package/dist/Components/Feedbacks/index.d.ts +1 -2
  234. package/dist/Components/Inputs/AutoCompleteList/AutoCompleteList.js +4 -4
  235. package/dist/Components/Inputs/AutoCompleteList/AutoCompleteList.parts.js +4 -4
  236. package/dist/Components/Inputs/Autocomplete/Autocomplete.js +1 -1
  237. package/dist/Components/Inputs/Button/Button.d.ts +7 -13
  238. package/dist/Components/Inputs/Button/Button.js +2 -51
  239. package/dist/Components/Inputs/Button/Button.types.d.ts +3 -10
  240. package/dist/Components/Inputs/Calendar/Calendar.js +8 -8
  241. package/dist/Components/Inputs/Calendar/Calendar.parts.js +7 -7
  242. package/dist/Components/Inputs/Checkbox/Checkbox.js +5 -5
  243. package/dist/Components/Inputs/Checkbox/Checkbox.parts.d.ts +1 -1
  244. package/dist/Components/Inputs/Checkbox/Checkbox.parts.js +2 -4
  245. package/dist/Components/Inputs/Checkbox/Checkbox.types.d.ts +1 -1
  246. package/dist/Components/Inputs/CheckboxCard/CheckboxCard.d.ts +2 -2
  247. package/dist/Components/Inputs/CheckboxCard/CheckboxCard.js +6 -6
  248. package/dist/Components/Inputs/CheckboxCard/CheckboxCard.parts.js +4 -4
  249. package/dist/Components/Inputs/CheckboxCard/CheckboxCard.types.d.ts +1 -1
  250. package/dist/Components/Inputs/CheckboxListItem/CheckboxListItem.d.ts +1 -1
  251. package/dist/Components/Inputs/CheckboxListItem/CheckboxListItem.js +3 -3
  252. package/dist/Components/Inputs/ChoiceChip/ChoiceChip.js +6 -6
  253. package/dist/Components/Inputs/CommentArea/CommentArea.js +9 -9
  254. package/dist/Components/Inputs/FileUploader/FileUploader.d.ts +45 -0
  255. package/dist/Components/Inputs/FileUploader/FileUploader.hooks.d.ts +20 -0
  256. package/dist/Components/Inputs/FileUploader/FileUploader.hooks.js +1 -0
  257. package/dist/Components/Inputs/FileUploader/FileUploader.js +48 -0
  258. package/dist/Components/Inputs/FileUploader/FileUploader.parts.d.ts +10 -0
  259. package/dist/Components/Inputs/FileUploader/FileUploader.parts.js +11 -0
  260. package/dist/Components/Inputs/FileUploader/FileUploader.types.d.ts +19 -0
  261. package/dist/Components/Inputs/FileUploader/FileUploader.utils.d.ts +4 -0
  262. package/dist/Components/Inputs/FileUploader/FileUploader.utils.js +1 -0
  263. package/dist/Components/Inputs/FileUploader/index.d.ts +2 -0
  264. package/dist/Components/Inputs/FilterChip/FilterChip.js +4 -4
  265. package/dist/Components/Inputs/FilterList/FilterList.js +16 -14
  266. package/dist/Components/Inputs/IconButton/IconButton.d.ts +6 -4
  267. package/dist/Components/Inputs/IconButton/IconButton.js +7 -8
  268. package/dist/Components/Inputs/IconButtonDropdown/IconButtonDropdown.js +4 -4
  269. package/dist/Components/Inputs/Input/Input.js +1 -1
  270. package/dist/Components/Inputs/Input/LabelInput.d.ts +9 -0
  271. package/dist/Components/Inputs/Input/{LableInput.js → LabelInput.js} +4 -4
  272. package/dist/Components/Inputs/Input/PasswordInput.js +4 -4
  273. package/dist/Components/Inputs/Input/index.d.ts +2 -2
  274. package/dist/Components/Inputs/InputChip/InputChip.js +3 -3
  275. package/dist/Components/Inputs/List/List.js +3 -3
  276. package/dist/Components/Inputs/MultiColumnList/MultiColumnList.parts.js +2 -2
  277. package/dist/Components/Inputs/Radio/Radio.d.ts +14 -8
  278. package/dist/Components/Inputs/Radio/Radio.js +20 -14
  279. package/dist/Components/Inputs/Radio/index.d.ts +1 -1
  280. package/dist/Components/Inputs/Radio/types.d.ts +8 -0
  281. package/dist/Components/Inputs/RadioCard/RadioCard.js +6 -6
  282. package/dist/Components/Inputs/RadioCard/RadioCard.parts.d.ts +3 -3
  283. package/dist/Components/Inputs/RadioCard/RadioCard.parts.js +4 -4
  284. package/dist/Components/Inputs/RadioCard/RadioCard.types.d.ts +8 -8
  285. package/dist/Components/Inputs/RadioGroup/RadioGroup.d.ts +3 -3
  286. package/dist/Components/Inputs/RadioGroup/RadioGroup.js +2 -2
  287. package/dist/Components/Inputs/RadioList/RadioList.d.ts +2 -2
  288. package/dist/Components/Inputs/RadioList/RadioList.js +3 -3
  289. package/dist/Components/Inputs/RadioList/RadioList.types.d.ts +3 -2
  290. package/dist/Components/Inputs/RadioList/parts/index.d.ts +0 -1
  291. package/dist/Components/Inputs/RadioListItem/RadioListItem.d.ts +10 -0
  292. package/dist/Components/Inputs/RadioListItem/RadioListItem.js +5 -0
  293. package/dist/Components/Inputs/RadioListItem/index.d.ts +1 -0
  294. package/dist/Components/Inputs/RangeSlider/RangeSlider.js +2 -2
  295. package/dist/Components/Inputs/SearchField/SearchField.js +4 -4
  296. package/dist/Components/Inputs/SegmentedControl/SegmentedControl.js +1 -1
  297. package/dist/Components/Inputs/SupportTextContainer/SupportTextContainer.d.ts +3 -2
  298. package/dist/Components/Inputs/SupportTextContainer/SupportTextContainer.js +3 -3
  299. package/dist/Components/Inputs/TextButton/TextButton.d.ts +5 -2
  300. package/dist/Components/Inputs/TextButton/TextButton.js +7 -5
  301. package/dist/Components/Inputs/TextButton/TextButton.types.d.ts +2 -0
  302. package/dist/Components/Inputs/TextButtonDropdown/TextButtonDropdown.js +4 -4
  303. package/dist/Components/Inputs/TextButtonDropdown/TextButtonDropdown.parts.js +4 -4
  304. package/dist/Components/Inputs/TextField/TextField.d.ts +11 -14
  305. package/dist/Components/Inputs/TextField/TextField.js +10 -12
  306. package/dist/Components/Inputs/TextFieldContainer/TextFieldContainer.js +1 -1
  307. package/dist/Components/Inputs/TextFieldDropdown/TextFieldDropdown.js +3 -3
  308. package/dist/Components/Inputs/TextFieldDropdown/TextFieldDropdown.parts.js +3 -3
  309. package/dist/Components/Inputs/Textarea/Textarea.js +5 -5
  310. package/dist/Components/Inputs/index.d.ts +2 -0
  311. package/dist/Components/Layouts/Card/Card.d.ts +42 -0
  312. package/dist/Components/Layouts/Card/index.d.ts +1 -0
  313. package/dist/Components/Layouts/Fieldset/Fieldset.d.ts +38 -0
  314. package/dist/Components/Layouts/Fieldset/index.d.ts +1 -0
  315. package/dist/Components/Layouts/index.d.ts +2 -0
  316. package/dist/Components/Navigations/BoxTab/BoxTab.parts.js +1 -1
  317. package/dist/Components/Navigations/Drawer/Drawer.d.ts +2 -7
  318. package/dist/Components/Navigations/Drawer/Drawer.styles.d.ts +1 -1
  319. package/dist/Components/Navigations/Drawer/Drawer.types.d.ts +7 -0
  320. package/dist/Components/Navigations/GNBList/GNBList.d.ts +30 -30
  321. package/dist/Components/Navigations/GNBList/GNBList.js +27 -27
  322. package/dist/Components/Navigations/GNBList/GNBList.parts.d.ts +114 -20
  323. package/dist/Components/Navigations/GNBList/GNBList.parts.js +64 -16
  324. package/dist/Components/Navigations/GNBList/GNBList.types.d.ts +4 -4
  325. package/dist/Components/Navigations/Menu/Menu.js +3 -3
  326. package/dist/Components/Navigations/Pagination/Pagination.parts.js +2 -2
  327. package/dist/Components/Navigations/TableOfContents/TableOfContents.js +1 -1
  328. package/dist/Components/Navigations/TextLink/TextLink.d.ts +66 -0
  329. package/dist/Components/Navigations/TextLink/TextLink.js +61 -0
  330. package/dist/Components/Navigations/TextLink/index.d.ts +1 -0
  331. package/dist/Components/Navigations/TextTab/TextTab.parts.js +5 -5
  332. package/dist/Components/Navigations/index.d.ts +1 -0
  333. package/dist/Components/Wrappers/WithBadge/WithBadge.js +2 -2
  334. package/dist/Components/Wrappers/WithSnackBar/WithSnackBar.js +3 -3
  335. package/dist/Components/Wrappers/index.d.ts +0 -1
  336. package/dist/cjs/Components/Base/Layouts/FullBleed/FullBleed.js +1 -1
  337. package/dist/cjs/Components/Base/Layouts/FullBleed/FullBleed.utils.js +1 -1
  338. package/dist/cjs/Components/Base/TextWithIcons/TextWithIcons.js +2 -0
  339. package/dist/cjs/Components/Base/Typography/Typography.js +3 -3
  340. package/dist/cjs/Components/DataDisplays/Accordion/Accordion.js +58 -0
  341. package/dist/cjs/Components/DataDisplays/Avatar/Avatar.js +5 -4
  342. package/dist/cjs/Components/DataDisplays/Divider/Divider.js +24 -1
  343. package/dist/cjs/Components/DataDisplays/Label/Label.js +1 -1
  344. package/dist/cjs/Components/DataDisplays/Li/Li.js +7 -8
  345. package/dist/cjs/Components/DataDisplays/ProductIcon/ProductIcon.js +2 -8
  346. package/dist/cjs/Components/DataDisplays/SkillLabel/SkillLabel.parts.js +1 -1
  347. package/dist/cjs/Components/DataDisplays/SystemIcon/Icons/Large/LargeUserImageAvatar.js +4 -4
  348. package/dist/cjs/Components/Feedbacks/DialogBox/DialogBox.js +2 -2
  349. package/dist/cjs/Components/Feedbacks/LoadingIndicator/LoadingIndicator.js +28 -5
  350. package/dist/cjs/Components/Feedbacks/MessageBar/MessageBar.js +47 -5
  351. package/dist/cjs/Components/Feedbacks/MessageBox/MessageBox.js +40 -5
  352. package/dist/cjs/Components/Feedbacks/MessageBox/MessageBox.parts.js +3 -3
  353. package/dist/cjs/Components/Feedbacks/SnackBar/SnackBar.js +6 -11
  354. package/dist/cjs/Components/Feedbacks/Tooltip/PlainTooltip/PlainTooltip.js +31 -0
  355. package/dist/cjs/Components/Feedbacks/Tooltip/PlainTooltip/PlainTooltip.parts.js +1 -0
  356. package/dist/cjs/Components/Feedbacks/Tooltip/RichTooltip/RichTooltip.js +32 -0
  357. package/dist/cjs/Components/Feedbacks/Tooltip/Tooltip.js +26 -0
  358. package/dist/cjs/Components/Inputs/AutoCompleteList/AutoCompleteList.js +4 -4
  359. package/dist/cjs/Components/Inputs/AutoCompleteList/AutoCompleteList.parts.js +4 -4
  360. package/dist/cjs/Components/Inputs/Autocomplete/Autocomplete.js +1 -1
  361. package/dist/cjs/Components/Inputs/Button/Button.js +2 -51
  362. package/dist/cjs/Components/Inputs/Calendar/Calendar.js +7 -7
  363. package/dist/cjs/Components/Inputs/Calendar/Calendar.parts.js +7 -7
  364. package/dist/cjs/Components/Inputs/Checkbox/Checkbox.js +4 -4
  365. package/dist/cjs/Components/Inputs/Checkbox/Checkbox.parts.js +2 -4
  366. package/dist/cjs/Components/Inputs/CheckboxCard/CheckboxCard.js +4 -4
  367. package/dist/cjs/Components/Inputs/CheckboxCard/CheckboxCard.parts.js +4 -4
  368. package/dist/cjs/Components/Inputs/CheckboxListItem/CheckboxListItem.js +3 -3
  369. package/dist/cjs/Components/Inputs/ChoiceChip/ChoiceChip.js +5 -5
  370. package/dist/cjs/Components/Inputs/CommentArea/CommentArea.js +9 -9
  371. package/dist/cjs/Components/Inputs/FileUploader/FileUploader.hooks.js +1 -0
  372. package/dist/cjs/Components/Inputs/FileUploader/FileUploader.js +6 -0
  373. package/dist/cjs/Components/Inputs/FileUploader/FileUploader.parts.js +11 -0
  374. package/dist/cjs/Components/Inputs/FileUploader/FileUploader.utils.js +1 -0
  375. package/dist/cjs/Components/Inputs/FilterChip/FilterChip.js +5 -4
  376. package/dist/cjs/Components/Inputs/FilterList/FilterList.js +15 -13
  377. package/dist/cjs/Components/Inputs/IconButton/IconButton.js +6 -7
  378. package/dist/cjs/Components/Inputs/IconButtonDropdown/IconButtonDropdown.js +3 -3
  379. package/dist/cjs/Components/Inputs/Input/Input.js +1 -1
  380. package/dist/cjs/Components/Inputs/Input/LabelInput.js +4 -0
  381. package/dist/cjs/Components/Inputs/Input/PasswordInput.js +4 -4
  382. package/dist/cjs/Components/Inputs/InputChip/InputChip.js +2 -2
  383. package/dist/cjs/Components/Inputs/List/List.js +4 -4
  384. package/dist/cjs/Components/Inputs/MultiColumnList/MultiColumnList.parts.js +2 -2
  385. package/dist/cjs/Components/Inputs/Radio/Radio.js +21 -15
  386. package/dist/cjs/Components/Inputs/RadioCard/RadioCard.js +4 -4
  387. package/dist/cjs/Components/Inputs/RadioCard/RadioCard.parts.js +4 -4
  388. package/dist/cjs/Components/Inputs/RadioGroup/RadioGroup.js +3 -3
  389. package/dist/cjs/Components/Inputs/RadioList/RadioList.js +3 -3
  390. package/dist/cjs/Components/Inputs/RadioListItem/RadioListItem.js +5 -0
  391. package/dist/cjs/Components/Inputs/RangeSlider/RangeSlider.js +5 -5
  392. package/dist/cjs/Components/Inputs/SearchField/SearchField.js +5 -5
  393. package/dist/cjs/Components/Inputs/SegmentedControl/SegmentedControl.js +1 -1
  394. package/dist/cjs/Components/Inputs/SupportTextContainer/SupportTextContainer.js +3 -3
  395. package/dist/cjs/Components/Inputs/TextButton/TextButton.js +7 -5
  396. package/dist/cjs/Components/Inputs/TextButtonDropdown/TextButtonDropdown.js +1 -1
  397. package/dist/cjs/Components/Inputs/TextButtonDropdown/TextButtonDropdown.parts.js +4 -4
  398. package/dist/cjs/Components/Inputs/TextField/TextField.js +10 -12
  399. package/dist/cjs/Components/Inputs/TextFieldContainer/TextFieldContainer.js +1 -1
  400. package/dist/cjs/Components/Inputs/TextFieldDropdown/TextFieldDropdown.js +3 -3
  401. package/dist/cjs/Components/Inputs/TextFieldDropdown/TextFieldDropdown.parts.js +2 -2
  402. package/dist/cjs/Components/Inputs/Textarea/Textarea.js +5 -5
  403. package/dist/cjs/Components/Navigations/BoxTab/BoxTab.parts.js +1 -1
  404. package/dist/cjs/Components/Navigations/GNBList/GNBList.js +27 -27
  405. package/dist/cjs/Components/Navigations/GNBList/GNBList.parts.js +40 -16
  406. package/dist/cjs/Components/Navigations/Menu/Menu.js +2 -2
  407. package/dist/cjs/Components/Navigations/Pagination/Pagination.parts.js +2 -2
  408. package/dist/cjs/Components/Navigations/TableOfContents/TableOfContents.js +1 -1
  409. package/dist/cjs/Components/Navigations/TextLink/TextLink.js +61 -0
  410. package/dist/cjs/Components/Navigations/TextTab/TextTab.parts.js +5 -5
  411. package/dist/cjs/Components/Wrappers/WithBadge/WithBadge.js +1 -1
  412. package/dist/cjs/Components/Wrappers/WithSnackBar/WithSnackBar.js +2 -2
  413. package/dist/cjs/constants/colors/colors.js +1 -1
  414. package/dist/cjs/index.js +1 -1
  415. package/dist/config/config.css +215 -0
  416. package/dist/config/tailwind.config.js +1 -64
  417. package/dist/config/tailwindcss-grid-areas.js +155 -0
  418. package/dist/constants/colors/colors.js +1 -1
  419. package/dist/index.js +1 -1
  420. package/dist/types/checkbox.types.d.ts +0 -2
  421. package/dist/types/index.d.ts +0 -1
  422. package/package.json +32 -16
  423. package/dist/Components/Feedbacks/PlainTooltip/PlainTooltip.d.ts +0 -44
  424. package/dist/Components/Feedbacks/PlainTooltip/PlainTooltip.js +0 -37
  425. package/dist/Components/Feedbacks/PlainTooltip/PlainTooltip.parts.js +0 -1
  426. package/dist/Components/Feedbacks/PlainTooltip/index.d.ts +0 -2
  427. package/dist/Components/Feedbacks/RichTooltip/RichTooltip.d.ts +0 -34
  428. package/dist/Components/Feedbacks/RichTooltip/RichTooltip.js +0 -27
  429. package/dist/Components/Feedbacks/RichTooltip/index.d.ts +0 -2
  430. package/dist/Components/Inputs/Button/Button.parts.d.ts +0 -2
  431. package/dist/Components/Inputs/Button/Button.parts.js +0 -2
  432. package/dist/Components/Inputs/Input/LableInput.d.ts +0 -9
  433. package/dist/Components/Inputs/Radio/Radio.types.d.ts +0 -8
  434. package/dist/Components/Inputs/RadioList/parts/RadioListItem.d.ts +0 -13
  435. package/dist/Components/Inputs/RadioList/parts/RadioListItem.js +0 -4
  436. package/dist/Components/Wrappers/WithRichTooltip/WithRichTooltip.d.ts +0 -39
  437. package/dist/Components/Wrappers/WithRichTooltip/WithRichTooltip.js +0 -32
  438. package/dist/Components/Wrappers/WithRichTooltip/index.d.ts +0 -1
  439. package/dist/cjs/Components/Feedbacks/PlainTooltip/PlainTooltip.js +0 -37
  440. package/dist/cjs/Components/Feedbacks/PlainTooltip/PlainTooltip.parts.js +0 -1
  441. package/dist/cjs/Components/Feedbacks/RichTooltip/RichTooltip.js +0 -1
  442. package/dist/cjs/Components/Inputs/Button/Button.parts.js +0 -2
  443. package/dist/cjs/Components/Inputs/Input/LableInput.js +0 -4
  444. package/dist/cjs/Components/Inputs/RadioList/parts/RadioListItem.js +0 -4
  445. package/dist/cjs/Components/Wrappers/WithRichTooltip/WithRichTooltip.js +0 -3
  446. package/dist/config/tailwind-plugins.js +0 -90
  447. package/dist/types/radio.types.d.ts +0 -7
  448. package/dist/types.d.ts +0 -32
@@ -2,40 +2,134 @@ import { PropsWithChildren } from 'react';
2
2
  import { GNBListRootProps, GNBListItemProps, UserInfoProps } from './GNBList.types';
3
3
  /**
4
4
  * GNB 리스트의 루트 컴포넌트
5
+ *
6
+ * @description
7
+ * GNB 리스트의 컨테이너 역할을 합니다.
8
+ * - withUserInfo prop에 따라 스타일 자동 조정
9
+ *
5
10
  * @param {Object} props
6
- * @param {'main'|'sub'|'user'} [props.type] - 리스트 타입 (main, sub, user)
7
- * @param {string} [props.className] - 추가적인 CSS 클래스
8
- * @param {ReactNode} props.children - 리스트 아이템들
11
+ * @param {boolean} [props.withUserInfo=false] - 사용자 정보 포함 여부
12
+ * @param {string} [props.className] - 추가 CSS 클래스
13
+ * @param {ReactNode} props.children - 메뉴 구성 요소 (UserInfo, List, SubList)
14
+ *
15
+ * @example
16
+ * // 기본 메뉴 리스트
17
+ * <Root>
18
+ * <List>
19
+ * <Item href="/projects">프로젝트</Item>
20
+ * <Item href="/settings">설정</Item>
21
+ * </List>
22
+ * </Root>
23
+ *
24
+ * @example
25
+ * // 사용자 정보 포함 메뉴
26
+ * <Root withUserInfo>
27
+ * <UserInfo username="홍길동" email="hong@example.com" />
28
+ * <List>
29
+ * <Item href="/account">계정 설정</Item>
30
+ * </List>
31
+ * <SubList>
32
+ * <Item href="/logout">로그아웃</Item>
33
+ * </SubList>
34
+ * </Root>
9
35
  */
10
- declare const Root: ({ type, children, className }: GNBListRootProps) => import("react/jsx-runtime").JSX.Element;
36
+ declare const Root: ({ withUserInfo, children, className, }: GNBListRootProps) => import("react/jsx-runtime").JSX.Element;
11
37
  /**
12
- * GNB 리스트의 기본 리스트 컴포넌트
38
+ * 사용자 정보 컴포넌트
39
+ *
40
+ * @description
41
+ * 사용자의 프로필 이미지, 이름, 이메일을 표시합니다.
42
+ *
13
43
  * @param {Object} props
14
- * @param {ReactNode} props.children - 리스트 아이템들
15
- * @param {string} [props.className] - 추가적인 CSS 클래스
44
+ * @param {string} [props.imgUrl] - 프로필 이미지 URL
45
+ * @param {string} [props.username] - 사용자 이름
46
+ * @param {string} [props.email] - 사용자 이메일
47
+ * @param {() => void} [props.onClick] - 프로필 이미지 클릭 핸들러
48
+ * @param {ReactNode} [props.children] - 액션 버튼 (예: 프로필 수정, 내 프로젝트)
49
+ *
50
+ * @example
51
+ * <UserInfo
52
+ * username="홍길동"
53
+ * email="hong@example.com"
54
+ * imgUrl="/profile.jpg"
55
+ * onClick={() => handleProfileEdit()}
56
+ * >
57
+ * <Button size="sm">프로필 수정</Button>
58
+ * <Button size="sm" variant="outlined">내 프로젝트</Button>
59
+ * </UserInfo>
16
60
  */
17
- declare const UserInfo: ({ imgUrl, userId, email, children, onClick, }: UserInfoProps) => import("react/jsx-runtime").JSX.Element;
61
+ declare const UserInfo: ({ imgUrl, username, email, children, onClick, }: UserInfoProps) => import("react/jsx-runtime").JSX.Element;
18
62
  /**
19
- * GNB 리스트의 기본 리스트 컴포넌트
63
+ * 메인 메뉴 리스트 컴포넌트
64
+ *
65
+ * @description
66
+ * 주요 메뉴 아이템들을 담는 컨테이너입니다.
67
+ * - 텍스트 색상 gray-900 (주요 메뉴)
68
+ *
20
69
  * @param {Object} props
21
- * @param {ReactNode} props.children - 리스트 아이템들
22
- * @param {string} [props.className] - 추가적인 CSS 클래스
70
+ * @param {ReactNode} props.children - 메뉴 아이템들 (Item 컴포넌트)
71
+ *
72
+ * @example
73
+ * <List>
74
+ * <Item href="/projects">프로젝트</Item>
75
+ * <Item href="/request">의뢰하기</Item>
76
+ * <Item href="/support" hasNew>고객센터</Item>
77
+ * </List>
23
78
  */
24
79
  declare const List: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
25
80
  /**
26
- * GNB 리스트의 서브 리스트 컴포넌트
81
+ * 서브 메뉴 리스트 컴포넌트
82
+ *
83
+ * @description
84
+ * 부가적인 메뉴 아이템들을 담는 컨테이너입니다.
85
+ * - 텍스트 색상 gray-600 (보조 메뉴)
86
+ *
27
87
  * @param {Object} props
28
- * @param {ReactNode} props.children - 서브 리스트 아이템들
29
- * @param {string} [props.className] - 추가적인 CSS 클래스
88
+ * @param {ReactNode} props.children - 서브 메뉴 아이템들 (Item 컴포넌트)
89
+ *
90
+ * @example
91
+ * <SubList>
92
+ * <Item href="/settings">설정</Item>
93
+ * <Item href="/logout">로그아웃</Item>
94
+ * </SubList>
30
95
  */
31
96
  declare const SubList: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
32
97
  /**
33
- * GNB 리스트의 아이템 컴포넌트
98
+ * 메뉴 아이템 컴포넌트
99
+ *
100
+ * @description
101
+ * 개별 메뉴 아이템을 렌더링합니다.
102
+ * - Next.js Link로 페이지 이동
103
+ * - 키보드 포커스 및 hover 스타일 지원
104
+ *
34
105
  * @param {Object} props
35
- * @param {ReactNode} props.children - 아이템 컨텐츠
36
- * @param {string} [props.className] - 추가적인 CSS 클래스
37
- * @param {() => void} [props.onClick] - 클릭 핸들러
38
- * @param {boolean} [props.isSelected] - 선택 상태 여부
106
+ * @param {string} props.href - 이동할 페이지 경로 (필수)
107
+ * @param {ReactNode} props.children - 메뉴 텍스트
108
+ * @param {boolean} [props.hasNew=false] - New 뱃지 표시 여부
109
+ * @param {string} [props.className] - Link에 적용할 추가 CSS 클래스
110
+ * @param {string} [props.textClassName] - 텍스트에 적용할 CSS 클래스
111
+ *
112
+ * @example
113
+ * // 기본 사용
114
+ * <Item href="/settings">
115
+ * 계정 설정
116
+ * </Item>
117
+ *
118
+ * @example
119
+ * // New 뱃지 포함
120
+ * <Item href="/new-feature" hasNew>
121
+ * 새로운 기능
122
+ * </Item>
123
+ *
124
+ * @example
125
+ * // 커스텀 스타일
126
+ * <Item
127
+ * href="/special"
128
+ * className="bg-primary-50"
129
+ * textClassName="font-bold"
130
+ * >
131
+ * 특별 메뉴
132
+ * </Item>
39
133
  */
40
- declare const Item: ({ hasNew, children, className, textClassName, ...rest }: GNBListItemProps) => import("react/jsx-runtime").JSX.Element;
134
+ declare const Item: ({ hasNew, children, className, textClassName, href, ...rest }: GNBListItemProps) => import("react/jsx-runtime").JSX.Element;
41
135
  export { Root, UserInfo, List, SubList, Item };
@@ -1,19 +1,67 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useContext as r,createContext as s,Children as a,Fragment as l}from"react";import{twMerge as i}from"tailwind-merge";import{Avatar as n}from"../../DataDisplays/Avatar/Avatar.js";import{Typography as o}from"../../Base/Typography/Typography.js";import{Box as c}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{NewBadge as d}from"../../DataDisplays/NewBadge/NewBadge.js";import{Divider as m}from"../../DataDisplays/Divider/Divider.js";function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(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 y(e,t){if(null==e)return{};var r,s,a=function(e,t){if(null==e)return{};var r,s,a={},l=Object.keys(e);for(s=0;s<l.length;s++)r=l[s],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(s=0;s<l.length;s++)r=l[s],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}const f=/*#__PURE__*/s({type:""}),b=({type:r="main",children:s,className:n})=>{const o=a.map(s,((r,s)=>0===s?r:/*#__PURE__*/e(l,{children:[
2
- /*#__PURE__*/t(m,{className:"my-2"}),r]})));/*#__PURE__*/
3
- return e(f.Provider,{value:{type:r},children:["main"===r&&/*#__PURE__*/e(c,{className:i("absolute flex h-auto w-[200px] overflow-hidden rounded-xl bg-w-white shadow-graymedium",n),"data-testid":"design-system-gnb-list--root-main",children:[
4
- /*#__PURE__*/t(c,{className:"m-0 h-auto w-2 bg-gradient-primary-45 p-0","data-testid":"design-system-gnb-list--root-main-sidebar"}),
5
- /*#__PURE__*/t(c,{className:"w-full py-[13px]",children:o})]}),"sub"===r&&/*#__PURE__*/t(c,{className:i("absolute flex h-auto w-[200px] flex-col overflow-hidden rounded-xl bg-w-white py-3 shadow-graymedium ",n),"data-testid":"design-system-gnb-list--root-sub",children:o}),"user"===r&&/*#__PURE__*/t(c,{className:i("absolute flex w-full flex-col bg-w-white pb-3 pt-5 desktop:w-[280px] desktop:rounded-xl desktop:shadow-graymedium",n),"data-testid":"design-system-gnb-list--root-user",children:o})]})},g=({imgUrl:r,userId:s,email:a,children:l,onClick:i})=>/*#__PURE__*/e(c,{className:"flex w-full flex-col gap-4 px-6 pb-4",children:[
6
- /*#__PURE__*/e(c,{className:"flex w-full items-center gap-4",children:[
7
- /*#__PURE__*/t(n,{size:"lg",isEditable:!0,imgUrl:r,onClick:i}),
8
- /*#__PURE__*/e(c,{className:"flex w-full flex-col gap-0.5",children:[
9
- /*#__PURE__*/t(o,{variant:"body1",className:"font-medium text-w-gray-900",children:s}),
10
- /*#__PURE__*/t(o,{variant:"body2",className:"line-clamp-2 break-all text-w-gray-600",children:a})]})]}),l&&/*#__PURE__*/t(c,{className:"flex w-full flex-col gap-2",children:l})]}),h=({children:e})=>/*#__PURE__*/t(c,{className:"w-full text-w-gray-900","data-testid":"design-system-gnb-list--list",children:e}),w=({children:e})=>/*#__PURE__*/t(c,{className:"w-full text-w-gray-600","data-testid":"design-system-gnb-list--sub-list",children:e}),x=s=>{var{hasNew:a=!1,children:l,className:n,textClassName:m}=s,b=y(s,["hasNew","children","className","textClassName"]);const{type:g}=r(f);/*#__PURE__*/
11
- return e(c,u(function(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){p(e,t,r[t])}))}return e}({className:i("flex w-full cursor-pointer gap-1 px-4 py-3 hover:bg-primary-10","user"===g&&"px-6",n),"data-testid":`design-system-gnb-list--${g}-item-${l}`},b),{children:[
12
- /*#__PURE__*/t(o,{variant:"body1",className:m,"data-testid":`design-system-gnb-list--${g}-item-text-${l}`,children:l}),a&&/*#__PURE__*/t(d,{className:"mt-1"})]}))};
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{Children as a,Fragment as t}from"react";import{twMerge as l}from"tailwind-merge";import n from"next/link";import{Avatar as o}from"../../DataDisplays/Avatar/Avatar.js";import{Typography as i}from"../../Base/Typography/Typography.js";import{Box as s}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{NewBadge as c}from"../../DataDisplays/NewBadge/NewBadge.js";import{Divider as m}from"../../DataDisplays/Divider/Divider.js";import"../../DataDisplays/Accordion/Accordion.js";function p(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}function f(e){for(var r=1;r<arguments.length;r++){var a=null!=arguments[r]?arguments[r]:{},t=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(a).filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})))),t.forEach((function(r){p(e,r,a[r])}))}return e}function u(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 a=Object.getOwnPropertySymbols(e);r.push.apply(r,a)}return r}(Object(r)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})),e}function y(e,r){if(null==e)return{};var a,t,l=function(e,r){if(null==e)return{};var a,t,l={},n=Object.keys(e);for(t=0;t<n.length;t++)a=n[t],r.indexOf(a)>=0||(l[a]=e[a]);return l}
13
2
  /**
14
3
  * GNB 리스트의 루트 컴포넌트
4
+ *
5
+ * @description
6
+ * GNB 리스트의 컨테이너 역할을 합니다.
7
+ * - withUserInfo prop에 따라 스타일 자동 조정
8
+ *
15
9
  * @param {Object} props
16
- * @param {'main'|'sub'|'user'} [props.type] - 리스트 타입 (main, sub, user)
17
- * @param {string} [props.className] - 추가적인 CSS 클래스
18
- * @param {ReactNode} props.children - 리스트 아이템들
19
- */export{x as Item,h as List,b as Root,w as SubList,g as UserInfo};
10
+ * @param {boolean} [props.withUserInfo=false] - 사용자 정보 포함 여부
11
+ * @param {string} [props.className] - 추가 CSS 클래스
12
+ * @param {ReactNode} props.children - 메뉴 구성 요소 (UserInfo, List, SubList)
13
+ *
14
+ * @example
15
+ * // 기본 메뉴 리스트
16
+ * <Root>
17
+ * <List>
18
+ * <Item href="/projects">프로젝트</Item>
19
+ * <Item href="/settings">설정</Item>
20
+ * </List>
21
+ * </Root>
22
+ *
23
+ * @example
24
+ * // 사용자 정보 포함 메뉴
25
+ * <Root withUserInfo>
26
+ * <UserInfo username="홍길동" email="hong@example.com" />
27
+ * <List>
28
+ * <Item href="/account">계정 설정</Item>
29
+ * </List>
30
+ * <SubList>
31
+ * <Item href="/logout">로그아웃</Item>
32
+ * </SubList>
33
+ * </Root>
34
+ */(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(t=0;t<n.length;t++)a=n[t],r.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}const b=({withUserInfo:n=!1,children:o,className:i})=>{const c=a.map(o,((a,l)=>0===l?a:/*#__PURE__*/r(t,{children:[
35
+ /*#__PURE__*/e(m,{className:"my-2"}),a]})));/*#__PURE__*/
36
+ return e(s,{as:"nav","aria-label":"네비게이션 메뉴",className:l("absolute flex flex-col rounded-xl bg-w-white shadow-graymedium",n?"w-[280px] pb-3 pt-5":"h-auto w-[200px] overflow-hidden py-3",i),children:c})},d=({imgUrl:a,username:t,email:l,children:n,onClick:c})=>/*#__PURE__*/r(s,{role:"region","aria-label":"사용자 정보",className:"flex w-full flex-col gap-4 px-6 pb-4",children:[
37
+ /*#__PURE__*/r(s,{className:"flex w-full items-center gap-4",children:[
38
+ /*#__PURE__*/e(o,{size:"lg",isEditable:!0,imgUrl:a,onClick:c}),
39
+ /*#__PURE__*/r(s,{className:"flex w-full flex-col gap-0.5",children:[
40
+ /*#__PURE__*/e(i,{variant:"body16",className:"font-medium text-w-gray-900",children:t}),
41
+ /*#__PURE__*/e(i,{variant:"body14",className:"line-clamp-2 break-all text-w-gray-600",children:l})]})]}),n&&/*#__PURE__*/e(s,{className:"flex w-full flex-col gap-2",children:n})]}),h=({children:r})=>/*#__PURE__*/e(s,{as:"ul","aria-label":"메인 메뉴",className:"w-full text-w-gray-900",children:r}),g=({children:r})=>/*#__PURE__*/e(s,{as:"ul","aria-label":"서브 메뉴",className:"w-full text-w-gray-600",children:r}),w=a=>{var{hasNew:t=!1,children:o,className:m,textClassName:p,href:b}=a,d=y(a,["hasNew","children","className","textClassName","href"]);/*#__PURE__*/
42
+ return e(s,{as:"li",children:/*#__PURE__*/r(n,u(f({href:b,className:l("flex w-full cursor-pointer gap-1 px-6 py-2 hover:bg-primary-10",m)},d),{children:[
43
+ /*#__PURE__*/e(i,{variant:"body14",className:p,children:o}),t&&/*#__PURE__*/e(c,{className:"mt-1","aria-label":"새 소식"})]}))})};
44
+ /**
45
+ * 사용자 정보 컴포넌트
46
+ *
47
+ * @description
48
+ * 사용자의 프로필 이미지, 이름, 이메일을 표시합니다.
49
+ *
50
+ * @param {Object} props
51
+ * @param {string} [props.imgUrl] - 프로필 이미지 URL
52
+ * @param {string} [props.username] - 사용자 이름
53
+ * @param {string} [props.email] - 사용자 이메일
54
+ * @param {() => void} [props.onClick] - 프로필 이미지 클릭 핸들러
55
+ * @param {ReactNode} [props.children] - 액션 버튼 (예: 프로필 수정, 내 프로젝트)
56
+ *
57
+ * @example
58
+ * <UserInfo
59
+ * username="홍길동"
60
+ * email="hong@example.com"
61
+ * imgUrl="/profile.jpg"
62
+ * onClick={() => handleProfileEdit()}
63
+ * >
64
+ * <Button size="sm">프로필 수정</Button>
65
+ * <Button size="sm" variant="outlined">내 프로젝트</Button>
66
+ * </UserInfo>
67
+ */export{w as Item,h as List,b as Root,g as SubList,d as UserInfo};
@@ -1,16 +1,16 @@
1
+ import Link from 'next/link';
1
2
  import { ComponentPropsWithoutRef, PropsWithChildren } from 'react';
2
- export type GNBListType = 'main' | 'sub' | 'user';
3
3
  export interface GNBListRootProps extends PropsWithChildren {
4
- type?: GNBListType;
4
+ withUserInfo?: boolean;
5
5
  className?: string;
6
6
  }
7
7
  export interface UserInfoProps extends PropsWithChildren {
8
8
  imgUrl?: string;
9
- userId?: string;
9
+ username?: string;
10
10
  email?: string;
11
11
  onClick?: () => void;
12
12
  }
13
- export interface GNBListItemProps extends ComponentPropsWithoutRef<'div'> {
13
+ export interface GNBListItemProps extends ComponentPropsWithoutRef<typeof Link> {
14
14
  hasNew?: boolean;
15
15
  textClassName?: string;
16
16
  }
@@ -1,4 +1,4 @@
1
- import{jsxs as t,Fragment as e,jsx as o}from"react/jsx-runtime";import{twJoin as s,twMerge as i}from"tailwind-merge";import n from"next/link";import"react";import{SystemIcon as r}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as a}from"../../Base/Typography/Typography.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{CountBadge as m}from"../../DataDisplays/CountBadge/CountBadge.js";import"@wishket/yogokit";import"../../Inputs/AutoCompleteList/AutoCompleteList.parts.js";import"../../Inputs/Input/Input.js";import"../../Inputs/Input/PasswordInput.js";import"../../Inputs/Input/LableInput.js";import"../../Inputs/Input/InputTypeSelector.js";import"../../Inputs/Calendar/Calendar.utils.js";import"../../Inputs/Checkbox/Checkbox.js";import"../../Inputs/ChoiceChip/ChoiceChip.js";import{IconButton as p}from"../../Inputs/IconButton/IconButton.js";import"../../Inputs/Radio/Radio.js";import"../../Inputs/TextField/TextField.js";import"../../Inputs/CommentArea/CommentArea.js";import{IconButtonDropdown as l}from"../../Inputs/IconButtonDropdown/IconButtonDropdown.js";import"../../Inputs/FilterChip/FilterChip.js";
1
+ import{jsxs as t,Fragment as e,jsx as o}from"react/jsx-runtime";import{twJoin as s,twMerge as i}from"tailwind-merge";import r from"next/link";import"../../DataDisplays/Avatar/Avatar.js";import{CountBadge as n}from"../../DataDisplays/CountBadge/CountBadge.js";import{Typography as a}from"../../Base/Typography/Typography.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"react";import{SystemIcon as p}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../DataDisplays/Accordion/Accordion.js";import"@wishket/yogokit";import"../../Inputs/AutoCompleteList/AutoCompleteList.parts.js";import"../../Inputs/Input/Input.js";import"../../Inputs/Input/PasswordInput.js";import"../../Inputs/Input/LabelInput.js";import"../../Inputs/Input/InputTypeSelector.js";import"../../Inputs/Button/Button.js";import"../../Inputs/Calendar/Calendar.utils.js";import"../../Inputs/Checkbox/Checkbox.js";import"../../Inputs/ChoiceChip/ChoiceChip.js";import{IconButton as m}from"../../Inputs/IconButton/IconButton.js";import"../../Inputs/Radio/Radio.js";import"../../Inputs/TextField/TextField.js";import"../../Inputs/CommentArea/CommentArea.js";import{IconButtonDropdown as l}from"../../Inputs/IconButtonDropdown/IconButtonDropdown.js";import"../../Inputs/FilterChip/FilterChip.js";
2
2
  /**
3
3
  * 메뉴 컴포넌트는 네비게이션에서 사용되는 클릭 가능한 항목을 표시합니다.
4
4
  *
@@ -58,5 +58,5 @@ import{jsxs as t,Fragment as e,jsx as o}from"react/jsx-runtime";import{twJoin as
58
58
  * href="/test"
59
59
  * name="테스트 메뉴"
60
60
  * />
61
- */const u=({type:u="main",variant:c="white",name:d,isSelected:y=!1,badgeCount:I,leadingIcon:g,iconButtonName:h,onClick:C,onOptionClick:j,href:w,items:x,selectedItem:b,onItemClick:f})=>{const B=!!(h&&x&&f&&b),k=!!h&&!!j,v=(t,e,o)=>{const n="sub"===t?"pl-12":"",r={white:s("bg-w-white hover:bg-w-gray-50",o&&"bg-primary-10 text-primary hover:bg-primary-10"),gray:s("bg-w-gray-50 hover:bg-w-gray-100",o&&"bg-w-gray-100 hover:bg-w-gray-100")};return i("flex w-full cursor-pointer items-center gap-2 rounded-xl px-4 py-3 text-w-gray-900 text-left",n,r[e])},D=/*#__PURE__*/t(e,{children:[g&&/*#__PURE__*/o(r,{testId:"design-system-menu-leading-icon",name:g,className:s("white"===c&&y&&"text-primary")}),
62
- /*#__PURE__*/o(a,{"data-testid":"design-system-menu-name",variant:"body1",className:"w-full select-none",children:d}),I&&/*#__PURE__*/o(m,{variant:((t,e)=>"white"!==t?"white_gray":e?"primary":"gray")(c,y),text:I,className:"relative",showZero:!0}),B&&/*#__PURE__*/o(l,{size:"sm",icon:h,items:x,selectedItem:b,onItemClick:f}),k&&/*#__PURE__*/o(p,{size:"sm",className:"shrink-0",onClick:t=>{t.stopPropagation(),j()},children:/*#__PURE__*/o(r,{name:h})})]});return w?/*#__PURE__*/o(n,{href:w,"data-testid":"design-system-menu",className:v(u,c,y),children:D}):/*#__PURE__*/o("button",{"data-testid":"design-system-menu",className:v(u,c,y),onClick:C,children:D})};export{u as Menu};
61
+ */const u=({type:u="main",variant:c="white",name:d,isSelected:y=!1,badgeCount:I,leadingIcon:g,iconButtonName:h,onClick:j,onOptionClick:C,href:w,items:x,selectedItem:B,onItemClick:f})=>{const b=!!(h&&x&&f&&B),k=!!h&&!!C,D=(t,e,o)=>{const r="sub"===t?"pl-12":"",n={white:s("hover:bg-w-gray-50",o&&"bg-primary-10 text-primary hover:bg-primary-10"),gray:s("hover:bg-w-gray-100",o&&"bg-w-gray-100 hover:bg-w-gray-100")};return i("flex w-full cursor-pointer items-center gap-2 rounded-xl px-4 py-3 text-w-gray-900 text-left",r,n[e])},v=/*#__PURE__*/t(e,{children:[g&&/*#__PURE__*/o(p,{testId:"design-system-menu-leading-icon",name:g,className:s("white"===c&&y&&"text-primary")}),
62
+ /*#__PURE__*/o(a,{"data-testid":"design-system-menu-name",variant:"body16",className:"w-full select-none",children:d}),I&&/*#__PURE__*/o(n,{variant:((t,e)=>"white"!==t?"white_gray":e?"primary":"gray")(c,y),text:I,className:"relative",showZero:!0}),b&&/*#__PURE__*/o(l,{size:"sm",icon:h,items:x,selectedItem:B,onItemClick:f}),k&&/*#__PURE__*/o(m,{size:"sm",className:"shrink-0",onClick:t=>{t.stopPropagation(),C()},children:/*#__PURE__*/o(p,{name:h})})]});return w?/*#__PURE__*/o(r,{href:w,"data-testid":"design-system-menu",className:D(u,c,y),children:v}):/*#__PURE__*/o("button",{"data-testid":"design-system-menu",className:D(u,c,y),onClick:j,children:v})};export{u as Menu};
@@ -1,2 +1,2 @@
1
- import{jsx as e}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";import"react";import{SystemIcon as r}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Typography as n}from"../../Base/Typography/Typography.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.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 s(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}const c=r=>{var{value:o,enabled:c}=r,l=s(r,["value","enabled"]);/*#__PURE__*/
2
- return e("button",i(a({className:t("flex size-10 justify-center rounded-xl p-2 text-w-gray-700",c?"bg-primary-50 text-primary":"hover:bg-w-gray-50")},l),{children:/*#__PURE__*/e(n,{variant:"body2",children:o})}))},l=t=>/*#__PURE__*/e("button",i(a({},t),{"data-testid":"design-system-pagination-left-arrow",children:/*#__PURE__*/e(r,{name:"medium_arrow_left",className:"text-w-gray-900"})})),y=t=>/*#__PURE__*/e("button",i(a({},t),{"data-testid":"design-system-pagination-right-arrow",children:/*#__PURE__*/e(r,{name:"medium_arrow_right",className:"text-w-gray-900"})}));export{l as LeftArrow,c as PaginationNumber,y as RightArrow};
1
+ import{jsx as e}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";import"../../DataDisplays/Avatar/Avatar.js";import{Typography as r}from"../../Base/Typography/Typography.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"react";import{SystemIcon as n}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../DataDisplays/Accordion/Accordion.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 s(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}const c=n=>{var{value:o,enabled:c}=n,l=s(n,["value","enabled"]);/*#__PURE__*/
2
+ return e("button",i(a({className:t("flex size-10 justify-center rounded-xl p-2 text-w-gray-700",c?"bg-primary-50 text-primary":"hover:bg-w-gray-50")},l),{children:/*#__PURE__*/e(r,{variant:"body14",children:o})}))},l=t=>/*#__PURE__*/e("button",i(a({},t),{"data-testid":"design-system-pagination-left-arrow",children:/*#__PURE__*/e(n,{name:"medium_arrow_left",className:"text-w-gray-900"})})),p=t=>/*#__PURE__*/e("button",i(a({},t),{"data-testid":"design-system-pagination-right-arrow",children:/*#__PURE__*/e(n,{name:"medium_arrow_right",className:"text-w-gray-900"})}));export{l as LeftArrow,c as PaginationNumber,p as RightArrow};
@@ -27,4 +27,4 @@ return e(r,{"data-testid":"design-system-table-of-contents",className:a("relativ
27
27
  /*#__PURE__*/t(r,{"data-testid":"design-system-table-of-contents--gray-bar",className:"absolute left-0 top-0 z-0 my-1.5 h-[calc(100%_-_12px)] w-0.5 bg-w-gray-100"}),l.map((o=>{const{title:l,index:i}=o,m=d==i;/*#__PURE__*/
28
28
  return e(r,{"data-testid":m?"design-system-table-of-contents--item-selected":"design-system-table-of-contents--item",className:a("relative flex h-9 w-full select-none items-center text-w-gray-400",m&&"text-w-gray-600"),onClick:()=>null==u?void 0:u(i),children:[
29
29
  /*#__PURE__*/t("span",{"data-testid":m?"design-system-table-of-contents--bar-selected":"design-system-table-of-contents--bar",className:a("absolute -top-[6px] left-0 z-10 h-6 w-0.5 bg-transparent",m&&"bg-primary",m&&(e=>`transition duration-500 ease-out ${"down"===e?"translate-y-1/2":"top-1/2 -translate-y-1/2"}`)(c))}),
30
- /*#__PURE__*/t(n,{variant:"body3",className:s("cursor-pointer pl-[18px]",m&&"font-medium"),children:l})]},i)}))]})};export{l as TableOfContents};
30
+ /*#__PURE__*/t(n,{variant:"body13",className:s("cursor-pointer pl-[18px]",m&&"font-medium"),children:l})]},i)}))]})};export{l as TableOfContents};
@@ -0,0 +1,66 @@
1
+ import Link from 'next/link';
2
+ import { ComponentProps } from 'react';
3
+ import { TextWithIconsProps } from '../../Base/TextWithIcons/TextWithIcons';
4
+ interface TextLinkProps extends ComponentProps<typeof Link>, TextWithIconsProps {
5
+ }
6
+ /**
7
+ * 텍스트 기반의 링크 컴포넌트입니다.
8
+ *
9
+ * @description
10
+ * TextButton과 동일한 스타일을 가지지만 `<a>` 태그 기반으로 페이지 네비게이션을 담당합니다.
11
+ * Next.js의 Link 컴포넌트를 기반으로 하여 클라이언트 사이드 라우팅을 지원합니다.
12
+ *
13
+ * @component
14
+ * @param {Object} props - TextLink 컴포넌트의 props
15
+ * @param {string} props.href - 링크 대상 URL (필수)
16
+ * @param {string} props.text - 표시할 텍스트 (필수)
17
+ * @param {SystemIconName} [props.leadingIcon] - 텍스트 앞에 표시할 아이콘
18
+ * @param {SystemIconName} [props.trailingIcon] - 텍스트 뒤에 표시할 아이콘
19
+ * @param {boolean} [props.isTextSmall=false] - 작은 텍스트 크기 사용 여부
20
+ * @param {boolean} [props.isGray=false] - 텍스트 색상을 회색으로 사용 여부
21
+ * @param {boolean} [props.isUnderline=false] - 텍스트에 밑줄 스타일 적용 여부
22
+ * @param {ComponentProps<typeof Link>} props - Next.js Link 컴포넌트의 모든 props 지원
23
+ *
24
+ * @example
25
+ * // 기본 사용법
26
+ * <TextLink href="/about" text="소개 페이지로 이동" />
27
+ *
28
+ * @example
29
+ * // 아이콘과 함께 사용
30
+ * <TextLink
31
+ * href="/detail"
32
+ * text="자세히 보기"
33
+ * trailingIcon="medium_arrow_right"
34
+ * />
35
+ *
36
+ * @example
37
+ * // 외부 링크로 사용
38
+ * <TextLink
39
+ * href="https://example.com"
40
+ * text="외부 사이트 방문"
41
+ * target="_blank"
42
+ * rel="noopener noreferrer"
43
+ * />
44
+ *
45
+ * @example
46
+ * // 작은 텍스트 크기로 사용
47
+ * <TextLink
48
+ * href="/help"
49
+ * text="도움말"
50
+ * isTextSmall
51
+ * leadingIcon="small_help"
52
+ * />
53
+ *
54
+ * @example
55
+ * // 프로그래매틱 네비게이션과 함께
56
+ * <TextLink
57
+ * href="/dashboard"
58
+ * text="대시보드"
59
+ * onClick={(e) => {
60
+ * // 추가 로직 실행 가능
61
+ * console.log('대시보드로 이동');
62
+ * }}
63
+ * />
64
+ */
65
+ declare const TextLink: ({ href, text, leadingIcon, trailingIcon, isTextSmall, isGray, isUnderline, ...rest }: TextLinkProps) => import("react/jsx-runtime").JSX.Element;
66
+ export { TextLink };
@@ -0,0 +1,61 @@
1
+ import{jsx as e}from"react/jsx-runtime";import t from"next/link";import{twMerge as r}from"tailwind-merge";import{TextWithIcons as n}from"../../Base/TextWithIcons/TextWithIcons.js";function i(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,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,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}
2
+ /**
3
+ * 텍스트 기반의 링크 컴포넌트입니다.
4
+ *
5
+ * @description
6
+ * TextButton과 동일한 스타일을 가지지만 `<a>` 태그 기반으로 페이지 네비게이션을 담당합니다.
7
+ * Next.js의 Link 컴포넌트를 기반으로 하여 클라이언트 사이드 라우팅을 지원합니다.
8
+ *
9
+ * @component
10
+ * @param {Object} props - TextLink 컴포넌트의 props
11
+ * @param {string} props.href - 링크 대상 URL (필수)
12
+ * @param {string} props.text - 표시할 텍스트 (필수)
13
+ * @param {SystemIconName} [props.leadingIcon] - 텍스트 앞에 표시할 아이콘
14
+ * @param {SystemIconName} [props.trailingIcon] - 텍스트 뒤에 표시할 아이콘
15
+ * @param {boolean} [props.isTextSmall=false] - 작은 텍스트 크기 사용 여부
16
+ * @param {boolean} [props.isGray=false] - 텍스트 색상을 회색으로 사용 여부
17
+ * @param {boolean} [props.isUnderline=false] - 텍스트에 밑줄 스타일 적용 여부
18
+ * @param {ComponentProps<typeof Link>} props - Next.js Link 컴포넌트의 모든 props 지원
19
+ *
20
+ * @example
21
+ * // 기본 사용법
22
+ * <TextLink href="/about" text="소개 페이지로 이동" />
23
+ *
24
+ * @example
25
+ * // 아이콘과 함께 사용
26
+ * <TextLink
27
+ * href="/detail"
28
+ * text="자세히 보기"
29
+ * trailingIcon="medium_arrow_right"
30
+ * />
31
+ *
32
+ * @example
33
+ * // 외부 링크로 사용
34
+ * <TextLink
35
+ * href="https://example.com"
36
+ * text="외부 사이트 방문"
37
+ * target="_blank"
38
+ * rel="noopener noreferrer"
39
+ * />
40
+ *
41
+ * @example
42
+ * // 작은 텍스트 크기로 사용
43
+ * <TextLink
44
+ * href="/help"
45
+ * text="도움말"
46
+ * isTextSmall
47
+ * leadingIcon="small_help"
48
+ * />
49
+ *
50
+ * @example
51
+ * // 프로그래매틱 네비게이션과 함께
52
+ * <TextLink
53
+ * href="/dashboard"
54
+ * text="대시보드"
55
+ * onClick={(e) => {
56
+ * // 추가 로직 실행 가능
57
+ * console.log('대시보드로 이동');
58
+ * }}
59
+ * />
60
+ */(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)&&(i[r]=e[r])}return i}const l=l=>{var{href:a,text:f,leadingIcon:s,trailingIcon:p,isTextSmall:u=!1,isGray:O=!1,isUnderline:b=!1}=l,y=c(l,["href","text","leadingIcon","trailingIcon","isTextSmall","isGray","isUnderline"]);/*#__PURE__*/
61
+ return e(t,o(function(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){i(e,t,r[t])}))}return e}({href:a,className:r("flex min-h-6 w-fit items-center justify-center",u?"gap-x-0.5":"gap-x-1")},y),{children:/*#__PURE__*/e(n,{text:f,leadingIcon:s,trailingIcon:p,isTextSmall:u,isUnderline:b,isGray:O})}))};export{l as TextLink};
@@ -0,0 +1 @@
1
+ export { TextLink } from './TextLink';
@@ -1,10 +1,10 @@
1
- "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useContext as r,createContext as n,useRef as a,Children as o,useState as s,useEffect as i}from"react";import{twMerge as l,twJoin as c}from"tailwind-merge";import{Typography as u}from"../../Base/Typography/Typography.js";import{Box as d}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{SystemIcon as m}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{CountBadge as f}from"../../DataDisplays/CountBadge/CountBadge.js";import{Divider as b}from"../../DataDisplays/Divider/Divider.js";function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){p(e,t,r[t])}))}return e}function h(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}const g=/*#__PURE__*/n({barColor:"bg-w-gray-900",activeTab:0,currentActiveTab:0,isFit:!0,hasPadding:!1,isFull:!1,handleTabClick:e=>{}}),x=({children:t,currentActiveTab:r=0,isFit:n=!0,hasPadding:a=!1,isFull:o=!1,barColor:l="bg-w-gray-900",onChange:c})=>{const[u,d]=s(r);return i((()=>{r!==u&&d(r);
1
+ "use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useContext as r,createContext as n,useRef as a,Children as o,useState as s,useEffect as i}from"react";import{twMerge as l,twJoin as c}from"tailwind-merge";import{Typography as u}from"../../Base/Typography/Typography.js";import{Box as d}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import{CountBadge as m}from"../../DataDisplays/CountBadge/CountBadge.js";import{SystemIcon as f}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Divider as p}from"../../DataDisplays/Divider/Divider.js";import"../../DataDisplays/Accordion/Accordion.js";function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(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){b(e,t,r[t])}))}return e}function h(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}const g=/*#__PURE__*/n({barColor:"bg-w-gray-900",activeTab:0,currentActiveTab:0,isFit:!0,hasPadding:!1,isFull:!1,handleTabClick:e=>{}}),x=({children:t,currentActiveTab:r=0,isFit:n=!0,hasPadding:a=!1,isFull:o=!1,barColor:l="bg-w-gray-900",onChange:c})=>{const[u,d]=s(r);return i((()=>{r!==u&&d(r);
2
2
  // eslint-disable-next-line react-hooks/exhaustive-deps
3
- }),[r]),/*#__PURE__*/e(g.Provider,{value:{barColor:l,activeTab:u,currentActiveTab:r,isFit:n,hasPadding:a,handleTabClick:e=>{e!==u&&(null==c||c(e),d(e))},isFull:o},children:t})},w=({children:n,className:u})=>{const{activeTab:m,hasPadding:f,isFull:p,barColor:y}=r(g),h=a([]),x=a(null),w=a(null),v=o.toArray(n),[j,O]=s(!1),[T,D]=s(!1),[N,P]=s({x:0,scrollLeft:0});return i((()=>{if(!h.current[m]||!x.current)return;const e=h.current[m],t=x.current,r=w.current;if(e&&t&&r){const{offsetLeft:n,offsetWidth:a}=e,{scrollLeft:o,clientWidth:s}=r;t.style.width=`${a}px`,t.style.transform=`translateX(${n}px)`;if(!(o<=n&&o+s>=n+a)){const t=setTimeout((()=>{e.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})}),0);return()=>clearTimeout(t)}}}),[m]),i((()=>{const e=()=>{if(w.current){const e=w.current.scrollWidth>w.current.clientWidth;O(e)}};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),i((()=>{if(w.current){const e=w.current.scrollWidth>w.current.clientWidth;O(e)}}),[n]),/*#__PURE__*/e(d,{ref:w,className:c("block w-full touch-pan-x items-start overflow-x-scroll scrollbar-hide",j&&"scrollbar-list",u),"data-testid":"design-system-textTab--container",onMouseDown:e=>{w.current&&(D(!0),P({x:e.pageX,scrollLeft:w.current.scrollLeft}))},onMouseMove:e=>{if(!T||!w.current)return;e.preventDefault();const t=e.pageX-N.x;w.current.scrollLeft=N.scrollLeft-t},onMouseUp:()=>{D(!1)},onMouseLeave:()=>{D(!1)},children:/*#__PURE__*/t(d,{className:l("relative w-full border-b border-w-gray-200",j&&"w-max",f&&"px-9"),"data-testid":"design-system-textTab--inner-container",children:[
4
- /*#__PURE__*/e(d,{className:l("inline-flex w-max gap-10",p&&"w-full gap-0"),children:v.map(((t,r)=>/*#__PURE__*/e(d,{className:l(p&&"w-full"),ref:e=>{h.current[r]=e},children:t},r)))}),
3
+ }),[r]),/*#__PURE__*/e(g.Provider,{value:{barColor:l,activeTab:u,currentActiveTab:r,isFit:n,hasPadding:a,handleTabClick:e=>{e!==u&&(null==c||c(e),d(e))},isFull:o},children:t})},w=({children:n,className:u})=>{const{activeTab:m,hasPadding:f,isFull:b,barColor:y}=r(g),h=a([]),x=a(null),w=a(null),v=o.toArray(n),[j,O]=s(!1),[D,T]=s(!1),[N,P]=s({x:0,scrollLeft:0});return i((()=>{if(!h.current[m]||!x.current)return;const e=h.current[m],t=x.current,r=w.current;if(e&&t&&r){const{offsetLeft:n,offsetWidth:a}=e,{scrollLeft:o,clientWidth:s}=r;t.style.width=`${a}px`,t.style.transform=`translateX(${n}px)`;if(!(o<=n&&o+s>=n+a)){const t=setTimeout((()=>{e.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})}),0);return()=>clearTimeout(t)}}}),[m]),i((()=>{const e=()=>{if(w.current){const e=w.current.scrollWidth>w.current.clientWidth;O(e)}};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),i((()=>{if(w.current){const e=w.current.scrollWidth>w.current.clientWidth;O(e)}}),[n]),/*#__PURE__*/e(d,{ref:w,className:c("scrollbar-hide block w-full touch-pan-x items-start overflow-x-scroll",j&&"scrollbar-list",u),"data-testid":"design-system-textTab--container",onMouseDown:e=>{w.current&&(T(!0),P({x:e.pageX,scrollLeft:w.current.scrollLeft}))},onMouseMove:e=>{if(!D||!w.current)return;e.preventDefault();const t=e.pageX-N.x;w.current.scrollLeft=N.scrollLeft-t},onMouseUp:()=>{T(!1)},onMouseLeave:()=>{T(!1)},children:/*#__PURE__*/t(d,{className:l("relative w-full border-b border-w-gray-200",j&&"w-max",f&&"px-9"),"data-testid":"design-system-textTab--inner-container",children:[
4
+ /*#__PURE__*/e(d,{className:l("inline-flex w-max gap-10",b&&"w-full gap-0"),children:v.map(((t,r)=>/*#__PURE__*/e(d,{className:l(b&&"w-full"),ref:e=>{h.current[r]=e},children:t},r)))}),
5
5
  /*#__PURE__*/e("span",{ref:x,"data-testid":`design-system-textTab--underbar-${m}`,className:c("absolute bottom-0 left-0 h-0.5 rounded-t-lg transition-all duration-300 ease-out",y)}),
6
- /*#__PURE__*/e(b,{className:"absolute -bottom-px left-0 h-px"})]})})},v=({children:n,index:a,className:o,disabled:s=!1,badgeNumber:i,iconName:c,href:b})=>{const{isFit:p,handleTabClick:x,activeTab:w,isFull:v}=r(g),j=a===w,O={tabIndex:0,"data-testid":`design-system-textTab--item-${a}`,className:l("group flex w-max cursor-pointer items-center rounded-xl hover:font-medium",s&&"cursor-not-allowed",v&&"w-full",o),onClick:()=>{!s&&x(a)}},T=/*#__PURE__*/t(d,{className:l("relative flex w-full select-none flex-row items-center justify-center gap-2 py-4 font-normal text-w-gray-600 group-hover:text-w-gray-900",!p&&"px-[33.5px]",v&&"w-full px-0",j&&"font-medium text-w-gray-900"),children:[c&&/*#__PURE__*/e(d,{className:"flex size-4 flex-shrink-0 items-center justify-center",children:/*#__PURE__*/e(m,{name:c,className:l("size-4 text-w-gray-600 group-hover:text-w-gray-900",j&&"text-w-gray-900")})}),
7
- /*#__PURE__*/e(u,{variant:"body1",className:"relative",children:n}),void 0!==i&&/*#__PURE__*/e(f,{text:i,showZero:!0,className:"relative",variant:"gray"})]});return b?/*#__PURE__*/e("a",h(y({href:b},O),{children:T})):/*#__PURE__*/e(d,h(y({},O),{children:T}))},j=({children:t,index:n})=>{const{activeTab:a}=r(g);return a===n&&/*#__PURE__*/e(d,{"data-testid":"design-system-textTab--content",children:t})};
6
+ /*#__PURE__*/e(p,{className:"absolute -bottom-px left-0 h-px"})]})})},v=({children:n,index:a,className:o,disabled:s=!1,badgeNumber:i,iconName:c,href:p})=>{const{isFit:b,handleTabClick:x,activeTab:w,isFull:v}=r(g),j=a===w,O={tabIndex:0,"data-testid":`design-system-textTab--item-${a}`,className:l("group flex w-max cursor-pointer items-center rounded-xl hover:font-medium",s&&"cursor-not-allowed",v&&"w-full",o),onClick:()=>{!s&&x(a)}},D=/*#__PURE__*/t(d,{className:l("relative flex w-full select-none flex-row items-center justify-center gap-2 py-4 font-normal text-w-gray-600 group-hover:text-w-gray-900",!b&&"px-[33.5px]",v&&"w-full px-0",j&&"font-medium text-w-gray-900"),children:[c&&/*#__PURE__*/e(d,{className:"flex size-4 shrink-0 items-center justify-center",children:/*#__PURE__*/e(f,{name:c,className:l("size-4 text-w-gray-600 group-hover:text-w-gray-900",j&&"text-w-gray-900")})}),
7
+ /*#__PURE__*/e(u,{variant:"body16",className:"relative",children:n}),void 0!==i&&/*#__PURE__*/e(m,{text:i,showZero:!0,className:"relative",variant:"gray"})]});return p?/*#__PURE__*/e("a",h(y({href:p},O),{children:D})):/*#__PURE__*/e(d,h(y({},O),{children:D}))},j=({children:t,index:n})=>{const{activeTab:a}=r(g);return a===n&&/*#__PURE__*/e(d,{"data-testid":"design-system-textTab--content",children:t})};
8
8
  /**
9
9
  * TextTab의 Root 컴포넌트입니다.
10
10
  * TextTab의 상태를 관리합니다.
@@ -5,3 +5,4 @@ export * from './TableOfContents';
5
5
  export * from './TextTab';
6
6
  export * from './BoxTab';
7
7
  export * from './Menu';
8
+ export * from './TextLink';
@@ -1,4 +1,4 @@
1
- import{jsxs as t,jsx as a}from"react/jsx-runtime";import{twMerge as e}from"tailwind-merge";import{Box as s}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"react";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{CountBadge as r}from"../../DataDisplays/CountBadge/CountBadge.js";import{NewBadge as o}from"../../DataDisplays/NewBadge/NewBadge.js";
1
+ import{jsxs as a,jsx as t}from"react/jsx-runtime";import{twMerge as s}from"tailwind-merge";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import{CountBadge as e}from"../../DataDisplays/CountBadge/CountBadge.js";import"react";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{NewBadge as o}from"../../DataDisplays/NewBadge/NewBadge.js";import"../../DataDisplays/Accordion/Accordion.js";
2
2
  /**
3
3
  * 자식 요소의 우측 상단에 뱃지를 표시하는 래퍼 컴포넌트입니다.
4
4
  *
@@ -19,4 +19,4 @@ import{jsxs as t,jsx as a}from"react/jsx-runtime";import{twMerge as e}from"tailw
19
19
  * <WithBadge variant="new">
20
20
  * <MenuItem>새로운 기능</MenuItem>
21
21
  * </WithBadge>
22
- */const i=({text:i,children:m,className:l,variant:n="primary",showZero:p=!1})=>/*#__PURE__*/t(s,{className:e("relative w-fit",l),"data-testid":"with-badge",children:[m,"new"===n?/*#__PURE__*/a(o,{className:"absolute right-0 top-0 -translate-y-1/2 translate-x-1/2 transform"}):/*#__PURE__*/a(r,{text:i,variant:n,showZero:p,className:"absolute right-px top-px -translate-y-1/2 translate-x-1/2 transform"})]});export{i as WithBadge};
22
+ */const i=({text:i,children:m,className:l,variant:n="primary",showZero:p=!1})=>/*#__PURE__*/a(r,{className:s("relative w-fit",l),"data-testid":"with-badge",children:[m,"new"===n?/*#__PURE__*/t(o,{className:"absolute right-0 top-0 -translate-y-1/2 translate-x-1/2 transform"}):/*#__PURE__*/t(e,{text:i,variant:n,showZero:p,className:"absolute right-px top-px -translate-y-1/2 translate-x-1/2 transform"})]});export{i as WithBadge};
@@ -1,4 +1,4 @@
1
- import{jsxs as e,jsx as a}from"react/jsx-runtime";import{twJoin as s}from"tailwind-merge";import{Box as t}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"react";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{SnackBar as o}from"../../Feedbacks/SnackBar/SnackBar.js";import"@wishket/yogokit";import"react-dom";import"../../Feedbacks/GlobalLoadingIndicator/GlobalLoadingIndicator.js";
1
+ import{jsxs as t,jsx as a}from"react/jsx-runtime";import{twJoin as s}from"tailwind-merge";import{Box as e}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import"react";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../DataDisplays/Accordion/Accordion.js";import{SnackBar as o}from"../../Feedbacks/SnackBar/SnackBar.js";import"../../Inputs/Button/Button.js";import"@wishket/yogokit";import"react-dom";import"../../Feedbacks/Tooltip/Tooltip.js";import"../../Feedbacks/GlobalLoadingIndicator/GlobalLoadingIndicator.js";
2
2
  /**
3
3
  * 스낵바를 포함하는 래퍼 컴포넌트입니다.
4
4
  * 자식 컴포넌트 상단에 알림 메시지를 표시할 수 있습니다.
@@ -21,5 +21,5 @@ import{jsxs as e,jsx as a}from"react/jsx-runtime";import{twJoin as s}from"tailwi
21
21
  * <YourComponent />
22
22
  * </WithSnackBar>
23
23
  * ```
24
- */const r=({children:r,isOpen:i,message:l,type:n,onClose:m})=>/*#__PURE__*/e(t,{"data-testid":"design-system-with-message-bar",children:[
25
- /*#__PURE__*/a(t,{className:"w-full overflow-y-hidden",children:/*#__PURE__*/a(t,{className:s("w-full transform overflow-y-hidden transition-all duration-300 ease-linear",i?"max-h-full translate-y-0":"max-h-0 -translate-y-full"),"data-testid":"design-system-with-message-bar--container",children:/*#__PURE__*/a(t,{className:"pt-8",children:/*#__PURE__*/a(o,{message:l,type:n,onClose:m})})})}),r]});export{r as WithSnackBar};
24
+ */const i=({children:i,isOpen:r,message:l,type:n,onClose:m})=>/*#__PURE__*/t(e,{"data-testid":"design-system-with-message-bar",children:[
25
+ /*#__PURE__*/a(e,{className:"w-full overflow-y-hidden",children:/*#__PURE__*/a(e,{className:s("w-full transform overflow-y-hidden transition-all duration-300 ease-linear",r?"max-h-full translate-y-0":"max-h-0 -translate-y-full"),"data-testid":"design-system-with-message-bar--container",children:/*#__PURE__*/a(e,{className:"pt-8",children:/*#__PURE__*/a(o,{message:l,type:n,onClose:m})})})}),i]});export{i as WithSnackBar};
@@ -1,3 +1,2 @@
1
1
  export * from './WithBadge';
2
- export * from './WithRichTooltip';
3
2
  export * from './WithSnackBar';
@@ -10,4 +10,4 @@
10
10
  */(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a<l.length;a++)r=l[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}const c=/*#__PURE__*/t.forwardRef(((n,c)=>{var{className:s,insideContainerClassName:o,maxWidth:p="1200px",paddingAdjustment:u=8.5,children:f}=n,m=d(n,["className","insideContainerClassName","maxWidth","paddingAdjustment","children"]);
11
11
  // TODO: 스크롤바 너비를 제외한 viewport width 계산을 더 나은 방식으로 할 수 있도록 개선(layout shift 방지)
12
12
  const[b,g]=t.useState((()=>a.calculateScrollbarWidth())),y=a.getPaddingFromClassName(o,"mobile"),x=a.getPaddingFromClassName(o,"tablet"),O=a.getPaddingFromClassName(o,"desktop");t.useEffect((()=>{g(a.calculateScrollbarWidth())}),[]);const h={"--dynamic-padding-left-tablet":`max(${x.left||x.x}px, ${y.left||y.x}px)`,"--dynamic-padding-right-tablet":`max(${x.right||x.x}px, ${y.right||y.x}px)`,"--dynamic-padding-left-desktop":`calc(max(calc((100dvw - ${p})/2 + ${y.left||y.x}px + ${u}px), ${O.x}px))`,"--dynamic-padding-right-desktop":`calc(max(calc((100dvw - ${p})/2 + ${y.right||y.x}px + ${u}px), ${O.x}px))`},j={"--dynamic-bleed-width":`calc(100dvw - ${b}px)`};/*#__PURE__*/
13
- return e.jsx("div",{"data-testid":"design-system-full-bleed",children:/*#__PURE__*/e.jsx("div",{"data-testid":"design-system-full-bleed--container",className:r.twMerge("relative left-1/2 top-0 h-full w-[var(--dynamic-bleed-width)] -translate-x-1/2",s),style:j,children:/*#__PURE__*/e.jsx("div",i(l({"data-testid":"design-system-full-bleed--container-inside",className:r.twMerge("flex w-full overflow-x-auto px-5 scrollbar-hide","tablet:pl-[var(--dynamic-padding-left-tablet)] tablet:pr-[var(--dynamic-padding-right-tablet)]","desktop:pl-[var(--dynamic-padding-left-desktop)] desktop:pr-[var(--dynamic-padding-right-desktop)]",o),style:h,ref:c},m),{children:f}))})})}));c.displayName="FullBleed",exports.FullBleed=c;
13
+ return e.jsx("div",{"data-testid":"design-system-full-bleed",children:/*#__PURE__*/e.jsx("div",{"data-testid":"design-system-full-bleed--container",className:r.twMerge("relative left-1/2 top-0 h-full w-[var(--dynamic-bleed-width)] -translate-x-1/2",s),style:j,children:/*#__PURE__*/e.jsx("div",i(l({"data-testid":"design-system-full-bleed--container-inside",className:r.twMerge("scrollbar-hide flex w-full overflow-x-auto px-5","tablet:pl-[var(--dynamic-padding-left-tablet)] tablet:pr-[var(--dynamic-padding-right-tablet)]","desktop:pl-[var(--dynamic-padding-left-desktop)] desktop:pr-[var(--dynamic-padding-right-desktop)]",o),style:h,ref:c},m),{children:f}))})})}));c.displayName="FullBleed",exports.FullBleed=c;
@@ -1,4 +1,4 @@
1
- "use strict";function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}const e=(r,n="mobile")=>{const i={mobile:{x:20,left:0,right:0},tablet:{x:20,left:0,right:0},desktop:{x:36,left:0,right:0}};if(!r){if("tablet"===n){const t=e(r,"mobile");return{x:t.x,left:t.left,right:t.right}}return i[n]}const o=r.split(" "),l="mobile"===n?"":`${n}:`;if(!o.some((t=>t.startsWith(l+"px-")||t.startsWith(l+"pl-")||t.startsWith(l+"pr-")))&&"tablet"===n)return e(r,"mobile");const c=function(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})))),i.forEach((function(r){t(e,r,n[r])}))}return e}({},i[n]),s=o.find((t=>t===`${l}px-${c.x/4}`||t.startsWith(`${l}px-`)));
1
+ "use strict";function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}const e=(r,n="mobile")=>{const i={mobile:{x:20,left:0,right:0},tablet:{x:20,left:0,right:0},desktop:{x:36,left:0,right:0}};if(!r){if("tablet"===n){const t=e(r,"mobile");return{x:t.x,left:t.left,right:t.right}}return i[n]}const o=r.split(" "),l="mobile"===n?"":`${n}:`;if(!o.some((t=>t.startsWith(`${l}px-`)||t.startsWith(`${l}pl-`)||t.startsWith(`${l}pr-`)))&&"tablet"===n)return e(r,"mobile");const c=function(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})))),i.forEach((function(r){t(e,r,n[r])}))}return e}({},i[n]),s=o.find((t=>t===`${l}px-${c.x/4}`||t.startsWith(`${l}px-`)));
2
2
  // px 처리
3
3
  if(s){const t=4*Number(s.replace(l,"").replace("px-",""));c.x=t}
4
4
  // pl 처리
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge"),s=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var i=require("../Typography/Typography.js"),a=require("../Layouts/Box/Box.js");require("../Layouts/FullBleed/FullBleed.js");exports.TextWithIcons=({text:r,leadingIcon:n,trailingIcon:o,isTextSmall:l=!1,isGray:c=!1,isUnderline:y=!1})=>/*#__PURE__*/e.jsxs(e.Fragment,{children:[n&&/*#__PURE__*/e.jsx(a.Box,{"data-testid":"design-system-text-with-icons--icon--left",className:"w-fit",children:/*#__PURE__*/e.jsx(s.SystemIcon,{name:n,className:t.twJoin(c?"text-w-gray-600":"text-primary-500")})}),
2
+ /*#__PURE__*/e.jsx(a.Box,{"data-testid":"design-system-text-with-icons--text",className:"w-fit",children:/*#__PURE__*/e.jsx(i.Typography,{variant:l?"body14":"body16",className:t.twJoin("align-baseline font-medium",c?"text-w-gray-600":"text-primary-500",y?"underline decoration-1 underline-offset-2":""),children:r})}),o&&/*#__PURE__*/e.jsx(a.Box,{"data-testid":"design-system-text-with-icons--icon--right",className:"w-fit",children:/*#__PURE__*/e.jsx(s.SystemIcon,{name:o,className:t.twJoin(c?"text-w-gray-600":"text-primary-500")})})]});
@@ -1,10 +1,10 @@
1
- "use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge");function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(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 o(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}const c=[{name:"title1",class:"typo-title1"},{name:"title2",class:"typo-title2"},{name:"title3",class:"typo-title3"},{name:"subTitle1",class:"typo-subTitle1"},{name:"subTitle2",class:"typo-subTitle2"},{name:"contents1",class:"typo-contents1"},{name:"contents2",class:"typo-contents2"},{name:"body1",class:"typo-body1"},{name:"body2",class:"typo-body2"},{name:"body3",class:"typo-body3"},{name:"caption1",class:"typo-caption1"},{name:"caption2",class:"typo-caption2"}];
1
+ "use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge");function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(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 o(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}const a=[{name:"title48",class:"typo-title48"},{name:"title32",class:"typo-title32"},{name:"title28",class:"typo-title28"},{name:"title24",class:"typo-title24"},{name:"subTitle20",class:"typo-subTitle20"},{name:"subTitle18",class:"typo-subTitle18"},{name:"contents18",class:"typo-contents18"},{name:"contents16",class:"typo-contents16"},{name:"body16",class:"typo-body16"},{name:"body14",class:"typo-body14"},{name:"body13",class:"typo-body13"},{name:"caption12",class:"typo-caption12"},{name:"caption11",class:"typo-caption11"}];
2
2
  /**
3
3
  * Typography
4
4
  * @param {Object} props
5
5
  * @param {React.ReactNode} props.children - Typography 내부에 들어갈 컨텐츠
6
- * @param {string} props.variant - 텍스트 스타일 variant ('title1' | 'title2' | 'title3' | 'subTitle1' | 'subTitle2' | 'contents1' | 'contents2' | 'body1' | 'body2' | 'body3' | 'caption1' | 'caption2')
6
+ * @param {string} props.variant - 텍스트 스타일 variant ('title48' | 'title32' | 'title24' | 'subTitle20' | 'subTitle18' | 'contents18' | 'contents16' | 'body16' | 'body14' | 'body13' | 'caption12' | 'caption11')
7
7
  * @param {string} [props.className] - 추가적인 CSS 클래스
8
8
  * @param {keyof JSX.IntrinsicElements} [props.as='span'] - 렌더링할 HTML 요소
9
- */exports.Typography=a=>{var s,{children:l,variant:i,className:p,as:y="span"}=a,u=o(a,["children","variant","className","as"]);const b=y||"span",O=(null===(s=c.find((e=>e.name===i)))||void 0===s?void 0:s.class)||"";/*#__PURE__*/
9
+ */exports.Typography=c=>{var s,{children:l,variant:i,className:p,as:y="span"}=c,u=o(c,["children","variant","className","as"]);const b=y||"span",O=(null===(s=a.find((e=>e.name===i)))||void 0===s?void 0:s.class)||"";/*#__PURE__*/
10
10
  return e.jsx(b,r(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){n(e,t,r[t])}))}return e}({className:t.twMerge("tracking-default",O,p)},u),{children:l}))};