@six-group/ui-library 0.0.0-insider.afba913 → 0.0.0-insider.b0fd8e9

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 (632) hide show
  1. package/dist/cjs/animation-ZgWV0fC6.js +54 -0
  2. package/dist/cjs/animation-ZgWV0fC6.js.map +1 -0
  3. package/dist/cjs/{form-control-Ditp8yHw.js → form-control-CX8QRq9v.js} +3 -3
  4. package/dist/cjs/{form-control-Ditp8yHw.js.map → form-control-CX8QRq9v.js.map} +1 -1
  5. package/dist/cjs/icon-4irykc7V.js +17 -0
  6. package/dist/cjs/icon-4irykc7V.js.map +1 -0
  7. package/dist/cjs/{index-BKTrCUjx.js → index-C8rK7OAe.js} +19 -11
  8. package/dist/{esm/index-D0Go1Zjj.js.map → cjs/index-C8rK7OAe.js.map} +1 -1
  9. package/dist/cjs/index.cjs.js +3 -0
  10. package/dist/cjs/index.cjs.js.map +1 -1
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/six-alert.cjs.entry.js +1 -1
  13. package/dist/cjs/six-avatar.cjs.entry.js +3 -3
  14. package/dist/cjs/six-badge.cjs.entry.js +3 -3
  15. package/dist/cjs/six-breadcrumbs-item.cjs.entry.js +25 -0
  16. package/dist/cjs/six-breadcrumbs-item.cjs.entry.js.map +1 -0
  17. package/dist/cjs/six-breadcrumbs-item.entry.cjs.js.map +1 -0
  18. package/dist/cjs/six-breadcrumbs.cjs.entry.js +73 -0
  19. package/dist/cjs/six-breadcrumbs.cjs.entry.js.map +1 -0
  20. package/dist/cjs/six-breadcrumbs.entry.cjs.js.map +1 -0
  21. package/dist/cjs/six-button.six-spinner.entry.cjs.js.map +1 -0
  22. package/dist/cjs/{six-button.cjs.entry.js → six-button_2.cjs.entry.js} +56 -5
  23. package/dist/cjs/six-button_2.cjs.entry.js.map +1 -0
  24. package/dist/cjs/six-card.cjs.entry.js +2 -2
  25. package/dist/cjs/six-checkbox_2.cjs.entry.js +6 -6
  26. package/dist/cjs/six-date.cjs.entry.js +59 -52
  27. package/dist/cjs/six-date.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-date.entry.cjs.js.map +1 -1
  29. package/dist/cjs/six-datepicker.cjs.entry.js +4 -4
  30. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-datepicker.entry.cjs.js.map +1 -1
  32. package/dist/cjs/six-details.cjs.entry.js +4 -4
  33. package/dist/cjs/six-dialog.cjs.entry.js +16 -10
  34. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-dialog.entry.cjs.js.map +1 -1
  36. package/dist/cjs/six-drawer.cjs.entry.js +16 -10
  37. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-drawer.entry.cjs.js.map +1 -1
  39. package/dist/cjs/six-dropdown.six-menu.entry.cjs.js.map +1 -1
  40. package/dist/cjs/six-dropdown_2.cjs.entry.js +9 -9
  41. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-error-page.cjs.entry.js +2 -2
  43. package/dist/cjs/six-error.cjs.entry.js +2 -2
  44. package/dist/cjs/six-file-list-item.cjs.entry.js +3 -3
  45. package/dist/cjs/six-file-list.cjs.entry.js +2 -2
  46. package/dist/cjs/six-file-upload.cjs.entry.js +13 -8
  47. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-file-upload.entry.cjs.js.map +1 -1
  49. package/dist/cjs/six-footer.cjs.entry.js +2 -2
  50. package/dist/cjs/six-group-label.cjs.entry.js +3 -3
  51. package/dist/cjs/six-header-dropdown-item.cjs.entry.js +3 -3
  52. package/dist/cjs/six-header-item.cjs.entry.js +2 -2
  53. package/dist/cjs/six-header-menu-button.cjs.entry.js +2 -2
  54. package/dist/cjs/six-header.cjs.entry.js +3 -3
  55. package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
  56. package/dist/cjs/six-icon.cjs.entry.js +16 -7
  57. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-icon.entry.cjs.js.map +1 -1
  59. package/dist/cjs/six-input.cjs.entry.js +5 -5
  60. package/dist/cjs/six-item-picker.cjs.entry.js +1 -1
  61. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  62. package/dist/cjs/six-layout-grid.cjs.entry.js +2 -2
  63. package/dist/cjs/six-logo.cjs.entry.js +1 -1
  64. package/dist/cjs/six-main-container.cjs.entry.js +2 -2
  65. package/dist/cjs/six-menu-divider.cjs.entry.js +2 -2
  66. package/dist/cjs/six-menu-label.cjs.entry.js +2 -2
  67. package/dist/cjs/six-picto.cjs.entry.js +2 -2
  68. package/dist/cjs/six-progress-bar.cjs.entry.js +4 -4
  69. package/dist/cjs/six-progress-ring.cjs.entry.js +2 -2
  70. package/dist/cjs/six-radio.cjs.entry.js +3 -3
  71. package/dist/cjs/six-range.cjs.entry.js +4 -4
  72. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-range.entry.cjs.js.map +1 -1
  74. package/dist/cjs/six-rating.cjs.entry.js +126 -0
  75. package/dist/cjs/six-rating.cjs.entry.js.map +1 -0
  76. package/dist/cjs/six-rating.entry.cjs.js.map +1 -0
  77. package/dist/cjs/six-root.cjs.entry.js +2 -2
  78. package/dist/cjs/six-search-field.cjs.entry.js +2 -2
  79. package/dist/cjs/six-select.cjs.entry.js +8 -8
  80. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +1 -1
  81. package/dist/cjs/six-sidebar-item.cjs.entry.js +3 -3
  82. package/dist/cjs/six-sidebar.cjs.entry.js +3 -3
  83. package/dist/cjs/six-stage-indicator.cjs.entry.js +1 -1
  84. package/dist/cjs/six-switch.cjs.entry.js +4 -4
  85. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-switch.entry.cjs.js.map +1 -1
  87. package/dist/cjs/six-tab-group.cjs.entry.js +5 -38
  88. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-tab-group.entry.cjs.js.map +1 -1
  90. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  91. package/dist/cjs/six-tab.cjs.entry.js +4 -4
  92. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-tab.entry.cjs.js.map +1 -1
  94. package/dist/cjs/six-tag.cjs.entry.js +3 -3
  95. package/dist/cjs/six-textarea.cjs.entry.js +4 -4
  96. package/dist/cjs/six-tile.cjs.entry.js +6 -6
  97. package/dist/cjs/six-timepicker.cjs.entry.js +19 -11
  98. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-timepicker.entry.cjs.js.map +1 -1
  100. package/dist/cjs/six-tooltip.cjs.entry.js +3 -3
  101. package/dist/cjs/ui-library.cjs.js +3 -3
  102. package/dist/cjs/ui-library.cjs.js.map +1 -1
  103. package/dist/collection/collection-manifest.json +6 -3
  104. package/dist/collection/components/six-avatar/six-avatar.js +2 -2
  105. package/dist/collection/components/six-badge/six-badge.js +2 -2
  106. package/dist/collection/components/six-breadcrumbs/six-breadcrumbs.css +27 -0
  107. package/dist/collection/components/six-breadcrumbs/six-breadcrumbs.js +109 -0
  108. package/dist/collection/components/six-breadcrumbs/six-breadcrumbs.js.map +1 -0
  109. package/dist/collection/components/six-breadcrumbs-item/six-breadcrumbs-item.css +61 -0
  110. package/dist/collection/components/six-breadcrumbs-item/six-breadcrumbs-item.js +123 -0
  111. package/dist/collection/components/six-breadcrumbs-item/six-breadcrumbs-item.js.map +1 -0
  112. package/dist/collection/components/six-button/six-button.js +2 -2
  113. package/dist/collection/components/six-card/six-card.js +1 -1
  114. package/dist/collection/components/six-checkbox/six-checkbox.js +2 -2
  115. package/dist/collection/components/six-date/iso-date.js +34 -2
  116. package/dist/collection/components/six-date/iso-date.js.map +1 -1
  117. package/dist/collection/components/six-date/six-date.js +28 -73
  118. package/dist/collection/components/six-date/six-date.js.map +1 -1
  119. package/dist/collection/components/six-datepicker/six-datepicker.js +4 -4
  120. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  121. package/dist/collection/components/six-details/six-details.js +3 -3
  122. package/dist/collection/components/six-dialog/six-dialog.js +23 -17
  123. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  124. package/dist/collection/components/six-drawer/six-drawer.js +23 -17
  125. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  126. package/dist/collection/components/six-dropdown/six-dropdown.js +5 -5
  127. package/dist/collection/components/six-error/six-error.js +1 -1
  128. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  129. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  130. package/dist/collection/components/six-file-list-item/six-file-list-item.js +2 -2
  131. package/dist/collection/components/six-file-upload/six-file-upload.js +12 -7
  132. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  133. package/dist/collection/components/six-footer/six-footer.js +1 -1
  134. package/dist/collection/components/six-group-label/six-group-label.js +1 -1
  135. package/dist/collection/components/six-header/six-header.js +2 -2
  136. package/dist/collection/components/six-header-dropdown-item/six-header-dropdown-item.js +2 -2
  137. package/dist/collection/components/six-header-item/six-header-item.js +1 -1
  138. package/dist/collection/components/six-header-menu-button/six-header-menu-button.js +1 -1
  139. package/dist/collection/components/six-icon/six-icon.css +46 -29
  140. package/dist/collection/components/six-icon/six-icon.js +39 -5
  141. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  142. package/dist/collection/components/six-icon-button/six-icon-button.js +3 -3
  143. package/dist/collection/components/six-input/six-input.js +3 -3
  144. package/dist/collection/components/six-language-switcher/six-language-switcher.js +1 -1
  145. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  146. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  147. package/dist/collection/components/six-menu/six-menu.js +3 -3
  148. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  149. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  150. package/dist/collection/components/six-menu-item/six-menu-item.js +2 -2
  151. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  152. package/dist/collection/components/six-picto/six-picto.js +1 -1
  153. package/dist/collection/components/six-progress-bar/six-progress-bar.js +3 -3
  154. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  155. package/dist/collection/components/six-radio/six-radio.js +2 -2
  156. package/dist/collection/components/six-range/six-range.js +2 -2
  157. package/dist/collection/components/six-rating/six-rating.css +125 -0
  158. package/dist/collection/components/six-rating/six-rating.js +432 -0
  159. package/dist/collection/components/six-rating/six-rating.js.map +1 -0
  160. package/dist/collection/components/six-root/six-root.js +1 -1
  161. package/dist/collection/components/six-search-field/six-search-field.js +1 -1
  162. package/dist/collection/components/six-select/six-select.js +6 -6
  163. package/dist/collection/components/six-sidebar/six-sidebar.js +2 -2
  164. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +2 -2
  165. package/dist/collection/components/six-switch/six-switch.js +2 -2
  166. package/dist/collection/components/six-tab/six-tab.css +12 -0
  167. package/dist/collection/components/six-tab/six-tab.js +2 -2
  168. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  169. package/dist/collection/components/six-tab-group/six-tab-group.js +2 -2
  170. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  171. package/dist/collection/components/six-tag/six-tag.js +2 -2
  172. package/dist/collection/components/six-textarea/six-textarea.js +2 -2
  173. package/dist/collection/components/six-tile/six-tile.js +5 -5
  174. package/dist/collection/components/six-timepicker/six-timepicker.js +18 -10
  175. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  176. package/dist/collection/components/six-tooltip/six-tooltip.js +2 -2
  177. package/dist/collection/files/material-symbols-outlined-latin-fill-normal.woff2 +0 -0
  178. package/dist/collection/files/material-symbols-outlined-latin-full-normal.woff2 +0 -0
  179. package/dist/collection/files/material-symbols-outlined-latin-grad-normal.woff2 +0 -0
  180. package/dist/collection/files/material-symbols-outlined-latin-opsz-normal.woff2 +0 -0
  181. package/dist/collection/files/material-symbols-outlined-latin-standard-normal.woff2 +0 -0
  182. package/dist/collection/files/material-symbols-outlined-latin-wght-normal.woff2 +0 -0
  183. package/dist/collection/files/material-symbols-rounded-latin-fill-normal.woff2 +0 -0
  184. package/dist/collection/files/material-symbols-rounded-latin-full-normal.woff2 +0 -0
  185. package/dist/collection/files/material-symbols-rounded-latin-grad-normal.woff2 +0 -0
  186. package/dist/collection/files/material-symbols-rounded-latin-opsz-normal.woff2 +0 -0
  187. package/dist/collection/files/material-symbols-rounded-latin-standard-normal.woff2 +0 -0
  188. package/dist/collection/files/material-symbols-rounded-latin-wght-normal.woff2 +0 -0
  189. package/dist/collection/files/material-symbols-sharp-latin-fill-normal.woff2 +0 -0
  190. package/dist/collection/files/material-symbols-sharp-latin-full-normal.woff2 +0 -0
  191. package/dist/collection/files/material-symbols-sharp-latin-grad-normal.woff2 +0 -0
  192. package/dist/collection/files/material-symbols-sharp-latin-opsz-normal.woff2 +0 -0
  193. package/dist/collection/files/material-symbols-sharp-latin-standard-normal.woff2 +0 -0
  194. package/dist/collection/files/material-symbols-sharp-latin-wght-normal.woff2 +0 -0
  195. package/dist/collection/index.js +1 -0
  196. package/dist/collection/index.js.map +1 -1
  197. package/dist/collection/utils/animation.js +13 -0
  198. package/dist/collection/utils/animation.js.map +1 -1
  199. package/dist/collection/utils/icon.js +10 -0
  200. package/dist/collection/utils/icon.js.map +1 -0
  201. package/dist/components/index.js +8 -1
  202. package/dist/components/index.js.map +1 -1
  203. package/dist/components/{p-DV46ui1Q.js → p-BB2rei7y.js} +3 -3
  204. package/dist/components/{p-DV46ui1Q.js.map → p-BB2rei7y.js.map} +1 -1
  205. package/dist/components/{p-Cemjz04k.js → p-BDCdPEjW.js} +6 -6
  206. package/dist/components/p-BDCdPEjW.js.map +1 -0
  207. package/dist/components/{p-eZGoeOrd.js → p-BFxDUwBI.js} +5 -5
  208. package/dist/components/{p-eZGoeOrd.js.map → p-BFxDUwBI.js.map} +1 -1
  209. package/dist/components/{p-D45ehsSM.js → p-BKl-wAjt.js} +7 -7
  210. package/dist/components/{p-D45ehsSM.js.map → p-BKl-wAjt.js.map} +1 -1
  211. package/dist/components/{p-Cr6sHYme.js → p-BLocui1Z.js} +4 -4
  212. package/dist/components/{p-Cr6sHYme.js.map → p-BLocui1Z.js.map} +1 -1
  213. package/dist/components/{p-Dl9jKaw7.js → p-C-TgkYhI.js} +9 -9
  214. package/dist/components/{p-Dl9jKaw7.js.map → p-C-TgkYhI.js.map} +1 -1
  215. package/dist/components/{p-CT9Wgs8K.js → p-C6ozoFuw.js} +15 -15
  216. package/dist/components/{p-CT9Wgs8K.js.map → p-C6ozoFuw.js.map} +1 -1
  217. package/dist/components/p-C84iXIFp.js +71 -0
  218. package/dist/components/p-C84iXIFp.js.map +1 -0
  219. package/dist/components/{p-DXhOme6Y.js → p-CH82uB3t.js} +4 -4
  220. package/dist/components/{p-DXhOme6Y.js.map → p-CH82uB3t.js.map} +1 -1
  221. package/dist/components/{p-ltzGzaAu.js → p-CKhg9ibv.js} +3 -3
  222. package/dist/components/{p-ltzGzaAu.js.map → p-CKhg9ibv.js.map} +1 -1
  223. package/dist/components/{p-eW-dQ-wI.js → p-CSfxA66i.js} +7 -7
  224. package/dist/components/{p-eW-dQ-wI.js.map → p-CSfxA66i.js.map} +1 -1
  225. package/dist/components/{p-DdgOKe4B.js → p-CXsF3egB.js} +11 -11
  226. package/dist/components/{p-DdgOKe4B.js.map → p-CXsF3egB.js.map} +1 -1
  227. package/dist/components/{p-B-jadcQD.js → p-C_slMKPO.js} +26 -18
  228. package/dist/components/p-C_slMKPO.js.map +1 -0
  229. package/dist/components/{p-BtF2Ym6T.js → p-D512q9rn.js} +17 -4
  230. package/dist/components/p-D512q9rn.js.map +1 -0
  231. package/dist/components/{p-BmW8cpEG.js → p-DIkvCBxr.js} +3 -3
  232. package/dist/components/{p-BmW8cpEG.js.map → p-DIkvCBxr.js.map} +1 -1
  233. package/dist/components/{p-CLtU4Br-.js → p-DQrAnsWb.js} +4 -4
  234. package/dist/components/{p-CLtU4Br-.js.map → p-DQrAnsWb.js.map} +1 -1
  235. package/dist/components/{p-DT1sZALq.js → p-DrZr0hMT.js} +7 -7
  236. package/dist/components/{p-DT1sZALq.js.map → p-DrZr0hMT.js.map} +1 -1
  237. package/dist/components/p-SLlDVtvF.js +51 -0
  238. package/dist/components/p-SLlDVtvF.js.map +1 -0
  239. package/dist/components/{p-6HRX2kde.js → p-SZP6K3B0.js} +8 -8
  240. package/dist/components/{p-6HRX2kde.js.map → p-SZP6K3B0.js.map} +1 -1
  241. package/dist/components/{p-CYrYPnLQ.js → p-jflTvJ8E.js} +5 -5
  242. package/dist/components/{p-CYrYPnLQ.js.map → p-jflTvJ8E.js.map} +1 -1
  243. package/dist/components/six-alert.js +3 -3
  244. package/dist/components/six-avatar.js +4 -4
  245. package/dist/components/six-badge.js +3 -3
  246. package/dist/components/six-breadcrumbs-item.d.ts +11 -0
  247. package/dist/components/six-breadcrumbs-item.js +58 -0
  248. package/dist/components/six-breadcrumbs-item.js.map +1 -0
  249. package/dist/components/six-breadcrumbs.d.ts +11 -0
  250. package/dist/components/six-breadcrumbs.js +97 -0
  251. package/dist/components/six-breadcrumbs.js.map +1 -0
  252. package/dist/components/six-button.js +1 -1
  253. package/dist/components/six-card.js +2 -2
  254. package/dist/components/six-checkbox.js +1 -1
  255. package/dist/components/six-date.js +63 -57
  256. package/dist/components/six-date.js.map +1 -1
  257. package/dist/components/six-datepicker.js +10 -10
  258. package/dist/components/six-datepicker.js.map +1 -1
  259. package/dist/components/six-details.js +1 -1
  260. package/dist/components/six-dialog.js +18 -12
  261. package/dist/components/six-dialog.js.map +1 -1
  262. package/dist/components/six-drawer.js +18 -12
  263. package/dist/components/six-drawer.js.map +1 -1
  264. package/dist/components/six-dropdown.js +1 -1
  265. package/dist/components/six-error-page.js +3 -3
  266. package/dist/components/six-error.js +1 -1
  267. package/dist/components/six-file-list-item.js +4 -4
  268. package/dist/components/six-file-list.js +2 -2
  269. package/dist/components/six-file-upload.js +16 -11
  270. package/dist/components/six-file-upload.js.map +1 -1
  271. package/dist/components/six-footer.js +2 -2
  272. package/dist/components/six-group-label.js +4 -4
  273. package/dist/components/six-header-dropdown-item.js +10 -10
  274. package/dist/components/six-header-item.js +2 -2
  275. package/dist/components/six-header-menu-button.js +4 -4
  276. package/dist/components/six-header.js +3 -3
  277. package/dist/components/six-icon-button.js +1 -1
  278. package/dist/components/six-icon.js +1 -1
  279. package/dist/components/six-input.js +1 -1
  280. package/dist/components/six-item-picker.js +1 -1
  281. package/dist/components/six-language-switcher.js +2 -2
  282. package/dist/components/six-layout-grid.js +2 -2
  283. package/dist/components/six-logo.js +1 -1
  284. package/dist/components/six-main-container.js +2 -2
  285. package/dist/components/six-menu-divider.js +2 -2
  286. package/dist/components/six-menu-item.js +1 -1
  287. package/dist/components/six-menu-label.js +2 -2
  288. package/dist/components/six-menu.js +1 -1
  289. package/dist/components/six-picto.js +1 -1
  290. package/dist/components/six-progress-bar.js +4 -4
  291. package/dist/components/six-progress-ring.js +2 -2
  292. package/dist/components/six-radio.js +3 -3
  293. package/dist/components/six-range.js +5 -5
  294. package/dist/components/six-range.js.map +1 -1
  295. package/dist/components/six-rating.d.ts +11 -0
  296. package/dist/components/six-rating.js +173 -0
  297. package/dist/components/six-rating.js.map +1 -0
  298. package/dist/components/six-root.js +4 -4
  299. package/dist/components/six-search-field.js +6 -6
  300. package/dist/components/six-select.js +19 -19
  301. package/dist/components/six-sidebar-item-group.js +3 -3
  302. package/dist/components/six-sidebar-item.js +4 -4
  303. package/dist/components/six-sidebar.js +3 -3
  304. package/dist/components/six-spinner.js +1 -1
  305. package/dist/components/six-stage-indicator.js +1 -1
  306. package/dist/components/six-switch.js +5 -5
  307. package/dist/components/six-switch.js.map +1 -1
  308. package/dist/components/six-tab-group.js +6 -39
  309. package/dist/components/six-tab-group.js.map +1 -1
  310. package/dist/components/six-tab-panel.js +2 -2
  311. package/dist/components/six-tab.js +6 -6
  312. package/dist/components/six-tab.js.map +1 -1
  313. package/dist/components/six-tag.js +7 -7
  314. package/dist/components/six-textarea.js +5 -5
  315. package/dist/components/six-tile.js +9 -9
  316. package/dist/components/six-timepicker.js +1 -1
  317. package/dist/components/six-tooltip.js +1 -1
  318. package/dist/components.json +3044 -687
  319. package/dist/esm/animation-SLlDVtvF.js +51 -0
  320. package/dist/esm/animation-SLlDVtvF.js.map +1 -0
  321. package/dist/esm/{execution-control-ltzGzaAu.js → execution-control-CKhg9ibv.js} +3 -3
  322. package/dist/esm/{execution-control-ltzGzaAu.js.map → execution-control-CKhg9ibv.js.map} +1 -1
  323. package/dist/esm/{form-control-D_uS8E6o.js → form-control-DI6V1ZhR.js} +3 -3
  324. package/dist/esm/{form-control-D_uS8E6o.js.map → form-control-DI6V1ZhR.js.map} +1 -1
  325. package/dist/esm/icon-DqHJRLQQ.js +14 -0
  326. package/dist/esm/icon-DqHJRLQQ.js.map +1 -0
  327. package/dist/esm/{index-D0Go1Zjj.js → index-JoG9I7EO.js} +19 -11
  328. package/dist/{cjs/index-BKTrCUjx.js.map → esm/index-JoG9I7EO.js.map} +1 -1
  329. package/dist/esm/index.js +1 -0
  330. package/dist/esm/index.js.map +1 -1
  331. package/dist/esm/loader.js +3 -3
  332. package/dist/esm/six-alert.entry.js +1 -1
  333. package/dist/esm/six-avatar.entry.js +3 -3
  334. package/dist/esm/six-badge.entry.js +3 -3
  335. package/dist/esm/six-breadcrumbs-item.entry.js +23 -0
  336. package/dist/esm/six-breadcrumbs-item.entry.js.map +1 -0
  337. package/dist/esm/six-breadcrumbs.entry.js +71 -0
  338. package/dist/esm/six-breadcrumbs.entry.js.map +1 -0
  339. package/dist/esm/six-button.six-spinner.entry.js.map +1 -0
  340. package/dist/esm/{six-button.entry.js → six-button_2.entry.js} +56 -6
  341. package/dist/esm/six-button_2.entry.js.map +1 -0
  342. package/dist/esm/six-card.entry.js +2 -2
  343. package/dist/esm/six-checkbox_2.entry.js +6 -6
  344. package/dist/esm/six-date.entry.js +59 -52
  345. package/dist/esm/six-date.entry.js.map +1 -1
  346. package/dist/esm/six-datepicker.entry.js +5 -5
  347. package/dist/esm/six-datepicker.entry.js.map +1 -1
  348. package/dist/esm/six-details.entry.js +4 -4
  349. package/dist/esm/six-dialog.entry.js +16 -10
  350. package/dist/esm/six-dialog.entry.js.map +1 -1
  351. package/dist/esm/six-drawer.entry.js +16 -10
  352. package/dist/esm/six-drawer.entry.js.map +1 -1
  353. package/dist/esm/six-dropdown.six-menu.entry.js.map +1 -1
  354. package/dist/esm/six-dropdown_2.entry.js +10 -10
  355. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  356. package/dist/esm/six-error-page.entry.js +2 -2
  357. package/dist/esm/six-error.entry.js +2 -2
  358. package/dist/esm/six-file-list-item.entry.js +3 -3
  359. package/dist/esm/six-file-list.entry.js +2 -2
  360. package/dist/esm/six-file-upload.entry.js +13 -8
  361. package/dist/esm/six-file-upload.entry.js.map +1 -1
  362. package/dist/esm/six-footer.entry.js +2 -2
  363. package/dist/esm/six-group-label.entry.js +3 -3
  364. package/dist/esm/six-header-dropdown-item.entry.js +3 -3
  365. package/dist/esm/six-header-item.entry.js +2 -2
  366. package/dist/esm/six-header-menu-button.entry.js +2 -2
  367. package/dist/esm/six-header.entry.js +3 -3
  368. package/dist/esm/six-icon-button.entry.js +4 -4
  369. package/dist/esm/six-icon.entry.js +16 -7
  370. package/dist/esm/six-icon.entry.js.map +1 -1
  371. package/dist/esm/six-input.entry.js +5 -5
  372. package/dist/esm/six-item-picker.entry.js +2 -2
  373. package/dist/esm/six-language-switcher.entry.js +2 -2
  374. package/dist/esm/six-layout-grid.entry.js +2 -2
  375. package/dist/esm/six-logo.entry.js +1 -1
  376. package/dist/esm/six-main-container.entry.js +2 -2
  377. package/dist/esm/six-menu-divider.entry.js +2 -2
  378. package/dist/esm/six-menu-label.entry.js +2 -2
  379. package/dist/esm/six-picto.entry.js +2 -2
  380. package/dist/esm/six-progress-bar.entry.js +4 -4
  381. package/dist/esm/six-progress-ring.entry.js +2 -2
  382. package/dist/esm/six-radio.entry.js +3 -3
  383. package/dist/esm/six-range.entry.js +4 -4
  384. package/dist/esm/six-range.entry.js.map +1 -1
  385. package/dist/esm/six-rating.entry.js +124 -0
  386. package/dist/esm/six-rating.entry.js.map +1 -0
  387. package/dist/esm/six-root.entry.js +2 -2
  388. package/dist/esm/six-search-field.entry.js +3 -3
  389. package/dist/esm/six-select.entry.js +9 -9
  390. package/dist/esm/six-sidebar-item-group.entry.js +1 -1
  391. package/dist/esm/six-sidebar-item.entry.js +3 -3
  392. package/dist/esm/six-sidebar.entry.js +3 -3
  393. package/dist/esm/six-stage-indicator.entry.js +1 -1
  394. package/dist/esm/six-switch.entry.js +4 -4
  395. package/dist/esm/six-switch.entry.js.map +1 -1
  396. package/dist/esm/six-tab-group.entry.js +4 -37
  397. package/dist/esm/six-tab-group.entry.js.map +1 -1
  398. package/dist/esm/six-tab-panel.entry.js +2 -2
  399. package/dist/esm/six-tab.entry.js +4 -4
  400. package/dist/esm/six-tab.entry.js.map +1 -1
  401. package/dist/esm/six-tag.entry.js +4 -4
  402. package/dist/esm/six-textarea.entry.js +4 -4
  403. package/dist/esm/six-tile.entry.js +6 -6
  404. package/dist/esm/six-timepicker.entry.js +20 -12
  405. package/dist/esm/six-timepicker.entry.js.map +1 -1
  406. package/dist/esm/six-tooltip.entry.js +3 -3
  407. package/dist/esm/ui-library.js +4 -4
  408. package/dist/esm/ui-library.js.map +1 -1
  409. package/dist/types/components/six-breadcrumbs/six-breadcrumbs.d.ts +20 -0
  410. package/dist/types/components/six-breadcrumbs-item/six-breadcrumbs-item.d.ts +27 -0
  411. package/dist/types/components/six-date/iso-date.d.ts +2 -0
  412. package/dist/types/components/six-date/six-date.d.ts +9 -7
  413. package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
  414. package/dist/types/components/six-dialog/six-dialog.d.ts +10 -2
  415. package/dist/types/components/six-drawer/six-drawer.d.ts +10 -2
  416. package/dist/types/components/six-file-upload/six-file-upload.d.ts +1 -0
  417. package/dist/types/components/six-icon/six-icon.d.ts +16 -0
  418. package/dist/types/components/six-rating/six-rating.d.ts +52 -0
  419. package/dist/types/components.d.ts +912 -24
  420. package/dist/types/index.d.ts +1 -0
  421. package/dist/types/stencil-public-runtime.d.ts +19 -0
  422. package/dist/types/types.d.ts +1 -0
  423. package/dist/types/utils/animation.d.ts +4 -0
  424. package/dist/types/utils/icon.d.ts +5 -0
  425. package/dist/ui-library/files/material-symbols-outlined-latin-fill-normal.woff2 +0 -0
  426. package/dist/ui-library/files/material-symbols-outlined-latin-full-normal.woff2 +0 -0
  427. package/dist/ui-library/files/material-symbols-outlined-latin-grad-normal.woff2 +0 -0
  428. package/dist/ui-library/files/material-symbols-outlined-latin-opsz-normal.woff2 +0 -0
  429. package/dist/ui-library/files/material-symbols-outlined-latin-standard-normal.woff2 +0 -0
  430. package/dist/ui-library/files/material-symbols-outlined-latin-wght-normal.woff2 +0 -0
  431. package/dist/ui-library/files/material-symbols-rounded-latin-fill-normal.woff2 +0 -0
  432. package/dist/ui-library/files/material-symbols-rounded-latin-full-normal.woff2 +0 -0
  433. package/dist/ui-library/files/material-symbols-rounded-latin-grad-normal.woff2 +0 -0
  434. package/dist/ui-library/files/material-symbols-rounded-latin-opsz-normal.woff2 +0 -0
  435. package/dist/ui-library/files/material-symbols-rounded-latin-standard-normal.woff2 +0 -0
  436. package/dist/ui-library/files/material-symbols-rounded-latin-wght-normal.woff2 +0 -0
  437. package/dist/ui-library/files/material-symbols-sharp-latin-fill-normal.woff2 +0 -0
  438. package/dist/ui-library/files/material-symbols-sharp-latin-full-normal.woff2 +0 -0
  439. package/dist/ui-library/files/material-symbols-sharp-latin-grad-normal.woff2 +0 -0
  440. package/dist/ui-library/files/material-symbols-sharp-latin-opsz-normal.woff2 +0 -0
  441. package/dist/ui-library/files/material-symbols-sharp-latin-standard-normal.woff2 +0 -0
  442. package/dist/ui-library/files/material-symbols-sharp-latin-wght-normal.woff2 +0 -0
  443. package/dist/ui-library/index.esm.js +1 -1
  444. package/dist/ui-library/index.esm.js.map +1 -1
  445. package/dist/ui-library/{p-1323f2cb.entry.js → p-014f44f4.entry.js} +2 -2
  446. package/dist/ui-library/p-014f44f4.entry.js.map +1 -0
  447. package/dist/ui-library/p-05ca516d.entry.js +2 -0
  448. package/dist/ui-library/{p-73b64625.entry.js → p-06c6b189.entry.js} +2 -2
  449. package/dist/ui-library/p-0eb90caf.entry.js +2 -0
  450. package/dist/ui-library/p-0eb90caf.entry.js.map +1 -0
  451. package/dist/ui-library/{p-4a4a0751.entry.js → p-12a2cc6b.entry.js} +2 -2
  452. package/dist/ui-library/{p-6990e5ed.entry.js → p-194037e9.entry.js} +2 -2
  453. package/dist/ui-library/{p-ad558904.entry.js → p-22ad3353.entry.js} +2 -2
  454. package/dist/ui-library/p-22f924a1.entry.js +2 -0
  455. package/dist/ui-library/{p-df05b23b.entry.js → p-26219330.entry.js} +2 -2
  456. package/dist/ui-library/{p-16028bce.entry.js → p-29994dc3.entry.js} +2 -2
  457. package/dist/ui-library/{p-cc44af70.entry.js → p-29aac7ea.entry.js} +2 -2
  458. package/dist/ui-library/p-29aac7ea.entry.js.map +1 -0
  459. package/dist/ui-library/{p-1e4d1252.entry.js → p-2a245a37.entry.js} +2 -2
  460. package/dist/ui-library/p-38c51fd1.entry.js +2 -0
  461. package/dist/ui-library/p-38c51fd1.entry.js.map +1 -0
  462. package/dist/ui-library/p-39109b96.entry.js +2 -0
  463. package/dist/ui-library/p-39109b96.entry.js.map +1 -0
  464. package/dist/ui-library/{p-84964501.entry.js → p-3c1285ad.entry.js} +2 -2
  465. package/dist/ui-library/{p-8fe7ecdd.entry.js → p-3d9e03b5.entry.js} +2 -2
  466. package/dist/ui-library/{p-55c15301.entry.js → p-4152b371.entry.js} +2 -2
  467. package/dist/ui-library/{p-81af96f2.entry.js → p-4d9785bd.entry.js} +2 -2
  468. package/dist/ui-library/p-4decf969.entry.js +2 -0
  469. package/dist/ui-library/p-4decf969.entry.js.map +1 -0
  470. package/dist/ui-library/{p-d7616f27.entry.js → p-54490d28.entry.js} +2 -2
  471. package/dist/ui-library/p-56e172e0.entry.js +2 -0
  472. package/dist/ui-library/p-56e172e0.entry.js.map +1 -0
  473. package/dist/ui-library/{p-9f55534a.entry.js → p-59568c0f.entry.js} +2 -2
  474. package/dist/ui-library/{p-9f55534a.entry.js.map → p-59568c0f.entry.js.map} +1 -1
  475. package/dist/ui-library/{p-1f86bd3e.entry.js → p-6607d03a.entry.js} +2 -2
  476. package/dist/ui-library/{p-baf698e1.entry.js → p-664ddbab.entry.js} +2 -2
  477. package/dist/ui-library/{p-830ed202.entry.js → p-66b94978.entry.js} +2 -2
  478. package/dist/ui-library/{p-36a316e0.entry.js → p-66d616e8.entry.js} +2 -2
  479. package/dist/ui-library/{p-5ed5842b.entry.js → p-6cd4fbd8.entry.js} +2 -2
  480. package/dist/ui-library/{p-85aacb7c.entry.js → p-6dd3f54c.entry.js} +2 -2
  481. package/dist/ui-library/{p-01306147.entry.js → p-70388108.entry.js} +2 -2
  482. package/dist/ui-library/p-72d3f332.entry.js +2 -0
  483. package/dist/ui-library/p-72d3f332.entry.js.map +1 -0
  484. package/dist/ui-library/p-7f7413db.entry.js +2 -0
  485. package/dist/ui-library/p-7f7413db.entry.js.map +1 -0
  486. package/dist/ui-library/p-83d5fa7c.entry.js +2 -0
  487. package/dist/ui-library/p-83d5fa7c.entry.js.map +1 -0
  488. package/dist/ui-library/{p-b8db5638.entry.js → p-8c2edb7f.entry.js} +2 -2
  489. package/dist/ui-library/{p-b09e3895.entry.js → p-91c195d3.entry.js} +2 -2
  490. package/dist/ui-library/{p-9f0ed997.entry.js → p-984a1f6d.entry.js} +2 -2
  491. package/dist/ui-library/p-9b75e009.entry.js +2 -0
  492. package/dist/ui-library/p-9b75e009.entry.js.map +1 -0
  493. package/dist/ui-library/{p-22ad5b1e.entry.js → p-9deca0d0.entry.js} +2 -2
  494. package/dist/ui-library/{p-ltzGzaAu.js → p-CKhg9ibv.js} +2 -2
  495. package/dist/ui-library/{p-ltzGzaAu.js.map → p-CKhg9ibv.js.map} +1 -1
  496. package/dist/ui-library/{p-IBmarOIS.js → p-Dg9366Gk.js} +2 -2
  497. package/dist/ui-library/{p-IBmarOIS.js.map → p-Dg9366Gk.js.map} +1 -1
  498. package/dist/ui-library/p-DqHJRLQQ.js +2 -0
  499. package/dist/ui-library/p-DqHJRLQQ.js.map +1 -0
  500. package/dist/ui-library/{p-D0Go1Zjj.js → p-JoG9I7EO.js} +1 -1
  501. package/dist/ui-library/{p-D0Go1Zjj.js.map → p-JoG9I7EO.js.map} +1 -1
  502. package/dist/ui-library/p-SLlDVtvF.js +2 -0
  503. package/dist/ui-library/p-SLlDVtvF.js.map +1 -0
  504. package/dist/ui-library/{p-97b78889.entry.js → p-a6d7d618.entry.js} +2 -2
  505. package/dist/ui-library/p-a7f9c92d.entry.js +2 -0
  506. package/dist/ui-library/{p-79a79513.entry.js.map → p-a7f9c92d.entry.js.map} +1 -1
  507. package/dist/ui-library/{p-071ed780.entry.js → p-aaea0f73.entry.js} +2 -2
  508. package/dist/ui-library/{p-c2ec443c.entry.js → p-ab043a8c.entry.js} +2 -2
  509. package/dist/ui-library/{p-1e67ac05.entry.js → p-b37d9771.entry.js} +2 -2
  510. package/dist/ui-library/{p-9713ecff.entry.js → p-bea434d1.entry.js} +2 -2
  511. package/dist/ui-library/p-bea434d1.entry.js.map +1 -0
  512. package/dist/ui-library/{p-ba68b30c.entry.js → p-ccc7e227.entry.js} +2 -2
  513. package/dist/ui-library/{p-f52715e8.entry.js → p-d81265f4.entry.js} +2 -2
  514. package/dist/ui-library/{p-537a8953.entry.js → p-da5f40ed.entry.js} +2 -2
  515. package/dist/ui-library/p-dc694314.entry.js +2 -0
  516. package/dist/ui-library/p-dc694314.entry.js.map +1 -0
  517. package/dist/ui-library/{p-c04affa2.entry.js → p-df2b8f01.entry.js} +2 -2
  518. package/dist/ui-library/p-e100aff2.entry.js +2 -0
  519. package/dist/ui-library/p-e56c5237.entry.js +2 -0
  520. package/dist/ui-library/p-e56c5237.entry.js.map +1 -0
  521. package/dist/ui-library/{p-679f1e08.entry.js → p-e8e5445e.entry.js} +2 -2
  522. package/dist/ui-library/{p-68c50fb7.entry.js → p-e92df84a.entry.js} +2 -2
  523. package/dist/ui-library/{p-8d60c1fd.entry.js → p-ed6625e6.entry.js} +2 -2
  524. package/dist/ui-library/p-fc2d893f.entry.js +2 -0
  525. package/dist/ui-library/p-fcd3305f.entry.js +2 -0
  526. package/dist/ui-library/{p-0d97e592.entry.js.map → p-fcd3305f.entry.js.map} +1 -1
  527. package/dist/ui-library/p-fd97bc8a.entry.js +2 -0
  528. package/dist/ui-library/p-fd97bc8a.entry.js.map +1 -0
  529. package/dist/ui-library/{p-5ad81261.entry.js → p-fe2ef0a4.entry.js} +2 -2
  530. package/dist/ui-library/six-breadcrumbs-item.entry.esm.js.map +1 -0
  531. package/dist/ui-library/six-breadcrumbs.entry.esm.js.map +1 -0
  532. package/dist/ui-library/six-button.six-spinner.entry.esm.js.map +1 -0
  533. package/dist/ui-library/six-date.entry.esm.js.map +1 -1
  534. package/dist/ui-library/six-datepicker.entry.esm.js.map +1 -1
  535. package/dist/ui-library/six-dialog.entry.esm.js.map +1 -1
  536. package/dist/ui-library/six-drawer.entry.esm.js.map +1 -1
  537. package/dist/ui-library/six-dropdown.six-menu.entry.esm.js.map +1 -1
  538. package/dist/ui-library/six-file-upload.entry.esm.js.map +1 -1
  539. package/dist/ui-library/six-icon.entry.esm.js.map +1 -1
  540. package/dist/ui-library/six-range.entry.esm.js.map +1 -1
  541. package/dist/ui-library/six-rating.entry.esm.js.map +1 -0
  542. package/dist/ui-library/six-switch.entry.esm.js.map +1 -1
  543. package/dist/ui-library/six-tab-group.entry.esm.js.map +1 -1
  544. package/dist/ui-library/six-tab.entry.esm.js.map +1 -1
  545. package/dist/ui-library/six-timepicker.entry.esm.js.map +1 -1
  546. package/dist/ui-library/ui-library.css +1 -1
  547. package/dist/ui-library/ui-library.esm.js +1 -1
  548. package/dist/ui-library/ui-library.esm.js.map +1 -1
  549. package/package.json +9 -6
  550. package/dist/cjs/six-button.cjs.entry.js.map +0 -1
  551. package/dist/cjs/six-button.entry.cjs.js.map +0 -1
  552. package/dist/cjs/six-spinner.cjs.entry.js +0 -58
  553. package/dist/cjs/six-spinner.cjs.entry.js.map +0 -1
  554. package/dist/cjs/six-spinner.entry.cjs.js.map +0 -1
  555. package/dist/components/p-B-jadcQD.js.map +0 -1
  556. package/dist/components/p-BtF2Ym6T.js.map +0 -1
  557. package/dist/components/p-Cemjz04k.js.map +0 -1
  558. package/dist/components/p-Mse5vRUS.js +0 -52
  559. package/dist/components/p-Mse5vRUS.js.map +0 -1
  560. package/dist/esm/six-button.entry.js.map +0 -1
  561. package/dist/esm/six-spinner.entry.js +0 -56
  562. package/dist/esm/six-spinner.entry.js.map +0 -1
  563. package/dist/ui-library/p-0b438d5a.entry.js +0 -2
  564. package/dist/ui-library/p-0b438d5a.entry.js.map +0 -1
  565. package/dist/ui-library/p-0d97e592.entry.js +0 -2
  566. package/dist/ui-library/p-1323f2cb.entry.js.map +0 -1
  567. package/dist/ui-library/p-27e8e8a6.entry.js +0 -2
  568. package/dist/ui-library/p-27e8e8a6.entry.js.map +0 -1
  569. package/dist/ui-library/p-5a579e9f.entry.js +0 -2
  570. package/dist/ui-library/p-5a579e9f.entry.js.map +0 -1
  571. package/dist/ui-library/p-5e70085d.entry.js +0 -2
  572. package/dist/ui-library/p-5e70085d.entry.js.map +0 -1
  573. package/dist/ui-library/p-666b3e45.entry.js +0 -2
  574. package/dist/ui-library/p-666b3e45.entry.js.map +0 -1
  575. package/dist/ui-library/p-695e450e.entry.js +0 -2
  576. package/dist/ui-library/p-6d212bc0.entry.js +0 -2
  577. package/dist/ui-library/p-798fb03a.entry.js +0 -2
  578. package/dist/ui-library/p-798fb03a.entry.js.map +0 -1
  579. package/dist/ui-library/p-79a79513.entry.js +0 -2
  580. package/dist/ui-library/p-868fab98.entry.js +0 -2
  581. package/dist/ui-library/p-9713ecff.entry.js.map +0 -1
  582. package/dist/ui-library/p-b2092cd0.entry.js +0 -2
  583. package/dist/ui-library/p-b2092cd0.entry.js.map +0 -1
  584. package/dist/ui-library/p-cc44af70.entry.js.map +0 -1
  585. package/dist/ui-library/p-d1bd67af.entry.js +0 -2
  586. package/dist/ui-library/p-d1bd67af.entry.js.map +0 -1
  587. package/dist/ui-library/p-f0c10d20.entry.js +0 -2
  588. package/dist/ui-library/p-f0c10d20.entry.js.map +0 -1
  589. package/dist/ui-library/p-f4e2ddfc.entry.js +0 -2
  590. package/dist/ui-library/p-f585a5ab.entry.js +0 -2
  591. package/dist/ui-library/p-f585a5ab.entry.js.map +0 -1
  592. package/dist/ui-library/six-button.entry.esm.js.map +0 -1
  593. package/dist/ui-library/six-spinner.entry.esm.js.map +0 -1
  594. /package/dist/ui-library/{p-695e450e.entry.js.map → p-05ca516d.entry.js.map} +0 -0
  595. /package/dist/ui-library/{p-73b64625.entry.js.map → p-06c6b189.entry.js.map} +0 -0
  596. /package/dist/ui-library/{p-4a4a0751.entry.js.map → p-12a2cc6b.entry.js.map} +0 -0
  597. /package/dist/ui-library/{p-6990e5ed.entry.js.map → p-194037e9.entry.js.map} +0 -0
  598. /package/dist/ui-library/{p-ad558904.entry.js.map → p-22ad3353.entry.js.map} +0 -0
  599. /package/dist/ui-library/{p-f4e2ddfc.entry.js.map → p-22f924a1.entry.js.map} +0 -0
  600. /package/dist/ui-library/{p-df05b23b.entry.js.map → p-26219330.entry.js.map} +0 -0
  601. /package/dist/ui-library/{p-16028bce.entry.js.map → p-29994dc3.entry.js.map} +0 -0
  602. /package/dist/ui-library/{p-1e4d1252.entry.js.map → p-2a245a37.entry.js.map} +0 -0
  603. /package/dist/ui-library/{p-84964501.entry.js.map → p-3c1285ad.entry.js.map} +0 -0
  604. /package/dist/ui-library/{p-8fe7ecdd.entry.js.map → p-3d9e03b5.entry.js.map} +0 -0
  605. /package/dist/ui-library/{p-55c15301.entry.js.map → p-4152b371.entry.js.map} +0 -0
  606. /package/dist/ui-library/{p-81af96f2.entry.js.map → p-4d9785bd.entry.js.map} +0 -0
  607. /package/dist/ui-library/{p-d7616f27.entry.js.map → p-54490d28.entry.js.map} +0 -0
  608. /package/dist/ui-library/{p-1f86bd3e.entry.js.map → p-6607d03a.entry.js.map} +0 -0
  609. /package/dist/ui-library/{p-baf698e1.entry.js.map → p-664ddbab.entry.js.map} +0 -0
  610. /package/dist/ui-library/{p-830ed202.entry.js.map → p-66b94978.entry.js.map} +0 -0
  611. /package/dist/ui-library/{p-36a316e0.entry.js.map → p-66d616e8.entry.js.map} +0 -0
  612. /package/dist/ui-library/{p-5ed5842b.entry.js.map → p-6cd4fbd8.entry.js.map} +0 -0
  613. /package/dist/ui-library/{p-85aacb7c.entry.js.map → p-6dd3f54c.entry.js.map} +0 -0
  614. /package/dist/ui-library/{p-01306147.entry.js.map → p-70388108.entry.js.map} +0 -0
  615. /package/dist/ui-library/{p-b8db5638.entry.js.map → p-8c2edb7f.entry.js.map} +0 -0
  616. /package/dist/ui-library/{p-b09e3895.entry.js.map → p-91c195d3.entry.js.map} +0 -0
  617. /package/dist/ui-library/{p-9f0ed997.entry.js.map → p-984a1f6d.entry.js.map} +0 -0
  618. /package/dist/ui-library/{p-22ad5b1e.entry.js.map → p-9deca0d0.entry.js.map} +0 -0
  619. /package/dist/ui-library/{p-97b78889.entry.js.map → p-a6d7d618.entry.js.map} +0 -0
  620. /package/dist/ui-library/{p-071ed780.entry.js.map → p-aaea0f73.entry.js.map} +0 -0
  621. /package/dist/ui-library/{p-c2ec443c.entry.js.map → p-ab043a8c.entry.js.map} +0 -0
  622. /package/dist/ui-library/{p-1e67ac05.entry.js.map → p-b37d9771.entry.js.map} +0 -0
  623. /package/dist/ui-library/{p-ba68b30c.entry.js.map → p-ccc7e227.entry.js.map} +0 -0
  624. /package/dist/ui-library/{p-f52715e8.entry.js.map → p-d81265f4.entry.js.map} +0 -0
  625. /package/dist/ui-library/{p-537a8953.entry.js.map → p-da5f40ed.entry.js.map} +0 -0
  626. /package/dist/ui-library/{p-c04affa2.entry.js.map → p-df2b8f01.entry.js.map} +0 -0
  627. /package/dist/ui-library/{p-6d212bc0.entry.js.map → p-e100aff2.entry.js.map} +0 -0
  628. /package/dist/ui-library/{p-679f1e08.entry.js.map → p-e8e5445e.entry.js.map} +0 -0
  629. /package/dist/ui-library/{p-68c50fb7.entry.js.map → p-e92df84a.entry.js.map} +0 -0
  630. /package/dist/ui-library/{p-8d60c1fd.entry.js.map → p-ed6625e6.entry.js.map} +0 -0
  631. /package/dist/ui-library/{p-868fab98.entry.js.map → p-fc2d893f.entry.js.map} +0 -0
  632. /package/dist/ui-library/{p-5ad81261.entry.js.map → p-fe2ef0a4.entry.js.map} +0 -0
