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
@@ -15,7 +15,7 @@
15
15
  | `placement?` | `STooltipPlacement` | `'top'` | 표시 방향 |
16
16
  | `sideOffset?` | `number` | `8` | 앵커와의 간격(px) |
17
17
  | `tooltipType?` | `STooltipType` | `'default'` | 배경/텍스트 색상 타입 |
18
- | `useClose?` | `boolean` | `false` | 우측 상단 닫기 버튼. 켜면 자동 닫힘이 비활성화되고 X(또는 hide())로만 닫힘 (hover·click 공통, `trigger='none'` 에서는 무시) |
18
+ | `showClose?` | `boolean` | `false` | 우측 상단 닫기 버튼. 켜면 자동 닫힘이 비활성화되고 X(또는 hide())로만 닫힘 (hover·click 공통, `trigger='none'` 에서는 무시) |
19
19
  | `disabled?` | `boolean` | `false` | 비활성 — 트리거만 렌더하고 툴팁을 열지 않음 |
20
20
  | `children?` | `ReactNode` | — | 커스텀 트리거. 없으면 아이콘 트리거를 렌더 |
21
21
  | `icon?` | `SIconName` | `'helpOutline'` | 기본(아이콘) 트리거 설정 |
@@ -40,15 +40,38 @@
40
40
  | `show` | `() => void` | 툴팁을 표시합니다. |
41
41
  | `hide` | `() => void` | 툴팁을 숨깁니다. |
42
42
 
43
+ ## Types
44
+
45
+ ### STooltipTrigger
46
+
47
+ ```ts
48
+ export type STooltipTrigger = 'hover' | 'click' | 'none';
49
+ ```
50
+
51
+ ### STooltipPlacement
52
+
53
+ ```ts
54
+ export type STooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
55
+ ```
56
+
57
+ ### STooltipType
58
+
59
+ ```ts
60
+ export type STooltipType = 'default' | 'danger' | 'warning' | 'accent';
61
+ ```
62
+
43
63
  ## Dependencies
44
64
 
45
65
  ### Used by
46
66
 
47
67
  - [SChipFilter](../SChipFilter)
48
68
  - [SField](../SField)
69
+ - [SGnbSystem](../SGnbSystem)
49
70
  - [SKeyValueTable](../SKeyValueTable)
71
+ - [SRadioButton](../SRadioButton)
50
72
  - [SSectionHeaderCard](../SSectionHeaderCard)
51
73
  - [SStepper](../SStepper)
74
+ - [STable](../STable)
52
75
 
53
76
  ### Depends on
54
77
 
@@ -63,8 +86,11 @@ graph TD;
63
86
  STooltip --> SIcon
64
87
  SChipFilter --> STooltip
65
88
  SField --> STooltip
89
+ SGnbSystem --> STooltip
66
90
  SKeyValueTable --> STooltip
91
+ SRadioButton --> STooltip
67
92
  SSectionHeaderCard --> STooltip
68
93
  SStepper --> STooltip
94
+ STable --> STooltip
69
95
  style STooltip fill:#f9f,stroke:#333,stroke-width:4px
