sellmate-design-system-react 9.0.0-beta.9 → 9.0.0-beta.91

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 (419) hide show
  1. package/AGENTS.md +4079 -265
  2. package/README.md +76 -24
  3. package/bin/sellmate-ds.mjs +91 -59
  4. package/dist/components/SAccountListBox/AccountListBoxPortal.d.ts +31 -0
  5. package/dist/components/SAccountListBox/README.md +86 -0
  6. package/dist/components/SAccountListBox/SAccountListBox.d.ts +79 -0
  7. package/dist/components/SAccountListBox/SystemMenuPortal.d.ts +58 -0
  8. package/dist/components/SAccountListBox/accountListBox.config.d.ts +64 -0
  9. package/dist/components/SAccountListBox/index.d.ts +2 -0
  10. package/dist/components/SActionModal/README.md +1 -0
  11. package/dist/components/SActionModal/SActionModal.d.ts +9 -1
  12. package/dist/components/SBadge/README.md +27 -0
  13. package/dist/components/SBadge/SBadge.d.ts +1 -1
  14. package/dist/components/SBarChart/README.md +122 -0
  15. package/dist/components/SBarChart/SBarChart.d.ts +99 -0
  16. package/dist/components/SBarChart/barChart.config.d.ts +85 -0
  17. package/dist/components/SBarChart/index.d.ts +2 -0
  18. package/dist/components/SBarcodeInput/README.md +14 -4
  19. package/dist/components/SBarcodeInput/SBarcodeInput.d.ts +25 -3
  20. package/dist/components/SButton/README.md +40 -0
  21. package/dist/components/SCalendar/README.md +13 -0
  22. package/dist/components/SCalendarBoard/CalendarDayCard.d.ts +53 -0
  23. package/dist/components/SCalendarBoard/CalendarDayEventListBox.d.ts +26 -0
  24. package/dist/components/SCalendarBoard/CalendarEventButton.d.ts +20 -0
  25. package/dist/components/SCalendarBoard/CalendarMoreButton.d.ts +18 -0
  26. package/dist/components/SCalendarBoard/README.md +148 -0
  27. package/dist/components/SCalendarBoard/SCalendarBoard.d.ts +83 -0
  28. package/dist/components/SCalendarBoard/calendar-board-layout.d.ts +59 -0
  29. package/dist/components/SCalendarBoard/calendarBoard.config.d.ts +38 -0
  30. package/dist/components/SCalendarBoard/index.d.ts +3 -0
  31. package/dist/components/SCalendarBoard/types.d.ts +40 -0
  32. package/dist/components/SCallout/README.md +17 -1
  33. package/dist/components/SCallout/SCallout.d.ts +14 -4
  34. package/dist/components/SCard/README.md +17 -0
  35. package/dist/components/SCard/SCard.d.ts +26 -2
  36. package/dist/components/SChatAttachedFile/README.md +33 -0
  37. package/dist/components/SChatAttachedFile/SChatAttachedFile.d.ts +13 -0
  38. package/dist/components/SChatAttachedFile/chatAttachedFile.config.d.ts +23 -0
  39. package/dist/components/SChatAttachedFile/index.d.ts +2 -0
  40. package/dist/components/SChatFile/README.md +33 -0
  41. package/dist/components/SChatFile/SChatFile.d.ts +37 -0
  42. package/dist/components/SChatFile/chatFile.config.d.ts +56 -0
  43. package/dist/components/SChatFile/index.d.ts +2 -0
  44. package/dist/components/SChatInput/README.md +52 -0
  45. package/dist/components/SChatInput/SChatInput.d.ts +127 -0
  46. package/dist/components/SChatInput/index.d.ts +1 -0
  47. package/dist/components/SChatMessage/README.md +87 -0
  48. package/dist/components/SChatMessage/SChatMessage.d.ts +135 -0
  49. package/dist/components/SChatMessage/index.d.ts +1 -0
  50. package/dist/components/SChatSystemMessage/README.md +12 -0
  51. package/dist/components/SChatSystemMessage/SChatSystemMessage.d.ts +18 -0
  52. package/dist/components/SChatSystemMessage/index.d.ts +1 -0
  53. package/dist/components/SCheckbox/README.md +9 -0
  54. package/dist/components/SCheckbox/SCheckbox.d.ts +9 -1
  55. package/dist/components/SChip/README.md +25 -0
  56. package/dist/components/SChip/SChip.d.ts +8 -0
  57. package/dist/components/SChip/index.d.ts +1 -1
  58. package/dist/components/SChipFilter/README.md +369 -14
  59. package/dist/components/SChipFilter/SChipFilter.d.ts +169 -60
  60. package/dist/components/SChipFilter/index.d.ts +1 -1
  61. package/dist/components/SChipInput/README.md +22 -3
  62. package/dist/components/SChipInput/SChipInput.d.ts +53 -3
  63. package/dist/components/SChipInput/index.d.ts +1 -1
  64. package/dist/components/SCircleProgress/README.md +13 -2
  65. package/dist/components/SCircleProgress/SCircleProgress.d.ts +11 -3
  66. package/dist/components/SConfirmModal/README.md +13 -4
  67. package/dist/components/SConfirmModal/SConfirmModal.d.ts +46 -9
  68. package/dist/components/SContextAlert/README.md +52 -0
  69. package/dist/components/SContextAlert/SContextAlert.d.ts +51 -0
  70. package/dist/components/SContextAlert/contextAlert.config.d.ts +22 -0
  71. package/dist/components/SContextAlert/index.d.ts +2 -0
  72. package/dist/components/SDatePicker/README.md +23 -2
  73. package/dist/components/SDatePicker/SDatePicker.d.ts +50 -5
  74. package/dist/components/SDateRangePicker/README.md +23 -4
  75. package/dist/components/SDateRangePicker/SDateRangePicker.d.ts +52 -7
  76. package/dist/components/SDivider/README.md +7 -0
  77. package/dist/components/SDivider/SDivider.d.ts +11 -0
  78. package/dist/components/SDonutChart/README.md +105 -0
  79. package/dist/components/SDonutChart/SDonutChart.d.ts +82 -0
  80. package/dist/components/SDonutChart/index.d.ts +1 -0
  81. package/dist/components/SDraggableItem/README.md +37 -0
  82. package/dist/components/SDraggableItem/SDraggableItem.d.ts +2 -0
  83. package/dist/components/SDraggableItem/index.d.ts +1 -1
  84. package/dist/components/SDraggableList/README.md +33 -3
  85. package/dist/components/SDraggableList/SDraggableList.d.ts +18 -3
  86. package/dist/components/SDraggableList/index.d.ts +1 -1
  87. package/dist/components/SDrawer/README.md +8 -0
  88. package/dist/components/SDropdownButton/README.md +19 -0
  89. package/dist/components/SEditor/EditorBody.d.ts +48 -0
  90. package/dist/components/SEditor/EditorToolbar.d.ts +93 -0
  91. package/dist/components/SEditor/README.md +207 -0
  92. package/dist/components/SEditor/SEditor.d.ts +128 -0
  93. package/dist/components/SEditor/editor-icons.d.ts +63 -0
  94. package/dist/components/SEditor/editor.config.d.ts +119 -0
  95. package/dist/components/SEditor/index.d.ts +8 -0
  96. package/dist/components/SEditor/tiptap-api.d.ts +29 -0
  97. package/dist/components/SEditor/use-is-mobile.d.ts +14 -0
  98. package/dist/components/SExpansionItem/README.md +39 -2
  99. package/dist/components/SExpansionItem/SExpansionItem.d.ts +18 -2
  100. package/dist/components/SExpansionItem/index.d.ts +1 -1
  101. package/dist/components/SField/README.md +38 -5
  102. package/dist/components/SField/SField.d.ts +59 -8
  103. package/dist/components/SField/index.d.ts +1 -1
  104. package/dist/components/SFilePicker/README.md +20 -4
  105. package/dist/components/SFilePicker/SFilePicker.d.ts +26 -6
  106. package/dist/components/SFooter/README.md +44 -0
  107. package/dist/components/SFooter/SFooter.d.ts +29 -13
  108. package/dist/components/SFooter/index.d.ts +1 -1
  109. package/dist/components/SForm/README.md +12 -1
  110. package/dist/components/SForm/SForm.d.ts +2 -2
  111. package/dist/components/SGhostButton/README.md +32 -5
  112. package/dist/components/SGhostButton/SGhostButton.d.ts +22 -4
  113. package/dist/components/SGnb/README.md +109 -8
  114. package/dist/components/SGnb/SGnb.d.ts +112 -11
  115. package/dist/components/SGnb/gnb.config.d.ts +18 -5
  116. package/dist/components/SGnb/index.d.ts +1 -1
  117. package/dist/components/SGnbSystem/README.md +186 -0
  118. package/dist/components/SGnbSystem/SGnbSystem.d.ts +179 -0
  119. package/dist/components/SGnbSystem/gnbSystem.config.d.ts +122 -0
  120. package/dist/components/SGnbSystem/index.d.ts +2 -0
  121. package/dist/components/SGuide/README.md +16 -1
  122. package/dist/components/SGuide/SGuide.d.ts +5 -2
  123. package/dist/components/SIcon/README.md +18 -0
  124. package/dist/components/SIcon/SIcon.d.ts +1 -1
  125. package/dist/components/SIcon/icons.gen.d.ts +20 -1
  126. package/dist/components/SImage/README.md +23 -1
  127. package/dist/components/SImage/SImage.d.ts +11 -8
  128. package/dist/components/SInput/README.md +8 -4
  129. package/dist/components/SInput/SInput.d.ts +17 -5
  130. package/dist/components/SKeyValueTable/README.md +88 -0
  131. package/dist/components/SKeyValueTable/SKeyValueTable.d.ts +30 -3
  132. package/dist/components/SKeyValueTable/index.d.ts +1 -1
  133. package/dist/components/SLauncherListBox/README.md +82 -0
  134. package/dist/components/SLauncherListBox/SLauncherListBox.d.ts +80 -0
  135. package/dist/components/SLauncherListBox/index.d.ts +2 -0
  136. package/dist/components/SLauncherListBox/launcherListBox.config.d.ts +154 -0
  137. package/dist/components/SLayout/README.md +22 -1
  138. package/dist/components/SLayout/SLayout.d.ts +6 -2
  139. package/dist/components/SLayout/index.d.ts +1 -1
  140. package/dist/components/SLineChart/README.md +131 -0
  141. package/dist/components/SLineChart/SLineChart.d.ts +110 -0
  142. package/dist/components/SLineChart/index.d.ts +1 -0
  143. package/dist/components/SLineChart/lineChart.config.d.ts +95 -0
  144. package/dist/components/SLinearProgress/README.md +16 -1
  145. package/dist/components/SLinearProgress/SLinearProgress.d.ts +11 -2
  146. package/dist/components/SLinearProgress/index.d.ts +1 -1
  147. package/dist/components/SList/README.md +15 -2
  148. package/dist/components/SList/SList.d.ts +7 -3
  149. package/dist/components/SList/index.d.ts +1 -1
  150. package/dist/components/SListItem/README.md +43 -2
  151. package/dist/components/SListItem/SListItem.d.ts +12 -2
  152. package/dist/components/SListItem/index.d.ts +1 -1
  153. package/dist/components/SLoadingContainer/index.d.ts +1 -1
  154. package/dist/components/SLoadingContainer/loading.d.ts +41 -6
  155. package/dist/components/SLoadingModal/README.md +10 -2
  156. package/dist/components/SLoadingModal/SLoadingModal.d.ts +4 -4
  157. package/dist/components/SLoadingModal/index.d.ts +1 -1
  158. package/dist/components/SLoginCard/README.md +37 -0
  159. package/dist/components/SLoginCard/SLoginCard.d.ts +43 -0
  160. package/dist/components/SLoginCard/index.d.ts +1 -0
  161. package/dist/components/SLogo/README.md +103 -0
  162. package/dist/components/SLogo/SLogo.d.ts +72 -0
  163. package/dist/components/SLogo/index.d.ts +2 -0
  164. package/dist/components/SLogo/logo.config.d.ts +29 -0
  165. package/dist/components/SLogo/logos.d.ts +16 -0
  166. package/dist/components/SMeatballButton/README.md +67 -0
  167. package/dist/components/SMeatballButton/SMeatballButton.d.ts +36 -0
  168. package/dist/components/SMeatballButton/index.d.ts +1 -0
  169. package/dist/components/SModal/README.md +15 -5
  170. package/dist/components/SModal/SModal.d.ts +1 -1
  171. package/dist/components/SNumberInput/README.md +19 -8
  172. package/dist/components/SNumberInput/SNumberInput.d.ts +49 -7
  173. package/dist/components/SPage/README.md +105 -5
  174. package/dist/components/SPage/SPage.d.ts +34 -10
  175. package/dist/components/SPage/SPageHeader.d.ts +31 -13
  176. package/dist/components/SPage/index.d.ts +2 -2
  177. package/dist/components/SPage/page-column.d.ts +34 -0
  178. package/dist/components/SPage/page-width.d.ts +23 -0
  179. package/dist/components/SPage/page.config.d.ts +26 -0
  180. package/dist/components/SPieChart/README.md +93 -0
  181. package/dist/components/SPieChart/SPieChart.d.ts +73 -0
  182. package/dist/components/SPieChart/index.d.ts +1 -0
  183. package/dist/components/SPopover/README.md +15 -0
  184. package/dist/components/SPopup/README.md +26 -2
  185. package/dist/components/SPopup/SPopup.d.ts +13 -10
  186. package/dist/components/SPopup/index.d.ts +1 -1
  187. package/dist/components/SPortal/README.md +20 -0
  188. package/dist/components/SRadio/README.md +20 -0
  189. package/dist/components/SRadioButton/README.md +27 -0
  190. package/dist/components/SRadioButton/SRadioButton.d.ts +17 -3
  191. package/dist/components/SRadioCard/README.md +78 -0
  192. package/dist/components/SRadioCard/SRadioCard.d.ts +29 -0
  193. package/dist/components/SRadioCard/SRadioCardGroup.d.ts +36 -0
  194. package/dist/components/SRadioCard/index.d.ts +2 -0
  195. package/dist/components/SScrollArea/README.md +28 -0
  196. package/dist/components/SScrollArea/SScrollArea.d.ts +17 -0
  197. package/dist/components/SSearchInput/README.md +19 -4
  198. package/dist/components/SSearchInput/SSearchInput.d.ts +11 -5
  199. package/dist/components/SSectionHeaderCard/README.md +38 -0
  200. package/dist/components/SSectionHeaderCard/SSectionHeaderCard.d.ts +19 -0
  201. package/dist/components/SSelect/README.md +64 -11
  202. package/dist/components/SSelect/SSelect.d.ts +135 -15
  203. package/dist/components/SSelect/index.d.ts +1 -1
  204. package/dist/components/SSelect/select.config.d.ts +17 -0
  205. package/dist/components/SSkeleton/README.md +67 -0
  206. package/dist/components/SSkeleton/SSkeleton.d.ts +43 -0
  207. package/dist/components/SSkeleton/index.d.ts +2 -0
  208. package/dist/components/SSkeleton/skeleton.config.d.ts +24 -0
  209. package/dist/components/SSlider/README.md +86 -0
  210. package/dist/components/SSlider/SSlider.d.ts +149 -0
  211. package/dist/components/SSlider/index.d.ts +1 -0
  212. package/dist/components/SSplitter/README.md +17 -2
  213. package/dist/components/SSplitter/SSplitter.d.ts +7 -3
  214. package/dist/components/SStepper/README.md +26 -0
  215. package/dist/components/SSwitch/README.md +13 -1
  216. package/dist/components/SSwitch/SSwitch.d.ts +1 -3
  217. package/dist/components/SSystemActionButton/README.md +246 -0
  218. package/dist/components/SSystemActionButton/SSystemActionButton.d.ts +167 -0
  219. package/dist/components/SSystemActionButton/index.d.ts +2 -0
  220. package/dist/components/SSystemActionButton/systemActionButton.config.d.ts +93 -0
  221. package/dist/components/STable/README.md +142 -20
  222. package/dist/components/STable/STable.d.ts +312 -46
  223. package/dist/components/STable/index.d.ts +1 -1
  224. package/dist/components/STableBar/README.md +1 -0
  225. package/dist/components/STableBar/STableBar.d.ts +8 -1
  226. package/dist/components/STabs/README.md +13 -1
  227. package/dist/components/STabs/STabs.d.ts +2 -2
  228. package/dist/components/STag/README.md +55 -0
  229. package/dist/components/STag/STag.d.ts +3 -1
  230. package/dist/components/STag/tag.config.d.ts +1 -1
  231. package/dist/components/STextLink/README.md +21 -1
  232. package/dist/components/STextLink/STextLink.d.ts +5 -1
  233. package/dist/components/STextarea/README.md +12 -5
  234. package/dist/components/STextarea/STextarea.d.ts +49 -6
  235. package/dist/components/STimePicker/README.md +19 -2
  236. package/dist/components/STimePicker/STimePicker.d.ts +36 -6
  237. package/dist/components/STimePicker/timepicker.config.d.ts +4 -2
  238. package/dist/components/STimeRangePicker/README.md +31 -2
  239. package/dist/components/STimeRangePicker/STimeRangePicker.d.ts +35 -6
  240. package/dist/components/STimeline/README.md +41 -0
  241. package/dist/components/STimeline/STimeline.d.ts +27 -0
  242. package/dist/components/STimeline/index.d.ts +1 -0
  243. package/dist/components/SToast/README.md +25 -1
  244. package/dist/components/SToast/SToast.d.ts +2 -2
  245. package/dist/components/SToggle/README.md +8 -0
  246. package/dist/components/SToggle/index.d.ts +1 -1
  247. package/dist/components/STooltip/README.md +27 -1
  248. package/dist/components/STooltip/STooltip.d.ts +1 -1
  249. package/dist/components/STree/README.md +42 -5
  250. package/dist/components/STree/STree.d.ts +18 -8
  251. package/dist/components/STree/STree.examples.d.ts +2 -0
  252. package/dist/components/STreeTable/README.md +49 -0
  253. package/dist/components/STreeTable/STreeTable.d.ts +70 -0
  254. package/dist/components/STreeTable/STreeTable.examples.d.ts +32 -0
  255. package/dist/components/STreeTable/index.d.ts +1 -0
  256. package/dist/docs/Gallery.d.ts +9 -0
  257. package/dist/docs/RecipeGallery.d.ts +13 -0
  258. package/dist/docs/gallery-previews.d.ts +24 -0
  259. package/dist/fonts/LICENSE.txt +94 -0
  260. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.0.woff2 +0 -0
  261. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.1.woff2 +0 -0
  262. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.10.woff2 +0 -0
  263. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.11.woff2 +0 -0
  264. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.12.woff2 +0 -0
  265. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.13.woff2 +0 -0
  266. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.14.woff2 +0 -0
  267. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.15.woff2 +0 -0
  268. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.16.woff2 +0 -0
  269. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.17.woff2 +0 -0
  270. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.18.woff2 +0 -0
  271. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.19.woff2 +0 -0
  272. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.2.woff2 +0 -0
  273. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.20.woff2 +0 -0
  274. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.21.woff2 +0 -0
  275. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.22.woff2 +0 -0
  276. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.23.woff2 +0 -0
  277. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.24.woff2 +0 -0
  278. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.25.woff2 +0 -0
  279. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.26.woff2 +0 -0
  280. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.27.woff2 +0 -0
  281. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.28.woff2 +0 -0
  282. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.29.woff2 +0 -0
  283. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.3.woff2 +0 -0
  284. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.30.woff2 +0 -0
  285. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.31.woff2 +0 -0
  286. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.32.woff2 +0 -0
  287. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.33.woff2 +0 -0
  288. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.34.woff2 +0 -0
  289. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.35.woff2 +0 -0
  290. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.36.woff2 +0 -0
  291. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.37.woff2 +0 -0
  292. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.38.woff2 +0 -0
  293. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.39.woff2 +0 -0
  294. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.4.woff2 +0 -0
  295. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.40.woff2 +0 -0
  296. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.41.woff2 +0 -0
  297. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.42.woff2 +0 -0
  298. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.43.woff2 +0 -0
  299. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.44.woff2 +0 -0
  300. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.45.woff2 +0 -0
  301. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.46.woff2 +0 -0
  302. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.47.woff2 +0 -0
  303. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.48.woff2 +0 -0
  304. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.49.woff2 +0 -0
  305. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.5.woff2 +0 -0
  306. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.50.woff2 +0 -0
  307. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.51.woff2 +0 -0
  308. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.52.woff2 +0 -0
  309. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.53.woff2 +0 -0
  310. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.54.woff2 +0 -0
  311. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.55.woff2 +0 -0
  312. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.56.woff2 +0 -0
  313. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.57.woff2 +0 -0
  314. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.58.woff2 +0 -0
  315. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.59.woff2 +0 -0
  316. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.6.woff2 +0 -0
  317. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.60.woff2 +0 -0
  318. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.61.woff2 +0 -0
  319. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.62.woff2 +0 -0
  320. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.63.woff2 +0 -0
  321. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.64.woff2 +0 -0
  322. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.65.woff2 +0 -0
  323. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.66.woff2 +0 -0
  324. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.67.woff2 +0 -0
  325. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.68.woff2 +0 -0
  326. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.69.woff2 +0 -0
  327. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.7.woff2 +0 -0
  328. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.70.woff2 +0 -0
  329. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.71.woff2 +0 -0
  330. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.72.woff2 +0 -0
  331. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.73.woff2 +0 -0
  332. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.74.woff2 +0 -0
  333. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.75.woff2 +0 -0
  334. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.76.woff2 +0 -0
  335. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.77.woff2 +0 -0
  336. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.78.woff2 +0 -0
  337. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.79.woff2 +0 -0
  338. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.8.woff2 +0 -0
  339. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.80.woff2 +0 -0
  340. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.81.woff2 +0 -0
  341. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.82.woff2 +0 -0
  342. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.83.woff2 +0 -0
  343. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.84.woff2 +0 -0
  344. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.85.woff2 +0 -0
  345. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.86.woff2 +0 -0
  346. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.87.woff2 +0 -0
  347. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.88.woff2 +0 -0
  348. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.89.woff2 +0 -0
  349. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.9.woff2 +0 -0
  350. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.90.woff2 +0 -0
  351. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.91.woff2 +0 -0
  352. package/dist/index.cjs +22926 -10831
  353. package/dist/index.cjs.map +1 -1
  354. package/dist/index.d.ts +25 -0
  355. package/dist/index.js +22836 -10830
  356. package/dist/index.js.map +1 -1
  357. package/dist/lib/chart/cartesian.d.ts +56 -0
  358. package/dist/lib/chart/frame.d.ts +21 -0
  359. package/dist/lib/chart/hover-dim.d.ts +19 -0
  360. package/dist/lib/chart/legend.d.ts +21 -0
  361. package/dist/lib/chart/palette.d.ts +28 -0
  362. package/dist/lib/chart/radial.d.ts +99 -0
  363. package/dist/lib/chart/scale.d.ts +26 -0
  364. package/dist/lib/chart/tooltip.d.ts +60 -0
  365. package/dist/lib/chart/types.d.ts +29 -0
  366. package/dist/lib/chart/use-element-size.d.ts +39 -0
  367. package/dist/lib/date.d.ts +11 -1
  368. package/dist/lib/depth-filter.d.ts +27 -0
  369. package/dist/lib/doc-sections.d.ts +35 -0
  370. package/dist/lib/dropdown-menu.d.ts +19 -0
  371. package/dist/lib/field-width.d.ts +31 -0
  372. package/dist/lib/floating-height.d.ts +15 -0
  373. package/dist/lib/global-overlay.d.ts +5 -0
  374. package/dist/lib/hover-preview.d.ts +32 -0
  375. package/dist/lib/inert.d.ts +11 -0
  376. package/dist/lib/overlay-scrollbar.d.ts +32 -0
  377. package/dist/lib/row-metrics.d.ts +61 -0
  378. package/dist/lib/story-docs.d.ts +19 -3
  379. package/dist/llms-full.txt +8447 -557
  380. package/dist/llms.txt +4148 -304
  381. package/dist/playground/categories.d.ts +19 -0
  382. package/dist/pretendard.css +937 -0
  383. package/dist/recipes/AppShell.d.ts +21 -0
  384. package/dist/recipes/CategoryManagePage.d.ts +1 -0
  385. package/dist/recipes/ConsultConsolePage.d.ts +1 -0
  386. package/dist/recipes/ExcelFilePopupPage.d.ts +5 -0
  387. package/dist/recipes/LoginPage.d.ts +6 -0
  388. package/dist/recipes/ProductBulkUploadPage.d.ts +1 -0
  389. package/dist/recipes/ProductCreatePage.d.ts +1 -0
  390. package/dist/recipes/ProductCreateSectionsPage.d.ts +5 -0
  391. package/dist/recipes/ProductDetailInlineEditPage.d.ts +9 -0
  392. package/dist/recipes/ProductDetailPage.d.ts +1 -0
  393. package/dist/recipes/ProductListChipFilterPage.d.ts +1 -0
  394. package/dist/recipes/ProductListPage.d.ts +1 -0
  395. package/dist/recipes/ProductOverlayPage.d.ts +1 -0
  396. package/dist/recipes/SalesDashboardPage.d.ts +1 -0
  397. package/dist/recipes/SettingsPage.d.ts +1 -0
  398. package/dist/recipes/StoreSetupPage.d.ts +1 -0
  399. package/dist/recipes/TransferOrderPopupPage.d.ts +2 -0
  400. package/dist/recipes/api.d.ts +220 -0
  401. package/dist/recipes/recipe-story.d.ts +33 -0
  402. package/dist/recipes/router.d.ts +9 -0
  403. package/dist/styles.css +3663 -244
  404. package/dist/theme.css +620 -27
  405. package/eslint/index.mjs +44 -35
  406. package/eslint/lib/class-names.mjs +23 -25
  407. package/eslint/lib/table-column.mjs +34 -8
  408. package/eslint/rules/component-group-gap.mjs +32 -30
  409. package/eslint/rules/divider-vertical-height.mjs +137 -0
  410. package/eslint/rules/field-width-grade.mjs +69 -52
  411. package/eslint/rules/no-arbitrary-class.mjs +63 -20
  412. package/eslint/rules/no-off-scale-spacing.mjs +61 -41
  413. package/eslint/rules/no-raw-html-control.mjs +38 -36
  414. package/eslint/rules/prefer-typo-preset.mjs +23 -17
  415. package/eslint/rules/require-locale-number.mjs +14 -19
  416. package/eslint/rules/table-column-width.mjs +114 -0
  417. package/eslint/rules/table-numeric-align.mjs +14 -14
  418. package/eslint/scale.gen.mjs +6 -3
  419. package/package.json +20 -5
