@sellmate/design-system 1.17.0 → 1.19.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 (301) hide show
  1. package/dist/cjs/component.listItem-Bnh0r_CA.js +53 -0
  2. package/dist/cjs/design-system.cjs.js +1 -1
  3. package/dist/cjs/index.cjs.js +11 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/sd-button_2.cjs.entry.js +54 -0
  6. package/dist/cjs/sd-calendar_2.cjs.entry.js +2 -2
  7. package/dist/cjs/sd-chip-input.cjs.entry.js +263 -18
  8. package/dist/cjs/sd-circle-progress.cjs.entry.js +2 -2
  9. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +3 -3
  10. package/dist/cjs/sd-date-picker_7.cjs.entry.js +9 -9
  11. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +1 -1
  12. package/dist/cjs/sd-divider.cjs.entry.js +2 -2
  13. package/dist/cjs/sd-dropdown-button.cjs.entry.js +17 -7
  14. package/dist/cjs/sd-field_3.cjs.entry.js +8 -8
  15. package/dist/cjs/sd-ghost-button_2.cjs.entry.js +2 -2
  16. package/dist/cjs/sd-guide.cjs.entry.js +1 -1
  17. package/dist/cjs/sd-key-value-table.cjs.entry.js +40 -13
  18. package/dist/cjs/sd-linear-progress.cjs.entry.js +2 -2
  19. package/dist/cjs/sd-loading-container.cjs.entry.js +2 -2
  20. package/dist/cjs/sd-modal-container.cjs.entry.js +8 -1
  21. package/dist/cjs/sd-pagination_4.cjs.entry.js +10 -10
  22. package/dist/cjs/sd-popup.cjs.entry.js +2 -2
  23. package/dist/cjs/sd-portal.cjs.entry.js +16 -12
  24. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +8 -7
  25. package/dist/cjs/{sd-select.config-DrJ4LNVz.js → sd-select.config-C9Ohe1QA.js} +25 -71
  26. package/dist/cjs/sd-select_3.cjs.entry.js +12 -11
  27. package/dist/cjs/sd-switch.cjs.entry.js +1 -1
  28. package/dist/cjs/sd-table.cjs.entry.js +12 -11
  29. package/dist/cjs/{sd-table.config-BjJW74Zx.js → sd-table.config-B7MuRLoR.js} +1 -1
  30. package/dist/cjs/sd-tabs.cjs.entry.js +1 -1
  31. package/dist/cjs/sd-td.cjs.entry.js +1 -1
  32. package/dist/cjs/sd-text-link.cjs.entry.js +4 -4
  33. package/dist/cjs/sd-toast-container.cjs.entry.js +1 -1
  34. package/dist/cjs/sd-toast.cjs.entry.js +2 -2
  35. package/dist/cjs/sd-toggle.cjs.entry.js +1 -1
  36. package/dist/cjs/{system-CdAyz3ej.js → system-MjrAugX-.js} +7 -0
  37. package/dist/collection/collection-manifest.json +1 -1
  38. package/dist/collection/components/assets/Bill.js +5 -0
  39. package/dist/collection/components/assets/Coupon.js +5 -0
  40. package/dist/collection/components/assets/Delete.js +5 -0
  41. package/dist/collection/components/assets/Dot.js +5 -0
  42. package/dist/collection/components/assets/Launcher.js +5 -0
  43. package/dist/collection/components/assets/Monitor.js +5 -0
  44. package/dist/collection/components/assets/Shield.js +5 -0
  45. package/dist/collection/components/assets/Sidebar.js +5 -0
  46. package/dist/collection/components/assets/Store.js +5 -0
  47. package/dist/collection/components/assets/index.js +18 -0
  48. package/dist/collection/components/sd-button/sd-button.js +2 -2
  49. package/dist/collection/components/sd-chip-input/sd-chip-input.config.js +29 -0
  50. package/dist/collection/components/sd-chip-input/sd-chip-input.css +50 -0
  51. package/dist/collection/components/sd-chip-input/sd-chip-input.js +367 -19
  52. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  53. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +2 -2
  54. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  55. package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
  56. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
  57. package/dist/collection/components/sd-divider/sd-divider.js +1 -1
  58. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.config.js +7 -0
  59. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +10 -7
  60. package/dist/collection/components/sd-field/sd-field.js +5 -5
  61. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  62. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +1 -1
  63. package/dist/collection/components/sd-icon/sd-icon.js +1 -1
  64. package/dist/collection/components/sd-input/sd-input.js +2 -2
  65. package/dist/collection/components/sd-key-value-table/sd-key-value-table.config.js +3 -3
  66. package/dist/collection/components/sd-key-value-table/sd-key-value-table.css +11 -4
  67. package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +42 -15
  68. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
  69. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  70. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  71. package/dist/collection/components/sd-modal-container/sd-modal-container.js +8 -1
  72. package/dist/collection/components/sd-number-input/sd-number-input.js +4 -4
  73. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  74. package/dist/collection/components/sd-popover/sd-popover.js +2 -2
  75. package/dist/collection/components/sd-popup/sd-popup.js +1 -1
  76. package/dist/collection/components/sd-portal/sd-portal.js +16 -12
  77. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +2 -2
  78. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
  79. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +4 -4
  80. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
  81. package/dist/collection/components/sd-select/sd-select.config.js +2 -2
  82. package/dist/collection/components/sd-select/sd-select.js +4 -4
  83. package/dist/collection/components/sd-switch/sd-switch.js +1 -1
  84. package/dist/collection/components/sd-table/sd-table.css +4 -1
  85. package/dist/collection/components/sd-table/sd-table.js +15 -14
  86. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +2 -2
  87. package/dist/collection/components/sd-table/sd-td/sd-td.js +1 -1
  88. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +3 -3
  89. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  90. package/dist/collection/components/sd-tag/sd-tag.js +3 -3
  91. package/dist/collection/components/sd-text-link/sd-text-link.js +4 -4
  92. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  93. package/dist/collection/components/sd-toast/sd-toast.js +3 -3
  94. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  95. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  96. package/dist/collection/components/sd-tooltip/sd-tooltip.js +4 -4
  97. package/dist/collection/utils/modal.js +11 -0
  98. package/dist/components/index.js +1 -1
  99. package/dist/components/{p-DfZ8X4ly.js → p-4HPAPKne.js} +1 -1
  100. package/dist/components/{p-B57sOZvR.js → p-79DExV92.js} +1 -1
  101. package/dist/components/{p-RE577yb-.js → p-AI4YlQmL.js} +1 -1
  102. package/dist/components/{p-B4pLCd0_.js → p-B-4ulKJj.js} +1 -1
  103. package/dist/components/{p-G_N9xEDL.js → p-B3SKaQId.js} +1 -1
  104. package/dist/components/p-BD8OoYud.js +1 -0
  105. package/dist/components/p-BJfiMC9H.js +1 -0
  106. package/dist/components/{p-DknZgTo9.js → p-BLNc_TL-.js} +1 -1
  107. package/dist/components/{p-CLEAGFjW.js → p-BMIgVp9-.js} +1 -1
  108. package/dist/components/{p-vS0t7bWk.js → p-BX5uKVOt.js} +1 -1
  109. package/dist/components/p-BYTrIk62.js +1 -0
  110. package/dist/components/{p-_P21dOPl.js → p-B_5uwji5.js} +1 -1
  111. package/dist/components/{p-DUwrMHYa.js → p-Bzo51vnP.js} +1 -1
  112. package/dist/components/{p-DtG23tkr.js → p-C0tkFuhj.js} +1 -1
  113. package/dist/components/{p-YlaidN9T.js → p-C3wv8gVC.js} +1 -1
  114. package/dist/components/{p-YKESuy-p.js → p-CH6cVc2a.js} +1 -1
  115. package/dist/components/{p-Bfrg9lvO.js → p-CQWZv8vY.js} +1 -1
  116. package/dist/components/{p-BsQf9d7Q.js → p-CXRFEcE_.js} +1 -1
  117. package/dist/components/{p-B-61rIur.js → p-C_r3z9VA.js} +1 -1
  118. package/dist/components/{p-BvAJ_toQ.js → p-Cl5io5TH.js} +1 -1
  119. package/dist/components/p-ClKABgST.js +1 -0
  120. package/dist/components/{p-DGyTYauz.js → p-Cmg10jpN.js} +1 -1
  121. package/dist/components/{p-DeXO3mpJ.js → p-CtWfOIxb.js} +1 -1
  122. package/dist/components/{p-CIZpVJBx.js → p-CzCu_NDl.js} +1 -1
  123. package/dist/components/{p-FGvi8J2D.js → p-DAOeioSV.js} +1 -1
  124. package/dist/components/{p-iGvyLmbb.js → p-DDR0VcRU.js} +1 -1
  125. package/dist/components/{p-CnfnK5aj.js → p-DMS9mQsg.js} +1 -1
  126. package/dist/components/{p-B73U-Zw2.js → p-DTFXzlvq.js} +1 -1
  127. package/dist/components/{p-CHjF0mwj.js → p-DbLQoVx6.js} +1 -1
  128. package/dist/components/p-Dr5Q2ZKB.js +1 -0
  129. package/dist/components/{p-B4UxhQes.js → p-DrSHJYop.js} +1 -1
  130. package/dist/components/p-DvvGi4J_.js +1 -0
  131. package/dist/components/{p-BrzBnO1L.js → p-DyVh4pNL.js} +1 -1
  132. package/dist/components/{p-C_6HUUGg.js → p-Ng3JMPxb.js} +1 -1
  133. package/dist/components/p-U8VaRj9c.js +1 -0
  134. package/dist/components/{p-BY1ItC8N.js → p-hzCGj0On.js} +1 -1
  135. package/dist/components/{p-BMVHvEDw.js → p-qJeUUOyB.js} +1 -1
  136. package/dist/components/sd-action-modal.js +1 -1
  137. package/dist/components/sd-barcode-input.js +1 -1
  138. package/dist/components/sd-button.js +1 -1
  139. package/dist/components/sd-calendar.js +1 -1
  140. package/dist/components/sd-callout.js +1 -1
  141. package/dist/components/sd-checkbox.js +1 -1
  142. package/dist/components/sd-chip-input.js +1 -1
  143. package/dist/components/sd-chip.js +1 -1
  144. package/dist/components/sd-circle-progress.js +1 -1
  145. package/dist/components/sd-confirm-modal.js +1 -1
  146. package/dist/components/sd-date-picker-trigger.js +1 -1
  147. package/dist/components/sd-date-picker.js +1 -1
  148. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  149. package/dist/components/sd-date-range-picker.js +1 -1
  150. package/dist/components/sd-divider.js +1 -1
  151. package/dist/components/sd-dropdown-button.js +1 -1
  152. package/dist/components/sd-field.js +1 -1
  153. package/dist/components/sd-file-picker.js +1 -1
  154. package/dist/components/sd-floating-portal.js +1 -1
  155. package/dist/components/sd-ghost-button.js +1 -1
  156. package/dist/components/sd-guide.js +1 -1
  157. package/dist/components/sd-icon.js +1 -1
  158. package/dist/components/sd-input.js +1 -1
  159. package/dist/components/sd-key-value-table.js +1 -1
  160. package/dist/components/sd-linear-progress.js +1 -1
  161. package/dist/components/sd-loading-container.js +1 -1
  162. package/dist/components/sd-loading-modal.js +1 -1
  163. package/dist/components/sd-modal-container.js +1 -1
  164. package/dist/components/sd-number-input.js +1 -1
  165. package/dist/components/sd-pagination.js +1 -1
  166. package/dist/components/sd-popover.js +1 -1
  167. package/dist/components/sd-popup.js +1 -1
  168. package/dist/components/sd-portal.js +1 -1
  169. package/dist/components/sd-select-list-item-search.js +1 -1
  170. package/dist/components/sd-select-list-item.js +1 -1
  171. package/dist/components/sd-select-listbox.js +1 -1
  172. package/dist/components/sd-select-trigger.js +1 -1
  173. package/dist/components/sd-select.js +1 -1
  174. package/dist/components/sd-switch.js +1 -1
  175. package/dist/components/sd-table.js +1 -1
  176. package/dist/components/sd-tabs.js +1 -1
  177. package/dist/components/sd-tag.js +1 -1
  178. package/dist/components/sd-tbody.js +1 -1
  179. package/dist/components/sd-td.js +1 -1
  180. package/dist/components/sd-text-link.js +1 -1
  181. package/dist/components/sd-textarea.js +1 -1
  182. package/dist/components/sd-thead.js +1 -1
  183. package/dist/components/sd-toast-container.js +1 -1
  184. package/dist/components/sd-toast.js +1 -1
  185. package/dist/components/sd-toggle.js +1 -1
  186. package/dist/components/sd-tooltip.js +1 -1
  187. package/dist/components/sd-tr.js +1 -1
  188. package/dist/design-system/design-system.esm.js +1 -1
  189. package/dist/design-system/index.esm.js +1 -1
  190. package/dist/design-system/p-12306783.entry.js +1 -0
  191. package/dist/design-system/{p-b457611c.entry.js → p-1602a5fa.entry.js} +1 -1
  192. package/dist/design-system/p-1f3c1cca.entry.js +1 -0
  193. package/dist/design-system/{p-3045ffe1.entry.js → p-22484d65.entry.js} +1 -1
  194. package/dist/design-system/p-3caf2c5b.entry.js +1 -0
  195. package/dist/design-system/p-3f7349ae.entry.js +1 -0
  196. package/dist/design-system/{p-b8ea656d.entry.js → p-43529bba.entry.js} +1 -1
  197. package/dist/design-system/p-46da89f2.entry.js +1 -0
  198. package/dist/design-system/p-4b15247b.entry.js +1 -0
  199. package/dist/design-system/p-4b626171.entry.js +1 -0
  200. package/dist/design-system/{p-a1f756ab.entry.js → p-4e1d76b8.entry.js} +1 -1
  201. package/dist/design-system/{p-03bcd782.entry.js → p-683c3b91.entry.js} +1 -1
  202. package/dist/design-system/{p-99ffe505.entry.js → p-6ce68bf2.entry.js} +1 -1
  203. package/dist/design-system/{p-a5131a43.entry.js → p-80bde621.entry.js} +1 -1
  204. package/dist/design-system/{p-22883fe1.entry.js → p-81aa23d1.entry.js} +1 -1
  205. package/dist/design-system/{p-c78b8822.entry.js → p-827f067b.entry.js} +1 -1
  206. package/dist/design-system/p-8a025f91.entry.js +1 -0
  207. package/dist/design-system/{p-3e62a3ea.entry.js → p-8a84a4fe.entry.js} +1 -1
  208. package/dist/design-system/{p-d2833150.entry.js → p-8f90620b.entry.js} +1 -1
  209. package/dist/design-system/{p-a0775a0c.entry.js → p-9124a1af.entry.js} +1 -1
  210. package/dist/design-system/p-9d35b674.entry.js +1 -0
  211. package/dist/design-system/p-BJfiMC9H.js +1 -0
  212. package/dist/design-system/p-CAFz8W8_.js +1 -0
  213. package/dist/design-system/{p-DGyTYauz.js → p-Cmg10jpN.js} +1 -1
  214. package/dist/design-system/p-U8VaRj9c.js +1 -0
  215. package/dist/design-system/{p-c6307ba4.entry.js → p-a263af1b.entry.js} +1 -1
  216. package/dist/design-system/p-aa312937.entry.js +1 -0
  217. package/dist/design-system/p-b4b20a86.entry.js +1 -0
  218. package/dist/design-system/{p-7eb31041.entry.js → p-bbbc4b27.entry.js} +1 -1
  219. package/dist/design-system/{p-14340e46.entry.js → p-cc5f5bff.entry.js} +1 -1
  220. package/dist/design-system/{p-8140a225.entry.js → p-d5032f31.entry.js} +1 -1
  221. package/dist/design-system/{p-6d765b25.entry.js → p-e93dda25.entry.js} +1 -1
  222. package/dist/design-system/{p-c4e1641b.entry.js → p-f5190934.entry.js} +1 -1
  223. package/dist/esm/component.listItem-U8VaRj9c.js +50 -0
  224. package/dist/esm/design-system.js +1 -1
  225. package/dist/esm/index.js +11 -0
  226. package/dist/esm/loader.js +1 -1
  227. package/dist/esm/sd-button_2.entry.js +54 -0
  228. package/dist/esm/sd-calendar_2.entry.js +2 -2
  229. package/dist/esm/sd-chip-input.entry.js +263 -18
  230. package/dist/esm/sd-circle-progress.entry.js +2 -2
  231. package/dist/esm/sd-confirm-modal_2.entry.js +3 -3
  232. package/dist/esm/sd-date-picker_7.entry.js +9 -9
  233. package/dist/esm/sd-date-range-picker-calendar.entry.js +1 -1
  234. package/dist/esm/sd-divider.entry.js +2 -2
  235. package/dist/esm/sd-dropdown-button.entry.js +17 -7
  236. package/dist/esm/sd-field_3.entry.js +8 -8
  237. package/dist/esm/sd-ghost-button_2.entry.js +2 -2
  238. package/dist/esm/sd-guide.entry.js +1 -1
  239. package/dist/esm/sd-key-value-table.entry.js +40 -13
  240. package/dist/esm/sd-linear-progress.entry.js +2 -2
  241. package/dist/esm/sd-loading-container.entry.js +2 -2
  242. package/dist/esm/sd-modal-container.entry.js +8 -1
  243. package/dist/esm/sd-pagination_4.entry.js +10 -10
  244. package/dist/esm/sd-popup.entry.js +2 -2
  245. package/dist/esm/sd-portal.entry.js +16 -12
  246. package/dist/esm/sd-select-list-item_2.entry.js +8 -7
  247. package/dist/esm/{sd-select.config-DtrsLG0Z.js → sd-select.config-D6ktrl7E.js} +4 -50
  248. package/dist/esm/sd-select_3.entry.js +12 -11
  249. package/dist/esm/sd-switch.entry.js +1 -1
  250. package/dist/esm/{sd-table.config-D9meRqTx.js → sd-table.config-B3wuA5wX.js} +1 -1
  251. package/dist/esm/sd-table.entry.js +12 -11
  252. package/dist/esm/sd-tabs.entry.js +1 -1
  253. package/dist/esm/sd-td.entry.js +1 -1
  254. package/dist/esm/sd-text-link.entry.js +4 -4
  255. package/dist/esm/sd-toast-container.entry.js +1 -1
  256. package/dist/esm/sd-toast.entry.js +2 -2
  257. package/dist/esm/sd-toggle.entry.js +1 -1
  258. package/dist/esm/{system-j2khhcHY.js → system-BJfiMC9H.js} +7 -0
  259. package/dist/types/components/assets/Bill.d.ts +1 -0
  260. package/dist/types/components/assets/Coupon.d.ts +1 -0
  261. package/dist/types/components/assets/Delete.d.ts +1 -0
  262. package/dist/types/components/assets/Dot.d.ts +1 -0
  263. package/dist/types/components/assets/Launcher.d.ts +1 -0
  264. package/dist/types/components/assets/Monitor.d.ts +1 -0
  265. package/dist/types/components/assets/Shield.d.ts +1 -0
  266. package/dist/types/components/assets/Sidebar.d.ts +1 -0
  267. package/dist/types/components/assets/Store.d.ts +1 -0
  268. package/dist/types/components/assets/index.d.ts +9 -0
  269. package/dist/types/components/sd-chip-input/sd-chip-input.config.d.ts +24 -0
  270. package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +19 -0
  271. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.config.d.ts +4 -0
  272. package/dist/types/components/sd-dropdown-button/sd-dropdown-button.d.ts +1 -0
  273. package/dist/types/components/sd-key-value-table/sd-key-value-table.config.d.ts +2 -2
  274. package/dist/types/components/sd-key-value-table/sd-key-value-table.d.ts +10 -3
  275. package/dist/types/components/sd-modal-container/sd-modal-container.config.d.ts +2 -0
  276. package/dist/types/components/sd-portal/sd-portal.d.ts +1 -0
  277. package/dist/types/components/sd-table/sd-table.d.ts +1 -1
  278. package/dist/types/components.d.ts +62 -20
  279. package/dist/types/utils/modal.d.ts +6 -0
  280. package/hydrate/index.js +576 -213
  281. package/hydrate/index.mjs +576 -213
  282. package/package.json +3 -3
  283. package/dist/components/p-6oSCGUOo.js +0 -1
  284. package/dist/components/p-BWoC-hMr.js +0 -1
  285. package/dist/components/p-C5wgHjtx.js +0 -1
  286. package/dist/components/p-Cftyepf_.js +0 -1
  287. package/dist/components/p-IgBxAXyL.js +0 -1
  288. package/dist/components/p-j2khhcHY.js +0 -1
  289. package/dist/design-system/p-0c5192b8.entry.js +0 -1
  290. package/dist/design-system/p-13b0db59.entry.js +0 -1
  291. package/dist/design-system/p-1652ae55.entry.js +0 -1
  292. package/dist/design-system/p-21fa7f85.entry.js +0 -1
  293. package/dist/design-system/p-2753c6c9.entry.js +0 -1
  294. package/dist/design-system/p-56a45ef9.entry.js +0 -1
  295. package/dist/design-system/p-71739336.entry.js +0 -1
  296. package/dist/design-system/p-DtrsLG0Z.js +0 -1
  297. package/dist/design-system/p-b22cb811.entry.js +0 -1
  298. package/dist/design-system/p-b576bc21.entry.js +0 -1
  299. package/dist/design-system/p-c1f71355.entry.js +0 -1
  300. package/dist/design-system/p-da90b448.entry.js +0 -1
  301. package/dist/design-system/p-j2khhcHY.js +0 -1
