@sellmate/design-system 1.4.0 → 1.6.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 (355) hide show
  1. package/dist/cjs/{component.table-qOFez3z3.js → component.table-DIxmbGBT.js} +4 -1
  2. package/dist/cjs/design-system.cjs.js +2 -2
  3. package/dist/cjs/{index-Cw-78mnC.js → index-BGwB03Tk.js} +1 -1
  4. package/dist/cjs/index.cjs.js +2 -2
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/sanitize-inline-html-BZCCwH_U.js +65 -0
  7. package/dist/cjs/sd-action-modal.cjs.entry.js +1 -1
  8. package/dist/cjs/sd-badge.cjs.entry.js +1 -1
  9. package/dist/cjs/sd-barcode-input.cjs.entry.js +1 -1
  10. package/dist/cjs/{sd-button.config-DH08UNfl.js → sd-button.config-BSHkfgdC.js} +17 -12
  11. package/dist/cjs/sd-button_2.cjs.entry.js +2 -2
  12. package/dist/cjs/sd-calendar_2.cjs.entry.js +8 -7
  13. package/dist/cjs/sd-callout.cjs.entry.js +152 -0
  14. package/dist/cjs/sd-card.cjs.entry.js +2 -2
  15. package/dist/cjs/sd-checkbox.cjs.entry.js +10 -5
  16. package/dist/cjs/sd-chip.cjs.entry.js +2 -2
  17. package/dist/cjs/sd-circle-progress.cjs.entry.js +3 -3
  18. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +5 -4
  19. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  20. package/dist/cjs/sd-date-picker_7.cjs.entry.js +13 -10
  21. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +2 -2
  22. package/dist/cjs/sd-divider.cjs.entry.js +27 -0
  23. package/dist/cjs/sd-dropdown-button.cjs.entry.js +49 -23
  24. package/dist/cjs/sd-field_3.cjs.entry.js +9 -9
  25. package/dist/cjs/sd-form.cjs.entry.js +1 -1
  26. package/dist/cjs/sd-ghost-button.cjs.entry.js +1 -1
  27. package/dist/cjs/sd-guide.cjs.entry.js +6 -5
  28. package/dist/cjs/sd-key-value-table.cjs.entry.js +3 -3
  29. package/dist/cjs/sd-linear-progress.cjs.entry.js +3 -3
  30. package/dist/cjs/sd-loading-container.cjs.entry.js +3 -3
  31. package/dist/cjs/sd-modal-container.cjs.entry.js +1 -1
  32. package/dist/cjs/sd-pagination_4.cjs.entry.js +31 -51
  33. package/dist/cjs/sd-popover.cjs.entry.js +5 -6
  34. package/dist/cjs/sd-popup.cjs.entry.js +7 -6
  35. package/dist/cjs/sd-portal.cjs.entry.js +2 -2
  36. package/dist/cjs/sd-radio-button.cjs.entry.js +1 -1
  37. package/dist/cjs/sd-radio.cjs.entry.js +1 -1
  38. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +7 -7
  39. package/dist/cjs/sd-select_3.cjs.entry.js +9 -9
  40. package/dist/cjs/sd-switch.cjs.entry.js +2 -2
  41. package/dist/cjs/sd-table.cjs.entry.js +26 -57
  42. package/dist/cjs/{sd-table.config-B7psrvV4.js → sd-table.config-BjJW74Zx.js} +7 -3
  43. package/dist/cjs/sd-tabs.cjs.entry.js +2 -2
  44. package/dist/cjs/sd-tag.cjs.entry.js +5 -3
  45. package/dist/cjs/sd-td.cjs.entry.js +2 -2
  46. package/dist/cjs/sd-text-link.cjs.entry.js +1 -1
  47. package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
  48. package/dist/cjs/sd-toast.cjs.entry.js +3 -3
  49. package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
  50. package/dist/cjs/{system-VmZRYp6V.js → system-CdAyz3ej.js} +15 -1
  51. package/dist/cjs/{tooltipArrow-BjSFKIUq.js → tooltipArrow-COD-SNZL.js} +1 -1
  52. package/dist/collection/collection-manifest.json +3 -1
  53. package/dist/collection/components/sd-calendar/sd-calendar.css +3 -1
  54. package/dist/collection/components/sd-calendar/sd-calendar.js +24 -3
  55. package/dist/collection/components/sd-callout/sd-callout.config.js +45 -0
  56. package/dist/collection/components/sd-callout/sd-callout.css +87 -0
  57. package/dist/collection/components/sd-callout/sd-callout.js +114 -0
  58. package/dist/collection/components/sd-card/sd-card.js +1 -1
  59. package/dist/collection/components/sd-checkbox/sd-checkbox.js +9 -4
  60. package/dist/collection/components/sd-chip/sd-chip.js +1 -1
  61. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  62. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +3 -2
  63. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  64. package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
  65. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
  66. package/dist/collection/components/sd-divider/sd-divider.config.js +4 -0
  67. package/dist/collection/components/sd-divider/sd-divider.css +25 -0
  68. package/dist/collection/components/sd-divider/sd-divider.js +47 -0
  69. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.config.js +3 -3
  70. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.css +29 -10
  71. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +76 -16
  72. package/dist/collection/components/sd-field/sd-field.js +4 -4
  73. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  74. package/dist/collection/components/sd-guide/sd-guide.js +4 -3
  75. package/dist/collection/components/sd-input/sd-input.js +2 -2
  76. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
  77. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  78. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  79. package/dist/collection/components/sd-modal-container/sd-modal-container.js +8 -0
  80. package/dist/collection/components/sd-number-input/sd-number-input.js +75 -4
  81. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  82. package/dist/collection/components/sd-popover/sd-popover.js +3 -24
  83. package/dist/collection/components/sd-popup/sd-popup.config.js +3 -4
  84. package/dist/collection/components/sd-popup/sd-popup.js +4 -2
  85. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  86. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +2 -2
  87. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
  88. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +2 -2
  89. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
  90. package/dist/collection/components/sd-select/sd-select.js +4 -4
  91. package/dist/collection/components/sd-switch/sd-switch.js +1 -1
  92. package/dist/collection/components/sd-table/sd-table.config.js +4 -1
  93. package/dist/collection/components/sd-table/sd-table.css +1 -1
  94. package/dist/collection/components/sd-table/sd-table.js +28 -59
  95. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +2 -2
  96. package/dist/collection/components/sd-table/sd-td/sd-td.js +1 -1
  97. package/dist/collection/components/sd-table/sd-thead/sd-thead.css +15 -5
  98. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +6 -5
  99. package/dist/collection/components/sd-table/sd-tr/sd-tr.css +6 -7
  100. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +20 -40
  101. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  102. package/dist/collection/components/sd-tag/sd-tag.js +4 -2
  103. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  104. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  105. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  106. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  107. package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
  108. package/dist/collection/utils/html/sanitize-inline-html.js +61 -0
  109. package/dist/collection/utils/modal.js +2 -2
  110. package/dist/components/index.js +1 -1
  111. package/dist/components/{p-DlREBZ-C.js → p-2aQ4cVXp.js} +1 -1
  112. package/dist/components/p-BCeq6-MU.js +1 -0
  113. package/dist/components/{p-wOAxmZ1V.js → p-BDJJQALT.js} +1 -1
  114. package/dist/components/p-BE-21GLH.js +1 -0
  115. package/dist/components/{p-DS7Ypvt5.js → p-BNUsawW7.js} +1 -1
  116. package/dist/components/{p-xX3QT-8K.js → p-BUW6I_d5.js} +1 -1
  117. package/dist/components/{p-FKKk7Bk8.js → p-BYRvYsiC.js} +1 -1
  118. package/dist/components/{p-Z5Vk33zf.js → p-BYU3wOaN.js} +1 -1
  119. package/dist/components/{p-BRk9YZBe.js → p-BZRMoE3E.js} +1 -1
  120. package/dist/components/{p-BjpbUGud.js → p-B_2U9h3P.js} +1 -1
  121. package/dist/{design-system/p-C29HUShl.js → components/p-BasCjDiE.js} +1 -1
  122. package/dist/components/p-BqYASycS.js +1 -0
  123. package/dist/components/{p-VuxN5d2D.js → p-CAP-9lnL.js} +1 -1
  124. package/dist/components/{p-CLxVZFEG.js → p-CARYLqH9.js} +1 -1
  125. package/dist/components/{p-BZabVWBD.js → p-CJRGLvgC.js} +1 -1
  126. package/dist/components/p-CK6jFkqR.js +1 -0
  127. package/dist/components/p-CRq8zgt_.js +1 -0
  128. package/dist/components/{p-BFC3Etk2.js → p-CSbyXQa9.js} +1 -1
  129. package/dist/components/p-CvfW21oo.js +1 -0
  130. package/dist/components/{p-CIUE4qr7.js → p-CwQTEZWO.js} +1 -1
  131. package/dist/components/{p-INdVvadB.js → p-Cye8r1MG.js} +1 -1
  132. package/dist/components/{p-JlZdKw4C.js → p-D4mjSR0u.js} +1 -1
  133. package/dist/components/{p-DQFHAKL_.js → p-D6GUzecR.js} +1 -1
  134. package/dist/components/p-DGyTYauz.js +1 -0
  135. package/dist/components/{p-C3fqSH7A.js → p-DP0Dp12H.js} +1 -1
  136. package/dist/components/{p-BSfu4DO2.js → p-DQj-S8AC.js} +1 -1
  137. package/dist/components/{p-BwPmM1Pm.js → p-DSIM5Mkt.js} +1 -1
  138. package/dist/components/{p-t161LJqb.js → p-DZ_3ZYMC.js} +1 -1
  139. package/dist/components/{p-D7nYP2a4.js → p-DfKa36bs.js} +1 -1
  140. package/dist/components/p-DoREs-rv.js +1 -0
  141. package/dist/components/p-DopVneZA.js +1 -0
  142. package/dist/components/{p-CpgTSxf0.js → p-Dwko_Bx3.js} +1 -1
  143. package/dist/components/{p-Da5i_Sa6.js → p-EcuI_UmK.js} +1 -1
  144. package/dist/components/p-_zllPZMm.js +1 -0
  145. package/dist/components/p-j2khhcHY.js +1 -0
  146. package/dist/components/{p-BeBiPTbd.js → p-lOVBaLB7.js} +1 -1
  147. package/dist/components/{p-kSfaCwf1.js → p-pTx5xpqU.js} +1 -1
  148. package/dist/components/p-pwNG5WaX.js +1 -0
  149. package/dist/components/{p-Cx_d5vsS.js → p-sRzhIrJR.js} +1 -1
  150. package/dist/components/{p-BRxXhFqt.js → p-uVZjhyvS.js} +1 -1
  151. package/dist/components/{p-X-8I-A3g.js → p-z564gmGG.js} +1 -1
  152. package/dist/components/sd-action-modal.js +1 -1
  153. package/dist/components/sd-badge.js +1 -1
  154. package/dist/components/sd-barcode-input.js +1 -1
  155. package/dist/components/sd-button.js +1 -1
  156. package/dist/components/sd-calendar.js +1 -1
  157. package/dist/components/sd-callout.d.ts +11 -0
  158. package/dist/components/sd-callout.js +1 -0
  159. package/dist/components/sd-card.js +1 -1
  160. package/dist/components/sd-checkbox.js +1 -1
  161. package/dist/components/sd-chip.js +1 -1
  162. package/dist/components/sd-circle-progress.js +1 -1
  163. package/dist/components/sd-confirm-modal.js +1 -1
  164. package/dist/components/sd-date-box.js +1 -1
  165. package/dist/components/sd-date-picker-trigger.js +1 -1
  166. package/dist/components/sd-date-picker.js +1 -1
  167. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  168. package/dist/components/sd-date-range-picker.js +1 -1
  169. package/dist/components/sd-divider.d.ts +11 -0
  170. package/dist/components/sd-divider.js +1 -0
  171. package/dist/components/sd-dropdown-button.js +1 -1
  172. package/dist/components/sd-field.js +1 -1
  173. package/dist/components/sd-file-picker.js +1 -1
  174. package/dist/components/sd-floating-portal.js +1 -1
  175. package/dist/components/sd-form.js +1 -1
  176. package/dist/components/sd-ghost-button.js +1 -1
  177. package/dist/components/sd-guide.js +1 -1
  178. package/dist/components/sd-icon.js +1 -1
  179. package/dist/components/sd-input.js +1 -1
  180. package/dist/components/sd-key-value-table.js +1 -1
  181. package/dist/components/sd-linear-progress.js +1 -1
  182. package/dist/components/sd-loading-container.js +1 -1
  183. package/dist/components/sd-loading-modal.js +1 -1
  184. package/dist/components/sd-modal-container.js +1 -1
  185. package/dist/components/sd-number-input.js +1 -1
  186. package/dist/components/sd-pagination.js +1 -1
  187. package/dist/components/sd-popover.js +1 -1
  188. package/dist/components/sd-popup.js +1 -1
  189. package/dist/components/sd-portal.js +1 -1
  190. package/dist/components/sd-radio-button.js +1 -1
  191. package/dist/components/sd-radio-group.js +1 -1
  192. package/dist/components/sd-radio.js +1 -1
  193. package/dist/components/sd-select-list-item-search.js +1 -1
  194. package/dist/components/sd-select-list-item.js +1 -1
  195. package/dist/components/sd-select-listbox.js +1 -1
  196. package/dist/components/sd-select-trigger.js +1 -1
  197. package/dist/components/sd-select.js +1 -1
  198. package/dist/components/sd-switch.js +1 -1
  199. package/dist/components/sd-table.js +1 -1
  200. package/dist/components/sd-tabs.js +1 -1
  201. package/dist/components/sd-tag.js +1 -1
  202. package/dist/components/sd-tbody.js +1 -1
  203. package/dist/components/sd-td.js +1 -1
  204. package/dist/components/sd-text-link.js +1 -1
  205. package/dist/components/sd-textarea.js +1 -1
  206. package/dist/components/sd-thead.js +1 -1
  207. package/dist/components/sd-toast-container.js +1 -1
  208. package/dist/components/sd-toast.js +1 -1
  209. package/dist/components/sd-toggle.js +1 -1
  210. package/dist/components/sd-tooltip.js +1 -1
  211. package/dist/components/sd-tr.js +1 -1
  212. package/dist/design-system/design-system.css +1 -1
  213. package/dist/design-system/design-system.esm.js +1 -1
  214. package/dist/design-system/index.esm.js +1 -1
  215. package/dist/design-system/{p-522d1481.entry.js → p-07b0d118.entry.js} +1 -1
  216. package/dist/design-system/{p-d39e515d.entry.js → p-0964c79a.entry.js} +1 -1
  217. package/dist/design-system/{p-ae117afa.entry.js → p-1219699a.entry.js} +1 -1
  218. package/dist/design-system/{p-f7074386.entry.js → p-1743651a.entry.js} +1 -1
  219. package/dist/design-system/{p-481e6934.entry.js → p-17883b40.entry.js} +1 -1
  220. package/dist/design-system/p-18057222.entry.js +1 -0
  221. package/dist/design-system/{p-e611dcd4.entry.js → p-18d3ae55.entry.js} +1 -1
  222. package/dist/design-system/{p-fe3ae346.entry.js → p-1aafbc7b.entry.js} +1 -1
  223. package/dist/design-system/p-20a2e0d2.entry.js +1 -0
  224. package/dist/design-system/{p-399d416c.entry.js → p-25fad267.entry.js} +1 -1
  225. package/dist/design-system/p-2c0a8333.entry.js +1 -0
  226. package/dist/design-system/p-3a848c36.entry.js +1 -0
  227. package/dist/design-system/{p-3b8954d9.entry.js → p-4b43648c.entry.js} +1 -1
  228. package/dist/design-system/{p-32e2d71e.entry.js → p-4bd9f005.entry.js} +1 -1
  229. package/dist/design-system/p-4cf1c8ae.entry.js +1 -0
  230. package/dist/design-system/{p-9681b0ba.entry.js → p-521e5d2e.entry.js} +1 -1
  231. package/dist/design-system/p-54086285.entry.js +1 -0
  232. package/dist/design-system/{p-aeccfb2b.entry.js → p-696764b0.entry.js} +1 -1
  233. package/dist/design-system/p-70f47e43.entry.js +1 -0
  234. package/dist/design-system/{p-c7099e9e.entry.js → p-733aa107.entry.js} +1 -1
  235. package/dist/design-system/{p-a7ea1cf0.entry.js → p-7444d475.entry.js} +1 -1
  236. package/dist/design-system/{p-03badf68.entry.js → p-840f592d.entry.js} +1 -1
  237. package/dist/design-system/{p-dbeaeb31.entry.js → p-8d2815cf.entry.js} +1 -1
  238. package/dist/design-system/{p-42f7febe.entry.js → p-8fc49d2d.entry.js} +1 -1
  239. package/dist/design-system/{p-e8e64511.entry.js → p-95bbba4f.entry.js} +1 -1
  240. package/dist/design-system/p-969665c0.entry.js +1 -0
  241. package/dist/design-system/{p-e23dac79.entry.js → p-97b405aa.entry.js} +1 -1
  242. package/dist/design-system/p-C7p6g_sM.js +1 -0
  243. package/dist/design-system/{p-DQFHAKL_.js → p-D6GUzecR.js} +1 -1
  244. package/dist/design-system/p-DGyTYauz.js +1 -0
  245. package/dist/design-system/p-DNWwGHho.js +2 -0
  246. package/dist/design-system/p-DopVneZA.js +1 -0
  247. package/dist/design-system/p-LIf7YMBN.js +1 -0
  248. package/dist/design-system/{p-9b9bf9db.entry.js → p-a5930cbd.entry.js} +1 -1
  249. package/dist/design-system/{p-84a94775.entry.js → p-a6c9baa5.entry.js} +1 -1
  250. package/dist/design-system/{p-4a91875c.entry.js → p-afdca5bb.entry.js} +1 -1
  251. package/dist/design-system/{p-00b2c850.entry.js → p-b08ca29b.entry.js} +1 -1
  252. package/dist/design-system/p-c5c4a66b.entry.js +1 -0
  253. package/dist/design-system/p-c73cadc7.entry.js +1 -0
  254. package/dist/design-system/{p-679bce6c.entry.js → p-d8292621.entry.js} +1 -1
  255. package/dist/design-system/{p-a98f9a29.entry.js → p-deec1ef0.entry.js} +1 -1
  256. package/dist/design-system/{p-11b904a3.entry.js → p-e6bd8ab1.entry.js} +1 -1
  257. package/dist/design-system/{p-e902a3f4.entry.js → p-e9079238.entry.js} +1 -1
  258. package/dist/design-system/p-ea17a361.entry.js +1 -0
  259. package/dist/design-system/{p-a71d4947.entry.js → p-eef5f8d7.entry.js} +1 -1
  260. package/dist/design-system/p-f97b75d3.entry.js +1 -0
  261. package/dist/design-system/{p-74bf0ed9.entry.js → p-ff33d019.entry.js} +1 -1
  262. package/dist/design-system/p-j2khhcHY.js +1 -0
  263. package/dist/esm/{component.table-DQFHAKL_.js → component.table-D6GUzecR.js} +4 -1
  264. package/dist/esm/design-system.js +3 -3
  265. package/dist/esm/{index-0U6dRjlq.js → index-DNWwGHho.js} +1 -1
  266. package/dist/esm/index.js +2 -2
  267. package/dist/esm/loader.js +3 -3
  268. package/dist/esm/sanitize-inline-html-DopVneZA.js +63 -0
  269. package/dist/esm/sd-action-modal.entry.js +1 -1
  270. package/dist/esm/sd-badge.entry.js +1 -1
  271. package/dist/esm/sd-barcode-input.entry.js +1 -1
  272. package/dist/esm/{sd-button.config-BDjErF_K.js → sd-button.config-C7p6g_sM.js} +17 -12
  273. package/dist/esm/sd-button_2.entry.js +2 -2
  274. package/dist/esm/sd-calendar_2.entry.js +8 -7
  275. package/dist/esm/sd-callout.entry.js +150 -0
  276. package/dist/esm/sd-card.entry.js +2 -2
  277. package/dist/esm/sd-checkbox.entry.js +10 -5
  278. package/dist/esm/sd-chip.entry.js +2 -2
  279. package/dist/esm/sd-circle-progress.entry.js +3 -3
  280. package/dist/esm/sd-confirm-modal_2.entry.js +5 -4
  281. package/dist/esm/sd-date-box.entry.js +1 -1
  282. package/dist/esm/sd-date-picker_7.entry.js +13 -10
  283. package/dist/esm/sd-date-range-picker-calendar.entry.js +2 -2
  284. package/dist/esm/sd-divider.entry.js +25 -0
  285. package/dist/esm/sd-dropdown-button.entry.js +49 -23
  286. package/dist/esm/sd-field_3.entry.js +9 -9
  287. package/dist/esm/sd-form.entry.js +1 -1
  288. package/dist/esm/sd-ghost-button.entry.js +1 -1
  289. package/dist/esm/sd-guide.entry.js +6 -5
  290. package/dist/esm/sd-key-value-table.entry.js +3 -3
  291. package/dist/esm/sd-linear-progress.entry.js +3 -3
  292. package/dist/esm/sd-loading-container.entry.js +3 -3
  293. package/dist/esm/sd-modal-container.entry.js +1 -1
  294. package/dist/esm/sd-pagination_4.entry.js +31 -51
  295. package/dist/esm/sd-popover.entry.js +5 -6
  296. package/dist/esm/sd-popup.entry.js +7 -6
  297. package/dist/esm/sd-portal.entry.js +2 -2
  298. package/dist/esm/sd-radio-button.entry.js +1 -1
  299. package/dist/esm/sd-radio.entry.js +1 -1
  300. package/dist/esm/sd-select-list-item_2.entry.js +7 -7
  301. package/dist/esm/sd-select_3.entry.js +9 -9
  302. package/dist/esm/sd-switch.entry.js +2 -2
  303. package/dist/esm/{sd-table.config-DU7Pc6YH.js → sd-table.config-D9meRqTx.js} +7 -4
  304. package/dist/esm/sd-table.entry.js +26 -57
  305. package/dist/esm/sd-tabs.entry.js +2 -2
  306. package/dist/esm/sd-tag.entry.js +5 -3
  307. package/dist/esm/sd-td.entry.js +2 -2
  308. package/dist/esm/sd-text-link.entry.js +1 -1
  309. package/dist/esm/sd-toast-container.entry.js +2 -2
  310. package/dist/esm/sd-toast.entry.js +3 -3
  311. package/dist/esm/sd-toggle.entry.js +2 -2
  312. package/dist/esm/{system-GBlVDmy4.js → system-j2khhcHY.js} +15 -1
  313. package/dist/esm/{tooltipArrow-O5LOsHae.js → tooltipArrow-Cj3AqWK0.js} +1 -1
  314. package/dist/types/components/sd-calendar/sd-calendar.d.ts +1 -0
  315. package/dist/types/components/sd-callout/sd-callout.config.d.ts +34 -0
  316. package/dist/types/components/sd-callout/sd-callout.d.ts +11 -0
  317. package/dist/types/components/sd-divider/sd-divider.config.d.ts +3 -0
  318. package/dist/types/components/sd-divider/sd-divider.d.ts +5 -0
  319. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +5 -0
  320. package/dist/types/components/sd-number-input/sd-number-input.d.ts +4 -0
  321. package/dist/types/components/sd-popover/sd-popover.d.ts +0 -1
  322. package/dist/types/components/sd-table/sd-table.config.d.ts +2 -0
  323. package/dist/types/components/sd-table/sd-table.d.ts +1 -6
  324. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +1 -5
  325. package/dist/types/components.d.ts +123 -21
  326. package/dist/types/utils/html/sanitize-inline-html.d.ts +1 -0
  327. package/hydrate/index.js +477 -212
  328. package/hydrate/index.mjs +477 -212
  329. package/package.json +1 -1
  330. package/dist/components/p-BDVrZ5mV.js +0 -1
  331. package/dist/components/p-BjkROjjt.js +0 -1
  332. package/dist/components/p-Bs1Z5QtN.js +0 -1
  333. package/dist/components/p-CETxX4-M.js +0 -1
  334. package/dist/components/p-CyObYB-g.js +0 -1
  335. package/dist/components/p-DdLntfiw.js +0 -1
  336. package/dist/components/p-DhTcn6jX.js +0 -1
  337. package/dist/components/p-DiP0LJGq.js +0 -1
  338. package/dist/components/p-DwgaMhOM.js +0 -1
  339. package/dist/components/p-DykVq5VY.js +0 -1
  340. package/dist/components/p-GBlVDmy4.js +0 -1
  341. package/dist/components/p-oyZgWRnC.js +0 -1
  342. package/dist/design-system/p-0U6dRjlq.js +0 -2
  343. package/dist/design-system/p-29fd86d8.entry.js +0 -1
  344. package/dist/design-system/p-36d744fb.entry.js +0 -1
  345. package/dist/design-system/p-8f4ccae4.entry.js +0 -1
  346. package/dist/design-system/p-92f368a2.entry.js +0 -1
  347. package/dist/design-system/p-9f7f1b8b.entry.js +0 -1
  348. package/dist/design-system/p-BDjErF_K.js +0 -1
  349. package/dist/design-system/p-DykVq5VY.js +0 -1
  350. package/dist/design-system/p-GBlVDmy4.js +0 -1
  351. package/dist/design-system/p-a640e509.entry.js +0 -1
  352. package/dist/design-system/p-a97033a2.entry.js +0 -1
  353. package/dist/design-system/p-cc97f4b4.entry.js +0 -1
  354. package/dist/design-system/p-d890a680.entry.js +0 -1
  355. package/dist/design-system/p-fc5c4f85.entry.js +0 -1
