sellmate-design-system-react 9.0.0-beta.8 → 9.0.0-beta.83

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 (412) hide show
  1. package/AGENTS.md +3982 -268
  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 +44 -0
  45. package/dist/components/SChatInput/SChatInput.d.ts +60 -0
  46. package/dist/components/SChatInput/index.d.ts +1 -0
  47. package/dist/components/SChatMessage/README.md +86 -0
  48. package/dist/components/SChatMessage/SChatMessage.d.ts +123 -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 +8 -0
  54. package/dist/components/SChip/README.md +25 -0
  55. package/dist/components/SChip/SChip.d.ts +8 -0
  56. package/dist/components/SChip/index.d.ts +1 -1
  57. package/dist/components/SChipFilter/README.md +369 -14
  58. package/dist/components/SChipFilter/SChipFilter.d.ts +169 -60
  59. package/dist/components/SChipFilter/index.d.ts +1 -1
  60. package/dist/components/SChipInput/README.md +18 -2
  61. package/dist/components/SChipInput/SChipInput.d.ts +23 -3
  62. package/dist/components/SChipInput/index.d.ts +1 -1
  63. package/dist/components/SCircleProgress/README.md +13 -2
  64. package/dist/components/SCircleProgress/SCircleProgress.d.ts +11 -3
  65. package/dist/components/SConfirmModal/README.md +13 -4
  66. package/dist/components/SConfirmModal/SConfirmModal.d.ts +46 -9
  67. package/dist/components/SContextAlert/README.md +52 -0
  68. package/dist/components/SContextAlert/SContextAlert.d.ts +51 -0
  69. package/dist/components/SContextAlert/contextAlert.config.d.ts +22 -0
  70. package/dist/components/SContextAlert/index.d.ts +2 -0
  71. package/dist/components/SDatePicker/README.md +22 -2
  72. package/dist/components/SDatePicker/SDatePicker.d.ts +42 -5
  73. package/dist/components/SDateRangePicker/README.md +22 -4
  74. package/dist/components/SDateRangePicker/SDateRangePicker.d.ts +44 -7
  75. package/dist/components/SDivider/README.md +7 -0
  76. package/dist/components/SDivider/SDivider.d.ts +11 -0
  77. package/dist/components/SDonutChart/README.md +105 -0
  78. package/dist/components/SDonutChart/SDonutChart.d.ts +82 -0
  79. package/dist/components/SDonutChart/index.d.ts +1 -0
  80. package/dist/components/SDraggableItem/README.md +37 -0
  81. package/dist/components/SDraggableItem/SDraggableItem.d.ts +2 -0
  82. package/dist/components/SDraggableItem/index.d.ts +1 -1
  83. package/dist/components/SDraggableList/README.md +33 -3
  84. package/dist/components/SDraggableList/SDraggableList.d.ts +18 -3
  85. package/dist/components/SDraggableList/index.d.ts +1 -1
  86. package/dist/components/SDrawer/README.md +8 -0
  87. package/dist/components/SDropdownButton/README.md +19 -0
  88. package/dist/components/SEditor/EditorBody.d.ts +36 -0
  89. package/dist/components/SEditor/EditorToolbar.d.ts +93 -0
  90. package/dist/components/SEditor/README.md +205 -0
  91. package/dist/components/SEditor/SEditor.d.ts +128 -0
  92. package/dist/components/SEditor/editor-icons.d.ts +63 -0
  93. package/dist/components/SEditor/editor.config.d.ts +119 -0
  94. package/dist/components/SEditor/index.d.ts +8 -0
  95. package/dist/components/SEditor/tiptap-api.d.ts +29 -0
  96. package/dist/components/SEditor/use-is-mobile.d.ts +14 -0
  97. package/dist/components/SExpansionItem/README.md +38 -2
  98. package/dist/components/SExpansionItem/SExpansionItem.d.ts +8 -2
  99. package/dist/components/SExpansionItem/index.d.ts +1 -1
  100. package/dist/components/SField/README.md +37 -5
  101. package/dist/components/SField/SField.d.ts +40 -8
  102. package/dist/components/SField/index.d.ts +1 -1
  103. package/dist/components/SFilePicker/README.md +20 -4
  104. package/dist/components/SFilePicker/SFilePicker.d.ts +26 -6
  105. package/dist/components/SFooter/README.md +44 -0
  106. package/dist/components/SFooter/SFooter.d.ts +29 -13
  107. package/dist/components/SFooter/index.d.ts +1 -1
  108. package/dist/components/SForm/README.md +12 -1
  109. package/dist/components/SForm/SForm.d.ts +2 -2
  110. package/dist/components/SGhostButton/README.md +28 -4
  111. package/dist/components/SGhostButton/SGhostButton.d.ts +4 -1
  112. package/dist/components/SGnb/README.md +109 -8
  113. package/dist/components/SGnb/SGnb.d.ts +112 -11
  114. package/dist/components/SGnb/gnb.config.d.ts +18 -5
  115. package/dist/components/SGnb/index.d.ts +1 -1
  116. package/dist/components/SGnbSystem/README.md +186 -0
  117. package/dist/components/SGnbSystem/SGnbSystem.d.ts +179 -0
  118. package/dist/components/SGnbSystem/gnbSystem.config.d.ts +122 -0
  119. package/dist/components/SGnbSystem/index.d.ts +2 -0
  120. package/dist/components/SGuide/README.md +16 -1
  121. package/dist/components/SGuide/SGuide.d.ts +5 -2
  122. package/dist/components/SIcon/README.md +20 -0
  123. package/dist/components/SIcon/SIcon.d.ts +1 -1
  124. package/dist/components/SIcon/icons.gen.d.ts +20 -1
  125. package/dist/components/SImage/README.md +23 -1
  126. package/dist/components/SImage/SImage.d.ts +11 -8
  127. package/dist/components/SInput/README.md +8 -4
  128. package/dist/components/SInput/SInput.d.ts +17 -5
  129. package/dist/components/SKeyValueTable/README.md +88 -0
  130. package/dist/components/SKeyValueTable/SKeyValueTable.d.ts +30 -3
  131. package/dist/components/SKeyValueTable/index.d.ts +1 -1
  132. package/dist/components/SLauncherListBox/README.md +82 -0
  133. package/dist/components/SLauncherListBox/SLauncherListBox.d.ts +80 -0
  134. package/dist/components/SLauncherListBox/index.d.ts +2 -0
  135. package/dist/components/SLauncherListBox/launcherListBox.config.d.ts +154 -0
  136. package/dist/components/SLayout/README.md +22 -1
  137. package/dist/components/SLayout/SLayout.d.ts +6 -2
  138. package/dist/components/SLayout/index.d.ts +1 -1
  139. package/dist/components/SLineChart/README.md +131 -0
  140. package/dist/components/SLineChart/SLineChart.d.ts +110 -0
  141. package/dist/components/SLineChart/index.d.ts +1 -0
  142. package/dist/components/SLineChart/lineChart.config.d.ts +95 -0
  143. package/dist/components/SLinearProgress/README.md +16 -1
  144. package/dist/components/SLinearProgress/SLinearProgress.d.ts +11 -2
  145. package/dist/components/SLinearProgress/index.d.ts +1 -1
  146. package/dist/components/SList/README.md +15 -2
  147. package/dist/components/SList/SList.d.ts +7 -3
  148. package/dist/components/SList/index.d.ts +1 -1
  149. package/dist/components/SListItem/README.md +43 -2
  150. package/dist/components/SListItem/SListItem.d.ts +8 -2
  151. package/dist/components/SListItem/index.d.ts +1 -1
  152. package/dist/components/SLoadingContainer/index.d.ts +1 -1
  153. package/dist/components/SLoadingContainer/loading.d.ts +41 -6
  154. package/dist/components/SLoadingModal/README.md +10 -2
  155. package/dist/components/SLoadingModal/SLoadingModal.d.ts +4 -4
  156. package/dist/components/SLoadingModal/index.d.ts +1 -1
  157. package/dist/components/SLoginCard/README.md +37 -0
  158. package/dist/components/SLoginCard/SLoginCard.d.ts +43 -0
  159. package/dist/components/SLoginCard/index.d.ts +1 -0
  160. package/dist/components/SLogo/README.md +103 -0
  161. package/dist/components/SLogo/SLogo.d.ts +72 -0
  162. package/dist/components/SLogo/index.d.ts +2 -0
  163. package/dist/components/SLogo/logo.config.d.ts +29 -0
  164. package/dist/components/SLogo/logos.d.ts +16 -0
  165. package/dist/components/SMeatballButton/README.md +67 -0
  166. package/dist/components/SMeatballButton/SMeatballButton.d.ts +36 -0
  167. package/dist/components/SMeatballButton/index.d.ts +1 -0
  168. package/dist/components/SModal/README.md +15 -5
  169. package/dist/components/SModal/SModal.d.ts +1 -1
  170. package/dist/components/SNumberInput/README.md +19 -8
  171. package/dist/components/SNumberInput/SNumberInput.d.ts +49 -7
  172. package/dist/components/SPage/README.md +105 -5
  173. package/dist/components/SPage/SPage.d.ts +34 -10
  174. package/dist/components/SPage/SPageHeader.d.ts +31 -13
  175. package/dist/components/SPage/index.d.ts +2 -2
  176. package/dist/components/SPage/page-column.d.ts +34 -0
  177. package/dist/components/SPage/page-width.d.ts +23 -0
  178. package/dist/components/SPage/page.config.d.ts +26 -0
  179. package/dist/components/SPieChart/README.md +93 -0
  180. package/dist/components/SPieChart/SPieChart.d.ts +73 -0
  181. package/dist/components/SPieChart/index.d.ts +1 -0
  182. package/dist/components/SPopover/README.md +15 -0
  183. package/dist/components/SPopup/README.md +26 -2
  184. package/dist/components/SPopup/SPopup.d.ts +13 -10
  185. package/dist/components/SPopup/index.d.ts +1 -1
  186. package/dist/components/SPortal/README.md +20 -0
  187. package/dist/components/SRadio/README.md +20 -0
  188. package/dist/components/SRadioButton/README.md +26 -0
  189. package/dist/components/SRadioButton/SRadioButton.d.ts +9 -2
  190. package/dist/components/SRadioCard/README.md +78 -0
  191. package/dist/components/SRadioCard/SRadioCard.d.ts +29 -0
  192. package/dist/components/SRadioCard/SRadioCardGroup.d.ts +36 -0
  193. package/dist/components/SRadioCard/index.d.ts +2 -0
  194. package/dist/components/SScrollArea/README.md +28 -0
  195. package/dist/components/SScrollArea/SScrollArea.d.ts +17 -0
  196. package/dist/components/SSearchInput/README.md +63 -0
  197. package/dist/components/SSearchInput/SSearchInput.d.ts +52 -0
  198. package/dist/components/SSearchInput/index.d.ts +1 -0
  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/SSplitter/README.md +17 -2
  210. package/dist/components/SSplitter/SSplitter.d.ts +7 -3
  211. package/dist/components/SStepper/README.md +26 -0
  212. package/dist/components/SSwitch/README.md +13 -1
  213. package/dist/components/SSwitch/SSwitch.d.ts +1 -3
  214. package/dist/components/SSystemActionButton/README.md +246 -0
  215. package/dist/components/SSystemActionButton/SSystemActionButton.d.ts +167 -0
  216. package/dist/components/SSystemActionButton/index.d.ts +2 -0
  217. package/dist/components/SSystemActionButton/systemActionButton.config.d.ts +93 -0
  218. package/dist/components/STable/README.md +135 -20
  219. package/dist/components/STable/STable.d.ts +292 -46
  220. package/dist/components/STable/index.d.ts +1 -1
  221. package/dist/components/STableBar/README.md +1 -0
  222. package/dist/components/STableBar/STableBar.d.ts +8 -1
  223. package/dist/components/STabs/README.md +13 -1
  224. package/dist/components/STabs/STabs.d.ts +2 -2
  225. package/dist/components/STag/README.md +55 -0
  226. package/dist/components/STag/STag.d.ts +3 -1
  227. package/dist/components/STag/tag.config.d.ts +1 -1
  228. package/dist/components/STextLink/README.md +21 -1
  229. package/dist/components/STextLink/STextLink.d.ts +5 -1
  230. package/dist/components/STextarea/README.md +12 -5
  231. package/dist/components/STextarea/STextarea.d.ts +49 -6
  232. package/dist/components/STimePicker/README.md +19 -2
  233. package/dist/components/STimePicker/STimePicker.d.ts +36 -6
  234. package/dist/components/STimePicker/timepicker.config.d.ts +4 -2
  235. package/dist/components/STimeRangePicker/README.md +31 -2
  236. package/dist/components/STimeRangePicker/STimeRangePicker.d.ts +35 -6
  237. package/dist/components/STimeline/README.md +41 -0
  238. package/dist/components/STimeline/STimeline.d.ts +27 -0
  239. package/dist/components/STimeline/index.d.ts +1 -0
  240. package/dist/components/SToast/README.md +25 -1
  241. package/dist/components/SToast/SToast.d.ts +2 -2
  242. package/dist/components/SToggle/README.md +8 -0
  243. package/dist/components/SToggle/index.d.ts +1 -1
  244. package/dist/components/STooltip/README.md +27 -1
  245. package/dist/components/STooltip/STooltip.d.ts +1 -1
  246. package/dist/components/STree/README.md +42 -4
  247. package/dist/components/STree/STree.d.ts +18 -6
  248. package/dist/components/STree/STree.examples.d.ts +2 -0
  249. package/dist/docs/Gallery.d.ts +9 -0
  250. package/dist/docs/RecipeGallery.d.ts +13 -0
  251. package/dist/docs/gallery-previews.d.ts +24 -0
  252. package/dist/fonts/LICENSE.txt +94 -0
  253. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.0.woff2 +0 -0
  254. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.1.woff2 +0 -0
  255. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.10.woff2 +0 -0
  256. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.11.woff2 +0 -0
  257. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.12.woff2 +0 -0
  258. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.13.woff2 +0 -0
  259. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.14.woff2 +0 -0
  260. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.15.woff2 +0 -0
  261. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.16.woff2 +0 -0
  262. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.17.woff2 +0 -0
  263. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.18.woff2 +0 -0
  264. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.19.woff2 +0 -0
  265. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.2.woff2 +0 -0
  266. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.20.woff2 +0 -0
  267. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.21.woff2 +0 -0
  268. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.22.woff2 +0 -0
  269. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.23.woff2 +0 -0
  270. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.24.woff2 +0 -0
  271. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.25.woff2 +0 -0
  272. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.26.woff2 +0 -0
  273. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.27.woff2 +0 -0
  274. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.28.woff2 +0 -0
  275. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.29.woff2 +0 -0
  276. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.3.woff2 +0 -0
  277. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.30.woff2 +0 -0
  278. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.31.woff2 +0 -0
  279. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.32.woff2 +0 -0
  280. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.33.woff2 +0 -0
  281. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.34.woff2 +0 -0
  282. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.35.woff2 +0 -0
  283. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.36.woff2 +0 -0
  284. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.37.woff2 +0 -0
  285. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.38.woff2 +0 -0
  286. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.39.woff2 +0 -0
  287. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.4.woff2 +0 -0
  288. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.40.woff2 +0 -0
  289. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.41.woff2 +0 -0
  290. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.42.woff2 +0 -0
  291. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.43.woff2 +0 -0
  292. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.44.woff2 +0 -0
  293. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.45.woff2 +0 -0
  294. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.46.woff2 +0 -0
  295. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.47.woff2 +0 -0
  296. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.48.woff2 +0 -0
  297. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.49.woff2 +0 -0
  298. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.5.woff2 +0 -0
  299. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.50.woff2 +0 -0
  300. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.51.woff2 +0 -0
  301. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.52.woff2 +0 -0
  302. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.53.woff2 +0 -0
  303. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.54.woff2 +0 -0
  304. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.55.woff2 +0 -0
  305. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.56.woff2 +0 -0
  306. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.57.woff2 +0 -0
  307. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.58.woff2 +0 -0
  308. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.59.woff2 +0 -0
  309. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.6.woff2 +0 -0
  310. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.60.woff2 +0 -0
  311. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.61.woff2 +0 -0
  312. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.62.woff2 +0 -0
  313. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.63.woff2 +0 -0
  314. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.64.woff2 +0 -0
  315. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.65.woff2 +0 -0
  316. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.66.woff2 +0 -0
  317. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.67.woff2 +0 -0
  318. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.68.woff2 +0 -0
  319. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.69.woff2 +0 -0
  320. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.7.woff2 +0 -0
  321. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.70.woff2 +0 -0
  322. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.71.woff2 +0 -0
  323. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.72.woff2 +0 -0
  324. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.73.woff2 +0 -0
  325. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.74.woff2 +0 -0
  326. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.75.woff2 +0 -0
  327. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.76.woff2 +0 -0
  328. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.77.woff2 +0 -0
  329. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.78.woff2 +0 -0
  330. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.79.woff2 +0 -0
  331. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.8.woff2 +0 -0
  332. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.80.woff2 +0 -0
  333. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.81.woff2 +0 -0
  334. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.82.woff2 +0 -0
  335. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.83.woff2 +0 -0
  336. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.84.woff2 +0 -0
  337. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.85.woff2 +0 -0
  338. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.86.woff2 +0 -0
  339. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.87.woff2 +0 -0
  340. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.88.woff2 +0 -0
  341. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.89.woff2 +0 -0
  342. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.9.woff2 +0 -0
  343. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.90.woff2 +0 -0
  344. package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.91.woff2 +0 -0
  345. package/dist/index.cjs +21921 -10715
  346. package/dist/index.cjs.map +1 -1
  347. package/dist/index.d.ts +24 -0
  348. package/dist/index.js +21834 -10714
  349. package/dist/index.js.map +1 -1
  350. package/dist/lib/chart/cartesian.d.ts +56 -0
  351. package/dist/lib/chart/frame.d.ts +21 -0
  352. package/dist/lib/chart/hover-dim.d.ts +19 -0
  353. package/dist/lib/chart/legend.d.ts +21 -0
  354. package/dist/lib/chart/palette.d.ts +28 -0
  355. package/dist/lib/chart/radial.d.ts +99 -0
  356. package/dist/lib/chart/scale.d.ts +26 -0
  357. package/dist/lib/chart/tooltip.d.ts +60 -0
  358. package/dist/lib/chart/types.d.ts +29 -0
  359. package/dist/lib/chart/use-element-size.d.ts +39 -0
  360. package/dist/lib/date.d.ts +2 -1
  361. package/dist/lib/depth-filter.d.ts +27 -0
  362. package/dist/lib/doc-sections.d.ts +35 -0
  363. package/dist/lib/dropdown-menu.d.ts +19 -0
  364. package/dist/lib/field-width.d.ts +31 -0
  365. package/dist/lib/floating-height.d.ts +15 -0
  366. package/dist/lib/global-overlay.d.ts +5 -0
  367. package/dist/lib/hover-preview.d.ts +32 -0
  368. package/dist/lib/inert.d.ts +11 -0
  369. package/dist/lib/overlay-scrollbar.d.ts +32 -0
  370. package/dist/lib/row-metrics.d.ts +61 -0
  371. package/dist/lib/story-docs.d.ts +19 -3
  372. package/dist/llms-full.txt +8620 -942
  373. package/dist/llms.txt +4069 -325
  374. package/dist/playground/categories.d.ts +19 -0
  375. package/dist/pretendard.css +937 -0
  376. package/dist/recipes/AppShell.d.ts +21 -0
  377. package/dist/recipes/CategoryManagePage.d.ts +1 -0
  378. package/dist/recipes/ConsultConsolePage.d.ts +1 -0
  379. package/dist/recipes/ExcelFilePopupPage.d.ts +5 -0
  380. package/dist/recipes/LoginPage.d.ts +6 -0
  381. package/dist/recipes/ProductBulkUploadPage.d.ts +1 -0
  382. package/dist/recipes/ProductCreatePage.d.ts +1 -0
  383. package/dist/recipes/ProductCreateSectionsPage.d.ts +5 -0
  384. package/dist/recipes/ProductDetailInlineEditPage.d.ts +9 -0
  385. package/dist/recipes/ProductDetailPage.d.ts +1 -0
  386. package/dist/recipes/ProductListChipFilterPage.d.ts +1 -0
  387. package/dist/recipes/ProductListPage.d.ts +1 -0
  388. package/dist/recipes/ProductOverlayPage.d.ts +1 -0
  389. package/dist/recipes/SalesDashboardPage.d.ts +1 -0
  390. package/dist/recipes/SettingsPage.d.ts +1 -0
  391. package/dist/recipes/StoreSetupPage.d.ts +1 -0
  392. package/dist/recipes/TransferOrderPopupPage.d.ts +2 -0
  393. package/dist/recipes/api.d.ts +220 -0
  394. package/dist/recipes/recipe-story.d.ts +33 -0
  395. package/dist/recipes/router.d.ts +9 -0
  396. package/dist/styles.css +3622 -248
  397. package/dist/theme.css +615 -26
  398. package/eslint/index.mjs +44 -35
  399. package/eslint/lib/class-names.mjs +23 -25
  400. package/eslint/lib/table-column.mjs +34 -8
  401. package/eslint/rules/component-group-gap.mjs +32 -30
  402. package/eslint/rules/divider-vertical-height.mjs +137 -0
  403. package/eslint/rules/field-width-grade.mjs +69 -52
  404. package/eslint/rules/no-arbitrary-class.mjs +63 -20
  405. package/eslint/rules/no-off-scale-spacing.mjs +61 -41
  406. package/eslint/rules/no-raw-html-control.mjs +38 -36
  407. package/eslint/rules/prefer-typo-preset.mjs +23 -17
  408. package/eslint/rules/require-locale-number.mjs +14 -19
  409. package/eslint/rules/table-column-width.mjs +114 -0
  410. package/eslint/rules/table-numeric-align.mjs +14 -14
  411. package/eslint/scale.gen.mjs +6 -3
  412. package/package.json +19 -5
