@sellmate/design-system 1.20.0 → 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 (370) 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 +13 -4
  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 +56 -2
  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/assets/Close.js +1 -1
  46. package/dist/collection/components/sd-action-modal/sd-action-modal.js +13 -7
  47. package/dist/collection/components/sd-badge/sd-badge.js +3 -2
  48. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +67 -34
  49. package/dist/collection/components/sd-button/sd-button.js +18 -10
  50. package/dist/collection/components/sd-calendar/sd-calendar.js +15 -9
  51. package/dist/collection/components/sd-callout/sd-callout.js +5 -3
  52. package/dist/collection/components/sd-card/sd-card.js +5 -3
  53. package/dist/collection/components/sd-checkbox/sd-checkbox.config.js +5 -3
  54. package/dist/collection/components/sd-checkbox/sd-checkbox.css +16 -0
  55. package/dist/collection/components/sd-checkbox/sd-checkbox.js +5 -3
  56. package/dist/collection/components/sd-chip/sd-chip.js +35 -18
  57. package/dist/collection/components/sd-chip-input/sd-chip-input.css +1 -0
  58. package/dist/collection/components/sd-chip-input/sd-chip-input.js +69 -35
  59. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +9 -5
  60. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +32 -17
  61. package/dist/collection/components/sd-date-box/sd-date-box.js +22 -12
  62. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +12 -7
  63. package/dist/collection/components/sd-date-picker/sd-date-picker.js +48 -25
  64. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +11 -6
  65. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +50 -26
  66. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +20 -10
  67. package/dist/collection/components/sd-field/sd-field.js +51 -28
  68. package/dist/collection/components/sd-file-picker/sd-file-picker.js +60 -30
  69. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +32 -11
  70. package/dist/collection/components/sd-form/sd-form.js +17 -9
  71. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +28 -13
  72. package/dist/collection/components/sd-guide/sd-guide.js +14 -8
  73. package/dist/collection/components/sd-icon/sd-icon.js +2 -1
  74. package/dist/collection/components/sd-input/sd-input.js +82 -42
  75. package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +4 -2
  76. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +10 -7
  77. package/dist/collection/components/sd-loading-container/sd-loading-container.js +6 -4
  78. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +17 -9
  79. package/dist/collection/components/sd-modal-container/sd-modal-container.js +61 -7
  80. package/dist/collection/components/sd-number-input/sd-number-input.js +82 -43
  81. package/dist/collection/components/sd-pagination/sd-pagination.js +11 -7
  82. package/dist/collection/components/sd-popover/sd-popover.js +35 -19
  83. package/dist/collection/components/sd-popup/sd-popup.js +11 -7
  84. package/dist/collection/components/sd-portal/sd-portal.js +35 -14
  85. package/dist/collection/components/sd-radio/sd-radio.js +11 -6
  86. package/dist/collection/components/sd-radio-button/sd-radio-button.js +13 -7
  87. package/dist/collection/components/sd-radio-group/sd-radio-group.js +13 -7
  88. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +16 -9
  89. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +12 -8
  90. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +22 -12
  91. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +18 -10
  92. package/dist/collection/components/sd-select/sd-select.js +62 -33
  93. package/dist/collection/components/sd-switch/sd-switch.js +9 -5
  94. package/dist/collection/components/sd-table/sd-table.js +76 -41
  95. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +4 -3
  96. package/dist/collection/components/sd-table/sd-td/sd-td.js +19 -10
  97. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +29 -16
  98. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +22 -11
  99. package/dist/collection/components/sd-tabs/sd-tabs.js +13 -7
  100. package/dist/collection/components/sd-tag/sd-tag.js +10 -7
  101. package/dist/collection/components/sd-text-link/sd-text-link.js +21 -12
  102. package/dist/collection/components/sd-textarea/sd-textarea.js +69 -35
  103. package/dist/collection/components/sd-toast/sd-toast.js +20 -11
  104. package/dist/collection/components/sd-toast-container/sd-toast-container.js +19 -10
  105. package/dist/collection/components/sd-toggle/sd-toggle.js +9 -5
  106. package/dist/collection/components/sd-tooltip/sd-tooltip.js +30 -16
  107. package/dist/components/index.js +1 -1
  108. package/dist/components/{p-pSthmtsz.js → p-4MIzxb0h.js} +1 -1
  109. package/dist/components/{p-CQozoo2-.js → p-B-Igud6n.js} +1 -1
  110. package/dist/components/{p-CtWfOIxb.js → p-B5VNSTAf.js} +1 -1
  111. package/dist/components/{p-5GcM22aW.js → p-B76pFg6k.js} +1 -1
  112. package/dist/components/{p-MJG6EZeP.js → p-BFlmHQm9.js} +1 -1
  113. package/dist/components/{p-DrSHJYop.js → p-BIHVGo10.js} +1 -1
  114. package/dist/components/{p-De7UsPPk.js → p-BQQC-6k4.js} +1 -1
  115. package/dist/{design-system/p-L_He_WSA.js → components/p-BRmilX-4.js} +1 -1
  116. package/dist/components/p-BVlg0BoC.js +1 -0
  117. package/dist/components/{p-Df1g_kVH.js → p-BjSMh85k.js} +1 -1
  118. package/dist/components/{p-BuFzlA0M.js → p-BrHnpCXR.js} +1 -1
  119. package/dist/components/{p-DaMzYzXI.js → p-Btj50AUe.js} +1 -1
  120. package/dist/components/p-BzsHwLh6.js +1 -0
  121. package/dist/components/{p-9Z-q6kKD.js → p-C1QezE7u.js} +1 -1
  122. package/dist/components/{p-Bd-fDbVE.js → p-C3mTIE8H.js} +1 -1
  123. package/dist/components/{p-CEhI4kUA.js → p-CBDBmMmw.js} +1 -1
  124. package/dist/components/p-CCCwPJ5p.js +1 -0
  125. package/dist/components/p-CEKu7cxA.js +1 -0
  126. package/dist/components/{p-Cfko62rU.js → p-CTw1Deo8.js} +1 -1
  127. package/dist/components/p-CTxZT3Je.js +1 -0
  128. package/dist/components/{p-CiEAVQT4.js → p-CZYTZeMe.js} +1 -1
  129. package/dist/components/{p-DAJIg-VD.js → p-CcwzTAJC.js} +1 -1
  130. package/dist/components/p-Cj_1bYZF.js +1 -0
  131. package/dist/components/{p-DpfXh55-.js → p-Cugxp5lo.js} +1 -1
  132. package/dist/components/{p-BzUU-npj.js → p-D4zy1T3V.js} +1 -1
  133. package/dist/components/{p-BHW1fnDC.js → p-DC5W8Uy1.js} +1 -1
  134. package/dist/components/{p-BZjIn1hr.js → p-DIc8C633.js} +1 -1
  135. package/dist/components/{p-BeYMZ1fR.js → p-DJY7lCe4.js} +1 -1
  136. package/dist/components/{p-ChncPmp-.js → p-DPXOBYhf.js} +1 -1
  137. package/dist/components/{p-nruUh8p1.js → p-DU0IkIvI.js} +1 -1
  138. package/dist/components/{p-DRgPF0Fp.js → p-DZikCqcw.js} +1 -1
  139. package/dist/components/{p-vTnMooAF.js → p-Dz7VXmIA.js} +1 -1
  140. package/dist/components/p-FA9fGvbL.js +1 -0
  141. package/dist/components/p-S2-XqY2R.js +1 -0
  142. package/dist/components/{p-CjYYBlrZ.js → p-YpyfqzoP.js} +1 -1
  143. package/dist/components/{p-E5buAge1.js → p-l7TaS8q9.js} +1 -1
  144. package/dist/components/{p-lmVlfugh.js → p-s_75vJTu.js} +1 -1
  145. package/dist/components/sd-action-modal.js +1 -1
  146. package/dist/components/sd-badge.js +1 -1
  147. package/dist/components/sd-barcode-input.js +1 -1
  148. package/dist/components/sd-button.js +1 -1
  149. package/dist/components/sd-calendar.js +1 -1
  150. package/dist/components/sd-callout.js +1 -1
  151. package/dist/components/sd-card.js +1 -1
  152. package/dist/components/sd-checkbox.js +1 -1
  153. package/dist/components/sd-chip-input.js +1 -1
  154. package/dist/components/sd-chip.js +1 -1
  155. package/dist/components/sd-circle-progress.js +1 -1
  156. package/dist/components/sd-confirm-modal.js +1 -1
  157. package/dist/components/sd-date-box.js +1 -1
  158. package/dist/components/sd-date-picker-trigger.js +1 -1
  159. package/dist/components/sd-date-picker.js +1 -1
  160. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  161. package/dist/components/sd-date-range-picker.js +1 -1
  162. package/dist/components/sd-divider.js +1 -1
  163. package/dist/components/sd-dropdown-button.js +1 -1
  164. package/dist/components/sd-field.js +1 -1
  165. package/dist/components/sd-file-picker.js +1 -1
  166. package/dist/components/sd-floating-portal.js +1 -1
  167. package/dist/components/sd-form.js +1 -1
  168. package/dist/components/sd-ghost-button.js +1 -1
  169. package/dist/components/sd-guide.js +1 -1
  170. package/dist/components/sd-icon.js +1 -1
  171. package/dist/components/sd-input.js +1 -1
  172. package/dist/components/sd-key-value-table.js +1 -1
  173. package/dist/components/sd-linear-progress.js +1 -1
  174. package/dist/components/sd-loading-container.js +1 -1
  175. package/dist/components/sd-loading-modal.js +1 -1
  176. package/dist/components/sd-modal-container.js +1 -1
  177. package/dist/components/sd-number-input.js +1 -1
  178. package/dist/components/sd-pagination.js +1 -1
  179. package/dist/components/sd-popover.js +1 -1
  180. package/dist/components/sd-popup.js +1 -1
  181. package/dist/components/sd-portal.js +1 -1
  182. package/dist/components/sd-radio-button.js +1 -1
  183. package/dist/components/sd-radio-group.js +1 -1
  184. package/dist/components/sd-radio.js +1 -1
  185. package/dist/components/sd-select-list-item-search.js +1 -1
  186. package/dist/components/sd-select-list-item.js +1 -1
  187. package/dist/components/sd-select-listbox.js +1 -1
  188. package/dist/components/sd-select-trigger.js +1 -1
  189. package/dist/components/sd-select.js +1 -1
  190. package/dist/components/sd-switch.js +1 -1
  191. package/dist/components/sd-table.js +1 -1
  192. package/dist/components/sd-tabs.js +1 -1
  193. package/dist/components/sd-tag.js +1 -1
  194. package/dist/components/sd-tbody.js +1 -1
  195. package/dist/components/sd-td.js +1 -1
  196. package/dist/components/sd-text-link.js +1 -1
  197. package/dist/components/sd-textarea.js +1 -1
  198. package/dist/components/sd-thead.js +1 -1
  199. package/dist/components/sd-toast-container.js +1 -1
  200. package/dist/components/sd-toast.js +1 -1
  201. package/dist/components/sd-toggle.js +1 -1
  202. package/dist/components/sd-tooltip.js +1 -1
  203. package/dist/components/sd-tr.js +1 -1
  204. package/dist/design-system/design-system.css +1 -1
  205. package/dist/design-system/design-system.esm.js +1 -1
  206. package/dist/design-system/p-0f35cd21.entry.js +1 -0
  207. package/dist/design-system/{p-e9d1dbb5.entry.js → p-274dbc65.entry.js} +1 -1
  208. package/dist/design-system/{p-b291baab.entry.js → p-2ba0b35a.entry.js} +1 -1
  209. package/dist/design-system/{p-52f551a1.entry.js → p-2ca4902b.entry.js} +1 -1
  210. package/dist/design-system/p-2df32f8c.entry.js +1 -0
  211. package/dist/design-system/{p-cb80327c.entry.js → p-35da166a.entry.js} +1 -1
  212. package/dist/design-system/p-35e1e2fa.entry.js +1 -0
  213. package/dist/design-system/{p-6ce68bf2.entry.js → p-4bc0ce52.entry.js} +1 -1
  214. package/dist/design-system/p-4c1559c8.entry.js +1 -0
  215. package/dist/design-system/{p-9c38ee79.entry.js → p-4e44b45b.entry.js} +1 -1
  216. package/dist/design-system/{p-da4e2674.entry.js → p-4eeca0cb.entry.js} +1 -1
  217. package/dist/design-system/{p-646a7830.entry.js → p-4f69fde0.entry.js} +1 -1
  218. package/dist/design-system/{p-ccf1a3fc.entry.js → p-50b5cf37.entry.js} +1 -1
  219. package/dist/design-system/p-52e88677.entry.js +1 -0
  220. package/dist/design-system/{p-4acfc5f9.entry.js → p-552acf98.entry.js} +1 -1
  221. package/dist/design-system/{p-23006577.entry.js → p-563a8242.entry.js} +1 -1
  222. package/dist/design-system/{p-e3990243.entry.js → p-68687503.entry.js} +1 -1
  223. package/dist/design-system/{p-1f3c1cca.entry.js → p-6d8a4a23.entry.js} +1 -1
  224. package/dist/design-system/{p-d5032f31.entry.js → p-7c507d39.entry.js} +1 -1
  225. package/dist/design-system/{p-717eba5f.entry.js → p-88926a42.entry.js} +1 -1
  226. package/dist/design-system/{p-35d390f1.entry.js → p-90436be8.entry.js} +1 -1
  227. package/dist/design-system/{p-9289eb14.entry.js → p-99f33027.entry.js} +1 -1
  228. package/dist/design-system/{p-c47198fc.entry.js → p-9a010c12.entry.js} +1 -1
  229. package/dist/design-system/{p-54853a2b.entry.js → p-9dc0c2f9.entry.js} +1 -1
  230. package/dist/{components/p-Bg9XySrz.js → design-system/p-C7HJ-NfO.js} +2 -1
  231. package/dist/{components/p-0VCXAYrh.js → design-system/p-DUyBmuH_.js} +1 -1
  232. package/dist/design-system/{p-d5c3bac9.entry.js → p-a71a8b31.entry.js} +1 -1
  233. package/dist/design-system/{p-a4331364.entry.js → p-a80cc067.entry.js} +1 -1
  234. package/dist/design-system/{p-ae344950.entry.js → p-abcc9367.entry.js} +1 -1
  235. package/dist/design-system/p-ac81b46e.entry.js +1 -0
  236. package/dist/design-system/{p-08343698.entry.js → p-b881bbb6.entry.js} +1 -1
  237. package/dist/design-system/{p-2151e081.entry.js → p-bfba449b.entry.js} +1 -1
  238. package/dist/design-system/p-c684cd96.entry.js +1 -0
  239. package/dist/design-system/{p-b63b8df9.entry.js → p-c93c623f.entry.js} +1 -1
  240. package/dist/design-system/{p-98e0b332.entry.js → p-ccc85130.entry.js} +1 -1
  241. package/dist/design-system/{p-aa1c6202.entry.js → p-ce5df7ef.entry.js} +1 -1
  242. package/dist/design-system/{p-adfddf3b.entry.js → p-ce83eca1.entry.js} +1 -1
  243. package/dist/design-system/p-d5b535ad.entry.js +1 -0
  244. package/dist/design-system/{p-df7c721d.entry.js → p-e310f188.entry.js} +1 -1
  245. package/dist/design-system/{p-bdb7492c.entry.js → p-fc65bbe2.entry.js} +1 -1
  246. package/dist/design-system/p-fe5b8eaa.entry.js +1 -0
  247. package/dist/design-system/{p-a5a586da.entry.js → p-ff726fad.entry.js} +1 -1
  248. package/dist/esm/design-system.js +2 -2
  249. package/dist/esm/{index-CAxodB5I.js → index-C7HJ-NfO.js} +1 -1
  250. package/dist/esm/loader.js +2 -2
  251. package/dist/esm/sd-action-modal.entry.js +8 -2
  252. package/dist/esm/sd-badge.entry.js +3 -2
  253. package/dist/esm/sd-barcode-input.entry.js +35 -2
  254. package/dist/esm/sd-button_2.entry.js +13 -4
  255. package/dist/esm/sd-calendar_2.entry.js +17 -6
  256. package/dist/esm/sd-callout.entry.js +4 -2
  257. package/dist/esm/sd-card.entry.js +4 -2
  258. package/dist/esm/sd-checkbox.entry.js +21 -12
  259. package/dist/esm/sd-chip-input.entry.js +38 -4
  260. package/dist/esm/sd-chip.entry.js +19 -2
  261. package/dist/esm/sd-circle-progress.entry.js +6 -2
  262. package/dist/esm/sd-confirm-modal_2.entry.js +27 -4
  263. package/dist/esm/sd-date-box.entry.js +13 -3
  264. package/dist/esm/sd-date-picker_7.entry.js +209 -13
  265. package/dist/esm/sd-date-range-picker-calendar.entry.js +7 -2
  266. package/dist/esm/sd-divider.entry.js +1 -1
  267. package/dist/esm/sd-dropdown-button.entry.js +11 -1
  268. package/dist/esm/sd-field_3.entry.js +70 -12
  269. package/dist/esm/sd-form.entry.js +10 -2
  270. package/dist/esm/sd-ghost-button_3.entry.js +54 -15
  271. package/dist/esm/sd-guide.entry.js +9 -3
  272. package/dist/esm/sd-key-value-table.entry.js +3 -1
  273. package/dist/esm/sd-linear-progress.entry.js +7 -4
  274. package/dist/esm/sd-loading-container.entry.js +5 -3
  275. package/dist/esm/sd-modal-container.entry.js +56 -2
  276. package/dist/esm/sd-pagination_4.entry.js +38 -9
  277. package/dist/esm/sd-popover.entry.js +21 -5
  278. package/dist/esm/sd-popup.entry.js +7 -3
  279. package/dist/esm/sd-radio-button.entry.js +8 -2
  280. package/dist/esm/sd-radio.entry.js +7 -2
  281. package/dist/esm/sd-select-list-item_2.entry.js +18 -7
  282. package/dist/esm/sd-select_3.entry.js +56 -9
  283. package/dist/esm/sd-switch.entry.js +6 -2
  284. package/dist/esm/sd-table.entry.js +42 -7
  285. package/dist/esm/sd-tabs.entry.js +8 -2
  286. package/dist/esm/sd-td.entry.js +11 -2
  287. package/dist/esm/sd-text-link.entry.js +13 -4
  288. package/dist/esm/sd-toast-container.entry.js +11 -2
  289. package/dist/esm/sd-toast.entry.js +12 -3
  290. package/dist/esm/sd-toggle.entry.js +6 -2
  291. package/dist/esm/{tooltipArrow-DLr6VvUK.js → tooltipArrow-Bgf3crs7.js} +1 -1
  292. package/dist/types/components/sd-action-modal/sd-action-modal.d.ts +6 -0
  293. package/dist/types/components/sd-badge/sd-badge.d.ts +1 -0
  294. package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +33 -0
  295. package/dist/types/components/sd-button/sd-button.d.ts +8 -0
  296. package/dist/types/components/sd-calendar/sd-calendar.d.ts +6 -0
  297. package/dist/types/components/sd-callout/sd-callout.d.ts +2 -0
  298. package/dist/types/components/sd-card/sd-card.d.ts +2 -0
  299. package/dist/types/components/sd-checkbox/sd-checkbox.config.d.ts +2 -0
  300. package/dist/types/components/sd-chip/sd-chip.d.ts +17 -0
  301. package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +33 -0
  302. package/dist/types/components/sd-circle-progress/sd-circle-progress.d.ts +4 -0
  303. package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +15 -0
  304. package/dist/types/components/sd-date-box/sd-date-box.d.ts +10 -0
  305. package/dist/types/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.d.ts +5 -0
  306. package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +23 -0
  307. package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +5 -0
  308. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +24 -0
  309. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +10 -0
  310. package/dist/types/components/sd-field/sd-field.d.ts +23 -0
  311. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +30 -0
  312. package/dist/types/components/sd-floating-portal/sd-floating-portal.d.ts +12 -0
  313. package/dist/types/components/sd-form/sd-form.d.ts +8 -0
  314. package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +7 -0
  315. package/dist/types/components/sd-guide/sd-guide.d.ts +6 -0
  316. package/dist/types/components/sd-icon/sd-icon.d.ts +1 -0
  317. package/dist/types/components/sd-input/sd-input.d.ts +40 -0
  318. package/dist/types/components/sd-key-value-table/sd-key-value-table.d.ts +2 -0
  319. package/dist/types/components/sd-linear-progress/sd-linear-progress.d.ts +4 -0
  320. package/dist/types/components/sd-loading-container/sd-loading-container.d.ts +2 -0
  321. package/dist/types/components/sd-loading-modal/sd-loading-modal.d.ts +8 -0
  322. package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +15 -0
  323. package/dist/types/components/sd-number-input/sd-number-input.d.ts +39 -0
  324. package/dist/types/components/sd-pagination/sd-pagination.d.ts +4 -0
  325. package/dist/types/components/sd-popover/sd-popover.d.ts +16 -0
  326. package/dist/types/components/sd-popup/sd-popup.d.ts +5 -0
  327. package/dist/types/components/sd-portal/sd-portal.d.ts +13 -0
  328. package/dist/types/components/sd-radio/sd-radio.d.ts +5 -0
  329. package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +6 -0
  330. package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +6 -0
  331. package/dist/types/components/sd-select/sd-select-list-item/sd-select-list-item.d.ts +7 -0
  332. package/dist/types/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.d.ts +4 -0
  333. package/dist/types/components/sd-select/sd-select-listbox/sd-select-listbox.d.ts +10 -0
  334. package/dist/types/components/sd-select/sd-select-trigger/sd-select-trigger.d.ts +8 -0
  335. package/dist/types/components/sd-select/sd-select.d.ts +29 -0
  336. package/dist/types/components/sd-switch/sd-switch.d.ts +4 -0
  337. package/dist/types/components/sd-table/sd-table.d.ts +35 -0
  338. package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +1 -0
  339. package/dist/types/components/sd-table/sd-td/sd-td.d.ts +9 -0
  340. package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +13 -0
  341. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +11 -0
  342. package/dist/types/components/sd-tabs/sd-tabs.d.ts +6 -0
  343. package/dist/types/components/sd-tag/sd-tag.d.ts +4 -0
  344. package/dist/types/components/sd-text-link/sd-text-link.d.ts +9 -0
  345. package/dist/types/components/sd-textarea/sd-textarea.d.ts +34 -0
  346. package/dist/types/components/sd-toast/sd-toast.d.ts +9 -0
  347. package/dist/types/components/sd-toast-container/sd-toast-container.d.ts +9 -0
  348. package/dist/types/components/sd-toggle/sd-toggle.d.ts +4 -0
  349. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +14 -0
  350. package/dist/types/components.d.ts +1827 -7
  351. package/hydrate/index.js +873 -126
  352. package/hydrate/index.mjs +873 -126
  353. package/package.json +1 -1
  354. package/dist/components/p-B7PHGGFH.js +0 -1
  355. package/dist/components/p-ClKABgST.js +0 -1
  356. package/dist/components/p-CvSqieCH.js +0 -1
  357. package/dist/components/p-DDR0VcRU.js +0 -1
  358. package/dist/components/p-DYOyb7rq.js +0 -1
  359. package/dist/components/p-DbLQoVx6.js +0 -1
  360. package/dist/components/p-P2jWtk8J.js +0 -1
  361. package/dist/design-system/p-316b8a08.entry.js +0 -1
  362. package/dist/design-system/p-3f7349ae.entry.js +0 -1
  363. package/dist/design-system/p-5039241c.entry.js +0 -1
  364. package/dist/design-system/p-5eaa12af.entry.js +0 -1
  365. package/dist/design-system/p-CAxodB5I.js +0 -2
  366. package/dist/design-system/p-aa312937.entry.js +0 -1
  367. package/dist/design-system/p-c995e6c3.entry.js +0 -1
  368. package/dist/design-system/p-eef6d4a3.entry.js +0 -1
  369. package/dist/design-system/p-faf7b64c.entry.js +0 -1
  370. package/dist/design-system/p-fd7abbfa.entry.js +0 -1
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, h } from './index-C7HJ-NfO.js';
2
2
 
