@loword/loword-design-system 0.0.18 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/README.md +37 -21
  2. package/dist/components/LDAccordion/AccordionBase.d.ts.map +1 -1
  3. package/dist/components/LDAccordion/AccordionBase.js +3 -4
  4. package/dist/components/LDAccordion/LDAccordion.d.ts +33 -2
  5. package/dist/components/LDAccordion/LDAccordion.d.ts.map +1 -1
  6. package/dist/components/LDAccordion/LDAccordion.js +70 -7
  7. package/dist/components/LDAutoComplete/AutoCompleteBase.d.ts +35 -21
  8. package/dist/components/LDAutoComplete/AutoCompleteBase.d.ts.map +1 -1
  9. package/dist/components/LDAutoComplete/AutoCompleteBase.js +25 -46
  10. package/dist/components/LDAutoComplete/LDAutoComplete.d.ts +54 -4
  11. package/dist/components/LDAutoComplete/LDAutoComplete.d.ts.map +1 -1
  12. package/dist/components/LDAutoComplete/LDAutoComplete.js +141 -4
  13. package/dist/components/LDAvatar/AvatarBase.d.ts.map +1 -1
  14. package/dist/components/LDAvatar/AvatarBase.js +3 -3
  15. package/dist/components/LDAvatar/LDAvatar.d.ts +3 -1
  16. package/dist/components/LDAvatar/LDAvatar.d.ts.map +1 -1
  17. package/dist/components/LDAvatar/LDAvatar.js +33 -20
  18. package/dist/components/LDBadge/BadgeBase.d.ts.map +1 -1
  19. package/dist/components/LDBadge/LDBadge.d.ts +7 -4
  20. package/dist/components/LDBadge/LDBadge.d.ts.map +1 -1
  21. package/dist/components/LDBadge/LDBadge.js +34 -32
  22. package/dist/components/LDBreadCrumb/BreadCrumbBase.d.ts +3 -2
  23. package/dist/components/LDBreadCrumb/BreadCrumbBase.d.ts.map +1 -1
  24. package/dist/components/LDBreadCrumb/BreadCrumbBase.js +6 -3
  25. package/dist/components/LDBreadCrumb/LDBreadCrumb.d.ts +26 -2
  26. package/dist/components/LDBreadCrumb/LDBreadCrumb.d.ts.map +1 -1
  27. package/dist/components/LDBreadCrumb/LDBreadCrumb.js +24 -15
  28. package/dist/components/LDButton/ButtonBase.d.ts.map +1 -1
  29. package/dist/components/LDButton/LDButton.d.ts +5 -3
  30. package/dist/components/LDButton/LDButton.d.ts.map +1 -1
  31. package/dist/components/LDButton/LDButton.js +14 -27
  32. package/dist/components/LDCalendar/CalendarBase.d.ts +1 -1
  33. package/dist/components/LDCalendar/CalendarBase.d.ts.map +1 -1
  34. package/dist/components/LDCalendar/CalendarBase.js +12 -11
  35. package/dist/components/LDCalendar/CalendarTimePicker.d.ts +11 -0
  36. package/dist/components/LDCalendar/CalendarTimePicker.d.ts.map +1 -0
  37. package/dist/components/LDCalendar/CalendarTimePicker.js +82 -0
  38. package/dist/components/LDCalendar/LDCalendar.d.ts +13 -8
  39. package/dist/components/LDCalendar/LDCalendar.d.ts.map +1 -1
  40. package/dist/components/LDCalendar/LDCalendar.js +48 -81
  41. package/dist/components/LDCallout/CalloutBase.d.ts.map +1 -1
  42. package/dist/components/LDCallout/CalloutBase.js +3 -3
  43. package/dist/components/LDCallout/LDCallout.d.ts.map +1 -1
  44. package/dist/components/LDCallout/LDCallout.js +1 -1
  45. package/dist/components/LDCarousel/CarouselBase.d.ts +6 -1
  46. package/dist/components/LDCarousel/CarouselBase.d.ts.map +1 -1
  47. package/dist/components/LDCarousel/CarouselBase.js +12 -9
  48. package/dist/components/LDCarousel/LDCarousel.d.ts +13 -11
  49. package/dist/components/LDCarousel/LDCarousel.d.ts.map +1 -1
  50. package/dist/components/LDCarousel/LDCarousel.js +3 -3
  51. package/dist/components/LDChart/LDChart.d.ts +4 -2
  52. package/dist/components/LDChart/LDChart.d.ts.map +1 -1
  53. package/dist/components/LDChart/LDChart.js +5 -5
  54. package/dist/components/LDCheckbox/CheckboxBase.d.ts.map +1 -1
  55. package/dist/components/LDCheckbox/CheckboxBase.js +3 -3
  56. package/dist/components/LDCheckbox/LDCheckbox.d.ts +3 -1
  57. package/dist/components/LDCheckbox/LDCheckbox.d.ts.map +1 -1
  58. package/dist/components/LDCheckbox/LDCheckbox.js +6 -6
  59. package/dist/components/LDCheckbox/LDCheckboxGroup.d.ts +1 -1
  60. package/dist/components/LDCheckbox/LDCheckboxGroup.d.ts.map +1 -1
  61. package/dist/components/LDCheckbox/LDCheckboxGroup.js +1 -1
  62. package/dist/components/LDCheckbox/LDFormCheckbox.d.ts +1 -1
  63. package/dist/components/LDCheckbox/LDFormCheckbox.d.ts.map +1 -1
  64. package/dist/components/LDCheckbox/LDFormCheckbox.js +2 -2
  65. package/dist/components/LDCheckbox/LDFormCheckboxGroup.d.ts +1 -1
  66. package/dist/components/LDCheckbox/LDFormCheckboxGroup.d.ts.map +1 -1
  67. package/dist/components/LDCheckbox/LDFormCheckboxGroup.js +2 -2
  68. package/dist/components/LDDataCalendar/LDDataCalendar.d.ts +23 -5
  69. package/dist/components/LDDataCalendar/LDDataCalendar.d.ts.map +1 -1
  70. package/dist/components/LDDataCalendar/LDDataCalendar.js +28 -5
  71. package/dist/components/LDDataCalendar/LDDataCalendarBase.d.ts +6 -10
  72. package/dist/components/LDDataCalendar/LDDataCalendarBase.d.ts.map +1 -1
  73. package/dist/components/LDDataCalendar/LDDataCalendarBase.js +7 -7
  74. package/dist/components/LDDatePicker/LDDatePicker.d.ts +11 -4
  75. package/dist/components/LDDatePicker/LDDatePicker.d.ts.map +1 -1
  76. package/dist/components/LDDatePicker/LDDatePicker.js +55 -60
  77. package/dist/components/LDDatePicker/LDFormDatePicker.d.ts +1 -1
  78. package/dist/components/LDDatePicker/LDFormDatePicker.d.ts.map +1 -1
  79. package/dist/components/LDDatePicker/LDFormDatePicker.js +4 -4
  80. package/dist/components/LDDateRangePicker/LDDateRangePicker.d.ts +15 -9
  81. package/dist/components/LDDateRangePicker/LDDateRangePicker.d.ts.map +1 -1
  82. package/dist/components/LDDateRangePicker/LDDateRangePicker.js +92 -91
  83. package/dist/components/LDDateRangePicker/LDFormDateRangePicker.d.ts +1 -1
  84. package/dist/components/LDDateRangePicker/LDFormDateRangePicker.d.ts.map +1 -1
  85. package/dist/components/LDDateRangePicker/LDFormDateRangePicker.js +3 -3
  86. package/dist/components/LDDaumPostButton/LDDaumPostButton.d.ts +1 -1
  87. package/dist/components/LDDaumPostButton/LDDaumPostButton.d.ts.map +1 -1
  88. package/dist/components/LDDaumPostButton/LDDaumPostButton.js +2 -2
  89. package/dist/components/LDDivider/DividerBase.d.ts.map +1 -1
  90. package/dist/components/LDDivider/LDDivider.js +1 -1
  91. package/dist/components/LDDrawer/DrawerBase.d.ts +26 -47
  92. package/dist/components/LDDrawer/DrawerBase.d.ts.map +1 -1
  93. package/dist/components/LDDrawer/DrawerBase.js +19 -25
  94. package/dist/components/LDDrawer/LDDrawer.d.ts +35 -5
  95. package/dist/components/LDDrawer/LDDrawer.d.ts.map +1 -1
  96. package/dist/components/LDDrawer/LDDrawer.js +47 -6
  97. package/dist/components/LDEditor/EditorBase.d.ts +3 -2
  98. package/dist/components/LDEditor/EditorBase.d.ts.map +1 -1
  99. package/dist/components/LDEditor/EditorBase.js +7 -5
  100. package/dist/components/LDEditor/LDEditor.d.ts.map +1 -1
  101. package/dist/components/LDEditor/LDEditor.js +37 -27
  102. package/dist/components/LDEditor/LDViewer.js +3 -3
  103. package/dist/components/LDEditor/extensions.d.ts.map +1 -1
  104. package/dist/components/LDEditor/extensions.js +10 -12
  105. package/dist/components/LDEmpty/LDEmpty.d.ts +3 -1
  106. package/dist/components/LDEmpty/LDEmpty.d.ts.map +1 -1
  107. package/dist/components/LDEmpty/LDEmpty.js +1 -1
  108. package/dist/components/LDFileUpload/FileUploadBase.d.ts +20 -35
  109. package/dist/components/LDFileUpload/FileUploadBase.d.ts.map +1 -1
  110. package/dist/components/LDFileUpload/FileUploadBase.js +81 -162
  111. package/dist/components/LDFileUpload/LDFileUpload.d.ts +31 -17
  112. package/dist/components/LDFileUpload/LDFileUpload.d.ts.map +1 -1
  113. package/dist/components/LDFileUpload/LDFileUpload.js +73 -5
  114. package/dist/components/LDFileUpload/LDFileUploadList.d.ts +4 -18
  115. package/dist/components/LDFileUpload/LDFileUploadList.d.ts.map +1 -1
  116. package/dist/components/LDFileUpload/LDFileUploadList.js +3 -4
  117. package/dist/components/LDFileUpload/LDImageUpload.d.ts +5 -19
  118. package/dist/components/LDFileUpload/LDImageUpload.d.ts.map +1 -1
  119. package/dist/components/LDFileUpload/LDImageUpload.js +4 -8
  120. package/dist/components/LDFileUpload/LDImageUploadList.d.ts +4 -18
  121. package/dist/components/LDFileUpload/LDImageUploadList.d.ts.map +1 -1
  122. package/dist/components/LDFileUpload/LDImageUploadList.js +4 -4
  123. package/dist/components/LDForm/LDForm.d.ts +1 -1
  124. package/dist/components/LDForm/LDForm.d.ts.map +1 -1
  125. package/dist/components/LDForm/LDFormErrorMessage.d.ts.map +1 -1
  126. package/dist/components/LDForm/LDFormErrorMessage.js +1 -1
  127. package/dist/components/LDInput/InputBase.d.ts.map +1 -1
  128. package/dist/components/LDInput/InputBase.js +1 -1
  129. package/dist/components/LDInput/LDFormInput.d.ts +1 -1
  130. package/dist/components/LDInput/LDFormInput.d.ts.map +1 -1
  131. package/dist/components/LDInput/LDFormInput.js +4 -4
  132. package/dist/components/LDInput/LDInput.d.ts +5 -3
  133. package/dist/components/LDInput/LDInput.d.ts.map +1 -1
  134. package/dist/components/LDInput/LDInput.js +18 -16
  135. package/dist/components/LDLNB/LDLNB.d.ts +1 -1
  136. package/dist/components/LDLNB/LDLNB.d.ts.map +1 -1
  137. package/dist/components/LDLNB/LDLNB.js +7 -7
  138. package/dist/components/LDLNB/{LDLNBBase.d.ts → LNBBase.d.ts} +3 -3
  139. package/dist/components/LDLNB/LNBBase.d.ts.map +1 -0
  140. package/dist/components/LDLNB/{LDLNBBase.js → LNBBase.js} +56 -39
  141. package/dist/components/LDLoadingDots/LDLoadingDots.d.ts +3 -1
  142. package/dist/components/LDLoadingDots/LDLoadingDots.d.ts.map +1 -1
  143. package/dist/components/LDLoadingDots/LDLoadingDots.js +3 -3
  144. package/dist/components/LDMenuBar/LDMenuBar.d.ts.map +1 -1
  145. package/dist/components/LDMenuBar/LDMenuBar.js +6 -6
  146. package/dist/components/LDMenuBar/MenuBarBase.d.ts.map +1 -1
  147. package/dist/components/LDModal/LDModal.d.ts +4 -2
  148. package/dist/components/LDModal/LDModal.d.ts.map +1 -1
  149. package/dist/components/LDModal/LDModal.js +1 -1
  150. package/dist/components/LDModal/LDModalView.d.ts +4 -2
  151. package/dist/components/LDModal/LDModalView.d.ts.map +1 -1
  152. package/dist/components/LDModal/LDModalView.js +7 -7
  153. package/dist/components/LDModal/ModalBase.d.ts.map +1 -1
  154. package/dist/components/LDModal/ModalBase.js +2 -2
  155. package/dist/components/LDNotification/LDNotification.d.ts +4 -2
  156. package/dist/components/LDNotification/LDNotification.d.ts.map +1 -1
  157. package/dist/components/LDNotification/LDNotification.js +2 -2
  158. package/dist/components/LDNotification/NotificationBase.d.ts.map +1 -1
  159. package/dist/components/LDOTPInput/LDFormOTPInput.d.ts +1 -1
  160. package/dist/components/LDOTPInput/LDFormOTPInput.d.ts.map +1 -1
  161. package/dist/components/LDOTPInput/LDFormOTPInput.js +2 -2
  162. package/dist/components/LDOTPInput/LDOTPInput.d.ts +29 -16
  163. package/dist/components/LDOTPInput/LDOTPInput.d.ts.map +1 -1
  164. package/dist/components/LDOTPInput/LDOTPInput.js +26 -20
  165. package/dist/components/LDOTPInput/OTPInputBase.d.ts +12 -12
  166. package/dist/components/LDOTPInput/OTPInputBase.d.ts.map +1 -1
  167. package/dist/components/LDOTPInput/OTPInputBase.js +11 -9
  168. package/dist/components/LDPagination/LDPagination.d.ts.map +1 -1
  169. package/dist/components/LDPagination/LDPagination.js +1 -1
  170. package/dist/components/LDPagination/PaginationBase.d.ts +1 -1
  171. package/dist/components/LDPagination/PaginationBase.d.ts.map +1 -1
  172. package/dist/components/LDPagination/PaginationBase.js +5 -5
  173. package/dist/components/LDPopover/LDPopover.d.ts +3 -1
  174. package/dist/components/LDPopover/LDPopover.d.ts.map +1 -1
  175. package/dist/components/LDPopover/LDPopover.js +5 -5
  176. package/dist/components/LDPopover/PopoverBase.d.ts +2 -1
  177. package/dist/components/LDPopover/PopoverBase.d.ts.map +1 -1
  178. package/dist/components/LDPopover/PopoverBase.js +2 -2
  179. package/dist/components/LDProgressBar/LDProgressBar.d.ts.map +1 -1
  180. package/dist/components/LDProgressBar/LDProgressBar.js +2 -2
  181. package/dist/components/LDProgressBar/ProgressBarBase.d.ts.map +1 -1
  182. package/dist/components/LDProgressBar/ProgressBarBase.js +1 -1
  183. package/dist/components/LDRadio/LDFormRadioGroup.d.ts +1 -1
  184. package/dist/components/LDRadio/LDFormRadioGroup.d.ts.map +1 -1
  185. package/dist/components/LDRadio/LDFormRadioGroup.js +2 -2
  186. package/dist/components/LDRadio/LDRadio.d.ts +3 -1
  187. package/dist/components/LDRadio/LDRadio.d.ts.map +1 -1
  188. package/dist/components/LDRadio/LDRadio.js +7 -7
  189. package/dist/components/LDRadio/LDRadioGroup.d.ts +1 -1
  190. package/dist/components/LDRadio/LDRadioGroup.d.ts.map +1 -1
  191. package/dist/components/LDRadio/LDRadioGroup.js +1 -1
  192. package/dist/components/LDRadio/RadioBase.d.ts.map +1 -1
  193. package/dist/components/LDRadio/RadioBase.js +1 -1
  194. package/dist/components/LDRate/LDFormRate.d.ts +1 -1
  195. package/dist/components/LDRate/LDFormRate.d.ts.map +1 -1
  196. package/dist/components/LDRate/LDRate.d.ts +1 -1
  197. package/dist/components/LDRate/LDRate.d.ts.map +1 -1
  198. package/dist/components/LDRate/LDRate.js +6 -6
  199. package/dist/components/LDScrollArea/LDScrollArea.d.ts.map +1 -1
  200. package/dist/components/LDScrollArea/LDScrollArea.js +2 -2
  201. package/dist/components/LDSectionNav/LDSectionNav.js +1 -1
  202. package/dist/components/LDSectionNav/SectionNavBase.d.ts.map +1 -1
  203. package/dist/components/LDSectionNav/SectionNavBase.js +1 -1
  204. package/dist/components/LDSegmented/LDSegmented.d.ts +5 -3
  205. package/dist/components/LDSegmented/LDSegmented.d.ts.map +1 -1
  206. package/dist/components/LDSegmented/LDSegmented.js +13 -10
  207. package/dist/components/LDSegmented/SegmentedBase.d.ts.map +1 -1
  208. package/dist/components/LDSegmented/SegmentedBase.js +1 -1
  209. package/dist/components/LDSelect/LDFormMultiSelect.d.ts +1 -1
  210. package/dist/components/LDSelect/LDFormMultiSelect.d.ts.map +1 -1
  211. package/dist/components/LDSelect/LDFormMultiSelect.js +3 -3
  212. package/dist/components/LDSelect/LDFormSelect.d.ts +1 -1
  213. package/dist/components/LDSelect/LDFormSelect.d.ts.map +1 -1
  214. package/dist/components/LDSelect/LDFormSelect.js +3 -3
  215. package/dist/components/LDSelect/LDMultiSelect.d.ts +6 -4
  216. package/dist/components/LDSelect/LDMultiSelect.d.ts.map +1 -1
  217. package/dist/components/LDSelect/LDMultiSelect.js +13 -13
  218. package/dist/components/LDSelect/LDSelect.d.ts +39 -7
  219. package/dist/components/LDSelect/LDSelect.d.ts.map +1 -1
  220. package/dist/components/LDSelect/LDSelect.js +56 -19
  221. package/dist/components/LDSelect/SelectBase.d.ts +25 -28
  222. package/dist/components/LDSelect/SelectBase.d.ts.map +1 -1
  223. package/dist/components/LDSelect/SelectBase.js +65 -24
  224. package/dist/components/LDSkeleton/LDSkeleton.d.ts.map +1 -1
  225. package/dist/components/LDSkeleton/LDSkeleton.js +1 -1
  226. package/dist/components/LDSlider/LDSlider.d.ts +31 -2
  227. package/dist/components/LDSlider/LDSlider.d.ts.map +1 -1
  228. package/dist/components/LDSlider/LDSlider.js +62 -184
  229. package/dist/components/LDSlider/SliderBase.d.ts +44 -0
  230. package/dist/components/LDSlider/SliderBase.d.ts.map +1 -0
  231. package/dist/components/LDSlider/SliderBase.js +145 -0
  232. package/dist/components/LDSpinner/LDSpinner.d.ts +1 -6
  233. package/dist/components/LDSpinner/LDSpinner.d.ts.map +1 -1
  234. package/dist/components/LDSpinner/LDSpinner.js +4 -12
  235. package/dist/components/LDTable/{TableField.d.ts → HeadlessTable.d.ts} +18 -23
  236. package/dist/components/LDTable/HeadlessTable.d.ts.map +1 -0
  237. package/dist/components/LDTable/{TableField.js → HeadlessTable.js} +61 -12
  238. package/dist/components/LDTable/LDCollapsibleTanstackTable.d.ts +4 -5
  239. package/dist/components/LDTable/LDCollapsibleTanstackTable.d.ts.map +1 -1
  240. package/dist/components/LDTable/LDCollapsibleTanstackTable.js +17 -27
  241. package/dist/components/LDTable/LDTable.d.ts +4 -5
  242. package/dist/components/LDTable/LDTable.d.ts.map +1 -1
  243. package/dist/components/LDTable/LDTable.js +7 -7
  244. package/dist/components/LDTable/LDTanstackTable.d.ts +4 -5
  245. package/dist/components/LDTable/LDTanstackTable.d.ts.map +1 -1
  246. package/dist/components/LDTable/LDTanstackTable.js +11 -18
  247. package/dist/components/LDTable/TableBase.d.ts +1 -1
  248. package/dist/components/LDTable/TableBase.d.ts.map +1 -1
  249. package/dist/components/LDTabs/LDTabs.d.ts +1 -1
  250. package/dist/components/LDTabs/LDTabs.d.ts.map +1 -1
  251. package/dist/components/LDTabs/LDTabs.js +15 -15
  252. package/dist/components/LDTabs/TabsBase.d.ts +1 -1
  253. package/dist/components/LDTabs/TabsBase.d.ts.map +1 -1
  254. package/dist/components/LDTeamHistory/LDTeamHistory.js +3 -3
  255. package/dist/components/LDTeamHistory/TeamHistoryBase.d.ts.map +1 -1
  256. package/dist/components/LDTeamHistory/TeamHistoryBase.js +19 -10
  257. package/dist/components/LDTextarea/LDFormTextarea.d.ts +1 -1
  258. package/dist/components/LDTextarea/LDFormTextarea.d.ts.map +1 -1
  259. package/dist/components/LDTextarea/LDFormTextarea.js +3 -3
  260. package/dist/components/LDTextarea/LDTextarea.d.ts +5 -3
  261. package/dist/components/LDTextarea/LDTextarea.d.ts.map +1 -1
  262. package/dist/components/LDTextarea/LDTextarea.js +7 -5
  263. package/dist/components/LDTimePicker/LDFormTimePicker.d.ts +1 -1
  264. package/dist/components/LDTimePicker/LDFormTimePicker.d.ts.map +1 -1
  265. package/dist/components/LDTimePicker/LDFormTimePicker.js +3 -3
  266. package/dist/components/LDTimePicker/LDTimePicker.d.ts.map +1 -1
  267. package/dist/components/LDTimePicker/LDTimePicker.js +19 -20
  268. package/dist/components/LDToast/LDToast.js +2 -2
  269. package/dist/components/LDToggleButton/LDFormToggleButton.d.ts +1 -1
  270. package/dist/components/LDToggleButton/LDFormToggleButton.d.ts.map +1 -1
  271. package/dist/components/LDToggleButton/LDFormToggleButton.js +2 -2
  272. package/dist/components/LDToggleButton/LDToggleButton.d.ts +3 -1
  273. package/dist/components/LDToggleButton/LDToggleButton.d.ts.map +1 -1
  274. package/dist/components/LDToggleButton/LDToggleButton.js +1 -1
  275. package/dist/components/LDToggleButton/ToggleButtonBase.d.ts +1 -3
  276. package/dist/components/LDToggleButton/ToggleButtonBase.d.ts.map +1 -1
  277. package/dist/components/LDToggleButton/ToggleButtonBase.js +5 -14
  278. package/dist/components/LDTooltip/LDTooltip.d.ts.map +1 -1
  279. package/dist/components/LDTooltip/LDTooltip.js +2 -2
  280. package/dist/components/LDTooltip/TooltipBase.d.ts.map +1 -1
  281. package/dist/components/LDTooltip/TooltipBase.js +1 -1
  282. package/dist/components/RenderIcon/RenderIcon.d.ts +16 -0
  283. package/dist/components/RenderIcon/RenderIcon.d.ts.map +1 -0
  284. package/dist/components/RenderIcon/RenderIcon.js +27 -0
  285. package/dist/components/RenderIcon/RenderIcon.test.d.ts +2 -0
  286. package/dist/components/RenderIcon/RenderIcon.test.d.ts.map +1 -0
  287. package/dist/components/RenderIcon/RenderIcon.test.js +38 -0
  288. package/dist/components/Show/Show.d.ts +57 -0
  289. package/dist/components/Show/Show.d.ts.map +1 -0
  290. package/dist/components/Show/Show.js +15 -0
  291. package/dist/constants/file.d.ts +2 -0
  292. package/dist/constants/file.d.ts.map +1 -1
  293. package/dist/constants/file.js +2 -0
  294. package/dist/index.css +513 -389
  295. package/dist/index.d.ts +17 -20
  296. package/dist/index.d.ts.map +1 -1
  297. package/dist/index.js +11 -13
  298. package/dist/types/common.d.ts +1 -1
  299. package/dist/types/common.d.ts.map +1 -1
  300. package/dist/utils/cn.d.ts.map +1 -1
  301. package/dist/utils/cn.js +10 -0
  302. package/dist/utils/date.d.ts +4 -0
  303. package/dist/utils/date.d.ts.map +1 -0
  304. package/dist/utils/date.js +7 -0
  305. package/dist/utils/file.d.ts +1 -1
  306. package/dist/utils/file.d.ts.map +1 -1
  307. package/dist/utils/file.js +6 -4
  308. package/dist/utils/tv.d.ts +9 -4
  309. package/dist/utils/tv.d.ts.map +1 -1
  310. package/dist/utils/tv.js +8 -3
  311. package/dist/utils/useIsomorphicLayoutEffect.d.ts.map +1 -0
  312. package/dist/utils/useIsomorphicLayoutEffect.js +7 -0
  313. package/package.json +36 -30
  314. package/src/styles/carousel.css +11 -0
  315. package/src/styles/color.css +5 -5
  316. package/src/styles/components/bread-crumb.css +0 -30
  317. package/src/styles/components/icon.css +23 -25
  318. package/src/styles/components/input.css +0 -25
  319. package/src/styles/motion.css +0 -27
  320. package/src/styles/slider.css +14 -8
  321. package/dist/components/LDButton/ButtonSpinner.d.ts +0 -8
  322. package/dist/components/LDButton/ButtonSpinner.d.ts.map +0 -1
  323. package/dist/components/LDButton/ButtonSpinner.js +0 -15
  324. package/dist/components/LDLNB/LDLNBBase.d.ts.map +0 -1
  325. package/dist/components/LDSegmented/useIsomorphicLayoutEffect.d.ts.map +0 -1
  326. package/dist/components/LDSegmented/useIsomorphicLayoutEffect.js +0 -5
  327. package/dist/components/LDTable/TableField.d.ts.map +0 -1
  328. package/dist/utils/renderIcon.d.ts +0 -3
  329. package/dist/utils/renderIcon.d.ts.map +0 -1
  330. package/dist/utils/renderIcon.js +0 -12
  331. /package/dist/{components/LDSegmented → utils}/useIsomorphicLayoutEffect.d.ts +0 -0
