@sellmate/design-system 1.29.0 → 1.32.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 (411) hide show
  1. package/dist/cjs/design-system.cjs.js +2 -2
  2. package/dist/cjs/{index-iiJZMzVM.js → index-Cg7X15Hq.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 +22 -17
  13. package/dist/cjs/sd-chip.cjs.entry.js +7 -7
  14. package/dist/cjs/sd-circle-progress.cjs.entry.js +3 -3
  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 +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 +2 -2
  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 +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 +4 -4
  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-scroll-area.cjs.entry.js +44 -0
  36. package/dist/cjs/sd-select-list-item_4.cjs.entry.js +12 -12
  37. package/dist/cjs/sd-stepper.cjs.entry.js +190 -0
  38. package/dist/cjs/sd-switch.cjs.entry.js +13 -3
  39. package/dist/cjs/sd-tabs.cjs.entry.js +2 -2
  40. package/dist/cjs/sd-text-link.cjs.entry.js +4 -4
  41. package/dist/cjs/sd-time-picker-selector.cjs.entry.js +179 -0
  42. package/dist/cjs/sd-time-picker-trigger.cjs.entry.js +75 -0
  43. package/dist/cjs/sd-time-picker.cjs.entry.js +173 -0
  44. package/dist/cjs/sd-time-picker.config-C7REB08L.js +156 -0
  45. package/dist/cjs/sd-time-range-picker-selector.cjs.entry.js +219 -0
  46. package/dist/cjs/sd-time-range-picker.cjs.entry.js +204 -0
  47. package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
  48. package/dist/cjs/sd-toast.cjs.entry.js +3 -3
  49. package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
  50. package/dist/cjs/{system-B4KkVpu2.js → system-BGCBFBcM.js} +3 -1
  51. package/dist/cjs/{tooltipArrow-DOOcBlLp.js → tooltipArrow-CZff77W-.js} +1 -1
  52. package/dist/cjs/useDatePicker-j06ymWZ_.js +103 -0
  53. package/dist/collection/collection-manifest.json +10 -3
  54. package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
  55. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  56. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
  57. package/dist/collection/components/sd-button/sd-button.js +2 -2
  58. package/dist/collection/components/sd-calendar/sd-calendar.js +3 -3
  59. package/dist/collection/components/sd-callout/sd-callout.js +1 -1
  60. package/dist/collection/components/sd-card/sd-card.js +1 -1
  61. package/dist/collection/components/sd-checkbox/sd-checkbox.js +8 -8
  62. package/dist/collection/components/sd-chip/sd-chip.js +8 -8
  63. package/dist/collection/components/sd-chip-input/sd-chip-input.css +3 -0
  64. package/dist/collection/components/sd-chip-input/sd-chip-input.js +43 -17
  65. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  66. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +1 -1
  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-linear-progress/sd-linear-progress.js +1 -1
  82. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  83. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  84. package/dist/collection/components/sd-number-input/sd-number-input.js +58 -7
  85. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  86. package/dist/collection/components/sd-popover/sd-popover.config.js +41 -0
  87. package/dist/collection/components/sd-popover/sd-popover.js +189 -191
  88. package/dist/collection/components/sd-popup/sd-popup.css +40 -0
  89. package/dist/collection/components/sd-popup/sd-popup.js +1 -1
  90. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  91. package/dist/collection/components/sd-radio/sd-radio.js +25 -4
  92. package/dist/collection/components/sd-radio-button/sd-radio-button.js +6 -6
  93. package/dist/collection/components/sd-radio-group/sd-radio-group.js +7 -7
  94. package/dist/collection/components/sd-scroll-area/sd-scroll-area.config.js +8 -0
  95. package/dist/collection/components/sd-scroll-area/sd-scroll-area.css +61 -0
  96. package/dist/collection/components/sd-scroll-area/sd-scroll-area.js +151 -0
  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.css +33 -9
  100. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +2 -2
  101. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
  102. package/dist/collection/components/sd-select/sd-select.js +4 -4
  103. package/dist/collection/components/sd-stepper/sd-stepper.config.js +35 -0
  104. package/dist/collection/components/sd-stepper/sd-stepper.css +50 -0
  105. package/dist/collection/components/sd-stepper/sd-stepper.js +186 -0
  106. package/dist/collection/components/sd-switch/sd-switch.js +54 -3
  107. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  108. package/dist/collection/components/sd-tag/sd-tag.js +7 -8
  109. package/dist/collection/components/sd-text-link/sd-text-link.js +3 -3
  110. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  111. package/dist/collection/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.css +87 -0
  112. package/dist/collection/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.js +266 -0
  113. package/dist/collection/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.css +38 -0
  114. package/dist/collection/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.js +216 -0
  115. package/dist/collection/components/sd-time-picker/sd-time-picker.config.js +78 -0
  116. package/dist/collection/components/sd-time-picker/sd-time-picker.css +12 -0
  117. package/dist/collection/components/sd-time-picker/sd-time-picker.js +761 -0
  118. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.css +102 -0
  119. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.js +338 -0
  120. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.config.js +23 -0
  121. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.css +12 -0
  122. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.js +809 -0
  123. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  124. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  125. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  126. package/dist/collection/components/sd-tooltip/sd-tooltip.js +36 -189
  127. package/dist/components/index.js +1 -1
  128. package/dist/components/p--BJuy06e.js +1 -0
  129. package/dist/components/p-22hyxPno.js +1 -0
  130. package/dist/components/p-7lGaExLM.js +1 -0
  131. package/dist/components/{p-oYbVr-z0.js → p-B6BgOB_-.js} +1 -1
  132. package/dist/components/{p-R-Sdglj0.js → p-BBAwMOGx.js} +1 -1
  133. package/dist/components/{p-CbS69IvC.js → p-BDULNyBw.js} +1 -1
  134. package/dist/components/p-BI1iKxNN.js +1 -0
  135. package/dist/components/{p-Bpv90tfa.js → p-BPzs63D8.js} +1 -1
  136. package/dist/components/{p-DMoFncVl.js → p-BU1DclrU.js} +1 -1
  137. package/dist/components/{p-OO7xxhkC.js → p-BhLF3gGb.js} +1 -1
  138. package/dist/components/p-Bk6mL1Ml.js +1 -0
  139. package/dist/components/p-BkyM9ded.js +1 -0
  140. package/dist/components/{p-CFTyEfB9.js → p-BoJ_gLp7.js} +1 -1
  141. package/dist/components/{p-Di1q4f5E.js → p-BpTKv3vN.js} +1 -1
  142. package/dist/components/p-C0IFrSzM.js +1 -0
  143. package/dist/components/p-C1KeTx0Z.js +1 -0
  144. package/dist/components/p-C8x8VEb8.js +1 -0
  145. package/dist/components/p-CBx8KWmu.js +1 -0
  146. package/dist/components/p-CNNjhHTA.js +1 -0
  147. package/dist/components/{p-CErFctrV.js → p-CRDS2TOy.js} +1 -1
  148. package/dist/components/p-CdeywvU6.js +1 -0
  149. package/dist/components/{p-BOxGhKKP.js → p-CghFB91T.js} +1 -1
  150. package/dist/components/p-CikPzSw-.js +1 -0
  151. package/dist/components/{p-9Ap2W-Mi.js → p-D0IDp-M3.js} +1 -1
  152. package/dist/components/p-D2oNz1s-.js +1 -0
  153. package/dist/components/p-DApl37Qw.js +1 -0
  154. package/dist/components/{p-BIEPMPWA.js → p-DGAzuK5C.js} +1 -1
  155. package/dist/components/p-DMm_GeZC.js +1 -0
  156. package/dist/components/{p-C_in6AVN.js → p-DONA7SlO.js} +1 -1
  157. package/dist/components/{p-C7mC7a1z.js → p-DVdDYnTl.js} +1 -1
  158. package/dist/components/{p-Dg1UrMqI.js → p-DdYWQ4Z5.js} +1 -1
  159. package/dist/components/p-DtadjLky.js +1 -0
  160. package/dist/components/p-DvlLDBO7.js +1 -0
  161. package/dist/components/p-ETWwVYq6.js +1 -0
  162. package/dist/components/{p-idG6CMO0.js → p-ISXxxDfX.js} +1 -1
  163. package/dist/components/p-UFNg7rhE.js +1 -0
  164. package/dist/{design-system/p-B91K50wC.js → components/p-bXzpfkfN.js} +1 -1
  165. package/dist/components/{p-BHjezpAC.js → p-irA7XFIS.js} +1 -1
  166. package/dist/components/{p-Bth2l1cy.js → p-rayWyWtG.js} +1 -1
  167. package/dist/components/{p-CSr33M9s.js → p-sLMSwbXi.js} +1 -1
  168. package/dist/components/p-vj3gimgB.js +1 -0
  169. package/dist/components/sd-action-modal.js +1 -1
  170. package/dist/components/sd-badge.js +1 -1
  171. package/dist/components/sd-barcode-input.js +1 -1
  172. package/dist/components/sd-button.js +1 -1
  173. package/dist/components/sd-calendar.js +1 -1
  174. package/dist/components/sd-callout.js +1 -1
  175. package/dist/components/sd-card.js +1 -1
  176. package/dist/components/sd-checkbox.js +1 -1
  177. package/dist/components/sd-chip-input.js +1 -1
  178. package/dist/components/sd-chip.js +1 -1
  179. package/dist/components/sd-circle-progress.js +1 -1
  180. package/dist/components/sd-confirm-modal.js +1 -1
  181. package/dist/components/sd-date-box.js +1 -1
  182. package/dist/components/sd-date-picker-trigger.js +1 -1
  183. package/dist/components/sd-date-picker.js +1 -1
  184. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  185. package/dist/components/sd-date-range-picker.js +1 -1
  186. package/dist/components/sd-divider.js +1 -1
  187. package/dist/components/sd-dropdown-button.js +1 -1
  188. package/dist/components/sd-field.js +1 -1
  189. package/dist/components/sd-file-picker.js +1 -1
  190. package/dist/components/sd-floating-portal.js +1 -1
  191. package/dist/components/sd-form.js +1 -1
  192. package/dist/components/sd-ghost-button.js +1 -1
  193. package/dist/components/sd-guide.js +1 -1
  194. package/dist/components/sd-icon.js +1 -1
  195. package/dist/components/sd-input.js +1 -1
  196. package/dist/components/sd-key-value-table.js +1 -1
  197. package/dist/components/sd-linear-progress.js +1 -1
  198. package/dist/components/sd-loading-container.js +1 -1
  199. package/dist/components/sd-loading-modal.js +1 -1
  200. package/dist/components/sd-modal-container.js +1 -1
  201. package/dist/components/sd-number-input.js +1 -1
  202. package/dist/components/sd-pagination.js +1 -1
  203. package/dist/components/sd-popover.js +1 -1
  204. package/dist/components/sd-popup.js +1 -1
  205. package/dist/components/sd-portal.js +1 -1
  206. package/dist/components/sd-radio-button.js +1 -1
  207. package/dist/components/sd-radio-group.js +1 -1
  208. package/dist/components/sd-radio.js +1 -1
  209. package/dist/components/sd-scroll-area.d.ts +11 -0
  210. package/dist/components/sd-scroll-area.js +1 -0
  211. package/dist/components/sd-select-list-item-search.js +1 -1
  212. package/dist/components/sd-select-list-item.js +1 -1
  213. package/dist/components/sd-select-listbox.js +1 -1
  214. package/dist/components/sd-select-trigger.js +1 -1
  215. package/dist/components/sd-select.js +1 -1
  216. package/dist/components/sd-stepper.d.ts +11 -0
  217. package/dist/components/sd-stepper.js +1 -0
  218. package/dist/components/sd-switch.js +1 -1
  219. package/dist/components/sd-tabs.js +1 -1
  220. package/dist/components/sd-tag.js +1 -1
  221. package/dist/components/sd-text-link.js +1 -1
  222. package/dist/components/sd-textarea.js +1 -1
  223. package/dist/components/sd-time-picker-selector.d.ts +11 -0
  224. package/dist/components/sd-time-picker-selector.js +1 -0
  225. package/dist/components/sd-time-picker-trigger.d.ts +11 -0
  226. package/dist/components/sd-time-picker-trigger.js +1 -0
  227. package/dist/components/sd-time-picker.d.ts +11 -0
  228. package/dist/components/sd-time-picker.js +1 -0
  229. package/dist/components/sd-time-range-picker-selector.d.ts +11 -0
  230. package/dist/components/sd-time-range-picker-selector.js +1 -0
  231. package/dist/components/sd-time-range-picker.d.ts +11 -0
  232. package/dist/components/sd-time-range-picker.js +1 -0
  233. package/dist/components/sd-toast-container.js +1 -1
  234. package/dist/components/sd-toast.js +1 -1
  235. package/dist/components/sd-toggle.js +1 -1
  236. package/dist/components/sd-tooltip.js +1 -1
  237. package/dist/design-system/design-system.css +1 -1
  238. package/dist/design-system/design-system.esm.js +1 -1
  239. package/dist/design-system/{p-840006b1.entry.js → p-0cdd05eb.entry.js} +1 -1
  240. package/dist/design-system/p-1c4ba7ae.entry.js +1 -0
  241. package/dist/design-system/{p-c7d2c195.entry.js → p-2a36028d.entry.js} +1 -1
  242. package/dist/design-system/{p-be54fd3a.entry.js → p-2e76157e.entry.js} +1 -1
  243. package/dist/design-system/p-336cb0c1.entry.js +1 -0
  244. package/dist/design-system/{p-26a27312.entry.js → p-34e8dda6.entry.js} +1 -1
  245. package/dist/design-system/p-370b820e.entry.js +1 -0
  246. package/dist/design-system/{p-c5cffcc6.entry.js → p-39db3098.entry.js} +1 -1
  247. package/dist/design-system/p-3a2be559.entry.js +1 -0
  248. package/dist/design-system/p-405cb160.entry.js +1 -0
  249. package/dist/design-system/{p-246aafb9.entry.js → p-456479cc.entry.js} +1 -1
  250. package/dist/design-system/{p-86329ae3.entry.js → p-4d845113.entry.js} +1 -1
  251. package/dist/design-system/p-5761352f.entry.js +1 -0
  252. package/dist/design-system/{p-3cd2751a.entry.js → p-5b725381.entry.js} +1 -1
  253. package/dist/design-system/p-5d7820f7.entry.js +1 -0
  254. package/dist/design-system/p-5dd631fe.entry.js +1 -0
  255. package/dist/design-system/p-66e3fba3.entry.js +1 -0
  256. package/dist/design-system/{p-c1066f40.entry.js → p-6a5540d8.entry.js} +1 -1
  257. package/dist/design-system/{p-55c0be7d.entry.js → p-703bb49a.entry.js} +1 -1
  258. package/dist/design-system/{p-0c1d1a15.entry.js → p-71e7031e.entry.js} +1 -1
  259. package/dist/design-system/p-7837f8f8.entry.js +1 -0
  260. package/dist/design-system/{p-5a257ed9.entry.js → p-814ae5f1.entry.js} +1 -1
  261. package/dist/design-system/p-8804e3f3.entry.js +1 -0
  262. package/dist/design-system/p-8ea038d7.entry.js +1 -0
  263. package/dist/design-system/{p-b585f94b.entry.js → p-937a30af.entry.js} +1 -1
  264. package/dist/design-system/{p-1ed1bfa1.entry.js → p-94d4c093.entry.js} +1 -1
  265. package/dist/design-system/p-97a059b0.entry.js +1 -0
  266. package/dist/design-system/{p-53fe2741.entry.js → p-9afada52.entry.js} +1 -1
  267. package/dist/design-system/{p-d2ce01ac.entry.js → p-9df0dd32.entry.js} +1 -1
  268. package/dist/design-system/{p-BPKiBSGr.js → p-BnUjeY2n.js} +1 -1
  269. package/dist/design-system/p-CHijmX_D.js +1 -0
  270. package/dist/design-system/p-CdvQqvIe.js +2 -0
  271. package/dist/design-system/p-DMm_GeZC.js +1 -0
  272. package/dist/design-system/p-Dz23PPdF.js +1 -0
  273. package/dist/design-system/{p-3595cafb.entry.js → p-a05f4888.entry.js} +1 -1
  274. package/dist/design-system/p-a81e4ae0.entry.js +1 -0
  275. package/dist/design-system/p-aaa551fa.entry.js +1 -0
  276. package/dist/design-system/p-adc218f5.entry.js +1 -0
  277. package/dist/design-system/{p-8ed1d470.entry.js → p-b7e913e7.entry.js} +1 -1
  278. package/dist/design-system/p-b90eaebd.entry.js +1 -0
  279. package/dist/design-system/{p-d9f33192.entry.js → p-c5263a22.entry.js} +1 -1
  280. package/dist/design-system/{p-ec4ad48c.entry.js → p-c5eea64c.entry.js} +1 -1
  281. package/dist/design-system/{p-02f0b906.entry.js → p-c906d22d.entry.js} +1 -1
  282. package/dist/design-system/{p-d204cac5.entry.js → p-defe65db.entry.js} +1 -1
  283. package/dist/design-system/{p-4c85f6f6.entry.js → p-e16725f7.entry.js} +1 -1
  284. package/dist/design-system/p-e4096b72.entry.js +1 -0
  285. package/dist/design-system/{p-8de3b502.entry.js → p-e72706ea.entry.js} +1 -1
  286. package/dist/design-system/p-fb01f963.entry.js +1 -0
  287. package/dist/design-system/{p-adf2f398.entry.js → p-fc9577d9.entry.js} +1 -1
  288. package/dist/design-system/{p-Bth2l1cy.js → p-rayWyWtG.js} +1 -1
  289. package/dist/esm/design-system.js +3 -3
  290. package/dist/esm/{index-Dz490Ukt.js → index-CdvQqvIe.js} +1 -1
  291. package/dist/esm/loader.js +3 -3
  292. package/dist/esm/sd-action-modal.entry.js +2 -2
  293. package/dist/esm/sd-badge.entry.js +2 -2
  294. package/dist/esm/sd-barcode-input.entry.js +2 -2
  295. package/dist/esm/sd-button_2.entry.js +3 -3
  296. package/dist/esm/sd-calendar_2.entry.js +8 -9
  297. package/dist/esm/sd-callout.entry.js +2 -2
  298. package/dist/esm/sd-card.entry.js +2 -2
  299. package/dist/esm/sd-checkbox.entry.js +5 -5
  300. package/dist/esm/sd-chip-input.entry.js +22 -17
  301. package/dist/esm/sd-chip.entry.js +7 -7
  302. package/dist/esm/sd-circle-progress.entry.js +3 -3
  303. package/dist/esm/sd-confirm-modal_2.entry.js +3 -3
  304. package/dist/esm/sd-date-box.entry.js +1 -1
  305. package/dist/esm/{component.datepicker-BOxGhKKP.js → sd-date-picker.config-CdXJcOGr.js} +65 -2
  306. package/dist/esm/sd-date-picker_8.entry.js +141 -51
  307. package/dist/esm/sd-date-range-picker-calendar.entry.js +158 -8
  308. package/dist/esm/sd-divider.entry.js +3 -3
  309. package/dist/esm/sd-dropdown-button.entry.js +2 -2
  310. package/dist/esm/sd-field_3.entry.js +51 -52
  311. package/dist/esm/sd-form.entry.js +1 -1
  312. package/dist/esm/sd-ghost-button_3.entry.js +14 -10
  313. package/dist/esm/sd-guide.entry.js +2 -2
  314. package/dist/esm/sd-key-value-table.entry.js +2 -2
  315. package/dist/esm/sd-linear-progress.entry.js +3 -3
  316. package/dist/esm/sd-loading-container.entry.js +3 -3
  317. package/dist/esm/sd-modal-container.entry.js +1 -1
  318. package/dist/esm/sd-pagination.entry.js +4 -4
  319. package/dist/esm/sd-popover.entry.js +134 -44
  320. package/dist/esm/sd-popup.entry.js +4 -4
  321. package/dist/esm/sd-radio-button.entry.js +3 -3
  322. package/dist/esm/sd-radio.entry.js +4 -2
  323. package/dist/esm/sd-scroll-area.entry.js +42 -0
  324. package/dist/esm/sd-select-list-item_4.entry.js +12 -12
  325. package/dist/esm/sd-stepper.entry.js +188 -0
  326. package/dist/esm/sd-switch.entry.js +13 -3
  327. package/dist/esm/sd-tabs.entry.js +2 -2
  328. package/dist/esm/sd-text-link.entry.js +4 -4
  329. package/dist/esm/sd-time-picker-selector.entry.js +177 -0
  330. package/dist/esm/sd-time-picker-trigger.entry.js +73 -0
  331. package/dist/esm/sd-time-picker.config-DUq29Nhs.js +148 -0
  332. package/dist/esm/sd-time-picker.entry.js +171 -0
  333. package/dist/esm/sd-time-range-picker-selector.entry.js +217 -0
  334. package/dist/esm/sd-time-range-picker.entry.js +202 -0
  335. package/dist/esm/sd-toast-container.entry.js +2 -2
  336. package/dist/esm/sd-toast.entry.js +3 -3
  337. package/dist/esm/sd-toggle.entry.js +2 -2
  338. package/dist/esm/{system-Bth2l1cy.js → system-rayWyWtG.js} +3 -1
  339. package/dist/esm/{tooltipArrow-CEHVt90h.js → tooltipArrow-BsQ__AbZ.js} +1 -1
  340. package/dist/esm/{useDatePicker-BG0lUGJG.js → useDatePicker-DQ5Kyy_D.js} +1 -1
  341. package/dist/types/components/sd-checkbox/sd-checkbox.d.ts +2 -2
  342. package/dist/types/components/sd-chip/sd-chip.d.ts +3 -3
  343. package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +4 -2
  344. package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +2 -0
  345. package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +20 -0
  346. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.config.d.ts +25 -0
  347. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +9 -0
  348. package/dist/types/components/sd-field/sd-field.d.ts +7 -0
  349. package/dist/types/components/sd-file-picker/sd-file-picker.config.d.ts +28 -0
  350. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +3 -1
  351. package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +5 -0
  352. package/dist/types/components/sd-input/sd-input.d.ts +1 -1
  353. package/dist/types/components/sd-number-input/sd-number-input.d.ts +8 -0
  354. package/dist/types/components/sd-popover/sd-popover.config.d.ts +22 -0
  355. package/dist/types/components/sd-popover/sd-popover.d.ts +29 -36
  356. package/dist/types/components/sd-radio/sd-radio.d.ts +3 -1
  357. package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +2 -2
  358. package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +2 -2
  359. package/dist/types/components/sd-scroll-area/sd-scroll-area.config.d.ts +5 -0
  360. package/dist/types/components/sd-scroll-area/sd-scroll-area.d.ts +14 -0
  361. package/dist/types/components/sd-stepper/sd-stepper.config.d.ts +43 -0
  362. package/dist/types/components/sd-stepper/sd-stepper.d.ts +18 -0
  363. package/dist/types/components/sd-switch/sd-switch.d.ts +8 -1
  364. package/dist/types/components/sd-tag/sd-tag.d.ts +2 -2
  365. package/dist/types/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.d.ts +35 -0
  366. package/dist/types/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.d.ts +21 -0
  367. package/dist/types/components/sd-time-picker/sd-time-picker.config.d.ts +71 -0
  368. package/dist/types/components/sd-time-picker/sd-time-picker.d.ts +84 -0
  369. package/dist/types/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.d.ts +40 -0
  370. package/dist/types/components/sd-time-range-picker/sd-time-range-picker.config.d.ts +9 -0
  371. package/dist/types/components/sd-time-range-picker/sd-time-range-picker.d.ts +88 -0
  372. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +7 -22
  373. package/dist/types/components.d.ts +2630 -1611
  374. package/hydrate/index.js +2163 -436
  375. package/hydrate/index.mjs +2163 -436
  376. package/package.json +1 -1
  377. package/dist/cjs/sd-date-picker.config-Chrd8c4v.js +0 -41
  378. package/dist/cjs/useDatePicker-CgpIfwLA.js +0 -103
  379. package/dist/components/p-BFVfSW9t.js +0 -1
  380. package/dist/components/p-BKu0I6Io.js +0 -1
  381. package/dist/components/p-B_Zwr4Et.js +0 -1
  382. package/dist/components/p-CBoDoYDO.js +0 -1
  383. package/dist/components/p-CYMMLsGt.js +0 -1
  384. package/dist/components/p-C_SG4M4z.js +0 -1
  385. package/dist/components/p-CgSXYw_0.js +0 -1
  386. package/dist/components/p-CmRF12Fy.js +0 -1
  387. package/dist/components/p-CnRfET5y.js +0 -1
  388. package/dist/components/p-Cvsrc0be.js +0 -1
  389. package/dist/components/p-DJ8z7_EG.js +0 -1
  390. package/dist/components/p-DJmxpVkK.js +0 -1
  391. package/dist/components/p-DN7MAx-q.js +0 -1
  392. package/dist/components/p-DS6NVBvu.js +0 -1
  393. package/dist/components/p-D_56BjcD.js +0 -1
  394. package/dist/components/p-Uh9emYrV.js +0 -1
  395. package/dist/components/p-f0aBxUBG.js +0 -1
  396. package/dist/design-system/p-0e014b76.entry.js +0 -1
  397. package/dist/design-system/p-1b5fcf7b.entry.js +0 -1
  398. package/dist/design-system/p-2a4d2ee0.entry.js +0 -1
  399. package/dist/design-system/p-2d6a7d7b.entry.js +0 -1
  400. package/dist/design-system/p-4b474538.entry.js +0 -1
  401. package/dist/design-system/p-BOxGhKKP.js +0 -1
  402. package/dist/design-system/p-BhcvMs8c.js +0 -1
  403. package/dist/design-system/p-Dz490Ukt.js +0 -2
  404. package/dist/design-system/p-a631cd78.entry.js +0 -1
  405. package/dist/design-system/p-cb6ab65c.entry.js +0 -1
  406. package/dist/design-system/p-d51f4170.entry.js +0 -1
  407. package/dist/design-system/p-e7740a5f.entry.js +0 -1
  408. package/dist/design-system/p-e85bf462.entry.js +0 -1
  409. package/dist/design-system/p-ea008087.entry.js +0 -1
  410. package/dist/design-system/p-f962e5d2.entry.js +0 -1
  411. 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-Cg7X15Hq.js');
4
4
  var sanitizeInlineHtml = require('./sanitize-inline-html-CRCAeQ46.js');
5
5
  var component_modal = require('./component.modal-CrZe2db_.js');
6
6
 
@@ -116,7 +116,7 @@ const SdConfirmModal = class {
116
116
  const type = this.resolvedType;
117
117
  const iconName = CONFIRM_MODAL_ICON_MAP[type];
118
118
  const iconColor = CONFIRM_MODAL_ICON_COLOR[type];
119
- return (index.h("div", { key: '0376a60d15b1e090a6ff8d4181f8afb107d5ede3', class: "sd-confirm-modal" }, index.h("sd-ghost-button", { key: 'e652536ecf9a97c19a943de4ef5ebca99323a40a', class: "sd-confirm-modal__close-button", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() }), iconName && (index.h("sd-icon", { key: '8bb1e4a9207681ced8f06fa1919c99104a03b71c', class: "sd-confirm-modal__icon", name: iconName, size: TITLE_ICON_SIZE, color: iconColor })), index.h("h2", { key: '08991739402f4a1f8b4da3af3df24eec556cf88e', class: `sd-confirm-modal__title ${this.titleClass ?? ''}` }, this.modalTitle), index.h("div", { key: 'ba7aad2acaacc31f6e66122648c36b3398620b5b', class: "sd-confirm-modal__body" }, (this.topMessage ?? []).length > 0 && (index.h("div", { key: '6a0ccc07791d2d4c8923c1616fe9346d4a3c92c0', class: "sd-confirm-modal__message" }, (this.topMessage ?? []).map(msg => (index.h("p", { class: "sd-confirm-modal__message-text", innerHTML: sanitizeInlineHtml.sanitizeInlineHtml(msg) }))))), this.showTagBox && (index.h("div", { key: '0e380d6d5ffe607863bae04821098b7585016f96', class: "sd-confirm-modal__content-box" }, index.h("slot", { key: 'de4eddc19f18831bf59797bda48aa4eaea3fac6a', name: "tag", onSlotchange: () => this.syncHasSlottedContent() }, this.tagLabel && (index.h("sd-tag", { key: 'a63cfc4baaef0a1a8e666d5dba8528b8b135c1bc', name: this.tagPreset ?? 'square_sm_grey', label: this.tagLabel }))))), (this.bottomMessage ?? []).length > 0 && (index.h("div", { key: '0e9ebab6b5aaf4af7282358f7ddc57dc75cd682a', class: "sd-confirm-modal__message" }, (this.bottomMessage ?? []).map(msg => (index.h("p", { class: "sd-confirm-modal__message-text", innerHTML: sanitizeInlineHtml.sanitizeInlineHtml(msg) }))))), this.showOption && (index.h("div", { key: 'cd8088453591b2fbda51aac93c8284e0f3c23aa9', class: "sd-confirm-modal__option" }, index.h("slot", { key: '4cbe1c57b47f12ba1f3cae23b55fb694f6b00787', name: "option", onSlotchange: () => this.syncHasSlottedContent() }, this.slotLabel && (index.h("span", { key: 'ed7e7aa05f5e32de4a361dcf8e3f2c2207dc9981', class: "sd-confirm-modal__slot-label" }, this.slotLabel)))))), index.h("div", { key: '069af4cfe63733e6960dd9e35888b26a06269026', class: "sd-confirm-modal__button" }, this.subButtonLabel && (index.h("sd-button", { key: 'a5371149596d109bede88df34736aaff88745f18', name: SUB_BUTTON_PRESET, label: this.subButtonLabel, onSdClick: () => this.cancel.emit() })), index.h("sd-button", { key: '46c0406da30bd761aa4d09f70ae9bb735b8dff5f', name: this.resolvedMainButton, label: this.mainButtonLabel ?? '확인', onSdClick: () => this.ok.emit() }))));
119
+ return (index.h("div", { key: '8d84d72de4a8194100a22c2f19190d35da8ad9d0', class: "sd-confirm-modal" }, index.h("sd-ghost-button", { key: '8d3c11e01819fc4b3a92ef2c00afab336b12a4d8', class: "sd-confirm-modal__close-button", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() }), iconName && (index.h("sd-icon", { key: 'f5013d2753d946a46666c3fc4e7e5ec79ebb5bf3', class: "sd-confirm-modal__icon", name: iconName, size: TITLE_ICON_SIZE, color: iconColor })), index.h("h2", { key: '88ca2b2d80ec9dfe06aa6d9ae4d65a9bf365e52e', class: `sd-confirm-modal__title ${this.titleClass ?? ''}` }, this.modalTitle), index.h("div", { key: 'ab9ad0c312d4155a5d8985d43c31f4ab11fc9110', class: "sd-confirm-modal__body" }, (this.topMessage ?? []).length > 0 && (index.h("div", { key: '294bea4d946392e63ec152f4a109e75fd9c5a743', class: "sd-confirm-modal__message" }, (this.topMessage ?? []).map(msg => (index.h("p", { class: "sd-confirm-modal__message-text", innerHTML: sanitizeInlineHtml.sanitizeInlineHtml(msg) }))))), this.showTagBox && (index.h("div", { key: '6ab23578df59a6c29718087fda729a256f32e725', class: "sd-confirm-modal__content-box" }, index.h("slot", { key: '48c21c001a4608d1b36c4a8feee99d7ee05422c7', name: "tag", onSlotchange: () => this.syncHasSlottedContent() }, this.tagLabel && (index.h("sd-tag", { key: 'fb227ba974fc9b176e90bfa906c212099c23c98b', name: this.tagPreset ?? 'square_sm_grey', label: this.tagLabel }))))), (this.bottomMessage ?? []).length > 0 && (index.h("div", { key: '665429ebae13b9c71e4eeaf372c45dbb98b71aa8', class: "sd-confirm-modal__message" }, (this.bottomMessage ?? []).map(msg => (index.h("p", { class: "sd-confirm-modal__message-text", innerHTML: sanitizeInlineHtml.sanitizeInlineHtml(msg) }))))), this.showOption && (index.h("div", { key: '589d730c0952cd6370f96984f2d0e3c9a9fe50e6', class: "sd-confirm-modal__option" }, index.h("slot", { key: '23a57ca4663436aabd4f606246c80d3c3aec1ecf', name: "option", onSlotchange: () => this.syncHasSlottedContent() }, this.slotLabel && (index.h("span", { key: '6dead5dc544f4f1ed68a50d2619a6c10f438ea67', class: "sd-confirm-modal__slot-label" }, this.slotLabel)))))), index.h("div", { key: '7156c27678f8f9a6de5afdbeed191a954420f1fa', class: "sd-confirm-modal__button" }, this.subButtonLabel && (index.h("sd-button", { key: '02a6b6ffe4218e93ceef0dad349cd122587864df', name: SUB_BUTTON_PRESET, label: this.subButtonLabel, onSdClick: () => this.cancel.emit() })), index.h("sd-button", { key: '6441fda6cebcc24fd48715ed85909b652725788f', name: this.resolvedMainButton, label: this.mainButtonLabel ?? '확인', onSdClick: () => this.ok.emit() }))));
120
120
  }
121
121
  };
