@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,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DXm0PH2A.js');
3
+ var index = require('./index-C-F-JEv_.js');
4
4
  var useDatePicker = require('./useDatePicker-iMd6WToc.js');
5
5
  var component_datepicker = require('./component.datepicker-CUQbDSku.js');
6
6
 
@@ -31,15 +31,20 @@ const SdDateRangePickerCalendar = class {
31
31
  this.select = index.createEvent(this, "sdSelect", 7);
32
32
  this.viewChange = index.createEvent(this, "sdViewChange", 7);
33
33
  }
34
+ /** 선택된 날짜 범위 [시작일, 종료일] */
34
35
  value = null;
36
+ /** 선택 가능한 날짜 범위 제한 */
35
37
  selectable;
38
+ /** 최대 선택 가능 일 수 */
36
39
  maxRange;
37
40
  currentYear;
38
41
  currentMonth;
39
42
  pendingStart = '';
40
43
  hoverDate = '';
41
44
  displayValue = null;
45
+ /** 날짜 범위 선택 시 발생합니다. */
42
46
  select;
47
+ /** 달력 뷰가 변경될 때 발생합니다. */
43
48
  viewChange;
44
49
  dateUtil = useDatePicker.useDatePicker();
45
50
  componentWillLoad() {
@@ -267,7 +272,7 @@ const SdDateRangePickerCalendar = class {
267
272
  '--range-panel-gap': `${RANGE_LAYOUT.panelGap}px`,
268
273
  '--range-divider': RANGE_LAYOUT.divider,
269
274
  };
270
- return (index.h(index.Fragment, { key: 'd46df258093b5c57d1b958efb7e52cabd4cb1eb4' }, index.h("div", { key: '04fc01524115d9b57462ad1eaf9281fe1c63dd84', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), index.h("div", { key: '91428a1dd98b7a9c534b28a9cd683f35935dfee2', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), index.h("span", { key: '26d4f7e3391c50340e0f45f018b02d11ad7bd23b', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
275
+ return (index.h(index.Fragment, { key: '351cf65dcf32acba409f32c5bfa0681989093f32' }, index.h("div", { key: '99f29a4e401d2ebaea0ebb55c2a4e55d55f23a7f', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), index.h("div", { key: '251fe254a39d7093633be176c413608abd3c47c1', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), index.h("span", { key: 'fb69fea401d17f3862b4a21162747161246c42e2', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
271
276
  }
272
277
  static get watchers() { return {
273
278
  "value": [{
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DXm0PH2A.js');
3
+ var index = require('./index-C-F-JEv_.js');
4
4
  var system = require('./system-MjrAugX-.js');
5
5
 
6
6
  const DIVIDER_COLORS = {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DXm0PH2A.js');
3
+ var index = require('./index-C-F-JEv_.js');
4
4
  var sanitizeInlineHtml = require('./sanitize-inline-html-CRCAeQ46.js');
5
5
  var sdButton_config = require('./sd-button.config-eTAJM2iW.js');
6
6
  var system = require('./system-MjrAugX-.js');
@@ -168,10 +168,15 @@ const SdDropdownButton = class extends BaseDropdownEvent {
168
168
  this.dropDownShow = index.createEvent(this, "sdDropDownShow", 7);
169
169
  }
170
170
  get el() { return index.getElement(this); }
171
+ /** 버튼 프리셋 이름 (크기와 색상 조합) */
171
172
  name = 'primary_sm';
173
+ /** 버튼 레이블 */
172
174
  label = '';
175
+ /** 드롭다운 메뉴 아이템 목록 */
173
176
  items = [];
177
+ /** 비활성 상태 여부 */
174
178
  disabled = false;
179
+ /** 레이블 버튼과 드롭다운 토글을 분리하는 split 모드 여부 */
175
180
  split = false;
176
181
  static CLOSE_ANIMATION_DURATION = 150;
177
182
  isOpen = false;
@@ -181,8 +186,11 @@ const SdDropdownButton = class extends BaseDropdownEvent {
181
186
  splitContainerRef;
182
187
  menuRef;
183
188
  closeAnimationTimer;
189
+ /** 메뉴 아이템 선택 시 해당 아이템의 value를 전달합니다. */
184
190
  click;
191
+ /** split 모드에서 레이블 버튼 클릭 시 발생합니다. */
185
192
  buttonClick;
193
+ /** 드롭다운 열림/닫힘 상태 변경 시 발생합니다. */
186
194
  dropDownShow;
187
195
  handleOpenChange(isOpen) {
188
196
  this.onDropdownToggle(isOpen);
@@ -199,11 +207,13 @@ const SdDropdownButton = class extends BaseDropdownEvent {
199
207
  if (this.closeAnimationTimer)
200
208
  clearTimeout(this.closeAnimationTimer);
201
209
  }
210
+ /** 드롭다운 메뉴를 엽니다. */
202
211
  async sdOpen() {
203
212
  if (this.disabled || this.items.length === 0)
204
213
  return;
205
214
  this.isOpen = true;
206
215
  }
216
+ /** 드롭다운 메뉴를 닫습니다. */
207
217
  async sdClose() {
208
218
  this.closeDropdown();
209
219
  }
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DXm0PH2A.js');
3
+ var index = require('./index-C-F-JEv_.js');
4
4
  var component_field = require('./component.field-YIQ9TAhV.js');
5
- var tooltipArrow = require('./tooltipArrow-D3P3JC08.js');
5
+ var tooltipArrow = require('./tooltipArrow-26hYtSrD.js');
6
6
 
7
7
  const FIELD_ADDON_ALIGN_MAP = {
8
8
  start: 'flex-start',
@@ -48,25 +48,44 @@ const SdField = class {
48
48
  index.registerInstance(this, hostRef);
49
49
  }
50
50
  get el() { return index.getElement(this); }
51
+ /** 폼 연동용 name 속성 */
51
52
  name = '';
53
+ /** 유효성 검사 규칙 목록 */
52
54
  rules = [];
55
+ /** 에러 상태 여부 */
53
56
  error = false;
57
+ /** 비활성 상태 여부 */
54
58
  disabled = false;
59
+ /** 읽기 전용 여부 */
55
60
  readonly = false;
61
+ /** 호버 상태 여부 */
56
62
  hovered = false;
63
+ /** 포커스 상태 여부 */
57
64
  focused = false;
65
+ /** 필드 상태 (없으면 rules 결과로 자동 결정) */
58
66
  status;
67
+ /** 필드 하단 힌트 텍스트 */
59
68
  hint = '';
69
+ /** 에러 메시지 */
60
70
  errorMessage = '';
71
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
61
72
  width = '';
73
+ /** 필드 크기 */
62
74
  size = 'sm';
63
75
  // props - label
76
+ /** 레이블 텍스트 */
64
77
  label = '';
78
+ /** 레이블 너비 */
65
79
  labelWidth = '';
80
+ /** 필드 우측 어드온 레이블 */
66
81
  addonLabel = '';
82
+ /** 어드온 정렬 방향 */
67
83
  addonAlign = 'start';
84
+ /** 레이블 영역 아이콘 */
68
85
  icon = undefined;
86
+ /** 레이블 툴팁 텍스트 */
69
87
  labelTooltip = '';
88
+ /** 레이블 툴팁 상세 옵션 */
70
89
  labelTooltipProps = null;
71
90
  errorMsg = '';
72
91
  hostElement = null;
@@ -131,6 +150,7 @@ const SdField = class {
131
150
  form.sdUnregisterField(this);
132
151
  });
133
152
  }
153
+ /** 유효성 검사를 실행합니다. */
134
154
  async sdValidate() {
135
155
  if (!this.rules || this.rules.length === 0)
136
156
  return true;
@@ -144,15 +164,18 @@ const SdField = class {
144
164
  this.setError(false, '');
145
165
  return true;
146
166
  }
167
+ /** 필드 값과 유효성 상태를 초기화합니다. */
147
168
  async sdReset() {
148
169
  if (this.hostElement) {
149
170
  this.hostElement.value = null;
150
171
  }
151
172
  this.setError(false, '');
152
173
  }
174
+ /** 유효성 상태만 초기화합니다. */
153
175
  async sdResetValidation() {
154
176
  this.setError(false, '');
155
177
  }
178
+ /** 필드에 포커스를 이동하고 스크롤합니다. */
156
179
  async sdFocus() {
157
180
  this.hostElement?.focus?.();
158
181
  this.hostElement?.scrollIntoView({ behavior: 'smooth', block: 'center' });
@@ -216,21 +239,21 @@ const SdField = class {
216
239
  : {}),
217
240
  }
218
241
  : {};
219
- return (index.h("div", { key: '76a1a2f41cafb2a665415f4e6e7bd9561aacb57f', class: {
242
+ return (index.h("div", { key: 'baf943d77385c9c02e2fe1d938f9622bd858129c', class: {
220
243
  'sd-field': true,
221
244
  'sd-field--has-label': this.label !== '',
222
245
  'sd-field--has-addon': addon !== '',
223
246
  [this.fieldStatus]: this.fieldStatus !== '',
224
- }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, index.h("div", { key: 'b4219a5e3e80ead00b0cb67d6c5c8a1b25e59f57', class: "sd-field__wrapper" }, this.renderLabel(this.label), index.h("div", { key: '91dd10be9bf9fe70615d6f4f0ee00601cab5ee4a', class: "sd-field__main", style: this.width !== '' && this.width !== 0
247
+ }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, index.h("div", { key: 'f5f204929ef4a4e1a260d7609bc00d9a1fe998f4', class: "sd-field__wrapper" }, this.renderLabel(this.label), index.h("div", { key: 'eff02956e5aae08691b2850bb0d1978865a446f9', class: "sd-field__main", style: this.width !== '' && this.width !== 0
225
248
  ? {
226
249
  width: typeof this.width === 'number' ? `${this.width}px` : this.width,
227
250
  flex: 'none',
228
251
  }
229
- : {} }, index.h("div", { key: 'd15df53ff3d76ab9f9bd5e6ffe55f98b53c1211a', class: {
252
+ : {} }, index.h("div", { key: 'bf00b81dbb3d36a8a8ddf4919c9ec3383a1f3f14', class: {
230
253
  'sd-field__control': true,
231
254
  'sd-field__control--has-addon': addon !== '',
232
- } }, addon && (index.h("div", { key: 'fa65e5f352e20ae9f533bdf93d95b2d2f3ec4d7b', class: "sd-field__addon" }, this.icon && (index.h("sd-icon", { key: '5c6d67ca4a72191622d14727567b8bca0975dcee', name: this.icon.name, size: this.icon.size ??
233
- Number(FIELD_LABEL_SIZE_MAP[(this.size in FIELD_LABEL_SIZE_MAP ? this.size : 'sm')].icon), color: this.icon.color, rotate: this.icon.rotate })), addon)), index.h("slot", { key: 'c4f4e9392b3e6df8bba7a0f9e39bb3847ccf5931' })), this.errorMsg !== '' || this.errorMessage !== '' ? (index.h("div", { class: "sd-field__error-message" }, this.errorMsg !== '' ? this.errorMsg : this.errorMessage)) : (this.hint !== '' && index.h("div", { class: "sd-field__hint" }, this.hint))))));
255
+ } }, addon && (index.h("div", { key: '4cef1308de0b709d5924ff7a02ee5bd3b78c1502', class: "sd-field__addon" }, this.icon && (index.h("sd-icon", { key: '7fdfca555d80f5409082c43967224fd8108a6f29', name: this.icon.name, size: this.icon.size ??
256
+ Number(FIELD_LABEL_SIZE_MAP[(this.size in FIELD_LABEL_SIZE_MAP ? this.size : 'sm')].icon), color: this.icon.color, rotate: this.icon.rotate })), addon)), index.h("slot", { key: 'c523813390db6f6f4acce3ffb8377820ffb95fad' })), this.errorMsg !== '' || this.errorMessage !== '' ? (index.h("div", { class: "sd-field__error-message" }, this.errorMsg !== '' ? this.errorMsg : this.errorMessage)) : (this.hint !== '' && index.h("div", { class: "sd-field__hint" }, this.hint))))));
234
257
  }
235
258
  renderLabel(label) {
236
259
  if (label == null || label === '')
@@ -249,12 +272,19 @@ const SdFloatingPopover = class {
249
272
  this.close = index.createEvent(this, "sdClose", 7);
250
273
  }
251
274
  get el() { return index.getElement(this); }
275
+ /** 포탈 콘텐츠를 마운트할 대상 (CSS 선택자 또는 HTMLElement) */
252
276
  to = 'body';
277
+ /** 위치 기준이 되는 부모 엘리먼트 */
253
278
  parentRef = null;
279
+ /** [x, y] 오프셋 (px) */
254
280
  offset = [0, 0];
255
- zIndex = 998;
281
+ /** z-index */
282
+ zIndex = 996;
283
+ /** 콘텐츠를 표시할 방향 */
256
284
  placement = 'bottom';
285
+ /** 표시 여부 */
257
286
  open = false;
287
+ /** 외부 클릭 등으로 닫힐 때 발생합니다. */
258
288
  close;
259
289
  container;
260
290
  wrapper;
@@ -309,11 +339,25 @@ const SdFloatingPopover = class {
309
339
  const el = typeof this.to === 'string' ? document.querySelector(this.to) : this.to;
310
340
  return el instanceof HTMLElement ? el : document.body;
311
341
  }
342
+ /**
343
+ * 트리거(parentRef)가 모달 내부에 있으면 해당 모달보다 위에, 아니면 페이지 기본값에 둔다.
344
+ * 페이지 기본값(996)은 모달(997)보다 낮아, 모달 뒤의 페이지 포털이 모달 위로 떠오르지 않는다.
345
+ */
346
+ resolveZIndex() {
347
+ const base = this.zIndex ?? 996;
348
+ const layer = this.parentRef?.closest('.sd-modal-container__layer');
349
+ if (!layer)
350
+ return base;
351
+ const container = layer.closest('.sd-modal-container');
352
+ const z = container instanceof HTMLElement ? parseInt(getComputedStyle(container).zIndex, 10) : NaN;
353
+ const modalZIndex = Number.isFinite(z) ? z : 997;
354
+ return Math.max(base, modalZIndex + 1);
355
+ }
312
356
  createWrapper() {
313
357
  this.wrapper = document.createElement('div');
314
358
  Object.assign(this.wrapper.style, {
315
359
  position: 'fixed',
316
- zIndex: (this.zIndex ?? 998).toString(),
360
+ zIndex: this.resolveZIndex().toString(),
317
361
  transition: 'opacity 0.4s',
318
362
  top: '-9999px',
319
363
  left: '-9999px',
@@ -400,7 +444,7 @@ const SdFloatingPopover = class {
400
444
  }
401
445
  }
402
446
  render() {
403
- return index.h("slot", { key: '77829bed54180a72d233738d1f82d9996ae29cae' });
447
+ return index.h("slot", { key: 'ee2a502ac1c924abb9be9fae19b4450659515c15' });
404
448
  }
405
449
  };
406
450
  SdFloatingPopover.style = sdFloatingPortalCss();
@@ -437,19 +481,33 @@ const SdTooltip = class {
437
481
  index.registerInstance(this, hostRef);
438
482
  }
439
483
  get el() { return index.getElement(this); }
484
+ /** 툴팁 트리거 방식 */
440
485
  trigger = 'hover';
486
+ /** 툴팁 표시 방향 */
441
487
  placement = 'top';
488
+ /** 아이콘 트리거 색상 */
442
489
  color = '#01BB4B';
490
+ /** 툴팁 배경/텍스트 색상 타입 */
443
491
  tooltipType = 'default';
492
+ /** 아이콘 트리거 아이콘명 */
444
493
  icon = 'helpOutline';
494
+ /** 아이콘 트리거 크기 */
445
495
  iconSize = 12;
496
+ /** 버튼 트리거 레이블 (있으면 아이콘 대신 버튼 렌더링) */
446
497
  label = '';
498
+ /** 버튼 트리거 프리셋 */
447
499
  name = 'primary_sm';
500
+ /** 버튼 트리거 우측 아이콘 */
448
501
  rightIcon;
502
+ /** 스크린리더용 접근성 레이블 */
449
503
  ariaLabel = '';
504
+ /** 비활성 상태 여부 */
450
505
  disabled = false;
506
+ /** 버튼 type 속성 */
451
507
  type = 'button';
508
+ /** 툴팁 우측 상단 닫기 버튼 표시 여부 */
452
509
  useClose = false;
510
+ /** 트리거 래퍼(.sd-tooltip-trigger)에 추가할 클래스 */
453
511
  sdClass = '';
454
512
  /**
455
513
  * 툴팁 본문에 표시할 메시지. 각 항목이 한 줄로 innerHTML 렌더링됩니다.
@@ -562,7 +620,7 @@ const SdTooltip = class {
562
620
  const bodyHTML = this.message && this.message.length > 0
563
621
  ? this.message.map(line => `<div>${line}</div>`).join('')
564
622
  : this.slotContentHTML;
565
- return (index.h(index.Fragment, { key: 'da2904e5cc41627283ff383366548453ef892dbc' }, index.h("div", { key: 'e94184fa6a51524f0dc5d3ba0610a3fa63663b4f', ref: el => (this.triggerEl = el), class: triggerClasses, ...divTrigger }, anchorMode ? (index.h("slot", { name: "anchor" })) : hasLabel ? (index.h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-tooltip", ...buttonClickTrigger })) : (index.h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: this.iconSize ?? 12, color: color, class: "sd-tooltip" }))), this.showTooltip && (index.h("sd-floating-portal", { key: '52b86274d938e67a89018839812b4d26108f0921', parentRef: anchorMode ? this.triggerEl : this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.tooltipOffset }, index.h("div", { key: '177149d153ca4659a1dc4b71cd9d98cf36e19cd9', ref: el => (this.menuEl = el), class: {
623
+ return (index.h(index.Fragment, { key: 'c5a5c69267ac8a7d7f06324a63b6410092b84f04' }, index.h("div", { key: 'f7323385e1b2e6ef4199c6318bdc55984182d3da', ref: el => (this.triggerEl = el), class: triggerClasses, ...divTrigger }, anchorMode ? (index.h("slot", { name: "anchor" })) : hasLabel ? (index.h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-tooltip", ...buttonClickTrigger })) : (index.h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: this.iconSize ?? 12, color: color, class: "sd-tooltip" }))), this.showTooltip && (index.h("sd-floating-portal", { key: '0ba07ee2a20862df43755264d9390b3229da57e6', parentRef: anchorMode ? this.triggerEl : this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.tooltipOffset }, index.h("div", { key: 'f92217cb8cca4d1467cbeac7b36f9a00f28babd3', ref: el => (this.menuEl = el), class: {
566
624
  'sd-floating-menu': true,
567
625
  [`sd-floating-menu--${tooltipType}`]: true,
568
626
  [`sd-floating-menu--${placement}`]: true,
@@ -570,7 +628,7 @@ const SdTooltip = class {
570
628
  }, style: {
571
629
  '--sd-floating-bg': typeConfig.bg,
572
630
  '--sd-floating-content': typeConfig.content,
573
- }, onMouseEnter: () => this.openTooltip(), onMouseLeave: () => !this.useClose && this.startHideTimer() }, index.h("i", { key: '6412bc25156af7a4bc276bc29f46458df7ac123b', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, index.h(tooltipArrow.TooltipArrow, { key: 'af6b98e12d0ce7816b9888614d7f70e93c9accd6' })), index.h("div", { key: '4b3bdb5eda8a67374a68e2ef3dbc51d630720c08', class: "sd-floating-menu__content", innerHTML: bodyHTML }), this.useClose && (index.h("sd-ghost-button", { key: '2bbe32da05ec4e84dba7b00d12826d9fb2492dfe', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xxs", onClick: () => this.closeTooltip() })))))));
631
+ }, onMouseEnter: () => this.openTooltip(), onMouseLeave: () => !this.useClose && this.startHideTimer() }, index.h("i", { key: '6d7671dbac4fa026788f0804df4a97ca86c492c1', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, index.h(tooltipArrow.TooltipArrow, { key: '31321fbfef392af0fa64111a32c3ecd6c6144d35' })), index.h("div", { key: '67e54a935c9f684d713ab943e7049737d5a8596a', class: "sd-floating-menu__content", innerHTML: bodyHTML }), this.useClose && (index.h("sd-ghost-button", { key: '355101a4efed88fbb687e1f972f88b6dfb4be309', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xxs", onClick: () => this.closeTooltip() })))))));
574
632
  }
575
633
  };
576
634
  SdTooltip.style = sdTooltipCss();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DXm0PH2A.js');
3
+ var index = require('./index-C-F-JEv_.js');
4
4
 
5
5
  const SdForm = class {
6
6
  constructor(hostRef) {
@@ -8,9 +8,12 @@ const SdForm = class {
8
8
  this.sdSubmit = index.createEvent(this, "sdSubmit", 7);
9
9
  this.sdValidationError = index.createEvent(this, "sdValidationError", 7);
10
10
  }
11
+ /** form 엘리먼트에 추가할 클래스 */
11
12
  formClass = '';
12
13
  fields = [];
14
+ /** 유효성 검사 통과 후 submit 시 발생합니다. */
13
15
  sdSubmit;
16
+ /** 유효성 검사 실패 시 실패한 필드 name 목록을 전달합니다. */
14
17
  sdValidationError;
15
18
  sortFieldsByDomOrder() {
16
19
  this.fields.sort((a, b) => {
@@ -28,6 +31,7 @@ const SdForm = class {
28
31
  return 0;
29
32
  });
30
33
  }
34
+ /** 폼에 필드를 등록합니다. */
31
35
  async sdRegisterField(field) {
32
36
  if (field.name === '') {
33
37
  console.warn('[sd-form] field.name is required');
@@ -38,6 +42,7 @@ const SdForm = class {
38
42
  this.fields.push(field);
39
43
  this.sortFieldsByDomOrder();
40
44
  }
45
+ /** 폼에서 필드를 제거합니다. */
41
46
  async sdUnregisterField(fieldOrName) {
42
47
  if (typeof fieldOrName === 'string') {
43
48
  const index = this.fields.findIndex(field => field.name === fieldOrName);
@@ -58,13 +63,16 @@ const SdForm = class {
58
63
  }
59
64
  return { valid: invalidFields.length === 0, invalidFields };
60
65
  }
66
+ /** 모든 등록된 필드의 유효성 검사를 실행합니다. */
61
67
  async sdValidate() {
62
68
  const { valid } = await this.runValidation();
63
69
  return valid;
64
70
  }
71
+ /** 모든 필드의 값과 유효성 상태를 초기화합니다. */
65
72
  async sdReset() {
66
73
  this.fields.forEach(f => f.sdReset());
67
74
  }
75
+ /** 모든 필드의 유효성 상태만 초기화합니다. */
68
76
  async sdResetValidation() {
69
77
  this.fields.forEach(f => f.sdResetValidation());
70
78
  }
@@ -78,7 +86,7 @@ const SdForm = class {
78
86
  this.sdSubmit.emit();
79
87
  }
80
88
  render() {
81
- return (index.h("form", { key: 'd64dc85bce08da6a18f7dac5038a89f8bd7b5f01', onSubmit: e => this.onSubmit(e), class: this.formClass }, index.h("slot", { key: 'a0c6d177cc4c656369714ff0ebc5269255d2c2b5' })));
89
+ return (index.h("form", { key: 'f533f9dcf3a13e66d37644baa5217b90a67350a2', onSubmit: e => this.onSubmit(e), class: this.formClass }, index.h("slot", { key: '8a108703faeb2ed7d1e47a72b407b7a7fc88063d' })));
82
90
  }
83
91
  };
84
92
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DXm0PH2A.js');
3
+ var index = require('./index-C-F-JEv_.js');
4
4
 
5
5
  const ghostButton = {
6
6
  xxs: {
@@ -121,14 +121,21 @@ const SdGhostButton = class {
121
121
  index.registerInstance(this, hostRef);
122
122
  this.click = index.createEvent(this, "sdClick", 7);
123
123
  }
124
+ /** 버튼에 표시할 아이콘명 */
124
125
  icon;
126
+ /** 버튼 크기 */
125
127
  size = 'sm';
128
+ /** 버튼 색상 의도 */
126
129
  intent = 'default';
130
+ /** 스크린리더용 접근성 레이블 */
127
131
  ariaLabel = '';
132
+ /** 호버 시 표시할 툴팁 텍스트 */
128
133
  tooltipText;
134
+ /** 비활성 상태 여부 */
129
135
  disabled = false;
130
136
  get hostEl() { return index.getElement(this); }
131
137
  isTooltipOpen = false;
138
+ /** 버튼 클릭 시 발생합니다. */
132
139
  click;
133
140
  hasWarnedMissingAriaLabel = false;
134
141
  componentWillLoad() {
@@ -143,10 +150,18 @@ const SdGhostButton = class {
143
150
  }
144
151
  this.click.emit(event);
145
152
  };
146
- handleMouseEnter = () => { this.isTooltipOpen = true; };
147
- handleMouseLeave = () => { this.isTooltipOpen = false; };
148
- handleFocus = () => { this.isTooltipOpen = true; };
149
- handleBlur = () => { this.isTooltipOpen = false; };
153
+ handleMouseEnter = () => {
154
+ this.isTooltipOpen = true;
155
+ };
156
+ handleMouseLeave = () => {
157
+ this.isTooltipOpen = false;
158
+ };
159
+ handleFocus = () => {
160
+ this.isTooltipOpen = true;
161
+ };
162
+ handleBlur = () => {
163
+ this.isTooltipOpen = false;
164
+ };
150
165
  componentWillRender() {
151
166
  this.warnIfMissingAriaLabel();
152
167
  }
@@ -171,7 +186,7 @@ const SdGhostButton = class {
171
186
  const accessibleName = (this.ariaLabel ?? '').trim() || undefined;
172
187
  const tooltipText = (this.tooltipText ?? '').trim();
173
188
  const hasTooltip = tooltipText.length > 0;
174
- return (index.h("button", { key: '59b95275f6acd737d4b0d5c2187e1d40b3a6543f', class: {
189
+ return (index.h("button", { key: 'a49c5b93f4dfcd434c20225acae4c7454e8f8e4f', class: {
175
190
  'sd-ghost-button': true,
176
191
  'sd-ghost-button--disabled': this.disabled,
177
192
  }, type: "button", disabled: this.disabled, "aria-label": accessibleName, style: {
@@ -180,7 +195,7 @@ const SdGhostButton = class {
180
195
  '--sd-ghost-button-hover-bg': GHOST_BUTTON_HOVER_BG_COLORS[intent],
181
196
  '--sd-ghost-button-hover-opacity': GHOST_BUTTON_HOVER_OPACITY,
182
197
  '--sd-ghost-button-accent': GHOST_BUTTON_FOCUS_RING_COLOR,
183
- }, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && !this.disabled && (index.h("sd-portal", { key: 'd8ca94b6a931208c2c56eb2dbfee843935c6b666', parentRef: this.hostEl, open: true, offset: [sizeConfig.size / 2, 4], placement: "top" }, index.h("div", { key: '450d5dc528ad4eeb4a2a0d2920fe4553ab3f91f8', class: "sd-ghost-button__tooltip-inner", "aria-hidden": "true" }, index.h("sd-tag", { key: 'cc25d0e2794d3d4dc418b0c0aa1a57e4b76b56e1', name: "square_xs_grey", label: tooltipText })))), index.h("sd-icon", { key: 'bf9bf8bcc779011635fd34566ec7320d76f8d16b', name: this.icon, size: sizeConfig.icon, color: contentColor })));
198
+ }, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && !this.disabled && (index.h("sd-portal", { key: '36ef78d79a99da1fd26c282ef68293b9fb9f87b1', parentRef: this.hostEl, open: true, offset: [sizeConfig.size / 2, 4], placement: "top" }, index.h("div", { key: 'a0cf8b4e84a79841ab09e6a81ee6bcbfe57e6805', class: "sd-ghost-button__tooltip-inner", "aria-hidden": "true" }, index.h("sd-tag", { key: 'a263167142b891add0a32900504f541dcb3a4959', name: "square_xs_grey", label: tooltipText })))), index.h("sd-icon", { key: 'ba90e9b489b4f43577313052635db598e3d30037', name: this.icon, size: sizeConfig.icon, color: contentColor })));
184
199
  }
185
200
  };
186
201
  SdGhostButton.style = sdGhostButtonCss();
@@ -191,13 +206,21 @@ const SdPortal = class {
191
206
  this.close = index.createEvent(this, "sdClose", 3);
192
207
  }
193
208
  get hostEl() { return index.getElement(this); }
209
+ /** 포탈 콘텐츠를 마운트할 대상 (CSS 선택자 또는 HTMLElement) */
194
210
  to = 'body';
211
+ /** 위치 기준이 되는 부모 엘리먼트 */
195
212
  parentRef = null;
213
+ /** [x, y] 오프셋 (px) */
196
214
  offset = [0, 4];
215
+ /** 뷰포트 경계 여백 (px) */
197
216
  viewportPadding = 0;
198
- zIndex = 998;
217
+ /** z-index */
218
+ zIndex = 996;
219
+ /** 표시 여부 */
199
220
  open = false;
221
+ /** 콘텐츠를 표시할 방향 (공간이 부족하면 자동으로 반대 방향으로 전환) */
200
222
  placement = 'bottom';
223
+ /** 외부 클릭 등으로 닫힐 때 발생합니다. */
201
224
  close;
202
225
  container;
203
226
  wrapper;
@@ -236,13 +259,27 @@ const SdPortal = class {
236
259
  const el = typeof this.to === 'string' ? document.querySelector(this.to) : this.to;
237
260
  return el instanceof HTMLElement ? el : document.body;
238
261
  }
262
+ /**
263
+ * 트리거(parentRef)가 모달 내부에 있으면 해당 모달보다 위에, 아니면 페이지 기본값에 둔다.
264
+ * 페이지 기본값(996)은 모달(997)보다 낮아, 모달 뒤의 페이지 포털이 모달 위로 떠오르지 않는다.
265
+ */
266
+ resolveZIndex() {
267
+ const base = this.zIndex ?? 996;
268
+ const layer = this.parentRef?.closest('.sd-modal-container__layer');
269
+ if (!layer)
270
+ return base;
271
+ const container = layer.closest('.sd-modal-container');
272
+ const z = container instanceof HTMLElement ? parseInt(getComputedStyle(container).zIndex, 10) : NaN;
273
+ const modalZIndex = Number.isFinite(z) ? z : 997;
274
+ return Math.max(base, modalZIndex + 1);
275
+ }
239
276
  createWrapper() {
240
277
  this.wrapper = document.createElement('div');
241
278
  Object.assign(this.wrapper.style, {
242
279
  position: 'fixed',
243
280
  top: '0',
244
281
  left: '0',
245
- zIndex: (this.zIndex ?? 998).toString(),
282
+ zIndex: this.resolveZIndex().toString(),
246
283
  opacity: '0',
247
284
  transition: 'opacity 0.15s ease-out',
248
285
  boxSizing: 'border-box',
@@ -408,8 +445,7 @@ const SdPortal = class {
408
445
  return scrollParents;
409
446
  }
410
447
  isInsideTarget(target) {
411
- return !!((this.wrapper?.contains(target)) ||
412
- (this.parentRef?.contains(target)));
448
+ return !!(this.wrapper?.contains(target) || this.parentRef?.contains(target));
413
449
  }
414
450
  // 외부 클릭 감지
415
451
  handleMouseDown(e) {
@@ -425,7 +461,7 @@ const SdPortal = class {
425
461
  this.close.emit();
426
462
  }
427
463
  render() {
428
- return index.h("slot", { key: '911d01b26a26a4bb4d7c4a15b51755acb9615c3a' });
464
+ return index.h("slot", { key: 'e4523bbb6fd56072c4f5a4dc241ab8a3ac0ea1bf' });
429
465
  }
430
466
  static get watchers() { return {
431
467
  "open": [{
@@ -615,11 +651,14 @@ const SdTag = class {
615
651
  constructor(hostRef) {
616
652
  index.registerInstance(this, hostRef);
617
653
  }
654
+ /** 태그 프리셋 이름 */
618
655
  name = 'square_sm_grey';
656
+ /** 표시할 레이블 텍스트 */
619
657
  label = '';
658
+ /** 아이콘명 */
620
659
  icon;
621
660
  // 아이콘이 좌측 배치되는 게 자연스러운 default. prop 이름 변경(isRight 등)은 public API breaking 이라 별도 이슈로 분리.
622
- // eslint-disable-next-line stencil/ban-default-true
661
+ /** true이면 아이콘을 레이블 왼쪽에 배치 */
623
662
  isLeft = true;
624
663
  componentWillLoad() {
625
664
  this.name = this.name ?? 'square_sm_grey';
@@ -641,7 +680,7 @@ const SdTag = class {
641
680
  render() {
642
681
  const config = this.resolvedConfig;
643
682
  const iconNode = this.renderIcon(config.icon, config.iconSize);
644
- return (index.h("span", { key: '3117d8d5f3d9751dc193e426dbab7e0ead9fb369', class: "sd-tag", style: {
683
+ return (index.h("span", { key: '09cc181654983b64dec9860fdf656677ebcfcd15', class: "sd-tag", style: {
645
684
  '--sd-tag-background': config.background,
646
685
  '--sd-tag-content': config.content,
647
686
  '--sd-tag-height': config.height,
@@ -651,7 +690,7 @@ const SdTag = class {
651
690
  '--sd-tag-font-weight': config.fontWeight,
652
691
  '--sd-tag-line-height': config.lineHeight,
653
692
  '--sd-tag-radius': config.radius,
654
- }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, index.h("span", { key: '8c299f140dc5bd026ed52d3f0921939bbf69fdd5', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
693
+ }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, index.h("span", { key: '044ab51afc474799b400c608fd5531bed9a7ad18', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
655
694
  }
656
695
  };
657
696
  SdTag.style = sdTagCss();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DXm0PH2A.js');
3
+ var index = require('./index-C-F-JEv_.js');
4
4
  var system = require('./system-MjrAugX-.js');
5
5
  var sanitizeInlineHtml = require('./sanitize-inline-html-CRCAeQ46.js');
6
6
 
@@ -122,11 +122,17 @@ const SdGuide = class {
122
122
  index.registerInstance(this, hostRef);
123
123
  }
124
124
  get el() { return index.getElement(this); }
125
+ /** 가이드 타입 (tip: 팝업, notion: 외부 링크) */
125
126
  type = 'tip';
127
+ /** 버튼에 표시할 레이블 (없으면 type에 따른 기본값 사용) */
126
128
  label = '';
129
+ /** 팝업에 표시할 메시지 (배열이면 리스트로 렌더링) */
127
130
  message = '';
131
+ /** notion 타입일 때 클릭 시 이동할 URL */
128
132
  url = '';
133
+ /** 팝업 제목 (없으면 type에 따른 기본값 사용) */
129
134
  popupTitle = '';
135
+ /** 팝업 너비 (px, 없으면 426px) */
130
136
  popupWidth;
131
137
  popupShow = false;
132
138
  guideRef;
@@ -188,10 +194,10 @@ const SdGuide = class {
188
194
  const buttonClasses = ['sd-guide__button', `sd-guide__button--type-${this.type ?? 'tip'}`];
189
195
  if (isActive)
190
196
  buttonClasses.push('sd-guide__button--active');
191
- return (index.h("div", { key: 'ea4f220faf6165f7650360f74a19d9f781b81489', class: "sd-guide", style: this.guideStyle }, index.h("sd-button", { key: 'c90eaa6cc42a9a2f20b8fc79db16697db0cf2ff2', ref: el => (this.guideRef = el), class: buttonClasses.join(' '), name: isActive ? 'primary_sm' : 'neutral_outline_sm', label: this.label || defaultLabel, icon: iconName, onSdClick: this.handleClickGuide }), this.popupShow && (index.h("sd-portal", { key: '21f57a739141ffa36f3b799a2688ca5b3c1bd428', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, index.h("div", { key: '94e12fa797748a02334b97e13c5012ab95bc2bce', class: "sd-guide__popup", style: {
197
+ return (index.h("div", { key: 'd89a517d78a8f9624c94d320291e5a4b5bd0715d', class: "sd-guide", style: this.guideStyle }, index.h("sd-button", { key: '6e959f0f5fd6f816fd1cef4545852b860d30de85', ref: el => (this.guideRef = el), class: buttonClasses.join(' '), name: isActive ? 'primary_sm' : 'neutral_outline_sm', label: this.label || defaultLabel, icon: iconName, onSdClick: this.handleClickGuide }), this.popupShow && (index.h("sd-portal", { key: 'a837cababa5504400293729ad28e4dcd2450eeec', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, index.h("div", { key: '61dd3c574495f85021495d80865e162999368f9c', class: "sd-guide__popup", style: {
192
198
  ...this.guideStyle,
193
199
  width: this.popupWidth != null ? this.popupWidth + 'px' : '426px',
194
- } }, index.h("sd-ghost-button", { key: '6fc71032016e7a3be0581508ef0ecc6772981185', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), index.h("div", { key: '385c0c18bc888be6a654525dc6f4359a56ad6de9', class: "sd-guide__popup__header" }, index.h("sd-icon", { key: '34624d2ac3397ba15b2dc7ba23dc460a87cb878b', name: iconName, size: 24, color: popupIconColor }), index.h("h3", { key: 'dd3527ec329698b0fd1ec82f2a7d0cf5865802c2', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), index.h("ul", { key: '429357d0203acdf31177353ceb45d9ac41fadae7', class: "sd-guide__popup__list" }, this.renderListItem(this.message)))))));
200
+ } }, index.h("sd-ghost-button", { key: 'dbf8aebd1be4b5286bf726d22e0a5f80c29e867f', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), index.h("div", { key: '5a08fa823bb8839e654d7bb2ba027df2dc68b85b', class: "sd-guide__popup__header" }, index.h("sd-icon", { key: '1dda43d100b4f5f3b7fa81115a1ac4bfbd584a51', name: iconName, size: 24, color: popupIconColor }), index.h("h3", { key: 'cfe6342f44f4e1355397ed94d6db74807f917548', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), index.h("ul", { key: '9acc2f507ed3d3d6f1fda27a9e5cf66dcc2f619d', class: "sd-guide__popup__list" }, this.renderListItem(this.message)))))));
195
201
  }
196
202
  // 현재 2depth까지만 스타일 적용
197
203
  renderListItem(message, depth = 0) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DXm0PH2A.js');
3
+ var index = require('./index-C-F-JEv_.js');
4
4
  var system = require('./system-MjrAugX-.js');
5
5
  var component_table = require('./component.table-DIxmbGBT.js');
6
6
 
@@ -63,7 +63,9 @@ const SdKeyValueTable = class {
63
63
  * - 'full': 상하단 모두 radius 0 (요소 사이에 끼워 쓸 때)
64
64
  */
65
65
  radius = 'default';
66
+ /** 필드 값이 변경될 때 `{ name, value }` 형태로 발생합니다. */
66
67
  change;
68
+ /** search 패널의 검색 버튼 클릭 시 발생합니다. */
67
69
  searchEvent;
68
70
  emit = (name, value) => {
69
71
  this.change.emit({ name, value });