@@ -11,8 +11,10 @@
11
11
  | `label?` | `string` | `''` | 레이블 |
12
12
  | `icon?` | `SIconName` | — | 좌측 아이콘 |
13
13
  | `iconColor?` | `SColor` | — | 좌측 아이콘 색상. 팔레트 키(`grey_65`, `red_95` …) 또는 임의 CSS 색상 |
14
- | `labelClass?` | `string` | — | 레이블 span에 추가할 클래스 |
14
+ | `iconRotate?` | `0 \| 90 \| 180 \| 270` | — | 좌측 아이콘 회전 각도. 같은 아이콘을 방향만 바꿔 쓸 때 (`SIcon` 의 `rotate` 로 그대로 간다) |
15
+ | `labelClassName?` | `string` | — | 레이블 span에 추가할 클래스 |
15
16
  | `rightArrow?` | `STextLinkArrow` | `'none'` | 우측 화살표 |
17
+ | `rightArrowRotate?` | `0 \| 90 \| 180 \| 270` | — | 우측 화살표 회전 각도. 같은 화살표를 방향만 바꿔 쓸 때 (`SIcon` 의 `rotate` 로 그대로 간다) |
16
18
  | `underline?` | `boolean` | `false` | 밑줄 여부 |
17
19
  | `disabled?` | `boolean` | `false` | 비활성 |