@@ -1,5 +1,6 @@
1
1
  import { h, } from "@stencil/core";
2
2
  import { BaseDropdownEvent } from "../../utils/base-dropdown-event";
3
+ import { sanitizeInlineHtml } from "../../utils/html/sanitize-inline-html";
3
4
  import { BUTTON_FOCUS_RING_COLOR } from "../sd-button/sd-button.config";
4
5
  import { DROPDOWN_BUTTON_CONFIG, DROPDOWN_CHEVRON_ICON_SIZE, DROPDOWN_DISABLED_BACKGROUND, DROPDOWN_DISABLED_BORDER, DROPDOWN_DISABLED_TEXT, getDropdownButtonPreset, isDropdownButtonName, PRESET_BORDER_COLORS, PRESET_CONTENT_COLORS, PRESET_DIVIDER_COLORS, PRESET_HOVER_BACKGROUNDS, PRESET_MENU_ITEM_ACTIVE_BACKGROUNDS, PRESET_MENU_ITEM_ACTIVE_COLORS, PRESET_MENU_ITEM_COLORS, } from "./sd-dropdown-button.config";
5
6
  export class SdDropdownButton extends BaseDropdownEvent {
@@ -11,6 +12,7 @@ export class SdDropdownButton extends BaseDropdownEvent {
11
12
  label = '';
12
13
  items = [];
13
14
  disabled = false;
15
+ split = false;
14
16
  static CLOSE_ANIMATION_DURATION = 150;
15
17
  isOpen = false;
16
18
  isAnimatingOut = false;
@@ -19,6 +21,7 @@ export class SdDropdownButton extends BaseDropdownEvent {
19
21
  menuRef;
20
22
  closeAnimationTimer;
21
23
  click;
24
+ buttonClick;
22
25
  dropDownShow;
23
26
  handleOpenChange(isOpen) {
24
27
  this.onDropdownToggle(isOpen);
@@ -134,6 +137,14 @@ export class SdDropdownButton extends BaseDropdownEvent {
134
137
  this.isOpen = true;
135
138
  }
136
139
  };
140
+ handleButtonClick = (event) => {
141
+ event.stopPropagation();
142
+ if (this.disabled) {
143
+ return;
144
+ }
145
+ this.buttonClick.emit();
146
+ this.closeDropdown();
147
+ };
137
148
  selectItem(item, event) {
138
149
  event?.stopPropagation();
139
150
  if (!item || item.disabled) {
@@ -142,7 +153,7 @@ export class SdDropdownButton extends BaseDropdownEvent {
142
153
  this.click.emit(item.value);
143
154
  this.closeDropdown();
144
155
  }
145
- getTriggerClasses(preset, size, disabled, isOpen) {
156
+ getTriggerClasses(preset, size, disabled, isOpen, part) {
146
157
  const classes = [
147
158
  'sd-dropdown-button__trigger',
148
159
  `sd-dropdown-button__trigger--${preset}`,
@@ -154,8 +165,24 @@ export class SdDropdownButton extends BaseDropdownEvent {
154
165
  if (isOpen) {
155
166
  classes.push('sd-dropdown-button__trigger--open');
156
167
  }
168
+ if (part !== undefined) {
169
+ classes.push(`sd-dropdown-button__trigger--${part}-part`);
170
+ }
157
171
  return classes.join(' ');
158
172
  }
173
+ getTriggerStyle(config, preset) {
174
+ return {
175
+ '--sd-dropdown-button-bg': config.color,
176
+ '--sd-dropdown-button-bg-hover': PRESET_HOVER_BACKGROUNDS[preset],
177
+ '--sd-dropdown-button-border': PRESET_BORDER_COLORS[preset],
178
+ '--sd-dropdown-button-content': PRESET_CONTENT_COLORS[preset],
179
+ '--sd-dropdown-button-divider': PRESET_DIVIDER_COLORS[preset],
180
+ '--sd-dropdown-button-accent': BUTTON_FOCUS_RING_COLOR,
181
+ '--sd-dropdown-button-disabled-bg': DROPDOWN_DISABLED_BACKGROUND,
182
+ '--sd-dropdown-button-disabled-content': DROPDOWN_DISABLED_TEXT,
183
+ '--sd-dropdown-button-disabled-border': DROPDOWN_DISABLED_BORDER,
184
+ };
185
+ }
159
186
  getMenuItemClasses(isActive, isDisabled) {
160
187
  const classes = ['sd-dropdown-button__menu-item'];
161
188
  if (isActive) {
@@ -183,25 +210,23 @@ export class SdDropdownButton extends BaseDropdownEvent {
183
210
  if (!item.disabled) {
184
211
  this.itemIndex = index;
185
212
  }
186
- } }, item.icon && (h("sd-icon", { class: "sd-dropdown-button__menu-item-icon", name: item.icon, size: 12, color: "var(--sd-dropdown-button-menu-item-current-color)" })), h("span", { class: "sd-dropdown-button__menu-item-label", innerHTML: item.label })));
213
+ } }, item.icon && (h("sd-icon", { class: "sd-dropdown-button__menu-item-icon", name: item.icon, size: 12, color: "var(--sd-dropdown-button-menu-item-current-color)" })), h("span", { class: "sd-dropdown-button__menu-item-label", innerHTML: sanitizeInlineHtml(item.label) })));
187
214
  })))));
