@six-group/ui-library 5.0.0-rc.2 → 5.1.0-rc.1

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 (444) hide show
  1. package/dist/cjs/icon-4irykc7V.js +17 -0
  2. package/dist/cjs/icon-4irykc7V.js.map +1 -0
  3. package/dist/cjs/index-C8rK7OAe.js +12 -8
  4. package/dist/cjs/index.cjs.js +3 -0
  5. package/dist/cjs/index.cjs.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/six-breadcrumbs-item.cjs.entry.js +25 -0
  8. package/dist/cjs/six-breadcrumbs-item.cjs.entry.js.map +1 -0
  9. package/dist/cjs/six-breadcrumbs-item.entry.cjs.js.map +1 -0
  10. package/dist/cjs/six-breadcrumbs.cjs.entry.js +73 -0
  11. package/dist/cjs/six-breadcrumbs.cjs.entry.js.map +1 -0
  12. package/dist/cjs/six-breadcrumbs.entry.cjs.js.map +1 -0
  13. package/dist/cjs/six-button.six-spinner.entry.cjs.js.map +1 -0
  14. package/dist/cjs/{six-button.cjs.entry.js → six-button_2.cjs.entry.js} +55 -4
  15. package/dist/cjs/six-button_2.cjs.entry.js.map +1 -0
  16. package/dist/cjs/six-card.cjs.entry.js +1 -1
  17. package/dist/cjs/six-checkbox_2.cjs.entry.js +4 -4
  18. package/dist/cjs/six-date.cjs.entry.js +38 -33
  19. package/dist/cjs/six-date.cjs.entry.js.map +1 -1
  20. package/dist/cjs/six-date.entry.cjs.js.map +1 -1
  21. package/dist/cjs/six-datepicker.cjs.entry.js +3 -3
  22. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  23. package/dist/cjs/six-datepicker.entry.cjs.js.map +1 -1
  24. package/dist/cjs/six-details.cjs.entry.js +3 -3
  25. package/dist/cjs/six-dropdown.six-menu.entry.cjs.js.map +1 -1
  26. package/dist/cjs/six-dropdown_2.cjs.entry.js +3 -3
  27. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-error-page.cjs.entry.js +1 -1
  29. package/dist/cjs/six-error.cjs.entry.js +1 -1
  30. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  31. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  32. package/dist/cjs/six-group-label.cjs.entry.js +1 -1
  33. package/dist/cjs/six-header-dropdown-item.cjs.entry.js +2 -2
  34. package/dist/cjs/six-header-item.cjs.entry.js +1 -1
  35. package/dist/cjs/six-header-menu-button.cjs.entry.js +1 -1
  36. package/dist/cjs/six-header.cjs.entry.js +2 -2
  37. package/dist/cjs/six-icon-button.cjs.entry.js +3 -3
  38. package/dist/cjs/six-icon.cjs.entry.js +15 -6
  39. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-icon.entry.cjs.js.map +1 -1
  41. package/dist/cjs/six-layout-grid.cjs.entry.js +1 -1
  42. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  43. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  44. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  45. package/dist/cjs/six-picto.cjs.entry.js +1 -1
  46. package/dist/cjs/six-progress-bar.cjs.entry.js +3 -3
  47. package/dist/cjs/six-progress-ring.cjs.entry.js +1 -1
  48. package/dist/cjs/six-radio.cjs.entry.js +2 -2
  49. package/dist/cjs/six-range.cjs.entry.js +2 -2
  50. package/dist/cjs/six-rating.cjs.entry.js +2 -2
  51. package/dist/cjs/six-root.cjs.entry.js +1 -1
  52. package/dist/cjs/six-sidebar-item.cjs.entry.js +2 -2
  53. package/dist/cjs/six-sidebar.cjs.entry.js +2 -2
  54. package/dist/cjs/six-switch.cjs.entry.js +2 -2
  55. package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
  56. package/dist/cjs/six-tab.cjs.entry.js +2 -2
  57. package/dist/cjs/six-tag.cjs.entry.js +2 -2
  58. package/dist/cjs/six-textarea.cjs.entry.js +2 -2
  59. package/dist/cjs/six-tile.cjs.entry.js +5 -5
  60. package/dist/cjs/six-timepicker.cjs.entry.js +1 -1
  61. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-timepicker.entry.cjs.js.map +1 -1
  63. package/dist/cjs/six-tooltip.cjs.entry.js +2 -2
  64. package/dist/cjs/ui-library.cjs.js +1 -1
  65. package/dist/collection/collection-manifest.json +2 -0
  66. package/dist/collection/components/six-breadcrumbs/six-breadcrumbs.css +27 -0
  67. package/dist/collection/components/six-breadcrumbs/six-breadcrumbs.js +109 -0
  68. package/dist/collection/components/six-breadcrumbs/six-breadcrumbs.js.map +1 -0
  69. package/dist/collection/components/six-breadcrumbs-item/six-breadcrumbs-item.css +61 -0
  70. package/dist/collection/components/six-breadcrumbs-item/six-breadcrumbs-item.js +123 -0
  71. package/dist/collection/components/six-breadcrumbs-item/six-breadcrumbs-item.js.map +1 -0
  72. package/dist/collection/components/six-button/six-button.js +2 -2
  73. package/dist/collection/components/six-card/six-card.js +1 -1
  74. package/dist/collection/components/six-checkbox/six-checkbox.js +2 -2
  75. package/dist/collection/components/six-date/iso-date.js +32 -0
  76. package/dist/collection/components/six-date/iso-date.js.map +1 -1
  77. package/dist/collection/components/six-date/six-date.js +7 -34
  78. package/dist/collection/components/six-date/six-date.js.map +1 -1
  79. package/dist/collection/components/six-datepicker/six-datepicker.js +4 -4
  80. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  81. package/dist/collection/components/six-details/six-details.js +3 -3
  82. package/dist/collection/components/six-error/six-error.js +1 -1
  83. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  84. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  85. package/dist/collection/components/six-footer/six-footer.js +1 -1
  86. package/dist/collection/components/six-group-label/six-group-label.js +1 -1
  87. package/dist/collection/components/six-header/six-header.js +2 -2
  88. package/dist/collection/components/six-header-dropdown-item/six-header-dropdown-item.js +2 -2
  89. package/dist/collection/components/six-header-item/six-header-item.js +1 -1
  90. package/dist/collection/components/six-header-menu-button/six-header-menu-button.js +1 -1
  91. package/dist/collection/components/six-icon/six-icon.css +48 -34
  92. package/dist/collection/components/six-icon/six-icon.js +39 -5
  93. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  94. package/dist/collection/components/six-icon-button/six-icon-button.js +3 -3
  95. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  96. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  97. package/dist/collection/components/six-menu/six-menu.js +3 -3
  98. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  99. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  100. package/dist/collection/components/six-menu-item/six-menu-item.js +2 -2
  101. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  102. package/dist/collection/components/six-picto/six-picto.js +1 -1
  103. package/dist/collection/components/six-progress-bar/six-progress-bar.js +3 -3
  104. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  105. package/dist/collection/components/six-radio/six-radio.js +2 -2
  106. package/dist/collection/components/six-range/six-range.js +2 -2
  107. package/dist/collection/components/six-rating/six-rating.js +2 -2
  108. package/dist/collection/components/six-root/six-root.js +1 -1
  109. package/dist/collection/components/six-sidebar/six-sidebar.js +2 -2
  110. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +2 -2
  111. package/dist/collection/components/six-switch/six-switch.js +2 -2
  112. package/dist/collection/components/six-tab/six-tab.js +2 -2
  113. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  114. package/dist/collection/components/six-tag/six-tag.js +2 -2
  115. package/dist/collection/components/six-textarea/six-textarea.js +2 -2
  116. package/dist/collection/components/six-tile/six-tile.js +5 -5
  117. package/dist/collection/components/six-timepicker/six-timepicker.js +1 -1
  118. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  119. package/dist/collection/components/six-tooltip/six-tooltip.js +2 -2
  120. package/dist/collection/files/material-symbols-outlined-latin-fill-normal.woff2 +0 -0
  121. package/dist/collection/files/material-symbols-outlined-latin-full-normal.woff2 +0 -0
  122. package/dist/collection/files/material-symbols-outlined-latin-grad-normal.woff2 +0 -0
  123. package/dist/collection/files/material-symbols-outlined-latin-opsz-normal.woff2 +0 -0
  124. package/dist/collection/files/material-symbols-outlined-latin-standard-normal.woff2 +0 -0
  125. package/dist/collection/files/material-symbols-outlined-latin-wght-normal.woff2 +0 -0
  126. package/dist/collection/files/material-symbols-rounded-latin-fill-normal.woff2 +0 -0
  127. package/dist/collection/files/material-symbols-rounded-latin-full-normal.woff2 +0 -0
  128. package/dist/collection/files/material-symbols-rounded-latin-grad-normal.woff2 +0 -0
  129. package/dist/collection/files/material-symbols-rounded-latin-opsz-normal.woff2 +0 -0
  130. package/dist/collection/files/material-symbols-rounded-latin-standard-normal.woff2 +0 -0
  131. package/dist/collection/files/material-symbols-rounded-latin-wght-normal.woff2 +0 -0
  132. package/dist/collection/files/material-symbols-sharp-latin-fill-normal.woff2 +0 -0
  133. package/dist/collection/files/material-symbols-sharp-latin-full-normal.woff2 +0 -0
  134. package/dist/collection/files/material-symbols-sharp-latin-grad-normal.woff2 +0 -0
  135. package/dist/collection/files/material-symbols-sharp-latin-opsz-normal.woff2 +0 -0
  136. package/dist/collection/files/material-symbols-sharp-latin-standard-normal.woff2 +0 -0
  137. package/dist/collection/files/material-symbols-sharp-latin-wght-normal.woff2 +0 -0
  138. package/dist/collection/index.js +1 -0
  139. package/dist/collection/index.js.map +1 -1
  140. package/dist/collection/utils/icon.js +10 -0
  141. package/dist/collection/utils/icon.js.map +1 -0
  142. package/dist/components/index.js +5 -0
  143. package/dist/components/index.js.map +1 -1
  144. package/dist/components/{p-Cs1jspzx.js → p-B5aFlIg7.js} +6 -6
  145. package/dist/components/{p-Cs1jspzx.js.map → p-B5aFlIg7.js.map} +1 -1
  146. package/dist/components/{p-BUN8hFmL.js → p-BDCdPEjW.js} +4 -4
  147. package/dist/components/p-BDCdPEjW.js.map +1 -0
  148. package/dist/components/{p-Cfyrva2T.js → p-BKl-wAjt.js} +5 -5
  149. package/dist/components/{p-Cfyrva2T.js.map → p-BKl-wAjt.js.map} +1 -1
  150. package/dist/components/{p-CWKq6Dyt.js → p-BLocui1Z.js} +3 -3
  151. package/dist/components/{p-CWKq6Dyt.js.map → p-BLocui1Z.js.map} +1 -1
  152. package/dist/components/{p-DYlDF9Rw.js → p-CH82uB3t.js} +3 -3
  153. package/dist/components/{p-DYlDF9Rw.js.map → p-CH82uB3t.js.map} +1 -1
  154. package/dist/components/{p-CAJFkiLw.js → p-CIsPrMgs.js} +7 -7
  155. package/dist/components/{p-CAJFkiLw.js.map → p-CIsPrMgs.js.map} +1 -1
  156. package/dist/components/p-CT4IVFqs.js +71 -0
  157. package/dist/components/p-CT4IVFqs.js.map +1 -0
  158. package/dist/components/{p-9aUb96SZ.js → p-CcWikBVi.js} +8 -8
  159. package/dist/components/{p-9aUb96SZ.js.map → p-CcWikBVi.js.map} +1 -1
  160. package/dist/components/{p-C28WDWgL.js → p-Cj4iCimX.js} +7 -7
  161. package/dist/components/{p-C28WDWgL.js.map → p-Cj4iCimX.js.map} +1 -1
  162. package/dist/components/{p-Cosz73fX.js → p-CoOyRFuR.js} +6 -6
  163. package/dist/components/{p-Cosz73fX.js.map → p-CoOyRFuR.js.map} +1 -1
  164. package/dist/components/{p-DsGIkEDB.js → p-CzGRjc9h.js} +4 -4
  165. package/dist/components/{p-DsGIkEDB.js.map → p-CzGRjc9h.js.map} +1 -1
  166. package/dist/components/{p-BR2t7cws.js → p-Dirhd_mz.js} +3 -3
  167. package/dist/components/{p-BR2t7cws.js.map → p-Dirhd_mz.js.map} +1 -1
  168. package/dist/components/{p-DyYwMIDQ.js → p-DkoOhgRO.js} +3 -3
  169. package/dist/components/{p-DyYwMIDQ.js.map → p-DkoOhgRO.js.map} +1 -1
  170. package/dist/components/{p-CSL17OWk.js → p-KU002yza.js} +9 -9
  171. package/dist/components/{p-CSL17OWk.js.map → p-KU002yza.js.map} +1 -1
  172. package/dist/components/{p-ClylOmYH.js → p-jflTvJ8E.js} +4 -4
  173. package/dist/components/{p-ClylOmYH.js.map → p-jflTvJ8E.js.map} +1 -1
  174. package/dist/components/six-alert.js +2 -2
  175. package/dist/components/six-avatar.js +1 -1
  176. package/dist/components/six-breadcrumbs-item.d.ts +11 -0
  177. package/dist/components/six-breadcrumbs-item.js +58 -0
  178. package/dist/components/six-breadcrumbs-item.js.map +1 -0
  179. package/dist/components/six-breadcrumbs.d.ts +11 -0
  180. package/dist/components/six-breadcrumbs.js +97 -0
  181. package/dist/components/six-breadcrumbs.js.map +1 -0
  182. package/dist/components/six-button.js +1 -1
  183. package/dist/components/six-card.js +1 -1
  184. package/dist/components/six-checkbox.js +1 -1
  185. package/dist/components/six-date.js +42 -37
  186. package/dist/components/six-date.js.map +1 -1
  187. package/dist/components/six-datepicker.js +8 -8
  188. package/dist/components/six-datepicker.js.map +1 -1
  189. package/dist/components/six-details.js +1 -1
  190. package/dist/components/six-dialog.js +2 -2
  191. package/dist/components/six-drawer.js +2 -2
  192. package/dist/components/six-dropdown.js +1 -1
  193. package/dist/components/six-error-page.js +2 -2
  194. package/dist/components/six-error.js +1 -1
  195. package/dist/components/six-file-list-item.js +1 -1
  196. package/dist/components/six-file-list.js +1 -1
  197. package/dist/components/six-file-upload.js +2 -2
  198. package/dist/components/six-footer.js +1 -1
  199. package/dist/components/six-group-label.js +2 -2
  200. package/dist/components/six-header-dropdown-item.js +9 -9
  201. package/dist/components/six-header-item.js +1 -1
  202. package/dist/components/six-header-menu-button.js +2 -2
  203. package/dist/components/six-header.js +2 -2
  204. package/dist/components/six-icon-button.js +1 -1
  205. package/dist/components/six-icon.js +1 -1
  206. package/dist/components/six-input.js +1 -1
  207. package/dist/components/six-item-picker.js +1 -1
  208. package/dist/components/six-layout-grid.js +1 -1
  209. package/dist/components/six-main-container.js +1 -1
  210. package/dist/components/six-menu-divider.js +1 -1
  211. package/dist/components/six-menu-item.js +1 -1
  212. package/dist/components/six-menu-label.js +1 -1
  213. package/dist/components/six-menu.js +1 -1
  214. package/dist/components/six-picto.js +1 -1
  215. package/dist/components/six-progress-bar.js +3 -3
  216. package/dist/components/six-progress-ring.js +1 -1
  217. package/dist/components/six-radio.js +2 -2
  218. package/dist/components/six-range.js +3 -3
  219. package/dist/components/six-rating.js +4 -4
  220. package/dist/components/six-root.js +3 -3
  221. package/dist/components/six-search-field.js +3 -3
  222. package/dist/components/six-select.js +9 -9
  223. package/dist/components/six-sidebar-item-group.js +2 -2
  224. package/dist/components/six-sidebar-item.js +3 -3
  225. package/dist/components/six-sidebar.js +2 -2
  226. package/dist/components/six-stage-indicator.js +1 -1
  227. package/dist/components/six-switch.js +3 -3
  228. package/dist/components/six-tab-group.js +2 -2
  229. package/dist/components/six-tab-panel.js +1 -1
  230. package/dist/components/six-tab.js +4 -4
  231. package/dist/components/six-tag.js +5 -5
  232. package/dist/components/six-textarea.js +3 -3
  233. package/dist/components/six-tile.js +8 -8
  234. package/dist/components/six-timepicker.js +1 -1
  235. package/dist/components/six-tooltip.js +1 -1
  236. package/dist/components.json +383 -4
  237. package/dist/esm/icon-DqHJRLQQ.js +14 -0
  238. package/dist/esm/icon-DqHJRLQQ.js.map +1 -0
  239. package/dist/esm/index-JoG9I7EO.js +12 -8
  240. package/dist/esm/index.js +1 -0
  241. package/dist/esm/index.js.map +1 -1
  242. package/dist/esm/loader.js +1 -1
  243. package/dist/esm/six-breadcrumbs-item.entry.js +23 -0
  244. package/dist/esm/six-breadcrumbs-item.entry.js.map +1 -0
  245. package/dist/esm/six-breadcrumbs.entry.js +71 -0
  246. package/dist/esm/six-breadcrumbs.entry.js.map +1 -0
  247. package/dist/esm/six-button.six-spinner.entry.js.map +1 -0
  248. package/dist/esm/{six-button.entry.js → six-button_2.entry.js} +55 -5
  249. package/dist/esm/six-button_2.entry.js.map +1 -0
  250. package/dist/esm/six-card.entry.js +1 -1
  251. package/dist/esm/six-checkbox_2.entry.js +4 -4
  252. package/dist/esm/six-date.entry.js +38 -33
  253. package/dist/esm/six-date.entry.js.map +1 -1
  254. package/dist/esm/six-datepicker.entry.js +3 -3
  255. package/dist/esm/six-datepicker.entry.js.map +1 -1
  256. package/dist/esm/six-details.entry.js +3 -3
  257. package/dist/esm/six-dropdown.six-menu.entry.js.map +1 -1
  258. package/dist/esm/six-dropdown_2.entry.js +3 -3
  259. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  260. package/dist/esm/six-error-page.entry.js +1 -1
  261. package/dist/esm/six-error.entry.js +1 -1
  262. package/dist/esm/six-file-list.entry.js +1 -1
  263. package/dist/esm/six-footer.entry.js +1 -1
  264. package/dist/esm/six-group-label.entry.js +1 -1
  265. package/dist/esm/six-header-dropdown-item.entry.js +2 -2
  266. package/dist/esm/six-header-item.entry.js +1 -1
  267. package/dist/esm/six-header-menu-button.entry.js +1 -1
  268. package/dist/esm/six-header.entry.js +2 -2
  269. package/dist/esm/six-icon-button.entry.js +3 -3
  270. package/dist/esm/six-icon.entry.js +15 -6
  271. package/dist/esm/six-icon.entry.js.map +1 -1
  272. package/dist/esm/six-layout-grid.entry.js +1 -1
  273. package/dist/esm/six-main-container.entry.js +1 -1
  274. package/dist/esm/six-menu-divider.entry.js +1 -1
  275. package/dist/esm/six-menu-label.entry.js +1 -1
  276. package/dist/esm/six-picto.entry.js +1 -1
  277. package/dist/esm/six-progress-bar.entry.js +3 -3
  278. package/dist/esm/six-progress-ring.entry.js +1 -1
  279. package/dist/esm/six-radio.entry.js +2 -2
  280. package/dist/esm/six-range.entry.js +2 -2
  281. package/dist/esm/six-rating.entry.js +2 -2
  282. package/dist/esm/six-root.entry.js +1 -1
  283. package/dist/esm/six-sidebar-item.entry.js +2 -2
  284. package/dist/esm/six-sidebar.entry.js +2 -2
  285. package/dist/esm/six-switch.entry.js +2 -2
  286. package/dist/esm/six-tab-panel.entry.js +1 -1
  287. package/dist/esm/six-tab.entry.js +2 -2
  288. package/dist/esm/six-tag.entry.js +2 -2
  289. package/dist/esm/six-textarea.entry.js +2 -2
  290. package/dist/esm/six-tile.entry.js +5 -5
  291. package/dist/esm/six-timepicker.entry.js +1 -1
  292. package/dist/esm/six-timepicker.entry.js.map +1 -1
  293. package/dist/esm/six-tooltip.entry.js +2 -2
  294. package/dist/esm/ui-library.js +1 -1
  295. package/dist/types/components/six-breadcrumbs/six-breadcrumbs.d.ts +20 -0
  296. package/dist/types/components/six-breadcrumbs-item/six-breadcrumbs-item.d.ts +27 -0
  297. package/dist/types/components/six-date/iso-date.d.ts +2 -0
  298. package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
  299. package/dist/types/components/six-icon/six-icon.d.ts +17 -0
  300. package/dist/types/components.d.ts +126 -4
  301. package/dist/types/index.d.ts +1 -0
  302. package/dist/types/types.d.ts +1 -0
  303. package/dist/types/utils/icon.d.ts +5 -0
  304. package/dist/ui-library/files/material-symbols-outlined-latin-fill-normal.woff2 +0 -0
  305. package/dist/ui-library/files/material-symbols-outlined-latin-full-normal.woff2 +0 -0
  306. package/dist/ui-library/files/material-symbols-outlined-latin-grad-normal.woff2 +0 -0
  307. package/dist/ui-library/files/material-symbols-outlined-latin-opsz-normal.woff2 +0 -0
  308. package/dist/ui-library/files/material-symbols-outlined-latin-standard-normal.woff2 +0 -0
  309. package/dist/ui-library/files/material-symbols-outlined-latin-wght-normal.woff2 +0 -0
  310. package/dist/ui-library/files/material-symbols-rounded-latin-fill-normal.woff2 +0 -0
  311. package/dist/ui-library/files/material-symbols-rounded-latin-full-normal.woff2 +0 -0
  312. package/dist/ui-library/files/material-symbols-rounded-latin-grad-normal.woff2 +0 -0
  313. package/dist/ui-library/files/material-symbols-rounded-latin-opsz-normal.woff2 +0 -0
  314. package/dist/ui-library/files/material-symbols-rounded-latin-standard-normal.woff2 +0 -0
  315. package/dist/ui-library/files/material-symbols-rounded-latin-wght-normal.woff2 +0 -0
  316. package/dist/ui-library/files/material-symbols-sharp-latin-fill-normal.woff2 +0 -0
  317. package/dist/ui-library/files/material-symbols-sharp-latin-full-normal.woff2 +0 -0
  318. package/dist/ui-library/files/material-symbols-sharp-latin-grad-normal.woff2 +0 -0
  319. package/dist/ui-library/files/material-symbols-sharp-latin-opsz-normal.woff2 +0 -0
  320. package/dist/ui-library/files/material-symbols-sharp-latin-standard-normal.woff2 +0 -0
  321. package/dist/ui-library/files/material-symbols-sharp-latin-wght-normal.woff2 +0 -0
  322. package/dist/ui-library/index.esm.js +1 -1
  323. package/dist/ui-library/index.esm.js.map +1 -1
  324. package/dist/ui-library/{p-336610a9.entry.js → p-014f44f4.entry.js} +2 -2
  325. package/dist/ui-library/p-014f44f4.entry.js.map +1 -0
  326. package/dist/ui-library/p-05ca516d.entry.js +2 -0
  327. package/dist/ui-library/{p-a43843d6.entry.js → p-06c6b189.entry.js} +2 -2
  328. package/dist/ui-library/{p-850aff56.entry.js → p-12a2cc6b.entry.js} +2 -2
  329. package/dist/ui-library/p-22f924a1.entry.js +2 -0
  330. package/dist/ui-library/{p-f6a1c20b.entry.js → p-26219330.entry.js} +2 -2
  331. package/dist/ui-library/{p-fe7d3665.entry.js → p-29994dc3.entry.js} +2 -2
  332. package/dist/ui-library/{p-d9e770ab.entry.js → p-29aac7ea.entry.js} +2 -2
  333. package/dist/ui-library/p-38c51fd1.entry.js +2 -0
  334. package/dist/ui-library/p-38c51fd1.entry.js.map +1 -0
  335. package/dist/ui-library/{p-c8fbf085.entry.js → p-3c1285ad.entry.js} +2 -2
  336. package/dist/ui-library/{p-5b52d097.entry.js → p-3d9e03b5.entry.js} +2 -2
  337. package/dist/ui-library/{p-1cfa2df4.entry.js → p-4d9785bd.entry.js} +2 -2
  338. package/dist/ui-library/p-4decf969.entry.js +2 -0
  339. package/dist/ui-library/p-4decf969.entry.js.map +1 -0
  340. package/dist/ui-library/{p-c47f11e4.entry.js → p-59568c0f.entry.js} +2 -2
  341. package/dist/ui-library/{p-c47f11e4.entry.js.map → p-59568c0f.entry.js.map} +1 -1
  342. package/dist/ui-library/{p-174dd242.entry.js → p-664ddbab.entry.js} +2 -2
  343. package/dist/ui-library/{p-21cbccb1.entry.js → p-66b94978.entry.js} +2 -2
  344. package/dist/ui-library/{p-371ef302.entry.js → p-66d616e8.entry.js} +2 -2
  345. package/dist/ui-library/{p-811ce2a0.entry.js → p-6cd4fbd8.entry.js} +2 -2
  346. package/dist/ui-library/{p-8884a48b.entry.js → p-70388108.entry.js} +2 -2
  347. package/dist/ui-library/p-72d3f332.entry.js +2 -0
  348. package/dist/ui-library/p-72d3f332.entry.js.map +1 -0
  349. package/dist/ui-library/{p-18e755bc.entry.js → p-7f7413db.entry.js} +2 -2
  350. package/dist/ui-library/p-7f7413db.entry.js.map +1 -0
  351. package/dist/ui-library/{p-3d49deae.entry.js → p-8c2edb7f.entry.js} +2 -2
  352. package/dist/ui-library/{p-65e53a1b.entry.js → p-984a1f6d.entry.js} +2 -2
  353. package/dist/ui-library/{p-03ca4af8.entry.js → p-9b75e009.entry.js} +2 -2
  354. package/dist/ui-library/{p-14f79bfc.entry.js → p-9deca0d0.entry.js} +2 -2
  355. package/dist/ui-library/p-DqHJRLQQ.js +2 -0
  356. package/dist/ui-library/p-DqHJRLQQ.js.map +1 -0
  357. package/dist/ui-library/{p-b6244904.entry.js → p-a6d7d618.entry.js} +2 -2
  358. package/dist/ui-library/p-a7f9c92d.entry.js +2 -0
  359. package/dist/ui-library/{p-09de2bda.entry.js.map → p-a7f9c92d.entry.js.map} +1 -1
  360. package/dist/ui-library/{p-a4b523ed.entry.js → p-aaea0f73.entry.js} +2 -2
  361. package/dist/ui-library/{p-ee980a0f.entry.js → p-bea434d1.entry.js} +2 -2
  362. package/dist/ui-library/{p-83b35622.entry.js → p-ccc7e227.entry.js} +2 -2
  363. package/dist/ui-library/p-cf2fc033.entry.js +2 -0
  364. package/dist/ui-library/p-cf2fc033.entry.js.map +1 -0
  365. package/dist/ui-library/{p-cea7f777.entry.js → p-d81265f4.entry.js} +2 -2
  366. package/dist/ui-library/{p-9ec79195.entry.js → p-da5f40ed.entry.js} +2 -2
  367. package/dist/ui-library/{p-f54d3616.entry.js → p-df2b8f01.entry.js} +2 -2
  368. package/dist/ui-library/p-e100aff2.entry.js +2 -0
  369. package/dist/ui-library/{p-12e7a9e1.entry.js → p-e56c5237.entry.js} +2 -2
  370. package/dist/ui-library/{p-12e7a9e1.entry.js.map → p-e56c5237.entry.js.map} +1 -1
  371. package/dist/ui-library/{p-6c8182fa.entry.js → p-e8e5445e.entry.js} +2 -2
  372. package/dist/ui-library/{p-d7c7398d.entry.js → p-fc2d893f.entry.js} +2 -2
  373. package/dist/ui-library/p-fcd3305f.entry.js +2 -0
  374. package/dist/ui-library/{p-e85be7d2.entry.js.map → p-fcd3305f.entry.js.map} +1 -1
  375. package/dist/ui-library/{p-39668d61.entry.js → p-fd97bc8a.entry.js} +2 -2
  376. package/dist/ui-library/{p-dc2109d2.entry.js → p-fe2ef0a4.entry.js} +2 -2
  377. package/dist/ui-library/six-breadcrumbs-item.entry.esm.js.map +1 -0
  378. package/dist/ui-library/six-breadcrumbs.entry.esm.js.map +1 -0
  379. package/dist/ui-library/six-button.six-spinner.entry.esm.js.map +1 -0
  380. package/dist/ui-library/six-date.entry.esm.js.map +1 -1
  381. package/dist/ui-library/six-datepicker.entry.esm.js.map +1 -1
  382. package/dist/ui-library/six-dropdown.six-menu.entry.esm.js.map +1 -1
  383. package/dist/ui-library/six-icon.entry.esm.js.map +1 -1
  384. package/dist/ui-library/six-timepicker.entry.esm.js.map +1 -1
  385. package/dist/ui-library/ui-library.css +1 -1
  386. package/dist/ui-library/ui-library.esm.js +1 -1
  387. package/package.json +6 -3
  388. package/dist/cjs/six-button.cjs.entry.js.map +0 -1
  389. package/dist/cjs/six-button.entry.cjs.js.map +0 -1
  390. package/dist/cjs/six-spinner.cjs.entry.js +0 -58
  391. package/dist/cjs/six-spinner.cjs.entry.js.map +0 -1
  392. package/dist/cjs/six-spinner.entry.cjs.js.map +0 -1
  393. package/dist/components/p-BSHZAiyG.js +0 -52
  394. package/dist/components/p-BSHZAiyG.js.map +0 -1
  395. package/dist/components/p-BUN8hFmL.js.map +0 -1
  396. package/dist/esm/six-button.entry.js.map +0 -1
  397. package/dist/esm/six-spinner.entry.js +0 -56
  398. package/dist/esm/six-spinner.entry.js.map +0 -1
  399. package/dist/ui-library/p-09de2bda.entry.js +0 -2
  400. package/dist/ui-library/p-18e755bc.entry.js.map +0 -1
  401. package/dist/ui-library/p-2a82de6c.entry.js +0 -2
  402. package/dist/ui-library/p-2a82de6c.entry.js.map +0 -1
  403. package/dist/ui-library/p-2fb16281.entry.js +0 -2
  404. package/dist/ui-library/p-2fb16281.entry.js.map +0 -1
  405. package/dist/ui-library/p-31c5f8fa.entry.js +0 -2
  406. package/dist/ui-library/p-336610a9.entry.js.map +0 -1
  407. package/dist/ui-library/p-3dc98466.entry.js +0 -2
  408. package/dist/ui-library/p-3dc98466.entry.js.map +0 -1
  409. package/dist/ui-library/p-c90a59fc.entry.js +0 -2
  410. package/dist/ui-library/p-e85be7d2.entry.js +0 -2
  411. package/dist/ui-library/p-ea3bf68d.entry.js +0 -2
  412. package/dist/ui-library/six-button.entry.esm.js.map +0 -1
  413. package/dist/ui-library/six-spinner.entry.esm.js.map +0 -1
  414. /package/dist/ui-library/{p-31c5f8fa.entry.js.map → p-05ca516d.entry.js.map} +0 -0
  415. /package/dist/ui-library/{p-a43843d6.entry.js.map → p-06c6b189.entry.js.map} +0 -0
  416. /package/dist/ui-library/{p-850aff56.entry.js.map → p-12a2cc6b.entry.js.map} +0 -0
  417. /package/dist/ui-library/{p-c90a59fc.entry.js.map → p-22f924a1.entry.js.map} +0 -0
  418. /package/dist/ui-library/{p-f6a1c20b.entry.js.map → p-26219330.entry.js.map} +0 -0
  419. /package/dist/ui-library/{p-fe7d3665.entry.js.map → p-29994dc3.entry.js.map} +0 -0
  420. /package/dist/ui-library/{p-d9e770ab.entry.js.map → p-29aac7ea.entry.js.map} +0 -0
  421. /package/dist/ui-library/{p-c8fbf085.entry.js.map → p-3c1285ad.entry.js.map} +0 -0
  422. /package/dist/ui-library/{p-5b52d097.entry.js.map → p-3d9e03b5.entry.js.map} +0 -0
  423. /package/dist/ui-library/{p-1cfa2df4.entry.js.map → p-4d9785bd.entry.js.map} +0 -0
  424. /package/dist/ui-library/{p-174dd242.entry.js.map → p-664ddbab.entry.js.map} +0 -0
  425. /package/dist/ui-library/{p-21cbccb1.entry.js.map → p-66b94978.entry.js.map} +0 -0
  426. /package/dist/ui-library/{p-371ef302.entry.js.map → p-66d616e8.entry.js.map} +0 -0
  427. /package/dist/ui-library/{p-811ce2a0.entry.js.map → p-6cd4fbd8.entry.js.map} +0 -0
  428. /package/dist/ui-library/{p-8884a48b.entry.js.map → p-70388108.entry.js.map} +0 -0
  429. /package/dist/ui-library/{p-3d49deae.entry.js.map → p-8c2edb7f.entry.js.map} +0 -0
  430. /package/dist/ui-library/{p-65e53a1b.entry.js.map → p-984a1f6d.entry.js.map} +0 -0
  431. /package/dist/ui-library/{p-03ca4af8.entry.js.map → p-9b75e009.entry.js.map} +0 -0
  432. /package/dist/ui-library/{p-14f79bfc.entry.js.map → p-9deca0d0.entry.js.map} +0 -0
  433. /package/dist/ui-library/{p-b6244904.entry.js.map → p-a6d7d618.entry.js.map} +0 -0
  434. /package/dist/ui-library/{p-a4b523ed.entry.js.map → p-aaea0f73.entry.js.map} +0 -0
  435. /package/dist/ui-library/{p-ee980a0f.entry.js.map → p-bea434d1.entry.js.map} +0 -0
  436. /package/dist/ui-library/{p-83b35622.entry.js.map → p-ccc7e227.entry.js.map} +0 -0
  437. /package/dist/ui-library/{p-cea7f777.entry.js.map → p-d81265f4.entry.js.map} +0 -0
  438. /package/dist/ui-library/{p-9ec79195.entry.js.map → p-da5f40ed.entry.js.map} +0 -0
  439. /package/dist/ui-library/{p-f54d3616.entry.js.map → p-df2b8f01.entry.js.map} +0 -0
  440. /package/dist/ui-library/{p-ea3bf68d.entry.js.map → p-e100aff2.entry.js.map} +0 -0
  441. /package/dist/ui-library/{p-6c8182fa.entry.js.map → p-e8e5445e.entry.js.map} +0 -0
  442. /package/dist/ui-library/{p-d7c7398d.entry.js.map → p-fc2d893f.entry.js.map} +0 -0
  443. /package/dist/ui-library/{p-39668d61.entry.js.map → p-fd97bc8a.entry.js.map} +0 -0
  444. /package/dist/ui-library/{p-dc2109d2.entry.js.map → p-fe2ef0a4.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"six-datepicker.entry.cjs.js","sources":["src/utils/type-check.ts","src/utils/date-util.ts","src/components/six-datepicker/six-date-formats.tsx","src/components/six-datepicker/components/month-selection.tsx","src/components/six-datepicker/components/day-selection.tsx","src/components/six-datepicker/components/year-selection.tsx","src/components/six-datepicker/six-datepicker.scss?tag=six-datepicker&encapsulation=shadow","src/components/six-datepicker/six-datepicker.tsx"],"sourcesContent":["export const isString = (value: unknown): value is string => typeof value === 'string';\n\n// only use '==' instead of '===' to also catch undefined and void\nexport const isNil = (value: unknown): value is undefined | null => value == null;\n\nexport const isDate = (value: unknown): value is Date => value instanceof Date;\n","/* eslint-disable */\n// @ts-nocheck\n\nimport { isDate, isNil, isString } from './type-check';\nimport { SixDateFormats } from '../components/six-datepicker/six-date-formats';\nimport { CalendarCell } from '../components/six-datepicker/six-datepicker';\n\nexport type DateLocale = typeof i18nDate.en;\nexport const i18nDate = {\n en: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n monthsShortGrouped: [\n ['Jan', 'Feb', 'Mar', 'Apr'],\n ['May', 'Jun', 'Jul', 'Aug'],\n ['Sep', 'Oct', 'Nov', 'Dec'],\n ],\n weekdays: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],\n weekdaysShort: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n weekdaysMin: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],\n },\n de: {\n months: [\n 'Januar',\n 'Februar',\n 'März',\n 'April',\n 'Mai',\n 'Juni',\n 'Juli',\n 'August',\n 'September',\n 'Oktober',\n 'November',\n 'Dezember',\n ],\n monthsShort: ['Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'],\n monthsShortGrouped: [\n ['Jan.', 'Feb.', 'März', 'Apr.'],\n ['Mai', 'Juni', 'Juli', 'Aug.'],\n ['Sep.', 'Okt.', 'Nov.', 'Dez.'],\n ],\n weekdays: ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag'],\n weekdaysShort: ['Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.', 'So.'],\n weekdaysMin: ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],\n },\n fr: {\n months: [\n 'janvier',\n 'février',\n 'mars',\n 'avril',\n 'mai',\n 'juin',\n 'juillet',\n 'août',\n 'septembre',\n 'octobre',\n 'novembre',\n 'décembre',\n ],\n monthsShort: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],\n monthsShortGrouped: [\n ['janv.', 'févr.', 'mars', 'avr.'],\n ['mai', 'juin', 'juil.', 'août'],\n ['sept.', 'oct.', 'nov.', 'déc.'],\n ],\n weekdays: ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'],\n weekdaysShort: ['lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.', 'dim.'],\n weekdaysMin: ['lu', 'ma', 'me', 'je', 've', 'sa', 'di'],\n },\n it: {\n months: [\n 'gennaio',\n 'febbraio',\n 'marzo',\n 'aprile',\n 'maggio',\n 'giugno',\n 'luglio',\n 'agosto',\n 'settembre',\n 'ottobre',\n 'novembre',\n 'dicembre',\n ],\n monthsShort: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],\n monthsShortGrouped: [\n ['gen', 'feb', 'mar', 'apr'],\n ['mag', 'giu', 'lug', 'ago'],\n ['set', 'ott', 'nov', 'dic'],\n ],\n weekdays: ['lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato', 'domenica'],\n weekdaysShort: ['lun', 'mar', 'mer', 'gio', 'ven', 'sab', 'dom'],\n weekdaysMin: ['lu', 'ma', 'me', 'gi', 've', 'sa', 'do'],\n },\n es: {\n months: [\n 'enero',\n 'febrero',\n 'marzo',\n 'abril',\n 'mayo',\n 'junio',\n 'julio',\n 'agosto',\n 'septiembre',\n 'octubre',\n 'noviembre',\n 'diciembre',\n ],\n monthsShort: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],\n monthsShortGrouped: [\n ['ene', 'feb', 'mar', 'abr'],\n ['may', 'jun', 'jul', 'ago'],\n ['sep', 'oct', 'nov', 'dic'],\n ],\n weekdays: ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo'],\n weekdaysShort: ['lun', 'mar', 'mié', 'jue', 'vie', 'sáb', 'dom'],\n weekdaysMin: ['lu', 'ma', 'mi', 'ju', 'vi', 'sa', 'do'],\n },\n};\n\n/**\n * Returns a JS Date instance of the exact moment\n *\n * ```typescript\n * const date = now()\n * // Wed Mar 10 2021 20:30:32 GMT+0100 (Central European Standard Time)\n * ```\n */\nexport const now = () => new Date();\n\nexport const removeTime = (date: Date) => new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\nexport const pad = (value: number) => String(value).padStart(2, '0');\n\n/**\n * Returns `true` if the given date is valid\n */\nexport const isValidDate = (value: unknown): boolean => {\n return value instanceof Date && !isNaN(value.getTime()) && new Date(value).toString() !== 'Invalid Date';\n};\n\n/**\n * Returns the year number of the given date\n *\n * ```typescript\n * year(new Date(2020, 0, 1)) // 2020\n * ```\n */\nexport const year = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getFullYear();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the month number of the given date\n *\n * ```typescript\n * month(new Date(2020, 0, 1)) // 0\n * ```\n */\nexport const month = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getMonth();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the day number of the given date\n *\n * ```typescript\n * day(new Date(2020, 0, 1)) // 1\n * ```\n */\nexport const day = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getDate();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the hours of the given date\n */\nexport const hours = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getHours();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the minutes of the given date\n */\nexport const minutes = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getMinutes();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the seconds of the given date\n */\nexport const seconds = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getSeconds();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the first day of the week of the given date.\n */\nexport const getFirstDayOfTheWeek = (date: Date) => {\n const weekdayDiff = [6, 0, 1, 2, 3, 4, 5];\n const day = new Date(date);\n day.setDate(day.getDate() - weekdayDiff[day.getDay()]);\n return day;\n};\n\n/**\n * Returns `true` when the year of the dates are the same\n */\nexport const isSameYear = (a: Date | undefined, b: Date | undefined) => a?.getFullYear() === b?.getFullYear();\n\n/**\n * Returns `true` when the month of the dates are the same\n */\nexport const isSameMonth = (a: Date | undefined, b: Date | undefined) =>\n isSameYear(a, b) && a?.getMonth() === b?.getMonth();\n\n/**\n * Returns `true` when the day of the dates are the same\n */\nexport const isSameDay = (a: Date | undefined, b: Date | undefined) =>\n isSameMonth(a, b) && a?.getDate() === b?.getDate();\n\n/**\n * Returns `true` when the week of the dates are the same\n */\nexport const isSameWeek = (a: Date, b: Date) => isSameDay(getFirstDayOfTheWeek(a), getFirstDayOfTheWeek(b));\n\nconst localDatetime = (date: Date) => new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n\n/**\n * Returns the ISO string `yyyy-mm-dd` of the given date\n *\n * ```typescript\n * isoString(new Date(2020, 0, 13)) // '2020-01-13'\n * ```\n */\nexport const isoString = (date: Date | undefined): string => {\n if (isNil(date) || Date.toString() === 'Invalid Date') {\n return '';\n }\n\n return `${year(date)}-${pad(month(date) + 1)}-${pad(day(date))}`;\n};\n\n/**\n * Returns the ISO string `yyyy-mm-dd` of the given parameters year, month and day\n *\n * ```typescript\n * newDateString(2020, 0, 13) // '2020-01-13'\n * or\n * newDateString(new Date(2020, 0, 13)) // '2020-01-13'\n * ```\n */\nexport const newDateString = (yearOrDate: Date | number, month?: number, day?: number): string => {\n let date;\n if (isDate(yearOrDate)) {\n date = localDatetime(yearOrDate);\n } else {\n date = new Date(Date.UTC(yearOrDate, (month as number) - 1, day as number));\n }\n\n return isoString(date);\n};\n\n/**\n * Returns `true` if the given datestring is valid\n */\nexport const isValidDateString = (datestring: string | undefined, format: string) => {\n if (!isString(datestring) || !isString(format)) {\n return false;\n }\n\n if (datestring.length < 6 || format.length < 6) {\n return false;\n }\n\n const { day, month } = getDateParts(datestring, format);\n\n if (day > 31 || month > 11 || day <= 0 || month < 0) {\n return false;\n }\n\n const date = toDate(datestring, format);\n\n if (isNil(date)) {\n return false;\n }\n\n return date.toString() !== 'Invalid Date';\n};\n\n/**\n * Returns `true` when the given date is not smaller than the minDate and not bigger than the maxDate.\n *\n * ```typescript\n * isInRange(new Date(2020, 1, 1), new Date(2020, 0, 1), new Date(2020, 2, 1)) // true\n * ```\n */\nexport const isInRange = (date: Date | undefined, minDate: Date | undefined, maxDate: Date | undefined): boolean => {\n if (!date) {\n return true;\n }\n\n if (minDate && date < minDate) {\n return false;\n }\n\n if (maxDate && maxDate < date) {\n return false;\n }\n\n return true;\n};\n\nconst validateTwoDates = (\n first: any,\n second: Date | string | undefined,\n validateFn: (irst: Date, second: Date) => boolean\n) => {\n if (isNil(first) && isNil(second)) {\n return false;\n }\n\n const _first: Date = new Date(first as string | Date);\n const _second: Date = new Date(second as string | Date);\n\n if (!isValidDate(_first) || !isValidDate(_second)) {\n return false;\n }\n\n return validateFn(_first, _second);\n};\n\n/**\n * Returns `true` when the given date is not smaller than the before date.\n *\n * ```typescript\n * isBefore(new Date(2020, 1, 1), new Date(2020, 3, 1)) // true\n * ```\n */\nexport const isBefore = (date: any, beforeDate: Date | string | undefined): boolean =>\n validateTwoDates(date, beforeDate, (first, second) => first < second);\n\n/**\n * Returns `true` when the given date is not smaller than the before date.\n *\n * ```typescript\n * isAfter(new Date(2020, 5, 1), new Date(2020, 3, 1)) // true\n * ```\n */\nexport const isAfter = (date: any, afterDate: Date | string | undefined): boolean =>\n validateTwoDates(date, afterDate, (first, second) => first > second);\n\n/**\n * Increases the year of a date and retunrs the result\n *\n * ```typescript\n * increaseYear(new Date(2020, 0, 1), 1) // 2021\n * ```\n */\nexport const increaseYear = (date: Date, years: number): number => year(date) + years;\n\n/**\n * Decreases the year of a date and retunrs the result\n *\n * ```typescript\n * decreaseYear(new Date(2020, 0, 1), 1) // 2019\n * ```\n */\nexport const decreaseYear = (date: Date, years: number): number => year(date) - years;\n\nconst lookAhead = (iFormat: number, format: string, match: string, length = 2) => {\n const increment = length - 1;\n const followingCharacterMatches = format.charAt(iFormat + increment) === match;\n const hasProperLength = iFormat + increment < format.length;\n return hasProperLength && followingCharacterMatches;\n};\n\nconst formatNumber = (value, len) => {\n let num = String(value);\n\n while (num.length < len) {\n num = '0' + num;\n }\n\n return num;\n};\n\nexport const formatDate = (date: Date | undefined | null, format: string): string => {\n if (date == null) {\n return '';\n }\n\n let output = '';\n\n for (let iFormat = 0; iFormat < format.length; iFormat++) {\n switch (format.charAt(iFormat)) {\n case 'd':\n if (lookAhead(iFormat, format, 'd')) {\n output += formatNumber(date.getDate(), 2);\n iFormat++;\n } else {\n output += String(date.getDate());\n }\n break;\n case 'm':\n if (lookAhead(iFormat, format, 'm')) {\n output += formatNumber(date.getMonth() + 1, 2);\n iFormat++;\n } else {\n output += String(date.getMonth() + 1);\n }\n break;\n case 'y':\n if (lookAhead(iFormat, format, 'y', 4)) {\n iFormat += 3;\n output += date.getFullYear();\n } else {\n output += (date.getFullYear() % 100 < 10 ? '0' : '') + (date.getFullYear() % 100);\n iFormat++;\n }\n break;\n case 'h':\n if (lookAhead(iFormat, format, 'h')) {\n output += formatNumber(date.getHours(), 2);\n iFormat++;\n } else {\n output += String(date.getHours());\n }\n break;\n case 'M':\n if (lookAhead(iFormat, format, 'M')) {\n output += formatNumber(date.getMinutes(), 2);\n iFormat++;\n } else {\n output += String(date.getMinutes());\n }\n break;\n case 's':\n if (lookAhead(iFormat, format, 's')) {\n output += formatNumber(date.getSeconds(), 2);\n iFormat++;\n } else {\n output += String(date.getSeconds());\n }\n break;\n default:\n output += format.charAt(iFormat);\n }\n }\n return output;\n};\n\nconst daylightSavingAdjust = (date): Date => {\n if (!date) {\n return null;\n }\n\n date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);\n\n return date;\n};\n\nconst getDaysCountInMonth = (month: number, year: number) =>\n 32 - daylightSavingAdjust(new Date(year, month, 32)).getDate();\n\nexport const parseDate = (value: any, format: string, locale: string): Date => {\n if (format == null || value == null) {\n throw 'Invalid arguments';\n }\n\n value = typeof value === 'object' ? value.toString() : value + '';\n if (value === '') {\n return null;\n }\n\n let iFormat;\n let dim;\n let extra;\n let iValue = 0;\n let shortYearCutoff = 100;\n let year = -1;\n let month = -1;\n let day = -1;\n let doy = -1;\n let literal = false;\n let date: Date;\n let lookAhead = (match: string, len = 2) => {\n const increment = len - 1;\n let matches = iFormat + increment < format.length && format.charAt(iFormat + increment) === match;\n if (matches) {\n iFormat += increment;\n }\n return matches;\n };\n let getNumber = (match, len = 2) => {\n let isDoubled = lookAhead(match, len),\n size = match === '@' ? 14 : match === '!' ? 20 : match === 'y' && isDoubled ? 4 : match === 'o' ? 3 : 2,\n minSize = match === 'y' ? size : 1,\n digits = new RegExp('^\\\\d{' + minSize + ',' + size + '}'),\n num = value.substring(iValue).match(digits);\n if (!num) {\n throw 'Missing number at position ' + iValue;\n }\n iValue += num[0].length;\n return parseInt(num[0], 10);\n };\n let getName = (match, shortNames, longNames) => {\n let index = -1;\n let arr = lookAhead(match) ? longNames : shortNames;\n let names = [];\n\n for (let i = 0; i < arr.length; i++) {\n names.push([i, arr[i]]);\n }\n names.sort((a, b) => {\n return -(a[1].length - b[1].length);\n });\n\n for (let i = 0; i < names.length; i++) {\n let name = names[i][1];\n if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {\n index = names[i][0];\n iValue += name.length;\n break;\n }\n }\n\n if (index !== -1) {\n return index + 1;\n } else {\n throw 'Unknown name at position ' + iValue;\n }\n };\n let checkLiteral = () => {\n if (value.charAt(iValue) !== format.charAt(iFormat)) {\n throw 'Unexpected literal at position ' + iValue;\n }\n iValue++;\n };\n\n for (iFormat = 0; iFormat < format.length; iFormat++) {\n if (literal) {\n if (format.charAt(iFormat) === \"'\" && !lookAhead(\"'\")) {\n literal = false;\n } else {\n checkLiteral();\n }\n } else {\n switch (format.charAt(iFormat)) {\n case 'd':\n day = getNumber('d');\n break;\n case 'D':\n getName('D', i18nDate[locale].weekdaysShort, i18nDate[locale].weekdays);\n break;\n case 'm':\n month = getNumber('m');\n break;\n case 'M':\n month = getName('M', i18nDate[locale].monthsShort, i18nDate[locale].months);\n break;\n case 'y':\n year = getNumber('y', 4);\n break;\n default:\n checkLiteral();\n }\n }\n }\n\n if (iValue < value.length) {\n extra = value.substr(iValue);\n if (!/^\\s+/.test(extra)) {\n throw 'Extra/unparsed characters found in date: ' + extra;\n }\n }\n\n if (year === -1) {\n year = new Date().getFullYear();\n } else if (year < 100) {\n year += new Date().getFullYear() - (new Date().getFullYear() % 100) + (year <= shortYearCutoff ? 0 : -100);\n }\n\n if (doy > -1) {\n month = 1;\n day = doy;\n do {\n dim = getDaysCountInMonth(year, month - 1);\n if (day <= dim) {\n break;\n }\n month++;\n day -= dim;\n } while (true);\n }\n\n date = daylightSavingAdjust(new Date(year, month - 1, day));\n if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {\n throw 'Invalid date'; // E.g. 31/02/00\n }\n\n return date;\n};\n\nconst FORMATTING_TOKENS = /(\\[[^\\[]*\\])|(mm|dd|yyyy|yy|hh|MM|ss|.)/g;\n\nconst TWO_NUMERICS_REGEX = /\\d\\d/; // 00 - 99\nconst FOUR_NUMERICS_REGEX = /\\d{4}/; // 0000 - 9999\nconst NON_NUMERIC_REGEX = /[^0-9]/g;\n\nconst YEAR = 'year';\nconst MONTH = 'month';\nconst DAY = 'day';\nconst HOUR = 'hour';\nconst MINUTE = 'minute';\nconst SECOND = 'second';\n\ninterface ParseFlagMark {\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n date: Date;\n}\n\ntype ParseFlagCallBackReturn = any;\n\ntype ParseFlagRegExp = RegExp | ((locale: any) => RegExp);\ntype ParseFlagCallBack = (input: string) => ParseFlagCallBackReturn;\n\ninterface ParseFlag {\n [key: string]: [ParseFlagRegExp, ParseFlagCallBack];\n}\n\nconst parseFlags: ParseFlag = {};\n\nconst addParseFlag = (token: string | string[], regex: ParseFlagRegExp, callback) => {\n const tokens = Array.isArray(token) ? token : [token];\n let func: ParseFlagCallBack;\n if (typeof callback === 'string') {\n func = (input) => {\n const value = parseInt(input, 10);\n return { [callback]: value };\n };\n } else {\n func = callback;\n }\n tokens.forEach((key) => {\n parseFlags[key] = [regex, func];\n });\n};\n\naddParseFlag('yy', TWO_NUMERICS_REGEX, (input) => {\n const year = new Date().getFullYear();\n const cent = Math.floor(year / 100);\n let value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return { [YEAR]: value };\n});\naddParseFlag('yyyy', FOUR_NUMERICS_REGEX, YEAR);\naddParseFlag('mm', TWO_NUMERICS_REGEX, (input) => ({ [MONTH]: parseInt(input, 10) - 1 }));\naddParseFlag('dd', TWO_NUMERICS_REGEX, DAY);\naddParseFlag('hh', TWO_NUMERICS_REGEX, HOUR);\naddParseFlag('MM', TWO_NUMERICS_REGEX, MINUTE);\naddParseFlag('ss', TWO_NUMERICS_REGEX, SECOND);\n\ntype DateArgs = [number, number, number, number, number, number];\n\nconst getFullInputArray = (input: Array<number | undefined>, backupDate = new Date()) => {\n const result: DateArgs = [0, 0, 1, 0, 0, 0];\n const backupArr = [\n backupDate.getFullYear(),\n backupDate.getMonth(),\n backupDate.getDate(),\n backupDate.getHours(),\n backupDate.getMinutes(),\n backupDate.getSeconds(),\n ];\n\n let useBackup = true;\n for (let i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i]!;\n useBackup = false;\n }\n }\n return result;\n};\n\nconst createDate = (year: number, month: number, day: number, hour: number, minute: number, second: number): Date => {\n if (!(year < 100 && year >= 0)) {\n return new Date(year, month, day, hour, minute, second);\n }\n\n const date = new Date(year + 400, month, day, hour, minute, second);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(year);\n }\n return date;\n};\n\nconst makeParser = (dateString: string, format: string) => {\n const tokens = format.match(FORMATTING_TOKENS);\n if (!tokens) {\n throw new Error();\n }\n const { length } = tokens;\n let mark: Partial<ParseFlagMark> = {};\n for (let i = 0; i < length; i += 1) {\n const token = tokens[i];\n const parseTo = parseFlags[token];\n if (!parseTo) {\n const word = token.replace(/^\\[|\\]$/g, '');\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n const regex = parseTo[0] as RegExp;\n const parser = parseTo[1];\n const value = (regex.exec(dateString) || [])[0];\n const obj = parser(value);\n mark = { ...mark, ...obj };\n dateString = dateString.replace(value, '');\n }\n }\n return mark;\n};\n\nconst getCleanDateString = (dirtyDateString: string, format: string) => {\n if (dirtyDateString.length === format.length) {\n return dirtyDateString;\n }\n\n const separator = dirtyDateString.match(NON_NUMERIC_REGEX)[0];\n\n // pad signle digits to follow supported dateformats\n return dirtyDateString\n .split(separator)\n .map((s) => (s.length === 1 ? '0' + s : s))\n .join(separator);\n};\n\nconst getDateParts: (dirtyDateString: string, format: string) => Partial<ParseFlagMark> = (\n dirtyDateString: string,\n format: string\n) => {\n const dateString = getCleanDateString(dirtyDateString, format);\n\n return makeParser(dateString, format);\n};\n\nexport const toDate = (dirtyDateString: string | undefined, format: string): Date | undefined => {\n try {\n const { backupDate = new Date() } = {};\n const { year, month, day, hour, minute, second, date } = getDateParts(dirtyDateString, format);\n if (date != null) {\n return date;\n }\n const inputArray = [year, month, day, hour, minute, second];\n const result = getFullInputArray(inputArray, backupDate);\n return createDate(...result);\n } catch (e) {\n return new Date(NaN);\n }\n};\n\nexport interface PointerDate {\n year: number;\n month: number;\n day: number;\n hours: number;\n minutes: number;\n seconds: number;\n}\n\nexport interface CalendarGridArgs {\n firstDateOfBox: Date;\n minDate?: Date;\n maxDate?: Date;\n dateFormat: SixDateFormats;\n pointerDate: { month: number; year: number; day: number };\n allowedDates: (date: Date) => boolean;\n locale: 'en' | 'de' | 'fr' | 'it' | 'es';\n selectedDate?: Date;\n}\n\nexport const createCalendarGrid: (calendarGridArguments: CalendarGridArgs) => CalendarCell[][] = (\n calendarGridArguments: CalendarGridArgs\n) => {\n const { firstDateOfBox, allowedDates, dateFormat, selectedDate, minDate, maxDate, pointerDate } =\n calendarGridArguments;\n\n const weekDatePointer = new Date(firstDateOfBox);\n const dayDatePointer = new Date(firstDateOfBox);\n\n let calendar: CalendarCell[][] = [];\n\n do {\n let row: CalendarCell[] = [];\n do {\n row = [\n ...row,\n {\n date: new Date(dayDatePointer),\n display: formatDate(dayDatePointer, dateFormat),\n dateString: formatDate(dayDatePointer, dateFormat),\n label: day(dayDatePointer).toString(),\n isToday: isSameDay(dayDatePointer, now()),\n isSelected: selectedDate && isSameDay(dayDatePointer, selectedDate),\n isDisabled: !allowedDates(dayDatePointer) || !isInRange(dayDatePointer, minDate, maxDate),\n isOutdated: pointerDate.month !== dayDatePointer.getMonth() || !isInRange(dayDatePointer, minDate, maxDate),\n },\n ];\n dayDatePointer.setDate(dayDatePointer.getDate() + 1);\n } while (isSameWeek(dayDatePointer, weekDatePointer));\n calendar = [...calendar, row];\n weekDatePointer.setDate(weekDatePointer.getDate() + 7);\n } while (isSameMonth(new Date(pointerDate.year, pointerDate.month, pointerDate.day), dayDatePointer));\n return calendar;\n};\n\n/**\n * Returns a range of numbers around the given number grouped into buckets of 5.\n * @param number the given number around which you want to get the other numbers\n * @param range range of numbers to include in the result\n */\nexport function rangeAround(number: number, range: number): number[][] {\n const itemsPerGroup = 5;\n return [...Array(range).keys()]\n .map((n) => n + number - Math.floor(range / 2))\n .reduce((curr, item, index) => {\n if (index % itemsPerGroup === 0) {\n curr.push([]);\n }\n curr[curr.length - 1].push(item);\n return curr;\n }, [] as number[][]);\n}\n","// eslint-disable-next-line @stencil-community/ban-exported-const-enums\nexport enum SixDateFormats {\n DDMMYYY_DOT = 'dd.mm.yyyy',\n YYYYMMDD_DASH = 'yyyy-mm-dd',\n DDMMYYYY_DASH = 'dd-mm-yyyy',\n DDMMYYYY_SLASH = 'dd/mm/yyyy',\n YYYYMMDD_SLASH = 'yyyy/mm/dd',\n DDMMYY_DOT = 'dd.mm.yy',\n YYMMDD_DASH = 'yy-mm-dd',\n DDMMYY_DASH = 'dd-mm-yy',\n DDMMYY_SLASH = 'dd/mm/yy',\n YYMMDD_SLASH = 'yy/mm/dd',\n\n DDMMYYY_DOT_TIME = 'dd.mm.yyyy hh:MM:ss',\n YYYYMMDD_DASH_TIME = 'yyyy-mm-dd hh:MM:ss',\n DDMMYYYY_DASH_TIME = 'dd-mm-yyyy hh:MM:ss',\n DDMMYYYY_SLASH_TIME = 'dd/mm/yyyy hh:MM:ss',\n YYYYMMDD_SLASH_TIME = 'yyyy/mm/dd hh:MM:ss',\n DDMMYY_DOT_TIME = 'dd.mm.yy hh:MM:ss',\n YYMMDD_DASH_TIME = 'yy-mm-dd hh:MM:ss',\n DDMMYY_DASH_TIME = 'dd-mm-yy hh:MM:ss',\n DDMMYY_SLASH_TIME = 'dd/mm/yy hh:MM:ss',\n YYMMDD_SLASH_TIME = 'yy/mm/dd hh:MM:ss',\n}\n","import { h } from '@stencil/core';\nimport { DateLocale, now } from '../../../utils/date-util';\n\ninterface MonthSelectionParams {\n locale: DateLocale;\n selectedDate?: Date;\n onClickMonthCell: (month: string) => void;\n}\nexport const MonthSelection = (monthSelectionParams: MonthSelectionParams) => {\n const locale = monthSelectionParams.locale;\n const isToday = (value: string) => locale.monthsShort[now().getMonth()] === value;\n\n const isSelectedMonth = (value: string) =>\n monthSelectionParams.selectedDate?.getMonth() === locale.monthsShort.findIndex((m) => m === value);\n\n return (\n <table class=\"datepicker-table\" part=\"month-selection\">\n <tbody>\n {locale.monthsShortGrouped.map((row: string[]) => (\n <tr class=\"datepicker-table__row\">\n {row.map((month) => (\n <td\n onClick={() => monthSelectionParams.onClickMonthCell(month)}\n class={{\n 'datepicker-table__cell': true,\n 'datepicker-table__cell--is-today': isToday(month),\n 'datepicker-table__cell--is-selected': isSelectedMonth(month),\n }}\n >\n {month}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","import { h } from '@stencil/core';\nimport { DateLocale } from '../../../utils/date-util';\nimport { CalendarCell } from '../six-datepicker';\n\ninterface DaySelectionParams {\n locale: DateLocale;\n calendarGrid: CalendarCell[][];\n onClickDateCell: (cell: CalendarCell) => void;\n}\nexport const DaySelection = (daySelectionParams: DaySelectionParams) => {\n return (\n <table class=\"datepicker-table\" part=\"day-selection\">\n <thead part=\"weekday-header\">\n {daySelectionParams.locale.weekdaysMin.map((weekday) => (\n <th class=\"datepicker__cell\">{weekday}</th>\n ))}\n </thead>\n <tbody>\n {daySelectionParams.calendarGrid.map((row) => (\n <tr class=\"datepicker-table__row\">\n {row.map((cell) => (\n <td\n data-date={cell.dateString}\n onClick={() => daySelectionParams.onClickDateCell(cell)}\n class={{\n 'datepicker-table__cell': true,\n 'datepicker-table__cell--is-today': cell.isToday,\n 'datepicker-table__cell--is-selected': cell.isSelected,\n 'datepicker-table__cell--is-outdated': cell.isOutdated,\n 'datepicker-table__cell--is-disabled': cell.isDisabled,\n 'datepicker-table__cell--is-selectable': !cell.isDisabled,\n }}\n >\n {cell.label}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","import { now } from '../../../utils/date-util';\nimport { h } from '@stencil/core';\n\ninterface YearSelectionParams {\n selectedDate?: Date;\n yearSelection: number[][];\n onClickYearCell: (year: number) => void;\n}\nexport const YearSelection = (yearSelectionParams: YearSelectionParams) => {\n return (\n <table class=\"datepicker-table\" part=\"year-selection\">\n <tbody>\n {yearSelectionParams.yearSelection.map((row) => (\n <tr class=\"datepicker-table__row\">\n {row.map((year) => (\n <td\n onClick={() => yearSelectionParams.onClickYearCell(year)}\n class={{\n 'datepicker-table__cell': true,\n 'datepicker-table__cell--is-today': now().getFullYear() === year,\n 'datepicker-table__cell--is-selected': yearSelectionParams.selectedDate?.getFullYear() === year,\n }}\n >\n {year}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","@import 'src/global/component';\n\n:host {\n display: block;\n font-family: var(--six-font-family);\n}\n\n.datepicker {\n &__container {\n position: relative;\n }\n\n &__popup {\n min-width: 400px;\n background-color: white;\n padding: 0.5em 0.5em 1.5em;\n box-shadow:\n 0 2px 4px -1px rgb(0 0 0 / 20%),\n 0 4px 5px 0 rgb(0 0 0 / 14%),\n 0 1px 10px 0 rgb(0 0 0 / 12%);\n user-select: none;\n position: absolute;\n z-index: var(--six-z-index-dropdown);\n right: 0;\n left: 0;\n\n &--is-up {\n bottom: 100%;\n // fix problem where you would need to jump around with the cursor when switching months and\n // its a dropup since not all months have the same height\n min-height: 382px;\n }\n\n &--is-inline {\n position: initial;\n box-shadow: none;\n border: 1px solid var(--six-color-web-rock-400);\n }\n }\n}\n\n.datepicker-header {\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid var(--six-color-web-rock-400);\n padding: 0.5em;\n margin-bottom: 1em;\n\n & svg {\n fill: var(--six-color-web-rock-900);\n stroke: none;\n }\n\n &__btn {\n cursor: pointer;\n width: 2.5em;\n height: 2.5em;\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n border-radius: 100%;\n }\n }\n\n &__label {\n display: flex;\n\n & > div {\n cursor: pointer;\n padding: 0.5em;\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n }\n }\n }\n}\n\n.datepicker-table {\n width: 100%;\n\n &__cell {\n text-align: center;\n width: 2.5rem;\n height: 2.5rem;\n cursor: pointer;\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n }\n\n &--is-today {\n border: 1px solid var(--six-color-web-rock-400);\n }\n\n &--is-selected {\n background-color: var(--six-color-red);\n color: var(--six-color-white);\n }\n\n &--is-disabled {\n background-color: var(--six-color-web-rock-200);\n cursor: initial;\n\n &:hover {\n background-color: var(--six-color-web-rock-200);\n }\n }\n\n &--is-outdated {\n color: var(--six-color-web-rock-400);\n }\n }\n}\n\n// Clearable\n.datepicker-clear {\n display: inline-flex;\n align-items: center;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n padding: 0;\n transition: var(--six-transition-fast) color;\n cursor: pointer;\n\n &:hover {\n color: var(--six-input-icon-color-hover);\n }\n\n &:focus {\n outline: none;\n }\n\n &--right {\n right: 0;\n position: absolute;\n }\n\n &--left {\n right: 35px;\n position: absolute;\n }\n}\n\n.input--empty .datepicker-clear {\n visibility: hidden;\n}\n\n// Icon position\n.prefix {\n cursor: pointer;\n\n &--right {\n right: 0;\n display: inline-flex;\n position: absolute;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n margin-right: var(--six-input-spacing-medium);\n transition: var(--six-transition-fast) color;\n }\n}\n\n// time-picker\nsix-timepicker::part(popup) {\n border: none;\n padding: 0.5em 0.5em 0;\n min-height: 0;\n}\n","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"],"names":["h","EventListeners","DEFAULT_DEBOUNCE_FAST","debounceEvent","movePopup","calcIsDropDownContentUp","debounce","hasSlot","adjustPopupForHoisting","adjustPopupForSmallScreens"],"mappings":"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"}