@@ -11,11 +11,11 @@
11
11
  | `value?` | `SFilePickerValue` | `null` | |
12
12
  | `placeholder?` | `string` | `'Click to upload'` | |
13
13
  | `disabled?` | `boolean` | `false` | |
14
- | `focused?` | `boolean` | `false` | 포커스 상태 여부 |
15
- | `hovered?` | `boolean` | `false` | 호버 상태 여부 |
14
+ | `focused?` | `boolean` | `false` | 포커스 상태를 밖에서 지정한다 — 강조 테두리·링이 즉시 걸린다 (SField 로 그대로 넘어간다) |
15
+ | `hovered?` | `boolean` | `false` | 호버 상태를 밖에서 지정한다 — 강조는 `focused` 와 같다 (SField 로 그대로 넘어간다) |
16
16
  | `inline?` | `boolean` | `false` | 인라인 표시 — SField 테두리 박스만 사라지고 label/rules/hint 는 그대로 동작 |
17
17
  | `multiple?` | `boolean` | `false` | |
18
- | `useMultipleListBox?` | `boolean` | `false` | multiple 파일 목록을 필드 아래 칩 대신, caret(▼) 클릭 시 열리는 리스트박스 카드로 표시 (바깥 클릭 시 닫힘) |
18
+ | `showMultipleListBox?` | `boolean` | `false` | multiple 파일 목록을 필드 아래 칩 대신, caret(▼) 클릭 시 열리는 리스트박스 카드로 표시 (바깥 클릭 시 닫힘) |
19
19
  | `accept?` | `string` | — | |