188
215
  }
216
+ renderChevron(size) {
217
+ const iconName = this.split ? 'etc' : 'caretDown';
218
+ return (h("span", { class: {
219
+ 'sd-dropdown-button__trigger-icon': true,
220
+ 'sd-dropdown-button__trigger-icon--open': this.isOpen && !this.split,
221
+ }, "aria-hidden": "true" }, h("sd-icon", { name: iconName, size: DROPDOWN_CHEVRON_ICON_SIZE[size], color: "var(--sd-dropdown-button-current-content)" })));
222
+ }
189
223
  render() {
190
224
  const { config, preset } = this.resolvedConfig;
191
- return (h("div", { key: 'ac9063bf34834043d2c786b81fa487f004d54462', class: "sd-dropdown-button" }, h("button", { key: 'cff62ed70794e18627b03c22d54accab9248b235', type: "button", class: this.getTriggerClasses(preset, config.size, this.disabled, this.isOpen), disabled: this.disabled, "aria-haspopup": "menu", "aria-expanded": String(this.isOpen), onClick: this.toggleDropdown, ref: el => (this.triggerRef = el), style: {
192
- '--sd-dropdown-button-bg': config.color,
193
- '--sd-dropdown-button-bg-hover': PRESET_HOVER_BACKGROUNDS[preset],
194
- '--sd-dropdown-button-border': PRESET_BORDER_COLORS[preset],
195
- '--sd-dropdown-button-content': PRESET_CONTENT_COLORS[preset],
196
- '--sd-dropdown-button-divider': PRESET_DIVIDER_COLORS[preset],
197
- '--sd-dropdown-button-accent': BUTTON_FOCUS_RING_COLOR,
198
- '--sd-dropdown-button-disabled-bg': DROPDOWN_DISABLED_BACKGROUND,
199
- '--sd-dropdown-button-disabled-content': DROPDOWN_DISABLED_TEXT,
200
- '--sd-dropdown-button-disabled-border': DROPDOWN_DISABLED_BORDER,
201
- } }, h("span", { key: '8c3c382c1b23f63be23936cca44175950fd636b8', class: "sd-dropdown-button__trigger-label" }, this.label), h("span", { key: '4b1e74dd6b5c680e07ef3b8391279ef4d9bb750d', class: "sd-dropdown-button__trigger-divider", "aria-hidden": "true" }), h("span", { key: '1018c43a428abe211536f4f3f8069b70a7ff1845', class: {
202
- 'sd-dropdown-button__trigger-icon': true,
203
- 'sd-dropdown-button__trigger-icon--open': this.isOpen,
204
- }, "aria-hidden": "true" }, h("sd-icon", { key: '64248aa427db42e8c8ef65d806befaeab0943059', name: "chevronDown", size: DROPDOWN_CHEVRON_ICON_SIZE[config.size], color: "var(--sd-dropdown-button-current-content)" }))), this.renderDropdown(preset)));
225
+ const triggerStyle = this.getTriggerStyle(config, preset);
226
+ if (this.split) {
227
+ return (h("div", { class: "sd-dropdown-button sd-dropdown-button--split" }, h("button", { type: "button", class: this.getTriggerClasses(preset, config.size, this.disabled, this.isOpen, 'label'), disabled: this.disabled, onClick: this.handleButtonClick, style: triggerStyle }, h("span", { class: "sd-dropdown-button__trigger-label" }, this.label)), h("button", { type: "button", class: this.getTriggerClasses(preset, config.size, this.disabled, this.isOpen, 'chevron'), disabled: this.disabled, "aria-haspopup": "menu", "aria-expanded": String(this.isOpen), "aria-label": "dropdown toggle", onClick: this.toggleDropdown, ref: el => (this.triggerRef = el), style: triggerStyle }, this.renderChevron(config.size)), this.renderDropdown(preset)));
228
+ }
229
+ return (h("div", { class: "sd-dropdown-button" }, h("button", { type: "button", class: this.getTriggerClasses(preset, config.size, this.disabled, this.isOpen), disabled: this.disabled, "aria-haspopup": "menu", "aria-expanded": String(this.isOpen), onClick: this.toggleDropdown, ref: el => (this.triggerRef = el), style: triggerStyle }, h("span", { class: "sd-dropdown-button__trigger-label" }, this.label), this.renderChevron(config.size)), this.renderDropdown(preset)));
205
230
  }
