@six-group/ui-library 3.0.0-beta.1.8 → 4.0.0-beta.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 (882) hide show
  1. package/dist/cjs/event-listeners-74715e62.js +2 -0
  2. package/dist/cjs/event-listeners-74715e62.js.map +1 -0
  3. package/dist/cjs/execution-control-46f388e0.js +2 -0
  4. package/dist/cjs/execution-control-46f388e0.js.map +1 -0
  5. package/dist/cjs/focus-visible-0b352c74.js +2 -0
  6. package/dist/cjs/focus-visible-0b352c74.js.map +1 -0
  7. package/dist/cjs/{form-control-866bbece.js → form-control-2c17c573.js} +3 -1
  8. package/dist/cjs/form-control-2c17c573.js.map +1 -0
  9. package/dist/cjs/{index-341df120.js → index-2f6daa5b.js} +602 -280
  10. package/dist/cjs/index-2f6daa5b.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +2 -0
  12. package/dist/cjs/index.cjs.js.map +1 -0
  13. package/dist/cjs/loader.cjs.js +6 -3
  14. package/dist/cjs/loader.cjs.js.map +1 -0
  15. package/dist/cjs/modal-48d42228.js +2 -0
  16. package/dist/cjs/modal-48d42228.js.map +1 -0
  17. package/dist/cjs/{popover-1d2a037c.js → popover-f743f62b.js} +5 -4
  18. package/dist/cjs/popover-f743f62b.js.map +1 -0
  19. package/dist/cjs/scroll-76e6f5d7.js +2 -0
  20. package/dist/cjs/scroll-76e6f5d7.js.map +1 -0
  21. package/dist/cjs/set-attributes_2.cjs.entry.js +5 -5
  22. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -0
  23. package/dist/cjs/six-alert.cjs.entry.js +4 -9
  24. package/dist/cjs/six-alert.cjs.entry.js.map +1 -0
  25. package/dist/cjs/six-avatar.cjs.entry.js +4 -6
  26. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -0
  27. package/dist/cjs/six-badge.cjs.entry.js +4 -5
  28. package/dist/cjs/six-badge.cjs.entry.js.map +1 -0
  29. package/dist/cjs/six-button.cjs.entry.js +9 -11
  30. package/dist/cjs/six-button.cjs.entry.js.map +1 -0
  31. package/dist/cjs/six-card.cjs.entry.js +4 -2
  32. package/dist/cjs/six-card.cjs.entry.js.map +1 -0
  33. package/dist/cjs/six-checkbox.cjs.entry.js +9 -13
  34. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -0
  35. package/dist/cjs/six-datepicker.cjs.entry.js +34 -87
  36. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -0
  37. package/dist/cjs/six-details.cjs.entry.js +6 -9
  38. package/dist/cjs/six-details.cjs.entry.js.map +1 -0
  39. package/dist/cjs/six-dialog.cjs.entry.js +4 -11
  40. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -0
  41. package/dist/cjs/six-drawer.cjs.entry.js +4 -16
  42. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -0
  43. package/dist/cjs/{six-dropdown_3.cjs.entry.js → six-dropdown_2.cjs.entry.js} +31 -130
  44. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -0
  45. package/dist/cjs/six-error-page.cjs.entry.js +8 -5
  46. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -0
  47. package/dist/cjs/six-file-list-item.cjs.entry.js +10 -12
  48. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -0
  49. package/dist/cjs/six-file-list.cjs.entry.js +4 -2
  50. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -0
  51. package/dist/cjs/six-file-upload.cjs.entry.js +30 -17
  52. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -0
  53. package/dist/cjs/six-footer.cjs.entry.js +4 -2
  54. package/dist/cjs/six-footer.cjs.entry.js.map +1 -0
  55. package/dist/cjs/six-form.cjs.entry.js +4 -3
  56. package/dist/cjs/six-form.cjs.entry.js.map +1 -0
  57. package/dist/cjs/six-group-label.cjs.entry.js +6 -7
  58. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -0
  59. package/dist/cjs/six-header.cjs.entry.js +11 -11
  60. package/dist/cjs/six-header.cjs.entry.js.map +1 -0
  61. package/dist/cjs/six-icon-button.cjs.entry.js +9 -6
  62. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -0
  63. package/dist/cjs/six-icon.cjs.entry.js +4 -4
  64. package/dist/cjs/six-icon.cjs.entry.js.map +1 -0
  65. package/dist/cjs/six-input.cjs.entry.js +21 -23
  66. package/dist/cjs/six-input.cjs.entry.js.map +1 -0
  67. package/dist/cjs/six-item-picker.cjs.entry.js +11 -26
  68. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -0
  69. package/dist/cjs/six-language-switcher.cjs.entry.js +6 -4
  70. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -0
  71. package/dist/cjs/six-layout-grid.cjs.entry.js +5 -2
  72. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -0
  73. package/dist/cjs/six-main-container.cjs.entry.js +4 -3
  74. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -0
  75. package/dist/cjs/six-menu-divider.cjs.entry.js +4 -2
  76. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -0
  77. package/dist/cjs/six-menu-item.cjs.entry.js +61 -0
  78. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -0
  79. package/dist/cjs/six-menu-label.cjs.entry.js +4 -2
  80. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -0
  81. package/dist/cjs/six-picto.cjs.entry.js +4 -5
  82. package/dist/cjs/six-picto.cjs.entry.js.map +1 -0
  83. package/dist/cjs/six-progress-bar.cjs.entry.js +4 -4
  84. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -0
  85. package/dist/cjs/six-progress-ring.cjs.entry.js +5 -4
  86. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -0
  87. package/dist/cjs/six-radio.cjs.entry.js +8 -10
  88. package/dist/cjs/six-radio.cjs.entry.js.map +1 -0
  89. package/dist/cjs/six-range.cjs.entry.js +9 -20
  90. package/dist/cjs/six-range.cjs.entry.js.map +1 -0
  91. package/dist/cjs/six-root.cjs.entry.js +9 -10
  92. package/dist/cjs/six-root.cjs.entry.js.map +1 -0
  93. package/dist/cjs/six-search-field.cjs.entry.js +9 -10
  94. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -0
  95. package/dist/cjs/six-select.cjs.entry.js +31 -57
  96. package/dist/cjs/six-select.cjs.entry.js.map +1 -0
  97. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +11 -10
  98. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -0
  99. package/dist/cjs/six-sidebar-item.cjs.entry.js +4 -5
  100. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -0
  101. package/dist/cjs/six-sidebar.cjs.entry.js +9 -11
  102. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -0
  103. package/dist/cjs/six-spinner.cjs.entry.js +4 -3
  104. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -0
  105. package/dist/cjs/six-switch.cjs.entry.js +8 -8
  106. package/dist/cjs/six-switch.cjs.entry.js.map +1 -0
  107. package/dist/cjs/six-tab-group.cjs.entry.js +4 -4
  108. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -0
  109. package/dist/cjs/six-tab-panel.cjs.entry.js +4 -4
  110. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -0
  111. package/dist/cjs/six-tab.cjs.entry.js +4 -6
  112. package/dist/cjs/six-tab.cjs.entry.js.map +1 -0
  113. package/dist/cjs/six-tag.cjs.entry.js +4 -6
  114. package/dist/cjs/six-tag.cjs.entry.js.map +1 -0
  115. package/dist/cjs/six-textarea.cjs.entry.js +17 -20
  116. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -0
  117. package/dist/cjs/six-tile.cjs.entry.js +12 -15
  118. package/dist/cjs/six-tile.cjs.entry.js.map +1 -0
  119. package/dist/cjs/six-timepicker.cjs.entry.js +29 -78
  120. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -0
  121. package/dist/cjs/six-timepicker.types-c19ebff3.js +2 -0
  122. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +1 -0
  123. package/dist/cjs/six-tooltip.cjs.entry.js +8 -18
  124. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -0
  125. package/dist/cjs/slot-ad537f24.js +2 -0
  126. package/dist/cjs/slot-ad537f24.js.map +1 -0
  127. package/dist/cjs/types-64878648.js +2 -0
  128. package/dist/cjs/types-64878648.js.map +1 -0
  129. package/dist/cjs/ui-library.cjs.js +12 -3
  130. package/dist/cjs/ui-library.cjs.js.map +1 -0
  131. package/dist/collection/collection-manifest.json +2 -7
  132. package/dist/collection/components/six-alert/six-alert.js +221 -219
  133. package/dist/collection/components/six-alert/six-alert.js.map +1 -0
  134. package/dist/collection/components/six-avatar/six-avatar.js +91 -91
  135. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -0
  136. package/dist/collection/components/six-badge/six-badge.js +69 -66
  137. package/dist/collection/components/six-badge/six-badge.js.map +1 -0
  138. package/dist/collection/components/six-button/six-button.js +377 -379
  139. package/dist/collection/components/six-button/six-button.js.map +1 -0
  140. package/dist/collection/components/six-card/six-card.js +13 -9
  141. package/dist/collection/components/six-card/six-card.js.map +1 -0
  142. package/dist/collection/components/six-checkbox/six-checkbox.js +372 -381
  143. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -0
  144. package/dist/collection/components/six-datepicker/components/day-selection.js +9 -10
  145. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -0
  146. package/dist/collection/components/six-datepicker/components/month-selection.js +6 -6
  147. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -0
  148. package/dist/collection/components/six-datepicker/components/year-selection.js +6 -6
  149. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -0
  150. package/dist/collection/components/six-datepicker/six-date-formats.js +1 -0
  151. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -0
  152. package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
  153. package/dist/collection/components/six-datepicker/six-datepicker.js +670 -742
  154. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -0
  155. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +1 -0
  156. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -0
  157. package/dist/collection/components/six-details/six-details.js +276 -274
  158. package/dist/collection/components/six-details/six-details.js.map +1 -0
  159. package/dist/collection/components/six-dialog/six-dialog.js +224 -228
  160. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -0
  161. package/dist/collection/components/six-drawer/six-drawer.js +258 -267
  162. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -0
  163. package/dist/collection/components/six-dropdown/six-dropdown.js +514 -534
  164. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -0
  165. package/dist/collection/components/six-error-page/six-error-page.js +100 -96
  166. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -0
  167. package/dist/collection/components/six-file-list/six-file-list.js +13 -9
  168. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -0
  169. package/dist/collection/components/six-file-list-item/six-file-list-item.js +170 -169
  170. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -0
  171. package/dist/collection/components/six-file-upload/six-file-upload.js +221 -186
  172. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -0
  173. package/dist/collection/components/six-footer/six-footer.js +13 -9
  174. package/dist/collection/components/six-footer/six-footer.js.map +1 -0
  175. package/dist/collection/components/six-form/six-form.js +174 -163
  176. package/dist/collection/components/six-form/six-form.js.map +1 -0
  177. package/dist/collection/components/six-group-label/six-group-label.js +118 -111
  178. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -0
  179. package/dist/collection/components/six-header/six-header.js +260 -268
  180. package/dist/collection/components/six-header/six-header.js.map +1 -0
  181. package/dist/collection/components/six-icon/six-icon.js +52 -48
  182. package/dist/collection/components/six-icon/six-icon.js.map +1 -0
  183. package/dist/collection/components/six-icon-button/six-icon-button.js +108 -104
  184. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -0
  185. package/dist/collection/components/six-input/six-input.js +895 -896
  186. package/dist/collection/components/six-input/six-input.js.map +1 -0
  187. package/dist/collection/components/six-item-picker/six-item-picker.js +329 -336
  188. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -0
  189. package/dist/collection/components/six-item-picker/types.js +1 -0
  190. package/dist/collection/components/six-item-picker/types.js.map +1 -0
  191. package/dist/collection/components/six-language-switcher/six-language-switcher.js +85 -74
  192. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -0
  193. package/dist/collection/components/six-layout-grid/six-layout-grid.js +43 -32
  194. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -0
  195. package/dist/collection/components/six-main-container/six-main-container.js +35 -33
  196. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -0
  197. package/dist/collection/components/six-menu/six-menu.js +176 -184
  198. package/dist/collection/components/six-menu/six-menu.js.map +1 -0
  199. package/dist/collection/components/six-menu-divider/six-menu-divider.js +12 -7
  200. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -0
  201. package/dist/collection/components/six-menu-item/six-menu-item.js +131 -110
  202. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -0
  203. package/dist/collection/components/six-menu-label/six-menu-label.js +13 -9
  204. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -0
  205. package/dist/collection/components/six-picto/six-picto.js +35 -32
  206. package/dist/collection/components/six-picto/six-picto.js.map +1 -0
  207. package/dist/collection/components/six-progress-bar/six-progress-bar.js +54 -51
  208. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -0
  209. package/dist/collection/components/six-progress-ring/six-progress-ring.js +75 -72
  210. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -0
  211. package/dist/collection/components/six-radio/six-radio.js +269 -267
  212. package/dist/collection/components/six-radio/six-radio.js.map +1 -0
  213. package/dist/collection/components/six-range/six-range.js +426 -427
  214. package/dist/collection/components/six-range/six-range.js.map +1 -0
  215. package/dist/collection/components/six-root/six-root.js +127 -129
  216. package/dist/collection/components/six-root/six-root.js.map +1 -0
  217. package/dist/collection/components/six-search-field/six-search-field.js +134 -128
  218. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -0
  219. package/dist/collection/components/six-select/six-select.css +1 -2
  220. package/dist/collection/components/six-select/six-select.js +665 -689
  221. package/dist/collection/components/six-select/six-select.js.map +1 -0
  222. package/dist/collection/components/six-sidebar/six-sidebar.js +288 -279
  223. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -0
  224. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +69 -66
  225. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -0
  226. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +116 -115
  227. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -0
  228. package/dist/collection/components/six-spinner/six-spinner.js +35 -32
  229. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -0
  230. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +39 -36
  231. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -0
  232. package/dist/collection/components/six-switch/six-switch.js +279 -271
  233. package/dist/collection/components/six-switch/six-switch.js.map +1 -0
  234. package/dist/collection/components/six-tab/six-tab.js +150 -146
  235. package/dist/collection/components/six-tab/six-tab.js.map +1 -0
  236. package/dist/collection/components/six-tab-group/six-tab-group.js +126 -120
  237. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -0
  238. package/dist/collection/components/six-tab-panel/six-tab-panel.js +52 -49
  239. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -0
  240. package/dist/collection/components/six-tag/six-tag.js +107 -105
  241. package/dist/collection/components/six-tag/six-tag.js.map +1 -0
  242. package/dist/collection/components/six-textarea/six-textarea.js +708 -700
  243. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -0
  244. package/dist/collection/components/six-tile/six-tile.js +237 -238
  245. package/dist/collection/components/six-tile/six-tile.js.map +1 -0
  246. package/dist/collection/components/six-timepicker/six-time-format.js +1 -0
  247. package/dist/collection/components/six-timepicker/six-time-format.js.map +1 -0
  248. package/dist/collection/components/six-timepicker/six-timepicker.js +597 -641
  249. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -0
  250. package/dist/collection/components/six-timepicker/six-timepicker.types.js +1 -0
  251. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +1 -0
  252. package/dist/collection/components/six-tooltip/six-tooltip.js +256 -259
  253. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -0
  254. package/dist/collection/functional-components/form-control/form-control.js +5 -10
  255. package/dist/collection/functional-components/form-control/form-control.js.map +1 -0
  256. package/dist/collection/index.js +1 -0
  257. package/dist/collection/index.js.map +1 -0
  258. package/dist/collection/testUtil/delay.js +1 -0
  259. package/dist/collection/testUtil/delay.js.map +1 -0
  260. package/dist/collection/utils/as-array.js +1 -0
  261. package/dist/collection/utils/as-array.js.map +1 -0
  262. package/dist/collection/utils/date-util.js +1 -0
  263. package/dist/collection/utils/date-util.js.map +1 -0
  264. package/dist/collection/utils/event-listeners.js +1 -0
  265. package/dist/collection/utils/event-listeners.js.map +1 -0
  266. package/dist/collection/utils/execution-control.js +1 -0
  267. package/dist/collection/utils/execution-control.js.map +1 -0
  268. package/dist/collection/utils/focus-visible.js +1 -0
  269. package/dist/collection/utils/focus-visible.js.map +1 -0
  270. package/dist/collection/utils/matchers.js +1 -0
  271. package/dist/collection/utils/matchers.js.map +1 -0
  272. package/dist/collection/utils/modal.js +1 -0
  273. package/dist/collection/utils/modal.js.map +1 -0
  274. package/dist/collection/utils/offset.js +1 -0
  275. package/dist/collection/utils/offset.js.map +1 -0
  276. package/dist/collection/utils/popover.js +1 -0
  277. package/dist/collection/utils/popover.js.map +1 -0
  278. package/dist/collection/utils/scroll.js +1 -0
  279. package/dist/collection/utils/scroll.js.map +1 -0
  280. package/dist/collection/utils/slot.js +1 -0
  281. package/dist/collection/utils/slot.js.map +1 -0
  282. package/dist/collection/utils/support.js +1 -0
  283. package/dist/collection/utils/support.js.map +1 -0
  284. package/dist/collection/utils/tabbable.js +1 -0
  285. package/dist/collection/utils/tabbable.js.map +1 -0
  286. package/dist/collection/utils/testing.js +1 -0
  287. package/dist/collection/utils/testing.js.map +1 -0
  288. package/dist/collection/utils/time.util.js +1 -0
  289. package/dist/collection/utils/time.util.js.map +1 -0
  290. package/dist/collection/utils/type-check.js +1 -0
  291. package/dist/collection/utils/type-check.js.map +1 -0
  292. package/dist/collection/utils/types.js +1 -0
  293. package/dist/collection/utils/types.js.map +1 -0
  294. package/dist/collection/wrappers/set-attributes/set-attributes.js +28 -24
  295. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -0
  296. package/dist/components/event-listeners.js +43 -0
  297. package/dist/components/event-listeners.js.map +1 -0
  298. package/dist/components/execution-control.js +40 -0
  299. package/dist/components/execution-control.js.map +1 -0
  300. package/dist/components/focus-visible.js +45 -0
  301. package/dist/components/focus-visible.js.map +1 -0
  302. package/dist/components/form-control.js +32 -0
  303. package/dist/components/form-control.js.map +1 -0
  304. package/dist/components/index.d.ts +39 -0
  305. package/dist/components/index.js +122 -0
  306. package/dist/components/index.js.map +1 -0
  307. package/dist/components/modal.js +48 -0
  308. package/dist/components/modal.js.map +1 -0
  309. package/dist/{esm/popover-1c7a1139.js → components/popover.js} +5 -4
  310. package/dist/components/popover.js.map +1 -0
  311. package/dist/components/scroll.js +64 -0
  312. package/dist/components/scroll.js.map +1 -0
  313. package/dist/components/set-attributes.d.ts +11 -0
  314. package/dist/components/set-attributes.js +8 -0
  315. package/dist/components/set-attributes.js.map +1 -0
  316. package/dist/components/set-attributes2.js +69 -0
  317. package/dist/components/set-attributes2.js.map +1 -0
  318. package/dist/components/six-alert.d.ts +11 -0
  319. package/dist/components/six-alert.js +172 -0
  320. package/dist/components/six-alert.js.map +1 -0
  321. package/dist/components/six-avatar.d.ts +11 -0
  322. package/dist/components/six-avatar.js +63 -0
  323. package/dist/components/six-avatar.js.map +1 -0
  324. package/dist/components/six-badge.d.ts +11 -0
  325. package/dist/components/six-badge.js +54 -0
  326. package/dist/components/six-badge.js.map +1 -0
  327. package/dist/components/six-button.d.ts +11 -0
  328. package/dist/components/six-button.js +147 -0
  329. package/dist/components/six-button.js.map +1 -0
  330. package/dist/components/six-card.d.ts +11 -0
  331. package/dist/components/six-card.js +35 -0
  332. package/dist/components/six-card.js.map +1 -0
  333. package/dist/components/six-checkbox.d.ts +11 -0
  334. package/dist/components/six-checkbox.js +193 -0
  335. package/dist/components/six-checkbox.js.map +1 -0
  336. package/dist/components/six-datepicker.d.ts +11 -0
  337. package/dist/components/six-datepicker.js +1229 -0
  338. package/dist/components/six-datepicker.js.map +1 -0
  339. package/dist/components/six-details.d.ts +11 -0
  340. package/dist/components/six-details.js +8 -0
  341. package/dist/components/six-details.js.map +1 -0
  342. package/dist/components/six-details2.js +176 -0
  343. package/dist/components/six-details2.js.map +1 -0
  344. package/dist/components/six-dialog.d.ts +11 -0
  345. package/dist/components/six-dialog.js +190 -0
  346. package/dist/components/six-dialog.js.map +1 -0
  347. package/dist/components/six-drawer.d.ts +11 -0
  348. package/dist/components/six-drawer.js +209 -0
  349. package/dist/components/six-drawer.js.map +1 -0
  350. package/dist/components/six-dropdown.d.ts +11 -0
  351. package/dist/components/six-dropdown.js +8 -0
  352. package/dist/components/six-dropdown.js.map +1 -0
  353. package/dist/components/six-dropdown2.js +499 -0
  354. package/dist/components/six-dropdown2.js.map +1 -0
  355. package/dist/components/six-error-page.d.ts +11 -0
  356. package/dist/components/six-error-page.js +134 -0
  357. package/dist/components/six-error-page.js.map +1 -0
  358. package/dist/components/six-file-list-item.d.ts +11 -0
  359. package/dist/components/six-file-list-item.js +74 -0
  360. package/dist/components/six-file-list-item.js.map +1 -0
  361. package/dist/components/six-file-list.d.ts +11 -0
  362. package/dist/components/six-file-list.js +35 -0
  363. package/dist/components/six-file-list.js.map +1 -0
  364. package/dist/components/six-file-upload.d.ts +11 -0
  365. package/dist/components/six-file-upload.js +147 -0
  366. package/dist/components/six-file-upload.js.map +1 -0
  367. package/dist/components/six-footer.d.ts +11 -0
  368. package/dist/components/six-footer.js +35 -0
  369. package/dist/components/six-footer.js.map +1 -0
  370. package/dist/components/six-form.d.ts +11 -0
  371. package/dist/components/six-form.js +252 -0
  372. package/dist/components/six-form.js.map +1 -0
  373. package/dist/components/six-group-label.d.ts +11 -0
  374. package/dist/components/six-group-label.js +78 -0
  375. package/dist/components/six-group-label.js.map +1 -0
  376. package/dist/components/six-header.d.ts +11 -0
  377. package/dist/components/six-header.js +219 -0
  378. package/dist/components/six-header.js.map +1 -0
  379. package/dist/components/six-icon-button.d.ts +11 -0
  380. package/dist/components/six-icon-button.js +8 -0
  381. package/dist/components/six-icon-button.js.map +1 -0
  382. package/dist/components/six-icon-button2.js +70 -0
  383. package/dist/components/six-icon-button2.js.map +1 -0
  384. package/dist/components/six-icon.d.ts +11 -0
  385. package/dist/components/six-icon.js +8 -0
  386. package/dist/components/six-icon.js.map +1 -0
  387. package/dist/components/six-icon2.js +49 -0
  388. package/dist/components/six-icon2.js.map +1 -0
  389. package/dist/components/six-input.d.ts +11 -0
  390. package/dist/components/six-input.js +8 -0
  391. package/dist/components/six-input.js.map +1 -0
  392. package/dist/components/six-input2.js +303 -0
  393. package/dist/components/six-input2.js.map +1 -0
  394. package/dist/components/six-item-picker.d.ts +11 -0
  395. package/dist/components/six-item-picker.js +8 -0
  396. package/dist/components/six-item-picker.js.map +1 -0
  397. package/dist/components/six-item-picker2.js +404 -0
  398. package/dist/components/six-item-picker2.js.map +1 -0
  399. package/dist/components/six-language-switcher.d.ts +11 -0
  400. package/dist/components/six-language-switcher.js +82 -0
  401. package/dist/components/six-language-switcher.js.map +1 -0
  402. package/dist/components/six-layout-grid.d.ts +11 -0
  403. package/dist/components/six-layout-grid.js +49 -0
  404. package/dist/components/six-layout-grid.js.map +1 -0
  405. package/dist/components/six-main-container.d.ts +11 -0
  406. package/dist/components/six-main-container.js +39 -0
  407. package/dist/components/six-main-container.js.map +1 -0
  408. package/dist/components/six-menu-divider.d.ts +11 -0
  409. package/dist/components/six-menu-divider.js +35 -0
  410. package/dist/components/six-menu-divider.js.map +1 -0
  411. package/dist/components/six-menu-item.d.ts +11 -0
  412. package/dist/components/six-menu-item.js +8 -0
  413. package/dist/components/six-menu-item.js.map +1 -0
  414. package/dist/components/six-menu-item2.js +86 -0
  415. package/dist/components/six-menu-item2.js.map +1 -0
  416. package/dist/components/six-menu-label.d.ts +11 -0
  417. package/dist/components/six-menu-label.js +35 -0
  418. package/dist/components/six-menu-label.js.map +1 -0
  419. package/dist/components/six-menu.d.ts +11 -0
  420. package/dist/components/six-menu.js +8 -0
  421. package/dist/components/six-menu.js.map +1 -0
  422. package/dist/components/six-menu2.js +252 -0
  423. package/dist/components/six-menu2.js.map +1 -0
  424. package/dist/components/six-picto.d.ts +11 -0
  425. package/dist/components/six-picto.js +8 -0
  426. package/dist/components/six-picto.js.map +1 -0
  427. package/dist/{custom-elements/index.js → components/six-picto2.js} +21 -9740
  428. package/dist/components/six-picto2.js.map +1 -0
  429. package/dist/components/six-progress-bar.d.ts +11 -0
  430. package/dist/components/six-progress-bar.js +45 -0
  431. package/dist/components/six-progress-bar.js.map +1 -0
  432. package/dist/components/six-progress-ring.d.ts +11 -0
  433. package/dist/components/six-progress-ring.js +61 -0
  434. package/dist/components/six-progress-ring.js.map +1 -0
  435. package/dist/components/six-radio.d.ts +11 -0
  436. package/dist/components/six-radio.js +157 -0
  437. package/dist/components/six-radio.js.map +1 -0
  438. package/dist/components/six-range.d.ts +11 -0
  439. package/dist/components/six-range.js +236 -0
  440. package/dist/components/six-range.js.map +1 -0
  441. package/dist/components/six-root.d.ts +11 -0
  442. package/dist/components/six-root.js +82 -0
  443. package/dist/components/six-root.js.map +1 -0
  444. package/dist/components/six-search-field.d.ts +11 -0
  445. package/dist/components/six-search-field.js +85 -0
  446. package/dist/components/six-search-field.js.map +1 -0
  447. package/dist/components/six-select.d.ts +11 -0
  448. package/dist/components/six-select.js +526 -0
  449. package/dist/components/six-select.js.map +1 -0
  450. package/dist/components/six-sidebar-item-group.d.ts +11 -0
  451. package/dist/components/six-sidebar-item-group.js +88 -0
  452. package/dist/components/six-sidebar-item-group.js.map +1 -0
  453. package/dist/components/six-sidebar-item.d.ts +11 -0
  454. package/dist/components/six-sidebar-item.js +46 -0
  455. package/dist/components/six-sidebar-item.js.map +1 -0
  456. package/dist/components/six-sidebar.d.ts +11 -0
  457. package/dist/components/six-sidebar.js +205 -0
  458. package/dist/components/six-sidebar.js.map +1 -0
  459. package/dist/components/six-spinner.d.ts +11 -0
  460. package/dist/components/six-spinner.js +8 -0
  461. package/dist/components/six-spinner.js.map +1 -0
  462. package/dist/components/six-spinner2.js +41 -0
  463. package/dist/components/six-spinner2.js.map +1 -0
  464. package/dist/components/six-stage-indicator.d.ts +11 -0
  465. package/dist/components/six-stage-indicator.js +8 -0
  466. package/dist/components/six-stage-indicator.js.map +1 -0
  467. package/dist/components/six-stage-indicator2.js +41 -0
  468. package/dist/components/six-stage-indicator2.js.map +1 -0
  469. package/dist/components/six-switch.d.ts +11 -0
  470. package/dist/components/six-switch.js +139 -0
  471. package/dist/components/six-switch.js.map +1 -0
  472. package/dist/components/six-tab-group.d.ts +11 -0
  473. package/dist/components/six-tab-group.js +268 -0
  474. package/dist/components/six-tab-group.js.map +1 -0
  475. package/dist/components/six-tab-panel.d.ts +11 -0
  476. package/dist/components/six-tab-panel.js +45 -0
  477. package/dist/components/six-tab-panel.js.map +1 -0
  478. package/dist/components/six-tab.d.ts +11 -0
  479. package/dist/components/six-tab.js +84 -0
  480. package/dist/components/six-tab.js.map +1 -0
  481. package/dist/components/six-tag.d.ts +11 -0
  482. package/dist/components/six-tag.js +8 -0
  483. package/dist/components/six-tag.js.map +1 -0
  484. package/dist/components/six-tag2.js +77 -0
  485. package/dist/components/six-tag2.js.map +1 -0
  486. package/dist/components/six-textarea.d.ts +11 -0
  487. package/dist/components/six-textarea.js +269 -0
  488. package/dist/components/six-textarea.js.map +1 -0
  489. package/dist/components/six-tile.d.ts +11 -0
  490. package/dist/components/six-tile.js +142 -0
  491. package/dist/components/six-tile.js.map +1 -0
  492. package/dist/components/six-timepicker.d.ts +11 -0
  493. package/dist/components/six-timepicker.js +8 -0
  494. package/dist/components/six-timepicker.js.map +1 -0
  495. package/dist/components/six-timepicker2.js +559 -0
  496. package/dist/components/six-timepicker2.js.map +1 -0
  497. package/dist/components/six-tooltip.d.ts +11 -0
  498. package/dist/components/six-tooltip.js +8 -0
  499. package/dist/components/six-tooltip.js.map +1 -0
  500. package/dist/components/six-tooltip2.js +194 -0
  501. package/dist/components/six-tooltip2.js.map +1 -0
  502. package/dist/components/slot.js +47 -0
  503. package/dist/components/slot.js.map +1 -0
  504. package/dist/components.d.ts +27 -0
  505. package/dist/components.json +47 -499
  506. package/dist/esm/event-listeners-570a24ea.js +2 -0
  507. package/dist/esm/event-listeners-570a24ea.js.map +1 -0
  508. package/dist/esm/execution-control-1a60d709.js +2 -0
  509. package/dist/esm/execution-control-1a60d709.js.map +1 -0
  510. package/dist/esm/focus-visible-97933ea9.js +2 -0
  511. package/dist/esm/focus-visible-97933ea9.js.map +1 -0
  512. package/dist/esm/{form-control-24f446af.js → form-control-3b440ea1.js} +3 -1
  513. package/dist/esm/form-control-3b440ea1.js.map +1 -0
  514. package/dist/esm/{index-a2605a62.js → index-5c0f6628.js} +602 -279
  515. package/dist/esm/index-5c0f6628.js.map +1 -0
  516. package/dist/esm/index.js +2 -0
  517. package/dist/esm/index.js.map +1 -0
  518. package/dist/esm/loader.js +6 -3
  519. package/dist/esm/loader.js.map +1 -0
  520. package/dist/esm/modal-5ebdc320.js +2 -0
  521. package/dist/esm/modal-5ebdc320.js.map +1 -0
  522. package/dist/esm/polyfills/css-shim.js +1 -1
  523. package/dist/esm/popover-bd2c2fca.js +1897 -0
  524. package/dist/esm/popover-bd2c2fca.js.map +1 -0
  525. package/dist/esm/scroll-180b53fd.js +2 -0
  526. package/dist/esm/scroll-180b53fd.js.map +1 -0
  527. package/dist/esm/set-attributes_2.entry.js +5 -5
  528. package/dist/esm/set-attributes_2.entry.js.map +1 -0
  529. package/dist/esm/six-alert.entry.js +4 -9
  530. package/dist/esm/six-alert.entry.js.map +1 -0
  531. package/dist/esm/six-avatar.entry.js +4 -6
  532. package/dist/esm/six-avatar.entry.js.map +1 -0
  533. package/dist/esm/six-badge.entry.js +4 -5
  534. package/dist/esm/six-badge.entry.js.map +1 -0
  535. package/dist/esm/six-button.entry.js +9 -11
  536. package/dist/esm/six-button.entry.js.map +1 -0
  537. package/dist/esm/six-card.entry.js +4 -2
  538. package/dist/esm/six-card.entry.js.map +1 -0
  539. package/dist/esm/six-checkbox.entry.js +9 -13
  540. package/dist/esm/six-checkbox.entry.js.map +1 -0
  541. package/dist/esm/six-datepicker.entry.js +34 -87
  542. package/dist/esm/six-datepicker.entry.js.map +1 -0
  543. package/dist/esm/six-details.entry.js +6 -9
  544. package/dist/esm/six-details.entry.js.map +1 -0
  545. package/dist/esm/six-dialog.entry.js +4 -11
  546. package/dist/esm/six-dialog.entry.js.map +1 -0
  547. package/dist/esm/six-drawer.entry.js +4 -16
  548. package/dist/esm/six-drawer.entry.js.map +1 -0
  549. package/dist/esm/{six-dropdown_3.entry.js → six-dropdown_2.entry.js} +31 -129
  550. package/dist/esm/six-dropdown_2.entry.js.map +1 -0
  551. package/dist/esm/six-error-page.entry.js +8 -5
  552. package/dist/esm/six-error-page.entry.js.map +1 -0
  553. package/dist/esm/six-file-list-item.entry.js +10 -12
  554. package/dist/esm/six-file-list-item.entry.js.map +1 -0
  555. package/dist/esm/six-file-list.entry.js +4 -2
  556. package/dist/esm/six-file-list.entry.js.map +1 -0
  557. package/dist/esm/six-file-upload.entry.js +30 -17
  558. package/dist/esm/six-file-upload.entry.js.map +1 -0
  559. package/dist/esm/six-footer.entry.js +4 -2
  560. package/dist/esm/six-footer.entry.js.map +1 -0
  561. package/dist/esm/six-form.entry.js +4 -3
  562. package/dist/esm/six-form.entry.js.map +1 -0
  563. package/dist/esm/six-group-label.entry.js +6 -7
  564. package/dist/esm/six-group-label.entry.js.map +1 -0
  565. package/dist/esm/six-header.entry.js +11 -11
  566. package/dist/esm/six-header.entry.js.map +1 -0
  567. package/dist/esm/six-icon-button.entry.js +9 -6
  568. package/dist/esm/six-icon-button.entry.js.map +1 -0
  569. package/dist/esm/six-icon.entry.js +4 -4
  570. package/dist/esm/six-icon.entry.js.map +1 -0
  571. package/dist/esm/six-input.entry.js +21 -23
  572. package/dist/esm/six-input.entry.js.map +1 -0
  573. package/dist/esm/six-item-picker.entry.js +11 -26
  574. package/dist/esm/six-item-picker.entry.js.map +1 -0
  575. package/dist/esm/six-language-switcher.entry.js +6 -4
  576. package/dist/esm/six-language-switcher.entry.js.map +1 -0
  577. package/dist/esm/six-layout-grid.entry.js +5 -2
  578. package/dist/esm/six-layout-grid.entry.js.map +1 -0
  579. package/dist/esm/six-main-container.entry.js +4 -3
  580. package/dist/esm/six-main-container.entry.js.map +1 -0
  581. package/dist/esm/six-menu-divider.entry.js +4 -2
  582. package/dist/esm/six-menu-divider.entry.js.map +1 -0
  583. package/dist/esm/six-menu-item.entry.js +57 -0
  584. package/dist/esm/six-menu-item.entry.js.map +1 -0
  585. package/dist/esm/six-menu-label.entry.js +4 -2
  586. package/dist/esm/six-menu-label.entry.js.map +1 -0
  587. package/dist/esm/six-picto.entry.js +4 -5
  588. package/dist/esm/six-picto.entry.js.map +1 -0
  589. package/dist/esm/six-progress-bar.entry.js +4 -4
  590. package/dist/esm/six-progress-bar.entry.js.map +1 -0
  591. package/dist/esm/six-progress-ring.entry.js +5 -4
  592. package/dist/esm/six-progress-ring.entry.js.map +1 -0
  593. package/dist/esm/six-radio.entry.js +8 -10
  594. package/dist/esm/six-radio.entry.js.map +1 -0
  595. package/dist/esm/six-range.entry.js +9 -20
  596. package/dist/esm/six-range.entry.js.map +1 -0
  597. package/dist/esm/six-root.entry.js +9 -10
  598. package/dist/esm/six-root.entry.js.map +1 -0
  599. package/dist/esm/six-search-field.entry.js +9 -10
  600. package/dist/esm/six-search-field.entry.js.map +1 -0
  601. package/dist/esm/six-select.entry.js +31 -57
  602. package/dist/esm/six-select.entry.js.map +1 -0
  603. package/dist/esm/six-sidebar-item-group.entry.js +11 -10
  604. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -0
  605. package/dist/esm/six-sidebar-item.entry.js +4 -5
  606. package/dist/esm/six-sidebar-item.entry.js.map +1 -0
  607. package/dist/esm/six-sidebar.entry.js +9 -11
  608. package/dist/esm/six-sidebar.entry.js.map +1 -0
  609. package/dist/esm/six-spinner.entry.js +4 -3
  610. package/dist/esm/six-spinner.entry.js.map +1 -0
  611. package/dist/esm/six-switch.entry.js +8 -8
  612. package/dist/esm/six-switch.entry.js.map +1 -0
  613. package/dist/esm/six-tab-group.entry.js +4 -4
  614. package/dist/esm/six-tab-group.entry.js.map +1 -0
  615. package/dist/esm/six-tab-panel.entry.js +4 -4
  616. package/dist/esm/six-tab-panel.entry.js.map +1 -0
  617. package/dist/esm/six-tab.entry.js +4 -6
  618. package/dist/esm/six-tab.entry.js.map +1 -0
  619. package/dist/esm/six-tag.entry.js +4 -6
  620. package/dist/esm/six-tag.entry.js.map +1 -0
  621. package/dist/esm/six-textarea.entry.js +17 -20
  622. package/dist/esm/six-textarea.entry.js.map +1 -0
  623. package/dist/esm/six-tile.entry.js +12 -15
  624. package/dist/esm/six-tile.entry.js.map +1 -0
  625. package/dist/esm/six-timepicker.entry.js +29 -78
  626. package/dist/esm/six-timepicker.entry.js.map +1 -0
  627. package/dist/esm/six-timepicker.types-e161a447.js +2 -0
  628. package/dist/esm/six-timepicker.types-e161a447.js.map +1 -0
  629. package/dist/esm/six-tooltip.entry.js +8 -18
  630. package/dist/esm/six-tooltip.entry.js.map +1 -0
  631. package/dist/esm/slot-6f3984c7.js +2 -0
  632. package/dist/esm/slot-6f3984c7.js.map +1 -0
  633. package/dist/esm/types-4b10b413.js +2 -0
  634. package/dist/esm/types-4b10b413.js.map +1 -0
  635. package/dist/esm/ui-library.js +9 -3
  636. package/dist/esm/ui-library.js.map +1 -0
  637. package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
  638. package/dist/types/components/six-file-upload/six-file-upload.d.ts +8 -1
  639. package/dist/types/components/six-item-picker/six-item-picker.d.ts +2 -2
  640. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +1 -1
  641. package/dist/types/components/six-menu-item/six-menu-item.d.ts +3 -0
  642. package/dist/types/components/six-select/six-select.d.ts +2 -1
  643. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +1 -1
  644. package/dist/types/components.d.ts +1154 -238
  645. package/dist/types/stencil-public-runtime.d.ts +91 -19
  646. package/dist/types/utils/slot.d.ts +1 -1
  647. package/dist/types/utils/types.d.ts +1 -1
  648. package/dist/ui-library/index.esm.js +2 -0
  649. package/dist/ui-library/index.esm.js.map +1 -0
  650. package/dist/ui-library/p-054e12cc.entry.js +2 -0
  651. package/dist/ui-library/p-054e12cc.entry.js.map +1 -0
  652. package/dist/ui-library/p-0786fa7c.js +2 -1
  653. package/dist/ui-library/p-0786fa7c.js.map +1 -0
  654. package/dist/ui-library/p-097cced4.entry.js +2 -0
  655. package/dist/ui-library/p-097cced4.entry.js.map +1 -0
  656. package/dist/ui-library/p-0d79b0c6.entry.js +2 -0
  657. package/dist/ui-library/p-0d79b0c6.entry.js.map +1 -0
  658. package/dist/ui-library/p-14f20bbb.entry.js +2 -0
  659. package/dist/ui-library/p-14f20bbb.entry.js.map +1 -0
  660. package/dist/ui-library/p-18e5f772.entry.js +2 -0
  661. package/dist/ui-library/p-18e5f772.entry.js.map +1 -0
  662. package/dist/ui-library/p-18ea0c56.js +2 -0
  663. package/dist/ui-library/p-18ea0c56.js.map +1 -0
  664. package/dist/ui-library/p-19364560.entry.js +2 -0
  665. package/dist/ui-library/p-19364560.entry.js.map +1 -0
  666. package/dist/ui-library/p-19b50b5a.entry.js +2 -0
  667. package/dist/ui-library/p-19b50b5a.entry.js.map +1 -0
  668. package/dist/ui-library/p-21859bca.entry.js +2 -0
  669. package/dist/ui-library/p-21859bca.entry.js.map +1 -0
  670. package/dist/ui-library/p-25a3bf57.js +2 -1
  671. package/dist/ui-library/p-25a3bf57.js.map +1 -0
  672. package/dist/ui-library/p-2e48c8d2.entry.js +2 -0
  673. package/dist/ui-library/p-2e48c8d2.entry.js.map +1 -0
  674. package/dist/ui-library/p-308261c4.entry.js +2 -0
  675. package/dist/ui-library/p-308261c4.entry.js.map +1 -0
  676. package/dist/ui-library/p-33f7e22b.entry.js +2 -0
  677. package/dist/ui-library/p-33f7e22b.entry.js.map +1 -0
  678. package/dist/ui-library/p-4ae91795.entry.js +2 -0
  679. package/dist/ui-library/p-4ae91795.entry.js.map +1 -0
  680. package/dist/ui-library/p-4f8394d7.js +2 -1
  681. package/dist/ui-library/p-4f8394d7.js.map +1 -0
  682. package/dist/ui-library/p-53a13db5.entry.js +2 -0
  683. package/dist/ui-library/p-53a13db5.entry.js.map +1 -0
  684. package/dist/ui-library/p-559c87f0.entry.js +2 -0
  685. package/dist/ui-library/p-559c87f0.entry.js.map +1 -0
  686. package/dist/ui-library/p-611e1978.entry.js +2 -0
  687. package/dist/ui-library/p-611e1978.entry.js.map +1 -0
  688. package/dist/ui-library/p-63703ba3.entry.js +2 -0
  689. package/dist/ui-library/p-63703ba3.entry.js.map +1 -0
  690. package/dist/ui-library/p-6403fd87.entry.js +2 -0
  691. package/dist/ui-library/p-6403fd87.entry.js.map +1 -0
  692. package/dist/ui-library/p-6433c0da.entry.js +2 -0
  693. package/dist/ui-library/p-6433c0da.entry.js.map +1 -0
  694. package/dist/ui-library/p-6d75f216.entry.js +2 -0
  695. package/dist/ui-library/p-6d75f216.entry.js.map +1 -0
  696. package/dist/ui-library/p-73597d13.entry.js +2 -0
  697. package/dist/ui-library/p-73597d13.entry.js.map +1 -0
  698. package/dist/ui-library/p-79eee01b.js +2 -0
  699. package/dist/ui-library/p-79eee01b.js.map +1 -0
  700. package/dist/ui-library/p-7e0cc4ae.entry.js +2 -0
  701. package/dist/ui-library/p-7e0cc4ae.entry.js.map +1 -0
  702. package/dist/ui-library/p-820c23f0.entry.js +2 -0
  703. package/dist/ui-library/p-820c23f0.entry.js.map +1 -0
  704. package/dist/ui-library/p-835c3ff7.entry.js +2 -0
  705. package/dist/ui-library/p-835c3ff7.entry.js.map +1 -0
  706. package/dist/ui-library/p-8a970a40.entry.js +2 -0
  707. package/dist/ui-library/p-8a970a40.entry.js.map +1 -0
  708. package/dist/ui-library/p-90824648.entry.js +2 -0
  709. package/dist/ui-library/p-90824648.entry.js.map +1 -0
  710. package/dist/ui-library/p-90dc6af4.entry.js +2 -0
  711. package/dist/ui-library/p-90dc6af4.entry.js.map +1 -0
  712. package/dist/ui-library/p-9328e5bc.entry.js +2 -0
  713. package/dist/ui-library/p-9328e5bc.entry.js.map +1 -0
  714. package/dist/ui-library/p-97323ad7.entry.js +2 -0
  715. package/dist/ui-library/p-97323ad7.entry.js.map +1 -0
  716. package/dist/ui-library/p-9a860acc.js +2 -1
  717. package/dist/ui-library/p-9a860acc.js.map +1 -0
  718. package/dist/ui-library/p-9d1d222f.entry.js +2 -0
  719. package/dist/ui-library/p-9d1d222f.entry.js.map +1 -0
  720. package/dist/ui-library/p-a1d4f6cf.entry.js +2 -0
  721. package/dist/ui-library/p-a1d4f6cf.entry.js.map +1 -0
  722. package/dist/ui-library/p-ac4f4d45.js +3 -0
  723. package/dist/ui-library/p-ac4f4d45.js.map +1 -0
  724. package/dist/ui-library/p-af793d04.entry.js +2 -0
  725. package/dist/ui-library/p-af793d04.entry.js.map +1 -0
  726. package/dist/ui-library/p-b0e5658f.entry.js +2 -0
  727. package/dist/ui-library/p-b0e5658f.entry.js.map +1 -0
  728. package/dist/ui-library/p-b1e66136.js +2 -1
  729. package/dist/ui-library/p-b1e66136.js.map +1 -0
  730. package/dist/ui-library/p-b4dfb7cf.js +2 -1
  731. package/dist/ui-library/p-b4dfb7cf.js.map +1 -0
  732. package/dist/ui-library/p-b997e43c.entry.js +2 -0
  733. package/dist/ui-library/p-b997e43c.entry.js.map +1 -0
  734. package/dist/ui-library/p-baa03951.entry.js +2 -0
  735. package/dist/ui-library/p-baa03951.entry.js.map +1 -0
  736. package/dist/ui-library/p-c0cb6436.entry.js +2 -0
  737. package/dist/ui-library/p-c0cb6436.entry.js.map +1 -0
  738. package/dist/ui-library/p-c30f9e0b.entry.js +2 -0
  739. package/dist/ui-library/p-c30f9e0b.entry.js.map +1 -0
  740. package/dist/ui-library/p-c349d1d4.entry.js +2 -0
  741. package/dist/ui-library/p-c349d1d4.entry.js.map +1 -0
  742. package/dist/ui-library/p-c53a63f9.entry.js +2 -0
  743. package/dist/ui-library/p-c53a63f9.entry.js.map +1 -0
  744. package/dist/ui-library/p-c640c2d8.entry.js +2 -0
  745. package/dist/ui-library/p-c640c2d8.entry.js.map +1 -0
  746. package/dist/ui-library/p-c94d0b07.entry.js +2 -0
  747. package/dist/ui-library/p-c94d0b07.entry.js.map +1 -0
  748. package/dist/ui-library/p-d12c6092.js +2 -1
  749. package/dist/ui-library/p-d12c6092.js.map +1 -0
  750. package/dist/ui-library/p-d5633a29.entry.js +2 -0
  751. package/dist/ui-library/p-d5633a29.entry.js.map +1 -0
  752. package/dist/ui-library/p-dd3c76f1.entry.js +2 -0
  753. package/dist/ui-library/p-dd3c76f1.entry.js.map +1 -0
  754. package/dist/ui-library/p-df655bc9.entry.js +2 -0
  755. package/dist/ui-library/p-df655bc9.entry.js.map +1 -0
  756. package/dist/ui-library/p-e19a6c95.entry.js +2 -0
  757. package/dist/ui-library/p-e19a6c95.entry.js.map +1 -0
  758. package/dist/ui-library/p-eb8f05a9.js +2 -1
  759. package/dist/ui-library/p-eb8f05a9.js.map +1 -0
  760. package/dist/ui-library/p-edc96efc.entry.js +2 -0
  761. package/dist/ui-library/p-edc96efc.entry.js.map +1 -0
  762. package/dist/ui-library/p-f18ba86f.entry.js +2 -0
  763. package/dist/ui-library/p-f18ba86f.entry.js.map +1 -0
  764. package/dist/ui-library/p-f4938771.entry.js +2 -0
  765. package/dist/ui-library/p-f4938771.entry.js.map +1 -0
  766. package/dist/ui-library/p-f70e2403.entry.js +2 -0
  767. package/dist/ui-library/p-f70e2403.entry.js.map +1 -0
  768. package/dist/ui-library/p-f9d345e0.entry.js +2 -0
  769. package/dist/ui-library/p-f9d345e0.entry.js.map +1 -0
  770. package/dist/ui-library/p-fed07a1f.entry.js +2 -0
  771. package/dist/ui-library/p-fed07a1f.entry.js.map +1 -0
  772. package/dist/ui-library/p-ff0257bf.entry.js +2 -0
  773. package/dist/ui-library/p-ff0257bf.entry.js.map +1 -0
  774. package/dist/ui-library/ui-library.css +2 -2
  775. package/dist/ui-library/ui-library.esm.js +2 -1
  776. package/dist/ui-library/ui-library.esm.js.map +1 -0
  777. package/loader/index.d.ts +9 -0
  778. package/loader/package.json +1 -0
  779. package/package.json +8 -12
  780. package/readme.md +41 -39
  781. package/dist/cjs/six-table-cell_4.cjs.entry.js +0 -102
  782. package/dist/cjs/six-table.cjs.entry.js +0 -168
  783. package/dist/cjs/types-581e8ff0.js +0 -15
  784. package/dist/collection/components/six-table/six-table.css +0 -44
  785. package/dist/collection/components/six-table/six-table.js +0 -209
  786. package/dist/collection/components/six-table/test/helpers.js +0 -13
  787. package/dist/collection/components/six-table/types.js +0 -8
  788. package/dist/collection/components/six-table/util/filter-by.js +0 -34
  789. package/dist/collection/components/six-table/util/from-data.js +0 -33
  790. package/dist/collection/components/six-table/util/is.js +0 -3
  791. package/dist/collection/components/six-table/util/quick-filter-by.js +0 -13
  792. package/dist/collection/components/six-table/util/sort-by.js +0 -25
  793. package/dist/collection/components/six-table-cell/six-table-cell.css +0 -13
  794. package/dist/collection/components/six-table-cell/six-table-cell.js +0 -21
  795. package/dist/collection/components/six-table-header/six-table-header.css +0 -17
  796. package/dist/collection/components/six-table-header/six-table-header.js +0 -21
  797. package/dist/collection/components/six-table-header-cell/get-next-state.js +0 -7
  798. package/dist/collection/components/six-table-header-cell/icons.js +0 -12
  799. package/dist/collection/components/six-table-header-cell/six-table-header-cell.css +0 -37
  800. package/dist/collection/components/six-table-header-cell/six-table-header-cell.js +0 -174
  801. package/dist/collection/components/six-table-header-cell/types.js +0 -13
  802. package/dist/collection/components/six-table-header-cell/util/create-model.js +0 -6
  803. package/dist/collection/components/six-table-header-cell/util/get-next-state.js +0 -7
  804. package/dist/collection/components/six-table-row/six-table-row.css +0 -16
  805. package/dist/collection/components/six-table-row/six-table-row.js +0 -21
  806. package/dist/custom-elements/index.d.ts +0 -387
  807. package/dist/esm/six-table-cell_4.entry.js +0 -95
  808. package/dist/esm/six-table.entry.js +0 -164
  809. package/dist/esm/types-ed860f7c.js +0 -15
  810. package/dist/types/components/six-table/six-table.d.ts +0 -30
  811. package/dist/types/components/six-table/test/helpers.d.ts +0 -2
  812. package/dist/types/components/six-table/types.d.ts +0 -33
  813. package/dist/types/components/six-table/util/filter-by.d.ts +0 -2
  814. package/dist/types/components/six-table/util/from-data.d.ts +0 -8
  815. package/dist/types/components/six-table/util/is.d.ts +0 -3
  816. package/dist/types/components/six-table/util/quick-filter-by.d.ts +0 -2
  817. package/dist/types/components/six-table/util/sort-by.d.ts +0 -2
  818. package/dist/types/components/six-table-cell/six-table-cell.d.ts +0 -9
  819. package/dist/types/components/six-table-header/six-table-header.d.ts +0 -9
  820. package/dist/types/components/six-table-header-cell/get-next-state.d.ts +0 -2
  821. package/dist/types/components/six-table-header-cell/icons.d.ts +0 -3
  822. package/dist/types/components/six-table-header-cell/six-table-header-cell.d.ts +0 -32
  823. package/dist/types/components/six-table-header-cell/types.d.ts +0 -11
  824. package/dist/types/components/six-table-header-cell/util/create-model.d.ts +0 -4
  825. package/dist/types/components/six-table-header-cell/util/get-next-state.d.ts +0 -3
  826. package/dist/types/components/six-table-row/six-table-row.d.ts +0 -9
  827. package/dist/ui-library/p-007bc8e8.entry.js +0 -1
  828. package/dist/ui-library/p-044b784e.entry.js +0 -1
  829. package/dist/ui-library/p-0493c926.entry.js +0 -1
  830. package/dist/ui-library/p-07d1e830.js +0 -1
  831. package/dist/ui-library/p-09cb13fa.entry.js +0 -1
  832. package/dist/ui-library/p-0c596054.entry.js +0 -1
  833. package/dist/ui-library/p-1005d1a8.entry.js +0 -1
  834. package/dist/ui-library/p-19ff1079.entry.js +0 -1
  835. package/dist/ui-library/p-1b8dc7b7.entry.js +0 -1
  836. package/dist/ui-library/p-2053c61a.entry.js +0 -1
  837. package/dist/ui-library/p-281e8c2d.entry.js +0 -1
  838. package/dist/ui-library/p-2924f82f.entry.js +0 -1
  839. package/dist/ui-library/p-2d7ed407.entry.js +0 -1
  840. package/dist/ui-library/p-30ebc1e7.js +0 -1
  841. package/dist/ui-library/p-354704e5.entry.js +0 -1
  842. package/dist/ui-library/p-376b8f30.entry.js +0 -1
  843. package/dist/ui-library/p-3a7daff8.entry.js +0 -1
  844. package/dist/ui-library/p-3f577392.entry.js +0 -1
  845. package/dist/ui-library/p-4162dcdd.entry.js +0 -1
  846. package/dist/ui-library/p-4d3a4e93.entry.js +0 -1
  847. package/dist/ui-library/p-4ed023b8.entry.js +0 -1
  848. package/dist/ui-library/p-530ea6ec.entry.js +0 -1
  849. package/dist/ui-library/p-531ab886.entry.js +0 -1
  850. package/dist/ui-library/p-54c48654.entry.js +0 -1
  851. package/dist/ui-library/p-55c64cbc.entry.js +0 -1
  852. package/dist/ui-library/p-5f1c6a5f.js +0 -1
  853. package/dist/ui-library/p-6494e92d.entry.js +0 -1
  854. package/dist/ui-library/p-66601906.entry.js +0 -1
  855. package/dist/ui-library/p-675a8243.entry.js +0 -1
  856. package/dist/ui-library/p-6a4f0542.entry.js +0 -1
  857. package/dist/ui-library/p-6d622ed0.entry.js +0 -1
  858. package/dist/ui-library/p-75297ad7.js +0 -1
  859. package/dist/ui-library/p-76bfa55f.entry.js +0 -1
  860. package/dist/ui-library/p-7fe09462.entry.js +0 -1
  861. package/dist/ui-library/p-88e1e390.entry.js +0 -1
  862. package/dist/ui-library/p-8e8e922b.entry.js +0 -1
  863. package/dist/ui-library/p-90b26447.entry.js +0 -1
  864. package/dist/ui-library/p-93945629.entry.js +0 -1
  865. package/dist/ui-library/p-a98198bd.entry.js +0 -1
  866. package/dist/ui-library/p-aa37e45a.entry.js +0 -1
  867. package/dist/ui-library/p-b391f704.entry.js +0 -1
  868. package/dist/ui-library/p-b9377445.entry.js +0 -1
  869. package/dist/ui-library/p-bf110ea9.entry.js +0 -1
  870. package/dist/ui-library/p-c24292b3.entry.js +0 -1
  871. package/dist/ui-library/p-c4b22513.entry.js +0 -1
  872. package/dist/ui-library/p-c536792e.entry.js +0 -1
  873. package/dist/ui-library/p-cd79de73.entry.js +0 -1
  874. package/dist/ui-library/p-ce02c34f.entry.js +0 -1
  875. package/dist/ui-library/p-d28ac80a.entry.js +0 -1
  876. package/dist/ui-library/p-d724bbc9.entry.js +0 -1
  877. package/dist/ui-library/p-d837e5a8.entry.js +0 -1
  878. package/dist/ui-library/p-dd3cae68.entry.js +0 -1
  879. package/dist/ui-library/p-ea781e94.entry.js +0 -1
  880. package/dist/ui-library/p-eae232c3.entry.js +0 -1
  881. package/dist/ui-library/p-eb0956d2.entry.js +0 -1
  882. package/dist/ui-library/p-f00c1783.entry.js +0 -1
