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
@@ -0,0 +1,105 @@
1
+ # SDonutChart
2
+
3
+ > 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
4
+
5
+ ### SDonutChart
6
+
7
+ #### Props
8
+
9
+ | Prop | Type | Default | Description |
10
+ |------|------|---------|-------------|
11
+ | `data` | `SDonutChartSlice[]` | — | 조각 목록. 주는 순서대로 12시에서 시계 방향으로 그린다 — 보통 큰 순으로 준다 |
12
+ | `title?` | `string` | — | 차트 제목 — 왼쪽 위에 놓인다 |
13
+ | `unit?` | `string` | — | 단위 — 오른쪽 위에 "단위 : " 를 붙여 놓는다 |
14
+ | `palette?` | `SDonutChartPalette` | `'multi'` | 색 팔레트. `custom` 일 때만 `colors` 를 본다 |
15
+ | `colors?` | `SDonutChartColor[]` | — | `palette='custom'` 에서 쓸 색 이름을 조각 순서대로. 조각보다 짧으면 앞에서부터 순환하고, 비어 있으면 `multi` 로 그린다 |
16
+ | `showValueLabel?` | `boolean` | `false` | 고리 위에 몫(%)을 적는다. 좁은 조각은 글자가 넘치므로 적지 않는다 |
17
+ | `showLegend?` | `boolean` | `true` | 범례를 보인다 |
18
+ | `legendPosition?` | `SDonutChartLegendPosition` | `'top'` | 범례 위치 |
19
+ | `legendVariant?` | `SDonutChartLegendVariant` | `'simple'` | 범례 모양. `simple` 이름만 가로로 · `default` 이름+값을 세로로 쌓는 목록 |
20
+ | `showTooltip?` | `boolean` | `true` | 조각에 마우스를 올리면 값 상자를 띄운다 |
21
+ | `formatValue?` | `(value: number) => string` | — | 값 표시 형식 |
22
+ | `tooltipFooter?` | `(slice: SDonutChartSlicePoint) => ReactNode` | — | 툴팁의 값 아래에 덧붙일 내용. 짚은 조각을 받아 그린다 — 몫·값만으로 모자란 맥락 (전월 대비, 건수 등)을 적는다. 툴팁은 누를 수 없으므로 버튼·링크는 넣지 않는다 |
23
+ | `className?` | `string` | — | 폭은 기본 100% 다. 폭을 정하려면 여기에 준다 — 그림은 그 폭의 정사각형이 된다 |
24
+ | `style?` | `CSSProperties` | — | |
25
+
26
+ #### Events
27
+
28
+ | Event | Type | Description |
29
+ |-------|------|-------------|
30
+ | `onSliceClick` | `(slice: SDonutChartSlicePoint) => void` | 조각을 눌렀을 때 |
31
+
32
+ ## Types
33
+
34
+ ### SDonutChartSlice
35
+
36
+ ```ts
37
+ /** 조각 하나 — 범례 한 줄에 대응한다. */
38
+ export interface SDonutChartSlice {
39
+ /** 범례·툴팁에 표시할 이름 */
40
+ name: string;
41
+ /** 값. 0·음수는 그리지 않는다 — 원은 전체에 대한 몫만 나타낼 수 있다 */
42
+ value: number;
43
+ }
44
+ ```
45
+
46
+ ### SDonutChartPalette
47
+
48
+ ```ts
49
+ /**
50
+ * 색 팔레트. 조각마다 색이 달라야 하므로 한 색(`default`)은 없다.
51
+ * - `multi` 서로 무관한 항목(11색)을 순서대로
52
+ * - `gradation` 한 지표의 단계(6색)를 진한 쪽부터 순서대로 — 조각을 큰 순으로 줄 때
53
+ * - `custom` `colors` 로 고른 색을 순서대로
54
+ */
55
+ export type SDonutChartPalette = 'multi' | 'gradation' | 'custom';
56
+ ```
57
+
58
+ ### SDonutChartColor
59
+
60
+ ```ts
61
+ /**
62
+ * `palette='custom'` 에서 고를 수 있는 색 이름.
63
+ * positive=늘어남 · negative=줄어듦 · neutral=변화 없음 을 뜻하므로 뜻에 맞게 고른다.
64
+ */
65
+ export type SDonutChartColor =
66
+ | 'positivePrimary'
67
+ | 'positiveSecondary'
68
+ | 'negativePrimary'
69
+ | 'negativeSecondary'
70
+ | 'neutralPrimary'
71
+ | 'neutralSecondary';
72
+ ```
73
+
74
+ ### SDonutChartLegendPosition
75
+
76
+ ```ts
77
+ /** 범례 위치. */
78
+ export type SDonutChartLegendPosition = 'top' | 'bottom';
79
+ ```
80
+
81
+ ### SDonutChartLegendVariant
82
+
83
+ ```ts
84
+ /**
85
+ * 범례 모양.
86
+ * - `simple` 이름만 가로로 나열한다 (값 없음)
87
+ * - `default` 이름 뒤에 값을 적어 세로로 쌓는 목록이다
88
+ */
89
+ export type SDonutChartLegendVariant = 'simple' | 'default';
90
+ ```
91
+
92
+ ### SDonutChartSlicePoint
93
+
94
+ ```ts
95
+ /** 클릭이 가리키는 조각. */
96
+ export interface SDonutChartSlicePoint {
97
+ /** `data` 안에서의 인덱스 */
98
+ index: number;
99
+ name: string;
100
+ value: number;
101
+ /** 그려진 조각 전체의 합에 대한 몫(0~1) */
102
+ ratio: number;
103
+ }
104
+ ```
105
+
@@ -0,0 +1,82 @@
1
+ import { type CSSProperties, type ReactNode } from 'react';
2
+ /** 범례 위치. */
3
+ export type SDonutChartLegendPosition = 'top' | 'bottom';
4
+ /**
5
+ * 범례 모양.
6
+ * - `simple` 이름만 가로로 나열한다 (값 없음)
7
+ * - `default` 이름 뒤에 값을 적어 세로로 쌓는 목록이다
8
+ */
9
+ export type SDonutChartLegendVariant = 'simple' | 'default';
10
+ /**
11
+ * 색 팔레트. 조각마다 색이 달라야 하므로 한 색(`default`)은 없다.
12
+ * - `multi` 서로 무관한 항목(11색)을 순서대로
13
+ * - `gradation` 한 지표의 단계(6색)를 진한 쪽부터 순서대로 — 조각을 큰 순으로 줄 때
14
+ * - `custom` `colors` 로 고른 색을 순서대로
15
+ */
16
+ export type SDonutChartPalette = 'multi' | 'gradation' | 'custom';
17
+ /**
18
+ * `palette='custom'` 에서 고를 수 있는 색 이름.
19
+ * positive=늘어남 · negative=줄어듦 · neutral=변화 없음 을 뜻하므로 뜻에 맞게 고른다.
20
+ */
21
+ export type SDonutChartColor = 'positivePrimary' | 'positiveSecondary' | 'negativePrimary' | 'negativeSecondary' | 'neutralPrimary' | 'neutralSecondary';
22
+ /** 조각 하나 — 범례 한 줄에 대응한다. */
23
+ export interface SDonutChartSlice {
24
+ /** 범례·툴팁에 표시할 이름 */
25
+ name: string;
26
+ /** 값. 0·음수는 그리지 않는다 — 원은 전체에 대한 몫만 나타낼 수 있다 */
27
+ value: number;
28
+ }
29
+ /** 클릭이 가리키는 조각. */
30
+ export interface SDonutChartSlicePoint {
31
+ /** `data` 안에서의 인덱스 */
32
+ index: number;
33
+ name: string;
34
+ value: number;
35
+ /** 그려진 조각 전체의 합에 대한 몫(0~1) */
36
+ ratio: number;
37
+ }
38
+ export interface SDonutChartProps {
39
+ /** 조각 목록. 주는 순서대로 12시에서 시계 방향으로 그린다 — 보통 큰 순으로 준다 */
40
+ data: SDonutChartSlice[];
41
+ /** 차트 제목 — 왼쪽 위에 놓인다 */
42
+ title?: string;
43
+ /** 단위 — 오른쪽 위에 "단위 : " 를 붙여 놓는다 */
44
+ unit?: string;
45
+ /** 색 팔레트. `custom` 일 때만 `colors` 를 본다 */
46
+ palette?: SDonutChartPalette;
47
+ /** `palette='custom'` 에서 쓸 색 이름을 조각 순서대로. 조각보다 짧으면 앞에서부터 순환하고, 비어 있으면 `multi` 로 그린다 */
48
+ colors?: SDonutChartColor[];
49
+ /** 고리 위에 몫(%)을 적는다. 좁은 조각은 글자가 넘치므로 적지 않는다 */
50
+ showValueLabel?: boolean;
51
+ /** 범례를 보인다 */
52
+ showLegend?: boolean;
53
+ /** 범례 위치 */
54
+ legendPosition?: SDonutChartLegendPosition;
55
+ /** 범례 모양. `simple` 이름만 가로로 · `default` 이름+값을 세로로 쌓는 목록 */
56
+ legendVariant?: SDonutChartLegendVariant;
57
+ /** 조각에 마우스를 올리면 값 상자를 띄운다 */
58
+ showTooltip?: boolean;
59
+ /** 값 표시 형식 */
60
+ formatValue?: (value: number) => string;
61
+ /** 조각을 눌렀을 때 */
62
+ onSliceClick?: (slice: SDonutChartSlicePoint) => void;
63
+ /**
64
+ * 툴팁의 값 아래에 덧붙일 내용. 짚은 조각을 받아 그린다 — 몫·값만으로 모자란 맥락
65
+ * (전월 대비, 건수 등)을 적는다. 툴팁은 누를 수 없으므로 버튼·링크는 넣지 않는다
66
+ */
67
+ tooltipFooter?: (slice: SDonutChartSlicePoint) => ReactNode;
68
+ /** 폭은 기본 100% 다. 폭을 정하려면 여기에 준다 — 그림은 그 폭의 정사각형이 된다 */
69
+ className?: string;
70
+ style?: CSSProperties;
71
+ }
72
+ /**
73
+ * SDonutChart — 도넛 그래프.
74
+ *
75
+ * 가운데가 빈 원그래프. `SPieChart` 와 같이 **한 시점의 전체를 몫으로 나눈 것**을 보여준다.
76
+ * 가운데 구멍에는 글자를 두지 않는다 — 합계 같은 값은 차트 바깥에 적는다.
77
+ * 조각이 대여섯 개를 넘거나 몫끼리 견주는 것이 목적이면 `SBarChart` 가 맞다.
78
+ *
79
+ * 폭은 부모를 따르고(기본 100%), 그림은 그 폭을 한 변으로 하는 정사각형이다.
80
+ * 구멍과 고리 두께도 폭에 비례해 늘고 준다.
81
+ */
82
+ export declare const SDonutChart: import("react").ForwardRefExoticComponent<SDonutChartProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1 @@
1
+ export { SDonutChart, type SDonutChartProps, type SDonutChartSlice, type SDonutChartSlicePoint, type SDonutChartPalette, type SDonutChartColor, type SDonutChartLegendPosition, } from './SDonutChart';
@@ -12,6 +12,7 @@
12
12
  | `supportingText?` | `SDraggableItemSlot` | — | 제목을 보조하는 텍스트 |