@@ -2,7 +2,7 @@ import { h, } from "@stencil/core";
2
2
  import { BaseDropdownEvent } from "../../utils/base-dropdown-event";
3
3
  import { sanitizeInlineHtml } from "../../utils/html/sanitize-inline-html";
4
4
  import { BUTTON_FOCUS_RING_COLOR } from "../sd-button/sd-button.config";
5
- import { DROPDOWN_BUTTON_CONFIG, DROPDOWN_CHEVRON_ICON_SIZE, DROPDOWN_DISABLED_BACKGROUND, DROPDOWN_DISABLED_BORDER, DROPDOWN_DISABLED_ICON, DROPDOWN_DISABLED_TEXT, getDropdownButtonPreset, isDropdownButtonName, PRESET_BORDER_COLORS, PRESET_TEXT_COLORS, PRESET_ICON_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
+ import { DROPDOWN_BUTTON_CONFIG, DROPDOWN_BUTTON_MIN_WIDTH, DROPDOWN_CHEVRON_ICON_SIZE, DROPDOWN_DISABLED_BACKGROUND, DROPDOWN_DISABLED_BORDER, DROPDOWN_DISABLED_ICON, DROPDOWN_DISABLED_TEXT, getDropdownButtonPreset, isDropdownButtonName, PRESET_BORDER_COLORS, PRESET_TEXT_COLORS, PRESET_ICON_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";
6
6
  export class SdDropdownButton extends BaseDropdownEvent {
7
7
  constructor() {
8
8
  super();
@@ -18,6 +18,7 @@ export class SdDropdownButton extends BaseDropdownEvent {
18
18
  isAnimatingOut = false;
19
19
  itemIndex = -1;
20
20
  triggerRef;
21
+ splitContainerRef;
21
22
  menuRef;
22
23
  closeAnimationTimer;
23
24
  click;
@@ -196,10 +197,11 @@ export class SdDropdownButton extends BaseDropdownEvent {
196
197
  return classes.join(' ');
197
198
  }
198
199
  renderDropdown(preset) {
199
- if ((!this.isOpen && !this.isAnimatingOut) || !this.triggerRef)
200
+ const anchorRef = this.split ? this.splitContainerRef : this.triggerRef;
201
+ if ((!this.isOpen && !this.isAnimatingOut) || !anchorRef)
200
202
  return null;
201
- return (h("sd-portal", { open: this.isOpen, parentRef: this.triggerRef, onSdClose: this.closeDropdown }, h("div", { style: { position: 'absolute', width: '0px', height: '0px' } }, h("div", { class: "sd-dropdown-button__menu", role: "menu", ref: el => (this.menuRef = el), style: {
202
- '--sd-dropdown-button-menu-min-width': `${this.triggerRef.offsetWidth}px`,
203
+ return (h("sd-portal", { open: this.isOpen, parentRef: anchorRef, onSdClose: this.closeDropdown }, h("div", { class: "sd-dropdown-button__menu", role: "menu", ref: el => (this.menuRef = el), style: {
204
+ '--sd-dropdown-button-menu-min-width': `${anchorRef.offsetWidth}px`,
203
205
  '--sd-dropdown-button-menu-item-color': PRESET_MENU_ITEM_COLORS[preset],
204
206
  '--sd-dropdown-button-menu-item-active-bg': PRESET_MENU_ITEM_ACTIVE_BACKGROUNDS[preset],
205
207
  '--sd-dropdown-button-menu-item-active-color': PRESET_MENU_ITEM_ACTIVE_COLORS[preset],
@@ -213,7 +215,7 @@ export class SdDropdownButton extends BaseDropdownEvent {
213
215
  this.itemIndex = index;
214
216
  }
215
217
  } }, 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) })));
216
- })))));
218
+ }))));
217
219
  }
