@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
@@ -0,0 +1,266 @@
1
+ import { h } from "@stencil/core";
2
+ import { TIMEPICKER_SELECTOR, clampTimePart, formatTimeValue, parseTimeValue, } from "../sd-time-picker.config";
3
+ export class SdTimePickerSelector {
4
+ /** 선택된 시간 (HH:mm) */
5
+ value = null;
6
+ /** 오전/오후 선택 표시 여부 */
7
+ useMeridiem = true;
8
+ /** 분 증감 단위 */
9
+ minuteStep = 1;
10
+ /** 시간 변경 시 발생합니다. */
11
+ update;
12
+ valueChanged() {
13
+ this.syncFromValue();
14
+ }
15
+ editingPart = null;
16
+ inputDraft = {};
17
+ hour = 0;
18
+ minute = 0;
19
+ componentWillLoad() {
20
+ this.syncFromValue();
21
+ }
22
+ syncFromValue() {
23
+ const parsed = parseTimeValue(this.value);
24
+ this.hour = parsed.hour;
25
+ this.minute = parsed.minute;
26
+ }
27
+ get meridiem() {
28
+ return this.hour >= 12 ? 'PM' : 'AM';
29
+ }
30
+ get displayHour() {
31
+ if (!this.useMeridiem)
32
+ return this.hour;
33
+ const hour = this.hour % 12;
34
+ return hour === 0 ? 12 : hour;
35
+ }
36
+ emitNext(hour, minute) {
37
+ this.hour = clampTimePart(hour, 0, 23);
38
+ this.minute = clampTimePart(minute, 0, 59);
39
+ this.update.emit(formatTimeValue(this.hour, this.minute));
40
+ }
41
+ sanitizeInput(value) {
42
+ return value.replace(/\D/g, '').slice(0, 2);
43
+ }
44
+ setDraft(part, value) {
45
+ this.inputDraft = { ...this.inputDraft, [part]: value };
46
+ }
47
+ beginEdit(part, value) {
48
+ this.editingPart = part;
49
+ this.setDraft(part, String(value).padStart(2, '0'));
50
+ }
51
+ commitHourDraft(draft) {
52
+ const raw = clampTimePart(Number(draft), this.useMeridiem ? 1 : 0, this.useMeridiem ? 12 : 23);
53
+ const nextHour = this.useMeridiem
54
+ ? this.meridiem === 'PM'
55
+ ? raw === 12
56
+ ? 12
57
+ : raw + 12
58
+ : raw === 12
59
+ ? 0
60
+ : raw
61
+ : raw;
62
+ this.emitNext(nextHour, this.minute);
63
+ return raw;
64
+ }
65
+ commitMinuteDraft(draft) {
66
+ const minute = clampTimePart(Number(draft), 0, 59);
67
+ this.emitNext(this.hour, minute);
68
+ return minute;
69
+ }
70
+ endEdit(part) {
71
+ const draft = this.inputDraft[part];
72
+ if (part === 'hour' && draft != null && draft !== '') {
73
+ this.commitHourDraft(draft);
74
+ }
75
+ if (part === 'minute' && draft != null && draft !== '') {
76
+ this.commitMinuteDraft(draft);
77
+ }
78
+ this.editingPart = null;
79
+ this.inputDraft = {};
80
+ }
81
+ setMeridiem(meridiem) {
82
+ if (meridiem === this.meridiem)
83
+ return;
84
+ if (meridiem === 'AM') {
85
+ this.emitNext(this.hour - 12, this.minute);
86
+ return;
87
+ }
88
+ this.emitNext(this.hour + 12, this.minute);
89
+ }
90
+ changeHour(delta) {
91
+ this.emitNext((this.hour + delta + 24) % 24, this.minute);
92
+ }
93
+ changeMinute(delta) {
94
+ const next = this.minute + delta;
95
+ if (next > 59) {
96
+ this.emitNext((this.hour + 1) % 24, next - 60);
97
+ return;
98
+ }
99
+ if (next < 0) {
100
+ this.emitNext((this.hour + 23) % 24, next + 60);
101
+ return;
102
+ }
103
+ this.emitNext(this.hour, next);
104
+ }
105
+ handleHourInput = (event) => {
106
+ const target = event.target;
107
+ const draft = this.sanitizeInput(target.value);
108
+ target.value = draft;
109
+ this.setDraft('hour', draft);
110
+ if (draft === '')
111
+ return;
112
+ if (draft.length < 2)
113
+ return;
114
+ const raw = this.commitHourDraft(draft);
115
+ const displayDraft = Number(draft) === raw ? draft : String(raw);
116
+ target.value = displayDraft;
117
+ this.setDraft('hour', displayDraft);
118
+ };
119
+ handleMinuteInput = (event) => {
120
+ const target = event.target;
121
+ const draft = this.sanitizeInput(target.value);
122
+ target.value = draft;
123
+ this.setDraft('minute', draft);
124
+ if (draft === '')
125
+ return;
126
+ if (draft.length < 2)
127
+ return;
128
+ const nextMinute = this.commitMinuteDraft(draft);
129
+ const displayDraft = Number(draft) === nextMinute ? draft : String(nextMinute);
130
+ target.value = displayDraft;
131
+ this.setDraft('minute', displayDraft);
132
+ this.emitNext(this.hour, nextMinute);
133
+ };
134
+ renderMeridiemButton(label, meridiem, position) {
135
+ const selected = this.meridiem === meridiem;
136
+ return (h("button", { type: "button", class: {
137
+ 'sd-time-picker-selector__meridiem-button': true,
138
+ 'sd-time-picker-selector__meridiem-button--selected': selected,
139
+ [`sd-time-picker-selector__meridiem-button--${position}`]: true,
140
+ }, onClick: () => this.setMeridiem(meridiem) }, label));
141
+ }
142
+ renderColumn(type) {
143
+ const isHour = type === 'hour';
144
+ const value = isHour ? this.displayHour : this.minute;
145
+ const displayValue = this.editingPart === type ? (this.inputDraft[type] ?? '') : String(value).padStart(2, '0');
146
+ return (h("div", { class: `sd-time-picker-selector__column sd-time-picker-selector__column--${type}` }, h("sd-ghost-button", { icon: "chevronUp", size: "xs", ariaLabel: `${isHour ? '시' : '분'} 증가`, onSdClick: () => (isHour ? this.changeHour(1) : this.changeMinute(this.minuteStep)) }), h("input", { class: "sd-time-picker-selector__input", type: "text", inputmode: "numeric", value: displayValue, placeholder: "-", onFocus: () => this.beginEdit(type, value), onBlur: () => this.endEdit(type), onInput: isHour ? this.handleHourInput : this.handleMinuteInput, "aria-label": isHour ? '시' : '분' }), h("sd-ghost-button", { icon: "chevronDown", size: "xs", ariaLabel: `${isHour ? '시' : '분'} 감소`, onSdClick: () => (isHour ? this.changeHour(-1) : this.changeMinute(-this.minuteStep)) })));
147
+ }
148
+ render() {
149
+ const cssVars = {
150
+ '--selector-bg': TIMEPICKER_SELECTOR.bg,
151
+ '--selector-radius': `${TIMEPICKER_SELECTOR.radius}px`,
152
+ '--selector-section-padding-x': `${TIMEPICKER_SELECTOR.section.paddingX}px`,
153
+ '--selector-section-padding-y': `${TIMEPICKER_SELECTOR.section.paddingY}px`,
154
+ '--selector-time-gap': `${TIMEPICKER_SELECTOR.time.gap}px`,
155
+ '--selector-time-column-gap': `${TIMEPICKER_SELECTOR.time.column.gap}px`,
156
+ '--selector-input-width': `${TIMEPICKER_SELECTOR.inputWidth}px`,
157
+ '--selector-colon-size': `${TIMEPICKER_SELECTOR.colonSize}px`,
158
+ };
159
+ return (h("div", { key: '9bf6683c63cf784bba552872b00b53a19e7bd77d', class: "sd-time-picker-selector", style: cssVars }, this.useMeridiem && (h("div", { key: '096e30217c77ab8faf305965528f97026eefee85', class: "sd-time-picker-selector__meridiem" }, h("div", { key: '4931f8e17bfb1cb356e1d713dfdf1635ced0429a', class: "sd-time-picker-selector__meridiem-group" }, this.renderMeridiemButton('오전', 'AM', 'first'), this.renderMeridiemButton('오후', 'PM', 'end')))), this.useMeridiem && h("div", { key: 'a69fcd7379092069faaa556e7dc6649c46072314', class: "sd-time-picker-selector__divider" }), h("div", { key: '620e20c888b254533c34d626eac5012456b76052', class: "sd-time-picker-selector__time" }, this.renderColumn('hour'), h("span", { key: '483fc0afbbaf8faae65012bcead48a04bce6b446', class: "sd-time-picker-selector__colon" }, ":"), this.renderColumn('minute'))));
160
+ }
161
+ static get is() { return "sd-time-picker-selector"; }
162
+ static get originalStyleUrls() {
163
+ return {
164
+ "$": ["sd-time-picker-selector.scss"]
165
+ };
166
+ }
167
+ static get styleUrls() {
168
+ return {
169
+ "$": ["sd-time-picker-selector.css"]
170
+ };
171
+ }
172
+ static get properties() {
173
+ return {
174
+ "value": {
175
+ "type": "string",
176
+ "mutable": false,
177
+ "complexType": {
178
+ "original": "string | null",
179
+ "resolved": "null | string",
180
+ "references": {}
181
+ },
182
+ "required": false,
183
+ "optional": false,
184
+ "docs": {
185
+ "tags": [],
186
+ "text": "\uC120\uD0DD\uB41C \uC2DC\uAC04 (HH:mm)"
187
+ },
188
+ "getter": false,
189
+ "setter": false,
190
+ "reflect": false,
191
+ "attribute": "value",
192
+ "defaultValue": "null"
193
+ },
194
+ "useMeridiem": {
195
+ "type": "boolean",
196
+ "mutable": false,
197
+ "complexType": {
198
+ "original": "boolean",
199
+ "resolved": "boolean",
200
+ "references": {}
201
+ },
202
+ "required": false,
203
+ "optional": false,
204
+ "docs": {
205
+ "tags": [],
206
+ "text": "\uC624\uC804/\uC624\uD6C4 \uC120\uD0DD \uD45C\uC2DC \uC5EC\uBD80"
207
+ },
208
+ "getter": false,
209
+ "setter": false,
210
+ "reflect": false,
211
+ "attribute": "use-meridiem",
212
+ "defaultValue": "true"
213
+ },
214
+ "minuteStep": {
215
+ "type": "number",
216
+ "mutable": false,
217
+ "complexType": {
218
+ "original": "number",
219
+ "resolved": "number",
220
+ "references": {}
221
+ },
222
+ "required": false,
223
+ "optional": false,
224
+ "docs": {
225
+ "tags": [],
226
+ "text": "\uBD84 \uC99D\uAC10 \uB2E8\uC704"
227
+ },
228
+ "getter": false,
229
+ "setter": false,
230
+ "reflect": false,
231
+ "attribute": "minute-step",
232
+ "defaultValue": "1"
233
+ }
234
+ };
235
+ }
236
+ static get states() {
237
+ return {
238
+ "editingPart": {},
239
+ "inputDraft": {}
240
+ };
241
+ }
242
+ static get events() {
243
+ return [{
244
+ "method": "update",
245
+ "name": "sdUpdate",
246
+ "bubbles": true,
247
+ "cancelable": true,
248
+ "composed": true,
249
+ "docs": {
250
+ "tags": [],
251
+ "text": "\uC2DC\uAC04 \uBCC0\uACBD \uC2DC \uBC1C\uC0DD\uD569\uB2C8\uB2E4."
252
+ },
253
+ "complexType": {
254
+ "original": "string",
255
+ "resolved": "string",
256
+ "references": {}
257
+ }
258
+ }];
259
+ }
260
+ static get watchers() {
261
+ return [{
262
+ "propName": "value",
263
+ "methodName": "valueChanged"
264
+ }];
265
+ }
266
+ }
@@ -0,0 +1,38 @@
1
+ sd-time-picker-trigger {
2
+ display: block;
3
+ width: 100%;
4
+ height: 100%;
5
+ }
6
+ sd-time-picker-trigger .sd-time-picker-trigger {
7
+ display: flex;
8
+ align-items: center;
9
+ gap: var(--trigger-gap);
10
+ width: 100%;
11
+ height: 100%;
12
+ padding: 0 var(--trigger-padding-x);
13
+ cursor: pointer;
14
+ user-select: none;
15
+ overflow: hidden;
16
+ border-radius: var(--trigger-radius);
17
+ }
18
+ sd-time-picker-trigger .sd-time-picker-trigger--disabled {
19
+ cursor: not-allowed;
20
+ }
21
+ sd-time-picker-trigger .sd-time-picker-trigger__icon, sd-time-picker-trigger .sd-time-picker-trigger__clear {
22
+ flex-shrink: 0;
23
+ display: inline-flex;
24
+ align-items: center;
25
+ justify-content: center;
26
+ }
27
+ sd-time-picker-trigger .sd-time-picker-trigger__text {
28
+ flex: 1;
29
+ min-width: var(--trigger-text-min-width, 80px);
30
+ font-size: var(--trigger-font-size);
31
+ line-height: var(--trigger-line-height);
32
+ font-weight: var(--trigger-font-weight);
33
+ color: var(--trigger-text-color);
34
+ white-space: nowrap;
35
+ overflow: hidden;
36
+ text-overflow: ellipsis;
37
+ text-align: center;
38
+ }
@@ -0,0 +1,216 @@
1
+ import { h } from "@stencil/core";
2
+ import { TIMEPICKER_SIZE_MAP, TIMEPICKER_COLORS, } from "../sd-time-picker.config";
3
+ export class SdTimePickerTrigger {
4
+ /** 표시할 시간 텍스트 */
5
+ displayText = '';
6
+ /** 입력 힌트 텍스트 */
7
+ placeholder = '00:00';
8
+ /** 비활성 상태 여부 */
9
+ disabled = false;
10
+ /** 지우기 버튼 표시 여부 */
11
+ clearable = false;
12
+ /** 트리거 크기 */
13
+ size = 'sm';
14
+ /** 트리거 클릭 시 발생합니다. */
15
+ triggerClick;
16
+ /** 지우기 버튼 클릭 시 발생합니다. */
17
+ clear;
18
+ handleClick = () => {
19
+ if (this.disabled)
20
+ return;
21
+ this.triggerClick.emit();
22
+ };
23
+ handleClear = (event) => {
24
+ event.stopPropagation();
25
+ if (this.disabled)
26
+ return;
27
+ this.clear.emit();
28
+ };
29
+ render() {
30
+ const sizeTokens = TIMEPICKER_SIZE_MAP[this.size] ?? TIMEPICKER_SIZE_MAP.sm;
31
+ const hasValue = this.displayText !== '';
32
+ const textMinWidth = this.size === 'md' ? 96 : 80;
33
+ const cssVars = {
34
+ '--trigger-padding-x': `${sizeTokens.paddingX}px`,
35
+ '--trigger-gap': `${sizeTokens.gap}px`,
36
+ '--trigger-icon-size': `${sizeTokens.iconSize}px`,
37
+ '--trigger-font-size': `${sizeTokens.fontSize}px`,
38
+ '--trigger-line-height': `${sizeTokens.lineHeight}px`,
39
+ '--trigger-font-weight': sizeTokens.fontWeight,
40
+ '--trigger-radius': `${sizeTokens.radius}px`,
41
+ '--trigger-text-min-width': `${textMinWidth}px`,
42
+ '--trigger-text-color': this.disabled
43
+ ? TIMEPICKER_COLORS.text.disabled
44
+ : hasValue
45
+ ? TIMEPICKER_COLORS.text.default
46
+ : TIMEPICKER_COLORS.text.hint,
47
+ '--trigger-icon-color': this.disabled
48
+ ? TIMEPICKER_COLORS.icon.disabled
49
+ : TIMEPICKER_COLORS.icon.default,
50
+ };
51
+ return (h("div", { key: '4cd9086e21a7e7fedb6601c163dcf9c5c8f374d1', role: "button", tabindex: this.disabled ? -1 : 0, class: {
52
+ 'sd-time-picker-trigger': true,
53
+ 'sd-time-picker-trigger--disabled': this.disabled,
54
+ }, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
55
+ if (e.key === 'Enter' || e.key === ' ') {
56
+ e.preventDefault();
57
+ this.handleClick();
58
+ }
59
+ } }, h("sd-icon", { key: 'c38c13b3dc8c072430bb5b40765b96582696e04c', name: "clockOutline", size: Number(sizeTokens.iconSize), color: "var(--trigger-icon-color)", class: "sd-time-picker-trigger__icon" }), h("span", { key: '245e636a0645d97c825a44607516d8821cc533f9', class: "sd-time-picker-trigger__text" }, hasValue ? this.displayText : this.placeholder), this.clearable && hasValue && !this.disabled && (h("sd-ghost-button", { key: 'fa740470bf8b798fcf0863ba9e7822e496e8e841', class: "sd-time-picker-trigger__clear", icon: "close", size: "xs", ariaLabel: "\uC2DC\uAC04 \uC9C0\uC6B0\uAE30", onSdClick: this.handleClear }))));
60
+ }
61
+ static get is() { return "sd-time-picker-trigger"; }
62
+ static get originalStyleUrls() {
63
+ return {
64
+ "$": ["sd-time-picker-trigger.scss"]
65
+ };
66
+ }
67
+ static get styleUrls() {
68
+ return {
69
+ "$": ["sd-time-picker-trigger.css"]
70
+ };
71
+ }
72
+ static get properties() {
73
+ return {
74
+ "displayText": {
75
+ "type": "string",
76
+ "mutable": false,
77
+ "complexType": {
78
+ "original": "string",
79
+ "resolved": "string",
80
+ "references": {}
81
+ },
82
+ "required": false,
83
+ "optional": false,
84
+ "docs": {
85
+ "tags": [],
86
+ "text": "\uD45C\uC2DC\uD560 \uC2DC\uAC04 \uD14D\uC2A4\uD2B8"
87
+ },
88
+ "getter": false,
89
+ "setter": false,
90
+ "reflect": false,
91
+ "attribute": "display-text",
92
+ "defaultValue": "''"
93
+ },
94
+ "placeholder": {
95
+ "type": "string",
96
+ "mutable": false,
97
+ "complexType": {
98
+ "original": "string",
99
+ "resolved": "string",
100
+ "references": {}
101
+ },
102
+ "required": false,
103
+ "optional": false,
104
+ "docs": {
105
+ "tags": [],
106
+ "text": "\uC785\uB825 \uD78C\uD2B8 \uD14D\uC2A4\uD2B8"
107
+ },
108
+ "getter": false,
109
+ "setter": false,
110
+ "reflect": false,
111
+ "attribute": "placeholder",
112
+ "defaultValue": "'00:00'"
113
+ },
114
+ "disabled": {
115
+ "type": "boolean",
116
+ "mutable": false,
117
+ "complexType": {
118
+ "original": "boolean",
119
+ "resolved": "boolean",
120
+ "references": {}
121
+ },
122
+ "required": false,
123
+ "optional": false,
124
+ "docs": {
125
+ "tags": [],
126
+ "text": "\uBE44\uD65C\uC131 \uC0C1\uD0DC \uC5EC\uBD80"
127
+ },
128
+ "getter": false,
129
+ "setter": false,
130
+ "reflect": false,
131
+ "attribute": "disabled",
132
+ "defaultValue": "false"
133
+ },
134
+ "clearable": {
135
+ "type": "boolean",
136
+ "mutable": false,
137
+ "complexType": {
138
+ "original": "boolean",
139
+ "resolved": "boolean",
140
+ "references": {}
141
+ },
142
+ "required": false,
143
+ "optional": false,
144
+ "docs": {
145
+ "tags": [],
146
+ "text": "\uC9C0\uC6B0\uAE30 \uBC84\uD2BC \uD45C\uC2DC \uC5EC\uBD80"
147
+ },
148
+ "getter": false,
149
+ "setter": false,
150
+ "reflect": false,
151
+ "attribute": "clearable",
152
+ "defaultValue": "false"
153
+ },
154
+ "size": {
155
+ "type": "string",
156
+ "mutable": false,
157
+ "complexType": {
158
+ "original": "TimePickerSize",
159
+ "resolved": "\"md\" | \"sm\"",
160
+ "references": {
161
+ "TimePickerSize": {
162
+ "location": "import",
163
+ "path": "../sd-time-picker.config",
164
+ "id": "src/components/sd-time-picker/sd-time-picker.config.ts::TimePickerSize",
165
+ "referenceLocation": "TimePickerSize"
166
+ }
167
+ }
168
+ },
169
+ "required": false,
170
+ "optional": false,
171
+ "docs": {
172
+ "tags": [],
173
+ "text": "\uD2B8\uB9AC\uAC70 \uD06C\uAE30"
174
+ },
175
+ "getter": false,
176
+ "setter": false,
177
+ "reflect": false,
178
+ "attribute": "size",
179
+ "defaultValue": "'sm'"
180
+ }
181
+ };
182
+ }
183
+ static get events() {
184
+ return [{
185
+ "method": "triggerClick",
186
+ "name": "sdTriggerClick",
187
+ "bubbles": true,
188
+ "cancelable": true,
189
+ "composed": true,
190
+ "docs": {
191
+ "tags": [],
192
+ "text": "\uD2B8\uB9AC\uAC70 \uD074\uB9AD \uC2DC \uBC1C\uC0DD\uD569\uB2C8\uB2E4."
193
+ },
194
+ "complexType": {
195
+ "original": "void",
196
+ "resolved": "void",
197
+ "references": {}
198
+ }
199
+ }, {
200
+ "method": "clear",
201
+ "name": "sdClear",
202
+ "bubbles": true,
203
+ "cancelable": true,
204
+ "composed": true,
205
+ "docs": {
206
+ "tags": [],
207
+ "text": "\uC9C0\uC6B0\uAE30 \uBC84\uD2BC \uD074\uB9AD \uC2DC \uBC1C\uC0DD\uD569\uB2C8\uB2E4."
208
+ },
209
+ "complexType": {
210
+ "original": "void",
211
+ "resolved": "void",
212
+ "references": {}
213
+ }
214
+ }];
215
+ }
216
+ }
@@ -0,0 +1,78 @@
1
+ import timepickerTokens from "../../tokens/generated/component.timepicker.json";
2
+ import fieldTokens from "../../tokens/generated/component.field.json";
3
+ const sm = timepickerTokens.timepicker.sm;
4
+ const md = timepickerTokens.timepicker.md;
5
+ export const TIMEPICKER_SIZE_MAP = {
6
+ sm: {
7
+ height: sm.height,
8
+ paddingX: sm.paddingX,
9
+ gap: sm.gap,
10
+ iconSize: sm.icon,
11
+ radius: sm.radius,
12
+ // TODO: component.timepicker 토큰에 typography가 추가되면 이 fallback을 교체한다.
13
+ fontSize: '12',
14
+ lineHeight: '20',
15
+ fontWeight: '400',
16
+ minWidth: '128',
17
+ },
18
+ md: {
19
+ height: md.height,
20
+ paddingX: md.paddingX,
21
+ gap: md.gap,
22
+ iconSize: md.icon,
23
+ radius: md.radius,
24
+ // TODO: component.timepicker 토큰에 typography가 추가되면 이 fallback을 교체한다.
25
+ fontSize: '14',
26
+ lineHeight: '24',
27
+ fontWeight: '400',
28
+ minWidth: '160',
29
+ },
30
+ };
31
+ export const TIMEPICKER_COLORS = {
32
+ border: timepickerTokens.timepicker.border,
33
+ bg: timepickerTokens.timepicker.bg,
34
+ icon: timepickerTokens.timepicker.icon,
35
+ text: {
36
+ ...timepickerTokens.timepicker.text,
37
+ hint: fieldTokens.field.hint.color,
38
+ },
39
+ };
40
+ export const TIMEPICKER_SELECTOR = {
41
+ bg: timepickerTokens.timepicker.selector.bg,
42
+ radius: timepickerTokens.timepicker.selector.radius,
43
+ section: timepickerTokens.timepicker.selector.section,
44
+ time: timepickerTokens.timepicker.selector.time,
45
+ inputWidth: timepickerTokens.timepicker.selector.input.width,
46
+ colonSize: timepickerTokens.timepicker.selector.colon.size,
47
+ range: timepickerTokens.timepicker.selector.range,
48
+ };
49
+ export function clampTimePart(value, min, max) {
50
+ if (!Number.isFinite(value))
51
+ return min;
52
+ return Math.min(Math.max(value, min), max);
53
+ }
54
+ export function padTimePart(value) {
55
+ return String(value).padStart(2, '0');
56
+ }
57
+ export function parseTimeValue(value) {
58
+ const match = /^(\d{1,2}):(\d{1,2})$/.exec(value ?? '');
59
+ if (!match)
60
+ return { hour: 0, minute: 0 };
61
+ return {
62
+ hour: clampTimePart(Number(match[1]), 0, 23),
63
+ minute: clampTimePart(Number(match[2]), 0, 59),
64
+ };
65
+ }
66
+ export function formatTimeValue(hour, minute) {
67
+ return `${padTimePart(clampTimePart(hour, 0, 23))}:${padTimePart(clampTimePart(minute, 0, 59))}`;
68
+ }
69
+ export function formatTimeDisplay(value, type) {
70
+ if (value == null || value === '')
71
+ return '';
72
+ const { hour, minute } = parseTimeValue(value);
73
+ if (type === 'default')
74
+ return formatTimeValue(hour, minute);
75
+ const meridiem = hour >= 12 ? '오후' : '오전';
76
+ const displayHour = hour % 12 === 0 ? 12 : hour % 12;
77
+ return `${meridiem} ${padTimePart(displayHour)}:${padTimePart(minute)}`;
78
+ }
@@ -0,0 +1,12 @@
1
+ sd-time-picker {
2
+ display: inline-flex;
3
+ }
4
+ sd-time-picker sd-portal {
5
+ display: none;
6
+ }
7
+ sd-time-picker .sd-time-picker {
8
+ position: relative;
9
+ min-width: var(--sd-time-picker-min-width);
10
+ width: 100%;
11
+ height: 100%;
12
+ }