13
13
  | `supportingTextPosition?` | `SDraggableItemSupportingTextPosition` | `'right'` | 보조 텍스트 위치 |
14
14
  | `trailing?` | `SDraggableItemSlot` | — | 타이틀 뒤에 표시할 태그/콘텐츠 |
15
+ | `depth?` | `number` | `1` | 중첩 단계. `SListItem`·`SExpansionItem` 과 같은 들여쓰기 간격을 사용한다 |
15
16
  | `accentStripe?` | `boolean` | `false` | 아이템 왼쪽 accent stripe 표시 여부 |
16
17
  | `bordered?` | `boolean` | `false` | 외곽 테두리 사용 여부 |
17
18
  | `selected?` | `boolean` | `false` | 선택 상태 여부 |
@@ -29,6 +30,42 @@
29
30
  |-------|------|-------------|
30
31
  | `onDragHandleMouseDown` | `(event: MouseEvent<HTMLDivElement>) => void` | 드래그 핸들 mouse down 이벤트 |
31
32
 
33
+ ## Types
34
+
35
+ ### SDraggableItemSlot
36
+
37
+ ```ts
38
+ export type SDraggableItemSlot = ReactNode | SDraggableItemRenderProp;
39
+ ```
40
+
41
+ ### SDraggableItemSupportingTextPosition
42
+
43
+ ```ts
44
+ export type SDraggableItemSupportingTextPosition = 'right' | 'bottom';
45
+ ```
46
+
47
+ ### SDraggableItemSize
48
+
49
+ ```ts
50
+ export type SDraggableItemSize = 'sm' | 'md';
51
+ ```
52
+
53
+ ### SDraggableItemRenderProp
54
+
55
+ ```ts
56
+ export type SDraggableItemRenderProp = (state: SDraggableItemRenderState) => ReactNode;
57
+ ```
58
+
59
+ ### SDraggableItemRenderState
60
+
61
+ ```ts
62
+ export interface SDraggableItemRenderState {
63
+ hovered: boolean;
64
+ dragging: boolean;
65
+ disabled: boolean;
66
+ }
67
+ ```
68
+
32
69
  ## Dependencies
