@sellmate/design-system 1.20.1 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/dist/cjs/design-system.cjs.js +1 -1
  2. package/dist/cjs/{index-DXm0PH2A.js → index-C-F-JEv_.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/sd-action-modal.cjs.entry.js +8 -2
  5. package/dist/cjs/sd-badge.cjs.entry.js +3 -2
  6. package/dist/cjs/sd-barcode-input.cjs.entry.js +35 -2
  7. package/dist/cjs/sd-button_2.cjs.entry.js +12 -3
  8. package/dist/cjs/sd-calendar_2.cjs.entry.js +17 -6
  9. package/dist/cjs/sd-callout.cjs.entry.js +4 -2
  10. package/dist/cjs/sd-card.cjs.entry.js +4 -2
  11. package/dist/cjs/sd-checkbox.cjs.entry.js +21 -12
  12. package/dist/cjs/sd-chip-input.cjs.entry.js +38 -4
  13. package/dist/cjs/sd-chip.cjs.entry.js +19 -2
  14. package/dist/cjs/sd-circle-progress.cjs.entry.js +6 -2
  15. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +27 -4
  16. package/dist/cjs/sd-date-box.cjs.entry.js +13 -3
  17. package/dist/cjs/sd-date-picker_7.cjs.entry.js +209 -13
  18. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +7 -2
  19. package/dist/cjs/sd-divider.cjs.entry.js +1 -1
  20. package/dist/cjs/sd-dropdown-button.cjs.entry.js +11 -1
  21. package/dist/cjs/sd-field_3.cjs.entry.js +70 -12
  22. package/dist/cjs/sd-form.cjs.entry.js +10 -2
  23. package/dist/cjs/sd-ghost-button_3.cjs.entry.js +54 -15
  24. package/dist/cjs/sd-guide.cjs.entry.js +9 -3
  25. package/dist/cjs/sd-key-value-table.cjs.entry.js +3 -1
  26. package/dist/cjs/sd-linear-progress.cjs.entry.js +7 -4
  27. package/dist/cjs/sd-loading-container.cjs.entry.js +5 -3
  28. package/dist/cjs/sd-modal-container.cjs.entry.js +7 -1
  29. package/dist/cjs/sd-pagination_4.cjs.entry.js +38 -9
  30. package/dist/cjs/sd-popover.cjs.entry.js +21 -5
  31. package/dist/cjs/sd-popup.cjs.entry.js +7 -3
  32. package/dist/cjs/sd-radio-button.cjs.entry.js +8 -2
  33. package/dist/cjs/sd-radio.cjs.entry.js +7 -2
  34. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +18 -7
  35. package/dist/cjs/sd-select_3.cjs.entry.js +56 -9
  36. package/dist/cjs/sd-switch.cjs.entry.js +6 -2
  37. package/dist/cjs/sd-table.cjs.entry.js +42 -7
  38. package/dist/cjs/sd-tabs.cjs.entry.js +8 -2
  39. package/dist/cjs/sd-td.cjs.entry.js +11 -2
  40. package/dist/cjs/sd-text-link.cjs.entry.js +13 -4
  41. package/dist/cjs/sd-toast-container.cjs.entry.js +11 -2
  42. package/dist/cjs/sd-toast.cjs.entry.js +12 -3
  43. package/dist/cjs/sd-toggle.cjs.entry.js +6 -2
  44. package/dist/cjs/{tooltipArrow-D3P3JC08.js → tooltipArrow-26hYtSrD.js} +1 -1
  45. package/dist/collection/components/sd-action-modal/sd-action-modal.js +13 -7
  46. package/dist/collection/components/sd-badge/sd-badge.js +3 -2
  47. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +67 -34
  48. package/dist/collection/components/sd-button/sd-button.js +18 -10
  49. package/dist/collection/components/sd-calendar/sd-calendar.js +15 -9
  50. package/dist/collection/components/sd-callout/sd-callout.js +5 -3
  51. package/dist/collection/components/sd-card/sd-card.js +5 -3
  52. package/dist/collection/components/sd-checkbox/sd-checkbox.config.js +5 -3
  53. package/dist/collection/components/sd-checkbox/sd-checkbox.css +16 -0
  54. package/dist/collection/components/sd-checkbox/sd-checkbox.js +5 -3
  55. package/dist/collection/components/sd-chip/sd-chip.js +35 -18
  56. package/dist/collection/components/sd-chip-input/sd-chip-input.css +1 -0
  57. package/dist/collection/components/sd-chip-input/sd-chip-input.js +69 -35
  58. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +9 -5
  59. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +32 -17
  60. package/dist/collection/components/sd-date-box/sd-date-box.js +22 -12
  61. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +12 -7
  62. package/dist/collection/components/sd-date-picker/sd-date-picker.js +48 -25
  63. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +11 -6
  64. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +50 -26
  65. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +20 -10
  66. package/dist/collection/components/sd-field/sd-field.js +51 -28
  67. package/dist/collection/components/sd-file-picker/sd-file-picker.js +60 -30
  68. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +32 -11
  69. package/dist/collection/components/sd-form/sd-form.js +17 -9
  70. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +28 -13
  71. package/dist/collection/components/sd-guide/sd-guide.js +14 -8
  72. package/dist/collection/components/sd-icon/sd-icon.js +2 -1
  73. package/dist/collection/components/sd-input/sd-input.js +82 -42
  74. package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +4 -2
  75. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +10 -7
  76. package/dist/collection/components/sd-loading-container/sd-loading-container.js +6 -4
  77. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +17 -9
  78. package/dist/collection/components/sd-modal-container/sd-modal-container.js +12 -6
  79. package/dist/collection/components/sd-number-input/sd-number-input.js +82 -43
  80. package/dist/collection/components/sd-pagination/sd-pagination.js +11 -7
  81. package/dist/collection/components/sd-popover/sd-popover.js +35 -19
  82. package/dist/collection/components/sd-popup/sd-popup.js +11 -7
  83. package/dist/collection/components/sd-portal/sd-portal.js +35 -14
  84. package/dist/collection/components/sd-radio/sd-radio.js +11 -6
  85. package/dist/collection/components/sd-radio-button/sd-radio-button.js +13 -7
  86. package/dist/collection/components/sd-radio-group/sd-radio-group.js +13 -7
  87. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +16 -9
  88. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +12 -8
  89. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +22 -12
  90. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +18 -10
  91. package/dist/collection/components/sd-select/sd-select.js +62 -33
  92. package/dist/collection/components/sd-switch/sd-switch.js +9 -5
  93. package/dist/collection/components/sd-table/sd-table.js +76 -41
  94. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +4 -3
  95. package/dist/collection/components/sd-table/sd-td/sd-td.js +19 -10
  96. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +29 -16
  97. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +22 -11
  98. package/dist/collection/components/sd-tabs/sd-tabs.js +13 -7
  99. package/dist/collection/components/sd-tag/sd-tag.js +10 -7
  100. package/dist/collection/components/sd-text-link/sd-text-link.js +21 -12
  101. package/dist/collection/components/sd-textarea/sd-textarea.js +69 -35
  102. package/dist/collection/components/sd-toast/sd-toast.js +20 -11
  103. package/dist/collection/components/sd-toast-container/sd-toast-container.js +19 -10
  104. package/dist/collection/components/sd-toggle/sd-toggle.js +9 -5
  105. package/dist/collection/components/sd-tooltip/sd-tooltip.js +30 -16
  106. package/dist/components/index.js +1 -1
  107. package/dist/components/{p-D99vy8Ip.js → p-4MIzxb0h.js} +1 -1
  108. package/dist/components/{p-CQozoo2-.js → p-B-Igud6n.js} +1 -1
  109. package/dist/components/{p-CoqA9KgU.js → p-B5VNSTAf.js} +1 -1
  110. package/dist/components/{p-DertIGhs.js → p-B76pFg6k.js} +1 -1
  111. package/dist/components/{p-MJG6EZeP.js → p-BFlmHQm9.js} +1 -1
  112. package/dist/components/{p-Rwc_ltPn.js → p-BIHVGo10.js} +1 -1
  113. package/dist/components/{p-uSEbiD29.js → p-BQQC-6k4.js} +1 -1
  114. package/dist/{design-system/p-L_He_WSA.js → components/p-BRmilX-4.js} +1 -1
  115. package/dist/components/{p-CZfsknba.js → p-BVlg0BoC.js} +1 -1
  116. package/dist/components/{p-CRwvv7YM.js → p-BjSMh85k.js} +1 -1
  117. package/dist/components/{p-gOIeNT-Z.js → p-BrHnpCXR.js} +1 -1
  118. package/dist/components/{p-Bz93hWXV.js → p-Btj50AUe.js} +1 -1
  119. package/dist/components/{p-CLlAhEDc.js → p-BzsHwLh6.js} +1 -1
  120. package/dist/components/{p-9Z-q6kKD.js → p-C1QezE7u.js} +1 -1
  121. package/dist/components/{p-Dl89_4C3.js → p-C3mTIE8H.js} +1 -1
  122. package/dist/components/{p-CTPImLDQ.js → p-CBDBmMmw.js} +1 -1
  123. package/dist/components/p-CCCwPJ5p.js +1 -0
  124. package/dist/components/p-CEKu7cxA.js +1 -0
  125. package/dist/components/{p-5imde6N9.js → p-CTw1Deo8.js} +1 -1
  126. package/dist/components/p-CTxZT3Je.js +1 -0
  127. package/dist/components/{p-CB2A3pJ5.js → p-CZYTZeMe.js} +1 -1
  128. package/dist/components/{p-BZfVV3gu.js → p-CcwzTAJC.js} +1 -1
  129. package/dist/components/p-Cj_1bYZF.js +1 -0
  130. package/dist/components/{p-B5bya7Gp.js → p-Cugxp5lo.js} +1 -1
  131. package/dist/components/{p-CUR9smP5.js → p-D4zy1T3V.js} +1 -1
  132. package/dist/components/{p-BjcGzaFR.js → p-DC5W8Uy1.js} +1 -1
  133. package/dist/components/{p-DDAA-zcg.js → p-DIc8C633.js} +1 -1
  134. package/dist/components/{p-DIlNesBH.js → p-DJY7lCe4.js} +1 -1
  135. package/dist/components/{p-CrT06Uwc.js → p-DPXOBYhf.js} +1 -1
  136. package/dist/components/{p-BiBLp9_a.js → p-DU0IkIvI.js} +1 -1
  137. package/dist/components/{p-DZTxHJlP.js → p-DZikCqcw.js} +1 -1
  138. package/dist/components/{p-DNnI3Nru.js → p-Dz7VXmIA.js} +1 -1
  139. package/dist/components/p-FA9fGvbL.js +1 -0
  140. package/dist/components/p-S2-XqY2R.js +1 -0
  141. package/dist/components/{p-ZvI5A-_t.js → p-YpyfqzoP.js} +1 -1
  142. package/dist/components/{p-CJ69QmR3.js → p-l7TaS8q9.js} +1 -1
  143. package/dist/components/{p-FTvXz0-a.js → p-s_75vJTu.js} +1 -1
  144. package/dist/components/sd-action-modal.js +1 -1
  145. package/dist/components/sd-badge.js +1 -1
  146. package/dist/components/sd-barcode-input.js +1 -1
  147. package/dist/components/sd-button.js +1 -1
  148. package/dist/components/sd-calendar.js +1 -1
  149. package/dist/components/sd-callout.js +1 -1
  150. package/dist/components/sd-card.js +1 -1
  151. package/dist/components/sd-checkbox.js +1 -1
  152. package/dist/components/sd-chip-input.js +1 -1
  153. package/dist/components/sd-chip.js +1 -1
  154. package/dist/components/sd-circle-progress.js +1 -1
  155. package/dist/components/sd-confirm-modal.js +1 -1
  156. package/dist/components/sd-date-box.js +1 -1
  157. package/dist/components/sd-date-picker-trigger.js +1 -1
  158. package/dist/components/sd-date-picker.js +1 -1
  159. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  160. package/dist/components/sd-date-range-picker.js +1 -1
  161. package/dist/components/sd-divider.js +1 -1
  162. package/dist/components/sd-dropdown-button.js +1 -1
  163. package/dist/components/sd-field.js +1 -1
  164. package/dist/components/sd-file-picker.js +1 -1
  165. package/dist/components/sd-floating-portal.js +1 -1
  166. package/dist/components/sd-form.js +1 -1
  167. package/dist/components/sd-ghost-button.js +1 -1
  168. package/dist/components/sd-guide.js +1 -1
  169. package/dist/components/sd-icon.js +1 -1
  170. package/dist/components/sd-input.js +1 -1
  171. package/dist/components/sd-key-value-table.js +1 -1
  172. package/dist/components/sd-linear-progress.js +1 -1
  173. package/dist/components/sd-loading-container.js +1 -1
  174. package/dist/components/sd-loading-modal.js +1 -1
  175. package/dist/components/sd-modal-container.js +1 -1
  176. package/dist/components/sd-number-input.js +1 -1
  177. package/dist/components/sd-pagination.js +1 -1
  178. package/dist/components/sd-popover.js +1 -1
  179. package/dist/components/sd-popup.js +1 -1
  180. package/dist/components/sd-portal.js +1 -1
  181. package/dist/components/sd-radio-button.js +1 -1
  182. package/dist/components/sd-radio-group.js +1 -1
  183. package/dist/components/sd-radio.js +1 -1
  184. package/dist/components/sd-select-list-item-search.js +1 -1
  185. package/dist/components/sd-select-list-item.js +1 -1
  186. package/dist/components/sd-select-listbox.js +1 -1
  187. package/dist/components/sd-select-trigger.js +1 -1
  188. package/dist/components/sd-select.js +1 -1
  189. package/dist/components/sd-switch.js +1 -1
  190. package/dist/components/sd-table.js +1 -1
  191. package/dist/components/sd-tabs.js +1 -1
  192. package/dist/components/sd-tag.js +1 -1
  193. package/dist/components/sd-tbody.js +1 -1
  194. package/dist/components/sd-td.js +1 -1
  195. package/dist/components/sd-text-link.js +1 -1
  196. package/dist/components/sd-textarea.js +1 -1
  197. package/dist/components/sd-thead.js +1 -1
  198. package/dist/components/sd-toast-container.js +1 -1
  199. package/dist/components/sd-toast.js +1 -1
  200. package/dist/components/sd-toggle.js +1 -1
  201. package/dist/components/sd-tooltip.js +1 -1
  202. package/dist/components/sd-tr.js +1 -1
  203. package/dist/design-system/design-system.css +1 -1
  204. package/dist/design-system/design-system.esm.js +1 -1
  205. package/dist/design-system/p-0f35cd21.entry.js +1 -0
  206. package/dist/design-system/{p-e9d1dbb5.entry.js → p-274dbc65.entry.js} +1 -1
  207. package/dist/design-system/{p-b291baab.entry.js → p-2ba0b35a.entry.js} +1 -1
  208. package/dist/design-system/{p-52f551a1.entry.js → p-2ca4902b.entry.js} +1 -1
  209. package/dist/design-system/p-2df32f8c.entry.js +1 -0
  210. package/dist/design-system/{p-cb80327c.entry.js → p-35da166a.entry.js} +1 -1
  211. package/dist/design-system/p-35e1e2fa.entry.js +1 -0
  212. package/dist/design-system/{p-6ce68bf2.entry.js → p-4bc0ce52.entry.js} +1 -1
  213. package/dist/design-system/p-4c1559c8.entry.js +1 -0
  214. package/dist/design-system/{p-9c38ee79.entry.js → p-4e44b45b.entry.js} +1 -1
  215. package/dist/design-system/{p-da4e2674.entry.js → p-4eeca0cb.entry.js} +1 -1
  216. package/dist/design-system/{p-646a7830.entry.js → p-4f69fde0.entry.js} +1 -1
  217. package/dist/design-system/{p-ccf1a3fc.entry.js → p-50b5cf37.entry.js} +1 -1
  218. package/dist/design-system/p-52e88677.entry.js +1 -0
  219. package/dist/design-system/{p-4acfc5f9.entry.js → p-552acf98.entry.js} +1 -1
  220. package/dist/design-system/{p-23006577.entry.js → p-563a8242.entry.js} +1 -1
  221. package/dist/design-system/{p-e3990243.entry.js → p-68687503.entry.js} +1 -1
  222. package/dist/design-system/{p-1f3c1cca.entry.js → p-6d8a4a23.entry.js} +1 -1
  223. package/dist/design-system/{p-d5032f31.entry.js → p-7c507d39.entry.js} +1 -1
  224. package/dist/design-system/{p-717eba5f.entry.js → p-88926a42.entry.js} +1 -1
  225. package/dist/design-system/{p-35d390f1.entry.js → p-90436be8.entry.js} +1 -1
  226. package/dist/design-system/{p-9289eb14.entry.js → p-99f33027.entry.js} +1 -1
  227. package/dist/design-system/{p-c47198fc.entry.js → p-9a010c12.entry.js} +1 -1
  228. package/dist/design-system/{p-54853a2b.entry.js → p-9dc0c2f9.entry.js} +1 -1
  229. package/dist/{components/p-Bg9XySrz.js → design-system/p-C7HJ-NfO.js} +2 -1
  230. package/dist/{components/p-0VCXAYrh.js → design-system/p-DUyBmuH_.js} +1 -1
  231. package/dist/design-system/{p-d5c3bac9.entry.js → p-a71a8b31.entry.js} +1 -1
  232. package/dist/design-system/{p-a4331364.entry.js → p-a80cc067.entry.js} +1 -1
  233. package/dist/design-system/{p-ae344950.entry.js → p-abcc9367.entry.js} +1 -1
  234. package/dist/design-system/p-ac81b46e.entry.js +1 -0
  235. package/dist/design-system/{p-08343698.entry.js → p-b881bbb6.entry.js} +1 -1
  236. package/dist/design-system/{p-2151e081.entry.js → p-bfba449b.entry.js} +1 -1
  237. package/dist/design-system/p-c684cd96.entry.js +1 -0
  238. package/dist/design-system/{p-b63b8df9.entry.js → p-c93c623f.entry.js} +1 -1
  239. package/dist/design-system/{p-98e0b332.entry.js → p-ccc85130.entry.js} +1 -1
  240. package/dist/design-system/{p-aa1c6202.entry.js → p-ce5df7ef.entry.js} +1 -1
  241. package/dist/design-system/{p-adfddf3b.entry.js → p-ce83eca1.entry.js} +1 -1
  242. package/dist/design-system/{p-7ed8c8f1.entry.js → p-d5b535ad.entry.js} +1 -1
  243. package/dist/design-system/{p-df7c721d.entry.js → p-e310f188.entry.js} +1 -1
  244. package/dist/design-system/{p-bdb7492c.entry.js → p-fc65bbe2.entry.js} +1 -1
  245. package/dist/design-system/{p-17dcf0e4.entry.js → p-fe5b8eaa.entry.js} +1 -1
  246. package/dist/design-system/{p-a5a586da.entry.js → p-ff726fad.entry.js} +1 -1
  247. package/dist/esm/design-system.js +2 -2
  248. package/dist/esm/{index-CAxodB5I.js → index-C7HJ-NfO.js} +1 -1
  249. package/dist/esm/loader.js +2 -2
  250. package/dist/esm/sd-action-modal.entry.js +8 -2
  251. package/dist/esm/sd-badge.entry.js +3 -2
  252. package/dist/esm/sd-barcode-input.entry.js +35 -2
  253. package/dist/esm/sd-button_2.entry.js +12 -3
  254. package/dist/esm/sd-calendar_2.entry.js +17 -6
  255. package/dist/esm/sd-callout.entry.js +4 -2
  256. package/dist/esm/sd-card.entry.js +4 -2
  257. package/dist/esm/sd-checkbox.entry.js +21 -12
  258. package/dist/esm/sd-chip-input.entry.js +38 -4
  259. package/dist/esm/sd-chip.entry.js +19 -2
  260. package/dist/esm/sd-circle-progress.entry.js +6 -2
  261. package/dist/esm/sd-confirm-modal_2.entry.js +27 -4
  262. package/dist/esm/sd-date-box.entry.js +13 -3
  263. package/dist/esm/sd-date-picker_7.entry.js +209 -13
  264. package/dist/esm/sd-date-range-picker-calendar.entry.js +7 -2
  265. package/dist/esm/sd-divider.entry.js +1 -1
  266. package/dist/esm/sd-dropdown-button.entry.js +11 -1
  267. package/dist/esm/sd-field_3.entry.js +70 -12
  268. package/dist/esm/sd-form.entry.js +10 -2
  269. package/dist/esm/sd-ghost-button_3.entry.js +54 -15
  270. package/dist/esm/sd-guide.entry.js +9 -3
  271. package/dist/esm/sd-key-value-table.entry.js +3 -1
  272. package/dist/esm/sd-linear-progress.entry.js +7 -4
  273. package/dist/esm/sd-loading-container.entry.js +5 -3
  274. package/dist/esm/sd-modal-container.entry.js +7 -1
  275. package/dist/esm/sd-pagination_4.entry.js +38 -9
  276. package/dist/esm/sd-popover.entry.js +21 -5
  277. package/dist/esm/sd-popup.entry.js +7 -3
  278. package/dist/esm/sd-radio-button.entry.js +8 -2
  279. package/dist/esm/sd-radio.entry.js +7 -2
  280. package/dist/esm/sd-select-list-item_2.entry.js +18 -7
  281. package/dist/esm/sd-select_3.entry.js +56 -9
  282. package/dist/esm/sd-switch.entry.js +6 -2
  283. package/dist/esm/sd-table.entry.js +42 -7
  284. package/dist/esm/sd-tabs.entry.js +8 -2
  285. package/dist/esm/sd-td.entry.js +11 -2
  286. package/dist/esm/sd-text-link.entry.js +13 -4
  287. package/dist/esm/sd-toast-container.entry.js +11 -2
  288. package/dist/esm/sd-toast.entry.js +12 -3
  289. package/dist/esm/sd-toggle.entry.js +6 -2
  290. package/dist/esm/{tooltipArrow-DLr6VvUK.js → tooltipArrow-Bgf3crs7.js} +1 -1
  291. package/dist/types/components/sd-action-modal/sd-action-modal.d.ts +6 -0
  292. package/dist/types/components/sd-badge/sd-badge.d.ts +1 -0
  293. package/dist/types/components/sd-barcode-input/sd-barcode-input.d.ts +33 -0
  294. package/dist/types/components/sd-button/sd-button.d.ts +8 -0
  295. package/dist/types/components/sd-calendar/sd-calendar.d.ts +6 -0
  296. package/dist/types/components/sd-callout/sd-callout.d.ts +2 -0
  297. package/dist/types/components/sd-card/sd-card.d.ts +2 -0
  298. package/dist/types/components/sd-checkbox/sd-checkbox.config.d.ts +2 -0
  299. package/dist/types/components/sd-chip/sd-chip.d.ts +17 -0
  300. package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +33 -0
  301. package/dist/types/components/sd-circle-progress/sd-circle-progress.d.ts +4 -0
  302. package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +15 -0
  303. package/dist/types/components/sd-date-box/sd-date-box.d.ts +10 -0
  304. package/dist/types/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.d.ts +5 -0
  305. package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +23 -0
  306. package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +5 -0
  307. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +24 -0
  308. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +10 -0
  309. package/dist/types/components/sd-field/sd-field.d.ts +23 -0
  310. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +30 -0
  311. package/dist/types/components/sd-floating-portal/sd-floating-portal.d.ts +12 -0
  312. package/dist/types/components/sd-form/sd-form.d.ts +8 -0
  313. package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +7 -0
  314. package/dist/types/components/sd-guide/sd-guide.d.ts +6 -0
  315. package/dist/types/components/sd-icon/sd-icon.d.ts +1 -0
  316. package/dist/types/components/sd-input/sd-input.d.ts +40 -0
  317. package/dist/types/components/sd-key-value-table/sd-key-value-table.d.ts +2 -0
  318. package/dist/types/components/sd-linear-progress/sd-linear-progress.d.ts +4 -0
  319. package/dist/types/components/sd-loading-container/sd-loading-container.d.ts +2 -0
  320. package/dist/types/components/sd-loading-modal/sd-loading-modal.d.ts +8 -0
  321. package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +6 -0
  322. package/dist/types/components/sd-number-input/sd-number-input.d.ts +39 -0
  323. package/dist/types/components/sd-pagination/sd-pagination.d.ts +4 -0
  324. package/dist/types/components/sd-popover/sd-popover.d.ts +16 -0
  325. package/dist/types/components/sd-popup/sd-popup.d.ts +5 -0
  326. package/dist/types/components/sd-portal/sd-portal.d.ts +13 -0
  327. package/dist/types/components/sd-radio/sd-radio.d.ts +5 -0
  328. package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +6 -0
  329. package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +6 -0
  330. package/dist/types/components/sd-select/sd-select-list-item/sd-select-list-item.d.ts +7 -0
  331. package/dist/types/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.d.ts +4 -0
  332. package/dist/types/components/sd-select/sd-select-listbox/sd-select-listbox.d.ts +10 -0
  333. package/dist/types/components/sd-select/sd-select-trigger/sd-select-trigger.d.ts +8 -0
  334. package/dist/types/components/sd-select/sd-select.d.ts +29 -0
  335. package/dist/types/components/sd-switch/sd-switch.d.ts +4 -0
  336. package/dist/types/components/sd-table/sd-table.d.ts +35 -0
  337. package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +1 -0
  338. package/dist/types/components/sd-table/sd-td/sd-td.d.ts +9 -0
  339. package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +13 -0
  340. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +11 -0
  341. package/dist/types/components/sd-tabs/sd-tabs.d.ts +6 -0
  342. package/dist/types/components/sd-tag/sd-tag.d.ts +4 -0
  343. package/dist/types/components/sd-text-link/sd-text-link.d.ts +9 -0
  344. package/dist/types/components/sd-textarea/sd-textarea.d.ts +34 -0
  345. package/dist/types/components/sd-toast/sd-toast.d.ts +9 -0
  346. package/dist/types/components/sd-toast-container/sd-toast-container.d.ts +9 -0
  347. package/dist/types/components/sd-toggle/sd-toggle.d.ts +4 -0
  348. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +14 -0
  349. package/dist/types/components.d.ts +1827 -7
  350. package/hydrate/index.js +823 -124
  351. package/hydrate/index.mjs +823 -124
  352. package/package.json +1 -1
  353. package/dist/components/p-B7PHGGFH.js +0 -1
  354. package/dist/components/p-CXeOxSQ-.js +0 -1
  355. package/dist/components/p-CvSqieCH.js +0 -1
  356. package/dist/components/p-P2jWtk8J.js +0 -1
  357. package/dist/components/p-xkRWGISE.js +0 -1
  358. package/dist/design-system/p-316b8a08.entry.js +0 -1
  359. package/dist/design-system/p-5039241c.entry.js +0 -1
  360. package/dist/design-system/p-5eaa12af.entry.js +0 -1
  361. package/dist/design-system/p-CAxodB5I.js +0 -2
  362. package/dist/design-system/p-c995e6c3.entry.js +0 -1
  363. package/dist/design-system/p-eef6d4a3.entry.js +0 -1
  364. package/dist/design-system/p-faf7b64c.entry.js +0 -1
  365. package/dist/design-system/p-fd7abbfa.entry.js +0 -1
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, F as Fragment } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, c as createEvent, h, F as Fragment } from './index-C7HJ-NfO.js';
2
2
  import { u as useDatePicker, t as today, W as WEEK_LABELS, C as CALENDAR_LAYOUT } from './useDatePicker-DoUg--aq.js';
