@sellmate/design-system 1.2.0 → 1.3.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 (314) hide show
  1. package/dist/cjs/component.datepicker-Cw_-oidk.js +121 -0
  2. package/dist/cjs/design-system.cjs.js +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/sd-action-modal.cjs.entry.js +1 -1
  5. package/dist/cjs/sd-badge.cjs.entry.js +1 -1
  6. package/dist/cjs/sd-barcode-input.cjs.entry.js +1 -1
  7. package/dist/cjs/sd-button_2.cjs.entry.js +270 -4
  8. package/dist/cjs/sd-calendar_2.cjs.entry.js +262 -0
  9. package/dist/cjs/sd-card.cjs.entry.js +1 -1
  10. package/dist/cjs/sd-checkbox.cjs.entry.js +3 -3
  11. package/dist/cjs/sd-chip.cjs.entry.js +1 -1
  12. package/dist/cjs/sd-circle-progress.cjs.entry.js +1 -1
  13. package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +3 -3
  14. package/dist/cjs/sd-date-box.cjs.entry.js +2 -2
  15. package/dist/cjs/sd-date-picker.config-D3lTpa6W.js +37 -0
  16. package/dist/cjs/sd-date-picker_7.cjs.entry.js +15 -13
  17. package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +37 -37
  18. package/dist/cjs/sd-dropdown-button.cjs.entry.js +3 -3
  19. package/dist/cjs/sd-field_3.cjs.entry.js +7 -7
  20. package/dist/cjs/sd-form.cjs.entry.js +1 -1
  21. package/dist/cjs/sd-ghost-button.cjs.entry.js +2 -2
  22. package/dist/cjs/sd-guide.cjs.entry.js +2 -2
  23. package/dist/cjs/sd-linear-progress.cjs.entry.js +1 -1
  24. package/dist/cjs/sd-loading-container.cjs.entry.js +2 -2
  25. package/dist/cjs/sd-pagination_4.cjs.entry.js +8 -8
  26. package/dist/cjs/sd-popover.cjs.entry.js +3 -3
  27. package/dist/cjs/sd-popup.cjs.entry.js +1 -1
  28. package/dist/cjs/sd-portal.cjs.entry.js +1 -1
  29. package/dist/cjs/sd-radio-button.cjs.entry.js +1 -1
  30. package/dist/cjs/sd-radio.cjs.entry.js +1 -1
  31. package/dist/cjs/sd-select-list-item_2.cjs.entry.js +6 -6
  32. package/dist/cjs/sd-select_3.cjs.entry.js +8 -8
  33. package/dist/cjs/sd-switch.cjs.entry.js +1 -1
  34. package/dist/cjs/sd-table.cjs.entry.js +6 -6
  35. package/dist/cjs/sd-tabs.cjs.entry.js +1 -1
  36. package/dist/cjs/sd-tag.cjs.entry.js +2 -2
  37. package/dist/cjs/sd-td.cjs.entry.js +1 -1
  38. package/dist/cjs/sd-text-link.cjs.entry.js +3 -3
  39. package/dist/cjs/sd-toast-container.cjs.entry.js +1 -1
  40. package/dist/cjs/sd-toast.cjs.entry.js +2 -2
  41. package/dist/cjs/sd-toggle.cjs.entry.js +1 -1
  42. package/dist/cjs/useDatePicker-dCuEgvjX.js +103 -0
  43. package/dist/collection/collection-manifest.json +1 -2
  44. package/dist/collection/components/sd-action-modal/sd-action-modal.js +1 -1
  45. package/dist/collection/components/sd-badge/sd-badge.js +1 -1
  46. package/dist/collection/components/sd-barcode-input/sd-barcode-input.js +1 -1
  47. package/dist/collection/components/sd-button/sd-button.js +2 -2
  48. package/dist/collection/components/sd-calendar/sd-calendar.config.js +51 -0
  49. package/dist/collection/components/sd-calendar/sd-calendar.css +134 -73
  50. package/dist/collection/components/sd-calendar/sd-calendar.js +172 -133
  51. package/dist/collection/components/sd-card/sd-card.js +1 -1
  52. package/dist/collection/components/sd-checkbox/sd-checkbox.js +3 -3
  53. package/dist/collection/components/sd-chip/sd-chip.js +1 -1
  54. package/dist/collection/components/sd-circle-progress/sd-circle-progress.js +1 -1
  55. package/dist/collection/components/sd-confirm-modal/sd-confirm-modal.js +2 -2
  56. package/dist/collection/components/sd-date-box/sd-date-box.js +2 -2
  57. package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
  58. package/dist/collection/components/sd-date-picker/sd-date-picker.config.js +0 -38
  59. package/dist/collection/components/sd-date-picker/sd-date-picker.js +3 -2
  60. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
  61. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.config.js +2 -1
  62. package/dist/collection/components/sd-date-range-picker/sd-date-range-picker.js +2 -2
  63. package/dist/collection/components/sd-dropdown-button/sd-dropdown-button.js +3 -3
  64. package/dist/collection/components/sd-field/sd-field.js +4 -4
  65. package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
  66. package/dist/collection/components/sd-form/sd-form.js +1 -1
  67. package/dist/collection/components/sd-ghost-button/sd-ghost-button.js +2 -2
  68. package/dist/collection/components/sd-guide/sd-guide.js +2 -2
  69. package/dist/collection/components/sd-input/sd-input.js +2 -2
  70. package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
  71. package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
  72. package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
  73. package/dist/collection/components/sd-number-input/sd-number-input.js +4 -4
  74. package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
  75. package/dist/collection/components/sd-popover/sd-popover.js +4 -4
  76. package/dist/collection/components/sd-popup/sd-popup.js +1 -1
  77. package/dist/collection/components/sd-portal/sd-portal.js +1 -1
  78. package/dist/collection/components/sd-radio/sd-radio.js +1 -1
  79. package/dist/collection/components/sd-radio-button/sd-radio-button.js +1 -1
  80. package/dist/collection/components/sd-radio-group/sd-radio-group.js +1 -1
  81. package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +2 -2
  82. package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
  83. package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +2 -2
  84. package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
  85. package/dist/collection/components/sd-select/sd-select.js +4 -4
  86. package/dist/collection/components/sd-switch/sd-switch.js +1 -1
  87. package/dist/collection/components/sd-table/sd-table.js +6 -6
  88. package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +2 -2
  89. package/dist/collection/components/sd-table/sd-td/sd-td.js +1 -1
  90. package/dist/collection/components/sd-table/sd-thead/sd-thead.js +3 -3
  91. package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
  92. package/dist/collection/components/sd-tag/sd-tag.js +2 -2
  93. package/dist/collection/components/sd-text-link/sd-text-link.js +3 -3
  94. package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
  95. package/dist/collection/components/sd-toast/sd-toast.js +2 -2
  96. package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
  97. package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
  98. package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
  99. package/dist/collection/index.js +1 -1
  100. package/dist/components/{p-Ch5Yu1qd.js → p-B8o25hOw.js} +1 -1
  101. package/dist/components/{p-BY1LGlfc.js → p-BFC3Etk2.js} +1 -1
  102. package/dist/components/p-BQn6le_Y.js +1 -0
  103. package/dist/components/{p-nOCYbyW4.js → p-BRk9YZBe.js} +1 -1
  104. package/dist/components/{p-Jts7ueOa.js → p-BRxXhFqt.js} +1 -1
  105. package/dist/components/{p-Cktiasfd.js → p-BSfu4DO2.js} +1 -1
  106. package/dist/components/{p-B3D43x7F.js → p-BZabVWBD.js} +1 -1
  107. package/dist/components/{p-BsM-fwYd.js → p-BeBiPTbd.js} +1 -1
  108. package/dist/components/{p-Dl8TIEQu.js → p-BjpbUGud.js} +1 -1
  109. package/dist/components/p-BkWaPXXj.js +1 -0
  110. package/dist/components/{p-DL1ac1QS.js → p-Bs1Z5QtN.js} +1 -1
  111. package/dist/components/{p-teN3CfOr.js → p-BwPmM1Pm.js} +1 -1
  112. package/dist/components/{p-DBFgk0rX.js → p-C3fqSH7A.js} +1 -1
  113. package/dist/components/{p-D0Jiw-Zk.js → p-CIUE4qr7.js} +1 -1
  114. package/dist/components/{p-BXCyVrle.js → p-CLxVZFEG.js} +1 -1
  115. package/dist/components/{p-C5CH-s6a.js → p-CPuyhF6g.js} +1 -1
  116. package/dist/components/{p-B-sK7I83.js → p-CpgTSxf0.js} +1 -1
  117. package/dist/components/p-Cx_d5vsS.js +1 -0
  118. package/dist/components/{p-CQI40kiY.js → p-CyObYB-g.js} +1 -1
  119. package/dist/components/{p-DFLCjX1a.js → p-D7nYP2a4.js} +1 -1
  120. package/dist/components/{p-wCNRlKLa.js → p-DS7Ypvt5.js} +1 -1
  121. package/dist/components/{p-CsVAx6KV.js → p-Da5i_Sa6.js} +1 -1
  122. package/dist/components/{p-CdOHomUp.js → p-DlREBZ-C.js} +1 -1
  123. package/dist/components/p-DnW8EAqd.js +1 -0
  124. package/dist/components/{p-BorUSgEK.js → p-FKKk7Bk8.js} +1 -1
  125. package/dist/components/{p-CRL7TjSB.js → p-INdVvadB.js} +1 -1
  126. package/dist/components/p-JlZdKw4C.js +1 -0
  127. package/dist/components/{p-C7WLft_0.js → p-VuxN5d2D.js} +1 -1
  128. package/dist/components/p-WAsath62.js +1 -0
  129. package/dist/components/{p-u8teDaMa.js → p-X-8I-A3g.js} +1 -1
  130. package/dist/components/{p-arZfxxPn.js → p-Z5Vk33zf.js} +1 -1
  131. package/dist/components/{p-BAcmO7w0.js → p-kSfaCwf1.js} +1 -1
  132. package/dist/components/p-oyZgWRnC.js +1 -0
  133. package/dist/components/{p-2wB9cing.js → p-t161LJqb.js} +1 -1
  134. package/dist/components/{p-CK9ciBIR.js → p-wOAxmZ1V.js} +1 -1
  135. package/dist/components/{p-B7mpdnNl.js → p-xX3QT-8K.js} +1 -1
  136. package/dist/components/sd-action-modal.js +1 -1
  137. package/dist/components/sd-badge.js +1 -1
  138. package/dist/components/sd-barcode-input.js +1 -1
  139. package/dist/components/sd-button.js +1 -1
  140. package/dist/components/sd-calendar.js +1 -1
  141. package/dist/components/sd-card.js +1 -1
  142. package/dist/components/sd-checkbox.js +1 -1
  143. package/dist/components/sd-chip.js +1 -1
  144. package/dist/components/sd-circle-progress.js +1 -1
  145. package/dist/components/sd-confirm-modal.js +1 -1
  146. package/dist/components/sd-date-box.js +1 -1
  147. package/dist/components/sd-date-picker-trigger.js +1 -1
  148. package/dist/components/sd-date-picker.js +1 -1
  149. package/dist/components/sd-date-range-picker-calendar.js +1 -1
  150. package/dist/components/sd-date-range-picker.js +1 -1
  151. package/dist/components/sd-dropdown-button.js +1 -1
  152. package/dist/components/sd-field.js +1 -1
  153. package/dist/components/sd-file-picker.js +1 -1
  154. package/dist/components/sd-floating-portal.js +1 -1
  155. package/dist/components/sd-form.js +1 -1
  156. package/dist/components/sd-ghost-button.js +1 -1
  157. package/dist/components/sd-guide.js +1 -1
  158. package/dist/components/sd-icon.js +1 -1
  159. package/dist/components/sd-input.js +1 -1
  160. package/dist/components/sd-key-value-table.js +1 -1
  161. package/dist/components/sd-linear-progress.js +1 -1
  162. package/dist/components/sd-loading-container.js +1 -1
  163. package/dist/components/sd-loading-modal.js +1 -1
  164. package/dist/components/sd-modal-container.js +1 -1
  165. package/dist/components/sd-number-input.js +1 -1
  166. package/dist/components/sd-pagination.js +1 -1
  167. package/dist/components/sd-popover.js +1 -1
  168. package/dist/components/sd-popup.js +1 -1
  169. package/dist/components/sd-portal.js +1 -1
  170. package/dist/components/sd-radio-button.js +1 -1
  171. package/dist/components/sd-radio-group.js +1 -1
  172. package/dist/components/sd-radio.js +1 -1
  173. package/dist/components/sd-select-list-item-search.js +1 -1
  174. package/dist/components/sd-select-list-item.js +1 -1
  175. package/dist/components/sd-select-listbox.js +1 -1
  176. package/dist/components/sd-select-trigger.js +1 -1
  177. package/dist/components/sd-select.js +1 -1
  178. package/dist/components/sd-switch.js +1 -1
  179. package/dist/components/sd-table.js +1 -1
  180. package/dist/components/sd-tabs.js +1 -1
  181. package/dist/components/sd-tag.js +1 -1
  182. package/dist/components/sd-tbody.js +1 -1
  183. package/dist/components/sd-td.js +1 -1
  184. package/dist/components/sd-text-link.js +1 -1
  185. package/dist/components/sd-textarea.js +1 -1
  186. package/dist/components/sd-thead.js +1 -1
  187. package/dist/components/sd-toast-container.js +1 -1
  188. package/dist/components/sd-toast.js +1 -1
  189. package/dist/components/sd-toggle.js +1 -1
  190. package/dist/components/sd-tooltip.js +1 -1
  191. package/dist/components/sd-tr.js +1 -1
  192. package/dist/design-system/design-system.esm.js +1 -1
  193. package/dist/design-system/{p-5ed0becf.entry.js → p-00854a0a.entry.js} +1 -1
  194. package/dist/design-system/{p-1baa05ae.entry.js → p-00b2c850.entry.js} +1 -1
  195. package/dist/design-system/{p-8f22106e.entry.js → p-03badf68.entry.js} +1 -1
  196. package/dist/design-system/{p-f4d73a0c.entry.js → p-11b904a3.entry.js} +1 -1
  197. package/dist/design-system/{p-78cc0289.entry.js → p-32e2d71e.entry.js} +1 -1
  198. package/dist/design-system/{p-a6545130.entry.js → p-399d416c.entry.js} +1 -1
  199. package/dist/design-system/{p-e2334c1c.entry.js → p-3b8954d9.entry.js} +1 -1
  200. package/dist/design-system/{p-435ae69e.entry.js → p-481e6934.entry.js} +1 -1
  201. package/dist/design-system/{p-501fae20.entry.js → p-4a91875c.entry.js} +1 -1
  202. package/dist/design-system/{p-66af0ba0.entry.js → p-563b6fc2.entry.js} +1 -1
  203. package/dist/design-system/{p-b3c144ff.entry.js → p-679bce6c.entry.js} +1 -1
  204. package/dist/design-system/{p-5705e6d6.entry.js → p-74bf0ed9.entry.js} +1 -1
  205. package/dist/design-system/{p-87c868c3.entry.js → p-84a94775.entry.js} +1 -1
  206. package/dist/design-system/p-8f4ccae4.entry.js +1 -0
  207. package/dist/design-system/p-92f368a2.entry.js +1 -0
  208. package/dist/design-system/p-9681b0ba.entry.js +1 -0
  209. package/dist/design-system/{p-d3212544.entry.js → p-9b9bf9db.entry.js} +1 -1
  210. package/dist/design-system/{p-2c63404f.entry.js → p-9f7f1b8b.entry.js} +1 -1
  211. package/dist/design-system/p-BGtUaScP.js +1 -0
  212. package/dist/design-system/p-BQn6le_Y.js +1 -0
  213. package/dist/design-system/p-TF8_Lyhq.js +1 -0
  214. package/dist/design-system/{p-100f5887.entry.js → p-a640e509.entry.js} +1 -1
  215. package/dist/design-system/{p-b0aad445.entry.js → p-a71d4947.entry.js} +1 -1
  216. package/dist/design-system/{p-fc973500.entry.js → p-a7ea1cf0.entry.js} +1 -1
  217. package/dist/design-system/{p-44d05570.entry.js → p-a97033a2.entry.js} +1 -1
  218. package/dist/design-system/{p-ae2d45a2.entry.js → p-a98f9a29.entry.js} +1 -1
  219. package/dist/design-system/{p-de8bb9ba.entry.js → p-ae117afa.entry.js} +1 -1
  220. package/dist/design-system/{p-5cbaf1db.entry.js → p-c7099e9e.entry.js} +1 -1
  221. package/dist/design-system/{p-8ee990bd.entry.js → p-cc97f4b4.entry.js} +1 -1
  222. package/dist/design-system/{p-04fdb4b1.entry.js → p-d39e515d.entry.js} +1 -1
  223. package/dist/design-system/{p-d30c823e.entry.js → p-dbeaeb31.entry.js} +1 -1
  224. package/dist/design-system/{p-5f1c39b8.entry.js → p-e23dac79.entry.js} +1 -1
  225. package/dist/design-system/{p-857c44e8.entry.js → p-e611dcd4.entry.js} +1 -1
  226. package/dist/design-system/{p-77690440.entry.js → p-e8e64511.entry.js} +1 -1
  227. package/dist/design-system/{p-0fe603a4.entry.js → p-e902a3f4.entry.js} +1 -1
  228. package/dist/design-system/{p-18c5ae1a.entry.js → p-f7074386.entry.js} +1 -1
  229. package/dist/design-system/{p-05611ff7.entry.js → p-f721a6c6.entry.js} +1 -1
  230. package/dist/design-system/{p-caee95b0.entry.js → p-fc5c4f85.entry.js} +1 -1
  231. package/dist/design-system/{p-43e97572.entry.js → p-fe3ae346.entry.js} +1 -1
  232. package/dist/design-system/p-ffaa4b5d.entry.js +1 -0
  233. package/dist/esm/component.datepicker-BQn6le_Y.js +119 -0
  234. package/dist/esm/design-system.js +1 -1
  235. package/dist/esm/loader.js +1 -1
  236. package/dist/esm/sd-action-modal.entry.js +1 -1
  237. package/dist/esm/sd-badge.entry.js +1 -1
  238. package/dist/esm/sd-barcode-input.entry.js +1 -1
  239. package/dist/esm/sd-button_2.entry.js +269 -3
  240. package/dist/esm/sd-calendar_2.entry.js +259 -0
  241. package/dist/esm/sd-card.entry.js +1 -1
  242. package/dist/esm/sd-checkbox.entry.js +3 -3
  243. package/dist/esm/sd-chip.entry.js +1 -1
  244. package/dist/esm/sd-circle-progress.entry.js +1 -1
  245. package/dist/esm/sd-confirm-modal_2.entry.js +3 -3
  246. package/dist/esm/sd-date-box.entry.js +2 -2
  247. package/dist/esm/sd-date-picker.config-CGEE3DkI.js +34 -0
  248. package/dist/esm/sd-date-picker_7.entry.js +15 -13
  249. package/dist/esm/sd-date-range-picker-calendar.entry.js +10 -10
  250. package/dist/esm/sd-dropdown-button.entry.js +3 -3
  251. package/dist/esm/sd-field_3.entry.js +7 -7
  252. package/dist/esm/sd-form.entry.js +1 -1
  253. package/dist/esm/sd-ghost-button.entry.js +2 -2
  254. package/dist/esm/sd-guide.entry.js +2 -2
  255. package/dist/esm/sd-linear-progress.entry.js +1 -1
  256. package/dist/esm/sd-loading-container.entry.js +2 -2
  257. package/dist/esm/sd-pagination_4.entry.js +8 -8
  258. package/dist/esm/sd-popover.entry.js +3 -3
  259. package/dist/esm/sd-popup.entry.js +1 -1
  260. package/dist/esm/sd-portal.entry.js +1 -1
  261. package/dist/esm/sd-radio-button.entry.js +1 -1
  262. package/dist/esm/sd-radio.entry.js +1 -1
  263. package/dist/esm/sd-select-list-item_2.entry.js +6 -6
  264. package/dist/esm/sd-select_3.entry.js +8 -8
  265. package/dist/esm/sd-switch.entry.js +1 -1
  266. package/dist/esm/sd-table.entry.js +6 -6
  267. package/dist/esm/sd-tabs.entry.js +1 -1
  268. package/dist/esm/sd-tag.entry.js +2 -2
  269. package/dist/esm/sd-td.entry.js +1 -1
  270. package/dist/esm/sd-text-link.entry.js +3 -3
  271. package/dist/esm/sd-toast-container.entry.js +1 -1
  272. package/dist/esm/sd-toast.entry.js +2 -2
  273. package/dist/esm/sd-toggle.entry.js +1 -1
  274. package/dist/esm/useDatePicker-D5RmWGOp.js +98 -0
  275. package/dist/types/components/sd-calendar/sd-calendar.config.d.ts +55 -0
  276. package/dist/types/components/sd-calendar/sd-calendar.d.ts +18 -21
  277. package/dist/types/components/sd-date-picker/sd-date-picker.config.d.ts +0 -38
  278. package/dist/types/components/sd-date-range-picker/sd-date-range-picker.config.d.ts +2 -1
  279. package/dist/types/components.d.ts +6 -52
  280. package/dist/types/index.d.ts +4 -3
  281. package/hydrate/index.js +871 -950
  282. package/hydrate/index.mjs +871 -950
  283. package/package.json +1 -1
  284. package/dist/cjs/resolveColor-B0hzQNLG.js +0 -270
  285. package/dist/cjs/sd-calendar.cjs.entry.js +0 -143
  286. package/dist/cjs/sd-date-picker-calendar_2.cjs.entry.js +0 -219
  287. package/dist/cjs/sd-date-picker.config-CjvrFpYK.js +0 -177
  288. package/dist/cjs/useDatePicker-cK_XK_P6.js +0 -48
  289. package/dist/collection/components/sd-date-picker/sd-date-picker-calendar/sd-date-picker-calendar.css +0 -117
  290. package/dist/collection/components/sd-date-picker/sd-date-picker-calendar/sd-date-picker-calendar.js +0 -246
  291. package/dist/components/p-B6cqMQaM.js +0 -1
  292. package/dist/components/p-BL0ZcHK8.js +0 -1
  293. package/dist/components/p-Bm3W_eBv.js +0 -1
  294. package/dist/components/p-D5F7wCNo.js +0 -1
  295. package/dist/components/p-DTrMR0rx.js +0 -1
  296. package/dist/components/p-DeQcDHpn.js +0 -1
  297. package/dist/components/p-DfK4DiDI.js +0 -1
  298. package/dist/components/p-DyAnn9ea.js +0 -1
  299. package/dist/components/sd-date-picker-calendar.d.ts +0 -11
  300. package/dist/components/sd-date-picker-calendar.js +0 -1
  301. package/dist/design-system/p-2a1ef965.entry.js +0 -1
  302. package/dist/design-system/p-790165f8.entry.js +0 -1
  303. package/dist/design-system/p-80466582.entry.js +0 -1
  304. package/dist/design-system/p-8db7d8f2.entry.js +0 -1
  305. package/dist/design-system/p-B6cqMQaM.js +0 -1
  306. package/dist/design-system/p-Ce0cmS4R.js +0 -1
  307. package/dist/design-system/p-DTrMR0rx.js +0 -1
  308. package/dist/design-system/p-d8c41313.entry.js +0 -1
  309. package/dist/esm/resolveColor-Ce0cmS4R.js +0 -268
  310. package/dist/esm/sd-calendar.entry.js +0 -141
  311. package/dist/esm/sd-date-picker-calendar_2.entry.js +0 -216
  312. package/dist/esm/sd-date-picker.config-B6cqMQaM.js +0 -171
  313. package/dist/esm/useDatePicker-DTrMR0rx.js +0 -45
  314. package/dist/types/components/sd-date-picker/sd-date-picker-calendar/sd-date-picker-calendar.d.ts +0 -26