@@ -0,0 +1 @@
1
+ {"file":"six-datepicker.entry.js","mappings":"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","names":[],"sources":["./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":["import { isDate, isNil, isNumber, isString } from './type-check';\nimport { SixDateFormats } from '../components/six-datepicker/six-date-formats';\nimport { CalendarCell } from '../components/six-datepicker/six-datepicker';\n\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};\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 pad = (value: number) => String(value).padStart(2, '0');\n\n/**\n * Returns `true` if the given date is valid\n */\nexport const isValidDate = (value: any): boolean => {\n if (isNil(value)) {\n return false;\n }\n\n if (isNumber(value)) {\n return false;\n }\n\n if (isDate(value)) {\n return !isNaN(value.getTime());\n }\n\n return 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, b: Date) => a?.getFullYear() === b?.getFullYear();\n\n/**\n * Returns `true` when the month of the dates are the same\n */\nexport const isSameMonth = (a: Date, b: Date) => 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, b: Date) => 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, 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, format: string) => {\n if (!date) {\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) => {\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) => {\n const dateString = getCleanDateString(dirtyDateString, format);\n\n return makeParser(dateString, format);\n};\n\nexport const toDate = (dirtyDateString: string, format: string) => {\n try {\n const { backupDate = new Date() } = {};\n const { year, month, day, hour, minute, second, date } = getDateParts(dirtyDateString, format);\n\n if (date) {\n return date;\n }\n\n const inputArray = [year, month, day, hour, minute, second];\n\n let parsedDate: Date;\n\n const result = getFullInputArray(inputArray, backupDate);\n\n parsedDate = createDate(...result);\n\n return parsedDate;\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 dateFormat: SixDateFormats;\n pointerDate: { month: number; year: number; day: number };\n allowedDates: (date: Date) => boolean;\n maxDate: Date;\n locale: 'en' | 'de' | 'fr' | 'it';\n selectedDate: Date;\n}\n\nexport const createCalendarGrid = (calendarGridArguments: CalendarGridArgs) => {\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","export 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 { now } from '../../../utils/date-util';\n\nexport const MonthSelection = ({ locale, selectedDate, onClickMonthCell }) => {\n const isToday = (value: string) => locale.monthsShort[now().getMonth()] === value;\n\n const isSelectedMonth = (value: string) =>\n 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) => (\n <tr class=\"datepicker-table__row\">\n {row.map((month) => (\n <td\n onClick={() => 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';\n\nexport const DaySelection = ({ locale, calendarGrid, onClickDateCell }) => {\n return (\n <table class=\"datepicker-table\" part=\"day-selection\">\n <thead part=\"weekday-header\">\n {locale.weekdaysMin.map((weekday) => (\n <th class=\"datepicker__cell\">{weekday}</th>\n ))}\n </thead>\n <tbody>\n {calendarGrid.map((row) => (\n <tr class=\"datepicker-table__row\">\n {row.map((cell) => (\n <td\n data-date={cell.dateString}\n onClick={() => 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\nexport const YearSelection = ({ selectedDate, yearSelection, onClickYearCell }) => {\n return (\n <table class=\"datepicker-table\" part=\"year-selection\">\n <tbody>\n {yearSelection.map((row) => (\n <tr class=\"datepicker-table__row\">\n {row.map((year) => (\n <td\n onClick={() => onClickYearCell(year)}\n class={{\n 'datepicker-table__cell': true,\n 'datepicker-table__cell--is-today': now().getFullYear() === year,\n 'datepicker-table__cell--is-selected': 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: 0 2px 4px -1px rgb(0 0 0 / 20%), 0 4px 5px 0 rgb(0 0 0 / 14%), 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 seconds,\n toDate,\n year,\n} from '../../utils/date-util';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { isNil } from '../../utils/type-check';\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 { SixTimePropertyName } from '../six-timepicker/six-timepicker.types';\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\nconst getYearSelectionAroundYear = (year: number): number[][] => {\n const numberOfElementsPerRow = 5;\n return Array.from(new Array(NUMBER_OF_YEARS_SHOWN).keys())\n .map((n) => n + year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2))\n .reduce((curr, item, index) => {\n if (index % numberOfElementsPerRow === 0) {\n curr.push([]);\n }\n\n curr[curr.length - 1].push(item);\n\n return curr;\n }, []);\n};\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define a footer for the date picker.\n */\n@Component({\n tag: 'six-datepicker',\n styleUrl: 'six-datepicker.scss',\n shadow: true,\n})\nexport class SixDatepicker {\n private readonly eventListeners = new EventListeners();\n\n private inputElement: HTMLSixInputElement;\n\n private popup: HTMLElement;\n\n private wrapper: HTMLElement;\n\n @Element()\n readonly host: HTMLSixDatepickerElement;\n\n private selectedDate: Date | null = null;\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' = '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 | null = null;\n\n /**\n * The maximum datetime allowed. Value must be a date object\n */\n @Prop() max?: Date | null = null;\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 make the input a required field. */\n @Prop({ reflect: true }) required: boolean;\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 | null;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string | null;\n\n /**\n * The value of the form field, which accepts a date object.\n */\n @Prop({ mutable: true }) value?: Date | null = null;\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 /** Set to display the error text on blur and not when typing */\n @Prop() errorOnBlur = false;\n\n /** The input's error text. Alternatively, you can use the error-text slot. */\n @Prop() errorText = '';\n\n /** The input's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\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 // map unreadable values to undefined to make the datepicker fault-tolerant\n if (this.isValidValue()) {\n console.warn('Encountered unreadable date, will map to undefined. Received value', this.value);\n this.value = undefined;\n return;\n }\n\n this.selectedDate = this.value;\n this.updatePointerDates();\n this.sixSelect.emit(this.value);\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.calcIsDropDownContentUp();\n this.moveOpenHoistedPopup();\n this.adjustPopupPosition();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.calcIsDropDownContentUp();\n this.moveOpenHoistedPopup();\n }\n\n private defaultValue: Date = null;\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 /** Checks for validity and shows the browser's validation message if the control is invalid. */\n @Method()\n async reportValidity() {\n return this.inputElement.reportValidity();\n }\n\n /** Checks for validity. */\n @Method()\n async checkValidity() {\n return this.inputElement.checkValidity();\n }\n\n /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */\n @Method()\n async setCustomValidity(message: string) {\n await this.inputElement.setCustomValidity(message);\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n this.value = this.defaultValue;\n this.inputElement.value = formatDate(this.defaultValue, this.dateFormat);\n await this.inputElement.reset();\n }\n\n private isValidValue() {\n if (this.value === undefined || this.value === null) {\n return false;\n }\n\n if (!(this.value instanceof Date)) {\n return true;\n }\n\n return this.value instanceof Date && isNaN(this.value as any);\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 calcIsDropDownContentUp() {\n if (!this.inputElement || !this.wrapper) {\n return;\n }\n\n const inputBoundingRect = this.inputElement.getBoundingClientRect();\n const wrapperBoundingRect = this.wrapper.getBoundingClientRect();\n const minPopupHeight = Math.max(wrapperBoundingRect.height, MIN_POPUP_HEIGHT);\n\n const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;\n this.isDropDownContentUp = moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + minPopupHeight;\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 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 handleDocumentKeyDown = (event: KeyboardEvent) => {\n // Close when escape is pressed\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.closePopup();\n void this.inputElement.setFocus();\n }\n\n // Handle tabbing\n if (event.key === 'Tab') {\n this.closePopup();\n }\n };\n\n handleDocumentMouseDown = (event: MouseEvent) => {\n // Close when clicking outside of 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 handleClearClick(event: MouseEvent) {\n event.stopPropagation();\n void 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() {\n if (this.selectedDate !== undefined && this.selectedDate !== null) {\n return this.selectedDate;\n }\n\n if (isNil(this.defaultDate)) {\n return now();\n } else {\n return this.defaultDate && toDate(this.defaultDate, this.dateFormat);\n }\n }\n\n private updateValue(newDate: Date | undefined | null) {\n this.displayCustomMessage(true);\n this.updateIfChanged(newDate);\n }\n\n updateIfChanged(newDate: Date) {\n if (this.value?.getTime() === newDate?.getTime()) {\n return;\n }\n\n this.value = newDate;\n }\n\n /**\n * Selects an option\n */\n @Method()\n async select(datestring: string) {\n if (!datestring) {\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 onTimepickerChange = (sixTimepickerChange: CustomEvent<SixTimepickerChange>) => {\n const time = sixTimepickerChange.detail.value;\n const newDate = new Date();\n\n if (this.selectedDate) {\n newDate.setFullYear(this.selectedDate.getFullYear(), this.selectedDate.getMonth(), this.selectedDate.getDate());\n }\n\n newDate.setHours(\n time[SixTimePropertyName.HOURS],\n time[SixTimePropertyName.MINUTES],\n time[SixTimePropertyName.SECONDS]\n );\n\n this.updateValue(newDate);\n this.updatePointerDates();\n };\n\n onClickDateCell = (cell: CalendarCell) => {\n if (!cell.isDisabled) {\n void this.select(cell.dateString);\n }\n };\n\n 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 onClickYearCell = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = SelectionMode.DAY;\n };\n\n handleInputChange = (event: Event) => {\n const inputValue = this.inputElement.value;\n\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 if (this.min && this.min.getTime() > inputValueDate.getTime()) {\n return;\n }\n\n if (this.max && this.max.getTime() < inputValueDate.getTime()) {\n return;\n }\n\n this.updateIfChanged(inputValueDate);\n event.stopPropagation();\n\n const datesOnly = inputValue.replace(/[^\\d]/g, '');\n\n let isDateValid = !inputValue;\n\n if (inputValue && datesOnly.length >= 6) {\n const date = toDate(inputValue, this.dateFormat);\n const datestring = formatDate(date, this.dateFormat);\n if (isValidDateString(datestring, this.dateFormat)) {\n this.selectedDate = toDate(datestring, this.dateFormat);\n this.updatePointerDates();\n this.updateValue(this.selectedDate);\n isDateValid = true;\n }\n }\n this.displayCustomMessage(isDateValid);\n };\n\n handleOnBlur = (event: Event) => {\n // clear the value if the user deleted the date\n if (this.inputElement.value === '' && isValidDate(this.value)) {\n this.value = undefined;\n }\n\n event.stopPropagation();\n const inputValue = this.inputElement.value;\n const inputValueDate = toDate(inputValue, this.dateFormat);\n const formattedDate = formatDate(this.value, this.dateFormat);\n\n if (inputValueDate && inputValue !== formattedDate) {\n // properly format date if necessary\n this.inputElement.value = formattedDate;\n }\n\n this.sixBlur.emit(this.value);\n };\n\n componentWillLoad() {\n this.validateProps();\n\n this.defaultValue = this.value;\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 private validateProps() {\n if (this.value !== null && this.value !== undefined && !(this.value instanceof Date)) {\n throw new Error('Datepicker no longer supports strings as value. Use a date object instead!');\n }\n\n if (this.min !== null && this.min !== undefined && !(this.min instanceof Date)) {\n throw new Error('Datepicker no longer supports strings as min. Use a date object instead!');\n }\n\n if (this.max !== null && this.max !== undefined && !(this.max instanceof Date)) {\n throw new Error('Datepicker no longer supports strings as min. Use a date object instead!');\n }\n }\n\n componentDidLoad() {\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 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 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={getYearSelectionAroundYear(this.pointerDate.year)}\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 error-text={this.errorText}\n error-on-blur={this.errorOnBlur}\n onClick={() => this.openCalendar()}\n size={this.size}\n class={{ 'input--empty': !this.value }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\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 ? 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 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 this.adjustPopupForHoisting();\n this.adjustPopupForSmallScreens();\n }\n\n /*\n * The position of the hoisted datepicker needs to be correctly calculated since the position changes to fixed.\n * Thus if the user scrolls or adjusts the screen size we need to recalculate the datepicker position.\n */\n private moveOpenHoistedPopup() {\n if (!this.hoist || !this.open) {\n return;\n }\n\n const popupBoundingClientRect = this.popup.getBoundingClientRect();\n const popupHeight = popupBoundingClientRect.height;\n const inputBoundingClientRect = this.inputElement.getBoundingClientRect();\n const inputTop = inputBoundingClientRect.top;\n const inputHeight = inputBoundingClientRect.height;\n\n this.calcIsDropDownContentUp();\n\n if (this.isDropDownContentUp) {\n this.popup.style.top = `${inputTop - popupHeight}px`;\n } else {\n this.popup.style.top = `${inputTop + inputHeight}px`;\n }\n }\n\n /*\n * For small screens the datepicker popup could be cut-off even though there might still be space within the viewport.\n * This is because the popup is always aligned with the trigger input field. However in the scenario of small screens\n * we should reposition the popup to use the space available.\n */\n private adjustPopupForSmallScreens() {\n // execute after dropdown has been rendered to make sure the popup reference is correctly set\n setTimeout(() => {\n if (!this.popup) {\n return;\n }\n\n const popupBoundingClientRect = this.popup.getBoundingClientRect();\n\n const setPopupAsFixPosition = () => {\n // apply screen position to fixed popup\n this.popup.style.position = 'fixed';\n ['top', 'left', 'width', 'height'].forEach((property) => {\n this.popup.style[property] = `${popupBoundingClientRect[property]}px`;\n });\n };\n\n if (\n popupBoundingClientRect.y < 0 &&\n window.innerHeight - popupBoundingClientRect.height > 0 &&\n Math.abs(popupBoundingClientRect.y) <= popupBoundingClientRect.height\n ) {\n // handle case where popup is cut-off on top but there is still space available\n\n setPopupAsFixPosition();\n this.popup.style.top = '0px';\n } else if (\n window.innerHeight < popupBoundingClientRect.y + popupBoundingClientRect.height &&\n window.innerHeight > popupBoundingClientRect.height &&\n Math.abs(popupBoundingClientRect.y - window.innerHeight) <= popupBoundingClientRect.height\n ) {\n // handle case where popup is cut-off at the bottom but there is still space available above\n // apply screen position to fixed popup\n setPopupAsFixPosition();\n this.popup.style.top = `${window.innerHeight - popupBoundingClientRect.height}px`;\n }\n\n if (\n window.innerWidth < popupBoundingClientRect.x + popupBoundingClientRect.width &&\n window.innerWidth > popupBoundingClientRect.width &&\n Math.abs(popupBoundingClientRect.x - window.innerWidth) <= popupBoundingClientRect.width\n ) {\n // handle case where popup is cut-off to the right\n setPopupAsFixPosition();\n this.popup.style.left = `${window.innerWidth - popupBoundingClientRect.width}px`;\n }\n }, 0);\n }\n\n /*\n * If the popup is hoisted we popup is hoisted its position will change to fix to not be clipped of by a containing container.\n * To render the popup correctly we render it normally, and then assign this screenposition to the fixed popup\n */\n private adjustPopupForHoisting() {\n if (!this.hoist) {\n return;\n }\n\n // execute after dropdown has been rendered to make sure the popup reference is correctly set\n setTimeout(() => {\n if (!this.popup) {\n return;\n }\n\n // take a snapshot of normally rendered popup\n const popupBoundingClientRect = this.popup.getBoundingClientRect();\n\n // apply screen position to fixed popup\n this.popup.style.position = 'fixed';\n ['top', 'left', 'width', 'height'].forEach((property) => {\n this.popup.style[property] = `${popupBoundingClientRect[property]}px`;\n });\n\n const inputBoundingClientRect = this.inputElement.getBoundingClientRect();\n const inputTop = inputBoundingClientRect.top;\n const popupTop = popupBoundingClientRect.top;\n\n this.calcIsDropDownContentUp();\n // check screen position to check whether the popup should be moved above or below the trigger element\n if (this.isDropDownContentUp && inputTop < popupTop) {\n // move popup above input field if datepicker is at bottom of screen\n this.popup.style.top = `${popupTop - popupBoundingClientRect.height - inputBoundingClientRect.height}px`;\n }\n }, 0);\n }\n\n connectedCallback() {\n this.handleClearClick = this.handleClearClick.bind(this);\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private displayCustomMessage(valid: boolean) {\n if (!this.inputElement) {\n return;\n }\n if (valid) {\n void this.setCustomValidity('');\n } else {\n const message = this.errorText ? this.errorText : 'Invalid date format';\n void this.setCustomValidity(message);\n }\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"],"version":3}
@@ -1,30 +1,25 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-a2605a62.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-5c0f6628.js';
2
2
  import { f as focusVisible } from './focus-visible-97933ea9.js';
3
3
 
4
4
  const sixDetailsCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--hide-duration:var(--six-transition-medium);--hide-timing-function:ease;--show-duration:var(--six-transition-medium);--show-timing-function:ease;font-family:var(--six-font-family);display:block}.details{border:solid var(--six-border-width) var(--six-input-border-color);border-radius:var(--six-border-radius-medium);color:var(--six-details-color);overflow-anchor:none;font-size:var(--six-input-font-size-medium)}.details:hover:not(.details--disabled):not(.details--open){border-color:var(--six-input-border-color-hover)}.details.inline{border:none;color:var(--six-sidebar-color)}.details.inline:hover{background-color:var(--six-sidebar-hover-background-color)}.details.inline.details--open{background-color:var(--six-color-web-rock-50)}.details.inline.details--open:hover{border:none;box-shadow:none}.details.inline.details--open>.details__header{color:var(--six-sidebar-color);font-weight:var(--six-font-weight-bold);background-color:var(--six-sidebar-header-background-color)}.details--disabled{background-color:var(--six-input-background-color-disabled);border-color:var(--six-input-border-color-disabled);color:var(--six-input-color-disabled)}.details__header{display:flex;align-items:center;border-radius:inherit;padding:var(--six-spacing-medium);user-select:none;cursor:pointer}.details__header:focus{outline:none}.details--disabled .details__header{cursor:not-allowed;border-width:1px}.details--disabled .details__header:focus{outline:none;box-shadow:none}.details__summary{flex:1 1 auto;display:flex;align-items:center}.details__summary-icon{flex:0 0 auto;display:flex;align-items:center;font-size:1.2em;transition:var(--six-transition-medium) transform ease}.details--open .details__summary-icon--animate{transform:rotate(-180deg)}.details--open:hover{color:var(--six-input-color-focus)}.details__body{height:0;overflow:hidden;transition-property:height;transition-duration:var(--hide-duration);transition-timing-function:var(--hide-timing-function)}.details--open .details__body{transition-duration:var(--show-duration);transition-timing-function:var(--show-timing-function)}.details__content{padding:var(--six-spacing-medium)}";
