@sellmate/design-system 1.28.0 → 1.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/dist/cjs/design-system.cjs.js +2 -2
  2. package/dist/cjs/{index-D12oddge.js → index-Jr8OU0y9.js} +1 -15
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/sd-action-modal.cjs.entry.js +2 -2
  5. package/dist/cjs/sd-badge.cjs.entry.js +2 -2
  6. package/dist/cjs/sd-barcode-input.cjs.entry.js +2 -2
  7. package/dist/cjs/sd-button_2.cjs.entry.js +3 -3
  8. package/dist/cjs/sd-calendar_2.cjs.entry.js +8 -9
  9. package/dist/cjs/sd-callout.cjs.entry.js +2 -2
  10. package/dist/cjs/sd-card.cjs.entry.js +2 -2
  11. package/dist/cjs/sd-checkbox.cjs.entry.js +5 -5
  12. package/dist/cjs/sd-chip-input.cjs.entry.js +22 -17
  13. package/dist/cjs/sd-chip.cjs.entry.js +7 -7
  14. package/dist/cjs/sd-circle-progress.cjs.entry.js +4 -4
  15. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +33 -36
  16. package/dist/cjs/sd-date-box.cjs.entry.js +1 -1
  17. package/dist/cjs/{component.datepicker-CUQbDSku.js → sd-date-picker.config-CgyNxY03.js} +64 -0
  18. package/dist/cjs/{sd-date-picker_7.cjs.entry.js → sd-date-picker_8.cjs.entry.js} +446 -47
  19. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +162 -12
  20. package/dist/cjs/sd-divider.cjs.entry.js +3 -3
  21. package/dist/cjs/sd-dropdown-button.cjs.entry.js +2 -2
  22. package/dist/cjs/sd-field_3.cjs.entry.js +51 -52
  23. package/dist/cjs/sd-form.cjs.entry.js +1 -1
  24. package/dist/cjs/sd-ghost-button_3.cjs.entry.js +14 -10
  25. package/dist/cjs/sd-guide.cjs.entry.js +2 -2
  26. package/dist/cjs/sd-key-value-table.cjs.entry.js +88 -18
  27. package/dist/cjs/sd-linear-progress.cjs.entry.js +3 -3
  28. package/dist/cjs/sd-loading-container.cjs.entry.js +3 -3
  29. package/dist/cjs/sd-modal-container.cjs.entry.js +16 -2
  30. package/dist/cjs/sd-pagination.cjs.entry.js +173 -0
  31. package/dist/cjs/sd-popover.cjs.entry.js +134 -44
  32. package/dist/cjs/sd-popup.cjs.entry.js +3 -3
  33. package/dist/cjs/sd-radio-button.cjs.entry.js +3 -3
  34. package/dist/cjs/sd-radio.cjs.entry.js +4 -2
  35. package/dist/cjs/{sd-select_3.cjs.entry.js → sd-select-list-item_4.cjs.entry.js} +294 -315
  36. package/dist/cjs/sd-switch.cjs.entry.js +13 -3
  37. package/dist/cjs/sd-tabs.cjs.entry.js +2 -2
  38. package/dist/cjs/sd-text-link.cjs.entry.js +4 -4
  39. package/dist/cjs/sd-time-picker-selector.cjs.entry.js +179 -0
  40. package/dist/cjs/sd-time-picker-trigger.cjs.entry.js +75 -0
  41. package/dist/cjs/sd-time-picker.cjs.entry.js +173 -0
  42. package/dist/cjs/sd-time-picker.config-C7REB08L.js +156 -0
  43. package/dist/cjs/sd-time-range-picker-selector.cjs.entry.js +219 -0
  44. package/dist/cjs/sd-time-range-picker.cjs.entry.js +204 -0
  45. package/dist/cjs/sd-toast-container.cjs.entry.js +2 -2
  46. package/dist/cjs/sd-toast.cjs.entry.js +3 -3
  47. package/dist/cjs/sd-toggle.cjs.entry.js +2 -2
  48. package/dist/cjs/{system-MjrAugX-.js → system-B4KkVpu2.js} +1 -7
  49. package/dist/cjs/{tooltipArrow-Dda4ik0V.js → tooltipArrow-BlrFItn5.js} +1 -1
  50. package/dist/cjs/useDatePicker-j06ymWZ_.js +103 -0
  51. package/dist/collection/collection-manifest.json +8 -8
  52. package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
  53. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  54. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
  55. package/dist/collection/components/sd-button/sd-button.js +2 -2
  56. package/dist/collection/components/sd-calendar/sd-calendar.js +3 -3
  57. package/dist/collection/components/sd-callout/sd-callout.js +1 -1
  58. package/dist/collection/components/sd-card/sd-card.js +1 -1
  59. package/dist/collection/components/sd-checkbox/sd-checkbox.js +8 -8
  60. package/dist/collection/components/sd-chip/sd-chip.js +8 -8
  61. package/dist/collection/components/sd-chip-input/sd-chip-input.css +3 -0
  62. package/dist/collection/components/sd-chip-input/sd-chip-input.js +43 -17
  63. package/dist/collection/components/sd-circle-progress/sd-circle-progress.css +1 -0
  64. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  65. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.css +3 -0
  66. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +35 -59
  67. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  68. package/dist/collection/components/sd-date-picker/sd-date-picker.js +23 -2
  69. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.css +75 -0
  70. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +152 -6
  71. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.config.js +27 -0
  72. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +59 -3
  73. package/dist/collection/components/sd-divider/sd-divider.js +1 -1
  74. package/dist/collection/components/sd-field/sd-field.css +4 -0
  75. package/dist/collection/components/sd-field/sd-field.js +58 -5
  76. package/dist/collection/components/sd-file-picker/sd-file-picker.config.js +17 -10
  77. package/dist/collection/components/sd-file-picker/sd-file-picker.js +46 -16
  78. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  79. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +27 -3
  80. package/dist/collection/components/sd-input/sd-input.js +4 -4
  81. package/dist/collection/components/sd-key-value-table/sd-key-value-table.config.js +2 -0
  82. package/dist/collection/components/sd-key-value-table/sd-key-value-table.css +5 -1
  83. package/dist/collection/components/sd-key-value-table/sd-key-value-table.js +65 -15
  84. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
  85. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  86. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  87. package/dist/collection/components/sd-modal-container/sd-modal-container.js +15 -1
  88. package/dist/collection/components/sd-number-input/sd-number-input.js +58 -7
  89. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  90. package/dist/collection/components/sd-popover/sd-popover.config.js +41 -0
  91. package/dist/collection/components/sd-popover/sd-popover.js +189 -191
  92. package/dist/collection/components/sd-popup/sd-popup.js +1 -1
  93. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  94. package/dist/collection/components/sd-radio/sd-radio.js +25 -4
  95. package/dist/collection/components/sd-radio-button/sd-radio-button.js +6 -6
  96. package/dist/collection/components/sd-radio-group/sd-radio-group.js +7 -7
  97. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +2 -2
  98. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
  99. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +2 -2
  100. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
  101. package/dist/collection/components/sd-select/sd-select.js +4 -4
  102. package/dist/collection/components/sd-switch/sd-switch.js +54 -3
  103. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  104. package/dist/collection/components/sd-tag/sd-tag.js +7 -8
  105. package/dist/collection/components/sd-text-link/sd-text-link.js +3 -3
  106. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  107. package/dist/collection/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.css +87 -0
  108. package/dist/collection/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.js +266 -0
  109. package/dist/collection/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.css +38 -0
  110. package/dist/collection/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.js +216 -0
  111. package/dist/collection/components/sd-time-picker/sd-time-picker.config.js +78 -0
  112. package/dist/collection/components/sd-time-picker/sd-time-picker.css +12 -0
  113. package/dist/collection/components/sd-time-picker/sd-time-picker.js +761 -0
  114. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.css +102 -0
  115. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.js +338 -0
  116. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.config.js +23 -0
  117. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.css +12 -0
  118. package/dist/collection/components/sd-time-range-picker/sd-time-range-picker.js +809 -0
  119. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  120. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  121. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  122. package/dist/collection/components/sd-tooltip/sd-tooltip.js +36 -189
  123. package/dist/components/index.js +1 -1
  124. package/dist/components/p-1DsQj3tv.js +1 -0
  125. package/dist/components/p-2g4jlJ3i.js +1 -0
  126. package/dist/components/{p-BE6ymp9E.js → p-6U1qyU5A.js} +1 -1
  127. package/dist/components/{p-1i6Q61TF.js → p-B-EV9bey.js} +1 -1
  128. package/dist/components/p-B887QQl2.js +1 -0
  129. package/dist/components/{p-BysikR_g.js → p-BPzs63D8.js} +1 -1
  130. package/dist/components/p-Bth2l1cy.js +1 -0
  131. package/dist/components/{p-CTDPl65u.js → p-BvJ14GuJ.js} +1 -1
  132. package/dist/components/p-Bxv2AFOb.js +1 -0
  133. package/dist/components/p-C6o10dl7.js +1 -0
  134. package/dist/components/p-C6wuKkUq.js +1 -0
  135. package/dist/components/{p-BAVsc1Ml.js → p-C9IKm4j5.js} +1 -1
  136. package/dist/components/{p-BuADVB78.js → p-CH9dgzTr.js} +1 -1
  137. package/dist/components/p-CKV2W-zU.js +1 -0
  138. package/dist/components/p-CTCt17CE.js +1 -0
  139. package/dist/components/{p-laVsm9VM.js → p-CghFB91T.js} +1 -1
  140. package/dist/components/p-Ckr9iuVb.js +1 -0
  141. package/dist/components/p-ClbD4Gsr.js +1 -0
  142. package/dist/components/p-CmCOLnc0.js +1 -0
  143. package/dist/components/{p-DNbbdJIc.js → p-CwzkplrI.js} +1 -1
  144. package/dist/components/p-CzJ9g73f.js +1 -0
  145. package/dist/components/p-D8yhjm54.js +1 -0
  146. package/dist/components/p-D9qp3o5Y.js +1 -0
  147. package/dist/components/{p-Bgxca9o5.js → p-DE8Ws9As.js} +1 -1
  148. package/dist/components/p-DMm_GeZC.js +1 -0
  149. package/dist/components/{p-BnI9HUOv.js → p-DOfLrOEu.js} +1 -1
  150. package/dist/components/{p-vtuEYpc6.js → p-DSWD8udu.js} +1 -1
  151. package/dist/components/{p-BKV1WAFb.js → p-DWnuCSqC.js} +1 -1
  152. package/dist/components/p-DYjaQs6e.js +1 -0
  153. package/dist/components/{p-pwGA4sDj.js → p-DasiqnrU.js} +1 -1
  154. package/dist/components/p-Dc9g3-5z.js +1 -0
  155. package/dist/components/{p-ClD0nx1l.js → p-DnlLqzGM.js} +1 -1
  156. package/dist/components/p-DsZwiWiU.js +1 -0
  157. package/dist/components/{p-IDlLs_KA.js → p-FGII920I.js} +1 -1
  158. package/dist/components/p-Hjv7LqkN.js +1 -0
  159. package/dist/components/{p-CHHlQceE.js → p-In6mljvA.js} +1 -1
  160. package/dist/components/p-OnBLxJAP.js +1 -0
  161. package/dist/components/p-SYnTIeiO.js +1 -0
  162. package/dist/{design-system/p-D2S9Zafz.js → components/p-bXzpfkfN.js} +1 -1
  163. package/dist/components/p-mcbwNjNT.js +1 -0
  164. package/dist/components/p-qZxAQy4p.js +1 -0
  165. package/dist/components/sd-action-modal.js +1 -1
  166. package/dist/components/sd-badge.js +1 -1
  167. package/dist/components/sd-barcode-input.js +1 -1
  168. package/dist/components/sd-button.js +1 -1
  169. package/dist/components/sd-calendar.js +1 -1
  170. package/dist/components/sd-callout.js +1 -1
  171. package/dist/components/sd-card.js +1 -1
  172. package/dist/components/sd-checkbox.js +1 -1
  173. package/dist/components/sd-chip-input.js +1 -1
  174. package/dist/components/sd-chip.js +1 -1
  175. package/dist/components/sd-circle-progress.js +1 -1
  176. package/dist/components/sd-confirm-modal.js +1 -1
  177. package/dist/components/sd-date-box.js +1 -1
  178. package/dist/components/sd-date-picker-trigger.js +1 -1
  179. package/dist/components/sd-date-picker.js +1 -1
  180. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  181. package/dist/components/sd-date-range-picker.js +1 -1
  182. package/dist/components/sd-divider.js +1 -1
  183. package/dist/components/sd-dropdown-button.js +1 -1
  184. package/dist/components/sd-field.js +1 -1
  185. package/dist/components/sd-file-picker.js +1 -1
  186. package/dist/components/sd-floating-portal.js +1 -1
  187. package/dist/components/sd-form.js +1 -1
  188. package/dist/components/sd-ghost-button.js +1 -1
  189. package/dist/components/sd-guide.js +1 -1
  190. package/dist/components/sd-icon.js +1 -1
  191. package/dist/components/sd-input.js +1 -1
  192. package/dist/components/sd-key-value-table.js +1 -1
  193. package/dist/components/sd-linear-progress.js +1 -1
  194. package/dist/components/sd-loading-container.js +1 -1
  195. package/dist/components/sd-loading-modal.js +1 -1
  196. package/dist/components/sd-modal-container.js +1 -1
  197. package/dist/components/sd-number-input.js +1 -1
  198. package/dist/components/sd-pagination.js +1 -1
  199. package/dist/components/sd-popover.js +1 -1
  200. package/dist/components/sd-popup.js +1 -1
  201. package/dist/components/sd-portal.js +1 -1
  202. package/dist/components/sd-radio-button.js +1 -1
  203. package/dist/components/sd-radio-group.js +1 -1
  204. package/dist/components/sd-radio.js +1 -1
  205. package/dist/components/sd-select-list-item-search.js +1 -1
  206. package/dist/components/sd-select-list-item.js +1 -1
  207. package/dist/components/sd-select-listbox.js +1 -1
  208. package/dist/components/sd-select-trigger.js +1 -1
  209. package/dist/components/sd-select.js +1 -1
  210. package/dist/components/sd-switch.js +1 -1
  211. package/dist/components/sd-tabs.js +1 -1
  212. package/dist/components/sd-tag.js +1 -1
  213. package/dist/components/sd-text-link.js +1 -1
  214. package/dist/components/sd-textarea.js +1 -1
  215. package/dist/components/sd-time-picker-selector.d.ts +11 -0
  216. package/dist/components/sd-time-picker-selector.js +1 -0
  217. package/dist/components/{sd-table.d.ts → sd-time-picker-trigger.d.ts} +4 -4
  218. package/dist/components/sd-time-picker-trigger.js +1 -0
  219. package/dist/components/{sd-thead.d.ts → sd-time-picker.d.ts} +4 -4
  220. package/dist/components/sd-time-picker.js +1 -0
  221. package/dist/components/sd-time-range-picker-selector.d.ts +11 -0
  222. package/dist/components/sd-time-range-picker-selector.js +1 -0
  223. package/dist/components/{sd-td.d.ts → sd-time-range-picker.d.ts} +4 -4
  224. package/dist/components/sd-time-range-picker.js +1 -0
  225. package/dist/components/sd-toast-container.js +1 -1
  226. package/dist/components/sd-toast.js +1 -1
  227. package/dist/components/sd-toggle.js +1 -1
  228. package/dist/components/sd-tooltip.js +1 -1
  229. package/dist/design-system/design-system.css +1 -1
  230. package/dist/design-system/design-system.esm.js +1 -1
  231. package/dist/design-system/{p-750a9112.entry.js → p-129b6330.entry.js} +1 -1
  232. package/dist/design-system/p-15f43b9b.entry.js +1 -0
  233. package/dist/design-system/p-16b9eac4.entry.js +1 -0
  234. package/dist/design-system/{p-0b8c86c3.entry.js → p-1858636f.entry.js} +1 -1
  235. package/dist/design-system/{p-a938ffee.entry.js → p-21672bb8.entry.js} +1 -1
  236. package/dist/design-system/{p-3b3a46cd.entry.js → p-219288ef.entry.js} +1 -1
  237. package/dist/design-system/{p-26f2f4c2.entry.js → p-22ac9e05.entry.js} +1 -1
  238. package/dist/design-system/p-2534d3d4.entry.js +1 -0
  239. package/dist/design-system/p-3859316f.entry.js +1 -0
  240. package/dist/design-system/{p-67f19734.entry.js → p-46da4e95.entry.js} +1 -1
  241. package/dist/design-system/{p-287d8016.entry.js → p-46eb3421.entry.js} +1 -1
  242. package/dist/design-system/p-4782331f.entry.js +1 -0
  243. package/dist/design-system/p-4a117dd6.entry.js +1 -0
  244. package/dist/design-system/{p-58ec51db.entry.js → p-4ae0a64a.entry.js} +1 -1
  245. package/dist/design-system/{p-bbd24816.entry.js → p-52b1be6f.entry.js} +1 -1
  246. package/dist/design-system/p-56e7c87b.entry.js +1 -0
  247. package/dist/design-system/p-570b9e91.entry.js +1 -0
  248. package/dist/design-system/p-5a113197.entry.js +1 -0
  249. package/dist/design-system/p-62ff77e4.entry.js +1 -0
  250. package/dist/design-system/{p-1230b51b.entry.js → p-655324cd.entry.js} +1 -1
  251. package/dist/design-system/p-66cff123.entry.js +1 -0
  252. package/dist/design-system/{p-4970f1ff.entry.js → p-6c4fa9d7.entry.js} +1 -1
  253. package/dist/design-system/{p-071e73e0.entry.js → p-809a0a71.entry.js} +1 -1
  254. package/dist/design-system/{p-70608fec.entry.js → p-82cb62a9.entry.js} +1 -1
  255. package/dist/design-system/p-843d1a8a.entry.js +1 -0
  256. package/dist/design-system/{p-fbeed0e4.entry.js → p-8836d9ff.entry.js} +1 -1
  257. package/dist/design-system/p-8af8e302.entry.js +1 -0
  258. package/dist/design-system/p-9c131122.entry.js +1 -0
  259. package/dist/design-system/{p-BqWuC4-J.js → p-BnUjeY2n.js} +1 -1
  260. package/dist/design-system/p-Bth2l1cy.js +1 -0
  261. package/dist/design-system/p-C599jhDs.js +2 -0
  262. package/dist/design-system/{p-CRWmn35N.js → p-Cn8LZw1e.js} +1 -1
  263. package/dist/design-system/p-DMm_GeZC.js +1 -0
  264. package/dist/design-system/p-Dz23PPdF.js +1 -0
  265. package/dist/design-system/p-a0c55a19.entry.js +1 -0
  266. package/dist/design-system/p-a6c292d1.entry.js +1 -0
  267. package/dist/design-system/p-a9cc4697.entry.js +1 -0
  268. package/dist/design-system/{p-2553bb1f.entry.js → p-b2dc1202.entry.js} +1 -1
  269. package/dist/design-system/{p-9c0bca09.entry.js → p-b5229957.entry.js} +1 -1
  270. package/dist/design-system/{p-d7e302af.entry.js → p-b75cc0dd.entry.js} +1 -1
  271. package/dist/design-system/p-b97a6cf3.entry.js +1 -0
  272. package/dist/design-system/p-c1e625e5.entry.js +1 -0
  273. package/dist/design-system/{p-5687ed0c.entry.js → p-c7f03dea.entry.js} +1 -1
  274. package/dist/design-system/p-cdb2433a.entry.js +1 -0
  275. package/dist/design-system/{p-61f5d5ea.entry.js → p-d5325895.entry.js} +1 -1
  276. package/dist/design-system/p-e0e4a451.entry.js +1 -0
  277. package/dist/design-system/p-e387ec65.entry.js +1 -0
  278. package/dist/design-system/{p-bab692c6.entry.js → p-efe3601d.entry.js} +1 -1
  279. package/dist/esm/design-system.js +3 -3
  280. package/dist/esm/{index-DDNBPrZh.js → index-C599jhDs.js} +2 -14
  281. package/dist/esm/loader.js +3 -3
  282. package/dist/esm/sd-action-modal.entry.js +2 -2
  283. package/dist/esm/sd-badge.entry.js +2 -2
  284. package/dist/esm/sd-barcode-input.entry.js +2 -2
  285. package/dist/esm/sd-button_2.entry.js +3 -3
  286. package/dist/esm/sd-calendar_2.entry.js +8 -9
  287. package/dist/esm/sd-callout.entry.js +2 -2
  288. package/dist/esm/sd-card.entry.js +2 -2
  289. package/dist/esm/sd-checkbox.entry.js +5 -5
  290. package/dist/esm/sd-chip-input.entry.js +22 -17
  291. package/dist/esm/sd-chip.entry.js +7 -7
  292. package/dist/esm/sd-circle-progress.entry.js +4 -4
  293. package/dist/esm/sd-confirm-modal_2.entry.js +33 -36
  294. package/dist/esm/sd-date-box.entry.js +1 -1
  295. package/dist/esm/{component.datepicker-laVsm9VM.js → sd-date-picker.config-CdXJcOGr.js} +63 -1
  296. package/dist/esm/{sd-date-picker_7.entry.js → sd-date-picker_8.entry.js} +446 -48
  297. package/dist/esm/sd-date-range-picker-calendar.entry.js +158 -8
  298. package/dist/esm/sd-divider.entry.js +3 -3
  299. package/dist/esm/sd-dropdown-button.entry.js +2 -2
  300. package/dist/esm/sd-field_3.entry.js +51 -52
  301. package/dist/esm/sd-form.entry.js +1 -1
  302. package/dist/esm/sd-ghost-button_3.entry.js +14 -10
  303. package/dist/esm/sd-guide.entry.js +2 -2
  304. package/dist/esm/sd-key-value-table.entry.js +87 -17
  305. package/dist/esm/sd-linear-progress.entry.js +3 -3
  306. package/dist/esm/sd-loading-container.entry.js +3 -3
  307. package/dist/esm/sd-modal-container.entry.js +16 -2
  308. package/dist/esm/sd-pagination.entry.js +171 -0
  309. package/dist/esm/sd-popover.entry.js +134 -44
  310. package/dist/esm/sd-popup.entry.js +3 -3
  311. package/dist/esm/sd-radio-button.entry.js +3 -3
  312. package/dist/esm/sd-radio.entry.js +4 -2
  313. package/dist/esm/{sd-select_3.entry.js → sd-select-list-item_4.entry.js} +277 -299
  314. package/dist/esm/sd-switch.entry.js +13 -3
  315. package/dist/esm/sd-tabs.entry.js +2 -2
  316. package/dist/esm/sd-text-link.entry.js +4 -4
  317. package/dist/esm/sd-time-picker-selector.entry.js +177 -0
  318. package/dist/esm/sd-time-picker-trigger.entry.js +73 -0
  319. package/dist/esm/sd-time-picker.config-DUq29Nhs.js +148 -0
  320. package/dist/esm/sd-time-picker.entry.js +171 -0
  321. package/dist/esm/sd-time-range-picker-selector.entry.js +217 -0
  322. package/dist/esm/sd-time-range-picker.entry.js +202 -0
  323. package/dist/esm/sd-toast-container.entry.js +2 -2
  324. package/dist/esm/sd-toast.entry.js +3 -3
  325. package/dist/esm/sd-toggle.entry.js +2 -2
  326. package/dist/esm/{system-BJfiMC9H.js → system-Bth2l1cy.js} +1 -7
  327. package/dist/esm/{tooltipArrow-blL0aWPE.js → tooltipArrow-DbLihSLI.js} +1 -1
  328. package/dist/esm/{useDatePicker-DoUg--aq.js → useDatePicker-DQ5Kyy_D.js} +1 -1
  329. package/dist/types/components/sd-checkbox/sd-checkbox.d.ts +2 -2
  330. package/dist/types/components/sd-chip/sd-chip.d.ts +3 -3
  331. package/dist/types/components/sd-chip-input/sd-chip-input.d.ts +4 -2
  332. package/dist/types/components/sd-confirm-modal/sd-confirm-modal.d.ts +10 -10
  333. package/dist/types/components/sd-date-picker/sd-date-picker.d.ts +2 -0
  334. package/dist/types/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.d.ts +20 -0
  335. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.config.d.ts +25 -0
  336. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.d.ts +9 -0
  337. package/dist/types/components/sd-field/sd-field.d.ts +7 -0
  338. package/dist/types/components/sd-file-picker/sd-file-picker.config.d.ts +28 -0
  339. package/dist/types/components/sd-file-picker/sd-file-picker.d.ts +3 -1
  340. package/dist/types/components/sd-ghost-button/sd-ghost-button.d.ts +5 -0
  341. package/dist/types/components/sd-input/sd-input.d.ts +1 -1
  342. package/dist/types/components/sd-key-value-table/sd-key-value-table.config.d.ts +22 -3
  343. package/dist/types/components/sd-key-value-table/sd-key-value-table.d.ts +9 -1
  344. package/dist/types/components/sd-modal-container/sd-modal-container.config.d.ts +3 -0
  345. package/dist/types/components/sd-modal-container/sd-modal-container.d.ts +2 -0
  346. package/dist/types/components/sd-number-input/sd-number-input.d.ts +8 -0
  347. package/dist/types/components/sd-popover/sd-popover.config.d.ts +22 -0
  348. package/dist/types/components/sd-popover/sd-popover.d.ts +29 -36
  349. package/dist/types/components/sd-radio/sd-radio.d.ts +3 -1
  350. package/dist/types/components/sd-radio-button/sd-radio-button.d.ts +2 -2
  351. package/dist/types/components/sd-radio-group/sd-radio-group.d.ts +2 -2
  352. package/dist/types/components/sd-switch/sd-switch.d.ts +8 -1
  353. package/dist/types/components/sd-tag/sd-tag.d.ts +2 -2
  354. package/dist/types/components/sd-time-picker/sd-time-picker-selector/sd-time-picker-selector.d.ts +35 -0
  355. package/dist/types/components/sd-time-picker/sd-time-picker-trigger/sd-time-picker-trigger.d.ts +21 -0
  356. package/dist/types/components/sd-time-picker/sd-time-picker.config.d.ts +71 -0
  357. package/dist/types/components/sd-time-picker/sd-time-picker.d.ts +84 -0
  358. package/dist/types/components/sd-time-range-picker/sd-time-range-picker-selector/sd-time-range-picker-selector.d.ts +40 -0
  359. package/dist/types/components/sd-time-range-picker/sd-time-range-picker.config.d.ts +9 -0
  360. package/dist/types/components/sd-time-range-picker/sd-time-range-picker.d.ts +88 -0
  361. package/dist/types/components/sd-tooltip/sd-tooltip.d.ts +7 -22
  362. package/dist/types/components.d.ts +1093 -885
  363. package/dist/types/index.d.ts +0 -1
  364. package/hydrate/index.js +2573 -3144
  365. package/hydrate/index.mjs +2573 -3144
  366. package/package.json +1 -1
  367. package/dist/cjs/component.table-POXY492T.js +0 -72
  368. package/dist/cjs/constants-DJRV1upE.js +0 -5
  369. package/dist/cjs/sd-date-picker.config-De7ahWIs.js +0 -41
  370. package/dist/cjs/sd-pagination_4.cjs.entry.js +0 -858
  371. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +0 -173
  372. package/dist/cjs/sd-select.config-omyxekRa.js +0 -144
  373. package/dist/cjs/sd-table.cjs.entry.js +0 -956
  374. package/dist/cjs/sd-table.config-DFy_S4bc.js +0 -83
  375. package/dist/cjs/sd-td.cjs.entry.js +0 -201
  376. package/dist/cjs/useDatePicker-iMd6WToc.js +0 -103
  377. package/dist/collection/components/sd-table/constants.js +0 -1
  378. package/dist/collection/components/sd-table/sd-table.config.js +0 -88
  379. package/dist/collection/components/sd-table/sd-table.css +0 -180
  380. package/dist/collection/components/sd-table/sd-table.js +0 -1709
  381. package/dist/collection/components/sd-table/sd-table.stories.helpers.js +0 -242
  382. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.css +0 -10
  383. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +0 -110
  384. package/dist/collection/components/sd-table/sd-td/sd-td.css +0 -15
  385. package/dist/collection/components/sd-table/sd-td/sd-td.js +0 -381
  386. package/dist/collection/components/sd-table/sd-thead/sd-thead.css +0 -186
  387. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +0 -629
  388. package/dist/collection/components/sd-table/sd-tr/sd-tr.css +0 -145
  389. package/dist/collection/components/sd-table/sd-tr/sd-tr.js +0 -530
  390. package/dist/components/p-5pkzwl5N.js +0 -1
  391. package/dist/components/p-B-pJW3nY.js +0 -1
  392. package/dist/components/p-B2pYDEK7.js +0 -1
  393. package/dist/components/p-B3HYnTGx.js +0 -1
  394. package/dist/components/p-B6ezDhRg.js +0 -1
  395. package/dist/components/p-BCxePXvg.js +0 -1
  396. package/dist/components/p-BJfiMC9H.js +0 -1
  397. package/dist/components/p-BNHhtZUf.js +0 -1
  398. package/dist/components/p-BQ4Okfcm.js +0 -1
  399. package/dist/components/p-BSxleKw8.js +0 -1
  400. package/dist/components/p-BUgGuigd.js +0 -1
  401. package/dist/components/p-BWHQn4fD.js +0 -1
  402. package/dist/components/p-BZXgIBUG.js +0 -1
  403. package/dist/components/p-Bxb7TcZh.js +0 -1
  404. package/dist/components/p-C0tnN4yn.js +0 -1
  405. package/dist/components/p-CMvHDxR5.js +0 -1
  406. package/dist/components/p-CSh-DcM7.js +0 -1
  407. package/dist/components/p-Cf62Nvrx.js +0 -1
  408. package/dist/components/p-DbPS61bp.js +0 -1
  409. package/dist/components/p-DckXBMgo.js +0 -1
  410. package/dist/components/p-DmAnTwUx.js +0 -1
  411. package/dist/components/p-E8OA_psS.js +0 -1
  412. package/dist/components/p-PFLrdhQj.js +0 -1
  413. package/dist/components/p-l9RiSWRc.js +0 -1
  414. package/dist/components/p-paSLRXAR.js +0 -1
  415. package/dist/components/p-sZMi_32I.js +0 -1
  416. package/dist/components/p-yxZBh03f.js +0 -1
  417. package/dist/components/sd-table.js +0 -1
  418. package/dist/components/sd-tbody.d.ts +0 -11
  419. package/dist/components/sd-tbody.js +0 -1
  420. package/dist/components/sd-td.js +0 -1
  421. package/dist/components/sd-thead.js +0 -1
  422. package/dist/components/sd-tr.d.ts +0 -11
  423. package/dist/components/sd-tr.js +0 -1
  424. package/dist/design-system/p-0048de73.entry.js +0 -1
  425. package/dist/design-system/p-20f69606.entry.js +0 -1
  426. package/dist/design-system/p-27197194.entry.js +0 -1
  427. package/dist/design-system/p-5c8f4d9c.entry.js +0 -1
  428. package/dist/design-system/p-5pkzwl5N.js +0 -1
  429. package/dist/design-system/p-75726e20.entry.js +0 -1
  430. package/dist/design-system/p-7abf62f3.entry.js +0 -1
  431. package/dist/design-system/p-7ae27a26.entry.js +0 -1
  432. package/dist/design-system/p-84d0181b.entry.js +0 -1
  433. package/dist/design-system/p-91f7be74.entry.js +0 -1
  434. package/dist/design-system/p-94d6b7b4.entry.js +0 -1
  435. package/dist/design-system/p-9b21773a.entry.js +0 -1
  436. package/dist/design-system/p-BJfiMC9H.js +0 -1
  437. package/dist/design-system/p-Cf62Nvrx.js +0 -1
  438. package/dist/design-system/p-CuAh9n2o.js +0 -1
  439. package/dist/design-system/p-DDNBPrZh.js +0 -2
  440. package/dist/design-system/p-a12d7362.entry.js +0 -1
  441. package/dist/design-system/p-b831eded.entry.js +0 -1
  442. package/dist/design-system/p-c5502585.entry.js +0 -1
  443. package/dist/design-system/p-c81898a0.entry.js +0 -1
  444. package/dist/design-system/p-d4e2f412.entry.js +0 -1
  445. package/dist/design-system/p-d6b3d78b.entry.js +0 -1
  446. package/dist/design-system/p-dbfa3931.entry.js +0 -1
  447. package/dist/design-system/p-f16985c9.entry.js +0 -1
  448. package/dist/design-system/p-fa967329.entry.js +0 -1
  449. package/dist/design-system/p-laVsm9VM.js +0 -1
  450. package/dist/design-system/p-sZMi_32I.js +0 -1
  451. package/dist/esm/component.table-5pkzwl5N.js +0 -70
  452. package/dist/esm/constants-sZMi_32I.js +0 -3
  453. package/dist/esm/sd-date-picker.config-D-ks6qNf.js +0 -38
  454. package/dist/esm/sd-pagination_4.entry.js +0 -853
  455. package/dist/esm/sd-select-list-item_2.entry.js +0 -170
  456. package/dist/esm/sd-select.config-CeHGlqOT.js +0 -129
  457. package/dist/esm/sd-table.config-DmOBlnsM.js +0 -70
  458. package/dist/esm/sd-table.entry.js +0 -954
  459. package/dist/esm/sd-td.entry.js +0 -199
  460. package/dist/types/components/sd-table/constants.d.ts +0 -50
  461. package/dist/types/components/sd-table/sd-table.config.d.ts +0 -71
  462. package/dist/types/components/sd-table/sd-table.d.ts +0 -199
  463. package/dist/types/components/sd-table/sd-table.stories.helpers.d.ts +0 -39
  464. package/dist/types/components/sd-table/sd-tbody/sd-tbody.d.ts +0 -15
  465. package/dist/types/components/sd-table/sd-td/sd-td.d.ts +0 -38
  466. package/dist/types/components/sd-table/sd-thead/sd-thead.d.ts +0 -62
  467. package/dist/types/components/sd-table/sd-tr/sd-tr.d.ts +0 -54
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-DDNBPrZh.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-C599jhDs.js';
2
2
 