33
70
 
34
71
  ### Depends on
@@ -17,6 +17,8 @@ export interface SDraggableItemProps extends Omit<HTMLAttributes<HTMLDivElement>
17
17
  supportingTextPosition?: SDraggableItemSupportingTextPosition;
18
18
  /** 타이틀 뒤에 표시할 태그/콘텐츠 */
19
19
  trailing?: SDraggableItemSlot;
20
+ /** 중첩 단계. `SListItem`·`SExpansionItem` 과 같은 들여쓰기 간격을 사용한다 */
21
+ depth?: number;
20
22
  /** 아이템 왼쪽 accent stripe 표시 여부 */
21
23
  accentStripe?: boolean;
22
24
  /** 외곽 테두리 사용 여부 */
@@ -1 +1 @@
1
- export { SDraggableItem, type SDraggableItemProps, type SDraggableItemRenderProp, type SDraggableItemRenderState, type SDraggableItemSlot, type SDraggableItemSupportingTextPosition, } from './SDraggableItem';
1
+ export { SDraggableItem, type SDraggableItemProps, type SDraggableItemRenderProp, type SDraggableItemRenderState, type SDraggableItemSize, type SDraggableItemSlot, type SDraggableItemSupportingTextPosition, } from './SDraggableItem';
@@ -25,9 +25,13 @@
25
25
  | `items` | `T[]` | — | 현재 순서대로 렌더링할 아이템 목록 |