5
5
 
6
6
  let id = 0;
7
- let SixDetails = class {
7
+ const SixDetails = class {
8
8
  constructor(hostRef) {
9
9
  registerInstance(this, hostRef);
10
10
  this.sixShow = createEvent(this, "six-details-show", 7);
11
11
  this.sixAfterShow = createEvent(this, "six-details-after-show", 7);
12
12
  this.sixHide = createEvent(this, "six-details-hide", 7);
13
13
  this.sixAfterHide = createEvent(this, "six-details-after-hide", 7);
14
- this.animateSummaryIcon = true;
15
14
  this.componentId = `details-${++id}`;
16
15
  this.isVisible = false;
17
- /** Indicates whether or not the details is open. You can use this in lieu of the show/hide methods. */
16
+ this.animateSummaryIcon = true;
18
17
  this.open = false;
19
- /** The summary to show in the details header. If you need to display HTML, use the `summary` slot instead. */
20
18
  this.summary = '';
21
- /** The icon's size. */
19
+ this.summaryIcon = undefined;
22
20
  this.summaryIconSize = 'inherit';
23
- /** Set to true to prevent the user from toggling the details. */
24
21
  this.disabled = false;
25
- /** Set to true when you want to use six-details inline e.g. in a sidebar */
26
22
  this.inline = false;
27
- /** Set to true when you want details without content to be selectable. This is important if you e.g. have a toggled sidebar where some menus have no children */
28
23
  this.selectableEmpty = false;
29
24
  this.hasContent = true;
30
25
  }
@@ -144,3 +139,5 @@ let SixDetails = class {
144
139
  SixDetails.style = sixDetailsCss;
145
140
 
146
141
  export { SixDetails as six_details };
142
+
143
+ //# sourceMappingURL=six-details.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"six-details.entry.js","mappings":"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","names":[],"sources":["./src/components/six-details/six-details.scss?tag=six-details&encapsulation=shadow","./src/components/six-details/six-details.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --hide-duration: The length of the hide transition.\n * @prop --hide-timing-function: The timing function (easing) to use for the hide transition.\n * @prop --show-duration: The length of the show transition.\n * @prop --show-timing-function: The timing function (easing) to use for the show transition.\n */\n:host {\n --hide-duration: var(--six-transition-medium);\n --hide-timing-function: ease;\n --show-duration: var(--six-transition-medium);\n --show-timing-function: ease;\n\n font-family: var(--six-font-family);\n display: block;\n}\n\n.details {\n border: solid var(--six-border-width) var(--six-input-border-color);\n border-radius: var(--six-border-radius-medium);\n color: var(--six-details-color);\n overflow-anchor: none;\n font-size: var(--six-input-font-size-medium);\n\n &:hover:not(.details--disabled):not(.details--open) {\n border-color: var(--six-input-border-color-hover);\n }\n\n &.inline {\n border: none;\n color: var(--six-sidebar-color);\n\n &:hover {\n background-color: var(--six-sidebar-hover-background-color);\n }\n\n &.details--open {\n background-color: var(--six-color-web-rock-50);\n\n &:hover {\n border: none;\n box-shadow: none;\n }\n\n & > .details__header {\n color: var(--six-sidebar-color);\n font-weight: var(--six-font-weight-bold);\n background-color: var(--six-sidebar-header-background-color);\n }\n }\n }\n}\n\n.details--disabled {\n background-color: var(--six-input-background-color-disabled);\n border-color: var(--six-input-border-color-disabled);\n color: var(--six-input-color-disabled);\n}\n\n.details__header {\n display: flex;\n align-items: center;\n border-radius: inherit;\n padding: var(--six-spacing-medium);\n user-select: none;\n cursor: pointer;\n\n &:focus {\n outline: none;\n }\n}\n\n.focus-visible .details__header:focus {\n}\n\n.details--disabled .details__header {\n cursor: not-allowed;\n border-width: 1px;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n}\n\n.details__summary {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n}\n\n.details__summary-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: 1.2em;\n transition: var(--six-transition-medium) transform ease;\n}\n\n.details--open .details__summary-icon--animate {\n transform: rotate(-180deg);\n}\n\n.details--open:hover {\n color: var(--six-input-color-focus);\n}\n\n.details__body {\n height: 0;\n overflow: hidden;\n transition-property: height;\n transition-duration: var(--hide-duration);\n transition-timing-function: var(--hide-timing-function);\n}\n\n.details--open .details__body {\n transition-duration: var(--show-duration);\n transition-timing-function: var(--show-timing-function);\n}\n\n.details__content {\n padding: var(--six-spacing-medium);\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { focusVisible } from '../../utils/focus-visible';\nimport { EmptyPayload } from '../../utils/types';\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The details' content.\n * @slot summary - The details' summary. Alternatively, you can use the summary prop.\n *\n * @part base - The component's base wrapper.\n * @part header - The summary header.\n * @part summary - The details summary.\n * @part summary-icon - The expand/collapse summary icon.\n * @part content - The details content.\n */\n\n@Component({\n tag: 'six-details',\n styleUrl: 'six-details.scss',\n shadow: true,\n})\nexport class SixDetails {\n @Element() readonly host: HTMLSixDetailsElement;\n\n @State() animateSummaryIcon = true;\n\n body: HTMLElement;\n componentId = `details-${++id}`;\n details: HTMLElement;\n header: HTMLElement;\n isVisible = false;\n\n /** Indicates whether or not the details is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** The summary to show in the details header. If you need to display HTML, use the `summary` slot instead. */\n @Prop() summary = '';\n\n /** The summary icon to show in the details header. If you need to display HTML, use the `summary-icon` slot instead. */\n @Prop() summaryIcon: string;\n\n /** The icon's size. */\n @Prop({ reflect: true }) summaryIconSize:\n | 'inherit'\n | 'xSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'xLarge'\n | 'xxLarge'\n | 'xxxLarge' = 'inherit';\n\n /** Set to true to prevent the user from toggling the details. */\n @Prop() disabled = false;\n\n /** Set to true when you want to use six-details inline e.g. in a sidebar */\n @Prop() inline = false;\n\n /** Set to true when you want details without content to be selectable. This is important if you e.g. have a toggled sidebar where some menus have no children */\n @Prop() selectableEmpty = false;\n\n @Prop() readonly hasContent: boolean = true;\n\n @Watch('open')\n handleOpenChange() {\n if (this.body) {\n this.open ? this.show() : this.hide();\n }\n }\n\n /** Emitted when the details opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-details-show' }) sixShow: EventEmitter<EmptyPayload>;\n\n /** Emitted after the details opens and all transitions are complete. */\n @Event({ eventName: 'six-details-after-show' }) sixAfterShow: EventEmitter<EmptyPayload>;\n\n /** Emitted when the details closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-details-hide' }) sixHide: EventEmitter<EmptyPayload>;\n\n /** Emitted after the details closes and all transitions are complete. */\n @Event({ eventName: 'six-details-after-hide' }) sixAfterHide: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleBodyTransitionEnd = this.handleBodyTransitionEnd.bind(this);\n this.handleSummaryClick = this.handleSummaryClick.bind(this);\n this.handleSummaryKeyDown = this.handleSummaryKeyDown.bind(this);\n }\n\n componentDidLoad() {\n focusVisible.observe(this.details);\n\n this.body.hidden = !this.open;\n\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n disconnectedCallback() {\n focusVisible.unobserve(this.details);\n }\n\n /** Shows the detail body */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.body.hidden = false;\n\n if (this.body.scrollHeight === 0) {\n // When the scroll height can't be measured, use auto. This prevents a borked open state when the details is open\n // intiially, but not immediately visible (i.e. in a tab panel).\n this.body.style.height = 'auto';\n this.body.style.overflow = 'visible';\n } else {\n this.body.style.height = `${this.body.scrollHeight}px`;\n this.body.style.overflow = 'hidden';\n }\n\n this.isVisible = true;\n this.open = true;\n }\n\n /** Hides the detail body */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n // We can't transition out of `height: auto`, so let's set it to the current height first\n this.body.style.height = `${this.body.scrollHeight}px`;\n this.body.style.overflow = 'hidden';\n\n requestAnimationFrame(() => {\n // tslint:disable-next-line: no-unused-expression\n this.body.clientWidth; // force a reflow\n this.body.style.height = '0';\n });\n\n this.isVisible = false;\n this.open = false;\n }\n\n handleBodyTransitionEnd(event: TransitionEvent) {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'height' && target.classList.contains('details__body')) {\n this.body.style.overflow = this.open ? 'visible' : 'hidden';\n this.body.style.height = this.open ? 'auto' : '0';\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n this.body.hidden = !this.open;\n }\n }\n\n handleSummaryClick() {\n if (!this.disabled && (this.hasContent || this.selectableEmpty)) {\n this.open ? this.hide() : this.show();\n this.header.focus();\n }\n }\n\n handleSummaryKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.open ? this.hide() : this.show();\n }\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {\n event.preventDefault();\n this.hide();\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {\n event.preventDefault();\n this.show();\n }\n }\n\n render() {\n const summaryIcon = this.hasContent && (this.summaryIcon || 'expand_more');\n\n return (\n <div\n ref={(el) => (this.details = el)}\n part=\"base\"\n class={{\n details: true,\n 'details--open': this.open,\n 'details--disabled': this.disabled,\n inline: this.inline,\n }}\n >\n <header\n ref={(el) => (this.header = el)}\n part=\"header\"\n id={`${this.componentId}-header`}\n class=\"details__header\"\n role=\"button\"\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`${this.componentId}-content`}\n aria-disabled={this.disabled ? 'true' : 'false'}\n tabIndex={this.disabled ? -1 : 0}\n onClick={this.handleSummaryClick}\n onKeyDown={this.handleSummaryKeyDown}\n >\n <div part=\"summary\" class=\"details__summary\">\n <slot name=\"summary\">{this.summary}</slot>\n </div>\n\n <span\n part=\"summary-icon\"\n class={{\n 'details__summary-icon': true,\n 'details__summary-icon--animate': this.animateSummaryIcon,\n }}\n >\n <slot name=\"summary-icon\" onSlotchange={() => (this.animateSummaryIcon = false)}>\n {summaryIcon && <six-icon size={this.summaryIconSize}>{summaryIcon}</six-icon>}\n </slot>\n </span>\n </header>\n\n <div ref={(el) => (this.body = el)} class=\"details__body\" onTransitionEnd={this.handleBodyTransitionEnd}>\n <div\n part=\"content\"\n id={`${this.componentId}-content`}\n class=\"details__content\"\n role=\"region\"\n aria-labelledby={`${this.componentId}-header`}\n >\n <slot />\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-a2605a62.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-5c0f6628.js';
2
2
  import { u as unlockBodyScrolling, l as lockBodyScrolling } from './scroll-180b53fd.js';
3
3
  import { h as hasSlot } from './slot-6f3984c7.js';
4
4
  import { i as isPreventScrollSupported, M as Modal } from './modal-5ebdc320.js';
@@ -7,7 +7,7 @@ const sixDialogCss = ":host{position:relative;box-sizing:border-box}:host *,:hos
7
7
 
8
8
  const hasPreventScroll = isPreventScrollSupported();
9
9
  let id = 0;
10
- let SixDialog = class {
10
+ const SixDialog = class {
11
11
  constructor(hostRef) {
12
12
  registerInstance(this, hostRef);
13
13
  this.sixShow = createEvent(this, "six-dialog-show", 7);
@@ -21,17 +21,8 @@ let SixDialog = class {
21
21
  this.willHide = false;
22
22
  this.hasFooter = false;
23
23
  this.isVisible = false;
24
- /** Indicates whether or not the dialog is open. You can use this in lieu of the show/hide methods. */
25
24
  this.open = false;
26
- /**
27
- * The dialog's label as displayed in the header. You should always include a relevant label even when using
28
- * `no-header`, as it is required for proper accessibility.
29
- */
30
25
  this.label = '';
31
- /**
32
- * Set to true to disable the header. This will also remove the default close button, so please ensure you provide an
33
- * easy, accessible way for users to dismiss the dialog.
34
- */
35
26
  this.noHeader = false;
36
27
  }
37
28
  handleOpenChange() {
@@ -157,3 +148,5 @@ let SixDialog = class {
157
148
  SixDialog.style = sixDialogCss;
158
149
 
159
150
  export { SixDialog as six_dialog };
151
+
152
+ //# sourceMappingURL=six-dialog.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"six-dialog.entry.js","mappings":"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","names":[],"sources":["./src/components/six-dialog/six-dialog.scss?tag=six-dialog&encapsulation=shadow","./src/components/six-dialog/six-dialog.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --width: The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.\n */\n:host {\n --width: 31rem;\n\n display: contents;\n}\n\n.dialog {\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: var(--six-z-index-dialog);\n color: var(--six-color-web-rock-900);\n\n &:not(.dialog--visible) {\n @include hidden;\n }\n}\n\n.dialog__panel {\n display: flex;\n flex-direction: column;\n z-index: 2;\n width: var(--width);\n max-width: calc(100% - var(--six-spacing-xx-large));\n max-height: calc(100% - var(--six-spacing-xx-large));\n background-color: var(--six-panel-background-color);\n border-radius: var(--six-border-radius-medium);\n box-shadow: var(--six-shadow-x-large);\n opacity: 0;\n transform: scale(0.8);\n transition: var(--six-transition-medium) opacity, var(--six-transition-medium) transform;\n\n &:focus {\n outline: none;\n }\n}\n\n// Ensure there's enough vertical padding for phones that don't update vh when chrome appears (e.g. iPhone)\n@media screen and (max-width: 420px) {\n .dialog__panel {\n max-height: 80vh;\n }\n}\n\n.dialog--open .dialog__panel {\n display: flex;\n opacity: 1;\n transform: none;\n}\n\n.dialog__header {\n flex: 0 0 auto;\n display: flex;\n}\n\n.dialog__title {\n flex: 1 1 auto;\n font-size: var(--six-font-size-x-large);\n font-weight: var(--six-font-weight-bold);\n line-height: var(--six-line-height-dense);\n padding: var(--six-spacing-large) var(--six-spacing-large) var(--six-spacing-small);\n}\n\n.dialog__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-x-large);\n padding: 0 var(--six-spacing-x-small);\n}\n\n.dialog__body {\n flex: 1 1 auto;\n padding: var(--six-spacing-small) var(--six-spacing-large) var(--six-spacing-large);\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.dialog__footer {\n flex: 0 0 auto;\n text-align: right;\n padding: var(--six-spacing-large);\n\n ::slotted(six-button:not(:first-of-type)) {\n margin-left: var(--six-spacing-xx-small);\n }\n}\n\n.dialog:not(.dialog--has-footer) .dialog__footer {\n display: none;\n}\n\n.dialog__overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--six-overlay-background-color);\n opacity: 0;\n transition: var(--six-transition-medium) opacity;\n}\n\n.dialog--open .dialog__overlay {\n opacity: 0.8;\n}\n","import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport { isPreventScrollSupported } from '../../utils/support';\nimport Modal from '../../utils/modal';\nimport { EmptyPayload } from '../../utils/types';\n\nconst hasPreventScroll = isPreventScrollSupported();\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The dialog's content.\n * @slot label - The dialog's label. Alternatively, you can use the label prop.\n * @slot footer - The dialog's footer, usually one or more buttons representing various options.\n *\n * @part base - The component's base wrapper.\n * @part overlay - The overlay.\n * @part panel - The dialog panel (where the dialog and its content is rendered).\n * @part header - The dialog header.\n * @part title - The dialog title.\n * @part close-button - The close button.\n * @part body - The dialog body.\n * @part footer - The dialog footer.\n *\n */\n@Component({\n tag: 'six-dialog',\n styleUrl: 'six-dialog.scss',\n shadow: true,\n})\nexport class SixDialog {\n componentId = `dialog-${++id}`;\n dialog: HTMLElement;\n modal: Modal;\n panel: HTMLElement;\n willShow = false;\n willHide = false;\n\n @Element() host: HTMLSixDialogElement;\n\n @State() hasFooter = false;\n @State() isVisible = false;\n\n /** Indicates whether or not the dialog is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /**\n * The dialog's label as displayed in the header. You should always include a relevant label even when using\n * `no-header`, as it is required for proper accessibility.\n */\n @Prop() label = '';\n\n /**\n * Set to true to disable the header. This will also remove the default close button, so please ensure you provide an\n * easy, accessible way for users to dismiss the dialog.\n */\n @Prop() noHeader = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the dialog opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-dialog-show' }) sixShow: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dialog opens and all transitions are complete. */\n @Event({ eventName: 'six-dialog-after-show' }) sixAfterShow: EventEmitter<EmptyPayload>;\n\n /** Emitted when the dialog closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-dialog-hide' }) sixHide: EventEmitter<EmptyPayload>;\n\n /** Emitted after the dialog closes and all transitions are complete. */\n @Event({ eventName: 'six-dialog-after-hide' }) sixAfterHide: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the dialog opens and the panel gains focus. Calling `event.preventDefault()` will prevent focus and\n * allow you to set it on a different element in the dialog, such as an input or button.\n */\n @Event({ eventName: 'six-dialog-initial-focus' }) sixInitialFocus: EventEmitter<EmptyPayload>;\n\n /** Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the dialog from closing. */\n @Event({ eventName: 'six-dialog-overlay-dismiss' }) sixOverlayDismiss: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleCloseClick = this.handleCloseClick.bind(this);\n this.handleTransitionEnd = this.handleTransitionEnd.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleOverlayClick = this.handleOverlayClick.bind(this);\n this.handleSlotChange = this.handleSlotChange.bind(this);\n\n this.modal = new Modal(this.host, {\n onFocusOut: () => this.panel.focus(),\n });\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n /** Shows the dialog */\n @Method()\n async show() {\n if (this.willShow) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.willShow = true;\n this.isVisible = true;\n this.open = true;\n this.modal.activate();\n\n lockBodyScrolling(this.host);\n\n if (this.open) {\n if (hasPreventScroll) {\n // Wait for the next frame before setting initial focus so the dialog is technically visible\n requestAnimationFrame(() => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n this.panel.focus({ preventScroll: true });\n }\n });\n } else {\n // Once Safari supports { preventScroll: true } we can remove this nasty little hack, but until then we need to\n // wait for the transition to complete before setting focus, otherwise the panel may render in a buggy way its\n // out of view initially.\n //\n // Fiddle: https://jsfiddle.net/g6buoafq/1/\n // Safari: https://bugs.webkit.org/show_bug.cgi?id=178583\n //\n this.dialog.addEventListener(\n 'transitionend',\n () => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n this.panel.focus();\n }\n },\n { once: true }\n );\n }\n }\n }\n\n /** Hides the dialog */\n @Method()\n async hide() {\n if (this.willHide) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.willHide = true;\n this.open = false;\n this.modal.deactivate();\n\n unlockBodyScrolling(this.host);\n }\n\n handleCloseClick() {\n this.hide();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.hide();\n }\n }\n\n handleOverlayClick() {\n const sixOverlayDismiss = this.sixOverlayDismiss.emit();\n\n if (!sixOverlayDismiss.defaultPrevented) {\n this.hide();\n }\n }\n\n handleSlotChange() {\n this.hasFooter = hasSlot(this.host, 'footer');\n }\n\n handleTransitionEnd(event: TransitionEvent) {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'opacity' && target.classList.contains('dialog__panel')) {\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.dialog = el)}\n part=\"base\"\n class={{\n dialog: true,\n 'dialog--open': this.open,\n 'dialog--visible': this.isVisible,\n 'dialog--has-footer': this.hasFooter,\n }}\n onKeyDown={this.handleKeyDown}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <div part=\"overlay\" class=\"dialog__overlay\" onClick={this.handleOverlayClick} />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"dialog__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : null}\n aria-labelledby={!this.noHeader ? `${this.componentId}-title` : null}\n tabIndex={0}\n >\n {!this.noHeader && (\n <header part=\"header\" class=\"dialog__header\">\n <span part=\"title\" class=\"dialog__title\" id={`${this.componentId}-title`}>\n <slot name=\"label\">\n {/* If there's no label, use an invisible character to prevent the heading from collapsing */}\n {this.label || String.fromCharCode(65279)}\n </slot>\n </span>\n <six-icon-button\n exportparts=\"base:close-button\"\n class=\"dialog__close\"\n name=\"close\"\n onClick={this.handleCloseClick}\n />\n </header>\n )}\n\n <div part=\"body\" class=\"dialog__body\">\n <slot />\n </div>\n\n <footer part=\"footer\" class=\"dialog__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-a2605a62.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-5c0f6628.js';
2
2
  import { u as unlockBodyScrolling, l as lockBodyScrolling } from './scroll-180b53fd.js';
3
3
  import { h as hasSlot } from './slot-6f3984c7.js';
4
4
  import { i as isPreventScrollSupported, M as Modal } from './modal-5ebdc320.js';
@@ -7,7 +7,7 @@ const sixDrawerCss = ":host{position:relative;box-sizing:border-box}:host *,:hos
7
7
 
8
8
  const hasPreventScroll = isPreventScrollSupported();
9
9
  let id = 0;
10
- let SixDrawer = class {
10
+ const SixDrawer = class {
11
11
  constructor(hostRef) {
12
12
  registerInstance(this, hostRef);
13
13
  this.sixShow = createEvent(this, "six-drawer-show", 7);
@@ -21,24 +21,10 @@ let SixDrawer = class {
21
21
  this.willHide = false;
22
22
  this.hasFooter = false;
23
23
  this.isVisible = false;
24
- /** Indicates whether or not the drawer is open. You can use this in lieu of the show/hide methods. */
25
24
  this.open = false;
26
- /**
27
- * The drawer's label as displayed in the header. You should always include a relevant label even when using
28
- * `no-header`, as it is required for proper accessibility.
29
- */
30
25
  this.label = '';
31
- /** The direction from which the drawer will open. */
32
26
  this.placement = 'right';
33
- /**
34
- * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of
35
- * its parent element, set this prop and add `position: relative` to the parent.
36
- */
37
27
  this.contained = false;
38
- /**
39
- * Removes the header. This will also remove the default close button, so please ensure you provide an easy,
40
- * accessible way for users to dismiss the drawer.
41
- */
42
28
  this.noHeader = false;
43
29
  }
44
30
  handleOpenChange() {
@@ -179,3 +165,5 @@ let SixDrawer = class {
179
165
  SixDrawer.style = sixDrawerCss;
180
166
 
181
167
  export { SixDrawer as six_drawer };
168
+
169
+ //# sourceMappingURL=six-drawer.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"six-drawer.entry.js","mappings":"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","names":[],"sources":["./src/components/six-drawer/six-drawer.scss?tag=six-drawer&encapsulation=shadow","./src/components/six-drawer/six-drawer.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --size: The preferred size of the drawer. This will be applied to the drawer's width or height depending on its\n * `placement`. Note that the drawer will shrink to accommodate smaller screens.\n */\n:host {\n --size: 25rem;\n\n display: contents;\n}\n\n.drawer {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n overflow: hidden;\n\n &:not(.drawer--visible) {\n @include hidden;\n }\n}\n\n.drawer--contained {\n position: absolute;\n z-index: initial;\n}\n\n.drawer--fixed {\n position: fixed;\n z-index: var(--six-z-index-drawer);\n}\n\n.drawer__panel {\n position: absolute;\n display: flex;\n flex-direction: column;\n z-index: 2;\n max-width: 100%;\n max-height: 100%;\n background-color: var(--six-drawer-background-color);\n color: var(--six-drawer-color);\n box-shadow: var(--six-shadow-x-large);\n transition: var(--six-transition-medium) transform;\n overflow: auto;\n pointer-events: all;\n\n &:focus {\n outline: none;\n }\n}\n\n.drawer--top .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, -100%);\n}\n\n.drawer--right .drawer__panel {\n top: 0;\n right: 0;\n bottom: auto;\n left: auto;\n width: var(--size);\n height: 100%;\n transform: translate(100%, 0);\n}\n\n.drawer--bottom .drawer__panel {\n top: auto;\n right: auto;\n bottom: 0;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, 100%);\n}\n\n.drawer--left .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: var(--size);\n height: 100%;\n transform: translate(-100%, 0);\n}\n\n.drawer--open .drawer__panel {\n // don't use translate here or it will cause problems with popovers inside the drawer e.g. dropdown, select etc.\n transform: none;\n}\n\n.drawer__header {\n display: flex;\n}\n\n.drawer__title {\n flex: 1 1 auto;\n font-size: var(--six-font-size-large);\n line-height: var(--six-line-height-dense);\n padding: var(--six-spacing-large);\n}\n\n.drawer__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-x-large);\n padding: 0 var(--six-spacing-large);\n}\n\n.drawer__body {\n flex: 1 1 auto;\n padding: var(--six-spacing-large);\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.drawer__footer {\n text-align: right;\n padding: var(--six-spacing-large);\n\n ::slotted(six-button:not(:last-of-type)) {\n margin-right: var(--six-spacing-x-small);\n }\n}\n\n.drawer:not(.drawer--has-footer) .drawer__footer {\n display: none;\n}\n\n.drawer__overlay {\n display: block;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--six-overlay-background-color);\n opacity: 0;\n transition: var(--six-transition-medium) opacity;\n pointer-events: all;\n}\n\n.drawer--contained .drawer__overlay {\n position: absolute;\n}\n\n.drawer--open .drawer__overlay {\n opacity: 0.4;\n}\n","import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport { isPreventScrollSupported } from '../../utils/support';\nimport Modal from '../../utils/modal';\nimport { EmptyPayload } from '../../utils/types';\n\nconst hasPreventScroll = isPreventScrollSupported();\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The drawer's content.\n * @slot label - The drawer's label. Alternatively, you can use the label prop.\n * @slot footer - The drawer's footer, usually one or more buttons representing various options.\n *\n * @part base - The component's base wrapper.\n * @part overlay - The overlay.\n * @part panel - The drawer panel (where the drawer and its content is rendered).\n * @part header - The drawer header.\n * @part title - The drawer title.\n * @part close-button - The close button.\n * @part body - The drawer body.\n * @part footer - The drawer footer.\n */\n\n@Component({\n tag: 'six-drawer',\n styleUrl: 'six-drawer.scss',\n shadow: true,\n})\nexport class SixDrawer {\n componentId = `drawer-${++id}`;\n drawer: HTMLElement;\n modal: Modal;\n panel: HTMLElement;\n willShow = false;\n willHide = false;\n\n @Element() host: HTMLSixDrawerElement;\n\n @State() hasFooter = false;\n @State() isVisible = false;\n\n /** Indicates whether or not the drawer is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /**\n * The drawer's label as displayed in the header. You should always include a relevant label even when using\n * `no-header`, as it is required for proper accessibility.\n */\n @Prop() label = '';\n\n /** The direction from which the drawer will open. */\n @Prop() placement: 'top' | 'right' | 'bottom' | 'left' = 'right';\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this prop and add `position: relative` to the parent.\n */\n @Prop() contained = false;\n\n /**\n * Removes the header. This will also remove the default close button, so please ensure you provide an easy,\n * accessible way for users to dismiss the drawer.\n */\n @Prop() noHeader = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the drawer opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-drawer-show' }) sixShow: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer opens and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-show' }) sixAfterShow: EventEmitter<EmptyPayload>;\n\n /** Emitted when the drawer closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-drawer-hide' }) sixHide: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer closes and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-hide' }) sixAfterHide: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the drawer opens and the panel gains focus. Calling `event.preventDefault()` will prevent focus and\n * allow you to set it on a different element in the drawer, such as an input or button.\n */\n @Event({ eventName: 'six-drawer-initial-focus' }) sixInitialFocus: EventEmitter<EmptyPayload>;\n\n /** Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the drawer from closing. */\n @Event({ eventName: 'six-drawer-overlay-dismiss' }) sixOverlayDismiss: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleCloseClick = this.handleCloseClick.bind(this);\n this.handleTransitionEnd = this.handleTransitionEnd.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleOverlayClick = this.handleOverlayClick.bind(this);\n this.handleSlotChange = this.handleSlotChange.bind(this);\n\n this.modal = new Modal(this.host, {\n onFocusOut: () => (this.contained ? null : this.panel.focus()),\n });\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n\n // Show on init if open\n if (this.open) {\n this.show();\n // if the sidebar is open by default we need to manually reset the\n // transition variables since there will be no transition event\n this.resetTransitionVariables();\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n /** Shows the drawer */\n @Method()\n async show() {\n if (this.willShow) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.willShow = true;\n this.isVisible = true;\n this.open = true;\n\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\n\n if (this.open) {\n if (hasPreventScroll) {\n // Wait for the next frame before setting initial focus so the dialog is technically visible\n requestAnimationFrame(() => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n this.panel.focus({ preventScroll: true });\n }\n });\n } else {\n // Once Safari supports { preventScroll: true } we can remove this nasty little hack, but until then we need to\n // wait for the transition to complete before setting focus, otherwise the panel may render in a buggy way its\n // out of view initially.\n //\n // Fiddle: https://jsfiddle.net/g6buoafq/1/\n // Safari: https://bugs.webkit.org/show_bug.cgi?id=178583\n //\n this.drawer.addEventListener(\n 'transitionend',\n () => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n this.panel.focus();\n }\n },\n { once: true }\n );\n }\n }\n }\n\n /** Hides the drawer */\n @Method()\n async hide() {\n if (this.willHide) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.willHide = true;\n this.open = false;\n this.modal.deactivate();\n\n unlockBodyScrolling(this.host);\n }\n\n handleCloseClick() {\n this.hide();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.hide();\n }\n }\n\n handleOverlayClick() {\n const sixOverlayDismiss = this.sixOverlayDismiss.emit();\n\n if (!sixOverlayDismiss.defaultPrevented) {\n this.hide();\n }\n }\n\n handleSlotChange() {\n this.hasFooter = hasSlot(this.host, 'footer');\n }\n\n handleTransitionEnd(event: TransitionEvent) {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'transform' && target.classList.contains('drawer__panel')) {\n this.resetTransitionVariables();\n }\n }\n\n private resetTransitionVariables() {\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.drawer = el)}\n part=\"base\"\n class={{\n drawer: true,\n 'drawer--open': this.open,\n 'drawer--visible': this.isVisible,\n 'drawer--top': this.placement === 'top',\n 'drawer--right': this.placement === 'right',\n 'drawer--bottom': this.placement === 'bottom',\n 'drawer--left': this.placement === 'left',\n 'drawer--contained': this.contained,\n 'drawer--fixed': !this.contained,\n 'drawer--has-footer': this.hasFooter,\n }}\n onKeyDown={this.handleKeyDown}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <div part=\"overlay\" class=\"drawer__overlay\" onClick={this.handleOverlayClick} tabIndex={-1} />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"drawer__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : null}\n aria-labelledby={!this.noHeader ? `${this.componentId}-title` : null}\n tabIndex={0}\n >\n {!this.noHeader && (\n <header part=\"header\" class=\"drawer__header\">\n <span part=\"title\" class=\"drawer__title\" id={`${this.componentId}-title`}>\n <slot name=\"label\">\n {/* If there's no label, use an invisible character to prevent the heading from collapsing */}\n {this.label || String.fromCharCode(65279)}\n </slot>\n </span>\n <six-icon-button\n exportparts=\"base:close-button\"\n class=\"drawer__close\"\n name=\"x\"\n onClick={this.handleCloseClick}\n />\n </header>\n )}\n\n <div part=\"body\" class=\"drawer__body\">\n <slot />\n </div>\n\n <footer part=\"footer\" class=\"drawer__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </div>\n </div>\n );\n }\n}\n"],"version":3}