@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,9 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import ButtonBase from '../../components/LDButton/ButtonBase.js';
3
+ import LDSpinner from '../../components/LDSpinner/LDSpinner.js';
4
+ import RenderIcon from '../../components/RenderIcon/RenderIcon.js';
5
+ import Show from '../../components/Show/Show.js';
2
6
  import cn from '../../utils/cn.js';
3
- import { renderIcon } from '../../utils/renderIcon.js';
4
7
  import tv from '../../utils/tv.js';
5
- import ButtonBase from './ButtonBase.js';
6
- import ButtonSpinner from './ButtonSpinner.js';
7
8
  // ── 스타일 매핑 (static) ──
8
9
  // 배경·테두리·텍스트 색은 variant × color 조합에서 갈리고, 거기에 disabled/loading 상태까지
9
10
  // 얹혀야 하므로 compoundVariants가 담당한다. 축 하나로 결정되는 값만 variants에 둔다.
@@ -20,9 +21,9 @@ const buttonVariants = tv({
20
21
  },
21
22
  // focus 링 색은 variant와 무관하게 color만 본다 (disabled일 때도 유지).
22
23
  color: {
23
- neutral: 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral800',
24
- point: 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-lb500',
25
- danger: 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-danger500',
24
+ neutral: 'focus-visible:ring-2 focus-visible:ring-neutral800 focus-visible:outline-none',
25
+ point: 'focus-visible:ring-2 focus-visible:ring-lb500 focus-visible:outline-none',
26
+ danger: 'focus-visible:ring-2 focus-visible:ring-danger500 focus-visible:outline-none',
26
27
  },
27
28
  size: {
28
29
  '2xsmall': 'btn-2xs',
@@ -43,7 +44,7 @@ const buttonVariants = tv({
43
44
  },
44
45
  block: { true: 'w-full' },
45
46
  // compact는 size 프리셋(btn-*)의 좌우 여백을 지우므로 size 뒤에 선언한다.
46
- compact: { true: 'px-0 min-w-0 aspect-square' },
47
+ compact: { true: 'aspect-square min-w-0 px-0' },
47
48
  loading: { true: 'cursor-wait', false: 'cursor-pointer' },
48
49
  // disabled 커서가 loading 커서를 이겨야 하므로 loading 뒤에 선언한다.
49
50
  disabled: { true: 'cursor-not-allowed' },
@@ -54,7 +55,7 @@ const buttonVariants = tv({
54
55
  variant: 'solid',
55
56
  color: 'neutral',
56
57
  disabled: false,
57
- className: 'bg-neutral800 text-white',
58
+ className: 'bg-black text-white',
58
59
  },
59
60
  {
60
61
  variant: 'solid',
@@ -72,19 +73,19 @@ const buttonVariants = tv({
72
73
  variant: 'outline',
73
74
  color: 'neutral',
74
75
  disabled: false,
75
- className: 'bg-white outline-neutral100 text-neutral900',
76
+ className: 'bg-white text-neutral900 outline-neutral100',
76
77
  },
77
78
  {
78
79
  variant: 'outline',
79
80
  color: 'point',
80
81
  disabled: false,
81
- className: 'bg-white outline-lb500 text-lb500',
82
+ className: 'bg-white text-lb500 outline-lb500',
82
83
  },
83
84
  {
84
85
  variant: 'outline',
85
86
  color: 'danger',
86
87
  disabled: false,
87
- className: 'bg-white outline-danger500 text-danger500',
88
+ className: 'bg-white text-danger500 outline-danger500',
88
89
  },
89
90
  // ghost와 link는 배경이 없어 기본 색이 동일하다 (link의 밑줄은 variant 축이 담당)
90
91
  {
@@ -112,7 +113,7 @@ const buttonVariants = tv({
112
113
  color: 'neutral',
113
114
  disabled: false,
114
115
  loading: false,
115
- className: 'hover:bg-neutral900 active:bg-neutral900',
116
+ className: 'hover:bg-neutral800 active:bg-neutral800',
116
117
  },
117
118
  {
118
119
  variant: 'solid',
@@ -209,21 +210,7 @@ const buttonVariants = tv({
209
210
  },
210
211
  ],
211
212
  });
212
- // leftIcon/rightIcon(svg) 크기. 버튼 자체가 아니라 아이콘 엘리먼트에 붙으므로 별도 tv()다.
213
- const iconVariants = tv({
214
- variants: {
215
- size: {
216
- '2xsmall': 'icon-2xs',
217
- xsmall: 'icon-xs',
218
- small: 'icon-sm',
219
- medium: 'icon-md',
220
- large: 'icon-lg',
221
- xlarge: 'icon-xl',
222
- },
223
- },
224
- });
225
213
  const LDButton = ({ as, variant = 'solid', color = 'point', size = 'small', shape = 'default', align = 'center', loading = false, block = false, children, className, leftIcon, rightIcon, compact = false, ref, ...props }) => {
226
- const iconSize = iconVariants({ size });
227
214
  return (_jsxs(ButtonBase.Root, { as: as, ref: ref, className: buttonVariants({
228
215
  variant,
229
216
  color,
@@ -236,6 +223,6 @@ const LDButton = ({ as, variant = 'solid', color = 'point', size = 'small', shap
236
223
  // 미지정도 false 분기(기본 색·hover)를 타야 하므로 boolean으로 좁혀 넘긴다.
237
224
  disabled: !!props.disabled,
238
225
  className,
239
- }), ...props, disabled: props.disabled || loading, children: [loading ? (_jsx(ButtonSpinner, { size: size, className: "mobile:absolute mobile:left-1/2 mobile:top-1/2 mobile:-translate-x-1/2 mobile:-translate-y-1/2" })) : (renderIcon(leftIcon, iconSize)), children && (_jsx("span", { className: cn('shrink-0', loading && 'mobile:invisible'), children: children })), renderIcon(rightIcon, iconSize, loading && 'mobile:invisible')] }));
226
+ }), ...props, disabled: props.disabled || loading, children: [_jsx(Show, { when: !loading, fallback: _jsx(LDSpinner, { className: "mobile:absolute mobile:top-1/2 mobile:left-1/2 mobile:-translate-1/2" }), children: _jsx(RenderIcon, { children: leftIcon }) }), _jsx(Show, { when: children, children: _jsx("span", { className: cn('shrink-0', loading && 'mobile:invisible'), children: children }) }), _jsx(RenderIcon, { className: cn(loading && 'mobile:invisible'), children: rightIcon })] }));
240
227
  };
241
228
  export default LDButton;
@@ -1,5 +1,5 @@
1
- import { type DayPickerProps, type Matcher } from 'react-day-picker';
2
1
  import { type CSSProperties } from 'react';
2
+ import { type DayPickerProps, type Matcher } from 'react-day-picker';
3
3
  /** react-day-picker의 DayPickerProps를 확장한 캘린더 Base props */
4
4
  export type CalendarBaseProps = DayPickerProps & {
5
5
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCalendar/CalendarBase.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,OAAO,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,OAAO,CAAC;AAIf,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,YAAY,GAAI,6HAYnB,iBAAiB,4CAmDnB,CAAC;AA0EF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"CalendarBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCalendar/CalendarBase.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,aAAa,EAGnB,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,OAAO,EACb,MAAM,kBAAkB,CAAC;AAI1B,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,YAAY,GAAI,6HAYnB,iBAAiB,4CA8BnB,CAAC;AA+GF,eAAe,YAAY,CAAC"}
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ChevronDown, ChevronLeft, ChevronRight } from 'lucide-react';
4
+ import { useEffect, useRef, } from 'react';
3
5
  import { DayPicker, getDefaultClassNames, } from 'react-day-picker';
4
- import { useRef, useEffect, } from 'react';
5
6
  import cn from '../../utils/cn.js';
6
- import { ChevronDown, ChevronLeft, ChevronRight } from 'lucide-react';
7
7
  /**
8
8
  * CalendarBase — react-day-picker 래핑 레이어. 구조·동작·접근성만 담당한다.
9
9
  * (component 오버라이드, booked/book 모디파이어 배선, formatters, 날짜 범위, 포커스 관리)
@@ -18,15 +18,16 @@ const CalendarBase = ({ className, style, classNames, captionLayout = 'label', f
18
18
  book,
19
19
  ...modifiers,
20
20
  }, components: {
21
- Root: ({ className: rootClassName, rootRef, ...rootProps }) => (_jsx("div", { "data-slot": "calendar", ref: rootRef, className: cn(rootClassName), ...rootProps })),
22
- Chevron: ({ className: chevronClassName, orientation }) => {
23
- return orientation === 'left' ? (_jsx(ChevronLeft, { className: cn('size-4', chevronClassName) })) : orientation === 'right' ? (_jsx(ChevronRight, { className: cn('size-4', chevronClassName) })) : (_jsx(ChevronDown, { className: cn('size-4', chevronClassName) }));
24
- },
21
+ Root: CalendarRoot,
22
+ Chevron: CalendarChevron,
25
23
  DayButton: CalendarDayButton,
26
- WeekNumber: ({ children, ...weekNumberProps }) => (_jsx("td", { ...weekNumberProps, children: _jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children: children }) })),
24
+ WeekNumber: CalendarWeekNumber,
27
25
  ...components,
28
26
  }, ...props }));
29
27
  };
28
+ const CalendarRoot = ({ className, rootRef, ...props }) => (_jsx("div", { "data-slot": "calendar", ref: rootRef, className: cn(className), ...props }));
29
+ const CalendarChevron = ({ className, orientation, }) => orientation === 'left' ? (_jsx(ChevronLeft, { className: cn('size-4', className) })) : orientation === 'right' ? (_jsx(ChevronRight, { className: cn('size-4', className) })) : (_jsx(ChevronDown, { className: cn('size-4', className) }));
30
+ const CalendarWeekNumber = ({ children, ...props }) => (_jsx("td", { ...props, children: _jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children: children }) }));
30
31
  /** 날짜 셀 버튼 — 구조 + 접근성(data-속성, 포커스 관리) + book/booked 표시 요소 */
31
32
  const CalendarDayButton = ({ className: btnClassName, day, modifiers, ...btnProps }) => {
32
33
  const defaultClassNames = getDefaultClassNames();
@@ -38,12 +39,12 @@ const CalendarDayButton = ({ className: btnClassName, day, modifiers, ...btnProp
38
39
  return (_jsxs("button", { ref: ref, type: "button", "data-day": day.date.toLocaleDateString(), "data-selected-single": modifiers.selected &&
39
40
  !modifiers.range_start &&
40
41
  !modifiers.range_end &&
41
- !modifiers.range_middle, "data-range-start": modifiers.range_start, "data-range-end": modifiers.range_end, "data-range-middle": modifiers.range_middle, className: cn('relative inline-flex items-center justify-center rounded-lg text-sm font-medium ld-transition outline-none cursor-pointer', 'hover:bg-tintBlue hover:text-lb500', 'flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1', 'leading-none font-normal', 'data-[selected-single=true]:bg-tintBlue data-[selected-single=true]:text-lb500', 'data-[selected-single=true]:animate-day-picker-color-in', 'data-[range-start=true]:bg-tintBlue data-[range-start=true]:text-lb500', 'data-[range-start=true]:animate-day-picker-color-in', 'data-[range-middle=true]:bg-mono50 data-[range-middle=true]:text-neutral500 data-[range-middle=true]:animate-day-range-picker-color-in', 'data-[range-end=true]:bg-tintBlue data-[range-end=true]:text-lb500', 'data-[range-end=true]:animate-day-picker-color-in', 'group-data-[focused=true]/day:relative', 'group-data-[focused=true]/day:z-10', '', modifiers.range_start &&
42
+ !modifiers.range_middle, "data-range-start": modifiers.range_start, "data-range-end": modifiers.range_end, "data-range-middle": modifiers.range_middle, className: cn('relative inline-flex cursor-pointer items-center justify-center rounded-lg font-medium text-sm outline-none ld-transition', 'hover:bg-(--calendar-accent-bg) hover:text-(--calendar-accent)', 'm-auto flex size-(--day-size) min-w-(--day-size) flex-col gap-1', 'leading-none font-normal', 'data-[selected-single=true]:bg-(--calendar-accent-bg) data-[selected-single=true]:text-(--calendar-accent)', 'data-[range-start=true]:bg-(--calendar-accent-bg) data-[range-start=true]:text-(--calendar-accent)', 'data-[range-middle=true]:text-neutral500', 'data-[range-end=true]:bg-(--calendar-accent-bg) data-[range-end=true]:text-(--calendar-accent)', 'group-data-[focused=true]/day:relative', 'group-data-[focused=true]/day:z-10', '', modifiers.range_start &&
42
43
  !modifiers.range_end &&
43
44
  'rounded-l-lg rounded-r-none', modifiers.range_end &&
44
45
  !modifiers.range_start &&
45
- 'rounded-l-none rounded-r-lg', modifiers.range_middle && 'rounded-none', modifiers.range_start && modifiers.range_end && 'rounded-lg',
46
- // '[&>span]:text-xs [&>span]:opacity-70',
47
- defaultClassNames.day, btnClassName), ...btnProps, children: [_jsx("span", { className: cn('relative z-10', modifiers.booked && 'line-through opacity-40 decoration-current'), children: btnProps.children }), modifiers.book && (_jsx("span", { className: "absolute bottom-1 size-1 rounded-full bg-lb500" }))] }));
46
+ 'rounded-l-none rounded-r-lg', modifiers.range_middle && 'rounded-none', modifiers.range_start && modifiers.range_end && 'rounded-lg', modifiers.today &&
47
+ !modifiers.selected &&
48
+ 'font-semibold ring-1 ring-(--calendar-accent) ring-inset', defaultClassNames.day, btnClassName), ...btnProps, children: [_jsx("span", { className: cn('relative z-10', modifiers.booked && 'line-through decoration-current opacity-40'), children: btnProps.children }), modifiers.book && (_jsx("span", { className: "absolute bottom-1 size-1 rounded-full bg-(--calendar-accent)" }))] }));
48
49
  };
49
50
  export default CalendarBase;
@@ -0,0 +1,11 @@
1
+ import type { CalendarColorSet } from '../../components/LDCalendar/LDCalendar.js';
2
+ export interface CalendarTimePickerProps {
3
+ value?: string;
4
+ onChange?: (time: string) => void;
5
+ showSeconds?: boolean;
6
+ colorSet?: Pick<CalendarColorSet, 'accent' | 'accentBg'>;
7
+ className?: string;
8
+ }
9
+ declare const CalendarTimePicker: ({ value, onChange, showSeconds, colorSet, className, }: CalendarTimePickerProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default CalendarTimePicker;
11
+ //# sourceMappingURL=CalendarTimePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarTimePicker.d.ts","sourceRoot":"","sources":["../../../src/components/LDCalendar/CalendarTimePicker.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAgB3E,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,GAAI,wDAMzB,uBAAuB,4CA+DzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,82 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useMemo, useRef } from 'react';
4
+ import cn from '../../utils/cn.js';
5
+ const HOURS = Array.from({ length: 12 }, (_, i) => (i === 0 ? 12 : i));
6
+ const MINUTES = Array.from({ length: 60 }, (_, i) => i);
7
+ const SECONDS = Array.from({ length: 60 }, (_, i) => i);
8
+ const AMPM = ['am', 'pm'];
9
+ const pad2 = (n) => String(n).padStart(2, '0');
10
+ const to24Hour = (hour12, period) => {
11
+ const base = hour12 % 12;
12
+ return period === 'pm' ? base + 12 : base;
13
+ };
14
+ const CalendarTimePicker = ({ value, onChange, showSeconds = true, colorSet, className, }) => {
15
+ const [hours, minutes, seconds, ampm] = useMemo(() => {
16
+ const [h = 0, m = 0, s = 0] = (value ?? '00:00')
17
+ .split(':')
18
+ .map((s) => parseInt(s, 10));
19
+ const ampm = h >= 12 ? 'pm' : 'am';
20
+ const hour = h % 12 === 0 ? 12 : h % 12;
21
+ return [hour, m, s, ampm];
22
+ }, [value]);
23
+ const handleSelect = (h, m, s, period) => {
24
+ const base = `${pad2(to24Hour(h, period))}:${pad2(m)}`;
25
+ onChange?.(showSeconds ? `${base}:${pad2(s)}` : base);
26
+ };
27
+ return (_jsxs("div", { style: {
28
+ '--calendar-accent': colorSet?.accent,
29
+ '--calendar-accent-bg': colorSet?.accentBg,
30
+ }, className: cn('flex h-auto items-stretch divide-x divide-neutral100 border-l border-neutral100 [--time-cell-size:--spacing(8)]', '[--calendar-accent-bg:var(--color-tintBlue)] [--calendar-accent:var(--color-lb500)]', className), children: [_jsx(TimeScrollColumn, { values: HOURS, selected: hours, ariaLabel: "\uC2DC", format: pad2, onSelect: (v) => handleSelect(v, minutes, seconds, ampm) }), _jsx(TimeScrollColumn, { values: MINUTES, selected: minutes, ariaLabel: "\uBD84", format: pad2, onSelect: (v) => handleSelect(hours, v, seconds, ampm) }), showSeconds && (_jsx(TimeScrollColumn, { values: SECONDS, selected: seconds, ariaLabel: "\uCD08", format: pad2, onSelect: (v) => handleSelect(hours, minutes, v, ampm) })), _jsx(TimeScrollColumn, { values: AMPM, selected: ampm, ariaLabel: "\uC624\uC804/\uC624\uD6C4", format: (v) => (v === 'am' ? '오전' : '오후'), onSelect: (v) => handleSelect(hours, minutes, seconds, v) })] }));
31
+ };
32
+ export default CalendarTimePicker;
33
+ const TimeScrollColumn = ({ values, selected, onSelect, ariaLabel, format = (v) => String(v), }) => {
34
+ const scrollRef = useRef(null);
35
+ const scrollThumbRef = useRef(null);
36
+ const mountRef = useRef(false);
37
+ const updateScrollThumb = () => {
38
+ const el = scrollRef.current;
39
+ const scrollThumb = scrollThumbRef.current;
40
+ if (!el || !scrollThumb)
41
+ return;
42
+ const { scrollTop, scrollHeight, clientHeight } = el;
43
+ if (scrollHeight <= clientHeight) {
44
+ scrollThumb.style.opacity = '0';
45
+ return;
46
+ }
47
+ const height = Math.max(24, (clientHeight / scrollHeight) * clientHeight);
48
+ const top = (scrollTop / (scrollHeight - clientHeight)) * (clientHeight - height);
49
+ scrollThumb.style.removeProperty('opacity'); // hover 클래스가 다시 제어하도록
50
+ scrollThumb.style.height = `${height}px`;
51
+ scrollThumb.style.transform = `translateY(${top}px)`;
52
+ };
53
+ useEffect(() => {
54
+ const el = scrollRef.current;
55
+ if (!el)
56
+ return;
57
+ const idx = values.indexOf(selected);
58
+ if (idx < 0)
59
+ return;
60
+ const item = el.children[idx];
61
+ if (!(item instanceof HTMLElement))
62
+ return;
63
+ const behavior = mountRef.current ? 'smooth' : 'auto';
64
+ mountRef.current = true;
65
+ el.scrollTo({
66
+ top: item.offsetTop - (el.clientHeight - item.offsetHeight) / 2,
67
+ behavior,
68
+ });
69
+ }, [selected, values]);
70
+ useEffect(() => {
71
+ const el = scrollRef.current;
72
+ if (!el)
73
+ return;
74
+ updateScrollThumb();
75
+ const observer = new ResizeObserver(updateScrollThumb);
76
+ observer.observe(el);
77
+ return () => observer.disconnect();
78
+ }, [values]);
79
+ return (_jsxs("div", { className: "group/col relative h-full min-h-0", children: [_jsx("div", { ref: scrollRef, role: "listbox", "aria-label": ariaLabel, onScroll: updateScrollThumb, className: "scrollbar-hide h-full min-h-0 w-auto overflow-y-auto px-1.5 py-1", children: values.map((v) => (_jsx("button", { type: "button", role: "option", "aria-selected": v === selected, onClick: () => onSelect(v), className: cn('flex h-(--time-cell-size) w-10 items-center justify-center rounded-md display14 text-sm ld-transition hover:cursor-pointer', v === selected
80
+ ? 'bg-(--calendar-accent-bg) text-(--calendar-accent)'
81
+ : 'hover:bg-neutral50'), children: format(v) }, String(v)))) }), _jsx("div", { ref: scrollThumbRef, "aria-hidden": true, className: "pointer-events-none absolute top-0 right-0.5 w-1.5 rounded-full bg-neutral400/60 opacity-0 transition-opacity duration-300 group-hover/col:opacity-100" })] }));
82
+ };
@@ -1,10 +1,15 @@
1
- import { type CalendarBaseProps } from './CalendarBase.js';
2
- type LDCalendarProps = CalendarBaseProps;
3
- export declare const TimePicker: ({ value, onChange, className, }: {
4
- value?: string;
5
- onChange?: (time: string) => void;
6
- className?: string;
7
- }) => import("react/jsx-runtime").JSX.Element;
8
- declare const LDCalendarMemo: import("react").MemoExoticComponent<({ className, classNames, captionLayout, ...props }: LDCalendarProps) => import("react/jsx-runtime").JSX.Element>;
1
+ import { type CalendarBaseProps } from '../../components/LDCalendar/CalendarBase.js';
2
+ /** 캘린더 강조 색. 지정한 항목만 기본값을 덮어쓴다 */
3
+ export interface CalendarColorSet {
4
+ accent?: string;
5
+ /** 선택·hover 배경 */
6
+ accentBg?: string;
7
+ /** 범위 선택 띠 배경 */
8
+ band?: string;
9
+ }
10
+ export type LDCalendarProps = CalendarBaseProps & {
11
+ colorSet?: CalendarColorSet;
12
+ };
13
+ declare const LDCalendarMemo: import("react").MemoExoticComponent<({ className, classNames, captionLayout, colorSet, style, ...props }: LDCalendarProps) => import("react/jsx-runtime").JSX.Element>;
9
14
  export default LDCalendarMemo;
10
15
  //# sourceMappingURL=LDCalendar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LDCalendar.d.ts","sourceRoot":"","sources":["../../../src/components/LDCalendar/LDCalendar.tsx"],"names":[],"mappings":"AAKA,OAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,KAAK,eAAe,GAAG,iBAAiB,CAAC;AA8LzC,eAAO,MAAM,UAAU,GAAI,iCAIxB;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,4CAgEA,CAAC;AAEF,QAAA,MAAM,cAAc,2FAjQjB,eAAe,6CAiQqB,CAAC;AAGxC,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"LDCalendar.d.ts","sourceRoot":"","sources":["../../../src/components/LDCalendar/LDCalendar.tsx"],"names":[],"mappings":"AAKA,OAAqB,EACnB,KAAK,iBAAiB,EACvB,MAAM,sCAAsC,CAAC;AAG9C,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAE/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAChD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAuFF,QAAA,MAAM,cAAc,4GA/BjB,eAAe,6CA+BqB,CAAC;AAGxC,eAAe,cAAc,CAAC"}
@@ -1,87 +1,54 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { getDefaultClassNames } from 'react-day-picker';
4
- import { memo, useRef, useEffect, useMemo } from 'react';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { memo } from 'react';
4
+ import CalendarBase from '../../components/LDCalendar/CalendarBase.js';
5
5
  import cn from '../../utils/cn.js';
6
- import CalendarBase from './CalendarBase.js';
7
- const LDCalendar = ({ className, classNames, captionLayout = 'label', ...props }) => {
8
- const defaultClassNames = getDefaultClassNames();
9
- return (_jsx(CalendarBase, { captionLayout: captionLayout, className: cn('bg-white group/calendar p-sm [--cell-size:--spacing(8)] w-fit',
10
- //rtl일때 버튼 아이콘 방향 전환
11
- String.raw `rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw `rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className), classNames: {
12
- root: cn(defaultClassNames.root),
13
- months: cn('flex gap-4 flex-col md:flex-row relative', defaultClassNames.months),
14
- month: cn('flex flex-col w-full gap-4', defaultClassNames.month),
15
- nav: cn('flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between', defaultClassNames.nav),
16
- button_previous: cn('inline-flex items-center justify-center rounded-md text-sm font-medium transition-all outline-none hover:bg-neutral-100 hover:text-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px]', 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none cursor-pointer', defaultClassNames.button_previous),
17
- button_next: cn('inline-flex items-center justify-center rounded-md text-sm font-medium transition-all outline-none hover:bg-neutral-100 hover:text-neutral-900 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 focus-visible:ring-[3px]', 'size-(--cell-size) aria-disabled:opacity-50 p-0 select-none cursor-pointer', defaultClassNames.button_next),
18
- month_caption: cn('flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)', defaultClassNames.month_caption),
19
- dropdowns: cn('w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5', defaultClassNames.dropdowns),
20
- dropdown_root: cn('relative has-focus:border-lb600 border border-neutral-200 shadow-xs has-focus:ring-lb600/50 has-focus:ring-[3px] rounded-md', defaultClassNames.dropdown_root),
21
- dropdown: cn('absolute bg-white inset-0 opacity-0', defaultClassNames.dropdown),
22
- caption_label: cn('select-none font-medium', captionLayout === 'label'
23
- ? 'text-sm'
24
- : cn('rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-neutral-500 [&>svg]:size-3.5'), defaultClassNames.caption_label),
25
- table: 'w-full border-collapse',
26
- weekdays: cn('flex', defaultClassNames.weekdays),
27
- weekday: cn('text-neutral-500 rounded-md flex-1 font-normal text-[0.8rem] select-none', defaultClassNames.weekday),
28
- week: cn('flex w-full mt-2', defaultClassNames.week),
29
- week_number_header: cn('select-none w-(--cell-size)', defaultClassNames.week_number_header),
30
- week_number: cn('text-[0.8rem] select-none text-neutral-500', defaultClassNames.week_number),
31
- day: cn('relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none', defaultClassNames.day),
32
- range_start: cn('rounded-l-md bg-neutral-100', defaultClassNames.range_start),
33
- range_middle: cn('rounded-none', defaultClassNames.range_middle),
34
- range_end: cn('rounded-r-md bg-neutral-100', defaultClassNames.range_end),
35
- today: cn('rounded-lg ring-1 ring-inset ring-lb500 hover:ring-0 data-[selected=true]:ring-0', 'data-[range-start=true]:rounded-l-lg data-[range-start=true]:rounded-r-none', 'data-[range-end=true]:rounded-r-lg data-[range-end=true]:rounded-l-none', 'font-semibold', defaultClassNames.today),
36
- outside: cn('text-neutral-500 aria-selected:text-neutral-500', defaultClassNames.outside),
37
- disabled: cn('text-neutral-500 opacity-50', defaultClassNames.disabled),
38
- hidden: cn('invisible', defaultClassNames.hidden),
39
- ...classNames,
40
- }, ...props }));
41
- };
42
- const TIME_ITEM_HEIGHT = 32; // NOTE: px, h-8과 동일
43
- const pad2 = (n) => String(n).padStart(2, '0');
44
- const HOURS = Array.from({ length: 12 }, (_, i) => (i === 0 ? 12 : i));
45
- const MINUTES = Array.from({ length: 60 }, (_, i) => i);
46
- const SECONDS = Array.from({ length: 60 }, (_, i) => i);
47
- const AMPM = ['am', 'pm'];
48
- const to24Hour = (hour12, period) => {
49
- const base = hour12 % 12; // 12 → 0
50
- return period === 'pm' ? base + 12 : base;
51
- };
52
- const TimeScrollColumn = ({ values, selected, onSelect, ariaLabel, format = (v) => String(v), className, }) => {
53
- const ref = useRef(null);
54
- const mountRef = useRef(false);
55
- useEffect(() => {
56
- const el = ref.current;
57
- if (!el)
58
- return;
59
- const idx = values.indexOf(selected);
60
- if (idx < 0)
61
- return;
62
- const behavior = mountRef.current ? 'smooth' : 'auto';
63
- mountRef.current = true;
64
- el.scrollTo({
65
- top: idx * TIME_ITEM_HEIGHT - (el.clientHeight - TIME_ITEM_HEIGHT) / 2,
66
- behavior,
67
- });
68
- }, [selected, values]);
69
- return (_jsx("div", { ref: ref, role: "listbox", "aria-label": ariaLabel, className: cn('h-full min-h-0 overflow-y-auto scrollbar-hover ld-transition w-auto border-neutral100 pt-1 pb-0', className), children: values.map((v) => (_jsx("button", { type: "button", role: "option", "aria-selected": v === selected, onClick: () => onSelect(v), className: cn('display14 flex h-8 w-10 items-center justify-center rounded-md text-sm ld-transition hover:cursor-pointer', v === selected ? 'bg-tintBlue text-lb500' : 'hover:bg-neutral50'), children: format(v) }, String(v)))) }));
70
- };
71
- export const TimePicker = ({ value, onChange, className, }) => {
72
- const [hours, minutes, seconds, ampm] = useMemo(() => {
73
- const [h = 0, m = 0, s = 0] = (value ?? '00:00:00')
74
- .split(':')
75
- .map((s) => parseInt(s, 10));
76
- const ampm = h >= 12 ? 'pm' : 'am';
77
- const hour = h % 12 === 0 ? 12 : h % 12;
78
- return [hour, m, s, ampm];
79
- }, [value]);
80
- const commit = (hours, minutes, seconds, ampm) => {
81
- onChange?.(`${pad2(to24Hour(hours, ampm))}:${pad2(minutes)}:${pad2(seconds)}`);
82
- };
83
- return (_jsxs("div", { className: cn('flex h-auto items-stretch border-l border-neutral100 pr-1.5', className), children: [_jsx(TimeScrollColumn, { values: HOURS, selected: hours, ariaLabel: "\uC2DC", format: pad2, onSelect: (v) => commit(v, minutes, seconds, ampm), className: "border-r border-neutral100 pl-1" }), _jsx(TimeScrollColumn, { values: MINUTES, selected: minutes, ariaLabel: "\uBD84", format: pad2, onSelect: (v) => commit(hours, v, seconds, ampm), className: "border-r border-neutral100 pl-1" }), _jsx(TimeScrollColumn, { values: SECONDS, selected: seconds, ariaLabel: "\uCD08", format: pad2, onSelect: (v) => commit(hours, minutes, v, ampm), className: "border-r border-neutral100 pl-1" }), _jsx(TimeScrollColumn, { values: AMPM, selected: ampm, ariaLabel: "\uC624\uC804/\uC624\uD6C4", format: (v) => (v === 'am' ? '오전' : '오후'), onSelect: (v) => commit(hours, minutes, seconds, v), className: "pl-1" })] }));
6
+ /* 공통 좌우 네비게이션 버튼 */
7
+ const NAV_BUTTON = cn('inline-flex size-(--cell-size) items-center justify-center rounded-md p-0 font-medium text-sm outline-none select-none ld-transition', 'cursor-pointer hover:bg-neutral50 focus-visible:ring-2 focus-visible:ring-(--calendar-accent) focus-visible:ring-inset aria-disabled:opacity-50');
8
+ const SLOT_CLASSNAMES = {
9
+ // 월 컨테이너
10
+ months: 'flex gap-4 flex-col md:flex-row relative',
11
+ month: 'flex flex-col w-full gap-4',
12
+ /* 네비게이션 */
13
+ nav: 'flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between',
14
+ button_previous: NAV_BUTTON,
15
+ button_next: NAV_BUTTON,
16
+ /* 캡션 */
17
+ month_caption: 'flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)',
18
+ dropdowns: 'w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5',
19
+ dropdown_root: 'relative has-focus:border-(--calendar-accent) border border-neutral200 rounded-md',
20
+ dropdown: 'absolute bg-white inset-0 opacity-0 cursor-pointer',
21
+ weekdays: 'flex',
22
+ weekday: 'text-neutral500 rounded-md flex-1 font-normal text-[0.8rem] select-none',
23
+ week_number_header: 'select-none w-(--cell-size)',
24
+ week: 'flex w-full mt-1',
25
+ week_number: 'text-[0.8rem] select-none text-neutral500',
26
+ day: 'relative size-(--cell-size) py-[calc((var(--cell-size)-var(--day-size))/2)] bg-clip-content text-center [&:first-child[data-selected=true]_button]:rounded-l-lg [&:last-child[data-selected=true]_button]:rounded-r-lg group/day aspect-square select-none ld-transition',
27
+ today: '',
28
+ /* start는 항상 오른쪽 절반을 칠해 "이어진다"를 보여준다.
29
+ * end는 그 칸이 start이기도 하면(= from만 찍힌 상태) 왼쪽 절반을 지운다.
30
+ * 그래야 그 칸이 오른쪽만 칠해진 모양으로 남는다. */
31
+ range_start: 'bg-[linear-gradient(to_right,transparent_50%,var(--calendar-range-band)_50%)]',
32
+ range_middle: 'rounded-none bg-(--calendar-range-band)',
33
+ range_end: 'bg-[linear-gradient(to_left,transparent_50%,var(--calendar-range-band)_50%)] has-[button[data-range-start=true]]:bg-none',
34
+ outside: 'text-neutral300 aria-selected:text-neutral500',
35
+ disabled: 'text-neutral500 opacity-50',
36
+ hidden: 'invisible',
84
37
  };
38
+ const LDCalendar = ({ className, classNames, captionLayout = 'label', colorSet, style, ...props }) => (_jsx(CalendarBase, { captionLayout: captionLayout, style: {
39
+ ...{
40
+ '--calendar-accent': colorSet?.accent,
41
+ '--calendar-accent-bg': colorSet?.accentBg,
42
+ '--calendar-range-band': colorSet?.band,
43
+ },
44
+ ...style,
45
+ }, className: cn('group/calendar w-fit bg-white p-sm', '[--cell-size:--spacing(9)] [--day-size:--spacing(7)]', '[--calendar-accent-bg:var(--color-tintBlue)] [--calendar-accent:var(--color-lb500)] [--calendar-range-band:var(--color-mono50)]', className), classNames: {
46
+ ...SLOT_CLASSNAMES,
47
+ caption_label: cn('font-medium select-none', captionLayout === 'label'
48
+ ? 'text-sm'
49
+ : 'flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-neutral500'),
50
+ ...classNames,
51
+ }, ...props }));
85
52
  const LDCalendarMemo = memo(LDCalendar);
86
53
  LDCalendarMemo.displayName = 'LDCalendar';
87
54
  export default LDCalendarMemo;
@@ -1 +1 @@
1
- {"version":3,"file":"CalloutBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCallout/CalloutBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGvD,UAAU,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAqCD,eAAO,MAAM,WAAW;mDAnC8B,SAAS;mBAezC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;yBAUhC;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;CAcvE,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"CalloutBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCallout/CalloutBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAIvD,UAAU,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAqCD,eAAO,MAAM,WAAW;mDAnC8B,SAAS;mBAezC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;yBAUhC;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;CAcvE,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,17 +1,17 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import cn from '../../utils/cn.js';
3
3
  const Root = ({ ref, children, className, ...props }) => {
4
- return (_jsx("div", { ref: ref, className: cn('inline-flex flex-row items-center justify-between bg-tintBlue w-full p-5 rounded-lg', className), ...props, children: children }));
4
+ return (_jsx("div", { ref: ref, className: cn('inline-flex w-full flex-row items-center justify-between rounded-lg bg-tintBlue p-5', className), ...props, children: children }));
5
5
  };
6
6
  const Title = (props) => {
7
7
  if (!props.title)
8
8
  return null;
9
- return (_jsx("span", { className: cn('text-lb500 extrabold display16', props.className), children: props.title }));
9
+ return (_jsx("span", { className: cn('display16 extrabold text-lb500', props.className), children: props.title }));
10
10
  };
11
11
  const Description = (props) => {
12
12
  if (!props.description)
13
13
  return null;
14
- return (_jsx("span", { className: cn('text-lb500 display14', props.className), children: props.description }));
14
+ return (_jsx("span", { className: cn('display14 text-lb500', props.className), children: props.description }));
15
15
  };
16
16
  export const CalloutBase = {
17
17
  Root,
@@ -1 +1 @@
1
- {"version":3,"file":"LDCallout.d.ts","sourceRoot":"","sources":["../../../src/components/LDCallout/LDCallout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,SAAS,GAAI,OAAO,YAAY,4CAUrC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"LDCallout.d.ts","sourceRoot":"","sources":["../../../src/components/LDCallout/LDCallout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,SAAS,GAAI,OAAO,YAAY,4CAUrC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import CalloutBase from './CalloutBase.js';
2
+ import CalloutBase from '../../components/LDCallout/CalloutBase.js';
3
3
  const LDCallout = (props) => {
4
4
  return (_jsxs(CalloutBase.Root, { className: props.className, children: [_jsxs("div", { className: "flex flex-col gap-xs", children: [_jsx(CalloutBase.Title, { title: props.title }), _jsx(CalloutBase.Description, { description: props.description })] }), props.button] }));
5
5
  };
@@ -1,4 +1,5 @@
1
1
  import type { EmblaCarouselType, EmblaOptionsType } from 'embla-carousel';
2
+ import { type AutoHeightOptionsType } from 'embla-carousel-auto-height';
2
3
  import useEmblaCarousel from 'embla-carousel-react';
3
4
  import { type CSSProperties, type ReactNode } from 'react';
4
5
  export type CarouselOrientation = 'horizontal' | 'vertical';
@@ -42,6 +43,10 @@ export interface RootProps {
42
43
  /** true 또는 설정 객체를 넘기면 연속 흐름(Auto Scroll) 활성화.
43
44
  * autoplay와 동시 사용 불가 — 설정 시 autoplay보다 우선. loop와 함께 쓰는 것을 권장 */
44
45
  autoScroll?: boolean | AutoScrollConfig;
46
+ /** 트랙 높이를 선택된 슬라이드 높이에 맞춘다. 슬라이드마다 높이가 다를 때 빈 공간을 없앤다.
47
+ * embla-carousel-auto-height 플러그인이며, `{ breakpoints }` 로 구간을 제한할 수 있다.
48
+ * 단 필수 CSS(`align-items: flex-start`)는 구간을 나눌 수 없으니 전 구간 적용을 권장한다. */
49
+ autoHeight?: boolean | AutoHeightOptionsType;
45
50
  /** 선택된 슬라이드가 viewport의 어디에 정렬되는지. 기본 'start'(왼쪽 끝 붙음) */
46
51
  align?: 'start' | 'center' | 'end';
47
52
  /** 양 끝 빈 공간 처리 방식. 기본 'trimSnaps'(끝 여백 없도록 정렬 보정).
@@ -88,7 +93,7 @@ export interface CounterProps {
88
93
  format?: (current: number, total: number) => string;
89
94
  }
90
95
  export declare const CarouselBase: {
91
- Root: ({ orientation, loop, autoplay, autoScroll, align, containScroll, options, gap, className, style, children, }: RootProps) => import("react/jsx-runtime").JSX.Element;
96
+ Root: ({ orientation, loop, autoplay, autoScroll, autoHeight, align, containScroll, options, gap, className, style, children, }: RootProps) => import("react/jsx-runtime").JSX.Element;
92
97
  Viewport: ({ className, children }: ViewportProps) => import("react/jsx-runtime").JSX.Element;
93
98
  Container: ({ className, style, children }: ContainerProps) => import("react/jsx-runtime").JSX.Element;
94
99
  Slide: ({ slidesPerView, index, total, className, style, children, }: SlideProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"CarouselBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCarousel/CarouselBase.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CarouselBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCarousel/CarouselBase.tsx"],"names":[],"mappings":"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"}