18
20
  | `size?` | `STextLinkSize` | `'sm'` | 크기 |
@@ -24,13 +26,29 @@
24
26
  |-------|------|-------------|
25
27
  | `onClick` | `() => void` | |
26
28
 
29
+ ## Types
30
+
31
+ ### STextLinkArrow
32
+
33
+ ```ts
34
+ export type STextLinkArrow = 'none' | 'chevron' | 'caret';
35
+ ```
36
+
37
+ ### STextLinkSize
38
+
39
+ ```ts
40
+ export type STextLinkSize = 'sm' | 'md' | 'lg';
41
+ ```
42
+
27
43
  ## Dependencies
28
44
 
29
45
  ### Used by
30
46
 
31
47
  - [SChipFilter](../SChipFilter)
32
48
  - [SChipInput](../SChipInput)
49
+ - [SLauncherListBox](../SLauncherListBox)
33
50
  - [SPopover](../SPopover)
51
+ - [STable](../STable)
34
52
 
35
53
  ### Depends on
36
54
 
@@ -45,6 +63,8 @@ graph TD;
45
63
  STextLink --> STag
46
64
  SChipFilter --> STextLink
47
65
  SChipInput --> STextLink
66
+ SLauncherListBox --> STextLink
48
67
  SPopover --> STextLink