1
+ {"version":3,"file":"six-datepicker.entry.cjs.js","sources":["src/utils/type-check.ts","src/utils/date-util.ts","src/components/six-datepicker/six-date-formats.tsx","src/components/six-datepicker/components/month-selection.tsx","src/components/six-datepicker/components/day-selection.tsx","src/components/six-datepicker/components/year-selection.tsx","src/components/six-datepicker/six-datepicker.scss?tag=six-datepicker&encapsulation=shadow","src/components/six-datepicker/six-datepicker.tsx"],"sourcesContent":["export const isString = (value: unknown): value is string => typeof value === 'string';\n\n// only use '==' instead of '===' to also catch undefined and void\nexport const isNil = (value: unknown): value is undefined | null => value == null;\n\nexport const isDate = (value: unknown): value is Date => value instanceof Date;\n","/* eslint-disable */\n// @ts-nocheck\n\nimport { isDate, isNil, isString } from './type-check';\nimport { SixDateFormats } from '../components/six-datepicker/six-date-formats';\nimport { CalendarCell } from '../components/six-datepicker/six-datepicker';\n\nexport type DateLocale = typeof i18nDate.en;\nexport const i18nDate = {\n en: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n monthsShortGrouped: [\n ['Jan', 'Feb', 'Mar', 'Apr'],\n ['May', 'Jun', 'Jul', 'Aug'],\n ['Sep', 'Oct', 'Nov', 'Dec'],\n ],\n weekdays: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],\n weekdaysShort: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n weekdaysMin: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],\n },\n de: {\n months: [\n 'Januar',\n 'Februar',\n 'März',\n 'April',\n 'Mai',\n 'Juni',\n 'Juli',\n 'August',\n 'September',\n 'Oktober',\n 'November',\n 'Dezember',\n ],\n monthsShort: ['Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'],\n monthsShortGrouped: [\n ['Jan.', 'Feb.', 'März', 'Apr.'],\n ['Mai', 'Juni', 'Juli', 'Aug.'],\n ['Sep.', 'Okt.', 'Nov.', 'Dez.'],\n ],\n weekdays: ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag'],\n weekdaysShort: ['Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.', 'So.'],\n weekdaysMin: ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],\n },\n fr: {\n months: [\n 'janvier',\n 'février',\n 'mars',\n 'avril',\n 'mai',\n 'juin',\n 'juillet',\n 'août',\n 'septembre',\n 'octobre',\n 'novembre',\n 'décembre',\n ],\n monthsShort: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],\n monthsShortGrouped: [\n ['janv.', 'févr.', 'mars', 'avr.'],\n ['mai', 'juin', 'juil.', 'août'],\n ['sept.', 'oct.', 'nov.', 'déc.'],\n ],\n weekdays: ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'],\n weekdaysShort: ['lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.', 'dim.'],\n weekdaysMin: ['lu', 'ma', 'me', 'je', 've', 'sa', 'di'],\n },\n it: {\n months: [\n 'gennaio',\n 'febbraio',\n 'marzo',\n 'aprile',\n 'maggio',\n 'giugno',\n 'luglio',\n 'agosto',\n 'settembre',\n 'ottobre',\n 'novembre',\n 'dicembre',\n ],\n monthsShort: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],\n monthsShortGrouped: [\n ['gen', 'feb', 'mar', 'apr'],\n ['mag', 'giu', 'lug', 'ago'],\n ['set', 'ott', 'nov', 'dic'],\n ],\n weekdays: ['lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato', 'domenica'],\n weekdaysShort: ['lun', 'mar', 'mer', 'gio', 'ven', 'sab', 'dom'],\n weekdaysMin: ['lu', 'ma', 'me', 'gi', 've', 'sa', 'do'],\n },\n es: {\n months: [\n 'enero',\n 'febrero',\n 'marzo',\n 'abril',\n 'mayo',\n 'junio',\n 'julio',\n 'agosto',\n 'septiembre',\n 'octubre',\n 'noviembre',\n 'diciembre',\n ],\n monthsShort: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],\n monthsShortGrouped: [\n ['ene', 'feb', 'mar', 'abr'],\n ['may', 'jun', 'jul', 'ago'],\n ['sep', 'oct', 'nov', 'dic'],\n ],\n weekdays: ['lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo'],\n weekdaysShort: ['lun', 'mar', 'mié', 'jue', 'vie', 'sáb', 'dom'],\n weekdaysMin: ['lu', 'ma', 'mi', 'ju', 'vi', 'sa', 'do'],\n },\n};\n\n/**\n * Returns a JS Date instance of the exact moment\n *\n * ```typescript\n * const date = now()\n * // Wed Mar 10 2021 20:30:32 GMT+0100 (Central European Standard Time)\n * ```\n */\nexport const now = () => new Date();\n\nexport const removeTime = (date: Date) => new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\nexport const pad = (value: number) => String(value).padStart(2, '0');\n\n/**\n * Returns `true` if the given date is valid\n */\nexport const isValidDate = (value: unknown): boolean => {\n return value instanceof Date && !isNaN(value.getTime()) && new Date(value).toString() !== 'Invalid Date';\n};\n\n/**\n * Returns the year number of the given date\n *\n * ```typescript\n * year(new Date(2020, 0, 1)) // 2020\n * ```\n */\nexport const year = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getFullYear();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the month number of the given date\n *\n * ```typescript\n * month(new Date(2020, 0, 1)) // 0\n * ```\n */\nexport const month = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getMonth();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the day number of the given date\n *\n * ```typescript\n * day(new Date(2020, 0, 1)) // 1\n * ```\n */\nexport const day = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getDate();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the hours of the given date\n */\nexport const hours = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getHours();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the minutes of the given date\n */\nexport const minutes = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getMinutes();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the seconds of the given date\n */\nexport const seconds = (date: Date | undefined): number => {\n if (date && isValidDate(date)) {\n return date.getSeconds();\n }\n throw new Error('Not a valid date');\n};\n\n/**\n * Returns the first day of the week of the given date.\n */\nexport const getFirstDayOfTheWeek = (date: Date) => {\n const weekdayDiff = [6, 0, 1, 2, 3, 4, 5];\n const day = new Date(date);\n day.setDate(day.getDate() - weekdayDiff[day.getDay()]);\n return day;\n};\n\n/**\n * Returns `true` when the year of the dates are the same\n */\nexport const isSameYear = (a: Date | undefined, b: Date | undefined) => a?.getFullYear() === b?.getFullYear();\n\n/**\n * Returns `true` when the month of the dates are the same\n */\nexport const isSameMonth = (a: Date | undefined, b: Date | undefined) =>\n isSameYear(a, b) && a?.getMonth() === b?.getMonth();\n\n/**\n * Returns `true` when the day of the dates are the same\n */\nexport const isSameDay = (a: Date | undefined, b: Date | undefined) =>\n isSameMonth(a, b) && a?.getDate() === b?.getDate();\n\n/**\n * Returns `true` when the week of the dates are the same\n */\nexport const isSameWeek = (a: Date, b: Date) => isSameDay(getFirstDayOfTheWeek(a), getFirstDayOfTheWeek(b));\n\nconst localDatetime = (date: Date) => new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));\n\n/**\n * Returns the ISO string `yyyy-mm-dd` of the given date\n *\n * ```typescript\n * isoString(new Date(2020, 0, 13)) // '2020-01-13'\n * ```\n */\nexport const isoString = (date: Date | undefined): string => {\n if (isNil(date) || Date.toString() === 'Invalid Date') {\n return '';\n }\n\n return `${year(date)}-${pad(month(date) + 1)}-${pad(day(date))}`;\n};\n\n/**\n * Returns the ISO string `yyyy-mm-dd` of the given parameters year, month and day\n *\n * ```typescript\n * newDateString(2020, 0, 13) // '2020-01-13'\n * or\n * newDateString(new Date(2020, 0, 13)) // '2020-01-13'\n * ```\n */\nexport const newDateString = (yearOrDate: Date | number, month?: number, day?: number): string => {\n let date;\n if (isDate(yearOrDate)) {\n date = localDatetime(yearOrDate);\n } else {\n date = new Date(Date.UTC(yearOrDate, (month as number) - 1, day as number));\n }\n\n return isoString(date);\n};\n\n/**\n * Returns `true` if the given datestring is valid\n */\nexport const isValidDateString = (datestring: string | undefined, format: string) => {\n if (!isString(datestring) || !isString(format)) {\n return false;\n }\n\n if (datestring.length < 6 || format.length < 6) {\n return false;\n }\n\n const { day, month } = getDateParts(datestring, format);\n\n if (day > 31 || month > 11 || day <= 0 || month < 0) {\n return false;\n }\n\n const date = toDate(datestring, format);\n\n if (isNil(date)) {\n return false;\n }\n\n return date.toString() !== 'Invalid Date';\n};\n\n/**\n * Returns `true` when the given date is not smaller than the minDate and not bigger than the maxDate.\n *\n * ```typescript\n * isInRange(new Date(2020, 1, 1), new Date(2020, 0, 1), new Date(2020, 2, 1)) // true\n * ```\n */\nexport const isInRange = (date: Date | undefined, minDate: Date | undefined, maxDate: Date | undefined): boolean => {\n if (!date) {\n return true;\n }\n\n if (minDate && date < minDate) {\n return false;\n }\n\n if (maxDate && maxDate < date) {\n return false;\n }\n\n return true;\n};\n\nconst validateTwoDates = (\n first: any,\n second: Date | string | undefined,\n validateFn: (irst: Date, second: Date) => boolean\n) => {\n if (isNil(first) && isNil(second)) {\n return false;\n }\n\n const _first: Date = new Date(first as string | Date);\n const _second: Date = new Date(second as string | Date);\n\n if (!isValidDate(_first) || !isValidDate(_second)) {\n return false;\n }\n\n return validateFn(_first, _second);\n};\n\n/**\n * Returns `true` when the given date is not smaller than the before date.\n *\n * ```typescript\n * isBefore(new Date(2020, 1, 1), new Date(2020, 3, 1)) // true\n * ```\n */\nexport const isBefore = (date: any, beforeDate: Date | string | undefined): boolean =>\n validateTwoDates(date, beforeDate, (first, second) => first < second);\n\n/**\n * Returns `true` when the given date is not smaller than the before date.\n *\n * ```typescript\n * isAfter(new Date(2020, 5, 1), new Date(2020, 3, 1)) // true\n * ```\n */\nexport const isAfter = (date: any, afterDate: Date | string | undefined): boolean =>\n validateTwoDates(date, afterDate, (first, second) => first > second);\n\n/**\n * Increases the year of a date and retunrs the result\n *\n * ```typescript\n * increaseYear(new Date(2020, 0, 1), 1) // 2021\n * ```\n */\nexport const increaseYear = (date: Date, years: number): number => year(date) + years;\n\n/**\n * Decreases the year of a date and retunrs the result\n *\n * ```typescript\n * decreaseYear(new Date(2020, 0, 1), 1) // 2019\n * ```\n */\nexport const decreaseYear = (date: Date, years: number): number => year(date) - years;\n\nconst lookAhead = (iFormat: number, format: string, match: string, length = 2) => {\n const increment = length - 1;\n const followingCharacterMatches = format.charAt(iFormat + increment) === match;\n const hasProperLength = iFormat + increment < format.length;\n return hasProperLength && followingCharacterMatches;\n};\n\nconst formatNumber = (value, len) => {\n let num = String(value);\n\n while (num.length < len) {\n num = '0' + num;\n }\n\n return num;\n};\n\nexport const formatDate = (date: Date | undefined | null, format: string): string => {\n if (date == null) {\n return '';\n }\n\n let output = '';\n\n for (let iFormat = 0; iFormat < format.length; iFormat++) {\n switch (format.charAt(iFormat)) {\n case 'd':\n if (lookAhead(iFormat, format, 'd')) {\n output += formatNumber(date.getDate(), 2);\n iFormat++;\n } else {\n output += String(date.getDate());\n }\n break;\n case 'm':\n if (lookAhead(iFormat, format, 'm')) {\n output += formatNumber(date.getMonth() + 1, 2);\n iFormat++;\n } else {\n output += String(date.getMonth() + 1);\n }\n break;\n case 'y':\n if (lookAhead(iFormat, format, 'y', 4)) {\n iFormat += 3;\n output += date.getFullYear();\n } else {\n output += (date.getFullYear() % 100 < 10 ? '0' : '') + (date.getFullYear() % 100);\n iFormat++;\n }\n break;\n case 'h':\n if (lookAhead(iFormat, format, 'h')) {\n output += formatNumber(date.getHours(), 2);\n iFormat++;\n } else {\n output += String(date.getHours());\n }\n break;\n case 'M':\n if (lookAhead(iFormat, format, 'M')) {\n output += formatNumber(date.getMinutes(), 2);\n iFormat++;\n } else {\n output += String(date.getMinutes());\n }\n break;\n case 's':\n if (lookAhead(iFormat, format, 's')) {\n output += formatNumber(date.getSeconds(), 2);\n iFormat++;\n } else {\n output += String(date.getSeconds());\n }\n break;\n default:\n output += format.charAt(iFormat);\n }\n }\n return output;\n};\n\nconst daylightSavingAdjust = (date): Date => {\n if (!date) {\n return null;\n }\n\n date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);\n\n return date;\n};\n\nconst getDaysCountInMonth = (month: number, year: number) =>\n 32 - daylightSavingAdjust(new Date(year, month, 32)).getDate();\n\nexport const parseDate = (value: any, format: string, locale: string): Date => {\n if (format == null || value == null) {\n throw 'Invalid arguments';\n }\n\n value = typeof value === 'object' ? value.toString() : value + '';\n if (value === '') {\n return null;\n }\n\n let iFormat;\n let dim;\n let extra;\n let iValue = 0;\n let shortYearCutoff = 100;\n let year = -1;\n let month = -1;\n let day = -1;\n let doy = -1;\n let literal = false;\n let date: Date;\n let lookAhead = (match: string, len = 2) => {\n const increment = len - 1;\n let matches = iFormat + increment < format.length && format.charAt(iFormat + increment) === match;\n if (matches) {\n iFormat += increment;\n }\n return matches;\n };\n let getNumber = (match, len = 2) => {\n let isDoubled = lookAhead(match, len),\n size = match === '@' ? 14 : match === '!' ? 20 : match === 'y' && isDoubled ? 4 : match === 'o' ? 3 : 2,\n minSize = match === 'y' ? size : 1,\n digits = new RegExp('^\\\\d{' + minSize + ',' + size + '}'),\n num = value.substring(iValue).match(digits);\n if (!num) {\n throw 'Missing number at position ' + iValue;\n }\n iValue += num[0].length;\n return parseInt(num[0], 10);\n };\n let getName = (match, shortNames, longNames) => {\n let index = -1;\n let arr = lookAhead(match) ? longNames : shortNames;\n let names = [];\n\n for (let i = 0; i < arr.length; i++) {\n names.push([i, arr[i]]);\n }\n names.sort((a, b) => {\n return -(a[1].length - b[1].length);\n });\n\n for (let i = 0; i < names.length; i++) {\n let name = names[i][1];\n if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {\n index = names[i][0];\n iValue += name.length;\n break;\n }\n }\n\n if (index !== -1) {\n return index + 1;\n } else {\n throw 'Unknown name at position ' + iValue;\n }\n };\n let checkLiteral = () => {\n if (value.charAt(iValue) !== format.charAt(iFormat)) {\n throw 'Unexpected literal at position ' + iValue;\n }\n iValue++;\n };\n\n for (iFormat = 0; iFormat < format.length; iFormat++) {\n if (literal) {\n if (format.charAt(iFormat) === \"'\" && !lookAhead(\"'\")) {\n literal = false;\n } else {\n checkLiteral();\n }\n } else {\n switch (format.charAt(iFormat)) {\n case 'd':\n day = getNumber('d');\n break;\n case 'D':\n getName('D', i18nDate[locale].weekdaysShort, i18nDate[locale].weekdays);\n break;\n case 'm':\n month = getNumber('m');\n break;\n case 'M':\n month = getName('M', i18nDate[locale].monthsShort, i18nDate[locale].months);\n break;\n case 'y':\n year = getNumber('y', 4);\n break;\n default:\n checkLiteral();\n }\n }\n }\n\n if (iValue < value.length) {\n extra = value.substr(iValue);\n if (!/^\\s+/.test(extra)) {\n throw 'Extra/unparsed characters found in date: ' + extra;\n }\n }\n\n if (year === -1) {\n year = new Date().getFullYear();\n } else if (year < 100) {\n year += new Date().getFullYear() - (new Date().getFullYear() % 100) + (year <= shortYearCutoff ? 0 : -100);\n }\n\n if (doy > -1) {\n month = 1;\n day = doy;\n do {\n dim = getDaysCountInMonth(year, month - 1);\n if (day <= dim) {\n break;\n }\n month++;\n day -= dim;\n } while (true);\n }\n\n date = daylightSavingAdjust(new Date(year, month - 1, day));\n if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {\n throw 'Invalid date'; // E.g. 31/02/00\n }\n\n return date;\n};\n\nconst FORMATTING_TOKENS = /(\\[[^\\[]*\\])|(mm|dd|yyyy|yy|hh|MM|ss|.)/g;\n\nconst TWO_NUMERICS_REGEX = /\\d\\d/; // 00 - 99\nconst FOUR_NUMERICS_REGEX = /\\d{4}/; // 0000 - 9999\nconst NON_NUMERIC_REGEX = /[^0-9]/g;\n\nconst YEAR = 'year';\nconst MONTH = 'month';\nconst DAY = 'day';\nconst HOUR = 'hour';\nconst MINUTE = 'minute';\nconst SECOND = 'second';\n\ninterface ParseFlagMark {\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n date: Date;\n}\n\ntype ParseFlagCallBackReturn = any;\n\ntype ParseFlagRegExp = RegExp | ((locale: any) => RegExp);\ntype ParseFlagCallBack = (input: string) => ParseFlagCallBackReturn;\n\ninterface ParseFlag {\n [key: string]: [ParseFlagRegExp, ParseFlagCallBack];\n}\n\nconst parseFlags: ParseFlag = {};\n\nconst addParseFlag = (token: string | string[], regex: ParseFlagRegExp, callback) => {\n const tokens = Array.isArray(token) ? token : [token];\n let func: ParseFlagCallBack;\n if (typeof callback === 'string') {\n func = (input) => {\n const value = parseInt(input, 10);\n return { [callback]: value };\n };\n } else {\n func = callback;\n }\n tokens.forEach((key) => {\n parseFlags[key] = [regex, func];\n });\n};\n\naddParseFlag('yy', TWO_NUMERICS_REGEX, (input) => {\n const year = new Date().getFullYear();\n const cent = Math.floor(year / 100);\n let value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return { [YEAR]: value };\n});\naddParseFlag('yyyy', FOUR_NUMERICS_REGEX, YEAR);\naddParseFlag('mm', TWO_NUMERICS_REGEX, (input) => ({ [MONTH]: parseInt(input, 10) - 1 }));\naddParseFlag('dd', TWO_NUMERICS_REGEX, DAY);\naddParseFlag('hh', TWO_NUMERICS_REGEX, HOUR);\naddParseFlag('MM', TWO_NUMERICS_REGEX, MINUTE);\naddParseFlag('ss', TWO_NUMERICS_REGEX, SECOND);\n\ntype DateArgs = [number, number, number, number, number, number];\n\nconst getFullInputArray = (input: Array<number | undefined>, backupDate = new Date()) => {\n const result: DateArgs = [0, 0, 1, 0, 0, 0];\n const backupArr = [\n backupDate.getFullYear(),\n backupDate.getMonth(),\n backupDate.getDate(),\n backupDate.getHours(),\n backupDate.getMinutes(),\n backupDate.getSeconds(),\n ];\n\n let useBackup = true;\n for (let i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i]!;\n useBackup = false;\n }\n }\n return result;\n};\n\nconst createDate = (year: number, month: number, day: number, hour: number, minute: number, second: number): Date => {\n if (!(year < 100 && year >= 0)) {\n return new Date(year, month, day, hour, minute, second);\n }\n\n const date = new Date(year + 400, month, day, hour, minute, second);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(year);\n }\n return date;\n};\n\nconst makeParser = (dateString: string, format: string) => {\n const tokens = format.match(FORMATTING_TOKENS);\n if (!tokens) {\n throw new Error();\n }\n const { length } = tokens;\n let mark: Partial<ParseFlagMark> = {};\n for (let i = 0; i < length; i += 1) {\n const token = tokens[i];\n const parseTo = parseFlags[token];\n if (!parseTo) {\n const word = token.replace(/^\\[|\\]$/g, '');\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n const regex = parseTo[0] as RegExp;\n const parser = parseTo[1];\n const value = (regex.exec(dateString) || [])[0];\n const obj = parser(value);\n mark = { ...mark, ...obj };\n dateString = dateString.replace(value, '');\n }\n }\n return mark;\n};\n\nconst getCleanDateString = (dirtyDateString: string, format: string) => {\n if (dirtyDateString.length === format.length) {\n return dirtyDateString;\n }\n\n const separator = dirtyDateString.match(NON_NUMERIC_REGEX)[0];\n\n // pad signle digits to follow supported dateformats\n return dirtyDateString\n .split(separator)\n .map((s) => (s.length === 1 ? '0' + s : s))\n .join(separator);\n};\n\nconst getDateParts: (dirtyDateString: string, format: string) => Partial<ParseFlagMark> = (\n dirtyDateString: string,\n format: string\n) => {\n const dateString = getCleanDateString(dirtyDateString, format);\n\n return makeParser(dateString, format);\n};\n\nexport const toDate = (dirtyDateString: string | undefined, format: string): Date | undefined => {\n try {\n const { backupDate = new Date() } = {};\n const { year, month, day, hour, minute, second, date } = getDateParts(dirtyDateString, format);\n if (date != null) {\n return date;\n }\n const inputArray = [year, month, day, hour, minute, second];\n const result = getFullInputArray(inputArray, backupDate);\n return createDate(...result);\n } catch (e) {\n return new Date(NaN);\n }\n};\n\nexport interface PointerDate {\n year: number;\n month: number;\n day: number;\n hours: number;\n minutes: number;\n seconds: number;\n}\n\nexport interface CalendarGridArgs {\n firstDateOfBox: Date;\n minDate?: Date;\n maxDate?: Date;\n dateFormat: SixDateFormats;\n pointerDate: { month: number; year: number; day: number };\n allowedDates: (date: Date) => boolean;\n locale: 'en' | 'de' | 'fr' | 'it' | 'es';\n selectedDate?: Date;\n}\n\nexport const createCalendarGrid: (calendarGridArguments: CalendarGridArgs) => CalendarCell[][] = (\n calendarGridArguments: CalendarGridArgs\n) => {\n const { firstDateOfBox, allowedDates, dateFormat, selectedDate, minDate, maxDate, pointerDate } =\n calendarGridArguments;\n\n const weekDatePointer = new Date(firstDateOfBox);\n const dayDatePointer = new Date(firstDateOfBox);\n\n let calendar: CalendarCell[][] = [];\n\n do {\n let row: CalendarCell[] = [];\n do {\n row = [\n ...row,\n {\n date: new Date(dayDatePointer),\n display: formatDate(dayDatePointer, dateFormat),\n dateString: formatDate(dayDatePointer, dateFormat),\n label: day(dayDatePointer).toString(),\n isToday: isSameDay(dayDatePointer, now()),\n isSelected: selectedDate && isSameDay(dayDatePointer, selectedDate),\n isDisabled: !allowedDates(dayDatePointer) || !isInRange(dayDatePointer, minDate, maxDate),\n isOutdated: pointerDate.month !== dayDatePointer.getMonth() || !isInRange(dayDatePointer, minDate, maxDate),\n },\n ];\n dayDatePointer.setDate(dayDatePointer.getDate() + 1);\n } while (isSameWeek(dayDatePointer, weekDatePointer));\n calendar = [...calendar, row];\n weekDatePointer.setDate(weekDatePointer.getDate() + 7);\n } while (isSameMonth(new Date(pointerDate.year, pointerDate.month, pointerDate.day), dayDatePointer));\n return calendar;\n};\n\n/**\n * Returns a range of numbers around the given number grouped into buckets of 5.\n * @param number the given number around which you want to get the other numbers\n * @param range range of numbers to include in the result\n */\nexport function rangeAround(number: number, range: number): number[][] {\n const itemsPerGroup = 5;\n return [...Array(range).keys()]\n .map((n) => n + number - Math.floor(range / 2))\n .reduce((curr, item, index) => {\n if (index % itemsPerGroup === 0) {\n curr.push([]);\n }\n curr[curr.length - 1].push(item);\n return curr;\n }, [] as number[][]);\n}\n","// eslint-disable-next-line @stencil-community/ban-exported-const-enums\nexport enum SixDateFormats {\n DDMMYYY_DOT = 'dd.mm.yyyy',\n YYYYMMDD_DASH = 'yyyy-mm-dd',\n DDMMYYYY_DASH = 'dd-mm-yyyy',\n DDMMYYYY_SLASH = 'dd/mm/yyyy',\n YYYYMMDD_SLASH = 'yyyy/mm/dd',\n DDMMYY_DOT = 'dd.mm.yy',\n YYMMDD_DASH = 'yy-mm-dd',\n DDMMYY_DASH = 'dd-mm-yy',\n DDMMYY_SLASH = 'dd/mm/yy',\n YYMMDD_SLASH = 'yy/mm/dd',\n\n DDMMYYY_DOT_TIME = 'dd.mm.yyyy hh:MM:ss',\n YYYYMMDD_DASH_TIME = 'yyyy-mm-dd hh:MM:ss',\n DDMMYYYY_DASH_TIME = 'dd-mm-yyyy hh:MM:ss',\n DDMMYYYY_SLASH_TIME = 'dd/mm/yyyy hh:MM:ss',\n YYYYMMDD_SLASH_TIME = 'yyyy/mm/dd hh:MM:ss',\n DDMMYY_DOT_TIME = 'dd.mm.yy hh:MM:ss',\n YYMMDD_DASH_TIME = 'yy-mm-dd hh:MM:ss',\n DDMMYY_DASH_TIME = 'dd-mm-yy hh:MM:ss',\n DDMMYY_SLASH_TIME = 'dd/mm/yy hh:MM:ss',\n YYMMDD_SLASH_TIME = 'yy/mm/dd hh:MM:ss',\n}\n","import { h } from '@stencil/core';\nimport { DateLocale, now } from '../../../utils/date-util';\n\ninterface MonthSelectionParams {\n locale: DateLocale;\n selectedDate?: Date;\n onClickMonthCell: (month: string) => void;\n}\nexport const MonthSelection = (monthSelectionParams: MonthSelectionParams) => {\n const locale = monthSelectionParams.locale;\n const isToday = (value: string) => locale.monthsShort[now().getMonth()] === value;\n\n const isSelectedMonth = (value: string) =>\n monthSelectionParams.selectedDate?.getMonth() === locale.monthsShort.findIndex((m) => m === value);\n\n return (\n <table class=\"datepicker-table\" part=\"month-selection\">\n <tbody>\n {locale.monthsShortGrouped.map((row: string[]) => (\n <tr class=\"datepicker-table__row\">\n {row.map((month) => (\n <td\n onClick={() => monthSelectionParams.onClickMonthCell(month)}\n class={{\n 'datepicker-table__cell': true,\n 'datepicker-table__cell--is-today': isToday(month),\n 'datepicker-table__cell--is-selected': isSelectedMonth(month),\n }}\n >\n {month}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","import { h } from '@stencil/core';\nimport { DateLocale } from '../../../utils/date-util';\nimport { CalendarCell } from '../six-datepicker';\n\ninterface DaySelectionParams {\n locale: DateLocale;\n calendarGrid: CalendarCell[][];\n onClickDateCell: (cell: CalendarCell) => void;\n}\nexport const DaySelection = (daySelectionParams: DaySelectionParams) => {\n return (\n <table class=\"datepicker-table\" part=\"day-selection\">\n <thead part=\"weekday-header\">\n {daySelectionParams.locale.weekdaysMin.map((weekday) => (\n <th class=\"datepicker__cell\">{weekday}</th>\n ))}\n </thead>\n <tbody>\n {daySelectionParams.calendarGrid.map((row) => (\n <tr class=\"datepicker-table__row\">\n {row.map((cell) => (\n <td\n data-date={cell.dateString}\n onClick={() => daySelectionParams.onClickDateCell(cell)}\n class={{\n 'datepicker-table__cell': true,\n 'datepicker-table__cell--is-today': cell.isToday,\n 'datepicker-table__cell--is-selected': cell.isSelected,\n 'datepicker-table__cell--is-outdated': cell.isOutdated,\n 'datepicker-table__cell--is-disabled': cell.isDisabled,\n 'datepicker-table__cell--is-selectable': !cell.isDisabled,\n }}\n >\n {cell.label}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","import { now } from '../../../utils/date-util';\nimport { h } from '@stencil/core';\n\ninterface YearSelectionParams {\n selectedDate?: Date;\n yearSelection: number[][];\n onClickYearCell: (year: number) => void;\n}\nexport const YearSelection = (yearSelectionParams: YearSelectionParams) => {\n return (\n <table class=\"datepicker-table\" part=\"year-selection\">\n <tbody>\n {yearSelectionParams.yearSelection.map((row) => (\n <tr class=\"datepicker-table__row\">\n {row.map((year) => (\n <td\n onClick={() => yearSelectionParams.onClickYearCell(year)}\n class={{\n 'datepicker-table__cell': true,\n 'datepicker-table__cell--is-today': now().getFullYear() === year,\n 'datepicker-table__cell--is-selected': yearSelectionParams.selectedDate?.getFullYear() === year,\n }}\n >\n {year}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","@import 'src/global/component';\n\n:host {\n display: block;\n font-family: var(--six-font-family);\n}\n\n.datepicker {\n &__container {\n position: relative;\n }\n\n &__popup {\n min-width: 400px;\n background-color: white;\n padding: 0.5em 0.5em 1.5em;\n box-shadow:\n 0 2px 4px -1px rgb(0 0 0 / 20%),\n 0 4px 5px 0 rgb(0 0 0 / 14%),\n 0 1px 10px 0 rgb(0 0 0 / 12%);\n user-select: none;\n position: absolute;\n z-index: var(--six-z-index-dropdown);\n right: 0;\n left: 0;\n\n &--is-up {\n bottom: 100%;\n // fix problem where you would need to jump around with the cursor when switching months and\n // its a dropup since not all months have the same height\n min-height: 382px;\n }\n\n &--is-inline {\n position: initial;\n box-shadow: none;\n border: 1px solid var(--six-color-web-rock-400);\n }\n }\n}\n\n.datepicker-header {\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid var(--six-color-web-rock-400);\n padding: 0.5em;\n margin-bottom: 1em;\n\n & svg {\n fill: var(--six-color-web-rock-900);\n stroke: none;\n }\n\n &__btn {\n cursor: pointer;\n width: 2.5em;\n height: 2.5em;\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n border-radius: 100%;\n }\n }\n\n &__label {\n display: flex;\n\n & > div {\n cursor: pointer;\n padding: 0.5em;\n display: flex;\n vertical-align: middle;\n align-items: center;\n justify-content: center;\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n }\n }\n }\n}\n\n.datepicker-table {\n width: 100%;\n\n &__cell {\n text-align: center;\n width: 2.5rem;\n height: 2.5rem;\n cursor: pointer;\n\n &:hover {\n background-color: var(--six-color-web-rock-100);\n }\n\n &--is-today {\n border: 1px solid var(--six-color-web-rock-400);\n }\n\n &--is-selected {\n background-color: var(--six-color-red);\n color: var(--six-color-white);\n }\n\n &--is-disabled {\n background-color: var(--six-color-web-rock-200);\n cursor: initial;\n\n &:hover {\n background-color: var(--six-color-web-rock-200);\n }\n }\n\n &--is-outdated {\n color: var(--six-color-web-rock-400);\n }\n }\n}\n\n// Clearable\n.datepicker-clear {\n display: inline-flex;\n align-items: center;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n padding: 0;\n transition: var(--six-transition-fast) color;\n cursor: pointer;\n\n &:hover {\n color: var(--six-input-icon-color-hover);\n }\n\n &:focus {\n outline: none;\n }\n\n &--right {\n right: 0;\n position: absolute;\n }\n\n &--left {\n right: 35px;\n position: absolute;\n }\n}\n\n.input--empty .datepicker-clear {\n visibility: hidden;\n}\n\n// Icon position\n.prefix {\n cursor: pointer;\n\n &--right {\n right: 0;\n display: inline-flex;\n position: absolute;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n margin-right: var(--six-input-spacing-medium);\n transition: var(--six-transition-fast) color;\n }\n}\n\n// time-picker\nsix-timepicker::part(popup) {\n border: none;\n padding: 0.5em 0.5em 0;\n min-height: 0;\n}\n","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"],"names":["h","EventListeners","DEFAULT_DEBOUNCE_FAST","debounceEvent","movePopup","calcIsDropDownContentUp","debounce","hasSlot","adjustPopupForHoisting","adjustPopupForSmallScreens"],"mappings":"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"}
@@ -131,15 +131,15 @@ const SixDetails = class {
131
131
  }