206
231
  static get is() { return "sd-dropdown-button"; }
207
232
  static get originalStyleUrls() {
@@ -307,6 +332,26 @@ export class SdDropdownButton extends BaseDropdownEvent {
307
332
  "reflect": false,
308
333
  "attribute": "disabled",
309
334
  "defaultValue": "false"
335
+ },
336
+ "split": {
337
+ "type": "boolean",
338
+ "mutable": false,
339
+ "complexType": {
340
+ "original": "boolean",
341
+ "resolved": "boolean",
342
+ "references": {}
343
+ },
344
+ "required": false,
345
+ "optional": false,
346
+ "docs": {
347
+ "tags": [],
348
+ "text": ""
349
+ },
350
+ "getter": false,
351
+ "setter": false,
352
+ "reflect": false,
353
+ "attribute": "split",
354
+ "defaultValue": "false"
310
355
  }
311
356
  };
312
357
  }
@@ -340,6 +385,21 @@ export class SdDropdownButton extends BaseDropdownEvent {
340
385
  }
341
386
  }
342
387
  }
388
+ }, {
389
+ "method": "buttonClick",
390
+ "name": "sdButtonClick",
391
+ "bubbles": true,
392
+ "cancelable": true,
393
+ "composed": true,
394
+ "docs": {
395
+ "tags": [],
396
+ "text": ""
397
+ },
398
+ "complexType": {
399
+ "original": "void",
400
+ "resolved": "void",
401
+ "references": {}
402
+ }
343
403
  }, {
344
404
  "method": "dropDownShow",
345
405
  "name": "sdDropDownShow",
@@ -172,20 +172,20 @@ export class SdField {
172
172
  : {}),
173
173
  }
174
174
  : {};