68
+ STable --> STextLink
49
69
  style STextLink fill:#f9f,stroke:#333,stroke-width:4px
50
70
  ```
@@ -10,10 +10,14 @@ export interface STextLinkProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'o
10
10
  icon?: SIconName;
11
11
  /** 좌측 아이콘 색상. 팔레트 키(`grey_65`, `red_95` …) 또는 임의 CSS 색상 */
12
12
  iconColor?: SColor;
13
+ /** 좌측 아이콘 회전 각도. 같은 아이콘을 방향만 바꿔 쓸 때 (`SIcon` 의 `rotate` 로 그대로 간다) */
14
+ iconRotate?: 0 | 90 | 180 | 270;
13
15
  /** 레이블 span에 추가할 클래스 */
14
- labelClass?: string;
16
+ labelClassName?: string;
15
17
  /** 우측 화살표 */
16
18
  rightArrow?: STextLinkArrow;
19
+ /** 우측 화살표 회전 각도. 같은 화살표를 방향만 바꿔 쓸 때 (`SIcon` 의 `rotate` 로 그대로 간다) */
20
+ rightArrowRotate?: 0 | 90 | 180 | 270;
17
21
  /** 밑줄 여부 */
18
22
  underline?: boolean;
19
23
  /** 비활성 */
@@ -9,14 +9,19 @@
9
9
  | Prop | Type | Default | Description |
10
10
  |------|------|---------|-------------|
11
11
  | `value?` | `string` | — | 값 (제어) |
12
- | `rows?` | `number` | `3` | 행 수 |
12
+ | `size?` | `SFieldSize` | `'sm'` | 크기 — `SInput` 등 다른 필드와 같은 등급이다. 글자 크기·행간·안쪽 여백·모서리가 함께 바뀐다. 한 줄 필드와 나란히 놓이는 자리라면 같은 등급으로 맞춘다. |
13
+ | `rows?` | `number` | `MIN_ROWS` | 행 수 — 기본 2줄이고, 그보다 크게 주면 그만큼 높아진다. 줄여도 `size` 가 정한 최소 높이(2줄) 아래로는 내려가지 않는다. |
14
+ | `autogrow?` | `boolean` | `false` | 입력 내용에 맞춰 높이가 늘어난다 — 스크롤 대신 필드가 자란다. 켜면 모서리를 끌어 크기를 바꾸는 손잡이가 사라진다. 사용자가 늘려 둔 높이를 다음 타이핑이 도로 계산해 버려, 둘을 함께 두면 끌어도 제자리로 돌아가는 것처럼 보이기 때문이다. **상한을 정하려면 `maxRows` 를 함께 준다.** 상한이 없으면 긴 글에서 필드가 끝없이 자라 모달·드로어에서는 아래쪽 버튼을 화면 밖으로 밀어낸다. |
15
+ | `maxRows?` | `number` | — | `autogrow` 의 상한(줄 수). 여기 닿으면 더 자라지 않고 그 안에서 스크롤한다. `autogrow` 가 꺼져 있으면 아무 일도 하지 않는다. |
13
16
  | `rules?` | `Rule[]` | — | 유효성 규칙 — blur 시 자동 검증 |
14
17
  | `status?` | `SFieldStatus` | — | 필드 상태 ('default' | 'pass' | 'error') |
15
- | `focused?` | `boolean` | — | 포커스 상태 (제어/반영) |
16
- | `hovered?` | `boolean` | — | 호버 상태 (제어/반영) |
17
- | `textareaClass?` | `string` | — | 내부 textarea 요소 className |
18
+ | `focused?` | `boolean` | — | 포커스 상태를 밖에서 지정한다 — 강조 테두리·링이 즉시 걸린다 (SField 로 그대로 넘어간다) |
19
+ | `hovered?` | `boolean` | — | 호버 상태를 밖에서 지정한다 — 강조는 `focused` 와 같다 (SField 로 그대로 넘어간다) |
20
+ | `textareaClassName?` | `string` | — | 내부 textarea 요소 className |
18
21
  | `textareaStyle?` | `CSSProperties` | — | 내부 textarea 요소 style |
19
22
  | `label?` | `string` | — | |
23
+ | `labelPosition?` | `SFieldLabelPosition` | — | 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다). |
24
+ | `subLabel?` | `string` | — | 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다). |
20
25
  | `labelWidth?` | `number \| string` | — | |
21
26
  | `icon?` | `SIconName` | — | 레이블 영역 아이콘 |
22
27
  | `iconColor?` | `SColor` | — | |
@@ -27,7 +32,7 @@
27
32
  | `hint?` | `string` | — | |
28
33
  | `error?` | `boolean` | — | |
29
34
  | `errorMessage?` | `string` | — | |
30
- | `width?` | `number \| string` | — | |
35
+ | `width?` | `SFieldWidth` | — | 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이. 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다. 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다. |
31
36
  | `disabled?` | `boolean` | `false` | |
32
37
  | `readOnly?` | `boolean` | `false` | |
33
38
  | `className?` | `string` | — | |
@@ -44,6 +49,7 @@
44
49
 
45
50
  ### Used by
46
51
 
52
+ - [SChatInput](../SChatInput)
47
53
  - [SKeyValueTable](../SKeyValueTable)
48
54
 
49
55
  ### Depends on
@@ -55,6 +61,7 @@
55
61
  ```mermaid
