@sellmate/design-system 1.28.0 → 1.31.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 (467) hide show
  1. package/dist/cjs/design-system.cjs.js +2 -2
  2. package/dist/cjs/{index-D12oddge.js → index-Jr8OU0y9.js} +1 -15
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/sd-action-modal.cjs.entry.js +2 -2
  5. package/dist/cjs/sd-badge.cjs.entry.js +2 -2
  6. package/dist/cjs/sd-barcode-input.cjs.entry.js +2 -2
  7. package/dist/cjs/sd-button_2.cjs.entry.js +3 -3
  8. package/dist/cjs/sd-calendar_2.cjs.entry.js +8 -9
  9. package/dist/cjs/sd-callout.cjs.entry.js +2 -2
  10. package/dist/cjs/sd-card.cjs.entry.js +2 -2
  11. package/dist/cjs/sd-checkbox.cjs.entry.js +5 -5
  12. package/dist/cjs/sd-chip-input.cjs.entry.js +22 -17
  13. package/dist/cjs/sd-chip.cjs.entry.js +7 -7
  14. package/dist/cjs/sd-circle-progress.cjs.entry.js +4 -4
  15. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +33 -36
  16. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  17. package/dist/cjs/{component.datepicker-CUQbDSku.js → sd-date-picker.config-CgyNxY03.js} +64 -0
  18. package/dist/cjs/{sd-date-picker_7.cjs.entry.js → sd-date-picker_8.cjs.entry.js} +446 -47
  19. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +162 -12
  20. package/dist/cjs/sd-divider.cjs.entry.js +3 -3
  21. package/dist/cjs/sd-dropdown-button.cjs.entry.js +2 -2
  22. package/dist/cjs/sd-field_3.cjs.entry.js +51 -52
  23. package/dist/cjs/sd-form.cjs.entry.js +1 -1
  24. package/dist/cjs/sd-ghost-button_3.cjs.entry.js +14 -10
  25. package/dist/cjs/sd-guide.cjs.entry.js +2 -2
  26. package/dist/cjs/sd-key-value-table.cjs.entry.js +88 -18
  27. package/dist/cjs/sd-linear-progress.cjs.entry.js +3 -3
  28. package/dist/cjs/sd-loading-container.cjs.entry.js +3 -3
  29. package/dist/cjs/sd-modal-container.cjs.entry.js +16 -2
  30. package/dist/cjs/sd-pagination.cjs.entry.js +173 -0
  31. package/dist/cjs/sd-popover.cjs.entry.js +134 -44
  32. package/dist/cjs/sd-popup.cjs.entry.js +3 -3
  33. package/dist/cjs/sd-radio-button.cjs.entry.js +3 -3
  34. package/dist/cjs/sd-radio.cjs.entry.js +4 -2
  35. package/dist/cjs/{sd-select_3.cjs.entry.js → sd-select-list-item_4.cjs.entry.js} +294 -315
  36. package/dist/cjs/sd-switch.cjs.entry.js +13 -3
  37. package/dist/cjs/sd-tabs.cjs.entry.js +2 -2
  38. package/dist/cjs/sd-text-link.cjs.entry.js +4 -4
  39. package/dist/cjs/sd-time-picker-selector.cjs.entry.js +179 -0
  40. package/dist/cjs/sd-time-picker-trigger.cjs.entry.js +75 -0
  41. package/dist/cjs/sd-time-picker.cjs.entry.js +173 -0
  42. package/dist/cjs/sd-time-picker.config-C7REB08L.js +156 -0
  43. package/dist/cjs/sd-time-range-picker-selector.cjs.entry.js +219 -0
  44. package/dist/cjs/sd-time-range-picker.cjs.entry.js +204 -0
  45. package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
  46. package/dist/cjs/sd-toast.cjs.entry.js +3 -3
  47. package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
  48. package/dist/cjs/{system-MjrAugX-.js → system-B4KkVpu2.js} +1 -7
  49. package/dist/cjs/{tooltipArrow-Dda4ik0V.js → tooltipArrow-BlrFItn5.js} +1 -1
  50. package/dist/cjs/useDatePicker-j06ymWZ_.js +103 -0
  51. package/dist/collection/collection-manifest.json +8 -8
  52. package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
  53. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  54. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
  55. package/dist/collection/components/sd-button/sd-button.js +2 -2
  56. package/dist/collection/components/sd-calendar/sd-calendar.js +3 -3
  57. package/dist/collection/components/sd-callout/sd-callout.js +1 -1
  58. package/dist/collection/components/sd-card/sd-card.js +1 -1
  59. package/dist/collection/components/sd-checkbox/sd-checkbox.js +8 -8
  60. package/dist/collection/components/sd-chip/sd-chip.js +8 -8
  61. package/dist/collection/components/sd-chip-input/sd-chip-input.css +3 -0
  62. package/dist/collection/components/sd-chip-input/sd-chip-input.js +43 -17
  63. package/dist/collection/components/sd-circle-progress/sd-circle-progress.css +1 -0
  64. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  65. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.css +3 -0
  66. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +35 -59
  67. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  68. package/dist/collection/components/sd-date-picker/sd-date-picker.js +23 -2
  69. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.css +75 -0
  70. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +152 -6
  71. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.config.js +27 -0
  72. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +59 -3
  73. package/dist/collection/components/sd-divider/sd-divider.js +1 -1
  74. package/dist/collection/components/sd-field/sd-field.css +4 -0
  75. package/dist/collection/components/sd-field/sd-field.js +58 -5
  76. package/dist/collection/components/sd-file-picker/sd-file-picker.config.js +17 -10
  77. package/dist/collection/components/sd-file-picker/sd-file-picker.js +46 -16
  78. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  79. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +27 -3
  80. package/dist/collection/components/sd-input/sd-input.js +4 -4
  81. package/dist/collection/components/sd-key-value-table/sd-key-value-table.config.js +2 -0
  82. package/dist/collection/components/sd-key-value-table/sd-key-value-table.css +5 -1
  83. package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +65 -15
  84. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
  85. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  86. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  87. package/dist/collection/components/sd-modal-container/sd-modal-container.js +15 -1
  88. package/dist/collection/components/sd-number-input/sd-number-input.js +58 -7
  89. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  90. package/dist/collection/components/sd-popover/sd-popover.config.js +41 -0
  91. package/dist/collection/components/sd-popover/sd-popover.js +189 -191
  92. package/dist/collection/components/sd-popup/sd-popup.js +1 -1
  93. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  94. package/dist/collection/components/sd-radio/sd-radio.js +25 -4
  95. package/dist/collection/components/sd-radio-button/sd-radio-button.js +6 -6
  96. package/dist/collection/components/sd-radio-group/sd-radio-group.js +7 -7
  97. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +2 -2
  98. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
  99. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +2 -2
  100. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
  101. package/dist/collection/components/sd-select/sd-select.js +4 -4
  102. package/dist/collection/components/sd-switch/sd-switch.js +54 -3
  103. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  104. package/dist/collection/components/sd-tag/sd-tag.js +7 -8
  105. package/dist/collection/components/sd-text-link/sd-text-link.js +3 -3
  106. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  107. package/dist/collection/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.css +87 -0
  108. package/dist/collection/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.js +266 -0
  109. package/dist/collection/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.css +38 -0
  110. package/dist/collection/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.js +216 -0
  111. package/dist/collection/components/sd-time-picker/sd-time-picker.config.js +78 -0
  112. package/dist/collection/components/sd-time-picker/sd-time-picker.css +12 -0
  113. package/dist/collection/components/sd-time-picker/sd-time-picker.js +761 -0
  114. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.css +102 -0
  115. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.js +338 -0
  116. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.config.js +23 -0
  117. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.css +12 -0
  118. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.js +809 -0
  119. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  120. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  121. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  122. package/dist/collection/components/sd-tooltip/sd-tooltip.js +36 -189
  123. package/dist/components/index.js +1 -1
  124. package/dist/components/p-1DsQj3tv.js +1 -0
  125. package/dist/components/p-2g4jlJ3i.js +1 -0
  126. package/dist/components/{p-BE6ymp9E.js → p-6U1qyU5A.js} +1 -1
  127. package/dist/components/{p-1i6Q61TF.js → p-B-EV9bey.js} +1 -1
  128. package/dist/components/p-B887QQl2.js +1 -0
  129. package/dist/components/{p-BysikR_g.js → p-BPzs63D8.js} +1 -1
  130. package/dist/components/p-Bth2l1cy.js +1 -0
  131. package/dist/components/{p-CTDPl65u.js → p-BvJ14GuJ.js} +1 -1
  132. package/dist/components/p-Bxv2AFOb.js +1 -0
  133. package/dist/components/p-C6o10dl7.js +1 -0
  134. package/dist/components/p-C6wuKkUq.js +1 -0
  135. package/dist/components/{p-BAVsc1Ml.js → p-C9IKm4j5.js} +1 -1
  136. package/dist/components/{p-BuADVB78.js → p-CH9dgzTr.js} +1 -1
  137. package/dist/components/p-CKV2W-zU.js +1 -0
  138. package/dist/components/p-CTCt17CE.js +1 -0
  139. package/dist/components/{p-laVsm9VM.js → p-CghFB91T.js} +1 -1
  140. package/dist/components/p-Ckr9iuVb.js +1 -0
  141. package/dist/components/p-ClbD4Gsr.js +1 -0
  142. package/dist/components/p-CmCOLnc0.js +1 -0
  143. package/dist/components/{p-DNbbdJIc.js → p-CwzkplrI.js} +1 -1
  144. package/dist/components/p-CzJ9g73f.js +1 -0
  145. package/dist/components/p-D8yhjm54.js +1 -0
  146. package/dist/components/p-D9qp3o5Y.js +1 -0
  147. package/dist/components/{p-Bgxca9o5.js → p-DE8Ws9As.js} +1 -1
  148. package/dist/components/p-DMm_GeZC.js +1 -0
  149. package/dist/components/{p-BnI9HUOv.js → p-DOfLrOEu.js} +1 -1
  150. package/dist/components/{p-vtuEYpc6.js → p-DSWD8udu.js} +1 -1
  151. package/dist/components/{p-BKV1WAFb.js → p-DWnuCSqC.js} +1 -1
  152. package/dist/components/p-DYjaQs6e.js +1 -0
  153. package/dist/components/{p-pwGA4sDj.js → p-DasiqnrU.js} +1 -1
  154. package/dist/components/p-Dc9g3-5z.js +1 -0
  155. package/dist/components/{p-ClD0nx1l.js → p-DnlLqzGM.js} +1 -1
  156. package/dist/components/p-DsZwiWiU.js +1 -0
  157. package/dist/components/{p-IDlLs_KA.js → p-FGII920I.js} +1 -1
  158. package/dist/components/p-Hjv7LqkN.js +1 -0
  159. package/dist/components/{p-CHHlQceE.js → p-In6mljvA.js} +1 -1
  160. package/dist/components/p-OnBLxJAP.js +1 -0
  161. package/dist/components/p-SYnTIeiO.js +1 -0
  162. package/dist/{design-system/p-D2S9Zafz.js → components/p-bXzpfkfN.js} +1 -1
  163. package/dist/components/p-mcbwNjNT.js +1 -0
  164. package/dist/components/p-qZxAQy4p.js +1 -0
  165. package/dist/components/sd-action-modal.js +1 -1
  166. package/dist/components/sd-badge.js +1 -1
  167. package/dist/components/sd-barcode-input.js +1 -1
  168. package/dist/components/sd-button.js +1 -1
  169. package/dist/components/sd-calendar.js +1 -1
  170. package/dist/components/sd-callout.js +1 -1
  171. package/dist/components/sd-card.js +1 -1
  172. package/dist/components/sd-checkbox.js +1 -1
  173. package/dist/components/sd-chip-input.js +1 -1
  174. package/dist/components/sd-chip.js +1 -1
  175. package/dist/components/sd-circle-progress.js +1 -1
  176. package/dist/components/sd-confirm-modal.js +1 -1
  177. package/dist/components/sd-date-box.js +1 -1
  178. package/dist/components/sd-date-picker-trigger.js +1 -1
  179. package/dist/components/sd-date-picker.js +1 -1
  180. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  181. package/dist/components/sd-date-range-picker.js +1 -1
  182. package/dist/components/sd-divider.js +1 -1
  183. package/dist/components/sd-dropdown-button.js +1 -1
  184. package/dist/components/sd-field.js +1 -1
  185. package/dist/components/sd-file-picker.js +1 -1
  186. package/dist/components/sd-floating-portal.js +1 -1
  187. package/dist/components/sd-form.js +1 -1
  188. package/dist/components/sd-ghost-button.js +1 -1
  189. package/dist/components/sd-guide.js +1 -1
  190. package/dist/components/sd-icon.js +1 -1
  191. package/dist/components/sd-input.js +1 -1
  192. package/dist/components/sd-key-value-table.js +1 -1
  193. package/dist/components/sd-linear-progress.js +1 -1
  194. package/dist/components/sd-loading-container.js +1 -1
  195. package/dist/components/sd-loading-modal.js +1 -1
  196. package/dist/components/sd-modal-container.js +1 -1
  197. package/dist/components/sd-number-input.js +1 -1
  198. package/dist/components/sd-pagination.js +1 -1
  199. package/dist/components/sd-popover.js +1 -1
  200. package/dist/components/sd-popup.js +1 -1
  201. package/dist/components/sd-portal.js +1 -1
  202. package/dist/components/sd-radio-button.js +1 -1
  203. package/dist/components/sd-radio-group.js +1 -1
  204. package/dist/components/sd-radio.js +1 -1
  205. package/dist/components/sd-select-list-item-search.js +1 -1
  206. package/dist/components/sd-select-list-item.js +1 -1
  207. package/dist/components/sd-select-listbox.js +1 -1
  208. package/dist/components/sd-select-trigger.js +1 -1
  209. package/dist/components/sd-select.js +1 -1
  210. package/dist/components/sd-switch.js +1 -1
  211. package/dist/components/sd-tabs.js +1 -1
  212. package/dist/components/sd-tag.js +1 -1
  213. package/dist/components/sd-text-link.js +1 -1
  214. package/dist/components/sd-textarea.js +1 -1
  215. package/dist/components/sd-time-picker-selector.d.ts +11 -0
  216. package/dist/components/sd-time-picker-selector.js +1 -0
  217. package/dist/components/{sd-table.d.ts → sd-time-picker-trigger.d.ts} +4 -4
  218. package/dist/components/sd-time-picker-trigger.js +1 -0
  219. package/dist/components/{sd-thead.d.ts → sd-time-picker.d.ts} +4 -4
  220. package/dist/components/sd-time-picker.js +1 -0
  221. package/dist/components/sd-time-range-picker-selector.d.ts +11 -0
  222. package/dist/components/sd-time-range-picker-selector.js +1 -0
  223. package/dist/components/{sd-td.d.ts → sd-time-range-picker.d.ts} +4 -4
  224. package/dist/components/sd-time-range-picker.js +1 -0
  225. package/dist/components/sd-toast-container.js +1 -1
  226. package/dist/components/sd-toast.js +1 -1
  227. package/dist/components/sd-toggle.js +1 -1
  228. package/dist/components/sd-tooltip.js +1 -1
  229. package/dist/design-system/design-system.css +1 -1
  230. package/dist/design-system/design-system.esm.js +1 -1
  231. package/dist/design-system/{p-750a9112.entry.js → p-129b6330.entry.js} +1 -1
  232. package/dist/design-system/p-15f43b9b.entry.js +1 -0
  233. package/dist/design-system/p-16b9eac4.entry.js +1 -0
  234. package/dist/design-system/{p-0b8c86c3.entry.js → p-1858636f.entry.js} +1 -1
  235. package/dist/design-system/{p-a938ffee.entry.js → p-21672bb8.entry.js} +1 -1
  236. package/dist/design-system/{p-3b3a46cd.entry.js → p-219288ef.entry.js} +1 -1
  237. package/dist/design-system/{p-26f2f4c2.entry.js → p-22ac9e05.entry.js} +1 -1
  238. package/dist/design-system/p-2534d3d4.entry.js +1 -0
  239. package/dist/design-system/p-3859316f.entry.js +1 -0
  240. package/dist/design-system/{p-67f19734.entry.js → p-46da4e95.entry.js} +1 -1
  241. package/dist/design-system/{p-287d8016.entry.js → p-46eb3421.entry.js} +1 -1
  242. package/dist/design-system/p-4782331f.entry.js +1 -0
  243. package/dist/design-system/p-4a117dd6.entry.js +1 -0
  244. package/dist/design-system/{p-58ec51db.entry.js → p-4ae0a64a.entry.js} +1 -1
  245. package/dist/design-system/{p-bbd24816.entry.js → p-52b1be6f.entry.js} +1 -1
  246. package/dist/design-system/p-56e7c87b.entry.js +1 -0
  247. package/dist/design-system/p-570b9e91.entry.js +1 -0
  248. package/dist/design-system/p-5a113197.entry.js +1 -0
  249. package/dist/design-system/p-62ff77e4.entry.js +1 -0
  250. package/dist/design-system/{p-1230b51b.entry.js → p-655324cd.entry.js} +1 -1
  251. package/dist/design-system/p-66cff123.entry.js +1 -0
  252. package/dist/design-system/{p-4970f1ff.entry.js → p-6c4fa9d7.entry.js} +1 -1
  253. package/dist/design-system/{p-071e73e0.entry.js → p-809a0a71.entry.js} +1 -1
  254. package/dist/design-system/{p-70608fec.entry.js → p-82cb62a9.entry.js} +1 -1
  255. package/dist/design-system/p-843d1a8a.entry.js +1 -0
  256. package/dist/design-system/{p-fbeed0e4.entry.js → p-8836d9ff.entry.js} +1 -1
  257. package/dist/design-system/p-8af8e302.entry.js +1 -0
  258. package/dist/design-system/p-9c131122.entry.js +1 -0
  259. package/dist/design-system/{p-BqWuC4-J.js → p-BnUjeY2n.js} +1 -1
  260. package/dist/design-system/p-Bth2l1cy.js +1 -0
  261. package/dist/design-system/p-C599jhDs.js +2 -0
  262. package/dist/design-system/{p-CRWmn35N.js → p-Cn8LZw1e.js} +1 -1
  263. package/dist/design-system/p-DMm_GeZC.js +1 -0
  264. package/dist/design-system/p-Dz23PPdF.js +1 -0
  265. package/dist/design-system/p-a0c55a19.entry.js +1 -0
  266. package/dist/design-system/p-a6c292d1.entry.js +1 -0
  267. package/dist/design-system/p-a9cc4697.entry.js +1 -0
  268. package/dist/design-system/{p-2553bb1f.entry.js → p-b2dc1202.entry.js} +1 -1
  269. package/dist/design-system/{p-9c0bca09.entry.js → p-b5229957.entry.js} +1 -1
  270. package/dist/design-system/{p-d7e302af.entry.js → p-b75cc0dd.entry.js} +1 -1
  271. package/dist/design-system/p-b97a6cf3.entry.js +1 -0
  272. package/dist/design-system/p-c1e625e5.entry.js +1 -0
  273. package/dist/design-system/{p-5687ed0c.entry.js → p-c7f03dea.entry.js} +1 -1
  274. package/dist/design-system/p-cdb2433a.entry.js +1 -0
  275. package/dist/design-system/{p-61f5d5ea.entry.js → p-d5325895.entry.js} +1 -1
  276. package/dist/design-system/p-e0e4a451.entry.js +1 -0
  277. package/dist/design-system/p-e387ec65.entry.js +1 -0
  278. package/dist/design-system/{p-bab692c6.entry.js → p-efe3601d.entry.js} +1 -1
  279. package/dist/esm/design-system.js +3 -3
  280. package/dist/esm/{index-DDNBPrZh.js → index-C599jhDs.js} +2 -14
  281. package/dist/esm/loader.js +3 -3
  282. package/dist/esm/sd-action-modal.entry.js +2 -2
  283. package/dist/esm/sd-badge.entry.js +2 -2
  284. package/dist/esm/sd-barcode-input.entry.js +2 -2
  285. package/dist/esm/sd-button_2.entry.js +3 -3
  286. package/dist/esm/sd-calendar_2.entry.js +8 -9
  287. package/dist/esm/sd-callout.entry.js +2 -2
  288. package/dist/esm/sd-card.entry.js +2 -2
  289. package/dist/esm/sd-checkbox.entry.js +5 -5
  290. package/dist/esm/sd-chip-input.entry.js +22 -17
  291. package/dist/esm/sd-chip.entry.js +7 -7
  292. package/dist/esm/sd-circle-progress.entry.js +4 -4
  293. package/dist/esm/sd-confirm-modal_2.entry.js +33 -36
  294. package/dist/esm/sd-date-box.entry.js +1 -1
  295. package/dist/esm/{component.datepicker-laVsm9VM.js → sd-date-picker.config-CdXJcOGr.js} +63 -1
  296. package/dist/esm/{sd-date-picker_7.entry.js → sd-date-picker_8.entry.js} +446 -48
  297. package/dist/esm/sd-date-range-picker-calendar.entry.js +158 -8
  298. package/dist/esm/sd-divider.entry.js +3 -3
  299. package/dist/esm/sd-dropdown-button.entry.js +2 -2
  300. package/dist/esm/sd-field_3.entry.js +51 -52
  301. package/dist/esm/sd-form.entry.js +1 -1
  302. package/dist/esm/sd-ghost-button_3.entry.js +14 -10
  303. package/dist/esm/sd-guide.entry.js +2 -2
  304. package/dist/esm/sd-key-value-table.entry.js +87 -17
  305. package/dist/esm/sd-linear-progress.entry.js +3 -3
  306. package/dist/esm/sd-loading-container.entry.js +3 -3
  307. package/dist/esm/sd-modal-container.entry.js +16 -2
  308. package/dist/esm/sd-pagination.entry.js +171 -0
  309. package/dist/esm/sd-popover.entry.js +134 -44
  310. package/dist/esm/sd-popup.entry.js +3 -3
  311. package/dist/esm/sd-radio-button.entry.js +3 -3
  312. package/dist/esm/sd-radio.entry.js +4 -2
  313. package/dist/esm/{sd-select_3.entry.js → sd-select-list-item_4.entry.js} +277 -299
  314. package/dist/esm/sd-switch.entry.js +13 -3
  315. package/dist/esm/sd-tabs.entry.js +2 -2
  316. package/dist/esm/sd-text-link.entry.js +4 -4
  317. package/dist/esm/sd-time-picker-selector.entry.js +177 -0
  318. package/dist/esm/sd-time-picker-trigger.entry.js +73 -0
  319. package/dist/esm/sd-time-picker.config-DUq29Nhs.js +148 -0
  320. package/dist/esm/sd-time-picker.entry.js +171 -0
  321. package/dist/esm/sd-time-range-picker-selector.entry.js +217 -0
  322. package/dist/esm/sd-time-range-picker.entry.js +202 -0
  323. package/dist/esm/sd-toast-container.entry.js +2 -2
  324. package/dist/esm/sd-toast.entry.js +3 -3
  325. package/dist/esm/sd-toggle.entry.js +2 -2
  326. package/dist/esm/{system-BJfiMC9H.js → system-Bth2l1cy.js} +1 -7
  327. package/dist/esm/{tooltipArrow-blL0aWPE.js → tooltipArrow-DbLihSLI.js} +1 -1
  328. package/dist/esm/{useDatePicker-DoUg--aq.js → useDatePicker-DQ5Kyy_D.js} +1 -1
  329. package/dist/types/components/sd-checkbox/sd-checkbox.d.ts +2 -2
  330. package/dist/types/components/sd-chip/sd-chip.d.ts +3 -3
  331. package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +4 -2
  332. package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +10 -10
  333. package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +2 -0
  334. package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +20 -0
  335. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.config.d.ts +25 -0
  336. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +9 -0
  337. package/dist/types/components/sd-field/sd-field.d.ts +7 -0
  338. package/dist/types/components/sd-file-picker/sd-file-picker.config.d.ts +28 -0
  339. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +3 -1
  340. package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +5 -0
  341. package/dist/types/components/sd-input/sd-input.d.ts +1 -1
  342. package/dist/types/components/sd-key-value-table/sd-key-value-table.config.d.ts +22 -3
  343. package/dist/types/components/sd-key-value-table/sd-key-value-table.d.ts +9 -1
  344. package/dist/types/components/sd-modal-container/sd-modal-container.config.d.ts +3 -0
  345. package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +2 -0
  346. package/dist/types/components/sd-number-input/sd-number-input.d.ts +8 -0
  347. package/dist/types/components/sd-popover/sd-popover.config.d.ts +22 -0
  348. package/dist/types/components/sd-popover/sd-popover.d.ts +29 -36
  349. package/dist/types/components/sd-radio/sd-radio.d.ts +3 -1
  350. package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +2 -2
  351. package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +2 -2
  352. package/dist/types/components/sd-switch/sd-switch.d.ts +8 -1
  353. package/dist/types/components/sd-tag/sd-tag.d.ts +2 -2
  354. package/dist/types/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.d.ts +35 -0
  355. package/dist/types/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.d.ts +21 -0
  356. package/dist/types/components/sd-time-picker/sd-time-picker.config.d.ts +71 -0
  357. package/dist/types/components/sd-time-picker/sd-time-picker.d.ts +84 -0
  358. package/dist/types/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.d.ts +40 -0
  359. package/dist/types/components/sd-time-range-picker/sd-time-range-picker.config.d.ts +9 -0
  360. package/dist/types/components/sd-time-range-picker/sd-time-range-picker.d.ts +88 -0
  361. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +7 -22
  362. package/dist/types/components.d.ts +1093 -885
  363. package/dist/types/index.d.ts +0 -1
  364. package/hydrate/index.js +2573 -3144
  365. package/hydrate/index.mjs +2573 -3144
  366. package/package.json +1 -1
  367. package/dist/cjs/component.table-POXY492T.js +0 -72
  368. package/dist/cjs/constants-DJRV1upE.js +0 -5
  369. package/dist/cjs/sd-date-picker.config-De7ahWIs.js +0 -41
  370. package/dist/cjs/sd-pagination_4.cjs.entry.js +0 -858
  371. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +0 -173
  372. package/dist/cjs/sd-select.config-omyxekRa.js +0 -144
  373. package/dist/cjs/sd-table.cjs.entry.js +0 -956
  374. package/dist/cjs/sd-table.config-DFy_S4bc.js +0 -83
  375. package/dist/cjs/sd-td.cjs.entry.js +0 -201
  376. package/dist/cjs/useDatePicker-iMd6WToc.js +0 -103
  377. package/dist/collection/components/sd-table/constants.js +0 -1
  378. package/dist/collection/components/sd-table/sd-table.config.js +0 -88
  379. package/dist/collection/components/sd-table/sd-table.css +0 -180
  380. package/dist/collection/components/sd-table/sd-table.js +0 -1709
  381. package/dist/collection/components/sd-table/sd-table.stories.helpers.js +0 -242
  382. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.css +0 -10
  383. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +0 -110
  384. package/dist/collection/components/sd-table/sd-td/sd-td.css +0 -15
  385. package/dist/collection/components/sd-table/sd-td/sd-td.js +0 -381
  386. package/dist/collection/components/sd-table/sd-thead/sd-thead.css +0 -186
  387. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +0 -629
  388. package/dist/collection/components/sd-table/sd-tr/sd-tr.css +0 -145
  389. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +0 -530
  390. package/dist/components/p-5pkzwl5N.js +0 -1
  391. package/dist/components/p-B-pJW3nY.js +0 -1
  392. package/dist/components/p-B2pYDEK7.js +0 -1
  393. package/dist/components/p-B3HYnTGx.js +0 -1
  394. package/dist/components/p-B6ezDhRg.js +0 -1
  395. package/dist/components/p-BCxePXvg.js +0 -1
  396. package/dist/components/p-BJfiMC9H.js +0 -1
  397. package/dist/components/p-BNHhtZUf.js +0 -1
  398. package/dist/components/p-BQ4Okfcm.js +0 -1
  399. package/dist/components/p-BSxleKw8.js +0 -1
  400. package/dist/components/p-BUgGuigd.js +0 -1
  401. package/dist/components/p-BWHQn4fD.js +0 -1
  402. package/dist/components/p-BZXgIBUG.js +0 -1
  403. package/dist/components/p-Bxb7TcZh.js +0 -1
  404. package/dist/components/p-C0tnN4yn.js +0 -1
  405. package/dist/components/p-CMvHDxR5.js +0 -1
  406. package/dist/components/p-CSh-DcM7.js +0 -1
  407. package/dist/components/p-Cf62Nvrx.js +0 -1
  408. package/dist/components/p-DbPS61bp.js +0 -1
  409. package/dist/components/p-DckXBMgo.js +0 -1
  410. package/dist/components/p-DmAnTwUx.js +0 -1
  411. package/dist/components/p-E8OA_psS.js +0 -1
  412. package/dist/components/p-PFLrdhQj.js +0 -1
  413. package/dist/components/p-l9RiSWRc.js +0 -1
  414. package/dist/components/p-paSLRXAR.js +0 -1
  415. package/dist/components/p-sZMi_32I.js +0 -1
  416. package/dist/components/p-yxZBh03f.js +0 -1
  417. package/dist/components/sd-table.js +0 -1
  418. package/dist/components/sd-tbody.d.ts +0 -11
  419. package/dist/components/sd-tbody.js +0 -1
  420. package/dist/components/sd-td.js +0 -1
  421. package/dist/components/sd-thead.js +0 -1
  422. package/dist/components/sd-tr.d.ts +0 -11
  423. package/dist/components/sd-tr.js +0 -1
  424. package/dist/design-system/p-0048de73.entry.js +0 -1
  425. package/dist/design-system/p-20f69606.entry.js +0 -1
  426. package/dist/design-system/p-27197194.entry.js +0 -1
  427. package/dist/design-system/p-5c8f4d9c.entry.js +0 -1
  428. package/dist/design-system/p-5pkzwl5N.js +0 -1
  429. package/dist/design-system/p-75726e20.entry.js +0 -1
  430. package/dist/design-system/p-7abf62f3.entry.js +0 -1
  431. package/dist/design-system/p-7ae27a26.entry.js +0 -1
  432. package/dist/design-system/p-84d0181b.entry.js +0 -1
  433. package/dist/design-system/p-91f7be74.entry.js +0 -1
  434. package/dist/design-system/p-94d6b7b4.entry.js +0 -1
  435. package/dist/design-system/p-9b21773a.entry.js +0 -1
  436. package/dist/design-system/p-BJfiMC9H.js +0 -1
  437. package/dist/design-system/p-Cf62Nvrx.js +0 -1
  438. package/dist/design-system/p-CuAh9n2o.js +0 -1
  439. package/dist/design-system/p-DDNBPrZh.js +0 -2
  440. package/dist/design-system/p-a12d7362.entry.js +0 -1
  441. package/dist/design-system/p-b831eded.entry.js +0 -1
  442. package/dist/design-system/p-c5502585.entry.js +0 -1
  443. package/dist/design-system/p-c81898a0.entry.js +0 -1
  444. package/dist/design-system/p-d4e2f412.entry.js +0 -1
  445. package/dist/design-system/p-d6b3d78b.entry.js +0 -1
  446. package/dist/design-system/p-dbfa3931.entry.js +0 -1
  447. package/dist/design-system/p-f16985c9.entry.js +0 -1
  448. package/dist/design-system/p-fa967329.entry.js +0 -1
  449. package/dist/design-system/p-laVsm9VM.js +0 -1
  450. package/dist/design-system/p-sZMi_32I.js +0 -1
  451. package/dist/esm/component.table-5pkzwl5N.js +0 -70
  452. package/dist/esm/constants-sZMi_32I.js +0 -3
  453. package/dist/esm/sd-date-picker.config-D-ks6qNf.js +0 -38
  454. package/dist/esm/sd-pagination_4.entry.js +0 -853
  455. package/dist/esm/sd-select-list-item_2.entry.js +0 -170
  456. package/dist/esm/sd-select.config-CeHGlqOT.js +0 -129
  457. package/dist/esm/sd-table.config-DmOBlnsM.js +0 -70
  458. package/dist/esm/sd-table.entry.js +0 -954
  459. package/dist/esm/sd-td.entry.js +0 -199
  460. package/dist/types/components/sd-table/constants.d.ts +0 -50
  461. package/dist/types/components/sd-table/sd-table.config.d.ts +0 -71
  462. package/dist/types/components/sd-table/sd-table.d.ts +0 -199
  463. package/dist/types/components/sd-table/sd-table.stories.helpers.d.ts +0 -39
  464. package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +0 -15
  465. package/dist/types/components/sd-table/sd-td/sd-td.d.ts +0 -38
  466. package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +0 -62
  467. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +0 -54
