@six-group/ui-library 0.0.0-insider.cd0cd0d → 0.0.0-insider.d82aaa2

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 (763) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/{event-listeners-b835dfae.js → event-listeners-fdfe838c.js} +1 -1
  3. package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
  4. package/dist/cjs/{execution-control-45c84c46.js → execution-control-b4707294.js} +1 -1
  5. package/dist/cjs/execution-control-b4707294.js.map +1 -0
  6. package/dist/cjs/{focus-visible-e0d93a95.js → focus-visible-ae2470dd.js} +1 -1
  7. package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
  8. package/dist/cjs/{form-8cbd4e0e.js → form-2df8c5bb.js} +1 -1
  9. package/dist/{esm/form-0b9c11cd.js.map → cjs/form-2df8c5bb.js.map} +1 -1
  10. package/dist/cjs/{form-control-8df00a52.js → form-control-d369af14.js} +2 -2
  11. package/dist/cjs/form-control-d369af14.js.map +1 -0
  12. package/dist/cjs/{index-2f6daa5b.js → index-900437fc.js} +396 -54
  13. package/dist/cjs/index-900437fc.js.map +1 -0
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +3 -12
  16. package/dist/cjs/loader.cjs.js.map +1 -1
  17. package/dist/cjs/{modal-21350fb5.js → modal-d5f074c7.js} +1 -1
  18. package/dist/cjs/modal-d5f074c7.js.map +1 -0
  19. package/dist/cjs/{popover-8885d50f.js → popover-2df7e154.js} +1 -1
  20. package/dist/{esm/popover-2e72e7d8.js.map → cjs/popover-2df7e154.js.map} +1 -1
  21. package/dist/cjs/{popup-44836aaf.js → popup-f1d9910f.js} +1 -1
  22. package/dist/cjs/popup-f1d9910f.js.map +1 -0
  23. package/dist/cjs/{scroll-76e6f5d7.js → scroll-03678de1.js} +1 -1
  24. package/dist/cjs/scroll-03678de1.js.map +1 -0
  25. package/dist/cjs/set-attributes_2.cjs.entry.js +1 -1
  26. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-alert.cjs.entry.js +1 -1
  28. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  29. package/dist/cjs/six-avatar.cjs.entry.js +1 -1
  30. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-badge.cjs.entry.js +1 -1
  32. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-button.cjs.entry.js +3 -3
  34. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-card.cjs.entry.js +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-checkbox.cjs.entry.js +6 -14
  38. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-datepicker.cjs.entry.js +8 -6
  40. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-details.cjs.entry.js +2 -2
  42. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-dialog.cjs.entry.js +4 -4
  44. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-drawer.cjs.entry.js +4 -4
  46. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-dropdown_2.cjs.entry.js +5 -5
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-error-page.cjs.entry.js +1 -1
  50. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-file-list-item.cjs.entry.js +1 -1
  52. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  54. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-file-upload.cjs.entry.js +1 -1
  56. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  58. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-group-label.cjs.entry.js +3 -3
  60. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-header.cjs.entry.js +3 -3
  62. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-icon-button.cjs.entry.js +2 -2
  64. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  66. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-input.cjs.entry.js +6 -6
  68. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-item-picker.cjs.entry.js +6 -6
  70. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
  72. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-layout-grid.cjs.entry.js +1 -1
  74. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  76. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  78. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-menu-item.cjs.entry.js +2 -2
  80. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  81. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  82. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-picto.cjs.entry.js +1 -1
  84. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  86. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-progress-ring.cjs.entry.js +1 -1
  88. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-radio.cjs.entry.js +11 -19
  90. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-range.cjs.entry.js +4 -4
  92. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-root.cjs.entry.js +1 -1
  94. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-search-field.cjs.entry.js +3 -3
  96. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-select.cjs.entry.js +12 -11
  98. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +2 -2
  100. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  102. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-sidebar.cjs.entry.js +2 -2
  104. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  106. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-switch.cjs.entry.js +6 -4
  108. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-tab-group.cjs.entry.js +3 -3
  110. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
  112. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  113. package/dist/cjs/six-tab.cjs.entry.js +1 -1
  114. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  115. package/dist/cjs/six-tag.cjs.entry.js +2 -2
  116. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  117. package/dist/cjs/six-textarea.cjs.entry.js +4 -4
  118. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  119. package/dist/cjs/six-tile.cjs.entry.js +2 -2
  120. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  121. package/dist/cjs/six-timepicker.cjs.entry.js +6 -6
  122. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  123. package/dist/cjs/six-tooltip.cjs.entry.js +2 -2
  124. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  125. package/dist/cjs/{slot-bccbdb59.js → slot-6e6a400f.js} +1 -1
  126. package/dist/cjs/slot-6e6a400f.js.map +1 -0
  127. package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
  128. package/dist/cjs/types-47199040.js.map +1 -0
  129. package/dist/cjs/ui-library.cjs.js +3 -6
  130. package/dist/cjs/ui-library.cjs.js.map +1 -1
  131. package/dist/collection/collection-manifest.json +54 -54
  132. package/dist/collection/components/six-alert/six-alert.js +15 -8
  133. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  134. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  135. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  136. package/dist/collection/components/six-avatar/six-avatar.js +1 -1
  137. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  138. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  139. package/dist/collection/components/six-badge/six-badge.js +1 -1
  140. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  141. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  142. package/dist/collection/components/six-button/six-button.js +13 -8
  143. package/dist/collection/components/six-button/six-button.js.map +1 -1
  144. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  145. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  146. package/dist/collection/components/six-card/six-card.js +1 -1
  147. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  148. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  149. package/dist/collection/components/six-checkbox/six-checkbox.js +18 -36
  150. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  151. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +79 -0
  152. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  153. package/dist/collection/components/six-datepicker/components/day-selection.js +1 -1
  154. package/dist/collection/components/six-datepicker/components/month-selection.js +2 -2
  155. package/dist/collection/components/six-datepicker/components/year-selection.js +2 -2
  156. package/dist/collection/components/six-datepicker/six-datepicker.js +37 -23
  157. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  158. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  159. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  160. package/dist/collection/components/six-details/six-details.js +14 -8
  161. package/dist/collection/components/six-details/six-details.js.map +1 -1
  162. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  163. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  164. package/dist/collection/components/six-dialog/six-dialog.js +21 -13
  165. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  166. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  167. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  168. package/dist/collection/components/six-drawer/six-drawer.js +21 -13
  169. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  170. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  171. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  172. package/dist/collection/components/six-dropdown/six-dropdown.js +30 -18
  173. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  174. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  175. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  176. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  177. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  178. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  179. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  180. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  181. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  182. package/dist/collection/components/six-file-list-item/six-file-list-item.js +5 -3
  183. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  184. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  185. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  186. package/dist/collection/components/six-file-upload/six-file-upload.js +5 -3
  187. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  188. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  189. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  190. package/dist/collection/components/six-footer/six-footer.js +1 -1
  191. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  192. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  193. package/dist/collection/components/six-group-label/six-group-label.js +3 -3
  194. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +43 -0
  195. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  196. package/dist/collection/components/six-header/six-header.js +19 -11
  197. package/dist/collection/components/six-header/six-header.js.map +1 -1
  198. package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
  199. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  200. package/dist/collection/components/six-icon/six-icon.js +1 -1
  201. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  202. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  203. package/dist/collection/components/six-icon-button/six-icon-button.js +2 -2
  204. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  205. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  206. package/dist/collection/components/six-input/six-input.css +1 -1
  207. package/dist/collection/components/six-input/six-input.js +27 -16
  208. package/dist/collection/components/six-input/six-input.js.map +1 -1
  209. package/dist/collection/components/six-input/test/six-input.spec.js +37 -0
  210. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  211. package/dist/collection/components/six-item-picker/six-item-picker.js +14 -10
  212. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  213. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  214. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  215. package/dist/collection/components/six-language-switcher/six-language-switcher.js +5 -3
  216. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  217. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  218. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  219. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  220. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  221. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  222. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  223. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  224. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  225. package/dist/collection/components/six-menu/six-menu.js +12 -8
  226. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  227. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  228. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  229. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  230. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  231. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  232. package/dist/collection/components/six-menu-item/six-menu-item.js +10 -6
  233. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  234. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  235. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  236. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  237. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  238. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  239. package/dist/collection/components/six-picto/six-picto.js +1 -1
  240. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  241. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  242. package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
  243. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  244. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  245. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  246. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  247. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  248. package/dist/collection/components/six-radio/six-radio.js +23 -41
  249. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  250. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  251. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  252. package/dist/collection/components/six-range/six-range.js +16 -10
  253. package/dist/collection/components/six-range/six-range.js.map +1 -1
  254. package/dist/collection/components/six-range/test/six-range.spec.js +32 -0
  255. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  256. package/dist/collection/components/six-root/six-root.js +5 -3
  257. package/dist/collection/components/six-root/six-root.js.map +1 -1
  258. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  259. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  260. package/dist/collection/components/six-search-field/six-search-field.js +5 -4
  261. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  262. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  263. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  264. package/dist/collection/components/six-select/six-select.css +6 -9
  265. package/dist/collection/components/six-select/six-select.js +24 -17
  266. package/dist/collection/components/six-select/six-select.js.map +1 -1
  267. package/dist/collection/components/six-select/test/six-select.spec.js +82 -0
  268. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  269. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  270. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  271. package/dist/collection/components/six-sidebar/six-sidebar.js +26 -14
  272. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  273. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  274. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  275. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
  276. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  277. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  278. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +2 -2
  279. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  280. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  281. package/dist/collection/components/six-spinner/six-spinner.js +1 -1
  282. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  283. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  284. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +3 -2
  285. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  286. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  287. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  288. package/dist/collection/components/six-switch/six-switch.js +14 -8
  289. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  290. package/dist/collection/components/six-switch/test/six-switch.spec.js +69 -0
  291. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  292. package/dist/collection/components/six-tab/six-tab.js +9 -5
  293. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  294. package/dist/collection/components/six-tab/test/six-tab.spec.js +20 -0
  295. package/dist/collection/components/six-tab/test/six-tab.spec.js.map +1 -0
  296. package/dist/collection/components/six-tab-group/six-tab-group.js +10 -7
  297. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  298. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js +45 -0
  299. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js.map +1 -0
  300. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  301. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  302. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  303. package/dist/collection/components/six-tag/six-tag.css +6 -0
  304. package/dist/collection/components/six-tag/six-tag.js +3 -2
  305. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  306. package/dist/collection/components/six-tag/test/six-tag.spec.js +42 -0
  307. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  308. package/dist/collection/components/six-textarea/six-textarea.js +24 -14
  309. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  310. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +117 -0
  311. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  312. package/dist/collection/components/six-tile/six-tile.js +10 -6
  313. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  314. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  315. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  316. package/dist/collection/components/six-timepicker/six-timepicker.js +19 -13
  317. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  318. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  319. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  320. package/dist/collection/components/six-tooltip/six-tooltip.js +14 -8
  321. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  322. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  323. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  324. package/dist/collection/functional-components/form-control/form-control.js +1 -1
  325. package/dist/collection/utils/date-util.js +1 -1
  326. package/dist/collection/utils/date-util.spec.js +995 -0
  327. package/dist/collection/utils/date-util.spec.js.map +1 -0
  328. package/dist/collection/utils/event-listeners.js.map +1 -1
  329. package/dist/collection/utils/popover.js +1 -1
  330. package/dist/collection/utils/scroll.js +1 -1
  331. package/dist/collection/utils/scroll.spec.js +122 -0
  332. package/dist/collection/utils/scroll.spec.js.map +1 -0
  333. package/dist/collection/utils/time.util.spec.js +368 -0
  334. package/dist/collection/utils/time.util.spec.js.map +1 -0
  335. package/dist/collection/wrappers/set-attributes/set-attributes.js +1 -1
  336. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  337. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  338. package/dist/components/event-listeners.js.map +1 -1
  339. package/dist/components/execution-control.js.map +1 -1
  340. package/dist/components/focus-visible.js.map +1 -1
  341. package/dist/components/form-control.js.map +1 -1
  342. package/dist/components/form.js.map +1 -1
  343. package/dist/components/index.js.map +1 -1
  344. package/dist/components/modal.js.map +1 -1
  345. package/dist/components/popover.js.map +1 -1
  346. package/dist/components/scroll.js.map +1 -1
  347. package/dist/components/set-attributes2.js.map +1 -1
  348. package/dist/components/six-alert.js.map +1 -1
  349. package/dist/components/six-avatar.js.map +1 -1
  350. package/dist/components/six-badge.js.map +1 -1
  351. package/dist/components/six-button.js.map +1 -1
  352. package/dist/components/six-card.js.map +1 -1
  353. package/dist/components/six-checkbox.js +3 -12
  354. package/dist/components/six-checkbox.js.map +1 -1
  355. package/dist/components/six-datepicker.js +3 -1
  356. package/dist/components/six-datepicker.js.map +1 -1
  357. package/dist/components/six-details2.js.map +1 -1
  358. package/dist/components/six-dialog.js.map +1 -1
  359. package/dist/components/six-drawer.js.map +1 -1
  360. package/dist/components/six-dropdown2.js.map +1 -1
  361. package/dist/components/six-error-page.js.map +1 -1
  362. package/dist/components/six-file-list-item.js.map +1 -1
  363. package/dist/components/six-file-list.js.map +1 -1
  364. package/dist/components/six-file-upload.js.map +1 -1
  365. package/dist/components/six-footer.js.map +1 -1
  366. package/dist/components/six-group-label.js.map +1 -1
  367. package/dist/components/six-header.js.map +1 -1
  368. package/dist/components/six-icon-button2.js.map +1 -1
  369. package/dist/components/six-icon2.js.map +1 -1
  370. package/dist/components/six-input2.js +1 -1
  371. package/dist/components/six-input2.js.map +1 -1
  372. package/dist/components/six-item-picker2.js +2 -2
  373. package/dist/components/six-item-picker2.js.map +1 -1
  374. package/dist/components/six-language-switcher.js.map +1 -1
  375. package/dist/components/six-layout-grid.js.map +1 -1
  376. package/dist/components/six-main-container.js.map +1 -1
  377. package/dist/components/six-menu-divider.js.map +1 -1
  378. package/dist/components/six-menu-item2.js.map +1 -1
  379. package/dist/components/six-menu-label.js.map +1 -1
  380. package/dist/components/six-menu2.js.map +1 -1
  381. package/dist/components/six-picto2.js.map +1 -1
  382. package/dist/components/six-progress-bar.js.map +1 -1
  383. package/dist/components/six-progress-ring.js.map +1 -1
  384. package/dist/components/six-radio.js +10 -19
  385. package/dist/components/six-radio.js.map +1 -1
  386. package/dist/components/six-range.js.map +1 -1
  387. package/dist/components/six-root.js.map +1 -1
  388. package/dist/components/six-search-field.js.map +1 -1
  389. package/dist/components/six-select.js +7 -6
  390. package/dist/components/six-select.js.map +1 -1
  391. package/dist/components/six-sidebar-item-group.js.map +1 -1
  392. package/dist/components/six-sidebar-item.js.map +1 -1
  393. package/dist/components/six-sidebar.js.map +1 -1
  394. package/dist/components/six-spinner2.js.map +1 -1
  395. package/dist/components/six-stage-indicator2.js.map +1 -1
  396. package/dist/components/six-switch.js +3 -1
  397. package/dist/components/six-switch.js.map +1 -1
  398. package/dist/components/six-tab-group.js.map +1 -1
  399. package/dist/components/six-tab-panel.js.map +1 -1
  400. package/dist/components/six-tab.js.map +1 -1
  401. package/dist/components/six-tag2.js +1 -1
  402. package/dist/components/six-tag2.js.map +1 -1
  403. package/dist/components/six-textarea.js.map +1 -1
  404. package/dist/components/six-tile.js.map +1 -1
  405. package/dist/components/six-timepicker2.js.map +1 -1
  406. package/dist/components/six-tooltip2.js.map +1 -1
  407. package/dist/components/slot.js.map +1 -1
  408. package/dist/components.d.ts +361 -88
  409. package/dist/components.json +3710 -78
  410. package/dist/esm/{event-listeners-535f3ad1.js → event-listeners-f6e5b0ab.js} +1 -1
  411. package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
  412. package/dist/esm/{execution-control-72cc50f4.js → execution-control-e0892a05.js} +1 -1
  413. package/dist/esm/execution-control-e0892a05.js.map +1 -0
  414. package/dist/esm/{focus-visible-fa7129a0.js → focus-visible-fc6ac671.js} +1 -1
  415. package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
  416. package/dist/esm/{form-0b9c11cd.js → form-81252534.js} +1 -1
  417. package/dist/esm/form-81252534.js.map +1 -0
  418. package/dist/esm/{form-control-785c5f79.js → form-control-32cb533f.js} +2 -2
  419. package/dist/esm/form-control-32cb533f.js.map +1 -0
  420. package/dist/esm/{index-5c0f6628.js → index-8a74f992.js} +396 -54
  421. package/dist/esm/index-8a74f992.js.map +1 -0
  422. package/dist/esm/index.js.map +1 -1
  423. package/dist/esm/loader.js +4 -13
  424. package/dist/esm/loader.js.map +1 -1
  425. package/dist/esm/{modal-b1d96441.js → modal-7d32e141.js} +1 -1
  426. package/dist/esm/modal-7d32e141.js.map +1 -0
  427. package/dist/esm/{popover-2e72e7d8.js → popover-136d1f73.js} +1 -1
  428. package/dist/esm/popover-136d1f73.js.map +1 -0
  429. package/dist/esm/{popup-678b8592.js → popup-7f89a001.js} +1 -1
  430. package/dist/esm/popup-7f89a001.js.map +1 -0
  431. package/dist/esm/{scroll-180b53fd.js → scroll-3fb087a2.js} +1 -1
  432. package/dist/esm/scroll-3fb087a2.js.map +1 -0
  433. package/dist/esm/set-attributes_2.entry.js +1 -1
  434. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  435. package/dist/esm/six-alert.entry.js +1 -1
  436. package/dist/esm/six-alert.entry.js.map +1 -1
  437. package/dist/esm/six-avatar.entry.js +1 -1
  438. package/dist/esm/six-avatar.entry.js.map +1 -1
  439. package/dist/esm/six-badge.entry.js +1 -1
  440. package/dist/esm/six-badge.entry.js.map +1 -1
  441. package/dist/esm/six-button.entry.js +3 -3
  442. package/dist/esm/six-button.entry.js.map +1 -1
  443. package/dist/esm/six-card.entry.js +1 -1
  444. package/dist/esm/six-card.entry.js.map +1 -1
  445. package/dist/esm/six-checkbox.entry.js +6 -14
  446. package/dist/esm/six-checkbox.entry.js.map +1 -1
  447. package/dist/esm/six-datepicker.entry.js +8 -6
  448. package/dist/esm/six-datepicker.entry.js.map +1 -1
  449. package/dist/esm/six-details.entry.js +2 -2
  450. package/dist/esm/six-details.entry.js.map +1 -1
  451. package/dist/esm/six-dialog.entry.js +4 -4
  452. package/dist/esm/six-dialog.entry.js.map +1 -1
  453. package/dist/esm/six-drawer.entry.js +4 -4
  454. package/dist/esm/six-drawer.entry.js.map +1 -1
  455. package/dist/esm/six-dropdown_2.entry.js +5 -5
  456. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  457. package/dist/esm/six-error-page.entry.js +1 -1
  458. package/dist/esm/six-error-page.entry.js.map +1 -1
  459. package/dist/esm/six-file-list-item.entry.js +1 -1
  460. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  461. package/dist/esm/six-file-list.entry.js +1 -1
  462. package/dist/esm/six-file-list.entry.js.map +1 -1
  463. package/dist/esm/six-file-upload.entry.js +1 -1
  464. package/dist/esm/six-file-upload.entry.js.map +1 -1
  465. package/dist/esm/six-footer.entry.js +1 -1
  466. package/dist/esm/six-footer.entry.js.map +1 -1
  467. package/dist/esm/six-group-label.entry.js +3 -3
  468. package/dist/esm/six-group-label.entry.js.map +1 -1
  469. package/dist/esm/six-header.entry.js +3 -3
  470. package/dist/esm/six-header.entry.js.map +1 -1
  471. package/dist/esm/six-icon-button.entry.js +2 -2
  472. package/dist/esm/six-icon-button.entry.js.map +1 -1
  473. package/dist/esm/six-icon.entry.js +1 -1
  474. package/dist/esm/six-icon.entry.js.map +1 -1
  475. package/dist/esm/six-input.entry.js +6 -6
  476. package/dist/esm/six-input.entry.js.map +1 -1
  477. package/dist/esm/six-item-picker.entry.js +6 -6
  478. package/dist/esm/six-item-picker.entry.js.map +1 -1
  479. package/dist/esm/six-language-switcher.entry.js +1 -1
  480. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  481. package/dist/esm/six-layout-grid.entry.js +1 -1
  482. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  483. package/dist/esm/six-main-container.entry.js +1 -1
  484. package/dist/esm/six-main-container.entry.js.map +1 -1
  485. package/dist/esm/six-menu-divider.entry.js +1 -1
  486. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  487. package/dist/esm/six-menu-item.entry.js +2 -2
  488. package/dist/esm/six-menu-item.entry.js.map +1 -1
  489. package/dist/esm/six-menu-label.entry.js +1 -1
  490. package/dist/esm/six-menu-label.entry.js.map +1 -1
  491. package/dist/esm/six-picto.entry.js +1 -1
  492. package/dist/esm/six-picto.entry.js.map +1 -1
  493. package/dist/esm/six-progress-bar.entry.js +1 -1
  494. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  495. package/dist/esm/six-progress-ring.entry.js +1 -1
  496. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  497. package/dist/esm/six-radio.entry.js +11 -19
  498. package/dist/esm/six-radio.entry.js.map +1 -1
  499. package/dist/esm/six-range.entry.js +4 -4
  500. package/dist/esm/six-range.entry.js.map +1 -1
  501. package/dist/esm/six-root.entry.js +1 -1
  502. package/dist/esm/six-root.entry.js.map +1 -1
  503. package/dist/esm/six-search-field.entry.js +3 -3
  504. package/dist/esm/six-search-field.entry.js.map +1 -1
  505. package/dist/esm/six-select.entry.js +12 -11
  506. package/dist/esm/six-select.entry.js.map +1 -1
  507. package/dist/esm/six-sidebar-item-group.entry.js +2 -2
  508. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  509. package/dist/esm/six-sidebar-item.entry.js +1 -1
  510. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  511. package/dist/esm/six-sidebar.entry.js +2 -2
  512. package/dist/esm/six-sidebar.entry.js.map +1 -1
  513. package/dist/esm/six-spinner.entry.js +1 -1
  514. package/dist/esm/six-spinner.entry.js.map +1 -1
  515. package/dist/esm/six-switch.entry.js +6 -4
  516. package/dist/esm/six-switch.entry.js.map +1 -1
  517. package/dist/esm/six-tab-group.entry.js +3 -3
  518. package/dist/esm/six-tab-group.entry.js.map +1 -1
  519. package/dist/esm/six-tab-panel.entry.js +1 -1
  520. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  521. package/dist/esm/six-tab.entry.js +1 -1
  522. package/dist/esm/six-tab.entry.js.map +1 -1
  523. package/dist/esm/six-tag.entry.js +2 -2
  524. package/dist/esm/six-tag.entry.js.map +1 -1
  525. package/dist/esm/six-textarea.entry.js +4 -4
  526. package/dist/esm/six-textarea.entry.js.map +1 -1
  527. package/dist/esm/six-tile.entry.js +2 -2
  528. package/dist/esm/six-tile.entry.js.map +1 -1
  529. package/dist/esm/six-timepicker.entry.js +6 -6
  530. package/dist/esm/six-timepicker.entry.js.map +1 -1
  531. package/dist/esm/six-tooltip.entry.js +2 -2
  532. package/dist/esm/six-tooltip.entry.js.map +1 -1
  533. package/dist/esm/{slot-2e64df19.js → slot-ad36df3a.js} +1 -1
  534. package/dist/esm/slot-ad36df3a.js.map +1 -0
  535. package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
  536. package/dist/esm/types-59b455aa.js.map +1 -0
  537. package/dist/esm/ui-library.js +4 -7
  538. package/dist/esm/ui-library.js.map +1 -1
  539. package/dist/types/components/six-checkbox/six-checkbox.d.ts +0 -4
  540. package/dist/types/components/six-radio/six-radio.d.ts +0 -5
  541. package/dist/types/components.d.ts +0 -8
  542. package/dist/types/stencil-public-runtime.d.ts +15 -2
  543. package/dist/types/utils/event-listeners.d.ts +3 -3
  544. package/dist/ui-library/index.esm.js.map +1 -1
  545. package/dist/ui-library/p-02981b91.entry.js +2 -0
  546. package/dist/ui-library/p-02981b91.entry.js.map +1 -0
  547. package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
  548. package/dist/ui-library/p-0f510624.js.map +1 -0
  549. package/dist/ui-library/{p-0b2c6348.js → p-0fdb185d.js} +1 -1
  550. package/dist/ui-library/p-0fdb185d.js.map +1 -0
  551. package/dist/ui-library/{p-a844cb72.entry.js → p-1256cc0a.entry.js} +2 -2
  552. package/dist/ui-library/p-1256cc0a.entry.js.map +1 -0
  553. package/dist/ui-library/{p-e8feb81f.entry.js → p-13b43e04.entry.js} +2 -2
  554. package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
  555. package/dist/ui-library/{p-d87a6f4d.js → p-15559d38.js} +1 -1
  556. package/dist/ui-library/p-15559d38.js.map +1 -0
  557. package/dist/ui-library/{p-502ff3d3.entry.js → p-19ed7a4c.entry.js} +2 -2
  558. package/dist/ui-library/p-19ed7a4c.entry.js.map +1 -0
  559. package/dist/ui-library/{p-97323ad7.entry.js → p-1d5ee1a0.entry.js} +2 -2
  560. package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
  561. package/dist/ui-library/{p-eb8f05a9.js → p-1f18768a.js} +1 -1
  562. package/dist/ui-library/p-1f18768a.js.map +1 -0
  563. package/dist/ui-library/{p-b4547fb5.entry.js → p-21b3b321.entry.js} +2 -2
  564. package/dist/ui-library/p-21b3b321.entry.js.map +1 -0
  565. package/dist/ui-library/p-264d4ea8.entry.js +2 -0
  566. package/dist/ui-library/p-264d4ea8.entry.js.map +1 -0
  567. package/dist/ui-library/{p-778cf804.entry.js → p-29ac3d7d.entry.js} +2 -2
  568. package/dist/ui-library/p-29ac3d7d.entry.js.map +1 -0
  569. package/dist/ui-library/{p-92ca6a84.entry.js → p-314b2096.entry.js} +2 -2
  570. package/dist/ui-library/p-314b2096.entry.js.map +1 -0
  571. package/dist/ui-library/{p-66180e89.entry.js → p-330a4988.entry.js} +2 -2
  572. package/dist/ui-library/p-330a4988.entry.js.map +1 -0
  573. package/dist/ui-library/{p-21859bca.entry.js → p-346f9557.entry.js} +2 -2
  574. package/dist/ui-library/p-346f9557.entry.js.map +1 -0
  575. package/dist/ui-library/{p-03a145f5.entry.js → p-37557787.entry.js} +2 -2
  576. package/dist/ui-library/p-37557787.entry.js.map +1 -0
  577. package/dist/ui-library/{p-baa03951.entry.js → p-3cc5addb.entry.js} +2 -2
  578. package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
  579. package/dist/ui-library/{p-87032e26.entry.js → p-3d9de119.entry.js} +2 -2
  580. package/dist/ui-library/p-3d9de119.entry.js.map +1 -0
  581. package/dist/ui-library/{p-ef3936e5.entry.js → p-411ed539.entry.js} +2 -2
  582. package/dist/ui-library/p-411ed539.entry.js.map +1 -0
  583. package/dist/ui-library/{p-c5cdba08.entry.js → p-4705a51e.entry.js} +2 -2
  584. package/dist/ui-library/p-4705a51e.entry.js.map +1 -0
  585. package/dist/ui-library/{p-dc3f5996.entry.js → p-4abed9df.entry.js} +2 -2
  586. package/dist/ui-library/p-4abed9df.entry.js.map +1 -0
  587. package/dist/ui-library/{p-0cc08e91.js → p-5654e4c7.js} +1 -1
  588. package/dist/ui-library/p-5654e4c7.js.map +1 -0
  589. package/dist/ui-library/{p-0fe78f9b.js → p-59210f0b.js} +1 -1
  590. package/dist/ui-library/p-59210f0b.js.map +1 -0
  591. package/dist/ui-library/{p-28be55f0.entry.js → p-5af44076.entry.js} +2 -2
  592. package/dist/ui-library/p-5af44076.entry.js.map +1 -0
  593. package/dist/ui-library/{p-18e9f8b8.entry.js → p-5d6b7353.entry.js} +2 -2
  594. package/dist/ui-library/p-5d6b7353.entry.js.map +1 -0
  595. package/dist/ui-library/{p-097cced4.entry.js → p-613283a7.entry.js} +2 -2
  596. package/dist/ui-library/p-613283a7.entry.js.map +1 -0
  597. package/dist/ui-library/p-6153045b.js +3 -0
  598. package/dist/ui-library/p-6153045b.js.map +1 -0
  599. package/dist/ui-library/{p-e19a6c95.entry.js → p-6197fe2f.entry.js} +2 -2
  600. package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
  601. package/dist/ui-library/{p-8cf72af6.js → p-698bb2c8.js} +1 -1
  602. package/dist/ui-library/p-698bb2c8.js.map +1 -0
  603. package/dist/ui-library/{p-9337cdd6.entry.js → p-72254eef.entry.js} +2 -2
  604. package/dist/ui-library/p-72254eef.entry.js.map +1 -0
  605. package/dist/ui-library/{p-912092c0.entry.js → p-724875b0.entry.js} +2 -2
  606. package/dist/ui-library/p-724875b0.entry.js.map +1 -0
  607. package/dist/ui-library/{p-dd3c76f1.entry.js → p-7afafb9d.entry.js} +2 -2
  608. package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
  609. package/dist/ui-library/{p-60621dc6.js → p-7d95def3.js} +1 -1
  610. package/dist/ui-library/p-7d95def3.js.map +1 -0
  611. package/dist/ui-library/{p-63703ba3.entry.js → p-7e3ad38a.entry.js} +2 -2
  612. package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
  613. package/dist/ui-library/{p-71035abf.entry.js → p-83864cfe.entry.js} +2 -2
  614. package/dist/ui-library/p-83864cfe.entry.js.map +1 -0
  615. package/dist/ui-library/{p-445ba5b8.entry.js → p-878226a0.entry.js} +2 -2
  616. package/dist/ui-library/p-878226a0.entry.js.map +1 -0
  617. package/dist/ui-library/{p-4d408fb4.js → p-8c0971e0.js} +1 -1
  618. package/dist/ui-library/p-8c0971e0.js.map +1 -0
  619. package/dist/ui-library/{p-afcbe9da.entry.js → p-91b51800.entry.js} +2 -2
  620. package/dist/ui-library/p-91b51800.entry.js.map +1 -0
  621. package/dist/ui-library/{p-f0dd77e1.entry.js → p-95fbdd0b.entry.js} +2 -2
  622. package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
  623. package/dist/ui-library/{p-9461417e.entry.js → p-99e24daf.entry.js} +2 -2
  624. package/dist/ui-library/p-99e24daf.entry.js.map +1 -0
  625. package/dist/ui-library/{p-ba74863a.js → p-9ace84c7.js} +1 -1
  626. package/dist/ui-library/p-9ace84c7.js.map +1 -0
  627. package/dist/ui-library/{p-d6798d35.entry.js → p-9b354f5d.entry.js} +2 -2
  628. package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
  629. package/dist/ui-library/{p-3929b0af.entry.js → p-9c1be3fb.entry.js} +2 -2
  630. package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
  631. package/dist/ui-library/p-9f0b43f9.entry.js +2 -0
  632. package/dist/ui-library/p-9f0b43f9.entry.js.map +1 -0
  633. package/dist/ui-library/{p-cdcde4cd.entry.js → p-a0f290d0.entry.js} +2 -2
  634. package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
  635. package/dist/ui-library/{p-09779e47.entry.js → p-a55c7258.entry.js} +2 -2
  636. package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
  637. package/dist/ui-library/{p-6d75f216.entry.js → p-a6a9ee96.entry.js} +2 -2
  638. package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
  639. package/dist/ui-library/{p-73597d13.entry.js → p-ac099e6b.entry.js} +2 -2
  640. package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
  641. package/dist/ui-library/{p-bd8f8eef.entry.js → p-ae601a0f.entry.js} +2 -2
  642. package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
  643. package/dist/ui-library/{p-dcd7c547.entry.js → p-b351f889.entry.js} +2 -2
  644. package/dist/ui-library/p-b351f889.entry.js.map +1 -0
  645. package/dist/ui-library/p-b550a258.entry.js +2 -0
  646. package/dist/ui-library/p-b550a258.entry.js.map +1 -0
  647. package/dist/ui-library/{p-b3bff992.entry.js → p-bf87464b.entry.js} +2 -2
  648. package/dist/ui-library/p-bf87464b.entry.js.map +1 -0
  649. package/dist/ui-library/{p-72ca96e1.entry.js → p-c03ebf7d.entry.js} +2 -2
  650. package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
  651. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-cd67da3d.entry.js} +2 -2
  652. package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
  653. package/dist/ui-library/{p-5a34c93e.entry.js → p-cdaed936.entry.js} +2 -2
  654. package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
  655. package/dist/ui-library/{p-724e154d.entry.js → p-d367f4f9.entry.js} +2 -2
  656. package/dist/ui-library/p-d367f4f9.entry.js.map +1 -0
  657. package/dist/ui-library/{p-2761f908.js → p-d42c2025.js} +2 -2
  658. package/dist/ui-library/p-d42c2025.js.map +1 -0
  659. package/dist/ui-library/{p-820c23f0.entry.js → p-dfed33c5.entry.js} +2 -2
  660. package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
  661. package/dist/ui-library/{p-686b12ec.entry.js → p-ed381ad9.entry.js} +2 -2
  662. package/dist/ui-library/p-ed381ad9.entry.js.map +1 -0
  663. package/dist/ui-library/{p-a49ae60a.entry.js → p-ee8342e1.entry.js} +2 -2
  664. package/dist/ui-library/p-ee8342e1.entry.js.map +1 -0
  665. package/dist/ui-library/{p-8e0b6b7e.entry.js → p-ee950ce2.entry.js} +2 -2
  666. package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
  667. package/dist/ui-library/{p-087fdd96.entry.js → p-ff90ffd1.entry.js} +2 -2
  668. package/dist/ui-library/p-ff90ffd1.entry.js.map +1 -0
  669. package/dist/ui-library/ui-library.esm.js +1 -1
  670. package/dist/ui-library/ui-library.esm.js.map +1 -1
  671. package/loader/index.d.ts +1 -1
  672. package/package.json +7 -7
  673. package/dist/cjs/event-listeners-b835dfae.js.map +0 -1
  674. package/dist/cjs/execution-control-45c84c46.js.map +0 -1
  675. package/dist/cjs/focus-visible-e0d93a95.js.map +0 -1
  676. package/dist/cjs/form-8cbd4e0e.js.map +0 -1
  677. package/dist/cjs/form-control-8df00a52.js.map +0 -1
  678. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  679. package/dist/cjs/modal-21350fb5.js.map +0 -1
  680. package/dist/cjs/popover-8885d50f.js.map +0 -1
  681. package/dist/cjs/popup-44836aaf.js.map +0 -1
  682. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  683. package/dist/cjs/slot-bccbdb59.js.map +0 -1
  684. package/dist/cjs/types-64878648.js.map +0 -1
  685. package/dist/esm/event-listeners-535f3ad1.js.map +0 -1
  686. package/dist/esm/execution-control-72cc50f4.js.map +0 -1
  687. package/dist/esm/focus-visible-fa7129a0.js.map +0 -1
  688. package/dist/esm/form-control-785c5f79.js.map +0 -1
  689. package/dist/esm/index-5c0f6628.js.map +0 -1
  690. package/dist/esm/modal-b1d96441.js.map +0 -1
  691. package/dist/esm/polyfills/css-shim.js +0 -1
  692. package/dist/esm/popup-678b8592.js.map +0 -1
  693. package/dist/esm/scroll-180b53fd.js.map +0 -1
  694. package/dist/esm/slot-2e64df19.js.map +0 -1
  695. package/dist/esm/types-4b10b413.js.map +0 -1
  696. package/dist/ui-library/p-0108fe92.entry.js +0 -2
  697. package/dist/ui-library/p-0108fe92.entry.js.map +0 -1
  698. package/dist/ui-library/p-03a145f5.entry.js.map +0 -1
  699. package/dist/ui-library/p-087fdd96.entry.js.map +0 -1
  700. package/dist/ui-library/p-09779e47.entry.js.map +0 -1
  701. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  702. package/dist/ui-library/p-0b2c6348.js.map +0 -1
  703. package/dist/ui-library/p-0cc08e91.js.map +0 -1
  704. package/dist/ui-library/p-0fe78f9b.js.map +0 -1
  705. package/dist/ui-library/p-18e9f8b8.entry.js.map +0 -1
  706. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  707. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  708. package/dist/ui-library/p-2761f908.js.map +0 -1
  709. package/dist/ui-library/p-28be55f0.entry.js.map +0 -1
  710. package/dist/ui-library/p-3929b0af.entry.js.map +0 -1
  711. package/dist/ui-library/p-445ba5b8.entry.js.map +0 -1
  712. package/dist/ui-library/p-4d408fb4.js.map +0 -1
  713. package/dist/ui-library/p-502ff3d3.entry.js.map +0 -1
  714. package/dist/ui-library/p-5a34c93e.entry.js.map +0 -1
  715. package/dist/ui-library/p-60621dc6.js.map +0 -1
  716. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  717. package/dist/ui-library/p-66180e89.entry.js.map +0 -1
  718. package/dist/ui-library/p-686b12ec.entry.js.map +0 -1
  719. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  720. package/dist/ui-library/p-71035abf.entry.js.map +0 -1
  721. package/dist/ui-library/p-724e154d.entry.js.map +0 -1
  722. package/dist/ui-library/p-72ca96e1.entry.js.map +0 -1
  723. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  724. package/dist/ui-library/p-778cf804.entry.js.map +0 -1
  725. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  726. package/dist/ui-library/p-87032e26.entry.js.map +0 -1
  727. package/dist/ui-library/p-8cf72af6.js.map +0 -1
  728. package/dist/ui-library/p-8e0b6b7e.entry.js.map +0 -1
  729. package/dist/ui-library/p-912092c0.entry.js.map +0 -1
  730. package/dist/ui-library/p-92ca6a84.entry.js.map +0 -1
  731. package/dist/ui-library/p-9337cdd6.entry.js.map +0 -1
  732. package/dist/ui-library/p-9461417e.entry.js.map +0 -1
  733. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  734. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  735. package/dist/ui-library/p-a49ae60a.entry.js.map +0 -1
  736. package/dist/ui-library/p-a844cb72.entry.js.map +0 -1
  737. package/dist/ui-library/p-ac4f4d45.js +0 -3
  738. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  739. package/dist/ui-library/p-afcbe9da.entry.js.map +0 -1
  740. package/dist/ui-library/p-b3bff992.entry.js.map +0 -1
  741. package/dist/ui-library/p-b4547fb5.entry.js.map +0 -1
  742. package/dist/ui-library/p-ba74863a.js.map +0 -1
  743. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  744. package/dist/ui-library/p-bd8f8eef.entry.js.map +0 -1
  745. package/dist/ui-library/p-c57f16af.entry.js +0 -2
  746. package/dist/ui-library/p-c57f16af.entry.js.map +0 -1
  747. package/dist/ui-library/p-c5cdba08.entry.js.map +0 -1
  748. package/dist/ui-library/p-c87810b0.entry.js +0 -2
  749. package/dist/ui-library/p-c87810b0.entry.js.map +0 -1
  750. package/dist/ui-library/p-cdcde4cd.entry.js.map +0 -1
  751. package/dist/ui-library/p-d6798d35.entry.js.map +0 -1
  752. package/dist/ui-library/p-d87a6f4d.js.map +0 -1
  753. package/dist/ui-library/p-dc3f5996.entry.js.map +0 -1
  754. package/dist/ui-library/p-dcd7c547.entry.js.map +0 -1
  755. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  756. package/dist/ui-library/p-e07b3f0c.entry.js +0 -2
  757. package/dist/ui-library/p-e07b3f0c.entry.js.map +0 -1
  758. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  759. package/dist/ui-library/p-e8feb81f.entry.js.map +0 -1
  760. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  761. package/dist/ui-library/p-ef3936e5.entry.js.map +0 -1
  762. package/dist/ui-library/p-f0dd77e1.entry.js.map +0 -1
  763. package/readme.md +0 -156