20
20
  | `maxFileSize?` | `number \| string` | — | |
21
21
  | `maxTotalSize?` | `number \| string` | — | |
@@ -25,6 +25,8 @@
25
25
  | `status?` | `SFieldStatus` | — | |
26
26
  | `size?` | `SFieldSize` | `'sm'` | |
27
27
  | `label?` | `string` | — | |
28
+ | `labelPosition?` | `SFieldLabelPosition` | — | 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다). |
29
+ | `subLabel?` | `string` | — | 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다). |
28
30
  | `labelWidth?` | `number \| string` | — | |
29
31
  | `icon?` | `SIconName` | — | |
30
32
  | `iconColor?` | `SColor` | — | |
@@ -35,7 +37,7 @@
35
37
  | `hint?` | `string` | — | |
36
38
  | `error?` | `boolean` | — | |
37
39
  | `errorMessage?` | `string` | — | |
38
- | `width?` | `number \| string` | — | |
40
+ | `width?` | `SFieldWidth` | — | 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이. 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다. 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다. |
39
41
  | `className?` | `string` | — | |
40
42
  | `style?` | `CSSProperties` | — | |
41
43
 
@@ -46,6 +48,20 @@
46
48
  | `onValueChange` | `(value: SFilePickerValue) => void` | 파일 변경 (sdUpdate) |