218
220
  renderChevron(size) {
219
221
  const iconName = this.split ? 'etc' : 'caretDown';
@@ -225,10 +227,11 @@ export class SdDropdownButton extends BaseDropdownEvent {
225
227
  render() {
226
228
  const { config, preset } = this.resolvedConfig;
227
229
  const triggerStyle = this.getTriggerStyle(config, preset);
230
+ const minWidth = DROPDOWN_BUTTON_MIN_WIDTH[config.size];
228
231
  if (this.split) {
229
- 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)));
232
+ return (h("div", { class: "sd-dropdown-button sd-dropdown-button--split", ref: el => (this.splitContainerRef = el), style: { minWidth: `${minWidth.split}px` } }, 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)));
230
233
  }
231
- 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)));
234
+ 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, minWidth: `${minWidth.default}px` } }, h("span", { class: "sd-dropdown-button__trigger-label" }, this.label), this.renderChevron(config.size)), this.renderDropdown(preset)));
232
235
  }
233
236
  static get is() { return "sd-dropdown-button"; }
234
237
  static get originalStyleUrls() {
@@ -182,21 +182,21 @@ export class SdField {
182
182
  : {}),
183
183
  }
184
184
  : {};
185
- return (h("div", { key: 'a04858364c6b9afceedba2f5d7ee0e289a6b6782', class: {
185
+ return (h("div", { key: '9edafceb24a4fcde7cfb966f421bfb73f1b07617', class: {
186
186
  'sd-field': true,
187
187
  'sd-field--has-label': this.label !== '',
188
188
  'sd-field--has-addon': addon !== '',
189
189
  [this.fieldStatus]: this.fieldStatus !== '',
190
- }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, h("div", { key: '898f5af4d213745257b2666cbea56db591792054', class: "sd-field__wrapper" }, this.renderLabel(this.label), h("div", { key: '488ab5c290258d0139f677319f21a55bb6c63876', class: "sd-field__main", style: this.width !== '' && this.width !== 0
190
+ }, style: { ...sizeCssVars, ...labelCssVars, ...addonCssVars, ...messageCssVars } }, h("div", { key: 'e5c4a8aad05afb40f3eccc492135b2b968ffc646', class: "sd-field__wrapper" }, this.renderLabel(this.label), h("div", { key: 'e88d62a979eaab9f6794c851813e5f56c3c5c4ac', class: "sd-field__main", style: this.width !== '' && this.width !== 0
191
191
  ? {
192
192
  width: typeof this.width === 'number' ? `${this.width}px` : this.width,
193
193
  flex: 'none',
194
194
  }
195
- : {} }, h("div", { key: 'db8c388dd2c4743a287f7567cde4015cafed1d95', class: {
195
+ : {} }, h("div", { key: 'be69d7e48d90dda0872ffc43c2a1b4044e99ac00', class: {
196
196
  'sd-field__control': true,
197
197
  'sd-field__control--has-addon': addon !== '',
198
- } }, addon && (h("div", { key: '1049369f52322fb1a4f1b4baf50b1e4ef2e9e59e', class: "sd-field__addon" }, this.icon && (h("sd-icon", { key: 'f0a28d9bdf97730088454c64b71b7cbc1d4dd875', name: this.icon.name, size: this.icon.size ??
199
- 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: 'deee9ef5d166ab4d17451ad9d013b3b9d3d7aebe' })), 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))))));
198
+ } }, addon && (h("div", { key: '2c631ac0f8b9001cf6344908cf8cbcdf182cc1a7', class: "sd-field__addon" }, this.icon && (h("sd-icon", { key: '34a49839ee200cd59c3ff5b84caf5ded2c50f7b0', name: this.icon.name, size: this.icon.size ??
199
+ 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: '693f20c529e5f2ea84d381e59327392edb7b4c15' })), 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))))));
200
200
  }
201
201
  renderLabel(label) {
202
202
  if (label == null || label === '')
@@ -152,7 +152,7 @@ export class SdFloatingPopover {
152
152
  }
153
153
  }
154
154
  render() {
155
- return h("slot", { key: '7931b1b9ee17e2de64a7fa87658ec7d4501f7ecd' });
155
+ return h("slot", { key: 'f20806555ad198c33a62ec938ea7b77200fa1585' });
156
156
  }
157
157
  static get is() { return "sd-floating-portal"; }
158
158
  static get originalStyleUrls() {
@@ -76,7 +76,7 @@ export class SdGhostButton {
76
76
  "mutable": false,
77
77
  "complexType": {
78
78
  "original": "IconName",
79
- "resolved": "\"add\" | \"alert\" | \"alignKorean\" | \"archive\" | \"arrowDown\" | \"arrowLeft\" | \"arrowRight\" | \"arrowUp\" | \"attachFile\" | \"barcode\" | \"bell\" | \"board\" | \"box\" | \"camera\" | \"cancelFill\" | \"cancelOutline\" | \"caretDown\" | \"caretLeft\" | \"caretRight\" | \"caretUp\" | \"check\" | \"checkFill\" | \"checkOutline\" | \"checkboxCheck\" | \"checkboxIndeterminate\" | \"chevronDown\" | \"chevronLeft\" | \"chevronLeftEnd\" | \"chevronRight\" | \"chevronRightEnd\" | \"chevronUp\" | \"clockFill\" | \"clockOutline\" | \"close\" | \"copy\" | \"dashboard\" | \"date\" | \"download\" | \"drag\" | \"edit\" | \"etc\" | \"event\" | \"global\" | \"helpFill\" | \"helpOutline\" | \"history\" | \"imageFill\" | \"imageOutline\" | \"inline\" | \"line\" | \"location\" | \"logout\" | \"minus\" | \"new\" | \"notificationFill\" | \"notificationOutline\" | \"notion\" | \"outline\" | \"pageEdit\" | \"pageMove\" | \"pdf\" | \"print\" | \"remove\" | \"reset\" | \"robot\" | \"row\" | \"save\" | \"search\" | \"setting\" | \"star\" | \"synchronize\" | \"updown\" | \"user\" | \"visibilityOff\" | \"visibilityOn\" | \"warehouseFill\" | \"warehouseOutline\" | \"warningFill\" | \"warningOutline\" | \"youtube\"",
79
+ "resolved": "\"add\" | \"alert\" | \"alignKorean\" | \"archive\" | \"arrowDown\" | \"arrowLeft\" | \"arrowRight\" | \"arrowUp\" | \"attachFile\" | \"barcode\" | \"bell\" | \"bill\" | \"board\" | \"box\" | \"camera\" | \"cancelFill\" | \"cancelOutline\" | \"caretDown\" | \"caretLeft\" | \"caretRight\" | \"caretUp\" | \"check\" | \"checkFill\" | \"checkOutline\" | \"checkboxCheck\" | \"checkboxIndeterminate\" | \"chevronDown\" | \"chevronLeft\" | \"chevronLeftEnd\" | \"chevronRight\" | \"chevronRightEnd\" | \"chevronUp\" | \"clockFill\" | \"clockOutline\" | \"close\" | \"copy\" | \"coupon\" | \"dashboard\" | \"date\" | \"delete\" | \"dot\" | \"download\" | \"drag\" | \"edit\" | \"etc\" | \"event\" | \"global\" | \"helpFill\" | \"helpOutline\" | \"history\" | \"imageFill\" | \"imageOutline\" | \"inline\" | \"launcher\" | \"line\" | \"location\" | \"logout\" | \"minus\" | \"monitor\" | \"new\" | \"notificationFill\" | \"notificationOutline\" | \"notion\" | \"outline\" | \"pageEdit\" | \"pageMove\" | \"pdf\" | \"print\" | \"remove\" | \"reset\" | \"robot\" | \"row\" | \"save\" | \"search\" | \"setting\" | \"shield\" | \"sidebar\" | \"star\" | \"store\" | \"synchronize\" | \"updown\" | \"user\" | \"visibilityOff\" | \"visibilityOn\" | \"warehouseFill\" | \"warehouseOutline\" | \"warningFill\" | \"warningOutline\" | \"youtube\"",
80
80
  "references": {
81
81
  "IconName": {
82
82
  "location": "global",
@@ -48,7 +48,7 @@ export class SdIcon {
48
48
  "mutable": false,
49
49
  "complexType": {
50
50
  "original": "IconName",
51
- "resolved": "\"add\" | \"alert\" | \"alignKorean\" | \"archive\" | \"arrowDown\" | \"arrowLeft\" | \"arrowRight\" | \"arrowUp\" | \"attachFile\" | \"barcode\" | \"bell\" | \"board\" | \"box\" | \"camera\" | \"cancelFill\" | \"cancelOutline\" | \"caretDown\" | \"caretLeft\" | \"caretRight\" | \"caretUp\" | \"check\" | \"checkFill\" | \"checkOutline\" | \"checkboxCheck\" | \"checkboxIndeterminate\" | \"chevronDown\" | \"chevronLeft\" | \"chevronLeftEnd\" | \"chevronRight\" | \"chevronRightEnd\" | \"chevronUp\" | \"clockFill\" | \"clockOutline\" | \"close\" | \"copy\" | \"dashboard\" | \"date\" | \"download\" | \"drag\" | \"edit\" | \"etc\" | \"event\" | \"global\" | \"helpFill\" | \"helpOutline\" | \"history\" | \"imageFill\" | \"imageOutline\" | \"inline\" | \"line\" | \"location\" | \"logout\" | \"minus\" | \"new\" | \"notificationFill\" | \"notificationOutline\" | \"notion\" | \"outline\" | \"pageEdit\" | \"pageMove\" | \"pdf\" | \"print\" | \"remove\" | \"reset\" | \"robot\" | \"row\" | \"save\" | \"search\" | \"setting\" | \"star\" | \"synchronize\" | \"updown\" | \"user\" | \"visibilityOff\" | \"visibilityOn\" | \"warehouseFill\" | \"warehouseOutline\" | \"warningFill\" | \"warningOutline\" | \"youtube\"",
51
+ "resolved": "\"add\" | \"alert\" | \"alignKorean\" | \"archive\" | \"arrowDown\" | \"arrowLeft\" | \"arrowRight\" | \"arrowUp\" | \"attachFile\" | \"barcode\" | \"bell\" | \"bill\" | \"board\" | \"box\" | \"camera\" | \"cancelFill\" | \"cancelOutline\" | \"caretDown\" | \"caretLeft\" | \"caretRight\" | \"caretUp\" | \"check\" | \"checkFill\" | \"checkOutline\" | \"checkboxCheck\" | \"checkboxIndeterminate\" | \"chevronDown\" | \"chevronLeft\" | \"chevronLeftEnd\" | \"chevronRight\" | \"chevronRightEnd\" | \"chevronUp\" | \"clockFill\" | \"clockOutline\" | \"close\" | \"copy\" | \"coupon\" | \"dashboard\" | \"date\" | \"delete\" | \"dot\" | \"download\" | \"drag\" | \"edit\" | \"etc\" | \"event\" | \"global\" | \"helpFill\" | \"helpOutline\" | \"history\" | \"imageFill\" | \"imageOutline\" | \"inline\" | \"launcher\" | \"line\" | \"location\" | \"logout\" | \"minus\" | \"monitor\" | \"new\" | \"notificationFill\" | \"notificationOutline\" | \"notion\" | \"outline\" | \"pageEdit\" | \"pageMove\" | \"pdf\" | \"print\" | \"remove\" | \"reset\" | \"robot\" | \"row\" | \"save\" | \"search\" | \"setting\" | \"shield\" | \"sidebar\" | \"star\" | \"store\" | \"synchronize\" | \"updown\" | \"user\" | \"visibilityOff\" | \"visibilityOn\" | \"warehouseFill\" | \"warehouseOutline\" | \"warningFill\" | \"warningOutline\" | \"youtube\"",
52
52
  "references": {
53
53
  "IconName": {
54
54
  "location": "global",
@@ -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: 'fce402fae267b5700501e44935f23bebc28efb62', 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: 'f7d8f95cf5ee38a7aa2e44940ba39b9eb001064c', class: "sd-input__content" }, h("slot", { key: '23f1f770a268a0798293420ce0df9e5cc94e07b2', name: "prefix" }), h("input", { key: 'b8c041cc4a8761cf1cf93a8d1af139cd7720d2d8', 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: '5a288d50726b21c156da480937b9759e6c76d33a', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && !this.readonly && (h("sd-ghost-button", { key: 'b5315624a6fd5fdcb70526b1abea4fbac83641c1', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
115
+ return (h("sd-field", { key: '64e7a3ba5e223341336248ba31e621b4416987fd', 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: 'b66e286c35cc14c1eb02badcaaff24b38ff0a7b3', class: "sd-input__content" }, h("slot", { key: 'dc8b900eb2b38c18b85663bc930e810be77bdbd7', name: "prefix" }), h("input", { key: '36d35464338838aaaeff6f728020241d33a493ec', 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: '4f30d4a59794c0692f367d41af4311e191c5427b', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && !this.readonly && (h("sd-ghost-button", { key: '247da41512f20d8e562f345b08bd5bc13486734b', 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: '5ae70d65c531db0bc57d17f85c328a275f7aab2b', 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: '70c596ef0072bf369bd59e2c58d0a6f8c6fd1b11', 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;
@@ -5,8 +5,8 @@ export const KEY_VALUE_TABLE_LAYOUT = {
5
5
  rowHeight: Number(t.keyValue.height),
6
6
  thWidth: 120,
7
7
  borderRadius: Number(t.radius),
8
- paddingX: Number(t.body.paddingX),
9
- paddingY: Number(t.keyValue.body.padding),
8
+ thPaddingX: Number(t.header.paddingX),
9
+ padding: Number(t.keyValue.body.padding),
10
10
  helpIconSize: 16,
11
11
  requiredIconSize: 12,
12
12
  gap: Number(t.header.gap),
@@ -27,7 +27,7 @@ export const KEY_VALUE_TABLE_COLORS = {
27
27
  export const KEY_VALUE_TABLE_TYPOGRAPHY = {
28
28
  labelFontFamily: t.header.typography.fontFamily,
29
29
  labelFontSize: Number(t.header.typography.fontSize),
30
- labelFontWeight: Number(t.header.typography.fontWeight),
30
+ labelFontWeight: 700,
31
31
  labelLineHeight: Number(t.header.typography.lineHeight),
32
32
  tdFontFamily: t.body.typography.fontFamily,
33
33
  tdFontSize: Number(t.body.typography.fontSize),
@@ -14,16 +14,19 @@ sd-key-value-table .sd-key-value-table__wrapper .sd-key-value-table {
14
14
  border: 0;
15
15
  border-radius: 0;
16
16
  }
17
- sd-key-value-table .sd-key-value-table__wrapper.sd-key-value-table__wrapper--use-top {
17
+ sd-key-value-table .sd-key-value-table__wrapper.sd-key-value-table__wrapper--radius-usetop {
18
18
  border-top-left-radius: 0;
19
19
  border-top-right-radius: 0;
20
20
  }
21
+ sd-key-value-table .sd-key-value-table__wrapper.sd-key-value-table__wrapper--radius-full {
22
+ border-radius: 0;
23
+ }
21
24
  sd-key-value-table .sd-key-value-table__search-panel {
22
25
  display: flex;
23
26
  align-items: center;
24
27
  justify-content: center;
25
28
  flex: 0 0 auto;
26
- padding: var(--sd-kvt-padding-y) var(--sd-kvt-search-padding-x);
29
+ padding: var(--sd-kvt-padding) var(--sd-kvt-search-padding-x);
27
30
  background: var(--sd-kvt-search-bg);
28
31
  border-left: var(--sd-kvt-border-width) solid var(--sd-kvt-border-color);
29
32
  }
@@ -36,13 +39,15 @@ sd-key-value-table .sd-key-value-table {
36
39
  border-spacing: 0;
37
40
  overflow: hidden;
38
41
  }
39
- sd-key-value-table .sd-key-value-table.sd-key-value-table--use-top {
42
+ sd-key-value-table .sd-key-value-table.sd-key-value-table--radius-usetop {
40
43
  border-top-left-radius: 0;
41
44
  border-top-right-radius: 0;
42
45
  }
46
+ sd-key-value-table .sd-key-value-table.sd-key-value-table--radius-full {
47
+ border-radius: 0;
48
+ }
43
49
  sd-key-value-table .sd-key-value-table__th, sd-key-value-table .sd-key-value-table__td {
44
50
  height: var(--sd-kvt-row-height);
45
- padding: var(--sd-kvt-padding-y) var(--sd-kvt-padding-x);
46
51
  box-sizing: border-box;
47
52
  vertical-align: middle;
48
53
  text-align: left;
@@ -54,6 +59,7 @@ sd-key-value-table .sd-key-value-table tbody > tr:first-child > .sd-key-value-ta
54
59
  border-top: 0;
55
60
  }
56
61
  sd-key-value-table .sd-key-value-table__th {
62
+ padding: var(--sd-kvt-padding) var(--sd-kvt-th-padding-x);
57
63
  width: var(--sd-kvt-th-width);
58
64
  background: var(--sd-kvt-th-bg);
59
65
  color: var(--sd-kvt-th-color);
@@ -87,6 +93,7 @@ sd-key-value-table .sd-key-value-table__help {
87
93
  flex-shrink: 0;
88
94
  }
89
95
  sd-key-value-table .sd-key-value-table__td {
96
+ padding: var(--sd-kvt-padding);
90
97
  background: var(--sd-kvt-td-bg);
91
98
  color: var(--sd-kvt-td-color);
92
99
  }
@@ -11,10 +11,12 @@ export class SdKeyValueTable {
11
11
  */
12
12
  search = false;
13
13
  /**
14
- * true이면 테이블 상단 border-radius 0으로 처리.
15
- * 다른 요소(헤더, 등) 하단에 붙여 쓸 때 사용.
14
+ * 테이블 border-radius 제어.
15
+ * - 'default': 전체 radius 적용
16
+ * - 'usetop': 상단 radius 0 (헤더·탭 등 하단에 붙여 쓸 때)
17
+ * - 'full': 상하단 모두 radius 0 (요소 사이에 끼워 쓸 때)
16
18
  */
17
- useTop = false;
19
+ radius = 'default';
18
20
  change;
19
21
  searchEvent;
20
22
  emit = (name, value) => {
@@ -101,6 +103,28 @@ export class SdKeyValueTable {
101
103
  });
102
104
  return max;
103
105
  }
106
+ /**
107
+ * thStyle의 CSS 속성 값을 해당 CSS 변수로도 반영.
108
+ * label span이 var()로 스타일을 참조하기 때문에, 인라인 스타일만으로는 상속이 되지 않음.
109
+ */
110
+ buildThStyle(thStyle) {
111
+ const s = { ...thStyle };
112
+ if (thStyle.color != null)
113
+ s['--sd-kvt-th-color'] = thStyle.color;
114
+ if (thStyle.background != null)
115
+ s['--sd-kvt-th-bg'] = thStyle.background;
116
+ if (thStyle.backgroundColor != null)
117
+ s['--sd-kvt-th-bg'] = thStyle.backgroundColor;
118
+ if (thStyle.fontFamily != null)
119
+ s['--sd-kvt-label-font-family'] = thStyle.fontFamily;
120
+ if (thStyle.fontSize != null)
121
+ s['--sd-kvt-label-font-size'] = thStyle.fontSize;
122
+ if (thStyle.fontWeight != null)
123
+ s['--sd-kvt-label-font-weight'] = thStyle.fontWeight;
124
+ if (thStyle.lineHeight != null)
125
+ s['--sd-kvt-label-line-height'] = thStyle.lineHeight;
126
+ return s;
127
+ }
104
128
  renderTh(field, r, c) {
105
129
  const thRowSpan = field.thRowSpan != null && field.thRowSpan > 1 ? field.thRowSpan : undefined;
106
130
  const thColSpan = field.thColSpan != null && field.thColSpan > 1 ? field.thColSpan : undefined;
@@ -111,7 +135,8 @@ export class SdKeyValueTable {
111
135
  else if (Array.isArray(field.thClass)) {
112
136
  field.thClass.forEach(cls => (classObj[cls] = true));
113
137
  }
114
- return (h("th", { key: `th-${r}-${c}`, class: classObj, style: field.thStyle, scope: "row", rowSpan: thRowSpan, colSpan: thColSpan }, h("div", { class: "sd-key-value-table__th-inner" }, h("span", { class: "sd-key-value-table__label" }, field.label, field.required && (h("sd-icon", { class: "sd-key-value-table__required", name: "star", size: KEY_VALUE_TABLE_LAYOUT.requiredIconSize, color: KEY_VALUE_TABLE_COLORS.required, label: "required" }))), field.helpText && this.renderHelpIcon(field.helpText))));
138
+ const thStyle = field.thStyle != null ? this.buildThStyle(field.thStyle) : undefined;
139
+ return (h("th", { key: `th-${r}-${c}`, class: classObj, style: thStyle, scope: "row", rowSpan: thRowSpan, colSpan: thColSpan }, h("div", { class: "sd-key-value-table__th-inner" }, h("span", { class: "sd-key-value-table__label" }, field.label, field.required && (h("sd-icon", { class: "sd-key-value-table__required", name: "star", size: KEY_VALUE_TABLE_LAYOUT.requiredIconSize, color: KEY_VALUE_TABLE_COLORS.required, label: "required" }))), field.helpText && this.renderHelpIcon(field.helpText))));
115
140
  }
116
141
  renderTd(field, r, c) {
117
142
  const tdRowSpan = field.tdRowSpan != null && field.tdRowSpan > 1 ? field.tdRowSpan : undefined;
@@ -139,8 +164,8 @@ export class SdKeyValueTable {
139
164
  '--sd-kvt-row-height': `${KEY_VALUE_TABLE_LAYOUT.rowHeight}px`,
140
165
  '--sd-kvt-th-width': `${KEY_VALUE_TABLE_LAYOUT.thWidth}px`,
141
166
  '--sd-kvt-radius': `${KEY_VALUE_TABLE_LAYOUT.borderRadius}px`,
142
- '--sd-kvt-padding-x': `${KEY_VALUE_TABLE_LAYOUT.paddingX}px`,
143
- '--sd-kvt-padding-y': `${KEY_VALUE_TABLE_LAYOUT.paddingY}px`,
167
+ '--sd-kvt-th-padding-x': `${KEY_VALUE_TABLE_LAYOUT.thPaddingX}px`,
168
+ '--sd-kvt-padding': `${KEY_VALUE_TABLE_LAYOUT.padding}px`,
144
169
  '--sd-kvt-gap': `${KEY_VALUE_TABLE_LAYOUT.gap}px`,
145
170
  '--sd-kvt-label-gap': `${KEY_VALUE_TABLE_LAYOUT.labelGap}px`,
146
171
  '--sd-kvt-border-width': `${KEY_VALUE_TABLE_LAYOUT.borderWidth}px`,
@@ -166,7 +191,8 @@ export class SdKeyValueTable {
166
191
  const maxCols = this.computeMaxCols(autoSkip);
167
192
  const tableEl = (h("table", { class: {
168
193
  'sd-key-value-table': true,
169
- 'sd-key-value-table--use-top': this.useTop,
194
+ 'sd-key-value-table--radius-usetop': this.radius === 'usetop',
195
+ 'sd-key-value-table--radius-full': this.radius === 'full',
170
196
  }, style: cssVars }, h("colgroup", null, Array.from({ length: maxCols }, (_, i) => {
171
197
  if (i % 2 !== 0)
172
198
  return h("col", { key: `col-${i}` });
@@ -190,7 +216,8 @@ export class SdKeyValueTable {
190
216
  return tableEl;
191
217
  return (h("div", { class: {
192
218
  'sd-key-value-table__wrapper': true,
193
- 'sd-key-value-table__wrapper--use-top': this.useTop,
219
+ 'sd-key-value-table__wrapper--radius-usetop': this.radius === 'usetop',
220
+ 'sd-key-value-table__wrapper--radius-full': this.radius === 'full',
194
221
  }, style: cssVars }, tableEl, h("div", { class: "sd-key-value-table__search-panel" }, h("sd-button", { label: "\uAC80\uC0C9", name: "neutral_outline_md", onSdClick: this.handleSearchClick }))));
195
222
  }
196
223
  static get is() { return "sd-key-value-table"; }
@@ -251,25 +278,25 @@ export class SdKeyValueTable {
251
278
  "attribute": "search",
252
279
  "defaultValue": "false"
253
280
  },
254
- "useTop": {
255
- "type": "boolean",
281
+ "radius": {
282
+ "type": "string",
256
283
  "mutable": false,
257
284
  "complexType": {
258
- "original": "boolean",
259
- "resolved": "boolean",
285
+ "original": "'default' | 'usetop' | 'full'",
286
+ "resolved": "\"default\" | \"full\" | \"usetop\"",
260
287
  "references": {}
261
288
  },
262
289
  "required": false,
263
290
  "optional": false,
264
291
  "docs": {
265
292
  "tags": [],
266
- "text": "true\uC774\uBA74 \uD14C\uC774\uBE14 \uC0C1\uB2E8 border-radius\uB97C 0\uC73C\uB85C \uCC98\uB9AC.\n\uB2E4\uB978 \uC694\uC18C(\uD5E4\uB354, \uD0ED \uB4F1) \uD558\uB2E8\uC5D0 \uBD99\uC5EC \uC4F8 \uB54C \uC0AC\uC6A9."
293
+ "text": "\uD14C\uC774\uBE14 border-radius \uC81C\uC5B4.\n- 'default': \uC804\uCCB4 radius \uC801\uC6A9\n- 'usetop': \uC0C1\uB2E8 radius 0 (\uD5E4\uB354\u00B7\uD0ED \uB4F1 \uD558\uB2E8\uC5D0 \uBD99\uC5EC \uC4F8 \uB54C)\n- 'full': \uC0C1\uD558\uB2E8 \uBAA8\uB450 radius 0 (\uC694\uC18C \uC0AC\uC774\uC5D0 \uB07C\uC6CC \uC4F8 \uB54C)"
267
294
  },
268
295
  "getter": false,
269
296
  "setter": false,
270
297
  "reflect": false,
271
- "attribute": "use-top",
272
- "defaultValue": "false"
298
+ "attribute": "radius",
299
+ "defaultValue": "'default'"
273
300
  }
274
301
  };
275
302
  }
@@ -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: '49452751b0aaf5e6b49d809272620cf4b198ecc1', style: hostStyle }, h("div", { key: 'aec62dae8fa8d4a9d6e64e305fadc63836a1fef6', class: 'sd-linear-progress__track' }, h("div", { key: '0f7cce4cf0ebe6ce40cc127ab8b91fdaf88440cc', class: 'sd-linear-progress__fill', style: fillStyle }), !this.indeterminate && (h("span", { key: 'af2f415ba6cc27c209eed2ff38b02ce58f81a861', class: 'sd-linear-progress__value sd-linear-progress__value--on-track' }, valueText)), !this.indeterminate && (h("span", { key: '2c21c62faf93ee809ae6fa098f7bf88e20447ca8', class: 'sd-linear-progress__value sd-linear-progress__value--on-fill', style: valueOnFillStyle }, valueText))), this.label && h("span", { key: '571c78db5fc8d7a6e4db2ed78e8c75c8be953e2f', class: 'sd-linear-progress__label' }, this.label)));
31
+ return (h(Host, { key: '26b1e15732e289a9a37a6d3dbea24aec1ab60ffd', style: hostStyle }, h("div", { key: '5162d60390656286b56f6a96fd4b3932f399412a', class: 'sd-linear-progress__track' }, h("div", { key: 'a46b815f935b243e4b7f8988af65167e3f87b554', class: 'sd-linear-progress__fill', style: fillStyle }), !this.indeterminate && (h("span", { key: 'bc91914addd5addb84c7684a1f862033950905fc', class: 'sd-linear-progress__value sd-linear-progress__value--on-track' }, valueText)), !this.indeterminate && (h("span", { key: 'c62cdc59464823286ff42fc7e97a7a255a2beeb4', class: 'sd-linear-progress__value sd-linear-progress__value--on-fill', style: valueOnFillStyle }, valueText))), this.label && h("span", { key: '4c7c280885c8411329f99c3fe04f5ede8b1f0708', 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: '314f23e9da2ec850d62b4d4e347055669841c1fe', class: {
13
+ return (h("div", { key: '2ad17acec76cfb7ceba0629f055600a7240a67e8', 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: '541eb68218969c73e52bc8cbdb79171ee0ba908e', class: "sd-loading-container__backdrop" }), h("div", { key: '95192e0c936419248c46a57acb4c5ab63465a2f5', class: "sd-loading-container__content" }, h("sd-circle-progress", { key: '5584a90aa595d3eaffc3597604a9dc359b22bcaf', indeterminate: true, type: "inverse" }), this.message && (h("p", { key: 'e9dc0afbe43a318d7e776dd2f0bafa68ebe8536e', class: "sd-loading-container__message" }, this.message)))));
16
+ }, "aria-hidden": this.visible ? 'false' : 'true' }, h("div", { key: '1e842f21f2990b22820974147b22d859be010683', class: "sd-loading-container__backdrop" }), h("div", { key: '4a48bafd9882a22c210dd1b2ca45efc43cc0c8da', class: "sd-loading-container__content" }, h("sd-circle-progress", { key: '8eb7377230f0e8c9c482dfc9ca1313f323895d14', indeterminate: true, type: "inverse" }), this.message && (h("p", { key: 'af2fc52b0740ee1d2cea55b688e5b4b77e80c7e3', class: "sd-loading-container__message" }, this.message)))));
17
17
  }
18
18
  static get is() { return "sd-loading-container"; }
19
19
  static get originalStyleUrls() {
@@ -46,7 +46,7 @@ export class SdLoadingModal {
46
46
  '--sd-loading-modal-width': this.toCssSize(this.width) ?? `${LOADING_MODAL_LAYOUT.minWidth}px`,
47
47
  '--sd-loading-modal-height': this.toCssSize(this.height) ?? `${LOADING_MODAL_LAYOUT.minHeight}px`,
48
48
  };
49
- return (h(Host, { key: '17636253239532d90e596f20d84795fe2e65508d', style: hostStyle }, h("div", { key: '2f925afceca4102049d7876ab4d1e33fa1ef5ef7', class: "sd-loading-modal" }, h("div", { key: '0598cff340210ca9ec5e28fb1992cbbc1b8e5a06', class: "sd-loading-modal__content" }, this.resolvedState === 'loading' ? (this.progress !== undefined ? (h("sd-circle-progress", { value: this.progress })) : (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: '3d699238c19ee66fd3afc72194133a865501cc08', 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: 'd454a168360cd23a3e71482d67ee81d8eabdec58', class: "sd-loading-modal__button" }, h("sd-button", { key: '0aa26dc830d1c4827f2ee0ca0bfdf4bb8cd2c9f5', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
49
+ return (h(Host, { key: 'f40dcf4fa7e2ee7b4023be11be2b9361ec167610', style: hostStyle }, h("div", { key: '02bab8da4e09156340e8e9badef25755b57193d5', class: "sd-loading-modal" }, h("div", { key: '776833f7f85a5587dda59fe75e36ebb4b9109c3e', class: "sd-loading-modal__content" }, this.resolvedState === 'loading' ? (this.progress !== undefined ? (h("sd-circle-progress", { value: this.progress })) : (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: '4bb9e434a4a2d6be6dbbe2ed4e89563bf7278c65', 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: '5da761513fdc38e5e646f72f75072e25d5313384', class: "sd-loading-modal__button" }, h("sd-button", { key: '2bf9beb84ab4a6c1e6793db453e04b947c432d13', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
50
50
  }
51
51
  static get is() { return "sd-loading-modal"; }
52
52
  static get originalStyleUrls() {
@@ -109,7 +109,14 @@ export class SdModalContainer {
109
109
  });
110
110
  }
111
111
  attachModalEventListeners(id, modalEl) {
112
- modalEl.addEventListener('sdOk', () => this.requestDismiss(id, 'confirm'));
112
+ modalEl.addEventListener('sdOk', () => {
113
+ const entry = this.entries.find(e => e.id === id);
114
+ if (entry?.modalRef._hasSubmit?.()) {
115
+ entry.modalRef._triggerSubmit?.();
116
+ return;
117
+ }
118
+ this.requestDismiss(id, 'confirm');
119
+ });
113
120
  modalEl.addEventListener('sdCancel', () => this.requestDismiss(id, 'cancel'));
114
121
  modalEl.addEventListener('sdClose', () => this.requestDismiss(id, 'close'));
115
122
  }
@@ -275,15 +275,15 @@ export class SdNumberInput {
275
275
  '--sd-textinput-input-hint-typography-line-height': `${NUMBER_INPUT_HINT.typography.lineHeight}px`,
276
276
  '--sd-textinput-input-contents-gap': `${NUMBER_INPUT_CONTENTS_GAP}px`,
277
277
  };
278
- return (h("sd-field", { key: '53c6935bbf98ed1eb0f28d6bed675ea369b0b2bc', 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: '8f0da8b179cd3946d625ab6b525a2ffd614a5333', class: {
278
+ return (h("sd-field", { key: 'ad212dcbaf8e19cac070e6bdfa292ca614480fbc', 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: 'b9c403df166e2f05f815ebf3851b6517b8afbd2a', class: {
279
279
  'sd-number-input__content': true,
280
280
  'sd-number-input__content--no-stepper': !this.useButton,
281
- } }, this.useButton && (h("button", { key: '1be42c16d5e671c567d4768f505c2c17c50f1b60', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'dc074328208c8da2ee43ea2cb03dbc838b7d46c9', name: "minus", size: iconSize, color: this.isDecrementDisabled()
281
+ } }, this.useButton && (h("button", { key: '206f45b19bf8dd56b65ff55fb65d760e36d80ba7', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'd39cadc9a83cf7a0170144b8734a90f71d7aa9d1', name: "minus", size: iconSize, color: this.isDecrementDisabled()
282
282
  ? NUMBER_INPUT_STEPPER.icon.disabled
283
- : NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && h("span", { key: '84896d40d79e936480052ab45d618cd73550ee87', class: "sd-number-input__prefix" }, this.inputPrefix), h("input", { key: 'f2c8995b6c059c2a4130018b2ff0c7eabcd7abfb', 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: '0c97309540467d56ee3415001df7a027ba581a3d', class: "sd-number-input__prefix" }, this.inputPrefix), h("input", { key: '9462f0c7ac028c038894ad184c7cf052e366e48c', 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: {
284
284
  textAlign: this.useButton ? 'center' : 'right',
285
285
  ...this.inputStyle,
286
- } }), this.inputSuffix && h("span", { key: 'd6b1ca9f5991f1b2382dd4a35ae4f20832192e3c', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (h("button", { key: '56a59f94ca27e8ef4255cabdd5fe003c602bb8d6', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: '1b8fca91e893b5ade47ed63db4d4d54933c94e53', name: "add", size: iconSize, color: this.isIncrementDisabled()
286
+ } }), this.inputSuffix && h("span", { key: 'fdd4f4e680fe5de55cb68c848615ec6b00f00430', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (h("button", { key: '8cdfcc46a010fb0f503b48c34290fd096403524a', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: 'ec8826370cd9d8c6054ca6ab216de6baa62d90db', name: "add", size: iconSize, color: this.isIncrementDisabled()
287
287
  ? NUMBER_INPUT_STEPPER.icon.disabled
288
288
  : NUMBER_INPUT_STEPPER.icon.default }))))));
289
289
  }
@@ -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: 'abfac6b075ce59ac37f747bf15729bf3879b1749', class: {
86
+ return (h("div", { key: 'c1925f0f312cf5c18f08f158efb599e5b6f0d503', class: {
87
87
  'sd-pagination': true,
88
88
  'sd-pagination--simple': this.simple,
89
- }, style: cssVars }, h("div", { key: '6c8a3eb2ad708649054068a671cf156fe154fae3', 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: '1f22be76697820bf455cea5476efa84a09d03c44', 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: 'f0013d0057e6addb6a7fae39ebddd2c4f7af5bd0', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
92
+ }, onClick: () => this.handlePageChange(n) }, n))))), h("div", { key: 'b85b00b637152d5071db0652b6682541fbfd6ab5', 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() {
@@ -143,7 +143,7 @@ export class SdPopover {
143
143
  "mutable": false,
144
144
  "complexType": {
145
145
  "original": "IconName",
146
- "resolved": "\"add\" | \"alert\" | \"alignKorean\" | \"archive\" | \"arrowDown\" | \"arrowLeft\" | \"arrowRight\" | \"arrowUp\" | \"attachFile\" | \"barcode\" | \"bell\" | \"board\" | \"box\" | \"camera\" | \"cancelFill\" | \"cancelOutline\" | \"caretDown\" | \"caretLeft\" | \"caretRight\" | \"caretUp\" | \"check\" | \"checkFill\" | \"checkOutline\" | \"checkboxCheck\" | \"checkboxIndeterminate\" | \"chevronDown\" | \"chevronLeft\" | \"chevronLeftEnd\" | \"chevronRight\" | \"chevronRightEnd\" | \"chevronUp\" | \"clockFill\" | \"clockOutline\" | \"close\" | \"copy\" | \"dashboard\" | \"date\" | \"download\" | \"drag\" | \"edit\" | \"etc\" | \"event\" | \"global\" | \"helpFill\" | \"helpOutline\" | \"history\" | \"imageFill\" | \"imageOutline\" | \"inline\" | \"line\" | \"location\" | \"logout\" | \"minus\" | \"new\" | \"notificationFill\" | \"notificationOutline\" | \"notion\" | \"outline\" | \"pageEdit\" | \"pageMove\" | \"pdf\" | \"print\" | \"remove\" | \"reset\" | \"robot\" | \"row\" | \"save\" | \"search\" | \"setting\" | \"star\" | \"synchronize\" | \"updown\" | \"user\" | \"visibilityOff\" | \"visibilityOn\" | \"warehouseFill\" | \"warehouseOutline\" | \"warningFill\" | \"warningOutline\" | \"youtube\"",
146
+ "resolved": "\"add\" | \"alert\" | \"alignKorean\" | \"archive\" | \"arrowDown\" | \"arrowLeft\" | \"arrowRight\" | \"arrowUp\" | \"attachFile\" | \"barcode\" | \"bell\" | \"bill\" | \"board\" | \"box\" | \"camera\" | \"cancelFill\" | \"cancelOutline\" | \"caretDown\" | \"caretLeft\" | \"caretRight\" | \"caretUp\" | \"check\" | \"checkFill\" | \"checkOutline\" | \"checkboxCheck\" | \"checkboxIndeterminate\" | \"chevronDown\" | \"chevronLeft\" | \"chevronLeftEnd\" | \"chevronRight\" | \"chevronRightEnd\" | \"chevronUp\" | \"clockFill\" | \"clockOutline\" | \"close\" | \"copy\" | \"coupon\" | \"dashboard\" | \"date\" | \"delete\" | \"dot\" | \"download\" | \"drag\" | \"edit\" | \"etc\" | \"event\" | \"global\" | \"helpFill\" | \"helpOutline\" | \"history\" | \"imageFill\" | \"imageOutline\" | \"inline\" | \"launcher\" | \"line\" | \"location\" | \"logout\" | \"minus\" | \"monitor\" | \"new\" | \"notificationFill\" | \"notificationOutline\" | \"notion\" | \"outline\" | \"pageEdit\" | \"pageMove\" | \"pdf\" | \"print\" | \"remove\" | \"reset\" | \"robot\" | \"row\" | \"save\" | \"search\" | \"setting\" | \"shield\" | \"sidebar\" | \"star\" | \"store\" | \"synchronize\" | \"updown\" | \"user\" | \"visibilityOff\" | \"visibilityOn\" | \"warehouseFill\" | \"warehouseOutline\" | \"warningFill\" | \"warningOutline\" | \"youtube\"",
147
147
  "references": {
148
148
  "IconName": {
149
149
  "location": "global",
@@ -235,7 +235,7 @@ export class SdPopover {
235
235
  "mutable": false,
236
236
  "complexType": {
237
237
  "original": "IconName",
238
- "resolved": "\"add\" | \"alert\" | \"alignKorean\" | \"archive\" | \"arrowDown\" | \"arrowLeft\" | \"arrowRight\" | \"arrowUp\" | \"attachFile\" | \"barcode\" | \"bell\" | \"board\" | \"box\" | \"camera\" | \"cancelFill\" | \"cancelOutline\" | \"caretDown\" | \"caretLeft\" | \"caretRight\" | \"caretUp\" | \"check\" | \"checkFill\" | \"checkOutline\" | \"checkboxCheck\" | \"checkboxIndeterminate\" | \"chevronDown\" | \"chevronLeft\" | \"chevronLeftEnd\" | \"chevronRight\" | \"chevronRightEnd\" | \"chevronUp\" | \"clockFill\" | \"clockOutline\" | \"close\" | \"copy\" | \"dashboard\" | \"date\" | \"download\" | \"drag\" | \"edit\" | \"etc\" | \"event\" | \"global\" | \"helpFill\" | \"helpOutline\" | \"history\" | \"imageFill\" | \"imageOutline\" | \"inline\" | \"line\" | \"location\" | \"logout\" | \"minus\" | \"new\" | \"notificationFill\" | \"notificationOutline\" | \"notion\" | \"outline\" | \"pageEdit\" | \"pageMove\" | \"pdf\" | \"print\" | \"remove\" | \"reset\" | \"robot\" | \"row\" | \"save\" | \"search\" | \"setting\" | \"star\" | \"synchronize\" | \"updown\" | \"user\" | \"visibilityOff\" | \"visibilityOn\" | \"warehouseFill\" | \"warehouseOutline\" | \"warningFill\" | \"warningOutline\" | \"youtube\" | undefined",
238
+ "resolved": "\"add\" | \"alert\" | \"alignKorean\" | \"archive\" | \"arrowDown\" | \"arrowLeft\" | \"arrowRight\" | \"arrowUp\" | \"attachFile\" | \"barcode\" | \"bell\" | \"bill\" | \"board\" | \"box\" | \"camera\" | \"cancelFill\" | \"cancelOutline\" | \"caretDown\" | \"caretLeft\" | \"caretRight\" | \"caretUp\" | \"check\" | \"checkFill\" | \"checkOutline\" | \"checkboxCheck\" | \"checkboxIndeterminate\" | \"chevronDown\" | \"chevronLeft\" | \"chevronLeftEnd\" | \"chevronRight\" | \"chevronRightEnd\" | \"chevronUp\" | \"clockFill\" | \"clockOutline\" | \"close\" | \"copy\" | \"coupon\" | \"dashboard\" | \"date\" | \"delete\" | \"dot\" | \"download\" | \"drag\" | \"edit\" | \"etc\" | \"event\" | \"global\" | \"helpFill\" | \"helpOutline\" | \"history\" | \"imageFill\" | \"imageOutline\" | \"inline\" | \"launcher\" | \"line\" | \"location\" | \"logout\" | \"minus\" | \"monitor\" | \"new\" | \"notificationFill\" | \"notificationOutline\" | \"notion\" | \"outline\" | \"pageEdit\" | \"pageMove\" | \"pdf\" | \"print\" | \"remove\" | \"reset\" | \"robot\" | \"row\" | \"save\" | \"search\" | \"setting\" | \"shield\" | \"sidebar\" | \"star\" | \"store\" | \"synchronize\" | \"updown\" | \"user\" | \"visibilityOff\" | \"visibilityOn\" | \"warehouseFill\" | \"warehouseOutline\" | \"warningFill\" | \"warningOutline\" | \"youtube\" | undefined",
239
239
  "references": {
240
240
  "IconName": {
241
241
  "location": "global",
@@ -36,7 +36,7 @@ export class SdPopup {
36
36
  ...DEFAULT_SUBMIT_BUTTON_PROPS,
37
37
  ...this.submitButtonProps,
38
38
  };
39
- return (h("div", { key: 'ea933af50e1ad1a29cf8d73ce70222e2f44c0bb5', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, h("header", { key: '50f1773d911175182888a98a0759b8d3d8829d2f', class: "sd-popup__header" }, h("h2", { key: '4e21a73a6e26388c6b1c814a91ee8a79bf57c576', class: "sd-popup__title" }, this.popupTitle)), h("div", { key: 'dd6ace33c6d8b3e20c0c85c95580efbf8ad6747c', class: "sd-popup__body" }, h("slot", { key: 'e40fbea5b93016131df544f32b74676d2892204e' })), this.useFooter && (h("footer", { key: '96b27f465a804859a15e9105fcd64c7205bc2143', class: "sd-popup__footer" }, h("div", { key: '6715ba330610850ea235ddde5f2da00584204286', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, h("slot", { key: '092aca3ad212b7218ce4ba247b78b7b45d9e4299', name: "footer-left" })), h("sd-button", { key: '290cd49879cc4868be69ceb60567eab57b5f26fe', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
39
+ return (h("div", { key: 'a978706454e3964818cc96b3a583880b952c2533', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, h("header", { key: '1164fc29d4040d51b74ebc45fedc4fd19038e900', class: "sd-popup__header" }, h("h2", { key: '6ac1ea61e52f952f3bea4c4149222b4ff43b61db', class: "sd-popup__title" }, this.popupTitle)), h("div", { key: 'fe8cebfc5ea513ae07e3a2987a8c7d9b36ed26e9', class: "sd-popup__body" }, h("slot", { key: 'f7ce06ae60cc8af6dbae2b24db4fd6b00e13d365' })), this.useFooter && (h("footer", { key: '84251ae1e48522fcf47d0081c9c0689e5fb236a6', class: "sd-popup__footer" }, h("div", { key: 'c7d4a8546bd185c812a98569cc3b2a818cbb2963', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, h("slot", { key: '474e09481472b96ff4eacc66502aa06987b463b8', name: "footer-left" })), h("sd-button", { key: '2b23204ffad997f022dd06b772433ceb69950d04', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
40
40
  }
41
41
  static get is() { return "sd-popup"; }
42
42
  static get originalStyleUrls() {
@@ -48,7 +48,7 @@ export class SdPortal {
48
48
  createWrapper() {
49
49
  this.wrapper = document.createElement('div');
50
50
  Object.assign(this.wrapper.style, {
51
- position: 'absolute',
51
+ position: 'fixed',
52
52
  top: '0',
53
53
  left: '0',
54
54
  zIndex: (this.zIndex ?? 998).toString(),
@@ -122,13 +122,13 @@ export class SdPortal {
122
122
  const wrapperRect = this.wrapper.getBoundingClientRect();
123
123
  const availableBelow = viewport.height - parentRect.bottom - offset[1] - viewportPadding;
124
124
  const availableAbove = parentRect.top - offset[1] - viewportPadding;
125
- let top = parentRect.bottom + window.scrollY + offset[1];
126
- let left = parentRect.left + window.scrollX + offset[0];
125
+ let top = parentRect.bottom + offset[1];
126
+ let left = parentRect.left + offset[0];
127
127
  if (availableBelow < wrapperRect.height && availableAbove > availableBelow) {
128
- top = parentRect.top + window.scrollY - wrapperRect.height - offset[1];
128
+ top = parentRect.top - wrapperRect.height - offset[1];
129
129
  }
130
- const minTop = window.scrollY + viewportPadding;
131
- const maxTop = window.scrollY + viewport.height - viewportPadding - wrapperRect.height;
130
+ const minTop = viewportPadding;
131
+ const maxTop = viewport.height - viewportPadding - wrapperRect.height;
132
132
  if (maxTop < minTop) {
133
133
  top = minTop;
134
134
  }
@@ -136,10 +136,10 @@ export class SdPortal {
136
136
  top = Math.min(Math.max(top, minTop), maxTop);
137
137
  }
138
138
  if (parentRect.left + wrapperRect.width + offset[0] > viewport.width - viewportPadding) {
139
- left = parentRect.right + window.scrollX - wrapperRect.width - offset[0];
139
+ left = parentRect.right - wrapperRect.width - offset[0];
140
140
  }
141
- const minLeft = window.scrollX + viewportPadding;
142
- const maxLeft = window.scrollX + viewport.width - viewportPadding - wrapperRect.width;
141
+ const minLeft = viewportPadding;
142
+ const maxLeft = viewport.width - viewportPadding - wrapperRect.width;
143
143
  if (maxLeft < minLeft) {
144
144
  left = minLeft;
145
145
  }
@@ -206,21 +206,25 @@ export class SdPortal {
206
206
  }
207
207
  return scrollParents;
208
208
  }
209
+ isInsideTarget(target) {
210
+ return !!((this.wrapper?.contains(target)) ||
211
+ (this.parentRef?.contains(target)));
212
+ }
209
213
  // 외부 클릭 감지
210
214
  handleMouseDown(e) {
211
- this.isInsideClick = !!(this.wrapper && this.wrapper.contains(e.target));
215
+ this.isInsideClick = this.isInsideTarget(e.target);
212
216
  }
213
217
  handleWindowClick(e) {
214
218
  if (this.isInsideClick) {
215
219
  this.isInsideClick = false;
216
220
  return;
217
221
  }
218
- if (this.wrapper?.contains(e.target))
222
+ if (this.isInsideTarget(e.target))
219
223
  return;
220
224
  this.close.emit();
221
225
  }
222
226
  render() {
223
- return h("slot", { key: 'f7b160cb574608fa16f6edd27d259b85787e6144' });
227
+ return h("slot", { key: '22e09896836d017f33a9c6b92772a00fc85f8997' });
224
228
  }
225
229
  static get is() { return "sd-portal"; }
226
230
  static get properties() {