@@ -1,7 +1,144 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import LDAutoCompleteBase from './AutoCompleteBase.js';
4
- const LDAutoComplete = ({ displayField, subFields, onChange, onSelectedItem, placeholder, size, emptyMessage, className, inputClassName, listClassName, ref, }) => {
5
- return (_jsxs(LDAutoCompleteBase.Root, { displayField: displayField, subFields: subFields, onChange: onChange, onSelectedItem: onSelectedItem, className: className, ref: ref, children: [_jsx(LDAutoCompleteBase.Input, { placeholder: placeholder, size: size, className: inputClassName }), _jsx(LDAutoCompleteBase.List, { size: size, className: listClassName, emptyMessage: emptyMessage })] }));
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import AutoCompleteBase, { getItemValue, useAutoCompleteContext, } from '../../components/LDAutoComplete/AutoCompleteBase.js';
4
+ import LDSpinner from '../../components/LDSpinner/LDSpinner.js';
5
+ import RenderIcon from '../../components/RenderIcon/RenderIcon.js';
6
+ import cn from '../../utils/cn.js';
7
+ import tv from '../../utils/tv.js';
8
+ const inputVariants = tv({
9
+ base: 'w-full rounded-[5px] border-transparent outline-2 -outline-offset-2 ld-transition',
10
+ variants: {
11
+ size: {
12
+ '2xsmall': 'input-2xs [--ac-prefix-ps:calc(var(--control-padding-x-input-2xs)*2+var(--control-icon-2xs))]',
13
+ xsmall: 'input-xs [--ac-prefix-ps:calc(var(--control-padding-x-input-xs)*2+var(--control-icon-xs))]',
14
+ small: 'input-sm [--ac-prefix-ps:calc(var(--control-padding-x-input-sm)*2+var(--control-icon-sm))]',
15
+ medium: 'input-md [--ac-prefix-ps:calc(var(--control-padding-x-input-md)*2+var(--control-icon-md))]',
16
+ large: 'input-lg [--ac-prefix-ps:calc(var(--control-padding-x-input-lg)*2+var(--control-icon-lg))]',
17
+ xlarge: 'input-xl [--ac-prefix-ps:calc(var(--control-padding-x-input-xl)*2+var(--control-icon-xl))]',
18
+ },
19
+ // 활성 스타일은 드롭다운 open이 아니라 입력창 포커스에 따라 적용된다.
20
+ variant: {
21
+ filled: 'bg-neutral50 outline-transparent focus:bg-tintBlue focus:outline-lb500',
22
+ outline: 'bg-transparent outline-neutral100 focus:outline-lb500',
23
+ ghost: 'bg-transparent outline-transparent focus:bg-neutral50',
24
+ },
25
+ prefix: { true: 'peer' },
26
+ hasValue: { true: '' },
27
+ shadow: { true: 'shadow-[0_0_20px_0_rgba(0,0,0,0.10)]' },
28
+ },
29
+ compoundVariants: [
30
+ // 아이콘이 실제로 보일 때만 자리를 비운다. 값 여부는 query로, 포커스 여부는
31
+ // not-focus로 판단한다. 자리가 사라지면서 캐럿이 아이콘이 있던 위치로 이동한다.
32
+ {
33
+ prefix: true,
34
+ hasValue: false,
35
+ className: 'not-focus:ps-[var(--ac-prefix-ps)]',
36
+ },
37
+ ],
38
+ });
39
+ const prefixIconVariants = tv({
40
+ base: 'pointer-events-none absolute top-1/2 -translate-y-1/2 text-neutral500 ld-transition peer-focus:opacity-0',
41
+ variants: {
42
+ size: {
43
+ '2xsmall': 'left-[var(--control-padding-x-input-2xs)] size-[var(--control-icon-2xs)]',
44
+ xsmall: 'left-[var(--control-padding-x-input-xs)] size-[var(--control-icon-xs)]',
45
+ small: 'left-[var(--control-padding-x-input-sm)] size-[var(--control-icon-sm)]',
46
+ medium: 'left-[var(--control-padding-x-input-md)] size-[var(--control-icon-md)]',
47
+ large: 'left-[var(--control-padding-x-input-lg)] size-[var(--control-icon-lg)]',
48
+ xlarge: 'left-[var(--control-padding-x-input-xl)] size-[var(--control-icon-xl)]',
49
+ },
50
+ // 값이 차면 포커스가 빠져도 계속 숨긴다. placeholder 유무에 의존하지 않도록
51
+ // :placeholder-shown 대신 Context의 query로 판단한다.
52
+ hasValue: { true: 'opacity-0' },
53
+ },
54
+ });
55
+ const dropdownVariants = tv({
56
+ base: 'absolute left-0 z-40 mt-1 h-45 w-full overflow-y-auto rounded-[5px] border border-mono300 bg-white shadow-md ld-transition',
57
+ variants: {
58
+ size: {
59
+ '2xsmall': 'autocomplete-2xs',
60
+ xsmall: 'autocomplete-xs',
61
+ small: 'autocomplete-sm',
62
+ medium: 'autocomplete-md',
63
+ large: 'autocomplete-lg',
64
+ xlarge: 'autocomplete-xl',
65
+ },
66
+ open: {
67
+ true: 'pointer-events-auto visible opacity-100',
68
+ false: 'pointer-events-none invisible opacity-0',
69
+ },
70
+ },
71
+ });
72
+ /** 검색 상태와 외부 클릭 닫기를 관리하는 Styled Compound 루트입니다. */
73
+ const Root = ({ className, ...props }) => (_jsx(AutoCompleteBase.Root, { className: cn('relative w-full', className), ...props }));
74
+ /**
75
+ * 검색어를 입력받는 combobox 입력창입니다.
76
+ * `prefixIcon`은 값이 없고 포커스도 없을 때만 표시됩니다. 포커스하거나 값이 차면
77
+ * 사라지면서 캐럿이 아이콘이 있던 자리로 이동합니다.
78
+ */
79
+ const Input = ({ size = 'medium', variant = 'filled', showShadow = false, prefixIcon, className, ...props }) => {
80
+ const { query } = useAutoCompleteContext();
81
+ const hasValue = Boolean(query);
82
+ return (_jsxs(_Fragment, { children: [_jsx(AutoCompleteBase.Input, { className: inputVariants({
83
+ size,
84
+ variant,
85
+ prefix: Boolean(prefixIcon),
86
+ hasValue,
87
+ shadow: showShadow,
88
+ className,
89
+ }), ...props }), _jsx(RenderIcon, { className: prefixIconVariants({ size, hasValue }), children: prefixIcon })] }));
6
90
  };
91
+ /** 입력창 아래에 떠서 목록과 빈 상태를 담는 드롭다운 컨테이너입니다. */
92
+ const Dropdown = ({ size = 'medium', className, ...props }) => {
93
+ const { isOpen } = useAutoCompleteContext();
94
+ return (_jsx("div", { className: dropdownVariants({ size, open: isOpen, className }), ...props }));
95
+ };
96
+ /** 옵션을 나열하는 listbox입니다. 항목은 `renderItem`으로 그립니다. */
97
+ const List = ({ className, ...props }) => {
98
+ const { options } = useAutoCompleteContext();
99
+ return (_jsx(AutoCompleteBase.List, { className: cn('ld-transition', options.length > 0 ? 'visible opacity-100' : 'invisible opacity-0', className), ...props }));
100
+ };
101
+ /** 옵션 한 줄입니다. children을 주지 않으면 displayField와 subFields를 그립니다. */
102
+ const Item = ({ item, index, className, children, ...props }) => {
103
+ const { displayField, subFields, focusedIdx } = useAutoCompleteContext();
104
+ const secondary = subFields
105
+ ?.map((field) => String(getItemValue(item, field) ?? ''))
106
+ .filter(Boolean)
107
+ .join(' / ');
108
+ return (_jsx(AutoCompleteBase.Item, { item: item, index: index, className: cn('autocomplete-item flex cursor-pointer flex-col border-b border-mono300 ld-transition', focusedIdx === index ? 'bg-tintBlue' : 'hover:bg-mono100', className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsx(ItemPrimary, { children: String(getItemValue(item, displayField) ?? '') }), secondary && _jsx(ItemSecondary, { children: secondary })] })) }));
109
+ };
110
+ /** 항목의 주 텍스트입니다. */
111
+ const ItemPrimary = ({ className, ...props }) => (_jsx("div", { className: cn('truncate text-black', className), ...props }));
112
+ /** 항목의 보조 텍스트입니다. */
113
+ const ItemSecondary = ({ className, ...props }) => (_jsx("span", { className: cn('autocomplete-secondary truncate text-neutral500', className), ...props }));
114
+ /** 조회 결과가 없을 때의 영역입니다. 조회 중에는 스피너를 대신 표시합니다. */
115
+ // LDSpinner는 폰트 크기(1em) 기준으로 사이징되므로 size 프리셋을 아이콘 크기 클래스로 옮긴다.
116
+ const spinnerVariants = tv({
117
+ variants: {
118
+ size: {
119
+ '2xsmall': 'icon-2xs',
120
+ xsmall: 'icon-xs',
121
+ small: 'icon-sm',
122
+ medium: 'icon-md',
123
+ large: 'icon-lg',
124
+ xlarge: 'icon-xl',
125
+ },
126
+ },
127
+ });
128
+ const Empty = ({ size = 'medium', className, children, ...props }) => {
129
+ const { options, isLoading } = useAutoCompleteContext();
130
+ return (_jsx("div", { className: cn('flex items-center justify-center text-neutral500 transition-opacity duration-300 ease-in-out', options.length === 0
131
+ ? 'visible h-full opacity-100'
132
+ : 'invisible h-0 opacity-0', className), ...props, children: isLoading ? (_jsx(LDSpinner, { className: cn(spinnerVariants({ size }), 'text-lb500!') })) : (children) }));
133
+ };
134
+ /** 입력창과 목록을 props로 구성하는 Styled Single 컴포넌트입니다. */
135
+ const LDAutoComplete = ({ displayField, subFields, onChange, onSelectedItem, placeholder, prefixIcon, size, variant, showShadow, emptyMessage = '조회하신 데이터가 없습니다.', className, inputClassName, listClassName, ref, }) => (_jsxs(Root, { displayField: displayField, subFields: subFields, onChange: onChange, onSelectedItem: onSelectedItem, className: className, ref: ref, children: [_jsx(Input, { placeholder: placeholder, prefixIcon: prefixIcon, size: size, variant: variant, showShadow: showShadow, className: inputClassName }), _jsxs(Dropdown, { size: size, className: listClassName, children: [_jsx(List, { renderItem: (item, index) => (_jsx(Item, { item: item, index: index }, item.id)) }), _jsx(Empty, { size: size, children: emptyMessage })] })] }));
136
+ LDAutoComplete.Root = Root;
137
+ LDAutoComplete.Input = Input;
138
+ LDAutoComplete.Dropdown = Dropdown;
139
+ LDAutoComplete.List = List;
140
+ LDAutoComplete.Item = Item;
141
+ LDAutoComplete.ItemPrimary = ItemPrimary;
142
+ LDAutoComplete.ItemSecondary = ItemSecondary;
143
+ LDAutoComplete.Empty = Empty;
7
144
  export default LDAutoComplete;
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDAvatar/AvatarBase.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAIf,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAChD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAC;CACtE;AAID,eAAO,MAAM,gBAAgB,yBAO5B,CAAC;AAGF,UAAU,SAAS;IACjB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAiCD,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqBD,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA6BD,eAAO,MAAM,UAAU;gDA3F4B,SAAS;+CAsCC,UAAU;iDA0Bf,aAAa;CA+BpE,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"AvatarBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDAvatar/AvatarBase.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAKf,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAChD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAC;CACtE;AAID,eAAO,MAAM,gBAAgB,yBAO5B,CAAC;AAGF,UAAU,SAAS;IACjB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAiCD,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqBD,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA6BD,eAAO,MAAM,UAAU;gDA3F4B,SAAS;+CAsCC,UAAU;iDA0Bf,aAAa;CA+BpE,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { createContext, useContext, useState, useEffect, } from 'react';
3
+ import { createContext, useContext, useEffect, useState, } from 'react';
4
4
  import cn from '../../utils/cn.js';