@@ -1 +1 @@
1
- {"version":3,"file":"six-checkbox.js","sourceRoot":"","sources":["../../../src/components/six-checkbox/six-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\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 label - The checkbox label.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part control - The checkbox control.\n * @part checked-icon - The container the wraps the checked icon.\n * @part indeterminate-icon - The container that wraps the indeterminate icon.\n * @part text - The checkbox text rendered to the right.\n */\n\n@Component({\n tag: 'six-checkbox',\n styleUrl: 'six-checkbox.scss',\n shadow: true,\n})\nexport class SixCheckbox {\n private inputId = `checkbox-${++id}`;\n private labelId = `checkbox-label-${id}`;\n private textId = `checkbox-text-${id}`;\n private errorTextId = `input-error-text-${id}`;\n private nativeInput?: HTMLInputElement;\n private eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixCheckboxElement;\n\n @State() hasFocus = false;\n @State() hasLabelSlot = false;\n\n /** The checkbox's name attribute. */\n @Prop() name = '';\n\n /**\n * The value of the checkbox does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a checkbox is analogous to the value of an `<input type=\"checkbox\">`,\n * it's only used when the checkbox participates in a native `<form>`.\n */\n @Prop() value = 'on';\n\n /** Set to true to disable the checkbox. */\n @Prop() disabled = false;\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText = '';\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** Set to true to draw the checkbox in a checked state. */\n @Prop({ mutable: true, reflect: true }) checked = false;\n\n /** Set to true to draw the checkbox in an indeterminate state. */\n @Prop({ mutable: true, reflect: true }) indeterminate = false;\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-checkbox-blur' }) sixBlur!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control's checked state changes. */\n @Event({ eventName: 'six-checkbox-change' }) sixChange!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-checkbox-focus' }) sixFocus!: EventEmitter<EmptyPayload>;\n\n @Watch('checked')\n @Watch('indeterminate')\n handleCheckedChange() {\n if (this.nativeInput == null) {\n return;\n }\n this.nativeInput.checked = this.checked;\n this.checked = this.nativeInput.checked;\n this.nativeInput.indeterminate = this.indeterminate;\n this.sixChange.emit();\n }\n\n @Watch('errorText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n /** default state whether the radio button should be checked or not when resetting */\n private defaultState = false;\n\n connectedCallback() {\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.forward('six-checkbox-change', 'change', this.host);\n this.eventListeners.forward('six-checkbox-blur', 'blur', this.host);\n this.eventListeners.forward('six-checkbox-focus', 'focus', this.host);\n }\n\n disconnectedCallback() {\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n componentWillLoad() {\n this.defaultState = this.checked;\n this.handleSlotChange();\n }\n\n componentDidLoad() {\n const nativeInput = this.nativeInput;\n if (nativeInput == null) {\n return;\n }\n\n nativeInput.indeterminate = this.indeterminate;\n }\n\n /** Sets focus on the checkbox. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.nativeInput?.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n @Method()\n async removeFocus() {\n this.nativeInput?.blur();\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n this.checked = this.defaultState;\n }\n\n private handleChange = () => {\n if (this.nativeInput != null) {\n this.checked = this.nativeInput.checked;\n this.indeterminate = false;\n }\n };\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.sixBlur.emit();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.sixFocus.emit();\n };\n\n private handleMouseDown = (event: MouseEvent) => {\n // Prevent clicks on the label from briefly blurring the input\n event.preventDefault();\n this.nativeInput?.focus();\n };\n\n private handleSlotChange() {\n this.hasLabelSlot = hasSlot(this.host, 'label');\n }\n\n render() {\n return (\n <FormControl\n inputId={this.inputId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n errorTextId={this.errorTextId}\n errorText={this.errorText}\n size=\"medium\"\n disabled={this.disabled}\n required={this.required}\n displayError={this.invalid}\n >\n <label\n part=\"base\"\n class={{\n checkbox: true,\n 'checkbox--checked': this.checked,\n 'checkbox--disabled': this.disabled,\n 'checkbox--focused': this.hasFocus,\n 'checkbox--invalid': this.invalid,\n 'checkbox--indeterminate': this.indeterminate,\n }}\n htmlFor={this.inputId}\n onMouseDown={this.handleMouseDown}\n >\n <span part=\"control\" class=\"checkbox__control\">\n {this.checked && (\n <span part=\"checked-icon\" class=\"checkbox__icon\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(3.428571, 3.428571)\">\n <path d=\"M0,5.71428571 L3.42857143,9.14285714\"></path>\n <path d=\"M9.14285714,0 L3.42857143,9.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n )}\n\n {!this.checked && this.indeterminate && (\n <span part=\"indeterminate-icon\" class=\"checkbox__icon\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(2.285714, 6.857143)\">\n <path d=\"M10.2857143,1.14285714 L1.14285714,1.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n )}\n\n <input\n ref={(el) => (this.nativeInput = el)}\n id={this.inputId}\n type=\"checkbox\"\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n required={this.required}\n role=\"checkbox\"\n aria-checked={this.checked ? 'true' : 'false'}\n aria-labelledby={this.labelId}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n />\n </span>\n\n <span part=\"text\" id={this.textId} class=\"checkbox__text\">\n <slot />\n </span>\n </label>\n </FormControl>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-checkbox.js","sourceRoot":"","sources":["../../../src/components/six-checkbox/six-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\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 label - The checkbox label.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part control - The checkbox control.\n * @part checked-icon - The container the wraps the checked icon.\n * @part indeterminate-icon - The container that wraps the indeterminate icon.\n * @part text - The checkbox text rendered to the right.\n */\n\n@Component({\n tag: 'six-checkbox',\n styleUrl: 'six-checkbox.scss',\n shadow: true,\n})\nexport class SixCheckbox {\n private inputId = `checkbox-${++id}`;\n private labelId = `checkbox-label-${id}`;\n private textId = `checkbox-text-${id}`;\n private errorTextId = `input-error-text-${id}`;\n private nativeInput?: HTMLInputElement;\n private eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixCheckboxElement;\n\n @State() hasFocus = false;\n @State() hasLabelSlot = false;\n\n /** The checkbox's name attribute. */\n @Prop() name = '';\n\n /**\n * The value of the checkbox does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a checkbox is analogous to the value of an `<input type=\"checkbox\">`,\n * it's only used when the checkbox participates in a native `<form>`.\n */\n @Prop() value = 'on';\n\n /** Set to true to disable the checkbox. */\n @Prop() disabled = false;\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText = '';\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** Set to true to draw the checkbox in a checked state. */\n @Prop({ mutable: true, reflect: true }) checked = false;\n\n /** Set to true to draw the checkbox in an indeterminate state. */\n @Prop({ mutable: true, reflect: true }) indeterminate = false;\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-checkbox-blur' }) sixBlur!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control's checked state changes. */\n @Event({ eventName: 'six-checkbox-change' }) sixChange!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-checkbox-focus' }) sixFocus!: EventEmitter<EmptyPayload>;\n\n @Watch('checked')\n @Watch('indeterminate')\n handleCheckedChange() {\n if (this.nativeInput == null) return;\n\n this.nativeInput.checked = this.checked;\n this.checked = this.nativeInput.checked;\n this.nativeInput.indeterminate = this.indeterminate;\n }\n\n @Watch('errorText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n connectedCallback() {\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.forward('six-checkbox-change', 'change', this.host);\n this.eventListeners.forward('six-checkbox-blur', 'blur', this.host);\n this.eventListeners.forward('six-checkbox-focus', 'focus', this.host);\n }\n\n disconnectedCallback() {\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n componentDidLoad() {\n const nativeInput = this.nativeInput;\n if (nativeInput == null) {\n return;\n }\n\n nativeInput.indeterminate = this.indeterminate;\n }\n\n /** Sets focus on the checkbox. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.nativeInput?.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n @Method()\n async removeFocus() {\n this.nativeInput?.blur();\n }\n\n private handleChange = () => {\n if (this.nativeInput != null) {\n this.checked = this.nativeInput.checked;\n this.indeterminate = false;\n this.sixChange.emit();\n }\n };\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.sixBlur.emit();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.sixFocus.emit();\n };\n\n private handleMouseDown = (event: MouseEvent) => {\n // Prevent clicks on the label from briefly blurring the input\n event.preventDefault();\n this.nativeInput?.focus();\n };\n\n private handleSlotChange() {\n this.hasLabelSlot = hasSlot(this.host, 'label');\n }\n\n render() {\n return (\n <FormControl\n inputId={this.inputId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n errorTextId={this.errorTextId}\n errorText={this.errorText}\n size=\"medium\"\n disabled={this.disabled}\n required={this.required}\n displayError={this.invalid}\n >\n <label\n part=\"base\"\n class={{\n checkbox: true,\n 'checkbox--checked': this.checked,\n 'checkbox--disabled': this.disabled,\n 'checkbox--focused': this.hasFocus,\n 'checkbox--invalid': this.invalid,\n 'checkbox--indeterminate': this.indeterminate,\n }}\n htmlFor={this.inputId}\n onMouseDown={this.handleMouseDown}\n >\n <span part=\"control\" class=\"checkbox__control\">\n {this.checked && (\n <span part=\"checked-icon\" class=\"checkbox__icon\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(3.428571, 3.428571)\">\n <path d=\"M0,5.71428571 L3.42857143,9.14285714\"></path>\n <path d=\"M9.14285714,0 L3.42857143,9.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n )}\n\n {!this.checked && this.indeterminate && (\n <span part=\"indeterminate-icon\" class=\"checkbox__icon\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(2.285714, 6.857143)\">\n <path d=\"M10.2857143,1.14285714 L1.14285714,1.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n )}\n\n <input\n ref={(el) => (this.nativeInput = el)}\n id={this.inputId}\n type=\"checkbox\"\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n required={this.required}\n role=\"checkbox\"\n aria-checked={this.checked ? 'true' : 'false'}\n aria-labelledby={this.labelId}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n />\n </span>\n\n <span part=\"text\" id={this.textId} class=\"checkbox__text\">\n <slot />\n </span>\n </label>\n </FormControl>\n );\n }\n}\n"]}
@@ -0,0 +1,79 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ import { SixCheckbox } from "../six-checkbox";
3
+ describe('six-checkbox', () => {
4
+ it('default', async () => {
5
+ const page = await newSpecPage({
6
+ components: [SixCheckbox],
7
+ html: `<six-checkbox></six-checkbox>`,
8
+ });
9
+ expect(page.root).toEqualHtml(`
10
+ <six-checkbox>
11
+ <mock:shadow-root>
12
+ <div class="form-control form-control--medium" part="form-control">
13
+ <label aria-hidden="true" class="form-control__label" htmlfor="checkbox-1" id="checkbox-label-1" part="label">
14
+ <slot name="label"></slot>
15
+ </label>
16
+ <div class="form-control__input">
17
+ <label class="checkbox" htmlfor="checkbox-1" part="base">
18
+ <span class="checkbox__control" part="control">
19
+ <input aria-checked="false" aria-labelledby="checkbox-label-1" id="checkbox-1" role="checkbox" type="checkbox" value="on">
20
+ </span>
21
+ <span class="checkbox__text" id="checkbox-text-1" part="text">
22
+ <slot></slot>
23
+ </span>
24
+ </label>
25
+ </div>
26
+ <div aria-hidden="true" class="form-control__error-text" id="input-error-text-1" part="error-text"></div>
27
+ <div aria-hidden="true" class="form-control__help-text" part="help-text">
28
+ <slot name="help-text"></slot>
29
+ </div>
30
+ </div>
31
+ </mock:shadow-root>
32
+ </six-checkbox>
33
+ `);
34
+ });
35
+ it('checked', async () => {
36
+ const page = await newSpecPage({
37
+ components: [SixCheckbox],
38
+ html: `<six-checkbox checked></six-checkbox>`,
39
+ });
40
+ expect(page.root).toEqualHtml(`
41
+ <six-checkbox checked="">
42
+ <mock:shadow-root>
43
+ <div class="form-control form-control--medium" part="form-control">
44
+ <label aria-hidden="true" class="form-control__label" htmlfor="checkbox-2" id="checkbox-label-2" part="label">
45
+ <slot name="label"></slot>
46
+ </label>
47
+ <div class="form-control__input">
48
+ <label class="checkbox checkbox--checked" htmlfor="checkbox-2" part="base">
49
+ <span part="control" class="checkbox__control">
50
+ <span part="checked-icon" class="checkbox__icon">
51
+ <svg viewBox="0 0 16 16">
52
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
53
+ <g stroke="currentColor" stroke-width="2">
54
+ <g transform="translate(3.428571, 3.428571)">
55
+ <path d="M0,5.71428571 L3.42857143,9.14285714"></path>
56
+ <path d="M9.14285714,0 L3.42857143,9.14285714"></path>
57
+ </g>
58
+ </g>
59
+ </g>
60
+ </svg>
61
+ </span>
62
+ <input id="checkbox-2" type="checkbox" role="checkbox" aria-checked="true" aria-labelledby="checkbox-label-2" checked="" value="on">
63
+ </span>
64
+ <span part="text" id="checkbox-text-2" class="checkbox__text">
65
+ <slot></slot>
66
+ </span>
67
+ </label>
68
+ </div>
69
+ <div aria-hidden="true" class="form-control__error-text" id="input-error-text-2" part="error-text"></div>
70
+ <div aria-hidden="true" class="form-control__help-text" part="help-text">
71
+ <slot name="help-text"></slot>
72
+ </div>
73
+ </div>
74
+ </mock:shadow-root>
75
+ </six-checkbox>
76
+ `);
77
+ });
78
+ });
79
+ //# sourceMappingURL=six-checkbox.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"six-checkbox.spec.js","sourceRoot":"","sources":["../../../../src/components/six-checkbox/test/six-checkbox.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;EAC5B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;MACzB,IAAI,EAAE,+BAA+B;KACtC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;KAwB7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;MACzB,IAAI,EAAE,uCAAuC;KAC9C,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoC7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixCheckbox } from '../six-checkbox';\n\ndescribe('six-checkbox', () => {\n it('default', async () => {\n const page = await newSpecPage({\n components: [SixCheckbox],\n html: `<six-checkbox></six-checkbox>`,\n });\n expect(page.root).toEqualHtml(`\n <six-checkbox>\n <mock:shadow-root>\n <div class=\"form-control form-control--medium\" part=\"form-control\">\n <label aria-hidden=\"true\" class=\"form-control__label\" htmlfor=\"checkbox-1\" id=\"checkbox-label-1\" part=\"label\">\n <slot name=\"label\"></slot>\n </label>\n <div class=\"form-control__input\">\n <label class=\"checkbox\" htmlfor=\"checkbox-1\" part=\"base\">\n <span class=\"checkbox__control\" part=\"control\">\n <input aria-checked=\"false\" aria-labelledby=\"checkbox-label-1\" id=\"checkbox-1\" role=\"checkbox\" type=\"checkbox\" value=\"on\">\n </span>\n <span class=\"checkbox__text\" id=\"checkbox-text-1\" part=\"text\">\n <slot></slot>\n </span>\n </label>\n </div>\n <div aria-hidden=\"true\" class=\"form-control__error-text\" id=\"input-error-text-1\" part=\"error-text\"></div>\n <div aria-hidden=\"true\" class=\"form-control__help-text\" part=\"help-text\">\n <slot name=\"help-text\"></slot>\n </div>\n </div>\n </mock:shadow-root>\n </six-checkbox>\n `);\n });\n\n it('checked', async () => {\n const page = await newSpecPage({\n components: [SixCheckbox],\n html: `<six-checkbox checked></six-checkbox>`,\n });\n expect(page.root).toEqualHtml(`\n <six-checkbox checked=\"\">\n <mock:shadow-root>\n <div class=\"form-control form-control--medium\" part=\"form-control\">\n <label aria-hidden=\"true\" class=\"form-control__label\" htmlfor=\"checkbox-2\" id=\"checkbox-label-2\" part=\"label\">\n <slot name=\"label\"></slot>\n </label>\n <div class=\"form-control__input\">\n <label class=\"checkbox checkbox--checked\" htmlfor=\"checkbox-2\" part=\"base\">\n <span part=\"control\" class=\"checkbox__control\">\n <span part=\"checked-icon\" class=\"checkbox__icon\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(3.428571, 3.428571)\">\n <path d=\"M0,5.71428571 L3.42857143,9.14285714\"></path>\n <path d=\"M9.14285714,0 L3.42857143,9.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n <input id=\"checkbox-2\" type=\"checkbox\" role=\"checkbox\" aria-checked=\"true\" aria-labelledby=\"checkbox-label-2\" checked=\"\" value=\"on\">\n </span>\n <span part=\"text\" id=\"checkbox-text-2\" class=\"checkbox__text\">\n <slot></slot>\n </span>\n </label>\n </div>\n <div aria-hidden=\"true\" class=\"form-control__error-text\" id=\"input-error-text-2\" part=\"error-text\"></div>\n <div aria-hidden=\"true\" class=\"form-control__help-text\" part=\"help-text\">\n <slot name=\"help-text\"></slot>\n </div>\n </div>\n </mock:shadow-root>\n </six-checkbox>\n `);\n });\n});\n"]}
@@ -1,4 +1,4 @@
1
- import { h } from '@stencil/core';
1
+ import { h } from "@stencil/core";
2
2
  export const DaySelection = (daySelectionParams) => {
3
3
  return (h("table", { class: "datepicker-table", part: "day-selection" }, h("thead", { part: "weekday-header" }, daySelectionParams.locale.weekdaysMin.map((weekday) => (h("th", { class: "datepicker__cell" }, weekday)))), h("tbody", null, daySelectionParams.calendarGrid.map((row) => (h("tr", { class: "datepicker-table__row" }, row.map((cell) => (h("td", { "data-date": cell.dateString, onClick: () => daySelectionParams.onClickDateCell(cell), class: {
4
4
  'datepicker-table__cell': true,
@@ -1,5 +1,5 @@
1
- import { h } from '@stencil/core';
2
- import { now } from '../../../utils/date-util';
1
+ import { h } from "@stencil/core";
2
+ import { now } from "../../../utils/date-util";
3
3
  export const MonthSelection = (monthSelectionParams) => {
4
4
  const locale = monthSelectionParams.locale;
5
5
  const isToday = (value) => locale.monthsShort[now().getMonth()] === value;
@@ -1,5 +1,5 @@
1
- import { now } from '../../../utils/date-util';
2
- import { h } from '@stencil/core';
1
+ import { now } from "../../../utils/date-util";
2
+ import { h } from "@stencil/core";
3
3
  export const YearSelection = (yearSelectionParams) => {
4
4
  return (h("table", { class: "datepicker-table", part: "year-selection" }, h("tbody", null, yearSelectionParams.yearSelection.map((row) => (h("tr", { class: "datepicker-table__row" }, row.map((year) => {
5
5
  var _a;
@@ -1,13 +1,13 @@
1
- import { h } from '@stencil/core';
2
- import { createCalendarGrid, day, formatDate, getFirstDayOfTheWeek, hours, i18nDate, isValidDate, isValidDateString, minutes, month, now, rangeAround, removeTime, seconds, toDate, year, } from '../../utils/date-util';
3
- import { EventListeners } from '../../utils/event-listeners';
4
- import { debounce, debounceEvent, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';
5
- import { hasSlot } from '../../utils/slot';
6
- import { SixDateFormats } from './six-date-formats';
7
- import { MonthSelection } from './components/month-selection';
8
- import { DaySelection } from './components/day-selection';
9
- import { YearSelection } from './components/year-selection';
10
- import { adjustPopupForHoisting, adjustPopupForSmallScreens, calcIsDropDownContentUp, movePopup, } from '../../utils/popup';
1
+ import { h } from "@stencil/core";
2
+ import { createCalendarGrid, day, formatDate, getFirstDayOfTheWeek, hours, i18nDate, isValidDate, isValidDateString, minutes, month, now, rangeAround, removeTime, seconds, toDate, year, } from "../../utils/date-util";
3
+ import { EventListeners } from "../../utils/event-listeners";
4
+ import { debounce, debounceEvent, DEFAULT_DEBOUNCE_FAST } from "../../utils/execution-control";
5
+ import { hasSlot } from "../../utils/slot";
6
+ import { SixDateFormats } from "./six-date-formats";
7
+ import { MonthSelection } from "./components/month-selection";
8
+ import { DaySelection } from "./components/day-selection";
9
+ import { YearSelection } from "./components/year-selection";
10
+ import { adjustPopupForHoisting, adjustPopupForSmallScreens, calcIsDropDownContentUp, movePopup, } from "../../utils/popup";
11
11
  const NUMBER_OF_YEARS_SHOWN = 25;
12
12
  const MIN_POPUP_HEIGHT = 400;
13
13
  var SelectionMode;
@@ -135,6 +135,7 @@ export class SixDatepicker {
135
135
  // clear the value if the user deleted the date
136
136
  if (((_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.value) === '' && isValidDate(this.value)) {
137
137
  this.value = undefined;
138
+ this.sixSelect.emit(this.value);
138
139
  }
139
140
  event.stopPropagation();
140
141
  const inputValue = (_b = this.inputElement) === null || _b === void 0 ? void 0 : _b.value;
@@ -191,10 +192,10 @@ export class SixDatepicker {
191
192
  if (this.value != null && !isValidDate(this.value)) {
192
193
  console.warn('invalid date value: ', this.value);
193
194
  this.value = undefined;
195
+ this.sixSelect.emit(this.value);
194
196
  }
195
197
  this.selectedDate = this.value;
196
198
  this.updatePointerDates();
197
- this.sixSelect.emit(this.value);
198
199
  }
199
200
  async resizeHandler() {
200
201
  this.updateDropdownDirection();
@@ -343,6 +344,7 @@ export class SixDatepicker {
343
344
  return;
344
345
  }
345
346
  this.value = newDate;
347
+ this.sixSelect.emit(this.value);
346
348
  }
347
349
  /**
348
350
  * Selects an option
@@ -572,7 +574,8 @@ export class SixDatepicker {
572
574
  "resolved": "(date: Date) => boolean",
573
575
  "references": {
574
576
  "Date": {
575
- "location": "global"
577
+ "location": "global",
578
+ "id": "global::Date"
576
579
  }
577
580
  }
578
581
  },
@@ -592,7 +595,8 @@ export class SixDatepicker {
592
595
  "resolved": "Date | undefined",
593
596
  "references": {
594
597
  "Date": {
595
- "location": "global"
598
+ "location": "global",
599
+ "id": "global::Date"
596
600
  }
597
601
  }
598
602
  },
@@ -611,7 +615,8 @@ export class SixDatepicker {
611
615
  "resolved": "Date | undefined",
612
616
  "references": {
613
617
  "Date": {
614
- "location": "global"
618
+ "location": "global",
619
+ "id": "global::Date"
615
620
  }
616
621
  }
617
622
  },
@@ -735,7 +740,8 @@ export class SixDatepicker {
735
740
  "resolved": "Date | undefined",
736
741
  "references": {
737
742
  "Date": {
738
- "location": "global"
743
+ "location": "global",
744
+ "id": "global::Date"
739
745
  }
740
746
  }
741
747
  },
@@ -808,7 +814,8 @@ export class SixDatepicker {
808
814
  "resolved": "HTMLElement | undefined",
809
815
  "references": {
810
816
  "HTMLElement": {
811
- "location": "global"
817
+ "location": "global",
818
+ "id": "global::HTMLElement"
812
819
  }
813
820
  }
814
821
  },
@@ -828,7 +835,8 @@ export class SixDatepicker {
828
835
  "references": {
829
836
  "SixDateFormats": {
830
837
  "location": "import",
831
- "path": "./six-date-formats"
838
+ "path": "./six-date-formats",
839
+ "id": "src/components/six-datepicker/six-date-formats.tsx::SixDateFormats"
832
840
  }
833
841
  }
834
842
  },
@@ -958,7 +966,8 @@ export class SixDatepicker {
958
966
  "references": {
959
967
  "SixDatepickerSelectPayload": {
960
968
  "location": "local",
961
- "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-datepicker/six-datepicker.tsx"
969
+ "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-datepicker/six-datepicker.tsx",
970
+ "id": "src/components/six-datepicker/six-datepicker.tsx::SixDatepickerSelectPayload"
962
971
  }
963
972
  }
964
973
  }
@@ -978,7 +987,8 @@ export class SixDatepicker {
978
987
  "references": {
979
988
  "EmptyPayload": {
980
989
  "location": "import",
981
- "path": "../../utils/types"
990
+ "path": "../../utils/types",
991
+ "id": "src/utils/types.ts::EmptyPayload"
982
992
  }
983
993
  }
984
994
  }
@@ -998,7 +1008,8 @@ export class SixDatepicker {
998
1008
  "references": {
999
1009
  "SixDatepickerSelectPayload": {
1000
1010
  "location": "local",
1001
- "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-datepicker/six-datepicker.tsx"
1011
+ "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-datepicker/six-datepicker.tsx",
1012
+ "id": "src/components/six-datepicker/six-datepicker.tsx::SixDatepickerSelectPayload"
1002
1013
  }
1003
1014
  }
1004
1015
  }
@@ -1015,10 +1026,12 @@ export class SixDatepicker {
1015
1026
  }],
1016
1027
  "references": {
1017
1028
  "Promise": {
1018
- "location": "global"
1029
+ "location": "global",
1030
+ "id": "global::Promise"
1019
1031
  },
1020
1032
  "FocusOptions": {
1021
- "location": "global"
1033
+ "location": "global",
1034
+ "id": "global::FocusOptions"
1022
1035
  }
1023
1036
  },
1024
1037
  "return": "Promise<void>"
@@ -1037,7 +1050,8 @@ export class SixDatepicker {
1037
1050
  }],
1038
1051
  "references": {
1039
1052
  "Promise": {
1040
- "location": "global"
1053
+ "location": "global",
1054
+ "id": "global::Promise"
1041
1055
  }
1042
1056
  },
1043
1057
  "return": "Promise<void>"
@@ -1 +1 @@
1
- {"version":3,"file":"six-datepicker.js","sourceRoot":"","sources":["../../../src/components/six-datepicker/six-datepicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport {\n createCalendarGrid,\n day,\n formatDate,\n getFirstDayOfTheWeek,\n hours,\n i18nDate,\n isValidDate,\n isValidDateString,\n minutes,\n month,\n now,\n PointerDate,\n rangeAround,\n removeTime,\n seconds,\n toDate,\n year,\n} from '../../utils/date-util';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, debounceEvent, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { SixDateFormats } from './six-date-formats';\nimport { MonthSelection } from './components/month-selection';\nimport { DaySelection } from './components/day-selection';\nimport { YearSelection } from './components/year-selection';\nimport { SixTimepickerChange } from '../six-timepicker/six-timepicker';\nimport {\n adjustPopupForHoisting,\n adjustPopupForSmallScreens,\n calcIsDropDownContentUp,\n movePopup,\n} from '../../utils/popup';\n\nconst NUMBER_OF_YEARS_SHOWN = 25;\n\nconst MIN_POPUP_HEIGHT = 400;\n\nexport type SixDatepickerSelectPayload = Date | undefined | null;\n\nexport interface CalendarCell {\n date: Date;\n dateString: string;\n display: string;\n isDisabled: boolean;\n isOutdated: boolean;\n isSelected: boolean;\n isToday: boolean;\n label: string;\n}\n\nenum SelectionMode {\n DAY = 'day',\n MONTH = 'month',\n YEAR = 'year',\n}\n\n/**\n * @since 1.0\n * @status 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 eventListeners = new EventListeners();\n private inputElement?: HTMLSixInputElement;\n private popup?: HTMLElement;\n private wrapper?: HTMLElement;\n private selectedDate?: Date;\n\n @Element() host!: HTMLSixDatepickerElement;\n\n @State() private pointerDate = SixDatepicker.getCurrentDateAsPointer();\n @State() selectionMode: SelectionMode = SelectionMode.DAY;\n @State() isDropDownContentUp = false;\n\n /**\n * Set the type.\n */\n @Prop() type: 'date' | 'date-time' = 'date';\n\n /**\n * The language used to render the weekdays and months.\n */\n @Prop() locale: 'en' | 'de' | 'fr' | 'it' = 'en';\n\n /** Indicates whether or not the calendar dropdown is open on startup. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Indicates whether or not the calendar should be shown as an inline (always open) component */\n @Prop({ reflect: true }) inline = false;\n\n /**\n * If `true` the user can only select a date via the component in the popup, but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Callback to determine which date in the datepicker should be selectable.\n * the callback function will get a datestring as an argument, e.g. '2021-07-04'\n *\n * Usage e.g.:\n * const datepicker = document.getElementById('allowed-date-picker');\n * datepicker.allowedDates = datestring => parseInt(datestring.split('-')[2], 10) % 2 === 0;\n */\n @Prop() allowedDates: (date: Date) => boolean = () => true;\n\n /**\n * The minimum datetime allowed. Value must be a date object\n */\n @Prop() min?: Date;\n\n /**\n * The maximum datetime allowed. Value must be a date object\n */\n @Prop() max?: Date;\n\n /**\n * Closes the datepicker dropdown after selection\n */\n @Prop() closeOnSelect = this.type === 'date';\n\n /**\n * The enforced placement of the dropdown panel.\n */\n @Prop() placement?: 'top' | 'bottom';\n\n /** Datepicker size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /**\n * The date to defines where the datepicker popup starts. The prop accepts ISO 8601 date strings (YYYY-MM-DD).\n */\n @Prop() defaultDate?: string;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /**\n * The value of the form field, which accepts a date object.\n */\n @Prop({ mutable: true }) value?: Date;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText = '';\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** The dropdown will close when the user interacts outside of this element (e.g. clicking). */\n @Prop() containingElement?: HTMLElement;\n\n /** Define the dateFormat. Valid formats are:\n * 'dd.mm.yyyy'\n * 'yyyy-mm-dd'\n * 'dd-mm-yyyy'\n * 'dd/mm/yyyy'\n * 'yyyy/mm/dd'\n * 'dd.mm.yy'\n * 'yy-mm-dd'\n * 'dd-mm-yy'\n * 'dd/mm/yy'\n * 'yy/mm/dd'\n * */\n @Prop() dateFormat: SixDateFormats = SixDateFormats.DDMMYYY_DOT;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `dateChange` event after each keystroke.\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Set the position of the icon */\n @Prop() iconPosition: 'left' | 'right' = 'left';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.sixSelect = debounceEvent(this.sixSelect, this.debounce);\n }\n\n @Watch('invalid')\n protected invalidChanged(invalid: boolean) {\n if (this.inputElement) {\n this.inputElement.invalid = invalid;\n }\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n if (this.value != null && !isValidDate(this.value)) {\n console.warn('invalid date value: ', this.value);\n this.value = undefined;\n }\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.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n this.adjustPopupPosition();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n }\n\n private moveOpenHoistedPopup() {\n movePopup(this.hoist, this.open, this.popup, this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n get container() {\n return this.containingElement || this.host;\n }\n\n get firstDateOfBox(): Date {\n const date = new Date(this.pointerDate.year, this.pointerDate.month, 1);\n return getFirstDayOfTheWeek(date);\n }\n\n /** Sets focus on the datepickers input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.setFocus(options);\n }\n\n get calendarGrid() {\n return createCalendarGrid({\n firstDateOfBox: this.firstDateOfBox,\n allowedDates: this.allowedDates,\n dateFormat: this.dateFormat,\n locale: this.locale,\n selectedDate: this.selectedDate,\n minDate: this.min,\n maxDate: this.max,\n pointerDate: this.pointerDate,\n });\n }\n\n private updateDropdownDirection() {\n if (this.inputElement == null || this.wrapper == null) {\n return;\n }\n this.isDropDownContentUp = calcIsDropDownContentUp(this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n private getMonthStringForIndex(index: number) {\n return i18nDate[this.locale].months[index];\n }\n\n private previousUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.previousMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.previousYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.previousYearGroup();\n }\n };\n\n private previousYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - 1 };\n }\n\n private previousYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - NUMBER_OF_YEARS_SHOWN };\n }\n\n private previousMonth() {\n if (this.pointerDate.month === 0) {\n this.pointerDate = { year: this.pointerDate.year - 1, month: 11, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month - 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.nextMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.nextYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.nextYearGroup();\n }\n };\n\n private nextMonth() {\n if (this.pointerDate.month === 11) {\n this.pointerDate = { year: this.pointerDate.year + 1, month: 0, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month + 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + 1 };\n }\n\n private nextYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + NUMBER_OF_YEARS_SHOWN };\n }\n\n private openCalendar() {\n if (!this.open && !this.disabled) {\n this.open = true;\n this.setupEventListenersForOpenPopup();\n }\n }\n\n private setupEventListenersForOpenPopup() {\n this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private handleDocumentKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n // Close when escape is pressed\n if (this.open && keyboardEvent.key === 'Escape') {\n keyboardEvent.stopPropagation();\n this.closePopup();\n void this.inputElement?.setFocus();\n }\n\n // Handle tabbing\n if (keyboardEvent.key === 'Tab') {\n this.closePopup();\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.container)) {\n this.closePopup();\n return;\n }\n };\n\n private handleClearClick = async (event: MouseEvent) => {\n event.stopPropagation();\n await this.select(undefined);\n this.sixClear.emit();\n };\n\n private closePopup() {\n if (this.inline) {\n return;\n }\n\n this.open = false;\n this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n this.selectionMode = SelectionMode.DAY;\n }\n\n private updatePointerDates() {\n const date = this.getPointerDate();\n if (this.differsFromPointerDate(date)) {\n this.pointerDate = {\n year: year(date),\n month: month(date),\n day: day(date),\n hours: hours(date),\n minutes: minutes(date),\n seconds: seconds(date),\n };\n }\n }\n\n private differsFromPointerDate(date?: Date): boolean {\n return (\n this.pointerDate.day !== day(date) ||\n this.pointerDate.month !== month(date) ||\n this.pointerDate.year !== year(date) ||\n this.pointerDate.hours !== hours(date) ||\n this.pointerDate.minutes !== minutes(date) ||\n this.pointerDate.seconds !== seconds(date)\n );\n }\n\n private getPointerDate(): Date | undefined {\n if (this.selectedDate !== undefined && this.selectedDate !== null) {\n return this.selectedDate;\n }\n if (this.defaultDate == null) {\n return this.type === 'date' ? removeTime(now()) : now();\n } else {\n return toDate(this.defaultDate, this.dateFormat);\n }\n }\n\n private updateValue(newDate?: Date) {\n this.updateIfChanged(newDate);\n }\n\n private updateIfChanged(newDate?: Date) {\n if (this.value?.getTime() === newDate?.getTime()) {\n return;\n }\n this.value = newDate;\n }\n\n /**\n * Selects an option\n */\n @Method()\n async select(datestring?: string) {\n if (datestring == null) {\n this.updateValue(undefined);\n } else {\n const newDate = toDate(datestring, this.dateFormat);\n newDate?.setHours(this.pointerDate.hours, this.pointerDate.minutes, this.pointerDate.seconds);\n this.updateValue(newDate);\n }\n\n this.updatePointerDates();\n\n if (this.closeOnSelect) {\n this.closePopup();\n }\n }\n\n private onTimepickerChange = (sixTimepickerChange: CustomEvent<SixTimepickerChange>) => {\n const time = sixTimepickerChange.detail.value;\n const newDate = new Date();\n\n if (this.selectedDate != null) {\n newDate.setFullYear(this.selectedDate.getFullYear(), this.selectedDate.getMonth(), this.selectedDate.getDate());\n }\n\n if (time != null) {\n const hours = time.hours;\n const minutes = time.minutes;\n const seconds = time.seconds;\n if (hours != null) {\n newDate.setHours(hours, minutes, seconds);\n }\n }\n\n this.updateValue(newDate);\n this.updatePointerDates();\n };\n\n private onClickDateCell = (cell: CalendarCell) => {\n if (!cell.isDisabled) {\n void this.select(cell.dateString);\n }\n };\n\n private onClickMonthCell = (selectedMonth: string) => {\n const month = i18nDate[this.locale].monthsShort.findIndex((monthShort) => monthShort === selectedMonth);\n this.pointerDate = { ...this.pointerDate, month };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private onClickYearCell = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private handleInputChange = (event: Event) => {\n if (this.inputElement == null) {\n return;\n }\n event.stopPropagation();\n\n const inputValue = this.inputElement.value;\n if (!isValidDateString(inputValue, this.dateFormat)) {\n return;\n }\n\n const inputValueDate = toDate(inputValue, this.dateFormat);\n\n if (inputValueDate === undefined) {\n return;\n }\n\n this.updateIfChanged(inputValueDate);\n const datesOnly = inputValue.replace(/[^\\d]/g, '');\n if (datesOnly.length >= 6) {\n const date = toDate(inputValue, this.dateFormat);\n const dateAsString = formatDate(date, this.dateFormat);\n if (isValidDateString(dateAsString, this.dateFormat)) {\n this.selectedDate = toDate(dateAsString, this.dateFormat);\n this.updatePointerDates();\n this.updateValue(this.selectedDate);\n }\n }\n };\n\n private handleOnBlur = (event: Event) => {\n // 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 (this.inputElement != null && inputValueDate != null && 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.selectedDate = this.value;\n this.updatePointerDates();\n this.updateValue(this.value);\n\n if (this.inline) {\n this.open = true;\n }\n\n if (this.open) {\n this.setupEventListenersForOpenPopup();\n }\n }\n\n componentDidLoad() {\n if (this.inputElement != null) {\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'six-input-blur', this.handleOnBlur);\n }\n }\n\n componentDidRender() {\n this.adjustPopupPosition();\n }\n\n private renderHeader() {\n return (\n <header class=\"datepicker-header\" part=\"header\">\n <div class=\"datepicker-header__btn prev\" onClick={this.previousUnit}>\n <svg viewBox=\"0 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M11.67 3.87L9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z\" />\n </svg>\n </div>\n\n <div class=\"datepicker-header__label\">\n {this.selectionMode === SelectionMode.DAY && (\n <div onClick={() => (this.selectionMode = SelectionMode.MONTH)}>\n <span class=\"datepicker-header__label-month\">{this.getMonthStringForIndex(this.pointerDate.month)}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode !== SelectionMode.YEAR && (\n <div onClick={() => (this.selectionMode = SelectionMode.YEAR)}>\n <span class=\"datepicker-header__label-year\">{this.pointerDate.year}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode === SelectionMode.YEAR && (\n <div>\n {this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2)} –{' '}\n {this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2)}\n </div>\n )}\n </div>\n\n <div class=\"datepicker-header__btn next\" onClick={this.nextUnit}>\n <svg viewBox=\"5 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M5.88 4.12L13.76 12l-7.88 7.88L8 22l10-10L8 2z\" />\n </svg>\n </div>\n </header>\n );\n }\n\n private renderBody() {\n switch (this.selectionMode) {\n case SelectionMode.DAY:\n return (\n <DaySelection\n locale={i18nDate[this.locale]}\n calendarGrid={this.calendarGrid}\n onClickDateCell={this.onClickDateCell}\n />\n );\n case SelectionMode.MONTH:\n return (\n <MonthSelection\n locale={i18nDate[this.locale]}\n selectedDate={this.selectedDate}\n onClickMonthCell={this.onClickMonthCell}\n />\n );\n case SelectionMode.YEAR:\n return (\n <YearSelection\n selectedDate={this.selectedDate}\n yearSelection={rangeAround(this.pointerDate.year, NUMBER_OF_YEARS_SHOWN)}\n onClickYearCell={this.onClickYearCell}\n />\n );\n }\n }\n\n private renderCustomIcon() {\n const icon = hasSlot(this.host, 'custom-icon') ? (\n <slot name=\"custom-icon\"></slot>\n ) : (\n <six-icon size={this.size === 'large' ? 'medium' : this.size}>today</six-icon>\n );\n\n return (\n <span\n slot=\"prefix\"\n part=\"icon\"\n class={{\n prefix: true,\n 'prefix--right': this.iconPosition === 'right',\n }}\n >\n {icon}\n </span>\n );\n }\n\n private renderClearable() {\n return (\n this.clearable && (\n <button\n slot=\"suffix\"\n class={{\n 'datepicker-clear': true,\n 'datepicker-clear--right': this.iconPosition === 'left',\n 'datepicker-clear--left': this.iconPosition === 'right',\n }}\n type=\"button\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n >\n <six-icon size=\"small\">clear</six-icon>\n </button>\n )\n );\n }\n\n render() {\n this.adjustPopupPosition();\n\n return (\n <div ref={(el) => (this.wrapper = el)} class=\"datepicker__container\">\n <six-input\n part=\"base\"\n value={formatDate(this.value, this.dateFormat)}\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n name={this.name}\n label={this.label}\n required={this.required}\n error-text={this.errorText}\n onClick={() => this.openCalendar()}\n size={this.size}\n class={{ 'input--empty': this.value == null }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n </six-input>\n {this.open && (\n <div\n part=\"popup\"\n ref={(el) => (this.popup = el)}\n class={{\n datepicker__popup: true,\n 'datepicker__popup--is-up': this.placement != null ? this.placement === 'top' : this.isDropDownContentUp,\n 'datepicker__popup--is-inline': this.inline,\n }}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.type === 'date-time' && (\n <six-timepicker\n inline={true}\n onSix-timepicker-change-debounced={(event) => this.onTimepickerChange(event)}\n value={\n this.selectedDate?.getHours() +\n ':' +\n this.selectedDate?.getMinutes() +\n ':' +\n this.selectedDate?.getSeconds()\n }\n ></six-timepicker>\n )}\n <div class=\"datepicker__footer\">\n <slot />\n </div>\n </div>\n )}\n </div>\n );\n }\n\n private adjustPopupPosition() {\n adjustPopupForHoisting(\n this.hoist,\n this.popup,\n this.inputElement,\n this.wrapper,\n MIN_POPUP_HEIGHT,\n (isUp) => (this.isDropDownContentUp = isUp)\n );\n adjustPopupForSmallScreens(this.popup);\n }\n\n connectedCallback() {\n this.eventListeners.forward('six-datepicker-select', 'change', this.host);\n this.eventListeners.forward('six-datepicker-blur', 'blur', this.host);\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private static getCurrentDateAsPointer(): PointerDate {\n return {\n year: year(now()),\n month: month(now()),\n day: day(now()),\n hours: hours(now()),\n minutes: minutes(now()),\n seconds: seconds(now()),\n };\n }\n}\n"]}
1
+ {"version":3,"file":"six-datepicker.js","sourceRoot":"","sources":["../../../src/components/six-datepicker/six-datepicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/G,OAAO,EACL,kBAAkB,EAClB,GAAG,EACH,UAAU,EACV,oBAAoB,EACpB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,GAAG,EAEH,WAAW,EACX,UAAU,EACV,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAe7B,IAAK,aAIJ;AAJD,WAAK,aAAa;EAChB,4BAAW,CAAA;EACX,gCAAe,CAAA;EACf,8BAAa,CAAA;AACf,CAAC,EAJI,aAAa,KAAb,aAAa,QAIjB;AAED;;;;;GAKG;AAMH,MAAM,OAAO,aAAa;;IAChB,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAwOtC,iBAAY,GAAG,GAAG,EAAE;MAC1B,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,GAAG,EAAE;QAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;OACtB;WAAM,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,KAAK,EAAE;QACrD,IAAI,CAAC,YAAY,EAAE,CAAC;OACrB;WAAM,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,EAAE;QACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;OAC1B;IACH,CAAC,CAAC;IAyBM,aAAQ,GAAG,GAAG,EAAE;MACtB,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,GAAG,EAAE;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;OAClB;WAAM,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,KAAK,EAAE;QACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;OACjB;WAAM,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,EAAE;QACpD,IAAI,CAAC,aAAa,EAAE,CAAC;OACtB;IACH,CAAC,CAAC;IAqCM,0BAAqB,GAAG,CAAC,KAAY,EAAE,EAAE;;MAC/C,MAAM,aAAa,GAAG,KAAsB,CAAC;MAC7C,+BAA+B;MAC/B,IAAI,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC,GAAG,KAAK,QAAQ,EAAE;QAC/C,aAAa,CAAC,eAAe,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,EAAE,CAAA,CAAC;OACpC;MAED,iBAAiB;MACjB,IAAI,aAAa,CAAC,GAAG,KAAK,KAAK,EAAE;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;OACnB;IACH,CAAC,CAAC;IAEM,4BAAuB,GAAG,CAAC,KAAY,EAAE,EAAE;MACjD,qDAAqD;MACrD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAmB,CAAC;MACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO;OACR;IACH,CAAC,CAAC;IAEM,qBAAgB,GAAG,KAAK,EAAE,KAAiB,EAAE,EAAE;MACrD,KAAK,CAAC,eAAe,EAAE,CAAC;MACxB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;MAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC;IAiFM,uBAAkB,GAAG,CAAC,mBAAqD,EAAE,EAAE;MACrF,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC;MAC9C,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;MAE3B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;QAC7B,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;OACjH;MAED,IAAI,IAAI,IAAI,IAAI,EAAE;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,KAAK,IAAI,IAAI,EAAE;UACjB,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC3C;OACF;MAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;MAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEM,oBAAe,GAAG,CAAC,IAAkB,EAAE,EAAE;MAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;QACpB,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;OACnC;IACH,CAAC,CAAC;IAEM,qBAAgB,GAAG,CAAC,aAAqB,EAAE,EAAE;MACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC;MACxG,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,KAAK,GAAE,CAAC;MAClD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC;IACzC,CAAC,CAAC;IAEM,oBAAe,GAAG,CAAC,IAAY,EAAE,EAAE;MACzC,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,IAAI,GAAE,CAAC;MACjD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC;IACzC,CAAC,CAAC;IAEM,sBAAiB,GAAG,CAAC,KAAY,EAAE,EAAE;MAC3C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;QAC7B,OAAO;OACR;MACD,KAAK,CAAC,eAAe,EAAE,CAAC;MAExB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;MAC3C,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;QACnD,OAAO;OACR;MAED,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;MAE3D,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,OAAO;OACR;MAED,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;MACrC,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;MACnD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;UACpD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;UAC1D,IAAI,CAAC,kBAAkB,EAAE,CAAC;UAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACrC;OACF;IACH,CAAC,CAAC;IAEM,iBAAY,GAAG,CAAC,KAAY,EAAE,EAAE;;MACtC,+CAA+C;MAC/C,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,MAAK,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC9D,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OACjC;MAED,KAAK,CAAC,eAAe,EAAE,CAAC;MACxB,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,CAAC;MAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;MAC3D,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;MAE9D,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,cAAc,IAAI,IAAI,IAAI,UAAU,KAAK,aAAa,EAAE;QACvF,oCAAoC;QACpC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,aAAa,CAAC;OACzC;MAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;uBAjf6B,aAAa,CAAC,uBAAuB,EAAE;yBAC9B,aAAa,CAAC,GAAG;+BAC1B,KAAK;gBAKC,MAAM;kBAKC,IAAI;gBAGD,KAAK;kBAGlB,KAAK;oBAKpB,KAAK;oBAKL,KAAK;wBAUwB,GAAG,EAAE,CAAC,IAAI;;;yBAelC,IAAI,CAAC,IAAI,KAAK,MAAM;;gBAQC,QAAQ;oBAGlC,KAAK;;;;iBAkBR,EAAE;qBAGE,EAAE;mBAGa,KAAK;;sBAiBH,cAAc,CAAC,WAAW;oBAK5C,qBAAqB;gBAGR,EAAE;qBAGd,KAAK;wBAGgB,MAAM;iBAM/B,KAAK;;EAGX,eAAe;IACvB,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;EAChE,CAAC;EAGS,cAAc,CAAC,OAAgB;IACvC,IAAI,IAAI,CAAC,YAAY,EAAE;MACrB,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;KACrC;EACH,CAAC;EAED;;KAEG;EAEO,YAAY;IACpB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAClD,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;MACjD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;MACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;IACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC5B,CAAC;EAkBD,KAAK,CAAC,aAAa;IACjB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;EAC7B,CAAC;EAGD,KAAK,CAAC,aAAa;IACjB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAC9B,CAAC;EAEO,oBAAoB;IAC1B,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;EAClG,CAAC;EAED,IAAI,SAAS;IACX,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC;EAC7C,CAAC;EAED,IAAI,cAAc;IAChB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxE,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;EACpC,CAAC;EAED,2CAA2C;EAE3C,KAAK,CAAC,QAAQ,CAAC,OAAsB;;IACnC,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;EACvC,CAAC;EAED,IAAI,YAAY;IACd,OAAO,kBAAkB,CAAC;MACxB,cAAc,EAAE,IAAI,CAAC,cAAc;MACnC,YAAY,EAAE,IAAI,CAAC,YAAY;MAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;MAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;MACnB,YAAY,EAAE,IAAI,CAAC,YAAY;MAC/B,OAAO,EAAE,IAAI,CAAC,GAAG;MACjB,OAAO,EAAE,IAAI,CAAC,GAAG;MACjB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC;EACL,CAAC;EAEO,uBAAuB;IAC7B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;MACrD,OAAO;KACR;IACD,IAAI,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;EACxG,CAAC;EAEO,sBAAsB,CAAC,KAAa;IAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;EAC7C,CAAC;EAYO,YAAY;IAClB,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,GAAE,CAAC;EAC9E,CAAC;EAEO,iBAAiB;IACvB,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,qBAAqB,GAAE,CAAC;EAClG,CAAC;EAEO,aAAa;IACnB,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE;MAChC,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KAC7G;SAAM;MACL,IAAI,CAAC,WAAW,GAAG;QACjB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;QAC3B,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC;QACjC,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;OACX,CAAC;KACH;EACH,CAAC;EAYO,SAAS;IACf,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE,EAAE;MACjC,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KAC5G;SAAM;MACL,IAAI,CAAC,WAAW,GAAG;QACjB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;QAC3B,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC;QACjC,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;OACX,CAAC;KACH;EACH,CAAC;EAEO,QAAQ;IACd,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,GAAE,CAAC;EAC9E,CAAC;EAEO,aAAa;IACnB,IAAI,CAAC,WAAW,mCAAQ,IAAI,CAAC,WAAW,KAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,qBAAqB,GAAE,CAAC;EAClG,CAAC;EAEO,YAAY;IAClB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;MAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;MACjB,IAAI,CAAC,+BAA+B,EAAE,CAAC;KACxC;EACH,CAAC;EAEO,+BAA+B;IACrC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACzE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;EAC/E,CAAC;EAgCO,UAAU;IAChB,IAAI,IAAI,CAAC,MAAM,EAAE;MACf,OAAO;KACR;IAED,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC5E,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAChF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC;EACzC,CAAC;EAEO,kBAAkB;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACnC,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;MACrC,IAAI,CAAC,WAAW,GAAG;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;QAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;QAClB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;QACd,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;OACvB,CAAC;KACH;EACH,CAAC;EAEO,sBAAsB,CAAC,IAAW;IACxC,OAAO,CACL,IAAI,CAAC,WAAW,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC;MAClC,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC;MACtC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;MACpC,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC;MACtC,IAAI,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC;MAC1C,IAAI,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAC3C,CAAC;EACJ,CAAC;EAEO,cAAc;IACpB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;MACjE,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;MAC5B,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;KACzD;SAAM;MACL,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAClD;EACH,CAAC;EAEO,WAAW,CAAC,OAAc;IAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;EAChC,CAAC;EAEO,eAAe,CAAC,OAAc;;IACpC,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAA,EAAE;MAChD,OAAO;KACR;IACD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EAClC,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,MAAM,CAAC,UAAmB;IAC9B,IAAI,UAAU,IAAI,IAAI,EAAE;MACtB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;KAC7B;SAAM;MACL,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;MACpD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;MAC9F,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC3B;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAE1B,IAAI,IAAI,CAAC,aAAa,EAAE;MACtB,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;EACH,CAAC;EA0FD,iBAAiB;IACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,MAAM,EAAE;MACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAClB;IAED,IAAI,IAAI,CAAC,IAAI,EAAE;MACb,IAAI,CAAC,+BAA+B,EAAE,CAAC;KACxC;EACH,CAAC;EAED,gBAAgB;IACd,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;MAC7B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;MAC/G,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACjF;EACH,CAAC;EAED,kBAAkB;IAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;EAC7B,CAAC;EAEO,YAAY;IAClB,OAAO,CACL,cAAQ,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,QAAQ;MAC7C,WAAK,KAAK,EAAC,6BAA6B,EAAC,OAAO,EAAE,IAAI,CAAC,YAAY;QACjE,WAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI;UAC7C,YAAM,CAAC,EAAC,qDAAqD,GAAG,CAC5D,CACF;MAEN,WAAK,KAAK,EAAC,0BAA0B;QAClC,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,GAAG,IAAI,CAC3C,WAAK,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;UAC5D,YAAM,KAAK,EAAC,gCAAgC,IAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAQ;UACzG;YACE,WAAK,OAAO,EAAC,aAAa,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI;cAC/C,gBAAU,MAAM,EAAC,gBAAgB,GAAG,CAChC,CACD,CACH,CACP;QAEA,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,IAAI,CAC5C,WAAK,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;UAC3D,YAAM,KAAK,EAAC,+BAA+B,IAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAQ;UAC1E;YACE,WAAK,OAAO,EAAC,aAAa,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI;cAC/C,gBAAU,MAAM,EAAC,gBAAgB,GAAG,CAChC,CACD,CACH,CACP;QAEA,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,IAAI,CAC5C;UACG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;;UAAI,GAAG;UACpE,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAC1D,CACP,CACG;MAEN,WAAK,KAAK,EAAC,6BAA6B,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ;QAC7D,WAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI;UAC7C,YAAM,CAAC,EAAC,gDAAgD,GAAG,CACvD,CACF,CACC,CACV,CAAC;EACJ,CAAC;EAEO,UAAU;IAChB,QAAQ,IAAI,CAAC,aAAa,EAAE;MAC1B,KAAK,aAAa,CAAC,GAAG;QACpB,OAAO,CACL,EAAC,YAAY,IACX,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,eAAe,EAAE,IAAI,CAAC,eAAe,GACrC,CACH,CAAC;MACJ,KAAK,aAAa,CAAC,KAAK;QACtB,OAAO,CACL,EAAC,cAAc,IACb,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,GACvC,CACH,CAAC;MACJ,KAAK,aAAa,CAAC,IAAI;QACrB,OAAO,CACL,EAAC,aAAa,IACZ,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,qBAAqB,CAAC,EACxE,eAAe,EAAE,IAAI,CAAC,eAAe,GACrC,CACH,CAAC;KACL;EACH,CAAC;EAEO,gBAAgB;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAC/C,YAAM,IAAI,EAAC,aAAa,GAAQ,CACjC,CAAC,CAAC,CAAC,CACF,gBAAU,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,YAAkB,CAC/E,CAAC;IAEF,OAAO,CACL,YACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,IAAI,CAAC,YAAY,KAAK,OAAO;OAC/C,IAEA,IAAI,CACA,CACR,CAAC;EACJ,CAAC;EAEO,eAAe;IACrB,OAAO,CACL,IAAI,CAAC,SAAS,IAAI,CAChB,cACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;QACL,kBAAkB,EAAE,IAAI;QACxB,yBAAyB,EAAE,IAAI,CAAC,YAAY,KAAK,MAAM;QACvD,wBAAwB,EAAE,IAAI,CAAC,YAAY,KAAK,OAAO;OACxD,EACD,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,QAAQ,EAAC,IAAI;MAEb,gBAAU,IAAI,EAAC,OAAO,YAAiB,CAChC,CACV,CACF,CAAC;EACJ,CAAC;EAED,MAAM;;IACJ,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAE3B,OAAO,CACL,WAAK,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,uBAAuB;MAClE,iBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAC9C,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EACrC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,gBACX,IAAI,CAAC,SAAS,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAClC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;QAE5C,IAAI,CAAC,gBAAgB,EAAE;QACvB,IAAI,CAAC,eAAe,EAAE;QACtB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAC7B,YAAM,IAAI,EAAC,OAAO;UAChB,YAAM,IAAI,EAAC,OAAO,GAAG,CAChB,CACR,CAAC,CAAC,CAAC,IAAI,CACE;MACX,IAAI,CAAC,IAAI,IAAI,CACZ,WACE,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,EAC9B,KAAK,EAAE;UACL,iBAAiB,EAAE,IAAI;UACvB,0BAA0B,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB;UACxG,8BAA8B,EAAE,IAAI,CAAC,MAAM;SAC5C;QAEA,IAAI,CAAC,YAAY,EAAE;QACnB,IAAI,CAAC,UAAU,EAAE;QACjB,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,CAC5B,sBACE,MAAM,EAAE,IAAI,uCACuB,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAC5E,KAAK,EACH,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,QAAQ,EAAE;YAC7B,GAAG;aACH,MAAA,IAAI,CAAC,YAAY,0CAAE,UAAU,EAAE,CAAA;YAC/B,GAAG;aACH,MAAA,IAAI,CAAC,YAAY,0CAAE,UAAU,EAAE,CAAA,GAEjB,CACnB;QACD,WAAK,KAAK,EAAC,oBAAoB;UAC7B,eAAQ,CACJ,CACF,CACP,CACG,CACP,CAAC;EACJ,CAAC;EAEO,mBAAmB;IACzB,sBAAsB,CACpB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,OAAO,EACZ,gBAAgB,EAChB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAC5C,CAAC;IACF,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EACzC,CAAC;EAED,iBAAiB;IACf,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;EACxE,CAAC;EAED,oBAAoB;IAClB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;EAClC,CAAC;EAEO,MAAM,CAAC,uBAAuB;IACpC,OAAO;MACL,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;MACjB,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;MACnB,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;MACf,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;MACnB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;MACvB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACxB,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport {\n createCalendarGrid,\n day,\n formatDate,\n getFirstDayOfTheWeek,\n hours,\n i18nDate,\n isValidDate,\n isValidDateString,\n minutes,\n month,\n now,\n PointerDate,\n rangeAround,\n removeTime,\n seconds,\n toDate,\n year,\n} from '../../utils/date-util';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, debounceEvent, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { SixDateFormats } from './six-date-formats';\nimport { MonthSelection } from './components/month-selection';\nimport { DaySelection } from './components/day-selection';\nimport { YearSelection } from './components/year-selection';\nimport { SixTimepickerChange } from '../six-timepicker/six-timepicker';\nimport {\n adjustPopupForHoisting,\n adjustPopupForSmallScreens,\n calcIsDropDownContentUp,\n movePopup,\n} from '../../utils/popup';\n\nconst NUMBER_OF_YEARS_SHOWN = 25;\n\nconst MIN_POPUP_HEIGHT = 400;\n\nexport type SixDatepickerSelectPayload = Date | undefined | null;\n\nexport interface CalendarCell {\n date: Date;\n dateString: string;\n display: string;\n isDisabled: boolean;\n isOutdated: boolean;\n isSelected: boolean;\n isToday: boolean;\n label: string;\n}\n\nenum SelectionMode {\n DAY = 'day',\n MONTH = 'month',\n YEAR = 'year',\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define a footer for the date picker.\n */\n@Component({\n tag: 'six-datepicker',\n styleUrl: 'six-datepicker.scss',\n shadow: true,\n})\nexport class SixDatepicker {\n private eventListeners = new EventListeners();\n private inputElement?: HTMLSixInputElement;\n private popup?: HTMLElement;\n private wrapper?: HTMLElement;\n private selectedDate?: Date;\n\n @Element() host!: HTMLSixDatepickerElement;\n\n @State() private pointerDate = SixDatepicker.getCurrentDateAsPointer();\n @State() selectionMode: SelectionMode = SelectionMode.DAY;\n @State() isDropDownContentUp = false;\n\n /**\n * Set the type.\n */\n @Prop() type: 'date' | 'date-time' = 'date';\n\n /**\n * The language used to render the weekdays and months.\n */\n @Prop() locale: 'en' | 'de' | 'fr' | 'it' = 'en';\n\n /** Indicates whether or not the calendar dropdown is open on startup. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Indicates whether or not the calendar should be shown as an inline (always open) component */\n @Prop({ reflect: true }) inline = false;\n\n /**\n * If `true` the user can only select a date via the component in the popup, but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Callback to determine which date in the datepicker should be selectable.\n * the callback function will get a datestring as an argument, e.g. '2021-07-04'\n *\n * Usage e.g.:\n * const datepicker = document.getElementById('allowed-date-picker');\n * datepicker.allowedDates = datestring => parseInt(datestring.split('-')[2], 10) % 2 === 0;\n */\n @Prop() allowedDates: (date: Date) => boolean = () => true;\n\n /**\n * The minimum datetime allowed. Value must be a date object\n */\n @Prop() min?: Date;\n\n /**\n * The maximum datetime allowed. Value must be a date object\n */\n @Prop() max?: Date;\n\n /**\n * Closes the datepicker dropdown after selection\n */\n @Prop() closeOnSelect = this.type === 'date';\n\n /**\n * The enforced placement of the dropdown panel.\n */\n @Prop() placement?: 'top' | 'bottom';\n\n /** Datepicker size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /**\n * The date to defines where the datepicker popup starts. The prop accepts ISO 8601 date strings (YYYY-MM-DD).\n */\n @Prop() defaultDate?: string;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /**\n * The value of the form field, which accepts a date object.\n */\n @Prop({ mutable: true }) value?: Date;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText = '';\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** The dropdown will close when the user interacts outside of this element (e.g. clicking). */\n @Prop() containingElement?: HTMLElement;\n\n /** Define the dateFormat. Valid formats are:\n * 'dd.mm.yyyy'\n * 'yyyy-mm-dd'\n * 'dd-mm-yyyy'\n * 'dd/mm/yyyy'\n * 'yyyy/mm/dd'\n * 'dd.mm.yy'\n * 'yy-mm-dd'\n * 'dd-mm-yy'\n * 'dd/mm/yy'\n * 'yy/mm/dd'\n * */\n @Prop() dateFormat: SixDateFormats = SixDateFormats.DDMMYYY_DOT;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `dateChange` event after each keystroke.\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Set the position of the icon */\n @Prop() iconPosition: 'left' | 'right' = 'left';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.sixSelect = debounceEvent(this.sixSelect, this.debounce);\n }\n\n @Watch('invalid')\n protected invalidChanged(invalid: boolean) {\n if (this.inputElement) {\n this.inputElement.invalid = invalid;\n }\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n if (this.value != null && !isValidDate(this.value)) {\n console.warn('invalid date value: ', this.value);\n this.value = undefined;\n this.sixSelect.emit(this.value);\n }\n this.selectedDate = this.value;\n this.updatePointerDates();\n }\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-select' }) sixSelect!: EventEmitter<SixDatepickerSelectPayload>;\n\n /**\n * Emitted when the clear button is activated.\n */\n @Event({ eventName: 'six-datepicker-clear' }) sixClear!: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when a option got selected.\n */\n @Event({ eventName: 'six-datepicker-blur' }) sixBlur!: EventEmitter<SixDatepickerSelectPayload>;\n\n @Listen('resize', { target: 'window' })\n async resizeHandler() {\n this.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n this.adjustPopupPosition();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.updateDropdownDirection();\n this.moveOpenHoistedPopup();\n }\n\n private moveOpenHoistedPopup() {\n movePopup(this.hoist, this.open, this.popup, this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n get container() {\n return this.containingElement || this.host;\n }\n\n get firstDateOfBox(): Date {\n const date = new Date(this.pointerDate.year, this.pointerDate.month, 1);\n return getFirstDayOfTheWeek(date);\n }\n\n /** Sets focus on the datepickers input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.setFocus(options);\n }\n\n get calendarGrid() {\n return createCalendarGrid({\n firstDateOfBox: this.firstDateOfBox,\n allowedDates: this.allowedDates,\n dateFormat: this.dateFormat,\n locale: this.locale,\n selectedDate: this.selectedDate,\n minDate: this.min,\n maxDate: this.max,\n pointerDate: this.pointerDate,\n });\n }\n\n private updateDropdownDirection() {\n if (this.inputElement == null || this.wrapper == null) {\n return;\n }\n this.isDropDownContentUp = calcIsDropDownContentUp(this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n private getMonthStringForIndex(index: number) {\n return i18nDate[this.locale].months[index];\n }\n\n private previousUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.previousMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.previousYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.previousYearGroup();\n }\n };\n\n private previousYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - 1 };\n }\n\n private previousYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year - NUMBER_OF_YEARS_SHOWN };\n }\n\n private previousMonth() {\n if (this.pointerDate.month === 0) {\n this.pointerDate = { year: this.pointerDate.year - 1, month: 11, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month - 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextUnit = () => {\n if (this.selectionMode === SelectionMode.DAY) {\n this.nextMonth();\n } else if (this.selectionMode === SelectionMode.MONTH) {\n this.nextYear();\n } else if (this.selectionMode === SelectionMode.YEAR) {\n this.nextYearGroup();\n }\n };\n\n private nextMonth() {\n if (this.pointerDate.month === 11) {\n this.pointerDate = { year: this.pointerDate.year + 1, month: 0, day: 1, hours: 0, minutes: 0, seconds: 0 };\n } else {\n this.pointerDate = {\n year: this.pointerDate.year,\n month: this.pointerDate.month + 1,\n day: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n }\n }\n\n private nextYear() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + 1 };\n }\n\n private nextYearGroup() {\n this.pointerDate = { ...this.pointerDate, year: this.pointerDate.year + NUMBER_OF_YEARS_SHOWN };\n }\n\n private openCalendar() {\n if (!this.open && !this.disabled) {\n this.open = true;\n this.setupEventListenersForOpenPopup();\n }\n }\n\n private setupEventListenersForOpenPopup() {\n this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private handleDocumentKeyDown = (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n // Close when escape is pressed\n if (this.open && keyboardEvent.key === 'Escape') {\n keyboardEvent.stopPropagation();\n this.closePopup();\n void this.inputElement?.setFocus();\n }\n\n // Handle tabbing\n if (keyboardEvent.key === 'Tab') {\n this.closePopup();\n }\n };\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.container)) {\n this.closePopup();\n return;\n }\n };\n\n private handleClearClick = async (event: MouseEvent) => {\n event.stopPropagation();\n await this.select(undefined);\n this.sixClear.emit();\n };\n\n private closePopup() {\n if (this.inline) {\n return;\n }\n\n this.open = false;\n this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n this.selectionMode = SelectionMode.DAY;\n }\n\n private updatePointerDates() {\n const date = this.getPointerDate();\n if (this.differsFromPointerDate(date)) {\n this.pointerDate = {\n year: year(date),\n month: month(date),\n day: day(date),\n hours: hours(date),\n minutes: minutes(date),\n seconds: seconds(date),\n };\n }\n }\n\n private differsFromPointerDate(date?: Date): boolean {\n return (\n this.pointerDate.day !== day(date) ||\n this.pointerDate.month !== month(date) ||\n this.pointerDate.year !== year(date) ||\n this.pointerDate.hours !== hours(date) ||\n this.pointerDate.minutes !== minutes(date) ||\n this.pointerDate.seconds !== seconds(date)\n );\n }\n\n private getPointerDate(): Date | undefined {\n if (this.selectedDate !== undefined && this.selectedDate !== null) {\n return this.selectedDate;\n }\n if (this.defaultDate == null) {\n return this.type === 'date' ? removeTime(now()) : now();\n } else {\n return toDate(this.defaultDate, this.dateFormat);\n }\n }\n\n private updateValue(newDate?: Date) {\n this.updateIfChanged(newDate);\n }\n\n private updateIfChanged(newDate?: Date) {\n if (this.value?.getTime() === newDate?.getTime()) {\n return;\n }\n this.value = newDate;\n this.sixSelect.emit(this.value);\n }\n\n /**\n * Selects an option\n */\n @Method()\n async select(datestring?: string) {\n if (datestring == null) {\n this.updateValue(undefined);\n } else {\n const newDate = toDate(datestring, this.dateFormat);\n newDate?.setHours(this.pointerDate.hours, this.pointerDate.minutes, this.pointerDate.seconds);\n this.updateValue(newDate);\n }\n\n this.updatePointerDates();\n\n if (this.closeOnSelect) {\n this.closePopup();\n }\n }\n\n private onTimepickerChange = (sixTimepickerChange: CustomEvent<SixTimepickerChange>) => {\n const time = sixTimepickerChange.detail.value;\n const newDate = new Date();\n\n if (this.selectedDate != null) {\n newDate.setFullYear(this.selectedDate.getFullYear(), this.selectedDate.getMonth(), this.selectedDate.getDate());\n }\n\n if (time != null) {\n const hours = time.hours;\n const minutes = time.minutes;\n const seconds = time.seconds;\n if (hours != null) {\n newDate.setHours(hours, minutes, seconds);\n }\n }\n\n this.updateValue(newDate);\n this.updatePointerDates();\n };\n\n private onClickDateCell = (cell: CalendarCell) => {\n if (!cell.isDisabled) {\n void this.select(cell.dateString);\n }\n };\n\n private onClickMonthCell = (selectedMonth: string) => {\n const month = i18nDate[this.locale].monthsShort.findIndex((monthShort) => monthShort === selectedMonth);\n this.pointerDate = { ...this.pointerDate, month };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private onClickYearCell = (year: number) => {\n this.pointerDate = { ...this.pointerDate, year };\n this.selectionMode = SelectionMode.DAY;\n };\n\n private handleInputChange = (event: Event) => {\n if (this.inputElement == null) {\n return;\n }\n event.stopPropagation();\n\n const inputValue = this.inputElement.value;\n if (!isValidDateString(inputValue, this.dateFormat)) {\n return;\n }\n\n const inputValueDate = toDate(inputValue, this.dateFormat);\n\n if (inputValueDate === undefined) {\n return;\n }\n\n this.updateIfChanged(inputValueDate);\n const datesOnly = inputValue.replace(/[^\\d]/g, '');\n if (datesOnly.length >= 6) {\n const date = toDate(inputValue, this.dateFormat);\n const dateAsString = formatDate(date, this.dateFormat);\n if (isValidDateString(dateAsString, this.dateFormat)) {\n this.selectedDate = toDate(dateAsString, this.dateFormat);\n this.updatePointerDates();\n this.updateValue(this.selectedDate);\n }\n }\n };\n\n private handleOnBlur = (event: Event) => {\n // clear the value if the user deleted the date\n if (this.inputElement?.value === '' && isValidDate(this.value)) {\n this.value = undefined;\n this.sixSelect.emit(this.value);\n }\n\n 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 (this.inputElement != null && inputValueDate != null && 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.selectedDate = this.value;\n this.updatePointerDates();\n this.updateValue(this.value);\n\n if (this.inline) {\n this.open = true;\n }\n\n if (this.open) {\n this.setupEventListenersForOpenPopup();\n }\n }\n\n componentDidLoad() {\n if (this.inputElement != null) {\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'six-input-blur', this.handleOnBlur);\n }\n }\n\n componentDidRender() {\n this.adjustPopupPosition();\n }\n\n private renderHeader() {\n return (\n <header class=\"datepicker-header\" part=\"header\">\n <div class=\"datepicker-header__btn prev\" onClick={this.previousUnit}>\n <svg viewBox=\"0 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M11.67 3.87L9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z\" />\n </svg>\n </div>\n\n <div class=\"datepicker-header__label\">\n {this.selectionMode === SelectionMode.DAY && (\n <div onClick={() => (this.selectionMode = SelectionMode.MONTH)}>\n <span class=\"datepicker-header__label-month\">{this.getMonthStringForIndex(this.pointerDate.month)}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode !== SelectionMode.YEAR && (\n <div onClick={() => (this.selectionMode = SelectionMode.YEAR)}>\n <span class=\"datepicker-header__label-year\">{this.pointerDate.year}</span>\n <span>\n <svg viewBox=\"-3 -4 24 24\" width=\"20\" height=\"20\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n </span>\n </div>\n )}\n\n {this.selectionMode === SelectionMode.YEAR && (\n <div>\n {this.pointerDate.year - Math.floor(NUMBER_OF_YEARS_SHOWN / 2)} –{' '}\n {this.pointerDate.year + Math.floor(NUMBER_OF_YEARS_SHOWN / 2)}\n </div>\n )}\n </div>\n\n <div class=\"datepicker-header__btn next\" onClick={this.nextUnit}>\n <svg viewBox=\"5 5 13 13\" width=\"14\" height=\"23\">\n <path d=\"M5.88 4.12L13.76 12l-7.88 7.88L8 22l10-10L8 2z\" />\n </svg>\n </div>\n </header>\n );\n }\n\n private renderBody() {\n switch (this.selectionMode) {\n case SelectionMode.DAY:\n return (\n <DaySelection\n locale={i18nDate[this.locale]}\n calendarGrid={this.calendarGrid}\n onClickDateCell={this.onClickDateCell}\n />\n );\n case SelectionMode.MONTH:\n return (\n <MonthSelection\n locale={i18nDate[this.locale]}\n selectedDate={this.selectedDate}\n onClickMonthCell={this.onClickMonthCell}\n />\n );\n case SelectionMode.YEAR:\n return (\n <YearSelection\n selectedDate={this.selectedDate}\n yearSelection={rangeAround(this.pointerDate.year, NUMBER_OF_YEARS_SHOWN)}\n onClickYearCell={this.onClickYearCell}\n />\n );\n }\n }\n\n private renderCustomIcon() {\n const icon = hasSlot(this.host, 'custom-icon') ? (\n <slot name=\"custom-icon\"></slot>\n ) : (\n <six-icon size={this.size === 'large' ? 'medium' : this.size}>today</six-icon>\n );\n\n return (\n <span\n slot=\"prefix\"\n part=\"icon\"\n class={{\n prefix: true,\n 'prefix--right': this.iconPosition === 'right',\n }}\n >\n {icon}\n </span>\n );\n }\n\n private renderClearable() {\n return (\n this.clearable && (\n <button\n slot=\"suffix\"\n class={{\n 'datepicker-clear': true,\n 'datepicker-clear--right': this.iconPosition === 'left',\n 'datepicker-clear--left': this.iconPosition === 'right',\n }}\n type=\"button\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n >\n <six-icon size=\"small\">clear</six-icon>\n </button>\n )\n );\n }\n\n render() {\n this.adjustPopupPosition();\n\n return (\n <div ref={(el) => (this.wrapper = el)} class=\"datepicker__container\">\n <six-input\n part=\"base\"\n value={formatDate(this.value, this.dateFormat)}\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n name={this.name}\n label={this.label}\n required={this.required}\n error-text={this.errorText}\n onClick={() => this.openCalendar()}\n size={this.size}\n class={{ 'input--empty': this.value == null }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n </six-input>\n {this.open && (\n <div\n part=\"popup\"\n ref={(el) => (this.popup = el)}\n class={{\n datepicker__popup: true,\n 'datepicker__popup--is-up': this.placement != null ? this.placement === 'top' : this.isDropDownContentUp,\n 'datepicker__popup--is-inline': this.inline,\n }}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.type === 'date-time' && (\n <six-timepicker\n inline={true}\n onSix-timepicker-change-debounced={(event) => this.onTimepickerChange(event)}\n value={\n this.selectedDate?.getHours() +\n ':' +\n this.selectedDate?.getMinutes() +\n ':' +\n this.selectedDate?.getSeconds()\n }\n ></six-timepicker>\n )}\n <div class=\"datepicker__footer\">\n <slot />\n </div>\n </div>\n )}\n </div>\n );\n }\n\n private adjustPopupPosition() {\n adjustPopupForHoisting(\n this.hoist,\n this.popup,\n this.inputElement,\n this.wrapper,\n MIN_POPUP_HEIGHT,\n (isUp) => (this.isDropDownContentUp = isUp)\n );\n adjustPopupForSmallScreens(this.popup);\n }\n\n connectedCallback() {\n this.eventListeners.forward('six-datepicker-select', 'change', this.host);\n this.eventListeners.forward('six-datepicker-blur', 'blur', this.host);\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private static getCurrentDateAsPointer(): PointerDate {\n return {\n year: year(now()),\n month: month(now()),\n day: day(now()),\n hours: hours(now()),\n minutes: minutes(now()),\n seconds: seconds(now()),\n };\n }\n}\n"]}
@@ -0,0 +1,26 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ import { SixDatepicker } from "../six-datepicker";
3
+ describe('six-datepicker', () => {
4
+ it('renders', async () => {
5
+ const page = await newSpecPage({
6
+ components: [SixDatepicker],
7
+ html: `<six-datepicker></six-datepicker>`,
8
+ });
9
+ expect(page.root).toEqualHtml(`
10
+ <six-datepicker>
11
+ <mock:shadow-root>
12
+ <div class="datepicker__container">
13
+ <six-input class="input--empty" error-text="" label="" part="base" size="medium" value="">
14
+ <span class="prefix" part="icon" slot="prefix">
15
+ <six-icon size="medium">
16
+ today
17
+ </six-icon>
18
+ </span>
19
+ </six-input>
20
+ </div>
21
+ </mock:shadow-root>
22
+ </six-datepicker>
23
+ `);
24
+ });
25
+ });
26
+ //# sourceMappingURL=six-datepicker.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"six-datepicker.spec.js","sourceRoot":"","sources":["../../../../src/components/six-datepicker/test/six-datepicker.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;EAC9B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;MAC3B,IAAI,EAAE,mCAAmC;KAC1C,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;KAc7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixDatepicker } from '../six-datepicker';\n\ndescribe('six-datepicker', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [SixDatepicker],\n html: `<six-datepicker></six-datepicker>`,\n });\n expect(page.root).toEqualHtml(`\n <six-datepicker>\n <mock:shadow-root>\n <div class=\"datepicker__container\">\n <six-input class=\"input--empty\" error-text=\"\" label=\"\" part=\"base\" size=\"medium\" value=\"\">\n <span class=\"prefix\" part=\"icon\" slot=\"prefix\">\n <six-icon size=\"medium\">\n today\n </six-icon>\n </span>\n </six-input>\n </div>\n </mock:shadow-root>\n </six-datepicker>\n `);\n });\n});\n"]}