@six-group/ui-library 0.0.0-insider.9277796 → 0.0.0-insider.d16ec8e

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 (754) hide show
  1. package/dist/cjs/{event-listeners-74715e62.js → event-listeners-dd94dcfb.js} +7 -7
  2. package/dist/cjs/event-listeners-dd94dcfb.js.map +1 -0
  3. package/dist/cjs/{execution-control-46f388e0.js → execution-control-45c84c46.js} +6 -3
  4. package/dist/cjs/execution-control-45c84c46.js.map +1 -0
  5. package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-e0d93a95.js} +3 -3
  6. package/dist/cjs/focus-visible-e0d93a95.js.map +1 -0
  7. package/dist/cjs/{form-control-2c17c573.js → form-control-7494488a.js} +10 -9
  8. package/dist/cjs/form-control-7494488a.js.map +1 -0
  9. package/dist/cjs/{index-2f6daa5b.js → index-ccf35821.js} +4 -1
  10. package/dist/cjs/index-ccf35821.js.map +1 -0
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/{modal-48d42228.js → modal-21350fb5.js} +4 -3
  13. package/dist/cjs/modal-21350fb5.js.map +1 -0
  14. package/dist/cjs/{popover-f743f62b.js → popover-b5e2d5ef.js} +33 -19
  15. package/dist/cjs/popover-b5e2d5ef.js.map +1 -0
  16. package/dist/cjs/popup-44836aaf.js +103 -0
  17. package/dist/cjs/popup-44836aaf.js.map +1 -0
  18. package/dist/cjs/set-attributes_2.cjs.entry.js +4 -2
  19. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  20. package/dist/cjs/six-alert.cjs.entry.js +18 -23
  21. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  22. package/dist/cjs/six-avatar.cjs.entry.js +5 -8
  23. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  24. package/dist/cjs/six-badge.cjs.entry.js +2 -2
  25. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  26. package/dist/cjs/six-button.cjs.entry.js +30 -34
  27. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-card.cjs.entry.js +1 -1
  29. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-checkbox.cjs.entry.js +62 -50
  31. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-datepicker.cjs.entry.js +148 -245
  33. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-details.cjs.entry.js +48 -47
  35. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-dialog.cjs.entry.js +36 -40
  37. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-drawer.cjs.entry.js +33 -37
  39. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-dropdown_2.cjs.entry.js +215 -196
  41. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-error-page.cjs.entry.js +20 -22
  43. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
  45. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  47. package/dist/cjs/six-file-upload.cjs.entry.js +21 -21
  48. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  50. package/dist/cjs/six-form.cjs.entry.js +40 -35
  51. package/dist/cjs/six-form.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-group-label.cjs.entry.js +12 -11
  53. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  54. package/dist/cjs/six-header.cjs.entry.js +66 -44
  55. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
  57. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  59. package/dist/cjs/six-input.cjs.entry.js +111 -85
  60. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-item-picker.cjs.entry.js +59 -78
  62. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  64. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-layout-grid.cjs.entry.js +5 -3
  66. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  68. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  70. package/dist/cjs/six-menu-item.cjs.entry.js +9 -7
  71. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  73. package/dist/cjs/six-picto.cjs.entry.js +5 -2
  74. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  76. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -4
  77. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-radio.cjs.entry.js +57 -52
  79. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-range.cjs.entry.js +118 -79
  81. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-root.cjs.entry.js +2 -2
  83. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-search-field.cjs.entry.js +11 -6
  85. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-select.cjs.entry.js +192 -186
  87. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +10 -6
  89. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  91. package/dist/cjs/six-sidebar.cjs.entry.js +40 -19
  92. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  94. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-switch.cjs.entry.js +51 -45
  96. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-tab-group.cjs.entry.js +131 -113
  98. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  100. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tab.cjs.entry.js +5 -3
  102. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-tag.cjs.entry.js +5 -8
  104. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-textarea.cjs.entry.js +101 -78
  106. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-tile.cjs.entry.js +14 -17
  108. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-timepicker.cjs.entry.js +155 -201
  110. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tooltip.cjs.entry.js +54 -57
  112. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  113. package/dist/cjs/{slot-ad537f24.js → slot-bccbdb59.js} +11 -10
  114. package/dist/cjs/slot-bccbdb59.js.map +1 -0
  115. package/dist/cjs/ui-library.cjs.js +2 -2
  116. package/dist/collection/components/six-alert/six-alert.js +17 -22
  117. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  118. package/dist/collection/components/six-avatar/six-avatar.js +4 -7
  119. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  120. package/dist/collection/components/six-badge/six-badge.js +1 -1
  121. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  122. package/dist/collection/components/six-button/six-button.js +38 -40
  123. package/dist/collection/components/six-button/six-button.js.map +1 -1
  124. package/dist/collection/components/six-card/six-card.js +1 -1
  125. package/dist/collection/components/six-card/six-card.js.map +1 -1
  126. package/dist/collection/components/six-checkbox/six-checkbox.js +65 -51
  127. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  128. package/dist/collection/components/six-datepicker/components/day-selection.js +2 -2
  129. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  130. package/dist/collection/components/six-datepicker/components/month-selection.js +4 -3
  131. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  132. package/dist/collection/components/six-datepicker/components/year-selection.js +9 -6
  133. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  134. package/dist/collection/components/six-datepicker/six-datepicker.js +126 -240
  135. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  136. package/dist/collection/components/six-details/six-details.js +51 -50
  137. package/dist/collection/components/six-details/six-details.js.map +1 -1
  138. package/dist/collection/components/six-dialog/six-dialog.js +34 -38
  139. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  140. package/dist/collection/components/six-drawer/six-drawer.js +31 -35
  141. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  142. package/dist/collection/components/six-dropdown/six-dropdown.js +185 -173
  143. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  144. package/dist/collection/components/six-error-page/six-error-page.js +25 -27
  145. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  146. package/dist/collection/components/six-file-list-item/six-file-list-item.js +3 -3
  147. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  148. package/dist/collection/components/six-file-upload/six-file-upload.js +32 -32
  149. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  150. package/dist/collection/components/six-form/six-form.js +41 -33
  151. package/dist/collection/components/six-form/six-form.js.map +1 -1
  152. package/dist/collection/components/six-group-label/six-group-label.js +11 -9
  153. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  154. package/dist/collection/components/six-header/six-header.js +64 -42
  155. package/dist/collection/components/six-header/six-header.js.map +1 -1
  156. package/dist/collection/components/six-icon-button/six-icon-button.js +8 -8
  157. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  158. package/dist/collection/components/six-input/six-input.js +145 -132
  159. package/dist/collection/components/six-input/six-input.js.map +1 -1
  160. package/dist/collection/components/six-item-picker/six-item-picker.js +65 -84
  161. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  162. package/dist/collection/components/six-language-switcher/six-language-switcher.js +2 -2
  163. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  164. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  165. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  166. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  167. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  168. package/dist/collection/components/six-menu/six-menu.js +29 -23
  169. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  170. package/dist/collection/components/six-menu-item/six-menu-item.js +7 -5
  171. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  172. package/dist/collection/components/six-picto/six-picto.js +5 -2
  173. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  174. package/dist/collection/components/six-progress-ring/six-progress-ring.js +5 -4
  175. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  176. package/dist/collection/components/six-radio/six-radio.js +62 -55
  177. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  178. package/dist/collection/components/six-range/six-range.js +121 -76
  179. package/dist/collection/components/six-range/six-range.js.map +1 -1
  180. package/dist/collection/components/six-root/six-root.js +4 -4
  181. package/dist/collection/components/six-root/six-root.js.map +1 -1
  182. package/dist/collection/components/six-search-field/six-search-field.js +10 -5
  183. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  184. package/dist/collection/components/six-select/six-select.js +191 -190
  185. package/dist/collection/components/six-select/six-select.js.map +1 -1
  186. package/dist/collection/components/six-select/util.js +52 -0
  187. package/dist/collection/components/six-select/util.js.map +1 -0
  188. package/dist/collection/components/six-sidebar/six-sidebar.js +40 -19
  189. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  190. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +12 -8
  191. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  192. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  193. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +1 -1
  194. package/dist/collection/components/six-switch/six-switch.js +58 -50
  195. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  196. package/dist/collection/components/six-tab/six-tab.js +5 -3
  197. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  198. package/dist/collection/components/six-tab-group/six-tab-group.js +130 -112
  199. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  200. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  201. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  202. package/dist/collection/components/six-tag/six-tag.js +4 -7
  203. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  204. package/dist/collection/components/six-textarea/six-textarea.js +125 -115
  205. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  206. package/dist/collection/components/six-tile/six-tile.js +17 -20
  207. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  208. package/dist/collection/components/six-timepicker/six-timepicker.js +129 -177
  209. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  210. package/dist/collection/components/six-tooltip/six-tooltip.js +56 -59
  211. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  212. package/dist/collection/functional-components/form-control/form-control.js +8 -7
  213. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  214. package/dist/collection/testUtil/delay.js.map +1 -1
  215. package/dist/collection/utils/date-util.js +24 -16
  216. package/dist/collection/utils/date-util.js.map +1 -1
  217. package/dist/collection/utils/event-listeners.js +6 -6
  218. package/dist/collection/utils/event-listeners.js.map +1 -1
  219. package/dist/collection/utils/execution-control.js +5 -4
  220. package/dist/collection/utils/execution-control.js.map +1 -1
  221. package/dist/collection/utils/focus-visible.js +2 -2
  222. package/dist/collection/utils/focus-visible.js.map +1 -1
  223. package/dist/collection/utils/modal.js +3 -2
  224. package/dist/collection/utils/modal.js.map +1 -1
  225. package/dist/collection/utils/popover.js +32 -18
  226. package/dist/collection/utils/popover.js.map +1 -1
  227. package/dist/collection/utils/popup.js +95 -0
  228. package/dist/collection/utils/popup.js.map +1 -0
  229. package/dist/collection/utils/slot.js +9 -24
  230. package/dist/collection/utils/slot.js.map +1 -1
  231. package/dist/collection/utils/tabbable.js +6 -6
  232. package/dist/collection/utils/tabbable.js.map +1 -1
  233. package/dist/collection/utils/time.util.js +48 -34
  234. package/dist/collection/utils/time.util.js.map +1 -1
  235. package/dist/collection/utils/type-check.js +0 -1
  236. package/dist/collection/utils/type-check.js.map +1 -1
  237. package/dist/collection/wrappers/set-attributes/set-attributes.js +3 -1
  238. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  239. package/dist/components/event-listeners.js +6 -6
  240. package/dist/components/event-listeners.js.map +1 -1
  241. package/dist/components/execution-control.js +5 -2
  242. package/dist/components/execution-control.js.map +1 -1
  243. package/dist/components/focus-visible.js +2 -2
  244. package/dist/components/focus-visible.js.map +1 -1
  245. package/dist/components/form-control.js +8 -7
  246. package/dist/components/form-control.js.map +1 -1
  247. package/dist/components/modal.js +3 -2
  248. package/dist/components/modal.js.map +1 -1
  249. package/dist/components/popover.js +32 -18
  250. package/dist/components/popover.js.map +1 -1
  251. package/dist/components/set-attributes2.js +3 -1
  252. package/dist/components/set-attributes2.js.map +1 -1
  253. package/dist/components/six-alert.js +17 -22
  254. package/dist/components/six-alert.js.map +1 -1
  255. package/dist/components/six-avatar.js +4 -7
  256. package/dist/components/six-avatar.js.map +1 -1
  257. package/dist/components/six-badge.js +1 -1
  258. package/dist/components/six-badge.js.map +1 -1
  259. package/dist/components/six-button.js +28 -32
  260. package/dist/components/six-button.js.map +1 -1
  261. package/dist/components/six-card.js.map +1 -1
  262. package/dist/components/six-checkbox.js +58 -46
  263. package/dist/components/six-checkbox.js.map +1 -1
  264. package/dist/components/six-datepicker.js +141 -238
  265. package/dist/components/six-datepicker.js.map +1 -1
  266. package/dist/components/six-details2.js +46 -45
  267. package/dist/components/six-details2.js.map +1 -1
  268. package/dist/components/six-dialog.js +33 -37
  269. package/dist/components/six-dialog.js.map +1 -1
  270. package/dist/components/six-drawer.js +30 -34
  271. package/dist/components/six-drawer.js.map +1 -1
  272. package/dist/components/six-dropdown2.js +185 -173
  273. package/dist/components/six-dropdown2.js.map +1 -1
  274. package/dist/components/six-error-page.js +19 -21
  275. package/dist/components/six-error-page.js.map +1 -1
  276. package/dist/components/six-file-list-item.js +1 -1
  277. package/dist/components/six-file-list-item.js.map +1 -1
  278. package/dist/components/six-file-upload.js +20 -20
  279. package/dist/components/six-file-upload.js.map +1 -1
  280. package/dist/components/six-form.js +38 -33
  281. package/dist/components/six-form.js.map +1 -1
  282. package/dist/components/six-group-label.js +9 -8
  283. package/dist/components/six-group-label.js.map +1 -1
  284. package/dist/components/six-header.js +64 -42
  285. package/dist/components/six-header.js.map +1 -1
  286. package/dist/components/six-icon-button2.js +2 -2
  287. package/dist/components/six-icon-button2.js.map +1 -1
  288. package/dist/components/six-input2.js +107 -81
  289. package/dist/components/six-input2.js.map +1 -1
  290. package/dist/components/six-item-picker2.js +56 -75
  291. package/dist/components/six-item-picker2.js.map +1 -1
  292. package/dist/components/six-language-switcher.js +1 -1
  293. package/dist/components/six-language-switcher.js.map +1 -1
  294. package/dist/components/six-layout-grid.js +5 -3
  295. package/dist/components/six-layout-grid.js.map +1 -1
  296. package/dist/components/six-main-container.js.map +1 -1
  297. package/dist/components/six-menu-item2.js +7 -5
  298. package/dist/components/six-menu-item2.js.map +1 -1
  299. package/dist/components/six-menu2.js +25 -18
  300. package/dist/components/six-menu2.js.map +1 -1
  301. package/dist/components/six-picto2.js +4 -1
  302. package/dist/components/six-picto2.js.map +1 -1
  303. package/dist/components/six-progress-ring.js +3 -3
  304. package/dist/components/six-progress-ring.js.map +1 -1
  305. package/dist/components/six-radio.js +56 -51
  306. package/dist/components/six-radio.js.map +1 -1
  307. package/dist/components/six-range.js +114 -75
  308. package/dist/components/six-range.js.map +1 -1
  309. package/dist/components/six-root.js +1 -1
  310. package/dist/components/six-root.js.map +1 -1
  311. package/dist/components/six-search-field.js +8 -3
  312. package/dist/components/six-search-field.js.map +1 -1
  313. package/dist/components/six-select.js +188 -182
  314. package/dist/components/six-select.js.map +1 -1
  315. package/dist/components/six-sidebar-item-group.js +8 -4
  316. package/dist/components/six-sidebar-item-group.js.map +1 -1
  317. package/dist/components/six-sidebar.js +39 -18
  318. package/dist/components/six-sidebar.js.map +1 -1
  319. package/dist/components/six-spinner2.js.map +1 -1
  320. package/dist/components/six-switch.js +50 -44
  321. package/dist/components/six-switch.js.map +1 -1
  322. package/dist/components/six-tab-group.js +129 -111
  323. package/dist/components/six-tab-group.js.map +1 -1
  324. package/dist/components/six-tab-panel.js +1 -1
  325. package/dist/components/six-tab-panel.js.map +1 -1
  326. package/dist/components/six-tab.js +4 -2
  327. package/dist/components/six-tab.js.map +1 -1
  328. package/dist/components/six-tag2.js +4 -7
  329. package/dist/components/six-tag2.js.map +1 -1
  330. package/dist/components/six-textarea.js +97 -74
  331. package/dist/components/six-textarea.js.map +1 -1
  332. package/dist/components/six-tile.js +14 -17
  333. package/dist/components/six-tile.js.map +1 -1
  334. package/dist/components/six-timepicker.js +1 -1
  335. package/dist/components/six-timepicker2.js +241 -239
  336. package/dist/components/six-timepicker2.js.map +1 -1
  337. package/dist/components/six-tooltip2.js +52 -55
  338. package/dist/components/six-tooltip2.js.map +1 -1
  339. package/dist/components/slot.js +10 -9
  340. package/dist/components/slot.js.map +1 -1
  341. package/dist/components.json +388 -196
  342. package/dist/esm/{event-listeners-570a24ea.js → event-listeners-6b434035.js} +7 -7
  343. package/dist/esm/event-listeners-6b434035.js.map +1 -0
  344. package/dist/esm/{execution-control-1a60d709.js → execution-control-72cc50f4.js} +6 -3
  345. package/dist/esm/execution-control-72cc50f4.js.map +1 -0
  346. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fa7129a0.js} +3 -3
  347. package/dist/esm/focus-visible-fa7129a0.js.map +1 -0
  348. package/dist/esm/{form-control-3b440ea1.js → form-control-44a50dd6.js} +10 -9
  349. package/dist/esm/form-control-44a50dd6.js.map +1 -0
  350. package/dist/esm/{index-5c0f6628.js → index-371fb9d4.js} +4 -2
  351. package/dist/esm/index-371fb9d4.js.map +1 -0
  352. package/dist/esm/loader.js +3 -3
  353. package/dist/esm/{modal-5ebdc320.js → modal-b1d96441.js} +4 -3
  354. package/dist/esm/modal-b1d96441.js.map +1 -0
  355. package/dist/esm/{popover-bd2c2fca.js → popover-1aacbae8.js} +33 -19
  356. package/dist/{cjs/popover-f743f62b.js.map → esm/popover-1aacbae8.js.map} +1 -1
  357. package/dist/esm/popup-678b8592.js +98 -0
  358. package/dist/esm/popup-678b8592.js.map +1 -0
  359. package/dist/esm/set-attributes_2.entry.js +4 -2
  360. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  361. package/dist/esm/six-alert.entry.js +18 -23
  362. package/dist/esm/six-alert.entry.js.map +1 -1
  363. package/dist/esm/six-avatar.entry.js +5 -8
  364. package/dist/esm/six-avatar.entry.js.map +1 -1
  365. package/dist/esm/six-badge.entry.js +2 -2
  366. package/dist/esm/six-badge.entry.js.map +1 -1
  367. package/dist/esm/six-button.entry.js +30 -34
  368. package/dist/esm/six-button.entry.js.map +1 -1
  369. package/dist/esm/six-card.entry.js +1 -1
  370. package/dist/esm/six-card.entry.js.map +1 -1
  371. package/dist/esm/six-checkbox.entry.js +62 -50
  372. package/dist/esm/six-checkbox.entry.js.map +1 -1
  373. package/dist/esm/six-datepicker.entry.js +145 -242
  374. package/dist/esm/six-datepicker.entry.js.map +1 -1
  375. package/dist/esm/six-details.entry.js +48 -47
  376. package/dist/esm/six-details.entry.js.map +1 -1
  377. package/dist/esm/six-dialog.entry.js +36 -40
  378. package/dist/esm/six-dialog.entry.js.map +1 -1
  379. package/dist/esm/six-drawer.entry.js +33 -37
  380. package/dist/esm/six-drawer.entry.js.map +1 -1
  381. package/dist/esm/six-dropdown_2.entry.js +215 -196
  382. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  383. package/dist/esm/six-error-page.entry.js +20 -22
  384. package/dist/esm/six-error-page.entry.js.map +1 -1
  385. package/dist/esm/six-file-list-item.entry.js +2 -2
  386. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  387. package/dist/esm/six-file-list.entry.js +1 -1
  388. package/dist/esm/six-file-upload.entry.js +21 -21
  389. package/dist/esm/six-file-upload.entry.js.map +1 -1
  390. package/dist/esm/six-footer.entry.js +1 -1
  391. package/dist/esm/six-form.entry.js +40 -35
  392. package/dist/esm/six-form.entry.js.map +1 -1
  393. package/dist/esm/six-group-label.entry.js +12 -11
  394. package/dist/esm/six-group-label.entry.js.map +1 -1
  395. package/dist/esm/six-header.entry.js +66 -44
  396. package/dist/esm/six-header.entry.js.map +1 -1
  397. package/dist/esm/six-icon-button.entry.js +4 -4
  398. package/dist/esm/six-icon-button.entry.js.map +1 -1
  399. package/dist/esm/six-icon.entry.js +1 -1
  400. package/dist/esm/six-input.entry.js +111 -85
  401. package/dist/esm/six-input.entry.js.map +1 -1
  402. package/dist/esm/six-item-picker.entry.js +59 -78
  403. package/dist/esm/six-item-picker.entry.js.map +1 -1
  404. package/dist/esm/six-language-switcher.entry.js +2 -2
  405. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  406. package/dist/esm/six-layout-grid.entry.js +5 -3
  407. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  408. package/dist/esm/six-main-container.entry.js +1 -1
  409. package/dist/esm/six-main-container.entry.js.map +1 -1
  410. package/dist/esm/six-menu-divider.entry.js +1 -1
  411. package/dist/esm/six-menu-item.entry.js +9 -7
  412. package/dist/esm/six-menu-item.entry.js.map +1 -1
  413. package/dist/esm/six-menu-label.entry.js +1 -1
  414. package/dist/esm/six-picto.entry.js +5 -2
  415. package/dist/esm/six-picto.entry.js.map +1 -1
  416. package/dist/esm/six-progress-bar.entry.js +1 -1
  417. package/dist/esm/six-progress-ring.entry.js +4 -4
  418. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  419. package/dist/esm/six-radio.entry.js +57 -52
  420. package/dist/esm/six-radio.entry.js.map +1 -1
  421. package/dist/esm/six-range.entry.js +118 -79
  422. package/dist/esm/six-range.entry.js.map +1 -1
  423. package/dist/esm/six-root.entry.js +2 -2
  424. package/dist/esm/six-root.entry.js.map +1 -1
  425. package/dist/esm/six-search-field.entry.js +11 -6
  426. package/dist/esm/six-search-field.entry.js.map +1 -1
  427. package/dist/esm/six-select.entry.js +192 -186
  428. package/dist/esm/six-select.entry.js.map +1 -1
  429. package/dist/esm/six-sidebar-item-group.entry.js +10 -6
  430. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  431. package/dist/esm/six-sidebar-item.entry.js +1 -1
  432. package/dist/esm/six-sidebar.entry.js +40 -19
  433. package/dist/esm/six-sidebar.entry.js.map +1 -1
  434. package/dist/esm/six-spinner.entry.js +1 -1
  435. package/dist/esm/six-spinner.entry.js.map +1 -1
  436. package/dist/esm/six-switch.entry.js +51 -45
  437. package/dist/esm/six-switch.entry.js.map +1 -1
  438. package/dist/esm/six-tab-group.entry.js +131 -113
  439. package/dist/esm/six-tab-group.entry.js.map +1 -1
  440. package/dist/esm/six-tab-panel.entry.js +2 -2
  441. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  442. package/dist/esm/six-tab.entry.js +5 -3
  443. package/dist/esm/six-tab.entry.js.map +1 -1
  444. package/dist/esm/six-tag.entry.js +5 -8
  445. package/dist/esm/six-tag.entry.js.map +1 -1
  446. package/dist/esm/six-textarea.entry.js +101 -78
  447. package/dist/esm/six-textarea.entry.js.map +1 -1
  448. package/dist/esm/six-tile.entry.js +14 -17
  449. package/dist/esm/six-tile.entry.js.map +1 -1
  450. package/dist/esm/six-timepicker.entry.js +155 -201
  451. package/dist/esm/six-timepicker.entry.js.map +1 -1
  452. package/dist/esm/six-tooltip.entry.js +54 -57
  453. package/dist/esm/six-tooltip.entry.js.map +1 -1
  454. package/dist/esm/{slot-6f3984c7.js → slot-2e64df19.js} +11 -10
  455. package/dist/esm/slot-2e64df19.js.map +1 -0
  456. package/dist/esm/ui-library.js +3 -3
  457. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  458. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  459. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  460. package/dist/types/components/six-button/six-button.d.ts +8 -9
  461. package/dist/types/components/six-checkbox/six-checkbox.d.ts +22 -18
  462. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  463. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  464. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  465. package/dist/types/components/six-datepicker/six-datepicker.d.ts +34 -39
  466. package/dist/types/components/six-details/six-details.d.ts +12 -12
  467. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  468. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  469. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  470. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  471. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  472. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  473. package/dist/types/components/six-form/six-form.d.ts +7 -16
  474. package/dist/types/components/six-group-label/six-group-label.d.ts +4 -4
  475. package/dist/types/components/six-header/six-header.d.ts +16 -27
  476. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  477. package/dist/types/components/six-input/six-input.d.ts +30 -39
  478. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  479. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  480. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  481. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  482. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  483. package/dist/types/components/six-radio/six-radio.d.ts +11 -12
  484. package/dist/types/components/six-range/six-range.d.ts +24 -20
  485. package/dist/types/components/six-root/six-root.d.ts +3 -3
  486. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  487. package/dist/types/components/six-select/six-select.d.ts +39 -41
  488. package/dist/types/components/six-select/util.d.ts +7 -0
  489. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  490. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  491. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  492. package/dist/types/components/six-switch/six-switch.d.ts +10 -11
  493. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  494. package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
  495. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  496. package/dist/types/components/six-tag/six-tag.d.ts +1 -3
  497. package/dist/types/components/six-textarea/six-textarea.d.ts +25 -34
  498. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  499. package/dist/types/components/six-timepicker/six-timepicker.d.ts +21 -33
  500. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  501. package/dist/types/components.d.ts +130 -126
  502. package/dist/types/functional-components/form-control/form-control.d.ts +5 -4
  503. package/dist/types/testUtil/delay.d.ts +1 -1
  504. package/dist/types/utils/date-util.d.ts +17 -10
  505. package/dist/types/utils/event-listeners.d.ts +1 -1
  506. package/dist/types/utils/execution-control.d.ts +1 -3
  507. package/dist/types/utils/modal.d.ts +2 -2
  508. package/dist/types/utils/popover.d.ts +5 -5
  509. package/dist/types/utils/popup.d.ts +9 -0
  510. package/dist/types/utils/slot.d.ts +2 -7
  511. package/dist/types/utils/tabbable.d.ts +1 -1
  512. package/dist/types/utils/time.util.d.ts +18 -9
  513. package/dist/types/utils/type-check.d.ts +3 -4
  514. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  515. package/dist/ui-library/p-02d5a6d8.js +2 -0
  516. package/dist/ui-library/p-02d5a6d8.js.map +1 -0
  517. package/dist/ui-library/p-053d6de8.entry.js +2 -0
  518. package/dist/ui-library/p-053d6de8.entry.js.map +1 -0
  519. package/dist/ui-library/p-0cc08e91.js +2 -0
  520. package/dist/ui-library/p-0cc08e91.js.map +1 -0
  521. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-0eee4c41.entry.js} +2 -2
  522. package/dist/ui-library/p-0eee4c41.entry.js.map +1 -0
  523. package/dist/ui-library/p-0fe78f9b.js +2 -0
  524. package/dist/ui-library/p-0fe78f9b.js.map +1 -0
  525. package/dist/ui-library/{p-ac4f4d45.js → p-187fbba0.js} +3 -3
  526. package/dist/ui-library/p-187fbba0.js.map +1 -0
  527. package/dist/ui-library/p-25b42655.entry.js +2 -0
  528. package/dist/ui-library/p-25b42655.entry.js.map +1 -0
  529. package/dist/ui-library/p-271ba152.entry.js +2 -0
  530. package/dist/ui-library/p-271ba152.entry.js.map +1 -0
  531. package/dist/ui-library/{p-6d75f216.entry.js → p-27c4ee88.entry.js} +2 -2
  532. package/dist/ui-library/p-2a36b7d0.entry.js +2 -0
  533. package/dist/ui-library/p-2a36b7d0.entry.js.map +1 -0
  534. package/dist/ui-library/p-2a8ad91b.entry.js +2 -0
  535. package/dist/ui-library/p-2a8ad91b.entry.js.map +1 -0
  536. package/dist/ui-library/{p-90dc6af4.entry.js → p-30e0cdce.entry.js} +2 -2
  537. package/dist/ui-library/p-30e0cdce.entry.js.map +1 -0
  538. package/dist/ui-library/{p-63703ba3.entry.js → p-3a47c8ad.entry.js} +2 -2
  539. package/dist/ui-library/{p-63703ba3.entry.js.map → p-3a47c8ad.entry.js.map} +1 -1
  540. package/dist/ui-library/p-3a4815cb.entry.js +2 -0
  541. package/dist/ui-library/p-3a4815cb.entry.js.map +1 -0
  542. package/dist/ui-library/p-3b71cac4.entry.js +2 -0
  543. package/dist/ui-library/p-3b71cac4.entry.js.map +1 -0
  544. package/dist/ui-library/p-3d4a2e03.entry.js +2 -0
  545. package/dist/ui-library/p-3d4a2e03.entry.js.map +1 -0
  546. package/dist/ui-library/{p-73597d13.entry.js → p-3e4b9341.entry.js} +2 -2
  547. package/dist/ui-library/{p-73597d13.entry.js.map → p-3e4b9341.entry.js.map} +1 -1
  548. package/dist/ui-library/{p-7e0cc4ae.entry.js → p-41f0b6ff.entry.js} +2 -2
  549. package/dist/ui-library/p-41f0b6ff.entry.js.map +1 -0
  550. package/dist/ui-library/p-435242a8.entry.js +2 -0
  551. package/dist/ui-library/p-435242a8.entry.js.map +1 -0
  552. package/dist/ui-library/{p-19364560.entry.js → p-5084ca7c.entry.js} +2 -2
  553. package/dist/ui-library/{p-19364560.entry.js.map → p-5084ca7c.entry.js.map} +1 -1
  554. package/dist/ui-library/p-5b3e6eb7.entry.js +2 -0
  555. package/dist/ui-library/p-5b3e6eb7.entry.js.map +1 -0
  556. package/dist/ui-library/{p-8a970a40.entry.js → p-5c1dd25a.entry.js} +2 -2
  557. package/dist/ui-library/p-5c1dd25a.entry.js.map +1 -0
  558. package/dist/ui-library/p-5c60227f.entry.js +2 -0
  559. package/dist/ui-library/p-5c60227f.entry.js.map +1 -0
  560. package/dist/ui-library/p-5dc40a6a.entry.js +2 -0
  561. package/dist/ui-library/p-5dc40a6a.entry.js.map +1 -0
  562. package/dist/ui-library/{p-dd3c76f1.entry.js → p-649017db.entry.js} +2 -2
  563. package/dist/ui-library/p-713684c7.entry.js +2 -0
  564. package/dist/ui-library/p-713684c7.entry.js.map +1 -0
  565. package/dist/ui-library/{p-c30f9e0b.entry.js → p-73325eec.entry.js} +2 -2
  566. package/dist/ui-library/p-73325eec.entry.js.map +1 -0
  567. package/dist/ui-library/p-7639c68e.entry.js +2 -0
  568. package/dist/ui-library/p-7639c68e.entry.js.map +1 -0
  569. package/dist/ui-library/p-764f56dd.entry.js +2 -0
  570. package/dist/ui-library/p-764f56dd.entry.js.map +1 -0
  571. package/dist/ui-library/{p-e19a6c95.entry.js → p-886a35ee.entry.js} +2 -2
  572. package/dist/ui-library/p-8cf72af6.js +2 -0
  573. package/dist/ui-library/p-8cf72af6.js.map +1 -0
  574. package/dist/ui-library/p-8d6f4311.entry.js +2 -0
  575. package/dist/ui-library/p-8d6f4311.entry.js.map +1 -0
  576. package/dist/ui-library/p-90c2dc30.entry.js +2 -0
  577. package/dist/ui-library/p-90c2dc30.entry.js.map +1 -0
  578. package/dist/ui-library/{p-97323ad7.entry.js → p-965fa6a6.entry.js} +2 -2
  579. package/dist/ui-library/p-98234e3f.entry.js +2 -0
  580. package/dist/ui-library/p-98234e3f.entry.js.map +1 -0
  581. package/dist/ui-library/{p-820c23f0.entry.js → p-9b9c3afc.entry.js} +2 -2
  582. package/dist/ui-library/{p-14f20bbb.entry.js → p-9c34eab7.entry.js} +2 -2
  583. package/dist/ui-library/p-9c34eab7.entry.js.map +1 -0
  584. package/dist/ui-library/p-9e0c386f.entry.js +2 -0
  585. package/dist/ui-library/p-9e0c386f.entry.js.map +1 -0
  586. package/dist/ui-library/p-9f8b6144.entry.js +2 -0
  587. package/dist/ui-library/p-9f8b6144.entry.js.map +1 -0
  588. package/dist/ui-library/p-a3cc0521.entry.js +2 -0
  589. package/dist/ui-library/p-a3cc0521.entry.js.map +1 -0
  590. package/dist/ui-library/{p-21859bca.entry.js → p-a5143b8d.entry.js} +2 -2
  591. package/dist/ui-library/{p-097cced4.entry.js → p-aa6f71e1.entry.js} +2 -2
  592. package/dist/ui-library/{p-097cced4.entry.js.map → p-aa6f71e1.entry.js.map} +1 -1
  593. package/dist/ui-library/p-abb98245.entry.js +2 -0
  594. package/dist/ui-library/p-abb98245.entry.js.map +1 -0
  595. package/dist/ui-library/p-b183e44f.js +2 -0
  596. package/dist/ui-library/p-b183e44f.js.map +1 -0
  597. package/dist/ui-library/{p-19b50b5a.entry.js → p-b27f496f.entry.js} +2 -2
  598. package/dist/ui-library/p-b27f496f.entry.js.map +1 -0
  599. package/dist/ui-library/{p-4f8394d7.js → p-ba74863a.js} +2 -2
  600. package/dist/ui-library/p-ba74863a.js.map +1 -0
  601. package/dist/ui-library/p-bf4a35ec.js +2 -0
  602. package/dist/ui-library/p-bf4a35ec.js.map +1 -0
  603. package/dist/ui-library/{p-d5633a29.entry.js → p-c07adc21.entry.js} +2 -2
  604. package/dist/ui-library/p-c07adc21.entry.js.map +1 -0
  605. package/dist/ui-library/p-c700e3eb.entry.js +2 -0
  606. package/dist/ui-library/p-c700e3eb.entry.js.map +1 -0
  607. package/dist/ui-library/p-cab99e54.entry.js +2 -0
  608. package/dist/ui-library/p-cab99e54.entry.js.map +1 -0
  609. package/dist/ui-library/{p-baa03951.entry.js → p-cf1133a0.entry.js} +2 -2
  610. package/dist/ui-library/p-cf1d36c0.entry.js +2 -0
  611. package/dist/ui-library/p-cf1d36c0.entry.js.map +1 -0
  612. package/dist/ui-library/p-d87a6f4d.js +2 -0
  613. package/dist/ui-library/p-d87a6f4d.js.map +1 -0
  614. package/dist/ui-library/{p-c349d1d4.entry.js → p-d8c97778.entry.js} +2 -2
  615. package/dist/ui-library/p-d8c97778.entry.js.map +1 -0
  616. package/dist/ui-library/p-deb01174.entry.js +2 -0
  617. package/dist/ui-library/p-deb01174.entry.js.map +1 -0
  618. package/dist/ui-library/{p-af793d04.entry.js → p-e5ba13d2.entry.js} +2 -2
  619. package/dist/ui-library/p-e5ba13d2.entry.js.map +1 -0
  620. package/dist/ui-library/{p-611e1978.entry.js → p-f29ba9cb.entry.js} +2 -2
  621. package/dist/ui-library/{p-611e1978.entry.js.map → p-f29ba9cb.entry.js.map} +1 -1
  622. package/dist/ui-library/{p-9328e5bc.entry.js → p-f66eb76c.entry.js} +2 -2
  623. package/dist/ui-library/p-f66eb76c.entry.js.map +1 -0
  624. package/dist/ui-library/p-f974a184.entry.js +2 -0
  625. package/dist/ui-library/p-f974a184.entry.js.map +1 -0
  626. package/dist/ui-library/{p-b0e5658f.entry.js → p-fb8d0734.entry.js} +2 -2
  627. package/dist/ui-library/p-fb8d0734.entry.js.map +1 -0
  628. package/dist/ui-library/ui-library.esm.js +1 -1
  629. package/dist/ui-library/ui-library.esm.js.map +1 -1
  630. package/package.json +13 -14
  631. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  632. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  633. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  634. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  635. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  636. package/dist/cjs/modal-48d42228.js.map +0 -1
  637. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  638. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  639. package/dist/cjs/slot-ad537f24.js.map +0 -1
  640. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  641. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  642. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  643. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  644. package/dist/collection/utils/as-array.js +0 -2
  645. package/dist/collection/utils/as-array.js.map +0 -1
  646. package/dist/collection/utils/matchers.js +0 -3
  647. package/dist/collection/utils/matchers.js.map +0 -1
  648. package/dist/collection/utils/testing.js +0 -39
  649. package/dist/collection/utils/testing.js.map +0 -1
  650. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  651. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  652. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  653. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  654. package/dist/esm/index-5c0f6628.js.map +0 -1
  655. package/dist/esm/modal-5ebdc320.js.map +0 -1
  656. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  657. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  658. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  659. package/dist/esm/slot-6f3984c7.js.map +0 -1
  660. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  661. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  662. package/dist/types/utils/as-array.d.ts +0 -1
  663. package/dist/types/utils/matchers.d.ts +0 -2
  664. package/dist/types/utils/popper.d.ts +0 -33
  665. package/dist/types/utils/testing.d.ts +0 -2
  666. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  667. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  668. package/dist/ui-library/p-0786fa7c.js +0 -2
  669. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  670. package/dist/ui-library/p-0d79b0c6.entry.js +0 -2
  671. package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
  672. package/dist/ui-library/p-14f20bbb.entry.js.map +0 -1
  673. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  674. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  675. package/dist/ui-library/p-18ea0c56.js +0 -2
  676. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  677. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  678. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  679. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  680. package/dist/ui-library/p-308261c4.entry.js +0 -2
  681. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  682. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  683. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  684. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  685. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  686. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  687. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  688. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  689. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  690. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  691. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  692. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  693. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  694. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  695. package/dist/ui-library/p-79eee01b.js +0 -2
  696. package/dist/ui-library/p-79eee01b.js.map +0 -1
  697. package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
  698. package/dist/ui-library/p-835c3ff7.entry.js +0 -2
  699. package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
  700. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  701. package/dist/ui-library/p-90824648.entry.js +0 -2
  702. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  703. package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
  704. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  705. package/dist/ui-library/p-9a860acc.js +0 -2
  706. package/dist/ui-library/p-9a860acc.js.map +0 -1
  707. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  708. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  709. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  710. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  711. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  712. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  713. package/dist/ui-library/p-b1e66136.js +0 -2
  714. package/dist/ui-library/p-b1e66136.js.map +0 -1
  715. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  716. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  717. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  718. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  719. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  720. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  721. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  722. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  723. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  724. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  725. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  726. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  727. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  728. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  729. package/dist/ui-library/p-d12c6092.js +0 -2
  730. package/dist/ui-library/p-d12c6092.js.map +0 -1
  731. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  732. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  733. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  734. package/dist/ui-library/p-edc96efc.entry.js +0 -2
  735. package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
  736. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  737. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  738. package/dist/ui-library/p-f4938771.entry.js +0 -2
  739. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  740. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  741. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  742. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  743. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  744. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  745. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  746. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  747. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
  748. /package/dist/ui-library/{p-6d75f216.entry.js.map → p-27c4ee88.entry.js.map} +0 -0
  749. /package/dist/ui-library/{p-dd3c76f1.entry.js.map → p-649017db.entry.js.map} +0 -0
  750. /package/dist/ui-library/{p-e19a6c95.entry.js.map → p-886a35ee.entry.js.map} +0 -0
  751. /package/dist/ui-library/{p-97323ad7.entry.js.map → p-965fa6a6.entry.js.map} +0 -0
  752. /package/dist/ui-library/{p-820c23f0.entry.js.map → p-9b9c3afc.entry.js.map} +0 -0
  753. /package/dist/ui-library/{p-21859bca.entry.js.map → p-a5143b8d.entry.js.map} +0 -0
  754. /package/dist/ui-library/{p-baa03951.entry.js.map → p-cf1133a0.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"six-file-upload.entry.js","mappings":"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","names":[],"sources":["./src/components/six-file-upload/six-file-upload.scss?tag=six-file-upload&encapsulation=scoped","./src/components/six-file-upload/six-file-upload.tsx"],"sourcesContent":["@import 'src/global/component';\n\n$over-color: var(--six-color-action-light-to-be-defined);\n$disabled-color: var(--six-color-inactive);\n$transition: 0.3s;\n$margin: 1rem;\n\n:host {\n position: static;\n display: block;\n}\n\n.six-file-upload {\n six-card {\n box-shadow: none;\n padding: 0;\n width: 100%;\n\n &.kyc-file-upload__container--compact {\n width: inherit;\n }\n }\n\n &__label {\n &--highlighted {\n color: var(--six-color-action-600);\n }\n }\n\n &__container {\n &--full {\n border: dashed 1px var(--six-color-web-rock-500);\n }\n }\n\n &__label-icon {\n margin-right: 0.5rem;\n }\n\n &__drop-zone {\n padding: 2rem 0;\n display: flex;\n justify-content: center;\n width: 100%;\n transition: background-color $transition;\n\n &--compact {\n padding: 0;\n }\n }\n\n &__input {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n user-select: none;\n height: 100%;\n opacity: 0;\n outline: none;\n }\n\n &--disabled &__drop-zone {\n background-color: $disabled-color;\n }\n\n &:not(.six-file-upload--disabled) &__drop-zone:hover,\n &__drop-zone--hover {\n background-color: $over-color;\n\n &.six-file-upload__drop-zone--compact {\n background-color: inherit;\n }\n }\n\n &--disabled &__input {\n cursor: not-allowed;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\n\ninterface ISingleFile {\n file: File;\n}\n\ninterface IMultipleFiles {\n files: FileList;\n}\n\nexport type SixFileUploadSuccessPayload = ISingleFile | IMultipleFiles;\n\nexport interface SixFileUploadFailurePayload {\n reason: string;\n}\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n */\n@Component({\n tag: 'six-file-upload',\n styleUrl: 'six-file-upload.scss',\n scoped: true,\n shadow: false,\n})\nexport class SixFileUpload {\n @Element() readonly host: HTMLSixFileUploadElement;\n\n fileInput: HTMLInputElement;\n\n @State() isOver = false;\n\n /** Set to true if file control should be small. */\n @Prop() readonly compact: boolean = false;\n\n /** Label of the drop area. */\n @Prop() readonly label: string;\n\n /** Set when button is disabled. */\n @Prop() readonly disabled: boolean = false;\n\n /** Accepted MIME-Types. */\n @Prop() readonly accept: string;\n\n /** More than one file allowed. */\n @Prop() readonly multiple: boolean;\n\n /** Allowed max file size in bytes. */\n @Prop() readonly maxFileSize: number | undefined = undefined;\n\n /** Triggers when a file is added. */\n @Event({ eventName: 'six-file-upload-success' })\n readonly fileUploadSuccessEvent: EventEmitter<SixFileUploadSuccessPayload>;\n\n /** Triggers when an uploaded file doesn't match MIME type or max file size. */\n @Event({ eventName: 'six-file-upload-failure' })\n readonly fileUploadFailureEvent: EventEmitter<SixFileUploadFailurePayload>;\n\n @Listen('dragenter', { capture: false })\n dragenterHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragover', { capture: false })\n dragoverHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragleave', { capture: false })\n dragleaveHandler() {\n if (!this.disabled) {\n this.isOver = false;\n }\n }\n\n @Listen('drop', { capture: false })\n dropHandler({ dataTransfer }: DragEvent) {\n if (!this.disabled) {\n this.isOver = false;\n if (dataTransfer) {\n this.handleFiles(dataTransfer.files);\n }\n }\n }\n\n handleFiles = (files: FileList) => {\n if (this.disabled) {\n return;\n }\n\n if (files.length === 0) {\n return;\n }\n\n if (!this.multiple && files.length > 1) {\n return this.fileUploadFailureEvent.emit({ reason: 'Only one file is allowed.' });\n }\n\n for (const file of files) {\n if (!file) {\n return;\n }\n\n const acceptedTypesList = this.accept && this.accept.replace(/\\s/g, '').split(',');\n\n if (this.accept && acceptedTypesList.indexOf(file.type) === -1) {\n const reason = files.length > 1 ? 'One or more files have invalid MIME type.' : 'File has invalid MIME type.';\n return this.fileUploadFailureEvent.emit({ reason });\n }\n\n if (this.maxFileSize && file.size > this.maxFileSize) {\n const reason = files.length > 1 ? 'One or more files are too big' : 'File is too big.';\n return this.fileUploadFailureEvent.emit({ reason });\n }\n }\n\n const objectToEmit: SixFileUploadSuccessPayload = this.multiple ? { files } : { file: files.item(0) };\n\n this.fileUploadSuccessEvent.emit(objectToEmit);\n };\n\n componentDidLoad() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.addEventListener(eventName, this.preventDefaults, false);\n document.body.addEventListener(eventName, this.preventDefaults, false);\n });\n }\n\n disconnectedCallback() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.removeEventListener(eventName, this.preventDefaults, false);\n document.body.removeEventListener(eventName, this.preventDefaults, false);\n });\n }\n\n preventDefaults(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n onChange = () => {\n if (this.fileInput?.files) {\n const files = this.fileInput.files;\n this.handleFiles(files);\n this.fileInput.value = '';\n }\n };\n\n private renderLabel() {\n return (\n this.label ||\n (this.compact ? (\n 'Upload'\n ) : (\n <span>\n Drop files to upload, or <span class=\"six-file-upload__label--highlighted\">browse</span>\n </span>\n ))\n );\n }\n\n render() {\n const Container = this.compact ? 'six-button' : 'six-card';\n\n return (\n <div\n class={{\n 'six-file-upload': true,\n 'six-file-upload--disabled': this.disabled,\n }}\n >\n <Container\n class={{\n 'six-file-upload__container--compact': this.compact,\n 'six-file-upload__container--full': !this.compact,\n }}\n >\n {this.compact && (\n <span slot=\"prefix\">\n <six-icon class=\"six-file-upload__label-icon\">arrow_circle_up</six-icon>\n </span>\n )}\n <div\n class={{\n 'six-file-upload__drop-zone': true,\n 'six-file-upload__drop-zone--hover': this.isOver,\n 'six-file-upload__drop-zone--compact': this.compact,\n }}\n >\n <span>{this.renderLabel()}</span>\n <input\n class=\"six-file-upload__input\"\n type=\"file\"\n name=\"resume\"\n disabled={this.disabled}\n accept={this.accept}\n multiple={this.multiple}\n onChange={this.onChange}\n ref={(el) => (this.fileInput = el)}\n />\n </div>\n </Container>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-file-upload.entry.js","mappings":"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","names":[],"sources":["./src/components/six-file-upload/six-file-upload.scss?tag=six-file-upload&encapsulation=scoped","./src/components/six-file-upload/six-file-upload.tsx"],"sourcesContent":["@import 'src/global/component';\n\n$over-color: var(--six-color-action-light-to-be-defined);\n$disabled-color: var(--six-color-inactive);\n$transition: 0.3s;\n$margin: 1rem;\n\n:host {\n position: static;\n display: block;\n}\n\n.six-file-upload {\n six-card {\n box-shadow: none;\n padding: 0;\n width: 100%;\n\n &.kyc-file-upload__container--compact {\n width: inherit;\n }\n }\n\n &__label {\n &--highlighted {\n color: var(--six-color-action-600);\n }\n }\n\n &__container {\n &--full {\n border: dashed 1px var(--six-color-web-rock-500);\n }\n }\n\n &__label-icon {\n margin-right: 0.5rem;\n }\n\n &__drop-zone {\n padding: 2rem 0;\n display: flex;\n justify-content: center;\n width: 100%;\n transition: background-color $transition;\n\n &--compact {\n padding: 0;\n }\n }\n\n &__input {\n cursor: pointer;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n user-select: none;\n height: 100%;\n opacity: 0;\n outline: none;\n }\n\n &--disabled &__drop-zone {\n background-color: $disabled-color;\n }\n\n &:not(.six-file-upload--disabled) &__drop-zone:hover,\n &__drop-zone--hover {\n background-color: $over-color;\n\n &.six-file-upload__drop-zone--compact {\n background-color: inherit;\n }\n }\n\n &--disabled &__input {\n cursor: not-allowed;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\n\ninterface ISingleFile {\n file: File;\n}\n\ninterface IMultipleFiles {\n files: FileList;\n}\n\nexport type SixFileUploadSuccessPayload = ISingleFile | IMultipleFiles;\n\nexport interface SixFileUploadFailurePayload {\n reason: string;\n}\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n */\n@Component({\n tag: 'six-file-upload',\n styleUrl: 'six-file-upload.scss',\n scoped: true,\n shadow: false,\n})\nexport class SixFileUpload {\n @Element() readonly host!: HTMLSixFileUploadElement;\n\n private fileInput?: HTMLInputElement;\n\n @State() isOver = false;\n\n /** Set to true if file control should be small. */\n @Prop() readonly compact: boolean = false;\n\n /** Label of the drop area. */\n @Prop() readonly label?: string;\n\n /** Set when button is disabled. */\n @Prop() readonly disabled = false;\n\n /** Accepted MIME-Types. */\n @Prop() readonly accept?: string;\n\n /** More than one file allowed. */\n @Prop() readonly multiple = false;\n\n /** Allowed max file size in bytes. */\n @Prop() readonly maxFileSize?: number;\n\n /** Triggers when a file is added. */\n @Event({ eventName: 'six-file-upload-success' }) success!: EventEmitter<SixFileUploadSuccessPayload>;\n\n /** Triggers when an uploaded file doesn't match MIME type or max file size. */\n @Event({ eventName: 'six-file-upload-failure' }) failure!: EventEmitter<SixFileUploadFailurePayload>;\n\n @Listen('dragenter', { capture: false })\n dragenterHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragover', { capture: false })\n dragoverHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragleave', { capture: false })\n dragleaveHandler() {\n if (!this.disabled) {\n this.isOver = false;\n }\n }\n\n @Listen('drop', { capture: false })\n dropHandler({ dataTransfer }: DragEvent) {\n if (!this.disabled) {\n this.isOver = false;\n if (dataTransfer != null) {\n this.handleFiles(dataTransfer.files);\n }\n }\n }\n\n private handleFiles = (files: FileList) => {\n if (this.disabled || files.length === 0) {\n return;\n }\n\n if (!this.multiple && files.length > 1) {\n return this.failure.emit({ reason: 'Only one file is allowed.' });\n }\n\n for (const file of files) {\n if (file == null) {\n return;\n }\n\n let acceptedTypesList: string[] = [];\n if (this.accept != null) {\n acceptedTypesList = this.accept.replace(/\\s/g, '').split(',');\n }\n\n if (acceptedTypesList.length > 0 && acceptedTypesList.indexOf(file.type) === -1) {\n const reason = files.length > 1 ? 'One or more files have invalid MIME type.' : 'File has invalid MIME type.';\n return this.failure.emit({ reason });\n }\n\n if (this.maxFileSize != null && file.size > this.maxFileSize) {\n const reason = files.length > 1 ? 'One or more files are too big' : 'File is too big.';\n return this.failure.emit({ reason });\n }\n }\n\n const eventPayload: SixFileUploadSuccessPayload = this.multiple ? { files } : { file: files[0] };\n this.success.emit(eventPayload);\n };\n\n componentDidLoad() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.addEventListener(eventName, this.preventDefaults, false);\n document.body.addEventListener(eventName, this.preventDefaults, false);\n });\n }\n\n disconnectedCallback() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.removeEventListener(eventName, this.preventDefaults, false);\n document.body.removeEventListener(eventName, this.preventDefaults, false);\n });\n }\n\n private preventDefaults(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n private onChange = () => {\n if (this.fileInput?.files != null) {\n const files = this.fileInput.files;\n this.handleFiles(files);\n this.fileInput.value = '';\n }\n };\n\n private renderLabel() {\n return (\n this.label ??\n (this.compact ? (\n 'Upload'\n ) : (\n <span>\n Drop files to upload, or <span class=\"six-file-upload__label--highlighted\">browse</span>\n </span>\n ))\n );\n }\n\n render() {\n const Container = this.compact ? 'six-button' : 'six-card';\n\n return (\n <div\n class={{\n 'six-file-upload': true,\n 'six-file-upload--disabled': this.disabled,\n }}\n >\n <Container\n class={{\n 'six-file-upload__container--compact': this.compact,\n 'six-file-upload__container--full': !this.compact,\n }}\n >\n {this.compact && (\n <span slot=\"prefix\">\n <six-icon class=\"six-file-upload__label-icon\">arrow_circle_up</six-icon>\n </span>\n )}\n <div\n class={{\n 'six-file-upload__drop-zone': true,\n 'six-file-upload__drop-zone--hover': this.isOver,\n 'six-file-upload__drop-zone--compact': this.compact,\n }}\n >\n <span>{this.renderLabel()}</span>\n <input\n class=\"six-file-upload__input\"\n type=\"file\"\n name=\"resume\"\n disabled={this.disabled}\n accept={this.accept}\n multiple={this.multiple}\n onChange={this.onChange}\n ref={(el) => (this.fileInput = el)}\n />\n </div>\n </Container>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-5c0f6628.js';
1
+ import { r as registerInstance, h } from './index-371fb9d4.js';
2
2
 
3
3
  const sixFooterCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}.six-footer{color:var(--six-color-web-rock-900);padding:var(--six-spacing-x-small) 0;text-align:center;width:100%;background-color:var(--six-footer-background-color);box-shadow:var(--six-shadow-x-large-top)}";
4
4
 
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-5c0f6628.js';
2
- import { E as EventListeners } from './event-listeners-570a24ea.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-371fb9d4.js';
2
+ import { E as EventListeners } from './event-listeners-6b434035.js';
3
3
 
4
4
  const sixFormCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}";
5
5
 
@@ -9,14 +9,33 @@ const SixForm = class {
9
9
  this.sixSubmit = createEvent(this, "six-form-submit", 7);
10
10
  this.sixChange = createEvent(this, "six-form-change", 7);
11
11
  this.sixReset = createEvent(this, "six-form-reset", 7);
12
+ this.formControls = [];
12
13
  this.eventListeners = new EventListeners();
14
+ this.handleClick = (event) => {
15
+ const target = event.target;
16
+ const tag = target.tagName.toLowerCase();
17
+ for (const formControl of this.formControls) {
18
+ if (formControl.tag === tag && formControl.click != null) {
19
+ formControl.click(event);
20
+ }
21
+ }
22
+ };
23
+ this.handleKeyDown = (event) => {
24
+ const target = event.target;
25
+ const tag = target.tagName.toLowerCase();
26
+ for (const formControl of this.formControls) {
27
+ if (formControl.tag === tag && formControl.keyDown != null) {
28
+ formControl.keyDown(event);
29
+ }
30
+ }
31
+ };
13
32
  this.novalidate = false;
14
33
  }
15
34
  connectedCallback() {
16
35
  this.formControls = [
17
36
  {
18
37
  tag: 'six-button',
19
- serialize: (el, formData) => el.name && !el.disabled ? formData.append(el.name, el.value) : null,
38
+ serialize: (el, formData) => el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,
20
39
  click: (event) => {
21
40
  const target = event.target;
22
41
  if (target.submit) {
@@ -29,16 +48,16 @@ const SixForm = class {
29
48
  },
30
49
  {
31
50
  tag: 'six-checkbox',
32
- serialize: (el, formData) => el.name && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
51
+ serialize: (el, formData) => el.name !== '' && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
33
52
  changeEventName: 'six-checkbox-change',
34
53
  },
35
54
  {
36
55
  tag: 'six-color-picker',
37
- serialize: (el, formData) => el.name && !el.disabled ? formData.append(el.name, el.value) : null,
56
+ serialize: (el, formData) => el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,
38
57
  },
39
58
  {
40
59
  tag: 'six-input',
41
- serialize: (el, formData) => el.name && !el.disabled ? formData.append(el.name, el.value) : null,
60
+ serialize: (el, formData) => el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,
42
61
  keyDown: (event) => {
43
62
  if (event.key === 'Enter' && !event.defaultPrevented) {
44
63
  this.submit();
@@ -48,7 +67,7 @@ const SixForm = class {
48
67
  },
49
68
  {
50
69
  tag: 'six-datepicker',
51
- serialize: (el, formData) => { var _a; return el.name && !el.disabled ? formData.append(el.name, (_a = el.value) === null || _a === void 0 ? void 0 : _a.toISOString()) : null; },
70
+ serialize: (el, formData) => { var _a; return el.name !== '' && !el.disabled && el.value != null ? formData.append(el.name, (_a = el.value) === null || _a === void 0 ? void 0 : _a.toISOString()) : null; },
52
71
  keyDown: (event) => {
53
72
  if (event.key === 'Enter' && !event.defaultPrevented) {
54
73
  this.submit();
@@ -58,13 +77,13 @@ const SixForm = class {
58
77
  },
59
78
  {
60
79
  tag: 'six-radio',
61
- serialize: (el, formData) => el.name && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
80
+ serialize: (el, formData) => el.name !== '' && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
62
81
  changeEventName: 'six-radio-change',
63
82
  },
64
83
  {
65
84
  tag: 'six-range',
66
85
  serialize: (el, formData) => {
67
- if (el.name && !el.disabled) {
86
+ if (el.name !== '' && !el.disabled) {
68
87
  formData.append(el.name, el.value + '');
69
88
  }
70
89
  },
@@ -73,10 +92,10 @@ const SixForm = class {
73
92
  {
74
93
  tag: 'six-select',
75
94
  serialize: (el, formData) => {
76
- if (el.name && !el.disabled) {
95
+ if (el.name !== '' && !el.disabled) {
77
96
  if (el.multiple) {
78
97
  const selectedOptions = [...el.value];
79
- if (selectedOptions.length) {
98
+ if (selectedOptions.length > 0) {
80
99
  selectedOptions.map((value) => formData.append(el.name, value));
81
100
  }
82
101
  else {
@@ -92,17 +111,17 @@ const SixForm = class {
92
111
  },
93
112
  {
94
113
  tag: 'six-switch',
95
- serialize: (el, formData) => el.name && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
114
+ serialize: (el, formData) => el.name !== '' && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
96
115
  changeEventName: 'six-switch-change',
97
116
  },
98
117
  {
99
118
  tag: 'six-textarea',
100
- serialize: (el, formData) => el.name && !el.disabled ? formData.append(el.name, el.value) : null,
119
+ serialize: (el, formData) => el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,
101
120
  changeEventName: 'six-textarea-change',
102
121
  },
103
122
  {
104
123
  tag: 'six-timepicker',
105
- serialize: (el, formData) => el.name && !el.disabled ? formData.append(el.name, el.value) : null,
124
+ serialize: (el, formData) => el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,
106
125
  keyDown: (event) => {
107
126
  if (event.key === 'Enter' && !event.defaultPrevented) {
108
127
  this.submit();
@@ -111,8 +130,6 @@ const SixForm = class {
111
130
  changeEventName: 'six-timepicker-change',
112
131
  },
113
132
  ];
114
- this.handleClick = this.handleClick.bind(this);
115
- this.handleKeyDown = this.handleKeyDown.bind(this);
116
133
  }
117
134
  disconnectedCallback() {
118
135
  this.eventListeners.removeAll();
@@ -123,7 +140,7 @@ const SixForm = class {
123
140
  appendChangeListener(el) {
124
141
  const tag = el.tagName.toLowerCase();
125
142
  for (const formControl of this.formControls) {
126
- if (formControl.tag === tag && formControl.changeEventName) {
143
+ if (formControl.tag === tag && formControl.changeEventName != null) {
127
144
  this.eventListeners.add(el, formControl.changeEventName, () => this.handleChange(el));
128
145
  }
129
146
  }
@@ -137,7 +154,13 @@ const SixForm = class {
137
154
  }
138
155
  /** Gets all form control elements (native and custom). */
139
156
  async getFormControls() {
157
+ if (this.form == null) {
158
+ return [];
159
+ }
140
160
  const slot = this.form.querySelector('slot');
161
+ if (slot == null) {
162
+ return [];
163
+ }
141
164
  const tags = this.formControls.map((control) => control.tag);
142
165
  return slot
143
166
  .assignedElements({ flatten: true })
@@ -183,24 +206,6 @@ const SixForm = class {
183
206
  .forEach((formControl) => formControl.reset());
184
207
  this.sixReset.emit();
185
208
  }
186
- handleClick(event) {
187
- const target = event.target;
188
- const tag = target.tagName.toLowerCase();
189
- for (const formControl of this.formControls) {
190
- if (formControl.tag === tag && formControl.click) {
191
- formControl.click(event);
192
- }
193
- }
194
- }
195
- handleKeyDown(event) {
196
- const target = event.target;
197
- const tag = target.tagName.toLowerCase();
198
- for (const formControl of this.formControls) {
199
- if (formControl.tag === tag && formControl.keyDown) {
200
- formControl.keyDown(event);
201
- }
202
- }
203
- }
204
209
  handleChange(el) {
205
210
  this.checkValidity().then((isValid) => this.sixChange.emit({
206
211
  valid: isValid,
@@ -1 +1 @@
1
- {"file":"six-form.entry.js","mappings":"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","names":[],"sources":["./src/components/six-form/six-form.scss?tag=six-form&encapsulation=shadow","./src/components/six-form/six-form.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n","import { Component, Event, EventEmitter, h, Method, Prop } from '@stencil/core';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { EmptyPayload } from '../../utils/types';\n\nexport interface SixFormSubmitPayload {\n formData: FormData;\n formControls: HTMLFormElement[];\n}\n\nexport interface SixFormChangePayload {\n formControl: HTMLFormElement;\n valid: boolean;\n}\n\ninterface FormControl {\n tag: string;\n\n serialize(el: HTMLFormElement | HTMLElement, formData: FormData): void;\n\n click?(event: MouseEvent): any;\n\n keyDown?(event: KeyboardEvent): any;\n\n changeEventName?: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The form's content.\n *\n * @part base - The component's base wrapper.\n */\n@Component({\n tag: 'six-form',\n styleUrl: 'six-form.scss',\n shadow: true,\n})\nexport class SixForm {\n form: HTMLElement;\n formControls: FormControl[];\n\n readonly eventListeners = new EventListeners();\n\n /** Prevent the form from validating inputs before submitting. */\n @Prop() novalidate = false;\n\n /**\n * Emitted when the form is submitted. This event will not be emitted if any form control inside of it is in an\n * invalid state, unless the form has the `novalidate` attribute. Note that there is never a need to prevent this\n * event, since it doen't send a GET or POST request like native forms. To \"prevent\" submission, use a conditional\n * around the XHR request you use to submit the form's data with.\n */\n @Event({ eventName: 'six-form-submit' }) sixSubmit: EventEmitter<SixFormSubmitPayload>;\n\n /** Emitted when the control's value changes. */\n @Event({ eventName: 'six-form-change' }) sixChange: EventEmitter<SixFormChangePayload>;\n\n /** Emitted when the forms values are reset. */\n @Event({ eventName: 'six-form-reset' }) sixReset: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.formControls = [\n {\n tag: 'six-button',\n serialize: (el: HTMLSixButtonElement, formData) =>\n el.name && !el.disabled ? formData.append(el.name, el.value) : null,\n click: (event) => {\n const target = event.target as HTMLSixButtonElement;\n if (target.submit) {\n this.submit();\n }\n\n if (target.reset) {\n this.reset();\n }\n },\n },\n {\n tag: 'six-checkbox',\n serialize: (el: HTMLSixCheckboxElement, formData) =>\n el.name && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,\n changeEventName: 'six-checkbox-change',\n },\n {\n tag: 'six-color-picker',\n serialize: (el: HTMLSixCheckboxElement, formData) =>\n el.name && !el.disabled ? formData.append(el.name, el.value) : null,\n },\n {\n tag: 'six-input',\n serialize: (el: HTMLSixInputElement, formData) =>\n el.name && !el.disabled ? formData.append(el.name, el.value) : null,\n keyDown: (event) => {\n if (event.key === 'Enter' && !event.defaultPrevented) {\n this.submit();\n }\n },\n changeEventName: 'six-input-change',\n },\n {\n tag: 'six-datepicker',\n serialize: (el: HTMLSixDatepickerElement, formData) =>\n el.name && !el.disabled ? formData.append(el.name, el.value?.toISOString()) : null,\n keyDown: (event) => {\n if (event.key === 'Enter' && !event.defaultPrevented) {\n this.submit();\n }\n },\n changeEventName: 'six-datepicker-select',\n },\n {\n tag: 'six-radio',\n serialize: (el: HTMLSixRadioElement, formData) =>\n el.name && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,\n changeEventName: 'six-radio-change',\n },\n {\n tag: 'six-range',\n serialize: (el: HTMLSixRangeElement, formData) => {\n if (el.name && !el.disabled) {\n formData.append(el.name, el.value + '');\n }\n },\n changeEventName: 'six-range-change',\n },\n {\n tag: 'six-select',\n serialize: (el: HTMLSixSelectElement, formData) => {\n if (el.name && !el.disabled) {\n if (el.multiple) {\n const selectedOptions = [...el.value];\n if (selectedOptions.length) {\n selectedOptions.map((value) => formData.append(el.name, value));\n } else {\n formData.append(el.name, '');\n }\n } else {\n formData.append(el.name, el.value + '');\n }\n }\n },\n changeEventName: 'six-select-change',\n },\n {\n tag: 'six-switch',\n serialize: (el: HTMLSixSwitchElement, formData) =>\n el.name && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,\n changeEventName: 'six-switch-change',\n },\n {\n tag: 'six-textarea',\n serialize: (el: HTMLSixTextareaElement, formData) =>\n el.name && !el.disabled ? formData.append(el.name, el.value) : null,\n changeEventName: 'six-textarea-change',\n },\n {\n tag: 'six-timepicker',\n serialize: (el: HTMLSixTimepickerElement, formData) =>\n el.name && !el.disabled ? formData.append(el.name, el.value) : null,\n keyDown: (event) => {\n if (event.key === 'Enter' && !event.defaultPrevented) {\n this.submit();\n }\n },\n changeEventName: 'six-timepicker-change',\n },\n ];\n\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n componentDidLoad() {\n this.getFormControls().then((controls) => controls.forEach((control) => this.appendChangeListener(control)));\n }\n\n private appendChangeListener(el: HTMLFormElement) {\n const tag = el.tagName.toLowerCase();\n for (const formControl of this.formControls) {\n if (formControl.tag === tag && formControl.changeEventName) {\n this.eventListeners.add(el as HTMLElement, formControl.changeEventName, () => this.handleChange(el));\n }\n }\n }\n\n /** Serializes all form controls elements and returns a `FormData` object. */\n @Method()\n async getFormData() {\n const formData = new FormData();\n const formControls = await this.getFormControls();\n\n formControls.map((el) => this.serializeElement(el, formData));\n\n return formData;\n }\n\n /** Gets all form control elements (native and custom). */\n @Method()\n async getFormControls() {\n const slot = this.form.querySelector('slot');\n const tags = this.formControls.map((control) => control.tag);\n return slot\n .assignedElements({ flatten: true })\n .reduce((all, el) => all.concat(el, [...el.querySelectorAll('*')]), [])\n .filter((el) => tags.includes(el.tagName.toLowerCase())) as HTMLFormElement[];\n }\n\n /**\n * Submits the form. If all controls are valid, the `six-form-submit` event will be emitted and the promise will resolve\n * with `true`. If any form control is invalid, the promise will resolve with `false` and no event will be emitted.\n */\n @Method()\n async submit() {\n const formData = await this.getFormData();\n const formControls = await this.getFormControls();\n const formControlsThatReport = formControls.filter(\n (el: HTMLFormElement) => typeof el.reportValidity === 'function'\n ) as any;\n\n if (!this.novalidate) {\n let isValid = true;\n for (const el of formControlsThatReport) {\n if (!(await el.reportValidity())) {\n isValid = false;\n }\n }\n if (!isValid) {\n return false;\n }\n }\n\n this.sixSubmit.emit({ formData, formControls });\n\n return true;\n }\n\n /** Checks for validity. */\n @Method()\n async checkValidity() {\n const formControls = await this.getFormControls();\n const validationTasks = formControls\n .filter((el: HTMLFormElement) => typeof el.checkValidity === 'function')\n .map((el: HTMLFormElement) => el.checkValidity());\n const invalidControls = await Promise.all(validationTasks).then((results) =>\n results.filter((valid) => valid === false)\n );\n return invalidControls.length == 0;\n }\n\n /** Resets the form and resets the value of all descendants*/\n @Method()\n async reset() {\n const formControls = await this.getFormControls();\n\n formControls\n .filter((control) => control?.reset && typeof control?.reset === 'function')\n .forEach((formControl) => formControl.reset());\n\n this.sixReset.emit();\n }\n\n handleClick(event: MouseEvent) {\n const target = event.target as HTMLFormElement;\n const tag = target.tagName.toLowerCase();\n\n for (const formControl of this.formControls) {\n if (formControl.tag === tag && formControl.click) {\n formControl.click(event);\n }\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLFormElement;\n const tag = target.tagName.toLowerCase();\n\n for (const formControl of this.formControls) {\n if (formControl.tag === tag && formControl.keyDown) {\n formControl.keyDown(event);\n }\n }\n }\n\n handleChange(el: HTMLFormElement) {\n this.checkValidity().then((isValid) =>\n this.sixChange.emit({\n valid: isValid,\n formControl: el,\n })\n );\n }\n\n serializeElement(el: HTMLFormElement, formData: FormData) {\n const tag = el.tagName.toLowerCase();\n\n for (const formControl of this.formControls) {\n if (formControl.tag === tag) {\n return formControl.serialize(el, formData);\n }\n }\n\n return null;\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.form = el)}\n part=\"base\"\n class=\"form\"\n role=\"form\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <slot />\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-form.entry.js","mappings":"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","names":[],"sources":["./src/components/six-form/six-form.scss?tag=six-form&encapsulation=shadow","./src/components/six-form/six-form.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n","import { Component, Event, EventEmitter, h, Method, Prop } from '@stencil/core';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { EmptyPayload } from '../../utils/types';\n\nexport interface SixFormSubmitPayload {\n formData: FormData;\n formControls: HTMLFormElement[];\n}\n\nexport interface SixFormChangePayload {\n formControl: HTMLFormElement;\n valid: boolean;\n}\n\ninterface FormControl {\n tag: string;\n\n serialize(el: HTMLFormElement | HTMLElement, formData: FormData): void;\n\n click?(event: MouseEvent): void;\n\n keyDown?(event: KeyboardEvent): void;\n\n changeEventName?: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The form's content.\n *\n * @part base - The component's base wrapper.\n */\n@Component({\n tag: 'six-form',\n styleUrl: 'six-form.scss',\n shadow: true,\n})\nexport class SixForm {\n private form?: HTMLElement;\n private formControls: FormControl[] = [];\n private eventListeners = new EventListeners();\n\n /** Prevent the form from validating inputs before submitting. */\n @Prop() novalidate = false;\n\n /**\n * Emitted when the form is submitted. This event will not be emitted if any form control inside of it is in an\n * invalid state, unless the form has the `novalidate` attribute. Note that there is never a need to prevent this\n * event, since it doen't send a GET or POST request like native forms. To \"prevent\" submission, use a conditional\n * around the XHR request you use to submit the form's data with.\n */\n @Event({ eventName: 'six-form-submit' }) sixSubmit!: EventEmitter<SixFormSubmitPayload>;\n\n /** Emitted when the control's value changes. */\n @Event({ eventName: 'six-form-change' }) sixChange!: EventEmitter<SixFormChangePayload>;\n\n /** Emitted when the forms values are reset. */\n @Event({ eventName: 'six-form-reset' }) sixReset!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.formControls = [\n {\n tag: 'six-button',\n serialize: (el: HTMLSixButtonElement, formData) =>\n el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,\n click: (event) => {\n const target = event.target as HTMLSixButtonElement;\n if (target.submit) {\n this.submit();\n }\n\n if (target.reset) {\n this.reset();\n }\n },\n },\n {\n tag: 'six-checkbox',\n serialize: (el: HTMLSixCheckboxElement, formData) =>\n el.name !== '' && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,\n changeEventName: 'six-checkbox-change',\n },\n {\n tag: 'six-color-picker',\n serialize: (el: HTMLSixCheckboxElement, formData) =>\n el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,\n },\n {\n tag: 'six-input',\n serialize: (el: HTMLSixInputElement, formData) =>\n el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,\n keyDown: (event) => {\n if (event.key === 'Enter' && !event.defaultPrevented) {\n this.submit();\n }\n },\n changeEventName: 'six-input-change',\n },\n {\n tag: 'six-datepicker',\n serialize: (el: HTMLSixDatepickerElement, formData) =>\n el.name !== '' && !el.disabled && el.value != null ? formData.append(el.name, el.value?.toISOString()) : null,\n keyDown: (event) => {\n if (event.key === 'Enter' && !event.defaultPrevented) {\n this.submit();\n }\n },\n changeEventName: 'six-datepicker-select',\n },\n {\n tag: 'six-radio',\n serialize: (el: HTMLSixRadioElement, formData) =>\n el.name !== '' && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,\n changeEventName: 'six-radio-change',\n },\n {\n tag: 'six-range',\n serialize: (el: HTMLSixRangeElement, formData) => {\n if (el.name !== '' && !el.disabled) {\n formData.append(el.name, el.value + '');\n }\n },\n changeEventName: 'six-range-change',\n },\n {\n tag: 'six-select',\n serialize: (el: HTMLSixSelectElement, formData) => {\n if (el.name !== '' && !el.disabled) {\n if (el.multiple) {\n const selectedOptions = [...el.value];\n if (selectedOptions.length > 0) {\n selectedOptions.map((value) => formData.append(el.name, value));\n } else {\n formData.append(el.name, '');\n }\n } else {\n formData.append(el.name, el.value + '');\n }\n }\n },\n changeEventName: 'six-select-change',\n },\n {\n tag: 'six-switch',\n serialize: (el: HTMLSixSwitchElement, formData) =>\n el.name !== '' && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,\n changeEventName: 'six-switch-change',\n },\n {\n tag: 'six-textarea',\n serialize: (el: HTMLSixTextareaElement, formData) =>\n el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,\n changeEventName: 'six-textarea-change',\n },\n {\n tag: 'six-timepicker',\n serialize: (el: HTMLSixTimepickerElement, formData) =>\n el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,\n keyDown: (event) => {\n if (event.key === 'Enter' && !event.defaultPrevented) {\n this.submit();\n }\n },\n changeEventName: 'six-timepicker-change',\n },\n ];\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n componentDidLoad() {\n this.getFormControls().then((controls) => controls.forEach((control) => this.appendChangeListener(control)));\n }\n\n private appendChangeListener(el: HTMLFormElement) {\n const tag = el.tagName.toLowerCase();\n for (const formControl of this.formControls) {\n if (formControl.tag === tag && formControl.changeEventName != null) {\n this.eventListeners.add(el as HTMLElement, formControl.changeEventName, () => this.handleChange(el));\n }\n }\n }\n\n /** Serializes all form controls elements and returns a `FormData` object. */\n @Method()\n async getFormData() {\n const formData = new FormData();\n const formControls = await this.getFormControls();\n\n formControls.map((el) => this.serializeElement(el, formData));\n\n return formData;\n }\n\n /** Gets all form control elements (native and custom). */\n @Method()\n async getFormControls(): Promise<HTMLFormElement[]> {\n if (this.form == null) {\n return [];\n }\n const slot = this.form.querySelector('slot');\n if (slot == null) {\n return [];\n }\n const tags = this.formControls.map((control) => control.tag);\n return slot\n .assignedElements({ flatten: true })\n .reduce((all, el) => all.concat(el, [...el.querySelectorAll('*')]), [] as Element[])\n .filter((el) => tags.includes(el.tagName.toLowerCase())) as HTMLFormElement[];\n }\n\n /**\n * Submits the form. If all controls are valid, the `six-form-submit` event will be emitted and the promise will resolve\n * with `true`. If any form control is invalid, the promise will resolve with `false` and no event will be emitted.\n */\n @Method()\n async submit() {\n const formData = await this.getFormData();\n const formControls = await this.getFormControls();\n const formControlsThatReport = formControls.filter(\n (el: HTMLFormElement) => typeof el.reportValidity === 'function'\n );\n\n if (!this.novalidate) {\n let isValid = true;\n for (const el of formControlsThatReport) {\n if (!(await el.reportValidity())) {\n isValid = false;\n }\n }\n if (!isValid) {\n return false;\n }\n }\n\n this.sixSubmit.emit({ formData, formControls });\n\n return true;\n }\n\n /** Checks for validity. */\n @Method()\n async checkValidity() {\n const formControls = await this.getFormControls();\n const validationTasks = formControls\n .filter((el: HTMLFormElement) => typeof el.checkValidity === 'function')\n .map((el: HTMLFormElement) => el.checkValidity());\n const invalidControls = await Promise.all(validationTasks).then((results) =>\n results.filter((valid) => valid === false)\n );\n return invalidControls.length == 0;\n }\n\n /** Resets the form and resets the value of all descendants*/\n @Method()\n async reset() {\n const formControls = await this.getFormControls();\n\n formControls\n .filter((control) => control?.reset && typeof control?.reset === 'function')\n .forEach((formControl) => formControl.reset());\n\n this.sixReset.emit();\n }\n\n private handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLFormElement;\n const tag = target.tagName.toLowerCase();\n\n for (const formControl of this.formControls) {\n if (formControl.tag === tag && formControl.click != null) {\n formControl.click(event);\n }\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const target = event.target as HTMLFormElement;\n const tag = target.tagName.toLowerCase();\n\n for (const formControl of this.formControls) {\n if (formControl.tag === tag && formControl.keyDown != null) {\n formControl.keyDown(event);\n }\n }\n };\n\n private handleChange(el: HTMLFormElement) {\n this.checkValidity().then((isValid) =>\n this.sixChange.emit({\n valid: isValid,\n formControl: el,\n })\n );\n }\n\n private serializeElement(el: HTMLFormElement, formData: FormData) {\n const tag = el.tagName.toLowerCase();\n\n for (const formControl of this.formControls) {\n if (formControl.tag === tag) {\n return formControl.serialize(el, formData);\n }\n }\n\n return null;\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.form = el)}\n part=\"base\"\n class=\"form\"\n role=\"form\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <slot />\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, h, g as getElement } from './index-5c0f6628.js';
2
- import { F as FormControl } from './form-control-3b440ea1.js';
3
- import { h as hasSlot } from './slot-6f3984c7.js';
1
+ import { r as registerInstance, h, g as getElement } from './index-371fb9d4.js';
2
+ import { F as FormControl } from './form-control-44a50dd6.js';
3
+ import { h as hasSlot } from './slot-2e64df19.js';
4
4
 
5
5
  const sixGroupLabelCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.form-control .form-control__label{display:none}.form-control .form-control__help-text{display:none}.form-control .form-control__error-text{display:none}.form-control--has-label .form-control__label{display:inline-block;color:var(--six-input-label-color);font-weight:var(--six-font-weight-bold);margin-bottom:var(--six-spacing-x-small)}.form-control--has-label .form-control__label__required::after{color:var(--six-color-danger-800);content:\"*\"}.form-control--has-label.form-control--small .form-control__label{font-size:var(--six-input-label-font-size-small)}.form-control--has-label.form-control--medium .form-control__label{font-size:var(--six-input-label-font-size-medium)}.form-control--has-label.form-control--large .form-control_label{font-size:var(--six-input-label-font-size-large)}.form-control--has-help-text .form-control__help-text{display:block;color:var(--six-input-help-text-color);margin-top:var(--six-spacing-x-small)}.form-control--has-help-text .form-control__help-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-help-text.form-control--small .form-control__help-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-help-text.form-control--medium .form-control__help-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-help-text.form-control--large .form-control__help-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--has-error-text .form-control__error-text{display:block;color:var(--six-color-danger-800);margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text .form-control__error-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text.form-control--small .form-control__error-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-error-text.form-control--medium .form-control__error-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-error-text.form-control--large .form-control__error-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--disabled .form-control__help-text{color:var(--six-input-help-text-color-disabled)}.form-control--disabled .form-control__label{color:var(--six-input-label-color-disabled)}.form-control--invalid:not(.form-control--disabled) .form-control__label{color:var(--six-input-label-color)}:host{display:block}";
6
6
 
@@ -11,30 +11,31 @@ const SixGroupLabel = class {
11
11
  this.wrapperLabelId = `label-${++id}`;
12
12
  this.labelId = `label-label-${id}`;
13
13
  this.helpTextId = `label-help-text-${id}`;
14
+ this.handleSlotChange = () => {
15
+ this.hasLabelSlot = hasSlot(this.host, 'label');
16
+ this.hasHelpTextSlot = hasSlot(this.host, 'help-text');
17
+ };
14
18
  this.hasHelpTextSlot = false;
15
19
  this.hasLabelSlot = false;
16
20
  this.size = 'medium';
17
21
  this.label = '';
18
22
  this.helpText = '';
19
23
  this.disabled = false;
20
- this.required = undefined;
24
+ this.required = false;
21
25
  }
22
26
  handleLabelChange() {
23
27
  this.handleSlotChange();
24
28
  }
25
29
  connectedCallback() {
26
- this.handleSlotChange = this.handleSlotChange.bind(this);
27
- this.host.shadowRoot.addEventListener('slotchange', this.handleSlotChange);
30
+ var _a;
31
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener('slotchange', this.handleSlotChange);
28
32
  }
29
33
  componentWillLoad() {
30
34
  this.handleSlotChange();
31
35
  }
32
36
  disconnectedCallback() {
33
- this.host.shadowRoot.removeEventListener('slotchange', this.handleSlotChange);
34
- }
35
- handleSlotChange() {
36
- this.hasLabelSlot = hasSlot(this.host, 'label');
37
- this.hasHelpTextSlot = hasSlot(this.host, 'help-text');
37
+ var _a;
38
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeEventListener('slotchange', this.handleSlotChange);
38
39
  }
39
40
  render() {
40
41
  return (h(FormControl, { inputId: this.wrapperLabelId, label: this.label, labelId: this.labelId, hasLabelSlot: this.hasLabelSlot, helpTextId: this.helpTextId, helpText: this.helpText, hasHelpTextSlot: this.hasHelpTextSlot, size: this.size, disabled: this.disabled, required: this.required }, h("slot", null)));
@@ -1 +1 @@
1
- {"file":"six-group-label.entry.js","mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,w7EAAw7E;;ACIj9E,IAAI,EAAE,GAAG,CAAC,CAAC;MAoBE,aAAa;;;IACxB,mBAAc,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC;IACjC,YAAO,GAAG,eAAe,EAAE,EAAE,CAAC;IAC9B,eAAU,GAAG,mBAAmB,EAAE,EAAE,CAAC;2BAIV,KAAK;wBACR,KAAK;gBAGiC,QAAQ;iBAGtD,EAAE;oBAGC,EAAE;oBAGe,KAAK;;;EAOzC,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;GACzB;EAED,iBAAiB;IACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;GAC5E;EAED,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;GACzB;EAED,oBAAoB;IAClB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;GAC/E;EAED,gBAAgB;IACd,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;GACxD;EAED,MAAM;IACJ,QACE,EAAC,WAAW,IACV,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAEvB,eAAa,CACD,EACd;GACH;;;;;;;;;;;","names":[],"sources":["./src/components/six-group-label/six-group-label.scss?tag=six-group-label&encapsulation=shadow","./src/components/six-group-label/six-group-label.tsx"],"sourcesContent":["@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n\n:host {\n display: block;\n}\n","import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { hasSlot } from '../../utils/slot';\n\nlet id = 0;\n\n/**\n * @since 1.1\n * @status stable\n *\n * @slot label - The wrapped component's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes how to use the input.\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 form-control - The form control that wraps the label, textarea, and help text.\n * @part label - The label of wrapped component.\n * @part help-text - The help text of the wrapped component.\n */\n@Component({\n tag: 'six-group-label',\n styleUrl: 'six-group-label.scss',\n shadow: true,\n})\nexport class SixGroupLabel {\n wrapperLabelId = `label-${++id}`;\n labelId = `label-label-${id}`;\n helpTextId = `label-help-text-${id}`;\n\n @Element() host: HTMLSixGroupLabelElement;\n\n @State() hasHelpTextSlot = false;\n @State() hasLabelSlot = false;\n\n /** The label's size. */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** The wrapper label's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The wrapper label's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** Set to true to disable the label. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The label's required attribute. */\n @Prop({ reflect: true }) required: boolean;\n\n @Watch('helpText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n connectedCallback() {\n this.handleSlotChange = this.handleSlotChange.bind(this);\n this.host.shadowRoot.addEventListener('slotchange', this.handleSlotChange);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n disconnectedCallback() {\n this.host.shadowRoot.removeEventListener('slotchange', this.handleSlotChange);\n }\n\n handleSlotChange() {\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n }\n\n render() {\n return (\n <FormControl\n inputId={this.wrapperLabelId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n helpTextId={this.helpTextId}\n helpText={this.helpText}\n hasHelpTextSlot={this.hasHelpTextSlot}\n size={this.size}\n disabled={this.disabled}\n required={this.required}\n >\n <slot></slot>\n </FormControl>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-group-label.entry.js","mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,w7EAAw7E;;ACIj9E,IAAI,EAAE,GAAG,CAAC,CAAC;MAoBE,aAAa;;;IAChB,mBAAc,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC;IACjC,YAAO,GAAG,eAAe,EAAE,EAAE,CAAC;IAC9B,eAAU,GAAG,mBAAmB,EAAE,EAAE,CAAC;IAwCrC,qBAAgB,GAAG;MACzB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;MAChD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;KACxD,CAAC;2BAvCyB,KAAK;wBACR,KAAK;gBAGiC,QAAQ;iBAGtD,EAAE;oBAGC,EAAE;oBAGe,KAAK;oBAGL,KAAK;;EAIzC,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;GACzB;EAED,iBAAiB;;IACf,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;GAC7E;EAED,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;GACzB;EAED,oBAAoB;;IAClB,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;GAChF;EAOD,MAAM;IACJ,QACE,EAAC,WAAW,IACV,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAEvB,eAAa,CACD,EACd;GACH;;;;;;;;;;;","names":[],"sources":["./src/components/six-group-label/six-group-label.scss?tag=six-group-label&encapsulation=shadow","./src/components/six-group-label/six-group-label.tsx"],"sourcesContent":["@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n\n:host {\n display: block;\n}\n","import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { hasSlot } from '../../utils/slot';\n\nlet id = 0;\n\n/**\n * @since 1.1\n * @status stable\n *\n * @slot label - The wrapped component's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes how to use the input.\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 form-control - The form control that wraps the label, textarea, and help text.\n * @part label - The label of wrapped component.\n * @part help-text - The help text of the wrapped component.\n */\n@Component({\n tag: 'six-group-label',\n styleUrl: 'six-group-label.scss',\n shadow: true,\n})\nexport class SixGroupLabel {\n private wrapperLabelId = `label-${++id}`;\n private labelId = `label-label-${id}`;\n private helpTextId = `label-help-text-${id}`;\n\n @Element() host!: HTMLSixGroupLabelElement;\n\n @State() hasHelpTextSlot = false;\n @State() hasLabelSlot = false;\n\n /** The label's size. */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** The wrapper label's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The wrapper label's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** Set to true to disable the label. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The label's required attribute. */\n @Prop({ reflect: true }) required = false;\n\n @Watch('helpText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n connectedCallback() {\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n disconnectedCallback() {\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n }\n\n private handleSlotChange = () => {\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n };\n\n render() {\n return (\n <FormControl\n inputId={this.wrapperLabelId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n helpTextId={this.helpTextId}\n helpText={this.helpText}\n hasHelpTextSlot={this.hasHelpTextSlot}\n size={this.size}\n disabled={this.disabled}\n required={this.required}\n >\n <slot></slot>\n </FormControl>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-5c0f6628.js';
2
- import { E as EventListeners } from './event-listeners-570a24ea.js';
3
- import { g as getAvailableSlots } from './slot-6f3984c7.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-371fb9d4.js';
2
+ import { E as EventListeners } from './event-listeners-6b434035.js';
3
+ import { g as getSlot, h as hasSlot } from './slot-2e64df19.js';
4
4
 
5
5
  const sixHeaderCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;user-select:none;--search-border-width:1px}::slotted(six-search-field){position:absolute;margin-left:var(--search-border-width);width:calc(100% - 2 * var(--search-border-width))}.six-header{display:flex;width:100%;height:3.75rem;background-color:var(--six-header-background-color);align-items:center;flex-wrap:wrap;box-shadow:var(--six-shadow-x-large);border-bottom:var(--six-header-border-with) solid var(--six-header-border-color)}.six-header__logo{width:6rem;margin-top:0.15rem}.six-header__logo--clickable{cursor:pointer}.six-header__placeholder{flex:1}.six-header__menu,.six-header__logo,.six-header__custom,.six-header__search,.six-header__notification,.six-header__app-switcher,.six-header__profile{height:calc(100% - 0.25rem - 1px);padding:0 1.25rem;display:flex;align-items:center;border-bottom:solid 0.25rem transparent}.six-header__menu--open,.six-header__logo--open,.six-header__custom--open,.six-header__search--open,.six-header__notification--open,.six-header__app-switcher--open,.six-header__profile--open{border-bottom:solid 0.25rem var(--six-header-border-color-open)}.six-header__selected-app{cursor:pointer;font-size:0.9rem;font-weight:600;padding-right:0;padding-left:0.3rem}.six-header__selected-app:hover{color:var(--six-header-selected-app-color-hover)}.six-header__search-field{opacity:0;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;display:none}.six-header__search-field--visible{opacity:1;transform:none;display:block}.six-header__search-field--shift-content.six-header__search-field--visible{height:2.65rem;transition:var(--six-transition-fast) height}.six-header__search-field--shift-content:not(.six-header__search-field--visible){height:0;transition:var(--six-transition-fast) height}";
6
6
 
@@ -8,9 +8,8 @@ var Section;
8
8
  (function (Section) {
9
9
  Section[Section["None"] = 0] = "None";
10
10
  Section[Section["Search"] = 1] = "Search";
11
- Section[Section["Notifications"] = 2] = "Notifications";
12
- Section[Section["AppSwitcher"] = 3] = "AppSwitcher";
13
- Section[Section["Profile"] = 4] = "Profile";
11
+ Section[Section["AppSwitcher"] = 2] = "AppSwitcher";
12
+ Section[Section["Profile"] = 3] = "Profile";
14
13
  })(Section || (Section = {}));
15
14
  var Slot;
16
15
  (function (Slot) {
@@ -20,7 +19,6 @@ var Slot;
20
19
  Slot["Profile"] = "profile-menu";
21
20
  Slot["Logo"] = "logo";
22
21
  })(Slot || (Slot = {}));
23
- const getSlots = getAvailableSlots(Slot);
24
22
  const SixHeader = class {
25
23
  constructor(hostRef) {
26
24
  registerInstance(this, hostRef);
@@ -31,42 +29,31 @@ const SixHeader = class {
31
29
  this.sixLogoClick = createEvent(this, "six-header-logo-clicked", 7);
32
30
  this.sixSearchFieldToggle = createEvent(this, "six-header-search-field-toggle", 7);
33
31
  this.eventListeners = new EventListeners();
34
- this.has = (slot) => this.slots[slot];
35
- this.selected = (value) => value === this.selectedSection;
36
- this.select = (value) => () => {
37
- this.selectedSection = value;
38
- };
39
- this.toggleSearch = (value) => () => {
40
- var _a;
41
- if (value === Section.Search) {
42
- const visible = this.selectedSection !== value;
43
- if (visible) {
44
- (_a = this.host.querySelector(`[slot="${Slot.Search}"]`).shadowRoot.querySelector('six-input')) === null || _a === void 0 ? void 0 : _a.setFocus();
45
- }
46
- this.sixSearchFieldToggle.emit({ visible });
47
- }
48
- this.selectedSection = this.selectedSection === value ? Section.None : value;
49
- };
50
32
  this.setupMenu = (el) => {
33
+ if (el == null)
34
+ return;
51
35
  this.eventListeners.add(el, 'click', () => this.sixHamburgerClick.emit());
52
36
  };
53
37
  this.setupLogo = (el) => {
54
- if (!this.clickableLogo) {
38
+ if (!this.clickableLogo || el == null)
55
39
  return;
56
- }
57
40
  this.eventListeners.add(el, 'click', () => this.sixLogoClick.emit());
58
41
  };
59
42
  this.setupProfile = (el) => {
60
- this.eventListeners.add(el, 'six-dropdown-show', this.select(Section.Profile));
61
- this.eventListeners.add(el, 'six-dropdown-hide', this.select(Section.None));
43
+ if (el == null)
44
+ return;
45
+ this.eventListeners.add(el, 'six-dropdown-show', this.selectSection(Section.Profile));
46
+ this.eventListeners.add(el, 'six-dropdown-hide', this.selectSection(Section.None));
62
47
  this.eventListeners.add(el, 'six-menu-item-selected', (event) => {
63
48
  const { name, item } = event.detail;
64
49
  this.sixProfileSelect.emit({ selectedLabel: item.innerText, name, item });
65
50
  });
66
51
  };
67
52
  this.setupAppSwitcher = (el) => {
68
- this.eventListeners.add(el, 'six-dropdown-show', this.select(Section.AppSwitcher));
69
- this.eventListeners.add(el, 'six-dropdown-hide', this.select(Section.None));
53
+ if (el == null)
54
+ return;
55
+ this.eventListeners.add(el, 'six-dropdown-show', this.selectSection(Section.AppSwitcher));
56
+ this.eventListeners.add(el, 'six-dropdown-hide', this.selectSection(Section.None));
70
57
  this.eventListeners.add(el, 'six-menu-item-selected', (event) => {
71
58
  const { name, item } = event.detail;
72
59
  this.selectedApp = item.innerText;
@@ -100,46 +87,81 @@ const SixHeader = class {
100
87
  async getIsSearchOpen() {
101
88
  return this.selectedSection === Section.Search;
102
89
  }
90
+ hasSlot(slot) {
91
+ if (this.slots == null) {
92
+ return false;
93
+ }
94
+ return this.slots[slot];
95
+ }
96
+ isSectionSelected(value) {
97
+ return value === this.selectedSection;
98
+ }
99
+ selectSection(section) {
100
+ return () => (this.selectedSection = section);
101
+ }
102
+ toggleSearch() {
103
+ const visible = this.selectedSection !== Section.Search;
104
+ this.selectedSection = this.selectedSection === Section.Search ? Section.None : Section.Search;
105
+ this.sixSearchFieldToggle.emit({ visible });
106
+ if (this.selectedSection === Section.Search) {
107
+ // setFocus deferred due to https://github.com/ionic-team/stencil/issues/3772
108
+ setTimeout(async () => {
109
+ var _a, _b;
110
+ const slot = getSlot(this.host, Slot.Search);
111
+ (_b = (_a = slot === null || slot === void 0 ? void 0 : slot.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('six-input')) === null || _b === void 0 ? void 0 : _b.setFocus();
112
+ }, 50);
113
+ }
114
+ }
103
115
  componentWillLoad() {
104
- this.slots = getSlots(this.host);
105
- if (this.has(Slot.AppSwitcher)) {
116
+ this.slots = {
117
+ [Slot.Search]: hasSlot(this.host, Slot.Search),
118
+ [Slot.Notifications]: hasSlot(this.host, Slot.Notifications),
119
+ [Slot.AppSwitcher]: hasSlot(this.host, Slot.AppSwitcher),
120
+ [Slot.Profile]: hasSlot(this.host, Slot.Profile),
121
+ [Slot.Logo]: hasSlot(this.host, Slot.Logo),
122
+ };
123
+ if (this.hasSlot(Slot.AppSwitcher)) {
106
124
  this.selectedApp = this.getSelectedApp();
107
125
  }
108
- if (this.has(Slot.Search)) {
126
+ if (this.hasSlot(Slot.Search)) {
109
127
  this.computeSearchOpenState();
110
128
  }
111
129
  }
112
130
  getSelectedApp() {
131
+ var _a;
113
132
  // there are more concise ways to select the first checked menu item, but this is one that works for jest
114
- const element = this.host.querySelector(`[slot="${Slot.AppSwitcher}"]`);
133
+ const element = getSlot(this.host, Slot.AppSwitcher);
134
+ if (element == null) {
135
+ return undefined;
136
+ }
115
137
  const items = Array.from(element.querySelectorAll('six-menu-item'));
116
138
  const firstCheckedMenuItem = items.find((item) => item.hasAttribute('checked'));
117
- return firstCheckedMenuItem === null || firstCheckedMenuItem === void 0 ? void 0 : firstCheckedMenuItem.textContent;
139
+ return (_a = firstCheckedMenuItem === null || firstCheckedMenuItem === void 0 ? void 0 : firstCheckedMenuItem.textContent) !== null && _a !== void 0 ? _a : undefined;
118
140
  }
119
141
  disconnectedCallback() {
120
142
  this.eventListeners.removeAll();
121
143
  }
122
144
  render() {
123
- const search = this.has(Slot.Search) && (h("section", { class: {
145
+ const search = this.hasSlot(Slot.Search) && (h("section", { class: {
124
146
  'six-header__search': true,
125
- 'six-header__search--open': this.selected(Section.Search),
126
- } }, h("six-icon-button", { name: "search", onClick: this.toggleSearch(Section.Search), "data-testid": "search-trigger" })));
127
- const notifications = this.has(Slot.Notifications) && (h("section", { class: "six-header__notification" }, h("slot", { name: Slot.Notifications })));
128
- const appSwitcher = this.has(Slot.AppSwitcher) && (h("section", { class: {
147
+ 'six-header__search--open': this.isSectionSelected(Section.Search),
148
+ } }, h("six-icon-button", { name: "search", onClick: () => this.toggleSearch(), "data-testid": "search-trigger" })));
149
+ const notifications = this.hasSlot(Slot.Notifications) && (h("section", { class: "six-header__notification" }, h("slot", { name: Slot.Notifications })));
150
+ const appSwitcher = this.hasSlot(Slot.AppSwitcher) && (h("section", { class: {
129
151
  'six-header__app-switcher': true,
130
- 'six-header__app-switcher--open': this.selected(Section.AppSwitcher),
152
+ 'six-header__app-switcher--open': this.isSectionSelected(Section.AppSwitcher),
131
153
  } }, h("a", { onClick: this.appNameClicked, class: "six-header__selected-app" }, this.selectedApp), h("six-dropdown", { distance: 13, skidding: 20, placement: "bottom-end", ref: this.setupAppSwitcher }, h("six-icon-button", { name: "apps", slot: "trigger" }), h("slot", { name: Slot.AppSwitcher }))));
132
- const profile = this.has(Slot.Profile) && (h("section", { class: {
154
+ const profile = this.hasSlot(Slot.Profile) && (h("section", { class: {
133
155
  'six-header__profile': true,
134
- 'six-header__profile--open': this.selected(Section.Profile),
156
+ 'six-header__profile--open': this.isSectionSelected(Section.Profile),
135
157
  } }, h("six-dropdown", { distance: 17, skidding: 20, placement: "bottom-end", ref: this.setupProfile }, h("slot", { name: "profile-avatar", slot: "trigger" }), h("slot", { name: "profile-menu" }))));
136
- const logo = this.has(Slot.Logo) ? (h("section", null, h("slot", { name: "logo" }))) : (h("section", { class: {
158
+ const logo = this.hasSlot(Slot.Logo) ? (h("section", null, h("slot", { name: "logo" }))) : (h("section", { class: {
137
159
  'six-header__logo': true,
138
160
  'six-header__logo--clickable': this.clickableLogo,
139
161
  }, ref: this.setupLogo }, h("svg", { height: "20", viewBox: "0 0 90 26", xmlns: "http://www.w3.org/2000/svg" }, h("title", null, "SIX"), h("g", { fill: "#DE3919", "fill-rule": "nonzero" }, h("path", { d: "m22.798 3.869c1.82-2.168 4.549-3.545 7.6-3.545h6.807v4.961h-6.807c-1.526 0-2.89.689-3.8 1.771l-12.19 14.526c-1.82 2.166-4.549 3.545-7.6 3.545h-6.808v-4.961h6.808c1.525 0 2.889-.689 3.799-1.773l12.191-14.525" }), h("path", { d: "m42.16.324h5.21v24.806h-5.21z" }), h("path", { d: "m66.743 3.869l4.195 4.999 4.195-4.999c1.819-2.168 4.549-3.545 7.6-3.545h6.806v4.961h-6.806c-1.526 0-2.89.689-3.8 1.771l-4.758 5.669 4.758 5.669c.91 1.084 2.274 1.773 3.8 1.773h6.806v4.961h-6.806c-3.051 0-5.781-1.379-7.6-3.545l-4.195-4.999-4.195 4.999c-1.82 2.166-4.55 3.545-7.6 3.545h-6.807v-4.961h6.807c1.525 0 2.889-.689 3.799-1.773l4.758-5.669-4.758-5.669c-.91-1.083-2.274-1.771-3.799-1.771h-6.807v-4.961h6.807c3.05 0 5.78 1.378 7.6 3.545" })))));
140
162
  return (h(Host, null, h("header", { class: "six-header" }, h("section", { class: "six-header__menu" }, h("six-icon-button", { name: this.openHamburgerMenu ? 'menu_open' : 'menu', ref: this.setupMenu })), logo, h("section", { class: "six-header__placeholder" }), h("section", { class: "six-header__custom" }, h("slot", null)), search, notifications, appSwitcher, profile), h("div", { class: {
141
163
  'six-header__search-field': true,
142
- 'six-header__search-field--visible': this.selected(Section.Search),
164
+ 'six-header__search-field--visible': this.isSectionSelected(Section.Search),
143
165
  'six-header__search-field--shift-content': this.shiftContent,
144
166
  } }, h("slot", { name: Slot.Search }))));
145
167
  }