3
3
  const sdLoadingContainerCss = () => `sd-loading-container .sd-loading-container{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--sd-loading-container-z-index, 999);opacity:0;visibility:hidden;transition:opacity 0.2s ease, visibility 0s linear 0.2s;pointer-events:none}sd-loading-container .sd-loading-container--visible{opacity:1;visibility:visible;transition:opacity 0.2s ease, visibility 0s linear 0s;pointer-events:auto}sd-loading-container .sd-loading-container__backdrop{position:absolute;inset:0;background:rgba(0, 0, 0, 0.4)}sd-loading-container .sd-loading-container__content{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px}sd-loading-container .sd-loading-container__message{margin:0;color:#ffffff;font-size:14px;font-weight:500;line-height:22px;text-align:center;max-width:400px;word-break:keep-all}`;
4
4
 
@@ -8,18 +8,20 @@ const SdLoadingContainer = class {
8
8
  }
9
9
  visible = false;
10
10
  message = '';
11
+ /** 로딩 오버레이를 표시합니다. */
11
12
  async show(options = {}) {
12
13
  this.message = options.message ?? '';
13
14
  this.visible = true;
14
15
  }
16
+ /** 로딩 오버레이를 숨깁니다. */
15
17
  async hide() {
16
18
  this.visible = false;
17
19
  }