26
26
  | `getKey` | `(item: T, index: number) => string` | — | 아이템을 식별할 안정적인 key |
27
27
  | `renderItem` | `(item: T, index: number, state: SDraggableListRenderState) => ReactNode` | — | 아이템 렌더링 함수 |
28
- | `selectedKey?` | `string` | — | 외부에서 제어하는 selected 아이템 key |
29
- | `defaultSelectedKey?` | `string` | — | 초기 selected 아이템 key |
28
+ | `selectedKey?` | `string` | — | 외부에서 제어하는 selected 아이템 key. 이 셋(`selectedKey`·`defaultSelectedKey`·`onSelectedKeyChange`) 중 하나라도 주면 **행 선택이 켜진다** — 행이 `role="button"` 이 되어 클릭·Enter·Space 로 선택된다. 아무것도 주지 않으면 행은 아무 상호작용도 갖지 않는다. |
29
+ | `defaultSelectedKey?` | `string` | — | 초기 selected 아이템 key. 주면 행 선택이 켜진다 (`selectedKey` 참조) |
30
30
  | `getDisabled?` | `(item: T, index: number) => boolean` | — | disabled 아이템은 선택 및 드래그에서 제외 |
31
+ | `getDepth?` | `(item: T, index: number) => number` | — | 아이템의 중첩 단계. 기본값은 1 |
32
+ | `setDepth?` | `(item: T, depth: number) => T` | — | depth 변경이 필요한 드롭에서 다음 아이템을 만드는 함수 |
33
+ | `getCanHaveChildren?` | `(item: T, index: number) => boolean` | — | 하위 depth 를 가질 수 있는 아이템인지 판정 |
34
+ | `maxDepth?` | `number` | `3` | 허용할 최대 depth |
31
35
  | `listId?` | `string` | — | Provider 안에서 사용할 리스트 식별자 |