70
96
  ```
@@ -22,7 +22,7 @@ export interface STooltipProps {
22
22
  /** 배경/텍스트 색상 타입 */
23
23
  tooltipType?: STooltipType;
24
24
  /** 우측 상단 닫기 버튼. 켜면 자동 닫힘이 비활성화되고 X(또는 hide())로만 닫힘 (hover·click 공통, `trigger='none'` 에서는 무시) */
25
- useClose?: boolean;
25
+ showClose?: boolean;
26
26
  /** 비활성 — 트리거만 렌더하고 툴팁을 열지 않음 */
27
27
  disabled?: boolean;
28
28
  /** 커스텀 트리거. 없으면 아이콘 트리거를 렌더 */
@@ -9,9 +9,9 @@
9
9
  | Prop | Type | Default | Description |
10
10
  |------|------|---------|-------------|
11
11
  | `node` | `STreeNode` | — | 렌더링할 노드 |
12
- | `depth?` | `number` | `1` | 중첩 단계 |
13
- | `isLast?` | `boolean` | `true` | 마지막 자식 여부 |
14
- | `ancestorLast?` | `boolean[]` | `[]` | 상위 depth 별 마지막 자식 여부 |
12
+ | `depth?` | `number` | `1` | 중첩 단계. 연결선의 들여쓰기 폭을 정한다. |
13
+ | `last?` | `boolean` | `true` | 마지막 자식 여부. 연결선을 이 아이템에서 끊을지 결정한다. |
14
+ | `ancestorLast?` | `boolean[]` | `[]` | 상위 depth 별 마지막 자식 여부. 조상 쪽 연결선을 어디까지 잇는지 정한다. |
15
15
  | `expanded?` | `boolean` | `false` | 펼침 상태 |
16
16
  | `selected?` | `boolean` | `false` | 선택 상태 |
17
17
  | `guideline?` | `boolean` | `true` | depth 연결선 표시 여부 |
@@ -42,10 +42,9 @@
42
42
  | `defaultExpandedIds?` | `string[]` | — | 비제어 펼침 초기값 |
43
43
  | `selectable?` | `boolean` | `true` | 체크박스 표시 여부 |
44
44
  | `size?` | `STreeSize` | `'sm'` | 타이포그래피 크기 |
45
- | `useAll?` | `boolean` | `false` | 체크박스 사용 시 최상단 전체 선택 아이템 표시 여부 |
45
+ | `showSelectAll?` | `boolean` | `false` | 체크박스 사용 시 최상단 전체 선택 아이템 표시 여부 |
46
46
  | `guideline?` | `boolean` | `true` | depth 연결선 표시 여부 |
47
47
  | `border?` | `boolean` | `true` | 아이템 하단 border 표시 여부 |
48
- | `cascadeSelection?` | `boolean` | `true` | 부모 선택 시 하위 노드까지 함께 토글 |
49
48
  | `leading?` | `ReactNode \| ((state: STreeItemRenderState) => ReactNode)` | — | 사용자 지정 leading 콘텐츠 |
50
49
  | `trailing?` | `ReactNode \| ((state: STreeItemRenderState) => ReactNode)` | — | 사용자 지정 trailing 콘텐츠 |
51
50
 
@@ -56,6 +55,44 @@
56
55
  | `onValueChange` | `(value: string[], node: STreeNode) => void` | 선택 변경 |
57
56
  | `onExpandedChange` | `(expandedIds: string[], node: STreeNode) => void` | 펼침 변경 |
58
57
 
58
+ ## Types
59
+
60
+ ### STreeNode
61
+
62
+ ```ts
63
+ export interface STreeNode {
64
+ /** 노드 고유 ID */
65
+ id: string;
66
+ /** 노드 라벨 */
67
+ label: ReactNode;
68
+ /** 하위 노드 */
69
+ children?: STreeNode[];
70
+ /** 선택 비활성. 체크박스만 막고 접기·펼치기는 그대로 된다 (전체 선택·부모 선택에서도 제외) */
71
+ disabled?: boolean;
72
+ }
73
+ ```
74
+
75
+ ### STreeSize
76
+
77
+ ```ts
78
+ export type STreeSize = 'sm' | 'md';
79
+ ```
80
+
81
+ ### STreeItemRenderState
82
+
83
+ ```ts
84
+ export interface STreeItemRenderState {
85
+ node: STreeNode;
86
+ depth: number;
87
+ size: STreeSize;
88
+ expanded: boolean;
89
+ selected: boolean;
90
+ indeterminate: boolean;
91
+ disabled: boolean;
92
+ hasChildren: boolean;
93
+ }
94
+ ```
95
+
59
96
  ## Dependencies
60
97
 
61
98
  ### Depends on
@@ -7,7 +7,7 @@ export interface STreeNode {
7
7
  label: ReactNode;
8
8
  /** 하위 노드 */
9
9
  children?: STreeNode[];
10
- /** 비활성 상태 */
10
+ /** 선택 비활성. 체크박스만 막고 접기·펼치기는 그대로 된다 (전체 선택·부모 선택에서도 제외) */
11
11
  disabled?: boolean;
12
12
  }
13
13
  export interface STreeItemRenderState {
@@ -23,11 +23,23 @@ export interface STreeItemRenderState {
23
23
  export interface STreeItemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'title' | 'onSelect' | 'onToggle'> {
24
24
  /** 렌더링할 노드 */
25
25
  node: STreeNode;
26
- /** 중첩 단계 */
26
+ /**
27
+ * 중첩 단계. 연결선의 들여쓰기 폭을 정한다.
28
+ *
29
+ * @nodemo STree 가 노드를 그리며 채운다 — 소비자가 직접 주는 값이 아니다.
30
+ */
27
31
  depth?: number;
28
- /** 마지막 자식 여부 */
29
- isLast?: boolean;
30
- /** 상위 depth 별 마지막 자식 여부 */
32
+ /**
33
+ * 마지막 자식 여부. 연결선을 이 아이템에서 끊을지 결정한다.
34
+ *
35
+ * @nodemo STree 가 노드를 그리며 채운다 — 소비자가 직접 주는 값이 아니다.
36
+ */
37
+ last?: boolean;
38
+ /**
39
+ * 상위 depth 별 마지막 자식 여부. 조상 쪽 연결선을 어디까지 잇는지 정한다.
40
+ *
41
+ * @nodemo STree 가 노드를 그리며 채운다 — 소비자가 직접 주는 값이 아니다.
42
+ */
31
43
  ancestorLast?: boolean[];
32
44
  /** 펼침 상태 */
33
45
  expanded?: boolean;
@@ -68,13 +80,11 @@ export interface STreeProps extends Omit<HTMLAttributes<HTMLDivElement>, 'childr
68
80
  /** 타이포그래피 크기 */
69
81
  size?: STreeSize;
70
82
  /** 체크박스 사용 시 최상단 전체 선택 아이템 표시 여부 */
71
- useAll?: boolean;
83
+ showSelectAll?: boolean;
72
84
  /** depth 연결선 표시 여부 */
73
85
  guideline?: boolean;
74
86
  /** 아이템 하단 border 표시 여부 */
75
87
  border?: boolean;
76
- /** 부모 선택 시 하위 노드까지 함께 토글 */
77
- cascadeSelection?: boolean;
78
88
  /** 사용자 지정 leading 콘텐츠 */
79
89
  leading?: ReactNode | ((state: STreeItemRenderState) => ReactNode);
80
90
  /** 사용자 지정 trailing 콘텐츠 */
@@ -2,3 +2,5 @@ import type { STreeNode } from './STree';
2
2
  export declare const treeUsageItems: STreeNode[];
3
3
  export declare const treeUsageDefaultValue: string[];
4
4
  export declare const treeUsageExpandedIds: string[];
5
+ /** 부모가 disabled 여도 자식은 접고 펼 수 있고, 자식 중 정상 노드는 고를 수 있다 */
6
+ export declare const treeDisabledItems: STreeNode[];
@@ -0,0 +1,49 @@
1
+ # STreeTable
2
+
3
+ > 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
4
+
5
+ ### STreeTable
6
+
7
+ #### Props
8
+
9
+ | Prop | Type | Default | Description |
10
+ |------|------|---------|-------------|
11
+ | `rows?` | `TRow[]` | `[]` | 최상위 행. 하위 행은 각 행의 `childrenKey` 필드에 같은 모양으로 넣는다. 펼친 행만 표에 그려진다. 나머지 prop(`columns` · `selectable` · `sort` · `stickyColumn` · `virtualScroll` …)은 `STable` 과 같다. `STable` 처럼 행을 직접 정렬하지 않고 받은 순서대로 그리므로, 정렬하려면 소비 앱이 **형제끼리** 정렬해 넘긴다. 그리는 행이 펼침에 따라 늘고 줄므로, 컬럼의 `renderCell` 로 **`rowSpan` 세로 병합을 하지 않는다** — 행이 접히면 사라진 행 몫까지 병합이 남아 아래 행의 칸을 덮는다. 한 행 안의 `colSpan` 은 된다. |
12
+ | `childrenKey?` | `string` | `'children'` | 하위 행 배열이 든 필드 |
13
+ | `resizable?` | `boolean` | `true` | 컬럼 폭 조절. **`STable` 과 달리 기본이 `true` 다** — 깊이에 따라 트리 컬럼이 필요로 하는 폭이 달라 화면마다 맞는 폭을 미리 정하기 어렵다. 폭이 고정이어야 하는 표만 `false` 로 끈다. 켜 두면 트리 컬럼에 `minWidth` 를 준다. 하한이 없으면 들여쓰기보다 좁게 줄어 깊은 행의 이름이 통째로 가려진다. |
14
+ | `treeColumn?` | `string` | — | 펼침 버튼과 들여쓰기가 붙는 컬럼의 `name`. 주지 않으면 보이는 첫 컬럼이다. 하위 행이 있는 행은 **이 셀 전체가 펼침 영역**이다 — 어디를 눌러도 접고 펴고, 행 클릭(`onRowClick`)으로는 가지 않는다. 셀 안에 넣은 링크·버튼·입력은 자기 동작만 하고 펼침은 일어나지 않는다. 이 컬럼에는 `renderCell` 을 쓰지 않는다 — `<td>` 를 통째로 바꾸면 펼침 버튼을 넣을 자리가 없다. 셀 내용은 `render` · `format` 으로 바꾼다. 들여쓰기가 왼쪽에서 쌓이므로 `align` 은 왼쪽으로 둔다. |
15
+ | `expandedKeys?` | `STreeTableKey[]` | — | 펼친 행의 키 목록 (controlled) |
16
+ | `defaultExpandedKeys?` | `STreeTableKey[]` | — | 비제어 펼침 초기값. 주지 않으면 하위 행이 있는 최상위 행이 펼쳐진 채로 시작한다 (`STree` 와 같다) |
17
+ | `selected?` | `TRow[]` | `[]` | 고른 행 (controlled). 접혀서 보이지 않는 행도 들어 있을 수 있다. 선택은 계층을 따른다. 부모를 고르면 하위 행이 모두 함께 골라지고, 하위 행이 일부만 골라진 부모는 체크박스가 "일부 선택"으로 그려진다. 하위 행이 모두 골라지면 부모도 골라진 것으로 친다 — `onSelectedChange` 로 오는 목록에 부모가 들어간다. 고를 수 없는 행(`isRowSelectable`)과 그 아래는 함께 골라지지 않는다. |
18
+
19
+ #### Events
20
+
21
+ | Event | Type | Description |
22
+ |-------|------|-------------|
23
+ | `onExpandedChange` | `(expandedKeys: STreeTableKey[], row: TRow) => void` | 펼침 변경. 바뀐 뒤의 키 목록과 누른 행이 온다 |
24
+ | `onSelectedChange` | `(rows: TRow[]) => void` | 선택 변경. 계층 순서(부모 다음에 그 하위 행)대로 정렬된 목록이 온다 |
25
+
26
+ ## Types
27
+
28
+ ### STreeTableKey
29
+
30
+ ```ts
31
+ /** 행 식별 값 — `rowKey` 필드에 든 값이다 */
32
+ export type STreeTableKey = string | number;
33
+ ```
34
+
35
+ ## Dependencies
36
+
37
+ ### Depends on
38
+
39
+ - [SGhostButton](../SGhostButton)
40
+ - [STable](../STable)
41
+
42
+ ### Graph
43
+
44
+ ```mermaid
45
+ graph TD;
46
+ STreeTable --> SGhostButton
47
+ STreeTable --> STable
48
+ style STreeTable fill:#f9f,stroke:#333,stroke-width:4px
49
+ ```
@@ -0,0 +1,70 @@
1
+ import { type ReactElement } from 'react';
2
+ import { type SRow, type STableProps } from '../STable';
3
+ /** 행 식별 값 — `rowKey` 필드에 든 값이다 */
4
+ export type STreeTableKey = string | number;
5
+ /**
6
+ * STable 에서 받지 않는 prop.
7
+ *
8
+ * - 페이지네이션: 페이지 경계가 부모와 자식 사이를 자르면 계층이 읽히지 않는다.
9
+ * - 드래그 선택·오른쪽 클릭 메뉴: 펼친 순서의 구간은 계층과 어긋난다 — 접힌 자식은 구간에 들지 않는다.
10
+ * - `isRowIndeterminate`: 일부 선택 표시는 STreeTable 이 계층에서 계산한다.
11
+ */
12
+ type OmittedTableProps = 'rows' | 'selected' | 'onSelectedChange' | 'isRowIndeterminate' | 'pagination' | 'onPageChange' | 'internalPagination' | 'showRowsPerPageSelect' | 'rowsPerPageOption' | 'onRowsPerPageChange' | 'dragSelectable' | 'contextMenuItems' | 'onContextMenuItemClick';
13
+ export interface STreeTableProps<TRow extends SRow = SRow> extends Omit<STableProps<TRow>, OmittedTableProps> {
14
+ /**
15
+ * 최상위 행. 하위 행은 각 행의 `childrenKey` 필드에 같은 모양으로 넣는다.
16
+ *
17
+ * 펼친 행만 표에 그려진다. 나머지 prop(`columns` · `selectable` · `sort` · `stickyColumn` ·
18
+ * `virtualScroll` …)은 `STable` 과 같다. `STable` 처럼 행을 직접 정렬하지 않고 받은 순서대로 그리므로,
19
+ * 정렬하려면 소비 앱이 **형제끼리** 정렬해 넘긴다.
20
+ *
21
+ * 그리는 행이 펼침에 따라 늘고 줄므로, 컬럼의 `renderCell` 로 **`rowSpan` 세로 병합을 하지 않는다** —
22
+ * 행이 접히면 사라진 행 몫까지 병합이 남아 아래 행의 칸을 덮는다. 한 행 안의 `colSpan` 은 된다.
23
+ */
24
+ rows?: TRow[];
25
+ /** 하위 행 배열이 든 필드 */
26
+ childrenKey?: string;
27
+ /**
28
+ * 컬럼 폭 조절. **`STable` 과 달리 기본이 `true` 다** — 깊이에 따라 트리 컬럼이 필요로 하는 폭이
29
+ * 달라 화면마다 맞는 폭을 미리 정하기 어렵다. 폭이 고정이어야 하는 표만 `false` 로 끈다.
30
+ *
31
+ * 켜 두면 트리 컬럼에 `minWidth` 를 준다. 하한이 없으면 들여쓰기보다 좁게 줄어 깊은 행의 이름이
32
+ * 통째로 가려진다.
33
+ */
34
+ resizable?: boolean;
35
+ /**
36
+ * 펼침 버튼과 들여쓰기가 붙는 컬럼의 `name`. 주지 않으면 보이는 첫 컬럼이다.
37
+ *
38
+ * 하위 행이 있는 행은 **이 셀 전체가 펼침 영역**이다 — 어디를 눌러도 접고 펴고, 행 클릭(`onRowClick`)으로는
39
+ * 가지 않는다. 셀 안에 넣은 링크·버튼·입력은 자기 동작만 하고 펼침은 일어나지 않는다.
40
+ *
41
+ * 이 컬럼에는 `renderCell` 을 쓰지 않는다 — `<td>` 를 통째로 바꾸면 펼침 버튼을 넣을 자리가 없다.
42
+ * 셀 내용은 `render` · `format` 으로 바꾼다. 들여쓰기가 왼쪽에서 쌓이므로 `align` 은 왼쪽으로 둔다.
43
+ */
44
+ treeColumn?: string;
45
+ /** 펼친 행의 키 목록 (controlled) */
46
+ expandedKeys?: STreeTableKey[];
47
+ /** 비제어 펼침 초기값. 주지 않으면 하위 행이 있는 최상위 행이 펼쳐진 채로 시작한다 (`STree` 와 같다) */
48
+ defaultExpandedKeys?: STreeTableKey[];
49
+ /** 펼침 변경. 바뀐 뒤의 키 목록과 누른 행이 온다 */
50
+ onExpandedChange?: (expandedKeys: STreeTableKey[], row: TRow) => void;
51
+ /**
52
+ * 고른 행 (controlled). 접혀서 보이지 않는 행도 들어 있을 수 있다.
53
+ *
54
+ * 선택은 계층을 따른다. 부모를 고르면 하위 행이 모두 함께 골라지고, 하위 행이 일부만 골라진 부모는
55
+ * 체크박스가 "일부 선택"으로 그려진다. 하위 행이 모두 골라지면 부모도 골라진 것으로 친다 —
56
+ * `onSelectedChange` 로 오는 목록에 부모가 들어간다. 고를 수 없는 행(`isRowSelectable`)과 그 아래는
57
+ * 함께 골라지지 않는다.
58
+ */
59
+ selected?: TRow[];
60
+ /** 선택 변경. 계층 순서(부모 다음에 그 하위 행)대로 정렬된 목록이 온다 */
61
+ onSelectedChange?: (rows: TRow[]) => void;
62
+ }
63
+ /**
64
+ * STreeTable — `STable` 에 행 계층(펼침·접힘)을 붙인 표.
65
+ *
66
+ * 계층을 펼친 순서의 평평한 행 목록으로 바꿔 `STable` 에 넘기고, 트리 컬럼 셀에 들여쓰기와
67
+ * 펼침 버튼을 넣는다. 그래서 헤더·셀·테두리·밀도·정렬 버튼·sticky·가상 스크롤은 `STable` 과 같다.
68
+ */
69
+ export declare function STreeTable<TRow extends SRow = SRow>({ rows, columns, rowKey, childrenKey, resizable, treeColumn, expandedKeys, defaultExpandedKeys, onExpandedChange, selectable, isRowSelectable, rowClassName, selected, onSelectedChange, ...rest }: STreeTableProps<TRow>): ReactElement | null;
70
+ export {};
@@ -0,0 +1,32 @@
1
+ import type { STableColumn } from '../STable';
2
+ /** 스토리·playground 가 함께 쓰는 예시 데이터 — 카테고리 > 상품 > 옵션 3단 */
3
+ export interface TreeTableExampleRow {
4
+ id: string;
5
+ name: string;
6
+ code: string;
7
+ stock: number;
8
+ price: number;
9
+ /** 판매 중지 — 선택 잠금 예시에 쓴다 */
10
+ stopped?: boolean;
11
+ children?: TreeTableExampleRow[];
12
+ }
13
+ export declare const treeTableRows: TreeTableExampleRow[];
14
+ export declare const treeTableColumns: STableColumn<TreeTableExampleRow>[];
15
+ /**
16
+ * 가로로 스크롤되는 넓은 표 — sticky 예시에 쓴다.
17
+ * 맨 왼쪽은 트리 컬럼(상품명), 맨 오른쪽은 상태다. 남은 폭을 먹는 스페이서는 두지 않는다 —
18
+ * 스페이서가 끝에 있으면 오른쪽 고정 컬럼이 스페이서가 된다.
19
+ */
20
+ export declare const treeTableWideColumns: STableColumn<TreeTableExampleRow>[];
21
+ /** 하위 행을 가진 모든 행의 키 — "모두 펼치기" 예시에 쓴다 */
22
+ export declare const treeTableParentKeys: string[];
23
+ /** 깊은 트리 예시 — 창고 > 구역 > 랙 > 단 > 칸, 5단계 로케이션 */
24
+ export interface TreeTableLocationRow {
25
+ id: string;
26
+ name: string;
27
+ qty: number;
28
+ children?: TreeTableLocationRow[];
29
+ }
30
+ export declare const treeTableLocationRows: TreeTableLocationRow[];
31
+ export declare const treeTableLocationParentKeys: string[];
32
+ export declare const treeTableLocationColumns: STableColumn<TreeTableLocationRow>[];
@@ -0,0 +1 @@
1
+ export { STreeTable, type STreeTableProps, type STreeTableKey } from './STreeTable';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * "한눈에 보기" 그리드.
3
+ *
4
+ * 이 파일은 **나열 규칙만** 갖는다 — 분류·순서는 `categories.ts`(SSOT)가, 미리보기는
5
+ * `gallery-previews.tsx` 가, 링크 대상은 스토리의 `title` 이 정한다. 새 컴포넌트는
6
+ * 여기를 고치지 않고 그 셋만 채우면 자리를 잡는다.
7
+ */
8
+ import type { ReactNode } from 'react';
9
+ export default function Gallery(): ReactNode;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * "페이지 레시피" 상단의 카드 그리드 — 레시피를 화면으로 먼저 보고 골라 들어가게 한다.
3
+ *
4
+ * 미리보기는 그림이 아니라 **레시피 파일 그 자체**를 축소해 렌더한 것이다. 그래서 레시피 코드가
5
+ * 바뀌면 카드도 함께 바뀌고, 따로 갱신할 자산이 없다. 규칙 설명은 이 아래에 AGENTS.md §4 가
6
+ * 그대로 렌더되므로 여기에는 쓰지 않는다.
7
+ *
8
+ * 레시피는 페이지 **안**의 골격이라 GNB·레이아웃은 그리지 않는다 — 셸 조합은 Layout Builder 의 몫이다.
9
+ *
10
+ * 새 레시피를 `src/recipes/` 에 만들면 여기에 한 줄을 더한다.
11
+ */
12
+ import type { ReactNode } from 'react';
13
+ export default function RecipeGallery(): ReactNode;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * "한눈에 보기" 페이지가 쓰는 컴포넌트별 미리보기.
3
+ *
4
+ * 이 저장소에서 **손으로 유지하는 유일한 문서 자산**이다. 그래서 두 가지를 지킨다.
5
+ *
6
+ * 1. **설명을 쓰지 않는다.** 카드에는 미리보기와 이름과 링크만 있다. "언제 쓰나" 는
7
+ * AGENTS.md §3(Guide/컴포넌트 선택)이, Props 는 각 컴포넌트 Docs 탭이 갖는다.
8
+ * 여기에 한 줄 설명을 붙이는 순간 그 둘과 어긋나기 시작한다.
9
+ * 2. **빠지면 CI 가 잡는다.** 스토리가 있는 컴포넌트는 전부 여기 키가 있어야 한다 —
10
+ * `npm run check:categories` 가 강제한다.
11
+ *
12
+ * 미리보기 상자는 `pointer-events-none` 이라 눌리지 않는다(Gallery.tsx). 갤러리는 보는
13
+ * 자리이고 만지는 자리는 각 컴포넌트의 Docs 탭이다 — 덕분에 오버레이가 열리거나 포커스를
14
+ * 뺏는 일 없이 수십 개를 한 화면에 살아 있는 채로 둘 수 있다.
15
+ *
16
+ * 화면 골격(앱 셸·모달·드로어)처럼 카드에 담기지 않는 것은 {@link note} 로 둔다.
17
+ * 억지로 축소해 알아볼 수 없는 그림을 넣느니 무엇인지 한 줄로 적는 편이 낫다.
18
+ */
19
+ import type { ReactNode } from 'react';
20
+ /**
21
+ * 컴포넌트 이름 → 미리보기.
22
+ * 키는 스토리 파일이 있는 컴포넌트와 정확히 같아야 한다 (check:categories).
23
+ */
24
+ export declare const GALLERY_PREVIEWS: Record<string, ReactNode>;
@@ -0,0 +1,94 @@
1
+ Copyright (c) 2021, Kil Hyung-jin (https://github.com/orioncactus/pretendard),
2
+ with Reserved Font Name Pretendard.
3
+
4
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
5
+ This license is copied below, and is also available with a FAQ at:
6
+ https://scripts.sil.org/OFL
7
+
8
+
9
+ -----------------------------------------------------------
10
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
11
+ -----------------------------------------------------------
12
+
13
+ PREAMBLE
14
+ The goals of the Open Font License (OFL) are to stimulate worldwide
15
+ development of collaborative font projects, to support the font creation
16
+ efforts of academic and linguistic communities, and to provide a free and
17
+ open framework in which fonts may be shared and improved in partnership
18
+ with others.
19
+
20
+ The OFL allows the licensed fonts to be used, studied, modified and
21
+ redistributed freely as long as they are not sold by themselves. The
22
+ fonts, including any derivative works, can be bundled, embedded,
23
+ redistributed and/or sold with any software provided that any reserved
24
+ names are not used by derivative works. The fonts and derivatives,
25
+ however, cannot be released under any other type of license. The
26
+ requirement for fonts to remain under this license does not apply
27
+ to any document created using the fonts or their derivatives.
28
+
29
+ DEFINITIONS
30
+ "Font Software" refers to the set of files released by the Copyright
31
+ Holder(s) under this license and clearly marked as such. This may
32
+ include source files, build scripts and documentation.
33
+
34
+ "Reserved Font Name" refers to any names specified as such after the
35
+ copyright statement(s).
36
+
37
+ "Original Version" refers to the collection of Font Software components as
38
+ distributed by the Copyright Holder(s).
39
+
40
+ "Modified Version" refers to any derivative made by adding to, deleting,
41
+ or substituting -- in part or in whole -- any of the components of the
42
+ Original Version, by changing formats or by porting the Font Software to a
43
+ new environment.
44
+
45
+ "Author" refers to any designer, engineer, programmer, technical
46
+ writer or other person who contributed to the Font Software.
47
+
48
+ PERMISSION & CONDITIONS
49
+ Permission is hereby granted, free of charge, to any person obtaining
50
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
51
+ redistribute, and sell modified and unmodified copies of the Font
52
+ Software, subject to the following conditions:
53
+
54
+ 1) Neither the Font Software nor any of its individual components,
55
+ in Original or Modified Versions, may be sold by itself.
56
+
57
+ 2) Original or Modified Versions of the Font Software may be bundled,
58
+ redistributed and/or sold with any software, provided that each copy
59
+ contains the above copyright notice and this license. These can be
60
+ included either as stand-alone text files, human-readable headers or
61
+ in the appropriate machine-readable metadata fields within text or
62
+ binary files as long as those fields can be easily viewed by the user.
63
+
64
+ 3) No Modified Version of the Font Software may use the Reserved Font
65
+ Name(s) unless explicit written permission is granted by the corresponding
66
+ Copyright Holder. This restriction only applies to the primary font name as
67
+ presented to the users.
68
+
69
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
70
+ Software shall not be used to promote, endorse or advertise any
71
+ Modified Version, except to acknowledge the contribution(s) of the
72
+ Copyright Holder(s) and the Author(s) or with their explicit written
73
+ permission.
74
+
75
+ 5) The Font Software, modified or unmodified, in part or in whole,
76
+ must be distributed entirely under this license, and must not be
77
+ distributed under any other license. The requirement for fonts to
78
+ remain under this license does not apply to any document created
79
+ using the Font Software.
80
+
81
+ TERMINATION
82
+ This license becomes null and void if any of the above conditions are
83
+ not met.
84
+
85
+ DISCLAIMER
86
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
87
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
88
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
89
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
90
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
91
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
92
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
93
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
94
+ OTHER DEALINGS IN THE FONT SOFTWARE.