18
20
  render() {
19
- return (h("div", { key: '6525405e4edafd9257be9887cca824a436b2807c', class: {
21
+ return (h("div", { key: 'b8efbc6422fded2472a6e575c9a7102375f90600', class: {
20
22
  'sd-loading-container': true,
21
23
  'sd-loading-container--visible': this.visible,
22
- }, "aria-hidden": this.visible ? 'false' : 'true' }, h("div", { key: 'd5f1e1e3df8b704d4a5dabe8cf7b50cc07a2699a', class: "sd-loading-container__backdrop" }), h("div", { key: '40dce62049e04a997b982ab65b47a755b6e917c7', class: "sd-loading-container__content" }, h("sd-circle-progress", { key: '9cb7a1ed52433f2d0982ceef1a298b1367a99dd4', indeterminate: true, type: "inverse" }), this.message && (h("p", { key: 'bc581b692122ef5553e4e8eb99056b89257eb6d9', class: "sd-loading-container__message" }, this.message)))));
24
+ }, "aria-hidden": this.visible ? 'false' : 'true' }, h("div", { key: '1ff327157be008e278636d49069945e553c1ecbd', class: "sd-loading-container__backdrop" }), h("div", { key: 'd55d2ab11528e35c04e8dd98f8c10d0f913a536e', class: "sd-loading-container__content" }, h("sd-circle-progress", { key: '29060ee18eb4e5a47bae25462abe11b8d5abfb0c', indeterminate: true, type: "inverse" }), this.message && h("p", { key: 'cf0478da282996ba4f7ecb920d8262181369af8a', class: "sd-loading-container__message" }, this.message))));
23
25
  }