@@ -1,106 +1,167 @@
1
- .sd-calendar {
2
- width: 304px;
3
- box-sizing: border-box;
4
- border-radius: 8px;
5
- padding: 24px 19px;
6
- background: white;
1
+ sd-calendar {
2
+ display: block;
7
3
  }
8
- .sd-calendar .sd-calendar__header {
4
+ sd-calendar .sd-calendar {
9
5
  display: flex;
10
- flex-flow: row nowrap;
11
- align-items: center;
12
- gap: 20px;
13
- font-size: 14px;
14
- padding: 0 5px;
15
- height: 24px;
16
- line-height: 24px;
17
- }
18
- .sd-calendar .sd-calendar__header .year-nav,
19
- .sd-calendar .sd-calendar__header .month-nav {
6
+ flex-direction: column;
7
+ gap: var(--calendar-gap);
8
+ width: 328px;
9
+ min-height: 328px;
10
+ padding: var(--calendar-padding);
11
+ background: var(--calendar-bg);
12
+ border-radius: var(--calendar-radius);
13
+ box-shadow: 2px 2px 12px 2px rgba(0, 0, 0, 0.2);
14
+ user-select: none;
15
+ }
16
+ sd-calendar .sd-calendar__header {
20
17
  display: flex;
21
- flex-flow: row nowrap;
22
18
  align-items: center;
23
- gap: 12px;
19
+ justify-content: center;
20
+ gap: var(--calendar-header-gap);
21
+ font-size: var(--calendar-header-font-size);
22
+ line-height: var(--calendar-header-line-height);
23
+ font-weight: var(--calendar-header-font-weight);
24
+ color: var(--calendar-day-text);
24
25
  }
25
- .sd-calendar .sd-calendar__header .year-nav button,
26
- .sd-calendar .sd-calendar__header .month-nav button {
27
- background: none;
28
- border: none;
29
- cursor: pointer;
30
- margin: 0;
31
- padding: 0;
26
+ sd-calendar .sd-calendar__nav-group {
27
+ display: inline-flex;
28
+ align-items: center;
29
+ gap: var(--calendar-gap);
32
30
  }
33
- .sd-calendar .sd-calendar__header .year-nav__current {
34
- width: 40px;
35
- text-align: center;
31
+ sd-calendar .sd-calendar__nav-group-month {
32
+ width: 100%;
36
33
  }
37
- .sd-calendar .sd-calendar__header .month-nav__current {
38
- width: 100px;
34
+ sd-calendar .sd-calendar__label {
35
+ display: inline-flex;
36
+ align-items: center;
37
+ justify-content: center;
38
+ min-width: 40px;
39
39
  text-align: center;
40
40
  }
41
- .sd-calendar .sd-calendar__days {
42
- margin-top: 8px;
41
+ sd-calendar .sd-calendar__label-month {
42
+ width: 100%;
43
+ }
44
+ sd-calendar .sd-calendar__divider {
45
+ display: inline-block;
46
+ width: 1px;
47
+ height: 16px;
48
+ background: var(--calendar-header-divider);
49
+ }
50
+ sd-calendar .sd-calendar__week {
43
51
  display: grid;
44
- grid-template-columns: repeat(7, minmax(0, 1fr));
45
- column-gap: 10px;
46
- padding: 0 5px;
52
+ grid-template-columns: repeat(7, var(--calendar-day-size));
47
53
  }
48
- .sd-calendar .sd-calendar__days .day {
49
- width: 28px;
54
+ sd-calendar .sd-calendar__week-cell {
55
+ display: inline-flex;
56
+ align-items: center;
57
+ justify-content: center;
50
58
  height: 20px;
51
- font-size: 12px;
52
- line-height: 20px;
53
- text-align: center;
54
- color: #888888;
59
+ font-size: var(--calendar-week-font-size);
60
+ line-height: var(--calendar-week-line-height);
61
+ font-weight: var(--calendar-week-font-weight);
62
+ color: var(--calendar-week-color);
55
63
  }
56
- .sd-calendar .sd-calendar__body {
57
- margin-top: 12px;
64
+ sd-calendar .sd-calendar__grid {
58
65
  display: grid;
59
- grid-template-columns: repeat(7, minmax(0, 1fr));
60
- grid-auto-rows: min-content;
66
+ grid-template-columns: repeat(7, var(--calendar-day-size));
67
+ row-gap: var(--calendar-grid-row-gap);
61
68
  }
62
- .sd-calendar .sd-calendar__cell {
63
- display: flex;
69
+ sd-calendar .sd-calendar__day {
70
+ display: inline-flex;
64
71
  flex-direction: column;
65
72
  align-items: center;
73
+ justify-content: flex-start;
74
+ width: var(--calendar-day-size);
75
+ min-height: var(--calendar-day-circle-size);
76
+ padding: 0;
77
+ border: none;
78
+ background: transparent;
79
+ cursor: pointer;
80
+ font-size: var(--calendar-day-font-size);
81
+ line-height: var(--calendar-day-line-height);
82
+ font-weight: var(--calendar-day-font-weight);
83
+ color: var(--calendar-day-text);
84
+ }
85
+ sd-calendar .sd-calendar__day-circle {
86
+ display: inline-flex;
87
+ align-items: center;
88
+ justify-content: center;
89
+ width: var(--calendar-day-circle-size);
90
+ height: var(--calendar-day-circle-size);
91
+ border-radius: calc(var(--calendar-day-circle-radius) * 1px);
92
+ border: 1px solid transparent;
93
+ box-sizing: border-box;
94
+ }
95
+ sd-calendar .sd-calendar__day:not(:disabled):hover .sd-calendar__day-circle {
96
+ border-radius: 16px;
97
+ border: 1px solid var(--calendar-day-hover-border);
98
+ }
99
+ sd-calendar .sd-calendar__day--today .sd-calendar__day-circle {
100
+ font-weight: 700;
101
+ }
102
+ sd-calendar .sd-calendar__day--selected .sd-calendar__day-circle {
103
+ border-radius: 16px;
104
+ background: var(--calendar-day-select-bg);
105
+ color: var(--calendar-day-select-text);
106
+ }
107
+ sd-calendar .sd-calendar__day--selected:not(:disabled):hover .sd-calendar__day-circle {
108
+ background: var(--calendar-day-select-bg);
109
+ color: var(--calendar-day-select-text);
110
+ }
111
+ sd-calendar .sd-calendar__day--disabled {
112
+ color: var(--calendar-day-disabled-text);
113
+ background: none !important;
114
+ cursor: not-allowed;
115
+ }
116
+ sd-calendar .sd-calendar__day--empty {
117
+ visibility: hidden;
118
+ pointer-events: none;
66
119
  }
67
- .sd-calendar .sd-calendar__dots {
120
+ sd-calendar .sd-calendar__dot-row {
68
121
  display: flex;
69
122
  flex-wrap: wrap;
70
- gap: 2px;
71
123
  justify-content: center;
72
- align-items: center;
73
- min-height: 8px;
74
- max-width: 28px;
124
+ gap: var(--calendar-day-dot-gap);
125
+ width: 100%;
126
+ padding-top: var(--calendar-day-dot-padding-y);
127
+ padding-bottom: var(--calendar-day-dot-padding-y);
75
128
  }
76
- .sd-calendar .sd-calendar__dot {
77
- width: 5px;
78
- height: 5px;
79
- border-radius: 50%;
129
+ sd-calendar .sd-calendar__dot {
80
130
  display: inline-block;
131
+ width: var(--calendar-day-dot-size);
132
+ height: var(--calendar-day-dot-size);
133
+ border-radius: 50%;
81
134
  }
82
- .sd-calendar .sd-calendar__legend {
135
+ sd-calendar .sd-calendar__divider-bottom {
136
+ display: block;
137
+ width: 100%;
138
+ height: 1px;
139
+ background: var(--calendar-header-divider);
140
+ }
141
+ sd-calendar .sd-calendar__legend {
83
142
  display: flex;
143
+ align-items: center;
144
+ justify-content: center;
84
145
  flex-wrap: wrap;
85
- gap: 8px 12px;
86
- margin-top: 16px;
87
- padding: 12px 5px 0;
88
- border-top: 1px solid #E5E5E5;
146
+ column-gap: var(--calendar-legend-group-gap);
147
+ row-gap: 4px;
148
+ font-size: var(--calendar-legend-font-size);
149
+ line-height: var(--calendar-legend-line-height);
150
+ font-weight: var(--calendar-legend-font-weight);
151
+ color: var(--calendar-day-text);
89
152
  }
90
- .sd-calendar .sd-calendar__legend-item {
91
- display: flex;
153
+ sd-calendar .sd-calendar__legend-item {
154
+ display: inline-flex;
92
155
  align-items: center;
93
- gap: 4px;
156
+ gap: var(--calendar-legend-gap);
94
157
  }
95
- .sd-calendar .sd-calendar__legend-dot {
96
- width: 6px;
97
- height: 6px;
98
- border-radius: 50%;
158
+ sd-calendar .sd-calendar__legend-dot {
99
159
  display: inline-block;
160
+ width: var(--calendar-day-dot-size);
161
+ height: var(--calendar-day-dot-size);
162
+ border-radius: 50%;
100
163
  flex-shrink: 0;
101
164
  }
102
- .sd-calendar .sd-calendar__legend-label {
103
- font-size: 11px;
104
- color: #888888;
105
- line-height: 1;
165
+ sd-calendar .sd-calendar__legend-label {
166
+ display: inline-block;
106
167
  }
@@ -1,126 +1,194 @@
1
1
  import { h } from "@stencil/core";
2
- import { useDatePicker } from "../../modules/useDatePicker";
3
- import { resolveColor } from "../../utils/color";
4
2
  import { today } from "../../utils/date";
5
- const DEFAULT_COLORS = [
6
- 'brilliantblue_75',
7
- 'red_60',
8
- 'green_65',
9
- 'orange_60',
10
- 'steelblue_65',
11
- 'yellow_45',
12
- 'oceanblue_65',
13
- 'olive_55',
14
- ];
3
+ import { useDatePicker } from "../../modules/useDatePicker";
4
+ import { CALENDAR_LAYOUT, WEEK_LABELS } from "./sd-calendar.config";
15
5
  export class SdCalendar {
16
6
  value = null;
17
7
  selectable;
18
8
  events;
19
- eventColors;
20
9
  currentYear;
21
10
  currentMonth;
22
- eventsRevision = 0;
23
- select;
11
+ update;
24
12
  viewChange;
25
13
  dateUtil = useDatePicker();
14
+ _eventMapCache;
15
+ get eventMap() {
16
+ const cache = this._eventMapCache;
17
+ if (cache && cache.src === this.events)
18
+ return cache.map;
19
+ const map = new Map();
20
+ (this.events ?? []).forEach(g => g.dates.forEach(d => {
21
+ const arr = map.get(d) ?? [];
22
+ arr.push({ color: g.color, label: g.label });
23
+ map.set(d, arr);
24
+ }));
25
+ this._eventMapCache = { src: this.events, map };
26
+ return map;
27
+ }
28
+ get legendItems() {
29
+ const seen = new Set();
30
+ const out = [];
31
+ (this.events ?? []).forEach(g => {
32
+ const key = `${g.color}|${g.label}`;
33
+ if (seen.has(key))
34
+ return;
35
+ seen.add(key);
36
+ out.push({ color: g.color, label: g.label });
37
+ });
38
+ return out;
39
+ }
26
40
  componentWillLoad() {
27
- this.initCalendar();
41
+ this.syncViewFromValue();
28
42
  }
29
43
  handleValueChange() {
30
- this.initCalendar();
31
- }
32
- handleEventsChange() {
33
- this.eventsRevision = this.eventsRevision + 1;
44
+ this.syncViewFromValue();
34
45
  }
35
- initCalendar() {
46
+ syncViewFromValue() {
36
47
  const base = this.value || today;
37
48
  const [year, month] = base.split('-').map(Number);
38
49
  this.currentYear = year;
39
50
  this.currentMonth = month;
40
51
  }
41
- get calendar() {
42
- return this.dateUtil.createCalendar(this.currentYear, this.currentMonth);
52
+ formatDate(year, month, day) {
53
+ return `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`;
43
54
  }
44
- handleUpdateMonth(type) {
45
- const { newYear, newMonth } = this.dateUtil.calculateYearMonth(this.currentYear, this.currentMonth, type);
46
- this.currentYear = newYear;
47
- this.currentMonth = newMonth;
48
- this.viewChange.emit({ year: newYear, month: newMonth });
49
- }
50
- handleDateClick(day) {
51
- if (day === 0)
52
- return;
53
- const date = this.dateUtil.formatDate(this.currentYear, this.currentMonth, day);
54
- this.value = date;
55
- this.select.emit(date);
56
- }
57
- isDisabledDate(date) {
58
- if (this.selectable === undefined)
59
- return false;
60
- const [startSelectable, endSelectable] = this.selectable;
61
- if (startSelectable !== '' && endSelectable !== '') {
62
- return date < startSelectable || date > endSelectable;
55
+ get cells() {
56
+ const year = this.currentYear;
57
+ const month = this.currentMonth;
58
+ const firstDayIndex = new Date(year, month - 1, 1).getDay();
59
+ const daysInCurrent = new Date(year, month, 0).getDate();
60
+ const prevMonth = month === 1 ? 12 : month - 1;
61
+ const prevYear = month === 1 ? year - 1 : year;
62
+ const daysInPrev = new Date(prevYear, prevMonth, 0).getDate();
63
+ const nextMonth = month === 12 ? 1 : month + 1;
64
+ const nextYear = month === 12 ? year + 1 : year;
65
+ const cells = [];
66
+ for (let i = firstDayIndex - 1; i >= 0; i--) {
67
+ const day = daysInPrev - i;
68
+ cells.push({
69
+ date: this.formatDate(prevYear, prevMonth, day),
70
+ day,
71
+ inCurrentMonth: false,
72
+ });
63
73
  }
64
- if (startSelectable !== '') {
65
- return date < startSelectable;
74
+ for (let day = 1; day <= daysInCurrent; day++) {
75
+ cells.push({
76
+ date: this.formatDate(year, month, day),
77
+ day,
78
+ inCurrentMonth: true,
79
+ });
66
80
  }
67
- if (endSelectable !== '') {
68
- return date > endSelectable;
81
+ const remaining = (7 - (cells.length % 7)) % 7;
82
+ for (let day = 1; day <= remaining; day++) {
83
+ cells.push({
84
+ date: this.formatDate(nextYear, nextMonth, day),
85
+ day,
86
+ inCurrentMonth: false,
87
+ });
69
88
  }
70
- return false;
89
+ return cells;
71
90
  }
72
- getEventColor(eventName) {
73
- if (this.eventColors?.[eventName] !== undefined && this.eventColors[eventName] !== '') {
74
- return resolveColor(this.eventColors[eventName]);
75
- }
76
- const allEventNames = this.getAllEventNames();
77
- const index = allEventNames.indexOf(eventName);
78
- return resolveColor(DEFAULT_COLORS[index % DEFAULT_COLORS.length]);
91
+ emitViewChange() {
92
+ this.viewChange.emit({ year: this.currentYear, month: this.currentMonth });
79
93
  }
80
- getAllEventNames() {
81
- const names = new Set();
82
- if (this.eventColors) {
83
- for (const name of Object.keys(this.eventColors)) {
84
- names.add(name);
85
- }
86
- }
87
- if (this.events) {
88
- for (const dateEvents of Object.values(this.events)) {
89
- for (const name of dateEvents) {
90
- names.add(name);
91
- }
92
- }
93
- }
94
- return Array.from(names);
94
+ goPrevYear = (event) => {
95
+ event.stopPropagation();
96
+ this.currentYear -= 1;
97
+ this.emitViewChange();
98
+ };
99
+ goNextYear = (event) => {
100
+ event.stopPropagation();
101
+ this.currentYear += 1;
102
+ this.emitViewChange();
103
+ };
104
+ goPrevMonth = (event) => {
105
+ event.stopPropagation();
106
+ const { newYear, newMonth } = this.dateUtil.calculateYearMonth(this.currentYear, this.currentMonth, 'prev');
107
+ this.currentYear = newYear;
108
+ this.currentMonth = newMonth;
109
+ this.emitViewChange();
110
+ };
111
+ goNextMonth = (event) => {
112
+ event.stopPropagation();
113
+ const { newYear, newMonth } = this.dateUtil.calculateYearMonth(this.currentYear, this.currentMonth, 'next');
114
+ this.currentYear = newYear;
115
+ this.currentMonth = newMonth;
116
+ this.emitViewChange();
117
+ };
118
+ isDisabled(date) {
119
+ if (!this.selectable)
120
+ return false;
121
+ const [start, end] = this.selectable;
122
+ if (start !== '' && date < start)
123
+ return true;
124
+ if (end !== '' && date > end)
125
+ return true;
126
+ return false;
95
127
  }
96
- getEventsForDate(date) {
97
- return this.events?.[date] ?? [];
128
+ handleDayClick(cell) {
129
+ if (this.isDisabled(cell.date))
130
+ return;
131
+ this.value = cell.date;
132
+ this.update.emit(cell.date);
98
133
  }
99
134
  render() {
100
- // eventsRevision 참조로 events/eventColors 변경 시 re-render 보장
101
- void this.eventsRevision;
102
- const allEventNames = this.getAllEventNames();
103
- return (h("div", { key: '3c3a6af518a3e96dd5d5d553ab2a00b9dd882221', class: "sd-calendar" }, h("div", { key: '660e96fcefe539b69ae7b69bb7a7eb209f40b02f', class: "sd-calendar__header" }, h("div", { key: '609b4d2e552adb526deefbf0719284c94ab01c21', class: "year-nav" }, h("button", { key: 'dc80f2e4fa441b9ed2e0a475f7982e7339c0cda7', type: "button", name: "prev-year", title: "Previous Year", onClick: () => {
104
- this.currentYear = this.currentYear - 1;
105
- this.viewChange.emit({ year: this.currentYear, month: this.currentMonth });
106
- } }, h("sd-icon", { key: 'ff62edabb67364704a4bfbcfc6f1658ad3d72408', name: "arrowLeft", size: "12", color: "grey_45" })), h("span", { key: '0829c746b8537196652e7c40b3babea14ae8053e', class: "year-nav__current" }, this.currentYear), h("button", { key: '3d288e5091445f2ed429de4aebb0d03f29eb6cc8', type: "button", name: "next-year", title: "Next Year", onClick: () => {
107
- this.currentYear = this.currentYear + 1;
108
- this.viewChange.emit({ year: this.currentYear, month: this.currentMonth });
109
- } }, h("sd-icon", { key: '5546ced1930082c68035db8b506b6ef2e953e305', name: "arrowRight", size: "12", color: "grey_45" }))), h("div", { key: '1db95c9f31c1a11b58a6f1ce4a13b9d6388f7994', class: "month-nav" }, h("button", { key: '2c5659945f3e0807a57ba22eb34576184e6ebf50', type: "button", name: "prev-month", title: "Previous Month", onClick: () => this.handleUpdateMonth('prev') }, h("sd-icon", { key: '7994e2bf63fc45ffb7d29b49ad279223a1a12a98', name: "arrowLeft", size: "12", color: "grey_45" })), h("span", { key: 'a8afd7592b3fba13a4560387bb759f4858273a85', class: "month-nav__current" }, this.currentMonth, "\uC6D4"), h("button", { key: 'b3d21b13823bd674c43c1782b66df38010fcfa59', type: "button", name: "next-month", title: "Next Month", onClick: () => this.handleUpdateMonth('next') }, h("sd-icon", { key: '8605340fe8128b6a55328c97dc84481092009c76', name: "arrowRight", size: "12", color: "grey_45" })))), h("div", { key: '9312ff7f3af76aced7189f121c71ff252a92a71d', class: "sd-calendar__days" }, ['일', '월', '화', '수', '목', '금', '토'].map(day => (h("div", { key: day, class: "day" }, day)))), h("div", { key: 'cb93d417204b3bad65074e06e491038fe06b1389', class: { 'sd-calendar__body': true, 'sd-calendar__body--has-events': !!this.events } }, [
110
- ...this.calendar.prevMonthDays,
111
- ...this.calendar.days,
112
- ...this.calendar.afterMonthDays,
113
- ].map((day, idx) => {
114
- const formattedDate = this.dateUtil.formatDate(this.currentYear, this.currentMonth, Number(day));
115
- const dateEvents = day !== 0 ? this.getEventsForDate(formattedDate) : [];
116
- const uniqueEvents = [...new Set(dateEvents)];
117
- return (h("div", { class: "sd-calendar__cell", key: `${day}_${idx}` }, h("sd-date-box", { date: day === 0 ? '' : Number(day), selected: this.value === formattedDate, isToday: today === formattedDate, disabled: day === 0 ? true : this.isDisabledDate(formattedDate), onClick: !this.isDisabledDate(formattedDate) && day !== 0
118
- ? () => this.handleDateClick(Number(day))
119
- : undefined }), this.events !== undefined && (h("div", { class: "sd-calendar__dots" }, uniqueEvents.map(eventName => (h("span", { key: eventName, class: "sd-calendar__dot", style: { backgroundColor: this.getEventColor(eventName) } })))))));
120
- })), allEventNames.length > 0 && (h("div", { key: '0556e06bcd0bab75b61c60181d9b203cb6ad4741', class: "sd-calendar__legend" }, allEventNames.map(name => (h("div", { key: name, class: "sd-calendar__legend-item" }, h("span", { class: "sd-calendar__legend-dot", style: { backgroundColor: this.getEventColor(name) } }), h("span", { class: "sd-calendar__legend-label" }, name))))))));
135
+ const cssVars = {
136
+ '--calendar-bg': CALENDAR_LAYOUT.bg,
137
+ '--calendar-padding': `${CALENDAR_LAYOUT.paddingXY}px`,
138
+ '--calendar-gap': `${CALENDAR_LAYOUT.gap}px`,
139
+ '--calendar-radius': `${CALENDAR_LAYOUT.radius}px`,
140
+ '--calendar-header-gap': `${CALENDAR_LAYOUT.header.gap}px`,
141
+ '--calendar-header-divider': CALENDAR_LAYOUT.header.divider,
142
+ '--calendar-header-font-size': `${CALENDAR_LAYOUT.header.fontSize}px`,
143
+ '--calendar-header-line-height': `${CALENDAR_LAYOUT.header.lineHeight}px`,
144
+ '--calendar-header-font-weight': CALENDAR_LAYOUT.header.fontWeight,
145
+ '--calendar-week-font-size': `${CALENDAR_LAYOUT.week.fontSize}px`,
146
+ '--calendar-week-line-height': `${CALENDAR_LAYOUT.week.lineHeight}px`,
147
+ '--calendar-week-font-weight': CALENDAR_LAYOUT.week.fontWeight,
148
+ '--calendar-week-color': CALENDAR_LAYOUT.week.color,
149
+ '--calendar-grid-row-gap': `${CALENDAR_LAYOUT.grid.rowGap}px`,
150
+ '--calendar-day-size': `${CALENDAR_LAYOUT.day.size}px`,
151
+ '--calendar-day-circle-size': `${CALENDAR_LAYOUT.day.circleSize}px`,
152
+ '--calendar-day-circle-radius': `${CALENDAR_LAYOUT.day.circleRadius}px`,
153
+ '--calendar-day-text': CALENDAR_LAYOUT.day.defaultText,
154
+ '--calendar-day-hover-text': CALENDAR_LAYOUT.day.hoverText,
155
+ '--calendar-day-hover-border': CALENDAR_LAYOUT.day.hoverBorder,
156
+ '--calendar-day-select-bg': CALENDAR_LAYOUT.day.selectBg,
157
+ '--calendar-day-select-text': CALENDAR_LAYOUT.day.selectText,
158
+ '--calendar-day-disabled-text': CALENDAR_LAYOUT.day.disabledText,
159
+ '--calendar-day-font-size': `${CALENDAR_LAYOUT.day.fontSize}px`,
160
+ '--calendar-day-line-height': `${CALENDAR_LAYOUT.day.lineHeight}px`,
161
+ '--calendar-day-font-weight': CALENDAR_LAYOUT.day.fontWeight,
162
+ '--calendar-day-bold-font-weight': CALENDAR_LAYOUT.day.boldFontWeight,
163
+ '--calendar-day-dot-size': `${CALENDAR_LAYOUT.day.dot.size}px`,
164
+ '--calendar-day-dot-gap': `${CALENDAR_LAYOUT.day.dot.gap}px`,
165
+ '--calendar-day-dot-padding-y': `${CALENDAR_LAYOUT.day.dot.paddingY}px`,
166
+ '--calendar-legend-font-size': `${CALENDAR_LAYOUT.legend.fontSize}px`,
167
+ '--calendar-legend-line-height': `${CALENDAR_LAYOUT.legend.lineHeight}px`,
168
+ '--calendar-legend-font-weight': CALENDAR_LAYOUT.legend.fontWeight,
169
+ '--calendar-legend-gap': `${CALENDAR_LAYOUT.legend.gap}px`,
170
+ '--calendar-legend-group-gap': `${CALENDAR_LAYOUT.legend.groupGap}px`,
171
+ };
172
+ const eventMap = this.eventMap;
173
+ const legend = this.legendItems;
174
+ return (h("div", { key: '66c0bec57c13af12b05f2e90fbc5e1674ab052c8', class: "sd-calendar", style: cssVars }, h("div", { key: '4df4f1c6d1ddcbe1478a69a481a228e66fc33c0a', class: "sd-calendar__header" }, h("div", { key: '378c04444b3ddcc7df92ecce0f49056e919cd8e5', class: "sd-calendar__nav-group" }, h("sd-ghost-button", { key: '47426c62a26b05a9db58144acc33770713e7fce4', ariaLabel: "prevYear", size: "xxs", icon: "chevronLeft", onClick: this.goPrevYear }), h("span", { key: '3b32e76a8a35705d820803c0b747829370079324', class: "sd-calendar__label" }, this.currentYear), h("sd-ghost-button", { key: '2e890a2cea91c9f49a03f0db3a4b943c707e312e', ariaLabel: "nextYear", size: "xxs", icon: "chevronRight", onClick: this.goNextYear })), h("span", { key: '795bb8452e75303c25a8dc6d95f819f1e42f7f49', class: "sd-calendar__divider", "aria-hidden": "true" }), h("div", { key: '6df460ec38917c51eff851732c7f37b7e09475f6', class: "sd-calendar__nav-group sd-calendar__nav-group-month" }, h("sd-ghost-button", { key: '36ef9dfdcfac5d9da08d05ca357fc9ec4100af4f', ariaLabel: "prevMonth", size: "xxs", icon: "chevronLeft", onClick: this.goPrevMonth }), h("span", { key: 'b2e0cc74570724c0d97fb2afbcb775c0794583af', class: "sd-calendar__label sd-calendar__label-month" }, this.currentMonth, "\uC6D4"), h("sd-ghost-button", { key: '4c45467356411f7a5d137c19931d8fc62084c742', ariaLabel: "nextMonth", size: "xxs", icon: "chevronRight", onClick: this.goNextMonth }))), h("div", { key: 'e1637a39795fb44bd33d138c8b244cc15b5f85f6', class: "sd-calendar__week" }, WEEK_LABELS.map(label => (h("span", { key: label, class: "sd-calendar__week-cell" }, label)))), h("div", { key: '45642dc93b1373dc760f64ba74dd931e651279dd', class: "sd-calendar__grid" }, this.cells.map(cell => {
175
+ const isSelected = cell.inCurrentMonth && this.value !== '' && this.value === cell.date;
176
+ const isToday = cell.inCurrentMonth && today === cell.date;
177
+ const isDisabled = cell.inCurrentMonth && this.isDisabled(cell.date);
178
+ const dayEvents = cell.inCurrentMonth ? eventMap.get(cell.date) : undefined;
179
+ return (h("button", { type: "button", key: cell.date, class: {
180
+ 'sd-calendar__day': true,
181
+ 'sd-calendar__day--empty': !cell.inCurrentMonth,
182
+ 'sd-calendar__day--today': isToday,
183
+ 'sd-calendar__day--selected': isSelected,
184
+ 'sd-calendar__day--disabled': isDisabled,
185
+ }, disabled: !cell.inCurrentMonth || isDisabled, tabindex: !cell.inCurrentMonth ? -1 : undefined, "aria-hidden": !cell.inCurrentMonth ? 'true' : undefined, onClick: () => cell.inCurrentMonth && this.handleDayClick(cell) }, h("span", { class: "sd-calendar__day-circle" }, cell.inCurrentMonth ? cell.day : ''), dayEvents && dayEvents.length > 0 && (h("span", { class: "sd-calendar__dot-row", "aria-hidden": "true" }, dayEvents.map((ev, i) => (h("span", { key: `${ev.color}|${ev.label}|${i}`, class: "sd-calendar__dot", style: { backgroundColor: ev.color } })))))));
186
+ })), legend.length > 0 && [
187
+ h("span", { key: '0872cb7627db7d33721fbd1e1c9a601bd3c6c3e1', class: "sd-calendar__divider-bottom", "aria-hidden": "true" }),
188
+ h("div", { key: 'd9c6be0684720aa9d2af24b2d0cf372a036dc8d5', class: "sd-calendar__legend" }, legend.map(item => (h("span", { key: `${item.color}|${item.label}`, class: "sd-calendar__legend-item" }, h("span", { class: "sd-calendar__legend-dot", style: { backgroundColor: item.color }, "aria-hidden": "true" }), h("span", { class: "sd-calendar__legend-label" }, item.label))))),
189
+ ]));
121
190
  }
122
191
  static get is() { return "sd-calendar"; }
123
- static get encapsulation() { return "scoped"; }
124
192
  static get originalStyleUrls() {
125
193
  return {
126
194
  "$": ["sd-calendar.scss"]
@@ -149,7 +217,7 @@ export class SdCalendar {
149
217
  },
150
218
  "getter": false,
151
219
  "setter": false,
152
- "reflect": true,
220
+ "reflect": false,
153
221
  "attribute": "value",
154
222
  "defaultValue": "null"
155
223
  },
@@ -174,36 +242,14 @@ export class SdCalendar {
174
242
  "type": "unknown",
175
243
  "mutable": false,
176
244
  "complexType": {
177
- "original": "CalendarEvents",
178
- "resolved": "CalendarEvents | undefined",
179
- "references": {
180
- "CalendarEvents": {
181
- "location": "local",
182
- "path": "/Users/meijing/Documents/sellmate/frontend/design-system/packages/stencil/src/components/sd-calendar/sd-calendar.tsx",
183
- "id": "src/components/sd-calendar/sd-calendar.tsx::CalendarEvents"
184
- }
185
- }
186
- },
187
- "required": false,
188
- "optional": true,
189
- "docs": {
190
- "tags": [],
191
- "text": ""
192
- },
193
- "getter": false,
194
- "setter": false
195
- },
196
- "eventColors": {
197
- "type": "unknown",
198
- "mutable": false,
199
- "complexType": {
200
- "original": "CalendarEventColors",
201
- "resolved": "CalendarEventColors | undefined",
245
+ "original": "CalendarEventGroup[]",
246
+ "resolved": "CalendarEventGroup[] | undefined",
202
247
  "references": {
203
- "CalendarEventColors": {
204
- "location": "local",
205
- "path": "/Users/meijing/Documents/sellmate/frontend/design-system/packages/stencil/src/components/sd-calendar/sd-calendar.tsx",
206
- "id": "src/components/sd-calendar/sd-calendar.tsx::CalendarEventColors"
248
+ "CalendarEventGroup": {
249
+ "location": "import",
250
+ "path": "./sd-calendar.config",
251
+ "id": "src/components/sd-calendar/sd-calendar.config.ts::CalendarEventGroup",
252
+ "referenceLocation": "CalendarEventGroup"
207
253
  }
208
254
  }
209
255
  },
@@ -221,14 +267,13 @@ export class SdCalendar {
221
267
  static get states() {
222
268
  return {
223
269
  "currentYear": {},
224
- "currentMonth": {},
225
- "eventsRevision": {}
270
+ "currentMonth": {}
226
271
  };
227
272
  }
228
273
  static get events() {
229
274
  return [{
230
- "method": "select",
231
- "name": "sdSelect",
275
+ "method": "update",
276
+ "name": "sdUpdate",
232
277
  "bubbles": true,
233
278
  "cancelable": true,
234
279
  "composed": true,
@@ -262,12 +307,6 @@ export class SdCalendar {
262
307
  return [{
263
308
  "propName": "value",
264
309
  "methodName": "handleValueChange"
265
- }, {
266
- "propName": "events",
267
- "methodName": "handleEventsChange"
268
- }, {
269
- "propName": "eventColors",
270
- "methodName": "handleEventsChange"
271
310
  }];
272
311
  }
273
312
  }
@@ -3,7 +3,7 @@ export class SdCard {
3
3
  bordered = false;
4
4
  sdClass = '';
5
5
  render() {
6
- return (h(Fragment, { key: '2700ffa3af5b6b35882c396a838d9da2e866ee4b' }, h("div", { key: '3d3aeaac318fc089c42ae4348bc72015d4476276', class: `sd-card ${this.bordered ? 'sd-card--bordered' : ''} ${this.sdClass}` }, h("slot", { key: 'e72f00bc8c209644baf5f431ce485fb5b691f354' }))));
6
+ return (h(Fragment, { key: '61c364f88b03eb56b60c660a58533f417d209e6a' }, h("div", { key: 'dee3671e757c273ffec06a15a0191a798280522c', class: `sd-card ${this.bordered ? 'sd-card--bordered' : ''} ${this.sdClass}` }, h("slot", { key: 'f991bf5df95f8c1bac417aa4e70f40cf68624fb8' }))));
7
7
  }
8
8
  static get is() { return "sd-card"; }
9
9
  static get originalStyleUrls() {
@@ -100,13 +100,13 @@ export class SdCheckbox {
100
100
  '--sd-checkbox-inverse-icon': CHECKBOX_COLORS.checked.iconInverse,
101
101
  '--sd-checkbox-inverse-label': CHECKBOX_COLORS.labelInverse,
102
102
  };
103
- return (h("label", { key: '6b1ad950ce2f0b8e734efab6889a46064f7ef32a', class: this.checkboxClasses, style: cssVars }, h("input", { key: 'ee2fd70d61db2a5de6eab26dc07128e6158540e5', type: "checkbox", ref: el => {
103
+ return (h("label", { key: '6fb506c448a5968d403f779d113fd60857901982', class: this.checkboxClasses, style: cssVars }, h("input", { key: 'fb08f531416255b8886d2bd2c21c3f62e8a9d47d', type: "checkbox", ref: el => {
104
104
  this.inputEl = el;
105
- }, value: this.val, checked: !!this.isChecked, disabled: this.disabled, onChange: this.handleChange, name: this.val?.toString() || 'checkbox', "aria-label": this.label || 'checkbox', "aria-checked": this.isChecked === null ? 'mixed' : this.isChecked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }), h("div", { key: '234e0e4100da6f1a5f65fb4f32cb4d8e1ba018fd', class: "sd-checkbox__bg" }, this.isChecked !== false ? (h("sd-icon", { name: this.isChecked === true ? 'checkboxCheck' : 'checkboxIndeterminate', size: Number(CHECKBOX_LAYOUT.iconSize), color: this.disabled
105
+ }, value: this.val, checked: !!this.isChecked, disabled: this.disabled, onChange: this.handleChange, name: this.val?.toString() || 'checkbox', "aria-label": this.label || 'checkbox', "aria-checked": this.isChecked === null ? 'mixed' : this.isChecked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }), h("div", { key: 'e49eb38375ba680e08510f83a15ce8a6bbecd4b8', class: "sd-checkbox__bg" }, this.isChecked !== false ? (h("sd-icon", { name: this.isChecked === true ? 'checkboxCheck' : 'checkboxIndeterminate', size: Number(CHECKBOX_LAYOUT.iconSize), color: this.disabled
106
106
  ? CHECKBOX_COLORS.checked.iconDisabled
107
107
  : this.inverse
108
108
  ? CHECKBOX_COLORS.checked.iconInverse
109
- : CHECKBOX_COLORS.checked.icon })) : null), this.label && h("span", { key: '15afb8e3b31201febd15bb85d24ee9c9b246d1d0', class: "sd-checkbox__label" }, this.label)));
109
+ : CHECKBOX_COLORS.checked.icon })) : null), this.label && h("span", { key: '92bc308561b0a7653926d751d029d80c38844b07', class: "sd-checkbox__label" }, this.label)));
110
110
  }
111
111
  static get is() { return "sd-checkbox"; }
112
112
  static get originalStyleUrls() {