175
- return (h("div", { key: 'fa7d46fb1cdfa572c19fe5014c5f2df6579537fa', class: {
175
+ return (h("div", { key: '1cc135c77708546f23b699bf337c018f6c4d315e', class: {
176
176
  'sd-field': true,
177
177
  'sd-field--has-label': this.label !== '',
178
178
  'sd-field--has-addon': addon !== '',
179
179
  [this.fieldStatus]: this.fieldStatus !== '',
180
- }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars } }, h("div", { key: '92d544710c5f49f17342c2c5d9f4e499e995b3b2', class: "sd-field__wrapper" }, this.renderLabel(this.label), h("div", { key: '1740f6d0c385311cf714b7e64fd7f5513f758c3e', class: "sd-field__main", style: this.width !== '' && this.width !== 0
180
+ }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars } }, h("div", { key: '506ace23aa27ad50a8ad60dcf6c71a0bdf04d7af', class: "sd-field__wrapper" }, this.renderLabel(this.label), h("div", { key: '41b77a52c21eef8c38127362423378f1b9a6cb77', class: "sd-field__main", style: this.width !== '' && this.width !== 0
181
181
  ? {
182
182
  width: typeof this.width === 'number' ? `${this.width}px` : this.width,
183
183
  flex: 'none',
184
184
  }
185
- : {} }, h("div", { key: '1364e46db78dc55b1139035296d2e6f33cb8fbb6', class: {
185
+ : {} }, h("div", { key: '1f3c5f2009a0d96b8a3544c58b96f7ecc4ddee6b', class: {
186
186
  'sd-field__control': true,
187
187
  'sd-field__control--has-addon': addon !== '',
188
- } }, addon && h("div", { key: '638c670ec084e51af7d9ec566c93e00a3d158eef', class: "sd-field__addon" }, addon), h("slot", { key: 'e1b00ee9db0a0e8dade33166dc908183304bc37f' })), 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))))));
188
+ } }, addon && h("div", { key: '39a28adaa959b89d3724672910157662e50b35ed', class: "sd-field__addon" }, addon), h("slot", { key: '0c9360e8644df658c389554c13a04bc22985e84d' })), 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))))));
189
189
  }
190
190
  renderLabel(label) {
191
191
  if (label == null || label === '')
@@ -153,7 +153,7 @@ export class SdFloatingPopover {
153
153
  }
154
154
  }
155
155
  render() {
156
- return h("slot", { key: 'c4543ebf24c83fc67bdda0340adb00f02761b62e' });
156
+ return h("slot", { key: 'df97046860db0225724f9768428063a3390c5f6e' });
157
157
  }
158
158
  static get is() { return "sd-floating-portal"; }
159
159
  static get originalStyleUrls() {
@@ -1,5 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { GUIDE_CONFIG } from "./sd-guide.config";
3
+ import { sanitizeInlineHtml } from "../../utils/html/sanitize-inline-html";
3
4
  const DEFAULT_LABEL_BY_TYPE = {
4
5
  tip: '활용 TIP',
5
6
  notion: '사용법 안내',
@@ -76,10 +77,10 @@ export class SdGuide {
76
77
  const buttonClasses = ['sd-guide__button', `sd-guide__button--type-${this.type ?? 'tip'}`];
77
78
  if (isActive)
78
79
  buttonClasses.push('sd-guide__button--active');
79
- return (h("div", { key: '9d5ad3049230e61d1aae3cd9270dd84f89fb5b1c', class: "sd-guide", style: this.guideStyle }, h("sd-button", { key: 'ac55b4d96f64695a0fbfedf7bf0e451b7afdc499', 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: 'df51b29383f7449720d8700387bb44fbd4dbebba', open: this.popupShow, parentRef: this.guideRef, onSdClose: this.closeDropdown, offset: [0, 4] }, h("div", { key: '265390b48b9d37e9c7f92e19ef124da3faae6590', style: { position: 'absolute', width: '0px', height: '0px' } }, h("div", { key: 'b45c101ac8dd6e4d490661b377979226335defa2', class: "sd-guide__popup", style: {
80
+ 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: '2a803402b120509ef8b6de361f360a7b5b96e9db', style: { position: 'absolute', width: '0px', height: '0px' } }, h("div", { key: '3e591b85ac24ea1db37bdaaf130f983d70ef2f36', class: "sd-guide__popup", style: {
80
81
  ...this.guideStyle,
81
82
  width: this.popupWidth != null ? this.popupWidth + 'px' : '426px',
82
- } }, h("sd-ghost-button", { key: 'd91722fedd8cd4f74e673964c90b1840ccfcd8e1', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), h("div", { key: 'b7bb7ffa79363939f4b6144d48732e686ec5e365', class: "sd-guide__popup__header" }, h("sd-icon", { key: 'cfe42d9139cdae8a90ce81af3dbc7636dc56b380', name: iconName, size: 24, color: popupIconColor }), h("h3", { key: '9724df2304c13c36e21a6e1ef3be7d4b0f5e5454', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), h("ul", { key: '8f5eec181c32b7d0220963ce57e82e952094ad36', class: "sd-guide__popup__list" }, this.renderListItem(this.message))))))));
83
+ } }, h("sd-ghost-button", { key: '1aa20f7bd3a1ba45c4932a67a8c1e67d6e068702', class: "sd-guide__popup__close", icon: "close", ariaLabel: "close", size: "sm", onSdClick: this.closeDropdown }), h("div", { key: 'e48378d1731e0b9fcd5990cb908ae3af236d0346', class: "sd-guide__popup__header" }, h("sd-icon", { key: 'c8c71c7c2f0fdb25e3741415c1f1fae1a8d4d3d2', name: iconName, size: 24, color: popupIconColor }), h("h3", { key: '4996225c27fbeae4fd9b4d68d6e493d87225d427', class: "sd-guide__popup__title" }, this.popupTitle || defaultLabel)), h("ul", { key: 'edb2d35594b47f19f2e847ba546fac0fc19b21b4', class: "sd-guide__popup__list" }, this.renderListItem(this.message))))))));
83
84
  }
84
85
  // 현재 2depth까지만 스타일 적용