32
36
  | `group?` | `string` | — | 같은 group 값을 가진 리스트끼리 드래그 이벤트를 공유 |
33
37
 
@@ -36,7 +40,7 @@
36
40
  | Event | Type | Description |
37
41
  |-------|------|-------------|
38
42
  | `onChange` | `(items: T[]) => void` | 단독 리스트에서 드래그가 끝난 뒤 변경된 순서 |
39
- | `onSelectedKeyChange` | `(key: string) => void` | selected 아이템이 변경될 때 호출 |
43
+ | `onSelectedKeyChange` | `(key: string) => void` | selected 아이템이 변경될 때 호출. 주면 행 선택이 켜진다 (`selectedKey` 참조) |
40
44
 
41
45
  ### SDraggableProvider
42
46
 
@@ -46,6 +50,32 @@
46
50
  |------|------|---------|-------------|
47
51
  | `children` | `ReactNode` | — | |
48
52
 
53
+ ## Types
54
+
55
+ ### SDraggableGroupMoveEvent
56
+
57
+ ```ts
58
+ export interface SDraggableGroupMoveEvent {
59
+ group: string;
60
+ itemKey: string;
61
+ fromListId: string;
62
+ fromIndex: number;
63
+ toListId: string;
64
+ toIndex: number;
65
+ }
66
+ ```
67
+
68
+ ### SDraggableListRenderState
69
+
70
+ ```ts
71
+ export interface SDraggableListRenderState {
72
+ onDragHandleMouseDown: (event: MouseEvent<HTMLDivElement>) => void;
73
+ selected: boolean;
74
+ disabled: boolean;
75
+ depth: number;
76
+ }
77
+ ```
78
+
49
79
  ## Dependencies
50
80
 
51
81
  ### Depends on
@@ -3,7 +3,10 @@ import { type SListProps } from '../SList';
3
3
  export interface SDraggableListRenderState {
4
4
  onDragHandleMouseDown: (event: MouseEvent<HTMLDivElement>) => void;
5
5
  selected: boolean;
6
+ disabled: boolean;
7
+ depth: number;
6
8
  }
