@sellmate/design-system 1.29.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 (384) hide show
  1. package/dist/cjs/design-system.cjs.js +2 -2
  2. package/dist/cjs/{index-iiJZMzVM.js → index-Jr8OU0y9.js} +1 -1
  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 +21 -16
  13. package/dist/cjs/sd-chip.cjs.entry.js +7 -7
  14. package/dist/cjs/sd-circle-progress.cjs.entry.js +2 -2
  15. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +3 -3
  16. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  17. package/dist/cjs/{component.datepicker-zFTQQKMH.js → sd-date-picker.config-CgyNxY03.js} +66 -1
  18. package/dist/cjs/sd-date-picker_8.cjs.entry.js +141 -51
  19. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +162 -12
  20. package/dist/cjs/sd-divider.cjs.entry.js +2 -2
  21. package/dist/cjs/sd-dropdown-button.cjs.entry.js +1 -1
  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 +1 -1
  26. package/dist/cjs/sd-key-value-table.cjs.entry.js +1 -1
  27. package/dist/cjs/sd-linear-progress.cjs.entry.js +2 -2
  28. package/dist/cjs/sd-loading-container.cjs.entry.js +3 -3
  29. package/dist/cjs/sd-modal-container.cjs.entry.js +1 -1
  30. package/dist/cjs/sd-pagination.cjs.entry.js +4 -4
  31. package/dist/cjs/sd-popover.cjs.entry.js +134 -44
  32. package/dist/cjs/sd-popup.cjs.entry.js +2 -2
  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-list-item_4.cjs.entry.js +11 -11
  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/{tooltipArrow-DOOcBlLp.js → tooltipArrow-BlrFItn5.js} +1 -1
  49. package/dist/cjs/useDatePicker-j06ymWZ_.js +103 -0
  50. package/dist/collection/collection-manifest.json +8 -3
  51. package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
  52. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  53. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
  54. package/dist/collection/components/sd-button/sd-button.js +2 -2
  55. package/dist/collection/components/sd-calendar/sd-calendar.js +3 -3
  56. package/dist/collection/components/sd-callout/sd-callout.js +1 -1
  57. package/dist/collection/components/sd-card/sd-card.js +1 -1
  58. package/dist/collection/components/sd-checkbox/sd-checkbox.js +8 -8
  59. package/dist/collection/components/sd-chip/sd-chip.js +8 -8
  60. package/dist/collection/components/sd-chip-input/sd-chip-input.css +3 -0
  61. package/dist/collection/components/sd-chip-input/sd-chip-input.js +43 -17
  62. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  63. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +1 -1
  64. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  65. package/dist/collection/components/sd-date-picker/sd-date-picker.js +23 -2
  66. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.css +75 -0
  67. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +152 -6
  68. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.config.js +27 -0
  69. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +59 -3
  70. package/dist/collection/components/sd-divider/sd-divider.js +1 -1
  71. package/dist/collection/components/sd-field/sd-field.css +4 -0
  72. package/dist/collection/components/sd-field/sd-field.js +58 -5
  73. package/dist/collection/components/sd-file-picker/sd-file-picker.config.js +17 -10
  74. package/dist/collection/components/sd-file-picker/sd-file-picker.js +46 -16
  75. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  76. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +27 -3
  77. package/dist/collection/components/sd-input/sd-input.js +4 -4
  78. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
  79. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  80. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  81. package/dist/collection/components/sd-number-input/sd-number-input.js +58 -7
  82. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  83. package/dist/collection/components/sd-popover/sd-popover.config.js +41 -0
  84. package/dist/collection/components/sd-popover/sd-popover.js +189 -191
  85. package/dist/collection/components/sd-popup/sd-popup.js +1 -1
  86. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  87. package/dist/collection/components/sd-radio/sd-radio.js +25 -4
  88. package/dist/collection/components/sd-radio-button/sd-radio-button.js +6 -6
  89. package/dist/collection/components/sd-radio-group/sd-radio-group.js +7 -7
  90. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +2 -2
  91. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
  92. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +2 -2
  93. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
  94. package/dist/collection/components/sd-select/sd-select.js +4 -4
  95. package/dist/collection/components/sd-switch/sd-switch.js +54 -3
  96. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  97. package/dist/collection/components/sd-tag/sd-tag.js +7 -8
  98. package/dist/collection/components/sd-text-link/sd-text-link.js +3 -3
  99. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  100. package/dist/collection/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.css +87 -0
  101. package/dist/collection/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.js +266 -0
  102. package/dist/collection/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.css +38 -0
  103. package/dist/collection/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.js +216 -0
  104. package/dist/collection/components/sd-time-picker/sd-time-picker.config.js +78 -0
  105. package/dist/collection/components/sd-time-picker/sd-time-picker.css +12 -0
  106. package/dist/collection/components/sd-time-picker/sd-time-picker.js +761 -0
  107. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.css +102 -0
  108. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.js +338 -0
  109. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.config.js +23 -0
  110. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.css +12 -0
  111. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.js +809 -0
  112. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  113. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  114. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  115. package/dist/collection/components/sd-tooltip/sd-tooltip.js +36 -189
  116. package/dist/components/index.js +1 -1
  117. package/dist/components/p-1DsQj3tv.js +1 -0
  118. package/dist/components/p-2g4jlJ3i.js +1 -0
  119. package/dist/components/{p-C_in6AVN.js → p-6U1qyU5A.js} +1 -1
  120. package/dist/components/{p-CSr33M9s.js → p-B-EV9bey.js} +1 -1
  121. package/dist/components/p-B887QQl2.js +1 -0
  122. package/dist/components/{p-Bpv90tfa.js → p-BPzs63D8.js} +1 -1
  123. package/dist/components/{p-Dg1UrMqI.js → p-BvJ14GuJ.js} +1 -1
  124. package/dist/components/p-Bxv2AFOb.js +1 -0
  125. package/dist/components/p-C6o10dl7.js +1 -0
  126. package/dist/components/p-C6wuKkUq.js +1 -0
  127. package/dist/components/{p-CbS69IvC.js → p-C9IKm4j5.js} +1 -1
  128. package/dist/components/{p-BHjezpAC.js → p-CH9dgzTr.js} +1 -1
  129. package/dist/components/{p-oYbVr-z0.js → p-CKV2W-zU.js} +1 -1
  130. package/dist/components/p-CTCt17CE.js +1 -0
  131. package/dist/components/{p-BOxGhKKP.js → p-CghFB91T.js} +1 -1
  132. package/dist/components/p-Ckr9iuVb.js +1 -0
  133. package/dist/components/p-ClbD4Gsr.js +1 -0
  134. package/dist/components/p-CmCOLnc0.js +1 -0
  135. package/dist/components/{p-C7mC7a1z.js → p-CwzkplrI.js} +1 -1
  136. package/dist/components/p-CzJ9g73f.js +1 -0
  137. package/dist/components/p-D8yhjm54.js +1 -0
  138. package/dist/components/p-D9qp3o5Y.js +1 -0
  139. package/dist/components/{p-OO7xxhkC.js → p-DE8Ws9As.js} +1 -1
  140. package/dist/components/p-DMm_GeZC.js +1 -0
  141. package/dist/components/{p-idG6CMO0.js → p-DOfLrOEu.js} +1 -1
  142. package/dist/components/{p-R-Sdglj0.js → p-DSWD8udu.js} +1 -1
  143. package/dist/components/{p-Di1q4f5E.js → p-DWnuCSqC.js} +1 -1
  144. package/dist/components/p-DYjaQs6e.js +1 -0
  145. package/dist/components/{p-9Ap2W-Mi.js → p-DasiqnrU.js} +1 -1
  146. package/dist/components/{p-CErFctrV.js → p-Dc9g3-5z.js} +1 -1
  147. package/dist/components/{p-CFTyEfB9.js → p-DnlLqzGM.js} +1 -1
  148. package/dist/components/p-DsZwiWiU.js +1 -0
  149. package/dist/components/{p-DMoFncVl.js → p-FGII920I.js} +1 -1
  150. package/dist/components/p-Hjv7LqkN.js +1 -0
  151. package/dist/components/{p-BIEPMPWA.js → p-In6mljvA.js} +1 -1
  152. package/dist/components/p-OnBLxJAP.js +1 -0
  153. package/dist/components/p-SYnTIeiO.js +1 -0
  154. package/dist/{design-system/p-B91K50wC.js → components/p-bXzpfkfN.js} +1 -1
  155. package/dist/components/p-mcbwNjNT.js +1 -0
  156. package/dist/components/p-qZxAQy4p.js +1 -0
  157. package/dist/components/sd-action-modal.js +1 -1
  158. package/dist/components/sd-badge.js +1 -1
  159. package/dist/components/sd-barcode-input.js +1 -1
  160. package/dist/components/sd-button.js +1 -1
  161. package/dist/components/sd-calendar.js +1 -1
  162. package/dist/components/sd-callout.js +1 -1
  163. package/dist/components/sd-card.js +1 -1
  164. package/dist/components/sd-checkbox.js +1 -1
  165. package/dist/components/sd-chip-input.js +1 -1
  166. package/dist/components/sd-chip.js +1 -1
  167. package/dist/components/sd-circle-progress.js +1 -1
  168. package/dist/components/sd-confirm-modal.js +1 -1
  169. package/dist/components/sd-date-box.js +1 -1
  170. package/dist/components/sd-date-picker-trigger.js +1 -1
  171. package/dist/components/sd-date-picker.js +1 -1
  172. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  173. package/dist/components/sd-date-range-picker.js +1 -1
  174. package/dist/components/sd-divider.js +1 -1
  175. package/dist/components/sd-dropdown-button.js +1 -1
  176. package/dist/components/sd-field.js +1 -1
  177. package/dist/components/sd-file-picker.js +1 -1
  178. package/dist/components/sd-floating-portal.js +1 -1
  179. package/dist/components/sd-form.js +1 -1
  180. package/dist/components/sd-ghost-button.js +1 -1
  181. package/dist/components/sd-guide.js +1 -1
  182. package/dist/components/sd-icon.js +1 -1
  183. package/dist/components/sd-input.js +1 -1
  184. package/dist/components/sd-key-value-table.js +1 -1
  185. package/dist/components/sd-linear-progress.js +1 -1
  186. package/dist/components/sd-loading-container.js +1 -1
  187. package/dist/components/sd-loading-modal.js +1 -1
  188. package/dist/components/sd-modal-container.js +1 -1
  189. package/dist/components/sd-number-input.js +1 -1
  190. package/dist/components/sd-pagination.js +1 -1
  191. package/dist/components/sd-popover.js +1 -1
  192. package/dist/components/sd-popup.js +1 -1
  193. package/dist/components/sd-portal.js +1 -1
  194. package/dist/components/sd-radio-button.js +1 -1
  195. package/dist/components/sd-radio-group.js +1 -1
  196. package/dist/components/sd-radio.js +1 -1
  197. package/dist/components/sd-select-list-item-search.js +1 -1
  198. package/dist/components/sd-select-list-item.js +1 -1
  199. package/dist/components/sd-select-listbox.js +1 -1
  200. package/dist/components/sd-select-trigger.js +1 -1
  201. package/dist/components/sd-select.js +1 -1
  202. package/dist/components/sd-switch.js +1 -1
  203. package/dist/components/sd-tabs.js +1 -1
  204. package/dist/components/sd-tag.js +1 -1
  205. package/dist/components/sd-text-link.js +1 -1
  206. package/dist/components/sd-textarea.js +1 -1
  207. package/dist/components/sd-time-picker-selector.d.ts +11 -0
  208. package/dist/components/sd-time-picker-selector.js +1 -0
  209. package/dist/components/sd-time-picker-trigger.d.ts +11 -0
  210. package/dist/components/sd-time-picker-trigger.js +1 -0
  211. package/dist/components/sd-time-picker.d.ts +11 -0
  212. package/dist/components/sd-time-picker.js +1 -0
  213. package/dist/components/sd-time-range-picker-selector.d.ts +11 -0
  214. package/dist/components/sd-time-range-picker-selector.js +1 -0
  215. package/dist/components/sd-time-range-picker.d.ts +11 -0
  216. package/dist/components/sd-time-range-picker.js +1 -0
  217. package/dist/components/sd-toast-container.js +1 -1
  218. package/dist/components/sd-toast.js +1 -1
  219. package/dist/components/sd-toggle.js +1 -1
  220. package/dist/components/sd-tooltip.js +1 -1
  221. package/dist/design-system/design-system.css +1 -1
  222. package/dist/design-system/design-system.esm.js +1 -1
  223. package/dist/design-system/{p-b585f94b.entry.js → p-129b6330.entry.js} +1 -1
  224. package/dist/design-system/{p-adf2f398.entry.js → p-15f43b9b.entry.js} +1 -1
  225. package/dist/design-system/p-16b9eac4.entry.js +1 -0
  226. package/dist/design-system/{p-c1066f40.entry.js → p-1858636f.entry.js} +1 -1
  227. package/dist/design-system/{p-840006b1.entry.js → p-21672bb8.entry.js} +1 -1
  228. package/dist/design-system/{p-c7d2c195.entry.js → p-219288ef.entry.js} +1 -1
  229. package/dist/design-system/{p-c5cffcc6.entry.js → p-22ac9e05.entry.js} +1 -1
  230. package/dist/design-system/p-2534d3d4.entry.js +1 -0
  231. package/dist/design-system/{p-be54fd3a.entry.js → p-3859316f.entry.js} +1 -1
  232. package/dist/design-system/{p-53fe2741.entry.js → p-46da4e95.entry.js} +1 -1
  233. package/dist/design-system/{p-8de3b502.entry.js → p-46eb3421.entry.js} +1 -1
  234. package/dist/design-system/p-4782331f.entry.js +1 -0
  235. package/dist/design-system/{p-5a257ed9.entry.js → p-4a117dd6.entry.js} +1 -1
  236. package/dist/design-system/{p-55c0be7d.entry.js → p-4ae0a64a.entry.js} +1 -1
  237. package/dist/design-system/{p-246aafb9.entry.js → p-52b1be6f.entry.js} +1 -1
  238. package/dist/design-system/p-56e7c87b.entry.js +1 -0
  239. package/dist/design-system/{p-26a27312.entry.js → p-570b9e91.entry.js} +1 -1
  240. package/dist/design-system/p-5a113197.entry.js +1 -0
  241. package/dist/design-system/p-62ff77e4.entry.js +1 -0
  242. package/dist/design-system/{p-d204cac5.entry.js → p-655324cd.entry.js} +1 -1
  243. package/dist/design-system/p-66cff123.entry.js +1 -0
  244. package/dist/design-system/{p-0c1d1a15.entry.js → p-6c4fa9d7.entry.js} +1 -1
  245. package/dist/design-system/{p-8ed1d470.entry.js → p-809a0a71.entry.js} +1 -1
  246. package/dist/design-system/{p-ec4ad48c.entry.js → p-82cb62a9.entry.js} +1 -1
  247. package/dist/design-system/p-843d1a8a.entry.js +1 -0
  248. package/dist/design-system/{p-02f0b906.entry.js → p-8836d9ff.entry.js} +1 -1
  249. package/dist/design-system/{p-d2ce01ac.entry.js → p-8af8e302.entry.js} +1 -1
  250. package/dist/design-system/p-9c131122.entry.js +1 -0
  251. package/dist/design-system/{p-BPKiBSGr.js → p-BnUjeY2n.js} +1 -1
  252. package/dist/design-system/p-C599jhDs.js +2 -0
  253. package/dist/design-system/p-Cn8LZw1e.js +1 -0
  254. package/dist/design-system/p-DMm_GeZC.js +1 -0
  255. package/dist/design-system/p-Dz23PPdF.js +1 -0
  256. package/dist/design-system/p-a0c55a19.entry.js +1 -0
  257. package/dist/design-system/p-a6c292d1.entry.js +1 -0
  258. package/dist/design-system/p-a9cc4697.entry.js +1 -0
  259. package/dist/design-system/{p-3595cafb.entry.js → p-b2dc1202.entry.js} +1 -1
  260. package/dist/design-system/{p-86329ae3.entry.js → p-b5229957.entry.js} +1 -1
  261. package/dist/design-system/{p-a631cd78.entry.js → p-b75cc0dd.entry.js} +1 -1
  262. package/dist/design-system/p-b97a6cf3.entry.js +1 -0
  263. package/dist/design-system/{p-3cd2751a.entry.js → p-c1e625e5.entry.js} +1 -1
  264. package/dist/design-system/{p-1ed1bfa1.entry.js → p-c7f03dea.entry.js} +1 -1
  265. package/dist/design-system/p-cdb2433a.entry.js +1 -0
  266. package/dist/design-system/{p-d9f33192.entry.js → p-d5325895.entry.js} +1 -1
  267. package/dist/design-system/p-e0e4a451.entry.js +1 -0
  268. package/dist/design-system/p-e387ec65.entry.js +1 -0
  269. package/dist/design-system/{p-4c85f6f6.entry.js → p-efe3601d.entry.js} +1 -1
  270. package/dist/esm/design-system.js +3 -3
  271. package/dist/esm/{index-Dz490Ukt.js → index-C599jhDs.js} +1 -1
  272. package/dist/esm/loader.js +3 -3
  273. package/dist/esm/sd-action-modal.entry.js +2 -2
  274. package/dist/esm/sd-badge.entry.js +2 -2
  275. package/dist/esm/sd-barcode-input.entry.js +2 -2
  276. package/dist/esm/sd-button_2.entry.js +3 -3
  277. package/dist/esm/sd-calendar_2.entry.js +8 -9
  278. package/dist/esm/sd-callout.entry.js +2 -2
  279. package/dist/esm/sd-card.entry.js +2 -2
  280. package/dist/esm/sd-checkbox.entry.js +5 -5
  281. package/dist/esm/sd-chip-input.entry.js +21 -16
  282. package/dist/esm/sd-chip.entry.js +7 -7
  283. package/dist/esm/sd-circle-progress.entry.js +2 -2
  284. package/dist/esm/sd-confirm-modal_2.entry.js +3 -3
  285. package/dist/esm/sd-date-box.entry.js +1 -1
  286. package/dist/esm/{component.datepicker-BOxGhKKP.js → sd-date-picker.config-CdXJcOGr.js} +65 -2
  287. package/dist/esm/sd-date-picker_8.entry.js +141 -51
  288. package/dist/esm/sd-date-range-picker-calendar.entry.js +158 -8
  289. package/dist/esm/sd-divider.entry.js +2 -2
  290. package/dist/esm/sd-dropdown-button.entry.js +1 -1
  291. package/dist/esm/sd-field_3.entry.js +51 -52
  292. package/dist/esm/sd-form.entry.js +1 -1
  293. package/dist/esm/sd-ghost-button_3.entry.js +14 -10
  294. package/dist/esm/sd-guide.entry.js +1 -1
  295. package/dist/esm/sd-key-value-table.entry.js +1 -1
  296. package/dist/esm/sd-linear-progress.entry.js +2 -2
  297. package/dist/esm/sd-loading-container.entry.js +3 -3
  298. package/dist/esm/sd-modal-container.entry.js +1 -1
  299. package/dist/esm/sd-pagination.entry.js +4 -4
  300. package/dist/esm/sd-popover.entry.js +134 -44
  301. package/dist/esm/sd-popup.entry.js +2 -2
  302. package/dist/esm/sd-radio-button.entry.js +3 -3
  303. package/dist/esm/sd-radio.entry.js +4 -2
  304. package/dist/esm/sd-select-list-item_4.entry.js +11 -11
  305. package/dist/esm/sd-switch.entry.js +13 -3
  306. package/dist/esm/sd-tabs.entry.js +2 -2
  307. package/dist/esm/sd-text-link.entry.js +4 -4
  308. package/dist/esm/sd-time-picker-selector.entry.js +177 -0
  309. package/dist/esm/sd-time-picker-trigger.entry.js +73 -0
  310. package/dist/esm/sd-time-picker.config-DUq29Nhs.js +148 -0
  311. package/dist/esm/sd-time-picker.entry.js +171 -0
  312. package/dist/esm/sd-time-range-picker-selector.entry.js +217 -0
  313. package/dist/esm/sd-time-range-picker.entry.js +202 -0
  314. package/dist/esm/sd-toast-container.entry.js +2 -2
  315. package/dist/esm/sd-toast.entry.js +3 -3
  316. package/dist/esm/sd-toggle.entry.js +2 -2
  317. package/dist/esm/{tooltipArrow-CEHVt90h.js → tooltipArrow-DbLihSLI.js} +1 -1
  318. package/dist/esm/{useDatePicker-BG0lUGJG.js → useDatePicker-DQ5Kyy_D.js} +1 -1
  319. package/dist/types/components/sd-checkbox/sd-checkbox.d.ts +2 -2
  320. package/dist/types/components/sd-chip/sd-chip.d.ts +3 -3
  321. package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +4 -2
  322. package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +2 -0
  323. package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +20 -0
  324. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.config.d.ts +25 -0
  325. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +9 -0
  326. package/dist/types/components/sd-field/sd-field.d.ts +7 -0
  327. package/dist/types/components/sd-file-picker/sd-file-picker.config.d.ts +28 -0
  328. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +3 -1
  329. package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +5 -0
  330. package/dist/types/components/sd-input/sd-input.d.ts +1 -1
  331. package/dist/types/components/sd-number-input/sd-number-input.d.ts +8 -0
  332. package/dist/types/components/sd-popover/sd-popover.config.d.ts +22 -0
  333. package/dist/types/components/sd-popover/sd-popover.d.ts +29 -36
  334. package/dist/types/components/sd-radio/sd-radio.d.ts +3 -1
  335. package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +2 -2
  336. package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +2 -2
  337. package/dist/types/components/sd-switch/sd-switch.d.ts +8 -1
  338. package/dist/types/components/sd-tag/sd-tag.d.ts +2 -2
  339. package/dist/types/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.d.ts +35 -0
  340. package/dist/types/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.d.ts +21 -0
  341. package/dist/types/components/sd-time-picker/sd-time-picker.config.d.ts +71 -0
  342. package/dist/types/components/sd-time-picker/sd-time-picker.d.ts +84 -0
  343. package/dist/types/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.d.ts +40 -0
  344. package/dist/types/components/sd-time-range-picker/sd-time-range-picker.config.d.ts +9 -0
  345. package/dist/types/components/sd-time-range-picker/sd-time-range-picker.d.ts +88 -0
  346. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +7 -22
  347. package/dist/types/components.d.ts +1268 -381
  348. package/hydrate/index.js +1975 -502
  349. package/hydrate/index.mjs +1975 -502
  350. package/package.json +1 -1
  351. package/dist/cjs/sd-date-picker.config-Chrd8c4v.js +0 -41
  352. package/dist/cjs/useDatePicker-CgpIfwLA.js +0 -103
  353. package/dist/components/p-BFVfSW9t.js +0 -1
  354. package/dist/components/p-BKu0I6Io.js +0 -1
  355. package/dist/components/p-B_Zwr4Et.js +0 -1
  356. package/dist/components/p-CBoDoYDO.js +0 -1
  357. package/dist/components/p-CYMMLsGt.js +0 -1
  358. package/dist/components/p-C_SG4M4z.js +0 -1
  359. package/dist/components/p-CgSXYw_0.js +0 -1
  360. package/dist/components/p-CmRF12Fy.js +0 -1
  361. package/dist/components/p-CnRfET5y.js +0 -1
  362. package/dist/components/p-Cvsrc0be.js +0 -1
  363. package/dist/components/p-DJ8z7_EG.js +0 -1
  364. package/dist/components/p-DJmxpVkK.js +0 -1
  365. package/dist/components/p-DN7MAx-q.js +0 -1
  366. package/dist/components/p-DS6NVBvu.js +0 -1
  367. package/dist/components/p-D_56BjcD.js +0 -1
  368. package/dist/components/p-Uh9emYrV.js +0 -1
  369. package/dist/components/p-f0aBxUBG.js +0 -1
  370. package/dist/design-system/p-0e014b76.entry.js +0 -1
  371. package/dist/design-system/p-1b5fcf7b.entry.js +0 -1
  372. package/dist/design-system/p-2a4d2ee0.entry.js +0 -1
  373. package/dist/design-system/p-2d6a7d7b.entry.js +0 -1
  374. package/dist/design-system/p-4b474538.entry.js +0 -1
  375. package/dist/design-system/p-BOxGhKKP.js +0 -1
  376. package/dist/design-system/p-BhcvMs8c.js +0 -1
  377. package/dist/design-system/p-Dz490Ukt.js +0 -2
  378. package/dist/design-system/p-cb6ab65c.entry.js +0 -1
  379. package/dist/design-system/p-d51f4170.entry.js +0 -1
  380. package/dist/design-system/p-e7740a5f.entry.js +0 -1
  381. package/dist/design-system/p-e85bf462.entry.js +0 -1
  382. package/dist/design-system/p-ea008087.entry.js +0 -1
  383. package/dist/design-system/p-f962e5d2.entry.js +0 -1
  384. package/dist/esm/sd-date-picker.config-krRuSUsA.js +0 -38
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
 