@@ -6,6 +6,12 @@ export class SdKeyValueTable {
6
6
  * 한 row에 여러 field를 넣으면 [th|td|th|td...] 형태로 렌더.
7
7
  */
8
8
  fields = [];
9
+ /**
10
+ * field name을 key로 하는 값 객체 (`{ [name]: value }`).
11
+ * 지정 시 해당 field의 값으로 사용되며, field별 `options.value`보다 우선합니다.
12
+ * `sdChange`의 `detail.values`와 함께 controlled 패턴으로 사용합니다.
13
+ */
14
+ values = {};
9
15
  /**
10
16
  * true이면 테이블 우측에 검색 버튼 패널을 표시. 클릭 시 `sdSearch` 이벤트 emit.
11
17
  */
@@ -17,44 +23,57 @@ export class SdKeyValueTable {
17
23
  * - 'full': 상하단 모두 radius 0 (요소 사이에 끼워 쓸 때)
18
24
  */
19
25
  radius = 'default';
20
- /** 필드 값이 변경될 때 `{ name, value }` 형태로 발생합니다. */
26
+ /** 필드 값이 변경될 때 `{ name, value, values }` 형태로 발생합니다. `values`는 갱신된 전체 값 객체입니다. */
21
27
  change;
22
28
  /** search 패널의 검색 버튼 클릭 시 발생합니다. */
23
29
  searchEvent;
24
30
  emit = (name, value) => {
25
- this.change.emit({ name, value });
31
+ this.change.emit({
32
+ name,
33
+ value: value,
34
+ values: { ...this.values, [name]: value },
35
+ });
26
36
  };
37
+ /** values prop이 해당 field를 가지면 그 값을, 없으면 field.options.value를 사용. */
38
+ resolveOptions(field) {
39
+ const options = { ...(field.options ?? {}) };
40
+ if (Object.prototype.hasOwnProperty.call(this.values, field.name)) {
41
+ options.value = this.values[field.name];
42
+ }
43
+ return options;
44
+ }
27
45
  handleSearchClick = () => {
28
46
  this.searchEvent.emit();
29
47
  };
30
48
  renderField(field) {
31
49
  const onSdUpdate = (e) => this.emit(field.name, e.detail);
50
+ const options = this.resolveOptions(field);
32
51
  switch (field.type) {
33
52
  case 'input':
34
- return h("sd-input", { width: "100%", ...(field.options ?? {}), onSdUpdate: onSdUpdate });
53
+ return h("sd-input", { width: "100%", ...options, onSdUpdate: onSdUpdate });
35
54
  case 'textarea':
36
- return h("sd-textarea", { width: "100%", ...(field.options ?? {}), onSdUpdate: onSdUpdate });
55
+ return h("sd-textarea", { width: "100%", ...options, onSdUpdate: onSdUpdate });
37
56
  case 'number-input':
38
- return h("sd-number-input", { width: "100%", ...(field.options ?? {}), onSdUpdate: onSdUpdate });
57
+ return h("sd-number-input", { width: "100%", ...options, onSdUpdate: onSdUpdate });
39
58
  case 'select':
40
- return h("sd-select", { width: "100%", ...(field.options ?? {}), onSdUpdate: onSdUpdate });
59
+ return h("sd-select", { width: "100%", ...options, onSdUpdate: onSdUpdate });
41
60
  case 'radio': {
42
- const { value, direction, ...rest } = field.options ?? {};
61
+ const { value, direction, ...rest } = options;
43
62
  return (h("sd-radio-group", { ...rest, value: value, direction: direction ?? 'horizontal', onSdUpdate: onSdUpdate }));
44
63
  }
45
64
  case 'checkbox': {
46
- const { value, ...rest } = field.options ?? {};
65
+ const { value, ...rest } = options;
47
66
  return h("sd-checkbox", { ...rest, value: value, onSdUpdate: onSdUpdate });
48
67
  }
49
68
  case 'date-picker':
50
- return h("sd-date-picker", { width: "100%", ...(field.options ?? {}), onSdUpdate: onSdUpdate });
69
+ return h("sd-date-picker", { width: "100%", ...options, onSdUpdate: onSdUpdate });
51
70
  case 'date-range-picker':
52
- return (h("sd-date-range-picker", { width: "100%", ...(field.options ?? {}), onSdUpdate: onSdUpdate }));
71
+ return h("sd-date-range-picker", { width: "100%", ...options, onSdUpdate: onSdUpdate });
53
72
  case 'file-picker':
54
- return h("sd-file-picker", { width: "100%", ...(field.options ?? {}), onSdUpdate: onSdUpdate });
73
+ return h("sd-file-picker", { width: "100%", ...options, onSdUpdate: onSdUpdate });
55
74
  case 'text':
56
75
  default:
57
- return h("span", { class: "sd-key-value-table__text" }, field.options?.value ?? '');
76
+ return h("span", { class: "sd-key-value-table__text" }, options.value ?? '');
58
77
  }
59
78
  }
60
79
  renderHelpIcon(helpText) {
@@ -143,7 +162,13 @@ export class SdKeyValueTable {
143
162
  renderTd(field, r, c) {
144
163
  const tdRowSpan = field.tdRowSpan != null && field.tdRowSpan > 1 ? field.tdRowSpan : undefined;
145
164
  const tdColSpan = field.tdColSpan != null && field.tdColSpan > 1 ? field.tdColSpan : undefined;
146
- return (h("td", { key: `td-${r}-${c}`, class: "sd-key-value-table__td", rowSpan: tdRowSpan, colSpan: tdColSpan }, h("div", { class: "sd-key-value-table__td-inner" }, h("slot", { name: `field-${field.name}` }, this.renderField(field)))));
165
+ // text 타입( 미지정 기본값)은 읽기 전용 콘텐츠라 넓은 paddingX(wide) 적용.
166
+ // 폼 필드 셀은 default paddingX 유지.
167
+ const isText = field.type == null || field.type === 'text';
168
+ return (h("td", { key: `td-${r}-${c}`, class: {
169
+ 'sd-key-value-table__td': true,
170
+ 'sd-key-value-table__td--text': isText,
171
+ }, rowSpan: tdRowSpan, colSpan: tdColSpan }, h("div", { class: "sd-key-value-table__td-inner" }, h("slot", { name: `field-${field.name}` }, this.renderField(field)))));
147
172
  }
148
173
  warnDuplicateNames() {
149
174
  const seen = new Set();
@@ -168,6 +193,8 @@ export class SdKeyValueTable {
168
193
  '--sd-kvt-radius': `${KEY_VALUE_TABLE_LAYOUT.borderRadius}px`,
169
194
  '--sd-kvt-th-padding-x': `${KEY_VALUE_TABLE_LAYOUT.thPaddingX}px`,
170
195
  '--sd-kvt-padding': `${KEY_VALUE_TABLE_LAYOUT.padding}px`,
196
+ '--sd-kvt-td-padding-x': `${KEY_VALUE_TABLE_LAYOUT.tdPaddingX}px`,
197
+ '--sd-kvt-td-padding-x-wide': `${KEY_VALUE_TABLE_LAYOUT.tdPaddingXWide}px`,
171
198
  '--sd-kvt-gap': `${KEY_VALUE_TABLE_LAYOUT.gap}px`,
172
199
  '--sd-kvt-label-gap': `${KEY_VALUE_TABLE_LAYOUT.labelGap}px`,
173
200
  '--sd-kvt-border-width': `${KEY_VALUE_TABLE_LAYOUT.borderWidth}px`,
@@ -260,6 +287,29 @@ export class SdKeyValueTable {
260
287
  "setter": false,
261
288
  "defaultValue": "[]"
262
289
  },
290
+ "values": {
291
+ "type": "unknown",
292
+ "mutable": false,
293
+ "complexType": {
294
+ "original": "Record<string, unknown>",
295
+ "resolved": "string | unknown",
296
+ "references": {
297
+ "Record": {
298
+ "location": "global",
299
+ "id": "global::Record"
300
+ }
301
+ }
302
+ },
303
+ "required": false,
304
+ "optional": false,
305
+ "docs": {
306
+ "tags": [],
307
+ "text": "field name\uC744 key\uB85C \uD558\uB294 \uAC12 \uAC1D\uCCB4 (`{ [name]: value }`).\n\uC9C0\uC815 \uC2DC \uD574\uB2F9 field\uC758 \uAC12\uC73C\uB85C \uC0AC\uC6A9\uB418\uBA70, field\uBCC4 `options.value`\uBCF4\uB2E4 \uC6B0\uC120\uD569\uB2C8\uB2E4.\n`sdChange`\uC758 `detail.values`\uC640 \uD568\uAED8 controlled \uD328\uD134\uC73C\uB85C \uC0AC\uC6A9\uD569\uB2C8\uB2E4."
308
+ },
309
+ "getter": false,
310
+ "setter": false,
311
+ "defaultValue": "{}"
312
+ },
263
313
  "search": {
264
314
  "type": "boolean",
265
315
  "mutable": false,
@@ -311,11 +361,11 @@ export class SdKeyValueTable {
311
361
  "composed": true,
312
362
  "docs": {
313
363
  "tags": [],
314
- "text": "\uD544\uB4DC \uAC12\uC774 \uBCC0\uACBD\uB420 \uB54C `{ name, value }` \uD615\uD0DC\uB85C \uBC1C\uC0DD\uD569\uB2C8\uB2E4."
364
+ "text": "\uD544\uB4DC \uAC12\uC774 \uBCC0\uACBD\uB420 \uB54C `{ name, value, values }` \uD615\uD0DC\uB85C \uBC1C\uC0DD\uD569\uB2C8\uB2E4. `values`\uB294 \uAC31\uC2E0\uB41C \uC804\uCCB4 \uAC12 \uAC1D\uCCB4\uC785\uB2C8\uB2E4."
315
365
  },
316
366
  "complexType": {
317
367
  "original": "SdKeyValueChangeDetail",
318
- "resolved": "SdKeyValueChangeDetail",
368
+ "resolved": "SdKeyValueChangeDetail<Record<string, SdKeyValueFieldValue>>",
319
369
  "references": {
320
370
  "SdKeyValueChangeDetail": {
321
371
  "location": "import",
@@ -31,7 +31,7 @@ export class SdLinearProgress {
31
31
  clipPath: `inset(0 ${100 - this.clampedValue}% 0 0)`,
32
32
  };
33
33
  const valueText = `${Math.round(this.clampedValue)}%`;
34
- return (h(Host, { key: 'c87705d4ca2e7d61de15412af8df8fe32aec6e56', style: hostStyle }, h("div", { key: '0343b5d209cf49e7d25bb7ede349eae791890e29', class: "sd-linear-progress__track" }, h("div", { key: '7771c6589c061d7bba7eb2ae88e1752d80912357', class: "sd-linear-progress__fill", style: fillStyle }), !this.indeterminate && (h("span", { key: '66f85b9d5f87d7c2aeafd6eadcdc3fb1739124c9', class: "sd-linear-progress__value sd-linear-progress__value--on-track" }, valueText)), !this.indeterminate && (h("span", { key: 'd8581b453770e4c8db55abddc6c57f9b90701786', class: "sd-linear-progress__value sd-linear-progress__value--on-fill", style: valueOnFillStyle }, valueText))), this.label && h("span", { key: '4223bfa7292cc9adeb9dca1ce18ee45cefc8d670', class: "sd-linear-progress__label" }, this.label)));
34
+ return (h(Host, { key: 'bb8b4b933b609a42d1c342b7b480d32a48527321', style: hostStyle }, h("div", { key: 'd127baf4c4cf49d5c6e04ada72636c9d3fd81733', class: "sd-linear-progress__track" }, h("div", { key: '6251da38b070cf9f064b22ed1ecb694da41f63ec', class: "sd-linear-progress__fill", style: fillStyle }), !this.indeterminate && (h("span", { key: '7b15d0383e4cc391a22e4fc7e2a85bc6cd076f80', class: "sd-linear-progress__value sd-linear-progress__value--on-track" }, valueText)), !this.indeterminate && (h("span", { key: '8755f23a83aede79a141a14b73337eacca0fc10d', class: "sd-linear-progress__value sd-linear-progress__value--on-fill", style: valueOnFillStyle }, valueText))), this.label && h("span", { key: 'c874dd1ca0cb86c90a84c318790639c0f4283255', class: "sd-linear-progress__label" }, this.label)));
35
35
  }
36
36
  static get is() { return "sd-linear-progress"; }
37
37
  static get originalStyleUrls() {
@@ -32,10 +32,10 @@ export class SdLoadingContainer {
32
32
  this.prevBodyOverflow = null;
33
33
  }
34
34
  render() {
35
- return (h("div", { key: 'c2dad1bed0e513341a447f164fecbb2f879ed523', class: {
35
+ return (h("div", { key: 'c7821d4c50651217e48f424cbdfb9a32006afda4', class: {
36
36
  'sd-loading-container': true,
37
37
  'sd-loading-container--visible': this.visible,
38
- }, "aria-hidden": this.visible ? 'false' : 'true' }, h("div", { key: '254c3cb5eeb25b6c69b3812fbaada2a26d6620e0', class: "sd-loading-container__backdrop" }), h("div", { key: '58ca4033b25302d8a7ea3f25e6b5e8aa7ce9f51c', class: "sd-loading-container__content" }, h("sd-circle-progress", { key: 'c8d48fa1814186a674d3f7c8b63bcd26541299ba', indeterminate: true, type: "inverse" }), this.message && h("p", { key: '899a5f32ceecb23b4f88b750aa634106bb42b394', class: "sd-loading-container__message" }, this.message))));
38
+ }, "aria-hidden": this.visible ? 'false' : 'true' }, h("div", { key: 'f7674699f3dd15edd74fc3224203b59ad2a96735', class: "sd-loading-container__backdrop" }), h("div", { key: 'cd361e1a1f470109298459cc2872be104e382015', class: "sd-loading-container__content" }, h("sd-circle-progress", { key: 'c856a1e9ab203040dd8bf0d01dbdf151718aaa3e', indeterminate: true, type: "inverse" }), this.message && h("p", { key: '8af15dba086fb024b652db5f776d384f00fd9cf7', class: "sd-loading-container__message" }, this.message))));
39
39
  }
40
40
  static get is() { return "sd-loading-container"; }
41
41
  static get originalStyleUrls() {
@@ -60,7 +60,7 @@ export class SdLoadingModal {
60
60
  '--sd-loading-modal-width': this.toCssSize(this.width) ?? `${LOADING_MODAL_LAYOUT.minWidth}px`,
61
61
  '--sd-loading-modal-height': this.toCssSize(this.height) ?? `${LOADING_MODAL_LAYOUT.minHeight}px`,
62
62
  };
63
- return (h(Host, { key: '71bec4b63fc71720dfc10daecab4e63b8fc12b68', style: hostStyle }, h("div", { key: '20f67d5f61a7c7150b236ebe13fecb345b5a20be', class: "sd-loading-modal" }, this.resolvedState === 'error' && (h("sd-ghost-button", { key: '395097aa0cbf7c277f7669bdc01fe756316ba4a0', class: "sd-loading-modal__close", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() })), h("div", { key: '6942b24672bf59b7c7f34bab0cce38b3d0e477f7', 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: '5dd0e24f06c8283b1baa7eeadf6547a96ecc784e', 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.showButton && (h("div", { key: 'b686ab5f29a9a61520ba5a43f9d214f37c1a90d7', class: "sd-loading-modal__button" }, h("sd-button", { key: '2378b8f300538c9aab8775a526104acd6089b580', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
63
+ return (h(Host, { key: 'c6b6406cc751cfc007f6fbff72580a22b2975c03', style: hostStyle }, h("div", { key: '139b7397598768e526275dc8b508a333ba1e6058', class: "sd-loading-modal" }, this.resolvedState === 'error' && (h("sd-ghost-button", { key: '098c693d5da0c333fb06309be5371a5e8a6c3016', class: "sd-loading-modal__close", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() })), h("div", { key: 'f072a17c4c8e47e296cbf52d34414a32efa6aaa1', 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: 'a2c501cfee2181b2a7dda2544e03bf1a709baaf3', 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.showButton && (h("div", { key: 'e9d1beef80bf8fa4a0647802ce4a6e023e74bc12', class: "sd-loading-modal__button" }, h("sd-button", { key: '63a64f356fc09cbaf56ff715d04c97b208f63945', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
64
64
  }
65
65
  static get is() { return "sd-loading-modal"; }
66
66
  static get originalStyleUrls() {
@@ -249,7 +249,21 @@ export class SdModalContainer {
249
249
  if (this.hasOwnProp(options, 'bottomMessage'))
250
250
  el.bottomMessage = options.bottomMessage ?? [];
251
251
  if (this.hasOwnProp(options, 'tagContents'))
252
- el.tagContents = options.tagContents;
252
+ this.setSlotContent(el, 'tag', options.tagContents);
253
+ if (this.hasOwnProp(options, 'optionContents')) {
254
+ this.setSlotContent(el, 'option', options.optionContents);
255
+ }
256
+ }
257
+ /** confirm 모달의 named slot(tag/option) 위치에 HTMLElement 를 light-DOM 으로 주입한다. */
258
+ setSlotContent(el, slot, content) {
259
+ Array.from(el.children).forEach(child => {
260
+ if (child.getAttribute('slot') === slot)
261
+ child.remove();
262
+ });
263
+ if (content) {
264
+ content.setAttribute('slot', slot);
265
+ el.appendChild(content);
266
+ }
253
267
  }
254
268
  handleBackdropClick(id) {
255
269
  if (!isTopInteractiveModal(id))
@@ -15,6 +15,8 @@ export class SdNumberInput {
15
15
  useButton = false;
16
16
  /** 소수점 입력 허용 여부 */
17
17
  useDecimal = false;
18
+ /** 소수점 이하 최대 자리수 (useDecimal일 때만 적용, 초과 입력한 소수부는 잘라냄) */
19
+ maxDecimalLength;
18
20
  /** 입력 값 */
19
21
  value = null;
20
22
  /** 레이블 텍스트 */
@@ -95,6 +97,31 @@ export class SdNumberInput {
95
97
  const result = isNegative ? '-' + formatted : formatted;
96
98
  return decPart !== undefined && decPart !== '' ? result + '.' + decPart : String(result);
97
99
  }
100
+ /** useDecimal이면서 유효한 maxDecimalLength가 있을 때만 소수점 이하 제한 자리수를 반환합니다. */
101
+ getDecimalLimit() {
102
+ if (!this.useDecimal ||
103
+ this.maxDecimalLength === undefined ||
104
+ !Number.isFinite(this.maxDecimalLength)) {
105
+ return undefined;
106
+ }
107
+ return Math.max(0, Math.floor(this.maxDecimalLength));
108
+ }
109
+ /** 소수부를 제한 자리수로 잘라낸 문자열을 반환합니다(반올림하지 않고 잘라냄). */
110
+ truncateToDecimalLimit(cleaned, limit) {
111
+ if (!cleaned.includes('.'))
112
+ return cleaned;
113
+ const [intPart, fractionPart = ''] = cleaned.split('.');
114
+ const truncatedFraction = fractionPart.slice(0, limit);
115
+ return truncatedFraction === '' ? intPart : `${intPart}.${truncatedFraction}`;
116
+ }
117
+ /** 숫자값의 소수부를 제한 자리수로 잘라냅니다(제한이 없으면 원본 그대로). */
118
+ applyDecimalLimit(value) {
119
+ const decimalLimit = this.getDecimalLimit();
120
+ if (decimalLimit === undefined)
121
+ return value;
122
+ const parsed = parseFloat(this.truncateToDecimalLimit(value.toString(), decimalLimit));
123
+ return isNaN(parsed) ? value : parsed;
124
+ }
98
125
  parseInput(input) {
99
126
  if (input.trim() === '')
100
127
  return null;
@@ -102,12 +129,15 @@ export class SdNumberInput {
102
129
  if (!/^-?(\d+\.?\d*|\d*\.\d+)$/.test(cleaned)) {
103
130
  return null;
104
131
  }
105
- const parsed = parseFloat(cleaned);
106
- if (isNaN(parsed))
107
- return null;
108
132
  if (!this.useDecimal && cleaned.includes('.')) {
109
133
  return null;
110
134
  }
135
+ // useDecimal이면서 maxDecimalLength가 설정된 경우 소수부를 제한 자리수로 잘라냄(반올림 아님)
136
+ const decimalLimit = this.getDecimalLimit();
137
+ const normalized = decimalLimit !== undefined ? this.truncateToDecimalLimit(cleaned, decimalLimit) : cleaned;
138
+ const parsed = parseFloat(normalized);
139
+ if (isNaN(parsed))
140
+ return null;
111
141
  return parsed;
112
142
  }
113
143
  clampMinMax(value) {
@@ -262,6 +292,7 @@ export class SdNumberInput {
262
292
  if (nextVal > this.max) {
263
293
  nextVal = this.max;
264
294
  }
295
+ nextVal = this.applyDecimalLimit(nextVal);
265
296
  if (nextVal === currentVal)
266
297
  return;
267
298
  this.internalValue = nextVal;
@@ -274,6 +305,7 @@ export class SdNumberInput {
274
305
  if (nextVal < this.min) {
275
306
  nextVal = this.min;
276
307
  }
308
+ nextVal = this.applyDecimalLimit(nextVal);
277
309
  if (nextVal === currentVal)
278
310
  return;
279
311
  this.internalValue = nextVal;
@@ -314,15 +346,15 @@ export class SdNumberInput {
314
346
  '--sd-textinput-input-hint-typography-line-height': `${NUMBER_INPUT_HINT.typography.lineHeight}px`,
315
347
  '--sd-textinput-input-contents-gap': `${NUMBER_INPUT_CONTENTS_GAP}px`,
316
348
  };
317
- return (h("sd-field", { key: '9e82f7ec1e40c7f435233d1d8e05fdd2de0c2712', 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: 'b5f2e1c32bbba8147a72edf2dfe42f591d81d6f7', class: {
349
+ return (h("sd-field", { key: 'ffa6befb9565a33e762fce231c29d7a2f663eb08', 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: '2fb1686b071fd69c65fc0c908807c029edc3b253', class: {
318
350
  'sd-number-input__content': true,
319
351
  'sd-number-input__content--no-stepper': !this.useButton,
320
- } }, this.useButton && (h("button", { key: '07e053c769556282da7595ba7d185db7c9af19a2', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: '95b48b8a0fa45ff60b3097d24405b48e4776b928', name: "minus", size: iconSize, color: this.isDecrementDisabled()
352
+ } }, this.useButton && (h("button", { key: '6b2464867bb0224f4fbcb50ea4e4bfc5386474ba', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, h("sd-icon", { key: 'f65e9144ad93f4ba8d293b5af1bf9fd1286e7520', name: "minus", size: iconSize, color: this.isDecrementDisabled()
321
353
  ? NUMBER_INPUT_STEPPER.icon.disabled
322
- : NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && h("span", { key: '2381fade9767b593d5f6848bc411c3244a6f9da2', class: "sd-number-input__prefix" }, this.inputPrefix), h("input", { key: '00b886990e9c1155c20ee404eda26777e56d31c2', 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: {
354
+ : NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && h("span", { key: '3d89b3557f961f36b429e3cf4ae247098a412b30', class: "sd-number-input__prefix" }, this.inputPrefix), h("input", { key: 'c5c503b634aee3b0c8d81f855b5de1d0abe35eac', 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: {
323
355
  textAlign: this.useButton ? 'center' : 'right',
324
356
  ...this.inputStyle,
325
- } }), this.inputSuffix && h("span", { key: '5254313e957f3ded4139f047b588e38222c33975', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (h("button", { key: 'f7389a1c5869460791249f579b3195b3583255fe', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: 'b272b62e2ce27a1e5ecb86738af6eacb89b0d6c6', name: "add", size: iconSize, color: this.isIncrementDisabled()
357
+ } }), this.inputSuffix && h("span", { key: '15177064a4daab2ede3af4f8758912da266f1c29', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (h("button", { key: 'dcc1fbfe7c4e7eaa6db95fe7dc9a34f4b82ade8b', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, h("sd-icon", { key: '58eee48f37c0e942a3734a9275a9d459bc9bc420', name: "add", size: iconSize, color: this.isIncrementDisabled()
326
358
  ? NUMBER_INPUT_STEPPER.icon.disabled
327
359
  : NUMBER_INPUT_STEPPER.icon.default }))))));
328
360
  }
@@ -466,6 +498,25 @@ export class SdNumberInput {
466
498
  "attribute": "use-decimal",
467
499
  "defaultValue": "false"
468
500
  },
501
+ "maxDecimalLength": {
502
+ "type": "number",
503
+ "mutable": false,
504
+ "complexType": {
505
+ "original": "number",
506
+ "resolved": "number | undefined",
507
+ "references": {}
508
+ },
509
+ "required": false,
510
+ "optional": true,
511
+ "docs": {
512
+ "tags": [],
513
+ "text": "\uC18C\uC218\uC810 \uC774\uD558 \uCD5C\uB300 \uC790\uB9AC\uC218 (useDecimal\uC77C \uB54C\uB9CC \uC801\uC6A9, \uCD08\uACFC \uC785\uB825\uD55C \uC18C\uC218\uBD80\uB294 \uC798\uB77C\uB0C4)"
514
+ },
515
+ "getter": false,
516
+ "setter": false,
517
+ "reflect": false,
518
+ "attribute": "max-decimal-length"
519
+ },
469
520
  "value": {
470
521
  "type": "any",
471
522
  "mutable": true,
@@ -88,13 +88,13 @@ export class SdPagination {
88
88
  '--sd-pagination-bg-selected': PAGINATION_COLORS.bgSelected,
89
89
  '--sd-pagination-item-width': `${this.buttonWidth}px`,
90
90
  };
91
- return (h("div", { key: '4a67cbb9ed9d3cafbd3d9f99562948e3b3840210', class: {
91
+ return (h("div", { key: '0b5a2e9aec83e6f6a8de3426e57b3f9a53623652', class: {
92
92
  'sd-pagination': true,
93
93
  'sd-pagination--simple': this.simple,
94
- }, style: cssVars }, h("div", { key: 'f0cc77abd3b03a1525f52fbcd2587b6ad9cd468d', 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: {
94
+ }, style: cssVars }, h("div", { key: 'aa53d0366ae4678950ecd3917fd0d7011dd9608d', 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: {
95
95
  'sd-pagination__item': true,
96
96
  'sd-pagination__item--selected': this.currentPage === n,
97
- }, onClick: () => this.handlePageChange(n) }, n))))), h("div", { key: 'c4053f5917345cf1e7fcea9f3c2fa0d6b5fa7a3f', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
97
+ }, onClick: () => this.handlePageChange(n) }, n))))), h("div", { key: '1aa72933c849af4fc886cc4e5f8962710c6c40bf', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
98
98
  }
99
99
  static get is() { return "sd-pagination"; }
100
100
  static get originalStyleUrls() {
@@ -0,0 +1,41 @@
1
+ import popoverTokens from "../../tokens/generated/component.popover.json";
2
+ const t = popoverTokens.popover;
3
+ /** 제목-아이콘 간격 */
4
+ export const POPOVER_TITLE_GAP = t.title.gap;
5
+ /** 제목 좌측 아이콘 크기 */
6
+ export const POPOVER_TITLE_ICON_SIZE = t.title.leadingIcon;
7
+ /**
8
+ * popoverType별 색상·버튼 매핑.
9
+ * - default·accent: 하단 버튼 primary(solid) / danger: danger outline / warning: neutral outline
10
+ * - default: 다크 배경 + 흰색 텍스트 / danger·warning·accent: 라이트 배경 + 타입 색상 제목 + light 계열 본문·링크 색상
11
+ */
12
+ export const POPOVER_TYPE_CONFIG = {
13
+ default: {
14
+ bg: t.default.bg,
15
+ title: t.default.title,
16
+ description: t.default.description,
17
+ subAction: t.default.subAction,
18
+ buttonName: 'primary_xs',
19
+ },
20
+ danger: {
21
+ bg: t.danger.bg,
22
+ title: t.danger.title,
23
+ description: t.light.description,
24
+ subAction: t.light.subAction,
25
+ buttonName: 'danger_outline_xs',
26
+ },
27
+ warning: {
28
+ bg: t.warning.bg,
29
+ title: t.warning.title,
30
+ description: t.light.description,
31
+ subAction: t.light.subAction,
32
+ buttonName: 'neutral_outline_xs',
33
+ },
34
+ accent: {
35
+ bg: t.accent.bg,
36
+ title: t.accent.title,
37
+ description: t.light.description,
38
+ subAction: t.light.subAction,
39
+ buttonName: 'primary_xs',
40
+ },
41
+ };