132
132
  render() {
133
133
  const summaryIcon = this.hasContent && (this.summaryIcon || 'expand_more');
134
- return (index.h("div", { key: 'faed14eb237bca80205f5d2f3c03e0aa2be2aa8a', ref: (el) => (this.details = el), part: "base", class: {
134
+ return (index.h("div", { key: '27ca22526d4341950e4db0d33b6f0f0af96ea867', ref: (el) => (this.details = el), part: "base", class: {
135
135
  details: true,
136
136
  'details--open': this.open,
137
137
  'details--disabled': this.disabled,
138
138
  inline: this.inline,
139
- } }, index.h("header", { key: '1be614a46a9bc877348438b591d2da153332c7ae', ref: (el) => (this.header = el), part: "header", id: `${this.componentId}-header`, class: "details__header", role: "button", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `${this.componentId}-content`, "aria-disabled": this.disabled ? 'true' : 'false', tabIndex: this.disabled ? -1 : 0, onClick: this.handleSummaryClick, onKeyDown: this.handleSummaryKeyDown }, index.h("div", { key: '9734b67556eec1f335043935761a19a11aa831eb', part: "summary", class: "details__summary" }, index.h("slot", { key: '91c5af23a7938f1f199d3c54ddaca3e669f3b80e', name: "summary" }, this.summary)), index.h("span", { key: 'e624c2b720729d51128024eabbc5416033931f36', part: "summary-icon", class: {
139
+ } }, index.h("header", { key: 'f9f14d79ddff8b73ae0b6a3e959f5db892f4a31f', ref: (el) => (this.header = el), part: "header", id: `${this.componentId}-header`, class: "details__header", role: "button", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `${this.componentId}-content`, "aria-disabled": this.disabled ? 'true' : 'false', tabIndex: this.disabled ? -1 : 0, onClick: this.handleSummaryClick, onKeyDown: this.handleSummaryKeyDown }, index.h("div", { key: 'aec9b05ea1bb7eb2c42be7c95d584e35645fec64', part: "summary", class: "details__summary" }, index.h("slot", { key: '0ce0ee53a8cd67a3b2b92ba3fa51d79818b294e4', name: "summary" }, this.summary)), index.h("span", { key: '8cd7f1957b3498575654f5dbdb4664b503d71862', part: "summary-icon", class: {
140
140
  'details__summary-icon': true,
141
141
  'details__summary-icon--animate': this.animateSummaryIcon,
142
- } }, index.h("slot", { key: 'cf6e43a08611306c4eee490042630b1a417df109', name: "summary-icon", onSlotchange: () => (this.animateSummaryIcon = false) }, summaryIcon && index.h("six-icon", { key: '6d28327bc4a439706ce71ad64056697f1b4c8448', size: this.summaryIconSize }, summaryIcon)))), index.h("div", { key: '21dc33a99a72f2eb639f35d48e7fa3369eb2d081', ref: (el) => (this.body = el), class: "details__body", onTransitionEnd: this.handleBodyTransitionEnd }, index.h("div", { key: 'c517d961bbc8f7ef4a21a5826b839c2eae98dd13', part: "content", id: `${this.componentId}-content`, class: "details__content", role: "region", "aria-labelledby": `${this.componentId}-header` }, index.h("slot", { key: 'e9e601dc421a3c31976f7ddf5b9bc681bbe6b8c1' })))));
142
+ } }, index.h("slot", { key: 'ec46c283b39907c65e996935a57d4580b0436306', name: "summary-icon", onSlotchange: () => (this.animateSummaryIcon = false) }, summaryIcon && index.h("six-icon", { key: '4a0ef8739c3a4503ca443f945086e9f6cc74b036', size: this.summaryIconSize }, summaryIcon)))), index.h("div", { key: '1cc71be309bffcb693e04ca86d4449db683b2f26', ref: (el) => (this.body = el), class: "details__body", onTransitionEnd: this.handleBodyTransitionEnd }, index.h("div", { key: '514ed3c5f7e5f762986c6ab9d274eb6251ecbf99', part: "content", id: `${this.componentId}-content`, class: "details__content", role: "region", "aria-labelledby": `${this.componentId}-header` }, index.h("slot", { key: '1af14b8843cdae96fa13decc6a6ba51613d477ad' })))));
143
143
  }
144
144
  get host() { return index.getElement(this); }
145
145
  static get watchers() { return {