5
5
  const ghostButton = {
6
6
  xxs: {
@@ -128,6 +128,11 @@ const SdGhostButton = class {
128
128
  intent = 'default';
129
129
  /** 스크린리더용 접근성 레이블 */
130
130
  ariaLabel = '';
131
+ /**
132
+ * 토글 버튼일 때 눌림 상태 → `aria-pressed`로 반영. 미지정 시 속성 자체를 내보내지 않는다.
133
+ * (DOM `Element.ariaPressed`(문자열 예약 속성)와 충돌하므로 prop 이름은 `pressed`)
134
+ */
135
+ pressed;
131
136
  /** 호버 시 표시할 툴팁 텍스트 */
132
137
  tooltipText;
133
138
  /** 비활성 상태 여부 */
@@ -185,16 +190,16 @@ const SdGhostButton = class {
185
190
  const accessibleName = (this.ariaLabel ?? '').trim() || undefined;
186
191
  const tooltipText = (this.tooltipText ?? '').trim();
187
192
  const hasTooltip = tooltipText.length > 0;
188
- return (index.h("button", { key: '9d2d352d36c7c34c67d8c57de6236d72727bd078', class: {
193
+ return (index.h("button", { key: '921a2e6e54aa3cbb0e6c14ad117d6ddcfc753618', class: {
189
194
  'sd-ghost-button': true,
190
195
  'sd-ghost-button--disabled': this.disabled,
191
- }, type: "button", "aria-disabled": this.disabled ? 'true' : undefined, tabIndex: this.disabled ? -1 : undefined, "aria-label": accessibleName, style: {
196
+ }, type: "button", "aria-disabled": this.disabled ? 'true' : undefined, tabIndex: this.disabled ? -1 : undefined, "aria-label": accessibleName, "aria-pressed": this.pressed, style: {
192
197
  '--sd-ghost-button-size': `${sizeConfig.size}px`,
193
198
  '--sd-ghost-button-radius': `${GHOST_BUTTON_RADIUS[size]}px`,
194
199
  '--sd-ghost-button-hover-bg': GHOST_BUTTON_HOVER_BG_COLORS[intent],
195
200
  '--sd-ghost-button-hover-opacity': GHOST_BUTTON_HOVER_OPACITY,
196
201
  '--sd-ghost-button-accent': GHOST_BUTTON_FOCUS_RING_COLOR,
197
- }, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && (index.h("sd-portal", { key: '1a73fb53be28a622d03e4f20be0b30e0e76bccd4', parentRef: this.hostEl, open: true, offset: [sizeConfig.size / 2, 4], placement: "top" }, index.h("div", { key: 'e4a349dbfbf2fd16eed9a46f5e2ed43935212cfe', class: "sd-ghost-button__tooltip-inner", "aria-hidden": "true" }, index.h("sd-tag", { key: '4aa1525a6da6ee72daf1815f1440d665bd1cf2c8', name: "square_xs_grey", label: tooltipText })))), index.h("sd-icon", { key: '4caac22d0d888c1998032697043e3a3761e012aa', name: this.icon, size: sizeConfig.icon, color: contentColor })));
202
+ }, onClick: this.handleClick, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && (index.h("sd-portal", { key: '90817207f1b8b5c1d55ce510dfb5ea90cf614bfd', parentRef: this.hostEl, open: true, offset: [sizeConfig.size / 2, 4], placement: "top" }, index.h("div", { key: '75379a80a230eb197d56df9eb3a79f4536c425d5', class: "sd-ghost-button__tooltip-inner", "aria-hidden": "true" }, index.h("sd-tag", { key: 'b7cc000adb2aaa3e9f65635d7e9cab7fceff62c3', name: "square_xs_grey", label: tooltipText })))), index.h("sd-icon", { key: '0df3fd325eb7e82b3da6427e22c05819f35d307e', name: this.icon, size: sizeConfig.icon, color: contentColor })));
198
203
  }
199
204
  };
200
205
  SdGhostButton.style = sdGhostButtonCss();
@@ -472,7 +477,7 @@ const SdPortal = class {
472
477
  this.close.emit();
473
478
  }
474
479
  render() {
475
- return index.h("slot", { key: '623ee5423b145701ba9dd801d44874214f7a76e3' });
480
+ return index.h("slot", { key: '8b2a674bbd8c75c150940d53c0e5204e951cbb82' });
476
481
  }
477
482
  static get watchers() { return {
478
483
  "open": [{
@@ -668,9 +673,8 @@ const SdTag = class {
668
673
  label = '';
669
674
  /** 아이콘명 */
670
675
  icon;
671
- // 아이콘이 좌측 배치되는 자연스러운 default. prop 이름 변경(isRight ) public API breaking 이라 별도 이슈로 분리.
672
- /** true이면 아이콘을 레이블 왼쪽에 배치 */
673
- isLeft = true;
676
+ /** 아이콘을 레이블 왼쪽에 배치할지 여부 (기본값 true) */
677
+ iconLeft = true;
674
678
  /** 태그 너비 (숫자면 px, 문자열이면 그대로 적용). 미지정 시 콘텐츠 크기(fit-content) */
675
679
  width = '';
676
680
  componentWillLoad() {
@@ -699,7 +703,7 @@ const SdTag = class {
699
703
  const config = this.resolvedConfig;
700
704
  const iconNode = this.renderIcon(config.icon, config.iconSize);
701
705
  const width = this.resolvedWidth;
702
- return (index.h(index.Host, { key: '9eb41b65a887a524d22e0a2663292de1f12674f6', style: width != null ? { '--sd-tag-width': width } : undefined }, index.h("span", { key: '2c08b419141250c00e6ef1aec1c691c1a41434c0', class: "sd-tag", style: {
706
+ return (index.h(index.Host, { key: '9e893a8ec67d1baa12cdfe030d3ae15798666c0c', style: width != null ? { '--sd-tag-width': width } : undefined }, index.h("span", { key: 'fe6b05143032b33bec7cc95ce5355701e894d0ea', class: "sd-tag", style: {
703
707
  '--sd-tag-background': config.background,
704
708
  '--sd-tag-content': config.content,
705
709
  '--sd-tag-height': config.height,
@@ -709,7 +713,7 @@ const SdTag = class {
709
713
  '--sd-tag-font-weight': config.fontWeight,
710
714
  '--sd-tag-line-height': config.lineHeight,
711
715
  '--sd-tag-radius': config.radius,
712
- }, "aria-label": this.label || 'tag' }, this.icon && this.isLeft && iconNode, index.h("span", { key: '5041322f15e5273cc3129f57958dc97fdce8c50c', class: "sd-tag__label" }, this.label), this.icon && !this.isLeft && iconNode)));
716
+ }, "aria-label": this.label || 'tag' }, this.icon && this.iconLeft && iconNode, index.h("span", { key: '9c4a07ac015672839dc5dda40d01609870979e04', class: "sd-tag__label" }, this.label), this.icon && !this.iconLeft && iconNode)));
713
717
  }
714
718
  };
715
719
  SdTag.style = sdTagCss();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
  var system = require('./system-B4KkVpu2.js');
5
5
  var sanitizeInlineHtml = require('./sanitize-inline-html-CRCAeQ46.js');
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
  var system = require('./system-B4KkVpu2.js');
5
5
 
6
6
  const table = {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
  var component_progress = require('./component.progress-DimGJZAd.js');
5
5
  var system = require('./system-B4KkVpu2.js');
6
6
 
@@ -52,7 +52,7 @@ const SdLinearProgress = class {
52
52
  clipPath: `inset(0 ${100 - this.clampedValue}% 0 0)`,
53
53
  };
54
54
  const valueText = `${Math.round(this.clampedValue)}%`;
55
- return (index.h(index.Host, { key: 'fb7aacfafc15a5570717f4ba13cd7d6a8193375a', style: hostStyle }, index.h("div", { key: '7a054e0cac8fcc757c15871ff4d2305a8d190fb9', class: "sd-linear-progress__track" }, index.h("div", { key: '35b45b58b899e4c7201bf39783d3d4c6be42ede5', class: "sd-linear-progress__fill", style: fillStyle }), !this.indeterminate && (index.h("span", { key: 'a9b44e03fe2446fe8dbfd9bbd6801d6b9bebfc10', class: "sd-linear-progress__value sd-linear-progress__value--on-track" }, valueText)), !this.indeterminate && (index.h("span", { key: '363bacb116ca51417892f9f49db58360a97899c4', class: "sd-linear-progress__value sd-linear-progress__value--on-fill", style: valueOnFillStyle }, valueText))), this.label && index.h("span", { key: 'c8b9c15d2eb85ca1ac46ba8983ae399661012f31', class: "sd-linear-progress__label" }, this.label)));
55
+ return (index.h(index.Host, { key: 'bb8b4b933b609a42d1c342b7b480d32a48527321', style: hostStyle }, index.h("div", { key: 'd127baf4c4cf49d5c6e04ada72636c9d3fd81733', class: "sd-linear-progress__track" }, index.h("div", { key: '6251da38b070cf9f064b22ed1ecb694da41f63ec', class: "sd-linear-progress__fill", style: fillStyle }), !this.indeterminate && (index.h("span", { key: '7b15d0383e4cc391a22e4fc7e2a85bc6cd076f80', class: "sd-linear-progress__value sd-linear-progress__value--on-track" }, valueText)), !this.indeterminate && (index.h("span", { key: '8755f23a83aede79a141a14b73337eacca0fc10d', class: "sd-linear-progress__value sd-linear-progress__value--on-fill", style: valueOnFillStyle }, valueText))), this.label && index.h("span", { key: 'c874dd1ca0cb86c90a84c318790639c0f4283255', class: "sd-linear-progress__label" }, this.label)));
56
56
  }
57
57
  };
58
58
  SdLinearProgress.style = sdLinearProgressCss();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
 
5
5
  const sdLoadingContainerCss = () => `sd-loading-container .sd-loading-container{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--sd-loading-container-z-index, 999);opacity:0;visibility:hidden;transition:opacity 0.2s ease, visibility 0s linear 0.2s;pointer-events:none}sd-loading-container .sd-loading-container--visible{opacity:1;visibility:visible;transition:opacity 0.2s ease, visibility 0s linear 0s;pointer-events:auto}sd-loading-container .sd-loading-container__backdrop{position:absolute;inset:0;background:rgba(0, 0, 0, 0.4)}sd-loading-container .sd-loading-container__content{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px}sd-loading-container .sd-loading-container__message{margin:0;color:#ffffff;font-size:14px;font-weight:500;line-height:22px;text-align:center;max-width:400px;word-break:keep-all}`;
6
6
 
@@ -40,10 +40,10 @@ const SdLoadingContainer = class {
40
40
  this.prevBodyOverflow = null;
41
41
  }
42
42
  render() {
43
- return (index.h("div", { key: '89949c219d7ace3858c7539f3db4843a20a2c67e', class: {
43
+ return (index.h("div", { key: 'c7821d4c50651217e48f424cbdfb9a32006afda4', class: {
44
44
  'sd-loading-container': true,
45
45
  'sd-loading-container--visible': this.visible,
46
- }, "aria-hidden": this.visible ? 'false' : 'true' }, index.h("div", { key: '0c538680987653059a8baae6e6f6d2b7dabeda69', class: "sd-loading-container__backdrop" }), index.h("div", { key: '8b5b01c51e97d9ebdd63be32aff8f228449c1e47', class: "sd-loading-container__content" }, index.h("sd-circle-progress", { key: 'ccf47434cf4c7b3e948cc10741e63fe362bd9316', indeterminate: true, type: "inverse" }), this.message && index.h("p", { key: 'db63acff8b44e5725e9c8e29fed7d9957f18aa9d', class: "sd-loading-container__message" }, this.message))));
46
+ }, "aria-hidden": this.visible ? 'false' : 'true' }, index.h("div", { key: 'f7674699f3dd15edd74fc3224203b59ad2a96735', class: "sd-loading-container__backdrop" }), index.h("div", { key: 'cd361e1a1f470109298459cc2872be104e382015', class: "sd-loading-container__content" }, index.h("sd-circle-progress", { key: 'c856a1e9ab203040dd8bf0d01dbdf151718aaa3e', indeterminate: true, type: "inverse" }), this.message && index.h("p", { key: '8af15dba086fb024b652db5f776d384f00fd9cf7', class: "sd-loading-container__message" }, this.message))));
47
47
  }
48
48
  };
49
49
  SdLoadingContainer.style = sdLoadingContainerCss();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
  var modalStack = require('./modal-stack-DucFLON7.js');
5
5
 
6
6
  const sdModalContainerCss = () => `sd-modal-container{display:block}sd-modal-container .sd-modal-container{position:fixed;inset:0;z-index:var(--sd-modal-container-z-index, 997);pointer-events:none}sd-modal-container .sd-modal-container__layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}sd-modal-container .sd-modal-container__backdrop{position:absolute;inset:0;background:rgba(0, 0, 0, 0.4);opacity:0;transition:opacity 0.3s ease-out;pointer-events:none}sd-modal-container .sd-modal-container__backdrop--visible{opacity:1;pointer-events:auto}sd-modal-container .sd-modal-container__modal{position:relative;z-index:1;opacity:0;transform:scale(0);pointer-events:auto;transition:opacity 0.3s ease-out, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1)}sd-modal-container .sd-modal-container__modal--visible{opacity:1;transform:scale(1)}sd-modal-container .sd-modal-container__modal--shake{animation:modal-shake 0.3s ease-out}@keyframes modal-shake{0%,100%{transform:scale(1)}25%{transform:scale(1.03)}50%{transform:scale(0.97)}75%{transform:scale(1.01)}}`;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
 
5
5
  const pagination = {
6
6
  height: "24",
@@ -159,13 +159,13 @@ const SdPagination = class {
159
159
  '--sd-pagination-bg-selected': PAGINATION_COLORS.bgSelected,
160
160
  '--sd-pagination-item-width': `${this.buttonWidth}px`,
161
161
  };
162
- return (index.h("div", { key: '78ef11e415c8d086e0a5f582fa5b4568ed3e49a4', class: {
162
+ return (index.h("div", { key: '0b5a2e9aec83e6f6a8de3426e57b3f9a53623652', class: {
163
163
  'sd-pagination': true,
164
164
  'sd-pagination--simple': this.simple,
165
- }, style: cssVars }, index.h("div", { key: '360cdb85715508d2f8155851b11928031015909c', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (index.h("div", { class: "sd-pagination__info" }, index.h("span", { class: "sd-pagination__current" }, this.currentPage), index.h("span", { class: "sd-pagination__divider" }, "/"), index.h("span", { class: "sd-pagination__last" }, this.lastPage))) : (index.h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (index.h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
165
+ }, style: cssVars }, index.h("div", { key: 'aa53d0366ae4678950ecd3917fd0d7011dd9608d', class: "sd-pagination__group sd-pagination__group--prev" }, this.renderPrevButtons()), this.simple ? (index.h("div", { class: "sd-pagination__info" }, index.h("span", { class: "sd-pagination__current" }, this.currentPage), index.h("span", { class: "sd-pagination__divider" }, "/"), index.h("span", { class: "sd-pagination__last" }, this.lastPage))) : (index.h("div", { class: "sd-pagination__numbers" }, this.pageNumbers.map(n => (index.h("button", { type: "button", "aria-current": this.currentPage === n ? 'page' : undefined, class: {
166
166
  'sd-pagination__item': true,
167
167
  'sd-pagination__item--selected': this.currentPage === n,
168
- }, onClick: () => this.handlePageChange(n) }, n))))), index.h("div", { key: '3726aaab29e0347cf7ae5e2aebad268e33eb33c7', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
168
+ }, onClick: () => this.handlePageChange(n) }, n))))), index.h("div", { key: '1aa72933c849af4fc886cc4e5f8962710c6c40bf', class: "sd-pagination__group sd-pagination__group--next" }, this.renderNextButtons())));
169
169
  }
170
170
  };
171
171
  SdPagination.style = sdPaginationCss();
@@ -1,61 +1,139 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
4
- var tooltipArrow = require('./tooltipArrow-DOOcBlLp.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
+ var tooltipArrow = require('./tooltipArrow-BlrFItn5.js');
5
5
 
6
6
  const popover = {
7
7
  "default": {
8
- bg: "#07284A"}};
8
+ bg: "#07284A",
9
+ title: "#FFFFFF",
10
+ description: "#FFFFFF",
11
+ subAction: "#D8D8D8"
12
+ },
13
+ title: {
14
+ leadingIcon: "16",
15
+ gap: "8"
16
+ },
17
+ danger: {
18
+ bg: "#FCEFEF",
19
+ title: "#FB4444"
20
+ },
21
+ warning: {
22
+ bg: "#FEF1EA",
23
+ title: "#FF6B00"
24
+ },
25
+ accent: {
26
+ bg: "#E6F1FF",
27
+ title: "#0075FF"
28
+ },
29
+ light: {
30
+ description: "#555555",
31
+ subAction: "#888888"
32
+ }
33
+ };
9
34
  var popoverTokens = {
10
35
  popover: popover
11
36
  };
12
37
 
38
+ const t = popoverTokens.popover;
39
+ /** 제목-아이콘 간격 */
40
+ const POPOVER_TITLE_GAP = t.title.gap;
41
+ /** 제목 좌측 아이콘 크기 */
42
+ const POPOVER_TITLE_ICON_SIZE = t.title.leadingIcon;
43
+ /**
44
+ * popoverType별 색상·버튼 매핑.
45
+ * - default·accent: 하단 버튼 primary(solid) / danger: danger outline / warning: neutral outline
46
+ * - default: 다크 배경 + 흰색 텍스트 / danger·warning·accent: 라이트 배경 + 타입 색상 제목 + light 계열 본문·링크 색상
47
+ */
48
+ const POPOVER_TYPE_CONFIG = {
49
+ default: {
50
+ bg: t.default.bg,
51
+ title: t.default.title,
52
+ description: t.default.description,
53
+ subAction: t.default.subAction,
54
+ buttonName: 'primary_xs',
55
+ },
56
+ danger: {
57
+ bg: t.danger.bg,
58
+ title: t.danger.title,
59
+ description: t.light.description,
60
+ subAction: t.light.subAction,
61
+ buttonName: 'danger_outline_xs',
62
+ },
63
+ warning: {
64
+ bg: t.warning.bg,
65
+ title: t.warning.title,
66
+ description: t.light.description,
67
+ subAction: t.light.subAction,
68
+ buttonName: 'neutral_outline_xs',
69
+ },
70
+ accent: {
71
+ bg: t.accent.bg,
72
+ title: t.accent.title,
73
+ description: t.light.description,
74
+ subAction: t.light.subAction,
75
+ buttonName: 'primary_xs',
76
+ },
77
+ };
78
+
13
79
  const sdPopoverCss = () => `sd-popover{position:relative;cursor:pointer;display:inline-flex}`;
14
80
 
15
81
  const SdPopover = class {
16
82
  constructor(hostRef) {
17
83
  index.registerInstance(this, hostRef);
18
84
  this.showChange = index.createEvent(this, "sdShowChange", 7);
85
+ this.buttonClick = index.createEvent(this, "sdButtonClick", 7);
86
+ this.leftLinkClick = index.createEvent(this, "sdLeftLinkClick", 7);
19
87
  }
20
88
  get el() { return index.getElement(this); }
21
- /** 팝오버 표시 여부 */
22
- show = false;
89
+ /** 표시 여부 (제어). 미지정 시 defaultOpen 기반 비제어로 동작 */
90
+ open;
91
+ /** 기본 표시 여부 (비제어) */
92
+ defaultOpen = false;
23
93
  /** 팝오버를 표시할 방향 */
24
94
  placement = 'bottom';
25
- /** 아이콘 트리거 색상 */
26
- color = '#01BB4B';
27
- /** 아이콘 트리거 아이콘명 */
95
+ /** 색상 타입 (default=다크 배경 / danger·warning·accent=라이트 배경) */
96
+ type = 'default';
97
+ /** 메뉴 제목 (필수) */
98
+ menuTitle;
99
+ /** 제목 좌측 아이콘 (선택) */
100
+ titleIcon;
101
+ /** 기본(아이콘) 트리거 아이콘명. slot="trigger" 가 있으면 무시 */
28
102
  icon = 'helpOutline';
29
- /** 아이콘 트리거 크기 */
103
+ /** 기본(아이콘) 트리거 크기 */
30
104
  iconSize = 12;
31
- /** 버튼 트리거 레이블 (있으면 아이콘 대신 버튼 렌더링) */
32
- label = '';
33
- /** 버튼 트리거 프리셋 */
34
- name = 'primary_sm';
35
- /** 버튼 트리거 우측 아이콘 */
36
- rightIcon;
105
+ /** 기본(아이콘) 트리거 색상 */
106
+ color = '#01BB4B';
107
+ /** 하단 좌측 링크 레이블 (선택) */
108
+ leftLinkLabel;
109
+ /** 하단 우측 버튼 레이블 (필수). 색상/스타일은 type 별로 고정 */
110
+ buttonLabel;
37
111
  /** 스크린리더용 접근성 레이블 */
38
112
  ariaLabel = '';
39
- /** 비활성 상태 여부 */
40
- disabled = false;
41
- /** 버튼 type 속성 */
42
- type = 'button';
43
- /** 팝오버 메뉴 제목 */
44
- menuTitle;
45
- /** 팝오버 하단 좌측 링크 옵션 */
46
- leftLink;
47
- /** 팝오버 하단 버튼 옵션 */
48
- button;
49
113
  /** 팝오버 메뉴에 추가할 클래스 */
50
- menuClass = '';
114
+ menuClassName = '';
115
+ internalOpen = false;
51
116
  slotContentHTML = '';
117
+ triggerHTML = '';
52
118
  /** 팝오버 표시 상태가 바뀔 때 발생합니다. */
53
119
  showChange;
54
- buttonEl;
55
- setShow = (next) => {
56
- if (this.show === next)
120
+ /** 하단 우측 버튼 클릭 시 발생합니다. */
121
+ buttonClick;
122
+ /** 하단 좌측 링크 클릭 시 발생합니다. */
123
+ leftLinkClick;
124
+ triggerEl;
125
+ get isOpen() {
126
+ return this.open !== undefined ? this.open : this.internalOpen;
127
+ }
128
+ setOpen = (next) => {
129
+ if (this.isOpen === next)
57
130
  return;
58
- this.show = next;
131
+ if (this.open === undefined) {
132
+ this.internalOpen = next;
133
+ }
134
+ else {
135
+ this.open = next;
136
+ }
59
137
  this.showChange.emit(next);
60
138
  };
61
139
  get popoverOffset() {
@@ -70,31 +148,43 @@ const SdPopover = class {
70
148
  return [4, 0];
71
149
  }
72
150
  }
73
- handleClose = () => this.setShow(false);
151
+ handleClose = () => this.setOpen(false);
74
152
  componentWillLoad() {
153
+ this.internalOpen = this.defaultOpen;
154
+ // slot="trigger" 커스텀 트리거를 분리해 두고, 나머지 라이트 DOM은 메뉴 본문으로 캡처한다.
155
+ const triggerSlot = this.el.querySelector('[slot="trigger"]');
156
+ if (triggerSlot) {
157
+ this.triggerHTML = triggerSlot.outerHTML;
158
+ triggerSlot.remove();
159
+ }
75
160
  this.slotContentHTML = this.el.innerHTML;
76
161
  this.el.innerHTML = '';
77
162
  }
78
163
  render() {
79
164
  const placement = this.placement ?? 'bottom';
80
- const color = this.color ?? '#01BB4B';
81
- const icon = this.icon ?? 'helpOutline';
82
- const iconSize = this.iconSize ?? 12;
83
- const menuClass = this.menuClass ?? '';
84
- const leftLink = this.leftLink;
85
- const button = this.button;
86
- const hasFooter = !!leftLink || !!button;
87
- return (index.h(index.Fragment, { key: '163802d6f0954b87902bbf957831f311829e63dc' }, this.label !== '' ? (index.h("sd-button", { ref: el => (this.buttonEl = el), name: this.name ?? 'primary_sm', label: this.label, icon: icon, rightIcon: this.rightIcon, ariaLabel: this.ariaLabel || this.label || icon || 'Open popover', disabled: this.disabled, type: this.type ?? 'button', class: "sd-popover", onSdClick: () => this.setShow(!this.show) })) : (index.h("sd-icon", { ref: el => (this.buttonEl = el), name: icon, size: iconSize, color: color, class: "sd-popover", onClick: () => this.setShow(!this.show) })), this.show && (index.h("sd-floating-portal", { key: '1bd73048fd65916a400840c572d988c445dd662b', parentRef: this.buttonEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, index.h("div", { key: 'f3791b078c7970174d9394ffcbb19beb450f12c5', class: {
165
+ const typeConfig = POPOVER_TYPE_CONFIG[this.type ?? 'default'] ?? POPOVER_TYPE_CONFIG.default;
166
+ const menuClassName = this.menuClassName ?? '';
167
+ const hasLeftLink = this.leftLinkLabel !== undefined && this.leftLinkLabel !== '';
168
+ return (index.h(index.Fragment, { key: '16cc231907c02de80749163ce4b639303e969f4a' }, this.triggerHTML !== '' ? (
169
+ // 사용자가 넘긴 slot="trigger" 콘텐츠를 감싸 클릭을 전달하는 래퍼(키보드 상호작용은 내부 트리거가 담당)
170
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events
171
+ index.h("span", { ref: el => (this.triggerEl = el), class: "sd-popover", "aria-label": this.ariaLabel || undefined, innerHTML: this.triggerHTML, onClick: () => this.setOpen(!this.isOpen) })) : (index.h("sd-icon", { ref: el => (this.triggerEl = el), name: this.icon ?? 'helpOutline', size: this.iconSize ?? 12, color: this.color ?? '#01BB4B', class: "sd-popover", "aria-label": this.ariaLabel || undefined, onClick: () => this.setOpen(!this.isOpen) })), this.isOpen && (index.h("sd-floating-portal", { key: 'c59ec7fb1b7ea137b95542f7e8f775c6bd837975', parentRef: this.triggerEl, onSdClose: this.handleClose, placement: placement, offset: this.popoverOffset }, index.h("div", { key: '97e68e0246997a0a73beb3e984331daa57161e8e', class: {
88
172
  'sd-floating-menu': true,
89
173
  'sd-floating-menu--popover': true,
90
174
  [`sd-floating-menu--${placement}`]: true,
91
- [menuClass]: menuClass !== '',
175
+ [menuClassName]: menuClassName !== '',
92
176
  }, style: {
93
- '--sd-floating-bg': popoverTokens.popover.default.bg,
94
- } }, index.h("i", { key: 'f9ab66a933669a057a1da5188cb82ca9e5f17ed6', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, index.h(tooltipArrow.TooltipArrow, { key: '6ea9ca3bacd2c84c468e5f00fa33e93e61a6bf9d' })), index.h("div", { key: '91d094cd45973bcc5ea6e6016510006f41956546', class: "sd-floating-menu__content" }, this.menuTitle && index.h("div", { key: 'ebe9a1e130792d7e60ca9abef9020dff6c0bd4c4', class: "sd-floating-menu__title" }, this.menuTitle), this.slotContentHTML && (index.h("div", { key: 'b898402e77f125099b29f6bd8eb5384a70aa671a', class: "sd-floating-menu__messages", innerHTML: this.slotContentHTML })), hasFooter && (index.h("div", { key: 'e797202b27ff538d4148f3b6782b33f58fc6bc2f', class: {
177
+ '--sd-floating-bg': typeConfig.bg,
178
+ '--sd-floating-content': typeConfig.description,
179
+ } }, index.h("i", { key: 'b96d7dc623a1fab61ee84f612c68c9f7bbac7405', class: `sd-floating-menu__arrow sd-floating-menu__arrow--${placement}` }, index.h(tooltipArrow.TooltipArrow, { key: '92c6e5ef1258d6e99f744c75cef7ee3dd26d0367' })), index.h("div", { key: '9c9f3cfcc8a3d60e5282a5f6f2653e2cce17cf56', class: "sd-floating-menu__content" }, this.menuTitle && (index.h("div", { key: '044ae6b271fbf0cede0b4983e074d56882d5f50f', class: "sd-floating-menu__title", style: {
180
+ color: typeConfig.title,
181
+ display: 'flex',
182
+ alignItems: 'center',
183
+ gap: `${POPOVER_TITLE_GAP}px`,
184
+ } }, this.titleIcon && (index.h("sd-icon", { key: '360cf55b73ee395191836ee13a2d492460059f4a', name: this.titleIcon, size: Number(POPOVER_TITLE_ICON_SIZE), color: typeConfig.title })), index.h("span", { key: '5cc44d0806971433b42c41e48a48e7ea8cc2c975' }, this.menuTitle))), this.slotContentHTML && (index.h("div", { key: 'a5343a56938c0d6d5d5fd07fb83b7ccee4e81cf0', class: "sd-floating-menu__messages", innerHTML: this.slotContentHTML })), index.h("div", { key: '1f6a0f46b2b6b5f08a0d453cae2a868f93015ac7', class: {
95
185
  'sd-floating-menu__buttons': true,
96
- 'sd-floating-menu__buttons--with-link': !!leftLink,
97
- } }, leftLink && (index.h("sd-text-link", { key: 'fdeacc2b97c997d0c7385bab5260e060a70292e6', class: "sd-floating-menu__left-link", label: leftLink.label, icon: leftLink.icon ?? '', iconColor: leftLink.iconColor ?? '', rightArrow: leftLink.rightArrow ?? 'none', underline: !!leftLink.underline, disabled: !!leftLink.disabled, onSdClick: leftLink.onClick })), button && (index.h("sd-button", { key: '4a56e7e714517edcbea075e7d4521f0a54388e9f', name: button.name ?? 'secondary_xs', label: button.label, icon: button.icon, rightIcon: button.rightIcon, ariaLabel: button.ariaLabel || button.label || button.icon || 'Open popover', disabled: button.disabled, type: button.type, onSdClick: button.onClick }))))), index.h("sd-ghost-button", { key: 'ca713f6a07637b014c58923db2ff7af1f3ae98a8', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
186
+ 'sd-floating-menu__buttons--with-link': hasLeftLink,
187
+ } }, hasLeftLink && (index.h("sd-text-link", { key: '5ec7502837f7417266810769885e2318c80ad986', class: "sd-floating-menu__left-link", style: { '--sd-text-link-color': typeConfig.subAction }, label: this.leftLinkLabel, onSdClick: () => this.leftLinkClick.emit() })), index.h("sd-button", { key: '3d9df22cd0b65add5cd18b3750888248dc235408', name: typeConfig.buttonName, label: this.buttonLabel, ariaLabel: this.buttonLabel || 'confirm', onSdClick: () => this.buttonClick.emit() }))), index.h("sd-ghost-button", { key: '7e1ca491a2539b52ded454aca8afd26a92dc2ef6', class: "sd-floating-menu__close-button", icon: "close", ariaLabel: "close", size: "xs", onClick: this.handleClose }))))));
98
188
  }
99
189
  };
100
190
  SdPopover.style = sdPopoverCss();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
  var component_overlay = require('./component.overlay-CBhFnzM2.js');
5
5
  var system = require('./system-B4KkVpu2.js');
6
6
 
@@ -104,7 +104,7 @@ const SdPopup = class {
104
104
  ...DEFAULT_SUBMIT_BUTTON_PROPS,
105
105
  ...this.submitButtonProps,
106
106
  };
107
- return (index.h("div", { key: 'd86bb173d6fe8540e8b96f5dff4c8285cbf9ff91', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, index.h("header", { key: '0f006173fda3be589cdc208f382ed1898c49396a', class: "sd-popup__header" }, index.h("h2", { key: '62179c692f08b21e6386175b153d4f8c1013ea53', class: "sd-popup__title" }, this.popupTitle)), index.h("div", { key: 'a1a786d9d71f0a17eb4f3bce3a6b1ae8a1fa3367', class: "sd-popup__body" }, index.h("slot", { key: '40b772fd34963ef78507dddf81474eb5e1a58174' })), this.useFooter && (index.h("footer", { key: '40c981163f237b44764dec66205e01203a0d150d', class: "sd-popup__footer" }, index.h("div", { key: '0c91d37584c0bc5f74b510430a83889aea4abb93', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, index.h("slot", { key: '120c41484fee23d160a1fa7b5ab7cd70c1422d12', name: "footer-left" })), index.h("sd-button", { key: '6dadd08ab99380d0e55730888fbbd2fea88bcfe9', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
107
+ return (index.h("div", { key: '1b8dc171a7b0dea5216aa63425ccc72ae80e3a3e', class: `sd-popup sd-popup--${this.type}`, style: cssVars }, index.h("header", { key: '1ae57ef360ad124a2afac3340258dce481bb7bc7', class: "sd-popup__header" }, index.h("h2", { key: '3d0cc0df6ba901b4dc9e0917103e57d6279cde31', class: "sd-popup__title" }, this.popupTitle)), index.h("div", { key: 'a0fee226ac513744243d6f78ddce6125170700da', class: "sd-popup__body" }, index.h("slot", { key: '55c5f94dff5413810f2c4648c9684e520db7268b' })), this.useFooter && (index.h("footer", { key: 'f8f0dc3751324ac5976aef55bec974341db036c1', class: "sd-popup__footer" }, index.h("div", { key: 'ea2f7e63c857d135eeffd7c2a43b171619067161', class: "sd-popup__footer-slot sd-popup__footer-slot--left" }, index.h("slot", { key: '0d56c0c25e1e10f6900af0f632c7bb339b736032', name: "footer-left" })), index.h("sd-button", { key: 'd334174cd98be32856a6f3b1b3348ca2ebea3cdd', ...submitButtonProps, class: "sd-popup__submit", onSdClick: () => this.submit.emit() })))));
108
108
  }
109
109
  };
110
110
  SdPopup.style = sdPopupCss();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
 
5
5
  const radioButton = {
6
6
  xs: {
@@ -104,7 +104,7 @@ const SdRadioButton = class {
104
104
  index.registerInstance(this, hostRef);
105
105
  this.change = index.createEvent(this, "sdUpdate", 7);
106
106
  }
107
- /** 현재 선택된 값 */
107
+ /** 현재 선택된 값 (미지정 시 선택 없음) */
108
108
  value;
109
109
  /** 라디오 버튼 옵션 목록 */
110
110
  options = [];
@@ -184,7 +184,7 @@ const SdRadioButton = class {
184
184
  '--sd-radio-button-content-select': RADIO_BUTTON_COLORS.content.select,
185
185
  '--sd-radio-button-content-disabled': RADIO_BUTTON_COLORS.content.disabled,
186
186
  };
187
- return (index.h("div", { key: '17355ebde09f652f5b94b4f70f09f68ef44cd29d', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
187
+ return (index.h("div", { key: '7621cf9885bb69bc18083dc076b4e6babc86ff62', class: this.getGroupClasses(), style: cssVars, role: "radiogroup", "aria-disabled": this.disabled.toString() }, this.options.map(option => {
188
188
  const isSelected = this.isOptionSelected(option);
189
189
  const isDisabled = this.isOptionDisabled(option);
190
190
  return (index.h("label", { key: `radio-${option.value}`, class: this.getButtonClasses(option), "aria-label": option.label || 'radio option', "data-label": option.label }, index.h("input", { type: "radio", name: this.groupName, value: option.value.toString(), checked: isSelected, disabled: isDisabled, onInput: () => this.handleRadioChange(option.value, option.disabled) }), option.label && index.h("span", { class: "sd-radio-button__label" }, option.label)));
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
 
5
5
  const radio = {
6
6
  size: "16",
@@ -91,6 +91,8 @@ const SdRadio = class {
91
91
  disabled = false;
92
92
  /** 표시할 라벨 텍스트 */
93
93
  label;
94
+ /** native radio 그룹핑을 위한 name 속성 (미지정 시 val을 name으로 사용) */
95
+ name;
94
96
  /** 선택 값이 변경될 때 발생합니다. */
95
97
  update;
96
98
  valueChanged(newValue) {
@@ -134,7 +136,7 @@ const SdRadio = class {
134
136
  '--sd-radio-label-color': RADIO_COLORS.label.default,
135
137
  '--sd-radio-label-disabled-color': RADIO_COLORS.label.disabled,
136
138
  };
137
- return (index.h("label", { key: 'cc7ff62ac992791ef81db9212bb5986989f6b4d6', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, index.h("input", { key: '20bfeaf5bc322335f5300955ebf653213d662fa6', type: "radio", name: String(this.val), value: String(this.val), checked: this.isSelected, disabled: this.disabled, "aria-label": this.label || String(this.val), onInput: this.handleRadioChange }), index.h("span", { key: '61d8bdfdb5f8309b8832b89ea2979db5b80968c8', class: "sd-radio__circle" }), this.label && (index.h("span", { key: 'cc2a5402e4745aaae897c8f37d5fc287a2ba9b29', class: "sd-radio__label", "data-label": this.label }, this.label))));
139
+ return (index.h("label", { key: 'c4179fa98fcfdb885e7760a99acad56106cf2445', class: this.radioClasses, style: cssVars, "aria-checked": this.isSelected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, index.h("input", { key: '0fe92e2cf0a539ebe2562e907f41c0055eb5d54e', type: "radio", name: this.name || String(this.val), value: String(this.val), checked: this.isSelected, disabled: this.disabled, "aria-label": this.label || String(this.val), onInput: this.handleRadioChange }), index.h("span", { key: 'abf2338b324ee693edf3c98564f2e8f63028e584', class: "sd-radio__circle" }), this.label && (index.h("span", { key: '738c30cf39dd497bc2b710d5384be9634bbf74bf', class: "sd-radio__label", "data-label": this.label }, this.label))));
138
140
  }
139
141
  static get watchers() { return {
140
142
  "value": [{
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
  var component_listItem = require('./component.listItem-cAO_ppOz.js');
5
5
  var component_listBox = require('./component.listBox-MHAv4Yy7.js');
6
6
  var sanitizeInlineHtml = require('./sanitize-inline-html-CRCAeQ46.js');
@@ -213,7 +213,7 @@ const SdSelectListItem = class {
213
213
  return (
214
214
  // 키보드 네비게이션은 부모 listbox 의 ArrowUp/Down + Enter 가 담당. 항목 자체는 role=option, tabindex=-1 으로 표시.
215
215
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events
216
- index.h("div", { key: '86ebbdb437d7799cefb9a9466997df44ea346e44', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
216
+ index.h("div", { key: '4fff470052d5d02cddf204f33df24247e087a55d', role: "option", tabindex: -1, "aria-selected": this.isSelected === true ? 'true' : 'false', class: {
217
217
  'sd-select-list-item': true,
218
218
  'sd-select-list-item--group': isGroup,
219
219
  'sd-select-list-item--depth1-group': isDepth1Group,
@@ -223,7 +223,7 @@ const SdSelectListItem = class {
223
223
  'sd-select-list-item--focused': this.isFocused,
224
224
  'sd-select-list-item--selectable': this.isSelectable && !this.option.disabled,
225
225
  'sd-select-list-item--disabled': !!this.option.disabled,
226
- }, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (index.h("sd-checkbox", { key: '297067b88bedf8eed648f60050688e23e9dfcbdd', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), isHtmlLabel(this.option.label) ? (index.h("span", { class: "sd-select-list-item__label", ref: el => el && (el.innerHTML = sanitizeInlineHtml.sanitizeInlineHtml(this.option.label)) })) : (index.h("span", { class: "sd-select-list-item__label" }, this.option.label)), this.countInfo && (index.h("span", { key: 'e71dbbfcd454a43fe2364aa0205f14805de20653', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
226
+ }, style: cssVars, onClick: this.handleClick }, this.useCheckbox && (index.h("sd-checkbox", { key: '45649f31743eac574560399b07c9ba94d7185013', value: this.isSelected === null ? null : !!this.isSelected, disabled: this.option.disabled, inverse: this.isFocused && this.isSelected !== false, class: "sd-select-list-item__checkbox", onClick: this.handleCheckboxClick, onSdUpdate: this.handleCheckboxUpdate })), isHtmlLabel(this.option.label) ? (index.h("span", { class: "sd-select-list-item__label", ref: el => el && (el.innerHTML = sanitizeInlineHtml.sanitizeInlineHtml(this.option.label)) })) : (index.h("span", { class: "sd-select-list-item__label" }, this.option.label)), this.countInfo && (index.h("span", { key: '2e2c1dca85ed4be38cf8435df86f8ea4b7273673', class: "sd-select-list-item__count" }, "(", this.countInfo.selected, "/", this.countInfo.total, ")"))));
227
227
  }
228
228
  };
229
229
  SdSelectListItem.style = sdSelectListItemCss();
@@ -280,15 +280,15 @@ const SdSelectListItemSearch = class {
280
280
  clearTimeout(this.debounceTimer);
281
281
  }
282
282
  render() {
283
- return (index.h("div", { key: 'fd13ed863fa624bb672a80594a1397831c55b859', class: {
283
+ return (index.h("div", { key: '3231c0ea91e678a71cac6a1c5805fa255a96deb2', class: {
284
284
  'sd-select-list-item-search': true,
285
285
  'sd-select-list-item-search--scrolled': this.isScrolled,
286
- } }, index.h("div", { key: 'c36783523de2c29b04ce300307770a666daad9df', class: "sd-select-list-item-search__inner" }, index.h("sd-icon", { key: '6e21aebf25090024c882dda1e9fec46219dce8ee', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), index.h("input", { key: '2ed89f33de74c98cde3caa4e8924ef2e7b3baa0f', ref: el => {
286
+ } }, index.h("div", { key: 'f25df864ea6bbe2db7c0ca8e1abc0645f11b12f3', class: "sd-select-list-item-search__inner" }, index.h("sd-icon", { key: '494d5b964543e3a595629c02ef7b61b492d26eed', name: "search", size: 16, color: "grey_70", class: "sd-select-list-item-search__icon" }), index.h("input", { key: '475b925b7987d98fb0a46d6b63a0a9edd2db00ae', ref: el => {
287
287
  this.inputEl = el;
288
- }, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), index.h("button", { key: 'c16ed94bbddd24e829548b4ff063a6a3095f955a', type: "button", class: {
288
+ }, type: "text", class: "sd-select-list-item-search__input", placeholder: "\uAC80\uC0C9\uC5B4 \uC785\uB825", value: this.searchText, onInput: this.handleInput, onFocus: () => this.searchFocus.emit() }), index.h("button", { key: '26fa161589df77bea51e4568bfd2d501008a0846', type: "button", class: {
289
289
  'sd-select-list-item-search__clear': true,
290
290
  'sd-select-list-item-search__clear--hidden': this.searchText === '',
291
- }, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, index.h("sd-icon", { key: 'f2808e3b1b5ae6937bd818e4f29f999d04286b60', name: "close", size: 12, color: "#888888" })))));
291
+ }, onClick: this.handleClear, tabindex: this.searchText !== '' ? 0 : -1, "aria-hidden": this.searchText !== '' ? 'false' : 'true' }, index.h("sd-icon", { key: 'aca5037c9dbc171f201cc02e7a2d00f49e6e6397', name: "close", size: 12, color: "#888888" })))));
292
292
  }
293
293
  };
294
294
  SdSelectListItemSearch.style = sdSelectListItemSearchCss();
@@ -660,9 +660,9 @@ const SdSelectListbox = class {
660
660
  '--listbox-max-height': this.maxHeight ?? '260px',
661
661
  '--listbox-radius': `${LIST_BOX_LAYOUT.radius}px`,
662
662
  };
663
- return (index.h("div", { key: 'cec8e4e12dd806a93375853386a1d7cc3ac6b269', class: "sd-select-listbox", style: cssVars }, this.showSearch && (index.h("sd-select-list-item-search", { key: '9e07a7e742e956df314796e9babf6c0a7fb21d7f', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), index.h("div", { key: 'd5ff5620c63b5c53e69b6348f2c9cd6cb73cbe88', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
663
+ return (index.h("div", { key: '1686c9749284be82edcf4eaf9c4741e1be3920d4', class: "sd-select-listbox", style: cssVars }, this.showSearch && (index.h("sd-select-list-item-search", { key: '934e1bf38324bda71e0c4c956fd8ad82eb9c4f46', isScrolled: this.isScrolled, onSdSearchFilter: this.handleSearchFilter })), index.h("div", { key: '33ec8b142a0f60b329fcd58bc8952d3577c92f83', class: "sd-select-listbox__list", onScroll: this.handleScroll, ref: el => {
664
664
  this.listEl = el;
665
- } }, this.showSelectAll && (index.h("sd-select-list-item", { key: '9b36cdd7466b639c65497da94ee1e3c5129566cb', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (index.h("div", { class: "sd-select-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (index.h("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
665
+ } }, this.showSelectAll && (index.h("sd-select-list-item", { key: '46d1f11884ed2fa9a55144fbf0633cb78f2f8ec3', option: SdSelectListbox.SELECT_ALL_OPTION, depth: 1, isSelected: this.selectAllState, isFocused: this.isOptionFocused(SdSelectListbox.SELECT_ALL_OPTION), useCheckbox: true, onSdListItemClick: this.handleSelectAllClick, onMouseEnter: () => this.handleOptionHover(SdSelectListbox.SELECT_ALL_OPTION) })), this.isEmpty ? (index.h("div", { class: "sd-select-listbox__empty" }, EMPTY_MESSAGE)) : this.isDepth ? (this.renderOptions(this.filteredOptions)) : (this.filteredOptions.map(option => (index.h("sd-select-list-item", { option: option, depth: 1, isSelected: this.isOptionSelected(option), isFocused: this.isOptionFocused(option), useCheckbox: this.isMulti, onSdListItemClick: this.handleOptionClick, onMouseEnter: () => this.handleOptionHover(option) })))))));
666
666
  }
667
667
  static get watchers() { return {
668
668
  "searchKeyword": [{
@@ -730,7 +730,7 @@ const SdSelectTrigger = class {
730
730
  ? SELECT_COLORS.icon.disabled
731
731
  : SELECT_COLORS.icon.default,
732
732
  };
733
- return (index.h("div", { key: '2ec5e736c0742a10fdfa9b4b12b0820e99c30f7f', ref: el => {
733
+ return (index.h("div", { key: '3e5b42da3a391f52f597594ccf9ebf9e9b236ccc', ref: el => {
734
734
  this.triggerEl = el;
735
735
  }, role: "button", "aria-haspopup": "listbox", "aria-expanded": this.isOpen ? 'true' : 'false', tabindex: this.disabled ? -1 : 0, class: {
736
736
  'sd-select-trigger': true,
@@ -741,7 +741,7 @@ const SdSelectTrigger = class {
741
741
  e.preventDefault();
742
742
  this.handleClick();
743
743
  }
744
- }, onFocus: this.handleFocus, onBlur: this.handleBlur }, index.h("div", { key: '6b71e60a76d430bfe14bc5b7c59d82130be27c8a', class: "sd-select-trigger__content" }, hasValue && isHtmlLabel(this.displayText) ? (index.h("span", { class: "sd-select-trigger__text", ref: el => el && (el.innerHTML = sanitizeInlineHtml.sanitizeInlineHtml(this.displayText)) })) : (index.h("span", { class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택'))), index.h("sd-icon", { key: 'e34eae87f518f1b015e1d59bacf97bec66b6ec6d', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
744
+ }, onFocus: this.handleFocus, onBlur: this.handleBlur }, index.h("div", { key: '56938d493425d54b2c69840014b0354674fcf9d6', class: "sd-select-trigger__content" }, hasValue && isHtmlLabel(this.displayText) ? (index.h("span", { class: "sd-select-trigger__text", ref: el => el && (el.innerHTML = sanitizeInlineHtml.sanitizeInlineHtml(this.displayText)) })) : (index.h("span", { class: "sd-select-trigger__text" }, hasValue ? this.displayText : (this.placeholder ?? '선택'))), index.h("sd-icon", { key: '90e7df2f8bd416ccd1545c78c79f02746c119db3', name: "chevronDown", size: 12, color: "var(--trigger-icon-color)", class: {
745
745
  'sd-select-trigger__icon': true,
746
746
  'sd-select-trigger__icon--open': this.isOpen,
747
747
  } }))));
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Jr8OU0y9.js');
4
4
 
5
5
  var switchTokens = {
6
6
  "switch": {
@@ -67,7 +67,14 @@ const SdSwitch = class {
67
67
  }
68
68
  /** 현재 on/off 상태 */
69
69
  value = false;
70
- /** 표시할 라벨 텍스트 */
70
+ /** 스위치 좌측 라벨 */
71
+ leftLabel;
72
+ /** 스위치 우측 라벨 */
73
+ rightLabel;
74
+ /**
75
+ * 표시할 라벨 텍스트
76
+ * @deprecated `rightLabel` 사용. 우측 라벨(하위호환)
77
+ */
71
78
  label = '';
72
79
  /** 비활성 상태 여부 */
73
80
  disabled = false;
@@ -109,7 +116,10 @@ const SdSwitch = class {
109
116
  '--sd-switch-line-height': `${SWITCH_TYPOGRAPHY.lineHeight}px`,
110
117
  '--sd-switch-text-decoration': SWITCH_TYPOGRAPHY.textDecoration,
111
118
  };
112
- return (index.h("label", { key: '96321de1da84594a8c4fc760c44e49f12168be13', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, index.h("input", { key: '5c89628f13ef22e19fadc53eea7e42428e783e83', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), index.h("div", { key: '11aa858c208ae5fb7c0f782e857abced64bcb0c3', class: "sd-switch__track" }, index.h("div", { key: '9fc34ece3e66ca3c60824e44123d98a4179924ee', class: "sd-switch__knob" })), this.label && index.h("span", { key: '1439b0ef2b5511560e5737452d1d21e74801e325', class: "sd-switch__label" }, this.label)));
119
+ // label(deprecated) rightLabel 흡수 (하위호환)
120
+ const right = this.rightLabel ?? this.label;
121
+ const accessibleName = [this.leftLabel, right].filter(Boolean).join(' ') || 'switch';
122
+ return (index.h("label", { key: '617ec652e8878aa41abd2d376479730e4db69025', "aria-label": accessibleName, class: this.switchClasses, style: cssVars }, index.h("input", { key: 'd765a1b3038d2decec2bf561d96a201cb617b40d', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.leftLabel && index.h("span", { key: '2c6e398e7f926d3d9d9049aa1aa3fe459b92f51e', class: "sd-switch__label" }, this.leftLabel), index.h("div", { key: 'c71fdd196c0d50ce499c4c524005d01b834d066a', class: "sd-switch__track" }, index.h("div", { key: 'eabac4c3305fabf2e857fc8066a9acb80f90bf31', class: "sd-switch__knob" })), right && index.h("span", { key: '41a0f8ffd56791138b605379f88545b6e20d8df3', class: "sd-switch__label" }, right)));
113
123
  }
114
124
  };
115
125
  SdSwitch.style = sdSwitchCss();