5
5
  const AvatarContext = createContext(null);
6
6
  export const useAvatarContext = () => {
@@ -24,7 +24,7 @@ const Image = ({ alt = 'avatar', width, height, className }) => {
24
24
  const { src, status, setStatus } = useAvatarContext();
25
25
  if (!src || status === 'error')
26
26
  return null;
27
- return (_jsx("img", { src: src, alt: alt, width: width, height: height, onLoad: () => setStatus('loaded'), onError: () => setStatus('error'), className: cn('aspect-square h-full w-full object-cover', className) }));
27
+ return (_jsx("img", { src: src, alt: alt, width: width, height: height, onLoad: () => setStatus('loaded'), onError: () => setStatus('error'), className: cn('aspect-square size-full object-cover', className) }));
28
28
  };
29
29
  const Fallback = ({ className, children, delayMs = 0 }) => {
30
30
  const { status } = useAvatarContext();
@@ -39,7 +39,7 @@ const Fallback = ({ className, children, delayMs = 0 }) => {
39
39
  }, [delayMs]);
40
40
  if (status === 'loaded' || !show)
41
41
  return null;
42
- return (_jsx("span", { className: cn('flex h-full w-full items-center justify-center rounded-full', className), children: children }));
42
+ return (_jsx("span", { className: cn('flex size-full items-center justify-center rounded-full', className), children: children }));
43
43
  };