122
122
  SdConfirmModal.style = sdConfirmModalCss();
@@ -215,7 +215,7 @@ const SdLoadingModal = class {
215
215
  '--sd-loading-modal-width': this.toCssSize(this.width) ?? `${LOADING_MODAL_LAYOUT.minWidth}px`,
216
216
  '--sd-loading-modal-height': this.toCssSize(this.height) ?? `${LOADING_MODAL_LAYOUT.minHeight}px`,
217
217
  };
218
- return (index.h(index.Host, { key: '1b22ac1569044c27867745c08d3e49325192c673', style: hostStyle }, index.h("div", { key: '06fbf9cb54f7753a2560b208ab634a9090d5462a', class: "sd-loading-modal" }, this.resolvedState === 'error' && (index.h("sd-ghost-button", { key: 'fc8e95da691cefe22b47d75cacd9e4ea36695347', class: "sd-loading-modal__close", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() })), index.h("div", { key: 'ca4840db307050f8509d3a632b8f028bce18e399', class: "sd-loading-modal__content" }, this.resolvedState === 'loading' ? (this.progress !== undefined ? (index.h("sd-circle-progress", { value: this.progress })) : (index.h("sd-circle-progress", { indeterminate: true }))) : (index.h("sd-icon", { class: "sd-loading-modal__icon", name: "warningOutline", size: LOADING_MODAL_LAYOUT.contentSize, color: LOADING_MODAL_COLORS.errorIcon }))), index.h("div", { key: '11b93fc8996ca64a42f09e4688267329da8a74c9', class: "sd-loading-modal__message-wrapper" }, Array.isArray(this.resolvedMessage) ? (this.resolvedMessage.map(message => (index.h("p", { class: "sd-loading-modal__message" }, message)))) : (index.h("p", { class: "sd-loading-modal__message" }, this.resolvedMessage))), this.showButton && (index.h("div", { key: 'b75b3cb2a48167746d583e540c48746b9590efad', class: "sd-loading-modal__button" }, index.h("sd-button", { key: '7c298c2f62460ecb955a53e57c841a9e7244008e', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
218
+ return (index.h(index.Host, { key: 'c6b6406cc751cfc007f6fbff72580a22b2975c03', style: hostStyle }, index.h("div", { key: '139b7397598768e526275dc8b508a333ba1e6058', class: "sd-loading-modal" }, this.resolvedState === 'error' && (index.h("sd-ghost-button", { key: '098c693d5da0c333fb06309be5371a5e8a6c3016', class: "sd-loading-modal__close", icon: "close", ariaLabel: "close", onClick: () => this.close.emit() })), index.h("div", { key: 'f072a17c4c8e47e296cbf52d34414a32efa6aaa1', class: "sd-loading-modal__content" }, this.resolvedState === 'loading' ? (this.progress !== undefined ? (index.h("sd-circle-progress", { value: this.progress })) : (index.h("sd-circle-progress", { indeterminate: true }))) : (index.h("sd-icon", { class: "sd-loading-modal__icon", name: "warningOutline", size: LOADING_MODAL_LAYOUT.contentSize, color: LOADING_MODAL_COLORS.errorIcon }))), index.h("div", { key: 'a2c501cfee2181b2a7dda2544e03bf1a709baaf3', class: "sd-loading-modal__message-wrapper" }, Array.isArray(this.resolvedMessage) ? (this.resolvedMessage.map(message => (index.h("p", { class: "sd-loading-modal__message" }, message)))) : (index.h("p", { class: "sd-loading-modal__message" }, this.resolvedMessage))), this.showButton && (index.h("div", { key: 'e9d1beef80bf8fa4a0647802ce4a6e023e74bc12', class: "sd-loading-modal__button" }, index.h("sd-button", { key: '63a64f356fc09cbaf56ff715d04c97b208f63945', name: LOADING_MODAL_BUTTON_PRESET, label: this.resolvedButtonLabel, onSdClick: this.handleClick }))))));
219
219
  }
220
220
  };
221
221
  SdLoadingModal.style = sdLoadingModalCss();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Cg7X15Hq.js');
4
4
 
5
5
  const sdDateBoxCss = () => `.sd-date-box.sc-sd-date-box{display:flex;align-items:center;justify-content:center;width:38px;height:36px;font-size:14px;position:relative;box-sizing:border-box;text-align:center;transition:background-color 150ms cubic-bezier(0.4, 0, 0.2, 1);border-radius:14px}.sd-date-box.sc-sd-date-box .sd-date-box__content.sc-sd-date-box{width:28px;height:28px;border-radius:14px;position:relative}.sd-date-box.sc-sd-date-box .sd-date-box__content.sc-sd-date-box .sd-date-box__label.sc-sd-date-box{position:relative;z-index:2;-webkit-user-select:none;user-select:none;line-height:28px}.sd-date-box.sd-date-box--disabled.sc-sd-date-box{color:#CCCCCC;cursor:default !important;pointer-events:none}.sd-date-box.sc-sd-date-box:not(.sd-date-box--disabled){color:#333333;cursor:pointer}.sd-date-box.sd-hoverable.sc-sd-date-box:hover .sd-date-box__content.sc-sd-date-box{background:#D9EAFF}.sd-date-box.sd-date-box--in-range.sc-sd-date-box:not(.sd-date-box--disabled) .sd-date-box__content.sc-sd-date-box::before{content:"";position:absolute;top:0;left:-5px;width:calc(100% + 10px);height:100%;background:#D9EAFF}.sd-date-box.sd-date-box--in-range.sd-date-box--type-start.sc-sd-date-box .sd-date-box__content.sc-sd-date-box::before{left:auto !important;width:19px !important;right:-5px}.sd-date-box.sd-date-box--in-range.sd-date-box--type-end.sc-sd-date-box .sd-date-box__content.sc-sd-date-box::before{width:19px !important}.sd-date-box.sd-date-box--in-range.sc-sd-date-box .sd-date-box__content.sc-sd-date-box .sd-date-box__label.sc-sd-date-box{font-weight:500}.sd-date-box.sd-date-box--selected.sc-sd-date-box .sd-date-box__content.sc-sd-date-box::after,.sd-date-box.sd-date-box--type-start.sc-sd-date-box .sd-date-box__content.sc-sd-date-box::after,.sd-date-box.sd-date-box--type-end.sc-sd-date-box .sd-date-box__content.sc-sd-date-box::after{content:"";position:absolute;inset:0;background:#0075FF;border-radius:14px;z-index:1}.sd-date-box.sd-date-box--selected.sc-sd-date-box .sd-date-box__content.sc-sd-date-box .sd-date-box__label.sc-sd-date-box,.sd-date-box.sd-date-box--type-start.sc-sd-date-box .sd-date-box__content.sc-sd-date-box .sd-date-box__label.sc-sd-date-box,.sd-date-box.sd-date-box--type-end.sc-sd-date-box .sd-date-box__content.sc-sd-date-box .sd-date-box__label.sc-sd-date-box{color:white;font-weight:700}.sd-date-box.sd-date-box--start-date.sd-date-box--end-date.sc-sd-date-box .sd-date-box__content.sc-sd-date-box::before{display:none !important}.sd-date-box.sd-date-box--today.sc-sd-date-box:not(.sd-date-box--selected) .sd-date-box__content.sc-sd-date-box::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:28px;height:28px;border:1px solid #E1E1E1 !important;border-radius:14px}`;
6
6
 
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ var component_field = require('./component.field-C7it8cZm.js');
4
+
3
5
  const datepicker = {
4
6
  sm: {
5
7
  height: "28",
@@ -110,10 +112,73 @@ const datepicker = {
110
112
  group: {
111
113
  gap: "12"
112
114
  }
113
- }}
115
+ },
116
+ time: {
117
+ bg: {
118
+ "default": "#F9F9F9",
119
+ selected: "#F5FAFF"
120
+ },
121
+ date: {
122
+ label: "#222222",
123
+ unit: "#888888",
124
+ gap: "6"
125
+ },
126
+ radius: "8",
127
+ paddingX: "16",
128
+ paddingY: "12",
129
+ gap: "12",
130
+ section: {
131
+ gap: "12"
132
+ },
133
+ unit: {
134
+ gap: "2"
135
+ },
136
+ typography: {
137
+ fontWeight: "500",
138
+ fontSize: "12",
139
+ lineHeight: "20"
140
+ }
141
+ }
142
+ }
114
143
  };
115
144
  var datepickerTokens = {
116
145
  datepicker: datepicker
117
146
  };
118
147
 
148
+ const sm = datepickerTokens.datepicker.sm;
149
+ const md = datepickerTokens.datepicker.md;
150
+ const DATEPICKER_SIZE_MAP = {
151
+ sm: {
152
+ height: sm.height,
153
+ paddingX: sm.paddingX,
154
+ gap: sm.gap,
155
+ iconSize: sm.icon,
156
+ radius: sm.radius,
157
+ fontSize: sm.typography.fontSize,
158
+ lineHeight: sm.typography.lineHeight,
159
+ fontWeight: sm.typography.fontWeight,
160
+ },
161
+ md: {
162
+ height: md.height,
163
+ paddingX: md.paddingX,
164
+ gap: md.gap,
165
+ iconSize: md.icon,
166
+ radius: md.radius,
167
+ fontSize: md.typography.fontSize,
168
+ lineHeight: md.typography.lineHeight,
169
+ fontWeight: md.typography.fontWeight,
170
+ },
171
+ };
172
+ const DATEPICKER_COLORS = {
173
+ border: datepickerTokens.datepicker.border,
174
+ bg: datepickerTokens.datepicker.bg,
175
+ icon: datepickerTokens.datepicker.icon,
176
+ text: {
177
+ ...datepickerTokens.datepicker.text,
178
+ hint: component_field.fieldTokens.field.hint.color,
179
+ },
180
+ };
181
+
182
+ exports.DATEPICKER_COLORS = DATEPICKER_COLORS;
183
+ exports.DATEPICKER_SIZE_MAP = DATEPICKER_SIZE_MAP;
119
184
  exports.datepickerTokens = datepickerTokens;
@@ -1,12 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-iiJZMzVM.js');
3
+ var index = require('./index-Cg7X15Hq.js');
4
4
  var index$1 = require('./index-BUvXpPc3.js');
5
- var sdDatePicker_config = require('./sd-date-picker.config-Chrd8c4v.js');
5
+ var sdDatePicker_config = require('./sd-date-picker.config-CgyNxY03.js');
6
+ var component_field = require('./component.field-C7it8cZm.js');
6
7
  var component_listBox = require('./component.listBox-MHAv4Yy7.js');
7
8
  var component_textinput = require('./component.textinput-Bb-nU5xI.js');
8
- var component_field = require('./component.field-C7it8cZm.js');
9
- require('./component.datepicker-zFTQQKMH.js');
10
9
 
11
10
  const sdDatePickerCss = () => `sd-date-picker{display:inline-flex}sd-date-picker sd-portal{display:none}sd-date-picker .sd-date-picker{position:relative;width:100%;height:100%}`;
12
11
 
@@ -47,6 +46,8 @@ const SdDatePicker = class {
47
46
  rules = [];
48
47
  /** 에러 상태 여부 */
49
48
  error = false;
49
+ /** 필드 상태 (없으면 error/rules 결과로 자동 결정) */
50
+ status;
50
51
  /** 레이블 영역 아이콘 */
51
52
  icon = undefined;
52
53
  /** 레이블 툴팁 텍스트 */
@@ -130,9 +131,9 @@ const SdDatePicker = class {
130
131
  '--sd-system-color-field-border-focus': sdDatePicker_config.DATEPICKER_COLORS.border.focus,
131
132
  '--sd-system-color-field-bg-default': sdDatePicker_config.DATEPICKER_COLORS.bg.default,
132
133
  };
133
- return (index.h("sd-field", { key: 'f6fe03d9c87b8de3d33d641934b28f1e42a1b23a', 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, focused: this.focused, hovered: this.hovered, 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 }, index.h("div", { key: '0d77d31b48f1ee8f87f7e59f472b0335f19b00be', class: "sd-date-picker", ref: el => {
134
+ return (index.h("sd-field", { key: 'c3adbcb65f372a7c33350a747b29b5a35990c292', 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, status: this.status, disabled: this.disabled, focused: this.focused, hovered: this.hovered, 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 }, index.h("div", { key: 'aac9b498321c4506a6979a17de4896c4521887a1', class: "sd-date-picker", ref: el => {
134
135
  this.triggerRef = el;
135
- } }, index.h("sd-date-picker-trigger", { key: '003de27ec2c3c660b1c183f10af02d6d982a6069', displayText: this.value ?? '', placeholder: this.placeholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: '719f5f0a191286d2f2d06ca41c5746f6dea569e3', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, index.h("sd-calendar", { key: 'd4a62d31666f21f6fb9d03f09cf36d16acc1c8a9', elevated: true, value: this.value, selectable: this.selectable, onSdUpdate: this.handleSelect, onSdViewChange: this.handleViewChange })))));
136
+ } }, index.h("sd-date-picker-trigger", { key: '00a558ac1c9a5af666c62c15e18e240036e1bb34', displayText: this.value ?? '', placeholder: this.placeholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: '142098d59d8a5df4054e7a39f4d93b0ddc06109b', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, index.h("sd-calendar", { key: '319dc85ff9a41e8b04fdaecc1c7e9e01c953014b', elevated: true, value: this.value, selectable: this.selectable, onSdUpdate: this.handleSelect, onSdViewChange: this.handleViewChange })))));
136
137
  }
137
138
  static get watchers() { return {
138
139
  "isOpen": [{
@@ -162,6 +163,11 @@ const SdDateRangePicker = class {
162
163
  selectable;
163
164
  /** 최대 선택 가능한 날짜 범위 (일 단위) */
164
165
  maxRange;
166
+ /**
167
+ * 시간(시:분) 선택 푸터 사용 여부.
168
+ * true이면 value는 "YYYY-MM-DD HH:mm" 형식이 되고, 캘린더 하단에 시작·종료 시간 입력이 표시됩니다.
169
+ */
170
+ useTimePicker = false;
165
171
  /** 비활성 상태 여부 */
166
172
  disabled = false;
167
173
  /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
@@ -183,6 +189,8 @@ const SdDateRangePicker = class {
183
189
  rules = [];
184
190
  /** 에러 상태 여부 */
185
191
  error = false;
192
+ /** 필드 상태 (없으면 error/rules 결과로 자동 결정) */
193
+ status;
186
194
  /** 레이블 영역 아이콘 */
187
195
  icon = undefined;
188
196
  /** 레이블 툴팁 텍스트 */
@@ -242,7 +250,9 @@ const SdDateRangePicker = class {
242
250
  }
243
251
  };
244
252
  handleSelect = (e) => {
245
- this.closeDropdown();
253
+ // 시간 선택 모드에서는 사용자가 시:분을 조정할 수 있도록 드롭다운을 닫지 않고 실시간 반영만 한다
254
+ if (!this.useTimePicker)
255
+ this.closeDropdown();
246
256
  this.value = e.detail;
247
257
  const nextValue = this.value;
248
258
  requestAnimationFrame(() => {
@@ -257,6 +267,14 @@ const SdDateRangePicker = class {
257
267
  return '';
258
268
  return `${this.value[0]} ~ ${this.value[1]}`;
259
269
  }
270
+ static DEFAULT_PLACEHOLDER = 'YYYY-MM-DD ~ YYYY-MM-DD';
271
+ get resolvedPlaceholder() {
272
+ // placeholder를 따로 지정하지 않았고 시간 선택 모드이면 시:분을 포함한 기본 placeholder를 쓴다
273
+ if (this.useTimePicker && this.placeholder === SdDateRangePicker.DEFAULT_PLACEHOLDER) {
274
+ return 'YYYY-MM-DD HH:mm ~ YYYY-MM-DD HH:mm';
275
+ }
276
+ return this.placeholder;
277
+ }
260
278
  disconnectedCallback() {
261
279
  if (this.closeAnimationTimer)
262
280
  clearTimeout(this.closeAnimationTimer);
@@ -270,9 +288,9 @@ const SdDateRangePicker = class {
270
288
  '--sd-system-color-field-border-focus': sdDatePicker_config.DATEPICKER_COLORS.border.focus,
271
289
  '--sd-system-color-field-bg-default': sdDatePicker_config.DATEPICKER_COLORS.bg.default,
272
290
  };
273
- return (index.h("sd-field", { key: '00e25ab4608b5340b8be9e1dd19050968e34b758', 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, focused: this.focused, hovered: this.hovered, 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 }, index.h("div", { key: '98179e2ec90e55f83e5deff6e36fc821fc103456', class: "sd-date-range-picker", ref: el => {
291
+ return (index.h("sd-field", { key: '01098a74a5066d2328409dcdf21bb38691adf455', 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, status: this.status, disabled: this.disabled, focused: this.focused, hovered: this.hovered, 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 }, index.h("div", { key: 'dab4a666f5c144bbcbf3848528ce246c752ab906', class: "sd-date-range-picker", ref: el => {
274
292
  this.triggerRef = el;
275
- } }, index.h("sd-date-picker-trigger", { key: 'fe123228a851da602f0a5a8929fc20782742a24b', displayText: this.displayText, placeholder: this.placeholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: 'ee7eb14cc09fd067a8eeb9f19bd93178378d81b2', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, index.h("sd-date-range-picker-calendar", { key: '8dc57a29f1ecd6811fb4538a96eea823dfebe080', value: this.value, selectable: this.selectable, maxRange: this.maxRange, onSdSelect: this.handleSelect, onSdViewChange: this.handleViewChange })))));
293
+ } }, index.h("sd-date-picker-trigger", { key: '5aa378df1b53a2b8cc29e159e7bda0544210a81e', displayText: this.displayText, placeholder: this.resolvedPlaceholder, disabled: this.disabled, size: this.size, onSdTriggerClick: this.handleTriggerClick })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: '8d18658004dc009d869804bdabd31155117edde3', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, index.h("sd-date-range-picker-calendar", { key: '0bf96efeed4c567052e690a83a70f27df85ccc64', value: this.value, selectable: this.selectable, maxRange: this.maxRange, useTimePicker: this.useTimePicker, onSdSelect: this.handleSelect, onSdViewChange: this.handleViewChange })))));
276
294
  }
277
295
  static get watchers() { return {
278
296
  "isOpen": [{
@@ -288,12 +306,39 @@ const filepicker = {
288
306
  paddingX: "12",
289
307
  gap: "8",
290
308
  radius: "4",
309
+ borderWidth: "1",
291
310
  typography: {
311
+ fontFamily: "Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif",
292
312
  fontWeight: "400",
293
313
  fontSize: "12",
294
- lineHeight: "20"},
314
+ lineHeight: "20",
315
+ textDecoration: "none"
316
+ },
295
317
  icon: "16"
296
318
  },
319
+ md: {
320
+ height: "36",
321
+ paddingX: "16",
322
+ gap: "12",
323
+ radius: "6",
324
+ borderWidth: "1",
325
+ typography: {
326
+ fontFamily: "Pretendard Variable, Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Apple SD Gothic Neo, Noto Sans KR, Malgun Gothic, Apple Color Emoji, Segoe UI Emoji, sans-serif",
327
+ fontWeight: "400",
328
+ fontSize: "14",
329
+ textDecoration: "none",
330
+ lineHeight: "24"
331
+ },
332
+ icon: "20"
333
+ },
334
+ border: {
335
+ "default": "#AAAAAA",
336
+ disabled: "#CCCCCC"
337
+ },
338
+ bg: {
339
+ "default": "#FFFFFF",
340
+ disabled: "#E1E1E1"
341
+ },
297
342
  text: {
298
343
  "default": "#222222",
299
344
  placeholder: "#AAAAAA",
@@ -308,15 +353,25 @@ var filePickerTokens = {
308
353
  };
309
354
 
310
355
  const fp = filePickerTokens.filepicker;
311
- const FILE_PICKER_LAYOUT = {
312
- height: fp.sm.height,
313
- paddingX: fp.sm.paddingX,
314
- gap: fp.sm.gap,
315
- radius: fp.sm.radius,
316
- fontSize: fp.sm.typography.fontSize,
317
- lineHeight: fp.sm.typography.lineHeight,
318
- fontWeight: fp.sm.typography.fontWeight,
319
- iconSize: fp.sm.icon};
356
+ const buildLayout = (s) => ({
357
+ height: fp[s].height,
358
+ paddingX: fp[s].paddingX,
359
+ gap: fp[s].gap,
360
+ radius: fp[s].radius,
361
+ borderWidth: fp[s].borderWidth,
362
+ fontSize: fp[s].typography.fontSize,
363
+ lineHeight: fp[s].typography.lineHeight,
364
+ fontWeight: fp[s].typography.fontWeight,
365
+ iconSize: fp[s].icon,
366
+ contentsGap: component_field.fieldTokens.field.contents.gap,
367
+ });
368
+ /** 기본(sm) 레이아웃 — 하위호환용 단일 export */
369
+ const FILE_PICKER_LAYOUT = buildLayout('sm');
370
+ /** size별 레이아웃 맵 */
371
+ const FILE_PICKER_LAYOUTS = {
372
+ sm: FILE_PICKER_LAYOUT,
373
+ md: buildLayout('md'),
374
+ };
320
375
  const FILE_PICKER_COLORS = {
321
376
  text: fp.text,
322
377
  icon: {
@@ -363,6 +418,8 @@ const SdFilePicker = class {
363
418
  /** 최대 파일 개수 */
364
419
  maxFiles;
365
420
  // sd-field 패스스루 props
421
+ /** 필드 크기 */
422
+ size = 'sm';
366
423
  /** 폼 연동용 name 속성 */
367
424
  name = index$1.nanoid();
368
425
  /** 레이블 텍스트 */
@@ -565,7 +622,7 @@ const SdFilePicker = class {
565
622
  renderChipList() {
566
623
  if (!this.hasChips())
567
624
  return null;
568
- return (index.h("div", { class: "sd-file-picker__chip-list" }, this.internalValue.map((file, index$1) => (index.h("sd-chip", { value: file.name, onSdRemove: () => this.handleChipRemove(index$1) })))));
625
+ return (index.h("div", { class: "sd-file-picker__chip-list" }, this.internalValue.map((file, index$1) => (index.h("sd-chip", { value: file.name, editable: false, onSdRemove: () => this.handleChipRemove(index$1) })))));
569
626
  }
570
627
  renderListbox() {
571
628
  if (!this.hasChips() || !this.isListboxOpen)
@@ -591,38 +648,39 @@ const SdFilePicker = class {
591
648
  render() {
592
649
  const hasFiles = this.hasFiles();
593
650
  const displayText = this.getDisplayText();
651
+ const layout = FILE_PICKER_LAYOUTS[this.size] ?? FILE_PICKER_LAYOUT;
594
652
  const cssVars = {
595
- '--sd-file-picker-font-size': `${FILE_PICKER_LAYOUT.fontSize}px`,
596
- '--sd-file-picker-line-height': `${FILE_PICKER_LAYOUT.lineHeight}px`,
597
- '--sd-file-picker-font-weight': FILE_PICKER_LAYOUT.fontWeight,
598
- '--sd-file-picker-padding-x': `${FILE_PICKER_LAYOUT.paddingX}px`,
599
- '--sd-file-picker-gap': `${FILE_PICKER_LAYOUT.gap}px`,
653
+ '--sd-file-picker-font-size': `${layout.fontSize}px`,
654
+ '--sd-file-picker-line-height': `${layout.lineHeight}px`,
655
+ '--sd-file-picker-font-weight': layout.fontWeight,
656
+ '--sd-file-picker-padding-x': `${layout.paddingX}px`,
657
+ '--sd-file-picker-gap': `${layout.gap}px`,
600
658
  '--sd-file-picker-text-color': FILE_PICKER_COLORS.text.default,
601
659
  '--sd-file-picker-placeholder-color': FILE_PICKER_COLORS.text.placeholder,
602
660
  '--sd-file-picker-disabled-color': FILE_PICKER_COLORS.text.disabled,
603
- // sd-field 시스템 변수 override
604
- '--sd-system-size-field-sm-height': `${FILE_PICKER_LAYOUT.height}px`,
605
- '--sd-system-radius-field-sm': `${FILE_PICKER_LAYOUT.radius}px`,
661
+ // sd-field 시스템 변수 override (size에 맞춰)
662
+ [`--sd-system-size-field-${this.size}-height`]: `${layout.height}px`,
663
+ [`--sd-system-radius-field-${this.size}`]: `${layout.radius}px`,
606
664
  };
607
665
  const showListbox = this.multiple && this.useMultipleListBox;
608
- const content = (index.h("div", { key: '932b5549b6b27e0fec8096127dd8fb09f682fe56', role: "button", tabindex: this.disabled ? -1 : 0, class: "sd-file-picker__content", ref: el => (this.contentRef = el), onClick: this.handleClick, onKeyDown: e => {
666
+ const content = (index.h("div", { key: 'd1c3af9860038ddb11d540af8312ad59d051524f', role: "button", tabindex: this.disabled ? -1 : 0, class: "sd-file-picker__content", ref: el => (this.contentRef = el), onClick: this.handleClick, onKeyDown: e => {
609
667
  if (e.key === 'Enter' || e.key === ' ') {
610
668
  e.preventDefault();
611
669
  this.handleClick();
612
670
  }
613
- } }, index.h("input", { key: 'd10a6a2bc0606954588cee4ad77898ad28cbbe75', ref: el => (this.fileInputRef = el), type: "file", class: "sd-file-picker__input", disabled: this.disabled, multiple: this.multiple, accept: this.accept, onInput: this.handleFileChange, "aria-label": this.placeholder ?? 'Click to upload' }), index.h("sd-icon", { key: '70102b5a6ff6606423ba36601015bccc2d48f22c', name: "attachFile", size: Number(FILE_PICKER_LAYOUT.iconSize), color: this.getIconColor(), class: "sd-file-picker__icon" }), index.h("div", { key: '7a0696f4f4b3ccd56c707bf2ecee59562ceb1a7b', ref: el => (this.fileNamesRef = el), class: {
671
+ } }, index.h("input", { key: '760c38cd73d0a2a3d0832c5597c0e22bf737bb06', ref: el => (this.fileInputRef = el), type: "file", class: "sd-file-picker__input", disabled: this.disabled, multiple: this.multiple, accept: this.accept, onInput: this.handleFileChange, "aria-label": this.placeholder ?? 'Click to upload' }), index.h("sd-icon", { key: '96ff0bf43eb3f17df92bd8834cd38a1ae36ad475', name: "attachFile", size: Number(layout.iconSize), color: this.getIconColor(), class: "sd-file-picker__icon" }), index.h("div", { key: '0757b8b734e21fcf7bed04d7306ee3a9d202f950', ref: el => (this.fileNamesRef = el), class: {
614
672
  'sd-file-picker__text': true,
615
673
  'sd-file-picker__text--placeholder': !hasFiles,
616
674
  'sd-file-picker__text--active': hasFiles,
617
- } }, displayText), showListbox && hasFiles && !this.disabled && (index.h("sd-ghost-button", { key: 'a68ba1cd8dabf75279eba8993befef8dd03008ae', icon: "caretDown", size: "xxs", ariaLabel: "toggle file list", disabled: this.disabled, class: {
675
+ } }, displayText), showListbox && hasFiles && !this.disabled && (index.h("sd-ghost-button", { key: '8e42d38452d00256147ee65e614bdeb7040917d7', icon: "caretDown", size: "xxs", ariaLabel: "toggle file list", disabled: this.disabled, class: {
618
676
  'sd-file-picker__caret': true,
619
677
  'sd-file-picker__caret--open': this.isListboxOpen,
620
- }, onClick: this.handleListboxToggle })), !this.disabled && hasFiles && (index.h("sd-ghost-button", { key: '6abcae4722ebbe7f888ce500774f3a749061ad4e', icon: "close", size: "xxs", ariaLabel: "clear", disabled: this.disabled, class: "sd-file-picker__clear-icon", onClick: this.handleClear })), this.showTooltip && hasFiles && this.hovered && (index.h("div", { key: 'f1e3821eee58a1b126a6375a8d830a9fc9055cbe', class: "sd-file-picker__tooltip" }, displayText))));
621
- return (index.h("div", { key: '952fbde18439ce103d62ede9e7b7a59dda408aa1', class: {
678
+ }, onClick: this.handleListboxToggle })), !this.disabled && hasFiles && (index.h("sd-ghost-button", { key: '6f65042ce5e4efa1b6ab126653d434ca77cdd790', icon: "close", size: "xxs", ariaLabel: "clear", disabled: this.disabled, class: "sd-file-picker__clear-icon", onClick: this.handleClear })), this.showTooltip && hasFiles && this.hovered && (index.h("div", { key: 'b41146f39c384a5954dca22f2d3da767a63ef0c0', class: "sd-file-picker__tooltip" }, displayText))));
679
+ return (index.h("div", { key: '858fea100a9317ac6806ae40699e9f5608394e10', class: {
622
680
  'sd-file-picker__wrapper': true,
623
681
  'sd-file-picker--inline': this.inline,
624
682
  'sd-file-picker--inline-disabled': this.inline && this.disabled,
625
- }, style: cssVars }, index.h("sd-field", { key: '08ed598117f29d7c6977f75a73300c033bb6ec9d', borderless: this.inline, 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, focused: this.focused, hovered: this.hovered, status: this.status, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, content), this.useMultipleListBox ? this.renderListbox() : this.renderChipList()));
683
+ }, style: cssVars }, index.h("sd-field", { key: '1b7a6a57e4e46c253bd9f77c500dabf92edc2ae0', borderless: this.inline, size: this.size, 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, focused: this.focused, hovered: this.hovered, status: this.status, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false) }, content), this.useMultipleListBox ? this.renderListbox() : this.renderChipList()));
626
684
  }
627
685
  static get watchers() { return {
628
686
  "value": [{
@@ -818,12 +876,12 @@ const SdInput = class {
818
876
  '--sd-system-size-field-sm-height': `${sizeTokens.height}px`,
819
877
  '--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
820
878
  };
821
- return (index.h("sd-field", { key: '5707ad3cdfd0194d4200899f3838e6e7ff03cb34', 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 }, index.h("label", { key: 'a5146f59435269a419c8273c72e7704a359108f0', class: "sd-input__content" }, index.h("slot", { key: 'cfa0393abc20439a7746e874215864d02d41ce17', name: "prefix" }), index.h("input", { key: 'bf7503a5701e237868c7be863f5d2653d074fb66', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : (this.type ?? 'text'), value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, autocomplete: this.autocomplete || undefined, maxlength: this.maxlength, minlength: this.minlength, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), index.h("slot", { key: 'bc16a709380137d6993753892e71cab33e0fc070', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && !this.readonly && (index.h("sd-ghost-button", { key: '4053ddc137f8d104a3e619f81ca2c99fd7e52a75', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
879
+ return (index.h("sd-field", { key: '66c7d6a9292bf8129fea6a33d2288733c264a39f', 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 }, index.h("label", { key: 'b429ae6e521440eb917b17b10525ff3d3767a50d', class: "sd-input__content" }, index.h("slot", { key: 'dc1cd825ff1bea6484eada71d5aff621f82522c2', name: "prefix" }), index.h("input", { key: '93bd923644ac7660c2c9be28e4c64d39d93365c3', name: this.name, ref: el => (this.nativeEl = el), class: `sd-input__native ${this.inputClass}`, type: this.type === 'password' && this.passwordVisible ? 'text' : (this.type ?? 'text'), value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readonly: this.readonly, autofocus: this.autoFocus, autocomplete: this.autocomplete || undefined, maxlength: this.maxlength, minlength: this.minlength, inputmode: this.inputmode, enterkeyhint: this.enterkeyhint, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.inputStyle }), index.h("slot", { key: 'ec2f67a7ae01ebbaaa1f48f1e231f6fe2cfb413c', name: "suffix" }), this.clearable && this.internalValue && !this.disabled && !this.readonly && (index.h("sd-ghost-button", { key: 'de33f6902ab5560e151ef13e01ef84eea14da17d', icon: "close", ariaLabel: "clear", size: "xxs", disabled: this.disabled, class: "sd-input__clear-icon", onClick: async () => {
822
880
  if (this.disabled || this.readonly)
823
881
  return;
824
882
  this.internalValue = '';
825
883
  await this.formField?.sdValidate();
826
- } })), this.type === 'password' && (index.h("sd-ghost-button", { key: '7062bbfecd4289185dc847bca0524405d6f4bbfe', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled || this.readonly, class: "sd-input__password-icon", onClick: () => {
884
+ } })), this.type === 'password' && (index.h("sd-ghost-button", { key: 'db07c28cede67dbec93454b5ea90e94f72c5f313', icon: this.passwordVisible ? 'visibilityOn' : 'visibilityOff', ariaLabel: "visibility", size: "xxs", disabled: this.disabled || this.readonly, class: "sd-input__password-icon", onClick: () => {
827
885
  if (this.disabled || this.readonly)
828
886
  return;
829
887
  this.passwordVisible = !this.passwordVisible;
@@ -948,6 +1006,8 @@ const SdNumberInput = class {
948
1006
  useButton = false;
949
1007
  /** 소수점 입력 허용 여부 */
950
1008
  useDecimal = false;
1009
+ /** 소수점 이하 최대 자리수 (useDecimal일 때만 적용, 초과 입력한 소수부는 잘라냄) */
1010
+ maxDecimalLength;
951
1011
  /** 입력 값 */
952
1012
  value = null;
953
1013
  /** 레이블 텍스트 */
@@ -1028,6 +1088,31 @@ const SdNumberInput = class {
1028
1088
  const result = isNegative ? '-' + formatted : formatted;
1029
1089
  return decPart !== undefined && decPart !== '' ? result + '.' + decPart : String(result);
1030
1090
  }
1091
+ /** useDecimal이면서 유효한 maxDecimalLength가 있을 때만 소수점 이하 제한 자리수를 반환합니다. */
1092
+ getDecimalLimit() {
1093
+ if (!this.useDecimal ||
1094
+ this.maxDecimalLength === undefined ||
1095
+ !Number.isFinite(this.maxDecimalLength)) {
1096
+ return undefined;
1097
+ }
1098
+ return Math.max(0, Math.floor(this.maxDecimalLength));
1099
+ }
1100
+ /** 소수부를 제한 자리수로 잘라낸 문자열을 반환합니다(반올림하지 않고 잘라냄). */
1101
+ truncateToDecimalLimit(cleaned, limit) {
1102
+ if (!cleaned.includes('.'))
1103
+ return cleaned;
1104
+ const [intPart, fractionPart = ''] = cleaned.split('.');
1105
+ const truncatedFraction = fractionPart.slice(0, limit);
1106
+ return truncatedFraction === '' ? intPart : `${intPart}.${truncatedFraction}`;
1107
+ }
1108
+ /** 숫자값의 소수부를 제한 자리수로 잘라냅니다(제한이 없으면 원본 그대로). */
1109
+ applyDecimalLimit(value) {
1110
+ const decimalLimit = this.getDecimalLimit();
1111
+ if (decimalLimit === undefined)
1112
+ return value;
1113
+ const parsed = parseFloat(this.truncateToDecimalLimit(value.toString(), decimalLimit));
1114
+ return isNaN(parsed) ? value : parsed;
1115
+ }
1031
1116
  parseInput(input) {
1032
1117
  if (input.trim() === '')
1033
1118
  return null;
@@ -1035,12 +1120,15 @@ const SdNumberInput = class {
1035
1120
  if (!/^-?(\d+\.?\d*|\d*\.\d+)$/.test(cleaned)) {
1036
1121
  return null;
1037
1122
  }
1038
- const parsed = parseFloat(cleaned);
1039
- if (isNaN(parsed))
1040
- return null;
1041
1123
  if (!this.useDecimal && cleaned.includes('.')) {
1042
1124
  return null;
1043
1125
  }
1126
+ // useDecimal이면서 maxDecimalLength가 설정된 경우 소수부를 제한 자리수로 잘라냄(반올림 아님)
1127
+ const decimalLimit = this.getDecimalLimit();
1128
+ const normalized = decimalLimit !== undefined ? this.truncateToDecimalLimit(cleaned, decimalLimit) : cleaned;
1129
+ const parsed = parseFloat(normalized);
1130
+ if (isNaN(parsed))
1131
+ return null;
1044
1132
  return parsed;
1045
1133
  }
1046
1134
  clampMinMax(value) {
@@ -1195,6 +1283,7 @@ const SdNumberInput = class {
1195
1283
  if (nextVal > this.max) {
1196
1284
  nextVal = this.max;
1197
1285
  }
1286
+ nextVal = this.applyDecimalLimit(nextVal);
1198
1287
  if (nextVal === currentVal)
1199
1288
  return;
1200
1289
  this.internalValue = nextVal;
@@ -1207,6 +1296,7 @@ const SdNumberInput = class {
1207
1296
  if (nextVal < this.min) {
1208
1297
  nextVal = this.min;
1209
1298
  }
1299
+ nextVal = this.applyDecimalLimit(nextVal);
1210
1300
  if (nextVal === currentVal)
1211
1301
  return;
1212
1302
  this.internalValue = nextVal;
@@ -1247,15 +1337,15 @@ const SdNumberInput = class {
1247
1337
  '--sd-textinput-input-hint-typography-line-height': `${NUMBER_INPUT_HINT.typography.lineHeight}px`,
1248
1338
  '--sd-textinput-input-contents-gap': `${NUMBER_INPUT_CONTENTS_GAP}px`,
1249
1339
  };
1250
- return (index.h("sd-field", { key: 'abfc6fbc218ed829eabbf33476e6feb25ed0b783', 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 }, index.h("div", { key: 'ab9f55eb4dcf8b345fae2e0546833f9d4216df1d', class: {
1340
+ return (index.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 }, index.h("div", { key: '2fb1686b071fd69c65fc0c908807c029edc3b253', class: {
1251
1341
  'sd-number-input__content': true,
1252
1342
  'sd-number-input__content--no-stepper': !this.useButton,
1253
- } }, this.useButton && (index.h("button", { key: '3a12f0c1c1963790b3337f34452d9bc200e072c1', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, index.h("sd-icon", { key: 'cae2acccfb818a25a1d2c6abe8a0accdff293931', name: "minus", size: iconSize, color: this.isDecrementDisabled()
1343
+ } }, this.useButton && (index.h("button", { key: '6b2464867bb0224f4fbcb50ea4e4bfc5386474ba', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--decrement", disabled: this.isDecrementDisabled(), onClick: this.handleDecrement, tabindex: -1 }, index.h("sd-icon", { key: 'f65e9144ad93f4ba8d293b5af1bf9fd1286e7520', name: "minus", size: iconSize, color: this.isDecrementDisabled()
1254
1344
  ? NUMBER_INPUT_STEPPER.icon.disabled
1255
- : NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && index.h("span", { key: '37a2724e2973205cd9f0083d796c556aed8c50c6', class: "sd-number-input__prefix" }, this.inputPrefix), index.h("input", { key: '5d9bfccaa121f0bc3ecaac4d8db3023d1d03dd68', 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: {
1345
+ : NUMBER_INPUT_STEPPER.icon.default }))), this.inputPrefix && index.h("span", { key: '3d89b3557f961f36b429e3cf4ae247098a412b30', class: "sd-number-input__prefix" }, this.inputPrefix), index.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: {
1256
1346
  textAlign: this.useButton ? 'center' : 'right',
1257
1347
  ...this.inputStyle,
1258
- } }), this.inputSuffix && index.h("span", { key: 'ba990181e4b3d100087d20b177710f09b61f23cc', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (index.h("button", { key: '91666af2e343d3098bc020fb7266aa1e785783c3', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, index.h("sd-icon", { key: '336ea010c7e9e314c98f56f4c79c86944087912e', name: "add", size: iconSize, color: this.isIncrementDisabled()
1348
+ } }), this.inputSuffix && index.h("span", { key: '15177064a4daab2ede3af4f8758912da266f1c29', class: "sd-number-input__suffix" }, this.inputSuffix), this.useButton && (index.h("button", { key: 'dcc1fbfe7c4e7eaa6db95fe7dc9a34f4b82ade8b', type: "button", class: "sd-number-input__stepper sd-number-input__stepper--increment", disabled: this.isIncrementDisabled(), onClick: this.handleIncrement, tabindex: -1 }, index.h("sd-icon", { key: '58eee48f37c0e942a3734a9275a9d459bc9bc420', name: "add", size: iconSize, color: this.isIncrementDisabled()
1259
1349
  ? NUMBER_INPUT_STEPPER.icon.disabled
1260
1350
  : NUMBER_INPUT_STEPPER.icon.default }))))));
1261
1351
  }
@@ -1277,7 +1367,7 @@ const SdRadioGroup = class {
1277
1367
  index.registerInstance(this, hostRef);
1278
1368
  this.change = index.createEvent(this, "sdUpdate", 7);
1279
1369
  }
1280
- /** 현재 선택된 값 */
1370
+ /** 현재 선택된 값 (미지정 시 선택 없음) */
1281
1371
  value;
1282
1372
  /** 라디오 옵션 목록 */
1283
1373
  options = [];
@@ -1305,8 +1395,8 @@ const SdRadioGroup = class {
1305
1395
  return classes.join(' ');
1306
1396
  }
1307
1397
  render() {
1308
- return (index.h("div", { key: 'e5f4051ea9b2843816a849a018b8040e7b951a55', class: this.getGroupClasses(), role: "radiogroup" }, this.options.map(option => {
1309
- return (index.h("sd-radio", { key: `radio-${option.value}`, val: String(option.value), value: String(this.value), label: option.label, disabled: this.disabled || !!option.disabled, onSdUpdate: ({ detail }) => this.handleRadioChange(detail) }));
1398
+ return (index.h("div", { key: '7ee8aaf1872ac215e7d4c27e71d4a0a41c6f5e4e', class: this.getGroupClasses(), role: "radiogroup" }, this.options.map(option => {
1399
+ return (index.h("sd-radio", { key: `radio-${option.value}`, val: String(option.value), value: String(this.value ?? ''), label: option.label, disabled: this.disabled || !!option.disabled, onSdUpdate: ({ detail }) => this.handleRadioChange(detail) }));
1310
1400
  })));
1311
1401
  }
1312
1402
  static get watchers() { return {
@@ -1607,15 +1697,15 @@ const SdSelect = class {
1607
1697
  this.closeDropdown();
1608
1698
  },
1609
1699
  };
1610
- return (index.h("sd-field", { key: '13ca7b4ddb0e124e90dd2b843df9a11b7cc98487', 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, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
1700
+ return (index.h("sd-field", { key: '5a224160fc18dff8deb4c3a2a9d1bc024c3ebd5b', 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, focused: this.focused, hovered: this.hovered, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, onMouseEnter: () => {
1611
1701
  this.hovered = true;
1612
1702
  }, onMouseLeave: () => {
1613
1703
  this.hovered = false;
1614
- } }, index.h("div", { key: '3892e98679d28ed6199578f1033571fec2137143', class: "sd-select", ref: el => {
1704
+ } }, index.h("div", { key: '575ece02e659c99154598ad4ab416e26a7217e52', class: "sd-select", ref: el => {
1615
1705
  this.triggerRef = el;
1616
- } }, index.h("sd-select-trigger", { key: '150dda9f50762bedc538181d8c1e5623e8d3fbac', ref: el => {
1706
+ } }, index.h("sd-select-trigger", { key: '39f1dc9bbb7e2e94e0ccf3a3b2f339b48f5e0b84', ref: el => {
1617
1707
  this.triggerComponentRef = el;
1618
- }, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: '554e158719e791600a6215223a5c0c7ac289b00a', ...portalProps }, index.h("sd-select-listbox", { key: 'c309fdfc53ff0c970ff33eb9eeec58636a869408', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.dropdownWidth || this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
1708
+ }, displayText: this.displayText, placeholder: this.placeholder ?? '선택', disabled: this.disabled, isOpen: this.isOpen, onSdTriggerClick: this.handleTriggerClick, onSdTriggerFocus: this.handleTriggerFocus, onSdTriggerBlur: this.handleTriggerBlur })), (this.isOpen || this.isAnimatingOut) && (index.h("sd-portal", { key: 'c1ec4d1f8f5aebeff2427e8323a3eb74f7c02ebb', ...portalProps }, index.h("sd-select-listbox", { key: 'd74641151357b007a7293d5a2a0dabb625a5e55b', type: this.type, options: this.options, value: this.value, emitValue: this.emitValue, useSearch: this.useSearch, useSelectAll: this.useSelectAll, triggerWidth: this.dropdownWidth || this.triggerWidth, maxWidth: this.resolvedMaxDropdownWidth, maxHeight: this.resolvedDropdownHeight, onSdOptionSelect: event => this.handleOptionSelect(event.detail) })))));
1619
1709
  }
1620
1710
  static get watchers() { return {
1621
1711
  "isOpen": [{
@@ -1785,7 +1875,7 @@ const SdTextarea = class {
1785
1875
  '--sd-system-size-field-sm-height': 'auto',
1786
1876
  '--sd-system-radius-field-sm': `${TEXTAREA_TOKENS.radius}px`,
1787
1877
  };
1788
- return (index.h("sd-field", { key: '2f967ed7e9d9e419376162f9569847b931f126d5', 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, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, index.h("div", { key: 'aa4f554c200a1b0aeadf4cac635facfabb158b90', class: "sd-textarea__content" }, index.h("textarea", { key: 'fe0026af57e40e6d4fb8e16c87985352de401fa5', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readOnly: this.readonly, autofocus: this.autoFocus, maxLength: this.maxLength, rows: this.rows, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.textareaStyle }))));
1878
+ return (index.h("sd-field", { key: '007bdda5f38f94997c65f3542b4075a62c11a391', 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, icon: this.icon, labelTooltip: this.labelTooltip, labelTooltipProps: this.labelTooltipProps, ref: el => (this.formField = el), onMouseEnter: () => (this.hovered = true), onMouseLeave: () => (this.hovered = false), style: cssVars }, index.h("div", { key: '536185bb53815baae7807a5d4708d9f0100c07c1', class: "sd-textarea__content" }, index.h("textarea", { key: '144ae3ca78f8c3953bfef9951cb79952186b856c', name: this.name, ref: el => (this.nativeEl = el), class: `sd-textarea__native ${this.textareaClass}`, value: this.internalValue || '', placeholder: this.placeholder ?? '입력해 주세요.', disabled: this.disabled, readOnly: this.readonly, autofocus: this.autoFocus, maxLength: this.maxLength, rows: this.rows, spellcheck: this.spellcheck, onInput: this.handleInput, onFocus: event => this.handleFocus('focus', event), onBlur: event => this.handleFocus('blur', event), style: this.textareaStyle }))));
1789
1879
  }
1790
1880
  static get watchers() { return {
1791
1881
  "value": [{