@sellmate/design-system 1.20.1 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/dist/cjs/design-system.cjs.js +2 -2
  2. package/dist/cjs/{index-DXm0PH2A.js → index-C-F-JEv_.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/sd-action-modal.cjs.entry.js +8 -2
  5. package/dist/cjs/sd-badge.cjs.entry.js +3 -2
  6. package/dist/cjs/sd-barcode-input.cjs.entry.js +35 -2
  7. package/dist/cjs/sd-button_2.cjs.entry.js +16 -7
  8. package/dist/cjs/sd-calendar_2.cjs.entry.js +17 -6
  9. package/dist/cjs/sd-callout.cjs.entry.js +4 -2
  10. package/dist/cjs/sd-card.cjs.entry.js +4 -2
  11. package/dist/cjs/sd-checkbox.cjs.entry.js +21 -12
  12. package/dist/cjs/sd-chip-input.cjs.entry.js +76 -18
  13. package/dist/cjs/sd-chip.cjs.entry.js +19 -2
  14. package/dist/cjs/sd-circle-progress.cjs.entry.js +6 -2
  15. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +27 -4
  16. package/dist/cjs/sd-date-box.cjs.entry.js +13 -3
  17. package/dist/cjs/sd-date-picker_7.cjs.entry.js +209 -13
  18. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +7 -2
  19. package/dist/cjs/sd-divider.cjs.entry.js +1 -1
  20. package/dist/cjs/sd-dropdown-button.cjs.entry.js +11 -1
  21. package/dist/cjs/sd-field_3.cjs.entry.js +70 -12
  22. package/dist/cjs/sd-form.cjs.entry.js +10 -2
  23. package/dist/cjs/sd-ghost-button_3.cjs.entry.js +54 -15
  24. package/dist/cjs/sd-guide.cjs.entry.js +9 -3
  25. package/dist/cjs/sd-key-value-table.cjs.entry.js +3 -1
  26. package/dist/cjs/sd-linear-progress.cjs.entry.js +7 -4
  27. package/dist/cjs/sd-loading-container.cjs.entry.js +5 -3
  28. package/dist/cjs/sd-modal-container.cjs.entry.js +7 -1
  29. package/dist/cjs/sd-pagination_4.cjs.entry.js +121 -13
  30. package/dist/cjs/sd-popover.cjs.entry.js +21 -5
  31. package/dist/cjs/sd-popup.cjs.entry.js +7 -3
  32. package/dist/cjs/sd-radio-button.cjs.entry.js +8 -2
  33. package/dist/cjs/sd-radio.cjs.entry.js +7 -2
  34. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +18 -7
  35. package/dist/cjs/sd-select_3.cjs.entry.js +56 -9
  36. package/dist/cjs/sd-switch.cjs.entry.js +6 -2
  37. package/dist/cjs/sd-table.cjs.entry.js +42 -7
  38. package/dist/cjs/sd-tabs.cjs.entry.js +8 -2
  39. package/dist/cjs/sd-td.cjs.entry.js +11 -2
  40. package/dist/cjs/sd-text-link.cjs.entry.js +13 -4
  41. package/dist/cjs/sd-toast-container.cjs.entry.js +11 -2
  42. package/dist/cjs/sd-toast.cjs.entry.js +12 -3
  43. package/dist/cjs/sd-toggle.cjs.entry.js +6 -2
  44. package/dist/cjs/{tooltipArrow-D3P3JC08.js → tooltipArrow-26hYtSrD.js} +1 -1
  45. package/dist/collection/components/assets/CaretDown.js +1 -1
  46. package/dist/collection/components/assets/CaretLeft.js +1 -1
  47. package/dist/collection/components/assets/CaretRight.js +1 -1
  48. package/dist/collection/components/assets/CaretUp.js +1 -1
  49. package/dist/collection/components/sd-action-modal/sd-action-modal.js +13 -7
  50. package/dist/collection/components/sd-badge/sd-badge.js +3 -2
  51. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +67 -34
  52. package/dist/collection/components/sd-button/sd-button.js +18 -10
  53. package/dist/collection/components/sd-calendar/sd-calendar.js +15 -9
  54. package/dist/collection/components/sd-callout/sd-callout.js +5 -3
  55. package/dist/collection/components/sd-card/sd-card.js +5 -3
  56. package/dist/collection/components/sd-checkbox/sd-checkbox.config.js +5 -3
  57. package/dist/collection/components/sd-checkbox/sd-checkbox.css +16 -0
  58. package/dist/collection/components/sd-checkbox/sd-checkbox.js +5 -3
  59. package/dist/collection/components/sd-chip/sd-chip.js +35 -18
  60. package/dist/collection/components/sd-chip-input/sd-chip-input.css +6 -0
  61. package/dist/collection/components/sd-chip-input/sd-chip-input.js +107 -49
  62. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +9 -5
  63. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +32 -17
  64. package/dist/collection/components/sd-date-box/sd-date-box.js +22 -12
  65. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +12 -7
  66. package/dist/collection/components/sd-date-picker/sd-date-picker.js +48 -25
  67. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +11 -6
  68. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +50 -26
  69. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +20 -10
  70. package/dist/collection/components/sd-field/sd-field.js +51 -28
  71. package/dist/collection/components/sd-file-picker/sd-file-picker.js +60 -30
  72. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +32 -11
  73. package/dist/collection/components/sd-form/sd-form.js +17 -9
  74. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +28 -13
  75. package/dist/collection/components/sd-guide/sd-guide.js +14 -8
  76. package/dist/collection/components/sd-icon/sd-icon.js +2 -1
  77. package/dist/collection/components/sd-input/sd-input.js +82 -42
  78. package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +4 -2
  79. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +10 -7
  80. package/dist/collection/components/sd-loading-container/sd-loading-container.js +6 -4
  81. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +17 -9
  82. package/dist/collection/components/sd-modal-container/sd-modal-container.js +12 -6
  83. package/dist/collection/components/sd-number-input/sd-number-input.js +82 -43
  84. package/dist/collection/components/sd-pagination/sd-pagination.js +11 -7
  85. package/dist/collection/components/sd-popover/sd-popover.js +35 -19
  86. package/dist/collection/components/sd-popup/sd-popup.js +11 -7
  87. package/dist/collection/components/sd-portal/sd-portal.js +35 -14
  88. package/dist/collection/components/sd-radio/sd-radio.js +11 -6
  89. package/dist/collection/components/sd-radio-button/sd-radio-button.js +13 -7
  90. package/dist/collection/components/sd-radio-group/sd-radio-group.js +13 -7
  91. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +16 -9
  92. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +12 -8
  93. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +22 -12
  94. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +18 -10
  95. package/dist/collection/components/sd-select/sd-select.js +62 -33
  96. package/dist/collection/components/sd-switch/sd-switch.js +9 -5
  97. package/dist/collection/components/sd-table/sd-table.js +76 -41
  98. package/dist/collection/components/sd-table/sd-table.stories.helpers.js +97 -0
  99. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +4 -3
  100. package/dist/collection/components/sd-table/sd-td/sd-td.js +19 -10
  101. package/dist/collection/components/sd-table/sd-thead/sd-thead.css +21 -0
  102. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +113 -20
  103. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +22 -11
  104. package/dist/collection/components/sd-tabs/sd-tabs.js +13 -7
  105. package/dist/collection/components/sd-tag/sd-tag.js +10 -7
  106. package/dist/collection/components/sd-text-link/sd-text-link.js +21 -12
  107. package/dist/collection/components/sd-textarea/sd-textarea.js +69 -35
  108. package/dist/collection/components/sd-toast/sd-toast.js +20 -11
  109. package/dist/collection/components/sd-toast-container/sd-toast-container.js +19 -10
  110. package/dist/collection/components/sd-toggle/sd-toggle.js +9 -5
  111. package/dist/collection/components/sd-tooltip/sd-tooltip.js +30 -16
  112. package/dist/components/index.js +1 -1
  113. package/dist/components/{p-CUR9smP5.js → p-58DLP3IW.js} +1 -1
  114. package/dist/components/{p-CQozoo2-.js → p-B-Igud6n.js} +1 -1
  115. package/dist/components/{p-BZfVV3gu.js → p-B0myARGe.js} +1 -1
  116. package/dist/components/{p-CTPImLDQ.js → p-B12iH3Zk.js} +1 -1
  117. package/dist/components/{p-CoqA9KgU.js → p-B2bF2KlS.js} +1 -1
  118. package/dist/components/{p-MJG6EZeP.js → p-BFlmHQm9.js} +1 -1
  119. package/dist/{design-system/p-L_He_WSA.js → components/p-BRmilX-4.js} +1 -1
  120. package/dist/components/{p-Dl89_4C3.js → p-BXRgi3NZ.js} +1 -1
  121. package/dist/components/{p-BjcGzaFR.js → p-Bm3NWPaP.js} +1 -1
  122. package/dist/components/p-BpQwjSB8.js +1 -0
  123. package/dist/components/{p-CRwvv7YM.js → p-BpjmheLG.js} +1 -1
  124. package/dist/components/{p-5imde6N9.js → p-Bric-SEs.js} +1 -1
  125. package/dist/components/{p-CB2A3pJ5.js → p-BwTsP0Ak.js} +1 -1
  126. package/dist/components/{p-9Z-q6kKD.js → p-C1QezE7u.js} +1 -1
  127. package/dist/components/p-CCCwPJ5p.js +1 -0
  128. package/dist/components/p-CCO1WtEj.js +1 -0
  129. package/dist/components/p-CEKu7cxA.js +1 -0
  130. package/dist/components/{p-CrT06Uwc.js → p-CHxVi6l1.js} +1 -1
  131. package/dist/components/{p-DNnI3Nru.js → p-Cdzn78dP.js} +1 -1
  132. package/dist/components/p-Cj_1bYZF.js +1 -0
  133. package/dist/components/{p-ZvI5A-_t.js → p-Cjf8PHEl.js} +1 -1
  134. package/dist/components/{p-CJ69QmR3.js → p-Co2ThnbG.js} +1 -1
  135. package/dist/components/{p-gOIeNT-Z.js → p-CwSlRPMm.js} +1 -1
  136. package/dist/components/p-D7StBSjK.js +1 -0
  137. package/dist/components/{p-Bz93hWXV.js → p-DFbj6d3L.js} +1 -1
  138. package/dist/components/{p-B5bya7Gp.js → p-DlXBFtBO.js} +1 -1
  139. package/dist/components/{p-Rwc_ltPn.js → p-Du_qPqW-.js} +1 -1
  140. package/dist/components/{p-DIlNesBH.js → p-DzAvlr8W.js} +1 -1
  141. package/dist/components/{p-D99vy8Ip.js → p-FrqOl9KZ.js} +1 -1
  142. package/dist/components/{p-uSEbiD29.js → p-JMuxVcTW.js} +1 -1
  143. package/dist/components/{p-DertIGhs.js → p-OjchKJGr.js} +1 -1
  144. package/dist/components/p-S2-XqY2R.js +1 -0
  145. package/dist/components/{p-DDAA-zcg.js → p-YCGkwgiM.js} +1 -1
  146. package/dist/components/{p-DZTxHJlP.js → p-ZvP2Ce6J.js} +1 -1
  147. package/dist/components/p-kRH2GOb0.js +1 -0
  148. package/dist/components/{p-FTvXz0-a.js → p-mcMbSkii.js} +1 -1
  149. package/dist/components/{p-BiBLp9_a.js → p-vPS2GNz3.js} +1 -1
  150. package/dist/components/sd-action-modal.js +1 -1
  151. package/dist/components/sd-badge.js +1 -1
  152. package/dist/components/sd-barcode-input.js +1 -1
  153. package/dist/components/sd-button.js +1 -1
  154. package/dist/components/sd-calendar.js +1 -1
  155. package/dist/components/sd-callout.js +1 -1
  156. package/dist/components/sd-card.js +1 -1
  157. package/dist/components/sd-checkbox.js +1 -1
  158. package/dist/components/sd-chip-input.js +1 -1
  159. package/dist/components/sd-chip.js +1 -1
  160. package/dist/components/sd-circle-progress.js +1 -1
  161. package/dist/components/sd-confirm-modal.js +1 -1
  162. package/dist/components/sd-date-box.js +1 -1
  163. package/dist/components/sd-date-picker-trigger.js +1 -1
  164. package/dist/components/sd-date-picker.js +1 -1
  165. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  166. package/dist/components/sd-date-range-picker.js +1 -1
  167. package/dist/components/sd-divider.js +1 -1
  168. package/dist/components/sd-dropdown-button.js +1 -1
  169. package/dist/components/sd-field.js +1 -1
  170. package/dist/components/sd-file-picker.js +1 -1
  171. package/dist/components/sd-floating-portal.js +1 -1
  172. package/dist/components/sd-form.js +1 -1
  173. package/dist/components/sd-ghost-button.js +1 -1
  174. package/dist/components/sd-guide.js +1 -1
  175. package/dist/components/sd-icon.js +1 -1
  176. package/dist/components/sd-input.js +1 -1
  177. package/dist/components/sd-key-value-table.js +1 -1
  178. package/dist/components/sd-linear-progress.js +1 -1
  179. package/dist/components/sd-loading-container.js +1 -1
  180. package/dist/components/sd-loading-modal.js +1 -1
  181. package/dist/components/sd-modal-container.js +1 -1
  182. package/dist/components/sd-number-input.js +1 -1
  183. package/dist/components/sd-pagination.js +1 -1
  184. package/dist/components/sd-popover.js +1 -1
  185. package/dist/components/sd-popup.js +1 -1
  186. package/dist/components/sd-portal.js +1 -1
  187. package/dist/components/sd-radio-button.js +1 -1
  188. package/dist/components/sd-radio-group.js +1 -1
  189. package/dist/components/sd-radio.js +1 -1
  190. package/dist/components/sd-select-list-item-search.js +1 -1
  191. package/dist/components/sd-select-list-item.js +1 -1
  192. package/dist/components/sd-select-listbox.js +1 -1
  193. package/dist/components/sd-select-trigger.js +1 -1
  194. package/dist/components/sd-select.js +1 -1
  195. package/dist/components/sd-switch.js +1 -1
  196. package/dist/components/sd-table.js +1 -1
  197. package/dist/components/sd-tabs.js +1 -1
  198. package/dist/components/sd-tag.js +1 -1
  199. package/dist/components/sd-tbody.js +1 -1
  200. package/dist/components/sd-td.js +1 -1
  201. package/dist/components/sd-text-link.js +1 -1
  202. package/dist/components/sd-textarea.js +1 -1
  203. package/dist/components/sd-thead.js +1 -1
  204. package/dist/components/sd-toast-container.js +1 -1
  205. package/dist/components/sd-toast.js +1 -1
  206. package/dist/components/sd-toggle.js +1 -1
  207. package/dist/components/sd-tooltip.js +1 -1
  208. package/dist/components/sd-tr.js +1 -1
  209. package/dist/design-system/design-system.css +1 -1
  210. package/dist/design-system/design-system.esm.js +1 -1
  211. package/dist/design-system/p-14447dd5.entry.js +1 -0
  212. package/dist/design-system/{p-e9d1dbb5.entry.js → p-274dbc65.entry.js} +1 -1
  213. package/dist/design-system/{p-b291baab.entry.js → p-2ba0b35a.entry.js} +1 -1
  214. package/dist/design-system/{p-52f551a1.entry.js → p-2ca4902b.entry.js} +1 -1
  215. package/dist/design-system/p-2df32f8c.entry.js +1 -0
  216. package/dist/design-system/{p-cb80327c.entry.js → p-35da166a.entry.js} +1 -1
  217. package/dist/design-system/p-35e1e2fa.entry.js +1 -0
  218. package/dist/design-system/p-4bbc894b.entry.js +1 -0
  219. package/dist/design-system/{p-6ce68bf2.entry.js → p-4bc0ce52.entry.js} +1 -1
  220. package/dist/design-system/p-4c1559c8.entry.js +1 -0
  221. package/dist/design-system/{p-da4e2674.entry.js → p-4eeca0cb.entry.js} +1 -1
  222. package/dist/design-system/{p-646a7830.entry.js → p-4f69fde0.entry.js} +1 -1
  223. package/dist/design-system/{p-ccf1a3fc.entry.js → p-50b5cf37.entry.js} +1 -1
  224. package/dist/design-system/p-52e88677.entry.js +1 -0
  225. package/dist/design-system/{p-4acfc5f9.entry.js → p-552acf98.entry.js} +1 -1
  226. package/dist/design-system/{p-23006577.entry.js → p-563a8242.entry.js} +1 -1
  227. package/dist/design-system/{p-e3990243.entry.js → p-68687503.entry.js} +1 -1
  228. package/dist/design-system/{p-1f3c1cca.entry.js → p-6d8a4a23.entry.js} +1 -1
  229. package/dist/design-system/{p-d5032f31.entry.js → p-7c507d39.entry.js} +1 -1
  230. package/dist/design-system/{p-717eba5f.entry.js → p-88926a42.entry.js} +1 -1
  231. package/dist/design-system/{p-35d390f1.entry.js → p-90436be8.entry.js} +1 -1
  232. package/dist/design-system/{p-9289eb14.entry.js → p-99f33027.entry.js} +1 -1
  233. package/dist/design-system/{p-c47198fc.entry.js → p-9a010c12.entry.js} +1 -1
  234. package/dist/design-system/{p-54853a2b.entry.js → p-9dc0c2f9.entry.js} +1 -1
  235. package/dist/{components/p-Bg9XySrz.js → design-system/p-C7HJ-NfO.js} +2 -1
  236. package/dist/{components/p-0VCXAYrh.js → design-system/p-DUyBmuH_.js} +1 -1
  237. package/dist/design-system/{p-d5c3bac9.entry.js → p-a71a8b31.entry.js} +1 -1
  238. package/dist/design-system/{p-a4331364.entry.js → p-a80cc067.entry.js} +1 -1
  239. package/dist/design-system/{p-ae344950.entry.js → p-abcc9367.entry.js} +1 -1
  240. package/dist/design-system/p-ac81b46e.entry.js +1 -0
  241. package/dist/design-system/{p-08343698.entry.js → p-b881bbb6.entry.js} +1 -1
  242. package/dist/design-system/{p-2151e081.entry.js → p-bfba449b.entry.js} +1 -1
  243. package/dist/design-system/p-c684cd96.entry.js +1 -0
  244. package/dist/design-system/{p-b63b8df9.entry.js → p-c93c623f.entry.js} +1 -1
  245. package/dist/design-system/{p-98e0b332.entry.js → p-ccc85130.entry.js} +1 -1
  246. package/dist/design-system/{p-aa1c6202.entry.js → p-ce5df7ef.entry.js} +1 -1
  247. package/dist/design-system/{p-adfddf3b.entry.js → p-ce83eca1.entry.js} +1 -1
  248. package/dist/design-system/{p-7ed8c8f1.entry.js → p-d5b535ad.entry.js} +1 -1
  249. package/dist/design-system/{p-df7c721d.entry.js → p-e310f188.entry.js} +1 -1
  250. package/dist/design-system/p-e7d4b78e.entry.js +1 -0
  251. package/dist/design-system/{p-bdb7492c.entry.js → p-fc65bbe2.entry.js} +1 -1
  252. package/dist/design-system/{p-a5a586da.entry.js → p-ff726fad.entry.js} +1 -1
  253. package/dist/esm/design-system.js +3 -3
  254. package/dist/esm/{index-CAxodB5I.js → index-C7HJ-NfO.js} +1 -1
  255. package/dist/esm/loader.js +3 -3
  256. package/dist/esm/sd-action-modal.entry.js +8 -2
  257. package/dist/esm/sd-badge.entry.js +3 -2
  258. package/dist/esm/sd-barcode-input.entry.js +35 -2
  259. package/dist/esm/sd-button_2.entry.js +16 -7
  260. package/dist/esm/sd-calendar_2.entry.js +17 -6
  261. package/dist/esm/sd-callout.entry.js +4 -2
  262. package/dist/esm/sd-card.entry.js +4 -2
  263. package/dist/esm/sd-checkbox.entry.js +21 -12
  264. package/dist/esm/sd-chip-input.entry.js +76 -18
  265. package/dist/esm/sd-chip.entry.js +19 -2
  266. package/dist/esm/sd-circle-progress.entry.js +6 -2
  267. package/dist/esm/sd-confirm-modal_2.entry.js +27 -4
  268. package/dist/esm/sd-date-box.entry.js +13 -3
  269. package/dist/esm/sd-date-picker_7.entry.js +209 -13
  270. package/dist/esm/sd-date-range-picker-calendar.entry.js +7 -2
  271. package/dist/esm/sd-divider.entry.js +1 -1
  272. package/dist/esm/sd-dropdown-button.entry.js +11 -1
  273. package/dist/esm/sd-field_3.entry.js +70 -12
  274. package/dist/esm/sd-form.entry.js +10 -2
  275. package/dist/esm/sd-ghost-button_3.entry.js +54 -15
  276. package/dist/esm/sd-guide.entry.js +9 -3
  277. package/dist/esm/sd-key-value-table.entry.js +3 -1
  278. package/dist/esm/sd-linear-progress.entry.js +7 -4
  279. package/dist/esm/sd-loading-container.entry.js +5 -3
  280. package/dist/esm/sd-modal-container.entry.js +7 -1
  281. package/dist/esm/sd-pagination_4.entry.js +121 -13
  282. package/dist/esm/sd-popover.entry.js +21 -5
  283. package/dist/esm/sd-popup.entry.js +7 -3
  284. package/dist/esm/sd-radio-button.entry.js +8 -2
  285. package/dist/esm/sd-radio.entry.js +7 -2
  286. package/dist/esm/sd-select-list-item_2.entry.js +18 -7
  287. package/dist/esm/sd-select_3.entry.js +56 -9
  288. package/dist/esm/sd-switch.entry.js +6 -2
  289. package/dist/esm/sd-table.entry.js +42 -7
  290. package/dist/esm/sd-tabs.entry.js +8 -2
  291. package/dist/esm/sd-td.entry.js +11 -2
  292. package/dist/esm/sd-text-link.entry.js +13 -4
  293. package/dist/esm/sd-toast-container.entry.js +11 -2
  294. package/dist/esm/sd-toast.entry.js +12 -3
  295. package/dist/esm/sd-toggle.entry.js +6 -2
  296. package/dist/esm/{tooltipArrow-DLr6VvUK.js → tooltipArrow-Bgf3crs7.js} +1 -1
  297. package/dist/types/components/sd-action-modal/sd-action-modal.d.ts +6 -0
  298. package/dist/types/components/sd-badge/sd-badge.d.ts +1 -0
  299. package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +33 -0
  300. package/dist/types/components/sd-button/sd-button.d.ts +8 -0
  301. package/dist/types/components/sd-calendar/sd-calendar.d.ts +6 -0
  302. package/dist/types/components/sd-callout/sd-callout.d.ts +2 -0
  303. package/dist/types/components/sd-card/sd-card.d.ts +2 -0
  304. package/dist/types/components/sd-checkbox/sd-checkbox.config.d.ts +2 -0
  305. package/dist/types/components/sd-chip/sd-chip.d.ts +17 -0
  306. package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +33 -0
  307. package/dist/types/components/sd-circle-progress/sd-circle-progress.d.ts +4 -0
  308. package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +15 -0
  309. package/dist/types/components/sd-date-box/sd-date-box.d.ts +10 -0
  310. package/dist/types/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.d.ts +5 -0
  311. package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +23 -0
  312. package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +5 -0
  313. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +24 -0
  314. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +10 -0
  315. package/dist/types/components/sd-field/sd-field.d.ts +23 -0
  316. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +30 -0
  317. package/dist/types/components/sd-floating-portal/sd-floating-portal.d.ts +12 -0
  318. package/dist/types/components/sd-form/sd-form.d.ts +8 -0
  319. package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +7 -0
  320. package/dist/types/components/sd-guide/sd-guide.d.ts +6 -0
  321. package/dist/types/components/sd-icon/sd-icon.d.ts +1 -0
  322. package/dist/types/components/sd-input/sd-input.d.ts +40 -0
  323. package/dist/types/components/sd-key-value-table/sd-key-value-table.d.ts +2 -0
  324. package/dist/types/components/sd-linear-progress/sd-linear-progress.d.ts +4 -0
  325. package/dist/types/components/sd-loading-container/sd-loading-container.d.ts +2 -0
  326. package/dist/types/components/sd-loading-modal/sd-loading-modal.d.ts +8 -0
  327. package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +6 -0
  328. package/dist/types/components/sd-number-input/sd-number-input.d.ts +39 -0
  329. package/dist/types/components/sd-pagination/sd-pagination.d.ts +4 -0
  330. package/dist/types/components/sd-popover/sd-popover.d.ts +16 -0
  331. package/dist/types/components/sd-popup/sd-popup.d.ts +5 -0
  332. package/dist/types/components/sd-portal/sd-portal.d.ts +13 -0
  333. package/dist/types/components/sd-radio/sd-radio.d.ts +5 -0
  334. package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +6 -0
  335. package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +6 -0
  336. package/dist/types/components/sd-select/sd-select-list-item/sd-select-list-item.d.ts +7 -0
  337. package/dist/types/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.d.ts +4 -0
  338. package/dist/types/components/sd-select/sd-select-listbox/sd-select-listbox.d.ts +10 -0
  339. package/dist/types/components/sd-select/sd-select-trigger/sd-select-trigger.d.ts +8 -0
  340. package/dist/types/components/sd-select/sd-select.d.ts +29 -0
  341. package/dist/types/components/sd-switch/sd-switch.d.ts +4 -0
  342. package/dist/types/components/sd-table/constants.d.ts +1 -0
  343. package/dist/types/components/sd-table/sd-table.d.ts +35 -0
  344. package/dist/types/components/sd-table/sd-table.stories.helpers.d.ts +10 -0
  345. package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +1 -0
  346. package/dist/types/components/sd-table/sd-td/sd-td.d.ts +9 -0
  347. package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +21 -0
  348. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +11 -0
  349. package/dist/types/components/sd-tabs/sd-tabs.d.ts +6 -0
  350. package/dist/types/components/sd-tag/sd-tag.d.ts +4 -0
  351. package/dist/types/components/sd-text-link/sd-text-link.d.ts +9 -0
  352. package/dist/types/components/sd-textarea/sd-textarea.d.ts +34 -0
  353. package/dist/types/components/sd-toast/sd-toast.d.ts +9 -0
  354. package/dist/types/components/sd-toast-container/sd-toast-container.d.ts +9 -0
  355. package/dist/types/components/sd-toggle/sd-toggle.d.ts +4 -0
  356. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +14 -0
  357. package/dist/types/components.d.ts +1827 -7
  358. package/hydrate/index.js +949 -146
  359. package/hydrate/index.mjs +949 -146
  360. package/package.json +1 -1
  361. package/dist/components/p-B7PHGGFH.js +0 -1
  362. package/dist/components/p-CLlAhEDc.js +0 -1
  363. package/dist/components/p-CXeOxSQ-.js +0 -1
  364. package/dist/components/p-CZfsknba.js +0 -1
  365. package/dist/components/p-CvSqieCH.js +0 -1
  366. package/dist/components/p-P2jWtk8J.js +0 -1
  367. package/dist/components/p-xkRWGISE.js +0 -1
  368. package/dist/design-system/p-17dcf0e4.entry.js +0 -1
  369. package/dist/design-system/p-316b8a08.entry.js +0 -1
  370. package/dist/design-system/p-5039241c.entry.js +0 -1
  371. package/dist/design-system/p-5eaa12af.entry.js +0 -1
  372. package/dist/design-system/p-9c38ee79.entry.js +0 -1
  373. package/dist/design-system/p-CAxodB5I.js +0 -2
  374. package/dist/design-system/p-c995e6c3.entry.js +0 -1
  375. package/dist/design-system/p-eef6d4a3.entry.js +0 -1
  376. package/dist/design-system/p-faf7b64c.entry.js +0 -1
  377. package/dist/design-system/p-fd7abbfa.entry.js +0 -1
@@ -5,28 +5,48 @@ import { TABLE_RADIUS, TABLE_BORDER, TABLE_BODY_TYPOGRAPHY, TABLE_BODY_LAYOUT, T
5
5
  export class SdTable {
6
6
  static DEFAULT_NO_DATA_LABEL = '데이터가 없습니다.';
7
7
  el;
8
+ /** 테이블 고유 ID (자식 슬롯 매핑에 사용) */
8
9
  tableId = nanoid(8);
9
10
  fallbackTableId = nanoid(8);
11
+ /** 컬럼 정의 목록 */
10
12
  columns = [];
13
+ /** 행 데이터 배열 */
11
14
  rows;
15
+ /** 현재 선택된 행 목록 */
12
16
  selected = [];
17
+ /** 행 고유 식별 필드명 */
13
18
  rowKey = 'id';
19
+ /** 행 선택(체크박스) 기능 활성화 여부 */
14
20
  selectable = false;
21
+ /** 컬럼 너비 조절 기능 활성화 여부 */
15
22
  resizable = false;
23
+ /** 테이블 너비 */
16
24
  width;
25
+ /** 테이블 높이 */
17
26
  height;
27
+ /** 헤더 고정(sticky) 여부 */
18
28
  stickyHeader = false;
29
+ /** 고정할 좌우 컬럼 수 */
19
30
  stickyColumn = { left: 0, right: 0 };
31
+ /** border-radius 제어 */
20
32
  radius = 'default';
33
+ /** 데이터 없을 때 표시할 메시지 */
21
34
  noDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
22
35
  resolvedNoDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
36
+ /** 로딩 스피너 표시 여부 */
23
37
  isLoading = false;
38
+ /** 페이지네이션 옵션 */
24
39
  pagination;
40
+ /** 테이블 내부에서 페이지네이션을 직접 관리할지 여부 */
25
41
  useInternalPagination = false;
42
+ /** 페이지당 행 수 선택 셀렉트 표시 여부 */
26
43
  useRowsPerPageSelect = false;
44
+ /** 행 높이를 줄인 조밀 모드 여부 */
27
45
  dense = false;
28
46
  // ─── Virtual Scroll ───────────────────────────────────────────────
47
+ /** 가상 스크롤 사용 여부 */
29
48
  useVirtualScroll = false;
49
+ /** 가상 스크롤 행 높이 (px, 없으면 dense 여부에 따라 자동) */
30
50
  rowHeight;
31
51
  get effectiveRowHeight() {
32
52
  if (this.rowHeight != null)
@@ -35,19 +55,27 @@ export class SdTable {
35
55
  ? Number(TABLE_BODY_LAYOUT.dense.height)
36
56
  : Number(TABLE_BODY_LAYOUT.default.height);
37
57
  }
58
+ /** 가상 스크롤 상하 버퍼 행 수 */
38
59
  virtualBuffer = 5;
60
+ /** 가상 스크롤 끝 도달 감지 임계값 (마지막 N행 이내에 들어오면 이벤트 발생) */
39
61
  virtualEndThreshold = 10;
40
62
  // ─────────────────────────────────────────────────────────────────
63
+ /** 페이지당 행 수 선택 옵션 목록 */
41
64
  rowsPerPageOption = [
42
65
  { label: '10개씩 보기', value: 10 },
43
66
  { label: '25개씩 보기', value: 25 },
44
67
  { label: '50개씩 보기', value: 50 },
45
68
  { label: '100개씩 보기', value: 100 },
46
69
  ];
70
+ /** 행 선택 상태가 변경될 때 선택된 행 목록을 전달합니다. */
47
71
  sdSelectChange;
72
+ /** 페이지가 변경될 때 새 페이지 번호를 전달합니다. */
48
73
  sdPageChange;
74
+ /** 페이지당 행 수가 변경될 때 발생합니다. */
49
75
  sdRowsPerPageChange;
76
+ /** 가상 스크롤 가시 범위가 변경될 때 발생합니다. */
50
77
  sdVirtualUpdate;
78
+ /** 가상 스크롤이 끝 임계값에 도달할 때 발생합니다. */
51
79
  sdVirtualReachEnd;
52
80
  currentPage = 1;
53
81
  innerRowsPerPage = 10;
@@ -452,6 +480,7 @@ export class SdTable {
452
480
  isRowSelectedSync(row) {
453
481
  return Array.from(this.innerSelected).some(r => r[this.rowKey ?? 'id'] === row[this.rowKey ?? 'id']);
454
482
  }
483
+ /** 행이 선택되어 있는지 확인합니다. */
455
484
  async isRowSelected(row) {
456
485
  return this.isRowSelectedSync(row);
457
486
  }
@@ -468,6 +497,7 @@ export class SdTable {
468
497
  this.sdSelectChange.emit(Array.from(this.innerSelected));
469
498
  this.refreshChildrenSelection();
470
499
  }
500
+ /** 행 선택 상태를 토글합니다. */
471
501
  async updateRowSelect(row) {
472
502
  this.updateRowSelectSync(row);
473
503
  }
@@ -484,6 +514,7 @@ export class SdTable {
484
514
  this.sdSelectChange.emit(Array.from(this.innerSelected));
485
515
  this.refreshChildrenSelection();
486
516
  }
517
+ /** 전체 행 선택/해제를 처리합니다. */
487
518
  async toggleSelectAll(checked, rows) {
488
519
  this.toggleSelectAllSync(checked, rows);
489
520
  }
@@ -496,6 +527,7 @@ export class SdTable {
496
527
  return true;
497
528
  return null; // indeterminate
498
529
  }
530
+ /** 전체 선택 체크 상태를 반환합니다 (true/false/null=indeterminate). */
499
531
  async getIsAllChecked(rows) {
500
532
  return this.getIsAllCheckedSync(rows);
501
533
  }
@@ -586,6 +618,7 @@ export class SdTable {
586
618
  }
587
619
  return base;
588
620
  }
621
+ /** 지정한 컬럼 인덱스의 sticky 스타일 객체를 반환합니다. */
589
622
  async getStickyStyle(colIdx) {
590
623
  return this.getStickyStyleSync(colIdx);
591
624
  }
@@ -728,6 +761,7 @@ export class SdTable {
728
761
  this.propagateVirtualUpdate(true);
729
762
  }
730
763
  }
764
+ /** 가상 스크롤 총 행 수를 설정합니다. */
731
765
  async setRowCount(count) {
732
766
  this.setRowCountSync(count);
733
767
  }
@@ -755,6 +789,7 @@ export class SdTable {
755
789
  rowsPerPage: this.innerRowsPerPage,
756
790
  };
757
791
  }
792
+ /** 현재 페이지네이션 상태(startIndex, endIndex, currentPage, rowsPerPage)를 반환합니다. */
758
793
  async getPaginationInfo() {
759
794
  return this.getPaginationInfoSync();
760
795
  }
@@ -818,25 +853,25 @@ export class SdTable {
818
853
  '--table-selectable-width': `${TABLE_SELECTABLE_COLUMN_WIDTH}px`,
819
854
  '--table-host-height': hostHeight,
820
855
  };
821
- return (h(Host, { key: 'f5a5a2d4012f069619d110dcd9c2d5e6bd446407', style: hostStyle }, h("div", { key: '96ca8b8e4291ac077a6e1b6d3eed897777817b25', class: "sd-table__container", style: {
856
+ return (h(Host, { key: '2606b0d7fc3657a8021a6dfc64672996b756f762', style: hostStyle }, h("div", { key: '4def416edfe630ead35b80cb2f04081a89740f62', class: "sd-table__container", style: {
822
857
  '--table-width': this.width,
823
858
  '--pagination-height': `${paginationHeight}px`,
824
- } }, h("div", { key: 'd8225691e78e5fe5341f03def8ad1d6dfb057056', class: {
859
+ } }, h("div", { key: '316a359f2be84895719f452e056dcd2f54cd5b56', class: {
825
860
  'sd-table__wrapper': true,
826
861
  'sd-table__wrapper--radius-useTop': this.radius === 'useTop',
827
862
  'sd-table__wrapper--radius-full': this.radius === 'full',
828
- } }, h("div", { key: 'fb8403bd7587a4d1fcbb77b1fe226ae0aa27be7a', class: {
863
+ } }, h("div", { key: 'e798b58104f56b3250a7d74261a8c320a8049f28', class: {
829
864
  'sd-table__scroll-container': true,
830
865
  'sd-table__scroll-container--loading': this.isLoading,
831
866
  'sd-table__scroll-container--no-data': isNoData,
832
- } }, this.isLoading && (h("div", { key: '4202fa1f03feff066f9779c5eb21c3b0c96f5cf3', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, h("sd-circle-progress", { key: '394c52823f5c24f288d51b34daec6f228de119d7', indeterminate: true }))), isNoData && (h(h.Fragment, null, h("div", { key: 'bb1d3d8b592194006bea7cd5ab2efc587f9abc44', class: "sd-table__no-data-header-overlay" }), h("div", { key: 'c34df2b4f35c7ea8b5bbe6cf49dc354e11dac344', class: "sd-table__no-data" }, h("div", { key: '05006aacc2c242606ba8585ee0bdea50eea1b688', class: "sd-table__no-data-content", ref: el => {
867
+ } }, this.isLoading && (h("div", { key: 'af91877075c8d4ed8b608bdfdc7f04bd844f5574', class: "sd-table__loading", style: { top: `${this.loadingScrollTop}px` } }, h("sd-circle-progress", { key: '2422c7020046fa468dbaaf34220230737cb6b02e', indeterminate: true }))), isNoData && (h(h.Fragment, null, h("div", { key: 'bd5c2237d8c3a34cc4bf12a187f471e22ce02efd', class: "sd-table__no-data-header-overlay" }), h("div", { key: '1e0da67564879a175e89a3482195742b1b4451dc', class: "sd-table__no-data" }, h("div", { key: '391bc76e748d64b84c39de669396b2f5f288e5a1', class: "sd-table__no-data-content", ref: el => {
833
868
  this.noDataContentEl = el;
834
869
  if (el)
835
870
  this.syncNoDataContentObserver();
836
- } }, h("slot", { key: 'ad707be9bc8062da5a6236c9833176adb7b95851', name: "no-data" }, h("span", { key: '3aa57b547e05bd455829cff770c435af2ac78383' }, this.resolvedNoDataLabel)))))), h("table", { key: '6b2958f14d9708a49e3cbaff7cdb3653f7267e1c', class: this.tableClasses }, this.autoThead ? (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, h("sd-thead", { rows: this.rows ?? [] }))) : (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, h("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
871
+ } }, h("slot", { key: '3e2e26f4951d9b834ae811906c137a78067fecab', name: "no-data" }, h("span", { key: '54ed0371d60f5312376d8ffab50efd9ec0947729' }, this.resolvedNoDataLabel)))))), h("table", { key: '46cab11834ca3f5aa9010bd6f603d301b2a54c9c', class: this.tableClasses }, this.autoThead ? (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange }, h("sd-thead", { rows: this.rows ?? [] }))) : (h("slot", { name: `${resolvedTableId}-head`, onSlotchange: this.handleStructureSlotChange })), this.autoTbody ? (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }, h("sd-tbody", { rows: this.rows ?? [] }, this.renderAutoRows()))) : (h("slot", { name: `${resolvedTableId}-body`, onSlotchange: this.handleStructureSlotChange }))))), this.pagination &&
837
872
  this.pagination.rowsPerPage > 0 &&
838
873
  this.rowCount > 0 &&
839
- !this.useVirtualScroll && (h("div", { key: '950e80fdb6c06af2b4423e3b0c75ded7cfe4a298', class: "sd-table__pagination" }, h("sd-pagination", { key: '3257c7b631c262c9ddadbd23c83f2eb43f9bf7f5', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (h("sd-select", { key: '7bb00889139aa7dbee4723efac511753afcb15e9', value: this.useInternalPagination
874
+ !this.useVirtualScroll && (h("div", { key: 'b9c738172d4e2993f15f6a7e051406d3b7e8d568', class: "sd-table__pagination" }, h("sd-pagination", { key: '62c199e61dd2010f2c19aabb3599d75a561ef83d', currentPage: !this.useInternalPagination ? this.pagination.page : this.currentPage, lastPage: !this.useInternalPagination ? this.pagination.lastPage : this.lastPageNumber, onSdPageChange: (e) => this.changePage(e.detail) }), this.useRowsPerPageSelect && (h("sd-select", { key: '5f305858818e720bf5a53499777d2f5aac843487', value: this.useInternalPagination
840
875
  ? this.innerRowsPerPage
841
876
  : this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", emitValue: true, onSdUpdate: e => {
842
877
  if (!this.isRowsPerPageValue(e.detail))
@@ -870,7 +905,7 @@ export class SdTable {
870
905
  "optional": false,
871
906
  "docs": {
872
907
  "tags": [],
873
- "text": ""
908
+ "text": "\uD14C\uC774\uBE14 \uACE0\uC720 ID (\uC790\uC2DD \uC2AC\uB86F \uB9E4\uD551\uC5D0 \uC0AC\uC6A9)"
874
909
  },
875
910
  "getter": false,
876
911
  "setter": false,
@@ -897,7 +932,7 @@ export class SdTable {
897
932
  "optional": false,
898
933
  "docs": {
899
934
  "tags": [],
900
- "text": ""
935
+ "text": "\uCEEC\uB7FC \uC815\uC758 \uBAA9\uB85D"
901
936
  },
902
937
  "getter": false,
903
938
  "setter": false,
@@ -922,7 +957,7 @@ export class SdTable {
922
957
  "optional": true,
923
958
  "docs": {
924
959
  "tags": [],
925
- "text": ""
960
+ "text": "\uD589 \uB370\uC774\uD130 \uBC30\uC5F4"
926
961
  },
927
962
  "getter": false,
928
963
  "setter": false
@@ -946,7 +981,7 @@ export class SdTable {
946
981
  "optional": false,
947
982
  "docs": {
948
983
  "tags": [],
949
- "text": ""
984
+ "text": "\uD604\uC7AC \uC120\uD0DD\uB41C \uD589 \uBAA9\uB85D"
950
985
  },
951
986
  "getter": false,
952
987
  "setter": false,
@@ -964,7 +999,7 @@ export class SdTable {
964
999
  "optional": false,
965
1000
  "docs": {
966
1001
  "tags": [],
967
- "text": ""
1002
+ "text": "\uD589 \uACE0\uC720 \uC2DD\uBCC4 \uD544\uB4DC\uBA85"
968
1003
  },
969
1004
  "getter": false,
970
1005
  "setter": false,
@@ -984,7 +1019,7 @@ export class SdTable {
984
1019
  "optional": false,
985
1020
  "docs": {
986
1021
  "tags": [],
987
- "text": ""
1022
+ "text": "\uD589 \uC120\uD0DD(\uCCB4\uD06C\uBC15\uC2A4) \uAE30\uB2A5 \uD65C\uC131\uD654 \uC5EC\uBD80"
988
1023
  },
989
1024
  "getter": false,
990
1025
  "setter": false,
@@ -1004,7 +1039,7 @@ export class SdTable {
1004
1039
  "optional": false,
1005
1040
  "docs": {
1006
1041
  "tags": [],
1007
- "text": ""
1042
+ "text": "\uCEEC\uB7FC \uB108\uBE44 \uC870\uC808 \uAE30\uB2A5 \uD65C\uC131\uD654 \uC5EC\uBD80"
1008
1043
  },
1009
1044
  "getter": false,
1010
1045
  "setter": false,
@@ -1024,7 +1059,7 @@ export class SdTable {
1024
1059
  "optional": true,
1025
1060
  "docs": {
1026
1061
  "tags": [],
1027
- "text": ""
1062
+ "text": "\uD14C\uC774\uBE14 \uB108\uBE44"
1028
1063
  },
1029
1064
  "getter": false,
1030
1065
  "setter": false,
@@ -1043,7 +1078,7 @@ export class SdTable {
1043
1078
  "optional": true,
1044
1079
  "docs": {
1045
1080
  "tags": [],
1046
- "text": ""
1081
+ "text": "\uD14C\uC774\uBE14 \uB192\uC774"
1047
1082
  },
1048
1083
  "getter": false,
1049
1084
  "setter": false,
@@ -1062,7 +1097,7 @@ export class SdTable {
1062
1097
  "optional": false,
1063
1098
  "docs": {
1064
1099
  "tags": [],
1065
- "text": ""
1100
+ "text": "\uD5E4\uB354 \uACE0\uC815(sticky) \uC5EC\uBD80"
1066
1101
  },
1067
1102
  "getter": false,
1068
1103
  "setter": false,
@@ -1089,7 +1124,7 @@ export class SdTable {
1089
1124
  "optional": false,
1090
1125
  "docs": {
1091
1126
  "tags": [],
1092
- "text": ""
1127
+ "text": "\uACE0\uC815\uD560 \uC88C\uC6B0 \uCEEC\uB7FC \uC218"
1093
1128
  },
1094
1129
  "getter": false,
1095
1130
  "setter": false,
@@ -1107,7 +1142,7 @@ export class SdTable {
1107
1142
  "optional": false,
1108
1143
  "docs": {
1109
1144
  "tags": [],
1110
- "text": ""
1145
+ "text": "border-radius \uC81C\uC5B4"
1111
1146
  },
1112
1147
  "getter": false,
1113
1148
  "setter": false,
@@ -1127,7 +1162,7 @@ export class SdTable {
1127
1162
  "optional": false,
1128
1163
  "docs": {
1129
1164
  "tags": [],
1130
- "text": ""
1165
+ "text": "\uB370\uC774\uD130 \uC5C6\uC744 \uB54C \uD45C\uC2DC\uD560 \uBA54\uC2DC\uC9C0"
1131
1166
  },
1132
1167
  "getter": false,
1133
1168
  "setter": false,
@@ -1147,7 +1182,7 @@ export class SdTable {
1147
1182
  "optional": false,
1148
1183
  "docs": {
1149
1184
  "tags": [],
1150
- "text": ""
1185
+ "text": "\uB85C\uB529 \uC2A4\uD53C\uB108 \uD45C\uC2DC \uC5EC\uBD80"
1151
1186
  },
1152
1187
  "getter": false,
1153
1188
  "setter": false,
@@ -1174,7 +1209,7 @@ export class SdTable {
1174
1209
  "optional": true,
1175
1210
  "docs": {
1176
1211
  "tags": [],
1177
- "text": ""
1212
+ "text": "\uD398\uC774\uC9C0\uB124\uC774\uC158 \uC635\uC158"
1178
1213
  },
1179
1214
  "getter": false,
1180
1215
  "setter": false
@@ -1191,7 +1226,7 @@ export class SdTable {
1191
1226
  "optional": false,
1192
1227
  "docs": {
1193
1228
  "tags": [],
1194
- "text": ""
1229
+ "text": "\uD14C\uC774\uBE14 \uB0B4\uBD80\uC5D0\uC11C \uD398\uC774\uC9C0\uB124\uC774\uC158\uC744 \uC9C1\uC811 \uAD00\uB9AC\uD560\uC9C0 \uC5EC\uBD80"
1195
1230
  },
1196
1231
  "getter": false,
1197
1232
  "setter": false,
@@ -1211,7 +1246,7 @@ export class SdTable {
1211
1246
  "optional": false,
1212
1247
  "docs": {
1213
1248
  "tags": [],
1214
- "text": ""
1249
+ "text": "\uD398\uC774\uC9C0\uB2F9 \uD589 \uC218 \uC120\uD0DD \uC140\uB809\uD2B8 \uD45C\uC2DC \uC5EC\uBD80"
1215
1250
  },
1216
1251
  "getter": false,
1217
1252
  "setter": false,
@@ -1231,7 +1266,7 @@ export class SdTable {
1231
1266
  "optional": false,
1232
1267
  "docs": {
1233
1268
  "tags": [],
1234
- "text": ""
1269
+ "text": "\uD589 \uB192\uC774\uB97C \uC904\uC778 \uC870\uBC00 \uBAA8\uB4DC \uC5EC\uBD80"
1235
1270
  },
1236
1271
  "getter": false,
1237
1272
  "setter": false,
@@ -1251,7 +1286,7 @@ export class SdTable {
1251
1286
  "optional": false,
1252
1287
  "docs": {
1253
1288
  "tags": [],
1254
- "text": ""
1289
+ "text": "\uAC00\uC0C1 \uC2A4\uD06C\uB864 \uC0AC\uC6A9 \uC5EC\uBD80"
1255
1290
  },
1256
1291
  "getter": false,
1257
1292
  "setter": false,
@@ -1271,7 +1306,7 @@ export class SdTable {
1271
1306
  "optional": true,
1272
1307
  "docs": {
1273
1308
  "tags": [],
1274
- "text": ""
1309
+ "text": "\uAC00\uC0C1 \uC2A4\uD06C\uB864 \uD589 \uB192\uC774 (px, \uC5C6\uC73C\uBA74 dense \uC5EC\uBD80\uC5D0 \uB530\uB77C \uC790\uB3D9)"
1275
1310
  },
1276
1311
  "getter": false,
1277
1312
  "setter": false,
@@ -1290,7 +1325,7 @@ export class SdTable {
1290
1325
  "optional": false,
1291
1326
  "docs": {
1292
1327
  "tags": [],
1293
- "text": ""
1328
+ "text": "\uAC00\uC0C1 \uC2A4\uD06C\uB864 \uC0C1\uD558 \uBC84\uD37C \uD589 \uC218"
1294
1329
  },
1295
1330
  "getter": false,
1296
1331
  "setter": false,
@@ -1310,7 +1345,7 @@ export class SdTable {
1310
1345
  "optional": false,
1311
1346
  "docs": {
1312
1347
  "tags": [],
1313
- "text": ""
1348
+ "text": "\uAC00\uC0C1 \uC2A4\uD06C\uB864 \uB05D \uB3C4\uB2EC \uAC10\uC9C0 \uC784\uACC4\uAC12 (\uB9C8\uC9C0\uB9C9 N\uD589 \uC774\uB0B4\uC5D0 \uB4E4\uC5B4\uC624\uBA74 \uC774\uBCA4\uD2B8 \uBC1C\uC0DD)"
1314
1349
  },
1315
1350
  "getter": false,
1316
1351
  "setter": false,
@@ -1337,7 +1372,7 @@ export class SdTable {
1337
1372
  "optional": false,
1338
1373
  "docs": {
1339
1374
  "tags": [],
1340
- "text": ""
1375
+ "text": "\uD398\uC774\uC9C0\uB2F9 \uD589 \uC218 \uC120\uD0DD \uC635\uC158 \uBAA9\uB85D"
1341
1376
  },
1342
1377
  "getter": false,
1343
1378
  "setter": false,
@@ -1370,7 +1405,7 @@ export class SdTable {
1370
1405
  "composed": true,
1371
1406
  "docs": {
1372
1407
  "tags": [],
1373
- "text": ""
1408
+ "text": "\uD589 \uC120\uD0DD \uC0C1\uD0DC\uAC00 \uBCC0\uACBD\uB420 \uB54C \uC120\uD0DD\uB41C \uD589 \uBAA9\uB85D\uC744 \uC804\uB2EC\uD569\uB2C8\uB2E4."
1374
1409
  },
1375
1410
  "complexType": {
1376
1411
  "original": "Row[]",
@@ -1392,7 +1427,7 @@ export class SdTable {
1392
1427
  "composed": true,
1393
1428
  "docs": {
1394
1429
  "tags": [],
1395
- "text": ""
1430
+ "text": "\uD398\uC774\uC9C0\uAC00 \uBCC0\uACBD\uB420 \uB54C \uC0C8 \uD398\uC774\uC9C0 \uBC88\uD638\uB97C \uC804\uB2EC\uD569\uB2C8\uB2E4."
1396
1431
  },
1397
1432
  "complexType": {
1398
1433
  "original": "number",
@@ -1407,7 +1442,7 @@ export class SdTable {
1407
1442
  "composed": true,
1408
1443
  "docs": {
1409
1444
  "tags": [],
1410
- "text": ""
1445
+ "text": "\uD398\uC774\uC9C0\uB2F9 \uD589 \uC218\uAC00 \uBCC0\uACBD\uB420 \uB54C \uBC1C\uC0DD\uD569\uB2C8\uB2E4."
1411
1446
  },
1412
1447
  "complexType": {
1413
1448
  "original": "number",
@@ -1422,7 +1457,7 @@ export class SdTable {
1422
1457
  "composed": true,
1423
1458
  "docs": {
1424
1459
  "tags": [],
1425
- "text": ""
1460
+ "text": "\uAC00\uC0C1 \uC2A4\uD06C\uB864 \uAC00\uC2DC \uBC94\uC704\uAC00 \uBCC0\uACBD\uB420 \uB54C \uBC1C\uC0DD\uD569\uB2C8\uB2E4."
1426
1461
  },
1427
1462
  "complexType": {
1428
1463
  "original": "{\n from: number;\n to: number;\n }",
@@ -1437,7 +1472,7 @@ export class SdTable {
1437
1472
  "composed": true,
1438
1473
  "docs": {
1439
1474
  "tags": [],
1440
- "text": ""
1475
+ "text": "\uAC00\uC0C1 \uC2A4\uD06C\uB864\uC774 \uB05D \uC784\uACC4\uAC12\uC5D0 \uB3C4\uB2EC\uD560 \uB54C \uBC1C\uC0DD\uD569\uB2C8\uB2E4."
1441
1476
  },
1442
1477
  "complexType": {
1443
1478
  "original": "{\n from: number;\n to: number;\n rowCount: number;\n threshold: number;\n }",
@@ -1471,7 +1506,7 @@ export class SdTable {
1471
1506
  "return": "Promise<boolean>"
1472
1507
  },
1473
1508
  "docs": {
1474
- "text": "",
1509
+ "text": "\uD589\uC774 \uC120\uD0DD\uB418\uC5B4 \uC788\uB294\uC9C0 \uD655\uC778\uD569\uB2C8\uB2E4.",
1475
1510
  "tags": []
1476
1511
  }
1477
1512
  },
@@ -1498,7 +1533,7 @@ export class SdTable {
1498
1533
  "return": "Promise<void>"
1499
1534
  },
1500
1535
  "docs": {
1501
- "text": "",
1536
+ "text": "\uD589 \uC120\uD0DD \uC0C1\uD0DC\uB97C \uD1A0\uAE00\uD569\uB2C8\uB2E4.",
1502
1537
  "tags": []
1503
1538
  }
1504
1539
  },
@@ -1529,7 +1564,7 @@ export class SdTable {
1529
1564
  "return": "Promise<void>"
1530
1565
  },
1531
1566
  "docs": {
1532
- "text": "",
1567
+ "text": "\uC804\uCCB4 \uD589 \uC120\uD0DD/\uD574\uC81C\uB97C \uCC98\uB9AC\uD569\uB2C8\uB2E4.",
1533
1568
  "tags": []
1534
1569
  }
1535
1570
  },
@@ -1556,7 +1591,7 @@ export class SdTable {
1556
1591
  "return": "Promise<boolean | null>"
1557
1592
  },
1558
1593
  "docs": {
1559
- "text": "",
1594
+ "text": "\uC804\uCCB4 \uC120\uD0DD \uCCB4\uD06C \uC0C1\uD0DC\uB97C \uBC18\uD658\uD569\uB2C8\uB2E4 (true/false/null=indeterminate).",
1560
1595
  "tags": []
1561
1596
  }
1562
1597
  },
@@ -1581,7 +1616,7 @@ export class SdTable {
1581
1616
  "return": "Promise<Record<string, string>>"
1582
1617
  },
1583
1618
  "docs": {
1584
- "text": "",
1619
+ "text": "\uC9C0\uC815\uD55C \uCEEC\uB7FC \uC778\uB371\uC2A4\uC758 sticky \uC2A4\uD0C0\uC77C \uAC1D\uCCB4\uB97C \uBC18\uD658\uD569\uB2C8\uB2E4.",
1585
1620
  "tags": []
1586
1621
  }
1587
1622
  },
@@ -1602,7 +1637,7 @@ export class SdTable {
1602
1637
  "return": "Promise<void>"
1603
1638
  },
1604
1639
  "docs": {
1605
- "text": "",
1640
+ "text": "\uAC00\uC0C1 \uC2A4\uD06C\uB864 \uCD1D \uD589 \uC218\uB97C \uC124\uC815\uD569\uB2C8\uB2E4.",
1606
1641
  "tags": []
1607
1642
  }
1608
1643
  },
@@ -1619,7 +1654,7 @@ export class SdTable {
1619
1654
  "return": "Promise<{ startIndex: number; endIndex: number; currentPage: number; rowsPerPage: number; } | null>"
1620
1655
  },
1621
1656
  "docs": {
1622
- "text": "",
1657
+ "text": "\uD604\uC7AC \uD398\uC774\uC9C0\uB124\uC774\uC158 \uC0C1\uD0DC(startIndex, endIndex, currentPage, rowsPerPage)\uB97C \uBC18\uD658\uD569\uB2C8\uB2E4.",
1623
1658
  "tags": []
1624
1659
  }
1625
1660
  }
@@ -143,3 +143,100 @@ StoryVirtualTable = __decorate([
143
143
  customElement('story-virtual-table')
144
144
  ], StoryVirtualTable);
145
145
  export { StoryVirtualTable };
146
+ const DROPDOWN_STATUS_META = {
147
+ active: { bg: '#DCFCE7', color: '#166534', label: 'Active' },
148
+ reviewing: { bg: '#FEF3C7', color: '#92400E', label: 'Reviewing' },
149
+ archived: { bg: '#E2E8F0', color: '#475569', label: 'Archived' },
150
+ };
151
+ const DROPDOWN_SEED = [
152
+ { id: 1, name: 'Avery Kim', role: 'Owner', region: 'Seoul', status: 'active' },
153
+ { id: 2, name: 'Mina Park', role: 'Manager', region: 'Busan', status: 'reviewing' },
154
+ { id: 3, name: 'Ethan Lee', role: 'Analyst', region: 'Incheon', status: 'archived' },
155
+ { id: 4, name: 'Sora Choi', role: 'Owner', region: 'Daegu', status: 'active' },
156
+ { id: 5, name: 'Jisoo Han', role: 'Manager', region: 'Daejeon', status: 'reviewing' },
157
+ { id: 6, name: 'Noah Yoon', role: 'Analyst', region: 'Gwangju', status: 'active' },
158
+ { id: 7, name: 'Iris Jung', role: 'Manager', region: 'Suwon', status: 'active' },
159
+ { id: 8, name: 'Liam Seo', role: 'Owner', region: 'Ulsan', status: 'reviewing' },
160
+ ];
161
+ const DROPDOWN_COLUMNS = [
162
+ { name: 'name', label: 'Customer', field: 'name', autoWidth: true },
163
+ { name: 'role', label: 'Role', field: 'role', align: 'center', width: '100px', hasDropdown: true },
164
+ { name: 'region', label: 'Region', field: 'region', width: '100px' },
165
+ { name: 'status', label: 'Status', field: 'status', align: 'center', width: '110px', hasDropdown: true },
166
+ ];
167
+ const LISTBOX_STYLE = 'margin:0;padding:4px;list-style:none;min-width:140px;background:white;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.10);';
168
+ const ITEM_BASE_STYLE = 'padding:7px 12px;border-radius:6px;cursor:pointer;font-size:13px;';
169
+ let StoryDropdownTable = class StoryDropdownTable extends LitElement {
170
+ // Disable shadow DOM so Stencil's slot emulation can see and move
171
+ // the slotted <ul> nodes without Lit's ChildPart losing track of them.
172
+ createRenderRoot() { return this; }
173
+ constructor() {
174
+ super();
175
+ this.roleFilter = 'All';
176
+ this.statusFilter = 'All';
177
+ }
178
+ get displayRows() {
179
+ return DROPDOWN_SEED.filter(row => (this.roleFilter === 'All' || row.role === this.roleFilter) &&
180
+ (this.statusFilter === 'All' || row.status === this.statusFilter));
181
+ }
182
+ itemStyle(active) {
183
+ return `${ITEM_BASE_STYLE}background:${active ? '#f0f9ff' : 'transparent'};color:${active ? '#0369a1' : '#374151'};font-weight:${active ? '600' : '400'};`;
184
+ }
185
+ render() {
186
+ const rows = this.displayRows;
187
+ const roleOptions = ['All', 'Owner', 'Manager', 'Analyst'];
188
+ const statusOptions = ['All', 'active', 'reviewing', 'archived'];
189
+ return html `
190
+ <div style="display:flex;flex-direction:column;gap:12px;">
191
+ <div style="display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;">
192
+ <span style="color:#64748b;">Active filters:</span>
193
+ ${this.roleFilter !== 'All' ? html `<span style="border-radius:9999px;background:#ecfeff;padding:2px 12px;font-size:12px;font-weight:500;color:#0e7490;">Role: ${this.roleFilter}</span>` : nothing}
194
+ ${this.statusFilter !== 'All' ? html `<span style="border-radius:9999px;background:#ecfeff;padding:2px 12px;font-size:12px;font-weight:500;color:#0e7490;">Status: ${DROPDOWN_STATUS_META[this.statusFilter]?.label}</span>` : nothing}
195
+ ${this.roleFilter === 'All' && this.statusFilter === 'All' ? html `<span style="color:#94a3b8;">없음</span>` : nothing}
196
+ ${this.roleFilter !== 'All' || this.statusFilter !== 'All' ? html `<button style="font-size:12px;color:#64748b;text-decoration:underline;background:none;border:none;cursor:pointer;" @click=${() => { this.roleFilter = 'All'; this.statusFilter = 'All'; }}>초기화</button>` : nothing}
197
+ </div>
198
+
199
+ <sd-table .columns=${DROPDOWN_COLUMNS} .rows=${rows} row-key="id" width="100%">
200
+ <sd-thead>
201
+ <ul slot="dropdown-role" style=${LISTBOX_STYLE}>
202
+ ${roleOptions.map(opt => html `
203
+ <li style=${this.itemStyle(this.roleFilter === opt)} @click=${() => { this.roleFilter = opt; }}>${opt}</li>
204
+ `)}
205
+ </ul>
206
+ <ul slot="dropdown-status" style=${LISTBOX_STYLE}>
207
+ ${statusOptions.map(opt => html `
208
+ <li style=${this.itemStyle(this.statusFilter === opt)} @click=${() => { this.statusFilter = opt; }}>
209
+ ${opt === 'All' ? 'All' : DROPDOWN_STATUS_META[opt].label}
210
+ </li>
211
+ `)}
212
+ </ul>
213
+ </sd-thead>
214
+ <sd-tbody>
215
+ ${repeat(rows, row => row.id, row => {
216
+ const meta = DROPDOWN_STATUS_META[row.status];
217
+ return html `
218
+ <sd-tr row-key=${String(row.id)} .row=${row}>
219
+ <sd-td field="status" row-key=${String(row.id)}>
220
+ <span style="display:inline-flex;min-width:88px;align-items:center;justify-content:center;border-radius:9999px;padding:4px 10px;font-size:12px;font-weight:600;background:${meta.bg};color:${meta.color};">
221
+ ${meta.label}
222
+ </span>
223
+ </sd-td>
224
+ </sd-tr>
225
+ `;
226
+ })}
227
+ </sd-tbody>
228
+ </sd-table>
229
+ </div>
230
+ `;
231
+ }
232
+ };
233
+ __decorate([
234
+ state()
235
+ ], StoryDropdownTable.prototype, "roleFilter", void 0);
236
+ __decorate([
237
+ state()
238
+ ], StoryDropdownTable.prototype, "statusFilter", void 0);
239
+ StoryDropdownTable = __decorate([
240
+ customElement('story-dropdown-table')
241
+ ], StoryDropdownTable);
242
+ export { StoryDropdownTable };
@@ -2,6 +2,7 @@ import { h, Host } from "@stencil/core";
2
2
  import { TABLE_ID_ATTR } from "../constants";
3
3
  export class SdTbody {
4
4
  el;
5
+ /** 렌더링할 행 데이터 목록 */
5
6
  rows = [];
6
7
  tableId = '';
7
8
  topSpacerHeight = 0;
@@ -45,9 +46,9 @@ export class SdTbody {
45
46
  }
46
47
  }
47
48
  render() {
48
- return (h(Host, { key: 'ae49b4a7e18afd3d44d07e7da6c3663a6a043796', slot: `${this.tableId}-body` }, h("tbody", { key: '7275cf9214f6917c5437b8a72a06cde3ca48dc8c', class: { tbody: true } }, [
49
+ return (h(Host, { key: '0f85168b22221551714f3c75bd12c366538cc5ec', slot: `${this.tableId}-body` }, h("tbody", { key: 'f9a8528d40c51988cfbca2c349905dafdafce8d3', class: { tbody: true } }, [
49
50
  this.topSpacerHeight > 0 && (h("tr", { key: "spacer-top", class: "tbody__spacer", style: { height: `${this.topSpacerHeight}px`, display: 'block' } })),
50
- h("slot", { key: '6455be878c24df5371e094fbfe9687ddb992e0e6' }),
51
+ h("slot", { key: '7ecfe2f730b4c909d394fdee2d9aa015c5410cb4' }),
51
52
  this.bottomSpacerHeight > 0 && (h("tr", { key: "spacer-bottom", class: "tbody__spacer", style: { height: `${this.bottomSpacerHeight}px`, display: 'block' } })),
52
53
  ])));
53
54
  }
@@ -84,7 +85,7 @@ export class SdTbody {
84
85
  "optional": false,
85
86
  "docs": {
86
87
  "tags": [],
87
- "text": ""
88
+ "text": "\uB80C\uB354\uB9C1\uD560 \uD589 \uB370\uC774\uD130 \uBAA9\uB85D"
88
89
  },
89
90
  "getter": false,
90
91
  "setter": false,