@six-group/ui-library 0.0.0-insider.a358260 → 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 (729) 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 +5 -4
  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 +5 -5
  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 +1 -1
  79. package/dist/cjs/six-range.cjs.entry.js +4 -4
  80. package/dist/cjs/six-root.cjs.entry.js +2 -2
  81. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-search-field.cjs.entry.js +11 -6
  83. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-select.cjs.entry.js +135 -188
  85. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +10 -6
  87. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  89. package/dist/cjs/six-sidebar.cjs.entry.js +40 -19
  90. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  92. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-switch.cjs.entry.js +51 -45
  94. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-tab-group.cjs.entry.js +131 -113
  96. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  98. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-tab.cjs.entry.js +5 -3
  100. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tag.cjs.entry.js +5 -8
  102. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-textarea.cjs.entry.js +4 -4
  104. package/dist/cjs/six-tile.cjs.entry.js +14 -17
  105. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-timepicker.cjs.entry.js +155 -201
  107. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-tooltip.cjs.entry.js +54 -57
  109. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  110. package/dist/cjs/{slot-ad537f24.js → slot-bccbdb59.js} +11 -10
  111. package/dist/cjs/slot-bccbdb59.js.map +1 -0
  112. package/dist/cjs/ui-library.cjs.js +2 -2
  113. package/dist/collection/components/six-alert/six-alert.js +17 -22
  114. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  115. package/dist/collection/components/six-avatar/six-avatar.js +4 -7
  116. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  117. package/dist/collection/components/six-badge/six-badge.js +1 -1
  118. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  119. package/dist/collection/components/six-button/six-button.js +38 -40
  120. package/dist/collection/components/six-button/six-button.js.map +1 -1
  121. package/dist/collection/components/six-card/six-card.js +1 -1
  122. package/dist/collection/components/six-card/six-card.js.map +1 -1
  123. package/dist/collection/components/six-checkbox/six-checkbox.js +3 -2
  124. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  125. package/dist/collection/components/six-datepicker/components/day-selection.js +2 -2
  126. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  127. package/dist/collection/components/six-datepicker/components/month-selection.js +4 -3
  128. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  129. package/dist/collection/components/six-datepicker/components/year-selection.js +9 -6
  130. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  131. package/dist/collection/components/six-datepicker/six-datepicker.js +126 -240
  132. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  133. package/dist/collection/components/six-details/six-details.js +51 -50
  134. package/dist/collection/components/six-details/six-details.js.map +1 -1
  135. package/dist/collection/components/six-dialog/six-dialog.js +34 -38
  136. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  137. package/dist/collection/components/six-drawer/six-drawer.js +31 -35
  138. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  139. package/dist/collection/components/six-dropdown/six-dropdown.js +185 -173
  140. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  141. package/dist/collection/components/six-error-page/six-error-page.js +25 -27
  142. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  143. package/dist/collection/components/six-file-list-item/six-file-list-item.js +3 -3
  144. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  145. package/dist/collection/components/six-file-upload/six-file-upload.js +32 -32
  146. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  147. package/dist/collection/components/six-form/six-form.js +41 -33
  148. package/dist/collection/components/six-form/six-form.js.map +1 -1
  149. package/dist/collection/components/six-group-label/six-group-label.js +11 -9
  150. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  151. package/dist/collection/components/six-header/six-header.js +64 -42
  152. package/dist/collection/components/six-header/six-header.js.map +1 -1
  153. package/dist/collection/components/six-icon-button/six-icon-button.js +8 -8
  154. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  155. package/dist/collection/components/six-input/six-input.js +16 -16
  156. package/dist/collection/components/six-input/six-input.js.map +1 -1
  157. package/dist/collection/components/six-item-picker/six-item-picker.js +65 -84
  158. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  159. package/dist/collection/components/six-language-switcher/six-language-switcher.js +2 -2
  160. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  161. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  162. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  163. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  164. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  165. package/dist/collection/components/six-menu/six-menu.js +29 -23
  166. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  167. package/dist/collection/components/six-menu-item/six-menu-item.js +7 -5
  168. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  169. package/dist/collection/components/six-picto/six-picto.js +5 -2
  170. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  171. package/dist/collection/components/six-progress-ring/six-progress-ring.js +5 -4
  172. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  173. package/dist/collection/components/six-radio/six-radio.js +2 -2
  174. package/dist/collection/components/six-root/six-root.js +4 -4
  175. package/dist/collection/components/six-root/six-root.js.map +1 -1
  176. package/dist/collection/components/six-search-field/six-search-field.js +10 -5
  177. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  178. package/dist/collection/components/six-select/six-select.js +139 -146
  179. package/dist/collection/components/six-select/six-select.js.map +1 -1
  180. package/dist/collection/components/six-select/util.js.map +1 -1
  181. package/dist/collection/components/six-sidebar/six-sidebar.js +40 -19
  182. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  183. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +12 -8
  184. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  185. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  186. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +1 -1
  187. package/dist/collection/components/six-switch/six-switch.js +58 -50
  188. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  189. package/dist/collection/components/six-tab/six-tab.js +5 -3
  190. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  191. package/dist/collection/components/six-tab-group/six-tab-group.js +130 -112
  192. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  193. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  194. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  195. package/dist/collection/components/six-tag/six-tag.js +4 -7
  196. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  197. package/dist/collection/components/six-textarea/six-textarea.js +10 -10
  198. package/dist/collection/components/six-tile/six-tile.js +17 -20
  199. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  200. package/dist/collection/components/six-timepicker/six-timepicker.js +129 -177
  201. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  202. package/dist/collection/components/six-tooltip/six-tooltip.js +56 -59
  203. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  204. package/dist/collection/functional-components/form-control/form-control.js +8 -7
  205. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  206. package/dist/collection/testUtil/delay.js.map +1 -1
  207. package/dist/collection/utils/date-util.js +24 -16
  208. package/dist/collection/utils/date-util.js.map +1 -1
  209. package/dist/collection/utils/event-listeners.js +6 -6
  210. package/dist/collection/utils/event-listeners.js.map +1 -1
  211. package/dist/collection/utils/execution-control.js +5 -4
  212. package/dist/collection/utils/execution-control.js.map +1 -1
  213. package/dist/collection/utils/focus-visible.js +2 -2
  214. package/dist/collection/utils/focus-visible.js.map +1 -1
  215. package/dist/collection/utils/modal.js +3 -2
  216. package/dist/collection/utils/modal.js.map +1 -1
  217. package/dist/collection/utils/popover.js +32 -18
  218. package/dist/collection/utils/popover.js.map +1 -1
  219. package/dist/collection/utils/popup.js +95 -0
  220. package/dist/collection/utils/popup.js.map +1 -0
  221. package/dist/collection/utils/slot.js +9 -24
  222. package/dist/collection/utils/slot.js.map +1 -1
  223. package/dist/collection/utils/tabbable.js +6 -6
  224. package/dist/collection/utils/tabbable.js.map +1 -1
  225. package/dist/collection/utils/time.util.js +48 -34
  226. package/dist/collection/utils/time.util.js.map +1 -1
  227. package/dist/collection/utils/type-check.js +0 -1
  228. package/dist/collection/utils/type-check.js.map +1 -1
  229. package/dist/collection/wrappers/set-attributes/set-attributes.js +3 -1
  230. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  231. package/dist/components/event-listeners.js +6 -6
  232. package/dist/components/event-listeners.js.map +1 -1
  233. package/dist/components/execution-control.js +5 -2
  234. package/dist/components/execution-control.js.map +1 -1
  235. package/dist/components/focus-visible.js +2 -2
  236. package/dist/components/focus-visible.js.map +1 -1
  237. package/dist/components/form-control.js +8 -7
  238. package/dist/components/form-control.js.map +1 -1
  239. package/dist/components/modal.js +3 -2
  240. package/dist/components/modal.js.map +1 -1
  241. package/dist/components/popover.js +32 -18
  242. package/dist/components/popover.js.map +1 -1
  243. package/dist/components/set-attributes2.js +3 -1
  244. package/dist/components/set-attributes2.js.map +1 -1
  245. package/dist/components/six-alert.js +17 -22
  246. package/dist/components/six-alert.js.map +1 -1
  247. package/dist/components/six-avatar.js +4 -7
  248. package/dist/components/six-avatar.js.map +1 -1
  249. package/dist/components/six-badge.js +1 -1
  250. package/dist/components/six-badge.js.map +1 -1
  251. package/dist/components/six-button.js +28 -32
  252. package/dist/components/six-button.js.map +1 -1
  253. package/dist/components/six-card.js.map +1 -1
  254. package/dist/components/six-checkbox.js +1 -0
  255. package/dist/components/six-checkbox.js.map +1 -1
  256. package/dist/components/six-datepicker.js +141 -238
  257. package/dist/components/six-datepicker.js.map +1 -1
  258. package/dist/components/six-details2.js +46 -45
  259. package/dist/components/six-details2.js.map +1 -1
  260. package/dist/components/six-dialog.js +33 -37
  261. package/dist/components/six-dialog.js.map +1 -1
  262. package/dist/components/six-drawer.js +30 -34
  263. package/dist/components/six-drawer.js.map +1 -1
  264. package/dist/components/six-dropdown2.js +185 -173
  265. package/dist/components/six-dropdown2.js.map +1 -1
  266. package/dist/components/six-error-page.js +19 -21
  267. package/dist/components/six-error-page.js.map +1 -1
  268. package/dist/components/six-file-list-item.js +1 -1
  269. package/dist/components/six-file-list-item.js.map +1 -1
  270. package/dist/components/six-file-upload.js +20 -20
  271. package/dist/components/six-file-upload.js.map +1 -1
  272. package/dist/components/six-form.js +38 -33
  273. package/dist/components/six-form.js.map +1 -1
  274. package/dist/components/six-group-label.js +9 -8
  275. package/dist/components/six-group-label.js.map +1 -1
  276. package/dist/components/six-header.js +64 -42
  277. package/dist/components/six-header.js.map +1 -1
  278. package/dist/components/six-icon-button2.js +2 -2
  279. package/dist/components/six-icon-button2.js.map +1 -1
  280. package/dist/components/six-input2.js +1 -1
  281. package/dist/components/six-input2.js.map +1 -1
  282. package/dist/components/six-item-picker2.js +56 -75
  283. package/dist/components/six-item-picker2.js.map +1 -1
  284. package/dist/components/six-language-switcher.js +1 -1
  285. package/dist/components/six-language-switcher.js.map +1 -1
  286. package/dist/components/six-layout-grid.js +5 -3
  287. package/dist/components/six-layout-grid.js.map +1 -1
  288. package/dist/components/six-main-container.js.map +1 -1
  289. package/dist/components/six-menu-item2.js +7 -5
  290. package/dist/components/six-menu-item2.js.map +1 -1
  291. package/dist/components/six-menu2.js +25 -18
  292. package/dist/components/six-menu2.js.map +1 -1
  293. package/dist/components/six-picto2.js +4 -1
  294. package/dist/components/six-picto2.js.map +1 -1
  295. package/dist/components/six-progress-ring.js +3 -3
  296. package/dist/components/six-progress-ring.js.map +1 -1
  297. package/dist/components/six-root.js +1 -1
  298. package/dist/components/six-root.js.map +1 -1
  299. package/dist/components/six-search-field.js +8 -3
  300. package/dist/components/six-search-field.js.map +1 -1
  301. package/dist/components/six-select.js +129 -182
  302. package/dist/components/six-select.js.map +1 -1
  303. package/dist/components/six-sidebar-item-group.js +8 -4
  304. package/dist/components/six-sidebar-item-group.js.map +1 -1
  305. package/dist/components/six-sidebar.js +39 -18
  306. package/dist/components/six-sidebar.js.map +1 -1
  307. package/dist/components/six-spinner2.js.map +1 -1
  308. package/dist/components/six-switch.js +50 -44
  309. package/dist/components/six-switch.js.map +1 -1
  310. package/dist/components/six-tab-group.js +129 -111
  311. package/dist/components/six-tab-group.js.map +1 -1
  312. package/dist/components/six-tab-panel.js +1 -1
  313. package/dist/components/six-tab-panel.js.map +1 -1
  314. package/dist/components/six-tab.js +4 -2
  315. package/dist/components/six-tab.js.map +1 -1
  316. package/dist/components/six-tag2.js +4 -7
  317. package/dist/components/six-tag2.js.map +1 -1
  318. package/dist/components/six-tile.js +14 -17
  319. package/dist/components/six-tile.js.map +1 -1
  320. package/dist/components/six-timepicker.js +1 -1
  321. package/dist/components/six-timepicker2.js +241 -239
  322. package/dist/components/six-timepicker2.js.map +1 -1
  323. package/dist/components/six-tooltip2.js +52 -55
  324. package/dist/components/six-tooltip2.js.map +1 -1
  325. package/dist/components/slot.js +10 -9
  326. package/dist/components/slot.js.map +1 -1
  327. package/dist/components.json +348 -166
  328. package/dist/esm/{event-listeners-570a24ea.js → event-listeners-6b434035.js} +7 -7
  329. package/dist/esm/event-listeners-6b434035.js.map +1 -0
  330. package/dist/esm/{execution-control-1a60d709.js → execution-control-72cc50f4.js} +6 -3
  331. package/dist/esm/execution-control-72cc50f4.js.map +1 -0
  332. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fa7129a0.js} +3 -3
  333. package/dist/esm/focus-visible-fa7129a0.js.map +1 -0
  334. package/dist/esm/{form-control-3b440ea1.js → form-control-44a50dd6.js} +10 -9
  335. package/dist/esm/form-control-44a50dd6.js.map +1 -0
  336. package/dist/esm/{index-5c0f6628.js → index-371fb9d4.js} +4 -2
  337. package/dist/esm/index-371fb9d4.js.map +1 -0
  338. package/dist/esm/loader.js +3 -3
  339. package/dist/esm/{modal-5ebdc320.js → modal-b1d96441.js} +4 -3
  340. package/dist/esm/modal-b1d96441.js.map +1 -0
  341. package/dist/esm/{popover-bd2c2fca.js → popover-1aacbae8.js} +33 -19
  342. package/dist/{cjs/popover-f743f62b.js.map → esm/popover-1aacbae8.js.map} +1 -1
  343. package/dist/esm/popup-678b8592.js +98 -0
  344. package/dist/esm/popup-678b8592.js.map +1 -0
  345. package/dist/esm/set-attributes_2.entry.js +4 -2
  346. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  347. package/dist/esm/six-alert.entry.js +18 -23
  348. package/dist/esm/six-alert.entry.js.map +1 -1
  349. package/dist/esm/six-avatar.entry.js +5 -8
  350. package/dist/esm/six-avatar.entry.js.map +1 -1
  351. package/dist/esm/six-badge.entry.js +2 -2
  352. package/dist/esm/six-badge.entry.js.map +1 -1
  353. package/dist/esm/six-button.entry.js +30 -34
  354. package/dist/esm/six-button.entry.js.map +1 -1
  355. package/dist/esm/six-card.entry.js +1 -1
  356. package/dist/esm/six-card.entry.js.map +1 -1
  357. package/dist/esm/six-checkbox.entry.js +5 -4
  358. package/dist/esm/six-checkbox.entry.js.map +1 -1
  359. package/dist/esm/six-datepicker.entry.js +145 -242
  360. package/dist/esm/six-datepicker.entry.js.map +1 -1
  361. package/dist/esm/six-details.entry.js +48 -47
  362. package/dist/esm/six-details.entry.js.map +1 -1
  363. package/dist/esm/six-dialog.entry.js +36 -40
  364. package/dist/esm/six-dialog.entry.js.map +1 -1
  365. package/dist/esm/six-drawer.entry.js +33 -37
  366. package/dist/esm/six-drawer.entry.js.map +1 -1
  367. package/dist/esm/six-dropdown_2.entry.js +215 -196
  368. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  369. package/dist/esm/six-error-page.entry.js +20 -22
  370. package/dist/esm/six-error-page.entry.js.map +1 -1
  371. package/dist/esm/six-file-list-item.entry.js +2 -2
  372. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  373. package/dist/esm/six-file-list.entry.js +1 -1
  374. package/dist/esm/six-file-upload.entry.js +21 -21
  375. package/dist/esm/six-file-upload.entry.js.map +1 -1
  376. package/dist/esm/six-footer.entry.js +1 -1
  377. package/dist/esm/six-form.entry.js +40 -35
  378. package/dist/esm/six-form.entry.js.map +1 -1
  379. package/dist/esm/six-group-label.entry.js +12 -11
  380. package/dist/esm/six-group-label.entry.js.map +1 -1
  381. package/dist/esm/six-header.entry.js +66 -44
  382. package/dist/esm/six-header.entry.js.map +1 -1
  383. package/dist/esm/six-icon-button.entry.js +4 -4
  384. package/dist/esm/six-icon-button.entry.js.map +1 -1
  385. package/dist/esm/six-icon.entry.js +1 -1
  386. package/dist/esm/six-input.entry.js +5 -5
  387. package/dist/esm/six-input.entry.js.map +1 -1
  388. package/dist/esm/six-item-picker.entry.js +59 -78
  389. package/dist/esm/six-item-picker.entry.js.map +1 -1
  390. package/dist/esm/six-language-switcher.entry.js +2 -2
  391. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  392. package/dist/esm/six-layout-grid.entry.js +5 -3
  393. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  394. package/dist/esm/six-main-container.entry.js +1 -1
  395. package/dist/esm/six-main-container.entry.js.map +1 -1
  396. package/dist/esm/six-menu-divider.entry.js +1 -1
  397. package/dist/esm/six-menu-item.entry.js +9 -7
  398. package/dist/esm/six-menu-item.entry.js.map +1 -1
  399. package/dist/esm/six-menu-label.entry.js +1 -1
  400. package/dist/esm/six-picto.entry.js +5 -2
  401. package/dist/esm/six-picto.entry.js.map +1 -1
  402. package/dist/esm/six-progress-bar.entry.js +1 -1
  403. package/dist/esm/six-progress-ring.entry.js +4 -4
  404. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  405. package/dist/esm/six-radio.entry.js +1 -1
  406. package/dist/esm/six-range.entry.js +4 -4
  407. package/dist/esm/six-root.entry.js +2 -2
  408. package/dist/esm/six-root.entry.js.map +1 -1
  409. package/dist/esm/six-search-field.entry.js +11 -6
  410. package/dist/esm/six-search-field.entry.js.map +1 -1
  411. package/dist/esm/six-select.entry.js +135 -188
  412. package/dist/esm/six-select.entry.js.map +1 -1
  413. package/dist/esm/six-sidebar-item-group.entry.js +10 -6
  414. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  415. package/dist/esm/six-sidebar-item.entry.js +1 -1
  416. package/dist/esm/six-sidebar.entry.js +40 -19
  417. package/dist/esm/six-sidebar.entry.js.map +1 -1
  418. package/dist/esm/six-spinner.entry.js +1 -1
  419. package/dist/esm/six-spinner.entry.js.map +1 -1
  420. package/dist/esm/six-switch.entry.js +51 -45
  421. package/dist/esm/six-switch.entry.js.map +1 -1
  422. package/dist/esm/six-tab-group.entry.js +131 -113
  423. package/dist/esm/six-tab-group.entry.js.map +1 -1
  424. package/dist/esm/six-tab-panel.entry.js +2 -2
  425. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  426. package/dist/esm/six-tab.entry.js +5 -3
  427. package/dist/esm/six-tab.entry.js.map +1 -1
  428. package/dist/esm/six-tag.entry.js +5 -8
  429. package/dist/esm/six-tag.entry.js.map +1 -1
  430. package/dist/esm/six-textarea.entry.js +4 -4
  431. package/dist/esm/six-tile.entry.js +14 -17
  432. package/dist/esm/six-tile.entry.js.map +1 -1
  433. package/dist/esm/six-timepicker.entry.js +155 -201
  434. package/dist/esm/six-timepicker.entry.js.map +1 -1
  435. package/dist/esm/six-tooltip.entry.js +54 -57
  436. package/dist/esm/six-tooltip.entry.js.map +1 -1
  437. package/dist/esm/{slot-6f3984c7.js → slot-2e64df19.js} +11 -10
  438. package/dist/esm/slot-2e64df19.js.map +1 -0
  439. package/dist/esm/ui-library.js +3 -3
  440. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  441. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  442. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  443. package/dist/types/components/six-button/six-button.d.ts +8 -9
  444. package/dist/types/components/six-checkbox/six-checkbox.d.ts +1 -1
  445. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  446. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  447. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  448. package/dist/types/components/six-datepicker/six-datepicker.d.ts +34 -39
  449. package/dist/types/components/six-details/six-details.d.ts +12 -12
  450. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  451. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  452. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  453. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  454. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  455. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  456. package/dist/types/components/six-form/six-form.d.ts +7 -16
  457. package/dist/types/components/six-group-label/six-group-label.d.ts +4 -4
  458. package/dist/types/components/six-header/six-header.d.ts +16 -27
  459. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  460. package/dist/types/components/six-input/six-input.d.ts +3 -3
  461. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  462. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  463. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  464. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  465. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  466. package/dist/types/components/six-radio/six-radio.d.ts +1 -1
  467. package/dist/types/components/six-root/six-root.d.ts +3 -3
  468. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  469. package/dist/types/components/six-select/six-select.d.ts +15 -12
  470. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  471. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  472. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  473. package/dist/types/components/six-switch/six-switch.d.ts +10 -11
  474. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  475. package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
  476. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  477. package/dist/types/components/six-tag/six-tag.d.ts +1 -3
  478. package/dist/types/components/six-textarea/six-textarea.d.ts +3 -3
  479. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  480. package/dist/types/components/six-timepicker/six-timepicker.d.ts +21 -33
  481. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  482. package/dist/types/components.d.ts +110 -98
  483. package/dist/types/functional-components/form-control/form-control.d.ts +5 -4
  484. package/dist/types/testUtil/delay.d.ts +1 -1
  485. package/dist/types/utils/date-util.d.ts +17 -10
  486. package/dist/types/utils/event-listeners.d.ts +1 -1
  487. package/dist/types/utils/execution-control.d.ts +1 -3
  488. package/dist/types/utils/modal.d.ts +2 -2
  489. package/dist/types/utils/popover.d.ts +5 -5
  490. package/dist/types/utils/popup.d.ts +9 -0
  491. package/dist/types/utils/slot.d.ts +2 -7
  492. package/dist/types/utils/tabbable.d.ts +1 -1
  493. package/dist/types/utils/time.util.d.ts +18 -9
  494. package/dist/types/utils/type-check.d.ts +3 -4
  495. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  496. package/dist/ui-library/p-02d5a6d8.js +2 -0
  497. package/dist/ui-library/p-02d5a6d8.js.map +1 -0
  498. package/dist/ui-library/p-053d6de8.entry.js +2 -0
  499. package/dist/ui-library/p-053d6de8.entry.js.map +1 -0
  500. package/dist/ui-library/p-0cc08e91.js +2 -0
  501. package/dist/ui-library/p-0cc08e91.js.map +1 -0
  502. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-0eee4c41.entry.js} +2 -2
  503. package/dist/ui-library/p-0eee4c41.entry.js.map +1 -0
  504. package/dist/ui-library/p-0fe78f9b.js +2 -0
  505. package/dist/ui-library/p-0fe78f9b.js.map +1 -0
  506. package/dist/ui-library/{p-ac4f4d45.js → p-187fbba0.js} +3 -3
  507. package/dist/ui-library/p-187fbba0.js.map +1 -0
  508. package/dist/ui-library/p-25b42655.entry.js +2 -0
  509. package/dist/ui-library/p-25b42655.entry.js.map +1 -0
  510. package/dist/ui-library/p-271ba152.entry.js +2 -0
  511. package/dist/ui-library/p-271ba152.entry.js.map +1 -0
  512. package/dist/ui-library/{p-6d75f216.entry.js → p-27c4ee88.entry.js} +2 -2
  513. package/dist/ui-library/{p-f604e067.entry.js → p-2a36b7d0.entry.js} +2 -2
  514. package/dist/ui-library/p-2a8ad91b.entry.js +2 -0
  515. package/dist/ui-library/p-2a8ad91b.entry.js.map +1 -0
  516. package/dist/ui-library/{p-97cc839c.entry.js → p-30e0cdce.entry.js} +2 -2
  517. package/dist/ui-library/p-30e0cdce.entry.js.map +1 -0
  518. package/dist/ui-library/{p-63703ba3.entry.js → p-3a47c8ad.entry.js} +2 -2
  519. package/dist/ui-library/{p-63703ba3.entry.js.map → p-3a47c8ad.entry.js.map} +1 -1
  520. package/dist/ui-library/p-3a4815cb.entry.js +2 -0
  521. package/dist/ui-library/p-3a4815cb.entry.js.map +1 -0
  522. package/dist/ui-library/p-3b71cac4.entry.js +2 -0
  523. package/dist/ui-library/p-3b71cac4.entry.js.map +1 -0
  524. package/dist/ui-library/{p-5a25d6fb.entry.js → p-3d4a2e03.entry.js} +2 -2
  525. package/dist/ui-library/{p-73597d13.entry.js → p-3e4b9341.entry.js} +2 -2
  526. package/dist/ui-library/{p-73597d13.entry.js.map → p-3e4b9341.entry.js.map} +1 -1
  527. package/dist/ui-library/{p-3c635d0a.entry.js → p-41f0b6ff.entry.js} +2 -2
  528. package/dist/ui-library/p-435242a8.entry.js +2 -0
  529. package/dist/ui-library/p-435242a8.entry.js.map +1 -0
  530. package/dist/ui-library/{p-19364560.entry.js → p-5084ca7c.entry.js} +2 -2
  531. package/dist/ui-library/{p-19364560.entry.js.map → p-5084ca7c.entry.js.map} +1 -1
  532. package/dist/ui-library/p-5b3e6eb7.entry.js +2 -0
  533. package/dist/ui-library/p-5b3e6eb7.entry.js.map +1 -0
  534. package/dist/ui-library/{p-8a970a40.entry.js → p-5c1dd25a.entry.js} +2 -2
  535. package/dist/ui-library/p-5c1dd25a.entry.js.map +1 -0
  536. package/dist/ui-library/p-5c60227f.entry.js +2 -0
  537. package/dist/ui-library/p-5c60227f.entry.js.map +1 -0
  538. package/dist/ui-library/p-5dc40a6a.entry.js +2 -0
  539. package/dist/ui-library/p-5dc40a6a.entry.js.map +1 -0
  540. package/dist/ui-library/{p-dd3c76f1.entry.js → p-649017db.entry.js} +2 -2
  541. package/dist/ui-library/p-713684c7.entry.js +2 -0
  542. package/dist/ui-library/p-713684c7.entry.js.map +1 -0
  543. package/dist/ui-library/{p-c30f9e0b.entry.js → p-73325eec.entry.js} +2 -2
  544. package/dist/ui-library/p-73325eec.entry.js.map +1 -0
  545. package/dist/ui-library/p-7639c68e.entry.js +2 -0
  546. package/dist/ui-library/p-7639c68e.entry.js.map +1 -0
  547. package/dist/ui-library/p-764f56dd.entry.js +2 -0
  548. package/dist/ui-library/p-764f56dd.entry.js.map +1 -0
  549. package/dist/ui-library/{p-e19a6c95.entry.js → p-886a35ee.entry.js} +2 -2
  550. package/dist/ui-library/p-8cf72af6.js +2 -0
  551. package/dist/ui-library/p-8cf72af6.js.map +1 -0
  552. package/dist/ui-library/p-8d6f4311.entry.js +2 -0
  553. package/dist/ui-library/p-8d6f4311.entry.js.map +1 -0
  554. package/dist/ui-library/p-90c2dc30.entry.js +2 -0
  555. package/dist/ui-library/p-90c2dc30.entry.js.map +1 -0
  556. package/dist/ui-library/{p-97323ad7.entry.js → p-965fa6a6.entry.js} +2 -2
  557. package/dist/ui-library/p-98234e3f.entry.js +2 -0
  558. package/dist/ui-library/p-98234e3f.entry.js.map +1 -0
  559. package/dist/ui-library/{p-820c23f0.entry.js → p-9b9c3afc.entry.js} +2 -2
  560. package/dist/ui-library/{p-394a2a12.entry.js → p-9c34eab7.entry.js} +2 -2
  561. package/dist/ui-library/{p-394a2a12.entry.js.map → p-9c34eab7.entry.js.map} +1 -1
  562. package/dist/ui-library/p-9e0c386f.entry.js +2 -0
  563. package/dist/ui-library/p-9e0c386f.entry.js.map +1 -0
  564. package/dist/ui-library/p-9f8b6144.entry.js +2 -0
  565. package/dist/ui-library/p-9f8b6144.entry.js.map +1 -0
  566. package/dist/ui-library/p-a3cc0521.entry.js +2 -0
  567. package/dist/ui-library/p-a3cc0521.entry.js.map +1 -0
  568. package/dist/ui-library/{p-21859bca.entry.js → p-a5143b8d.entry.js} +2 -2
  569. package/dist/ui-library/{p-097cced4.entry.js → p-aa6f71e1.entry.js} +2 -2
  570. package/dist/ui-library/{p-097cced4.entry.js.map → p-aa6f71e1.entry.js.map} +1 -1
  571. package/dist/ui-library/p-abb98245.entry.js +2 -0
  572. package/dist/ui-library/p-abb98245.entry.js.map +1 -0
  573. package/dist/ui-library/p-b183e44f.js +2 -0
  574. package/dist/ui-library/p-b183e44f.js.map +1 -0
  575. package/dist/ui-library/{p-19b50b5a.entry.js → p-b27f496f.entry.js} +2 -2
  576. package/dist/ui-library/p-b27f496f.entry.js.map +1 -0
  577. package/dist/ui-library/{p-4f8394d7.js → p-ba74863a.js} +2 -2
  578. package/dist/ui-library/p-ba74863a.js.map +1 -0
  579. package/dist/ui-library/p-bf4a35ec.js +2 -0
  580. package/dist/ui-library/p-bf4a35ec.js.map +1 -0
  581. package/dist/ui-library/{p-d5633a29.entry.js → p-c07adc21.entry.js} +2 -2
  582. package/dist/ui-library/p-c07adc21.entry.js.map +1 -0
  583. package/dist/ui-library/p-c700e3eb.entry.js +2 -0
  584. package/dist/ui-library/p-c700e3eb.entry.js.map +1 -0
  585. package/dist/ui-library/p-cab99e54.entry.js +2 -0
  586. package/dist/ui-library/p-cab99e54.entry.js.map +1 -0
  587. package/dist/ui-library/{p-baa03951.entry.js → p-cf1133a0.entry.js} +2 -2
  588. package/dist/ui-library/p-cf1d36c0.entry.js +2 -0
  589. package/dist/ui-library/p-cf1d36c0.entry.js.map +1 -0
  590. package/dist/ui-library/p-d87a6f4d.js +2 -0
  591. package/dist/ui-library/p-d87a6f4d.js.map +1 -0
  592. package/dist/ui-library/{p-c349d1d4.entry.js → p-d8c97778.entry.js} +2 -2
  593. package/dist/ui-library/p-d8c97778.entry.js.map +1 -0
  594. package/dist/ui-library/p-deb01174.entry.js +2 -0
  595. package/dist/ui-library/p-deb01174.entry.js.map +1 -0
  596. package/dist/ui-library/{p-af793d04.entry.js → p-e5ba13d2.entry.js} +2 -2
  597. package/dist/ui-library/p-e5ba13d2.entry.js.map +1 -0
  598. package/dist/ui-library/{p-611e1978.entry.js → p-f29ba9cb.entry.js} +2 -2
  599. package/dist/ui-library/{p-611e1978.entry.js.map → p-f29ba9cb.entry.js.map} +1 -1
  600. package/dist/ui-library/{p-9328e5bc.entry.js → p-f66eb76c.entry.js} +2 -2
  601. package/dist/ui-library/p-f66eb76c.entry.js.map +1 -0
  602. package/dist/ui-library/p-f974a184.entry.js +2 -0
  603. package/dist/ui-library/p-f974a184.entry.js.map +1 -0
  604. package/dist/ui-library/{p-b0e5658f.entry.js → p-fb8d0734.entry.js} +2 -2
  605. package/dist/ui-library/p-fb8d0734.entry.js.map +1 -0
  606. package/dist/ui-library/ui-library.esm.js +1 -1
  607. package/dist/ui-library/ui-library.esm.js.map +1 -1
  608. package/package.json +1 -1
  609. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  610. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  611. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  612. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  613. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  614. package/dist/cjs/modal-48d42228.js.map +0 -1
  615. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  616. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  617. package/dist/cjs/slot-ad537f24.js.map +0 -1
  618. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  619. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  620. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  621. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  622. package/dist/collection/utils/as-array.js +0 -2
  623. package/dist/collection/utils/as-array.js.map +0 -1
  624. package/dist/collection/utils/matchers.js +0 -3
  625. package/dist/collection/utils/matchers.js.map +0 -1
  626. package/dist/collection/utils/testing.js +0 -39
  627. package/dist/collection/utils/testing.js.map +0 -1
  628. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  629. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  630. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  631. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  632. package/dist/esm/index-5c0f6628.js.map +0 -1
  633. package/dist/esm/modal-5ebdc320.js.map +0 -1
  634. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  635. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  636. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  637. package/dist/esm/slot-6f3984c7.js.map +0 -1
  638. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  639. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  640. package/dist/types/utils/as-array.d.ts +0 -1
  641. package/dist/types/utils/matchers.d.ts +0 -2
  642. package/dist/types/utils/popper.d.ts +0 -33
  643. package/dist/types/utils/testing.d.ts +0 -2
  644. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  645. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  646. package/dist/ui-library/p-0786fa7c.js +0 -2
  647. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  648. package/dist/ui-library/p-163f2bb0.entry.js +0 -2
  649. package/dist/ui-library/p-163f2bb0.entry.js.map +0 -1
  650. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  651. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  652. package/dist/ui-library/p-18ea0c56.js +0 -2
  653. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  654. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  655. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  656. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  657. package/dist/ui-library/p-308261c4.entry.js +0 -2
  658. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  659. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  660. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  661. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  662. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  663. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  664. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  665. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  666. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  667. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  668. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  669. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  670. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  671. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  672. package/dist/ui-library/p-79eee01b.js +0 -2
  673. package/dist/ui-library/p-79eee01b.js.map +0 -1
  674. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  675. package/dist/ui-library/p-90824648.entry.js +0 -2
  676. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  677. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  678. package/dist/ui-library/p-97cc839c.entry.js.map +0 -1
  679. package/dist/ui-library/p-9a860acc.js +0 -2
  680. package/dist/ui-library/p-9a860acc.js.map +0 -1
  681. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  682. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  683. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  684. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  685. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  686. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  687. package/dist/ui-library/p-b1e66136.js +0 -2
  688. package/dist/ui-library/p-b1e66136.js.map +0 -1
  689. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  690. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  691. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  692. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  693. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  694. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  695. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  696. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  697. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  698. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  699. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  700. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  701. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  702. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  703. package/dist/ui-library/p-d12c6092.js +0 -2
  704. package/dist/ui-library/p-d12c6092.js.map +0 -1
  705. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  706. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  707. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  708. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  709. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  710. package/dist/ui-library/p-f4938771.entry.js +0 -2
  711. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  712. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  713. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  714. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  715. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  716. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  717. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  718. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  719. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
  720. /package/dist/ui-library/{p-6d75f216.entry.js.map → p-27c4ee88.entry.js.map} +0 -0
  721. /package/dist/ui-library/{p-f604e067.entry.js.map → p-2a36b7d0.entry.js.map} +0 -0
  722. /package/dist/ui-library/{p-5a25d6fb.entry.js.map → p-3d4a2e03.entry.js.map} +0 -0
  723. /package/dist/ui-library/{p-3c635d0a.entry.js.map → p-41f0b6ff.entry.js.map} +0 -0
  724. /package/dist/ui-library/{p-dd3c76f1.entry.js.map → p-649017db.entry.js.map} +0 -0
  725. /package/dist/ui-library/{p-e19a6c95.entry.js.map → p-886a35ee.entry.js.map} +0 -0
  726. /package/dist/ui-library/{p-97323ad7.entry.js.map → p-965fa6a6.entry.js.map} +0 -0
  727. /package/dist/ui-library/{p-820c23f0.entry.js.map → p-9b9c3afc.entry.js.map} +0 -0
  728. /package/dist/ui-library/{p-21859bca.entry.js.map → p-a5143b8d.entry.js.map} +0 -0
  729. /package/dist/ui-library/{p-baa03951.entry.js.map → p-cf1133a0.entry.js.map} +0 -0