85
86
  renderListItem(message, depth = 0) {
@@ -94,7 +95,7 @@ export class SdGuide {
94
95
  return listItems;
95
96
  }
96
97
  renderLi = (message, depth) => {
97
- return (h("li", { class: `sd-guide__popup__list__item sd-guide__popup__list__item--depth-${depth}` }, h("p", { innerHTML: message })));
98
+ return (h("li", { class: `sd-guide__popup__list__item sd-guide__popup__list__item--depth-${depth}` }, h("p", { innerHTML: sanitizeInlineHtml(message) })));
98
99
  };
99
100
  static get is() { return "sd-guide"; }
100
101
  static get originalStyleUrls() {
@@ -112,12 +112,12 @@ export class SdInput {
112
112
  '--sd-system-size-field-sm-height': `${sizeTokens.height}px`,
113
113
  '--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
114
114
  };
115
- return (h("sd-field", { key: 'c24b885ef9ca21fb69c1b67f2619896d4bd56155', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("label", { key: '45a5669d2c8d7d571f50152f81139cedc8a2db3b', class: "sd-input__content" }, h("slot", { key: 'c1d032ee22344725e1d041c2351dd7785a8b6b5d', name: "prefix" }), h("input", { key: '8433abb36e666a7546870a9e3b77325e9c39551a', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : (this.type ?? 'text'), value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, autocomplete: this.autocomplete || undefined, maxlength: this.maxlength, minlength: this.minlength, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), h("slot", { key: '9f5eef3c48f88b90be2c821b1d43e2e9a9f91441', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && !this.readonly && (h("sd-ghost-button", { key: '62ab3e8e02a9db5424e573542dc10bde5a9fc4b8', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
115
+ return (h("sd-field", { key: '184bd0b614071b1c26d0ef3588db8eea1ac519cb', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("label", { key: '599d757b62bd61be0ba5c2dde2e1030b4d6f2973', class: "sd-input__content" }, h("slot", { key: '8b71b1449225e51cbab4204e34c077d83101e09e', name: "prefix" }), h("input", { key: 'ed48cf8544adc9e3475229b03129ace0af0e6d4e', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : (this.type ?? 'text'), value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, autocomplete: this.autocomplete || undefined, maxlength: this.maxlength, minlength: this.minlength, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), h("slot", { key: 'f084df7c3174756111c6eeb824202e26273d369a', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && !this.readonly && (h("sd-ghost-button", { key: '62f87c780b971ef43ec9bd15ae47d1f773ec18ca', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
116
116
  if (this.disabled || this.readonly)
117
117
  return;
118
118
  this.internalValue = '';
119
119
  await this.formField?.sdValidate();
120
- } })), this.type === 'password' && (h("sd-ghost-button", { key: '0a16665e73a674c7208c7f488b50442c353e3fde', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled || this.readonly, class: "sd-input__password-icon", onClick: () => {
120
+ } })), this.type === 'password' && (h("sd-ghost-button", { key: '83f511acdc0db74f6d7745e4a47c731f9bcf9bb5', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled || this.readonly, class: "sd-input__password-icon", onClick: () => {
121
121
  if (this.disabled || this.readonly)
122
122
  return;
123
123
  this.passwordVisible = !this.passwordVisible;
@@ -28,7 +28,7 @@ export class SdLinearProgress {
28
28
  clipPath: `inset(0 ${100 - this.clampedValue}% 0 0)`,
29
29
  };
30
30
  const valueText = `${Math.round(this.clampedValue)}%`;
31
- return (h(Host, { key: '6fb48662dc2c921237a387c748bbc529ba5ea77f', style: hostStyle }, h("div", { key: 'e8fa0fdf4ac3ceeaae74fff6194c1f66b9138bc7', class: 'sd-linear-progress__track' }, h("div", { key: '7016850214e73fc6a9079e8f54674976d0320adf', class: 'sd-linear-progress__fill', style: fillStyle }), !this.indeterminate && (h("span", { key: '154b18f54d79ddbacf720370dc9ace94508c6667', class: 'sd-linear-progress__value sd-linear-progress__value--on-track' }, valueText)), !this.indeterminate && (h("span", { key: '555e41d961ad7d061ac71347e998641d104f499d', class: 'sd-linear-progress__value sd-linear-progress__value--on-fill', style: valueOnFillStyle }, valueText))), this.label && h("span", { key: 'f90f3df3b959aee549fab33a62a85d6df6ba8410', class: 'sd-linear-progress__label' }, this.label)));
31
+ return (h(Host, { key: '41d89c01b35a6edba09a3ef9f848458d284d491a', style: hostStyle }, h("div", { key: '79d7490c934437aa0075e39aea0f352dec61eae0', class: 'sd-linear-progress__track' }, h("div", { key: 'd6743f9b4f5a086e11a368989fd0f52a10bdc2ef', class: 'sd-linear-progress__fill', style: fillStyle }), !this.indeterminate && (h("span", { key: '2d013c7cdf438e069d00c6fcddfca12ff55490e6', class: 'sd-linear-progress__value sd-linear-progress__value--on-track' }, valueText)), !this.indeterminate && (h("span", { key: '4f473a670cab7b0d104f9c455c28e415d5863a86', class: 'sd-linear-progress__value sd-linear-progress__value--on-fill', style: valueOnFillStyle }, valueText))), this.label && h("span", { key: '6581d326a1d05413587b44715613a4d878e4f658', class: 'sd-linear-progress__label' }, this.label)));
32
32
  }
33
33
  static get is() { return "sd-linear-progress"; }
34
34
  static get originalStyleUrls() {
@@ -10,10 +10,10 @@ export class SdLoadingContainer {
10
10
  this.visible = false;
11
11
  }
12
12
  render() {
13
- return (h("div", { key: '08675a9dc0b1c11c42fb65a414f0fed88d03f1b0', class: {
13
+ return (h("div", { key: '99c6d9e798862f41142f246f371a357cd604aa44', class: {
14
14
  'sd-loading-container': true,
15
15
  'sd-loading-container--visible': this.visible,
16
- }, "aria-hidden": this.visible ? 'false' : 'true' }, h("div", { key: '4a10e9009d824bef1bf2f9930941931dc1fef43a', class: "sd-loading-container__backdrop" }), h("div", { key: '88edd1c19f5d22057e1e14f1e6bd10e23f45ec7b', class: "sd-loading-container__content" }, h("sd-circle-progress", { key: 'b9c67678d799e429ec6cb2d3094da7bcc4cea150', indeterminate: true, type: "inverse" }), this.message && (h("p", { key: 'ce016465e9d8b20f2121e8846bff75bbad5d7d94', class: "sd-loading-container__message" }, this.message)))));
16
+ }, "aria-hidden": this.visible ? 'false' : 'true' }, h("div", { key: 'b836c7d283113e57d0947a178035591521dc8ee2', class: "sd-loading-container__backdrop" }), h("div", { key: '02f1ae9b17eedb29f24d0170c65ef4217f38a5b5', class: "sd-loading-container__content" }, h("sd-circle-progress", { key: '3d9c1b33693e823c4c55967d00a63eff8a2a805e', indeterminate: true, type: "inverse" }), this.message && (h("p", { key: '46c060f444506a9771507b09fd0867f763a95680', class: "sd-loading-container__message" }, this.message)))));
17
17
  }
18
18
  static get is() { return "sd-loading-container"; }
19
19
  static get originalStyleUrls() {
@@ -45,7 +45,7 @@ export class SdLoadingModal {
45
45
  '--sd-loading-modal-width': this.toCssSize(this.width) ?? `${LOADING_MODAL_LAYOUT.minWidth}px`,
46
46
  '--sd-loading-modal-height': this.toCssSize(this.height) ?? `${LOADING_MODAL_LAYOUT.minHeight}px`,
47
47
  };
48
- return (h(Host, { key: '3d792e07772b93de139fa505f061004b037ed05b', style: hostStyle }, h("div", { key: '8b63d47c502bdd66f893a484c4af36d2e8302081', class: "sd-loading-modal" }, h("div", { key: '5b35a93e1aed2e8d9f5eebfcbe0222c4f38b5536', class: "sd-loading-modal__content" }, this.resolvedState === 'loading' ? (h("sd-circle-progress", { indeterminate: true })) : (h("sd-icon", { class: "sd-loading-modal__icon", name: "warningOutline", size: LOADING_MODAL_LAYOUT.contentSize, color: LOADING_MODAL_COLORS.errorIcon }))), h("div", { key: '591bae1563f4b5c5dc8bce22161d99929fb18ce5', class: "sd-loading-modal__message-wrapper" }, Array.isArray(this.resolvedMessage) ? (this.resolvedMessage.map(message => (h("p", { class: "sd-loading-modal__message" }, message)))) : (h("p", { class: "sd-loading-modal__message" }, this.resolvedMessage))), this.useButton && (h("div", { key: '577acd55fb35229459990f7f1ca4f710c26c51d4', class: "sd-loading-modal__button" }, h("sd-button", { key: 'cda4f1b9a8bee1897efb53671c0f715858377ba7', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
48
+ return (h(Host, { key: '9276c9080c3f9bf2fdf31d1bb5e2b918a49b6a5a', style: hostStyle }, h("div", { key: '6f8d55dd13a92f248e0f7ed50c268f9105975913', class: "sd-loading-modal" }, h("div", { key: 'f40f91f1d61c6ba1bb2049277c664d5abd4657e8', class: "sd-loading-modal__content" }, this.resolvedState === 'loading' ? (h("sd-circle-progress", { indeterminate: true })) : (h("sd-icon", { class: "sd-loading-modal__icon", name: "warningOutline", size: LOADING_MODAL_LAYOUT.contentSize, color: LOADING_MODAL_COLORS.errorIcon }))), h("div", { key: '1ecad303970f074b50dab0050872a95ddc99aad4', class: "sd-loading-modal__message-wrapper" }, Array.isArray(this.resolvedMessage) ? (this.resolvedMessage.map(message => (h("p", { class: "sd-loading-modal__message" }, message)))) : (h("p", { class: "sd-loading-modal__message" }, this.resolvedMessage))), this.useButton && (h("div", { key: 'dd45d56a5475dc766487859e13e460bc2e27ec82', class: "sd-loading-modal__button" }, h("sd-button", { key: '5d11fa174168c568fd71013ee5600e0884f28c50', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
49
49
  }
50
50
  static get is() { return "sd-loading-modal"; }
51
51
  static get originalStyleUrls() {
@@ -486,6 +486,14 @@ export class SdModalContainer {
486
486
  "path": "./sd-modal-container.config",
487
487
  "id": "src/components/sd-modal-container/sd-modal-container.config.ts::LoadingModalOptions",
488
488
  "referenceLocation": "LoadingModalOptions"
489
+ },
490
+ "HTMLSdLoadingModalElement": {
491
+ "location": "global",
492
+ "id": "global::HTMLSdLoadingModalElement"
493
+ },
494
+ "HTMLSdConfirmModalElement": {
495
+ "location": "global",
496
+ "id": "global::HTMLSdConfirmModalElement"
489
497
  }
490
498
  },
491
499
  "return": "Promise<void>"
@@ -12,6 +12,9 @@ export class SdNumberInput {
12
12
  value = null;
13
13
  label;
14
14
  labelWidth = '';
15
+ icon = undefined;
16
+ labelTooltip = '';
17
+ labelTooltipProps = null;
15
18
  addonLabel = '';
16
19
  addonAlign = 'start';
17
20
  placeholder = '입력해 주세요.';
@@ -272,15 +275,15 @@ export class SdNumberInput {
272
275
  '--sd-textinput-input-hint-typography-line-height': `${NUMBER_INPUT_HINT.typography.lineHeight}px`,
273
276
  '--sd-textinput-input-contents-gap': `${NUMBER_INPUT_CONTENTS_GAP}px`,
274
277
  };
275
- return (h("sd-field", { key: '3ed260707f7e1b1a88d1407bb4b3c1965b302bcf', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("div", { key: '889cd4055b46e0727aed2b78f2a8bbeeca88cfed', class: {
278
+ return (h("sd-field", { key: '36525cd069e57fc9177e25065381f722d1afa66e', name: this.name, label: this.label, labelWidth: this.labelWidth, addonLabel: this.addonLabel, addonAlign: this.addonAlign, hint: this.hint, errorMessage: this.errorMessage, width: this.width, rules: this.rules, error: this.error, disabled: this.disabled, readonly: this.readonly, focused: this.focused, hovered: this.hovered, status: this.status, size: this.size, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, h("div", { key: '47e0981ffcd5dd5182fa5586fda0014be865da9e', class: {
276
279
  'sd-number-input__content': true,
277
280
  'sd-number-input__content--no-stepper': !this.useButton,
278
- } }, this.useButton && (h("button", { key: '5213f04a1db8a779762ae41672fd016388a06aa7', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: '76910ba2b46a78eb2e4aaf7241eeb7aa1223c92a', name: "minus", size: iconSize, color: this.isDecrementDisabled()
281
+ } }, this.useButton && (h("button", { key: '7f5afc1ded2c889ccf7d689f4ee058cb171571d9', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'fd980fd4e568feaaebb19621ca837201bea519dd', name: "minus", size: iconSize, color: this.isDecrementDisabled()
279
282
  ? NUMBER_INPUT_STEPPER.icon.disabled
280
- : NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && h("span", { key: '273b809ff5bd5ebb2e8cd09a9df3f6f84167aeb2', class: "sd-number-input__prefix" }, this.inputPrefix), h("input", { key: '72917348a5ded30f5d8c4066af8e56d50de67db0', name: this.name, ref: el => (this.nativeEl = el), class: `sd-number-input__native ${this.inputClass}`, type: "text", inputMode: "numeric", value: this.displayValue, placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, style: {
283
+ : NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && h("span", { key: '2af6450d437cc765697e0bb4c8a0fcb58a9abd2f', class: "sd-number-input__prefix" }, this.inputPrefix), h("input", { key: '21396363bd0e08f1639cd5a56b0bb7d5c9acd6c1', name: this.name, ref: el => (this.nativeEl = el), class: `sd-number-input__native ${this.inputClass}`, type: "text", inputMode: "numeric", value: this.displayValue, placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, style: {
281
284
  textAlign: this.useButton ? 'center' : 'right',
282
285
  ...this.inputStyle,
283
- } }), this.inputSuffix && h("span", { key: '232aa43852396a617e49403d30b4514aaf896740', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (h("button", { key: 'f9dab4cd21deb933e72a8ad906cafbbf1cae1e5a', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: '73208aca8e5e9be431ba03b4755053c74ec70296', name: "add", size: iconSize, color: this.isIncrementDisabled()
286
+ } }), this.inputSuffix && h("span", { key: 'd3cd84cd41e0161cfe0b13ed44b412991e498a92', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (h("button", { key: '0a1fdf262b953ce79515ab9771d3177560e11eed', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: '5ffd93512d528309a9051d01f59bb31f1b1f9bb8', name: "add", size: iconSize, color: this.isIncrementDisabled()
284
287
  ? NUMBER_INPUT_STEPPER.icon.disabled
285
288
  : NUMBER_INPUT_STEPPER.icon.default }))))));
286
289
  }
@@ -483,6 +486,74 @@ export class SdNumberInput {
483
486
  "attribute": "label-width",
484
487
  "defaultValue": "''"
485
488
  },
489
+ "icon": {
490
+ "type": "unknown",
491
+ "mutable": false,
492
+ "complexType": {
493
+ "original": "IconProps",
494
+ "resolved": "IconProps | undefined",
495
+ "references": {
496
+ "IconProps": {
497
+ "location": "global",
498
+ "id": "global::IconProps"
499
+ }
500
+ }
501
+ },
502
+ "required": false,
503
+ "optional": true,
504
+ "docs": {
505
+ "tags": [],
506
+ "text": ""
507
+ },
508
+ "getter": false,
509
+ "setter": false,
510
+ "defaultValue": "undefined"
511
+ },
512
+ "labelTooltip": {
513
+ "type": "string",
514
+ "mutable": false,
515
+ "complexType": {
516
+ "original": "string",
517
+ "resolved": "string",
518
+ "references": {}
519
+ },
520
+ "required": false,
521
+ "optional": false,
522
+ "docs": {
523
+ "tags": [],
524
+ "text": ""
525
+ },
526
+ "getter": false,
527
+ "setter": false,
528
+ "reflect": false,
529
+ "attribute": "label-tooltip",
530
+ "defaultValue": "''"
531
+ },
532
+ "labelTooltipProps": {
533
+ "type": "unknown",
534
+ "mutable": false,
535
+ "complexType": {
536
+ "original": "SdTooltipProps | null",
537
+ "resolved": "SdTooltip | null",
538
+ "references": {
539
+ "SdTooltipProps": {
540
+ "location": "import",
541
+ "path": "../sd-tooltip/sd-tooltip.config",
542
+ "id": "src/components/sd-tooltip/sd-tooltip.config.ts::SdTooltipProps",
543
+ "referenceLocation": "SdTooltipProps"
544
+ }
545
+ }
546
+ },
547
+ "required": false,
548
+ "optional": false,
549
+ "docs": {
550
+ "tags": [],
551
+ "text": ""
552
+ },
553
+ "getter": false,
554
+ "setter": false,
555
+ "defaultValue": "null"
556
+ },
486
557
  "addonLabel": {
487
558
  "type": "string",
488
559
  "mutable": false,
@@ -83,13 +83,13 @@ export class SdPagination {
83
83
  '--sd-pagination-bg-selected': PAGINATION_COLORS.bgSelected,
84
84
  '--sd-pagination-item-width': `${this.buttonWidth}px`,
85
85
  };
86
- return (h("div", { key: '251d9b3bcff3cf985d62b1a8717f622d209b3fa1', class: {
86
+ return (h("div", { key: '36a334a05ade253a6345e82d57647a4bab0c94cf', class: {
87
87
  'sd-pagination': true,
88
88
  'sd-pagination--simple': this.simple,
89
- }, style: cssVars }, h("div", { key: 'd143917676ccd97c1f4fc8e7220857d543efa5fd', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (h("div", { class: "sd-pagination__info" }, h("span", { class: "sd-pagination__current" }, this.currentPage), h("span", { class: "sd-pagination__divider" }, "/"), h("span", { class: "sd-pagination__last" }, this.lastPage))) : (h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
89
+ }, style: cssVars }, h("div", { key: '50963e0cdf4da3078020207c0115ccebfe1881d6', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (h("div", { class: "sd-pagination__info" }, h("span", { class: "sd-pagination__current" }, this.currentPage), h("span", { class: "sd-pagination__divider" }, "/"), h("span", { class: "sd-pagination__last" }, this.lastPage))) : (h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
90
90
  'sd-pagination__item': true,
91
91
  'sd-pagination__item--selected': this.currentPage === n,
92
- }, onClick: () => this.handlePageChange(n) }, n))))), h("div", { key: 'e58053cef21c57d88f5b1357101507418b2db002', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
92
+ }, onClick: () => this.handlePageChange(n) }, n))))), h("div", { key: 'a0d0b565cd2b5108c997888b2536ee740b167367', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
93
93
  }
94
94
  static get is() { return "sd-pagination"; }
95
95
  static get originalStyleUrls() {
@@ -19,7 +19,6 @@ export class SdPopover {
19
19
  leftLink;
20
20
  button;
21
21
  menuClass = '';
22
- useClose = false;
23
22
  showChange;
24
23
  buttonEl;
25
24
  setShow = (next) => {
@@ -51,17 +50,17 @@ export class SdPopover {
51
50
  const leftLink = this.leftLink;
52
51
  const button = this.button;
53
52
  const hasFooter = !!leftLink || !!button;
54
- return (h(Fragment, { key: 'b50da46efd85cdb48f66b24c591ab662a9fd62cb' }, this.label !== '' ? (h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (h("sd-floating-portal", { key: 'a31d6c00a9b61826fa412247f603d78874a3dba6', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, h("div", { key: '11020f31a14dbb7325b30ebc48315b344662cf43', class: {
53
+ return (h(Fragment, { key: '7bf954f334ae12586a02b799139dc29421a86551' }, this.label !== '' ? (h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel, disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (h("sd-floating-portal", { key: 'f785e5851cf126052d2c016220d9ff2376f2a9f3', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, h("div", { key: '5eb30ad12f0f1cb3f23ae90e6b51e9c545dee8fd', class: {
55
54
  'sd-floating-menu': true,
56
55
  'sd-floating-menu--popover': true,
57
56
  [`sd-floating-menu--${placement}`]: true,
58
57
  [menuClass]: menuClass !== '',
59
58
  }, style: {
60
59
  '--sd-floating-bg': popoverTokens.popover.bg,
61
- } }, h("i", { key: '51b35ade68a68c92b7488b97f2b1808d7fcf33e5', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: 'd491c997e07a2bb2d4a3ad3624d5098457f91c05' })), h("div", { key: '19bfc90b0c5da4fe736aad3b8b2061ac58d8efb4', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: '31875711b7cd54c0c48f0017ac94365c3cc97821', class: "sd-floating-menu__title" }, this.menuTitle), messages.length > 0 && (h("div", { key: '9c78a748831045f96fe48fd2ae9dcd85b1335aa0', class: "sd-floating-menu__messages" }, messages.map((message, i) => (h("div", { key: `msg-${i}` }, message))))), hasFooter && (h("div", { key: '787f0d2ac133bef9f72ce248b943b0ff9883db9e', class: {
60
+ } }, h("i", { key: '632639d52731fe47baf2860464013a4d0fd3c3d8', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, h(TooltipArrow, { key: '1f963e1a52b09803fd9f2d1f1ce7a07023951fc9' })), h("div", { key: '1c90735369085c465321e398775c4ce484190479', class: "sd-floating-menu__content" }, this.menuTitle && h("div", { key: '29584cd7bcb244c3fb6b0cb895a5c4b55093418a', class: "sd-floating-menu__title" }, this.menuTitle), messages.length > 0 && (h("div", { key: '2c7a9671cbec98f0fb393b1d049bfecc1e8b8013', class: "sd-floating-menu__messages" }, messages.map((message, i) => (h("div", { key: `msg-${i}` }, message))))), hasFooter && (h("div", { key: '18667a0a8eaf8f022513b048095c24487dd4ae98', class: {
62
61
  'sd-floating-menu__buttons': true,
63
62
  'sd-floating-menu__buttons--with-link': !!leftLink,
64
- } }, leftLink && (h("sd-text-link", { key: '2000a926c2c808e6ee51f47905fadf8847553bfe', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', useArrow: !!leftLink.useArrow, underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (h("sd-button", { key: 'cca9d6bef231fe4c469d8895fefa8b6d5855a57c', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel, disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), this.useClose && (h("sd-ghost-button", { key: '032461787d74367ea047c088e08704ce7409f74b', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose })))))));
63
+ } }, leftLink && (h("sd-text-link", { key: 'efbeb3047ea9eb62eba2f5940ec4f71f46d1c479', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', useArrow: !!leftLink.useArrow, underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (h("sd-button", { key: '9044ee54225a7b441c85d1acf3355e2d3688f942', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel, disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), h("sd-ghost-button", { key: '4f37394444b692ff5a2b736fe3514e51eb49b601', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
65
64
  }
66
65
  static get is() { return "sd-popover"; }
67
66
  static get originalStyleUrls() {
@@ -421,26 +420,6 @@ export class SdPopover {
421
420
  "reflect": false,
422
421
  "attribute": "menu-class",
423
422
  "defaultValue": "''"
424
- },
425
- "useClose": {
426
- "type": "boolean",
427
- "mutable": false,
428
- "complexType": {
429
- "original": "boolean",
430
- "resolved": "boolean",
431
- "references": {}
432
- },
433
- "required": false,
434
- "optional": false,
435
- "docs": {
436
- "tags": [],
437
- "text": ""
438
- },
439
- "getter": false,
440
- "setter": false,
441
- "reflect": false,
442
- "attribute": "use-close",
443
- "defaultValue": "false"
444
423
  }
445
424
  };
446
425
  }
@@ -1,5 +1,7 @@
1
1
  import popupTokens from "../../tokens/generated/component.popup.json";
2
+ import systemTokens from "../../tokens/generated/system.json";
2
3
  const { popup } = popupTokens;
4
+ const shadowSpreadMd = systemTokens.shadow.spread.md;
3
5
  export const POPUP_LAYOUT = {
4
6
  bodyBg: popup.bg,
5
7
  };
@@ -16,7 +18,6 @@ export const POPUP_HEADER = {
16
18
  fontWeight: popup.header.typography.fontWeight,
17
19
  fontSize: Number(popup.header.typography.fontSize),
18
20
  lineHeight: Number(popup.header.typography.lineHeight),
19
- // TODO: 토큰 반영 후 교체
20
21
  height: 50,
21
22
  paddingX: 16,
22
23
  paddingY: 10,
@@ -26,9 +27,7 @@ export const POPUP_FOOTER = {
26
27
  paddingX: Number(popup.footer.paddingX),
27
28
  paddingY: Number(popup.footer.paddingY),
28
29
  gap: Number(popup.footer.gap),
29
- // TODO: 토큰 반영 후 교체
30
30
  height: 52,
31
31
  slotHeight: 36,
32
- // TODO: shadow/spread/md 토큰 반영 교체
33
- shadow: '0 -2px 8px 0 rgba(0, 0, 0, 0.08)',
32
+ shadow: `${shadowSpreadMd.x}px ${shadowSpreadMd.y}px ${shadowSpreadMd.blur}px ${shadowSpreadMd.spread}px ${shadowSpreadMd.color}`,
34
33
  };
@@ -1,5 +1,5 @@
1
1
  import { h } from "@stencil/core";
2
- import { POPUP_FOOTER, POPUP_HEADER, POPUP_LAYOUT, } from "./sd-popup.config";
2
+ import { POPUP_FOOTER, POPUP_HEADER, POPUP_LAYOUT } from "./sd-popup.config";
3
3
  const DEFAULT_SUBMIT_BUTTON_PROPS = {
4
4
  name: 'primary_md',
5
5
  label: '확인',
@@ -7,6 +7,8 @@ const DEFAULT_SUBMIT_BUTTON_PROPS = {
7
7
  export class SdPopup {
8
8
  popupTitle = '';
9
9
  type = 'default';
10
+ // 기본 footer 표시가 자연스러운 UX. prop 이름 변경(hideFooter 등)은 public API breaking 이라 별도 이슈로 분리.
11
+ // eslint-disable-next-line stencil/ban-default-true
10
12
  useFooter = true;
11
13
  submitButtonProps;
12
14
  submit;
@@ -34,7 +36,7 @@ export class SdPopup {
34
36
  ...DEFAULT_SUBMIT_BUTTON_PROPS,
35
37
  ...this.submitButtonProps,
36
38
  };
37
- return (h("div", { key: '0c9f1cd261fa533044309342cfbaae8f5b87ae31', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, h("header", { key: 'd8aa4db4d150419f5653fd93e204cc4bd865c35e', class: "sd-popup__header" }, h("h2", { key: 'fce95fce48a91c3a2b60f0b1169113cd2ff157d6', class: "sd-popup__title" }, this.popupTitle)), h("div", { key: 'c730895828c14a6a80fe6bebecb08f386cc84a78', class: "sd-popup__body" }, h("slot", { key: 'f3402c32fdc55794fb2c877a41c9f73e3c0d6d9f' })), this.useFooter && (h("footer", { key: '4b04ebc0dccc07dd9466c06c940d3444346603ba', class: "sd-popup__footer" }, h("div", { key: '78b35347121652d647e3601e6c6164e8e21288ca', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, h("slot", { key: '98836c28e7de97466cf4285c0458a8709c3788bb', name: "footer-left" })), h("sd-button", { key: 'd9ab45765c66a2f86aec2df9fc056fa1f4605259', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
39
+ return (h("div", { key: '77379698e76b000368df2d2b7345010cde3df7ba', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, h("header", { key: 'e00d2292b718bfd21e491a09e5ea8c18fbb1a2c8', class: "sd-popup__header" }, h("h2", { key: 'b8bac8f58f7f916a3b6fe40a66d21318da45d4d3', class: "sd-popup__title" }, this.popupTitle)), h("div", { key: '56e5b653539752b9fd0fa4694f7342914cd7abc6', class: "sd-popup__body" }, h("slot", { key: '183fafa8179a3350817ec6e3dea12281860f7639' })), this.useFooter && (h("footer", { key: 'd1b7fe2d67e5f3ad3b3f8e20408271fdaab86d93', class: "sd-popup__footer" }, h("div", { key: '7cc5d0bd9d314942d8d5f982f1f459c56fde4bc0', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, h("slot", { key: 'ffb52c9d679e4ddf9e50e012f8a9aa02b0cb1f95', name: "footer-left" })), h("sd-button", { key: '3ab8061bf4119a9351921a41c3d9cb942c00b5d1', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
38
40
  }
39
41
  static get is() { return "sd-popup"; }
40
42
  static get originalStyleUrls() {
@@ -220,7 +220,7 @@ export class SdPortal {
220
220
  this.close.emit();
221
221
  }
222
222
  render() {
223
- return h("slot", { key: '1f46253fe0f70fda84643e8d3025c1fd47090f5c' });
223
+ return h("slot", { key: 'a227fa8a0639de7fd3a014762998692151284f87' });
224
224
  }
225
225
  static get is() { return "sd-portal"; }
226
226
  static get properties() {
@@ -70,7 +70,7 @@ export class SdSelectListItem {
70
70
  return (
71
71
  // 키보드 네비게이션은 부모 listbox 의 ArrowUp/Down + Enter 가 담당. 항목 자체는 role=option, tabindex=-1 으로 표시.
72
72
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events
73
- h("div", { key: '93e8bf04e69d9e6f066952570ed06076bdd17e57', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
73
+ h("div", { key: '33f5d4383d2bfac91507d72d98b8a73b380a70e8', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
74
74
  'sd-select-list-item': true,
75
75
  'sd-select-list-item--group': isGroup,
76
76
  'sd-select-list-item--depth1-group': isDepth1Group,
@@ -80,7 +80,7 @@ export class SdSelectListItem {
80
80
  'sd-select-list-item--focused': this.isFocused,
81
81
  'sd-select-list-item--selectable': this.isSelectable && !this.option.disabled,
82
82
  'sd-select-list-item--disabled': !!this.option.disabled,
83
- }, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (h("sd-checkbox", { key: '2b6a17361c2e5c65c6dac21895ef397cadeec9a3', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), h("span", { key: '158e45d52b3b5394f7c4e2ffff97d23f83ce5e49', class: "sd-select-list-item__label" }, this.option.label), this.countInfo && (h("span", { key: '48adac9df92cd19f5e2b39bed828a9ad7c22c945', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
83
+ }, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (h("sd-checkbox", { key: 'a93dec7a45e140d7f715a6fc823c4438c58cdd8f', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), h("span", { key: '81b0bfdd0825b795f2638d6529e8c5fb346be6db', class: "sd-select-list-item__label" }, this.option.label), this.countInfo && (h("span", { key: '2e1425a5d6ab9082a30b4d9079be1d4104d95fc2', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
84
84
  }
85
85
  static get is() { return "sd-select-list-item"; }
86
86
  static get originalStyleUrls() {