@@ -1,11 +1,10 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { EventListeners } from "../../utils/event-listeners";
3
- import { debounce, DEFAULT_DEBOUNCE_FAST } from "../../utils/execution-control";
4
3
  import { hasSlot } from "../../utils/slot";
5
4
  import { MonthSelection } from "./components/month-selection";
6
5
  import { YearSelection } from "./components/year-selection";
7
6
  import { DaySelection } from "./components/day-selection";
8
- import { cleanupValue, formatDate, fromFormattedString, todayAsPointerDate, toPointerDate } from "./iso-date";
7
+ import { cleanupValue, formatDate, fromFormattedString, nextPointerDate, previousPointerDate, todayAsPointerDate, toPointerDate, } from "./iso-date";
9
8
  import { createCalendarGrid } from "./calendar-grid";
10
9
  import { translateFormatHelp, translateMonth } from "./translations";
11
10
  import Popover from "../../utils/popover";
@@ -14,7 +13,7 @@ const NUMBER_OF_YEARS_SHOWN = 25;
14
13
  * A date picker component that allows users to select dates via a calendar popup or direct input.
15
14
  *
16
15
  * @since 5.0
17
- * @status experimental
16
+ * @status beta
18
17
  *
19
18
  * @slot label - The date's label. Alternatively, you can use the label prop.