47
49
  | `onReject` | `(detail: { files: File[]; reason: SFilePickerRejectReason }) => void` | 제한 초과 거부 (sdReject) |
48
50
 
51
+ ## Types
52
+
53
+ ### SFilePickerValue
54
+
55
+ ```ts
56
+ export type SFilePickerValue = File[] | File | null;
57
+ ```
58
+
59
+ ### SFilePickerRejectReason
60
+
61
+ ```ts
62
+ export type SFilePickerRejectReason = 'max-file-size' | 'max-total-size' | 'max-files';
63
+ ```
64
+
49
65
  ## Dependencies
50
66
 
51
67
  ### Used by
@@ -1,9 +1,10 @@
1
1
  import { type CSSProperties } from 'react';
2
- import { type SFieldSize, type SFieldAddonAlign, type SFieldStatus } from '../SField';
2
+ import { type SFieldSize, 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
+ import { type SFieldWidth } from '../../lib/field-width';
7
8
  export type SFilePickerValue = File[] | File | null;
8
9
  export type SFilePickerRejectReason = 'max-file-size' | 'max-total-size' | 'max-files';
9
10
  export interface SFilePickerProps {
@@ -17,15 +18,15 @@ export interface SFilePickerProps {
17
18
  }) => void;
18
19
  placeholder?: string;
19
20
  disabled?: boolean;
20
- /** 포커스 상태 여부 */
21
+ /** 포커스 상태를 밖에서 지정한다 — 강조 테두리·링이 즉시 걸린다 (SField 로 그대로 넘어간다) */
21
22
  focused?: boolean;
22
- /** 호버 상태 여부 */
23
+ /** 호버 상태를 밖에서 지정한다 — 강조는 `focused` 와 같다 (SField 로 그대로 넘어간다) */
23
24
  hovered?: boolean;
24
25
  /** 인라인 표시 — SField 테두리 박스만 사라지고 label/rules/hint 는 그대로 동작 */
25
26
  inline?: boolean;
26
27
  multiple?: boolean;
27
28
  /** multiple 파일 목록을 필드 아래 칩 대신, caret(▼) 클릭 시 열리는 리스트박스 카드로 표시 (바깥 클릭 시 닫힘) */
28
- useMultipleListBox?: boolean;
29
+ showMultipleListBox?: boolean;
29
30
  accept?: string;
30
31
  maxFileSize?: number | string;
31
32
  maxTotalSize?: number | string;
@@ -35,6 +36,20 @@ export interface SFilePickerProps {
35
36
  status?: SFieldStatus;
36
37
  size?: SFieldSize;
37
38
  label?: string;
39
+ /**
40
+ * 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다).
41
+ *
42
+ * @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
43
+ * 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
44
+ */
45
+ labelPosition?: SFieldLabelPosition;
46
+ /**
47
+ * 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다).
48
+ *
49
+ * @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
50
+ * 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
51
+ */
52
+ subLabel?: string;
38
53
  labelWidth?: number | string;
39
54
  icon?: SIconName;
40
55
  iconColor?: SColor;
@@ -45,9 +60,14 @@ export interface SFilePickerProps {
45
60
  hint?: string;
46
61
  error?: boolean;
47
62
  errorMessage?: string;
48
- width?: number | string;
63
+ /**
64
+ * 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이.
65
+ * 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다.
66
+ * 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다.
67
+ */
68
+ width?: SFieldWidth;
49
69
  className?: string;
50
70
  style?: CSSProperties;
51
71
  }
52
72
  /** SFilePicker — sd-file-picker 포팅. 단일/다중 파일 + 크기·개수 검증 + 칩 목록. */
53
- export declare function SFilePicker({ value, onValueChange, onReject, placeholder, disabled, focused, hovered, inline, multiple, useMultipleListBox, accept, maxFileSize, maxTotalSize, maxFiles, name, rules, status, size, label, labelWidth, icon, iconColor, labelTooltip, labelTooltipProps, addonLabel, addonAlign, hint, error, errorMessage, width, className, style, }: SFilePickerProps): import("react").JSX.Element;
73
+ export declare function SFilePicker({ value, onValueChange, onReject, placeholder, disabled, focused, hovered, inline, multiple, showMultipleListBox, accept, maxFileSize, maxTotalSize, maxFiles, name, rules, status, size, label, labelPosition, subLabel, labelWidth, icon, iconColor, labelTooltip, labelTooltipProps, addonLabel, addonAlign, hint, error, errorMessage, width, className, style, }: SFilePickerProps): import("react").JSX.Element;
@@ -9,6 +9,7 @@
9
9
  | Prop | Type | Default | Description |
10
10
  |------|------|---------|-------------|
11
11
  | `bg?` | `SFooterBg` | `'white'` | 배경색 |
12
+ | `size?` | `SFooterSize` | `'md'` | 크기. 기본은 `md` — 오버레이 하단 액션 영역의 크기다 |
12
13
  | `left?` | `ReactNode` | — | footer 좌측 slot |
13
14
  | `children?` | `ReactNode` | — | footer 좌측 slot. left와 함께 쓰면 left 뒤에 렌더된다 |
14
15
  | `button?` | `SFooterButton` | — | 우측 기본 액션 버튼 |
@@ -16,13 +17,54 @@
16
17
  | `leftClassName?` | `string` | — | |
17
18
  | `style?` | `CSSProperties` | — | |
18
19
 
20
+ ## Types
21
+
22
+ ### SFooterBg
23
+
24
+ ```ts
25
+ export type SFooterBg = 'white' | 'grey';
26
+ ```
27
+
28
+ ### SFooterSize
29
+
30
+ ```ts
31
+ /**
32
+ * footer 크기. 버튼 크기가 여기에 딸려 온다 — `md` 는 `SButton size="md"`, `sm` 은 `"sm"`.
33
+ *
34
+ * 버튼 크기를 따로 받지 않고 footer 자체를 분기하는 이유: 크기를 정하는 것은 버튼이 아니라
35
+ * **버튼이 놓인 자리**이기 때문이다 (AGENTS.md §3-5-2). 좌측 슬롯 버튼까지 한 벌로 맞춰야
36
+ * 하는데, 우측 버튼만 크기를 받으면 좌우가 어긋난 footer 를 만들 길이 열린다.
37
+ */
38
+ export type SFooterSize = 'sm' | 'md';
39
+ ```
40
+
41
+ ### SFooterButton
42
+
43
+ ```ts
44
+ /**
45
+ * footer 우측 기본 액션 버튼 설정 — `SButton` 의 prop 을 그대로 받는다.
46
+ *
47
+ * 골라 담은 부분집합으로 두지 않는 이유: `SButton` 에 prop 이 늘 때마다 이 목록만 조용히
48
+ * 뒤처져, 아이콘 하나 붙이려 해도 footer 에서는 길이 없는 상태가 된다.
49
+ *
50
+ * **`size` 만 뺀다.** 버튼 크기는 놓이는 위치가 정하므로 footer 의 `size` 가 정한다
51
+ * (AGENTS.md §3-5-2) — 버튼이 자기 크기를 따로 주장할 자리가 아니다.
52
+ *
53
+ * `label`·`color` 는 주지 않으면 footer 가 주 액션 기본값(`'확인'`·`'primary'`)으로 잡는다.
54
+ * 파괴적 액션이라 `danger` 가 필요한 경우는 열어 둔다 (§3-5-3).
55
+ */
56
+ export type SFooterButton = Omit<SButtonProps, 'size'>;
57
+ ```
58
+
19
59
  ## Dependencies
20
60
 
21
61
  ### Used by
22
62
 
23
63
  - [SActionModal](../SActionModal)
64
+ - [SCard](../SCard)
24
65
  - [SDrawer](../SDrawer)
25
66
  - [SPopup](../SPopup)
67
+ - [SSectionHeaderCard](../SSectionHeaderCard)
26
68
 
27
69
  ### Depends on
28
70
 
@@ -34,7 +76,9 @@
34
76
  graph TD;
35
77
  SFooter --> SButton
36
78
  SActionModal --> SFooter
79
+ SCard --> SFooter
37
80
  SDrawer --> SFooter
38
81
  SPopup --> SFooter
82
+ SSectionHeaderCard --> SFooter
39
83
  style SFooter fill:#f9f,stroke:#333,stroke-width:4px
40
84
  ```
@@ -1,21 +1,36 @@
1
1
  import { type CSSProperties, type ReactNode } from 'react';
2
- import { type SButtonColor, type SButtonSize } from '../SButton';
2
+ import { type SButtonProps } from '../SButton';
3
3
  export type SFooterBg = 'white' | 'grey';
4
- export interface SFooterButton {
5
- label?: string;
6
- color?: SButtonColor;
7
- outline?: boolean;
8
- size?: SButtonSize;
9
- disabled?: boolean;
10
- onClick?: () => void;
11
- }
4
+ /**
5
+ * footer 크기. 버튼 크기가 여기에 딸려 온다 — `md` 는 `SButton size="md"`, `sm` 은 `"sm"`.
6
+ *
7
+ * 버튼 크기를 따로 받지 않고 footer 자체를 분기하는 이유: 크기를 정하는 것은 버튼이 아니라
8
+ * **버튼이 놓인 자리**이기 때문이다 (AGENTS.md §3-5-2). 좌측 슬롯 버튼까지 한 벌로 맞춰야
9
+ * 하는데, 우측 버튼만 크기를 받으면 좌우가 어긋난 footer 를 만들 길이 열린다.
10
+ */
11
+ export type SFooterSize = 'sm' | 'md';
12
+ /**
13
+ * footer 우측 기본 액션 버튼 설정 — `SButton` 의 prop 을 그대로 받는다.
14
+ *
15
+ * 골라 담은 부분집합으로 두지 않는 이유: `SButton` 에 prop 이 늘 때마다 이 목록만 조용히
16
+ * 뒤처져, 아이콘 하나 붙이려 해도 footer 에서는 길이 없는 상태가 된다.
17
+ *
18
+ * **`size` 만 뺀다.** 버튼 크기는 놓이는 위치가 정하므로 footer 의 `size` 가 정한다
19
+ * (AGENTS.md §3-5-2) — 버튼이 자기 크기를 따로 주장할 자리가 아니다.
20
+ *
21
+ * `label`·`color` 는 주지 않으면 footer 가 주 액션 기본값(`'확인'`·`'primary'`)으로 잡는다.
22
+ * 파괴적 액션이라 `danger` 가 필요한 경우는 열어 둔다 (§3-5-3).
23
+ */
24
+ export type SFooterButton = Omit<SButtonProps, 'size'>;
12
25
  /**
13
26
  * @internal
14
- * 모달·드로어·팝업 하단 영역 공통 props.
27
+ * 모달·드로어·팝업·카드 하단 영역 공통 props.
15
28
  */
16
29
  export interface SFooterProps {
17
30
  /** 배경색 */
18
31
  bg?: SFooterBg;
32
+ /** 크기. 기본은 `md` — 오버레이 하단 액션 영역의 크기다 */
33
+ size?: SFooterSize;
19
34
  /** footer 좌측 slot */
20
35
  left?: ReactNode;
21
36
  /** footer 좌측 slot. left와 함께 쓰면 left 뒤에 렌더된다 */
@@ -27,10 +42,11 @@ export interface SFooterProps {
27
42
  style?: CSSProperties;
28
43
  }
29
44
  /**
30
- * SFooter — overlay 계열 내부 전용 footer.
45
+ * SFooter — 오버레이·카드 내부 전용 footer.
31
46
  *
32
47
  * @internal
33
- * SActionModal/SConfirmModal/SDrawer/SPopup 의 하단 액션 영역만 공통화한다.
48
+ * SActionModal/SConfirmModal/SDrawer/SPopup 과 SCard/SSectionHeaderCard 의 하단 액션 영역만
49
+ * 공통화한다. 소비자는 호스트 컴포넌트의 `footerLeft`·`button` prop 으로만 닿는다 —
34
50
  * 패키지 public export 에 추가하지 말 것.
35
51
  */
36
- export declare function SFooter({ bg, left, button, children, className, leftClassName, style, }: SFooterProps): import("react").JSX.Element;
52
+ export declare function SFooter({ bg, size, left, button, children, className, leftClassName, style, }: SFooterProps): import("react").JSX.Element;
@@ -1 +1 @@
1
- export { SFooter, type SFooterBg, type SFooterButton, type SFooterProps } from './SFooter';
1
+ export { SFooter, type SFooterBg, type SFooterButton, type SFooterProps, type SFooterSize, } from './SFooter';
@@ -8,7 +8,7 @@
8
8
 
9
9
  | Prop | Type | Default | Description |
10
10
  |------|------|---------|-------------|
11
- | `formClass?` | `string` | — | form 엘리먼트에 추가할 클래스 (sd-form formClass 대응) |
11
+ | `formClassName?` | `string` | — | form 엘리먼트에 추가할 클래스 (sd-form formClassName 대응) |
12
12
  | `children?` | `ReactNode` | — | |
13
13
  | `className?` | `string` | — | |
14
14
  | `style?` | `CSSProperties` | — | |
@@ -29,3 +29,14 @@
29
29
  | `reset` | `() => void` | resetValidation 별칭 — sd-form sdReset 대응. 값 리셋은 소비자(value/onChange) 책임 |
30
30
  | `focusFirstInvalid` | `() => void` | 첫 번째 실패 필드로 포커스 이동 |
31
31
 
32
+ ## Types
33
+
34
+ ### SFormValidationError
35
+
36
+ ```ts
37
+ export interface SFormValidationError {
38
+ /** 검증에 실패한 필드 name 목록 (DOM 순서) */
39
+ names: string[];
40
+ }
41
+ ```
42
+
@@ -15,8 +15,8 @@ export interface SFormHandle {
15
15
  focusFirstInvalid: () => void;
16
16
  }
17
17
  export interface SFormProps {
18
- /** form 엘리먼트에 추가할 클래스 (sd-form formClass 대응) */
19
- formClass?: string;
18
+ /** form 엘리먼트에 추가할 클래스 (sd-form formClassName 대응) */
19
+ formClassName?: string;
20
20
  /** 모든 필드 검증 통과 후 발생 (sd-form sdSubmit 대응) */
21
21
  onSubmit?: () => void;
22
22
  /** 검증 실패 시 실패한 필드 name 목록 전달 (sd-form sdValidationError 대응) */
@@ -27,24 +27,43 @@
27
27
  |-------|------|-------------|
28
28
  | `onClick` | `(e: MouseEvent<HTMLButtonElement>) => void` | 클릭 (sdClick) |
29
29
 
30
+ ## Types
31
+
32
+ ### SGhostButtonSize
33
+
34
+ ```ts
35
+ export type SGhostButtonSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg';
36
+ ```
37
+
38
+ ### SGhostButtonIntent
39
+
40
+ ```ts
41
+ export type SGhostButtonIntent = 'default' | 'danger' | 'action' | 'subAction' | 'inverse';
42
+ ```
43
+
30
44
  ## Dependencies
31
45
 
32
46
  ### Used by
33
47
 
34
48
  - [SBarcodeInput](../SBarcodeInput)
35
49
  - [SCalendar](../SCalendar)
50
+ - [SCalendarBoard](../SCalendarBoard)
51
+ - [SChatAttachedFile](../SChatAttachedFile)
52
+ - [SChatInput](../SChatInput)
36
53
  - [SChip](../SChip)
37
- - [SChipFilter](../SChipFilter)
54
+ - [SDatePicker](../SDatePicker)
38
55
  - [SDateRangePicker](../SDateRangePicker)
39
56
  - [SFilePicker](../SFilePicker)
40
57
  - [SGnb](../SGnb)
41
58
  - [SGuide](../SGuide)
42
59
  - [SInput](../SInput)
60
+ - [SMeatballButton](../SMeatballButton)
43
61
  - [SModalContainer](../SModalContainer)
44
62
  - [SOverlayHeader](../SOverlayHeader)
45
63
  - [SPage](../SPage)
46
64
  - [SPopover](../SPopover)
47
- - [SSelect](../SSelect)
65
+ - [SSearchInput](../SSearchInput)
66
+ - [STable](../STable)
48
67
  - [STimePicker](../STimePicker)
49
68
  - [STimeRangePicker](../STimeRangePicker)
50
69
  - [SToast](../SToast)
@@ -64,18 +83,23 @@ graph TD;
64
83
  SGhostButton --> STag
65
84
  SBarcodeInput --> SGhostButton
66
85
  SCalendar --> SGhostButton
86
+ SCalendarBoard --> SGhostButton
87
+ SChatAttachedFile --> SGhostButton
88
+ SChatInput --> SGhostButton
67
89
  SChip --> SGhostButton
68
- SChipFilter --> SGhostButton
90
+ SDatePicker --> SGhostButton
69
91
  SDateRangePicker --> SGhostButton
70
92
  SFilePicker --> SGhostButton
71
93
  SGnb --> SGhostButton
72
94
  SGuide --> SGhostButton
73
95
  SInput --> SGhostButton
96
+ SMeatballButton --> SGhostButton
74
97
  SModalContainer --> SGhostButton
75
98
  SOverlayHeader --> SGhostButton
76
99
  SPage --> SGhostButton
77
100
  SPopover --> SGhostButton
78
- SSelect --> SGhostButton
101
+ SSearchInput --> SGhostButton
102
+ STable --> SGhostButton
79
103
  STimePicker --> SGhostButton
80
104
  STimeRangePicker --> SGhostButton
81
105
  SToast --> SGhostButton
@@ -31,5 +31,8 @@ export interface SGhostButtonProps {
31
31
  /**
32
32
  * SGhostButton — sd-ghost-button 포팅. 아이콘 전용 투명 버튼.
33
33
  * hover 시 intent 색 오버레이(5%), focus-visible 링, 옵션 툴팁(회색 STag).
34
+ *
35
+ * ref 는 버튼 요소로 그대로 간다 — 이 버튼에 붙여 띄우는 층(SGnb 런처의 서비스 목록 등)이
36
+ * 버튼을 앵커로 삼아야 한다. 툴팁을 두른 형태에서도 앵커는 래퍼가 아니라 버튼이다.
34
37
  */
35
- export declare function SGhostButton({ icon, size, intent, ariaLabel, ariaPressed, ariaExpanded, tooltipText, disabled, onClick, anchorClassName, anchorStyle, className, style, }: SGhostButtonProps): import("react").JSX.Element;
38
+ export declare const SGhostButton: import("react").ForwardRefExoticComponent<SGhostButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -9,16 +9,17 @@
9
9
  | Prop | Type | Default | Description |
10
10
  |------|------|---------|-------------|
11
11
  | `type?` | `SGnbType` | — | 메뉴 스타일: box(라운드) / belt(풀폭 행). 미지정 시 SLayout 의 type 을 따른다. |
12
- | `header?` | `SGnbHeader` | — | 상단바 구조: fix(GNB 폭 고정) / full(레이아웃 전폭). 미지정 시 SLayout 의 header 를 따른다. 단, useRail 이고 레일에 children 없는 아이템이 있으면 메뉴 폭이 출렁이므로 full 로 강제된다. |
12
+ | `header?` | `SGnbHeader` | — | 상단바 구조: fix(GNB 폭 고정) / full(레이아웃 전폭). 미지정 시 SLayout 의 header 를 따른다. 단, showRail 이고 레일에 children 없는 아이템이 있으면 메뉴 폭이 출렁이므로 full 로 강제된다. |
13
13
  | `color?` | `SGnbColor` | `'light'` | 색상 테마: light / dark |
14
- | `items` | `SGnbMenuItem[]` | — | 메뉴 트리 (depth1 → depth2 → depth3). useRail 이면 첫 depth 가 레일이 되고 그 children 이 depth1 이 된다. |
15
- | `useRail?` | `boolean` | — | 좌측 레일 사용 여부. 켜면 items 의 첫 depth 가 아이콘+라벨 버튼의 세로 레일로 서고, 선택된 레일 아이템의 children 이 오른쪽 메뉴 패널에 깔린다. 미지정 시 SLayout 의 useRail 을 따른다. children 없는 레일 아이템이 활성이면 메뉴 패널은 렌더되지 않고 레일만 남는다. |
14
+ | `items` | `SGnbMenuItem[]` | — | 메뉴 트리 (depth1 → depth2 → depth3). showRail 이면 첫 depth 가 레일이 되고 그 children 이 depth1 이 된다. |
15
+ | `showRail?` | `boolean` | — | 좌측 레일 사용 여부. 켜면 items 의 첫 depth 가 아이콘+라벨 버튼의 세로 레일로 서고, 선택된 레일 아이템의 children 이 오른쪽 메뉴 패널에 깔린다. 미지정 시 SLayout 의 showRail 을 따른다. children 없는 레일 아이템이 활성이면 메뉴 패널은 렌더되지 않고 레일만 남는다. |
16
16
  | `value?` | `string` | `''` | 현재 선택된 아이템 value |
17
17
  | `folded?` | `boolean` | — | 접힘(레일) 상태. 미지정 시 SLayout 의 folded 를 따른다. |
18
- | `logo?` | `ReactNode` | — | 상단바 로고 영역 (slot). header="full" 이면 폭이 140px 로 고정된다. |
18
+ | `launcher?` | `SGnbLauncher` | — | 앱런처(그리드) 버튼. 미지정 시 런처 버튼을 렌더하지 않는다. 접힘 레일(fix)에는 폴드 버튼만 남으므로 표시되지 않는다. |
19
+ | `logo?` | `ReactNode` | — | 상단바 로고 영역 (slot). - `header="fix"` : 런처와 폴드 버튼 사이의 남은 폭이 로고 칸이다. `SLogo size="auto"` 를 넣으면 그 폭을 채운다(메뉴 폭을 바꿔도 따라온다). 넘치는 로고는 잘린다. - `header="full"` : 폭이 140px 로 고정된다. 여기서는 `size="auto"` 를 쓰지 않는다 — 높이(`size`)로 주고 140px 안에 들어가는 크기를 고른다. |
19
20
  | `topContent?` | `ReactNode` | — | 상단바 로고 오른쪽 슬롯 (검색·액션 등). 로고와 16px 띄고 남는 폭을 모두 차지하므로 안에서 자유롭게 정렬한다. 상단바가 전폭인 header="full" 에서만 렌더된다 (fix 는 상단바가 좁은 GNB 컬럼 안이라 놓을 자리가 없다). |
20
- | `railTop?` | `ReactNode` | — | 레일 상단 고정 슬롯. 레일 아이템이 많아 넘치면 아이템 목록(ul)만 스크롤되고 이 슬롯은 레일 상단(상단바 바로 아래)에 붙어 고정된다. useRail 일 때만 렌더된다. |
21
- | `railFooter?` | `ReactNode` | — | 레일 하단 고정 슬롯. 레일 아이템이 많아 넘치면 아이템 목록(ul)만 스크롤되고 이 슬롯은 레일 하단에 붙어 고정된다. useRail 일 때만 렌더된다. |
21
+ | `railTop?` | `ReactNode` | — | 레일 상단 고정 슬롯. 레일 아이템이 많아 넘치면 아이템 목록(ul)만 스크롤되고 이 슬롯은 레일 상단(상단바 바로 아래)에 붙어 고정된다. showRail 일 때만 렌더된다. |
22
+ | `railFooter?` | `ReactNode` | — | 레일 하단 고정 슬롯. 레일 아이템이 많아 넘치면 아이템 목록(ul)만 스크롤되고 이 슬롯은 레일 하단에 붙어 고정된다. showRail 일 때만 렌더된다. |
22
23
  | `menuTop?` | `ReactNode` | — | 메뉴 상단 고정 슬롯. 메뉴 아이템이 많아 넘치면 메뉴 목록(ul)만 스크롤되고 이 슬롯은 메뉴 상단에 붙어 고정된다. 메뉴가 렌더될 때만(showMenu) 나타난다. |
23
24
  | `menuFooter?` | `ReactNode` | — | 메뉴 하단 고정 슬롯. 메뉴 아이템이 많아 넘치면 메뉴 목록(ul)만 스크롤되고 이 슬롯은 메뉴 하단에 붙어 고정된다. 메뉴가 렌더될 때만(showMenu) 나타난다. |
24
25
  | `foldedTop?` | `ReactNode` | — | 접힘(fix 레일) 상단 고정 슬롯. 접으면 본문이 빠져나가며 rail/menu top 도 사라지므로, 48px 폴드 레일 상단(상단바 바로 아래)에 붙는 별도 슬롯이다. header="fix" 로 접혔을 때만 나타난다. |
@@ -26,6 +27,7 @@
26
27
  | `resizable?` | `boolean` | `false` | 메뉴 폭을 드래그로 조절할 수 있게 한다. 레일 폭은 고정이고 **메뉴 컬럼만** 늘고 준다. 조절선은 GNB 컬럼의 오른쪽 경계 전체다 — fix 는 상단바 높이까지, full 은 상단바가 전폭이라 본문 높이까지. 접혀 있거나 깔 메뉴가 없으면(레일 리프가 활성) 조절선이 나오지 않는다. |
27
28
  | `menuWidth?` | `number` | — | 메뉴 폭(px). 주면 controlled — onMenuWidthChange 로 직접 갱신해야 움직인다 |
28
29
  | `defaultMenuWidth?` | `number` | — | 메뉴 초기 폭(px). uncontrolled |
30
+ | `system?` | `ReactNode` | — | system 슬롯(`SGnbSystem`). 놓이는 자리와 형태는 `header` 가 정한다. - fix : GNB 맨 아래 세로 판. 펼치면 메뉴 컬럼 바닥에, 접히면 `foldedFooter` 아래 레일 바닥에 여백 없이 붙는다. showRail 에서 메뉴가 없는 레일 아이템이 활성이면 메뉴 컬럼째 사라지므로 이 슬롯도 함께 빠진다. - full: 전폭 상단바 오른쪽 끝에 가로 한 줄로 선다. 상단바는 접어도 남으므로 조각들도 늘 남는다. 색·형태는 GNB 가 내려주므로 SGnbSystem 에 다시 넘기지 않아도 된다. |
29
31
  | `ariaLabel?` | `string` | `'global navigation'` | 메뉴 landmark(nav) 의 접근성 레이블. 한 화면에 nav 가 여럿일 때 구분한다. |
30
32
 
31
33
  #### Events
@@ -34,17 +36,113 @@
34
36
  |-------|------|-------------|
35
37
  | `onValueChange` | `(value: string) => void` | 선택 변경 (sdUpdate) |
36
38
  | `onRailChange` | `(value: string) => void` | 레일 선택 변경. 레일 아이템을 눌러 패널이 바뀔 때 알린다(선택 상태는 SGnb 가 자체 관리). |
37
- | `onFoldChange` | `(folded: boolean) => void` | 접힘 토글 (sdFoldChange) |
38
- | `onLauncherClick` | `() => void` | 앱런처(그리드) 버튼 클릭. 미지정 시 런처 버튼을 렌더하지 않는다. 접힘 레일(fix)에는 폴드 버튼만 남으므로 표시되지 않는다. |
39
+ | `onFoldedChange` | `(folded: boolean) => void` | 접힘 토글 (sdFoldChange) |
39
40
  | `onMenuWidthChange` | `(width: number) => void` | 메뉴 폭이 확정될 때(드래그를 놓거나 방향키 조작). 드래그하는 동안에는 오지 않는다 |
40
41
 
42
+ ## Types
43
+
44
+ ### SGnbType
45
+
46
+ ```ts
47
+ /** 메뉴 스타일: box = 라운드/좁은 들여쓰기, belt = 풀폭 행/넓은 들여쓰기 */
48
+ export type SGnbType = 'box' | 'belt';
49
+ ```
50
+
51
+ ### SGnbHeader
52
+
53
+ ```ts
54
+ /** 상단바 구조: fix = GNB 폭에 고정, full = 레이아웃 전폭 */
55
+ export type SGnbHeader = 'fix' | 'full';
56
+ ```
57
+
58
+ ### SGnbColor
59
+
60
+ ```ts
61
+ /** 색상(테마): light / dark */
62
+ export type SGnbColor = 'light' | 'dark';
63
+ ```
64
+
65
+ ### SGnbMenuItem
66
+
67
+ ```ts
68
+ /** GNB 메뉴 아이템 (재귀 트리). depth1 → depth2 → depth3. */
69
+ export interface SGnbMenuItem {
70
+ /** 표시 텍스트 */
71
+ label: string;
72
+ /** 고유 식별값 (선택 상태 비교 기준) */
73
+ value: string;
74
+ /** depth1 전용 아이콘명 */
75
+ icon?: SIconName;
76
+ /** 우측 Tag 뱃지 텍스트 */
77
+ tag?: string;
78
+ /** 뱃지 색. 미지정 시 blue. */
79
+ tagColor?: STagColor;
80
+ /** 비활성 여부 */
81
+ disabled?: boolean;
82
+ /** 하위 아이템 (있으면 펼침/접힘 대상) */
83
+ children?: SGnbMenuItem[];
84
+ }
85
+ ```
86
+
87
+ ### SGnbLauncher
88
+
89
+ ```ts
90
+ /** 앱런처(그리드) 버튼 */
91
+ export interface SGnbLauncher {
92
+ /**
93
+ * 누르면 뜨는 서비스 목록(`SLauncherListBox`). 옮겨 갈 수 있는 서비스가 무엇인지는
94
+ * 서비스마다 다르지만 **뜨는 자리는 늘 같아야 하므로**, 방향·앵커·여닫힘(바깥 클릭·ESC 포함)과
95
+ * 배경·라운드·그림자는 컴포넌트가 쥐고 앱은 목록만 준다 — 런처 버튼 아래로, 버튼 왼쪽 끝에 맞춰 뜬다.
96
+ *
97
+ * 비면 목록이 뜨지 않는다 — 아직 목록을 못 받은 화면에서 빈 흰 상자가 뜨는 대신
98
+ * 버튼만 남고 `onClick` 은 그대로 온다.
99
+ */
100
+ items?: SLauncherListBoxItem[];
101
+ /** 런처 **버튼**을 누름. 목록은 어차피 열리므로, 여는 것 말고 따로 할 일이 있을 때만 준다 */
102
+ onClick?: () => void;
103
+ /**
104
+ * 목록에서 **서비스를 고름**. 고른 서비스 키가 온다.
105
+ *
106
+ * **여기서 화면을 옮기지 않는다** — 줄은 링크라 브라우저가 `href` 를 새 탭으로 이미 연다.
107
+ * 고른 것을 앱이 알아야 할 때만(기록 등) 준다. 고르면 목록은 할 일을 끝낸 것이라 스스로
108
+ * 닫힌다(`onOpenChange(false)` 도 함께 온다).
109
+ */
110
+ onSelect?: (service: SLauncherService) => void;
111
+ /**
112
+ * 셀메이트 콘솔 주소. 목록 아래에 **늘 서는** "셀메이트 콘솔로 이동" 글자 링크가 누르면 이 주소를
113
+ * 새 탭에서 연다(`SLauncherListBox` 의 `consoleHref`). **필수다** — 콘솔로 가는 길은 어느
114
+ * 서비스의 런처에나 있어야 한다. 목록(`items`)이 비면 목록째 뜨지 않으므로 이 링크도 뜨지 않는다.
115
+ */
116
+ consoleHref: string;
117
+ /**
118
+ * 콘솔 링크를 누름. `onSelect` 와 같이 **화면을 옮기지 않는다** — 컴포넌트가 새 탭으로 이미 연다.
119
+ * 누르면 목록은 스스로 닫힌다.
120
+ */
121
+ onConsoleClick?: () => void;
122
+ /**
123
+ * 목록이 열리고 닫힐 때. 여닫는 것은 런처 버튼이 스스로 하므로 **그 사실을 알아야 할 때만** 준다
124
+ * (연 김에 목록을 다시 불러오거나, 열려 있는 동안 다른 층을 접어 두는 화면).
125
+ *
126
+ * 앱이 누르지 않은 닫힘도 온다: `header="fix"` 에서 GNB 를 접으면 런처 버튼이 사라지므로
127
+ * 목록이 닫히고 `false` 가 온다.
128
+ */
129
+ onOpenChange?: (open: boolean) => void;
130
+ }
131
+ ```
132
+
41
133
  ## Dependencies
42
134
 
135
+ ### Used by
136
+
137
+ - [SGnbSystem](../SGnbSystem)
138
+
43
139
  ### Depends on
44
140
 
45
141
  - [SGhostButton](../SGhostButton)
46
142
  - [SIcon](../SIcon)
143
+ - [SLauncherListBox](../SLauncherListBox)
47
144
  - [SLayout](../SLayout)
145
+ - [SPortal](../SPortal)
48
146
  - [STag](../STag)
49
147
 
50
148
  ### Graph
@@ -53,7 +151,10 @@
53
151
  graph TD;
54
152
  SGnb --> SGhostButton
55
153
  SGnb --> SIcon
154
+ SGnb --> SLauncherListBox
56
155
  SGnb --> SLayout
156
+ SGnb --> SPortal
57
157
  SGnb --> STag
158
+ SGnbSystem --> SGnb
58
159
  style SGnb fill:#f9f,stroke:#333,stroke-width:4px
59
160
  ```