3
3
  var switchTokens = {
4
4
  "switch": {
@@ -65,7 +65,14 @@ const SdSwitch = class {
65
65
  }
66
66
  /** 현재 on/off 상태 */
67
67
  value = false;
68
- /** 표시할 라벨 텍스트 */
68
+ /** 스위치 좌측 라벨 */
69
+ leftLabel;
70
+ /** 스위치 우측 라벨 */
71
+ rightLabel;
72
+ /**
73
+ * 표시할 라벨 텍스트
74
+ * @deprecated `rightLabel` 사용. 우측 라벨(하위호환)
75
+ */
69
76
  label = '';
70
77
  /** 비활성 상태 여부 */
71
78
  disabled = false;
@@ -107,7 +114,10 @@ const SdSwitch = class {
107
114
  '--sd-switch-line-height': `${SWITCH_TYPOGRAPHY.lineHeight}px`,
108
115
  '--sd-switch-text-decoration': SWITCH_TYPOGRAPHY.textDecoration,
109
116
  };
110
- return (h("label", { key: '0dd7063a45e2adc589e2e8dfc7cdb5c0c585aeac', "aria-label": this.label || 'switch', class: this.switchClasses, style: cssVars }, h("input", { key: '01b94b14edd1571b8e21ba5a8bb72a0bd151b3a2', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), h("div", { key: '6c6bfaa3909ed885811f3e2af402d3a16c9b75e2', class: "sd-switch__track" }, h("div", { key: 'd3861a5c67779b7e871d7a2f45b20439648402cc', class: "sd-switch__knob" })), this.label && h("span", { key: '25c5198adb208b1016e9eb5bf01eaa6fb501ebe5', class: "sd-switch__label" }, this.label)));
117
+ // label(deprecated) rightLabel 흡수 (하위호환)
118
+ const right = this.rightLabel ?? this.label;
119
+ const accessibleName = [this.leftLabel, right].filter(Boolean).join(' ') || 'switch';
120
+ return (h("label", { key: '617ec652e8878aa41abd2d376479730e4db69025', "aria-label": accessibleName, class: this.switchClasses, style: cssVars }, h("input", { key: 'd765a1b3038d2decec2bf561d96a201cb617b40d', type: "checkbox", checked: this.value, disabled: this.disabled, onInput: this.handleChange }), this.leftLabel && h("span", { key: '2c6e398e7f926d3d9d9049aa1aa3fe459b92f51e', class: "sd-switch__label" }, this.leftLabel), h("div", { key: 'c71fdd196c0d50ce499c4c524005d01b834d066a', class: "sd-switch__track" }, h("div", { key: 'eabac4c3305fabf2e857fc8066a9acb80f90bf31', class: "sd-switch__knob" })), right && h("span", { key: '41a0f8ffd56791138b605379f88545b6e20d8df3', class: "sd-switch__label" }, right)));
111
121
  }
112
122
  };
113
123
  SdSwitch.style = sdSwitchCss();
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-DDNBPrZh.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-C599jhDs.js';
2
2
 
3
3
  const tab = {
4
4
  main: {
@@ -205,7 +205,7 @@ const SdTabs = class {
205
205
  };
206
206
  }
207
207
  render() {
208
- return (h("div", { key: 'a844eb9710ff03e3878225aa8dc5e14ed270efde', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
208
+ return (h("div", { key: 'd8d86075bbf5e13444f99e57cf63c2f5b9ef28fc', class: this.getContainerClasses(), style: this.buildCssVars() }, this.tabs.map((tab, index) => {
209
209
  const badgeName = this.getBadgeName(tab);
210
210
  return (h("div", { key: `tab-${index}`, role: "tab", tabindex: 0, "aria-selected": tab.value === this.value ? 'true' : 'false', class: this.getTabClasses(tab), "aria-label": tab.label || 'tab', onClick: () => this.handleTabClick(tab), onKeyDown: e => {
211
211
  if (e.key === 'Enter' || e.key === ' ') {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, a as getElement, h } from './index-DDNBPrZh.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-C599jhDs.js';
2
2
 
3
3
  const textLink = {
4
4
  sm: {
@@ -171,7 +171,7 @@ const SdTextLink = class {
171
171
  };
172
172
  const tooltipText = (this.tooltipText ?? '').trim();
173
173
  const hasTooltip = tooltipText.length > 0;
174
- return (h("span", { key: 'd9653ed47a77fb5c00dc57f8f7cc2b4dc9035ca4', role: "button", tabindex: this.disabled ? -1 : 0, class: {
174
+ return (h("span", { key: '363829c6d53fc3df03dee7ddd290ca078c255039', role: "button", tabindex: this.disabled ? -1 : 0, class: {
175
175
  'sd-text-link': true,
176
176
  'sd-text-link--disabled': this.disabled,
177
177
  }, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
@@ -179,13 +179,13 @@ const SdTextLink = class {
179
179
  e.preventDefault();
180
180
  this.handleClick();
181
181
  }
182
- }, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && (h("sd-portal", { key: '62b3cb48c5b5fa6eb0b2b2962ef6c78bac5ac545', parentRef: this.hostEl, open: true, offset: [this.hostEl.offsetWidth / 2, 4], placement: "top" }, h("div", { key: '5a428366f5bc2f8686a78fc73d91517ccca13eb9', class: "sd-text-link__tooltip-inner", "aria-hidden": "true" }, h("sd-tag", { key: '3416662595e9bfd164279e684e2ead9d1575a9d8', name: "square_xs_grey", label: tooltipText })))), this.icon && (h("sd-icon", { key: '5056f0c55ebe92963e856f2970cfd74143876cfb', name: this.icon, size: sizeConfig.iconSize, color: iconColor, class: "sd-text-link__icon" })), h("span", { key: '6cf8474ba642c9ec3dc5952c5530f9ba15046053', class: labelClassName }, this.label), this.rightArrow && this.rightArrow !== 'none' && (h("span", { key: '17a74ec3a3e1a26f18b73f7d4816ea0aee0cb22c', class: "sd-text-link__arrow", style: {
182
+ }, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, onFocus: this.handleFocus, onBlur: this.handleBlur }, hasTooltip && this.isTooltipOpen && (h("sd-portal", { key: '4dcb8ca39f7b9627b5f77885c0823848d0aa5a5f', parentRef: this.hostEl, open: true, offset: [this.hostEl.offsetWidth / 2, 4], placement: "top" }, h("div", { key: '7bbcabbd9d9bb3594d8c4817dbbb922018bbbd19', class: "sd-text-link__tooltip-inner", "aria-hidden": "true" }, h("sd-tag", { key: '313c23dc9caf81d885ebf288c475ebe01bd24515', name: "square_xs_grey", label: tooltipText })))), this.icon && (h("sd-icon", { key: '2668c579bc22547b542ca2045f9af0fad25a5ee7', name: this.icon, size: sizeConfig.iconSize, color: iconColor, class: "sd-text-link__icon" })), h("span", { key: '28246109bab90175498e841ecb02ac4a53a992b8', class: labelClassName }, this.label), this.rightArrow && this.rightArrow !== 'none' && (h("span", { key: 'c157788957cbba17a1411ebb329897fc6524171d', class: "sd-text-link__arrow", style: {
183
183
  width: `${TEXT_LINK_ARROW.arrowFrame}px`,
184
184
  height: `${TEXT_LINK_ARROW.arrowFrame}px`,
185
185
  display: 'inline-flex',
186
186
  alignItems: 'center',
187
187
  justifyContent: 'center',
188
- } }, h("sd-icon", { key: 'ed0a6bf8b678a93fa8a0da907efb0cbf60427738', name: this.rightArrow === 'chevron' ? 'chevronRight' : 'caretRight', size: TEXT_LINK_ARROW.arrowIconSize, color: arrowColor })))));
188
+ } }, h("sd-icon", { key: 'b74ca3398a1dd74ac5a9f7a16c872d313882fd4d', name: this.rightArrow === 'chevron' ? 'chevronRight' : 'caretRight', size: TEXT_LINK_ARROW.arrowIconSize, color: arrowColor })))));
189
189
  }
190
190
  };
191
191
  SdTextLink.style = sdTextLinkCss();
@@ -0,0 +1,177 @@
1
+ import { r as registerInstance, c as createEvent, h } from './index-C599jhDs.js';
2
+ import { p as parseTimeValue, c as clampTimePart, f as formatTimeValue, d as TIMEPICKER_SELECTOR } from './sd-time-picker.config-DUq29Nhs.js';
3
+ import './component.field-DjKOoQuF.js';
4
+
5
+ const sdTimePickerSelectorCss = () => `sd-time-picker-selector{display:block}sd-time-picker-selector .sd-time-picker-selector{display:flex;flex-direction:column;align-items:stretch;justify-content:center;overflow:hidden;background:var(--selector-bg);border-radius:var(--selector-radius);box-shadow:4px 8px 16px -4px rgba(34, 34, 34, 0.1), 0 0 24px -6px rgba(34, 34, 34, 0.12)}sd-time-picker-selector .sd-time-picker-selector__meridiem{display:flex;align-items:center;justify-content:center;padding:var(--selector-section-padding-y) var(--selector-section-padding-x);background:var(--selector-bg)}sd-time-picker-selector .sd-time-picker-selector__meridiem-group{display:flex;isolation:isolate}sd-time-picker-selector .sd-time-picker-selector__meridiem-button{width:61px;height:28px;border:1px solid #ccc;background:#fff;color:#555;font-size:12px;line-height:20px;font-weight:500;cursor:pointer}sd-time-picker-selector .sd-time-picker-selector__meridiem-button--first{border-radius:4px 0 0 4px;margin-right:-1px}sd-time-picker-selector .sd-time-picker-selector__meridiem-button--end{border-radius:0 4px 4px 0}sd-time-picker-selector .sd-time-picker-selector__meridiem-button--selected{z-index:1;border-color:#0075ff;color:#0075ff}sd-time-picker-selector .sd-time-picker-selector__divider{height:1px;width:100%;background:#e1e1e1}sd-time-picker-selector .sd-time-picker-selector__time{display:flex;align-items:center;justify-content:center;gap:var(--selector-time-gap);padding:var(--selector-section-padding-y) var(--selector-section-padding-x);background:var(--selector-bg)}sd-time-picker-selector .sd-time-picker-selector__column{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--selector-time-column-gap)}sd-time-picker-selector .sd-time-picker-selector__input{width:var(--selector-input-width);height:28px;box-sizing:border-box;border:1px solid #aaa;border-radius:4px;background:#fff;color:#222;font-size:12px;line-height:20px;text-align:center;outline:none}sd-time-picker-selector .sd-time-picker-selector__colon{width:var(--selector-colon-size);color:#555;font-size:16px;line-height:16px;text-align:center}`;
6
+
7
+ const SdTimePickerSelector = class {
8
+ constructor(hostRef) {
9
+ registerInstance(this, hostRef);
10
+ this.update = createEvent(this, "sdUpdate", 7);
11
+ }
12
+ /** 선택된 시간 (HH:mm) */
13
+ value = null;
14
+ /** 오전/오후 선택 표시 여부 */
15
+ useMeridiem = true;
16
+ /** 분 증감 단위 */
17
+ minuteStep = 1;
18
+ /** 시간 변경 시 발생합니다. */
19
+ update;
20
+ valueChanged() {
21
+ this.syncFromValue();
22
+ }
23
+ editingPart = null;
24
+ inputDraft = {};
25
+ hour = 0;
26
+ minute = 0;
27
+ componentWillLoad() {
28
+ this.syncFromValue();
29
+ }
30
+ syncFromValue() {
31
+ const parsed = parseTimeValue(this.value);
32
+ this.hour = parsed.hour;
33
+ this.minute = parsed.minute;
34
+ }
35
+ get meridiem() {
36
+ return this.hour >= 12 ? 'PM' : 'AM';
37
+ }
38
+ get displayHour() {
39
+ if (!this.useMeridiem)
40
+ return this.hour;
41
+ const hour = this.hour % 12;
42
+ return hour === 0 ? 12 : hour;
43
+ }
44
+ emitNext(hour, minute) {
45
+ this.hour = clampTimePart(hour, 0, 23);
46
+ this.minute = clampTimePart(minute, 0, 59);
47
+ this.update.emit(formatTimeValue(this.hour, this.minute));
48
+ }
49
+ sanitizeInput(value) {
50
+ return value.replace(/\D/g, '').slice(0, 2);
51
+ }
52
+ setDraft(part, value) {
53
+ this.inputDraft = { ...this.inputDraft, [part]: value };
54
+ }
55
+ beginEdit(part, value) {
56
+ this.editingPart = part;
57
+ this.setDraft(part, String(value).padStart(2, '0'));
58
+ }
59
+ commitHourDraft(draft) {
60
+ const raw = clampTimePart(Number(draft), this.useMeridiem ? 1 : 0, this.useMeridiem ? 12 : 23);
61
+ const nextHour = this.useMeridiem
62
+ ? this.meridiem === 'PM'
63
+ ? raw === 12
64
+ ? 12
65
+ : raw + 12
66
+ : raw === 12
67
+ ? 0
68
+ : raw
69
+ : raw;
70
+ this.emitNext(nextHour, this.minute);
71
+ return raw;
72
+ }
73
+ commitMinuteDraft(draft) {
74
+ const minute = clampTimePart(Number(draft), 0, 59);
75
+ this.emitNext(this.hour, minute);
76
+ return minute;
77
+ }
78
+ endEdit(part) {
79
+ const draft = this.inputDraft[part];
80
+ if (part === 'hour' && draft != null && draft !== '') {
81
+ this.commitHourDraft(draft);
82
+ }
83
+ if (part === 'minute' && draft != null && draft !== '') {
84
+ this.commitMinuteDraft(draft);
85
+ }
86
+ this.editingPart = null;
87
+ this.inputDraft = {};
88
+ }
89
+ setMeridiem(meridiem) {
90
+ if (meridiem === this.meridiem)
91
+ return;
92
+ if (meridiem === 'AM') {
93
+ this.emitNext(this.hour - 12, this.minute);
94
+ return;
95
+ }
96
+ this.emitNext(this.hour + 12, this.minute);
97
+ }
98
+ changeHour(delta) {
99
+ this.emitNext((this.hour + delta + 24) % 24, this.minute);
100
+ }
101
+ changeMinute(delta) {
102
+ const next = this.minute + delta;
103
+ if (next > 59) {
104
+ this.emitNext((this.hour + 1) % 24, next - 60);
105
+ return;
106
+ }
107
+ if (next < 0) {
108
+ this.emitNext((this.hour + 23) % 24, next + 60);
109
+ return;
110
+ }
111
+ this.emitNext(this.hour, next);
112
+ }
113
+ handleHourInput = (event) => {
114
+ const target = event.target;
115
+ const draft = this.sanitizeInput(target.value);
116
+ target.value = draft;
117
+ this.setDraft('hour', draft);
118
+ if (draft === '')
119
+ return;
120
+ if (draft.length < 2)
121
+ return;
122
+ const raw = this.commitHourDraft(draft);
123
+ const displayDraft = Number(draft) === raw ? draft : String(raw);
124
+ target.value = displayDraft;
125
+ this.setDraft('hour', displayDraft);
126
+ };
127
+ handleMinuteInput = (event) => {
128
+ const target = event.target;
129
+ const draft = this.sanitizeInput(target.value);
130
+ target.value = draft;
131
+ this.setDraft('minute', draft);
132
+ if (draft === '')
133
+ return;
134
+ if (draft.length < 2)
135
+ return;
136
+ const nextMinute = this.commitMinuteDraft(draft);
137
+ const displayDraft = Number(draft) === nextMinute ? draft : String(nextMinute);
138
+ target.value = displayDraft;
139
+ this.setDraft('minute', displayDraft);
140
+ this.emitNext(this.hour, nextMinute);
141
+ };
142
+ renderMeridiemButton(label, meridiem, position) {
143
+ const selected = this.meridiem === meridiem;
144
+ return (h("button", { type: "button", class: {
145
+ 'sd-time-picker-selector__meridiem-button': true,
146
+ 'sd-time-picker-selector__meridiem-button--selected': selected,
147
+ [`sd-time-picker-selector__meridiem-button--${position}`]: true,
148
+ }, onClick: () => this.setMeridiem(meridiem) }, label));
149
+ }
150
+ renderColumn(type) {
151
+ const isHour = type === 'hour';
152
+ const value = isHour ? this.displayHour : this.minute;
153
+ const displayValue = this.editingPart === type ? (this.inputDraft[type] ?? '') : String(value).padStart(2, '0');
154
+ 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)) })));
155
+ }
156
+ render() {
157
+ const cssVars = {
158
+ '--selector-bg': TIMEPICKER_SELECTOR.bg,
159
+ '--selector-radius': `${TIMEPICKER_SELECTOR.radius}px`,
160
+ '--selector-section-padding-x': `${TIMEPICKER_SELECTOR.section.paddingX}px`,
161
+ '--selector-section-padding-y': `${TIMEPICKER_SELECTOR.section.paddingY}px`,
162
+ '--selector-time-gap': `${TIMEPICKER_SELECTOR.time.gap}px`,
163
+ '--selector-time-column-gap': `${TIMEPICKER_SELECTOR.time.column.gap}px`,
164
+ '--selector-input-width': `${TIMEPICKER_SELECTOR.inputWidth}px`,
165
+ '--selector-colon-size': `${TIMEPICKER_SELECTOR.colonSize}px`,
166
+ };
167
+ return (h("div", { key: '230eba90099f06b238a49da38bade09d5a1a168a', class: "sd-time-picker-selector", style: cssVars }, this.useMeridiem && (h("div", { key: 'a15baa49aa07b469843f15a1c381c97df6b31600', class: "sd-time-picker-selector__meridiem" }, h("div", { key: 'e1e9576461c4c9059b1d5c9f4a8528af91869316', class: "sd-time-picker-selector__meridiem-group" }, this.renderMeridiemButton('오전', 'AM', 'first'), this.renderMeridiemButton('오후', 'PM', 'end')))), this.useMeridiem && h("div", { key: 'c9c8dfbb3c724bef2d20d22ea839079c8176c1c6', class: "sd-time-picker-selector__divider" }), h("div", { key: 'd7157d6f5a38b09098fea6dc33d9ca69cf9fcd06', class: "sd-time-picker-selector__time" }, this.renderColumn('hour'), h("span", { key: '83b0ce7966cabe292eb454d103507a0504915aa7', class: "sd-time-picker-selector__colon" }, ":"), this.renderColumn('minute'))));
168
+ }
169
+ static get watchers() { return {
170
+ "value": [{
171
+ "valueChanged": 0
172
+ }]
173
+ }; }
174
+ };
175
+ SdTimePickerSelector.style = sdTimePickerSelectorCss();
176
+
177
+ export { SdTimePickerSelector as sd_time_picker_selector };
@@ -0,0 +1,73 @@
1
+ import { r as registerInstance, c as createEvent, h } from './index-C599jhDs.js';
2
+ import { b as TIMEPICKER_SIZE_MAP, T as TIMEPICKER_COLORS } from './sd-time-picker.config-DUq29Nhs.js';
3
+ import './component.field-DjKOoQuF.js';
4
+
5
+ const sdTimePickerTriggerCss = () => `sd-time-picker-trigger{display:block;width:100%;height:100%}sd-time-picker-trigger .sd-time-picker-trigger{display:flex;align-items:center;gap:var(--trigger-gap);width:100%;height:100%;padding:0 var(--trigger-padding-x);cursor:pointer;user-select:none;overflow:hidden;border-radius:var(--trigger-radius)}sd-time-picker-trigger .sd-time-picker-trigger--disabled{cursor:not-allowed}sd-time-picker-trigger .sd-time-picker-trigger__icon,sd-time-picker-trigger .sd-time-picker-trigger__clear{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}sd-time-picker-trigger .sd-time-picker-trigger__text{flex:1;min-width:var(--trigger-text-min-width, 80px);font-size:var(--trigger-font-size);line-height:var(--trigger-line-height);font-weight:var(--trigger-font-weight);color:var(--trigger-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}`;
6
+
7
+ const SdTimePickerTrigger = class {
8
+ constructor(hostRef) {
9
+ registerInstance(this, hostRef);
10
+ this.triggerClick = createEvent(this, "sdTriggerClick", 7);
11
+ this.clear = createEvent(this, "sdClear", 7);
12
+ }
13
+ /** 표시할 시간 텍스트 */
14
+ displayText = '';
15
+ /** 입력 힌트 텍스트 */
16
+ placeholder = '00:00';
17
+ /** 비활성 상태 여부 */
18
+ disabled = false;
19
+ /** 지우기 버튼 표시 여부 */
20
+ clearable = false;
21
+ /** 트리거 크기 */
22
+ size = 'sm';
23
+ /** 트리거 클릭 시 발생합니다. */
24
+ triggerClick;
25
+ /** 지우기 버튼 클릭 시 발생합니다. */
26
+ clear;
27
+ handleClick = () => {
28
+ if (this.disabled)
29
+ return;
30
+ this.triggerClick.emit();
31
+ };
32
+ handleClear = (event) => {
33
+ event.stopPropagation();
34
+ if (this.disabled)
35
+ return;
36
+ this.clear.emit();
37
+ };
38
+ render() {
39
+ const sizeTokens = TIMEPICKER_SIZE_MAP[this.size] ?? TIMEPICKER_SIZE_MAP.sm;
40
+ const hasValue = this.displayText !== '';
41
+ const textMinWidth = this.size === 'md' ? 96 : 80;
42
+ const cssVars = {
43
+ '--trigger-padding-x': `${sizeTokens.paddingX}px`,
44
+ '--trigger-gap': `${sizeTokens.gap}px`,
45
+ '--trigger-icon-size': `${sizeTokens.iconSize}px`,
46
+ '--trigger-font-size': `${sizeTokens.fontSize}px`,
47
+ '--trigger-line-height': `${sizeTokens.lineHeight}px`,
48
+ '--trigger-font-weight': sizeTokens.fontWeight,
49
+ '--trigger-radius': `${sizeTokens.radius}px`,
50
+ '--trigger-text-min-width': `${textMinWidth}px`,
51
+ '--trigger-text-color': this.disabled
52
+ ? TIMEPICKER_COLORS.text.disabled
53
+ : hasValue
54
+ ? TIMEPICKER_COLORS.text.default
55
+ : TIMEPICKER_COLORS.text.hint,
56
+ '--trigger-icon-color': this.disabled
57
+ ? TIMEPICKER_COLORS.icon.disabled
58
+ : TIMEPICKER_COLORS.icon.default,
59
+ };
60
+ return (h("div", { key: '6b6bff8d9928ace4cda84a7bdb2ac6f73f0d2329', role: "button", tabindex: this.disabled ? -1 : 0, class: {
61
+ 'sd-time-picker-trigger': true,
62
+ 'sd-time-picker-trigger--disabled': this.disabled,
63
+ }, style: cssVars, onClick: this.handleClick, onKeyDown: e => {
64
+ if (e.key === 'Enter' || e.key === ' ') {
65
+ e.preventDefault();
66
+ this.handleClick();
67
+ }
68
+ } }, h("sd-icon", { key: 'd371bf5acec8592a44c0d18e738b5ac71b556f32', name: "clockOutline", size: Number(sizeTokens.iconSize), color: "var(--trigger-icon-color)", class: "sd-time-picker-trigger__icon" }), h("span", { key: '2bc0ddfef47a1e929ceafb723345e1ae9e62095b', class: "sd-time-picker-trigger__text" }, hasValue ? this.displayText : this.placeholder), this.clearable && hasValue && !this.disabled && (h("sd-ghost-button", { key: '76763c65dd6ee64c8f1abc0c871d8c50cfaf3852', class: "sd-time-picker-trigger__clear", icon: "close", size: "xs", ariaLabel: "\uC2DC\uAC04 \uC9C0\uC6B0\uAE30", onSdClick: this.handleClear }))));
69
+ }
70
+ };
71
+ SdTimePickerTrigger.style = sdTimePickerTriggerCss();
72
+
73
+ export { SdTimePickerTrigger as sd_time_picker_trigger };
@@ -0,0 +1,148 @@
1
+ import { f as fieldTokens } from './component.field-DjKOoQuF.js';
2
+
3
+ const timepicker = {
4
+ border: {
5
+ "default": "#AAAAAA",
6
+ focus: "#0075FF",
7
+ width: "1"
8
+ },
9
+ bg: {
10
+ "default": "#FFFFFF",
11
+ disabled: "#E1E1E1"
12
+ },
13
+ icon: {
14
+ "default": "#888888",
15
+ disabled: "#BBBBBB"
16
+ },
17
+ text: {
18
+ "default": "#222222",
19
+ disabled: "#888888"
20
+ },
21
+ selector: {
22
+ bg: "#FFFFFF",
23
+ range: {
24
+ heading: {
25
+ color: "#555555",
26
+ gap: "16"
27
+ },
28
+ paddingXY: "24",
29
+ panelGap: "24",
30
+ section: {
31
+ gap: "12"
32
+ }
33
+ },
34
+ radius: "8",
35
+ section: {
36
+ paddingX: "16",
37
+ paddingY: "12"
38
+ },
39
+ time: {
40
+ gap: "4",
41
+ column: {
42
+ gap: "8"
43
+ }
44
+ },
45
+ input: {
46
+ width: "40"
47
+ },
48
+ colon: {
49
+ size: "16"
50
+ }
51
+ },
52
+ sm: {
53
+ height: "28",
54
+ paddingX: "12",
55
+ gap: "8",
56
+ icon: "16",
57
+ radius: "4"
58
+ },
59
+ md: {
60
+ height: "36",
61
+ paddingX: "16",
62
+ gap: "12",
63
+ icon: "20",
64
+ radius: "6"
65
+ }
66
+ };
67
+ var timepickerTokens = {
68
+ timepicker: timepicker
69
+ };
70
+
71
+ const sm = timepickerTokens.timepicker.sm;
72
+ const md = timepickerTokens.timepicker.md;
73
+ const TIMEPICKER_SIZE_MAP = {
74
+ sm: {
75
+ height: sm.height,
76
+ paddingX: sm.paddingX,
77
+ gap: sm.gap,
78
+ iconSize: sm.icon,
79
+ radius: sm.radius,
80
+ // TODO: component.timepicker 토큰에 typography가 추가되면 이 fallback을 교체한다.
81
+ fontSize: '12',
82
+ lineHeight: '20',
83
+ fontWeight: '400',
84
+ minWidth: '128',
85
+ },
86
+ md: {
87
+ height: md.height,
88
+ paddingX: md.paddingX,
89
+ gap: md.gap,
90
+ iconSize: md.icon,
91
+ radius: md.radius,
92
+ // TODO: component.timepicker 토큰에 typography가 추가되면 이 fallback을 교체한다.
93
+ fontSize: '14',
94
+ lineHeight: '24',
95
+ fontWeight: '400',
96
+ minWidth: '160',
97
+ },
98
+ };
99
+ const TIMEPICKER_COLORS = {
100
+ border: timepickerTokens.timepicker.border,
101
+ bg: timepickerTokens.timepicker.bg,
102
+ icon: timepickerTokens.timepicker.icon,
103
+ text: {
104
+ ...timepickerTokens.timepicker.text,
105
+ hint: fieldTokens.field.hint.color,
106
+ },
107
+ };
108
+ const TIMEPICKER_SELECTOR = {
109
+ bg: timepickerTokens.timepicker.selector.bg,
110
+ radius: timepickerTokens.timepicker.selector.radius,
111
+ section: timepickerTokens.timepicker.selector.section,
112
+ time: timepickerTokens.timepicker.selector.time,
113
+ inputWidth: timepickerTokens.timepicker.selector.input.width,
114
+ colonSize: timepickerTokens.timepicker.selector.colon.size,
115
+ range: timepickerTokens.timepicker.selector.range,
116
+ };
117
+ function clampTimePart(value, min, max) {
118
+ if (!Number.isFinite(value))
119
+ return min;
120
+ return Math.min(Math.max(value, min), max);
121
+ }
122
+ function padTimePart(value) {
123
+ return String(value).padStart(2, '0');
124
+ }
125
+ function parseTimeValue(value) {
126
+ const match = /^(\d{1,2}):(\d{1,2})$/.exec(value ?? '');
127
+ if (!match)
128
+ return { hour: 0, minute: 0 };
129
+ return {
130
+ hour: clampTimePart(Number(match[1]), 0, 23),
131
+ minute: clampTimePart(Number(match[2]), 0, 59),
132
+ };
133
+ }
134
+ function formatTimeValue(hour, minute) {
135
+ return `${padTimePart(clampTimePart(hour, 0, 23))}:${padTimePart(clampTimePart(minute, 0, 59))}`;
136
+ }
137
+ function formatTimeDisplay(value, type) {
138
+ if (value == null || value === '')
139
+ return '';
140
+ const { hour, minute } = parseTimeValue(value);
141
+ if (type === 'default')
142
+ return formatTimeValue(hour, minute);
143
+ const meridiem = hour >= 12 ? '오후' : '오전';
144
+ const displayHour = hour % 12 === 0 ? 12 : hour % 12;
145
+ return `${meridiem} ${padTimePart(displayHour)}:${padTimePart(minute)}`;
146
+ }
147
+
148
+ export { TIMEPICKER_COLORS as T, formatTimeDisplay as a, TIMEPICKER_SIZE_MAP as b, clampTimePart as c, TIMEPICKER_SELECTOR as d, formatTimeValue as f, parseTimeValue as p };
@@ -0,0 +1,171 @@
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-C599jhDs.js';
2
+ import { n as nanoid } from './index-CCwNgVmC.js';
3
+ import { f as formatTimeValue, a as formatTimeDisplay, T as TIMEPICKER_COLORS, b as TIMEPICKER_SIZE_MAP, p as parseTimeValue } from './sd-time-picker.config-DUq29Nhs.js';
4
+ import './component.field-DjKOoQuF.js';
5
+
6
+ const sdTimePickerCss = () => `sd-time-picker{display:inline-flex}sd-time-picker sd-portal{display:none}sd-time-picker .sd-time-picker{position:relative;min-width:var(--sd-time-picker-min-width);width:100%;height:100%}`;
7
+
8
+ const SdTimePicker = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ this.update = createEvent(this, "sdUpdate", 7);
12
+ this.dropDownShow = createEvent(this, "sdDropDownShow", 7);
13
+ }
14
+ static CLOSE_ANIMATION_DURATION = 150;
15
+ get el() { return getElement(this); }
16
+ /** 선택된 시간 (HH:mm) */
17
+ value = null;
18
+ /** 입력 필드 크기 */
19
+ size = 'sm';
20
+ /** 표시 타입: default(24시간) / midday(오전·오후) */
21
+ type = 'default';
22
+ /** 시간 미선택 시 표시할 placeholder */
23
+ placeholder = '00:00';
24
+ /** 비활성 상태 여부 */
25
+ disabled = false;
26
+ /** 값이 있을 때 지우기 버튼 표시 여부 */
27
+ clearable = false;
28
+ /** 오전/오후 선택 표시 여부. 지정하지 않으면 type="midday"일 때만 켜집니다. */
29
+ useMeridiem;
30
+ /** 분 증감 단위 */
31
+ minuteStep = 1;
32
+ /** 필드 너비 (숫자면 px, 문자열이면 그대로 적용) */
33
+ width = '';
34
+ // sd-field 공통 props
35
+ /** 레이블 텍스트 */
36
+ label = '';
37
+ /** 레이블 너비 */
38
+ labelWidth = '';
39
+ /** 필드 우측 어드온 레이블 */
40
+ addonLabel = '';
41
+ /** 어드온 정렬 방향 */
42
+ addonAlign = 'start';
43
+ /** 필드 하단 힌트 텍스트 */
44
+ hint = '';
45
+ /** 에러 메시지 */
46
+ errorMessage = '';
47
+ /** 유효성 검사 규칙 목록 */
48
+ rules = [];
49
+ /** 에러 상태 여부 */
50
+ error = false;
51
+ /** 필드 상태 (없으면 error/rules 결과로 자동 결정) */
52
+ status;
53
+ /** 레이블 영역 아이콘 */
54
+ icon = undefined;
55
+ /** 레이블 툴팁 텍스트 */
56
+ labelTooltip = '';
57
+ /** 레이블 툴팁 상세 옵션 */
58
+ labelTooltipProps = null;
59
+ isOpen = false;
60
+ isAnimatingOut = false;
61
+ focused = false;
62
+ hovered = false;
63
+ /** 시간 선택 시 선택된 시간(HH:mm)을 전달합니다. */
64
+ update;
65
+ /** 선택기 열림/닫힘 상태가 바뀔 때 발생합니다. */
66
+ dropDownShow;
67
+ triggerRef;
68
+ formField;
69
+ closeAnimationTimer;
70
+ /** 폼 연동용 name 속성 */
71
+ name = nanoid();
72
+ watchIsOpen(newValue) {
73
+ this.focused = newValue;
74
+ this.dropDownShow.emit({ isOpen: newValue });
75
+ }
76
+ valueChanged(newValue) {
77
+ if (newValue == null || newValue === '')
78
+ return;
79
+ const parsed = parseTimeValue(newValue);
80
+ const normalized = formatTimeValue(parsed.hour, parsed.minute);
81
+ if (normalized !== newValue)
82
+ this.value = normalized;
83
+ }
84
+ /** 유효성 검사를 실행합니다. */
85
+ async sdValidate() {
86
+ return this.formField?.sdValidate();
87
+ }
88
+ /** 값과 유효성 상태를 초기화합니다. */
89
+ async sdReset() {
90
+ return this.formField?.sdReset();
91
+ }
92
+ /** 유효성 상태만 초기화합니다. */
93
+ async sdResetValidate() {
94
+ return this.formField?.sdResetValidation();
95
+ }
96
+ /** 입력 필드에 포커스를 이동합니다. */
97
+ async sdFocus() {
98
+ return this.formField?.sdFocus();
99
+ }
100
+ componentWillLoad() {
101
+ this.valueChanged(this.value);
102
+ }
103
+ disconnectedCallback() {
104
+ if (this.closeAnimationTimer)
105
+ clearTimeout(this.closeAnimationTimer);
106
+ }
107
+ closeDropdown() {
108
+ if (!this.isOpen)
109
+ return;
110
+ this.isOpen = false;
111
+ this.isAnimatingOut = true;
112
+ if (this.closeAnimationTimer)
113
+ clearTimeout(this.closeAnimationTimer);
114
+ this.closeAnimationTimer = setTimeout(() => {
115
+ this.isAnimatingOut = false;
116
+ }, SdTimePicker.CLOSE_ANIMATION_DURATION);
117
+ }
118
+ handleTriggerClick = () => {
119
+ if (this.disabled)
120
+ return;
121
+ if (this.isOpen) {
122
+ this.closeDropdown();
123
+ }
124
+ else {
125
+ if (this.closeAnimationTimer)
126
+ clearTimeout(this.closeAnimationTimer);
127
+ this.isAnimatingOut = false;
128
+ this.isOpen = true;
129
+ }
130
+ };
131
+ handleClear = (event) => {
132
+ event.stopPropagation();
133
+ this.value = null;
134
+ this.update.emit(null);
135
+ };
136
+ handleSelect = (event) => {
137
+ event.stopPropagation();
138
+ this.value = event.detail;
139
+ this.update.emit(this.value);
140
+ };
141
+ get effectiveUseMeridiem() {
142
+ return this.useMeridiem ?? this.type === 'midday';
143
+ }
144
+ render() {
145
+ const sizeTokens = TIMEPICKER_SIZE_MAP[this.size] ?? TIMEPICKER_SIZE_MAP.sm;
146
+ const cssVars = {
147
+ '--sd-system-size-field-sm-height': `${sizeTokens.height}px`,
148
+ '--sd-system-size-field-md-height': `${sizeTokens.height}px`,
149
+ '--sd-system-radius-field-sm': `${sizeTokens.radius}px`,
150
+ '--sd-system-radius-field-md': `${sizeTokens.radius}px`,
151
+ '--sd-time-picker-min-width': `${sizeTokens.minWidth}px`,
152
+ '--sd-system-color-field-border-default': TIMEPICKER_COLORS.border.default,
153
+ '--sd-system-color-field-border-focus': TIMEPICKER_COLORS.border.focus,
154
+ '--sd-system-color-field-bg-default': TIMEPICKER_COLORS.bg.default,
155
+ };
156
+ return (h("sd-field", { key: 'dc433d8d452ad71bc5ea1b388399df862ca9cd04', 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 }, h("div", { key: '258c3a0d3232e8edfe5304dd2e0fcea4060f5893', class: "sd-time-picker", ref: el => {
157
+ this.triggerRef = el;
158
+ } }, h("sd-time-picker-trigger", { key: '22af4e81d925cbdacea4e08b05aaa13cf5eb9ef8', displayText: formatTimeDisplay(this.value, this.effectiveUseMeridiem ? 'midday' : 'default'), placeholder: this.placeholder, disabled: this.disabled, clearable: this.clearable, size: this.size, onSdTriggerClick: this.handleTriggerClick, onSdClear: this.handleClear })), (this.isOpen || this.isAnimatingOut) && (h("sd-portal", { key: '8c7e43950257c8a8bf3b157f69985b3284430107', open: this.isOpen, parentRef: this.triggerRef, onSdClose: () => this.closeDropdown() }, h("sd-time-picker-selector", { key: '27109beda36d1817807f6a8b6af8a7a12b4c31c6', value: this.value, useMeridiem: this.effectiveUseMeridiem, minuteStep: this.minuteStep, onSdUpdate: this.handleSelect })))));
159
+ }
160
+ static get watchers() { return {
161
+ "isOpen": [{
162
+ "watchIsOpen": 0
163
+ }],
164
+ "value": [{
165
+ "valueChanged": 0
166
+ }]
167
+ }; }
168
+ };
169
+ SdTimePicker.style = sdTimePickerCss();
170
+
171
+ export { SdTimePicker as sd_time_picker };