@sellmate/design-system 1.20.1 → 1.21.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 (365) hide show
  1. package/dist/cjs/design-system.cjs.js +1 -1
  2. package/dist/cjs/{index-DXm0PH2A.js → index-C-F-JEv_.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  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 +12 -3
  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 +38 -4
  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 +38 -9
  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/sd-action-modal/sd-action-modal.js +13 -7
  46. package/dist/collection/components/sd-badge/sd-badge.js +3 -2
  47. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +67 -34
  48. package/dist/collection/components/sd-button/sd-button.js +18 -10
  49. package/dist/collection/components/sd-calendar/sd-calendar.js +15 -9
  50. package/dist/collection/components/sd-callout/sd-callout.js +5 -3
  51. package/dist/collection/components/sd-card/sd-card.js +5 -3
  52. package/dist/collection/components/sd-checkbox/sd-checkbox.config.js +5 -3
  53. package/dist/collection/components/sd-checkbox/sd-checkbox.css +16 -0
  54. package/dist/collection/components/sd-checkbox/sd-checkbox.js +5 -3
  55. package/dist/collection/components/sd-chip/sd-chip.js +35 -18
  56. package/dist/collection/components/sd-chip-input/sd-chip-input.css +1 -0
  57. package/dist/collection/components/sd-chip-input/sd-chip-input.js +69 -35
  58. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +9 -5
  59. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +32 -17
  60. package/dist/collection/components/sd-date-box/sd-date-box.js +22 -12
  61. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +12 -7
  62. package/dist/collection/components/sd-date-picker/sd-date-picker.js +48 -25
  63. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +11 -6
  64. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +50 -26
  65. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +20 -10
  66. package/dist/collection/components/sd-field/sd-field.js +51 -28
  67. package/dist/collection/components/sd-file-picker/sd-file-picker.js +60 -30
  68. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +32 -11
  69. package/dist/collection/components/sd-form/sd-form.js +17 -9
  70. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +28 -13
  71. package/dist/collection/components/sd-guide/sd-guide.js +14 -8
  72. package/dist/collection/components/sd-icon/sd-icon.js +2 -1
  73. package/dist/collection/components/sd-input/sd-input.js +82 -42
  74. package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +4 -2
  75. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +10 -7
  76. package/dist/collection/components/sd-loading-container/sd-loading-container.js +6 -4
  77. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +17 -9
  78. package/dist/collection/components/sd-modal-container/sd-modal-container.js +12 -6
  79. package/dist/collection/components/sd-number-input/sd-number-input.js +82 -43
  80. package/dist/collection/components/sd-pagination/sd-pagination.js +11 -7
  81. package/dist/collection/components/sd-popover/sd-popover.js +35 -19
  82. package/dist/collection/components/sd-popup/sd-popup.js +11 -7
  83. package/dist/collection/components/sd-portal/sd-portal.js +35 -14
  84. package/dist/collection/components/sd-radio/sd-radio.js +11 -6
  85. package/dist/collection/components/sd-radio-button/sd-radio-button.js +13 -7
  86. package/dist/collection/components/sd-radio-group/sd-radio-group.js +13 -7
  87. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +16 -9
  88. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +12 -8
  89. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +22 -12
  90. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +18 -10
  91. package/dist/collection/components/sd-select/sd-select.js +62 -33
  92. package/dist/collection/components/sd-switch/sd-switch.js +9 -5
  93. package/dist/collection/components/sd-table/sd-table.js +76 -41
  94. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +4 -3
  95. package/dist/collection/components/sd-table/sd-td/sd-td.js +19 -10
  96. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +29 -16
  97. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +22 -11
  98. package/dist/collection/components/sd-tabs/sd-tabs.js +13 -7
  99. package/dist/collection/components/sd-tag/sd-tag.js +10 -7
  100. package/dist/collection/components/sd-text-link/sd-text-link.js +21 -12
  101. package/dist/collection/components/sd-textarea/sd-textarea.js +69 -35
  102. package/dist/collection/components/sd-toast/sd-toast.js +20 -11
  103. package/dist/collection/components/sd-toast-container/sd-toast-container.js +19 -10
  104. package/dist/collection/components/sd-toggle/sd-toggle.js +9 -5
  105. package/dist/collection/components/sd-tooltip/sd-tooltip.js +30 -16
  106. package/dist/components/index.js +1 -1
  107. package/dist/components/{p-D99vy8Ip.js → p-4MIzxb0h.js} +1 -1
  108. package/dist/components/{p-CQozoo2-.js → p-B-Igud6n.js} +1 -1
  109. package/dist/components/{p-CoqA9KgU.js → p-B5VNSTAf.js} +1 -1
  110. package/dist/components/{p-DertIGhs.js → p-B76pFg6k.js} +1 -1
  111. package/dist/components/{p-MJG6EZeP.js → p-BFlmHQm9.js} +1 -1
  112. package/dist/components/{p-Rwc_ltPn.js → p-BIHVGo10.js} +1 -1
  113. package/dist/components/{p-uSEbiD29.js → p-BQQC-6k4.js} +1 -1
  114. package/dist/{design-system/p-L_He_WSA.js → components/p-BRmilX-4.js} +1 -1
  115. package/dist/components/{p-CZfsknba.js → p-BVlg0BoC.js} +1 -1
  116. package/dist/components/{p-CRwvv7YM.js → p-BjSMh85k.js} +1 -1
  117. package/dist/components/{p-gOIeNT-Z.js → p-BrHnpCXR.js} +1 -1
  118. package/dist/components/{p-Bz93hWXV.js → p-Btj50AUe.js} +1 -1
  119. package/dist/components/{p-CLlAhEDc.js → p-BzsHwLh6.js} +1 -1
  120. package/dist/components/{p-9Z-q6kKD.js → p-C1QezE7u.js} +1 -1
  121. package/dist/components/{p-Dl89_4C3.js → p-C3mTIE8H.js} +1 -1
  122. package/dist/components/{p-CTPImLDQ.js → p-CBDBmMmw.js} +1 -1
  123. package/dist/components/p-CCCwPJ5p.js +1 -0
  124. package/dist/components/p-CEKu7cxA.js +1 -0
  125. package/dist/components/{p-5imde6N9.js → p-CTw1Deo8.js} +1 -1
  126. package/dist/components/p-CTxZT3Je.js +1 -0
  127. package/dist/components/{p-CB2A3pJ5.js → p-CZYTZeMe.js} +1 -1
  128. package/dist/components/{p-BZfVV3gu.js → p-CcwzTAJC.js} +1 -1
  129. package/dist/components/p-Cj_1bYZF.js +1 -0
  130. package/dist/components/{p-B5bya7Gp.js → p-Cugxp5lo.js} +1 -1
  131. package/dist/components/{p-CUR9smP5.js → p-D4zy1T3V.js} +1 -1
  132. package/dist/components/{p-BjcGzaFR.js → p-DC5W8Uy1.js} +1 -1
  133. package/dist/components/{p-DDAA-zcg.js → p-DIc8C633.js} +1 -1
  134. package/dist/components/{p-DIlNesBH.js → p-DJY7lCe4.js} +1 -1
  135. package/dist/components/{p-CrT06Uwc.js → p-DPXOBYhf.js} +1 -1
  136. package/dist/components/{p-BiBLp9_a.js → p-DU0IkIvI.js} +1 -1
  137. package/dist/components/{p-DZTxHJlP.js → p-DZikCqcw.js} +1 -1
  138. package/dist/components/{p-DNnI3Nru.js → p-Dz7VXmIA.js} +1 -1
  139. package/dist/components/p-FA9fGvbL.js +1 -0
  140. package/dist/components/p-S2-XqY2R.js +1 -0
  141. package/dist/components/{p-ZvI5A-_t.js → p-YpyfqzoP.js} +1 -1
  142. package/dist/components/{p-CJ69QmR3.js → p-l7TaS8q9.js} +1 -1
  143. package/dist/components/{p-FTvXz0-a.js → p-s_75vJTu.js} +1 -1
  144. package/dist/components/sd-action-modal.js +1 -1
  145. package/dist/components/sd-badge.js +1 -1
  146. package/dist/components/sd-barcode-input.js +1 -1
  147. package/dist/components/sd-button.js +1 -1
  148. package/dist/components/sd-calendar.js +1 -1
  149. package/dist/components/sd-callout.js +1 -1
  150. package/dist/components/sd-card.js +1 -1
  151. package/dist/components/sd-checkbox.js +1 -1
  152. package/dist/components/sd-chip-input.js +1 -1
  153. package/dist/components/sd-chip.js +1 -1
  154. package/dist/components/sd-circle-progress.js +1 -1
  155. package/dist/components/sd-confirm-modal.js +1 -1
  156. package/dist/components/sd-date-box.js +1 -1
  157. package/dist/components/sd-date-picker-trigger.js +1 -1
  158. package/dist/components/sd-date-picker.js +1 -1
  159. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  160. package/dist/components/sd-date-range-picker.js +1 -1
  161. package/dist/components/sd-divider.js +1 -1
  162. package/dist/components/sd-dropdown-button.js +1 -1
  163. package/dist/components/sd-field.js +1 -1
  164. package/dist/components/sd-file-picker.js +1 -1
  165. package/dist/components/sd-floating-portal.js +1 -1
  166. package/dist/components/sd-form.js +1 -1
  167. package/dist/components/sd-ghost-button.js +1 -1
  168. package/dist/components/sd-guide.js +1 -1
  169. package/dist/components/sd-icon.js +1 -1
  170. package/dist/components/sd-input.js +1 -1
  171. package/dist/components/sd-key-value-table.js +1 -1
  172. package/dist/components/sd-linear-progress.js +1 -1
  173. package/dist/components/sd-loading-container.js +1 -1
  174. package/dist/components/sd-loading-modal.js +1 -1
  175. package/dist/components/sd-modal-container.js +1 -1
  176. package/dist/components/sd-number-input.js +1 -1
  177. package/dist/components/sd-pagination.js +1 -1
  178. package/dist/components/sd-popover.js +1 -1
  179. package/dist/components/sd-popup.js +1 -1
  180. package/dist/components/sd-portal.js +1 -1
  181. package/dist/components/sd-radio-button.js +1 -1
  182. package/dist/components/sd-radio-group.js +1 -1
  183. package/dist/components/sd-radio.js +1 -1
  184. package/dist/components/sd-select-list-item-search.js +1 -1
  185. package/dist/components/sd-select-list-item.js +1 -1
  186. package/dist/components/sd-select-listbox.js +1 -1
  187. package/dist/components/sd-select-trigger.js +1 -1
  188. package/dist/components/sd-select.js +1 -1
  189. package/dist/components/sd-switch.js +1 -1
  190. package/dist/components/sd-table.js +1 -1
  191. package/dist/components/sd-tabs.js +1 -1
  192. package/dist/components/sd-tag.js +1 -1
  193. package/dist/components/sd-tbody.js +1 -1
  194. package/dist/components/sd-td.js +1 -1
  195. package/dist/components/sd-text-link.js +1 -1
  196. package/dist/components/sd-textarea.js +1 -1
  197. package/dist/components/sd-thead.js +1 -1
  198. package/dist/components/sd-toast-container.js +1 -1
  199. package/dist/components/sd-toast.js +1 -1
  200. package/dist/components/sd-toggle.js +1 -1
  201. package/dist/components/sd-tooltip.js +1 -1
  202. package/dist/components/sd-tr.js +1 -1
  203. package/dist/design-system/design-system.css +1 -1
  204. package/dist/design-system/design-system.esm.js +1 -1
  205. package/dist/design-system/p-0f35cd21.entry.js +1 -0
  206. package/dist/design-system/{p-e9d1dbb5.entry.js → p-274dbc65.entry.js} +1 -1
  207. package/dist/design-system/{p-b291baab.entry.js → p-2ba0b35a.entry.js} +1 -1
  208. package/dist/design-system/{p-52f551a1.entry.js → p-2ca4902b.entry.js} +1 -1
  209. package/dist/design-system/p-2df32f8c.entry.js +1 -0
  210. package/dist/design-system/{p-cb80327c.entry.js → p-35da166a.entry.js} +1 -1
  211. package/dist/design-system/p-35e1e2fa.entry.js +1 -0
  212. package/dist/design-system/{p-6ce68bf2.entry.js → p-4bc0ce52.entry.js} +1 -1
  213. package/dist/design-system/p-4c1559c8.entry.js +1 -0
  214. package/dist/design-system/{p-9c38ee79.entry.js → p-4e44b45b.entry.js} +1 -1
  215. package/dist/design-system/{p-da4e2674.entry.js → p-4eeca0cb.entry.js} +1 -1
  216. package/dist/design-system/{p-646a7830.entry.js → p-4f69fde0.entry.js} +1 -1
  217. package/dist/design-system/{p-ccf1a3fc.entry.js → p-50b5cf37.entry.js} +1 -1
  218. package/dist/design-system/p-52e88677.entry.js +1 -0
  219. package/dist/design-system/{p-4acfc5f9.entry.js → p-552acf98.entry.js} +1 -1
  220. package/dist/design-system/{p-23006577.entry.js → p-563a8242.entry.js} +1 -1
  221. package/dist/design-system/{p-e3990243.entry.js → p-68687503.entry.js} +1 -1
  222. package/dist/design-system/{p-1f3c1cca.entry.js → p-6d8a4a23.entry.js} +1 -1
  223. package/dist/design-system/{p-d5032f31.entry.js → p-7c507d39.entry.js} +1 -1
  224. package/dist/design-system/{p-717eba5f.entry.js → p-88926a42.entry.js} +1 -1
  225. package/dist/design-system/{p-35d390f1.entry.js → p-90436be8.entry.js} +1 -1
  226. package/dist/design-system/{p-9289eb14.entry.js → p-99f33027.entry.js} +1 -1
  227. package/dist/design-system/{p-c47198fc.entry.js → p-9a010c12.entry.js} +1 -1
  228. package/dist/design-system/{p-54853a2b.entry.js → p-9dc0c2f9.entry.js} +1 -1
  229. package/dist/{components/p-Bg9XySrz.js → design-system/p-C7HJ-NfO.js} +2 -1
  230. package/dist/{components/p-0VCXAYrh.js → design-system/p-DUyBmuH_.js} +1 -1
  231. package/dist/design-system/{p-d5c3bac9.entry.js → p-a71a8b31.entry.js} +1 -1
  232. package/dist/design-system/{p-a4331364.entry.js → p-a80cc067.entry.js} +1 -1
  233. package/dist/design-system/{p-ae344950.entry.js → p-abcc9367.entry.js} +1 -1
  234. package/dist/design-system/p-ac81b46e.entry.js +1 -0
  235. package/dist/design-system/{p-08343698.entry.js → p-b881bbb6.entry.js} +1 -1
  236. package/dist/design-system/{p-2151e081.entry.js → p-bfba449b.entry.js} +1 -1
  237. package/dist/design-system/p-c684cd96.entry.js +1 -0
  238. package/dist/design-system/{p-b63b8df9.entry.js → p-c93c623f.entry.js} +1 -1
  239. package/dist/design-system/{p-98e0b332.entry.js → p-ccc85130.entry.js} +1 -1
  240. package/dist/design-system/{p-aa1c6202.entry.js → p-ce5df7ef.entry.js} +1 -1
  241. package/dist/design-system/{p-adfddf3b.entry.js → p-ce83eca1.entry.js} +1 -1
  242. package/dist/design-system/{p-7ed8c8f1.entry.js → p-d5b535ad.entry.js} +1 -1
  243. package/dist/design-system/{p-df7c721d.entry.js → p-e310f188.entry.js} +1 -1
  244. package/dist/design-system/{p-bdb7492c.entry.js → p-fc65bbe2.entry.js} +1 -1
  245. package/dist/design-system/{p-17dcf0e4.entry.js → p-fe5b8eaa.entry.js} +1 -1
  246. package/dist/design-system/{p-a5a586da.entry.js → p-ff726fad.entry.js} +1 -1
  247. package/dist/esm/design-system.js +2 -2
  248. package/dist/esm/{index-CAxodB5I.js → index-C7HJ-NfO.js} +1 -1
  249. package/dist/esm/loader.js +2 -2
  250. package/dist/esm/sd-action-modal.entry.js +8 -2
  251. package/dist/esm/sd-badge.entry.js +3 -2
  252. package/dist/esm/sd-barcode-input.entry.js +35 -2
  253. package/dist/esm/sd-button_2.entry.js +12 -3
  254. package/dist/esm/sd-calendar_2.entry.js +17 -6
  255. package/dist/esm/sd-callout.entry.js +4 -2
  256. package/dist/esm/sd-card.entry.js +4 -2
  257. package/dist/esm/sd-checkbox.entry.js +21 -12
  258. package/dist/esm/sd-chip-input.entry.js +38 -4
  259. package/dist/esm/sd-chip.entry.js +19 -2
  260. package/dist/esm/sd-circle-progress.entry.js +6 -2
  261. package/dist/esm/sd-confirm-modal_2.entry.js +27 -4
  262. package/dist/esm/sd-date-box.entry.js +13 -3
  263. package/dist/esm/sd-date-picker_7.entry.js +209 -13
  264. package/dist/esm/sd-date-range-picker-calendar.entry.js +7 -2
  265. package/dist/esm/sd-divider.entry.js +1 -1
  266. package/dist/esm/sd-dropdown-button.entry.js +11 -1
  267. package/dist/esm/sd-field_3.entry.js +70 -12
  268. package/dist/esm/sd-form.entry.js +10 -2
  269. package/dist/esm/sd-ghost-button_3.entry.js +54 -15
  270. package/dist/esm/sd-guide.entry.js +9 -3
  271. package/dist/esm/sd-key-value-table.entry.js +3 -1
  272. package/dist/esm/sd-linear-progress.entry.js +7 -4
  273. package/dist/esm/sd-loading-container.entry.js +5 -3
  274. package/dist/esm/sd-modal-container.entry.js +7 -1
  275. package/dist/esm/sd-pagination_4.entry.js +38 -9
  276. package/dist/esm/sd-popover.entry.js +21 -5
  277. package/dist/esm/sd-popup.entry.js +7 -3
  278. package/dist/esm/sd-radio-button.entry.js +8 -2
  279. package/dist/esm/sd-radio.entry.js +7 -2
  280. package/dist/esm/sd-select-list-item_2.entry.js +18 -7
  281. package/dist/esm/sd-select_3.entry.js +56 -9
  282. package/dist/esm/sd-switch.entry.js +6 -2
  283. package/dist/esm/sd-table.entry.js +42 -7
  284. package/dist/esm/sd-tabs.entry.js +8 -2
  285. package/dist/esm/sd-td.entry.js +11 -2
  286. package/dist/esm/sd-text-link.entry.js +13 -4
  287. package/dist/esm/sd-toast-container.entry.js +11 -2
  288. package/dist/esm/sd-toast.entry.js +12 -3
  289. package/dist/esm/sd-toggle.entry.js +6 -2
  290. package/dist/esm/{tooltipArrow-DLr6VvUK.js → tooltipArrow-Bgf3crs7.js} +1 -1
  291. package/dist/types/components/sd-action-modal/sd-action-modal.d.ts +6 -0
  292. package/dist/types/components/sd-badge/sd-badge.d.ts +1 -0
  293. package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +33 -0
  294. package/dist/types/components/sd-button/sd-button.d.ts +8 -0
  295. package/dist/types/components/sd-calendar/sd-calendar.d.ts +6 -0
  296. package/dist/types/components/sd-callout/sd-callout.d.ts +2 -0
  297. package/dist/types/components/sd-card/sd-card.d.ts +2 -0
  298. package/dist/types/components/sd-checkbox/sd-checkbox.config.d.ts +2 -0
  299. package/dist/types/components/sd-chip/sd-chip.d.ts +17 -0
  300. package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +33 -0
  301. package/dist/types/components/sd-circle-progress/sd-circle-progress.d.ts +4 -0
  302. package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +15 -0
  303. package/dist/types/components/sd-date-box/sd-date-box.d.ts +10 -0
  304. package/dist/types/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.d.ts +5 -0
  305. package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +23 -0
  306. package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +5 -0
  307. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +24 -0
  308. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +10 -0
  309. package/dist/types/components/sd-field/sd-field.d.ts +23 -0
  310. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +30 -0
  311. package/dist/types/components/sd-floating-portal/sd-floating-portal.d.ts +12 -0
  312. package/dist/types/components/sd-form/sd-form.d.ts +8 -0
  313. package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +7 -0
  314. package/dist/types/components/sd-guide/sd-guide.d.ts +6 -0
  315. package/dist/types/components/sd-icon/sd-icon.d.ts +1 -0
  316. package/dist/types/components/sd-input/sd-input.d.ts +40 -0
  317. package/dist/types/components/sd-key-value-table/sd-key-value-table.d.ts +2 -0
  318. package/dist/types/components/sd-linear-progress/sd-linear-progress.d.ts +4 -0
  319. package/dist/types/components/sd-loading-container/sd-loading-container.d.ts +2 -0
  320. package/dist/types/components/sd-loading-modal/sd-loading-modal.d.ts +8 -0
  321. package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +6 -0
  322. package/dist/types/components/sd-number-input/sd-number-input.d.ts +39 -0
  323. package/dist/types/components/sd-pagination/sd-pagination.d.ts +4 -0
  324. package/dist/types/components/sd-popover/sd-popover.d.ts +16 -0
  325. package/dist/types/components/sd-popup/sd-popup.d.ts +5 -0
  326. package/dist/types/components/sd-portal/sd-portal.d.ts +13 -0
  327. package/dist/types/components/sd-radio/sd-radio.d.ts +5 -0
  328. package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +6 -0
  329. package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +6 -0
  330. package/dist/types/components/sd-select/sd-select-list-item/sd-select-list-item.d.ts +7 -0
  331. package/dist/types/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.d.ts +4 -0
  332. package/dist/types/components/sd-select/sd-select-listbox/sd-select-listbox.d.ts +10 -0
  333. package/dist/types/components/sd-select/sd-select-trigger/sd-select-trigger.d.ts +8 -0
  334. package/dist/types/components/sd-select/sd-select.d.ts +29 -0
  335. package/dist/types/components/sd-switch/sd-switch.d.ts +4 -0
  336. package/dist/types/components/sd-table/sd-table.d.ts +35 -0
  337. package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +1 -0
  338. package/dist/types/components/sd-table/sd-td/sd-td.d.ts +9 -0
  339. package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +13 -0
  340. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +11 -0
  341. package/dist/types/components/sd-tabs/sd-tabs.d.ts +6 -0
  342. package/dist/types/components/sd-tag/sd-tag.d.ts +4 -0
  343. package/dist/types/components/sd-text-link/sd-text-link.d.ts +9 -0
  344. package/dist/types/components/sd-textarea/sd-textarea.d.ts +34 -0
  345. package/dist/types/components/sd-toast/sd-toast.d.ts +9 -0
  346. package/dist/types/components/sd-toast-container/sd-toast-container.d.ts +9 -0
  347. package/dist/types/components/sd-toggle/sd-toggle.d.ts +4 -0
  348. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +14 -0
  349. package/dist/types/components.d.ts +1827 -7
  350. package/hydrate/index.js +823 -124
  351. package/hydrate/index.mjs +823 -124
  352. package/package.json +1 -1
  353. package/dist/components/p-B7PHGGFH.js +0 -1
  354. package/dist/components/p-CXeOxSQ-.js +0 -1
  355. package/dist/components/p-CvSqieCH.js +0 -1
  356. package/dist/components/p-P2jWtk8J.js +0 -1
  357. package/dist/components/p-xkRWGISE.js +0 -1
  358. package/dist/design-system/p-316b8a08.entry.js +0 -1
  359. package/dist/design-system/p-5039241c.entry.js +0 -1
  360. package/dist/design-system/p-5eaa12af.entry.js +0 -1
  361. package/dist/design-system/p-CAxodB5I.js +0 -2
  362. package/dist/design-system/p-c995e6c3.entry.js +0 -1
  363. package/dist/design-system/p-eef6d4a3.entry.js +0 -1
  364. package/dist/design-system/p-faf7b64c.entry.js +0 -1
  365. package/dist/design-system/p-fd7abbfa.entry.js +0 -1
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-C7HJ-NfO.js';
2
2
  import { n as nanoid } from './index-CCwNgVmC.js';
3
3
  import { c as countLeaves, S as SEARCH_THRESHOLD, f as filterTree, i as isHtmlLabel, e as extractText, E as EMPTY_MESSAGE, L as LIST_BOX_LAYOUT, a as SELECT_COLORS, b as SELECT_TYPOGRAPHY, d as SELECT_LAYOUT } from './sd-select.config-D6ktrl7E.js';
4
4
  import { s as sanitizeInlineHtml } from './sanitize-inline-html-BE4tnQ2Z.js';
@@ -16,29 +16,53 @@ const SdSelect = class {
16
16
  static PORTAL_OFFSET_Y = 4;
17
17
  static CLOSE_ANIMATION_DURATION = 150;
18
18
  get el() { return getElement(this); }
19
+ /** 셀렉트 타입 (단일/다중/계층) */
19
20
  type = 'default';
21
+ /** 현재 선택된 값 */
20
22
  value = null;
23
+ /** 선택 옵션 목록 */
21
24
  options = [];
25
+ /** 값이 없을 때 표시할 플레이스홀더 */
22
26
  placeholder = '선택';
27
+ /** 드롭다운 너비 (없으면 트리거 너비로 자동 맞춤) */
23
28
  dropdownWidth = '';
29
+ /** 드롭다운 최대 너비 */
24
30
  maxDropdownWidth = '640px';
31
+ /** 드롭다운 최대 높이 */
25
32
  dropdownHeight = '260px';
33
+ /** 비활성 상태 여부 */
26
34
  disabled = false;
35
+ /** 레이블 텍스트 */
27
36
  label = '';
37
+ /** 레이블 너비 */
28
38
  labelWidth = '';
39
+ /** 필드 우측 어드온 레이블 */
29
40
  addonLabel = '';
41
+ /** 어드온 정렬 방향 */
30
42
  addonAlign = 'start';
43
+ /** 에러 상태 여부 */
31
44
  error = false;
45
+ /** 필드 하단 힌트 텍스트 */
32
46
  hint = '';
47
+ /** 에러 메시지 */
33
48
  errorMessage = '';
49
+ /** 유효성 검사 규칙 목록 */
34
50
  rules = [];
51
+ /** 레이블 영역 아이콘 */
35
52
  icon = undefined;
53
+ /** 레이블 툴팁 텍스트 */
36
54
  labelTooltip = '';
55
+ /** 레이블 툴팁 상세 옵션 */
37
56
  labelTooltipProps = null;
57
+ /** true이면 value로 SelectOption 대신 원시값(string|number) 방출 */
38
58
  emitValue = false;
59
+ /** 필드 너비 */
39
60
  width = '';
61
+ /** 드롭다운 내 검색 입력 표시 여부 */
40
62
  useSearch = false;
63
+ /** 전체 선택 시 표시할 레이블 */
41
64
  allSelectedLabel = '전체';
65
+ /** 전체 선택 체크박스 표시 여부 */
42
66
  useSelectAll = false;
43
67
  isOpen = false;
44
68
  isAnimatingOut = false;
@@ -47,13 +71,17 @@ const SdSelect = class {
47
71
  resolvedMaxDropdownWidth = '640px';
48
72
  focused = false;
49
73
  hovered = false;
74
+ /** 선택 값이 변경될 때 발생합니다. */
50
75
  update;
76
+ /** 드롭다운 열림/닫힘 상태가 바뀔 때 발생합니다. */
51
77
  dropDownShow;
78
+ /** 셀렉트 트리거에 포커스를 이동합니다. */
52
79
  async sdFocus() {
53
80
  if (this.disabled)
54
81
  return;
55
82
  await this.triggerComponentRef?.sdFocus();
56
83
  }
84
+ /** 드롭다운을 엽니다. */
57
85
  async sdOpen() {
58
86
  // sdFocus 직후 호출 시 트리거 ref/레이아웃이 안정될 때까지 한 틱 대기
59
87
  await new Promise(resolve => setTimeout(resolve, 0));
@@ -68,6 +96,7 @@ const SdSelect = class {
68
96
  triggerRef;
69
97
  triggerComponentRef;
70
98
  closeAnimationTimer;
99
+ /** 폼 연동용 name 속성 */
71
100
  name = nanoid();
72
101
  triggerHasFocus = false;
73
102
  watchIsOpen(newValue) {
@@ -265,15 +294,15 @@ const SdSelect = class {
265
294
  this.closeDropdown();
266
295
  },
267
296
  };
268
- return (h("sd-field", { key: 'f95dc4008dd1f252f8cb41637aa817bdd4d72ba0', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
297
+ return (h("sd-field", { key: '3387dc16a6f54bfae652338c71c4c0e1553828c9', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
269
298
  this.hovered = true;
270
299
  }, onMouseLeave: () => {
271
300
  this.hovered = false;
272
- } }, h("div", { key: 'f12b88dc846a01fc2076242623ac1376ebc0105c', class: "sd-select", ref: el => {
301
+ } }, h("div", { key: '124325f8f6882a3c9ee1a1795ee969f13d67dfe2', class: "sd-select", ref: el => {
273
302
  this.triggerRef = el;
274
- } }, h("sd-select-trigger", { key: '8cef3403ca0a0430c3ce9f8255c98f0e28142d80', ref: el => {
303
+ } }, h("sd-select-trigger", { key: '2e0e44ae666282d3931f9889650a7999929a312b', ref: el => {
275
304
  this.triggerComponentRef = el;
276
- }, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: '417194938ff7aac0b22abbba621342dbe767b146', ...portalProps }, h("sd-select-listbox", { key: '0c311407fdc72f37fa7dddf48fdfbaab668a18f4', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.dropdownWidth || this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
305
+ }, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: 'b6e97e43c5ea3a06fbb2976dab52d4f544822ae0', ...portalProps }, h("sd-select-listbox", { key: '3d8a01c54667149507db2757d81813d2f285b32d', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.dropdownWidth || this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
277
306
  }
278
307
  static get watchers() { return {
279
308
  "isOpen": [{
@@ -290,18 +319,28 @@ const SdSelectListbox = class {
290
319
  registerInstance(this, hostRef);
291
320
  this.optionSelect = createEvent(this, "sdOptionSelect", 7);
292
321
  }
322
+ /** 셀렉트 타입 */
293
323
  type = 'default';
324
+ /** 옵션 목록 */
294
325
  options = [];
326
+ /** 현재 선택 값 */
295
327
  value = null;
328
+ /** 값만 emit할지 여부 */
296
329
  emitValue = false;
330
+ /** 검색 기능 사용 여부 */
297
331
  useSearch = false;
332
+ /** 전체 선택 기능 사용 여부 */
298
333
  useSelectAll = false;
334
+ /** 트리거 너비 (드롭다운 최소 너비) */
299
335
  triggerWidth = '200px';
336
+ /** 드롭다운 최대 너비 */
300
337
  maxWidth = '640px';
338
+ /** 드롭다운 최대 높이 */
301
339
  maxHeight = '260px';
302
340
  searchKeyword = '';
303
341
  isScrolled = false;
304
342
  focusedIndex = -1;
343
+ /** 옵션 선택 시 발생합니다. */
305
344
  optionSelect;
306
345
  listEl;
307
346
  lastScrolledIndex = -1;
@@ -640,9 +679,9 @@ const SdSelectListbox = class {
640
679
  '--listbox-max-height': this.maxHeight ?? '260px',
641
680
  '--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
642
681
  };
643
- return (h("div", { key: '77f3df8e7105f08340cf46ee0ce146d48b927228', class: "sd-select-listbox", style: cssVars }, this.showSearch && (h("sd-select-list-item-search", { key: 'bd79903b4799e6a074895e0ea2b0987a4775a8e0', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), h("div", { key: '08c5e0a70837025d62b08d85b0f5044b826dc133', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
682
+ return (h("div", { key: '6ca1107a8aadc1fbae26f3d8d3385b355981b65e', class: "sd-select-listbox", style: cssVars }, this.showSearch && (h("sd-select-list-item-search", { key: '8612b45a4e9b7d2701b8decd6865ebb50d6fcaa3', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), h("div", { key: 'c02c9c1d96176f94d2f83c66ad3e7cc0946c0270', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
644
683
  this.listEl = el;
645
- } }, this.showSelectAll && (h("sd-select-list-item", { key: '918c481cc05f4839d6a133e68a90c68ddfac5fba', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (h("div", { class: "sd-select-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (h("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
684
+ } }, this.showSelectAll && (h("sd-select-list-item", { key: 'f4fe1769d14812ba63fb73ff21ebfdaaf9d76409', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (h("div", { class: "sd-select-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (h("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
646
685
  }
647
686
  static get watchers() { return {
648
687
  "searchKeyword": [{
@@ -661,14 +700,22 @@ const SdSelectTrigger = class {
661
700
  this.triggerFocus = createEvent(this, "sdTriggerFocus", 7);
662
701
  this.triggerBlur = createEvent(this, "sdTriggerBlur", 7);
663
702
  }
703
+ /** 표시할 선택된 값 텍스트 */
664
704
  displayText = '';
705
+ /** 미선택 상태 플레이스홀더 */
665
706
  placeholder = '선택';
707
+ /** 비활성 상태 여부 */
666
708
  disabled = false;
709
+ /** 드롭다운 열림 상태 */
667
710
  isOpen = false;
711
+ /** 트리거 클릭 시 발생합니다. */
668
712
  triggerClick;
713
+ /** 트리거 포커스 시 발생합니다. */
669
714
  triggerFocus;
715
+ /** 트리거 블러 시 발생합니다. */
670
716
  triggerBlur;
671
717
  triggerEl;
718
+ /** 트리거 엘리먼트에 포커스를 이동합니다. */
672
719
  async sdFocus() {
673
720
  if (this.disabled)
674
721
  return;
@@ -702,7 +749,7 @@ const SdSelectTrigger = class {
702
749
  ? SELECT_COLORS.icon.disabled
703
750
  : SELECT_COLORS.icon.default,
704
751
  };
705
- return (h("div", { key: '361344e040569fa6f7c2b5d16762d9b2120ca50e', ref: el => {
752
+ return (h("div", { key: '7f5940ce19feb2d3ae9b2cbb6b5fdeb6d0151f61', ref: el => {
706
753
  this.triggerEl = el;
707
754
  }, role: "button", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', tabindex: this.disabled ? -1 : 0, class: {
708
755
  'sd-select-trigger': true,
@@ -713,7 +760,7 @@ const SdSelectTrigger = class {
713
760
  e.preventDefault();
714
761
  this.handleClick();
715
762
  }
716
- }, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: '3ccbf7c188ca90dc8ba94f10ef2fa3f7cea70076', class: "sd-select-trigger__content" }, hasValue && isHtmlLabel(this.displayText) ? (h("span", { class: "sd-select-trigger__text", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.displayText)) })) : (h("span", { class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택'))), h("sd-icon", { key: '623f1f83d7b8c89e64f9ec8d8e3261bd771c45b4', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
763
+ }, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: 'b50dea3450ee6fd2bf30811cc33facf00761f0d1', class: "sd-select-trigger__content" }, hasValue && isHtmlLabel(this.displayText) ? (h("span", { class: "sd-select-trigger__text", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.displayText)) })) : (h("span", { class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택'))), h("sd-icon", { key: '778b3d1c738951f9a18950b668a34a1bc36006ca', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
717
764
  'sd-select-trigger__icon': true,
718
765
  'sd-select-trigger__icon--open': this.isOpen,
719
766
  } }))));
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-C7HJ-NfO.js';
2
2
 
3
3
  var switchTokens = {
4
4
  "switch": {
@@ -63,9 +63,13 @@ const SdSwitch = class {
63
63
  registerInstance(this, hostRef);
64
64
  this.change = createEvent(this, "sdUpdate", 7);
65
65
  }
66
+ /** 현재 on/off 상태 */
66
67
  value = false;
68
+ /** 표시할 라벨 텍스트 */
67
69
  label = '';
70
+ /** 비활성 상태 여부 */
68
71
  disabled = false;
72
+ /** 상태가 변경될 때 발생합니다. */
69
73
  change;
70
74
  get switchClasses() {
71
75
  const classes = ['sd-switch', this.value ? 'sd-switch--on' : 'sd-switch--off'];
@@ -103,7 +107,7 @@ const SdSwitch = class {
103
107
  '--sd-switch-line-height': `${SWITCH_TYPOGRAPHY.lineHeight}px`,
104
108
  '--sd-switch-text-decoration': SWITCH_TYPOGRAPHY.textDecoration,
105
109
  };
106
- return (h("label", { key: '4746eeb0cd3b977be3bc537c30cbf58c51d3a8fc', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, h("input", { key: 'f022803741f2ac787a8993a2d987eedc5d6c8f24', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), h("div", { key: 'd8684dcb2b446885f849e6f00d773ef340e37c73', class: "sd-switch__track" }, h("div", { key: '572bd3dd7f65c9a9fd36c27b4444b0e653ae2b23', class: "sd-switch__knob" })), this.label && h("span", { key: '5228763c541a4bc0a71bfb457a4432dca01d452f', class: "sd-switch__label" }, this.label)));
110
+ return (h("label", { key: '2cbee35194a8218f1526ecd26d0ff0cc660ed5fb', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, h("input", { key: '8c9a330a7b69035ace0644f0a2cab8f6f8672bfd', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), h("div", { key: '738a28fb9c26628d6b67f03d0b75f4155ad85966', class: "sd-switch__track" }, h("div", { key: '91b7bac6c4e48d1b5b1331713620a132e9921906', class: "sd-switch__knob" })), this.label && h("span", { key: 'a9cdfb08c240f3d6a15bef3e119c0c02f3fe3462', class: "sd-switch__label" }, this.label)));
107
111
  }
108
112
  };
109
113
  SdSwitch.style = sdSwitchCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, d as readTask, f as forceUpdate, h, H as Host } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, d as readTask, f as forceUpdate, h, H as Host } from './index-C7HJ-NfO.js';
2
2
  import { T as TABLE_ID_ATTR } from './constants-sZMi_32I.js';
3
3
  import { T as TABLE_BODY_LAYOUT, a as TABLE_SELECTABLE_COLUMN_WIDTH, b as TABLE_BODY_TYPOGRAPHY, c as TABLE_BORDER, d as TABLE_RADIUS } from './sd-table.config-B3wuA5wX.js';
4
4
  import './component.table-D6GUzecR.js';
@@ -30,28 +30,48 @@ const SdTable = class {
30
30
  }
31
31
  static DEFAULT_NO_DATA_LABEL = '데이터가 없습니다.';
32
32
  get el() { return getElement(this); }
33
+ /** 테이블 고유 ID (자식 슬롯 매핑에 사용) */
33
34
  tableId = nanoid(8);
34
35
  fallbackTableId = nanoid(8);
36
+ /** 컬럼 정의 목록 */
35
37
  columns = [];
38
+ /** 행 데이터 배열 */
36
39
  rows;
40
+ /** 현재 선택된 행 목록 */
37
41
  selected = [];
42
+ /** 행 고유 식별 필드명 */
38
43
  rowKey = 'id';
44
+ /** 행 선택(체크박스) 기능 활성화 여부 */
39
45
  selectable = false;
46
+ /** 컬럼 너비 조절 기능 활성화 여부 */
40
47
  resizable = false;
48
+ /** 테이블 너비 */
41
49
  width;
50
+ /** 테이블 높이 */
42
51
  height;
52
+ /** 헤더 고정(sticky) 여부 */
43
53
  stickyHeader = false;
54
+ /** 고정할 좌우 컬럼 수 */
44
55
  stickyColumn = { left: 0, right: 0 };
56
+ /** border-radius 제어 */
45
57
  radius = 'default';
58
+ /** 데이터 없을 때 표시할 메시지 */
46
59
  noDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
47
60
  resolvedNoDataLabel = SdTable.DEFAULT_NO_DATA_LABEL;
61
+ /** 로딩 스피너 표시 여부 */
48
62
  isLoading = false;
63
+ /** 페이지네이션 옵션 */
49
64
  pagination;
65
+ /** 테이블 내부에서 페이지네이션을 직접 관리할지 여부 */
50
66
  useInternalPagination = false;
67
+ /** 페이지당 행 수 선택 셀렉트 표시 여부 */
51
68
  useRowsPerPageSelect = false;
69
+ /** 행 높이를 줄인 조밀 모드 여부 */
52
70
  dense = false;
53
71
  // ─── Virtual Scroll ───────────────────────────────────────────────
72
+ /** 가상 스크롤 사용 여부 */
54
73
  useVirtualScroll = false;
74
+ /** 가상 스크롤 행 높이 (px, 없으면 dense 여부에 따라 자동) */
55
75
  rowHeight;
56
76
  get effectiveRowHeight() {
57
77
  if (this.rowHeight != null)
@@ -60,19 +80,27 @@ const SdTable = class {
60
80
  ? Number(TABLE_BODY_LAYOUT.dense.height)
61
81
  : Number(TABLE_BODY_LAYOUT.default.height);
62
82
  }
83
+ /** 가상 스크롤 상하 버퍼 행 수 */
63
84
  virtualBuffer = 5;
85
+ /** 가상 스크롤 끝 도달 감지 임계값 (마지막 N행 이내에 들어오면 이벤트 발생) */
64
86
  virtualEndThreshold = 10;
65
87
  // ─────────────────────────────────────────────────────────────────
88
+ /** 페이지당 행 수 선택 옵션 목록 */
66
89
  rowsPerPageOption = [
67
90
  { label: '10개씩 보기', value: 10 },
68
91
  { label: '25개씩 보기', value: 25 },
69
92
  { label: '50개씩 보기', value: 50 },
70
93
  { label: '100개씩 보기', value: 100 },
71
94
  ];
95
+ /** 행 선택 상태가 변경될 때 선택된 행 목록을 전달합니다. */
72
96
  sdSelectChange;
97
+ /** 페이지가 변경될 때 새 페이지 번호를 전달합니다. */
73
98
  sdPageChange;
99
+ /** 페이지당 행 수가 변경될 때 발생합니다. */
74
100
  sdRowsPerPageChange;
101
+ /** 가상 스크롤 가시 범위가 변경될 때 발생합니다. */
75
102
  sdVirtualUpdate;
103
+ /** 가상 스크롤이 끝 임계값에 도달할 때 발생합니다. */
76
104
  sdVirtualReachEnd;
77
105
  currentPage = 1;
78
106
  innerRowsPerPage = 10;
@@ -477,6 +505,7 @@ const SdTable = class {
477
505
  isRowSelectedSync(row) {
478
506
  return Array.from(this.innerSelected).some(r => r[this.rowKey ?? 'id'] === row[this.rowKey ?? 'id']);
479
507
  }
508
+ /** 행이 선택되어 있는지 확인합니다. */
480
509
  async isRowSelected(row) {
481
510
  return this.isRowSelectedSync(row);
482
511
  }
@@ -493,6 +522,7 @@ const SdTable = class {
493
522
  this.sdSelectChange.emit(Array.from(this.innerSelected));
494
523
  this.refreshChildrenSelection();
495
524
  }
525
+ /** 행 선택 상태를 토글합니다. */
496
526
  async updateRowSelect(row) {
497
527
  this.updateRowSelectSync(row);
498
528
  }
@@ -509,6 +539,7 @@ const SdTable = class {
509
539
  this.sdSelectChange.emit(Array.from(this.innerSelected));
510
540
  this.refreshChildrenSelection();
511
541
  }
542
+ /** 전체 행 선택/해제를 처리합니다. */
512
543
  async toggleSelectAll(checked, rows) {
513
544
  this.toggleSelectAllSync(checked, rows);
514
545
  }
@@ -521,6 +552,7 @@ const SdTable = class {
521
552
  return true;
522
553
  return null; // indeterminate
523
554
  }
555
+ /** 전체 선택 체크 상태를 반환합니다 (true/false/null=indeterminate). */
524
556
  async getIsAllChecked(rows) {
525
557
  return this.getIsAllCheckedSync(rows);
526
558
  }
@@ -611,6 +643,7 @@ const SdTable = class {
611
643
  }
612
644
  return base;
613
645
  }
646
+ /** 지정한 컬럼 인덱스의 sticky 스타일 객체를 반환합니다. */
614
647
  async getStickyStyle(colIdx) {
615
648
  return this.getStickyStyleSync(colIdx);
616
649
  }
@@ -753,6 +786,7 @@ const SdTable = class {
753
786
  this.propagateVirtualUpdate(true);
754
787
  }
755
788
  }
789
+ /** 가상 스크롤 총 행 수를 설정합니다. */
756
790
  async setRowCount(count) {
757
791
  this.setRowCountSync(count);
758
792
  }
@@ -780,6 +814,7 @@ const SdTable = class {
780
814
  rowsPerPage: this.innerRowsPerPage,
781
815
  };
782
816
  }
817
+ /** 현재 페이지네이션 상태(startIndex, endIndex, currentPage, rowsPerPage)를 반환합니다. */
783
818
  async getPaginationInfo() {
784
819
  return this.getPaginationInfoSync();
785
820
  }
@@ -843,25 +878,25 @@ const SdTable = class {
843
878
  '--table-selectable-width': `${TABLE_SELECTABLE_COLUMN_WIDTH}px`,
844
879
  '--table-host-height': hostHeight,
845
880
  };
846
- return (h(Host, { key: 'f5a5a2d4012f069619d110dcd9c2d5e6bd446407', style: hostStyle }, h("div", { key: '96ca8b8e4291ac077a6e1b6d3eed897777817b25', class: "sd-table__container", style: {
881
+ return (h(Host, { key: '2606b0d7fc3657a8021a6dfc64672996b756f762', style: hostStyle }, h("div", { key: '4def416edfe630ead35b80cb2f04081a89740f62', class: "sd-table__container", style: {
847
882
  '--table-width': this.width,
848
883
  '--pagination-height': `${paginationHeight}px`,
849
- } }, h("div", { key: 'd8225691e78e5fe5341f03def8ad1d6dfb057056', class: {
884
+ } }, h("div", { key: '316a359f2be84895719f452e056dcd2f54cd5b56', class: {
850
885
  'sd-table__wrapper': true,
851
886
  'sd-table__wrapper--radius-useTop': this.radius === 'useTop',
852
887
  'sd-table__wrapper--radius-full': this.radius === 'full',
853
- } }, h("div", { key: 'fb8403bd7587a4d1fcbb77b1fe226ae0aa27be7a', class: {
888
+ } }, h("div", { key: 'e798b58104f56b3250a7d74261a8c320a8049f28', class: {
854
889
  'sd-table__scroll-container': true,
855
890
  'sd-table__scroll-container--loading': this.isLoading,
856
891
  'sd-table__scroll-container--no-data': isNoData,
857
- } }, 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 => {
892
+ } }, 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 => {
858
893
  this.noDataContentEl = el;
859
894
  if (el)
860
895
  this.syncNoDataContentObserver();
861
- } }, 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 &&
896
+ } }, 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 &&
862
897
  this.pagination.rowsPerPage > 0 &&
863
898
  this.rowCount > 0 &&
864
- !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
899
+ !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
865
900
  ? this.innerRowsPerPage
866
901
  : this.pagination.rowsPerPage, options: this.rowsPerPageOption, width: "128px", emitValue: true, onSdUpdate: e => {
867
902
  if (!this.isRowsPerPageValue(e.detail))
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-C7HJ-NfO.js';
2
2
 
3
3
  const tab = {
4
4
  main: {
@@ -128,11 +128,17 @@ const SdTabs = class {
128
128
  registerInstance(this, hostRef);
129
129
  this.update = createEvent(this, "sdUpdate", 7);
130
130
  }
131
+ /** 현재 선택된 탭 value */
131
132
  value;
133
+ /** 탭 옵션 목록 */
132
134
  tabs = [];
135
+ /** 탭 크기 */
133
136
  size = 'md';
137
+ /** true이면 서브 탭 스타일 적용 */
134
138
  isSub = false;
139
+ /** true이면 탭을 세로로 배치 */
135
140
  vertical = false;
141
+ /** 탭이 변경될 때 새 value를 전달합니다. */
136
142
  update;
137
143
  valueChanged(newValue) {
138
144
  this.value = newValue;
@@ -199,7 +205,7 @@ const SdTabs = class {
199
205
  };
200
206
  }
201
207
  render() {
202
- return (h("div", { key: 'c2a2bd86833267ca4b47e7c6420e04a504af05f5', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
208
+ return (h("div", { key: 'd8d86075bbf5e13444f99e57cf63c2f5b9ef28fc', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
203
209
  const badgeName = this.getBadgeName(tab);
204
210
  return (h("div", { key: `tab-${index}`, role: "tab", tabindex: 0, "aria-selected": tab.value === this.value ? 'true' : 'false', class: this.getTabClasses(tab), "aria-label": tab.label || 'tab', onClick: () => this.handleTabClick(tab), onKeyDown: e => {
205
211
  if (e.key === 'Enter' || e.key === ' ') {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, a as getElement, f as forceUpdate, h, H as Host } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, a as getElement, f as forceUpdate, h, H as Host } from './index-C7HJ-NfO.js';
2
2
  import { T as TABLE_ID_ATTR } from './constants-sZMi_32I.js';
3
3
 
4
4
  const sdTdCss = () => `sd-td *{box-sizing:border-box}sd-td{display:contents}sd-td.align-left{text-align:left}sd-td.align-center{text-align:center}sd-td.align-right{text-align:right}`;
@@ -8,18 +8,27 @@ const SdTd = class {
8
8
  registerInstance(this, hostRef);
9
9
  }
10
10
  get el() { return getElement(this); }
11
+ /** 데이터 필드명 (슬롯 이름 생성에 사용) */
11
12
  field;
13
+ /** 행 식별 키 */
12
14
  rowKey;
15
+ /** 셀 내용 정렬 */
13
16
  align;
17
+ /** 행 병합 수 */
14
18
  rowspan;
19
+ /** 열 병합 수 */
15
20
  colspan;
16
21
  // sd-tr가 그리는 실제 <td>에 머지될 사용자 클래스.
17
22
  // <sd-td> 호스트는 display:contents라 호스트의 class는 시각 효과가 없기 때문에,
18
23
  // 이 prop을 통해 sd-table 레지스트리에 등록 → sd-tr가 td 렌더 시 합쳐 사용한다.
24
+ /** td에 병합할 사용자 클래스 */
19
25
  sdClass;
26
+ /** 좌측 구분선 표시 여부 */
20
27
  dividerLeft = false;
28
+ /** 우측 구분선 표시 여부 */
21
29
  dividerRight = false;
22
30
  // true이면 이 셀이 속한 행 전체가 dense를 무시하고 default 레이아웃으로 동작한다.
31
+ /** frame 레이아웃 사용 여부 */
23
32
  useFrame = false;
24
33
  handleFieldChange(_newField, oldField) {
25
34
  this.syncSlotName();
@@ -156,7 +165,7 @@ const SdTd = class {
156
165
  }
157
166
  }
158
167
  render() {
159
- return (h(Host, { key: 'ed5419d9190514381bb8fe43a8588c7d88983527', class: { [`align-${this.align}`]: Boolean(this.align) } }, h("slot", { key: '308d16388614375c94bd4c5efc8e173b56b4af2a' })));
168
+ return (h(Host, { key: 'd7cea28b006a4903fab00e7a709252e6009f911f', class: { [`align-${this.align}`]: Boolean(this.align) } }, h("slot", { key: '1d8695ff6c6890838e4b18ec4da1d7ff6a5c8858' })));
160
169
  }
161
170
  static get watchers() { return {
162
171
  "field": [{
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-C7HJ-NfO.js';
2
2
 
3
3
  const textLink = {
4
4
  sm: {
@@ -116,14 +116,23 @@ const SdTextLink = class {
116
116
  registerInstance(this, hostRef);
117
117
  this.click = createEvent(this, "sdClick", 7);
118
118
  }
119
+ /** 표시할 레이블 텍스트 */
119
120
  label = '';
121
+ /** 좌측 아이콘명 */
120
122
  icon = '';
123
+ /** 좌측 아이콘 색상 */
121
124
  iconColor = '';
125
+ /** 레이블 span에 추가할 클래스 */
122
126
  labelClass = '';
127
+ /** 우측 화살표 타입 */
123
128
  rightArrow = 'none';
129
+ /** 밑줄 스타일 여부 */
124
130
  underline = false;
131
+ /** 비활성 상태 여부 */
125
132
  disabled = false;
133
+ /** 텍스트 크기 */
126
134
  size = 'sm';
135
+ /** 클릭 시 발생합니다. */
127
136
  click;
128
137
  handleClick = () => {
129
138
  if (this.disabled)
@@ -145,7 +154,7 @@ const SdTextLink = class {
145
154
  '--sd-text-link-text-decoration': typo.textDecoration,
146
155
  ...(this.disabled ? { '--sd-text-link-color': TEXT_LINK_COLORS.content.disabled } : {}),
147
156
  };
148
- return (h("span", { key: '74e9dd05f3efa3ecfec4edca1b74c29bb7207894', role: "button", tabindex: this.disabled ? -1 : 0, class: {
157
+ return (h("span", { key: '1b58c27c2754182b1fc6249e7e4bf52f42d1d11d', role: "button", tabindex: this.disabled ? -1 : 0, class: {
149
158
  'sd-text-link': true,
150
159
  'sd-text-link--disabled': this.disabled,
151
160
  }, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
@@ -153,13 +162,13 @@ const SdTextLink = class {
153
162
  e.preventDefault();
154
163
  this.handleClick();
155
164
  }
156
- } }, this.icon && (h("sd-icon", { key: 'e60be0764adf889af988fd887582776d44239e07', name: this.icon, size: sizeConfig.iconSize, color: iconColor, class: "sd-text-link__icon" })), h("span", { key: '17996ef0620948fe1660945e68c9bb55e62fc982', class: labelClassName }, this.label), this.rightArrow && this.rightArrow !== 'none' && (h("span", { key: 'b9cfc03d4295beb9956f661032ea3fd1d9acfbe9', class: "sd-text-link__arrow", style: {
165
+ } }, this.icon && (h("sd-icon", { key: '85076e7cf4873b527606aa737c2899233dcc3d9f', name: this.icon, size: sizeConfig.iconSize, color: iconColor, class: "sd-text-link__icon" })), h("span", { key: '75b16e64155770ccdb889497caea6b4240b2e8c0', class: labelClassName }, this.label), this.rightArrow && this.rightArrow !== 'none' && (h("span", { key: '8dd32b1b640a8e81f306b0387f783a4c1435abd6', class: "sd-text-link__arrow", style: {
157
166
  width: `${TEXT_LINK_ARROW.arrowFrame}px`,
158
167
  height: `${TEXT_LINK_ARROW.arrowFrame}px`,
159
168
  display: 'inline-flex',
160
169
  alignItems: 'center',
161
170
  justifyContent: 'center',
162
- } }, h("sd-icon", { key: '6c2e4640a767acd5e66089e7e78f27c0fb8a0955', name: this.rightArrow === 'chevron' ? 'chevronRight' : 'caretRight', size: TEXT_LINK_ARROW.arrowIconSize, color: arrowColor })))));
171
+ } }, h("sd-icon", { key: '605572568dd4c2b6dcde9c932d5593e5fdb916a4', name: this.rightArrow === 'chevron' ? 'chevronRight' : 'caretRight', size: TEXT_LINK_ARROW.arrowIconSize, color: arrowColor })))));
163
172
  }
164
173
  };
165
174
  SdTextLink.style = sdTextLinkCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-C7HJ-NfO.js';
2
2
 
3
3
  const DEFAULT_DURATION = 4000;
4
4
  const DEFAULT_MAX_VISIBLE = 3;
@@ -19,15 +19,22 @@ const SdToastContainer = class {
19
19
  this.toastDismiss = createEvent(this, "sdToastDismiss", 7);
20
20
  }
21
21
  get el() { return getElement(this); }
22
+ /** 토스트 표시 위치 */
22
23
  position = 'bottom-center';
24
+ /** 동시에 표시할 최대 토스트 수 */
23
25
  maxVisible = DEFAULT_MAX_VISIBLE;
26
+ /** 자동 닫힘 지연 시간 (ms, 0이면 자동 닫힘 없음) */
24
27
  defaultDuration = DEFAULT_DURATION;
28
+ /** z-index */
25
29
  zIndex = DEFAULT_Z_INDEX;
26
30
  toasts = [];
27
31
  expanded = false;
28
32
  toastRefs = new Map();
33
+ /** 토스트가 표시될 때 발생합니다. */
29
34
  toastShow;
35
+ /** 토스트가 제거될 때 발생합니다. */
30
36
  toastDismiss;
37
+ /** 토스트를 생성하고 ID를 반환합니다. */
31
38
  async create(options) {
32
39
  const id = `toast-${++toastIdCounter}`;
33
40
  const entry = { id, options, state: 'entering' };
@@ -52,9 +59,11 @@ const SdToastContainer = class {
52
59
  this.toastShow.emit({ id });
53
60
  return id;
54
61
  }
62
+ /** 지정한 ID의 토스트를 닫습니다. */
55
63
  async dismiss(id) {
56
64
  this.startDismiss(id);
57
65
  }
66
+ /** 모든 토스트를 닫습니다. */
58
67
  async dismissAll() {
59
68
  (this.toasts || []).forEach(t => this.startDismiss(t.id));
60
69
  }
@@ -232,7 +241,7 @@ const SdToastContainer = class {
232
241
  const activeToasts = toasts.filter(t => t.state !== 'exiting').reverse();
233
242
  const indexMap = new Map();
234
243
  activeToasts.forEach((t, i) => indexMap.set(t.id, i));
235
- return (h("div", { key: 'f5b2cb8f4d1286bbd8f7cd648916294397ed4742', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
244
+ return (h("div", { key: 'b75aeffdddcd16267169ae99305ef5f475f53950', class: "sd-toast-container", style: this.getContainerStyles(), onMouseEnter: () => {
236
245
  this.expanded = true;
237
246
  this.pauseTimers();
238
247
  }, onMouseLeave: () => {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-C7HJ-NfO.js';
2
2
 
3
3
  const toast = {
4
4
  icon: "16",
@@ -66,14 +66,23 @@ const SdToast = class {
66
66
  this.close = createEvent(this, "sdClose", 7);
67
67
  this.buttonClick = createEvent(this, "sdButtonClick", 7);
68
68
  }
69
+ /** 좌측 아이콘명 */
69
70
  icon;
71
+ /** 표시할 메시지 */
70
72
  message;
73
+ /** 우측 링크 URL */
71
74
  link;
75
+ /** 링크 표시 레이블 (없으면 URL 표시) */
72
76
  linkLabel;
77
+ /** 우측 버튼 레이블 */
73
78
  buttonLabel;
79
+ /** 닫기 버튼 표시 여부 */
74
80
  useClose = false;
81
+ /** 토스트 타입 (색상/아이콘 프리셋) */
75
82
  type = 'default';
83
+ /** 닫기 버튼 클릭 또는 자동 닫힘 시 발생합니다. */
76
84
  close;
85
+ /** 우측 버튼 클릭 시 발생합니다. */
77
86
  buttonClick;
78
87
  render() {
79
88
  const typeConfig = TOAST_TYPE_CONFIG[this.type] ?? TOAST_TYPE_CONFIG.default;
@@ -82,12 +91,12 @@ const SdToast = class {
82
91
  const linkColor = typeConfig.linkColor ?? typeConfig.content;
83
92
  const useDefaultCloseIntent = ['default', 'caution', 'info'].includes(this.type);
84
93
  const buttonName = TOAST_BUTTON_NAME_BY_TYPE[this.type] ?? TOAST_BUTTON_NAME_BY_TYPE.default;
85
- return (h("div", { key: '45a278a76dde70b17794763fa35365ac8d634194', style: {
94
+ return (h("div", { key: 'ee54d9d9821821e0c422725c94d465f1e2df7bc6', style: {
86
95
  '--sd-toast-bg': typeConfig.bg,
87
96
  '--sd-toast-text': typeConfig.content,
88
97
  '--sd-toast-icon': iconColor,
89
98
  '--sd-toast-link': linkColor,
90
- } }, h("div", { key: 'eb00957c65514153867322942ed111d24622c75b', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (h("div", { key: 'd30f442041ea963e86f8558f3ed07ceb28049ae9', class: "sd-toast__icon" }, h("sd-icon", { key: '04e57935a4fe4344f3eb1338cfc436bef449805e', name: this.icon, size: iconSize, color: iconColor }))), h("div", { key: '02270cd25d409d44bbd1d7932b074494d2cbeca1', class: "sd-toast__content" }, h("span", { key: '5f180c70d130fc04b16901c69a399f6effa328b9', class: "sd-toast__message" }, this.message)), this.link && (h("a", { key: '4fd2adab87dbdaae94c21483f66256ce773ae965', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (h("sd-button", { key: '2c60553150114d6d5b99a2e86b35b4a85c4a34a4', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (h("sd-ghost-button", { key: 'c3e01391b713286b65a05352dd39ab98790564f8', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
99
+ } }, h("div", { key: 'b258e4b49fe530c778c0003516a2ad159805158a', class: "sd-toast", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.icon && (h("div", { key: '850a02dd996c7d1ca214b887e0d3d9899972e319', class: "sd-toast__icon" }, h("sd-icon", { key: '50d2817b160bd767a509956338347ee09a34a845', name: this.icon, size: iconSize, color: iconColor }))), h("div", { key: '0200da1ef6cfa9fcafa4cacf08998a33847038dc', class: "sd-toast__content" }, h("span", { key: 'af039afb2f457acded350ae2323e0bc59765a09e', class: "sd-toast__message" }, this.message)), this.link && (h("a", { key: '98fdcf360ca632e9f919e01ab0dce8369a1ebe79', href: this.link, class: "sd-toast__link", target: "_blank", rel: "noopener noreferrer" }, this.linkLabel || this.link)), this.buttonLabel && (h("sd-button", { key: '45202c0f969ab64e50265ee81f34fc14def26ce2', class: "sd-toast__button", name: buttonName, label: this.buttonLabel, onSdClick: (event) => this.buttonClick.emit(event.detail) })), this.useClose && (h("sd-ghost-button", { key: '48f30258527ae7a8a96db9609f096f5d216246ff', class: "sd-toast__close", icon: "close", intent: useDefaultCloseIntent ? 'default' : 'inverse', ariaLabel: "close", size: "xs", onClick: () => this.close.emit() })))));
91
100
  }
92
101
  };
93
102
  SdToast.style = sdToastCss();