20
19
  * @slot help-text - Help text that describes the usage.
@@ -63,6 +62,11 @@ export class SixDate {
63
62
  */
64
63
  this.value = '';
65
64
  /** Defines the format pattern for displaying dates and how dates can be entered via keyboard.
65
+ *
66
+ * The parser accepts flexible input that doesn't strictly match the format pattern.
67
+ * Input with missing leading zeros or incomplete years will be automatically normalized.
68
+ * For example, with the pattern "dd.MM.yyyy": "1.1.2025" becomes "01.01.2025" and
69
+ * "1.1.225" becomes "01.01.0225".
66
70
  *
67
71
  * Defaults to "dd.MM.yyyy".
68
72
  *
@@ -85,48 +89,16 @@ export class SixDate {
85
89
  this.errorText = '';
86
90
  /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */
87
91
  this.invalid = false;
88
- /**
89
- * Set the amount of time, in milliseconds, to wait to trigger the `six-change` event after each keystroke.
90
- */
91
- this.debounce = DEFAULT_DEBOUNCE_FAST;
92
92
  /** The input's name attribute. */
93
93
  this.name = '';
94
94
  /** Set to true to add a clear button when the input is populated. */
95
95
  this.clearable = false;
96
96
  this.panelHideInProgress = false;
97
97
  this.handlePreviousClick = () => {
98
- switch (this.selectionMode) {
99
- case 'day':
100
- if (this.pointerDate.month === 0) {
101
- this.pointerDate = { year: this.pointerDate.year - 1, month: 11, day: 1 };
102
- }
103
- else {
104
- this.pointerDate = { year: this.pointerDate.year, month: this.pointerDate.month - 1, day: 1 };
105
- }
106
- break;
107
- case 'month':
108
- this.pointerDate = Object.assign(Object.assign({}, this.pointerDate), { year: this.pointerDate.year - 1 });
109
- break;
110
- case 'year':
111
- this.pointerDate = Object.assign(Object.assign({}, this.pointerDate), { year: this.pointerDate.year - NUMBER_OF_YEARS_SHOWN });
112
- break;
113
- }
98
+ this.pointerDate = previousPointerDate(this.selectionMode, this.pointerDate);
114
99
  };
115
100
  this.handleNextClick = () => {
116
- if (this.selectionMode === 'day') {
117
- if (this.pointerDate.month === 11) {
118
- this.pointerDate = { year: this.pointerDate.year + 1, month: 0, day: 1 };
119
- }
120
- else {
121
- this.pointerDate = { year: this.pointerDate.year, month: this.pointerDate.month + 1, day: 1 };
122
- }
123
- }
124
- else if (this.selectionMode === 'month') {
125
- this.pointerDate = Object.assign(Object.assign({}, this.pointerDate), { year: this.pointerDate.year + 1 });
126
- }
127
- else if (this.selectionMode === 'year') {
128
- this.pointerDate = Object.assign(Object.assign({}, this.pointerDate), { year: this.pointerDate.year + NUMBER_OF_YEARS_SHOWN });
129
- }
101
+ this.pointerDate = nextPointerDate(this.selectionMode, this.pointerDate);
130
102
  };
131
103
  this.handleDocumentMouseDown = (event) => {
132
104
  const baseElement = this.getSixInputBaseElement();
@@ -139,12 +111,6 @@ export class SixDate {
139
111
  this.sixBlur.emit();
140
112
  }
141
113
  };
142
- this.handleClearClick = () => {
143
- this.hide();
144
- this.value = '';
145
- this.pointerDate = todayAsPointerDate();
146
- this.sixChange.emit(this.value);
147
- };
148
114
  this.handleDayClick = (date) => {
149
115
  var _a;
150
116
  this.value = date;
@@ -177,14 +143,18 @@ export class SixDate {
177
143
  }
178
144
  this.sixChange.emit(this.value);
179
145
  };
180
- this.handleOnBlur = () => {
146
+ this.handleInputBlur = () => {
181
147
  var _a;
182
148
  if (((_a = this.popoverHelper) === null || _a === void 0 ? void 0 : _a.isVisible) === false) {
183
- if (this.inputElement) {
184
- this.inputElement.value = this.value === '' ? '' : formatDate(this.value, this.dateFormat);
185
- }
149
+ this.updateInputElementValue();
186
150
  }
187
151
  };
152
+ this.handleInputClearClick = () => {
153
+ this.hide();
154
+ this.value = '';
155
+ this.pointerDate = todayAsPointerDate();
156
+ this.sixChange.emit(this.value);
157
+ };
188
158
  this.handleInputKeyDown = (event) => {
189
159
  if (event.key === 'Tab') {
190
160
  this.hide();
@@ -210,6 +180,7 @@ export class SixDate {
210
180
  if (warning != null) {
211
181
  console.warn(warning);
212
182
  }
183
+ this.updateInputElementValue();
213
184
  }
214
185
  getSixInputBaseElement() {
215
186
  var _a, _b;
@@ -226,9 +197,7 @@ export class SixDate {
226
197
  var _a, _b;
227
198
  if (((_a = this.popoverHelper) === null || _a === void 0 ? void 0 : _a.isVisible) === false)
228
199
  return;
229
- if (this.inputElement) {
230
- this.inputElement.value = this.value === '' ? '' : formatDate(this.value, this.dateFormat);
231
- }
200
+ this.updateInputElementValue();
232
201
  this.selectionMode = 'day';
233
202
  this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);
234
203
  this.panelHideInProgress = true;
@@ -251,6 +220,11 @@ export class SixDate {
251
220
  },
252
221
  });
253
222
  }
223
+ updateInputElementValue() {
224
+ if (this.inputElement && document.activeElement !== this.host) {
225
+ this.inputElement.value = this.value === '' ? '' : formatDate(this.value, this.dateFormat);
226
+ }
227
+ }
254
228
  connectedCallback() {
255
229
  this.initPopover();
256
230
  this.updateValueAndPointerDate();
@@ -258,6 +232,7 @@ export class SixDate {
258
232
  this.eventListeners.forward('six-blur', 'blur', this.host);
259
233
  }
260
234
  componentDidLoad() {
235
+ this.updateInputElementValue();
261
236
  this.initPopover();
262
237
  }
263
238
  disconnectedCallback() {
@@ -267,7 +242,7 @@ export class SixDate {
267
242
  this.popoverHelper = undefined;
268
243
  }
269
244
  render() {
270
- return (h("div", { key: '7df1efadccea9e30f96be4edeeae124649fb119e', class: "container" }, h("six-input", { key: 'e76e46d4eade078d2395e39a112426824f6e6ed9', value: this.value === '' ? '' : formatDate(this.value, this.dateFormat), ref: (el) => (this.inputElement = el), placeholder: this.placeholder == null ? this.dateFormat : this.placeholder, readonly: this.readonly, disabled: this.disabled, name: this.name, label: this.label, required: this.required, helpText: this.helpText, errorText: this.errorText, errorTextCount: this.errorTextCount, invalid: this.invalid, onKeyDown: this.handleInputKeyDown, onInput: debounce(this.handleInputChange, this.debounce), onBlur: this.handleOnBlur, "onSix-input-clear": this.handleClearClick, size: this.size, clearable: this.clearable, "aria-describedby": "date-format" }, h("six-icon", { key: '96e71e847d2696297b13f3fbf332faaa3a05b626', slot: "prefix", size: this.size === 'large' ? 'medium' : this.size }, "today"), hasSlot(this.host, 'label') ? (h("span", { slot: "label" }, h("slot", { name: "label" }))) : null, hasSlot(this.host, 'error-text') ? (h("span", { slot: "error-text" }, h("slot", { name: "error-text" }))) : null, hasSlot(this.host, 'help-text') ? (h("span", { slot: "help-text" }, h("slot", { name: "help-text" }))) : null), h("span", { key: 'f065385a9f382c847713aeb0162a7429c1303f66', id: "date-format", class: "sr-only" }, translateFormatHelp(this.language, this.dateFormat)), h("div", { key: 'd0ed8f5babfda44168d349a1340ac4e5f7993e23', ref: (el) => (this.positioner = el), class: "positioner" }, h("div", { key: '27250b4ed9b8fbeacf4104380a3f75b1b395d26c', class: "panel", ref: (el) => (this.panel = el) }, h("header", { key: '5d70aeb04a68fa320cd51d5219bd9d8499bc8099', class: "panel__header" }, h("six-icon-button", { key: '7eb4a255ecb028e2d3f254b3ffc0886995698af7', tabindex: "-1", class: "previous", onClick: this.handlePreviousClick, name: "arrow_back_ios" }), this.selectionMode === 'day' && (h("div", { key: '42e9e6ffbb7ded041cc766a4ecafd9350b1beec1', class: "selector", onClick: () => (this.selectionMode = 'month') }, translateMonth(this.pointerDate.month, this.language), h("six-icon", { key: '72ab31ef4d76739a955253ce718705c171aeffc4' }, "arrow_drop_down"))), this.selectionMode !== 'year' && (h("div", { key: '760255898924358aa99856d211c218aa3ab3bf92', class: "selector", onClick: () => (this.selectionMode = 'year') }, this.pointerDate.year, h("six-icon", { key: 'dbd9d1f346c56e2df6162edaa53a458afe9883db' }, "arrow_drop_down"))), this.selectionMode === 'year' && (h("div", { key: 'd04218a353e377b276388708c86694bca2c97228', class: "selector" }, this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2), " \u2013", ' ', this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2))), h("six-icon-button", { key: '5a924541cc2f89a2bb76113757c00211c86b3adf', tabindex: "-1", class: "next", onClick: this.handleNextClick, name: "arrow_forward_ios" })), this.selectionMode === 'day' && (h(DaySelection, { key: 'd1e853fd6fcd9d8c74b4d5f8072f998ba081a8c4', language: this.language, calendarGrid: createCalendarGrid({
245
+ return (h("div", { key: '915708e6b3815709fbf93546453a1527f0e2f4b2', class: "container" }, h("six-input", { key: '7beac04f73a37fba611860890c02a79d5a065fb6', ref: (el) => (this.inputElement = el), placeholder: this.placeholder == null ? this.dateFormat : this.placeholder, readonly: this.readonly, disabled: this.disabled, name: this.name, label: this.label, required: this.required, helpText: this.helpText, errorText: this.errorText, errorTextCount: this.errorTextCount, invalid: this.invalid, onKeyDown: this.handleInputKeyDown, onInput: this.handleInputChange, onBlur: this.handleInputBlur, "onSix-input-clear": this.handleInputClearClick, size: this.size, clearable: this.clearable, "aria-describedby": "date-format" }, h("six-icon", { key: '88f5d61c8d6af1627be1b9ed5ddf534669cbbedd', slot: "prefix", size: this.size === 'large' ? 'medium' : this.size }, "today"), hasSlot(this.host, 'label') ? (h("span", { slot: "label" }, h("slot", { name: "label" }))) : null, hasSlot(this.host, 'error-text') ? (h("span", { slot: "error-text" }, h("slot", { name: "error-text" }))) : null, hasSlot(this.host, 'help-text') ? (h("span", { slot: "help-text" }, h("slot", { name: "help-text" }))) : null), h("span", { key: '36f359e7ed900e6102444dcbf7e7c22b1aac042d', id: "date-format", class: "sr-only" }, translateFormatHelp(this.language, this.dateFormat)), h("div", { key: '560443132d2dbe1f0f2c147c2d0538eb33c7b76a', ref: (el) => (this.positioner = el), class: "positioner" }, h("div", { key: '800d71554bf415d0e39d40696271791785004e7f', class: "panel", ref: (el) => (this.panel = el) }, h("header", { key: '71baa85fece27f99982e5cb06e15c5d89d81f7a1', class: "panel__header" }, h("six-icon-button", { key: '43274a816945112492cb030012f4ecd0f1c6f5f3', tabindex: "-1", class: "previous", onClick: this.handlePreviousClick, name: "arrow_back_ios" }), this.selectionMode === 'day' && (h("div", { key: '2f391850b72291bfb7249bccf2ccf4aea6387340', class: "selector", onClick: () => (this.selectionMode = 'month') }, translateMonth(this.pointerDate.month, this.language), h("six-icon", { key: '95ea49cd1ccbeec9019491799cefb4d31b846f87' }, "arrow_drop_down"))), this.selectionMode !== 'year' && (h("div", { key: '7d65185d34d64361b8addfac6e3a5eb130fcf6b7', class: "selector", onClick: () => (this.selectionMode = 'year') }, this.pointerDate.year, h("six-icon", { key: 'ab5c06e07a09f945e845902588096ce4f906b5bf' }, "arrow_drop_down"))), this.selectionMode === 'year' && (h("div", { key: '9871ad7e39d18fdd5629b0f9d1caf935952d4ca5', class: "selector" }, this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2), " \u2013", ' ', this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2))), h("six-icon-button", { key: '20bafd71902a85f3db3c3b54628555b0f86e50aa', tabindex: "-1", class: "next", onClick: this.handleNextClick, name: "arrow_forward_ios" })), this.selectionMode === 'day' && (h(DaySelection, { key: '38e23637ec958abf9615adba7900f4ea6b15f27c', language: this.language, calendarGrid: createCalendarGrid({
271
246
  year: this.pointerDate.year,
272
247
  month: this.pointerDate.month,
273
248
  selected: this.value || undefined,
@@ -275,7 +250,7 @@ export class SixDate {
275
250
  maxDate: this.max,
276
251
  dateFormat: this.dateFormat,
277
252
  allowedDates: this.allowedDates,
278
- }), dayClicked: this.handleDayClick })), this.selectionMode === 'month' && (h(MonthSelection, { key: '9804ad6d7222024095e7c2d83357506c61d68cfa', language: this.language, selected: this.value, monthClicked: this.handleMonthClicked })), this.selectionMode === 'year' && (h(YearSelection, { key: 'd6f67dacd54f4ca384f7a4a328c4a87b0d95878a', selected: this.value, pointerYear: this.pointerDate.year, yearCount: NUMBER_OF_YEARS_SHOWN, yearClicked: this.handleYearClicked }))))));
253
+ }), dayClicked: this.handleDayClick })), this.selectionMode === 'month' && (h(MonthSelection, { key: '10ec980d8a5fc1bf6480a96ee5df66abb9b347cb', language: this.language, selected: this.value, monthClicked: this.handleMonthClicked })), this.selectionMode === 'year' && (h(YearSelection, { key: 'ba791467977c55f80781a20774c5e32951641877', selected: this.value, pointerYear: this.pointerDate.year, yearCount: NUMBER_OF_YEARS_SHOWN, yearClicked: this.handleYearClicked }))))));
279
254
  }
280
255
  static get is() { return "six-date"; }
281
256
  static get encapsulation() { return "shadow"; }
@@ -506,7 +481,7 @@ export class SixDate {
506
481
  "optional": false,
507
482
  "docs": {
508
483
  "tags": [],
509
- "text": "Defines the format pattern for displaying dates and how dates can be entered via keyboard.\n\nDefaults to \"dd.MM.yyyy\".\n\nAvailable patterns:\n- Year: \"yyyy\" (e.g., \"2021\")\n- Month: \"MM\" (e.g., \"01\" for January) or \"M\" (e.g., \"1\" for January)\n- Day: \"dd\" (e.g., \"08\" for the 8th) or \"d\" (e.g., \"8\" for the 8th)\n\nExamples:\n- \"dd.MM.yyyy\" -> \"31.01.2024\"\n- \"yyyy-MM-dd\" -> \"2024-01-31\"\n- \"d.M.yyyy\" -> \"31.1.2024\""
484
+ "text": "Defines the format pattern for displaying dates and how dates can be entered via keyboard.\n\nThe parser accepts flexible input that doesn't strictly match the format pattern.\nInput with missing leading zeros or incomplete years will be automatically normalized.\nFor example, with the pattern \"dd.MM.yyyy\": \"1.1.2025\" becomes \"01.01.2025\" and\n\"1.1.225\" becomes \"01.01.0225\".\n\nDefaults to \"dd.MM.yyyy\".\n\nAvailable patterns:\n- Year: \"yyyy\" (e.g., \"2021\")\n- Month: \"MM\" (e.g., \"01\" for January) or \"M\" (e.g., \"1\" for January)\n- Day: \"dd\" (e.g., \"08\" for the 8th) or \"d\" (e.g., \"8\" for the 8th)\n\nExamples:\n- \"dd.MM.yyyy\" -> \"31.01.2024\"\n- \"yyyy-MM-dd\" -> \"2024-01-31\"\n- \"d.M.yyyy\" -> \"31.1.2024\""
510
485
  },
511
486
  "getter": false,
512
487
  "setter": false,
@@ -612,26 +587,6 @@ export class SixDate {
612
587
  "reflect": true,
613
588
  "defaultValue": "false"
614
589
  },
615
- "debounce": {
616
- "type": "number",
617
- "attribute": "debounce",
618
- "mutable": false,
619
- "complexType": {
620
- "original": "number",
621
- "resolved": "number",
622
- "references": {}
623
- },
624
- "required": false,
625
- "optional": false,
626
- "docs": {
627
- "tags": [],
628
- "text": "Set the amount of time, in milliseconds, to wait to trigger the `six-change` event after each keystroke."
629
- },
630
- "getter": false,
631
- "setter": false,
632
- "reflect": false,
633
- "defaultValue": "DEFAULT_DEBOUNCE_FAST"
634
- },
635
590
  "name": {
636
591
  "type": "string",
637
592
  "attribute": "name",
@@ -1 +1 @@
1
- {"version":3,"file":"six-date.js","sourceRoot":"","sources":["../../../src/components/six-date/six-date.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { hasSlot } from '../../utils/slot';\nimport { MonthSelection } from './components/month-selection';\nimport { YearSelection } from './components/year-selection';\nimport { DaySelection } from './components/day-selection';\nimport { Language } from '../../utils/error-messages';\nimport { cleanupValue, formatDate, fromFormattedString, todayAsPointerDate, toPointerDate } from './iso-date';\nimport { createCalendarGrid } from './calendar-grid';\nimport { translateFormatHelp, translateMonth } from './translations';\nimport Popover from '../../utils/popover';\n\nconst NUMBER_OF_YEARS_SHOWN = 25;\n\n/**\n * A date picker component that allows users to select dates via a calendar popup or direct input.\n *\n * @since 5.0\n * @status experimental\n *\n * @slot label - The date's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes the usage.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text property.\n */\n@Component({\n tag: 'six-date',\n styleUrl: 'six-date.scss',\n shadow: true,\n})\nexport class SixDate {\n private eventListeners = new EventListeners();\n private inputElement?: HTMLSixInputElement;\n private popoverHelper?: Popover;\n private panel?: HTMLElement;\n private positioner?: HTMLElement;\n\n @Element() host!: HTMLSixDateElement;\n\n /**\n * Current state of the date picker for day, month, or year selection.\n * Independent of the currently selected date value.\n */\n @State() pointerDate = todayAsPointerDate();\n\n @State() selectionMode: 'day' | 'month' | 'year' = 'day';\n\n /**\n * The language used to render the weekdays and months.\n */\n @Prop() language: Language = 'en';\n\n /**\n * If `true` the user can only select a date via the component in the popup but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Callback to determine which dates in the picker should be selectable.\n */\n @Prop() allowedDates: (date: string) => boolean = () => true;\n\n /**\n * The minimum allowed selectable date in ISO format (yyyy-MM-dd).\n * Dates before this value will be disabled in the date picker.\n * Example: '2024-01-01'\n */\n @Prop() min?: string;\n\n /**\n * The maximum allowed selectable date in ISO format (yyyy-MM-dd).\n * Dates after this value will be disabled in the date picker.\n * Example: '2025-01-01'\n */\n @Prop() max?: string;\n\n /**\n * The size of the date input field.\n */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /**\n * The value of the form field in ISO 8601 date format (yyyy-MM-dd).\n * Example: '2024-01-01'.\n *\n * When an invalid date is provided, it will be replaced with an empty string (''),\n * matching the behavior of native HTML <input type=\"date\">.\n *\n * The displayed format can be customized using the dateFormat property, but the underlying\n * value will always be stored in ISO format.\n */\n @Prop({ mutable: true }) value: string | '' = '';\n\n /** Defines the format pattern for displaying dates and how dates can be entered via keyboard.\n *\n * Defaults to \"dd.MM.yyyy\".\n *\n * Available patterns:\n * - Year: \"yyyy\" (e.g., \"2021\")\n * - Month: \"MM\" (e.g., \"01\" for January) or \"M\" (e.g., \"1\" for January)\n * - Day: \"dd\" (e.g., \"08\" for the 8th) or \"d\" (e.g., \"8\" for the 8th)\n *\n * Examples:\n * - \"dd.MM.yyyy\" -> \"31.01.2024\"\n * - \"yyyy-MM-dd\" -> \"2024-01-31\"\n * - \"d.M.yyyy\" -> \"31.1.2024\"\n * */\n @Prop() dateFormat = 'dd.MM.yyyy';\n\n /** The label text. */\n @Prop() label = '';\n\n /** The input's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `six-change` event after each keystroke.\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n @Watch('value')\n valueChanged() {\n this.updateValueAndPointerDate();\n }\n\n /**\n * Emitted when the control's value changes.\n * Event detail contains the new date value in ISO format (yyyy-MM-dd) or an empty string if cleared.\n */\n @Event({ eventName: 'six-change' }) sixChange!: EventEmitter<string | ''>;\n\n /**\n * Emitted when the control loses focus or the date picker popup is closed.\n * Does not contain event details.\n */\n @Event({ eventName: 'six-blur' }) sixBlur!: EventEmitter;\n\n /** Sets focus on the input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.setFocus(options);\n }\n\n private panelHideInProgress = false;\n\n private updateValueAndPointerDate() {\n const { value, pointerDate, warning } = cleanupValue(this.value);\n this.value = value;\n this.pointerDate = pointerDate;\n if (warning != null) {\n console.warn(warning);\n }\n }\n\n private getSixInputBaseElement() {\n return this.inputElement?.shadowRoot?.querySelector('div.input') as HTMLDivElement;\n }\n\n private show() {\n if (this.popoverHelper?.isVisible === true || this.panelHideInProgress || this.disabled) return;\n this.popoverHelper?.show();\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private hide() {\n if (this.popoverHelper?.isVisible === false) return;\n\n if (this.inputElement) {\n this.inputElement.value = this.value === '' ? '' : formatDate(this.value, this.dateFormat);\n }\n this.selectionMode = 'day';\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n this.panelHideInProgress = true;\n this.popoverHelper?.hide();\n }\n\n private initPopover() {\n const sixInputBaseElement = this.getSixInputBaseElement();\n if (this.inputElement == null || this.positioner == null || this.panel == null || sixInputBaseElement == null) {\n return;\n }\n\n this.eventListeners.add(sixInputBaseElement, 'click', () => this.show());\n\n this.popoverHelper = new Popover(sixInputBaseElement, this.positioner, {\n strategy: 'fixed',\n placement: 'bottom-start',\n transitionElement: this.panel,\n distance: 4,\n skidding: 0,\n onAfterHide: () => {\n this.panelHideInProgress = false;\n },\n });\n }\n\n private handlePreviousClick = () => {\n switch (this.selectionMode) {\n case 'day':\n if (this.pointerDate.month === 0) {\n this.pointerDate = { year: this.pointerDate.year - 1, month: 11, day: 1 };\n } else {\n this.pointerDate = { year: this.pointerDate.year, month: this.pointerDate.month - 1, day: 1 };\n }\n break;\n case 'month':\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - 1 };\n break;\n case 'year':\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - NUMBER_OF_YEARS_SHOWN };\n break;\n }\n };\n\n private handleNextClick = () => {\n if (this.selectionMode === 'day') {\n if (this.pointerDate.month === 11) {\n this.pointerDate = { year: this.pointerDate.year + 1, month: 0, day: 1 };\n } else {\n this.pointerDate = { year: this.pointerDate.year, month: this.pointerDate.month + 1, day: 1 };\n }\n } else if (this.selectionMode === 'month') {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + 1 };\n } else if (this.selectionMode === 'year') {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + NUMBER_OF_YEARS_SHOWN };\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n const baseElement = this.getSixInputBaseElement();\n if (baseElement == null || this.panel == null) return;\n\n // Close when clicking outside\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.panel) && !path.includes(baseElement)) {\n this.hide();\n this.sixBlur.emit();\n }\n };\n\n private handleClearClick = () => {\n this.hide();\n this.value = '';\n this.pointerDate = todayAsPointerDate();\n this.sixChange.emit(this.value);\n };\n\n private handleDayClick = (date: string) => {\n this.value = date;\n this.pointerDate = toPointerDate(this.value);\n this.hide();\n this.inputElement?.setFocus();\n this.sixChange.emit(this.value);\n };\n\n private handleMonthClicked = (month: number) => {\n this.pointerDate = { ...this.pointerDate, month };\n this.selectionMode = 'day';\n };\n\n private handleYearClicked = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = 'day';\n };\n\n private handleInputChange = (event: Event) => {\n if (this.inputElement == null) return;\n event.stopPropagation();\n const isoDate = fromFormattedString(this.inputElement.value, this.dateFormat);\n\n if (isoDate != null) {\n this.value = isoDate;\n this.pointerDate = toPointerDate(this.value);\n } else if (this.inputElement.value === '') {\n this.value = '';\n this.pointerDate = todayAsPointerDate();\n this.selectionMode = 'day';\n }\n this.sixChange.emit(this.value);\n };\n\n private handleOnBlur = () => {\n if (this.popoverHelper?.isVisible === false) {\n if (this.inputElement) {\n this.inputElement.value = this.value === '' ? '' : formatDate(this.value, this.dateFormat);\n }\n }\n };\n\n private handleInputKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n this.hide();\n this.sixBlur.emit();\n }\n if (event.key === 'Escape') {\n this.hide();\n }\n };\n\n connectedCallback() {\n this.initPopover();\n this.updateValueAndPointerDate();\n this.eventListeners.forward('six-change', 'change', this.host);\n this.eventListeners.forward('six-blur', 'blur', this.host);\n }\n\n componentDidLoad() {\n this.initPopover();\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n this.popoverHelper?.destroy();\n this.popoverHelper = undefined;\n }\n\n render() {\n return (\n <div class=\"container\">\n {/* INPUT */}\n <six-input\n value={this.value === '' ? '' : formatDate(this.value, this.dateFormat)}\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder == null ? this.dateFormat : this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n name={this.name}\n label={this.label}\n required={this.required}\n helpText={this.helpText}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n invalid={this.invalid}\n onKeyDown={this.handleInputKeyDown}\n onInput={debounce(this.handleInputChange, this.debounce)}\n onBlur={this.handleOnBlur}\n onSix-input-clear={this.handleClearClick}\n size={this.size}\n clearable={this.clearable}\n aria-describedby=\"date-format\"\n >\n <six-icon slot=\"prefix\" size={this.size === 'large' ? 'medium' : this.size}>\n today\n </six-icon>\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\"></slot>\n </span>\n ) : null}\n {hasSlot(this.host, 'help-text') ? (\n <span slot=\"help-text\">\n <slot name=\"help-text\"></slot>\n </span>\n ) : null}\n </six-input>\n\n <span id=\"date-format\" class=\"sr-only\">\n {translateFormatHelp(this.language, this.dateFormat)}\n </span>\n\n {/* PANEL */}\n <div ref={(el) => (this.positioner = el)} class=\"positioner\">\n <div class=\"panel\" ref={(el) => (this.panel = el)}>\n {/* PANEL HEADER */}\n <header class=\"panel__header\">\n <six-icon-button\n tabindex=\"-1\"\n class=\"previous\"\n onClick={this.handlePreviousClick}\n name=\"arrow_back_ios\"\n />\n\n {this.selectionMode === 'day' && (\n <div class=\"selector\" onClick={() => (this.selectionMode = 'month')}>\n {translateMonth(this.pointerDate.month, this.language)}\n <six-icon>arrow_drop_down</six-icon>\n </div>\n )}\n\n {this.selectionMode !== 'year' && (\n <div class=\"selector\" onClick={() => (this.selectionMode = 'year')}>\n {this.pointerDate.year}\n <six-icon>arrow_drop_down</six-icon>\n </div>\n )}\n\n {this.selectionMode === 'year' && (\n <div class=\"selector\">\n {this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2)} –{' '}\n {this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2)}\n </div>\n )}\n\n <six-icon-button tabindex=\"-1\" class=\"next\" onClick={this.handleNextClick} name=\"arrow_forward_ios\" />\n </header>\n\n {/* PANEL BODY */}\n {this.selectionMode === 'day' && (\n <DaySelection\n language={this.language}\n calendarGrid={createCalendarGrid({\n year: this.pointerDate.year,\n month: this.pointerDate.month,\n selected: this.value || undefined,\n minDate: this.min,\n maxDate: this.max,\n dateFormat: this.dateFormat,\n allowedDates: this.allowedDates,\n })}\n dayClicked={this.handleDayClick}\n />\n )}\n\n {this.selectionMode === 'month' && (\n <MonthSelection language={this.language} selected={this.value} monthClicked={this.handleMonthClicked} />\n )}\n\n {this.selectionMode === 'year' && (\n <YearSelection\n selected={this.value}\n pointerYear={this.pointerDate.year}\n yearCount={NUMBER_OF_YEARS_SHOWN}\n yearClicked={this.handleYearClicked}\n />\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-date.js","sourceRoot":"","sources":["../../../src/components/six-date/six-date.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { hasSlot } from '../../utils/slot';\nimport { MonthSelection } from './components/month-selection';\nimport { YearSelection } from './components/year-selection';\nimport { DaySelection } from './components/day-selection';\nimport { Language } from '../../utils/error-messages';\nimport {\n cleanupValue,\n formatDate,\n fromFormattedString,\n nextPointerDate,\n previousPointerDate,\n todayAsPointerDate,\n toPointerDate,\n} from './iso-date';\nimport { createCalendarGrid } from './calendar-grid';\nimport { translateFormatHelp, translateMonth } from './translations';\nimport Popover from '../../utils/popover';\n\nconst NUMBER_OF_YEARS_SHOWN = 25;\n\n/**\n * A date picker component that allows users to select dates via a calendar popup or direct input.\n *\n * @since 5.0\n * @status beta\n *\n * @slot label - The date's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes the usage.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text property.\n */\n@Component({\n tag: 'six-date',\n styleUrl: 'six-date.scss',\n shadow: true,\n})\nexport class SixDate {\n private eventListeners = new EventListeners();\n private inputElement?: HTMLSixInputElement;\n private popoverHelper?: Popover;\n private panel?: HTMLElement;\n private positioner?: HTMLElement;\n\n @Element() host!: HTMLSixDateElement;\n\n /**\n * Current state of the date picker for day, month, or year selection.\n * Independent of the currently selected date value.\n */\n @State() pointerDate = todayAsPointerDate();\n\n @State() selectionMode: 'day' | 'month' | 'year' = 'day';\n\n /**\n * The language used to render the weekdays and months.\n */\n @Prop() language: Language = 'en';\n\n /**\n * If `true` the user can only select a date via the component in the popup but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Callback to determine which dates in the picker should be selectable.\n */\n @Prop() allowedDates: (date: string) => boolean = () => true;\n\n /**\n * The minimum allowed selectable date in ISO format (yyyy-MM-dd).\n * Dates before this value will be disabled in the date picker.\n * Example: '2024-01-01'\n */\n @Prop() min?: string;\n\n /**\n * The maximum allowed selectable date in ISO format (yyyy-MM-dd).\n * Dates after this value will be disabled in the date picker.\n * Example: '2025-01-01'\n */\n @Prop() max?: string;\n\n /**\n * The size of the date input field.\n */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /**\n * The value of the form field in ISO 8601 date format (yyyy-MM-dd).\n * Example: '2024-01-01'.\n *\n * When an invalid date is provided, it will be replaced with an empty string (''),\n * matching the behavior of native HTML <input type=\"date\">.\n *\n * The displayed format can be customized using the dateFormat property, but the underlying\n * value will always be stored in ISO format.\n */\n @Prop({ mutable: true }) value: string | '' = '';\n\n /** Defines the format pattern for displaying dates and how dates can be entered via keyboard.\n *\n * The parser accepts flexible input that doesn't strictly match the format pattern.\n * Input with missing leading zeros or incomplete years will be automatically normalized.\n * For example, with the pattern \"dd.MM.yyyy\": \"1.1.2025\" becomes \"01.01.2025\" and\n * \"1.1.225\" becomes \"01.01.0225\".\n *\n * Defaults to \"dd.MM.yyyy\".\n *\n * Available patterns:\n * - Year: \"yyyy\" (e.g., \"2021\")\n * - Month: \"MM\" (e.g., \"01\" for January) or \"M\" (e.g., \"1\" for January)\n * - Day: \"dd\" (e.g., \"08\" for the 8th) or \"d\" (e.g., \"8\" for the 8th)\n *\n * Examples:\n * - \"dd.MM.yyyy\" -> \"31.01.2024\"\n * - \"yyyy-MM-dd\" -> \"2024-01-31\"\n * - \"d.M.yyyy\" -> \"31.1.2024\"\n * */\n @Prop() dateFormat = 'dd.MM.yyyy';\n\n /** The label text. */\n @Prop() label = '';\n\n /** The input's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n @Watch('value')\n valueChanged() {\n this.updateValueAndPointerDate();\n }\n\n /**\n * Emitted when the control's value changes.\n * Event detail contains the new date value in ISO format (yyyy-MM-dd) or an empty string if cleared.\n */\n @Event({ eventName: 'six-change' }) sixChange!: EventEmitter<string | ''>;\n\n /**\n * Emitted when the control loses focus or the date picker popup is closed.\n * Does not contain event details.\n */\n @Event({ eventName: 'six-blur' }) sixBlur!: EventEmitter;\n\n /** Sets focus on the input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.setFocus(options);\n }\n\n private panelHideInProgress = false;\n\n private updateValueAndPointerDate() {\n const { value, pointerDate, warning } = cleanupValue(this.value);\n this.value = value;\n this.pointerDate = pointerDate;\n if (warning != null) {\n console.warn(warning);\n }\n this.updateInputElementValue();\n }\n\n private getSixInputBaseElement() {\n return this.inputElement?.shadowRoot?.querySelector('div.input') as HTMLDivElement;\n }\n\n private show() {\n if (this.popoverHelper?.isVisible === true || this.panelHideInProgress || this.disabled) return;\n this.popoverHelper?.show();\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private hide() {\n if (this.popoverHelper?.isVisible === false) return;\n\n this.updateInputElementValue();\n this.selectionMode = 'day';\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n this.panelHideInProgress = true;\n this.popoverHelper?.hide();\n }\n\n private initPopover() {\n const sixInputBaseElement = this.getSixInputBaseElement();\n if (this.inputElement == null || this.positioner == null || this.panel == null || sixInputBaseElement == null) {\n return;\n }\n\n this.eventListeners.add(sixInputBaseElement, 'click', () => this.show());\n\n this.popoverHelper = new Popover(sixInputBaseElement, this.positioner, {\n strategy: 'fixed',\n placement: 'bottom-start',\n transitionElement: this.panel,\n distance: 4,\n skidding: 0,\n onAfterHide: () => {\n this.panelHideInProgress = false;\n },\n });\n }\n\n private handlePreviousClick = () => {\n this.pointerDate = previousPointerDate(this.selectionMode, this.pointerDate);\n };\n\n private handleNextClick = () => {\n this.pointerDate = nextPointerDate(this.selectionMode, this.pointerDate);\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n const baseElement = this.getSixInputBaseElement();\n if (baseElement == null || this.panel == null) return;\n\n // Close when clicking outside\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.panel) && !path.includes(baseElement)) {\n this.hide();\n this.sixBlur.emit();\n }\n };\n\n private handleDayClick = (date: string) => {\n this.value = date;\n this.pointerDate = toPointerDate(this.value);\n this.hide();\n this.inputElement?.setFocus();\n this.sixChange.emit(this.value);\n };\n\n private handleMonthClicked = (month: number) => {\n this.pointerDate = { ...this.pointerDate, month };\n this.selectionMode = 'day';\n };\n\n private handleYearClicked = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = 'day';\n };\n\n private handleInputChange = (event: Event) => {\n if (this.inputElement == null) return;\n event.stopPropagation();\n const isoDate = fromFormattedString(this.inputElement.value, this.dateFormat);\n\n if (isoDate != null) {\n this.value = isoDate;\n this.pointerDate = toPointerDate(this.value);\n } else if (this.inputElement.value === '') {\n this.value = '';\n this.pointerDate = todayAsPointerDate();\n this.selectionMode = 'day';\n }\n this.sixChange.emit(this.value);\n };\n\n private handleInputBlur = () => {\n if (this.popoverHelper?.isVisible === false) {\n this.updateInputElementValue();\n }\n };\n\n private handleInputClearClick = () => {\n this.hide();\n this.value = '';\n this.pointerDate = todayAsPointerDate();\n this.sixChange.emit(this.value);\n };\n\n private handleInputKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Tab') {\n this.hide();\n this.sixBlur.emit();\n }\n if (event.key === 'Escape') {\n this.hide();\n }\n };\n\n private updateInputElementValue() {\n if (this.inputElement && document.activeElement !== this.host) {\n this.inputElement.value = this.value === '' ? '' : formatDate(this.value, this.dateFormat);\n }\n }\n\n connectedCallback() {\n this.initPopover();\n this.updateValueAndPointerDate();\n this.eventListeners.forward('six-change', 'change', this.host);\n this.eventListeners.forward('six-blur', 'blur', this.host);\n }\n\n componentDidLoad() {\n this.updateInputElementValue();\n this.initPopover();\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n this.popoverHelper?.destroy();\n this.popoverHelper = undefined;\n }\n\n render() {\n return (\n <div class=\"container\">\n {/* INPUT */}\n <six-input\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder == null ? this.dateFormat : this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n name={this.name}\n label={this.label}\n required={this.required}\n helpText={this.helpText}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n invalid={this.invalid}\n onKeyDown={this.handleInputKeyDown}\n onInput={this.handleInputChange}\n onBlur={this.handleInputBlur}\n onSix-input-clear={this.handleInputClearClick}\n size={this.size}\n clearable={this.clearable}\n aria-describedby=\"date-format\"\n >\n <six-icon slot=\"prefix\" size={this.size === 'large' ? 'medium' : this.size}>\n today\n </six-icon>\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\"></slot>\n </span>\n ) : null}\n {hasSlot(this.host, 'help-text') ? (\n <span slot=\"help-text\">\n <slot name=\"help-text\"></slot>\n </span>\n ) : null}\n </six-input>\n\n <span id=\"date-format\" class=\"sr-only\">\n {translateFormatHelp(this.language, this.dateFormat)}\n </span>\n\n {/* PANEL */}\n <div ref={(el) => (this.positioner = el)} class=\"positioner\">\n <div class=\"panel\" ref={(el) => (this.panel = el)}>\n {/* PANEL HEADER */}\n <header class=\"panel__header\">\n <six-icon-button\n tabindex=\"-1\"\n class=\"previous\"\n onClick={this.handlePreviousClick}\n name=\"arrow_back_ios\"\n />\n\n {this.selectionMode === 'day' && (\n <div class=\"selector\" onClick={() => (this.selectionMode = 'month')}>\n {translateMonth(this.pointerDate.month, this.language)}\n <six-icon>arrow_drop_down</six-icon>\n </div>\n )}\n\n {this.selectionMode !== 'year' && (\n <div class=\"selector\" onClick={() => (this.selectionMode = 'year')}>\n {this.pointerDate.year}\n <six-icon>arrow_drop_down</six-icon>\n </div>\n )}\n\n {this.selectionMode === 'year' && (\n <div class=\"selector\">\n {this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2)} –{' '}\n {this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2)}\n </div>\n )}\n\n <six-icon-button tabindex=\"-1\" class=\"next\" onClick={this.handleNextClick} name=\"arrow_forward_ios\" />\n </header>\n\n {/* PANEL BODY */}\n {this.selectionMode === 'day' && (\n <DaySelection\n language={this.language}\n calendarGrid={createCalendarGrid({\n year: this.pointerDate.year,\n month: this.pointerDate.month,\n selected: this.value || undefined,\n minDate: this.min,\n maxDate: this.max,\n dateFormat: this.dateFormat,\n allowedDates: this.allowedDates,\n })}\n dayClicked={this.handleDayClick}\n />\n )}\n\n {this.selectionMode === 'month' && (\n <MonthSelection language={this.language} selected={this.value} monthClicked={this.handleMonthClicked} />\n )}\n\n {this.selectionMode === 'year' && (\n <YearSelection\n selected={this.value}\n pointerYear={this.pointerDate.year}\n yearCount={NUMBER_OF_YEARS_SHOWN}\n yearClicked={this.handleYearClicked}\n />\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
@@ -18,7 +18,7 @@ var SelectionMode;
18
18
  })(SelectionMode || (SelectionMode = {}));
19
19
  /**
20
20
  * @since 1.0
21
- * @status stable
21
+ * @status deprecated. Use six-date instead.
22
22
  *
23
23
  * @slot - Used to define a footer for the date picker.
24
24
  * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.
@@ -456,15 +456,15 @@ export class SixDatepicker {
456
456
  render() {
457
457
  var _a, _b, _c;
458
458
  this.adjustPopupPosition();
459
- return (h("div", { key: 'b5ba1d95babef5f6f47bd176f607756df09f293b', ref: (el) => (this.wrapper = el), class: "datepicker__container" }, h("six-input", { key: 'bbc7941bb975cb5e66eda215fea89dc3455724a3', part: "base", value: formatDate(this.value, this.dateFormat), ref: (el) => (this.inputElement = el), placeholder: this.placeholder, readonly: this.readonly, disabled: this.disabled, name: this.name, label: this.label, required: this.required, errorText: this.errorText, errorTextCount: this.errorTextCount, invalid: this.invalid, onClick: () => this.openCalendar(), size: this.size, class: { 'input--empty': this.value == null } }, this.renderCustomIcon(), this.renderClearable(), hasSlot(this.host, 'label') ? (h("span", { slot: "label" }, h("slot", { name: "label" }))) : null, hasSlot(this.host, 'error-text') ? (h("span", { slot: "error-text" }, h("slot", { name: "error-text" }))) : null), this.open && (h("div", { key: 'ceaf12686b514b8708e1b254e8ed8990c519e19b', part: "popup", ref: (el) => (this.popup = el), class: {
459
+ return (h("div", { key: '93ace26fe1c49f134681e47d198dcbb2a75cdb87', ref: (el) => (this.wrapper = el), class: "datepicker__container" }, h("six-input", { key: 'd823eebd5cb0a257902c6265298cf4ac5f155cc5', part: "base", value: formatDate(this.value, this.dateFormat), ref: (el) => (this.inputElement = el), placeholder: this.placeholder, readonly: this.readonly, disabled: this.disabled, name: this.name, label: this.label, required: this.required, errorText: this.errorText, errorTextCount: this.errorTextCount, invalid: this.invalid, onClick: () => this.openCalendar(), size: this.size, class: { 'input--empty': this.value == null } }, this.renderCustomIcon(), this.renderClearable(), hasSlot(this.host, 'label') ? (h("span", { slot: "label" }, h("slot", { name: "label" }))) : null, hasSlot(this.host, 'error-text') ? (h("span", { slot: "error-text" }, h("slot", { name: "error-text" }))) : null), this.open && (h("div", { key: '2a8e648342d25bf1685705137cecaa2d9ed7d482', part: "popup", ref: (el) => (this.popup = el), class: {
460
460
  datepicker__popup: true,
461
461
  'datepicker__popup--is-up': this.placement != null ? this.placement === 'top' : this.isDropDownContentUp,
462
462
  'datepicker__popup--is-inline': this.inline,
463
- } }, this.renderHeader(), this.renderBody(), this.type === 'date-time' && (h("six-timepicker", { key: 'c978d4bf39f7b212eb6f4f37acbfc2f5533e2ebc', debounce: this.debounce, inline: true, "onSix-timepicker-change-debounced": (event) => this.onTimepickerChange(event), value: ((_a = this.selectedDate) === null || _a === void 0 ? void 0 : _a.getHours()) +
463
+ } }, this.renderHeader(), this.renderBody(), this.type === 'date-time' && (h("six-timepicker", { key: '710a9c6b161dc6b1c1791a550d120d468f4f97d1', debounce: this.debounce, inline: true, "onSix-timepicker-change-debounced": (event) => this.onTimepickerChange(event), value: ((_a = this.selectedDate) === null || _a === void 0 ? void 0 : _a.getHours()) +
464
464
  ':' +
465
465
  ((_b = this.selectedDate) === null || _b === void 0 ? void 0 : _b.getMinutes()) +
466
466
  ':' +
467
- ((_c = this.selectedDate) === null || _c === void 0 ? void 0 : _c.getSeconds()) })), h("div", { key: 'ffaec9fff60951e6f8134437f31b359d93b3b91e', class: "datepicker__footer" }, h("slot", { key: '58655ebaf55d53e2524eee16e87ecf629fe9eb29' }))))));
467
+ ((_c = this.selectedDate) === null || _c === void 0 ? void 0 : _c.getSeconds()) })), h("div", { key: '8bb2e6b2b81caf1ba06038a426b59d8fbdfe51d0', class: "datepicker__footer" }, h("slot", { key: '67fbcbfc24055d03cba4b7372f65932b83453c39' }))))));
468
468
  }
469
469
  adjustPopupPosition() {
470
470
  adjustPopupForHoisting(this.hoist, this.popup, this.inputElement, this.wrapper, MIN_POPUP_HEIGHT, (isUp) => (this.isDropDownContentUp = isUp));
@@ -1 +1 @@
1
- {"version":3,"file":"six-datepicker.js","sourceRoot":"","sources":["../../../src/components/six-datepicker/six-datepicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/G,OAAO,EACL,kBAAkB,EAClB,GAAG,EACH,UAAU,EACV,oBAAoB,EACpB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,GAAG,EAEH,WAAW,EACX,UAAU,EACV,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAe7B,IAAK,aAIJ;AAJD,WAAK,aAAa;IAChB,4BAAW,CAAA;IACX,gCAAe,CAAA;IACf,8BAAa,CAAA;AACf,CAAC,EAJI,aAAa,KAAb,aAAa,QAIjB;AAED;;;;;;GAMG;AAMH,MAAM,OAAO,aAAa;IAL1B;QAMU,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAQ7B,gBAAW,GAAG,aAAa,CAAC,uBAAuB,EAAE,CAAC;QAC9D,kBAAa,GAAkB,aAAa,CAAC,GAAG,CAAC;QACjD,wBAAmB,GAAG,KAAK,CAAC;QAErC;;WAEG;QACK,SAAI,GAAyB,MAAM,CAAC;QAE5C;;WAEG;QACK,WAAM,GAAqC,IAAI,CAAC;QAExD,4HAA4H;QACpF,SAAI,GAAG,KAAK,CAAC;QAErD,iGAAiG;QACxE,WAAM,GAAG,KAAK,CAAC;QAExC;;WAEG;QACK,aAAQ,GAAG,KAAK,CAAC;QAEzB;;WAEG;QACK,aAAQ,GAAG,KAAK,CAAC;QAEzB;;;;;;;WAOG;QACK,iBAAY,GAA4B,GAAG,EAAE,CAAC,IAAI,CAAC;QAY3D;;WAEG;QACK,kBAAa,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;QAO7C,uBAAuB;QACf,SAAI,GAAiC,QAAQ,CAAC;QAEtD,yDAAyD;QACjD,aAAQ,GAAG,KAAK,CAAC;QAiBzB,sBAAsB;QACd,UAAK,GAAG,EAAE,CAAC;QAEnB,6DAA6D;QACrD,cAAS,GAAsB,EAAE,CAAC;QAK1C,wHAAwH;QAC/F,YAAO,GAAG,KAAK,CAAC;QAKzC;;;;;;;;;;;aAWK;QACG,eAAU,GAAmB,cAAc,CAAC,WAAW,CAAC;QAEhE;;WAEG;QACK,aAAQ,GAAG,qBAAqB,CAAC;QAEzC,kCAAkC;QACT,SAAI,GAAG,EAAE,CAAC;QAEnC,qEAAqE;QAC7D,cAAS,GAAG,KAAK,CAAC;QAE1B,mCAAmC;QAC3B,iBAAY,GAAqB,MAAM,CAAC;QAEhD;;;WAGG;QACK,UAAK,GAAG,KAAK,CAAC;QA4Fd,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,KAAK,EAAE,CAAC;gBACtD,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;gBACrD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC;QAyBM,aAAQ,GAAG,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,KAAK,EAAE,CAAC;gBACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;gBACrD,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;QAqCM,0BAAqB,GAAG,CAAC,KAAY,EAAE,EAAE;;YAC/C,MAAM,aAAa,GAAG,KAAsB,CAAC;YAC7C,+BAA+B;YAC/B,IAAI,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAChD,aAAa,CAAC,eAAe,EAAE,CAAC;gBAChC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,KAAK,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,EAAE,CAAA,CAAC;YACrC,CAAC;YAED,iBAAiB;YACjB,IAAI,aAAa,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;gBAChC,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;QAEM,4BAAuB,GAAG,CAAC,KAAY,EAAE,EAAE;YACjD,qDAAqD;YACrD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAmB,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,KAAK,EAAE,KAAiB,EAAE,EAAE;YACrD,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC,CAAC;QAiFM,uBAAkB,GAAG,CAAC,mBAAqD,EAAE,EAAE;YACrF,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAE3B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC9B,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;YAClH,CAAC;YAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,IAAkB,EAAE,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,aAAqB,EAAE,EAAE;YACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC;YACxG,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,KAAK,GAAE,CAAC;YAClD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC;QACzC,CAAC,CAAC;QAEM,oBAAe,GAAG,CAAC,IAAY,EAAE,EAAE;YACzC,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,IAAI,GAAE,CAAC;YACjD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC;QACzC,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,KAAY,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YACD,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpD,OAAO;YACT,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAE3D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvD,IAAI,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,KAAY,EAAE,EAAE;;YACtC,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,+CAA+C;YAC/C,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,MAAK,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACtE,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,OAAK,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,EAAE,CAAA,EAAE,CAAC;gBACjF,2FAA2F;gBAC3F,sEAAsE;gBACtE,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;YAC3B,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;KAuPH;IAlmBW,eAAe;QACvB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IAEO,YAAY;QACpB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAkBD,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAGD,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEO,oBAAoB;QAC1B,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,IAAI,cAAc;QAChB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxE,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,2CAA2C;IAE3C,KAAK,CAAC,QAAQ,CAAC,OAAsB;;QACnC,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,kBAAkB,CAAC;YACxB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACxG,CAAC;IAEO,sBAAsB,CAAC,KAAa;QAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAYO,YAAY;QAClB,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,GAAE,CAAC;IAC9E,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,qBAAqB,GAAE,CAAC;IAClG,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC9G,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG;gBACjB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;gBAC3B,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC;gBACjC,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAYO,SAAS;QACf,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC7G,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG;gBACjB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;gBAC3B,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC;gBACjC,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,GAAE,CAAC;IAC9E,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,qBAAqB,GAAE,CAAC;IAClG,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,+BAA+B;QACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACzE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC/E,CAAC;IAgCO,UAAU;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAChF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC;IACzC,CAAC;IAEO,kBAAkB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;gBAClB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;gBACd,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;gBAClB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;gBACtB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;aACvB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,IAAW;QACxC,OAAO,CACL,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAC3C,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,OAAc;QAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAEO,eAAe,CAAC,OAAc;;QACpC,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAA,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,MAAM,CAAC,UAAmB;QAC9B,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC9F,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IA2FD,iBAAiB;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/G,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,YAAY;QAClB,OAAO,CACL,cAAQ,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,QAAQ;YAC7C,WAAK,KAAK,EAAC,6BAA6B,EAAC,OAAO,EAAE,IAAI,CAAC,YAAY;gBACjE,WAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI;oBAC7C,YAAM,CAAC,EAAC,qDAAqD,GAAG,CAC5D,CACF;YAEN,WAAK,KAAK,EAAC,0BAA0B;gBAClC,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,GAAG,IAAI,CAC3C,WAAK,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;oBAC5D,YAAM,KAAK,EAAC,gCAAgC,IAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAQ;oBACzG;wBACE,WAAK,OAAO,EAAC,aAAa,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI;4BAC/C,gBAAU,MAAM,EAAC,gBAAgB,GAAG,CAChC,CACD,CACH,CACP;gBAEA,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,IAAI,CAC5C,WAAK,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;oBAC3D,YAAM,KAAK,EAAC,+BAA+B,IAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAQ;oBAC1E;wBACE,WAAK,OAAO,EAAC,aAAa,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI;4BAC/C,gBAAU,MAAM,EAAC,gBAAgB,GAAG,CAChC,CACD,CACH,CACP;gBAEA,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,IAAI,CAC5C;oBACG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;;oBAAI,GAAG;oBACpE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAC1D,CACP,CACG;YAEN,WAAK,KAAK,EAAC,6BAA6B,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ;gBAC7D,WAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI;oBAC7C,YAAM,CAAC,EAAC,gDAAgD,GAAG,CACvD,CACF,CACC,CACV,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,KAAK,aAAa,CAAC,GAAG;gBACpB,OAAO,CACL,EAAC,YAAY,IACX,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,eAAe,EAAE,IAAI,CAAC,eAAe,GACrC,CACH,CAAC;YACJ,KAAK,aAAa,CAAC,KAAK;gBACtB,OAAO,CACL,EAAC,cAAc,IACb,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,GACvC,CACH,CAAC;YACJ,KAAK,aAAa,CAAC,IAAI;gBACrB,OAAO,CACL,EAAC,aAAa,IACZ,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,qBAAqB,CAAC,EACxE,eAAe,EAAE,IAAI,CAAC,eAAe,GACrC,CACH,CAAC;QACN,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAC/C,YAAM,IAAI,EAAC,aAAa,GAAQ,CACjC,CAAC,CAAC,CAAC,CACF,gBAAU,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,YAAkB,CAC/E,CAAC;QAEF,OAAO,CACL,YACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;gBACZ,eAAe,EAAE,IAAI,CAAC,YAAY,KAAK,OAAO;aAC/C,IAEA,IAAI,CACA,CACR,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,OAAO,CACL,IAAI,CAAC,SAAS,IAAI,CAChB,cACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gBACL,kBAAkB,EAAE,IAAI;gBACxB,yBAAyB,EAAE,IAAI,CAAC,YAAY,KAAK,MAAM;gBACvD,wBAAwB,EAAE,IAAI,CAAC,YAAY,KAAK,OAAO;aACxD,EACD,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,QAAQ,EAAC,IAAI;YAEb,gBAAU,IAAI,EAAC,OAAO,YAAiB,CAChC,CACV,CACF,CAAC;IACJ,CAAC;IAED,MAAM;;QACJ,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,OAAO,CACL,4DAAK,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,uBAAuB;YAClE,kEACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAC9C,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EACrC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAClC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;gBAE5C,IAAI,CAAC,gBAAgB,EAAE;gBACvB,IAAI,CAAC,eAAe,EAAE;gBACtB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAC7B,YAAM,IAAI,EAAC,OAAO;oBAChB,YAAM,IAAI,EAAC,OAAO,GAAG,CAChB,CACR,CAAC,CAAC,CAAC,IAAI;gBACP,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAClC,YAAM,IAAI,EAAC,YAAY;oBACrB,YAAM,IAAI,EAAC,YAAY,GAAQ,CAC1B,CACR,CAAC,CAAC,CAAC,IAAI,CACE;YACX,IAAI,CAAC,IAAI,IAAI,CACZ,4DACE,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,EAC9B,KAAK,EAAE;oBACL,iBAAiB,EAAE,IAAI;oBACvB,0BAA0B,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB;oBACxG,8BAA8B,EAAE,IAAI,CAAC,MAAM;iBAC5C;gBAEA,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,CAC5B,uEACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,uCACuB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAC5E,KAAK,EACH,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,EAAE;wBAC7B,GAAG;yBACH,MAAA,IAAI,CAAC,YAAY,0CAAE,UAAU,EAAE,CAAA;wBAC/B,GAAG;yBACH,MAAA,IAAI,CAAC,YAAY,0CAAE,UAAU,EAAE,CAAA,GAEjB,CACnB;gBACD,4DAAK,KAAK,EAAC,oBAAoB;oBAC7B,8DAAQ,CACJ,CACF,CACP,CACG,CACP,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,sBAAsB,CACpB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,OAAO,EACZ,gBAAgB,EAChB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAC5C,CAAC;QACF,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAEO,MAAM,CAAC,uBAAuB;QACpC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACjB,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;YACnB,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YACf,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SACxB,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport {\n createCalendarGrid,\n day,\n formatDate,\n getFirstDayOfTheWeek,\n hours,\n i18nDate,\n isValidDate,\n isValidDateString,\n minutes,\n month,\n now,\n PointerDate,\n rangeAround,\n removeTime,\n seconds,\n toDate,\n year,\n} from '../../utils/date-util';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, debounceEvent, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { SixDateFormats } from './six-date-formats';\nimport { MonthSelection } from './components/month-selection';\nimport { DaySelection } from './components/day-selection';\nimport { YearSelection } from './components/year-selection';\nimport { SixTimepickerChange } from '../six-timepicker/six-timepicker';\nimport {\n adjustPopupForHoisting,\n adjustPopupForSmallScreens,\n calcIsDropDownContentUp,\n movePopup,\n} from '../../utils/popup';\n\nconst NUMBER_OF_YEARS_SHOWN = 25;\n\nconst MIN_POPUP_HEIGHT = 400;\n\nexport type SixDatepickerSelectPayload = Date | undefined | null;\n\nexport interface CalendarCell {\n date: Date;\n dateString: string;\n display: string;\n isDisabled: boolean;\n isOutdated: boolean;\n isSelected: boolean;\n isToday: boolean;\n label: string;\n}\n\nenum SelectionMode {\n DAY = 'day',\n MONTH = 'month',\n YEAR = 'year',\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define a footer for the date picker.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n */\n@Component({\n tag: 'six-datepicker',\n styleUrl: 'six-datepicker.scss',\n shadow: true,\n})\nexport class SixDatepicker {\n private eventListeners = new EventListeners();\n private inputElement?: HTMLSixInputElement;\n private popup?: HTMLElement;\n private wrapper?: HTMLElement;\n private selectedDate?: Date;\n\n @Element() host!: HTMLSixDatepickerElement;\n\n @State() private pointerDate = SixDatepicker.getCurrentDateAsPointer();\n @State() selectionMode: SelectionMode = SelectionMode.DAY;\n @State() isDropDownContentUp = false;\n\n /**\n * Set the type.\n */\n @Prop() type: 'date' | 'date-time' = 'date';\n\n /**\n * The language used to render the weekdays and months.\n */\n @Prop() locale: 'en' | 'de' | 'fr' | 'it' | 'es' = 'en';\n\n /** Indicates whether or not the calendar dropdown is open on startup. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Indicates whether or not the calendar should be shown as an inline (always open) component */\n @Prop({ reflect: true }) inline = false;\n\n /**\n * If `true` the user can only select a date via the component in the popup, but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Callback to determine which date in the datepicker should be selectable.\n * the callback function will get a datestring as an argument, e.g. '2021-07-04'\n *\n * Usage e.g.:\n * const datepicker = document.getElementById('allowed-date-picker');\n * datepicker.allowedDates = datestring => parseInt(datestring.split('-')[2], 10) % 2 === 0;\n */\n @Prop() allowedDates: (date: Date) => boolean = () => true;\n\n /**\n * The minimum datetime allowed. Value must be a date object\n */\n @Prop() min?: Date;\n\n /**\n * The maximum datetime allowed. Value must be a date object\n */\n @Prop() max?: Date;\n\n /**\n * Closes the datepicker dropdown after selection\n */\n @Prop() closeOnSelect = this.type === 'date';\n\n /**\n * The enforced placement of the dropdown panel.\n */\n @Prop() placement?: 'top' | 'bottom';\n\n /** Datepicker size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /**\n * The date to defines where the datepicker popup starts. The prop accepts ISO 8601 date strings (YYYY-MM-DD).\n */\n @Prop() defaultDate?: string;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /**\n * The value of the form field, which accepts a date object.\n */\n @Prop({ mutable: true }) value?: Date;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** The dropdown will close when the user interacts outside of this element (e.g. clicking). */\n @Prop() containingElement?: HTMLElement;\n\n /** Define the dateFormat. Valid formats are:\n * 'dd.mm.yyyy'\n * 'yyyy-mm-dd'\n * 'dd-mm-yyyy'\n * 'dd/mm/yyyy'\n * 'yyyy/mm/dd'\n * 'dd.mm.yy'\n * 'yy-mm-dd'\n * 'dd-mm-yy'\n * 'dd/mm/yy'\n * 'yy/mm/dd'\n * */\n @Prop() dateFormat: SixDateFormats = SixDateFormats.DDMMYYY_DOT;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `dateChange` event after each keystroke.\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Set the position of the icon */\n @Prop() iconPosition: 'left' | 'right' = 'left';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.sixSelect = debounceEvent(this.sixSelect, this.debounce);\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n if (this.value != null && !isValidDate(this.value)) {\n console.warn('invalid date value: ', this.value);\n this.value = undefined;\n this.sixSelect.emit(this.value);\n }\n this.selectedDate = this.value;\n this.updatePointerDates();\n }\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-select' }) sixSelect!: EventEmitter<SixDatepickerSelectPayload>;\n\n /**\n * Emitted when the clear button is activated.\n */\n @Event({ eventName: 'six-datepicker-clear' }) sixClear!: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-blur' }) sixBlur!: EventEmitter<SixDatepickerSelectPayload>;\n\n @Listen('resize', { target: 'window' })\n async resizeHandler() {\n this.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n this.adjustPopupPosition();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n }\n\n private moveOpenHoistedPopup() {\n movePopup(this.hoist, this.open, this.popup, this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n get container() {\n return this.containingElement || this.host;\n }\n\n get firstDateOfBox(): Date {\n const date = new Date(this.pointerDate.year, this.pointerDate.month, 1);\n return getFirstDayOfTheWeek(date);\n }\n\n /** Sets focus on the datepickers input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.setFocus(options);\n }\n\n get calendarGrid() {\n return createCalendarGrid({\n firstDateOfBox: this.firstDateOfBox,\n allowedDates: this.allowedDates,\n dateFormat: this.dateFormat,\n locale: this.locale,\n selectedDate: this.selectedDate,\n minDate: this.min,\n maxDate: this.max,\n pointerDate: this.pointerDate,\n });\n }\n\n private updateDropdownDirection() {\n if (this.inputElement == null || this.wrapper == null) {\n return;\n }\n this.isDropDownContentUp = calcIsDropDownContentUp(this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n private getMonthStringForIndex(index: number) {\n return i18nDate[this.locale].months[index];\n }\n\n private previousUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.previousMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.previousYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.previousYearGroup();\n }\n };\n\n private previousYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - 1 };\n }\n\n private previousYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - NUMBER_OF_YEARS_SHOWN };\n }\n\n private previousMonth() {\n if (this.pointerDate.month === 0) {\n this.pointerDate = { year: this.pointerDate.year - 1, month: 11, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month - 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.nextMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.nextYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.nextYearGroup();\n }\n };\n\n private nextMonth() {\n if (this.pointerDate.month === 11) {\n this.pointerDate = { year: this.pointerDate.year + 1, month: 0, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month + 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + 1 };\n }\n\n private nextYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + NUMBER_OF_YEARS_SHOWN };\n }\n\n private openCalendar() {\n if (!this.open && !this.disabled) {\n this.open = true;\n this.setupEventListenersForOpenPopup();\n }\n }\n\n private setupEventListenersForOpenPopup() {\n this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private handleDocumentKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n // Close when escape is pressed\n if (this.open && keyboardEvent.key === 'Escape') {\n keyboardEvent.stopPropagation();\n this.closePopup();\n void this.inputElement?.setFocus();\n }\n\n // Handle tabbing\n if (keyboardEvent.key === 'Tab') {\n this.closePopup();\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.container)) {\n this.closePopup();\n return;\n }\n };\n\n private handleClearClick = async (event: MouseEvent) => {\n event.stopPropagation();\n await this.select(undefined);\n this.sixClear.emit();\n };\n\n private closePopup() {\n if (this.inline) {\n return;\n }\n\n this.open = false;\n this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n this.selectionMode = SelectionMode.DAY;\n }\n\n private updatePointerDates() {\n const date = this.getPointerDate();\n if (this.differsFromPointerDate(date)) {\n this.pointerDate = {\n year: year(date),\n month: month(date),\n day: day(date),\n hours: hours(date),\n minutes: minutes(date),\n seconds: seconds(date),\n };\n }\n }\n\n private differsFromPointerDate(date?: Date): boolean {\n return (\n this.pointerDate.day !== day(date) ||\n this.pointerDate.month !== month(date) ||\n this.pointerDate.year !== year(date) ||\n this.pointerDate.hours !== hours(date) ||\n this.pointerDate.minutes !== minutes(date) ||\n this.pointerDate.seconds !== seconds(date)\n );\n }\n\n private getPointerDate(): Date | undefined {\n if (this.selectedDate !== undefined && this.selectedDate !== null) {\n return this.selectedDate;\n }\n if (this.defaultDate == null) {\n return this.type === 'date' ? removeTime(now()) : now();\n } else {\n return toDate(this.defaultDate, this.dateFormat);\n }\n }\n\n private updateValue(newDate?: Date) {\n this.updateIfChanged(newDate);\n }\n\n private updateIfChanged(newDate?: Date) {\n if (this.value?.getTime() === newDate?.getTime()) {\n return;\n }\n this.value = newDate;\n this.sixSelect.emit(this.value);\n }\n\n /**\n * Selects an option\n */\n @Method()\n async select(datestring?: string) {\n if (datestring == null) {\n this.updateValue(undefined);\n } else {\n const newDate = toDate(datestring, this.dateFormat);\n newDate?.setHours(this.pointerDate.hours, this.pointerDate.minutes, this.pointerDate.seconds);\n this.updateValue(newDate);\n }\n\n this.updatePointerDates();\n\n if (this.closeOnSelect) {\n this.closePopup();\n }\n }\n\n private onTimepickerChange = (sixTimepickerChange: CustomEvent<SixTimepickerChange>) => {\n const time = sixTimepickerChange.detail.value;\n const newDate = new Date();\n\n if (this.selectedDate != null) {\n newDate.setFullYear(this.selectedDate.getFullYear(), this.selectedDate.getMonth(), this.selectedDate.getDate());\n }\n\n if (time != null) {\n const hours = time.hours;\n const minutes = time.minutes;\n const seconds = time.seconds;\n if (hours != null) {\n newDate.setHours(hours, minutes, seconds);\n }\n }\n\n this.updateValue(newDate);\n this.updatePointerDates();\n };\n\n private onClickDateCell = (cell: CalendarCell) => {\n if (!cell.isDisabled) {\n void this.select(cell.dateString);\n }\n };\n\n private onClickMonthCell = (selectedMonth: string) => {\n const month = i18nDate[this.locale].monthsShort.findIndex((monthShort) => monthShort === selectedMonth);\n this.pointerDate = { ...this.pointerDate, month };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private onClickYearCell = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private handleInputChange = (event: Event) => {\n if (this.inputElement == null) {\n return;\n }\n event.stopPropagation();\n\n const inputValue = this.inputElement.value;\n if (!isValidDateString(inputValue, this.dateFormat)) {\n return;\n }\n\n const inputValueDate = toDate(inputValue, this.dateFormat);\n\n if (inputValueDate === undefined) {\n return;\n }\n\n this.updateIfChanged(inputValueDate);\n const datesOnly = inputValue.replace(/[^\\d]/g, '');\n if (datesOnly.length >= 6) {\n const date = toDate(inputValue, this.dateFormat);\n const dateAsString = formatDate(date, this.dateFormat);\n if (isValidDateString(dateAsString, this.dateFormat)) {\n this.selectedDate = toDate(dateAsString, this.dateFormat);\n this.updatePointerDates();\n this.updateValue(this.selectedDate);\n }\n }\n };\n\n private handleOnBlur = (event: Event) => {\n event.stopPropagation();\n\n // clear the value if the user deleted the date\n if (this.inputElement?.value === '' && isValidDate(this.value)) {\n this.value = undefined;\n this.sixSelect.emit(this.value);\n }\n\n const currentDate = toDate(this.inputElement?.value, this.dateFormat);\n if (isValidDate(currentDate) && this.value?.getTime() !== currentDate?.getTime()) {\n // Set the value if the input field's value has changed. This can happen if the blur occurs\n // before the change event had a chance to fire due to its debouncing.\n this.value = currentDate;\n }\n if (this.inputElement != null) {\n this.inputElement.value = formatDate(this.value, this.dateFormat);\n }\n this.sixBlur.emit(this.value);\n };\n\n componentWillLoad() {\n this.selectedDate = this.value;\n this.updatePointerDates();\n this.updateValue(this.value);\n\n if (this.inline) {\n this.open = true;\n }\n\n if (this.open) {\n this.setupEventListenersForOpenPopup();\n }\n }\n\n componentDidLoad() {\n if (this.inputElement != null) {\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'six-input-blur', this.handleOnBlur);\n }\n }\n\n componentDidRender() {\n this.adjustPopupPosition();\n }\n\n private renderHeader() {\n return (\n <header class=\"datepicker-header\" part=\"header\">\n <div class=\"datepicker-header__btn prev\" onClick={this.previousUnit}>\n <svg viewBox=\"0 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M11.67 3.87L9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z\" />\n </svg>\n </div>\n\n <div class=\"datepicker-header__label\">\n {this.selectionMode === SelectionMode.DAY && (\n <div onClick={() => (this.selectionMode = SelectionMode.MONTH)}>\n <span class=\"datepicker-header__label-month\">{this.getMonthStringForIndex(this.pointerDate.month)}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode !== SelectionMode.YEAR && (\n <div onClick={() => (this.selectionMode = SelectionMode.YEAR)}>\n <span class=\"datepicker-header__label-year\">{this.pointerDate.year}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode === SelectionMode.YEAR && (\n <div>\n {this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2)} –{' '}\n {this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2)}\n </div>\n )}\n </div>\n\n <div class=\"datepicker-header__btn next\" onClick={this.nextUnit}>\n <svg viewBox=\"5 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M5.88 4.12L13.76 12l-7.88 7.88L8 22l10-10L8 2z\" />\n </svg>\n </div>\n </header>\n );\n }\n\n private renderBody() {\n switch (this.selectionMode) {\n case SelectionMode.DAY:\n return (\n <DaySelection\n locale={i18nDate[this.locale]}\n calendarGrid={this.calendarGrid}\n onClickDateCell={this.onClickDateCell}\n />\n );\n case SelectionMode.MONTH:\n return (\n <MonthSelection\n locale={i18nDate[this.locale]}\n selectedDate={this.selectedDate}\n onClickMonthCell={this.onClickMonthCell}\n />\n );\n case SelectionMode.YEAR:\n return (\n <YearSelection\n selectedDate={this.selectedDate}\n yearSelection={rangeAround(this.pointerDate.year, NUMBER_OF_YEARS_SHOWN)}\n onClickYearCell={this.onClickYearCell}\n />\n );\n }\n }\n\n private renderCustomIcon() {\n const icon = hasSlot(this.host, 'custom-icon') ? (\n <slot name=\"custom-icon\"></slot>\n ) : (\n <six-icon size={this.size === 'large' ? 'medium' : this.size}>today</six-icon>\n );\n\n return (\n <span\n slot=\"prefix\"\n part=\"icon\"\n class={{\n prefix: true,\n 'prefix--right': this.iconPosition === 'right',\n }}\n >\n {icon}\n </span>\n );\n }\n\n private renderClearable() {\n return (\n this.clearable && (\n <button\n slot=\"suffix\"\n class={{\n 'datepicker-clear': true,\n 'datepicker-clear--right': this.iconPosition === 'left',\n 'datepicker-clear--left': this.iconPosition === 'right',\n }}\n type=\"button\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n >\n <six-icon size=\"small\">clear</six-icon>\n </button>\n )\n );\n }\n\n render() {\n this.adjustPopupPosition();\n\n return (\n <div ref={(el) => (this.wrapper = el)} class=\"datepicker__container\">\n <six-input\n part=\"base\"\n value={formatDate(this.value, this.dateFormat)}\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n name={this.name}\n label={this.label}\n required={this.required}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n invalid={this.invalid}\n onClick={() => this.openCalendar()}\n size={this.size}\n class={{ 'input--empty': this.value == null }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\"></slot>\n </span>\n ) : null}\n </six-input>\n {this.open && (\n <div\n part=\"popup\"\n ref={(el) => (this.popup = el)}\n class={{\n datepicker__popup: true,\n 'datepicker__popup--is-up': this.placement != null ? this.placement === 'top' : this.isDropDownContentUp,\n 'datepicker__popup--is-inline': this.inline,\n }}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.type === 'date-time' && (\n <six-timepicker\n debounce={this.debounce}\n inline={true}\n onSix-timepicker-change-debounced={(event) => this.onTimepickerChange(event)}\n value={\n this.selectedDate?.getHours() +\n ':' +\n this.selectedDate?.getMinutes() +\n ':' +\n this.selectedDate?.getSeconds()\n }\n ></six-timepicker>\n )}\n <div class=\"datepicker__footer\">\n <slot />\n </div>\n </div>\n )}\n </div>\n );\n }\n\n private adjustPopupPosition() {\n adjustPopupForHoisting(\n this.hoist,\n this.popup,\n this.inputElement,\n this.wrapper,\n MIN_POPUP_HEIGHT,\n (isUp) => (this.isDropDownContentUp = isUp)\n );\n adjustPopupForSmallScreens(this.popup);\n }\n\n connectedCallback() {\n this.eventListeners.forward('six-datepicker-select', 'change', this.host);\n this.eventListeners.forward('six-datepicker-blur', 'blur', this.host);\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private static getCurrentDateAsPointer(): PointerDate {\n return {\n year: year(now()),\n month: month(now()),\n day: day(now()),\n hours: hours(now()),\n minutes: minutes(now()),\n seconds: seconds(now()),\n };\n }\n}\n"]}
1
+ {"version":3,"file":"six-datepicker.js","sourceRoot":"","sources":["../../../src/components/six-datepicker/six-datepicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport {\n createCalendarGrid,\n day,\n formatDate,\n getFirstDayOfTheWeek,\n hours,\n i18nDate,\n isValidDate,\n isValidDateString,\n minutes,\n month,\n now,\n PointerDate,\n rangeAround,\n removeTime,\n seconds,\n toDate,\n year,\n} from '../../utils/date-util';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, debounceEvent, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { SixDateFormats } from './six-date-formats';\nimport { MonthSelection } from './components/month-selection';\nimport { DaySelection } from './components/day-selection';\nimport { YearSelection } from './components/year-selection';\nimport { SixTimepickerChange } from '../six-timepicker/six-timepicker';\nimport {\n adjustPopupForHoisting,\n adjustPopupForSmallScreens,\n calcIsDropDownContentUp,\n movePopup,\n} from '../../utils/popup';\n\nconst NUMBER_OF_YEARS_SHOWN = 25;\n\nconst MIN_POPUP_HEIGHT = 400;\n\nexport type SixDatepickerSelectPayload = Date | undefined | null;\n\nexport interface CalendarCell {\n date: Date;\n dateString: string;\n display: string;\n isDisabled: boolean;\n isOutdated: boolean;\n isSelected: boolean;\n isToday: boolean;\n label: string;\n}\n\nenum SelectionMode {\n DAY = 'day',\n MONTH = 'month',\n YEAR = 'year',\n}\n\n/**\n * @since 1.0\n * @status deprecated. Use six-date instead.\n *\n * @slot - Used to define a footer for the date picker.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n */\n@Component({\n tag: 'six-datepicker',\n styleUrl: 'six-datepicker.scss',\n shadow: true,\n})\nexport class SixDatepicker {\n private eventListeners = new EventListeners();\n private inputElement?: HTMLSixInputElement;\n private popup?: HTMLElement;\n private wrapper?: HTMLElement;\n private selectedDate?: Date;\n\n @Element() host!: HTMLSixDatepickerElement;\n\n @State() private pointerDate = SixDatepicker.getCurrentDateAsPointer();\n @State() selectionMode: SelectionMode = SelectionMode.DAY;\n @State() isDropDownContentUp = false;\n\n /**\n * Set the type.\n */\n @Prop() type: 'date' | 'date-time' = 'date';\n\n /**\n * The language used to render the weekdays and months.\n */\n @Prop() locale: 'en' | 'de' | 'fr' | 'it' | 'es' = 'en';\n\n /** Indicates whether or not the calendar dropdown is open on startup. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Indicates whether or not the calendar should be shown as an inline (always open) component */\n @Prop({ reflect: true }) inline = false;\n\n /**\n * If `true` the user can only select a date via the component in the popup, but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Callback to determine which date in the datepicker should be selectable.\n * the callback function will get a datestring as an argument, e.g. '2021-07-04'\n *\n * Usage e.g.:\n * const datepicker = document.getElementById('allowed-date-picker');\n * datepicker.allowedDates = datestring => parseInt(datestring.split('-')[2], 10) % 2 === 0;\n */\n @Prop() allowedDates: (date: Date) => boolean = () => true;\n\n /**\n * The minimum datetime allowed. Value must be a date object\n */\n @Prop() min?: Date;\n\n /**\n * The maximum datetime allowed. Value must be a date object\n */\n @Prop() max?: Date;\n\n /**\n * Closes the datepicker dropdown after selection\n */\n @Prop() closeOnSelect = this.type === 'date';\n\n /**\n * The enforced placement of the dropdown panel.\n */\n @Prop() placement?: 'top' | 'bottom';\n\n /** Datepicker size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /**\n * The date to defines where the datepicker popup starts. The prop accepts ISO 8601 date strings (YYYY-MM-DD).\n */\n @Prop() defaultDate?: string;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /**\n * The value of the form field, which accepts a date object.\n */\n @Prop({ mutable: true }) value?: Date;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** The dropdown will close when the user interacts outside of this element (e.g. clicking). */\n @Prop() containingElement?: HTMLElement;\n\n /** Define the dateFormat. Valid formats are:\n * 'dd.mm.yyyy'\n * 'yyyy-mm-dd'\n * 'dd-mm-yyyy'\n * 'dd/mm/yyyy'\n * 'yyyy/mm/dd'\n * 'dd.mm.yy'\n * 'yy-mm-dd'\n * 'dd-mm-yy'\n * 'dd/mm/yy'\n * 'yy/mm/dd'\n * */\n @Prop() dateFormat: SixDateFormats = SixDateFormats.DDMMYYY_DOT;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `dateChange` event after each keystroke.\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Set the position of the icon */\n @Prop() iconPosition: 'left' | 'right' = 'left';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.sixSelect = debounceEvent(this.sixSelect, this.debounce);\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n if (this.value != null && !isValidDate(this.value)) {\n console.warn('invalid date value: ', this.value);\n this.value = undefined;\n this.sixSelect.emit(this.value);\n }\n this.selectedDate = this.value;\n this.updatePointerDates();\n }\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-select' }) sixSelect!: EventEmitter<SixDatepickerSelectPayload>;\n\n /**\n * Emitted when the clear button is activated.\n */\n @Event({ eventName: 'six-datepicker-clear' }) sixClear!: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-blur' }) sixBlur!: EventEmitter<SixDatepickerSelectPayload>;\n\n @Listen('resize', { target: 'window' })\n async resizeHandler() {\n this.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n this.adjustPopupPosition();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n }\n\n private moveOpenHoistedPopup() {\n movePopup(this.hoist, this.open, this.popup, this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n get container() {\n return this.containingElement || this.host;\n }\n\n get firstDateOfBox(): Date {\n const date = new Date(this.pointerDate.year, this.pointerDate.month, 1);\n return getFirstDayOfTheWeek(date);\n }\n\n /** Sets focus on the datepickers input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.setFocus(options);\n }\n\n get calendarGrid() {\n return createCalendarGrid({\n firstDateOfBox: this.firstDateOfBox,\n allowedDates: this.allowedDates,\n dateFormat: this.dateFormat,\n locale: this.locale,\n selectedDate: this.selectedDate,\n minDate: this.min,\n maxDate: this.max,\n pointerDate: this.pointerDate,\n });\n }\n\n private updateDropdownDirection() {\n if (this.inputElement == null || this.wrapper == null) {\n return;\n }\n this.isDropDownContentUp = calcIsDropDownContentUp(this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n private getMonthStringForIndex(index: number) {\n return i18nDate[this.locale].months[index];\n }\n\n private previousUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.previousMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.previousYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.previousYearGroup();\n }\n };\n\n private previousYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - 1 };\n }\n\n private previousYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - NUMBER_OF_YEARS_SHOWN };\n }\n\n private previousMonth() {\n if (this.pointerDate.month === 0) {\n this.pointerDate = { year: this.pointerDate.year - 1, month: 11, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month - 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.nextMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.nextYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.nextYearGroup();\n }\n };\n\n private nextMonth() {\n if (this.pointerDate.month === 11) {\n this.pointerDate = { year: this.pointerDate.year + 1, month: 0, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month + 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + 1 };\n }\n\n private nextYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + NUMBER_OF_YEARS_SHOWN };\n }\n\n private openCalendar() {\n if (!this.open && !this.disabled) {\n this.open = true;\n this.setupEventListenersForOpenPopup();\n }\n }\n\n private setupEventListenersForOpenPopup() {\n this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private handleDocumentKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n // Close when escape is pressed\n if (this.open && keyboardEvent.key === 'Escape') {\n keyboardEvent.stopPropagation();\n this.closePopup();\n void this.inputElement?.setFocus();\n }\n\n // Handle tabbing\n if (keyboardEvent.key === 'Tab') {\n this.closePopup();\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.container)) {\n this.closePopup();\n return;\n }\n };\n\n private handleClearClick = async (event: MouseEvent) => {\n event.stopPropagation();\n await this.select(undefined);\n this.sixClear.emit();\n };\n\n private closePopup() {\n if (this.inline) {\n return;\n }\n\n this.open = false;\n this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n this.selectionMode = SelectionMode.DAY;\n }\n\n private updatePointerDates() {\n const date = this.getPointerDate();\n if (this.differsFromPointerDate(date)) {\n this.pointerDate = {\n year: year(date),\n month: month(date),\n day: day(date),\n hours: hours(date),\n minutes: minutes(date),\n seconds: seconds(date),\n };\n }\n }\n\n private differsFromPointerDate(date?: Date): boolean {\n return (\n this.pointerDate.day !== day(date) ||\n this.pointerDate.month !== month(date) ||\n this.pointerDate.year !== year(date) ||\n this.pointerDate.hours !== hours(date) ||\n this.pointerDate.minutes !== minutes(date) ||\n this.pointerDate.seconds !== seconds(date)\n );\n }\n\n private getPointerDate(): Date | undefined {\n if (this.selectedDate !== undefined && this.selectedDate !== null) {\n return this.selectedDate;\n }\n if (this.defaultDate == null) {\n return this.type === 'date' ? removeTime(now()) : now();\n } else {\n return toDate(this.defaultDate, this.dateFormat);\n }\n }\n\n private updateValue(newDate?: Date) {\n this.updateIfChanged(newDate);\n }\n\n private updateIfChanged(newDate?: Date) {\n if (this.value?.getTime() === newDate?.getTime()) {\n return;\n }\n this.value = newDate;\n this.sixSelect.emit(this.value);\n }\n\n /**\n * Selects an option\n */\n @Method()\n async select(datestring?: string) {\n if (datestring == null) {\n this.updateValue(undefined);\n } else {\n const newDate = toDate(datestring, this.dateFormat);\n newDate?.setHours(this.pointerDate.hours, this.pointerDate.minutes, this.pointerDate.seconds);\n this.updateValue(newDate);\n }\n\n this.updatePointerDates();\n\n if (this.closeOnSelect) {\n this.closePopup();\n }\n }\n\n private onTimepickerChange = (sixTimepickerChange: CustomEvent<SixTimepickerChange>) => {\n const time = sixTimepickerChange.detail.value;\n const newDate = new Date();\n\n if (this.selectedDate != null) {\n newDate.setFullYear(this.selectedDate.getFullYear(), this.selectedDate.getMonth(), this.selectedDate.getDate());\n }\n\n if (time != null) {\n const hours = time.hours;\n const minutes = time.minutes;\n const seconds = time.seconds;\n if (hours != null) {\n newDate.setHours(hours, minutes, seconds);\n }\n }\n\n this.updateValue(newDate);\n this.updatePointerDates();\n };\n\n private onClickDateCell = (cell: CalendarCell) => {\n if (!cell.isDisabled) {\n void this.select(cell.dateString);\n }\n };\n\n private onClickMonthCell = (selectedMonth: string) => {\n const month = i18nDate[this.locale].monthsShort.findIndex((monthShort) => monthShort === selectedMonth);\n this.pointerDate = { ...this.pointerDate, month };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private onClickYearCell = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private handleInputChange = (event: Event) => {\n if (this.inputElement == null) {\n return;\n }\n event.stopPropagation();\n\n const inputValue = this.inputElement.value;\n if (!isValidDateString(inputValue, this.dateFormat)) {\n return;\n }\n\n const inputValueDate = toDate(inputValue, this.dateFormat);\n\n if (inputValueDate === undefined) {\n return;\n }\n\n this.updateIfChanged(inputValueDate);\n const datesOnly = inputValue.replace(/[^\\d]/g, '');\n if (datesOnly.length >= 6) {\n const date = toDate(inputValue, this.dateFormat);\n const dateAsString = formatDate(date, this.dateFormat);\n if (isValidDateString(dateAsString, this.dateFormat)) {\n this.selectedDate = toDate(dateAsString, this.dateFormat);\n this.updatePointerDates();\n this.updateValue(this.selectedDate);\n }\n }\n };\n\n private handleOnBlur = (event: Event) => {\n event.stopPropagation();\n\n // clear the value if the user deleted the date\n if (this.inputElement?.value === '' && isValidDate(this.value)) {\n this.value = undefined;\n this.sixSelect.emit(this.value);\n }\n\n const currentDate = toDate(this.inputElement?.value, this.dateFormat);\n if (isValidDate(currentDate) && this.value?.getTime() !== currentDate?.getTime()) {\n // Set the value if the input field's value has changed. This can happen if the blur occurs\n // before the change event had a chance to fire due to its debouncing.\n this.value = currentDate;\n }\n if (this.inputElement != null) {\n this.inputElement.value = formatDate(this.value, this.dateFormat);\n }\n this.sixBlur.emit(this.value);\n };\n\n componentWillLoad() {\n this.selectedDate = this.value;\n this.updatePointerDates();\n this.updateValue(this.value);\n\n if (this.inline) {\n this.open = true;\n }\n\n if (this.open) {\n this.setupEventListenersForOpenPopup();\n }\n }\n\n componentDidLoad() {\n if (this.inputElement != null) {\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'six-input-blur', this.handleOnBlur);\n }\n }\n\n componentDidRender() {\n this.adjustPopupPosition();\n }\n\n private renderHeader() {\n return (\n <header class=\"datepicker-header\" part=\"header\">\n <div class=\"datepicker-header__btn prev\" onClick={this.previousUnit}>\n <svg viewBox=\"0 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M11.67 3.87L9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z\" />\n </svg>\n </div>\n\n <div class=\"datepicker-header__label\">\n {this.selectionMode === SelectionMode.DAY && (\n <div onClick={() => (this.selectionMode = SelectionMode.MONTH)}>\n <span class=\"datepicker-header__label-month\">{this.getMonthStringForIndex(this.pointerDate.month)}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode !== SelectionMode.YEAR && (\n <div onClick={() => (this.selectionMode = SelectionMode.YEAR)}>\n <span class=\"datepicker-header__label-year\">{this.pointerDate.year}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode === SelectionMode.YEAR && (\n <div>\n {this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2)} –{' '}\n {this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2)}\n </div>\n )}\n </div>\n\n <div class=\"datepicker-header__btn next\" onClick={this.nextUnit}>\n <svg viewBox=\"5 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M5.88 4.12L13.76 12l-7.88 7.88L8 22l10-10L8 2z\" />\n </svg>\n </div>\n </header>\n );\n }\n\n private renderBody() {\n switch (this.selectionMode) {\n case SelectionMode.DAY:\n return (\n <DaySelection\n locale={i18nDate[this.locale]}\n calendarGrid={this.calendarGrid}\n onClickDateCell={this.onClickDateCell}\n />\n );\n case SelectionMode.MONTH:\n return (\n <MonthSelection\n locale={i18nDate[this.locale]}\n selectedDate={this.selectedDate}\n onClickMonthCell={this.onClickMonthCell}\n />\n );\n case SelectionMode.YEAR:\n return (\n <YearSelection\n selectedDate={this.selectedDate}\n yearSelection={rangeAround(this.pointerDate.year, NUMBER_OF_YEARS_SHOWN)}\n onClickYearCell={this.onClickYearCell}\n />\n );\n }\n }\n\n private renderCustomIcon() {\n const icon = hasSlot(this.host, 'custom-icon') ? (\n <slot name=\"custom-icon\"></slot>\n ) : (\n <six-icon size={this.size === 'large' ? 'medium' : this.size}>today</six-icon>\n );\n\n return (\n <span\n slot=\"prefix\"\n part=\"icon\"\n class={{\n prefix: true,\n 'prefix--right': this.iconPosition === 'right',\n }}\n >\n {icon}\n </span>\n );\n }\n\n private renderClearable() {\n return (\n this.clearable && (\n <button\n slot=\"suffix\"\n class={{\n 'datepicker-clear': true,\n 'datepicker-clear--right': this.iconPosition === 'left',\n 'datepicker-clear--left': this.iconPosition === 'right',\n }}\n type=\"button\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n >\n <six-icon size=\"small\">clear</six-icon>\n </button>\n )\n );\n }\n\n render() {\n this.adjustPopupPosition();\n\n return (\n <div ref={(el) => (this.wrapper = el)} class=\"datepicker__container\">\n <six-input\n part=\"base\"\n value={formatDate(this.value, this.dateFormat)}\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n name={this.name}\n label={this.label}\n required={this.required}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n invalid={this.invalid}\n onClick={() => this.openCalendar()}\n size={this.size}\n class={{ 'input--empty': this.value == null }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\"></slot>\n </span>\n ) : null}\n </six-input>\n {this.open && (\n <div\n part=\"popup\"\n ref={(el) => (this.popup = el)}\n class={{\n datepicker__popup: true,\n 'datepicker__popup--is-up': this.placement != null ? this.placement === 'top' : this.isDropDownContentUp,\n 'datepicker__popup--is-inline': this.inline,\n }}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.type === 'date-time' && (\n <six-timepicker\n debounce={this.debounce}\n inline={true}\n onSix-timepicker-change-debounced={(event) => this.onTimepickerChange(event)}\n value={\n this.selectedDate?.getHours() +\n ':' +\n this.selectedDate?.getMinutes() +\n ':' +\n this.selectedDate?.getSeconds()\n }\n ></six-timepicker>\n )}\n <div class=\"datepicker__footer\">\n <slot />\n </div>\n </div>\n )}\n </div>\n );\n }\n\n private adjustPopupPosition() {\n adjustPopupForHoisting(\n this.hoist,\n this.popup,\n this.inputElement,\n this.wrapper,\n MIN_POPUP_HEIGHT,\n (isUp) => (this.isDropDownContentUp = isUp)\n );\n adjustPopupForSmallScreens(this.popup);\n }\n\n connectedCallback() {\n this.eventListeners.forward('six-datepicker-select', 'change', this.host);\n this.eventListeners.forward('six-datepicker-blur', 'blur', this.host);\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private static getCurrentDateAsPointer(): PointerDate {\n return {\n year: year(now()),\n month: month(now()),\n day: day(now()),\n hours: hours(now()),\n minutes: minutes(now()),\n seconds: seconds(now()),\n };\n }\n}\n"]}