3
3
  import { d as datepickerTokens } from './component.datepicker-laVsm9VM.js';
4
4
 
@@ -29,15 +29,20 @@ const SdDateRangePickerCalendar = class {
29
29
  this.select = createEvent(this, "sdSelect", 7);
30
30
  this.viewChange = createEvent(this, "sdViewChange", 7);
31
31
  }
32
+ /** 선택된 날짜 범위 [시작일, 종료일] */
32
33
  value = null;
34
+ /** 선택 가능한 날짜 범위 제한 */
33
35
  selectable;
36
+ /** 최대 선택 가능 일 수 */
34
37
  maxRange;
35
38
  currentYear;
36
39
  currentMonth;
37
40
  pendingStart = '';
38
41
  hoverDate = '';
39
42
  displayValue = null;
43
+ /** 날짜 범위 선택 시 발생합니다. */
40
44
  select;
45
+ /** 달력 뷰가 변경될 때 발생합니다. */
41
46
  viewChange;
42
47
  dateUtil = useDatePicker();
43
48
  componentWillLoad() {
@@ -265,7 +270,7 @@ const SdDateRangePickerCalendar = class {
265
270
  '--range-panel-gap': `${RANGE_LAYOUT.panelGap}px`,
266
271
  '--range-divider': RANGE_LAYOUT.divider,
267
272
  };
268
- return (h(Fragment, { key: 'd46df258093b5c57d1b958efb7e52cabd4cb1eb4' }, h("div", { key: '04fc01524115d9b57462ad1eaf9281fe1c63dd84', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), h("div", { key: '91428a1dd98b7a9c534b28a9cd683f35935dfee2', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), h("span", { key: '26d4f7e3391c50340e0f45f018b02d11ad7bd23b', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
273
+ return (h(Fragment, { key: '351cf65dcf32acba409f32c5bfa0681989093f32' }, h("div", { key: '99f29a4e401d2ebaea0ebb55c2a4e55d55f23a7f', class: "sd-date-range-picker-calendar", style: cssVars }, this.renderYearNav(), h("div", { key: '251fe254a39d7093633be176c413608abd3c47c1', class: "sd-date-range-picker-calendar__panels" }, this.renderPanel(this.currentYear, this.currentMonth, true), h("span", { key: 'fb69fea401d17f3862b4a21162747161246c42e2', class: "sd-date-range-picker-calendar__divider", "aria-hidden": "true" }), this.renderPanel(this.rightYear, this.rightMonth, false)))));
269
274
  }
270
275
  static get watchers() { return {
271
276
  "value": [{
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, h, H as Host } from './index-C7HJ-NfO.js';
2
2
  import { s as systemTokens } from './system-BJfiMC9H.js';
3
3
 
4
4
  const DIVIDER_COLORS = {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-C7HJ-NfO.js';
2
2
  import { s as sanitizeInlineHtml } from './sanitize-inline-html-BE4tnQ2Z.js';
3
3
  import { B as BUTTON_CONFIG, g as getPresetName, f as buttonTokens, d as PRESET_BORDER_COLORS$1, P as PRESET_ICON_COLORS$1, c as PRESET_TEXT_COLORS$1, e as PRESET_HOVER_BACKGROUNDS$1, b as BUTTON_FOCUS_RING_COLOR } from './sd-button.config-DjcjlPt7.js';
4
4
  import { s as systemTokens } from './system-BJfiMC9H.js';
@@ -166,10 +166,15 @@ const SdDropdownButton = class extends BaseDropdownEvent {
166
166
  this.dropDownShow = createEvent(this, "sdDropDownShow", 7);
167
167
  }
168
168
  get el() { return getElement(this); }
169
+ /** 버튼 프리셋 이름 (크기와 색상 조합) */
169
170
  name = 'primary_sm';
171
+ /** 버튼 레이블 */
170
172
  label = '';
173
+ /** 드롭다운 메뉴 아이템 목록 */
171
174
  items = [];
175
+ /** 비활성 상태 여부 */
172
176
  disabled = false;
177
+ /** 레이블 버튼과 드롭다운 토글을 분리하는 split 모드 여부 */
173
178
  split = false;
174
179
  static CLOSE_ANIMATION_DURATION = 150;
175
180
  isOpen = false;
@@ -179,8 +184,11 @@ const SdDropdownButton = class extends BaseDropdownEvent {
179
184
  splitContainerRef;
180
185
  menuRef;
181
186
  closeAnimationTimer;
187
+ /** 메뉴 아이템 선택 시 해당 아이템의 value를 전달합니다. */
182
188
  click;
189
+ /** split 모드에서 레이블 버튼 클릭 시 발생합니다. */
183
190
  buttonClick;
191
+ /** 드롭다운 열림/닫힘 상태 변경 시 발생합니다. */
184
192
  dropDownShow;
185
193
  handleOpenChange(isOpen) {
186
194
  this.onDropdownToggle(isOpen);
@@ -197,11 +205,13 @@ const SdDropdownButton = class extends BaseDropdownEvent {
197
205
  if (this.closeAnimationTimer)
198
206
  clearTimeout(this.closeAnimationTimer);
199
207
  }
208
+ /** 드롭다운 메뉴를 엽니다. */
200
209
  async sdOpen() {
201
210
  if (this.disabled || this.items.length === 0)
202
211
  return;
203
212
  this.isOpen = true;
204
213
  }
214
+ /** 드롭다운 메뉴를 닫습니다. */
205
215
  async sdClose() {
206
216
  this.closeDropdown();
207
217
  }
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, a as getElement, h, c as createEvent, F as Fragment } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, a as getElement, h, c as createEvent, F as Fragment } from './index-C7HJ-NfO.js';
2
2
  import { f as fieldTokens } from './component.field-BOJJ_sQS.js';
3
- import { T as TooltipArrow } from './tooltipArrow-DLr6VvUK.js';
3
+ import { T as TooltipArrow } from './tooltipArrow-Bgf3crs7.js';
4
4
 
5
5
  const FIELD_ADDON_ALIGN_MAP = {
6
6
  start: 'flex-start',
@@ -46,25 +46,44 @@ const SdField = class {
46
46
  registerInstance(this, hostRef);
47
47
  }
48
48
  get el() { return getElement(this); }
49
+ /** 폼 연동용 name 속성 */
49
50
  name = '';
51
+ /** 유효성 검사 규칙 목록 */
50
52
  rules = [];
53
+ /** 에러 상태 여부 */
51
54
  error = false;
55
+ /** 비활성 상태 여부 */
52
56
  disabled = false;
57
+ /** 읽기 전용 여부 */
53
58
  readonly = false;
59
+ /** 호버 상태 여부 */
54
60
  hovered = false;
61
+ /** 포커스 상태 여부 */
55
62
  focused = false;
63
+ /** 필드 상태 (없으면 rules 결과로 자동 결정) */
56
64
  status;
65
+ /** 필드 하단 힌트 텍스트 */
57
66
  hint = '';
67
+ /** 에러 메시지 */
58
68
  errorMessage = '';
69
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
59
70
  width = '';
71
+ /** 필드 크기 */
60
72
  size = 'sm';
61
73
  // props - label
74
+ /** 레이블 텍스트 */
62
75
  label = '';
76
+ /** 레이블 너비 */
63
77
  labelWidth = '';
78
+ /** 필드 우측 어드온 레이블 */
64
79
  addonLabel = '';
80
+ /** 어드온 정렬 방향 */
65
81
  addonAlign = 'start';
82
+ /** 레이블 영역 아이콘 */
66
83
  icon = undefined;
84
+ /** 레이블 툴팁 텍스트 */
67
85
  labelTooltip = '';
86
+ /** 레이블 툴팁 상세 옵션 */
68
87
  labelTooltipProps = null;
69
88
  errorMsg = '';
70
89
  hostElement = null;
@@ -129,6 +148,7 @@ const SdField = class {
129
148
  form.sdUnregisterField(this);
130
149
  });
131
150
  }
151
+ /** 유효성 검사를 실행합니다. */
132
152
  async sdValidate() {
133
153
  if (!this.rules || this.rules.length === 0)
134
154
  return true;
@@ -142,15 +162,18 @@ const SdField = class {
142
162
  this.setError(false, '');
143
163
  return true;
144
164
  }
165
+ /** 필드 값과 유효성 상태를 초기화합니다. */
145
166
  async sdReset() {
146
167
  if (this.hostElement) {
147
168
  this.hostElement.value = null;
148
169
  }
149
170
  this.setError(false, '');
150
171
  }
172
+ /** 유효성 상태만 초기화합니다. */
151
173
  async sdResetValidation() {
152
174
  this.setError(false, '');
153
175
  }
176
+ /** 필드에 포커스를 이동하고 스크롤합니다. */
154
177
  async sdFocus() {
155
178
  this.hostElement?.focus?.();
156
179
  this.hostElement?.scrollIntoView({ behavior: 'smooth', block: 'center' });
@@ -214,21 +237,21 @@ const SdField = class {
214
237
  : {}),
215
238
  }
216
239
  : {};
217
- return (h("div", { key: '76a1a2f41cafb2a665415f4e6e7bd9561aacb57f', class: {
240
+ return (h("div", { key: 'baf943d77385c9c02e2fe1d938f9622bd858129c', class: {
218
241
  'sd-field': true,
219
242
  'sd-field--has-label': this.label !== '',
220
243
  'sd-field--has-addon': addon !== '',
221
244
  [this.fieldStatus]: this.fieldStatus !== '',
222
- }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, h("div", { key: 'b4219a5e3e80ead00b0cb67d6c5c8a1b25e59f57', class: "sd-field__wrapper" }, this.renderLabel(this.label), h("div", { key: '91dd10be9bf9fe70615d6f4f0ee00601cab5ee4a', class: "sd-field__main", style: this.width !== '' && this.width !== 0
245
+ }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, h("div", { key: 'f5f204929ef4a4e1a260d7609bc00d9a1fe998f4', class: "sd-field__wrapper" }, this.renderLabel(this.label), h("div", { key: 'eff02956e5aae08691b2850bb0d1978865a446f9', class: "sd-field__main", style: this.width !== '' && this.width !== 0
223
246
  ? {
224
247
  width: typeof this.width === 'number' ? `${this.width}px` : this.width,
225
248
  flex: 'none',
226
249
  }
227
- : {} }, h("div", { key: 'd15df53ff3d76ab9f9bd5e6ffe55f98b53c1211a', class: {
250
+ : {} }, h("div", { key: 'bf00b81dbb3d36a8a8ddf4919c9ec3383a1f3f14', class: {
228
251
  'sd-field__control': true,
229
252
  'sd-field__control--has-addon': addon !== '',
230
- } }, addon && (h("div", { key: 'fa65e5f352e20ae9f533bdf93d95b2d2f3ec4d7b', class: "sd-field__addon" }, this.icon && (h("sd-icon", { key: '5c6d67ca4a72191622d14727567b8bca0975dcee', name: this.icon.name, size: this.icon.size ??
231
- 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)), h("slot", { key: 'c4f4e9392b3e6df8bba7a0f9e39bb3847ccf5931' })), this.errorMsg !== '' || this.errorMessage !== '' ? (h("div", { class: "sd-field__error-message" }, this.errorMsg !== '' ? this.errorMsg : this.errorMessage)) : (this.hint !== '' && h("div", { class: "sd-field__hint" }, this.hint))))));
253
+ } }, addon && (h("div", { key: '4cef1308de0b709d5924ff7a02ee5bd3b78c1502', class: "sd-field__addon" }, this.icon && (h("sd-icon", { key: '7fdfca555d80f5409082c43967224fd8108a6f29', name: this.icon.name, size: this.icon.size ??
254
+ 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)), h("slot", { key: 'c523813390db6f6f4acce3ffb8377820ffb95fad' })), this.errorMsg !== '' || this.errorMessage !== '' ? (h("div", { class: "sd-field__error-message" }, this.errorMsg !== '' ? this.errorMsg : this.errorMessage)) : (this.hint !== '' && h("div", { class: "sd-field__hint" }, this.hint))))));
232
255
  }
233
256
  renderLabel(label) {
234
257
  if (label == null || label === '')
@@ -247,12 +270,19 @@ const SdFloatingPopover = class {
247
270
  this.close = createEvent(this, "sdClose", 7);
248
271
  }
249
272
  get el() { return getElement(this); }
273
+ /** 포탈 콘텐츠를 마운트할 대상 (CSS 선택자 또는 HTMLElement) */
250
274
  to = 'body';
275
+ /** 위치 기준이 되는 부모 엘리먼트 */
251
276
  parentRef = null;
277
+ /** [x, y] 오프셋 (px) */
252
278
  offset = [0, 0];
253
- zIndex = 998;
279
+ /** z-index */
280
+ zIndex = 996;
281
+ /** 콘텐츠를 표시할 방향 */
254
282
  placement = 'bottom';
283
+ /** 표시 여부 */
255
284
  open = false;
285
+ /** 외부 클릭 등으로 닫힐 때 발생합니다. */
256
286
  close;
257
287
  container;
258
288
  wrapper;
@@ -307,11 +337,25 @@ const SdFloatingPopover = class {
307
337
  const el = typeof this.to === 'string' ? document.querySelector(this.to) : this.to;
308
338
  return el instanceof HTMLElement ? el : document.body;
309
339
  }
340
+ /**
341
+ * 트리거(parentRef)가 모달 내부에 있으면 해당 모달보다 위에, 아니면 페이지 기본값에 둔다.
342
+ * 페이지 기본값(996)은 모달(997)보다 낮아, 모달 뒤의 페이지 포털이 모달 위로 떠오르지 않는다.
343
+ */
344
+ resolveZIndex() {
345
+ const base = this.zIndex ?? 996;
346
+ const layer = this.parentRef?.closest('.sd-modal-container__layer');
347
+ if (!layer)
348
+ return base;
349
+ const container = layer.closest('.sd-modal-container');
350
+ const z = container instanceof HTMLElement ? parseInt(getComputedStyle(container).zIndex, 10) : NaN;
351
+ const modalZIndex = Number.isFinite(z) ? z : 997;
352
+ return Math.max(base, modalZIndex + 1);
353
+ }
310
354
  createWrapper() {
311
355
  this.wrapper = document.createElement('div');
312
356
  Object.assign(this.wrapper.style, {
313
357
  position: 'fixed',
314
- zIndex: (this.zIndex ?? 998).toString(),
358
+ zIndex: this.resolveZIndex().toString(),
315
359
  transition: 'opacity 0.4s',
316
360
  top: '-9999px',
317
361
  left: '-9999px',
@@ -398,7 +442,7 @@ const SdFloatingPopover = class {
398
442
  }
399
443
  }
400
444
  render() {
401
- return h("slot", { key: '77829bed54180a72d233738d1f82d9996ae29cae' });
445
+ return h("slot", { key: 'ee2a502ac1c924abb9be9fae19b4450659515c15' });
402
446
  }
403
447
  };
404
448
  SdFloatingPopover.style = sdFloatingPortalCss();
@@ -435,19 +479,33 @@ const SdTooltip = class {
435
479
  registerInstance(this, hostRef);
436
480
  }
437
481
  get el() { return getElement(this); }
482
+ /** 툴팁 트리거 방식 */
438
483
  trigger = 'hover';
484
+ /** 툴팁 표시 방향 */
439
485
  placement = 'top';
486
+ /** 아이콘 트리거 색상 */
440
487
  color = '#01BB4B';
488
+ /** 툴팁 배경/텍스트 색상 타입 */
441
489
  tooltipType = 'default';
490
+ /** 아이콘 트리거 아이콘명 */
442
491
  icon = 'helpOutline';
492
+ /** 아이콘 트리거 크기 */
443
493
  iconSize = 12;
494
+ /** 버튼 트리거 레이블 (있으면 아이콘 대신 버튼 렌더링) */
444
495
  label = '';
496
+ /** 버튼 트리거 프리셋 */
445
497
  name = 'primary_sm';
498
+ /** 버튼 트리거 우측 아이콘 */
446
499
  rightIcon;
500
+ /** 스크린리더용 접근성 레이블 */
447
501
  ariaLabel = '';
502
+ /** 비활성 상태 여부 */
448
503
  disabled = false;
504
+ /** 버튼 type 속성 */
449
505
  type = 'button';
506
+ /** 툴팁 우측 상단 닫기 버튼 표시 여부 */
450
507
  useClose = false;
508
+ /** 트리거 래퍼(.sd-tooltip-trigger)에 추가할 클래스 */
451
509
  sdClass = '';
452
510
  /**
453
511
  * 툴팁 본문에 표시할 메시지. 각 항목이 한 줄로 innerHTML 렌더링됩니다.
@@ -560,7 +618,7 @@ const SdTooltip = class {
560
618
  const bodyHTML = this.message && this.message.length > 0
561
619
  ? this.message.map(line => `<div>${line}</div>`).join('')
562
620
  : this.slotContentHTML;
563
- return (h(Fragment, { key: 'da2904e5cc41627283ff383366548453ef892dbc' }, h("div", { key: 'e94184fa6a51524f0dc5d3ba0610a3fa63663b4f', ref: el => (this.triggerEl = el), class: triggerClasses, ...divTrigger }, anchorMode ? (h("slot", { name: "anchor" })) : hasLabel ? (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 })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: this.iconSize ?? 12, color: color, class: "sd-tooltip" }))), this.showTooltip && (h("sd-floating-portal", { key: '52b86274d938e67a89018839812b4d26108f0921', parentRef: anchorMode ? this.triggerEl : this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.tooltipOffset }, h("div", { key: '177149d153ca4659a1dc4b71cd9d98cf36e19cd9', ref: el => (this.menuEl = el), class: {
621
+ return (h(Fragment, { key: 'c5a5c69267ac8a7d7f06324a63b6410092b84f04' }, h("div", { key: 'f7323385e1b2e6ef4199c6318bdc55984182d3da', ref: el => (this.triggerEl = el), class: triggerClasses, ...divTrigger }, anchorMode ? (h("slot", { name: "anchor" })) : hasLabel ? (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 })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: this.iconSize ?? 12, color: color, class: "sd-tooltip" }))), this.showTooltip && (h("sd-floating-portal", { key: '0ba07ee2a20862df43755264d9390b3229da57e6', parentRef: anchorMode ? this.triggerEl : this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.tooltipOffset }, h("div", { key: 'f92217cb8cca4d1467cbeac7b36f9a00f28babd3', ref: el => (this.menuEl = el), class: {
564
622
  'sd-floating-menu': true,
565
623
  [`sd-floating-menu--${tooltipType}`]: true,
566
624
  [`sd-floating-menu--${placement}`]: true,
@@ -568,7 +626,7 @@ const SdTooltip = class {
568
626
  }, style: {
569
627
  '--sd-floating-bg': typeConfig.bg,
570
628
  '--sd-floating-content': typeConfig.content,
571
- }, onMouseEnter: () => this.openTooltip(), onMouseLeave: () => !this.useClose && this.startHideTimer() }, h("i", { key: '6412bc25156af7a4bc276bc29f46458df7ac123b', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: 'af6b98e12d0ce7816b9888614d7f70e93c9accd6' })), h("div", { key: '4b3bdb5eda8a67374a68e2ef3dbc51d630720c08', class: "sd-floating-menu__content", innerHTML: bodyHTML }), this.useClose && (h("sd-ghost-button", { key: '2bbe32da05ec4e84dba7b00d12826d9fb2492dfe', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xxs", onClick: () => this.closeTooltip() })))))));
629
+ }, onMouseEnter: () => this.openTooltip(), onMouseLeave: () => !this.useClose && this.startHideTimer() }, h("i", { key: '6d7671dbac4fa026788f0804df4a97ca86c492c1', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: '31321fbfef392af0fa64111a32c3ecd6c6144d35' })), h("div", { key: '67e54a935c9f684d713ab943e7049737d5a8596a', class: "sd-floating-menu__content", innerHTML: bodyHTML }), this.useClose && (h("sd-ghost-button", { key: '355101a4efed88fbb687e1f972f88b6dfb4be309', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xxs", onClick: () => this.closeTooltip() })))))));
572
630
  }
573
631
  };
574
632
  SdTooltip.style = sdTooltipCss();
@@ -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 SdForm = class {
4
4
  constructor(hostRef) {
@@ -6,9 +6,12 @@ const SdForm = class {
6
6
  this.sdSubmit = createEvent(this, "sdSubmit", 7);
7
7
  this.sdValidationError = createEvent(this, "sdValidationError", 7);
8
8
  }
9
+ /** form 엘리먼트에 추가할 클래스 */
9
10
  formClass = '';
10
11
  fields = [];
12
+ /** 유효성 검사 통과 후 submit 시 발생합니다. */
11
13
  sdSubmit;
14
+ /** 유효성 검사 실패 시 실패한 필드 name 목록을 전달합니다. */
12
15
  sdValidationError;
13
16
  sortFieldsByDomOrder() {
14
17
  this.fields.sort((a, b) => {
@@ -26,6 +29,7 @@ const SdForm = class {
26
29
  return 0;
27
30
  });
28
31
  }
32
+ /** 폼에 필드를 등록합니다. */
29
33
  async sdRegisterField(field) {
30
34
  if (field.name === '') {
31
35
  console.warn('[sd-form] field.name is required');
@@ -36,6 +40,7 @@ const SdForm = class {
36
40
  this.fields.push(field);
37
41
  this.sortFieldsByDomOrder();
38
42
  }
43
+ /** 폼에서 필드를 제거합니다. */
39
44
  async sdUnregisterField(fieldOrName) {
40
45
  if (typeof fieldOrName === 'string') {
41
46
  const index = this.fields.findIndex(field => field.name === fieldOrName);
@@ -56,13 +61,16 @@ const SdForm = class {
56
61
  }
57
62
  return { valid: invalidFields.length === 0, invalidFields };
58
63
  }
64
+ /** 모든 등록된 필드의 유효성 검사를 실행합니다. */
59
65
  async sdValidate() {
60
66
  const { valid } = await this.runValidation();
61
67
  return valid;
62
68
  }
69
+ /** 모든 필드의 값과 유효성 상태를 초기화합니다. */
63
70
  async sdReset() {
64
71
  this.fields.forEach(f => f.sdReset());
65
72
  }
73
+ /** 모든 필드의 유효성 상태만 초기화합니다. */
66
74
  async sdResetValidation() {
67
75
  this.fields.forEach(f => f.sdResetValidation());
68
76
  }
@@ -76,7 +84,7 @@ const SdForm = class {
76
84
  this.sdSubmit.emit();
77
85
  }
78
86
  render() {
79
- return (h("form", { key: 'd64dc85bce08da6a18f7dac5038a89f8bd7b5f01', onSubmit: e => this.onSubmit(e), class: this.formClass }, h("slot", { key: 'a0c6d177cc4c656369714ff0ebc5269255d2c2b5' })));
87
+ return (h("form", { key: 'f533f9dcf3a13e66d37644baa5217b90a67350a2', onSubmit: e => this.onSubmit(e), class: this.formClass }, h("slot", { key: '8a108703faeb2ed7d1e47a72b407b7a7fc88063d' })));
80
88
  }
81
89
  };
82
90
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-C7HJ-NfO.js';
2
2
 
3
3
  const ghostButton = {
4
4
  xxs: {
@@ -119,14 +119,21 @@ const SdGhostButton = class {
119
119
  registerInstance(this, hostRef);
120
120
  this.click = createEvent(this, "sdClick", 7);
121
121
  }
122
+ /** 버튼에 표시할 아이콘명 */
122
123
  icon;
124
+ /** 버튼 크기 */
123
125
  size = 'sm';
126
+ /** 버튼 색상 의도 */
124
127
  intent = 'default';
128
+ /** 스크린리더용 접근성 레이블 */
125
129
  ariaLabel = '';
130
+ /** 호버 시 표시할 툴팁 텍스트 */
126
131
  tooltipText;
132
+ /** 비활성 상태 여부 */
127
133
  disabled = false;
128
134
  get hostEl() { return getElement(this); }
129
135
  isTooltipOpen = false;
136
+ /** 버튼 클릭 시 발생합니다. */
130
137
  click;
131
138
  hasWarnedMissingAriaLabel = false;
132
139
  componentWillLoad() {
@@ -141,10 +148,18 @@ const SdGhostButton = class {
141
148
  }
142
149
  this.click.emit(event);
143
150
  };
144
- handleMouseEnter = () => { this.isTooltipOpen = true; };
145
- handleMouseLeave = () => { this.isTooltipOpen = false; };
146
- handleFocus = () => { this.isTooltipOpen = true; };
147
- handleBlur = () => { this.isTooltipOpen = false; };
151
+ handleMouseEnter = () => {
152
+ this.isTooltipOpen = true;
153
+ };
154
+ handleMouseLeave = () => {
155
+ this.isTooltipOpen = false;
156
+ };
157
+ handleFocus = () => {
158
+ this.isTooltipOpen = true;
159
+ };
160
+ handleBlur = () => {
161
+ this.isTooltipOpen = false;
162
+ };
148
163
  componentWillRender() {
149
164
  this.warnIfMissingAriaLabel();
150
165
  }
@@ -169,7 +184,7 @@ const SdGhostButton = class {
169
184
  const accessibleName = (this.ariaLabel ?? '').trim() || undefined;
170
185
  const tooltipText = (this.tooltipText ?? '').trim();
171
186
  const hasTooltip = tooltipText.length > 0;
172
- return (h("button", { key: '59b95275f6acd737d4b0d5c2187e1d40b3a6543f', class: {
187
+ return (h("button", { key: 'a49c5b93f4dfcd434c20225acae4c7454e8f8e4f', class: {
173
188
  'sd-ghost-button': true,
174
189
  'sd-ghost-button--disabled': this.disabled,
175
190
  }, type: "button", disabled: this.disabled, "aria-label": accessibleName, style: {
@@ -178,7 +193,7 @@ const SdGhostButton = class {
178
193
  '--sd-ghost-button-hover-bg': GHOST_BUTTON_HOVER_BG_COLORS[intent],
179
194
  '--sd-ghost-button-hover-opacity': GHOST_BUTTON_HOVER_OPACITY,
180
195
  '--sd-ghost-button-accent': GHOST_BUTTON_FOCUS_RING_COLOR,
181
- }, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && !this.disabled && (h("sd-portal", { key: 'd8ca94b6a931208c2c56eb2dbfee843935c6b666', parentRef: this.hostEl, open: true, offset: [sizeConfig.size / 2, 4], placement: "top" }, h("div", { key: '450d5dc528ad4eeb4a2a0d2920fe4553ab3f91f8', class: "sd-ghost-button__tooltip-inner", "aria-hidden": "true" }, h("sd-tag", { key: 'cc25d0e2794d3d4dc418b0c0aa1a57e4b76b56e1', name: "square_xs_grey", label: tooltipText })))), h("sd-icon", { key: 'bf9bf8bcc779011635fd34566ec7320d76f8d16b', name: this.icon, size: sizeConfig.icon, color: contentColor })));
196
+ }, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && !this.disabled && (h("sd-portal", { key: '36ef78d79a99da1fd26c282ef68293b9fb9f87b1', parentRef: this.hostEl, open: true, offset: [sizeConfig.size / 2, 4], placement: "top" }, h("div", { key: 'a0cf8b4e84a79841ab09e6a81ee6bcbfe57e6805', class: "sd-ghost-button__tooltip-inner", "aria-hidden": "true" }, h("sd-tag", { key: 'a263167142b891add0a32900504f541dcb3a4959', name: "square_xs_grey", label: tooltipText })))), h("sd-icon", { key: 'ba90e9b489b4f43577313052635db598e3d30037', name: this.icon, size: sizeConfig.icon, color: contentColor })));
182
197
  }
183
198
  };
184
199
  SdGhostButton.style = sdGhostButtonCss();
@@ -189,13 +204,21 @@ const SdPortal = class {
189
204
  this.close = createEvent(this, "sdClose", 3);
190
205
  }
191
206
  get hostEl() { return getElement(this); }
207
+ /** 포탈 콘텐츠를 마운트할 대상 (CSS 선택자 또는 HTMLElement) */
192
208
  to = 'body';
209
+ /** 위치 기준이 되는 부모 엘리먼트 */
193
210
  parentRef = null;
211
+ /** [x, y] 오프셋 (px) */
194
212
  offset = [0, 4];
213
+ /** 뷰포트 경계 여백 (px) */
195
214
  viewportPadding = 0;
196
- zIndex = 998;
215
+ /** z-index */
216
+ zIndex = 996;
217
+ /** 표시 여부 */
197
218
  open = false;
219
+ /** 콘텐츠를 표시할 방향 (공간이 부족하면 자동으로 반대 방향으로 전환) */
198
220
  placement = 'bottom';
221
+ /** 외부 클릭 등으로 닫힐 때 발생합니다. */
199
222
  close;
200
223
  container;
201
224
  wrapper;
@@ -234,13 +257,27 @@ const SdPortal = class {
234
257
  const el = typeof this.to === 'string' ? document.querySelector(this.to) : this.to;
235
258
  return el instanceof HTMLElement ? el : document.body;
236
259
  }
260
+ /**
261
+ * 트리거(parentRef)가 모달 내부에 있으면 해당 모달보다 위에, 아니면 페이지 기본값에 둔다.
262
+ * 페이지 기본값(996)은 모달(997)보다 낮아, 모달 뒤의 페이지 포털이 모달 위로 떠오르지 않는다.
263
+ */
264
+ resolveZIndex() {
265
+ const base = this.zIndex ?? 996;
266
+ const layer = this.parentRef?.closest('.sd-modal-container__layer');
267
+ if (!layer)
268
+ return base;
269
+ const container = layer.closest('.sd-modal-container');
270
+ const z = container instanceof HTMLElement ? parseInt(getComputedStyle(container).zIndex, 10) : NaN;
271
+ const modalZIndex = Number.isFinite(z) ? z : 997;
272
+ return Math.max(base, modalZIndex + 1);
273
+ }
237
274
  createWrapper() {
238
275
  this.wrapper = document.createElement('div');
239
276
  Object.assign(this.wrapper.style, {
240
277
  position: 'fixed',
241
278
  top: '0',
242
279
  left: '0',
243
- zIndex: (this.zIndex ?? 998).toString(),
280
+ zIndex: this.resolveZIndex().toString(),
244
281
  opacity: '0',
245
282
  transition: 'opacity 0.15s ease-out',
246
283
  boxSizing: 'border-box',
@@ -406,8 +443,7 @@ const SdPortal = class {
406
443
  return scrollParents;
407
444
  }
408
445
  isInsideTarget(target) {
409
- return !!((this.wrapper?.contains(target)) ||
410
- (this.parentRef?.contains(target)));
446
+ return !!(this.wrapper?.contains(target) || this.parentRef?.contains(target));
411
447
  }
412
448
  // 외부 클릭 감지
413
449
  handleMouseDown(e) {
@@ -423,7 +459,7 @@ const SdPortal = class {
423
459
  this.close.emit();
424
460
  }
425
461
  render() {
426
- return h("slot", { key: '911d01b26a26a4bb4d7c4a15b51755acb9615c3a' });
462
+ return h("slot", { key: 'e4523bbb6fd56072c4f5a4dc241ab8a3ac0ea1bf' });
427
463
  }
428
464
  static get watchers() { return {
429
465
  "open": [{
@@ -613,11 +649,14 @@ const SdTag = class {
613
649
  constructor(hostRef) {
614
650
  registerInstance(this, hostRef);
615
651
  }
652
+ /** 태그 프리셋 이름 */
616
653
  name = 'square_sm_grey';
654
+ /** 표시할 레이블 텍스트 */
617
655
  label = '';
656
+ /** 아이콘명 */
618
657
  icon;
619
658
  // 아이콘이 좌측 배치되는 게 자연스러운 default. prop 이름 변경(isRight 등)은 public API breaking 이라 별도 이슈로 분리.
620
- // eslint-disable-next-line stencil/ban-default-true
659
+ /** true이면 아이콘을 레이블 왼쪽에 배치 */
621
660
  isLeft = true;
622
661
  componentWillLoad() {
623
662
  this.name = this.name ?? 'square_sm_grey';
@@ -639,7 +678,7 @@ const SdTag = class {
639
678
  render() {
640
679
  const config = this.resolvedConfig;
641
680
  const iconNode = this.renderIcon(config.icon, config.iconSize);
642
- return (h("span", { key: '3117d8d5f3d9751dc193e426dbab7e0ead9fb369', class: "sd-tag", style: {
681
+ return (h("span", { key: '09cc181654983b64dec9860fdf656677ebcfcd15', class: "sd-tag", style: {
643
682
  '--sd-tag-background': config.background,
644
683
  '--sd-tag-content': config.content,
645
684
  '--sd-tag-height': config.height,
@@ -649,7 +688,7 @@ const SdTag = class {
649
688
  '--sd-tag-font-weight': config.fontWeight,
650
689
  '--sd-tag-line-height': config.lineHeight,
651
690
  '--sd-tag-radius': config.radius,
652
- }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, h("span", { key: '8c299f140dc5bd026ed52d3f0921939bbf69fdd5', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
691
+ }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, h("span", { key: '044ab51afc474799b400c608fd5531bed9a7ad18', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode));
653
692
  }
654
693
  };
655
694
  SdTag.style = sdTagCss();
@@ -1,4 +1,4 @@
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 { s as systemTokens } from './system-BJfiMC9H.js';
3
3
  import { s as sanitizeInlineHtml } from './sanitize-inline-html-BE4tnQ2Z.js';
4
4
 
@@ -120,11 +120,17 @@ const SdGuide = class {
120
120
  registerInstance(this, hostRef);
121
121
  }
122
122
  get el() { return getElement(this); }
123
+ /** 가이드 타입 (tip: 팝업, notion: 외부 링크) */
123
124
  type = 'tip';
125
+ /** 버튼에 표시할 레이블 (없으면 type에 따른 기본값 사용) */
124
126
  label = '';
127
+ /** 팝업에 표시할 메시지 (배열이면 리스트로 렌더링) */
125
128
  message = '';
129
+ /** notion 타입일 때 클릭 시 이동할 URL */
126
130
  url = '';
131
+ /** 팝업 제목 (없으면 type에 따른 기본값 사용) */
127
132
  popupTitle = '';
133
+ /** 팝업 너비 (px, 없으면 426px) */
128
134
  popupWidth;
129
135
  popupShow = false;
130
136
  guideRef;
@@ -186,10 +192,10 @@ const SdGuide = class {
186
192
  const buttonClasses = ['sd-guide__button', `sd-guide__button--type-${this.type ?? 'tip'}`];
187
193
  if (isActive)
188
194
  buttonClasses.push('sd-guide__button--active');
189
- return (h("div", { key: 'ea4f220faf6165f7650360f74a19d9f781b81489', class: "sd-guide", style: this.guideStyle }, 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 && (h("sd-portal", { key: '21f57a739141ffa36f3b799a2688ca5b3c1bd428', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, h("div", { key: '94e12fa797748a02334b97e13c5012ab95bc2bce', class: "sd-guide__popup", style: {
195
+ return (h("div", { key: 'd89a517d78a8f9624c94d320291e5a4b5bd0715d', class: "sd-guide", style: this.guideStyle }, 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 && (h("sd-portal", { key: 'a837cababa5504400293729ad28e4dcd2450eeec', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, h("div", { key: '61dd3c574495f85021495d80865e162999368f9c', class: "sd-guide__popup", style: {
190
196
  ...this.guideStyle,
191
197
  width: this.popupWidth != null ? this.popupWidth + 'px' : '426px',
192
- } }, h("sd-ghost-button", { key: '6fc71032016e7a3be0581508ef0ecc6772981185', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), h("div", { key: '385c0c18bc888be6a654525dc6f4359a56ad6de9', class: "sd-guide__popup__header" }, h("sd-icon", { key: '34624d2ac3397ba15b2dc7ba23dc460a87cb878b', name: iconName, size: 24, color: popupIconColor }), h("h3", { key: 'dd3527ec329698b0fd1ec82f2a7d0cf5865802c2', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), h("ul", { key: '429357d0203acdf31177353ceb45d9ac41fadae7', class: "sd-guide__popup__list" }, this.renderListItem(this.message)))))));
198
+ } }, h("sd-ghost-button", { key: 'dbf8aebd1be4b5286bf726d22e0a5f80c29e867f', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), h("div", { key: '5a08fa823bb8839e654d7bb2ba027df2dc68b85b', class: "sd-guide__popup__header" }, h("sd-icon", { key: '1dda43d100b4f5f3b7fa81115a1ac4bfbd584a51', name: iconName, size: 24, color: popupIconColor }), h("h3", { key: 'cfe6342f44f4e1355397ed94d6db74807f917548', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), h("ul", { key: '9acc2f507ed3d3d6f1fda27a9e5cf66dcc2f619d', class: "sd-guide__popup__list" }, this.renderListItem(this.message)))))));
193
199
  }
194
200
  // 현재 2depth까지만 스타일 적용
195
201
  renderListItem(message, depth = 0) {
@@ -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
  import { t as tableTokens } from './component.table-D6GUzecR.js';
4
4
 
@@ -61,7 +61,9 @@ const SdKeyValueTable = class {
61
61
  * - 'full': 상하단 모두 radius 0 (요소 사이에 끼워 쓸 때)
62
62
  */
63
63
  radius = 'default';
64
+ /** 필드 값이 변경될 때 `{ name, value }` 형태로 발생합니다. */
64
65
  change;
66
+ /** search 패널의 검색 버튼 클릭 시 발생합니다. */
65
67
  searchEvent;
66
68
  emit = (name, value) => {
67
69
  this.change.emit({ name, value });
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-CAxodB5I.js';
1
+ import { r as registerInstance, h, H as Host } from './index-C7HJ-NfO.js';
2
2
  import { p as progressTokens } from './component.progress-D1vaasIp.js';
3
3
  import { s as systemTokens } from './system-BJfiMC9H.js';
4
4
 
@@ -20,9 +20,13 @@ const SdLinearProgress = class {
20
20
  constructor(hostRef) {
21
21
  registerInstance(this, hostRef);
22
22
  }
23
+ /** true이면 진행률 없이 무한 애니메이션 표시 */
23
24
  indeterminate = false;
25
+ /** 진행률 (0–100) */
24
26
  value = 0;
27
+ /** 색상 타입 */
25
28
  type = 'primary';
29
+ /** 하단에 표시할 레이블 텍스트 */
26
30
  label;
27
31
  get clampedValue() {
28
32
  if (!Number.isFinite(this.value))
@@ -30,8 +34,7 @@ const SdLinearProgress = class {
30
34
  return Math.max(0, Math.min(100, this.value));
31
35
  }
32
36
  render() {
33
- const fillColor = LINEAR_PROGRESS_FILL_COLOR_MAP[this.type] ??
34
- LINEAR_PROGRESS_FILL_COLOR_MAP.primary;
37
+ const fillColor = LINEAR_PROGRESS_FILL_COLOR_MAP[this.type] ?? LINEAR_PROGRESS_FILL_COLOR_MAP.primary;
35
38
  const valueColor = this.clampedValue === 0 ? LINEAR_PROGRESS_COLORS.valueZero : fillColor;
36
39
  const hostStyle = {
37
40
  '--sd-linear-progress-track-color': LINEAR_PROGRESS_COLORS.track,
@@ -47,7 +50,7 @@ const SdLinearProgress = class {
47
50
  clipPath: `inset(0 ${100 - this.clampedValue}% 0 0)`,
48
51
  };
49
52
  const valueText = `${Math.round(this.clampedValue)}%`;
50
- return (h(Host, { key: '1e6aa9c81d3e9516a2f986d3f209df005de38f48', style: hostStyle }, h("div", { key: '06115d6245603c7ae54d892a23074f34db203592', class: 'sd-linear-progress__track' }, h("div", { key: '353549cb3c885cef86f114830599f375bfad8e50', class: 'sd-linear-progress__fill', style: fillStyle }), !this.indeterminate && (h("span", { key: '61afec063cd8f6ccaca27217fe7b599926245192', class: 'sd-linear-progress__value sd-linear-progress__value--on-track' }, valueText)), !this.indeterminate && (h("span", { key: 'fec238b0a6c73e06db3e53c019319a21b62e2836', class: 'sd-linear-progress__value sd-linear-progress__value--on-fill', style: valueOnFillStyle }, valueText))), this.label && h("span", { key: '668f63765b78c1047e3b850f3a17d6b2a1b9bfd4', class: 'sd-linear-progress__label' }, this.label)));
53
+ return (h(Host, { key: '232520f9e720d13e28bbac8f61864e943f03c12e', style: hostStyle }, h("div", { key: '6c5659e65da3f6d01c1029d9441f8619c304935c', class: "sd-linear-progress__track" }, h("div", { key: '81f1c5ca5e4422e33f5505eda07fd4a04b24465c', class: "sd-linear-progress__fill", style: fillStyle }), !this.indeterminate && (h("span", { key: 'd3542eddf302448742a3564c6f48d4d3f71d3733', class: "sd-linear-progress__value sd-linear-progress__value--on-track" }, valueText)), !this.indeterminate && (h("span", { key: 'f9c650167b1d9653a6745399226e480f15c19f65', class: "sd-linear-progress__value sd-linear-progress__value--on-fill", style: valueOnFillStyle }, valueText))), this.label && h("span", { key: 'fa8759f871902a4c3ebf0d982fe9b63d956a2f24', class: "sd-linear-progress__label" }, this.label)));
51
54
  }
52
55
  };
53
56
  SdLinearProgress.style = sdLinearProgressCss();