24
26
  };
25
27
  SdLoadingContainer.style = sdLoadingContainerCss();
@@ -1,18 +1,21 @@
1
- import { r as registerInstance, a as getElement, h } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, a as getElement, h } from './index-C7HJ-NfO.js';
2
2
  import { u as unregisterModal, r as registerModal, s as setModalInteractive, i as isTopInteractiveModal, a as requestCloseForModal } from './modal-stack-DRVnqiWc.js';
3
3
 
4
4
  const sdModalContainerCss = () => `sd-modal-container{display:block}sd-modal-container .sd-modal-container{position:fixed;inset:0;z-index:var(--sd-modal-container-z-index, 997);pointer-events:none}sd-modal-container .sd-modal-container__layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}sd-modal-container .sd-modal-container__backdrop{position:absolute;inset:0;background:rgba(0, 0, 0, 0.4);opacity:0;transition:opacity 0.3s ease-out;pointer-events:none}sd-modal-container .sd-modal-container__backdrop--visible{opacity:1;pointer-events:auto}sd-modal-container .sd-modal-container__modal{position:relative;z-index:1;opacity:0;transform:scale(0);pointer-events:auto;transition:opacity 0.3s ease-out, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)}sd-modal-container .sd-modal-container__modal--visible{opacity:1;transform:scale(1)}sd-modal-container .sd-modal-container__modal--shake{animation:modal-shake 0.3s ease-out}@keyframes modal-shake{0%,100%{transform:scale(1)}25%{transform:scale(1.03)}50%{transform:scale(0.97)}75%{transform:scale(1.01)}}`;
5
5
 
6
6
  let modalIdCounter = 0;
7
7
  const ANIMATION_DURATION = 350;
8
+ const FOCUSABLE_SELECTOR = 'a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';
8
9
  const SdModalContainer = class {
9
10
  constructor(hostRef) {
10
11
  registerInstance(this, hostRef);
11
12
  }
12
13
  get el() { return getElement(this); }
14
+ /** 마지막 모달이 닫힐 때 자신을 DOM에서 제거할지 여부 */
13
15
  autoRemove = false;
14
16
  entries = [];
15
17
  layerRefs = new Map();
18
+ /** 확인 모달을 열고 모달 ID를 반환합니다. */
16
19
  async open(options, modalRef) {
17
20
  const id = `modal-${++modalIdCounter}`;
18
21
  const modalEl = this.createConfirmModal(id, options);
@@ -27,6 +30,7 @@ const SdModalContainer = class {
27
30
  });
28
31
  return id;
29
32
  }
33
+ /** 로딩 모달을 열고 모달 ID를 반환합니다. */
30
34
  async openLoading(options, modalRef) {
31
35
  const id = `modal-${++modalIdCounter}`;
32
36
  const modalEl = this.createLoadingModal(id, options);
@@ -41,6 +45,7 @@ const SdModalContainer = class {
41
45
  });
42
46
  return id;
43
47
  }
48
+ /** 커스텀 엘리먼트를 모달로 등록하고 모달 ID를 반환합니다. */
44
49
  async createCustom(element, options, modalRef) {
45
50
  const id = `modal-${++modalIdCounter}`;
46
51
  element.setAttribute('data-modal-id', id);
@@ -74,6 +79,7 @@ const SdModalContainer = class {
74
79
  return;
75
80
  this.entries = this.entries.map(e => (e.id === id ? { ...e, backdropVisible: true } : e));
76
81
  modalEl.classList.add('sd-modal-container__modal--visible');
82
+ this.focusInitialElement(modalEl);
77
83
  });
78
84
  });
79
85
  }
@@ -85,12 +91,14 @@ const SdModalContainer = class {
85
91
  unregisterModal(entry.id);
86
92
  }
87
93
  }
94
+ /** 지정한 ID의 모달을 닫습니다. */
88
95
  async dismissById(id, reason) {
89
96
  const entry = this.entries.find(e => e.id === id);
90
97
  if (!entry)
91
98
  return;
92
99
  this.requestDismiss(id, reason);
93
100
  }