56
62
  graph TD;
57
63
  STextarea --> SField
64
+ SChatInput --> STextarea
58
65
  SKeyValueTable --> STextarea
59
66
  style STextarea fill:#f9f,stroke:#333,stroke-width:4px
60
67
  ```
@@ -1,9 +1,10 @@
1
1
  import { type TextareaHTMLAttributes, type CSSProperties } from 'react';
2
- import { type SFieldAddonAlign, type SFieldStatus } from '../SField';
2
+ import { type SFieldAddonAlign, type SFieldSize, type SFieldStatus, type SFieldLabelPosition } from '../SField';
3
3
  import { type SIconName } from '../SIcon';
4
4
  import { type SColor } from '../../lib/color';
5
5
  import { type Rule } from '../../lib/form';
6
6
  import { type STooltipProps } from '../STooltip';
7
+ import { type SFieldWidth } from '../../lib/field-width';
7
8
  export interface STextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'value' | 'onChange'> {
8
9
  /** 값 (제어) */
9
10
  value?: string;
@@ -11,21 +12,58 @@ export interface STextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextArea
11
12
  onValueChange?: (value: string) => void;
12
13
  /** 네이티브 onChange (form-agnostic) */
13
14
  onChange?: TextareaHTMLAttributes<HTMLTextAreaElement>['onChange'];
14
- /** 행 수 */
15
+ /**
16
+ * 크기 — `SInput` 등 다른 필드와 같은 등급이다. 글자 크기·행간·안쪽 여백·모서리가 함께 바뀐다.
17
+ * 한 줄 필드와 나란히 놓이는 자리라면 같은 등급으로 맞춘다.
18
+ */
19
+ size?: SFieldSize;
20
+ /**
21
+ * 행 수 — 기본 2줄이고, 그보다 크게 주면 그만큼 높아진다.
22
+ * 줄여도 `size` 가 정한 최소 높이(2줄) 아래로는 내려가지 않는다.
23
+ */
15
24
  rows?: number;
25
+ /**
26
+ * 입력 내용에 맞춰 높이가 늘어난다 — 스크롤 대신 필드가 자란다.
27
+ *
28
+ * 켜면 모서리를 끌어 크기를 바꾸는 손잡이가 사라진다. 사용자가 늘려 둔 높이를 다음 타이핑이
29
+ * 도로 계산해 버려, 둘을 함께 두면 끌어도 제자리로 돌아가는 것처럼 보이기 때문이다.
30
+ *
31
+ * **상한을 정하려면 `maxRows` 를 함께 준다.** 상한이 없으면 긴 글에서 필드가 끝없이 자라
32
+ * 모달·드로어에서는 아래쪽 버튼을 화면 밖으로 밀어낸다.
33
+ */
34
+ autogrow?: boolean;
35
+ /**
36
+ * `autogrow` 의 상한(줄 수). 여기 닿으면 더 자라지 않고 그 안에서 스크롤한다.
37
+ * `autogrow` 가 꺼져 있으면 아무 일도 하지 않는다.
38
+ */
39
+ maxRows?: number;
16
40
  /** 유효성 규칙 — blur 시 자동 검증 */
17
41
  rules?: Rule[];
18
42
  /** 필드 상태 ('default' | 'pass' | 'error') */
19
43
  status?: SFieldStatus;
20
- /** 포커스 상태 (제어/반영) */
44
+ /** 포커스 상태를 밖에서 지정한다 — 강조 테두리·링이 즉시 걸린다 (SField 로 그대로 넘어간다) */
21
45
  focused?: boolean;
22
- /** 호버 상태 (제어/반영) */
46
+ /** 호버 상태를 밖에서 지정한다 — 강조는 `focused` 와 같다 (SField 로 그대로 넘어간다) */
23
47
  hovered?: boolean;
24
48
  /** 내부 textarea 요소 className */
25
- textareaClass?: string;
49
+ textareaClassName?: string;
26
50
  /** 내부 textarea 요소 style */
27
51
  textareaStyle?: CSSProperties;
28
52
  label?: string;
53
+ /**
54
+ * 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다).
55
+ *
56
+ * @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
57
+ * 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
58
+ */
59
+ labelPosition?: SFieldLabelPosition;
60
+ /**
61
+ * 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다).
62
+ *
63
+ * @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
64
+ * 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
65
+ */
66
+ subLabel?: string;
29
67
  labelWidth?: number | string;
30
68
  /** 레이블 영역 아이콘 */
31
69
  icon?: SIconName;
@@ -41,7 +79,12 @@ export interface STextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextArea
41
79
  hint?: string;
42
80
  error?: boolean;
43
81
  errorMessage?: string;
44
- width?: number | string;
82
+ /**
83
+ * 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이.
84
+ * 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다.
85
+ * 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다.
86
+ */
87
+ width?: SFieldWidth;
45
88
  disabled?: boolean;
46
89
  readOnly?: boolean;
47
90
  className?: string;
@@ -14,13 +14,16 @@
14
14
  | `placeholder?` | `string` | `'00:00'` | |
15
15
  | `disabled?` | `boolean` | `false` | |
16
16
  | `clearable?` | `boolean` | `false` | |
17
- | `useMeridiem?` | `boolean` | — | 오전/오후 선택 표시 여부. 지정하지 않으면 type="midday"일 때만 켜집니다. |
17
+ | `showMeridiem?` | `boolean` | — | 오전/오후 선택 표시 여부. 지정하지 않으면 type="midday"일 때만 켜집니다. |
18
18
  | `minuteStep?` | `number` | `1` | |
19
- | `width?` | `number \| string` | — | |
19
+ | `width?` | `SFieldWidth` | — | 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이. 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다. 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다. |
20
+ | `maxWidth?` | `SFieldWidth` | — | 컨트롤 최대 너비 — 폭 등급 · 숫자=px · CSS 길이. 지정하지 않으면 값 길이(`HH:mm`)에 맞춘 내장 상한(`size='md'` → `lg`, `'sm'` → `md`)이 걸려, `width="100%"` 를 받아도 행 전체로 늘어나지 않는다. 팝오버처럼 폭이 이미 좁게 정해진 자리에서 그 폭을 그대로 채워야 하면 `width="100%"` 와 함께 `maxWidth="100%"` 를 준다. `0` 은 상한을 아예 걸지 않는다 — 부모보다 넓어지는 것까지 허용해야 할 때만 쓴다. |
20
21
  | `name?` | `string` | — | |
21
22
  | `rules?` | `Rule[]` | — | |
22
23
  | `status?` | `SFieldStatus` | — | |
23
24
  | `label?` | `string` | — | |
25
+ | `labelPosition?` | `SFieldLabelPosition` | — | 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다). |
26
+ | `subLabel?` | `string` | — | 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다). |
24
27
  | `labelWidth?` | `number \| string` | — | |
25
28
  | `icon?` | `SIconName` | — | |
26
29
  | `iconColor?` | `SColor` | — | |
@@ -41,6 +44,20 @@
41
44
  | `onValueChange` | `(time: string \| null) => void` | 선택 변경 (sdUpdate) |
42
45
  | `onOpenChange` | `(open: boolean) => void` | 열림/닫힘 변경 (sdDropDownShow) |
43
46
 
47
+ ## Types
48
+
49
+ ### STimePickerType
50
+
51
+ ```ts
52
+ export type STimePickerType = 'default' | 'midday';
53
+ ```
54
+
55
+ ### STimePickerSize
56
+
57
+ ```ts
58
+ export type STimePickerSize = 'sm' | 'md';
59
+ ```
60
+
44
61
  ## Dependencies
45
62
 
46
63
  ### Used by
@@ -1,10 +1,11 @@
1
1
  import { type CSSProperties } from 'react';
2
- import { type SFieldAddonAlign, type SFieldStatus } from '../SField';
2
+ import { type SFieldAddonAlign, type SFieldStatus, type SFieldLabelPosition } from '../SField';
3
3
  import { type SIconName } from '../SIcon';
4
4
  import { type SColor } from '../../lib/color';
5
5
  import { type Rule } from '../../lib/form';
6
6
  import { type STooltipProps } from '../STooltip';
7
7
  import { type STimePickerSize, type STimePickerType } from './timepicker.config';
8
+ import { type SFieldWidth } from '../../lib/field-width';
8
9
  export type { STimePickerSize, STimePickerType } from './timepicker.config';
9
10
  export interface STimePickerProps {
10
11
  /** 선택 시간 (HH:mm) */
@@ -20,13 +21,42 @@ export interface STimePickerProps {
20
21
  disabled?: boolean;
21
22
  clearable?: boolean;
22
23
  /** 오전/오후 선택 표시 여부. 지정하지 않으면 type="midday"일 때만 켜집니다. */
23
- useMeridiem?: boolean;
24
+ showMeridiem?: boolean;
24
25
  minuteStep?: number;
25
- width?: number | string;
26
+ /**
27
+ * 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이.
28
+ * 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다.
29
+ * 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다.
30
+ */
31
+ width?: SFieldWidth;
32
+ /**
33
+ * 컨트롤 최대 너비 — 폭 등급 · 숫자=px · CSS 길이. 지정하지 않으면 값 길이(`HH:mm`)에 맞춘
34
+ * 내장 상한(`size='md'` → `lg`, `'sm'` → `md`)이 걸려, `width="100%"` 를 받아도 행 전체로
35
+ * 늘어나지 않는다.
36
+ *
37
+ * 팝오버처럼 폭이 이미 좁게 정해진 자리에서 그 폭을 그대로 채워야 하면 `width="100%"` 와 함께
38
+ * `maxWidth="100%"` 를 준다. `0` 은 상한을 아예 걸지 않는다 — 부모보다 넓어지는 것까지 허용해야
39
+ * 할 때만 쓴다.
40
+ */
41
+ maxWidth?: SFieldWidth;
26
42
  name?: string;
27
43
  rules?: Rule[];
28
44
  status?: SFieldStatus;
29
45
  label?: string;
46
+ /**
47
+ * 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다).
48
+ *
49
+ * @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
50
+ * 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
51
+ */
52
+ labelPosition?: SFieldLabelPosition;
53
+ /**
54
+ * 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다).
55
+ *
56
+ * @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
57
+ * 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
58
+ */
59
+ subLabel?: string;
30
60
  labelWidth?: number | string;
31
61
  icon?: SIconName;
32
62
  iconColor?: SColor;
@@ -40,11 +70,11 @@ export interface STimePickerProps {
40
70
  className?: string;
41
71
  style?: CSSProperties;
42
72
  }
43
- export declare function TimeSelector({ value, useMeridiem, minuteStep, onChange, }: {
73
+ export declare function TimeSelector({ value, showMeridiem, minuteStep, onChange, }: {
44
74
  value?: string | null;
45
- useMeridiem: boolean;
75
+ showMeridiem: boolean;
46
76
  minuteStep: number;
47
77
  onChange: (time: string) => void;
48
78
  }): import("react").JSX.Element;
49
79
  /** STimePicker — sd-time-picker 포팅. SField + Popover(TimeSelector). */
50
- export declare function STimePicker({ value, onValueChange, onOpenChange, type, size, placeholder, disabled, clearable, useMeridiem, minuteStep, width, name, rules, status, label, labelWidth, icon, iconColor, labelTooltip, labelTooltipProps, addonLabel, addonAlign, hint, error, errorMessage, className, style, }: STimePickerProps): import("react").JSX.Element;
80
+ export declare function STimePicker({ value, onValueChange, onOpenChange, type, size, placeholder, disabled, clearable, showMeridiem, minuteStep, width, maxWidth, name, rules, status, label, labelPosition, subLabel, labelWidth, icon, iconColor, labelTooltip, labelTooltipProps, addonLabel, addonAlign, hint, error, errorMessage, className, style, }: STimePickerProps): import("react").JSX.Element;
@@ -1,3 +1,4 @@
1
+ import { type SFieldWidthGrade } from '../../lib/field-width';
1
2
  export type STimePickerSize = 'sm' | 'md';
2
3
  export type STimePickerType = 'default' | 'midday';
3
4
  export type STimePickerMeridiem = 'AM' | 'PM';
@@ -13,10 +14,11 @@ export declare const TIMEPICKER_SIZE_CONFIG: Record<STimePickerSize, {
13
14
  minWidth: number;
14
15
  fieldMinWidth: number;
15
16
  /**
16
- * 필드 상한. 값 길이가 HH:mm 으로 정해져 있어, width="100%" 를 받아도 행 전체로
17
+ * 필드 상한(폭 등급). 값 길이가 HH:mm 으로 정해져 있어, width="100%" 를 받아도 행 전체로
17
18
  * 늘어나지 않게 막는다 (SKeyValueTable 이 모든 컨트롤에 100% 를 넘긴다).
19
+ * px 가 아니라 등급으로 두어 `--cmp-field-width-*` 가 바뀌면 함께 따라가게 한다.
18
20
  */
19
- fieldMaxWidth: number;
21
+ fieldMaxWidth: SFieldWidthGrade;
20
22
  }>;
21
23
  export declare function clampTimePart(value: number, min: number, max: number): number;
22
24
  export declare function padTimePart(value: number): string;
@@ -14,14 +14,17 @@
14
14
  | `placeholder?` | `string` | `'00:00 ~ 23:59'` | |
15
15
  | `disabled?` | `boolean` | `false` | |
16
16
  | `clearable?` | `boolean` | `false` | |
17
- | `useMeridiem?` | `boolean` | — | 오전/오후 선택 표시 여부. 지정하지 않으면 type="midday"일 때만 켜집니다. |
17
+ | `showMeridiem?` | `boolean` | — | 오전/오후 선택 표시 여부. 지정하지 않으면 type="midday"일 때만 켜집니다. |
18
18
  | `minuteStep?` | `number` | `1` | |
19
19
  | `rangeOrder?` | `STimeRangePickerRangeOrder` | `'strict'` | 범위 순서 정책. strict는 시작 시간이 종료 시간보다 늦어지지 않도록 보정합니다. |
20
- | `width?` | `number \| string` | — | |
20
+ | `width?` | `SFieldWidth` | — | 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이. 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다. 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다. |
21
+ | `maxWidth?` | `SFieldWidth` | — | 컨트롤 최대 너비 — 폭 등급 · 숫자=px · CSS 길이. 지정하지 않으면 값 길이(`HH:mm ~ HH:mm`)에 맞춘 내장 상한이 걸려, `width="100%"` 를 받아도 행 전체로 늘어나지 않는다. 팝오버처럼 폭이 이미 좁게 정해진 자리에서 그 폭을 그대로 채워야 하면 `width="100%"` 와 함께 `maxWidth="100%"` 를 준다. `0` 은 상한을 아예 걸지 않는다 — 부모보다 넓어지는 것까지 허용해야 할 때만 쓴다. |
21
22
  | `name?` | `string` | — | |
22
23
  | `rules?` | `Rule[]` | — | |
23
24
  | `status?` | `SFieldStatus` | — | |
24
25
  | `label?` | `string` | — | |
26
+ | `labelPosition?` | `SFieldLabelPosition` | — | 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다). |
27
+ | `subLabel?` | `string` | — | 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다). |
25
28
  | `labelWidth?` | `number \| string` | — | |
26
29
  | `icon?` | `SIconName` | — | |
27
30
  | `iconColor?` | `SColor` | — | |
@@ -42,6 +45,32 @@
42
45
  | `onValueChange` | `(range: STimeRangeValue) => void` | 선택 변경 (sdUpdate) |
43
46
  | `onOpenChange` | `(open: boolean) => void` | 열림/닫힘 변경 (sdDropDownShow) |
44
47
 
48
+ ## Types
49
+
50
+ ### STimeRangeValue
51
+
52
+ ```ts
53
+ export type STimeRangeValue = [string, string] | null;
54
+ ```
55
+
56
+ ### STimeRangePickerType
57
+
58
+ ```ts
59
+ export type STimeRangePickerType = STimePickerType;
60
+ ```
61
+
62
+ ### STimeRangePickerSize
63
+
64
+ ```ts
65
+ export type STimeRangePickerSize = STimePickerSize;
66
+ ```
67
+
68
+ ### STimeRangePickerRangeOrder
69
+
70
+ ```ts
71
+ export type STimeRangePickerRangeOrder = 'strict' | 'allow-cross-day';
72
+ ```
73
+
45
74
  ## Dependencies
46
75
 
47
76
  ### Depends on
@@ -1,11 +1,12 @@
1
1
  import { type CSSProperties } from 'react';
2
- import { type SFieldAddonAlign, type SFieldStatus } from '../SField';
2
+ import { type SFieldAddonAlign, type SFieldStatus, type SFieldLabelPosition } from '../SField';
3
3
  import { type SIconName } from '../SIcon';
4
4
  import { type SColor } from '../../lib/color';
5
5
  import { type Rule } from '../../lib/form';
6
6
  import { type STooltipProps } from '../STooltip';
7
7
  import { type STimeRangePickerRangeOrder, type STimeRangePickerSize, type STimeRangePickerType, type STimeRangeValue } from './time-range-picker.config';
8
8
  export type { STimeRangePickerSize, STimeRangePickerRangeOrder, STimeRangePickerType, STimeRangeValue, } from './time-range-picker.config';
9
+ import { type SFieldWidth } from '../../lib/field-width';
9
10
  export interface STimeRangePickerProps {
10
11
  /** 선택 시간 범위 [시작, 종료] (HH:mm) */
11
12
  value?: STimeRangeValue;
@@ -20,15 +21,43 @@ export interface STimeRangePickerProps {
20
21
  disabled?: boolean;
21
22
  clearable?: boolean;
22
23
  /** 오전/오후 선택 표시 여부. 지정하지 않으면 type="midday"일 때만 켜집니다. */
23
- useMeridiem?: boolean;
24
+ showMeridiem?: boolean;
24
25
  minuteStep?: number;
25
26
  /** 범위 순서 정책. strict는 시작 시간이 종료 시간보다 늦어지지 않도록 보정합니다. */
26
27
  rangeOrder?: STimeRangePickerRangeOrder;
27
- width?: number | string;
28
+ /**
29
+ * 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이.
30
+ * 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다.
31
+ * 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다.
32
+ */
33
+ width?: SFieldWidth;
34
+ /**
35
+ * 컨트롤 최대 너비 — 폭 등급 · 숫자=px · CSS 길이. 지정하지 않으면 값 길이(`HH:mm ~ HH:mm`)에 맞춘
36
+ * 내장 상한이 걸려, `width="100%"` 를 받아도 행 전체로 늘어나지 않는다.
37
+ *
38
+ * 팝오버처럼 폭이 이미 좁게 정해진 자리에서 그 폭을 그대로 채워야 하면 `width="100%"` 와 함께
39
+ * `maxWidth="100%"` 를 준다. `0` 은 상한을 아예 걸지 않는다 — 부모보다 넓어지는 것까지 허용해야
40
+ * 할 때만 쓴다.
41
+ */
42
+ maxWidth?: SFieldWidth;
28
43
  name?: string;
29
44
  rules?: Rule[];
30
45
  status?: SFieldStatus;
31
46
  label?: string;
47
+ /**
48
+ * 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다).
49
+ *
50
+ * @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
51
+ * 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
52
+ */
53
+ labelPosition?: SFieldLabelPosition;
54
+ /**
55
+ * 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다).
56
+ *
57
+ * @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
58
+ * 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
59
+ */
60
+ subLabel?: string;
32
61
  labelWidth?: number | string;
33
62
  icon?: SIconName;
34
63
  iconColor?: SColor;
@@ -42,12 +71,12 @@ export interface STimeRangePickerProps {
42
71
  className?: string;
43
72
  style?: CSSProperties;
44
73
  }
45
- export declare function RangeTimeSelector({ value, useMeridiem, minuteStep, rangeOrder, onChange, }: {
74
+ export declare function RangeTimeSelector({ value, showMeridiem, minuteStep, rangeOrder, onChange, }: {
46
75
  value?: STimeRangeValue;
47
- useMeridiem: boolean;
76
+ showMeridiem: boolean;
48
77
  minuteStep: number;
49
78
  rangeOrder: STimeRangePickerRangeOrder;
50
79
  onChange: (range: [string, string]) => void;
51
80
  }): import("react").JSX.Element;
52
81
  /** STimeRangePicker — sd-time-range-picker 포팅. SField + Popover(RangeTimeSelector). */
53
- export declare function STimeRangePicker({ value, onValueChange, onOpenChange, type, size, placeholder, disabled, clearable, useMeridiem, minuteStep, rangeOrder, width, name, rules, status, label, labelWidth, icon, iconColor, labelTooltip, labelTooltipProps, addonLabel, addonAlign, hint, error, errorMessage, className, style, }: STimeRangePickerProps): import("react").JSX.Element;
82
+ export declare function STimeRangePicker({ value, onValueChange, onOpenChange, type, size, placeholder, disabled, clearable, showMeridiem, minuteStep, rangeOrder, width, maxWidth, name, rules, status, label, labelPosition, subLabel, labelWidth, icon, iconColor, labelTooltip, labelTooltipProps, addonLabel, addonAlign, hint, error, errorMessage, className, style, }: STimeRangePickerProps): import("react").JSX.Element;
@@ -0,0 +1,41 @@
1
+ # STimeline
2
+
3
+ > 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
4
+
5
+ ### STimeline
6
+
7
+ #### Props
8
+
9
+ | Prop | Type | Default | Description |
10
+ |------|------|---------|-------------|
11
+ | `groups` | `STimelineGroup[]` | — | 머리글로 묶은 항목 목록. 순서 그대로 그린다 |
12
+ | `emptyText?` | `ReactNode` | `'내역이 없습니다.'` | 항목이 하나도 없을 때 가운데 띄우는 안내. 불러오는 중에는 `null` 을 넘겨 빈 안내가 먼저 깜빡이지 않게 한다. |
13
+
14
+ ## Types
15
+
16
+ ### STimelineGroup
17
+
18
+ ```ts
19
+ export interface STimelineGroup {
20
+ /** React key. 생략하면 순서로 대신한다 */
21
+ key?: Key;
22
+ /** 묶음 머리글 (예: 날짜) */
23
+ heading: ReactNode;
24
+ /** 머리글 아래 항목. 비어 있으면 머리글째 그리지 않는다 */
25
+ entries: STimelineEntry[];
26
+ }
27
+ ```
28
+
29
+ ### STimelineEntry
30
+
31
+ ```ts
32
+ export interface STimelineEntry {
33
+ /** React key — 묶음 안에서 유일해야 한다 */
34
+ key: Key;
35
+ /** 레일 왼쪽 열에 오른쪽 정렬로 서는 시각 (예: `14:32`) */
36
+ time?: ReactNode;
37
+ /** 레일 오른쪽 본문. 타이포·색은 감싸는 쪽을 따른다 — 업무 내용은 소비 앱이 그린다 */
38
+ content: ReactNode;
39
+ }
40
+ ```
41
+
@@ -0,0 +1,27 @@
1
+ import { type HTMLAttributes, type Key, type ReactNode } from 'react';
2
+ export interface STimelineEntry {
3
+ /** React key — 묶음 안에서 유일해야 한다 */
4
+ key: Key;
5
+ /** 레일 왼쪽 열에 오른쪽 정렬로 서는 시각 (예: `14:32`) */
6
+ time?: ReactNode;
7
+ /** 레일 오른쪽 본문. 타이포·색은 감싸는 쪽을 따른다 — 업무 내용은 소비 앱이 그린다 */
8
+ content: ReactNode;
9
+ }
10
+ export interface STimelineGroup {
11
+ /** React key. 생략하면 순서로 대신한다 */
12
+ key?: Key;
13
+ /** 묶음 머리글 (예: 날짜) */
14
+ heading: ReactNode;
15
+ /** 머리글 아래 항목. 비어 있으면 머리글째 그리지 않는다 */
16
+ entries: STimelineEntry[];
17
+ }
18
+ export interface STimelineProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
19
+ /** 머리글로 묶은 항목 목록. 순서 그대로 그린다 */
20
+ groups: STimelineGroup[];
21
+ /**
22
+ * 항목이 하나도 없을 때 가운데 띄우는 안내.
23
+ * 불러오는 중에는 `null` 을 넘겨 빈 안내가 먼저 깜빡이지 않게 한다.
24
+ */
25
+ emptyText?: ReactNode;
26
+ }
27
+ export declare const STimeline: import("react").ForwardRefExoticComponent<STimelineProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1 @@
1
+ export { STimeline, type STimelineEntry, type STimelineGroup, type STimelineProps, } from './STimeline';
@@ -39,7 +39,7 @@
39
39
  | `link?` | `string` | — | 우측 링크 URL |
40
40
  | `linkLabel?` | `string` | — | 링크 레이블 (없으면 URL) |
41
41
  | `buttonLabel?` | `string` | — | 우측 버튼 레이블 |
42
- | `useClose?` | `boolean` | `false` | 닫기 버튼 표시 |
42
+ | `showClose?` | `boolean` | `false` | 닫기 버튼 표시 |
43
43
  | `type?` | `SToastType` | `'default'` | 타입(색상/프리셋) |
44
44
  | `className?` | `string` | — | |
45
45
  | `style?` | `CSSProperties` | — | |
@@ -51,6 +51,30 @@
51
51
  | `onClose` | `() => void` | 닫기 (sdClose) |
52
52
  | `onButtonClick` | `(e: MouseEvent) => void` | 버튼 클릭 (sdButtonClick) |
53
53
 
54
+ ## Types
55
+
56
+ ### SToastPosition
57
+
58
+ ```ts
59
+ export type SToastPosition =
60
+ 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
61
+ ```
62
+
63
+ ### SToastNotifyOptions
64
+
65
+ ```ts
66
+ export interface SToastNotifyOptions extends Omit<SToastProps, 'onClose'> {
67
+ /** 자동 닫힘 지연(ms). 0이면 자동 닫힘 없음 (없으면 defaultDuration) */
68
+ duration?: number;
69
+ }
70
+ ```
71
+
72
+ ### SToastType
73
+
74
+ ```ts
75
+ export type SToastType = 'default' | 'danger' | 'caution' | 'complete' | 'accent' | 'info';
76
+ ```
77
+
54
78
  ## Dependencies
55
79
 
56
80
  ### Depends on
@@ -13,7 +13,7 @@ export interface SToastProps {
13
13
  /** 우측 버튼 레이블 */
14
14
  buttonLabel?: string;
15
15
  /** 닫기 버튼 표시 */
16
- useClose?: boolean;
16
+ showClose?: boolean;
17
17
  /** 타입(색상/프리셋) */
18
18
  type?: SToastType;
19
19
  /** 닫기 (sdClose) */
@@ -24,4 +24,4 @@ export interface SToastProps {
24
24
  style?: CSSProperties;
25
25
  }
26
26
  /** SToast — sd-toast 포팅. 타입별 색상 + 아이콘/링크/버튼/닫기. */
27
- export declare function SToast({ icon, message, link, linkLabel, buttonLabel, useClose, type, onClose, onButtonClick, className, style, }: SToastProps): import("react").JSX.Element;
27
+ export declare function SToast({ icon, message, link, linkLabel, buttonLabel, showClose, type, onClose, onButtonClick, className, style, }: SToastProps): import("react").JSX.Element;
@@ -21,3 +21,11 @@
21
21
  |-------|------|-------------|
22
22
  | `onValueChange` | `(value: boolean) => void` | 변경 (sdUpdate) |
23
23
 
24
+ ## Types
25
+
26
+ ### SToggleSize
27
+
28
+ ```ts
29
+ export type SToggleSize = 'xs' | 'sm';
30
+ ```
31
+
@@ -1 +1 @@
1
- export { SToggle, type SToggleProps } from './SToggle';
1
+ export { SToggle, type SToggleProps, type SToggleSize } from './SToggle';