44
44
  export const AvatarBase = {
45
45
  Root,
@@ -1,4 +1,6 @@
1
- type AvatarSize = '2xsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
1
+ import type { Size } from '../../types/common.js';
2
+ import type { Subset } from '../../types/subset.js';
3
+ export type AvatarSize = Subset<Size, '2xsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'>;
2
4
  export interface LDAvatarProps {
3
5
  src?: string | null;
4
6
  alt?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"LDAvatar.d.ts","sourceRoot":"","sources":["../../../src/components/LDAvatar/LDAvatar.tsx"],"names":[],"mappings":"AAKA,KAAK,UAAU,GACX,SAAS,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,CAAC;AA8Bb,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,QAAA,MAAM,QAAQ,GAAI,uCAMf,aAAa,4CAef,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"LDAvatar.d.ts","sourceRoot":"","sources":["../../../src/components/LDAvatar/LDAvatar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI7C,MAAM,MAAM,UAAU,GAAG,MAAM,CAC7B,IAAI,EACJ,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAC/D,CAAC;AA0CF,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,QAAA,MAAM,QAAQ,GAAI,uCAMf,aAAa,4CAiBf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,33 +1,46 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { UserRound } from 'lucide-react';
3
- import AvatarBase from './AvatarBase.js';
4
- import cn from '../../utils/cn.js';
5
- const SIZE_MAP = {
6
- '2xsmall': 'w-2 h-2',
7
- xsmall: 'w-4 h-4',
8
- small: 'w-6 h-6',
9
- medium: 'w-8 h-8',
10
- large: 'w-12 h-12',
11
- xlarge: 'w-16 h-16',
12
- };
3
+ import AvatarBase from '../../components/LDAvatar/AvatarBase.js';
4
+ import RenderIcon from '../../components/RenderIcon/RenderIcon.js';
5
+ import tv from '../../utils/tv.js';
6
+ // next/image 최적화는 숫자 width·height 를 요구하므로 클래스 맵과 별도로 유지한다.
7
+ // rootVariants 의 size-* 와 같은 px 값이어야 한다.
13
8
  const IMAGE_SIZE_MAP = {
14
- '2xsmall': 8,
9
+ '2xsmall': 14,
15
10
  xsmall: 16,
16
11
  small: 24,
17
12
  medium: 32,
18
13
  large: 48,
19
14
  xlarge: 64,
20
15
  };
21
- const ICON_SIZE_MAP = {
22
- '2xsmall': 5,
23
- xsmall: 10,
24
- small: 15,
25
- medium: 20,
26
- large: 30,
27
- xlarge: 40,
28
- };
16
+ const rootVariants = tv({
17
+ variants: {
18
+ size: {
19
+ '2xsmall': 'size-3.5',
20
+ xsmall: 'size-4',
21
+ small: 'size-6',
22
+ medium: 'size-8',
23
+ large: 'size-12',
24
+ xlarge: 'size-16',
25
+ },
26
+ },
27
+ });
28
+ // Fallback 아이콘은 텍스트 없이 단독 렌더되므로 크기를 tv로 고정한다.
29
+ const iconVariants = tv({
30
+ base: 'text-mono400',
31
+ variants: {
32
+ size: {
33
+ '2xsmall': 'size-2.5',
34
+ xsmall: 'size-3',
35
+ small: 'size-4',
36
+ medium: 'size-5.5',
37
+ large: 'size-7.5',
38
+ xlarge: 'size-10',
39
+ },
40
+ },
41
+ });
29
42
  const LDAvatar = ({ src, alt = 'avatar', size = 'small', className, style, }) => {
30
43
  const px = IMAGE_SIZE_MAP[size];
31
- return (_jsxs(AvatarBase.Root, { src: src, style: style, className: cn(SIZE_MAP[size], className), children: [_jsx(AvatarBase.Image, { alt: alt, width: px, height: px }), _jsx(AvatarBase.Fallback, { className: "bg-mono100", children: _jsx(UserRound, { size: ICON_SIZE_MAP[size], className: "text-mono400" }) })] }));
44
+ return (_jsxs(AvatarBase.Root, { src: src, style: style, className: rootVariants({ size, className }), children: [_jsx(AvatarBase.Image, { alt: alt, width: px, height: px }), _jsx(AvatarBase.Fallback, { className: "bg-mono100", children: _jsx(RenderIcon, { className: iconVariants({ size }), children: _jsx(UserRound, {}) }) })] }));
32
45
  };
33
46
  export default LDAvatar;
@@ -1 +1 @@
1
- {"version":3,"file":"BadgeBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDBadge/BadgeBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAItE,UAAU,SAAU,SAAQ,cAAc,CAAC,eAAe,CAAC;IACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;CAC5B;AAcD,eAAO,MAAM,SAAS;mDAZgC,SAAS;CAc9D,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"BadgeBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDBadge/BadgeBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAKtE,UAAU,SAAU,SAAQ,cAAc,CAAC,eAAe,CAAC;IACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;CAC5B;AAcD,eAAO,MAAM,SAAS;mDAZgC,SAAS;CAc9D,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,6 +1,9 @@
1
- import { type ReactNode } from 'react';
2
- type BadgeSize = 'xsmall' | 'small' | 'medium' | 'large';
3
- type BadgeColor = 'orange' | 'fillOrange' | 'red' | 'fillRed' | 'green' | 'fillGreen' | 'blue' | 'fillBlue' | 'yellow' | 'fillYellow' | 'gray' | 'fillGray';
1
+ import { type CSSProperties, type ReactNode } from 'react';
2
+ import type { Color, Size } from '../../types/common.js';
3
+ import type { Subset } from '../../types/subset.js';
4
+ type BadgeSize = Subset<Size, 'xsmall' | 'small' | 'medium' | 'large'>;
5
+ type BadgeTint = Subset<Color, 'orange' | 'red' | 'green' | 'blue' | 'yellow' | 'gray'>;
6
+ type BadgeColor = BadgeTint | `fill${Capitalize<BadgeTint>}`;
4
7
  export interface LDBadgeProps {
5
8
  /** 뱃지 사이즈 */
6
9
  size?: BadgeSize;
@@ -15,7 +18,7 @@ export interface LDBadgeProps {
15
18
  /** 추가 CSS 클래스 */
16
19
  className?: string;
17
20
  /** 인라인 스타일 */
18
- style?: React.CSSProperties;
21
+ style?: CSSProperties;
19
22
  }
20
23
  declare const LDBadge: ({ size, color, leftIcon, rightIcon, children, className, style, }: LDBadgeProps) => import("react/jsx-runtime").JSX.Element;
21
24
  export default LDBadge;
@@ -1 +1 @@
1
- {"version":3,"file":"LDBadge.d.ts","sourceRoot":"","sources":["../../../src/components/LDBadge/LDBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,KAAK,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACzD,KAAK,UAAU,GACX,QAAQ,GACR,YAAY,GACZ,KAAK,GACL,SAAS,GACT,OAAO,GACP,WAAW,GACX,MAAM,GACN,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,MAAM,GACN,UAAU,CAAC;AAEf,MAAM,WAAW,YAAY;IAC3B,aAAa;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,aAAa;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY;IACZ,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AA+BD,QAAA,MAAM,OAAO,GAAI,mEAQd,YAAY,4CAkBd,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"LDBadge.d.ts","sourceRoot":"","sources":["../../../src/components/LDBadge/LDBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,KAAK,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;AACvE,KAAK,SAAS,GAAG,MAAM,CACrB,KAAK,EACL,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CACxD,CAAC;AACF,KAAK,UAAU,GAAG,SAAS,GAAG,OAAO,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,aAAa;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,aAAa;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY;IACZ,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AA4BD,QAAA,MAAM,OAAO,GAAI,mEAQd,YAAY,4CAed,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,35 +1,37 @@
1
- import { jsxs as _jsxs } from "react/jsx-runtime";
2
- import BadgeBase from './BadgeBase.js';
3
- import cn from '../../utils/cn.js';
4
- import { renderIcon } from '../../utils/renderIcon.js';
5
- const colorClasses = {
6
- orange: 'bg-tintOrange text-orange500',
7
- fillOrange: 'bg-orange400 text-white',
8
- green: 'bg-tintGreen text-green700',
9
- fillGreen: 'bg-success600 text-white',
10
- red: 'bg-tintRed text-red200',
11
- fillRed: 'bg-danger600 text-white',
12
- blue: 'bg-tintBlue text-blue200',
13
- fillBlue: 'bg-accept600 text-white',
14
- yellow: 'bg-tintYellow text-yellow700',
15
- fillYellow: 'bg-warning600 text-white',
16
- gray: 'bg-mono200 text-neutral800',
17
- fillGray: 'bg-neutral200 text-white',
18
- };
19
- const sizeClasses = {
20
- xsmall: 'badge-xs',
21
- small: 'badge-sm',
22
- medium: 'badge-md',
23
- large: 'badge-lg',
24
- };
25
- const iconSizes = {
26
- xsmall: 'icon-xs',
27
- small: 'icon-sm',
28
- medium: 'icon-md',
29
- large: 'icon-lg',
30
- };
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import BadgeBase from '../../components/LDBadge/BadgeBase.js';
3
+ import RenderIcon from '../../components/RenderIcon/RenderIcon.js';
4
+ import tv from '../../utils/tv.js';
5
+ const badgeVariants = tv({
6
+ base: 'w-auto border border-transparent text-center whitespace-nowrap',
7
+ variants: {
8
+ color: {
9
+ orange: 'bg-tintOrange text-orange500',
10
+ fillOrange: 'bg-orange400 text-white',
11
+ green: 'bg-tintGreen text-green700',
12
+ fillGreen: 'bg-success600 text-white',
13
+ red: 'bg-tintRed text-red200',
14
+ fillRed: 'bg-danger600 text-white',
15
+ blue: 'bg-tintBlue text-blue200',
16
+ fillBlue: 'bg-accept600 text-white',
17
+ yellow: 'bg-tintYellow text-yellow700',
18
+ fillYellow: 'bg-warning600 text-white',
19
+ gray: 'bg-mono200 text-neutral800',
20
+ fillGray: 'bg-neutral200 text-white',
21
+ },
22
+ size: {
23
+ xsmall: 'badge-xs',
24
+ small: 'badge-sm',
25
+ medium: 'badge-md',
26
+ large: 'badge-lg',
27
+ },
28
+ },
29
+ });
31
30
  const LDBadge = ({ size = 'small', color = 'blue', leftIcon, rightIcon, children, className, style, }) => {
32
- const iconSize = iconSizes[size];
33
- return (_jsxs(BadgeBase.Root, { className: cn('w-auto text-center whitespace-nowrap border border-transparent', colorClasses[color] ?? color, sizeClasses[size], className), style: style, children: [renderIcon(leftIcon, iconSize), children, renderIcon(rightIcon, iconSize)] }));
31
+ return (_jsxs(BadgeBase.Root, { className: badgeVariants({
32
+ size,
33
+ color,
34
+ className,
35
+ }), style: style, children: [_jsx(RenderIcon, { children: leftIcon }), children, _jsx(RenderIcon, { children: rightIcon })] }));
34
36
  };
35
37
  export default LDBadge;
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
- export declare const LDBreadCrumb: {
2
+ export declare const BreadCrumbBase: {
3
3
  Root: ({ className, ...props }: React.ComponentProps<"nav">) => import("react/jsx-runtime").JSX.Element;
4
4
  List: ({ className, ...props }: React.ComponentProps<"ol">) => import("react/jsx-runtime").JSX.Element;
5
5
  Item: ({ className, children, ...props }: React.ComponentProps<"li">) => import("react/jsx-runtime").JSX.Element;
6
+ Page: ({ className, ...props }: React.ComponentProps<"span">) => import("react/jsx-runtime").JSX.Element;
6
7
  Separator: ({ children, className, ...props }: React.ComponentProps<"li">) => import("react/jsx-runtime").JSX.Element;
7
8
  };
8
- export default LDBreadCrumb;
9
+ export default BreadCrumbBase;
9
10
  //# sourceMappingURL=BreadCrumbBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BreadCrumbBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDBreadCrumb/BreadCrumbBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA8C/B,eAAO,MAAM,YAAY;oCA1Cc,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;oCAI3B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;8CAU9D,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;mDAY1B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;CAgB8B,CAAC;AAE5D,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"BreadCrumbBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDBreadCrumb/BreadCrumbBase.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwD/B,eAAO,MAAM,cAAc;oCApDY,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;oCAI3B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;8CAU9D,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;oCAQU,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;mDAchE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;CAgBsC,CAAC;AAEpE,eAAe,cAAc,CAAC"}
@@ -10,8 +10,11 @@ const List = ({ className, ...props }) => {
10
10
  const Item = ({ className, children, ...props }) => {
11
11
  return (_jsx("li", { className: cn('inline-flex items-center', className), ...props, children: children }));
12
12
  };
13
+ const Page = ({ className, ...props }) => {
14
+ return (_jsx("span", { "aria-current": "page", className: cn('inline-flex items-center', className), ...props }));
15
+ };
13
16
  const Separator = ({ children, className, ...props }) => {
14
- return (_jsx("li", { role: "presentation", "aria-hidden": "true", className: cn('inline-flex items-center justify-center text-neutral700 [&>svg]:shrink-0', className), ...props, children: children ?? _jsx(ChevronRightIcon, {}) }));
17
+ return (_jsx("li", { role: "presentation", "aria-hidden": "true", className: cn('inline-flex items-center justify-center [&>svg]:shrink-0', className), ...props, children: children ?? _jsx(ChevronRightIcon, {}) }));
15
18
  };
16
- export const LDBreadCrumb = { Root, List, Item, Separator };
17
- export default LDBreadCrumb;
19
+ export const BreadCrumbBase = { Root, List, Item, Page, Separator };
20
+ export default BreadCrumbBase;
@@ -1,9 +1,14 @@
1
1
  import { type ReactNode } from 'react';
2
- import { type ButtonSize } from '../LDButton/LDButton.js';
2
+ import { type ButtonSize } from '../../components/LDButton/LDButton.js';
3
3
  export interface LDBreadCrumbItem {
4
+ /** 항목에 표시할 텍스트 */
4
5
  label: string;
6
+ /** 링크 주소. 없으면 현재 위치로 보고 링크 대신 텍스트로 렌더한다 */
5
7
  href?: string;
8
+ /** 라벨 왼쪽 아이콘 (`lucide-react` 노드) */
6
9
  icon?: ReactNode;
10
+ /** 항목 className. 아이콘-라벨 간격(기본 `gap-0.5`) 등을 덮어쓸 때 쓴다 */
11
+ className?: string;
7
12
  }
8
13
  export interface LDBreadCrumbProps {
9
14
  items: LDBreadCrumbItem[];
@@ -11,6 +16,25 @@ export interface LDBreadCrumbProps {
11
16
  separator?: ReactNode;
12
17
  className?: string;
13
18
  }
14
- declare const LDBreadCrumb: ({ items, size, separator, className, }: LDBreadCrumbProps) => import("react/jsx-runtime").JSX.Element;
19
+ interface LDBreadCrumbLinkProps extends Omit<React.ComponentProps<'a'>, 'color'> {
20
+ size?: ButtonSize;
21
+ icon?: ReactNode;
22
+ }
23
+ interface LDBreadCrumbPageProps extends React.ComponentProps<'span'> {
24
+ size?: ButtonSize;
25
+ icon?: ReactNode;
26
+ }
27
+ interface LDBreadCrumbSeparatorProps extends React.ComponentProps<'li'> {
28
+ size?: ButtonSize;
29
+ }
30
+ declare const LDBreadCrumb: {
31
+ ({ items, size, separator, className, }: LDBreadCrumbProps): import("react/jsx-runtime").JSX.Element;
32
+ Root: ({ className, ...props }: React.ComponentProps<"nav">) => import("react/jsx-runtime").JSX.Element;
33
+ List: ({ className, ...props }: React.ComponentProps /** 항목에 표시할 텍스트 */<"ol">) => import("react/jsx-runtime").JSX.Element;
34
+ Item: ({ className, ...props }: React.ComponentProps<"li">) => import("react/jsx-runtime").JSX.Element;
35
+ Link: ({ size, icon, className, ...props }: LDBreadCrumbLinkProps) => import("react/jsx-runtime").JSX.Element;
36
+ Page: ({ size, icon, className, children, ...props }: LDBreadCrumbPageProps) => import("react/jsx-runtime").JSX.Element;
37
+ Separator: ({ size, className, ...props }: LDBreadCrumbSeparatorProps) => import("react/jsx-runtime").JSX.Element;
38
+ };
15
39
  export default LDBreadCrumb;
16
40
  //# sourceMappingURL=LDBreadCrumb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LDBreadCrumb.d.ts","sourceRoot":"","sources":["../../../src/components/LDBreadCrumb/LDBreadCrumb.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIjE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD,QAAA,MAAM,YAAY,GAAI,wCAKnB,iBAAiB,4CAiDnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"LDBreadCrumb.d.ts","sourceRoot":"","sources":["../../../src/components/LDBreadCrumb/LDBreadCrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAI3E,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD,UAAU,qBAAsB,SAAQ,IAAI,CAC1C,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EACzB,OAAO,CACR;IACC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;IAClE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,0BAA2B,SAAQ,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;IACrE,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAuDD,QAAA,MAAM,YAAY;6CAKf,iBAAiB;oCA5HQ,MAAO,cAAc;oCAIhC,MAAO,cACtB,CAAA,kBAAkB;oCA+DmB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;gDAS9D,qBAAqB;0DAqBrB,qBAAqB;+CAcrB,0BAA0B;CA4C5B,CAAC;AASF,eAAe,YAAY,CAAC"}
@@ -1,8 +1,8 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from 'react';
3
- import BreadCrumbBase from './BreadCrumbBase.js';
4
- import LDButton from '../LDButton/LDButton.js';
5
- import { renderIcon } from '../../utils/renderIcon.js';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Fragment } from 'react';
3
+ import BreadCrumbBase from '../../components/LDBreadCrumb/BreadCrumbBase.js';
4
+ import LDButton from '../../components/LDButton/LDButton.js';
5
+ import RenderIcon from '../../components/RenderIcon/RenderIcon.js';
6
6
  import cn from '../../utils/cn.js';
7
7
  const textSizeClasses = {
8
8
  '2xsmall': 'bread-crumb-2xs',
@@ -21,17 +21,26 @@ const iconSizeClasses = {
21
21
  xlarge: 'icon-xl',
22
22
  };
23
23
  const separatorIconSizeClasses = {
24
- '2xsmall': 'bread-crumb-sep-2xs',
25
- xsmall: 'bread-crumb-sep-xs',
26
- small: 'bread-crumb-sep-sm',
27
- medium: 'bread-crumb-sep-md',
28
- large: 'bread-crumb-sep-lg',
29
- xlarge: 'bread-crumb-sep-xl',
24
+ '2xsmall': '[&>svg]:icon-2xs',
25
+ xsmall: '[&>svg]:icon-xs',
26
+ small: '[&>svg]:icon-sm',
27
+ medium: '[&>svg]:icon-md',
28
+ large: '[&>svg]:icon-lg',
29
+ xlarge: '[&>svg]:icon-xl',
30
30
  };
31
+ // gap은 항목·구분자를 나란히 놓는 List(ol)가 담당한다.
32
+ // li의 자식은 Link 또는 Page 하나뿐이라 여기에 gap을 줘도 효과가 없다.
33
+ const Item = ({ className, ...props }) => (_jsx(BreadCrumbBase.Item, { className: className, ...props }));
34
+ const Link = ({ size = 'small', icon, className, ...props }) => (_jsx(LDButton, { as: "a", variant: "ghost", color: "neutral", size: size, leftIcon: icon, className: cn('flex h-auto min-w-0 flex-row gap-0.5 px-0 regular text-neutral700 hover:bg-transparent active:bg-transparent', className), ...props }));
35
+ const Page = ({ size = 'small', icon, className, children, ...props }) => (_jsxs(BreadCrumbBase.Page, { className: cn(textSizeClasses[size], 'gap-0.5 text-neutral700', className), ...props, children: [_jsx(RenderIcon, { className: iconSizeClasses[size], children: icon }), children] }));
36
+ const Separator = ({ size = 'small', className, ...props }) => (_jsx(BreadCrumbBase.Separator, { className: cn(separatorIconSizeClasses[size], 'text-neutral700', className), ...props }));
31
37
  const LDBreadCrumb = ({ items, size = 'small', separator, className, }) => {
32
- return (_jsx(BreadCrumbBase.Root, { children: _jsx(BreadCrumbBase.List, { className: className, children: items.map((item, index) => {
33
- const isCurrent = index === items.length - 1;
34
- return (_jsxs(React.Fragment, { children: [_jsx(BreadCrumbBase.Item, { className: "gap-xs", children: !item.href ? (_jsxs("span", { "aria-current": "page", className: cn(textSizeClasses[size], 'flex items-center text-neutral700 gap-0.5'), children: [renderIcon(item.icon, iconSizeClasses[size]), item.label] })) : (_jsx(LDButton, { as: "a", href: item.href, variant: "ghost", color: "neutral", size: size, leftIcon: item.icon, className: "h-auto px-0 min-w-0 hover:bg-transparent active:bg-transparent text-neutral700 regular flex flex-row gap-0.5", children: item.label })) }), !isCurrent && (_jsx(BreadCrumbBase.Separator, { className: separatorIconSizeClasses[size], children: separator }))] }, `${item.label}-${index}`));
35
- }) }) }));
38
+ return (_jsx(BreadCrumbBase.Root, { children: _jsx(BreadCrumbBase.List, { className: cn('gap-xs', className), children: items.map((item, index) => (_jsxs(Fragment, { children: [_jsx(Item, { children: item.href ? (_jsx(Link, { href: item.href, icon: item.icon, size: size, className: item.className, children: item.label })) : (_jsx(Page, { icon: item.icon, size: size, className: item.className, children: item.label })) }), index < items.length - 1 && (_jsx(Separator, { size: size, children: separator }))] }, `${item.label}-${index}`))) }) }));
36
39
  };
40
+ LDBreadCrumb.Root = BreadCrumbBase.Root;
41
+ LDBreadCrumb.List = BreadCrumbBase.List;
42
+ LDBreadCrumb.Item = Item;
43
+ LDBreadCrumb.Link = Link;
44
+ LDBreadCrumb.Page = Page;
45
+ LDBreadCrumb.Separator = Separator;
37
46
  export default LDBreadCrumb;
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDButton/ButtonBase.tsx"],"names":[],"mappings":"AAsCA,eAAO,MAAM,UAAU;UACP,KAAK,CAAC,WAAW;CAChC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ButtonBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDButton/ButtonBase.tsx"],"names":[],"mappings":"AAuCA,eAAO,MAAM,UAAU;UACP,KAAK,CAAC,WAAW;CAChC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { type ElementType } from 'react';
3
+ import type { Color, Size, Variant } from '../../types/common.js';
3
4
  import { PolymorphicComponentProps } from '../../types/polymorphic.js';
4
- type ButtonVariant = 'solid' | 'outline' | 'ghost' | 'link';
5
- type ButtonColor = 'neutral' | 'point' | 'danger';
6
- export type ButtonSize = '2xsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
5
+ import type { Subset } from '../../types/subset.js';
6
+ type ButtonVariant = Subset<Variant, 'solid' | 'outline' | 'ghost' | 'link'>;
7
+ export type ButtonColor = Subset<Color, 'neutral' | 'point' | 'danger'>;
8
+ export type ButtonSize = Subset<Size, '2xsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'>;
7
9
  type ButtonShape = 'default' | 'capsule';
8
10
  type ButtonAlign = 'left' | 'center' | 'right';
9
11
  type _ButtonProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"LDButton.d.ts","sourceRoot":"","sources":["../../../src/components/LDButton/LDButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AASpE,KAAK,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAC5D,KAAK,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAClD,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,CAAC;AACb,KAAK,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AACzC,KAAK,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAoO/C,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,WAAW,IAAI,yBAAyB,CAC1E,CAAC,EACD,YAAY,CACb,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,QAAQ,EAC5D,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KACpB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/B,QAAA,MAAM,QAAQ,EAAE,eAwDf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"LDButton.d.ts","sourceRoot":"","sources":["../../../src/components/LDButton/LDButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,OAAO,CAAC;AAMzC,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,KAAK,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;AAC7E,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,GAAG,MAAM,CAC7B,IAAI,EACJ,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAC/D,CAAC;AACF,KAAK,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AACzC,KAAK,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAgO/C,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,WAAW,IAAI,yBAAyB,CAC1E,CAAC,EACD,YAAY,CACb,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,QAAQ,EAC5D,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KACpB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/B,QAAA,MAAM,QAAQ,EAAE,eAyDf,CAAC;AAEF,eAAe,QAAQ,CAAC"}