101
+ /** 열려있는 모달의 props를 동적으로 업데이트합니다. */
94
102
  async update(id, props) {
95
103
  const entry = this.entries.find(e => e.id === id && !e.closing);
96
104
  if (!entry)
@@ -103,7 +111,14 @@ const SdModalContainer = class {
103
111
  this.applyProps(entry.modalEl, props);
104
112
  }
105
113
  mountEntry(entry) {
106
- this.entries = [...(this.entries ?? []), entry];
114
+ const activeElement = typeof document !== 'undefined' ? document.activeElement : null;
115
+ this.entries = [
116
+ ...(this.entries ?? []),
117
+ {
118
+ ...entry,
119
+ previousActiveElement: activeElement,
120
+ },
121
+ ];
107
122
  registerModal({
108
123
  id: entry.id,
109
124
  persistent: entry.persistent,
@@ -161,6 +176,7 @@ const SdModalContainer = class {
161
176
  clearTimeout(currentEntry.dismissTimerId);
162
177
  currentEntry.modalEl.remove();
163
178
  unregisterModal(id);
179
+ this.restoreFocus(currentEntry.previousActiveElement);
164
180
  currentEntry.modalRef._triggerDismissed();
165
181
  this.layerRefs.delete(id);
166
182
  this.entries = (this.entries ?? []).filter(e => e.id !== id);
@@ -246,6 +262,44 @@ const SdModalContainer = class {
246
262
  return;
247
263
  requestCloseForModal(id);
248
264
  }
265
+ /**
266
+ * 모달이 열릴 때 트리거 요소(버튼 등)에 남아 있던 포커스를 모달 내부로
267
+ * 이동시킨다. 이를 하지 않으면 모달을 연 버튼이 계속 포커스를 가져,
268
+ * Enter 키를 누를 때마다 트리거가 재실행되어 모달이 중첩으로 쌓인다.
269
+ */
270
+ focusInitialElement(modalEl) {
271
+ const target = this.getInitialFocusTarget(modalEl);
272
+ target?.focus();
273
+ }
274
+ getInitialFocusTarget(modalEl) {
275
+ const explicit = modalEl.querySelector('[autofocus]');
276
+ if (explicit)
277
+ return explicit;
278
+ // 각 모달 타입의 메인(주요 액션) 버튼에 우선 포커스해 Enter 로 확정 가능하게 한다.
279
+ // confirm/action/loading 모두 대응한다.
280
+ const mainButton = modalEl.querySelector([
281
+ '.sd-confirm-modal__button sd-button:last-of-type button',
282
+ '.sd-action-modal__footer > sd-button button',
283
+ '.sd-loading-modal__button sd-button button',
284
+ ].join(','));
285
+ if (mainButton)
286
+ return mainButton;
287
+ // 그 외(커스텀 모달 등): 헤더의 닫기(X) 버튼을 제외한 첫 포커스 가능 요소.
288
+ const focusables = Array.from(modalEl.querySelectorAll(FOCUSABLE_SELECTOR));
289
+ const preferred = focusables.find(el => !el.closest('.sd-action-modal__close, .sd-confirm-modal__close-button'));
290
+ if (focusables.length > 0)
291
+ return preferred ?? focusables[0];
292
+ if (!modalEl.hasAttribute('tabindex'))
293
+ modalEl.setAttribute('tabindex', '-1');
294
+ return modalEl;
295
+ }
296
+ restoreFocus(previousActiveElement) {
297
+ if (previousActiveElement &&
298
+ typeof previousActiveElement.focus === 'function' &&
299
+ previousActiveElement.isConnected) {
300
+ previousActiveElement.focus();
301
+ }
302
+ }
249
303
  shakeModal(modalEl) {
250
304
  const cls = 'sd-modal-container__modal--shake';
251
305
  modalEl.classList.remove(cls);
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, F as Fragment, a as getElement, H as Host } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, c as createEvent, h, F as Fragment, a as getElement, H as Host } from './index-C7HJ-NfO.js';
2
2
  import { T as TABLE_ID_ATTR } from './constants-sZMi_32I.js';
3
3
  import { a as TABLE_SELECTABLE_COLUMN_WIDTH, r as resolveTableIconColor, e as resolveSortIconName, c as TABLE_BORDER, f as TABLE_HEADER_RESIZING_BAR, g as TABLE_HEADER_TYPOGRAPHY, h as TABLE_HEADER_COLORS, i as TABLE_HEADER_LAYOUT, T as TABLE_BODY_LAYOUT, j as TABLE_SEPARATOR, b as TABLE_BODY_TYPOGRAPHY } from './sd-table.config-B3wuA5wX.js';
4
4
  import './component.table-D6GUzecR.js';
@@ -78,9 +78,13 @@ const SdPagination = class {
78
78
  registerInstance(this, hostRef);
79
79
  this.pageChange = createEvent(this, "sdPageChange", 7);
80
80
  }
81
+ /** 현재 페이지 번호 */
81
82
  currentPage = 1;
83
+ /** 마지막 페이지 번호 */
82
84
  lastPage = 1;
85
+ /** true이면 현재/마지막 페이지만 표시하는 단순 모드 */
83
86
  simple = false;
87
+ /** 페이지가 변경될 때 새 페이지 번호를 전달합니다. */
84
88
  pageChange;
85
89
  get pageNumbers() {
86
90
  const start = Math.floor((this.currentPage - 1) / PER_PAGE) * PER_PAGE + 1;
@@ -152,13 +156,13 @@ const SdPagination = class {
152
156
  '--sd-pagination-bg-selected': PAGINATION_COLORS.bgSelected,
153
157
  '--sd-pagination-item-width': `${this.buttonWidth}px`,
154
158
  };
155
- return (h("div", { key: '8a2219bbc3a17951ed66501e7246f230f0495e74', class: {
159
+ return (h("div", { key: '733bf7952c4e38a65a1042c6a8784d6502c81667', class: {
156
160
  'sd-pagination': true,
157
161
  'sd-pagination--simple': this.simple,
158
- }, style: cssVars }, h("div", { key: '7e9ddb98aff7506fc3b6053d84c1be211e3d1ff7', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (h("div", { class: "sd-pagination__info" }, h("span", { class: "sd-pagination__current" }, this.currentPage), h("span", { class: "sd-pagination__divider" }, "/"), h("span", { class: "sd-pagination__last" }, this.lastPage))) : (h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
162
+ }, style: cssVars }, h("div", { key: '4c23bdfb9a58950a04107fc4b4c921bbafa4e601', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (h("div", { class: "sd-pagination__info" }, h("span", { class: "sd-pagination__current" }, this.currentPage), h("span", { class: "sd-pagination__divider" }, "/"), h("span", { class: "sd-pagination__last" }, this.lastPage))) : (h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
159
163
  'sd-pagination__item': true,
160
164
  'sd-pagination__item--selected': this.currentPage === n,
161
- }, onClick: () => this.handlePageChange(n) }, n))))), h("div", { key: '937554ea8d3ae71da85e2c1f49d82c99658141f0', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
165
+ }, onClick: () => this.handlePageChange(n) }, n))))), h("div", { key: 'a0406c1f9cd13970d47f25ed88095ac1c684203c', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
162
166
  }
163
167
  };
164
168
  SdPagination.style = sdPaginationCss();
@@ -170,6 +174,7 @@ const SdTbody = class {
170
174
  registerInstance(this, hostRef);
171
175
  }
172
176
  get el() { return getElement(this); }
177
+ /** 렌더링할 행 데이터 목록 */
173
178
  rows = [];
174
179
  tableId = '';
175
180
  topSpacerHeight = 0;
@@ -213,9 +218,9 @@ const SdTbody = class {
213
218
  }
214
219
  }
215
220
  render() {
216
- return (h(Host, { key: 'ae49b4a7e18afd3d44d07e7da6c3663a6a043796', slot: `${this.tableId}-body` }, h("tbody", { key: '7275cf9214f6917c5437b8a72a06cde3ca48dc8c', class: { tbody: true } }, [
221
+ return (h(Host, { key: '0f85168b22221551714f3c75bd12c366538cc5ec', slot: `${this.tableId}-body` }, h("tbody", { key: 'f9a8528d40c51988cfbca2c349905dafdafce8d3', class: { tbody: true } }, [
217
222
  this.topSpacerHeight > 0 && (h("tr", { key: "spacer-top", class: "tbody__spacer", style: { height: `${this.topSpacerHeight}px`, display: 'block' } })),
218
- h("slot", { key: '6455be878c24df5371e094fbfe9687ddb992e0e6' }),
223
+ h("slot", { key: '7ecfe2f730b4c909d394fdee2d9aa015c5410cb4' }),
219
224
  this.bottomSpacerHeight > 0 && (h("tr", { key: "spacer-bottom", class: "tbody__spacer", style: { height: `${this.bottomSpacerHeight}px`, display: 'block' } })),
220
225
  ])));
221
226
  }
@@ -235,15 +240,25 @@ const SdThead = class {
235
240
  this.sdColumnSort = createEvent(this, "sdColumnSort", 7);
236
241
  }
237
242
  get el() { return getElement(this); }
243
+ /** 테이블 컬럼 목록 */
238
244
  columns;
245
+ /** 행 선택 기능 사용 여부 */
239
246
  selectable;
247
+ /** 컬럼 너비 조절 가능 여부 */
240
248
  resizable;
249
+ /** 고정 컬럼 설정 */
241
250
  stickyColumn;
251
+ /** 헤더 고정 여부 */
242
252
  stickyHeader;
253
+ /** 좌측 스크롤 여부 */
243
254
  scrolledLeft;
255
+ /** 우측 스크롤 여부 */
244
256
  scrolledRight;
257
+ /** 전체 선택 체크박스용 행 데이터 */
245
258
  rows = [];
259
+ /** 컬럼 너비 목록 */
246
260
  columnWidths = [];
261
+ /** 컬럼 정렬 버튼 클릭 시 발생합니다. */
247
262
  sdColumnSort;
248
263
  tableId = '';
249
264
  _columns = [];
@@ -309,12 +324,15 @@ const SdThead = class {
309
324
  this.columnWidths = [];
310
325
  }
311
326
  }
327
+ /** 테이블 설정을 다시 불러옵니다. */
312
328
  async refreshConfig() {
313
329
  this.resolveConfig();
314
330
  }
331
+ /** 컬럼 너비를 업데이트합니다. */
315
332
  async setColumnWidths(widths) {
316
333
  this.columnWidths = Array.isArray(widths) ? widths : [];
317
334
  }
335
+ /** 전체 선택 체크박스 상태를 갱신합니다. */
318
336
  async refreshSelection() {
319
337
  const checkbox = this.el.querySelector('sd-checkbox');
320
338
  if (checkbox) {
@@ -390,16 +408,16 @@ const SdThead = class {
390
408
  '--table-border-color': TABLE_BORDER.color,
391
409
  '--table-border-width': `${TABLE_BORDER.width}px`,
392
410
  };
393
- return (h(Host, { key: 'c25f6f9704c079d4cb93da7e65c8c15b6dedcb67', slot: `${this.tableId}-head`, style: headStyle }, h("thead", { key: 'd91019378caafa2ec32dfa838eaa4d1fe815fb0d', class: {
411
+ return (h(Host, { key: '26981191de95775401cad61e80fbf1e22cb0250b', slot: `${this.tableId}-head`, style: headStyle }, h("thead", { key: 'a53d430f1b71a45b98de2912b563d3f17cd20b24', class: {
394
412
  'thead': true,
395
413
  'thead--sticky': this._stickyHeader,
396
- } }, h("tr", { key: '84e581f5c564693d356f56525f57d6b1da211442', class: "tr" }, this._selectable && (h("th", { key: 'fb92e978229c32d560f46af4e90e0980c9c0a213', class: {
414
+ } }, h("tr", { key: '27ce13b70bfda4b210b36eb746fb60d369d9f5be', class: "tr" }, this._selectable && (h("th", { key: 'e353b00c7a02b82781e5107b1fd73dc556427edf', class: {
397
415
  'th': true,
398
416
  'th--selected': true,
399
417
  'sticky-left': true,
400
418
  'sticky-left-edge': stickyLeftCount === 0,
401
419
  'is-scrolled-left': stickyLeftCount === 0 && this._scrolledLeft,
402
- }, style: { '--sticky-left-offset': '0px' } }, h("sd-checkbox", { key: '157f59b56a4ef2a8529318c8beaf6f59b91e12f0', value: this.getIsAllChecked(), disabled: safeRows.length === 0, onSdUpdate: (e) => this.handleSelectAll(e.detail) }), h("div", { key: 'b65e099ebe4940b26cc251961e66a375400f2379', class: "th__bar" }))), stickyLeftCols.map((col, idx) => (h("th", { key: col.name, class: {
420
+ }, style: { '--sticky-left-offset': '0px' } }, h("sd-checkbox", { key: '18eeabbcc4fc10196d6448bd9d0493b55778f9f1', value: this.getIsAllChecked(), disabled: safeRows.length === 0, onSdUpdate: (e) => this.handleSelectAll(e.detail) }), h("div", { key: '1a5a0561fc94be53a8244827ac9ae4f98fa766c2', class: "th__bar" }))), stickyLeftCols.map((col, idx) => (h("th", { key: col.name, class: {
403
421
  'th': true,
404
422
  [`${col.thClass}`]: Boolean(col.thClass),
405
423
  'sticky-left': true,
@@ -446,11 +464,17 @@ const SdTr = class {
446
464
  registerInstance(this, hostRef);
447
465
  }
448
466
  get el() { return getElement(this); }
467
+ /** 테이블 컬럼 목록 */
449
468
  columns;
469
+ /** 행 선택 기능 사용 여부 */
450
470
  selectable;
471
+ /** 고정 컬럼 설정 */
451
472
  stickyColumn;
473
+ /** 행 식별 키 */
452
474
  rowKey = '';
475
+ /** 행 데이터 객체 */
453
476
  row = {};
477
+ /** 구분선 높이 (4 또는 6px, null이면 일반 행) */
454
478
  separator = null;
455
479
  tableId = '';
456
480
  columnWidths = [];
@@ -503,12 +527,15 @@ const SdTr = class {
503
527
  this.columnWidths = [...config.columnWidths];
504
528
  }
505
529
  }
530
+ /** 테이블 설정을 다시 불러옵니다. */
506
531
  async refreshConfig() {
507
532
  this.resolveConfig();
508
533
  }
534
+ /** 셀 병합 버전을 갱신해 td를 재렌더링합니다. */
509
535
  async bumpSpansVersion() {
510
536
  this.spansVersion = this.spansVersion + 1;
511
537
  }
538
+ /** 페이지네이션에 따른 행 표시 여부를 갱신합니다. */
512
539
  async updateVisibility() {
513
540
  this.updateVisibilitySync();
514
541
  }
@@ -521,9 +548,11 @@ const SdTr = class {
521
548
  }
522
549
  this.isVisible = rowIndex >= pageInfo.startIndex && rowIndex < pageInfo.endIndex;
523
550
  }
551
+ /** 컬럼 너비를 업데이트합니다. */
524
552
  async setColumnWidths(widths) {
525
553
  this.columnWidths = widths;
526
554
  }
555
+ /** 체크박스 선택 상태를 갱신합니다. */
527
556
  async refreshSelection() {
528
557
  const checkbox = this.el.querySelector('sd-checkbox');
529
558
  if (checkbox) {
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h, F as Fragment } from './index-CAxodB5I.js';
2
- import { T as TooltipArrow } from './tooltipArrow-DLr6VvUK.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h, F as Fragment } from './index-C7HJ-NfO.js';
2
+ import { T as TooltipArrow } from './tooltipArrow-Bgf3crs7.js';
3
3
 
4
4
  const popover = {
5
5
  "default": {
@@ -16,22 +16,38 @@ const SdPopover = class {
16
16
  this.showChange = createEvent(this, "sdShowChange", 7);
17
17
  }
18
18
  get el() { return getElement(this); }
19
+ /** 팝오버 표시 여부 */
19
20
  show = false;
21
+ /** 팝오버를 표시할 방향 */
20
22
  placement = 'bottom';
23
+ /** 아이콘 트리거 색상 */
21
24
  color = '#01BB4B';
25
+ /** 아이콘 트리거 아이콘명 */
22
26
  icon = 'helpOutline';
27
+ /** 아이콘 트리거 크기 */
23
28
  iconSize = 12;
29
+ /** 버튼 트리거 레이블 (있으면 아이콘 대신 버튼 렌더링) */
24
30
  label = '';
31
+ /** 버튼 트리거 프리셋 */
25
32
  name = 'primary_sm';
33
+ /** 버튼 트리거 우측 아이콘 */
26
34
  rightIcon;
35
+ /** 스크린리더용 접근성 레이블 */
27
36
  ariaLabel = '';
37
+ /** 비활성 상태 여부 */
28
38
  disabled = false;
39
+ /** 버튼 type 속성 */
29
40
  type = 'button';
41
+ /** 팝오버 메뉴 제목 */
30
42
  menuTitle;
43
+ /** 팝오버 하단 좌측 링크 옵션 */
31
44
  leftLink;
45
+ /** 팝오버 하단 버튼 옵션 */
32
46
  button;
47
+ /** 팝오버 메뉴에 추가할 클래스 */
33
48
  menuClass = '';
34
49
  slotContentHTML = '';
50
+ /** 팝오버 표시 상태가 바뀔 때 발생합니다. */
35
51
  showChange;
36
52
  buttonEl;
37
53
  setShow = (next) => {
@@ -66,17 +82,17 @@ const SdPopover = class {
66
82
  const leftLink = this.leftLink;
67
83
  const button = this.button;
68
84
  const hasFooter = !!leftLink || !!button;
69
- return (h(Fragment, { key: '649e07ee45d3e7e5f72a438ef2939bfe6d3c56e4' }, this.label !== '' ? (h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel || this.label || icon || 'Open popover', disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (h("sd-floating-portal", { key: '486d1859387b0c8cc82646ab5e7b6800792ca2be', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, h("div", { key: '4418e064c76478a5b4dfd2fb69d11e1603a22530', class: {
85
+ return (h(Fragment, { key: '94fcf54c8b20ffd1bcf2c7f540de31e1f41154fa' }, this.label !== '' ? (h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel || this.label || icon || 'Open popover', disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (h("sd-floating-portal", { key: '9f1585f2d268452f3d5c713e30ff865c3fc5fbac', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, h("div", { key: '2cd2103f56c45364df5db9b73a2d89447b7c2bcc', class: {
70
86
  'sd-floating-menu': true,
71
87
  'sd-floating-menu--popover': true,
72
88
  [`sd-floating-menu--${placement}`]: true,
73
89
  [menuClass]: menuClass !== '',
74
90
  }, style: {
75
91
  '--sd-floating-bg': popoverTokens.popover.default.bg,
76
- } }, h("i", { key: 'a181ce40ae957e77be7c8f9b10e6f1fe8190cd52', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: '323bca17c3c245063cbd1ac55ed64bf6f6df9e3e' })), h("div", { key: '06e98cf6e888dc66a6a700710669c61ac9d9c494', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: '831ca9893ccafcad8e0858fb28269428ebac6a07', class: "sd-floating-menu__title" }, this.menuTitle), this.slotContentHTML && (h("div", { key: 'cdd2eafe18d5b0b44f10dbebbb68ed9d010173b1', class: "sd-floating-menu__messages", innerHTML: this.slotContentHTML })), hasFooter && (h("div", { key: '8149044a08de968ef38f432ee3303d969b49eace', class: {
92
+ } }, h("i", { key: '5fd6c333790d3bb45bf4d43391ed1457d5eb54c3', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: '062b11e3b6cee1e87f20064ab62a589a23f3eb26' })), h("div", { key: 'b863abd8e31c8ce0dfddfdb25b6a49be69f34da1', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: '1873c595d7ad91b3a7c71d979414820694c23ff5', class: "sd-floating-menu__title" }, this.menuTitle), this.slotContentHTML && (h("div", { key: '7a197b43d34a59ec298ed5e733cae0f3390c87a3', class: "sd-floating-menu__messages", innerHTML: this.slotContentHTML })), hasFooter && (h("div", { key: 'be9034b4150421be08c17978beba643e73c5568d', class: {
77
93
  'sd-floating-menu__buttons': true,
78
94
  'sd-floating-menu__buttons--with-link': !!leftLink,
79
- } }, leftLink && (h("sd-text-link", { key: '4c7e9c2b4fe8664b3af375a3c89b1cd50d64a9c3', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', rightArrow: leftLink.rightArrow ?? 'none', underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (h("sd-button", { key: '730d867339257f168c11d7d1417c9d28a408f462', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel || button.label || button.icon || 'Open popover', disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), h("sd-ghost-button", { key: '7a1f2edf0a601c0dfa91b4a02405c815d3257214', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
95
+ } }, leftLink && (h("sd-text-link", { key: '890a163609b8544450ad1b8c009648d73ef0d269', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', rightArrow: leftLink.rightArrow ?? 'none', underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (h("sd-button", { key: '128270add7ea99f7c9f61abe9f2a113f152465d8', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel || button.label || button.icon || 'Open popover', disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), h("sd-ghost-button", { key: 'bc4c4d982da8fe72c85cd4ae7ba6cd2e09154164', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
80
96
  }
81
97
  };
82
98
  SdPopover.style = sdPopoverCss();
@@ -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
  import { s as systemTokens } from './system-BJfiMC9H.js';
3
3
 
4
4
  const popup$1 = {
@@ -72,12 +72,16 @@ const SdPopup = class {
72
72
  registerInstance(this, hostRef);
73
73
  this.submit = createEvent(this, "sdSubmit", 7);
74
74
  }
75
+ /** 팝업 헤더에 표시할 제목 */
75
76
  popupTitle = '';
77
+ /** 팝업 타입 */
76
78
  type = 'default';
77
79
  // 기본 footer 표시가 자연스러운 UX. prop 이름 변경(hideFooter 등)은 public API breaking 이라 별도 이슈로 분리.
78
- // eslint-disable-next-line stencil/ban-default-true
80
+ /** 하단 footer 영역 표시 여부 */
79
81
  useFooter = true;
82
+ /** 확인 버튼 커스텀 props */
80
83
  submitButtonProps;
84
+ /** 확인 버튼 클릭 시 발생합니다. */
81
85
  submit;
82
86
  render() {
83
87
  const cssVars = {
@@ -103,7 +107,7 @@ const SdPopup = class {
103
107
  ...DEFAULT_SUBMIT_BUTTON_PROPS,
104
108
  ...this.submitButtonProps,
105
109
  };
106
- return (h("div", { key: 'fd14b75d27d3006978ceae9287486d9716bbbf5a', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, h("header", { key: 'ac0222dc9512b99cd1d1b4684b9775cd462f39fa', class: "sd-popup__header" }, h("h2", { key: 'a11bea9fac5828161090d09d06d6e1c54c390392', class: "sd-popup__title" }, this.popupTitle)), h("div", { key: 'ced8961a853cdf014d602c235cfc839a648fb19e', class: "sd-popup__body" }, h("slot", { key: '142807fd74e8b32a31ffb7ed8f3dfdcb07a6a1ba' })), this.useFooter && (h("footer", { key: '35a6b42e82ec13890b4fa56bda5b9781adeff229', class: "sd-popup__footer" }, h("div", { key: '44b2471e0f302bd001fdf1e1d72485dff4af094f', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, h("slot", { key: 'd1c8e29b60eb7ce86639e336c99a48a67437103a', name: "footer-left" })), h("sd-button", { key: '67b0a8530cae73e344cdae2ac0cb48fa3bdf4827', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
110
+ return (h("div", { key: '4455120f02fc1df1b1661062a22f3d82508627c4', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, h("header", { key: '96a5e7cdc21fa239e4275f4b57379f36246048f4', class: "sd-popup__header" }, h("h2", { key: 'cdf8d05561f470fef31c46e6508e1e0c41aa7fa9', class: "sd-popup__title" }, this.popupTitle)), h("div", { key: 'ddb32332f8822634f544f2fa5a246c5f37c7fcc2', class: "sd-popup__body" }, h("slot", { key: '8f36daf8c918da6babcbb4383957e979930bfd73' })), this.useFooter && (h("footer", { key: '2b84ed134a8d53633bb4feb7ab423e58955dfdae', class: "sd-popup__footer" }, h("div", { key: '95e55875b38102ff809e752a3cc647dc830699a9', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, h("slot", { key: 'fbd86c77e1117018793279c9b90fd8e2f6db4934', name: "footer-left" })), h("sd-button", { key: 'e8710c15d20e52d0476e7f656e800cda008187d8', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
107
111
  }
108
112
  };
109
113
  SdPopup.style = sdPopupCss();
@@ -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 radioButton = {
4
4
  xs: {
@@ -102,11 +102,17 @@ const SdRadioButton = class {
102
102
  registerInstance(this, hostRef);
103
103
  this.change = createEvent(this, "sdUpdate", 7);
104
104
  }
105
+ /** 현재 선택된 값 */
105
106
  value;
107
+ /** 라디오 버튼 옵션 목록 */
106
108
  options = [];
109
+ /** 버튼 크기 */
107
110
  size = 'sm';
111
+ /** 비활성 상태 여부 */
108
112
  disabled = false;
113
+ /** input name 속성 (없으면 자동 생성) */
109
114
  name;
115
+ /** 선택 값이 변경될 때 발생합니다. */
110
116
  change;
111
117
  componentWillLoad() {
112
118
  this.size ??= 'sm';
@@ -176,7 +182,7 @@ const SdRadioButton = class {
176
182
  '--sd-radio-button-content-select': RADIO_BUTTON_COLORS.content.select,
177
183
  '--sd-radio-button-content-disabled': RADIO_BUTTON_COLORS.content.disabled,
178
184
  };
179
- return (h("div", { key: 'b916d790862409f8b8e1da566f049daadfc4e5e2', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
185
+ return (h("div", { key: 'c0ed4c6927bd32a7335e003856de4b43ead97b1c', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
180
186
  const isSelected = this.isOptionSelected(option);
181
187
  const isDisabled = this.isOptionDisabled(option);
182
188
  return (h("label", { key: `radio-${option.value}`, class: this.getButtonClasses(option), "aria-label": option.label || 'radio option', "data-label": option.label }, h("input", { type: "radio", name: this.groupName, value: option.value.toString(), checked: isSelected, disabled: isDisabled, onInput: () => this.handleRadioChange(option.value, option.disabled) }), option.label && h("span", { class: "sd-radio-button__label" }, option.label)));
@@ -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 radio = {
4
4
  size: "16",
@@ -82,10 +82,15 @@ const SdRadio = class {
82
82
  registerInstance(this, hostRef);
83
83
  this.update = createEvent(this, "sdUpdate", 7);
84
84
  }
85
+ /** 라디오 그룹의 현재 선택 값 */
85
86
  value;
87
+ /** 이 라디오 아이템의 값 */
86
88
  val;
89
+ /** 비활성 상태 여부 */
87
90
  disabled = false;
91
+ /** 표시할 라벨 텍스트 */
88
92
  label;
93
+ /** 선택 값이 변경될 때 발생합니다. */
89
94
  update;
90
95
  valueChanged(newValue) {
91
96
  this.value = newValue;
@@ -128,7 +133,7 @@ const SdRadio = class {
128
133
  '--sd-radio-label-color': RADIO_COLORS.label.default,
129
134
  '--sd-radio-label-disabled-color': RADIO_COLORS.label.disabled,
130
135
  };
131
- return (h("label", { key: 'f403a1fd88109a6907cc37b03b35fe5a7bbafdfb', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, h("input", { key: 'ba8c105d6d52bc4452e1b9614f42dfa2d99221e1', type: "radio", name: String(this.val), value: String(this.val), checked: this.isSelected, disabled: this.disabled, "aria-label": this.label || String(this.val), onInput: this.handleRadioChange }), h("span", { key: 'd92352c59bf7f144a68decd3652dc7208b813a0e', class: "sd-radio__circle" }), this.label && (h("span", { key: 'bc0b1384dee0b22efec56249edc88184a96c6efe', class: "sd-radio__label", "data-label": this.label }, this.label))));
136
+ return (h("label", { key: 'f220a45add2be550bc696cd2442b8520ea0143f0', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, h("input", { key: '64692f5bf49783f166be9327877a474816a556ca', type: "radio", name: String(this.val), value: String(this.val), checked: this.isSelected, disabled: this.disabled, "aria-label": this.label || String(this.val), onInput: this.handleRadioChange }), h("span", { key: '3c30268adcbd735857b4163ecba444b5a57cba08', class: "sd-radio__circle" }), this.label && (h("span", { key: 'b641086ab4ff9161ba4fb733b87c751b6863fe06', class: "sd-radio__label", "data-label": this.label }, this.label))));
132
137
  }
133
138
  static get watchers() { return {
134
139
  "value": [{
@@ -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
  import { g as LIST_ITEM_LAYOUT, i as isHtmlLabel, h as LIST_ITEM_TYPOGRAPHY, j as LIST_ITEM_COLORS, k as SEARCH_DEBOUNCE_MS } from './sd-select.config-D6ktrl7E.js';
3
3
  import { s as sanitizeInlineHtml } from './sanitize-inline-html-BE4tnQ2Z.js';
4
4
  import './component.listItem-U8VaRj9c.js';
@@ -10,12 +10,19 @@ const SdSelectListItem = class {
10
10
  registerInstance(this, hostRef);
11
11
  this.listItemClick = createEvent(this, "sdListItemClick", 7);
12
12
  }
13
+ /** 렌더링할 옵션 데이터 */
13
14
  option;
15
+ /** 계층 깊이 (1~3) */
14
16
  depth = 1;
17
+ /** 선택 상태 (null=중간) */
15
18
  isSelected = false;
19
+ /** 키보드 포커스 상태 여부 */
16
20
  isFocused = false;
21
+ /** 체크박스 표시 여부 */
17
22
  useCheckbox = false;
23
+ /** 다중 선택 시 (선택/전체) 카운트 */
18
24
  countInfo;
25
+ /** 항목 클릭 시 발생합니다. */
19
26
  listItemClick;
20
27
  get isGroup() {
21
28
  return !!this.option.children;
@@ -79,7 +86,7 @@ const SdSelectListItem = class {
79
86
  return (
80
87
  // 키보드 네비게이션은 부모 listbox 의 ArrowUp/Down + Enter 가 담당. 항목 자체는 role=option, tabindex=-1 으로 표시.
81
88
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events
82
- h("div", { key: '4322a04d65e4b2e1d82d0a6b09fdf6a57cce79ca', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
89
+ h("div", { key: '7717c82ea9f36bd44bf8a19d16ba7df6441f6715', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
83
90
  'sd-select-list-item': true,
84
91
  'sd-select-list-item--group': isGroup,
85
92
  'sd-select-list-item--depth1-group': isDepth1Group,
@@ -89,7 +96,7 @@ const SdSelectListItem = class {
89
96
  'sd-select-list-item--focused': this.isFocused,
90
97
  'sd-select-list-item--selectable': this.isSelectable && !this.option.disabled,
91
98
  'sd-select-list-item--disabled': !!this.option.disabled,
92
- }, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (h("sd-checkbox", { key: '47ae4bbe3c2fd960dcee0f1157ae8003dc45f205', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), isHtmlLabel(this.option.label) ? (h("span", { class: "sd-select-list-item__label", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.option.label)) })) : (h("span", { class: "sd-select-list-item__label" }, this.option.label)), this.countInfo && (h("span", { key: 'c89ba1e3ef52a1809d1252aaee5a18c40ff7cd61', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
99
+ }, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (h("sd-checkbox", { key: '68d8c03d580fc2c411ee4fba917207705f3cf2d2', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), isHtmlLabel(this.option.label) ? (h("span", { class: "sd-select-list-item__label", ref: el => el && (el.innerHTML = sanitizeInlineHtml(this.option.label)) })) : (h("span", { class: "sd-select-list-item__label" }, this.option.label)), this.countInfo && (h("span", { key: '56ae08c55215a3970df99ecd74549ded5667265c', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
93
100
  }
94
101
  };
95
102
  SdSelectListItem.style = sdSelectListItemCss();
@@ -102,9 +109,12 @@ const SdSelectListItemSearch = class {
102
109
  this.searchFilter = createEvent(this, "sdSearchFilter", 7);
103
110
  this.searchFocus = createEvent(this, "sdSearchFocus", 7);
104
111
  }
112
+ /** 리스트가 스크롤된 상태 여부 (그림자 효과용) */
105
113
  isScrolled = false;
106
114
  searchText = '';
115
+ /** 검색어가 변경될 때 발생합니다. */
107
116
  searchFilter;
117
+ /** 검색 입력에 포커스될 때 발생합니다. */
108
118
  searchFocus;
109
119
  inputEl;
110
120
  debounceTimer;
@@ -116,6 +126,7 @@ const SdSelectListItemSearch = class {
116
126
  });
117
127
  });
118
128
  }
129
+ /** 검색 입력에 포커스를 이동합니다. */
119
130
  async sdFocus() {
120
131
  this.inputEl?.focus();
121
132
  }
@@ -142,15 +153,15 @@ const SdSelectListItemSearch = class {
142
153
  clearTimeout(this.debounceTimer);
143
154
  }
144
155
  render() {
145
- return (h("div", { key: '94215143f5e47887943c726147739cdb1a9fcbf7', class: {
156
+ return (h("div", { key: 'fed1a43f1901d23c7c007a4597b95970c0aad4ad', class: {
146
157
  'sd-select-list-item-search': true,
147
158
  'sd-select-list-item-search--scrolled': this.isScrolled,
148
- } }, h("div", { key: '0ff422b93d0e15f2425ef760706ae0e6e2cb79f6', class: "sd-select-list-item-search__inner" }, h("sd-icon", { key: 'cc3468339c8b76103b67182309fa3aa2baf24380', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), h("input", { key: 'acc468ede845d0f5890c7908311443ea2aa156cf', ref: el => {
159
+ } }, h("div", { key: '23b278a4b40b7b8506a13f284b3759b96b613b99', class: "sd-select-list-item-search__inner" }, h("sd-icon", { key: '2150f73e1f20f05a28407b984977f7e91131217e', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), h("input", { key: '7dc4470ea57b54ebc5f3313f6e22d100f4cc4591', ref: el => {
149
160
  this.inputEl = el;
150
- }, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), h("button", { key: 'b1f1539aea4eb76458794dcb041e53c7af7b91e2', type: "button", class: {
161
+ }, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), h("button", { key: '60a363380da8689baa1e9e20b075df749846137a', type: "button", class: {
151
162
  'sd-select-list-item-search__clear': true,
152
163
  'sd-select-list-item-search__clear--hidden': this.searchText === '',
153
- }, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, h("sd-icon", { key: 'a137986e0c801a6cf95e279edeb6a9b21cf00170', name: "close", size: 12, color: "#888888" })))));
164
+ }, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, h("sd-icon", { key: '7b27eb444864674578f97eaa374d1e9af486f97a', name: "close", size: 12, color: "#888888" })))));
154
165
  }
155
166
  };
156
167
  SdSelectListItemSearch.style = sdSelectListItemSearchCss();