@@ -11,14 +11,33 @@ const SixForm$1 = /*@__PURE__*/ proxyCustomElement(class SixForm extends HTMLEle
11
11
  this.sixSubmit = createEvent(this, "six-form-submit", 7);
12
12
  this.sixChange = createEvent(this, "six-form-change", 7);
13
13
  this.sixReset = createEvent(this, "six-form-reset", 7);
14
+ this.formControls = [];
14
15
  this.eventListeners = new EventListeners();
16
+ this.handleClick = (event) => {
17
+ const target = event.target;
18
+ const tag = target.tagName.toLowerCase();
19
+ for (const formControl of this.formControls) {
20
+ if (formControl.tag === tag && formControl.click != null) {
21
+ formControl.click(event);
22
+ }
23
+ }
24
+ };
25
+ this.handleKeyDown = (event) => {
26
+ const target = event.target;
27
+ const tag = target.tagName.toLowerCase();
28
+ for (const formControl of this.formControls) {
29
+ if (formControl.tag === tag && formControl.keyDown != null) {
30
+ formControl.keyDown(event);
31
+ }
32
+ }
33
+ };
15
34
  this.novalidate = false;
16
35
  }
17
36
  connectedCallback() {
18
37
  this.formControls = [
19
38
  {
20
39
  tag: 'six-button',
21
- serialize: (el, formData) => el.name && !el.disabled ? formData.append(el.name, el.value) : null,
40
+ serialize: (el, formData) => el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,
22
41
  click: (event) => {
23
42
  const target = event.target;
24
43
  if (target.submit) {
@@ -31,16 +50,16 @@ const SixForm$1 = /*@__PURE__*/ proxyCustomElement(class SixForm extends HTMLEle
31
50
  },
32
51
  {
33
52
  tag: 'six-checkbox',
34
- serialize: (el, formData) => el.name && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
53
+ serialize: (el, formData) => el.name !== '' && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
35
54
  changeEventName: 'six-checkbox-change',
36
55
  },
37
56
  {
38
57
  tag: 'six-color-picker',
39
- serialize: (el, formData) => el.name && !el.disabled ? formData.append(el.name, el.value) : null,
58
+ serialize: (el, formData) => el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,
40
59
  },
41
60
  {
42
61
  tag: 'six-input',
43
- serialize: (el, formData) => el.name && !el.disabled ? formData.append(el.name, el.value) : null,
62
+ serialize: (el, formData) => el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,
44
63
  keyDown: (event) => {
45
64
  if (event.key === 'Enter' && !event.defaultPrevented) {
46
65
  this.submit();
@@ -50,7 +69,7 @@ const SixForm$1 = /*@__PURE__*/ proxyCustomElement(class SixForm extends HTMLEle
50
69
  },
51
70
  {
52
71
  tag: 'six-datepicker',
53
- 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; },
72
+ 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; },
54
73
  keyDown: (event) => {
55
74
  if (event.key === 'Enter' && !event.defaultPrevented) {
56
75
  this.submit();
@@ -60,13 +79,13 @@ const SixForm$1 = /*@__PURE__*/ proxyCustomElement(class SixForm extends HTMLEle
60
79
  },
61
80
  {
62
81
  tag: 'six-radio',
63
- serialize: (el, formData) => el.name && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
82
+ serialize: (el, formData) => el.name !== '' && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
64
83
  changeEventName: 'six-radio-change',
65
84
  },
66
85
  {
67
86
  tag: 'six-range',
68
87
  serialize: (el, formData) => {
69
- if (el.name && !el.disabled) {
88
+ if (el.name !== '' && !el.disabled) {
70
89
  formData.append(el.name, el.value + '');
71
90
  }
72
91
  },
@@ -75,10 +94,10 @@ const SixForm$1 = /*@__PURE__*/ proxyCustomElement(class SixForm extends HTMLEle
75
94
  {
76
95
  tag: 'six-select',
77
96
  serialize: (el, formData) => {
78
- if (el.name && !el.disabled) {
97
+ if (el.name !== '' && !el.disabled) {
79
98
  if (el.multiple) {
80
99
  const selectedOptions = [...el.value];
81
- if (selectedOptions.length) {
100
+ if (selectedOptions.length > 0) {
82
101
  selectedOptions.map((value) => formData.append(el.name, value));
83
102
  }
84
103
  else {
@@ -94,17 +113,17 @@ const SixForm$1 = /*@__PURE__*/ proxyCustomElement(class SixForm extends HTMLEle
94
113
  },
95
114
  {
96
115
  tag: 'six-switch',
97
- serialize: (el, formData) => el.name && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
116
+ serialize: (el, formData) => el.name !== '' && el.checked && !el.disabled ? formData.append(el.name, el.value) : null,
98
117
  changeEventName: 'six-switch-change',
99
118
  },
100
119
  {
101
120
  tag: 'six-textarea',
102
- serialize: (el, formData) => el.name && !el.disabled ? formData.append(el.name, el.value) : null,
121
+ serialize: (el, formData) => el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,
103
122
  changeEventName: 'six-textarea-change',
104
123
  },
105
124
  {
106
125
  tag: 'six-timepicker',
107
- serialize: (el, formData) => el.name && !el.disabled ? formData.append(el.name, el.value) : null,
126
+ serialize: (el, formData) => el.name !== '' && !el.disabled ? formData.append(el.name, el.value) : null,
108
127
  keyDown: (event) => {
109
128
  if (event.key === 'Enter' && !event.defaultPrevented) {
110
129
  this.submit();
@@ -113,8 +132,6 @@ const SixForm$1 = /*@__PURE__*/ proxyCustomElement(class SixForm extends HTMLEle
113
132
  changeEventName: 'six-timepicker-change',
114
133
  },
115
134
  ];
116
- this.handleClick = this.handleClick.bind(this);
117
- this.handleKeyDown = this.handleKeyDown.bind(this);
118
135
  }
119
136
  disconnectedCallback() {
120
137
  this.eventListeners.removeAll();
@@ -125,7 +142,7 @@ const SixForm$1 = /*@__PURE__*/ proxyCustomElement(class SixForm extends HTMLEle
125
142
  appendChangeListener(el) {
126
143
  const tag = el.tagName.toLowerCase();
127
144
  for (const formControl of this.formControls) {
128
- if (formControl.tag === tag && formControl.changeEventName) {
145
+ if (formControl.tag === tag && formControl.changeEventName != null) {
129
146
  this.eventListeners.add(el, formControl.changeEventName, () => this.handleChange(el));
130
147
  }
131
148
  }
@@ -139,7 +156,13 @@ const SixForm$1 = /*@__PURE__*/ proxyCustomElement(class SixForm extends HTMLEle
139
156
  }
140
157
  /** Gets all form control elements (native and custom). */
141
158
  async getFormControls() {
159
+ if (this.form == null) {
160
+ return [];
161
+ }
142
162
  const slot = this.form.querySelector('slot');
163
+ if (slot == null) {
164
+ return [];
165
+ }
143
166
  const tags = this.formControls.map((control) => control.tag);
144
167
  return slot
145
168
  .assignedElements({ flatten: true })
@@ -185,24 +208,6 @@ const SixForm$1 = /*@__PURE__*/ proxyCustomElement(class SixForm extends HTMLEle
185
208
  .forEach((formControl) => formControl.reset());
186
209
  this.sixReset.emit();
187
210
  }
188
- handleClick(event) {
189
- const target = event.target;
190
- const tag = target.tagName.toLowerCase();
191
- for (const formControl of this.formControls) {
192
- if (formControl.tag === tag && formControl.click) {
193
- formControl.click(event);
194
- }
195
- }
196
- }
197
- handleKeyDown(event) {
198
- const target = event.target;
199
- const tag = target.tagName.toLowerCase();
200
- for (const formControl of this.formControls) {
201
- if (formControl.tag === tag && formControl.keyDown) {
202
- formControl.keyDown(event);
203
- }
204
- }
205
- }
206
211
  handleChange(el) {
207
212
  this.checkValidity().then((isValid) => this.sixChange.emit({
208
213
  valid: isValid,
@@ -1 +1 @@
1
- {"file":"six-form.js","mappings":"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","names":["SixForm"],"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.js","mappings":";;;AAAA,MAAM,UAAU,GAAG,4HAA4H;;MCyClIA,SAAO;;;;;;;;IAEV,iBAAY,GAAkB,EAAE,CAAC;IACjC,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAmOtC,gBAAW,GAAG,CAAC,KAAiB;MACtC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAyB,CAAC;MAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;MAEzC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;QAC3C,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,IAAI,WAAW,CAAC,KAAK,IAAI,IAAI,EAAE;UACxD,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;OACF;KACF,CAAC;IAEM,kBAAa,GAAG,CAAC,KAAoB;MAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAyB,CAAC;MAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;MAEzC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;QAC3C,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,IAAI,IAAI,EAAE;UAC1D,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC5B;OACF;KACF,CAAC;sBApPmB,KAAK;;EAgB1B,iBAAiB;IACf,IAAI,CAAC,YAAY,GAAG;MAClB;QACE,GAAG,EAAE,YAAY;QACjB,SAAS,EAAE,CAAC,EAAwB,EAAE,QAAQ,KAC5C,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;QAC5E,KAAK,EAAE,CAAC,KAAK;UACX,MAAM,MAAM,GAAG,KAAK,CAAC,MAA8B,CAAC;UACpD,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC;WACf;UAED,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,IAAI,CAAC,KAAK,EAAE,CAAC;WACd;SACF;OACF;MACD;QACE,GAAG,EAAE,cAAc;QACnB,SAAS,EAAE,CAAC,EAA0B,EAAE,QAAQ,KAC9C,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;QAC1F,eAAe,EAAE,qBAAqB;OACvC;MACD;QACE,GAAG,EAAE,kBAAkB;QACvB,SAAS,EAAE,CAAC,EAA0B,EAAE,QAAQ,KAC9C,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;OAC7E;MACD;QACE,GAAG,EAAE,WAAW;QAChB,SAAS,EAAE,CAAC,EAAuB,EAAE,QAAQ,KAC3C,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;QAC5E,OAAO,EAAE,CAAC,KAAK;UACb,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACpD,IAAI,CAAC,MAAM,EAAE,CAAC;WACf;SACF;QACD,eAAe,EAAE,kBAAkB;OACpC;MACD;QACE,GAAG,EAAE,gBAAgB;QACrB,SAAS,EAAE,CAAC,EAA4B,EAAE,QAAQ,eAChD,OAAA,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAA,EAAE,CAAC,KAAK,0CAAE,WAAW,EAAE,CAAC,GAAG,IAAI,CAAA,EAAA;QAC/G,OAAO,EAAE,CAAC,KAAK;UACb,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACpD,IAAI,CAAC,MAAM,EAAE,CAAC;WACf;SACF;QACD,eAAe,EAAE,uBAAuB;OACzC;MACD;QACE,GAAG,EAAE,WAAW;QAChB,SAAS,EAAE,CAAC,EAAuB,EAAE,QAAQ,KAC3C,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;QAC1F,eAAe,EAAE,kBAAkB;OACpC;MACD;QACE,GAAG,EAAE,WAAW;QAChB,SAAS,EAAE,CAAC,EAAuB,EAAE,QAAQ;UAC3C,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;YAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;WACzC;SACF;QACD,eAAe,EAAE,kBAAkB;OACpC;MACD;QACE,GAAG,EAAE,YAAY;QACjB,SAAS,EAAE,CAAC,EAAwB,EAAE,QAAQ;UAC5C,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;YAClC,IAAI,EAAE,CAAC,QAAQ,EAAE;cACf,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;cACtC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;eACjE;mBAAM;gBACL,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;eAC9B;aACF;iBAAM;cACL,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;aACzC;WACF;SACF;QACD,eAAe,EAAE,mBAAmB;OACrC;MACD;QACE,GAAG,EAAE,YAAY;QACjB,SAAS,EAAE,CAAC,EAAwB,EAAE,QAAQ,KAC5C,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;QAC1F,eAAe,EAAE,mBAAmB;OACrC;MACD;QACE,GAAG,EAAE,cAAc;QACnB,SAAS,EAAE,CAAC,EAA0B,EAAE,QAAQ,KAC9C,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;QAC5E,eAAe,EAAE,qBAAqB;OACvC;MACD;QACE,GAAG,EAAE,gBAAgB;QACrB,SAAS,EAAE,CAAC,EAA4B,EAAE,QAAQ,KAChD,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI;QAC5E,OAAO,EAAE,CAAC,KAAK;UACb,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YACpD,IAAI,CAAC,MAAM,EAAE,CAAC;WACf;SACF;QACD,eAAe,EAAE,uBAAuB;OACzC;KACF,CAAC;GACH;EAED,oBAAoB;IAClB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;GACjC;EAED,gBAAgB;IACd,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;GAC9G;EAEO,oBAAoB,CAAC,EAAmB;IAC9C,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IACrC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;MAC3C,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,IAAI,WAAW,CAAC,eAAe,IAAI,IAAI,EAAE;QAClE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAiB,EAAE,WAAW,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;OACtG;KACF;GACF;;EAID,MAAM,WAAW;IACf,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAElD,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9D,OAAO,QAAQ,CAAC;GACjB;;EAID,MAAM,eAAe;IACnB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;MACrB,OAAO,EAAE,CAAC;KACX;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,IAAI,IAAI,IAAI,EAAE;MAChB,OAAO,EAAE,CAAC;KACX;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,OAAO,IAAI;OACR,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;OACnC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAe,CAAC;OACnF,MAAM,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAsB,CAAC;GACjF;;;;;EAOD,MAAM,MAAM;IACV,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAClD,MAAM,sBAAsB,GAAG,YAAY,CAAC,MAAM,CAChD,CAAC,EAAmB,KAAK,OAAO,EAAE,CAAC,cAAc,KAAK,UAAU,CACjE,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;MACpB,IAAI,OAAO,GAAG,IAAI,CAAC;MACnB,KAAK,MAAM,EAAE,IAAI,sBAAsB,EAAE;QACvC,IAAI,EAAE,MAAM,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE;UAChC,OAAO,GAAG,KAAK,CAAC;SACjB;OACF;MACD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAC;OACd;KACF;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAEhD,OAAO,IAAI,CAAC;GACb;;EAID,MAAM,aAAa;IACjB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAClD,MAAM,eAAe,GAAG,YAAY;OACjC,MAAM,CAAC,CAAC,EAAmB,KAAK,OAAO,EAAE,CAAC,aAAa,KAAK,UAAU,CAAC;OACvE,GAAG,CAAC,CAAC,EAAmB,KAAK,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,KACtE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,CAAC,CAC3C,CAAC;IACF,OAAO,eAAe,CAAC,MAAM,IAAI,CAAC,CAAC;GACpC;;EAID,MAAM,KAAK;IACT,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAElD,YAAY;OACT,MAAM,CAAC,CAAC,OAAO,KAAK,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,QAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAA,KAAK,UAAU,CAAC;OAC3E,OAAO,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IAEjD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;GACtB;EAwBO,YAAY,CAAC,EAAmB;IACtC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,KAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;MAClB,KAAK,EAAE,OAAO;MACd,WAAW,EAAE,EAAE;KAChB,CAAC,CACH,CAAC;GACH;EAEO,gBAAgB,CAAC,EAAmB,EAAE,QAAkB;IAC9D,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAErC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;MAC3C,IAAI,WAAW,CAAC,GAAG,KAAK,GAAG,EAAE;QAC3B,OAAO,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;OAC5C;KACF;IAED,OAAO,IAAI,CAAC;GACb;EAED,MAAM;IACJ,QACE,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,EAC7B,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,MAAM,EACZ,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,IAE7B,eAAQ,CACJ,EACN;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SixForm"],"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}
@@ -13,30 +13,31 @@ const SixGroupLabel$1 = /*@__PURE__*/ proxyCustomElement(class SixGroupLabel ext
13
13
  this.wrapperLabelId = `label-${++id}`;
14
14
  this.labelId = `label-label-${id}`;
15
15
  this.helpTextId = `label-help-text-${id}`;
16
+ this.handleSlotChange = () => {
17
+ this.hasLabelSlot = hasSlot(this.host, 'label');
18
+ this.hasHelpTextSlot = hasSlot(this.host, 'help-text');
19
+ };
16
20
  this.hasHelpTextSlot = false;
17
21
  this.hasLabelSlot = false;
18
22
  this.size = 'medium';
19
23
  this.label = '';
20
24
  this.helpText = '';
21
25
  this.disabled = false;
22
- this.required = undefined;
26
+ this.required = false;
23
27
  }
24
28
  handleLabelChange() {
25
29
  this.handleSlotChange();
26
30
  }
27
31
  connectedCallback() {
28
- this.handleSlotChange = this.handleSlotChange.bind(this);
29
- this.host.shadowRoot.addEventListener('slotchange', this.handleSlotChange);
32
+ var _a;
33
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener('slotchange', this.handleSlotChange);
30
34
  }
31
35
  componentWillLoad() {
32
36
  this.handleSlotChange();
33
37
  }
34
38
  disconnectedCallback() {
35
- this.host.shadowRoot.removeEventListener('slotchange', this.handleSlotChange);
36
- }
37
- handleSlotChange() {
38
- this.hasLabelSlot = hasSlot(this.host, 'label');
39
- this.hasHelpTextSlot = hasSlot(this.host, 'help-text');
39
+ var _a;
40
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeEventListener('slotchange', this.handleSlotChange);
40
41
  }
41
42
  render() {
42
43
  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.js","mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,w7EAAw7E;;ACIj9E,IAAI,EAAE,GAAG,CAAC,CAAC;MAoBEA,eAAa;;;;;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":["SixGroupLabel"],"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.js","mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,w7EAAw7E;;ACIj9E,IAAI,EAAE,GAAG,CAAC,CAAC;MAoBEA,eAAa;;;;;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":["SixGroupLabel"],"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
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { E as EventListeners } from './event-listeners.js';
3
- import { g as getAvailableSlots } from './slot.js';
3
+ import { g as getSlot, h as hasSlot } from './slot.js';
4
4
  import { d as defineCustomElement$7 } from './six-dropdown2.js';
5
5
  import { d as defineCustomElement$6 } from './six-icon2.js';
6
6
  import { d as defineCustomElement$5 } from './six-icon-button2.js';
@@ -14,9 +14,8 @@ var Section;
14
14
  (function (Section) {
15
15
  Section[Section["None"] = 0] = "None";
16
16
  Section[Section["Search"] = 1] = "Search";
17
- Section[Section["Notifications"] = 2] = "Notifications";
18
- Section[Section["AppSwitcher"] = 3] = "AppSwitcher";
19
- Section[Section["Profile"] = 4] = "Profile";
17
+ Section[Section["AppSwitcher"] = 2] = "AppSwitcher";
18
+ Section[Section["Profile"] = 3] = "Profile";
20
19
  })(Section || (Section = {}));
21
20
  var Slot;
22
21
  (function (Slot) {
@@ -26,7 +25,6 @@ var Slot;
26
25
  Slot["Profile"] = "profile-menu";
27
26
  Slot["Logo"] = "logo";
28
27
  })(Slot || (Slot = {}));
29
- const getSlots = getAvailableSlots(Slot);
30
28
  const SixHeader$1 = /*@__PURE__*/ proxyCustomElement(class SixHeader extends HTMLElement {
31
29
  constructor() {
32
30
  super();
@@ -39,42 +37,31 @@ const SixHeader$1 = /*@__PURE__*/ proxyCustomElement(class SixHeader extends HTM
39
37
  this.sixLogoClick = createEvent(this, "six-header-logo-clicked", 7);
40
38
  this.sixSearchFieldToggle = createEvent(this, "six-header-search-field-toggle", 7);
41
39
  this.eventListeners = new EventListeners();
42
- this.has = (slot) => this.slots[slot];
43
- this.selected = (value) => value === this.selectedSection;
44
- this.select = (value) => () => {
45
- this.selectedSection = value;
46
- };
47
- this.toggleSearch = (value) => () => {
48
- var _a;
49
- if (value === Section.Search) {
50
- const visible = this.selectedSection !== value;
51
- if (visible) {
52
- (_a = this.host.querySelector(`[slot="${Slot.Search}"]`).shadowRoot.querySelector('six-input')) === null || _a === void 0 ? void 0 : _a.setFocus();
53
- }
54
- this.sixSearchFieldToggle.emit({ visible });
55
- }
56
- this.selectedSection = this.selectedSection === value ? Section.None : value;
57
- };
58
40
  this.setupMenu = (el) => {
41
+ if (el == null)
42
+ return;
59
43
  this.eventListeners.add(el, 'click', () => this.sixHamburgerClick.emit());
60
44
  };
61
45
  this.setupLogo = (el) => {
62
- if (!this.clickableLogo) {
46
+ if (!this.clickableLogo || el == null)
63
47
  return;
64
- }
65
48
  this.eventListeners.add(el, 'click', () => this.sixLogoClick.emit());
66
49
  };
67
50
  this.setupProfile = (el) => {
68
- this.eventListeners.add(el, 'six-dropdown-show', this.select(Section.Profile));
69
- this.eventListeners.add(el, 'six-dropdown-hide', this.select(Section.None));
51
+ if (el == null)
52
+ return;
53
+ this.eventListeners.add(el, 'six-dropdown-show', this.selectSection(Section.Profile));
54
+ this.eventListeners.add(el, 'six-dropdown-hide', this.selectSection(Section.None));
70
55
  this.eventListeners.add(el, 'six-menu-item-selected', (event) => {
71
56
  const { name, item } = event.detail;
72
57
  this.sixProfileSelect.emit({ selectedLabel: item.innerText, name, item });
73
58
  });
74
59
  };
75
60
  this.setupAppSwitcher = (el) => {
76
- this.eventListeners.add(el, 'six-dropdown-show', this.select(Section.AppSwitcher));
77
- this.eventListeners.add(el, 'six-dropdown-hide', this.select(Section.None));
61
+ if (el == null)
62
+ return;
63
+ this.eventListeners.add(el, 'six-dropdown-show', this.selectSection(Section.AppSwitcher));
64
+ this.eventListeners.add(el, 'six-dropdown-hide', this.selectSection(Section.None));
78
65
  this.eventListeners.add(el, 'six-menu-item-selected', (event) => {
79
66
  const { name, item } = event.detail;
80
67
  this.selectedApp = item.innerText;
@@ -108,46 +95,81 @@ const SixHeader$1 = /*@__PURE__*/ proxyCustomElement(class SixHeader extends HTM
108
95
  async getIsSearchOpen() {
109
96
  return this.selectedSection === Section.Search;
110
97
  }
98
+ hasSlot(slot) {
99
+ if (this.slots == null) {
100
+ return false;
101
+ }
102
+ return this.slots[slot];
103
+ }
104
+ isSectionSelected(value) {
105
+ return value === this.selectedSection;
106
+ }
107
+ selectSection(section) {
108
+ return () => (this.selectedSection = section);
109
+ }
110
+ toggleSearch() {
111
+ const visible = this.selectedSection !== Section.Search;
112
+ this.selectedSection = this.selectedSection === Section.Search ? Section.None : Section.Search;
113
+ this.sixSearchFieldToggle.emit({ visible });
114
+ if (this.selectedSection === Section.Search) {
115
+ // setFocus deferred due to https://github.com/ionic-team/stencil/issues/3772
116
+ setTimeout(async () => {
117
+ var _a, _b;
118
+ const slot = getSlot(this.host, Slot.Search);
119
+ (_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();
120
+ }, 50);
121
+ }
122
+ }
111
123
  componentWillLoad() {
112
- this.slots = getSlots(this.host);
113
- if (this.has(Slot.AppSwitcher)) {
124
+ this.slots = {
125
+ [Slot.Search]: hasSlot(this.host, Slot.Search),
126
+ [Slot.Notifications]: hasSlot(this.host, Slot.Notifications),
127
+ [Slot.AppSwitcher]: hasSlot(this.host, Slot.AppSwitcher),
128
+ [Slot.Profile]: hasSlot(this.host, Slot.Profile),
129
+ [Slot.Logo]: hasSlot(this.host, Slot.Logo),
130
+ };
131
+ if (this.hasSlot(Slot.AppSwitcher)) {
114
132
  this.selectedApp = this.getSelectedApp();
115
133
  }
116
- if (this.has(Slot.Search)) {
134
+ if (this.hasSlot(Slot.Search)) {
117
135
  this.computeSearchOpenState();
118
136
  }
119
137
  }
120
138
  getSelectedApp() {
139
+ var _a;
121
140
  // there are more concise ways to select the first checked menu item, but this is one that works for jest
122
- const element = this.host.querySelector(`[slot="${Slot.AppSwitcher}"]`);
141
+ const element = getSlot(this.host, Slot.AppSwitcher);
142
+ if (element == null) {
143
+ return undefined;
144
+ }
123
145
  const items = Array.from(element.querySelectorAll('six-menu-item'));
124
146
  const firstCheckedMenuItem = items.find((item) => item.hasAttribute('checked'));
125
- return firstCheckedMenuItem === null || firstCheckedMenuItem === void 0 ? void 0 : firstCheckedMenuItem.textContent;
147
+ return (_a = firstCheckedMenuItem === null || firstCheckedMenuItem === void 0 ? void 0 : firstCheckedMenuItem.textContent) !== null && _a !== void 0 ? _a : undefined;
126
148
  }
127
149
  disconnectedCallback() {
128
150
  this.eventListeners.removeAll();
129
151
  }
130
152
  render() {
131
- const search = this.has(Slot.Search) && (h("section", { class: {
153
+ const search = this.hasSlot(Slot.Search) && (h("section", { class: {
132
154
  'six-header__search': true,
133
- 'six-header__search--open': this.selected(Section.Search),
134
- } }, h("six-icon-button", { name: "search", onClick: this.toggleSearch(Section.Search), "data-testid": "search-trigger" })));
135
- const notifications = this.has(Slot.Notifications) && (h("section", { class: "six-header__notification" }, h("slot", { name: Slot.Notifications })));
136
- const appSwitcher = this.has(Slot.AppSwitcher) && (h("section", { class: {
155
+ 'six-header__search--open': this.isSectionSelected(Section.Search),
156
+ } }, h("six-icon-button", { name: "search", onClick: () => this.toggleSearch(), "data-testid": "search-trigger" })));
157
+ const notifications = this.hasSlot(Slot.Notifications) && (h("section", { class: "six-header__notification" }, h("slot", { name: Slot.Notifications })));
158
+ const appSwitcher = this.hasSlot(Slot.AppSwitcher) && (h("section", { class: {
137
159
  'six-header__app-switcher': true,
138
- 'six-header__app-switcher--open': this.selected(Section.AppSwitcher),
160
+ 'six-header__app-switcher--open': this.isSectionSelected(Section.AppSwitcher),
139
161
  } }, 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 }))));
140
- const profile = this.has(Slot.Profile) && (h("section", { class: {
162
+ const profile = this.hasSlot(Slot.Profile) && (h("section", { class: {
141
163
  'six-header__profile': true,
142
- 'six-header__profile--open': this.selected(Section.Profile),
164
+ 'six-header__profile--open': this.isSectionSelected(Section.Profile),
143
165
  } }, 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" }))));
144
- const logo = this.has(Slot.Logo) ? (h("section", null, h("slot", { name: "logo" }))) : (h("section", { class: {
166
+ const logo = this.hasSlot(Slot.Logo) ? (h("section", null, h("slot", { name: "logo" }))) : (h("section", { class: {
145
167
  'six-header__logo': true,
146
168
  'six-header__logo--clickable': this.clickableLogo,
147
169
  }, 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" })))));
148
170
  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: {
149
171
  'six-header__search-field': true,
150
- 'six-header__search-field--visible': this.selected(Section.Search),
172
+ 'six-header__search-field--visible': this.isSectionSelected(Section.Search),
151
173
  'six-header__search-field--shift-content': this.shiftContent,
152
174
  } }, h("slot", { name: Slot.Search }))));
153
175
  }
@@ -1 +1 @@
1
- {"file":"six-header.js","mappings":"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","names":["SixHeader"],"sources":["./src/components/six-header/six-header.scss?tag=six-header&encapsulation=shadow","./src/components/six-header/six-header.tsx"],"sourcesContent":["@import 'src/global/component';\n\n$header-height: 3.75rem;\n$border-height: 0.25rem;\n\n:host {\n display: block;\n user-select: none;\n --search-border-width: 1px;\n}\n\n::slotted(six-search-field) {\n position: absolute;\n margin-left: var(--search-border-width);\n width: calc(100% - 2 * var(--search-border-width));\n}\n\n.six-header {\n display: flex;\n width: 100%;\n height: $header-height;\n background-color: var(--six-header-background-color);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: var(--six-shadow-x-large);\n border-bottom: var(--six-header-border-with) solid var(--six-header-border-color);\n\n &__logo {\n width: 6rem;\n margin-top: 0.15rem;\n\n &--clickable {\n cursor: pointer;\n }\n }\n\n &__placeholder {\n flex: 1;\n }\n\n &__menu,\n &__logo,\n &__custom,\n &__search,\n &__notification,\n &__app-switcher,\n &__profile {\n height: calc(100% - #{$border-height} - 1px);\n padding: 0 1.25rem;\n display: flex;\n align-items: center;\n border-bottom: solid $border-height transparent;\n\n &--open {\n border-bottom: solid $border-height var(--six-header-border-color-open);\n }\n }\n\n &__selected-app {\n cursor: pointer;\n font-size: 0.9rem;\n font-weight: 600;\n padding-right: 0;\n padding-left: 0.3rem;\n &:hover {\n color: var(--six-header-selected-app-color-hover);\n }\n }\n\n &__search-field {\n opacity: 0;\n transform: scale(0.9);\n transition: var(--six-transition-fast) opacity, var(--six-transition-fast) transform;\n display: none;\n\n &--visible {\n opacity: 1;\n transform: none;\n display: block;\n }\n\n &--shift-content.six-header__search-field--visible {\n height: 2.65rem;\n transition: var(--six-transition-fast) height;\n }\n\n &--shift-content:not(.six-header__search-field--visible) {\n height: 0;\n transition: var(--six-transition-fast) height;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { getAvailableSlots } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\n\nexport interface SixHeaderAppSwitcherSelectPayload {\n selectedLabel: string;\n name: string;\n item: HTMLSixMenuItemElement;\n}\n\nexport interface SixHeaderProfileSelectPayload {\n selectedLabel: string;\n name: string;\n item: HTMLSixMenuItemElement;\n}\n\nexport interface SixHeaderSearchFieldToggle {\n visible: boolean;\n}\n\nenum Section {\n None,\n Search,\n Notifications,\n AppSwitcher,\n Profile,\n}\n\nenum Slot {\n Search = 'search-field',\n Notifications = 'notifications',\n AppSwitcher = 'app-switcher-menu',\n Profile = 'profile-menu',\n Logo = 'logo',\n}\n\nconst getSlots = getAvailableSlots(Slot);\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define a custom component that is included in the header.\n * @slot search-field - Used to define the search field component in the header.\n * @slot notifications - Used to define the notification component in the header.\n * @slot app-switcher-menu - Used to define the application switcher menu in the header.\n * @slot profile-menu - Used to define the profile menu in the header.\n * @slot profile-avatar - Used to define the avator in the header.\n */\n\n@Component({\n tag: 'six-header',\n styleUrl: 'six-header.scss',\n shadow: true,\n assetsDirs: ['assets'],\n})\nexport class SixHeader {\n /** Indicates if content should be shifted down when search field is visible. */\n @Prop() shiftContent = false;\n\n /** Set the hamburger menu icon to open or closed state */\n @Prop() openHamburgerMenu = false;\n\n /** Set the header search to be in an open or closed state */\n @Prop() openSearch = false;\n\n /** Set whether the logo should be clickable */\n @Prop() clickableLogo = false;\n\n @Watch('openSearch')\n handleOpenSearchChange() {\n this.computeSearchOpenState();\n }\n\n /** Sets open state for search */\n @Method()\n async setSearchOpenState(openState: boolean) {\n if (this.selectedSection === Section.Search && !openState) {\n this.selectedSection = Section.None;\n } else if (openState && this.selectedSection !== Section.Search) {\n this.selectedSection = Section.Search;\n }\n }\n\n /** Get open state for search */\n @Method()\n async getIsSearchOpen() {\n return this.selectedSection === Section.Search;\n }\n\n /** Emitted when the name of the selected app is clicked. */\n @Event({ eventName: 'six-header-app-name-clicked' })\n sixAppNameClicked: EventEmitter<EmptyPayload>;\n\n /** Emitted when a menu item is in the app switcher menu is selected. */\n @Event({ eventName: 'six-header-app-switcher-select' })\n sixAppSwitcherSelect: EventEmitter<SixHeaderAppSwitcherSelectPayload>;\n\n /** Emitted when a menu item is in the profile menu is selected. */\n @Event({ eventName: 'six-header-profile-select' })\n sixProfileSelect: EventEmitter<SixHeaderProfileSelectPayload>;\n\n /** Emitted when the hamburger menu is clicked. */\n @Event({ eventName: 'six-header-hamburger-menu-clicked' })\n sixHamburgerClick: EventEmitter<EmptyPayload>;\n\n /** Emitted when the header logo is clicked. */\n @Event({ eventName: 'six-header-logo-clicked' })\n sixLogoClick: EventEmitter<EmptyPayload>;\n\n /** Emitted when search field is toggled. */\n @Event({ eventName: 'six-header-search-field-toggle' })\n sixSearchFieldToggle: EventEmitter<SixHeaderSearchFieldToggle>;\n\n @Element() host: HTMLSixHeaderElement;\n\n readonly eventListeners = new EventListeners();\n\n slots: { readonly [K: string]: boolean };\n\n @State() selectedApp: string;\n @State() selectedSection: Section;\n\n has = (slot: Slot) => this.slots[slot];\n\n selected = (value: Section) => value === this.selectedSection;\n\n select = (value: Section) => () => {\n this.selectedSection = value;\n };\n\n toggleSearch = (value: Section) => () => {\n if (value === Section.Search) {\n const visible = this.selectedSection !== value;\n if (visible) {\n this.host.querySelector(`[slot=\"${Slot.Search}\"]`).shadowRoot.querySelector('six-input')?.setFocus();\n }\n this.sixSearchFieldToggle.emit({ visible });\n }\n this.selectedSection = this.selectedSection === value ? Section.None : value;\n };\n\n setupMenu = (el: HTMLSixIconButtonElement) => {\n this.eventListeners.add(el, 'click', () => this.sixHamburgerClick.emit());\n };\n\n setupLogo = (el: HTMLSixIconButtonElement) => {\n if (!this.clickableLogo) {\n return;\n }\n\n this.eventListeners.add(el, 'click', () => this.sixLogoClick.emit());\n };\n\n setupProfile = (el: HTMLSixDropdownElement) => {\n this.eventListeners.add(el, 'six-dropdown-show', this.select(Section.Profile));\n this.eventListeners.add(el, 'six-dropdown-hide', this.select(Section.None));\n this.eventListeners.add(el, 'six-menu-item-selected', (event: CustomEvent) => {\n const { name, item } = event.detail;\n this.sixProfileSelect.emit({ selectedLabel: item.innerText, name, item });\n });\n };\n\n setupAppSwitcher = (el: HTMLSixDropdownElement) => {\n this.eventListeners.add(el, 'six-dropdown-show', this.select(Section.AppSwitcher));\n this.eventListeners.add(el, 'six-dropdown-hide', this.select(Section.None));\n this.eventListeners.add(el, 'six-menu-item-selected', (event: CustomEvent) => {\n const { name, item } = event.detail;\n this.selectedApp = item.innerText;\n this.sixAppSwitcherSelect.emit({ selectedLabel: item.innerText, name, item });\n });\n };\n\n appNameClicked = () => this.sixAppNameClicked.emit();\n\n computeSearchOpenState = () => {\n this.selectedSection = this.openSearch ? Section.Search : Section.None;\n };\n\n componentWillLoad() {\n this.slots = getSlots(this.host);\n\n if (this.has(Slot.AppSwitcher)) {\n this.selectedApp = this.getSelectedApp();\n }\n\n if (this.has(Slot.Search)) {\n this.computeSearchOpenState();\n }\n }\n\n private getSelectedApp() {\n // there are more concise ways to select the first checked menu item, but this is one that works for jest\n const element = this.host.querySelector(`[slot=\"${Slot.AppSwitcher}\"]`);\n const items = Array.from(element.querySelectorAll('six-menu-item'));\n const firstCheckedMenuItem = items.find((item: HTMLElement) => item.hasAttribute('checked'));\n return firstCheckedMenuItem?.textContent;\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n render() {\n const search = this.has(Slot.Search) && (\n <section\n class={{\n 'six-header__search': true,\n 'six-header__search--open': this.selected(Section.Search),\n }}\n >\n <six-icon-button name=\"search\" onClick={this.toggleSearch(Section.Search)} data-testid=\"search-trigger\" />\n </section>\n );\n\n const notifications = this.has(Slot.Notifications) && (\n <section class=\"six-header__notification\">\n <slot name={Slot.Notifications} />\n </section>\n );\n\n const appSwitcher = this.has(Slot.AppSwitcher) && (\n <section\n class={{\n 'six-header__app-switcher': true,\n 'six-header__app-switcher--open': this.selected(Section.AppSwitcher),\n }}\n >\n <a onClick={this.appNameClicked} class=\"six-header__selected-app\">\n {this.selectedApp}\n </a>\n <six-dropdown distance={13} skidding={20} placement=\"bottom-end\" ref={this.setupAppSwitcher}>\n <six-icon-button name=\"apps\" slot=\"trigger\" />\n <slot name={Slot.AppSwitcher} />\n </six-dropdown>\n </section>\n );\n\n const profile = this.has(Slot.Profile) && (\n <section\n class={{\n 'six-header__profile': true,\n 'six-header__profile--open': this.selected(Section.Profile),\n }}\n >\n <six-dropdown distance={17} skidding={20} placement=\"bottom-end\" ref={this.setupProfile}>\n <slot name=\"profile-avatar\" slot=\"trigger\" />\n <slot name=\"profile-menu\" />\n </six-dropdown>\n </section>\n );\n\n const logo = this.has(Slot.Logo) ? (\n <section>\n <slot name=\"logo\" />\n </section>\n ) : (\n <section\n class={{\n 'six-header__logo': true,\n 'six-header__logo--clickable': this.clickableLogo,\n }}\n ref={this.setupLogo}\n >\n <svg height=\"20\" viewBox=\"0 0 90 26\" xmlns=\"http://www.w3.org/2000/svg\">\n <title>SIX</title>\n <g fill=\"#DE3919\" fill-rule=\"nonzero\">\n <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\" />\n <path d=\"m42.16.324h5.21v24.806h-5.21z\" />\n <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\" />\n </g>\n </svg>\n </section>\n );\n\n return (\n <Host>\n <header class=\"six-header\">\n <section class=\"six-header__menu\">\n <six-icon-button name={this.openHamburgerMenu ? 'menu_open' : 'menu'} ref={this.setupMenu} />\n </section>\n\n {logo}\n\n <section class=\"six-header__placeholder\" />\n\n <section class=\"six-header__custom\">\n <slot />\n </section>\n\n {search}\n\n {notifications}\n\n {appSwitcher}\n\n {profile}\n </header>\n\n <div\n class={{\n 'six-header__search-field': true,\n 'six-header__search-field--visible': this.selected(Section.Search),\n 'six-header__search-field--shift-content': this.shiftContent,\n }}\n >\n <slot name={Slot.Search} />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-header.js","mappings":"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","names":["SixHeader"],"sources":["./src/components/six-header/six-header.scss?tag=six-header&encapsulation=shadow","./src/components/six-header/six-header.tsx"],"sourcesContent":["@import 'src/global/component';\n\n$header-height: 3.75rem;\n$border-height: 0.25rem;\n\n:host {\n display: block;\n user-select: none;\n --search-border-width: 1px;\n}\n\n::slotted(six-search-field) {\n position: absolute;\n margin-left: var(--search-border-width);\n width: calc(100% - 2 * var(--search-border-width));\n}\n\n.six-header {\n display: flex;\n width: 100%;\n height: $header-height;\n background-color: var(--six-header-background-color);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: var(--six-shadow-x-large);\n border-bottom: var(--six-header-border-with) solid var(--six-header-border-color);\n\n &__logo {\n width: 6rem;\n margin-top: 0.15rem;\n\n &--clickable {\n cursor: pointer;\n }\n }\n\n &__placeholder {\n flex: 1;\n }\n\n &__menu,\n &__logo,\n &__custom,\n &__search,\n &__notification,\n &__app-switcher,\n &__profile {\n height: calc(100% - #{$border-height} - 1px);\n padding: 0 1.25rem;\n display: flex;\n align-items: center;\n border-bottom: solid $border-height transparent;\n\n &--open {\n border-bottom: solid $border-height var(--six-header-border-color-open);\n }\n }\n\n &__selected-app {\n cursor: pointer;\n font-size: 0.9rem;\n font-weight: 600;\n padding-right: 0;\n padding-left: 0.3rem;\n &:hover {\n color: var(--six-header-selected-app-color-hover);\n }\n }\n\n &__search-field {\n opacity: 0;\n transform: scale(0.9);\n transition: var(--six-transition-fast) opacity, var(--six-transition-fast) transform;\n display: none;\n\n &--visible {\n opacity: 1;\n transform: none;\n display: block;\n }\n\n &--shift-content.six-header__search-field--visible {\n height: 2.65rem;\n transition: var(--six-transition-fast) height;\n }\n\n &--shift-content:not(.six-header__search-field--visible) {\n height: 0;\n transition: var(--six-transition-fast) height;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { getSlot, hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\n\nexport interface SixHeaderAppSwitcherSelectPayload {\n selectedLabel: string;\n name: string;\n item: HTMLSixMenuItemElement;\n}\n\nexport interface SixHeaderProfileSelectPayload {\n selectedLabel: string;\n name: string;\n item: HTMLSixMenuItemElement;\n}\n\nexport interface SixHeaderSearchFieldToggle {\n visible: boolean;\n}\n\nenum Section {\n None,\n Search,\n AppSwitcher,\n Profile,\n}\n\nenum Slot {\n Search = 'search-field',\n Notifications = 'notifications',\n AppSwitcher = 'app-switcher-menu',\n Profile = 'profile-menu',\n Logo = 'logo',\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define a custom component that is included in the header.\n * @slot search-field - Used to define the search field component in the header.\n * @slot notifications - Used to define the notification component in the header.\n * @slot app-switcher-menu - Used to define the application switcher menu in the header.\n * @slot profile-menu - Used to define the profile menu in the header.\n * @slot profile-avatar - Used to define the avator in the header.\n */\n\n@Component({\n tag: 'six-header',\n styleUrl: 'six-header.scss',\n shadow: true,\n assetsDirs: ['assets'],\n})\nexport class SixHeader {\n /** Indicates if content should be shifted down when search field is visible. */\n @Prop() shiftContent = false;\n\n /** Set the hamburger menu icon to open or closed state */\n @Prop() openHamburgerMenu = false;\n\n /** Set the header search to be in an open or closed state */\n @Prop() openSearch = false;\n\n /** Set whether the logo should be clickable */\n @Prop() clickableLogo = false;\n\n @Watch('openSearch')\n handleOpenSearchChange() {\n this.computeSearchOpenState();\n }\n\n /** Sets open state for search */\n @Method()\n async setSearchOpenState(openState: boolean) {\n if (this.selectedSection === Section.Search && !openState) {\n this.selectedSection = Section.None;\n } else if (openState && this.selectedSection !== Section.Search) {\n this.selectedSection = Section.Search;\n }\n }\n\n /** Get open state for search */\n @Method()\n async getIsSearchOpen() {\n return this.selectedSection === Section.Search;\n }\n\n /** Emitted when the name of the selected app is clicked. */\n @Event({ eventName: 'six-header-app-name-clicked' }) sixAppNameClicked!: EventEmitter<EmptyPayload>;\n\n /** Emitted when a menu item is in the app switcher menu is selected. */\n @Event({ eventName: 'six-header-app-switcher-select' })\n sixAppSwitcherSelect!: EventEmitter<SixHeaderAppSwitcherSelectPayload>;\n\n /** Emitted when a menu item is in the profile menu is selected. */\n @Event({ eventName: 'six-header-profile-select' }) sixProfileSelect!: EventEmitter<SixHeaderProfileSelectPayload>;\n\n /** Emitted when the hamburger menu is clicked. */\n @Event({ eventName: 'six-header-hamburger-menu-clicked' }) sixHamburgerClick!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the header logo is clicked. */\n @Event({ eventName: 'six-header-logo-clicked' }) sixLogoClick!: EventEmitter<EmptyPayload>;\n\n /** Emitted when search field is toggled. */\n @Event({ eventName: 'six-header-search-field-toggle' })\n sixSearchFieldToggle!: EventEmitter<SixHeaderSearchFieldToggle>;\n\n @Element() host!: HTMLSixHeaderElement;\n\n private eventListeners = new EventListeners();\n\n private slots?: Record<Slot, boolean>;\n\n @State() selectedApp?: string;\n @State() selectedSection?: Section;\n\n private hasSlot(slot: Slot): boolean {\n if (this.slots == null) {\n return false;\n }\n return this.slots[slot];\n }\n\n private isSectionSelected(value: Section) {\n return value === this.selectedSection;\n }\n\n private selectSection(section: Section) {\n return () => (this.selectedSection = section);\n }\n\n private toggleSearch() {\n const visible = this.selectedSection !== Section.Search;\n this.selectedSection = this.selectedSection === Section.Search ? Section.None : Section.Search;\n this.sixSearchFieldToggle.emit({ visible });\n if (this.selectedSection === Section.Search) {\n // setFocus deferred due to https://github.com/ionic-team/stencil/issues/3772\n setTimeout(async () => {\n const slot = getSlot(this.host, Slot.Search);\n slot?.shadowRoot?.querySelector('six-input')?.setFocus();\n }, 50);\n }\n }\n\n private setupMenu = (el?: HTMLSixIconButtonElement) => {\n if (el == null) return;\n\n this.eventListeners.add(el, 'click', () => this.sixHamburgerClick.emit());\n };\n\n private setupLogo = (el?: HTMLElement) => {\n if (!this.clickableLogo || el == null) return;\n\n this.eventListeners.add(el, 'click', () => this.sixLogoClick.emit());\n };\n\n private setupProfile = (el?: HTMLSixDropdownElement) => {\n if (el == null) return;\n\n this.eventListeners.add(el, 'six-dropdown-show', this.selectSection(Section.Profile));\n this.eventListeners.add(el, 'six-dropdown-hide', this.selectSection(Section.None));\n this.eventListeners.add(el, 'six-menu-item-selected', (event: Event) => {\n const { name, item } = (event as CustomEvent).detail;\n this.sixProfileSelect.emit({ selectedLabel: item.innerText, name, item });\n });\n };\n\n private setupAppSwitcher = (el?: HTMLSixDropdownElement) => {\n if (el == null) return;\n\n this.eventListeners.add(el, 'six-dropdown-show', this.selectSection(Section.AppSwitcher));\n this.eventListeners.add(el, 'six-dropdown-hide', this.selectSection(Section.None));\n this.eventListeners.add(el, 'six-menu-item-selected', (event: Event) => {\n const { name, item } = (event as CustomEvent).detail;\n this.selectedApp = item.innerText;\n this.sixAppSwitcherSelect.emit({ selectedLabel: item.innerText, name, item });\n });\n };\n\n private appNameClicked = () => this.sixAppNameClicked.emit();\n\n private computeSearchOpenState = () => {\n this.selectedSection = this.openSearch ? Section.Search : Section.None;\n };\n\n componentWillLoad() {\n this.slots = {\n [Slot.Search]: hasSlot(this.host, Slot.Search),\n [Slot.Notifications]: hasSlot(this.host, Slot.Notifications),\n [Slot.AppSwitcher]: hasSlot(this.host, Slot.AppSwitcher),\n [Slot.Profile]: hasSlot(this.host, Slot.Profile),\n [Slot.Logo]: hasSlot(this.host, Slot.Logo),\n };\n\n if (this.hasSlot(Slot.AppSwitcher)) {\n this.selectedApp = this.getSelectedApp();\n }\n\n if (this.hasSlot(Slot.Search)) {\n this.computeSearchOpenState();\n }\n }\n\n private getSelectedApp(): string | undefined {\n // there are more concise ways to select the first checked menu item, but this is one that works for jest\n const element = getSlot(this.host, Slot.AppSwitcher);\n if (element == null) {\n return undefined;\n }\n const items = Array.from(element.querySelectorAll('six-menu-item'));\n const firstCheckedMenuItem = items.find((item: HTMLElement) => item.hasAttribute('checked'));\n return firstCheckedMenuItem?.textContent ?? undefined;\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n render() {\n const search = this.hasSlot(Slot.Search) && (\n <section\n class={{\n 'six-header__search': true,\n 'six-header__search--open': this.isSectionSelected(Section.Search),\n }}\n >\n <six-icon-button name=\"search\" onClick={() => this.toggleSearch()} data-testid=\"search-trigger\" />\n </section>\n );\n\n const notifications = this.hasSlot(Slot.Notifications) && (\n <section class=\"six-header__notification\">\n <slot name={Slot.Notifications} />\n </section>\n );\n\n const appSwitcher = this.hasSlot(Slot.AppSwitcher) && (\n <section\n class={{\n 'six-header__app-switcher': true,\n 'six-header__app-switcher--open': this.isSectionSelected(Section.AppSwitcher),\n }}\n >\n <a onClick={this.appNameClicked} class=\"six-header__selected-app\">\n {this.selectedApp}\n </a>\n <six-dropdown distance={13} skidding={20} placement=\"bottom-end\" ref={this.setupAppSwitcher}>\n <six-icon-button name=\"apps\" slot=\"trigger\" />\n <slot name={Slot.AppSwitcher} />\n </six-dropdown>\n </section>\n );\n\n const profile = this.hasSlot(Slot.Profile) && (\n <section\n class={{\n 'six-header__profile': true,\n 'six-header__profile--open': this.isSectionSelected(Section.Profile),\n }}\n >\n <six-dropdown distance={17} skidding={20} placement=\"bottom-end\" ref={this.setupProfile}>\n <slot name=\"profile-avatar\" slot=\"trigger\" />\n <slot name=\"profile-menu\" />\n </six-dropdown>\n </section>\n );\n\n const logo = this.hasSlot(Slot.Logo) ? (\n <section>\n <slot name=\"logo\" />\n </section>\n ) : (\n <section\n class={{\n 'six-header__logo': true,\n 'six-header__logo--clickable': this.clickableLogo,\n }}\n ref={this.setupLogo}\n >\n <svg height=\"20\" viewBox=\"0 0 90 26\" xmlns=\"http://www.w3.org/2000/svg\">\n <title>SIX</title>\n <g fill=\"#DE3919\" fill-rule=\"nonzero\">\n <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\" />\n <path d=\"m42.16.324h5.21v24.806h-5.21z\" />\n <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\" />\n </g>\n </svg>\n </section>\n );\n\n return (\n <Host>\n <header class=\"six-header\">\n <section class=\"six-header__menu\">\n <six-icon-button name={this.openHamburgerMenu ? 'menu_open' : 'menu'} ref={this.setupMenu} />\n </section>\n\n {logo}\n\n <section class=\"six-header__placeholder\" />\n\n <section class=\"six-header__custom\">\n <slot />\n </section>\n\n {search}\n\n {notifications}\n\n {appSwitcher}\n\n {profile}\n </header>\n\n <div\n class={{\n 'six-header__search-field': true,\n 'six-header__search-field--visible': this.isSectionSelected(Section.Search),\n 'six-header__search-field--shift-content': this.shiftContent,\n }}\n >\n <slot name={Slot.Search} />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -22,12 +22,12 @@ const SixIconButton = /*@__PURE__*/ proxyCustomElement(class SixIconButton exten
22
22
  this.html = undefined;
23
23
  }
24
24
  componentDidLoad() {
25
- if (this.button) {
25
+ if (this.button != null) {
26
26
  focusVisible.observe(this.button);
27
27
  }
28
28
  }
29
29
  disconnectedCallback() {
30
- if (this.button) {
30
+ if (this.button != null) {
31
31
  focusVisible.unobserve(this.button);
32
32
  }
33
33
  }