9
+ export type SDraggableListDropIntent = 'before' | 'inside' | 'after';
7
10
  export interface SDraggableListProps<T> extends Omit<SListProps, 'children' | 'onChange'> {
8
11
  /** 현재 순서대로 렌더링할 아이템 목록 */
9
12
  items: T[];
@@ -13,14 +16,26 @@ export interface SDraggableListProps<T> extends Omit<SListProps, 'children' | 'o
13
16
  renderItem: (item: T, index: number, state: SDraggableListRenderState) => ReactNode;
14
17
  /** 단독 리스트에서 드래그가 끝난 뒤 변경된 순서 */
15
18
  onChange?: (items: T[]) => void;
16
- /** 외부에서 제어하는 selected 아이템 key */
19
+ /**
20
+ * 외부에서 제어하는 selected 아이템 key.
21
+ * 이 셋(`selectedKey`·`defaultSelectedKey`·`onSelectedKeyChange`) 중 하나라도 주면 **행 선택이 켜진다** —
22
+ * 행이 `role="button"` 이 되어 클릭·Enter·Space 로 선택된다. 아무것도 주지 않으면 행은 아무 상호작용도 갖지 않는다.
23
+ */
17
24
  selectedKey?: string;
18
- /** 초기 selected 아이템 key */
25
+ /** 초기 selected 아이템 key. 주면 행 선택이 켜진다 (`selectedKey` 참조) */
19
26
  defaultSelectedKey?: string;
20
- /** selected 아이템이 변경될 때 호출 */
27
+ /** selected 아이템이 변경될 때 호출. 주면 행 선택이 켜진다 (`selectedKey` 참조) */
21
28
  onSelectedKeyChange?: (key: string) => void;
22
29
  /** disabled 아이템은 선택 및 드래그에서 제외 */
23
30
  getDisabled?: (item: T, index: number) => boolean;
31
+ /** 아이템의 중첩 단계. 기본값은 1 */
32
+ getDepth?: (item: T, index: number) => number;
33
+ /** depth 변경이 필요한 드롭에서 다음 아이템을 만드는 함수 */
34
+ setDepth?: (item: T, depth: number) => T;
35
+ /** 하위 depth 를 가질 수 있는 아이템인지 판정 */
36
+ getCanHaveChildren?: (item: T, index: number) => boolean;
37
+ /** 허용할 최대 depth */
38
+ maxDepth?: number;
24
39
  /** Provider 안에서 사용할 리스트 식별자 */
25
40
  listId?: string;
26
41
  /** 같은 group 값을 가진 리스트끼리 드래그 이벤트를 공유 */
@@ -1,2 +1,2 @@
1
- export { SDraggableList, type SDraggableListProps, type SDraggableListRenderState, } from './SDraggableList';
1
+ export { SDraggableList, type SDraggableListDropIntent, type SDraggableListProps, type SDraggableListRenderState, } from './SDraggableList';
2
2
  export { SDraggableProvider, SDraggableGroup, type SDraggableGroupMoveEvent, type SDraggableGroupProps, type SDraggableProviderProps, } from './SDraggableGroup';
@@ -29,6 +29,14 @@
29
29
  | `onClose` | `() => void` | 닫기(X) 버튼 클릭 |
30
30
  | `onWidthChange` | `(width: number) => void` | 너비가 확정될 때(드래그를 놓거나 방향키 조작). 드래그하는 동안에는 오지 않는다 |
31
31
 
32
+ ## Types
33
+
34
+ ### SDrawerButton
35
+
36
+ ```ts
37
+ export type SDrawerButton = SFooterButton;
38
+ ```
39
+
32
40
  ## Dependencies
33
41
 
34
42
  ### Depends on
@@ -33,6 +33,25 @@
33
33
  | `open` | `() => void` | 드롭다운 열기 (sdOpen) |
34
34
  | `close` | `() => void` | 드롭다운 닫기 (sdClose) |
35
35
 
36
+ ## Types
37
+
38
+ ### SDropdownButtonSize
39
+
40
+ ```ts
41
+ export type SDropdownButtonSize = 'xs' | 'sm' | 'md';
42
+ ```
43
+
44
+ ### SDropdownButtonItem
45
+
46
+ ```ts
47
+ export interface SDropdownButtonItem {
48
+ value: string | number;
49
+ label: string;
50
+ icon?: SIconName;
51
+ disabled?: boolean;
52
+ }
53
+ ```
54
+
36
55
  ## Dependencies
37
56
 
38
57
  ### Depends on
@@ -0,0 +1,48 @@
1
+ import { type CSSProperties, type RefObject } from 'react';
2
+ import { type SEditorToolbarItem } from './editor.config';
3
+ import type { SEditorHandle } from './SEditor';
4
+ import type { TiptapApi } from './tiptap-api';
5
+ export interface EditorBodyProps {
6
+ /** 다 불러온 tiptap — 이 컴포넌트는 준비된 뒤에만 마운트된다 */
7
+ api: TiptapApi;
8
+ value?: string;
9
+ defaultValue?: string;
10
+ /** 지금 화면에 있는 HTML. 껍데기(SEditor)가 규칙 검증·폼 제출에 쓴다 */
11
+ htmlRef: RefObject<string>;
12
+ /** 사용자가 고쳐서 값이 바뀌었다 (setHTML·clear 같은 프로그램 조작은 제외) */
13
+ onInput: (html: string) => void;
14
+ onFocusChange: (focused: boolean) => void;
15
+ /** 에디터 인스턴스가 생겼다 — 껍데기가 밀린 focus() 를 흘려보낸다 */
16
+ onReady: () => void;
17
+ placeholder: string;
18
+ editable: boolean;
19
+ disabled: boolean;
20
+ minHeight?: number | string;
21
+ maxHeight?: number | string;
22
+ toolbar: SEditorToolbarItem[];
23
+ /** 선택 영역 위에 뜨는 서식 판 — 편집할 수 있으면 언제나 뜬다 (SEditor 주석 참고) */
24
+ bubbleMenu: SEditorToolbarItem[];
25
+ onImageUpload?: (file: File) => Promise<string>;
26
+ editorClassName?: string;
27
+ editorStyle?: CSSProperties;
28
+ /**
29
+ * 편집 영역(contenteditable)의 id — SField 레이블이 이 id 로 본문을 가리킨다
30
+ *
31
+ * @nodemo 내부 전용(배럴로 내보내지 않음) — SEditor 가 `label` 에서 정해 넘기는 배선이다.
32
+ */
33
+ controlId: string;
34
+ /**
35
+ * SField 레이블이 그려졌는지. 그려졌을 때만 본문을 레이블 id 로 잇는다
36
+ *
37
+ * @nodemo 내부 전용(배럴로 내보내지 않음) — SEditor 가 `label` 에서 정해 넘기는 배선이다.
38
+ */
39
+ labelled: boolean;
40
+ }
41
+ /**
42
+ * SEditor 의 편집 영역 (내부 전용 — 배럴로 내보내지 않는다).
43
+ *
44
+ * tiptap 을 실제로 부리는 곳은 여기뿐이고, 그 tiptap 조차 `api` prop 으로 받는다.
45
+ * 이 파일이 `@tiptap/*` 을 정적으로 import 하면 그 순간 SEditor 를 쓰지 않는 소비 앱까지
46
+ * tiptap 이 번들에 남는다 (tiptap-api.ts 주석 참고) — 타입만 가져온다.
47
+ */
48
+ export declare const EditorBody: import("react").ForwardRefExoticComponent<EditorBodyProps & import("react").RefAttributes<SEditorHandle>>;
@@ -0,0 +1,93 @@
1
+ import type { Editor } from '@tiptap/core';
2
+ import { type SEditorHeadingLevel, type SEditorToolbarItem } from './editor.config';
3
+ import type { TiptapApi } from './tiptap-api';
4
+ /**
5
+ * 툴바 막대 — 엔진을 불러오는 동안 SEditor 가 같은 높이를 잡아 두는 데도 쓴다.
6
+ *
7
+ * **자리를 고정한다.** 긴 글을 쓰는 동안 막대가 화면 밖으로 나가면 서식을 걸 때마다 위로
8
+ * 되돌아가야 한다. 편집 영역이 자기 안에서 스크롤할 때(`maxHeight`)는 막대가 그 위에 있어
9
+ * 이미 남아 있고, 상한 없이 자라 페이지가 스크롤할 때는 `sticky` 가 화면 위쪽에 붙여 둔다.
10
+ *
11
+ * 글이 막대 아래로 지나가므로 배경을 칠해야 한다 — 필드가 상태(읽기전용·비활성)마다 다른
12
+ * 색을 쓰므로 값을 다시 적지 않고 `bg-inherit` 로 테두리 박스의 색을 그대로 받는다.
13
+ */
14
+ export declare const TOOLBAR_BAR_CLASS = "sticky top-0 z-[1] flex flex-wrap items-center gap-[2px] border-b border-solid bg-inherit px-[8px] py-[4px]";
15
+ export declare const TOOLBAR_BAR_STYLE: {
16
+ borderBottomColor: string;
17
+ };
18
+ /** 버튼의 눌림 표시에 필요한 것만 추린 에디터 상태 */
19
+ declare const readEditorState: (e: Editor) => {
20
+ heading: SEditorHeadingLevel | 0;
21
+ bold: boolean;
22
+ italic: boolean;
23
+ underline: boolean;
24
+ strike: boolean;
25
+ code: boolean;
26
+ alignLeft: boolean;
27
+ alignCenter: boolean;
28
+ alignRight: boolean;
29
+ alignJustify: boolean;
30
+ bulletList: boolean;
31
+ orderedList: boolean;
32
+ taskList: boolean;
33
+ blockquote: boolean;
34
+ codeBlock: boolean;
35
+ link: boolean;
36
+ inTable: boolean;
37
+ canMergeCells: boolean;
38
+ canSplitCell: boolean;
39
+ linkHref: string;
40
+ color: string;
41
+ fontSize: string;
42
+ canUndo: boolean;
43
+ canRedo: boolean;
44
+ };
45
+ export type EditorToolbarState = ReturnType<typeof readEditorState>;
46
+ /** 에디터가 아직 없을 때의 상태 — 아무것도 켜져 있지 않고 되돌릴 것도 없다 */
47
+ export declare const IDLE_TOOLBAR_STATE: EditorToolbarState;
48
+ export interface EditorToolbarBarProps {
49
+ /** 눌림 표시 — 에디터가 아직 없으면 `IDLE_TOOLBAR_STATE` */
50
+ state: EditorToolbarState;
51
+ /** 없으면 버튼을 눌러도 아무 일도 하지 않는다 (그때는 disabled 로 함께 잠근다) */
52
+ editor: Editor | null;
53
+ items: SEditorToolbarItem[];
54
+ /** 이미지 업로드 훅. 없으면 `image` 항목을 그리지 않는다 */
55
+ onImageUpload?: (file: File) => Promise<string>;
56
+ /** 편집 불가(비활성·읽기전용·엔진 로딩 중) — 모든 버튼을 잠근다 */
57
+ disabled: boolean;
58
+ /**
59
+ * `'bar'` 는 편집 영역 위에 붙는 막대, `'bubble'` 은 선택 영역 위에 뜨는 판이다.
60
+ * 그리는 버튼은 같고 담는 상자와 줄바꿈만 다르다.
61
+ */
62
+ variant?: 'bar' | 'bubble';
63
+ }
64
+ interface EditorToolbarProps extends Omit<EditorToolbarBarProps, 'state'> {
65
+ /** 동적으로 불러온 tiptap (useEditorState) */
66
+ api: TiptapApi;
67
+ }
68
+ /**
69
+ * 툴바 막대 (내부 전용 — 배럴로 내보내지 않는다).
70
+ *
71
+ * tiptap 을 모른다 — 눌림 상태는 `state` 로 받고 명령은 `editor` 가 있을 때만 나간다.
72
+ * 그래서 엔진을 불러오는 동안에도 SEditor 가 같은 막대를 그려 자리를 지킬 수 있다.
73
+ * 버튼 개수·아이콘이 같아야 줄바꿈까지 같아, 엔진이 붙는 순간 화면이 밀리지 않는다.
74
+ */
75
+ export declare function EditorToolbarBar({ state, editor, items, onImageUpload, disabled, variant, }: EditorToolbarBarProps): import("react").JSX.Element;
76
+ /**
77
+ * 버블 메뉴 — 글을 선택하면 그 위에 서식 판이 뜬다.
78
+ *
79
+ * tiptap Simple Editor 에는 없는 것이다(템플릿은 막대 하나뿐이다). 막대와 같은 버튼을
80
+ * 같은 코드로 그리고 담는 상자만 바꾼다 — 두 곳의 눌림 표시가 어긋날 일이 없다.
81
+ *
82
+ * 판은 `appendTo` 로 소속 모달(없으면 `body`)에 붙인다. 그대로 두면 tiptap 이 편집 영역의
83
+ * 부모에 붙이는데, 그 부모는 `maxHeight` 를 받으면 스크롤 상자가 되어 판 위쪽이 잘린다.
84
+ */
85
+ export declare function EditorBubbleMenu({ api, editor, ...rest }: EditorToolbarProps): import("react").JSX.Element | null;
86
+ /**
87
+ * SEditor 툴바 — 눌림 상태를 tiptap 에서 구독해 막대에 넘긴다.
88
+ *
89
+ * `useEditorState` 를 거치는 이유: tiptap v3 는 트랜잭션마다 리렌더하지 않으므로, 이걸
90
+ * 거치지 않으면 커서를 굵은 글자 위로 옮겨도 B 버튼이 켜지지 않는다.
91
+ */
92
+ export declare function EditorToolbar({ api, editor, ...rest }: EditorToolbarProps): import("react").JSX.Element;
93
+ export {};