@six-group/ui-library 4.0.3 → 4.1.0

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 (1092) hide show
  1. package/dist/cjs/error-messages-6e8049a4.js +119 -0
  2. package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
  3. package/dist/cjs/event-listeners-9fb878f1.js +61 -0
  4. package/dist/cjs/event-listeners-9fb878f1.js.map +1 -0
  5. package/dist/cjs/{execution-control-b4707294.js → execution-control-d728da70.js} +15 -15
  6. package/dist/cjs/{execution-control-b4707294.js.map → execution-control-d728da70.js.map} +1 -1
  7. package/dist/cjs/focus-visible-e2c9255a.js +47 -0
  8. package/dist/cjs/{focus-visible-ae2470dd.js.map → focus-visible-e2c9255a.js.map} +1 -1
  9. package/dist/cjs/form-9ebaae7c.js +20 -0
  10. package/dist/cjs/{form-2df8c5bb.js.map → form-9ebaae7c.js.map} +1 -1
  11. package/dist/cjs/form-control-8d64e974.js +36 -0
  12. package/dist/cjs/form-control-8d64e974.js.map +1 -0
  13. package/dist/cjs/{index-900437fc.js → index-d7748d51.js} +418 -657
  14. package/dist/cjs/index-d7748d51.js.map +1 -0
  15. package/dist/cjs/index.cjs.js +55 -87
  16. package/dist/cjs/index.cjs.js.map +1 -1
  17. package/dist/cjs/loader.cjs.js +2 -2
  18. package/dist/cjs/modal-3ce015be.js +52 -0
  19. package/dist/cjs/modal-3ce015be.js.map +1 -0
  20. package/dist/cjs/{popover-2df7e154.js → popover-1e7c09f1.js} +99 -99
  21. package/dist/cjs/popover-1e7c09f1.js.map +1 -0
  22. package/dist/cjs/popup-e854acda.js +103 -0
  23. package/dist/cjs/popup-e854acda.js.map +1 -0
  24. package/dist/cjs/scroll-68033901.js +68 -0
  25. package/dist/cjs/{scroll-2c4200dc.js.map → scroll-68033901.js.map} +1 -1
  26. package/dist/cjs/six-alert.cjs.entry.js +142 -110
  27. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-avatar.cjs.entry.js +21 -21
  29. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-badge.cjs.entry.js +23 -23
  31. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-button.cjs.entry.js +95 -95
  33. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-card.cjs.entry.js +8 -8
  35. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-checkbox_2.cjs.entry.js +190 -0
  37. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
  38. package/dist/cjs/six-datepicker.cjs.entry.js +860 -834
  39. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-details.cjs.entry.js +127 -127
  41. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-dialog.cjs.entry.js +131 -129
  43. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-drawer.cjs.entry.js +147 -147
  45. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-dropdown_2.cjs.entry.js +709 -637
  47. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-error-page.cjs.entry.js +82 -82
  49. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-error.cjs.entry.js +7 -7
  51. package/dist/cjs/six-error.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-file-list-item.cjs.entry.js +34 -34
  53. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  54. package/dist/cjs/six-file-list.cjs.entry.js +7 -7
  55. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-file-upload.cjs.entry.js +99 -99
  57. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-footer.cjs.entry.js +8 -8
  59. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-group-label.cjs.entry.js +43 -43
  61. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-header.cjs.entry.js +171 -156
  63. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-icon-button.cjs.entry.js +32 -32
  65. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-icon.cjs.entry.js +22 -22
  67. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-input.cjs.entry.js +192 -190
  69. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-item-picker.cjs.entry.js +405 -309
  71. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-language-switcher.cjs.entry.js +46 -46
  73. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-layout-grid.cjs.entry.js +20 -20
  75. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-main-container.cjs.entry.js +9 -9
  77. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-menu-divider.cjs.entry.js +8 -8
  79. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-menu-label.cjs.entry.js +8 -8
  81. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-picto.cjs.entry.js +14 -14
  83. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-progress-bar.cjs.entry.js +15 -15
  85. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-progress-ring.cjs.entry.js +30 -30
  87. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-radio.cjs.entry.js +104 -104
  89. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-range.cjs.entry.js +180 -180
  91. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-root.cjs.entry.js +11 -30
  93. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-search-field.cjs.entry.js +44 -44
  95. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-select.cjs.entry.js +497 -366
  97. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +56 -46
  99. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-sidebar-item.cjs.entry.js +17 -15
  101. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar.cjs.entry.js +174 -174
  103. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-spinner.cjs.entry.js +15 -15
  105. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-stage-indicator.cjs.entry.js +22 -0
  107. package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
  108. package/dist/cjs/six-switch.cjs.entry.js +107 -107
  109. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  110. package/dist/cjs/six-tab-group.cjs.entry.js +215 -215
  111. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  112. package/dist/cjs/six-tab-panel.cjs.entry.js +14 -14
  113. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  114. package/dist/cjs/six-tab.cjs.entry.js +55 -55
  115. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  116. package/dist/cjs/six-tag.cjs.entry.js +53 -53
  117. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  118. package/dist/cjs/six-textarea.cjs.entry.js +181 -181
  119. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  120. package/dist/cjs/six-tile.cjs.entry.js +77 -77
  121. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  122. package/dist/cjs/six-timepicker.cjs.entry.js +349 -349
  123. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  124. package/dist/cjs/six-tooltip.cjs.entry.js +148 -148
  125. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  126. package/dist/cjs/slot-1b1232a1.js +51 -0
  127. package/dist/cjs/slot-1b1232a1.js.map +1 -0
  128. package/dist/cjs/types-d3da200b.js +19 -0
  129. package/dist/cjs/types-d3da200b.js.map +1 -0
  130. package/dist/cjs/ui-library.cjs.js +3 -3
  131. package/dist/cjs/ui-library.cjs.js.map +1 -1
  132. package/dist/collection/collection-manifest.json +5 -6
  133. package/dist/collection/components/six-alert/six-alert.css +5 -1
  134. package/dist/collection/components/six-alert/six-alert.js +382 -337
  135. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  136. package/dist/collection/components/six-alert/test/six-alert.spec.js +7 -7
  137. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -1
  138. package/dist/collection/components/six-avatar/six-avatar.css +2 -2
  139. package/dist/collection/components/six-avatar/six-avatar.js +111 -111
  140. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  141. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +7 -7
  142. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -1
  143. package/dist/collection/components/six-badge/six-badge.css +1 -1
  144. package/dist/collection/components/six-badge/six-badge.js +90 -90
  145. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  146. package/dist/collection/components/six-badge/test/six-badge.spec.js +7 -7
  147. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -1
  148. package/dist/collection/components/six-button/six-button.css +2 -1
  149. package/dist/collection/components/six-button/six-button.js +447 -446
  150. package/dist/collection/components/six-button/six-button.js.map +1 -1
  151. package/dist/collection/components/six-button/test/six-button.spec.js +44 -44
  152. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -1
  153. package/dist/collection/components/six-card/six-card.css +4 -5
  154. package/dist/collection/components/six-card/six-card.js +15 -15
  155. package/dist/collection/components/six-card/six-card.js.map +1 -1
  156. package/dist/collection/components/six-card/test/six-card.spec.js +7 -7
  157. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -1
  158. package/dist/collection/components/six-checkbox/six-checkbox.css +9 -1
  159. package/dist/collection/components/six-checkbox/six-checkbox.js +421 -420
  160. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  161. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +13 -13
  162. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -1
  163. package/dist/collection/components/six-datepicker/components/day-selection.js +8 -8
  164. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  165. package/dist/collection/components/six-datepicker/components/month-selection.js +8 -8
  166. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  167. package/dist/collection/components/six-datepicker/components/year-selection.js +8 -8
  168. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  169. package/dist/collection/components/six-datepicker/six-date-formats.js +21 -20
  170. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
  171. package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
  172. package/dist/collection/components/six-datepicker/six-datepicker.js +1052 -1050
  173. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  174. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +7 -7
  175. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -1
  176. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +14 -14
  177. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -1
  178. package/dist/collection/components/six-details/six-details.css +1 -5
  179. package/dist/collection/components/six-details/six-details.js +410 -410
  180. package/dist/collection/components/six-details/six-details.js.map +1 -1
  181. package/dist/collection/components/six-details/test/six-details.spec.js +7 -7
  182. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -1
  183. package/dist/collection/components/six-dialog/six-dialog.css +2 -2
  184. package/dist/collection/components/six-dialog/six-dialog.js +356 -354
  185. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  186. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +7 -7
  187. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -1
  188. package/dist/collection/components/six-drawer/six-drawer.css +2 -2
  189. package/dist/collection/components/six-drawer/six-drawer.js +409 -409
  190. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  191. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +8 -8
  192. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -1
  193. package/dist/collection/components/six-dropdown/six-dropdown.css +22 -7
  194. package/dist/collection/components/six-dropdown/six-dropdown.js +983 -891
  195. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  196. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +92 -67
  197. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -1
  198. package/dist/collection/components/six-error/six-error.js +15 -15
  199. package/dist/collection/components/six-error/six-error.js.map +1 -1
  200. package/dist/collection/components/six-error-page/six-error-page.js +177 -177
  201. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  202. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +77 -77
  203. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -1
  204. package/dist/collection/components/six-file-list/six-file-list.js +15 -15
  205. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  206. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +16 -16
  207. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -1
  208. package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
  209. package/dist/collection/components/six-file-list-item/six-file-list-item.js +195 -195
  210. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  211. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +42 -42
  212. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -1
  213. package/dist/collection/components/six-file-upload/six-file-upload.css +1 -4
  214. package/dist/collection/components/six-file-upload/six-file-upload.js +291 -291
  215. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  216. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +27 -27
  217. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -1
  218. package/dist/collection/components/six-footer/six-footer.css +2 -2
  219. package/dist/collection/components/six-footer/six-footer.js +15 -15
  220. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  221. package/dist/collection/components/six-footer/test/six-footer.spec.js +7 -7
  222. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -1
  223. package/dist/collection/components/six-group-label/six-group-label.css +4 -1
  224. package/dist/collection/components/six-group-label/six-group-label.js +155 -155
  225. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  226. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +12 -12
  227. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -1
  228. package/dist/collection/components/six-header/six-header.css +6 -2
  229. package/dist/collection/components/six-header/six-header.js +439 -405
  230. package/dist/collection/components/six-header/six-header.js.map +1 -1
  231. package/dist/collection/components/six-header/test/six-header.spec.js +77 -33
  232. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -1
  233. package/dist/collection/components/six-icon/six-icon.css +5 -2
  234. package/dist/collection/components/six-icon/six-icon.js +71 -71
  235. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  236. package/dist/collection/components/six-icon/test/six-icon.spec.js +7 -7
  237. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -1
  238. package/dist/collection/components/six-icon-button/six-icon-button.css +1 -1
  239. package/dist/collection/components/six-icon-button/six-icon-button.js +131 -131
  240. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  241. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +7 -7
  242. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -1
  243. package/dist/collection/components/six-input/six-input.css +13 -1
  244. package/dist/collection/components/six-input/six-input.js +967 -939
  245. package/dist/collection/components/six-input/six-input.js.map +1 -1
  246. package/dist/collection/components/six-input/test/six-input.spec.js +7 -7
  247. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -1
  248. package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
  249. package/dist/collection/components/six-item-picker/six-item-picker.js +727 -631
  250. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  251. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +82 -82
  252. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -1
  253. package/dist/collection/components/six-item-picker/types.js +9 -7
  254. package/dist/collection/components/six-item-picker/types.js.map +1 -1
  255. package/dist/collection/components/six-language-switcher/six-language-switcher.js +124 -124
  256. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  257. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +79 -79
  258. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -1
  259. package/dist/collection/components/six-layout-grid/six-layout-grid.js +54 -54
  260. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  261. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +7 -7
  262. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -1
  263. package/dist/collection/components/six-main-container/six-main-container.js +41 -41
  264. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  265. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +7 -7
  266. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -1
  267. package/dist/collection/components/six-menu/six-menu.css +8 -7
  268. package/dist/collection/components/six-menu/six-menu.js +388 -366
  269. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  270. package/dist/collection/components/six-menu/test/six-menu.spec.js +41 -41
  271. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
  272. package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
  273. package/dist/collection/components/six-menu-divider/six-menu-divider.js +15 -15
  274. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  275. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +7 -7
  276. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -1
  277. package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
  278. package/dist/collection/components/six-menu-item/six-menu-item.js +209 -180
  279. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  280. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +7 -7
  281. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -1
  282. package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
  283. package/dist/collection/components/six-menu-label/six-menu-label.js +15 -15
  284. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  285. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +7 -7
  286. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -1
  287. package/dist/collection/components/six-picto/six-picto.js +46 -46
  288. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  289. package/dist/collection/components/six-picto/test/six-picto.spec.js +13 -13
  290. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -1
  291. package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
  292. package/dist/collection/components/six-progress-bar/six-progress-bar.js +64 -64
  293. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  294. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +7 -7
  295. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -1
  296. package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
  297. package/dist/collection/components/six-progress-ring/six-progress-ring.js +100 -100
  298. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  299. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +7 -7
  300. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -1
  301. package/dist/collection/components/six-radio/six-radio.css +1 -1
  302. package/dist/collection/components/six-radio/six-radio.js +321 -320
  303. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  304. package/dist/collection/components/six-radio/test/six-radio.spec.js +13 -13
  305. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -1
  306. package/dist/collection/components/six-range/six-range.css +4 -1
  307. package/dist/collection/components/six-range/six-range.js +564 -563
  308. package/dist/collection/components/six-range/six-range.js.map +1 -1
  309. package/dist/collection/components/six-range/test/six-range.spec.js +8 -8
  310. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -1
  311. package/dist/collection/components/six-root/six-root.js +84 -152
  312. package/dist/collection/components/six-root/six-root.js.map +1 -1
  313. package/dist/collection/components/six-root/test/six-root.spec.js +7 -14
  314. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -1
  315. package/dist/collection/components/six-search-field/six-search-field.css +1 -1
  316. package/dist/collection/components/six-search-field/six-search-field.js +169 -169
  317. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  318. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +7 -7
  319. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -1
  320. package/dist/collection/components/six-select/six-select.css +57 -66
  321. package/dist/collection/components/six-select/six-select.js +1117 -942
  322. package/dist/collection/components/six-select/six-select.js.map +1 -1
  323. package/dist/collection/components/six-select/test/six-select.spec.js +45 -29
  324. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -1
  325. package/dist/collection/components/six-select/test/util.spec.js +73 -73
  326. package/dist/collection/components/six-select/test/util.spec.js.map +1 -1
  327. package/dist/collection/components/six-select/util.js +34 -34
  328. package/dist/collection/components/six-select/util.js.map +1 -1
  329. package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
  330. package/dist/collection/components/six-sidebar/six-sidebar.js +466 -464
  331. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  332. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +7 -7
  333. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -1
  334. package/dist/collection/components/six-sidebar-item/six-sidebar-item.css +6 -1
  335. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +101 -82
  336. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  337. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +19 -19
  338. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -1
  339. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +8 -1
  340. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +180 -153
  341. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  342. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +14 -14
  343. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -1
  344. package/dist/collection/components/six-spinner/six-spinner.css +1 -1
  345. package/dist/collection/components/six-spinner/six-spinner.js +47 -46
  346. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  347. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +14 -14
  348. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -1
  349. package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
  350. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +45 -45
  351. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  352. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +37 -37
  353. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -1
  354. package/dist/collection/components/six-switch/six-switch.css +4 -1
  355. package/dist/collection/components/six-switch/six-switch.js +384 -383
  356. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  357. package/dist/collection/components/six-switch/test/six-switch.spec.js +13 -13
  358. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -1
  359. package/dist/collection/components/six-tab/six-tab.css +1 -1
  360. package/dist/collection/components/six-tab/six-tab.js +206 -205
  361. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  362. package/dist/collection/components/six-tab-group/six-tab-group.css +1 -1
  363. package/dist/collection/components/six-tab-group/six-tab-group.js +317 -316
  364. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  365. package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
  366. package/dist/collection/components/six-tab-panel/six-tab-panel.js +63 -63
  367. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  368. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +7 -7
  369. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -1
  370. package/dist/collection/components/six-tag/six-tag.css +1 -1
  371. package/dist/collection/components/six-tag/six-tag.js +158 -158
  372. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  373. package/dist/collection/components/six-tag/test/six-tag.spec.js +19 -19
  374. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -1
  375. package/dist/collection/components/six-textarea/six-textarea.css +4 -1
  376. package/dist/collection/components/six-textarea/six-textarea.js +792 -784
  377. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  378. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +94 -94
  379. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -1
  380. package/dist/collection/components/six-tile/six-tile.css +2 -2
  381. package/dist/collection/components/six-tile/six-tile.js +298 -298
  382. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  383. package/dist/collection/components/six-tile/test/six-tile.spec.js +14 -14
  384. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -1
  385. package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
  386. package/dist/collection/components/six-timepicker/six-timepicker.js +823 -822
  387. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  388. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +155 -155
  389. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -1
  390. package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
  391. package/dist/collection/components/six-tooltip/six-tooltip.js +407 -407
  392. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  393. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +7 -7
  394. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -1
  395. package/dist/collection/functional-components/form-control/form-control.js +19 -19
  396. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  397. package/dist/collection/index.js +1 -0
  398. package/dist/collection/index.js.map +1 -1
  399. package/dist/collection/testUtil/delay.js +1 -1
  400. package/dist/collection/testUtil/delay.js.map +1 -1
  401. package/dist/collection/utils/alert.js +54 -0
  402. package/dist/collection/utils/alert.js.map +1 -0
  403. package/dist/collection/utils/animation.js +19 -19
  404. package/dist/collection/utils/animation.js.map +1 -1
  405. package/dist/collection/utils/date-util.js +525 -500
  406. package/dist/collection/utils/date-util.js.map +1 -1
  407. package/dist/collection/utils/date-util.spec.js +984 -984
  408. package/dist/collection/utils/date-util.spec.js.map +1 -1
  409. package/dist/collection/utils/error-messages.js +102 -81
  410. package/dist/collection/utils/error-messages.js.map +1 -1
  411. package/dist/collection/utils/event-listeners.js +51 -51
  412. package/dist/collection/utils/event-listeners.js.map +1 -1
  413. package/dist/collection/utils/execution-control.js +14 -14
  414. package/dist/collection/utils/execution-control.js.map +1 -1
  415. package/dist/collection/utils/focus-visible.js +28 -28
  416. package/dist/collection/utils/focus-visible.js.map +1 -1
  417. package/dist/collection/utils/form.js +12 -12
  418. package/dist/collection/utils/form.js.map +1 -1
  419. package/dist/collection/utils/modal.js +25 -25
  420. package/dist/collection/utils/modal.js.map +1 -1
  421. package/dist/collection/utils/offset.js +4 -4
  422. package/dist/collection/utils/offset.js.map +1 -1
  423. package/dist/collection/utils/popover.js +99 -99
  424. package/dist/collection/utils/popover.js.map +1 -1
  425. package/dist/collection/utils/popup.js +71 -71
  426. package/dist/collection/utils/popup.js.map +1 -1
  427. package/dist/collection/utils/scroll.js +27 -27
  428. package/dist/collection/utils/scroll.js.map +1 -1
  429. package/dist/collection/utils/scroll.spec.js +116 -116
  430. package/dist/collection/utils/scroll.spec.js.map +1 -1
  431. package/dist/collection/utils/slot.js +28 -29
  432. package/dist/collection/utils/slot.js.map +1 -1
  433. package/dist/collection/utils/support.js +10 -10
  434. package/dist/collection/utils/support.js.map +1 -1
  435. package/dist/collection/utils/tabbable.js +17 -17
  436. package/dist/collection/utils/tabbable.js.map +1 -1
  437. package/dist/collection/utils/time.util.js +72 -72
  438. package/dist/collection/utils/time.util.js.map +1 -1
  439. package/dist/collection/utils/time.util.spec.js +353 -353
  440. package/dist/collection/utils/time.util.spec.js.map +1 -1
  441. package/dist/components/event-listeners.js +51 -51
  442. package/dist/components/event-listeners.js.map +1 -1
  443. package/dist/components/execution-control.js +14 -14
  444. package/dist/components/execution-control.js.map +1 -1
  445. package/dist/components/focus-visible.js +28 -28
  446. package/dist/components/focus-visible.js.map +1 -1
  447. package/dist/components/form-control.js +26 -26
  448. package/dist/components/form-control.js.map +1 -1
  449. package/dist/components/form.js +12 -12
  450. package/dist/components/form.js.map +1 -1
  451. package/dist/components/index.d.ts +6 -0
  452. package/dist/components/index.js +112 -150
  453. package/dist/components/index.js.map +1 -1
  454. package/dist/components/modal.js +35 -35
  455. package/dist/components/modal.js.map +1 -1
  456. package/dist/components/popover.js +98 -98
  457. package/dist/components/popover.js.map +1 -1
  458. package/dist/components/scroll.js +31 -31
  459. package/dist/components/scroll.js.map +1 -1
  460. package/dist/components/six-alert.d.ts +2 -2
  461. package/dist/components/six-alert.js +177 -142
  462. package/dist/components/six-alert.js.map +1 -1
  463. package/dist/components/six-avatar.d.ts +2 -2
  464. package/dist/components/six-avatar.js +45 -45
  465. package/dist/components/six-avatar.js.map +1 -1
  466. package/dist/components/six-badge.d.ts +2 -2
  467. package/dist/components/six-badge.js +40 -40
  468. package/dist/components/six-badge.js.map +1 -1
  469. package/dist/components/six-button.d.ts +2 -2
  470. package/dist/components/six-button.js +1 -142
  471. package/dist/components/six-button.js.map +1 -1
  472. package/dist/components/six-button2.js +146 -0
  473. package/dist/components/six-button2.js.map +1 -0
  474. package/dist/components/six-card.d.ts +2 -2
  475. package/dist/components/six-card.js +21 -21
  476. package/dist/components/six-card.js.map +1 -1
  477. package/dist/components/six-checkbox.d.ts +2 -2
  478. package/dist/components/six-checkbox.js +1 -156
  479. package/dist/components/six-checkbox.js.map +1 -1
  480. package/dist/components/six-checkbox2.js +165 -0
  481. package/dist/components/six-checkbox2.js.map +1 -0
  482. package/dist/components/six-datepicker.d.ts +2 -2
  483. package/dist/components/six-datepicker.js +930 -901
  484. package/dist/components/six-datepicker.js.map +1 -1
  485. package/dist/components/six-details.d.ts +2 -2
  486. package/dist/components/six-details2.js +158 -156
  487. package/dist/components/six-details2.js.map +1 -1
  488. package/dist/components/six-dialog.d.ts +2 -2
  489. package/dist/components/six-dialog.js +161 -157
  490. package/dist/components/six-dialog.js.map +1 -1
  491. package/dist/components/six-drawer.d.ts +2 -2
  492. package/dist/components/six-drawer.js +179 -177
  493. package/dist/components/six-drawer.js.map +1 -1
  494. package/dist/components/six-dropdown.d.ts +2 -2
  495. package/dist/components/six-dropdown2.js +552 -469
  496. package/dist/components/six-dropdown2.js.map +1 -1
  497. package/dist/components/six-error-page.d.ts +2 -2
  498. package/dist/components/six-error-page.js +106 -106
  499. package/dist/components/six-error-page.js.map +1 -1
  500. package/dist/components/six-error.d.ts +2 -2
  501. package/dist/components/six-error2.js +20 -20
  502. package/dist/components/six-error2.js.map +1 -1
  503. package/dist/components/six-file-list-item.d.ts +2 -2
  504. package/dist/components/six-file-list-item.js +59 -59
  505. package/dist/components/six-file-list-item.js.map +1 -1
  506. package/dist/components/six-file-list.d.ts +2 -2
  507. package/dist/components/six-file-list.js +20 -20
  508. package/dist/components/six-file-list.js.map +1 -1
  509. package/dist/components/six-file-upload.d.ts +2 -2
  510. package/dist/components/six-file-upload.js +124 -124
  511. package/dist/components/six-file-upload.js.map +1 -1
  512. package/dist/components/six-footer.d.ts +2 -2
  513. package/dist/components/six-footer.js +21 -21
  514. package/dist/components/six-footer.js.map +1 -1
  515. package/dist/components/six-group-label.d.ts +2 -2
  516. package/dist/components/six-group-label.js +70 -67
  517. package/dist/components/six-group-label.js.map +1 -1
  518. package/dist/components/six-header.d.ts +2 -2
  519. package/dist/components/six-header.js +235 -211
  520. package/dist/components/six-header.js.map +1 -1
  521. package/dist/components/six-icon-button.d.ts +2 -2
  522. package/dist/components/six-icon-button2.js +55 -55
  523. package/dist/components/six-icon-button2.js.map +1 -1
  524. package/dist/components/six-icon.d.ts +2 -2
  525. package/dist/components/six-icon2.js +38 -38
  526. package/dist/components/six-icon2.js.map +1 -1
  527. package/dist/components/six-input.d.ts +2 -2
  528. package/dist/components/six-input2.js +257 -249
  529. package/dist/components/six-input2.js.map +1 -1
  530. package/dist/components/six-item-picker.d.ts +2 -2
  531. package/dist/components/six-item-picker2.js +450 -348
  532. package/dist/components/six-item-picker2.js.map +1 -1
  533. package/dist/components/six-language-switcher.d.ts +2 -2
  534. package/dist/components/six-language-switcher.js +64 -62
  535. package/dist/components/six-language-switcher.js.map +1 -1
  536. package/dist/components/six-layout-grid.d.ts +2 -2
  537. package/dist/components/six-layout-grid.js +37 -35
  538. package/dist/components/six-layout-grid.js.map +1 -1
  539. package/dist/components/six-main-container.d.ts +2 -2
  540. package/dist/components/six-main-container.js +24 -24
  541. package/dist/components/six-main-container.js.map +1 -1
  542. package/dist/components/six-menu-divider.d.ts +2 -2
  543. package/dist/components/six-menu-divider.js +21 -21
  544. package/dist/components/six-menu-divider.js.map +1 -1
  545. package/dist/components/six-menu-item.d.ts +2 -2
  546. package/dist/components/six-menu-item2.js +98 -75
  547. package/dist/components/six-menu-item2.js.map +1 -1
  548. package/dist/components/six-menu-label.d.ts +2 -2
  549. package/dist/components/six-menu-label.js +21 -21
  550. package/dist/components/six-menu-label.js.map +1 -1
  551. package/dist/components/six-menu.d.ts +2 -2
  552. package/dist/components/six-menu2.js +236 -220
  553. package/dist/components/six-menu2.js.map +1 -1
  554. package/dist/components/six-picto.d.ts +2 -2
  555. package/dist/components/six-picto2.js +29 -29
  556. package/dist/components/six-picto2.js.map +1 -1
  557. package/dist/components/six-progress-bar.d.ts +2 -2
  558. package/dist/components/six-progress-bar.js +31 -31
  559. package/dist/components/six-progress-bar.js.map +1 -1
  560. package/dist/components/six-progress-ring.d.ts +2 -2
  561. package/dist/components/six-progress-ring.js +49 -47
  562. package/dist/components/six-progress-ring.js.map +1 -1
  563. package/dist/components/six-radio.d.ts +2 -2
  564. package/dist/components/six-radio.js +128 -125
  565. package/dist/components/six-radio.js.map +1 -1
  566. package/dist/components/six-range.d.ts +2 -2
  567. package/dist/components/six-range.js +232 -225
  568. package/dist/components/six-range.js.map +1 -1
  569. package/dist/components/six-root.d.ts +2 -2
  570. package/dist/components/six-root.js +39 -66
  571. package/dist/components/six-root.js.map +1 -1
  572. package/dist/components/six-search-field.d.ts +2 -2
  573. package/dist/components/six-search-field.js +78 -76
  574. package/dist/components/six-search-field.js.map +1 -1
  575. package/dist/components/six-select.d.ts +2 -2
  576. package/dist/components/six-select.js +719 -462
  577. package/dist/components/six-select.js.map +1 -1
  578. package/dist/components/six-sidebar-item-group.d.ts +2 -2
  579. package/dist/components/six-sidebar-item-group.js +87 -76
  580. package/dist/components/six-sidebar-item-group.js.map +1 -1
  581. package/dist/components/six-sidebar-item.d.ts +2 -2
  582. package/dist/components/six-sidebar-item.js +35 -32
  583. package/dist/components/six-sidebar-item.js.map +1 -1
  584. package/dist/components/six-sidebar.d.ts +2 -2
  585. package/dist/components/six-sidebar.js +199 -197
  586. package/dist/components/six-sidebar.js.map +1 -1
  587. package/dist/components/six-spinner.d.ts +2 -2
  588. package/dist/components/six-spinner2.js +30 -30
  589. package/dist/components/six-spinner2.js.map +1 -1
  590. package/dist/components/six-stage-indicator.d.ts +2 -2
  591. package/dist/components/six-stage-indicator2.js +29 -29
  592. package/dist/components/six-stage-indicator2.js.map +1 -1
  593. package/dist/components/six-switch.d.ts +2 -2
  594. package/dist/components/six-switch.js +140 -136
  595. package/dist/components/six-switch.js.map +1 -1
  596. package/dist/components/six-tab-group.d.ts +2 -2
  597. package/dist/components/six-tab-group.js +244 -242
  598. package/dist/components/six-tab-group.js.map +1 -1
  599. package/dist/components/six-tab-panel.d.ts +2 -2
  600. package/dist/components/six-tab-panel.js +30 -30
  601. package/dist/components/six-tab-panel.js.map +1 -1
  602. package/dist/components/six-tab.d.ts +2 -2
  603. package/dist/components/six-tab.js +85 -85
  604. package/dist/components/six-tab.js.map +1 -1
  605. package/dist/components/six-tag.d.ts +2 -2
  606. package/dist/components/six-tag.js +98 -1
  607. package/dist/components/six-tag.js.map +1 -1
  608. package/dist/components/six-textarea.d.ts +2 -2
  609. package/dist/components/six-textarea.js +234 -228
  610. package/dist/components/six-textarea.js.map +1 -1
  611. package/dist/components/six-tile.d.ts +2 -2
  612. package/dist/components/six-tile.js +117 -117
  613. package/dist/components/six-tile.js.map +1 -1
  614. package/dist/components/six-timepicker.d.ts +2 -2
  615. package/dist/components/six-timepicker2.js +490 -488
  616. package/dist/components/six-timepicker2.js.map +1 -1
  617. package/dist/components/six-tooltip.d.ts +2 -2
  618. package/dist/components/six-tooltip2.js +172 -170
  619. package/dist/components/six-tooltip2.js.map +1 -1
  620. package/dist/components/slot.js +29 -30
  621. package/dist/components/slot.js.map +1 -1
  622. package/dist/components.d.ts +1 -21
  623. package/dist/components.json +653 -232
  624. package/dist/esm/error-messages-1eaaad23.js +115 -0
  625. package/dist/esm/error-messages-1eaaad23.js.map +1 -0
  626. package/dist/esm/event-listeners-706d4309.js +59 -0
  627. package/dist/esm/event-listeners-706d4309.js.map +1 -0
  628. package/dist/esm/{execution-control-e0892a05.js → execution-control-2ebaf4ef.js} +15 -15
  629. package/dist/esm/{execution-control-e0892a05.js.map → execution-control-2ebaf4ef.js.map} +1 -1
  630. package/dist/esm/focus-visible-d9dbfeef.js +45 -0
  631. package/dist/esm/{focus-visible-fc6ac671.js.map → focus-visible-d9dbfeef.js.map} +1 -1
  632. package/dist/esm/form-4b145b7a.js +18 -0
  633. package/dist/esm/{form-81252534.js.map → form-4b145b7a.js.map} +1 -1
  634. package/dist/esm/form-control-d403a9cf.js +34 -0
  635. package/dist/esm/form-control-d403a9cf.js.map +1 -0
  636. package/dist/esm/{index-8a74f992.js → index-79d4ef67.js} +418 -657
  637. package/dist/esm/index-79d4ef67.js.map +1 -0
  638. package/dist/esm/index.js +52 -87
  639. package/dist/esm/index.js.map +1 -1
  640. package/dist/esm/loader.js +3 -3
  641. package/dist/esm/modal-96526245.js +49 -0
  642. package/dist/esm/modal-96526245.js.map +1 -0
  643. package/dist/esm/{popover-136d1f73.js → popover-25996e62.js} +99 -99
  644. package/dist/esm/popover-25996e62.js.map +1 -0
  645. package/dist/esm/popup-7209e9d5.js +98 -0
  646. package/dist/esm/popup-7209e9d5.js.map +1 -0
  647. package/dist/esm/scroll-3e16851e.js +64 -0
  648. package/dist/esm/{scroll-774762d6.js.map → scroll-3e16851e.js.map} +1 -1
  649. package/dist/esm/six-alert.entry.js +142 -110
  650. package/dist/esm/six-alert.entry.js.map +1 -1
  651. package/dist/esm/six-avatar.entry.js +21 -21
  652. package/dist/esm/six-avatar.entry.js.map +1 -1
  653. package/dist/esm/six-badge.entry.js +23 -23
  654. package/dist/esm/six-badge.entry.js.map +1 -1
  655. package/dist/esm/six-button.entry.js +95 -95
  656. package/dist/esm/six-button.entry.js.map +1 -1
  657. package/dist/esm/six-card.entry.js +8 -8
  658. package/dist/esm/six-card.entry.js.map +1 -1
  659. package/dist/esm/six-checkbox_2.entry.js +185 -0
  660. package/dist/esm/six-checkbox_2.entry.js.map +1 -0
  661. package/dist/esm/six-datepicker.entry.js +860 -834
  662. package/dist/esm/six-datepicker.entry.js.map +1 -1
  663. package/dist/esm/six-details.entry.js +127 -127
  664. package/dist/esm/six-details.entry.js.map +1 -1
  665. package/dist/esm/six-dialog.entry.js +131 -129
  666. package/dist/esm/six-dialog.entry.js.map +1 -1
  667. package/dist/esm/six-drawer.entry.js +147 -147
  668. package/dist/esm/six-drawer.entry.js.map +1 -1
  669. package/dist/esm/six-dropdown_2.entry.js +709 -637
  670. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  671. package/dist/esm/six-error-page.entry.js +82 -82
  672. package/dist/esm/six-error-page.entry.js.map +1 -1
  673. package/dist/esm/six-error.entry.js +7 -7
  674. package/dist/esm/six-error.entry.js.map +1 -1
  675. package/dist/esm/six-file-list-item.entry.js +34 -34
  676. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  677. package/dist/esm/six-file-list.entry.js +7 -7
  678. package/dist/esm/six-file-list.entry.js.map +1 -1
  679. package/dist/esm/six-file-upload.entry.js +99 -99
  680. package/dist/esm/six-file-upload.entry.js.map +1 -1
  681. package/dist/esm/six-footer.entry.js +8 -8
  682. package/dist/esm/six-footer.entry.js.map +1 -1
  683. package/dist/esm/six-group-label.entry.js +43 -43
  684. package/dist/esm/six-group-label.entry.js.map +1 -1
  685. package/dist/esm/six-header.entry.js +171 -156
  686. package/dist/esm/six-header.entry.js.map +1 -1
  687. package/dist/esm/six-icon-button.entry.js +32 -32
  688. package/dist/esm/six-icon-button.entry.js.map +1 -1
  689. package/dist/esm/six-icon.entry.js +22 -22
  690. package/dist/esm/six-icon.entry.js.map +1 -1
  691. package/dist/esm/six-input.entry.js +192 -190
  692. package/dist/esm/six-input.entry.js.map +1 -1
  693. package/dist/esm/six-item-picker.entry.js +405 -309
  694. package/dist/esm/six-item-picker.entry.js.map +1 -1
  695. package/dist/esm/six-language-switcher.entry.js +46 -46
  696. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  697. package/dist/esm/six-layout-grid.entry.js +20 -20
  698. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  699. package/dist/esm/six-main-container.entry.js +9 -9
  700. package/dist/esm/six-main-container.entry.js.map +1 -1
  701. package/dist/esm/six-menu-divider.entry.js +8 -8
  702. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  703. package/dist/esm/six-menu-label.entry.js +8 -8
  704. package/dist/esm/six-menu-label.entry.js.map +1 -1
  705. package/dist/esm/six-picto.entry.js +14 -14
  706. package/dist/esm/six-picto.entry.js.map +1 -1
  707. package/dist/esm/six-progress-bar.entry.js +15 -15
  708. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  709. package/dist/esm/six-progress-ring.entry.js +30 -30
  710. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  711. package/dist/esm/six-radio.entry.js +104 -104
  712. package/dist/esm/six-radio.entry.js.map +1 -1
  713. package/dist/esm/six-range.entry.js +180 -180
  714. package/dist/esm/six-range.entry.js.map +1 -1
  715. package/dist/esm/six-root.entry.js +11 -30
  716. package/dist/esm/six-root.entry.js.map +1 -1
  717. package/dist/esm/six-search-field.entry.js +44 -44
  718. package/dist/esm/six-search-field.entry.js.map +1 -1
  719. package/dist/esm/six-select.entry.js +497 -366
  720. package/dist/esm/six-select.entry.js.map +1 -1
  721. package/dist/esm/six-sidebar-item-group.entry.js +56 -46
  722. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  723. package/dist/esm/six-sidebar-item.entry.js +17 -15
  724. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  725. package/dist/esm/six-sidebar.entry.js +174 -174
  726. package/dist/esm/six-sidebar.entry.js.map +1 -1
  727. package/dist/esm/six-spinner.entry.js +15 -15
  728. package/dist/esm/six-spinner.entry.js.map +1 -1
  729. package/dist/esm/six-stage-indicator.entry.js +18 -0
  730. package/dist/esm/six-stage-indicator.entry.js.map +1 -0
  731. package/dist/esm/six-switch.entry.js +107 -107
  732. package/dist/esm/six-switch.entry.js.map +1 -1
  733. package/dist/esm/six-tab-group.entry.js +215 -215
  734. package/dist/esm/six-tab-group.entry.js.map +1 -1
  735. package/dist/esm/six-tab-panel.entry.js +14 -14
  736. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  737. package/dist/esm/six-tab.entry.js +55 -55
  738. package/dist/esm/six-tab.entry.js.map +1 -1
  739. package/dist/esm/six-tag.entry.js +53 -53
  740. package/dist/esm/six-tag.entry.js.map +1 -1
  741. package/dist/esm/six-textarea.entry.js +181 -181
  742. package/dist/esm/six-textarea.entry.js.map +1 -1
  743. package/dist/esm/six-tile.entry.js +77 -77
  744. package/dist/esm/six-tile.entry.js.map +1 -1
  745. package/dist/esm/six-timepicker.entry.js +349 -349
  746. package/dist/esm/six-timepicker.entry.js.map +1 -1
  747. package/dist/esm/six-tooltip.entry.js +148 -148
  748. package/dist/esm/six-tooltip.entry.js.map +1 -1
  749. package/dist/esm/slot-56531341.js +47 -0
  750. package/dist/esm/slot-56531341.js.map +1 -0
  751. package/dist/esm/types-a07bb999.js +19 -0
  752. package/dist/esm/types-a07bb999.js.map +1 -0
  753. package/dist/esm/ui-library.js +4 -4
  754. package/dist/esm/ui-library.js.map +1 -1
  755. package/dist/types/components/six-alert/six-alert.d.ts +47 -40
  756. package/dist/types/components/six-avatar/six-avatar.d.ts +11 -11
  757. package/dist/types/components/six-badge/six-badge.d.ts +7 -7
  758. package/dist/types/components/six-button/six-button.d.ts +48 -48
  759. package/dist/types/components/six-card/six-card.d.ts +1 -1
  760. package/dist/types/components/six-checkbox/six-checkbox.d.ts +58 -58
  761. package/dist/types/components/six-datepicker/components/day-selection.d.ts +3 -3
  762. package/dist/types/components/six-datepicker/components/month-selection.d.ts +3 -3
  763. package/dist/types/components/six-datepicker/components/year-selection.d.ts +3 -3
  764. package/dist/types/components/six-datepicker/six-date-formats.d.ts +20 -20
  765. package/dist/types/components/six-datepicker/six-datepicker.d.ts +187 -187
  766. package/dist/types/components/six-details/six-details.d.ts +42 -42
  767. package/dist/types/components/six-dialog/six-dialog.d.ts +51 -50
  768. package/dist/types/components/six-drawer/six-drawer.d.ts +58 -58
  769. package/dist/types/components/six-dropdown/six-dropdown.d.ts +131 -112
  770. package/dist/types/components/six-error/six-error.d.ts +1 -1
  771. package/dist/types/components/six-error-page/six-error-page.d.ts +25 -25
  772. package/dist/types/components/six-file-list/six-file-list.d.ts +1 -1
  773. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +23 -23
  774. package/dist/types/components/six-file-upload/six-file-upload.d.ts +33 -33
  775. package/dist/types/components/six-footer/six-footer.d.ts +1 -1
  776. package/dist/types/components/six-group-label/six-group-label.d.ts +22 -22
  777. package/dist/types/components/six-header/six-header.d.ts +59 -55
  778. package/dist/types/components/six-icon/six-icon.d.ts +5 -5
  779. package/dist/types/components/six-icon-button/six-icon-button.d.ts +18 -18
  780. package/dist/types/components/six-input/six-input.d.ts +109 -105
  781. package/dist/types/components/six-item-picker/six-item-picker.d.ts +95 -88
  782. package/dist/types/components/six-item-picker/types.d.ts +7 -7
  783. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +15 -15
  784. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +6 -6
  785. package/dist/types/components/six-main-container/six-main-container.d.ts +4 -4
  786. package/dist/types/components/six-menu/six-menu.d.ts +67 -63
  787. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +1 -1
  788. package/dist/types/components/six-menu-item/six-menu-item.d.ts +27 -21
  789. package/dist/types/components/six-menu-label/six-menu-label.d.ts +1 -1
  790. package/dist/types/components/six-picto/six-picto.d.ts +6 -6
  791. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +5 -5
  792. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +11 -11
  793. package/dist/types/components/six-radio/six-radio.d.ts +38 -38
  794. package/dist/types/components/six-range/six-range.d.ts +75 -75
  795. package/dist/types/components/six-root/six-root.d.ts +8 -21
  796. package/dist/types/components/six-search-field/six-search-field.d.ts +20 -20
  797. package/dist/types/components/six-select/six-select.d.ts +137 -122
  798. package/dist/types/components/six-select/util.d.ts +1 -1
  799. package/dist/types/components/six-sidebar/six-sidebar.d.ts +45 -45
  800. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +12 -7
  801. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +25 -19
  802. package/dist/types/components/six-spinner/six-spinner.d.ts +6 -5
  803. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +3 -3
  804. package/dist/types/components/six-switch/six-switch.d.ts +48 -48
  805. package/dist/types/components/six-tab/six-tab.d.ts +20 -20
  806. package/dist/types/components/six-tab-group/six-tab-group.d.ts +35 -35
  807. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +7 -7
  808. package/dist/types/components/six-tag/six-tag.d.ts +20 -20
  809. package/dist/types/components/six-textarea/six-textarea.d.ts +89 -89
  810. package/dist/types/components/six-tile/six-tile.d.ts +31 -31
  811. package/dist/types/components/six-timepicker/six-timepicker.d.ts +152 -152
  812. package/dist/types/components/six-tooltip/six-tooltip.d.ts +55 -55
  813. package/dist/types/components.d.ts +456 -48
  814. package/dist/types/functional-components/form-control/form-control.d.ts +32 -32
  815. package/dist/types/index.d.ts +1 -0
  816. package/dist/types/stencil-public-runtime.d.ts +34 -3
  817. package/dist/types/types.d.ts +1 -0
  818. package/dist/types/utils/alert.d.ts +10 -0
  819. package/dist/types/utils/date-util.d.ts +58 -50
  820. package/dist/types/utils/error-messages.d.ts +27 -25
  821. package/dist/types/utils/event-listeners.d.ts +11 -11
  822. package/dist/types/utils/focus-visible.d.ts +2 -2
  823. package/dist/types/utils/modal.d.ts +8 -8
  824. package/dist/types/utils/offset.d.ts +2 -2
  825. package/dist/types/utils/popover.d.ts +21 -21
  826. package/dist/types/utils/slot.d.ts +0 -1
  827. package/dist/types/utils/time.util.d.ts +6 -6
  828. package/dist/types/utils/types.d.ts +1 -1
  829. package/dist/ui-library/index.esm.js +1 -1
  830. package/dist/ui-library/index.esm.js.map +1 -1
  831. package/dist/ui-library/p-0440335d.entry.js +2 -0
  832. package/dist/ui-library/{p-dc4f41d8.entry.js.map → p-0440335d.entry.js.map} +1 -1
  833. package/dist/ui-library/p-04cc397c.entry.js +2 -0
  834. package/dist/ui-library/{p-a0f290d0.entry.js.map → p-04cc397c.entry.js.map} +1 -1
  835. package/dist/ui-library/{p-5654e4c7.js → p-06ba4450.js} +1 -1
  836. package/dist/ui-library/p-0cebf1d2.js +2 -0
  837. package/dist/ui-library/p-0cebf1d2.js.map +1 -0
  838. package/dist/ui-library/p-0edd3091.entry.js +2 -0
  839. package/dist/ui-library/{p-b6f47c9d.entry.js.map → p-0edd3091.entry.js.map} +1 -1
  840. package/dist/ui-library/p-150b7664.entry.js +2 -0
  841. package/dist/ui-library/{p-66fe54b3.entry.js.map → p-150b7664.entry.js.map} +1 -1
  842. package/dist/ui-library/p-1f5840b5.entry.js +2 -0
  843. package/dist/ui-library/p-1f5840b5.entry.js.map +1 -0
  844. package/dist/ui-library/p-28cc013e.entry.js +2 -0
  845. package/dist/ui-library/p-28cc013e.entry.js.map +1 -0
  846. package/dist/ui-library/p-3424bbc0.entry.js +2 -0
  847. package/dist/ui-library/p-3424bbc0.entry.js.map +1 -0
  848. package/dist/ui-library/p-348c68a8.entry.js +2 -0
  849. package/dist/ui-library/p-348c68a8.entry.js.map +1 -0
  850. package/dist/ui-library/p-3723ca06.entry.js +2 -0
  851. package/dist/ui-library/p-3723ca06.entry.js.map +1 -0
  852. package/dist/ui-library/p-37aeac5e.entry.js +2 -0
  853. package/dist/ui-library/{p-22c9b8c3.entry.js.map → p-37aeac5e.entry.js.map} +1 -1
  854. package/dist/ui-library/p-3d7fb086.entry.js +2 -0
  855. package/dist/ui-library/p-3d7fb086.entry.js.map +1 -0
  856. package/dist/ui-library/{p-5af44076.entry.js → p-457f7373.entry.js} +2 -2
  857. package/dist/ui-library/{p-5af44076.entry.js.map → p-457f7373.entry.js.map} +1 -1
  858. package/dist/ui-library/p-4a667f31.entry.js +2 -0
  859. package/dist/ui-library/p-4a667f31.entry.js.map +1 -0
  860. package/dist/ui-library/p-50dae789.entry.js +2 -0
  861. package/dist/ui-library/{p-4435ff73.entry.js.map → p-50dae789.entry.js.map} +1 -1
  862. package/dist/ui-library/{p-b351f889.entry.js → p-546e33d9.entry.js} +2 -2
  863. package/dist/ui-library/{p-ac099e6b.entry.js → p-5db3a705.entry.js} +2 -2
  864. package/dist/ui-library/{p-ac099e6b.entry.js.map → p-5db3a705.entry.js.map} +1 -1
  865. package/dist/ui-library/{p-e5020f0d.js → p-61e66671.js} +2 -2
  866. package/dist/ui-library/p-6296779b.entry.js +2 -0
  867. package/dist/ui-library/p-6296779b.entry.js.map +1 -0
  868. package/dist/ui-library/p-64b4755d.entry.js +2 -0
  869. package/dist/ui-library/{p-ee950ce2.entry.js.map → p-64b4755d.entry.js.map} +1 -1
  870. package/dist/ui-library/p-6c1b046e.entry.js +2 -0
  871. package/dist/ui-library/p-6c1b046e.entry.js.map +1 -0
  872. package/dist/ui-library/p-7115316e.entry.js +2 -0
  873. package/dist/ui-library/p-7115316e.entry.js.map +1 -0
  874. package/dist/ui-library/p-73dd493f.entry.js +2 -0
  875. package/dist/ui-library/p-73dd493f.entry.js.map +1 -0
  876. package/dist/ui-library/{p-0fdb185d.js → p-7f856f00.js} +1 -1
  877. package/dist/ui-library/{p-052aa8d3.js → p-8227aaed.js} +1 -1
  878. package/dist/ui-library/{p-8c0971e0.js → p-842b492e.js} +1 -1
  879. package/dist/ui-library/{p-0f510624.js → p-862d474e.js} +1 -1
  880. package/dist/ui-library/p-862d474e.js.map +1 -0
  881. package/dist/ui-library/p-870b988d.entry.js +2 -0
  882. package/dist/ui-library/{p-3f1a5ecb.entry.js.map → p-870b988d.entry.js.map} +1 -1
  883. package/dist/ui-library/{p-13b43e04.entry.js → p-884c5cf9.entry.js} +2 -2
  884. package/dist/ui-library/p-8888a367.entry.js +2 -0
  885. package/dist/ui-library/{p-878226a0.entry.js.map → p-8888a367.entry.js.map} +1 -1
  886. package/dist/ui-library/{p-7d95def3.js → p-8bfb4bfc.js} +1 -1
  887. package/dist/ui-library/p-8ced18d8.entry.js +2 -0
  888. package/dist/ui-library/p-8ced18d8.entry.js.map +1 -0
  889. package/dist/ui-library/{p-dfed33c5.entry.js → p-935c78a7.entry.js} +2 -2
  890. package/dist/ui-library/p-961bd001.entry.js +2 -0
  891. package/dist/ui-library/{p-db34a6cc.entry.js.map → p-961bd001.entry.js.map} +1 -1
  892. package/dist/ui-library/{p-9ace84c7.js → p-998de05d.js} +1 -1
  893. package/dist/ui-library/p-9b08068d.entry.js +2 -0
  894. package/dist/ui-library/p-9b08068d.entry.js.map +1 -0
  895. package/dist/ui-library/p-9c79341d.entry.js +2 -0
  896. package/dist/ui-library/{p-3cc5addb.entry.js.map → p-9c79341d.entry.js.map} +1 -1
  897. package/dist/ui-library/{p-698bb2c8.js → p-a1502802.js} +1 -1
  898. package/dist/ui-library/{p-91b51800.entry.js → p-a9c159f2.entry.js} +2 -2
  899. package/dist/ui-library/p-ac57ba5c.entry.js +2 -0
  900. package/dist/ui-library/{p-a6a9ee96.entry.js.map → p-ac57ba5c.entry.js.map} +1 -1
  901. package/dist/ui-library/p-af15381b.js +3 -0
  902. package/dist/ui-library/p-af15381b.js.map +1 -0
  903. package/dist/ui-library/p-b1a5f3cd.entry.js +2 -0
  904. package/dist/ui-library/p-b1a5f3cd.entry.js.map +1 -0
  905. package/dist/ui-library/p-b385a241.entry.js +2 -0
  906. package/dist/ui-library/{p-cd67da3d.entry.js.map → p-b385a241.entry.js.map} +1 -1
  907. package/dist/ui-library/p-b74c5d6b.entry.js +2 -0
  908. package/dist/ui-library/p-b74c5d6b.entry.js.map +1 -0
  909. package/dist/ui-library/p-bf2fb53f.entry.js +2 -0
  910. package/dist/ui-library/p-bf2fb53f.entry.js.map +1 -0
  911. package/dist/ui-library/p-c2c7370b.entry.js +2 -0
  912. package/dist/ui-library/{p-f1dc3a88.entry.js.map → p-c2c7370b.entry.js.map} +1 -1
  913. package/dist/ui-library/p-caea1eb6.entry.js +2 -0
  914. package/dist/ui-library/{p-7e3ad38a.entry.js.map → p-caea1eb6.entry.js.map} +1 -1
  915. package/dist/ui-library/{p-25bb1752.entry.js → p-d3f5b9a8.entry.js} +2 -2
  916. package/dist/ui-library/p-d42b18eb.entry.js +2 -0
  917. package/dist/ui-library/{p-264d4ea8.entry.js.map → p-d42b18eb.entry.js.map} +1 -1
  918. package/dist/ui-library/p-d95e292e.entry.js +2 -0
  919. package/dist/ui-library/{p-db936ad7.entry.js.map → p-d95e292e.entry.js.map} +1 -1
  920. package/dist/ui-library/p-da7f3dbd.entry.js +2 -0
  921. package/dist/ui-library/p-da7f3dbd.entry.js.map +1 -0
  922. package/dist/ui-library/p-dfb89b6a.entry.js +2 -0
  923. package/dist/ui-library/p-dfb89b6a.entry.js.map +1 -0
  924. package/dist/ui-library/p-e080d5b6.js +2 -0
  925. package/dist/ui-library/p-e080d5b6.js.map +1 -0
  926. package/dist/ui-library/p-e6032375.entry.js +2 -0
  927. package/dist/ui-library/p-e6032375.entry.js.map +1 -0
  928. package/dist/ui-library/p-e60d2324.entry.js +2 -0
  929. package/dist/ui-library/p-e60d2324.entry.js.map +1 -0
  930. package/dist/ui-library/p-e8298c6e.entry.js +2 -0
  931. package/dist/ui-library/{p-a457fee8.entry.js.map → p-e8298c6e.entry.js.map} +1 -1
  932. package/dist/ui-library/p-ed279165.entry.js +2 -0
  933. package/dist/ui-library/p-ed279165.entry.js.map +1 -0
  934. package/dist/ui-library/p-ed61b75c.entry.js +2 -0
  935. package/dist/ui-library/p-ed61b75c.entry.js.map +1 -0
  936. package/dist/ui-library/p-f136a6b2.js +2 -0
  937. package/dist/ui-library/p-f136a6b2.js.map +1 -0
  938. package/dist/ui-library/p-f1ab3384.entry.js +2 -0
  939. package/dist/ui-library/{p-37557787.entry.js.map → p-f1ab3384.entry.js.map} +1 -1
  940. package/dist/ui-library/p-f4ef481c.entry.js +2 -0
  941. package/dist/ui-library/p-f4ef481c.entry.js.map +1 -0
  942. package/dist/ui-library/{p-9b354f5d.entry.js → p-f8cbb8da.entry.js} +2 -2
  943. package/dist/ui-library/ui-library.css +1 -10
  944. package/dist/ui-library/ui-library.esm.js +1 -1
  945. package/dist/ui-library/ui-library.esm.js.map +1 -1
  946. package/package.json +16 -17
  947. package/dist/cjs/event-listeners-fdfe838c.js +0 -61
  948. package/dist/cjs/event-listeners-fdfe838c.js.map +0 -1
  949. package/dist/cjs/focus-visible-ae2470dd.js +0 -47
  950. package/dist/cjs/form-2df8c5bb.js +0 -20
  951. package/dist/cjs/form-control-9769b310.js +0 -36
  952. package/dist/cjs/form-control-9769b310.js.map +0 -1
  953. package/dist/cjs/index-900437fc.js.map +0 -1
  954. package/dist/cjs/modal-d5f074c7.js +0 -52
  955. package/dist/cjs/modal-d5f074c7.js.map +0 -1
  956. package/dist/cjs/popover-2df7e154.js.map +0 -1
  957. package/dist/cjs/popup-f1d9910f.js +0 -103
  958. package/dist/cjs/popup-f1d9910f.js.map +0 -1
  959. package/dist/cjs/scroll-2c4200dc.js +0 -68
  960. package/dist/cjs/set-attributes_2.cjs.entry.js +0 -73
  961. package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
  962. package/dist/cjs/six-checkbox.cjs.entry.js +0 -127
  963. package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
  964. package/dist/cjs/six-menu-item.cjs.entry.js +0 -63
  965. package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
  966. package/dist/cjs/slot-6e6a400f.js +0 -53
  967. package/dist/cjs/slot-6e6a400f.js.map +0 -1
  968. package/dist/cjs/types-47199040.js +0 -17
  969. package/dist/cjs/types-47199040.js.map +0 -1
  970. package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -74
  971. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
  972. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +0 -16
  973. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +0 -1
  974. package/dist/components/set-attributes.d.ts +0 -11
  975. package/dist/components/set-attributes.js +0 -8
  976. package/dist/components/set-attributes.js.map +0 -1
  977. package/dist/components/set-attributes2.js +0 -71
  978. package/dist/components/set-attributes2.js.map +0 -1
  979. package/dist/components/six-tag2.js +0 -102
  980. package/dist/components/six-tag2.js.map +0 -1
  981. package/dist/esm/event-listeners-f6e5b0ab.js +0 -59
  982. package/dist/esm/event-listeners-f6e5b0ab.js.map +0 -1
  983. package/dist/esm/focus-visible-fc6ac671.js +0 -45
  984. package/dist/esm/form-81252534.js +0 -18
  985. package/dist/esm/form-control-b0febe88.js +0 -34
  986. package/dist/esm/form-control-b0febe88.js.map +0 -1
  987. package/dist/esm/index-8a74f992.js.map +0 -1
  988. package/dist/esm/modal-7d32e141.js +0 -49
  989. package/dist/esm/modal-7d32e141.js.map +0 -1
  990. package/dist/esm/popover-136d1f73.js.map +0 -1
  991. package/dist/esm/popup-7f89a001.js +0 -98
  992. package/dist/esm/popup-7f89a001.js.map +0 -1
  993. package/dist/esm/scroll-774762d6.js +0 -64
  994. package/dist/esm/set-attributes_2.entry.js +0 -68
  995. package/dist/esm/set-attributes_2.entry.js.map +0 -1
  996. package/dist/esm/six-checkbox.entry.js +0 -123
  997. package/dist/esm/six-checkbox.entry.js.map +0 -1
  998. package/dist/esm/six-menu-item.entry.js +0 -59
  999. package/dist/esm/six-menu-item.entry.js.map +0 -1
  1000. package/dist/esm/slot-ad36df3a.js +0 -48
  1001. package/dist/esm/slot-ad36df3a.js.map +0 -1
  1002. package/dist/esm/types-59b455aa.js +0 -17
  1003. package/dist/esm/types-59b455aa.js.map +0 -1
  1004. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
  1005. package/dist/ui-library/p-0f510624.js.map +0 -1
  1006. package/dist/ui-library/p-14c1ec31.entry.js +0 -2
  1007. package/dist/ui-library/p-14c1ec31.entry.js.map +0 -1
  1008. package/dist/ui-library/p-15559d38.js +0 -2
  1009. package/dist/ui-library/p-15559d38.js.map +0 -1
  1010. package/dist/ui-library/p-1d5ee1a0.entry.js +0 -2
  1011. package/dist/ui-library/p-1d5ee1a0.entry.js.map +0 -1
  1012. package/dist/ui-library/p-22c9b8c3.entry.js +0 -2
  1013. package/dist/ui-library/p-264d4ea8.entry.js +0 -2
  1014. package/dist/ui-library/p-346f9557.entry.js +0 -2
  1015. package/dist/ui-library/p-346f9557.entry.js.map +0 -1
  1016. package/dist/ui-library/p-37557787.entry.js +0 -2
  1017. package/dist/ui-library/p-3cc5addb.entry.js +0 -2
  1018. package/dist/ui-library/p-3f1a5ecb.entry.js +0 -2
  1019. package/dist/ui-library/p-411ed539.entry.js +0 -2
  1020. package/dist/ui-library/p-411ed539.entry.js.map +0 -1
  1021. package/dist/ui-library/p-4435ff73.entry.js +0 -2
  1022. package/dist/ui-library/p-538f3c50.entry.js +0 -2
  1023. package/dist/ui-library/p-538f3c50.entry.js.map +0 -1
  1024. package/dist/ui-library/p-5800663b.entry.js +0 -2
  1025. package/dist/ui-library/p-5800663b.entry.js.map +0 -1
  1026. package/dist/ui-library/p-59210f0b.js +0 -2
  1027. package/dist/ui-library/p-59210f0b.js.map +0 -1
  1028. package/dist/ui-library/p-5ba3a0fe.entry.js +0 -2
  1029. package/dist/ui-library/p-5ba3a0fe.entry.js.map +0 -1
  1030. package/dist/ui-library/p-613283a7.entry.js +0 -2
  1031. package/dist/ui-library/p-613283a7.entry.js.map +0 -1
  1032. package/dist/ui-library/p-6153045b.js +0 -3
  1033. package/dist/ui-library/p-6153045b.js.map +0 -1
  1034. package/dist/ui-library/p-6197fe2f.entry.js +0 -2
  1035. package/dist/ui-library/p-6197fe2f.entry.js.map +0 -1
  1036. package/dist/ui-library/p-658d9f79.entry.js +0 -2
  1037. package/dist/ui-library/p-658d9f79.entry.js.map +0 -1
  1038. package/dist/ui-library/p-66fe54b3.entry.js +0 -2
  1039. package/dist/ui-library/p-724875b0.entry.js +0 -2
  1040. package/dist/ui-library/p-724875b0.entry.js.map +0 -1
  1041. package/dist/ui-library/p-7afafb9d.entry.js +0 -2
  1042. package/dist/ui-library/p-7afafb9d.entry.js.map +0 -1
  1043. package/dist/ui-library/p-7e3ad38a.entry.js +0 -2
  1044. package/dist/ui-library/p-878226a0.entry.js +0 -2
  1045. package/dist/ui-library/p-95fbdd0b.entry.js +0 -2
  1046. package/dist/ui-library/p-95fbdd0b.entry.js.map +0 -1
  1047. package/dist/ui-library/p-9c1be3fb.entry.js +0 -2
  1048. package/dist/ui-library/p-9c1be3fb.entry.js.map +0 -1
  1049. package/dist/ui-library/p-a0f290d0.entry.js +0 -2
  1050. package/dist/ui-library/p-a2035543.entry.js +0 -2
  1051. package/dist/ui-library/p-a2035543.entry.js.map +0 -1
  1052. package/dist/ui-library/p-a457fee8.entry.js +0 -2
  1053. package/dist/ui-library/p-a55c7258.entry.js +0 -2
  1054. package/dist/ui-library/p-a55c7258.entry.js.map +0 -1
  1055. package/dist/ui-library/p-a6a9ee96.entry.js +0 -2
  1056. package/dist/ui-library/p-ab91c2a9.entry.js +0 -2
  1057. package/dist/ui-library/p-ab91c2a9.entry.js.map +0 -1
  1058. package/dist/ui-library/p-ae601a0f.entry.js +0 -2
  1059. package/dist/ui-library/p-ae601a0f.entry.js.map +0 -1
  1060. package/dist/ui-library/p-b57afbe4.entry.js +0 -2
  1061. package/dist/ui-library/p-b57afbe4.entry.js.map +0 -1
  1062. package/dist/ui-library/p-b6f47c9d.entry.js +0 -2
  1063. package/dist/ui-library/p-c03ebf7d.entry.js +0 -2
  1064. package/dist/ui-library/p-c03ebf7d.entry.js.map +0 -1
  1065. package/dist/ui-library/p-cba69e9d.entry.js +0 -2
  1066. package/dist/ui-library/p-cba69e9d.entry.js.map +0 -1
  1067. package/dist/ui-library/p-cd67da3d.entry.js +0 -2
  1068. package/dist/ui-library/p-cdaed936.entry.js +0 -2
  1069. package/dist/ui-library/p-cdaed936.entry.js.map +0 -1
  1070. package/dist/ui-library/p-d1bda563.entry.js +0 -2
  1071. package/dist/ui-library/p-d1bda563.entry.js.map +0 -1
  1072. package/dist/ui-library/p-db34a6cc.entry.js +0 -2
  1073. package/dist/ui-library/p-db936ad7.entry.js +0 -2
  1074. package/dist/ui-library/p-dc4f41d8.entry.js +0 -2
  1075. package/dist/ui-library/p-e775dcb4.entry.js +0 -2
  1076. package/dist/ui-library/p-e775dcb4.entry.js.map +0 -1
  1077. package/dist/ui-library/p-ee950ce2.entry.js +0 -2
  1078. package/dist/ui-library/p-f1dc3a88.entry.js +0 -2
  1079. /package/dist/ui-library/{p-5654e4c7.js.map → p-06ba4450.js.map} +0 -0
  1080. /package/dist/ui-library/{p-b351f889.entry.js.map → p-546e33d9.entry.js.map} +0 -0
  1081. /package/dist/ui-library/{p-e5020f0d.js.map → p-61e66671.js.map} +0 -0
  1082. /package/dist/ui-library/{p-0fdb185d.js.map → p-7f856f00.js.map} +0 -0
  1083. /package/dist/ui-library/{p-052aa8d3.js.map → p-8227aaed.js.map} +0 -0
  1084. /package/dist/ui-library/{p-8c0971e0.js.map → p-842b492e.js.map} +0 -0
  1085. /package/dist/ui-library/{p-13b43e04.entry.js.map → p-884c5cf9.entry.js.map} +0 -0
  1086. /package/dist/ui-library/{p-7d95def3.js.map → p-8bfb4bfc.js.map} +0 -0
  1087. /package/dist/ui-library/{p-dfed33c5.entry.js.map → p-935c78a7.entry.js.map} +0 -0
  1088. /package/dist/ui-library/{p-9ace84c7.js.map → p-998de05d.js.map} +0 -0
  1089. /package/dist/ui-library/{p-698bb2c8.js.map → p-a1502802.js.map} +0 -0
  1090. /package/dist/ui-library/{p-91b51800.entry.js.map → p-a9c159f2.entry.js.map} +0 -0
  1091. /package/dist/ui-library/{p-25bb1752.entry.js.map → p-d3f5b9a8.entry.js.map} +0 -0
  1092. /package/dist/ui-library/{p-9b354f5d.entry.js.map → p-f8cbb8da.entry.js.map} +0 -0
@@ -2,666 +2,738 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-900437fc.js');
6
- const popover = require('./popover-2df7e154.js');
7
- const eventListeners = require('./event-listeners-fdfe838c.js');
8
- const slot = require('./slot-6e6a400f.js');
9
- const executionControl = require('./execution-control-b4707294.js');
5
+ const index = require('./index-d7748d51.js');
6
+ const popover = require('./popover-1e7c09f1.js');
7
+ const eventListeners = require('./event-listeners-9fb878f1.js');
8
+ const executionControl = require('./execution-control-d728da70.js');
9
+ const slot = require('./slot-1b1232a1.js');
10
10
 
11
11
  function isTabbable(el) {
12
- const tabIndex = el.tabIndex;
13
- return tabIndex > -1;
12
+ const tabIndex = el.tabIndex;
13
+ return tabIndex > -1;
14
14
  }
15
15
  function getNearestTabbableElement(el) {
16
- // Check the element
17
- if (isTabbable(el)) {
18
- return el;
19
- }
20
- // Check the element's shadow root
21
- if (el.shadowRoot != null) {
22
- const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e));
23
- if (tabbableShadowChild != null) {
24
- return tabbableShadowChild;
25
- }
26
- }
27
- // Check the element's children
28
- if (el.children != null) {
29
- return [...el.children].map((e) => getNearestTabbableElement(e)).at(0);
30
- }
31
- return undefined;
16
+ // Check the element
17
+ if (isTabbable(el)) {
18
+ return el;
19
+ }
20
+ // Check the element's shadow root
21
+ if (el.shadowRoot != null) {
22
+ const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e));
23
+ if (tabbableShadowChild != null) {
24
+ return tabbableShadowChild;
25
+ }
26
+ }
27
+ // Check the element's children
28
+ if (el.children != null) {
29
+ return [...el.children].map((e) => getNearestTabbableElement(e)).at(0);
30
+ }
31
+ return undefined;
32
32
  }
33
33
 
34
- const sixDropdownCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--six-z-index-dropdown)}.dropdown__positioner__filtered{width:100%}.dropdown__panel{max-height:50vh;font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);color:var(--color);background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);box-shadow:var(--six-elevation-2dp);opacity:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;scrollbar-width:thin}.filter-hidden{display:none}.dropdown__positioner[data-popper-placement^=top] .dropdown__panel{transform-origin:bottom}.dropdown__positioner[data-popper-placement^=bottom] .dropdown__panel{transform-origin:top}.dropdown__positioner[data-popper-placement^=left] .dropdown__panel{transform-origin:right}.dropdown__positioner[data-popper-placement^=right] .dropdown__panel{transform-origin:left}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:none;pointer-events:all}";
34
+ const sixDropdownCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--six-z-index-dropdown)}.dropdown__positioner__filtered{width:100%}.dropdown__panel{font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);color:var(--color);background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);border:1px solid var(--six-color-web-rock-300);box-shadow:var(--six-shadow-small);opacity:0;pointer-events:none;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;max-width:90vw}.dropdown__panel__scroll{max-height:18.75rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none}.dropdown__panel__scroll--virtual{overflow-y:hidden;overflow-x:hidden}.filter-hidden{display:none}.dropdown__positioner[data-popper-placement^=top] .dropdown__panel{transform-origin:bottom}.dropdown__positioner[data-popper-placement^=bottom] .dropdown__panel{transform-origin:top}.dropdown__positioner[data-popper-placement^=left] .dropdown__panel{transform-origin:right}.dropdown__positioner[data-popper-placement^=right] .dropdown__panel{transform-origin:left}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:none;pointer-events:all}.filter{border-bottom:1px solid var(--six-color-web-rock-300)}.filter__icon{color:var(--six-color-web-rock-600)}";
35
35
 
36
- const isTagName = (name) => (el) => (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === name.toLowerCase();
37
- const isSixMenu = isTagName('six-menu');
38
- const isSixMenuItem = isTagName('six-menu-item');
39
36
  let id = 0;
40
37
  const SixDropdown = class {
41
- constructor(hostRef) {
42
- index.registerInstance(this, hostRef);
43
- this.sixShow = index.createEvent(this, "six-dropdown-show", 7);
44
- this.sixAfterShow = index.createEvent(this, "six-dropdown-after-show", 7);
45
- this.sixHide = index.createEvent(this, "six-dropdown-hide", 7);
46
- this.sixAfterHide = index.createEvent(this, "six-dropdown-after-hide", 7);
47
- this.sixAutoFilter = index.createEvent(this, "six-dropdown-auto-filter-fired", 7);
48
- this.sixAsyncFilterFired = index.createEvent(this, "six-async-filter-fired", 7);
49
- this.sixScroll = index.createEvent(this, "six-dropdown-scroll", 7);
50
- this.componentId = `dropdown-${++id}`;
51
- this.isVisible = false;
52
- this.hasBeenInitialized = false;
53
- this.eventListeners = new eventListeners.EventListeners();
54
- this.getMenuItems = () => {
55
- if (this.filteredOptions.length > 0) {
56
- return this.filteredOptions.map((option) => index.h("six-menu-item", { value: option.value }, option.label));
57
- }
58
- if (this.panel == null)
59
- return [];
60
- const [panel] = slot.getSlotChildren(this.panel);
61
- // the menu-items can be in a slot e.g. in six-select or direct children of the panel
62
- return slot.getSlotChildren(panel) || Array.from(panel.querySelectorAll('six-menu-item'));
63
- };
64
- this.handleFilterInputChange = () => {
65
- var _a, _b;
66
- if (this.filterInputElement == null)
67
- return;
68
- const lowerCaseFilterTerm = ((_b = (_a = this.filterInputElement.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.trim()) || '';
69
- if (this.filteredOptions.length > 0) {
70
- this.handleFilteringForAttributeItems(lowerCaseFilterTerm);
71
- }
72
- else {
73
- this.handleFilteringForSlotItems(lowerCaseFilterTerm);
74
- }
75
- this.sixAutoFilter.emit({ filterValue: lowerCaseFilterTerm });
76
- };
77
- this.handleDocumentKeyDown = (event) => {
78
- var _a;
79
- const keyboardEvent = event;
80
- // Close when escape is pressed
81
- if (keyboardEvent.key === 'Escape') {
82
- void this.hide();
83
- this.focusOnTrigger();
84
- return;
85
- }
86
- if (this.filterInputElement === ((_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement)) {
87
- if (keyboardEvent.key === 'ArrowDown') {
88
- const item = this.getMenuItems().find((item) => item.style.display !== 'none');
89
- if (item != null) {
90
- item.setFocus();
91
- }
92
- }
93
- }
94
- // Handle tabbing
95
- if (keyboardEvent.key === 'Tab') {
96
- // Tabbing within an open menu should close the dropdown and refocus the trigger
97
- if (this.open && document.activeElement != null && isSixMenuItem(document.activeElement)) {
98
- keyboardEvent.preventDefault();
99
- void this.hide();
100
- this.focusOnTrigger();
101
- return;
102
- }
103
- // Tabbing outside the containing element closes the panel
104
- //
105
- // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,
106
- // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.
107
- setTimeout(() => {
108
- var _a, _b;
109
- const activeElement = this.container.getRootNode() instanceof ShadowRoot
110
- ? (_b = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.activeElement
111
- : document.activeElement;
112
- if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.closest(this.container.tagName.toLowerCase())) !== this.container) {
113
- void this.hide();
38
+ constructor(hostRef) {
39
+ index.registerInstance(this, hostRef);
40
+ this.sixShow = index.createEvent(this, "six-dropdown-show", 7);
41
+ this.sixAfterShow = index.createEvent(this, "six-dropdown-after-show", 7);
42
+ this.sixHide = index.createEvent(this, "six-dropdown-hide", 7);
43
+ this.sixAfterHide = index.createEvent(this, "six-dropdown-after-hide", 7);
44
+ this.sixAutoFilter = index.createEvent(this, "six-dropdown-auto-filter-fired", 7);
45
+ this.sixAsyncFilterFired = index.createEvent(this, "six-async-filter-fired", 7);
46
+ this.sixScroll = index.createEvent(this, "six-dropdown-scroll", 7);
47
+ this.componentId = `dropdown-${++id}`;
48
+ this.isVisible = false;
49
+ this.resizeObserver = new ResizeObserver(executionControl.debounce(() => this.updatePanelPosition(), 100));
50
+ this.eventListeners = new eventListeners.EventListeners();
51
+ this.getMenuItems = () => {
52
+ var _a, _b, _c, _d;
53
+ if (this.options.length > 0) {
54
+ return {
55
+ sixMenuItems: this.renderedOptions.map((option) => (index.h("six-menu-item", { value: option.value }, option.label))),
56
+ selectionContainerItems: [],
57
+ };
58
+ }
59
+ if (this.panel == null)
60
+ return { sixMenuItems: [], selectionContainerItems: [] };
61
+ // Relies on the implementation of six-select. Its dropdown slot contains two elements,
62
+ // one for the selected menu items, and one for the other items.
63
+ const selectionContainer = (_a = this.panelSlot) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true }).filter(isSelectionContainer).at(0);
64
+ const sixMenuElement = (_b = this.panelSlot) === null || _b === void 0 ? void 0 : _b.assignedElements({ flatten: true }).filter(isSixMenu).at(0);
65
+ const selectionContainerItems = (selectionContainer === null || selectionContainer === void 0 ? void 0 : selectionContainer.querySelectorAll('six-menu-item')) || [];
66
+ let sixMenuItems = ((_c = sixMenuElement === null || sixMenuElement === void 0 ? void 0 : sixMenuElement.querySelector('slot')) === null || _c === void 0 ? void 0 : _c.assignedElements().filter((el) => isSixMenuItem(el))) || [];
67
+ if (sixMenuItems.length === 0) {
68
+ sixMenuItems = Array.from(((_d = sixMenuElement === null || sixMenuElement === void 0 ? void 0 : sixMenuElement.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelectorAll('six-menu-item')) || []);
69
+ }
70
+ if (selectionContainerItems.length > 0 || sixMenuItems.length > 0) {
71
+ return { sixMenuItems, selectionContainerItems: [...selectionContainerItems] };
72
+ }
73
+ else {
74
+ return {
75
+ sixMenuItems: sixMenuElement ? Array.from(sixMenuElement.querySelectorAll('six-menu-item')) : [],
76
+ selectionContainerItems: [],
77
+ };
78
+ }
79
+ };
80
+ this.handleDocumentKeyDown = (event) => {
81
+ var _a;
82
+ const keyboardEvent = event;
83
+ // Close when escape is pressed
84
+ if (keyboardEvent.key === 'Escape') {
85
+ void this.hide();
86
+ this.focusOnTrigger();
87
+ return;
88
+ }
89
+ if (this.filterInputElement === ((_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement)) {
90
+ if (keyboardEvent.key === 'ArrowDown') {
91
+ const { sixMenuItems, selectionContainerItems } = this.getMenuItems();
92
+ const item = [...selectionContainerItems, ...sixMenuItems].find((item) => item.style.display !== 'none');
93
+ if (item != null) {
94
+ item.setFocus();
95
+ }
96
+ }
97
+ }
98
+ // Handle tabbing
99
+ if (keyboardEvent.key === 'Tab') {
100
+ // Tabbing within an open menu should close the dropdown and refocus the trigger
101
+ if (this.open && document.activeElement != null && isSixMenuItem(document.activeElement)) {
102
+ keyboardEvent.preventDefault();
103
+ void this.hide();
104
+ this.focusOnTrigger();
105
+ return;
106
+ }
107
+ // Tabbing outside the containing element closes the panel
108
+ //
109
+ // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,
110
+ // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.
111
+ setTimeout(() => {
112
+ var _a, _b;
113
+ const activeElement = this.container.getRootNode() instanceof ShadowRoot
114
+ ? (_b = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.activeElement
115
+ : document.activeElement;
116
+ if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.closest(this.container.tagName.toLowerCase())) !== this.container) {
117
+ void this.hide();
118
+ return;
119
+ }
120
+ });
121
+ }
122
+ };
123
+ this.handleDocumentMouseDown = (event) => {
124
+ // Close when clicking outside the containing element
125
+ const path = event.composedPath();
126
+ if (!path.includes(this.container)) {
127
+ void this.hide();
128
+ return;
129
+ }
130
+ };
131
+ this.handlePanelSelect = (event) => {
132
+ const target = event.target;
133
+ // Hide the dropdown when a menu item is selected
134
+ if (this.closeOnSelect && isSixMenu(target)) {
135
+ void this.hide();
136
+ this.focusOnTrigger();
137
+ }
138
+ };
139
+ this.handleTriggerClick = () => {
140
+ this.open ? this.hide() : this.show();
141
+ };
142
+ this.handleTriggerKeyDown = (event) => {
143
+ // Close when escape or tab is pressed
144
+ if (event.key === 'Escape') {
145
+ this.focusOnTrigger();
146
+ void this.hide();
147
+ return;
148
+ }
149
+ // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same
150
+ // key again to hide the menu in case they don't want to make a selection.
151
+ if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {
152
+ event.preventDefault();
153
+ this.open ? void this.hide() : void this.show();
154
+ return;
155
+ }
156
+ const menu = this.getMenu();
157
+ // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a
158
+ // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for
159
+ // faster navigation.
160
+ if (['ArrowDown', 'ArrowUp'].includes(event.key)) {
161
+ event.preventDefault();
162
+ // Show the menu if it's not already open
163
+ if (!this.open) {
164
+ void this.show();
165
+ }
166
+ if (menu == null) {
167
+ return;
168
+ }
169
+ const menuItems = [...menu.querySelectorAll('six-menu-item')];
170
+ const firstMenuItem = menuItems.at(0);
171
+ const lastMenuItem = menuItems.at(menuItems.length - 1);
172
+ // Focus on a menu item
173
+ if (event.key === 'ArrowDown' && firstMenuItem != null) {
174
+ firstMenuItem.setFocus();
175
+ return;
176
+ }
177
+ if (event.key === 'ArrowUp' && lastMenuItem != null) {
178
+ lastMenuItem.setFocus();
179
+ return;
180
+ }
181
+ }
182
+ // Other keys bring focus to the menu and initiate type-to-select behavior
183
+ const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];
184
+ if (this.open && menu != null && !ignoredKeys.includes(event.key)) {
185
+ void menu.typeToSelect(event.key);
186
+ return;
187
+ }
188
+ };
189
+ this.handleTriggerKeyUp = (event) => {
190
+ // Prevent space from triggering a click event in Firefox
191
+ if (event.key === ' ') {
192
+ event.preventDefault();
193
+ }
194
+ };
195
+ this.handleTriggerSlotChange = () => {
196
+ this.updateAccessibleTrigger();
197
+ };
198
+ this.handleDropdownScroll = () => {
199
+ if (this.scrollPanel == null)
200
+ return;
201
+ this.sixScroll.emit({
202
+ scrollHeight: this.scrollPanel.scrollHeight,
203
+ scrollTop: this.scrollPanel.scrollTop,
204
+ scrollbarHeight: this.scrollPanel.offsetHeight * (this.scrollPanel.offsetHeight / this.scrollPanel.scrollHeight),
205
+ scrollRatio: this.scrollPanel.scrollTop / (this.scrollPanel.scrollHeight - this.scrollPanel.clientHeight),
206
+ });
207
+ };
208
+ this.open = false;
209
+ this.placement = 'bottom-start';
210
+ this.closeOnSelect = true;
211
+ this.distance = 4;
212
+ this.skidding = 0;
213
+ this.hoist = false;
214
+ this.containingElement = undefined;
215
+ this.filter = false;
216
+ this.asyncFilter = false;
217
+ this.filterPlaceholder = 'Filter...';
218
+ this.autofocusFilter = true;
219
+ this.filterDebounce = 0;
220
+ this.disableHideOnEnterAndSpace = false;
221
+ this.options = [];
222
+ this.virtualScroll = false;
223
+ this.matchTriggerWidth = false;
224
+ this.renderedOptions = [];
225
+ }
226
+ get filterEnabled() {
227
+ return this.filter || this.asyncFilter;
228
+ }
229
+ get container() {
230
+ return this.containingElement || this.host;
231
+ }
232
+ handleOpenChange() {
233
+ this.open ? this.show() : this.hide();
234
+ this.updateAccessibleTrigger();
235
+ }
236
+ handlePopoverOptionsChange() {
237
+ if (this.popover == null)
114
238
  return;
115
- }
239
+ this.popover.setOptions({
240
+ strategy: this.hoist ? 'fixed' : 'absolute',
241
+ placement: this.placement,
242
+ distance: this.distance,
243
+ skidding: this.skidding,
116
244
  });
117
- }
118
- };
119
- this.handleDocumentMouseDown = (event) => {
120
- // Close when clicking outside the containing element
121
- const path = event.composedPath();
122
- if (!path.includes(this.container)) {
123
- void this.hide();
124
- return;
125
- }
126
- };
127
- this.handlePanelSelect = (event) => {
128
- const target = event.target;
129
- // Hide the dropdown when a menu item is selected
130
- if (this.closeOnSelect && isSixMenu(target)) {
131
- void this.hide();
132
- this.focusOnTrigger();
133
- }
134
- };
135
- this.handleTriggerClick = () => {
136
- this.open ? this.hide() : this.show();
137
- };
138
- this.handleTriggerKeyDown = (event) => {
139
- // Close when escape or tab is pressed
140
- if (event.key === 'Escape') {
141
- this.focusOnTrigger();
245
+ }
246
+ handleOptionsChange() {
247
+ this.validateOptions();
248
+ }
249
+ validateOptions() {
250
+ if (!Array.isArray(this.options)) {
251
+ this.options = [];
252
+ }
253
+ if (this.virtualScroll && this.options.length === 0) {
254
+ console.error('Options must be defined when using virtual scrolling');
255
+ }
256
+ this.renderedOptions = [...this.options];
257
+ }
258
+ componentWillLoad() {
259
+ this.validateOptions();
260
+ if (this.asyncFilter) {
261
+ this.filterDebounce = executionControl.DEFAULT_DEBOUNCE_FAST;
262
+ }
263
+ }
264
+ componentDidLoad() {
265
+ this.init();
266
+ if (this.open) {
267
+ void this.show();
268
+ }
269
+ }
270
+ connectedCallback() {
271
+ this.init();
272
+ }
273
+ init() {
274
+ this.initPopover();
275
+ // listen to filter
276
+ const filterInputElement = this.filterInputElement;
277
+ if (filterInputElement != null) {
278
+ this.eventListeners.add(filterInputElement, 'six-input-input', executionControl.debounce(() => {
279
+ var _a;
280
+ const filterValue = (_a = filterInputElement.value) !== null && _a !== void 0 ? _a : '';
281
+ if (this.filter) {
282
+ this.applyFilter(filterValue);
283
+ }
284
+ this.emitFilterEvents(filterValue);
285
+ }, this.filterDebounce));
286
+ }
287
+ }
288
+ applyFilter(filterTerm) {
289
+ var _a;
290
+ const lowerCaseFilterTerm = ((_a = filterTerm.toLowerCase()) === null || _a === void 0 ? void 0 : _a.trim()) || '';
291
+ if (this.options.length > 0) {
292
+ this.renderedOptions = this.options.filter((option) => {
293
+ var _a, _b, _c, _d;
294
+ return (option.label && ((_b = (_a = String(option.label)) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes(lowerCaseFilterTerm))) ||
295
+ (option.value && ((_d = (_c = String(option.value)) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === null || _d === void 0 ? void 0 : _d.includes(lowerCaseFilterTerm)));
296
+ });
297
+ }
298
+ else {
299
+ const { selectionContainerItems, sixMenuItems } = this.getMenuItems();
300
+ const selectionContainerValues = selectionContainerItems.map((s) => s.value);
301
+ // Filter items in selection container
302
+ selectionContainerItems.forEach(async (menuItem) => {
303
+ menuItem.style.display = (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) ? 'unset' : 'none';
304
+ });
305
+ // Filter other items. Always hide items which contained in the selection container.
306
+ sixMenuItems.forEach(async (menuItem) => {
307
+ menuItem.style.display =
308
+ (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) &&
309
+ !selectionContainerValues.includes(menuItem.value)
310
+ ? 'unset'
311
+ : 'none';
312
+ });
313
+ }
314
+ }
315
+ resetFilter() {
316
+ if (this.filterInputElement != null) {
317
+ this.filterInputElement.value = '';
318
+ this.emitFilterEvents('');
319
+ }
320
+ if (this.options.length > 0) {
321
+ this.renderedOptions = [...this.options];
322
+ }
323
+ else {
324
+ const { selectionContainerItems, sixMenuItems } = this.getMenuItems();
325
+ [...selectionContainerItems, ...sixMenuItems].forEach((item) => (item.style.display = 'unset'));
326
+ }
327
+ }
328
+ emitFilterEvents(filterValue) {
329
+ if (this.filter) {
330
+ this.sixAutoFilter.emit({ filterValue });
331
+ }
332
+ else if (this.asyncFilter) {
333
+ this.sixAsyncFilterFired.emit({ filterValue });
334
+ }
335
+ }
336
+ initPopover() {
337
+ if (this.trigger == null || this.positioner == null)
338
+ return;
339
+ this.popover = new popover.Popover(this.trigger, this.positioner, {
340
+ strategy: this.hoist ? 'fixed' : 'absolute',
341
+ placement: this.placement,
342
+ distance: this.distance,
343
+ skidding: this.skidding,
344
+ transitionElement: this.panel,
345
+ onAfterHide: () => {
346
+ if (this.filterEnabled) {
347
+ this.resetFilter();
348
+ }
349
+ this.sixAfterHide.emit();
350
+ },
351
+ onAfterShow: async () => {
352
+ this.sixAfterShow.emit();
353
+ },
354
+ onTransitionEnd: () => {
355
+ if (!this.open && this.scrollPanel != null) {
356
+ this.scrollPanel.scrollTop = 0;
357
+ }
358
+ },
359
+ });
360
+ }
361
+ disconnectedCallback() {
362
+ var _a;
363
+ this.resizeObserver.disconnect();
364
+ this.eventListeners.removeAll();
142
365
  void this.hide();
143
- return;
144
- }
145
- // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same
146
- // key again to hide the menu in case they don't want to make a selection.
147
- if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {
148
- event.preventDefault();
149
- this.open ? void this.hide() : void this.show();
150
- return;
151
- }
152
- const menu = this.getMenu();
153
- // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a
154
- // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for
155
- // faster navigation.
156
- if (['ArrowDown', 'ArrowUp'].includes(event.key)) {
157
- event.preventDefault();
158
- // Show the menu if it's not already open
366
+ (_a = this.popover) === null || _a === void 0 ? void 0 : _a.destroy();
367
+ this.popover = undefined;
368
+ }
369
+ /** Shows the dropdown panel */
370
+ async show() {
371
+ // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
372
+ if (this.isVisible || this.popover == null || this.panel == null) {
373
+ return;
374
+ }
375
+ const sixShow = this.sixShow.emit();
376
+ if (sixShow.defaultPrevented) {
377
+ this.open = false;
378
+ return;
379
+ }
380
+ this.eventListeners.add(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
381
+ this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);
382
+ this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);
383
+ this.isVisible = true;
384
+ this.open = true;
385
+ if (this.trigger != null) {
386
+ this.resizeObserver.observe(this.trigger);
387
+ }
388
+ this.updatePanelPosition();
389
+ this.popover.show();
390
+ if (this.filterEnabled && this.autofocusFilter) {
391
+ requestAnimationFrame(() => {
392
+ var _a;
393
+ (_a = this.filterInputElement) === null || _a === void 0 ? void 0 : _a.setFocus();
394
+ });
395
+ }
396
+ }
397
+ /**
398
+ * Set min width of dropdown panel to the width of the trigger element
399
+ */
400
+ updatePanelPosition() {
159
401
  if (!this.open) {
160
- void this.show();
161
- }
162
- if (menu == null) {
163
- return;
164
- }
165
- const menuItems = [...menu.querySelectorAll('six-menu-item')];
166
- const firstMenuItem = menuItems.at(0);
167
- const lastMenuItem = menuItems.at(menuItems.length - 1);
168
- // Focus on a menu item
169
- if (event.key === 'ArrowDown' && firstMenuItem != null) {
170
- firstMenuItem.setFocus();
171
- return;
172
- }
173
- if (event.key === 'ArrowUp' && lastMenuItem != null) {
174
- lastMenuItem.setFocus();
175
- return;
176
- }
177
- }
178
- // Other keys bring focus to the menu and initiate type-to-select behavior
179
- const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];
180
- if (this.open && menu != null && !ignoredKeys.includes(event.key)) {
181
- void menu.typeToSelect(event.key);
182
- return;
183
- }
184
- };
185
- this.handleTriggerKeyUp = (event) => {
186
- // Prevent space from triggering a click event in Firefox
187
- if (event.key === ' ') {
188
- event.preventDefault();
189
- }
190
- };
191
- this.handleTriggerSlotChange = () => {
192
- this.updateAccessibleTrigger();
193
- };
194
- this.handleDropdownScroll = () => {
195
- if (this.panel == null)
196
- return;
197
- this.sixScroll.emit({
198
- scrollHeight: this.panel.scrollHeight,
199
- scrollTop: this.panel.scrollTop,
200
- scrollbarHeight: this.panel.offsetHeight * (this.panel.offsetHeight / this.panel.scrollHeight),
201
- scrollRatio: this.panel.scrollTop / (this.panel.scrollHeight - this.panel.clientHeight),
202
- });
203
- };
204
- this.open = false;
205
- this.placement = 'bottom-start';
206
- this.closeOnSelect = true;
207
- this.distance = 0;
208
- this.skidding = 0;
209
- this.hoist = false;
210
- this.containingElement = undefined;
211
- this.filter = false;
212
- this.asyncFilter = false;
213
- this.filterPlaceholder = 'Filter...';
214
- this.autofocusFilter = true;
215
- this.filterDebounce = executionControl.DEFAULT_DEBOUNCE_FAST;
216
- this.disableHideOnEnterAndSpace = false;
217
- this.options = [];
218
- this.virtualScroll = false;
219
- this.filteredOptions = [];
220
- }
221
- get hasFilterEnabled() {
222
- return this.filter || this.asyncFilter;
223
- }
224
- get container() {
225
- return this.containingElement || this.host;
226
- }
227
- handleOpenChange() {
228
- this.open ? this.show() : this.hide();
229
- this.updateAccessibleTrigger();
230
- }
231
- handlePopoverOptionsChange() {
232
- if (this.popover == null)
233
- return;
234
- this.popover.setOptions({
235
- strategy: this.hoist ? 'fixed' : 'absolute',
236
- placement: this.placement,
237
- distance: this.distance,
238
- skidding: this.skidding,
239
- });
240
- }
241
- handleOptionsChange() {
242
- if (Array.isArray(this.options)) {
243
- this.filteredOptions = [...this.options];
244
- }
245
- }
246
- connectedCallback() {
247
- if (this.virtualScroll && this.options === null) {
248
- console.error('Options must be defined when using virtual scrolling');
249
- }
250
- if (Array.isArray(this.options)) {
251
- this.filteredOptions = [...this.options];
252
- }
253
- if (this.hasBeenInitialized && this.popover == null) {
254
- // there was a weird bug when using six-dropdown inside an ag-grid filter. When closing the ag-grid filter
255
- // disconnectedCallback() is executed. However, since componentDidLoad() will not be rerendered the popover had
256
- // no longer a connected transitionEnd callback to the dropdown. To fix this, we have this sanity check here,
257
- // to re-initialize the popover in case the component has already been initialized but the popover is undefined.
258
- this.initializePopover();
259
- }
260
- }
261
- componentDidLoad() {
262
- this.hasBeenInitialized = true;
263
- this.initializePopover();
264
- // Show on init if open
265
- if (this.open) {
266
- void this.show();
267
- }
268
- if (this.filter) {
269
- this.setupFiltering(this.handleFilterInputChange);
270
- }
271
- else if (this.asyncFilter) {
272
- this.setupFiltering(() => { var _a, _b; return this.sixAsyncFilterFired.emit({ filterValue: (_b = (_a = this.filterInputElement) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '' }); });
273
- }
274
- }
275
- initializePopover() {
276
- if (this.trigger == null || this.positioner == null)
277
- return;
278
- const onAfterHide = () => {
279
- if (this.filter && this.filterInputElement != null) {
280
- this.filterInputElement.value = '';
281
- if (this.filteredOptions.length > 0) {
282
- this.filteredOptions = [...this.options];
402
+ return;
283
403
  }
284
- else {
285
- const menuItems = this.getMenuItems();
286
- menuItems.forEach((item) => (item.style.display = 'unset'));
287
- }
288
- }
289
- this.sixAfterHide.emit();
290
- };
291
- const onAfterShow = async () => {
292
- var _a;
293
- if (this.hasFilterEnabled && this.autofocusFilter) {
294
- // if dropdown filter is enabled we should autofocus the search field
295
- await ((_a = this.filterInputElement) === null || _a === void 0 ? void 0 : _a.setFocus());
296
- }
297
- this.sixAfterShow.emit();
298
- };
299
- const onTransitionEnd = () => {
300
- if (!this.open && this.panel != null) {
301
- this.panel.scrollTop = 0;
302
- }
303
- };
304
- this.popover = new popover.Popover(this.trigger, this.positioner, {
305
- strategy: this.hoist ? 'fixed' : 'absolute',
306
- placement: this.placement,
307
- distance: this.distance,
308
- skidding: this.skidding,
309
- transitionElement: this.panel,
310
- onAfterHide,
311
- onAfterShow,
312
- onTransitionEnd,
313
- });
314
- }
315
- setupFiltering(callback) {
316
- if (this.filterInputElement != null) {
317
- this.eventListeners.add(this.filterInputElement, 'six-input-input', executionControl.debounce(callback, this.filterDebounce));
318
- }
319
- }
320
- handleFilteringForAttributeItems(lowerCaseFilterTerm) {
321
- if (lowerCaseFilterTerm === '' && Array.isArray(this.options)) {
322
- this.filteredOptions = [...this.options];
323
- return;
324
- }
325
- this.filteredOptions = this.options.filter((option) => {
326
- var _a, _b, _c, _d;
327
- return (option.label && ((_b = (_a = String(option.label)) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes(lowerCaseFilterTerm))) ||
328
- (option.value && ((_d = (_c = String(option.value)) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === null || _d === void 0 ? void 0 : _d.includes(lowerCaseFilterTerm)));
329
- });
330
- }
331
- handleFilteringForSlotItems(lowerCaseFilterTerm) {
332
- const menuItems = this.getMenuItems();
333
- menuItems.forEach(async (menuItem) => {
334
- var _a, _b, _c, _d;
335
- // hide all elements which don't contain the entered substring
336
- const elementContainsFilterTerm = ((_b = (_a = menuItem === null || menuItem === void 0 ? void 0 : menuItem.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes(lowerCaseFilterTerm)) ||
337
- ((_d = (_c = (await (menuItem === null || menuItem === void 0 ? void 0 : menuItem.getTextLabel()))) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === null || _d === void 0 ? void 0 : _d.includes(lowerCaseFilterTerm));
338
- menuItem.style.display = elementContainsFilterTerm ? 'unset' : 'none';
339
- });
340
- }
341
- disconnectedCallback() {
342
- var _a;
343
- this.eventListeners.removeAll();
344
- void this.hide();
345
- (_a = this.popover) === null || _a === void 0 ? void 0 : _a.destroy();
346
- this.popover = undefined;
347
- }
348
- /** Shows the dropdown panel */
349
- async show() {
350
- // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
351
- if (this.isVisible || this.popover == null || this.panel == null) {
352
- return;
353
- }
354
- const sixShow = this.sixShow.emit();
355
- if (sixShow.defaultPrevented) {
356
- this.open = false;
357
- return;
358
- }
359
- this.eventListeners.add(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
360
- this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);
361
- this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);
362
- this.isVisible = true;
363
- this.open = true;
364
- this.popover.show();
365
- }
366
- /** Hides the dropdown panel */
367
- async hide() {
368
- // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
369
- if (!this.isVisible || this.panel == null || this.popover == null) {
370
- return;
371
- }
372
- const sixHide = this.sixHide.emit();
373
- if (sixHide.defaultPrevented) {
374
- this.open = true;
375
- return;
376
- }
377
- this.eventListeners.remove(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
378
- this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);
379
- this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);
380
- this.isVisible = false;
381
- this.open = false;
382
- this.popover.hide();
383
- }
384
- focusOnTrigger() {
385
- if (this.trigger == null)
386
- return;
387
- const [trigger] = slot.getSlotChildren(this.trigger);
388
- if (trigger != null) {
389
- if (typeof trigger.setFocus === 'function') {
390
- trigger.setFocus();
391
- }
392
- else if (typeof trigger.focus === 'function') {
393
- trigger.focus();
394
- }
395
- }
396
- }
397
- getMenu() {
398
- if (this.panel == null)
399
- return;
400
- return slot.getSlotChildren(this.panel).filter(isSixMenu).at(0);
401
- }
402
- /**
403
- * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu
404
- * is activated.
405
- */
406
- async reposition() {
407
- if (!this.open || this.popover == null) {
408
- return;
409
- }
410
- this.popover.reposition();
411
- }
412
- //
413
- // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and
414
- // `aria-expanded`. These must be applied to the "accessible trigger" (the tabbable portion of the trigger element
415
- // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,
416
- // a child of the slotted element, or an element in the slotted element's shadow root.
417
- //
418
- // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.
419
- //
420
- // To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
421
- //
422
- updateAccessibleTrigger() {
423
- if (this.trigger == null)
424
- return;
425
- const accessibleTrigger = slot.getSlotChildren(this.trigger).map(getNearestTabbableElement).at(0);
426
- if (accessibleTrigger != null) {
427
- accessibleTrigger.setAttribute('aria-haspopup', 'true');
428
- accessibleTrigger.setAttribute('aria-expanded', this.open ? 'true' : 'false');
429
- }
430
- }
431
- render() {
432
- return (index.h("div", { part: "base", id: this.componentId, class: {
433
- dropdown: true,
434
- 'dropdown--open': this.open,
435
- } }, index.h("span", { part: "trigger", class: "dropdown__trigger", ref: (el) => (this.trigger = el), onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown, onKeyUp: this.handleTriggerKeyUp }, index.h("slot", { name: "trigger", onSlotchange: this.handleTriggerSlotChange })), index.h("div", { ref: (el) => (this.positioner = el), class: {
436
- dropdown__positioner: true,
437
- dropdown__positioner__filtered: (this.filter || this.asyncFilter) && !this.hoist,
438
- } }, this.hasFilterEnabled && (index.h("six-input", { class: {
439
- 'filter-hidden': !this.open,
440
- }, "aria-hidden": this.open ? 'false' : 'true', ref: (el) => (this.filterInputElement = el), placeholder: this.filterPlaceholder })), index.h("div", { ref: (el) => (this.panel = el), part: "panel", class: "dropdown__panel", role: "menu", "aria-hidden": this.open ? 'false' : 'true', "aria-labelledby": this.componentId, onScroll: this.handleDropdownScroll }, index.h("slot", null), this.filteredOptions.length > 0 && (index.h("six-menu", { part: "menu", items: this.filteredOptions, virtualScroll: this.virtualScroll }))))));
441
- }
442
- get host() { return index.getElement(this); }
443
- static get watchers() { return {
444
- "open": ["handleOpenChange"],
445
- "distance": ["handlePopoverOptionsChange"],
446
- "hoist": ["handlePopoverOptionsChange"],
447
- "placement": ["handlePopoverOptionsChange"],
448
- "skidding": ["handlePopoverOptionsChange"],
449
- "options": ["handleOptionsChange"]
450
- }; }
404
+ if (this.matchTriggerWidth && this.trigger != null && this.panel != null) {
405
+ const width = this.trigger.getBoundingClientRect().width;
406
+ this.panel.style.minWidth = `${width}px`;
407
+ }
408
+ if (this.popover != null) {
409
+ this.popover.reposition();
410
+ }
411
+ }
412
+ /** Hides the dropdown panel */
413
+ async hide() {
414
+ this.resizeObserver.disconnect();
415
+ // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
416
+ if (!this.isVisible || this.panel == null || this.popover == null) {
417
+ return;
418
+ }
419
+ const sixHide = this.sixHide.emit();
420
+ if (sixHide.defaultPrevented) {
421
+ this.open = true;
422
+ return;
423
+ }
424
+ this.eventListeners.remove(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
425
+ this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);
426
+ this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);
427
+ this.isVisible = false;
428
+ this.open = false;
429
+ this.popover.hide();
430
+ }
431
+ focusOnTrigger() {
432
+ var _a;
433
+ if (this.trigger == null)
434
+ return;
435
+ const trigger = (_a = this.triggerSlot) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true }).at(0);
436
+ if (trigger != null) {
437
+ if (typeof trigger.setFocus === 'function') {
438
+ trigger.setFocus();
439
+ }
440
+ else if (typeof trigger.focus === 'function') {
441
+ trigger.focus();
442
+ }
443
+ }
444
+ }
445
+ getMenu() {
446
+ var _a;
447
+ return (_a = this.panelSlot) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true }).filter(isSixMenu).at(0);
448
+ }
449
+ /**
450
+ * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu
451
+ * is activated.
452
+ *
453
+ * @deprecated: use the property `matchTriggerWidth` instead.
454
+ */
455
+ async reposition() {
456
+ if (this.open && this.popover != null) {
457
+ this.popover.reposition();
458
+ }
459
+ }
460
+ //
461
+ // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and
462
+ // `aria-expanded`. These must be applied to the "accessible trigger" (the tabbable portion of the trigger element
463
+ // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,
464
+ // a child of the slotted element, or an element in the slotted element's shadow root.
465
+ //
466
+ // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.
467
+ //
468
+ // To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
469
+ //
470
+ updateAccessibleTrigger() {
471
+ var _a;
472
+ if (this.trigger == null)
473
+ return;
474
+ const assignedElements = (((_a = this.triggerSlot) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true })) || []);
475
+ const accessibleTrigger = assignedElements.map(getNearestTabbableElement).at(0);
476
+ if (accessibleTrigger != null) {
477
+ accessibleTrigger.setAttribute('aria-haspopup', 'true');
478
+ accessibleTrigger.setAttribute('aria-expanded', this.open ? 'true' : 'false');
479
+ }
480
+ }
481
+ render() {
482
+ return (index.h("div", { part: "base", id: this.componentId, class: {
483
+ dropdown: true,
484
+ 'dropdown--open': this.open,
485
+ } }, index.h("span", { part: "trigger", class: "dropdown__trigger", ref: (el) => (this.trigger = el), onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown, onKeyUp: this.handleTriggerKeyUp }, index.h("slot", { name: "trigger", ref: (el) => (this.triggerSlot = el), onSlotchange: this.handleTriggerSlotChange })), index.h("div", { ref: (el) => (this.positioner = el), class: {
486
+ dropdown__positioner: true,
487
+ dropdown__positioner__filtered: (this.filter || this.asyncFilter) && !this.hoist,
488
+ } }, index.h("div", { ref: (el) => (this.panel = el), part: "panel", class: "dropdown__panel", role: "menu", "aria-hidden": this.open ? 'false' : 'true', "aria-labelledby": this.componentId }, this.filterEnabled && (index.h("six-input", { class: {
489
+ filter: true,
490
+ 'filter-hidden': !this.open,
491
+ }, "dropdown-search": true, "aria-hidden": this.open ? 'false' : 'true', ref: (el) => (this.filterInputElement = el), placeholder: this.filterPlaceholder }, index.h("six-icon", { class: "filter__icon", slot: "suffix", size: "small" }, "search"))), index.h("div", { class: {
492
+ dropdown__panel__scroll: true,
493
+ 'dropdown__panel__scroll--virtual': this.virtualScroll,
494
+ }, onScroll: this.handleDropdownScroll, ref: (el) => (this.scrollPanel = el) }, index.h("slot", { ref: (el) => (this.panelSlot = el) }), this.options.length > 0 && (index.h("six-menu", { part: "menu", items: this.renderedOptions, virtualScroll: this.virtualScroll }))), index.h("slot", { name: "dropdown-footer" })))));
495
+ }
496
+ get host() { return index.getElement(this); }
497
+ static get watchers() { return {
498
+ "open": ["handleOpenChange"],
499
+ "distance": ["handlePopoverOptionsChange"],
500
+ "hoist": ["handlePopoverOptionsChange"],
501
+ "placement": ["handlePopoverOptionsChange"],
502
+ "skidding": ["handlePopoverOptionsChange"],
503
+ "options": ["handleOptionsChange"],
504
+ "virtualScroll": ["handleOptionsChange"]
505
+ }; }
451
506
  };
507
+ function isSixMenu(el) {
508
+ return (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === 'six-menu';
509
+ }
510
+ function isSixMenuItem(el) {
511
+ return (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === 'six-menu-item';
512
+ }
513
+ function isSelectionContainer(el) {
514
+ var _a;
515
+ return ((_a = el === null || el === void 0 ? void 0 : el.getAttribute('class')) === null || _a === void 0 ? void 0 : _a.includes('selection-container')) || false;
516
+ }
517
+ async function containsFilterTerm(menuItem, lowerCaseFilterTerm) {
518
+ return (menuItem.value.toLowerCase().includes(lowerCaseFilterTerm) ||
519
+ (await menuItem.getTextLabel()).toLowerCase().includes(lowerCaseFilterTerm));
520
+ }
452
521
  SixDropdown.style = sixDropdownCss;
453
522
 
454
- const sixMenuCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}.menu{padding:0 0;border:none;box-shadow:var(--six-elevation-2dp)}.menu:focus{outline:none}.menu--noshadow{box-shadow:none}.menu__wrapper--scrollable{overflow-y:auto}";
523
+ const sixMenuCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}:host{display:block}.menu{padding:var(--six-spacing-xx-small) 0;border:none;box-shadow:var(--six-shadow-small);overflow-y:auto;overflow-x:hidden}.menu:focus{outline:none}.no-shadow{box-shadow:none}";
455
524
 
456
525
  const isFocusedMenuItem = (menuItem) => { var _a, _b, _c; return (_c = (_b = (_a = menuItem === null || menuItem === void 0 ? void 0 : menuItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.menu-item')) === null || _b === void 0 ? void 0 : _b.classList) === null || _c === void 0 ? void 0 : _c.contains('menu-item--focused'); };
457
526
  const isSIXMenuItemElement = (el) => (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === 'six-menu-item';
458
- const mapToMenuItem = ({ value, label }) => index.h("six-menu-item", { value: value }, label);
527
+ const mapToMenuItem = ({ value, label }) => (index.h("six-menu-item", { key: value, value: value }, label));
459
528
  const DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;
460
529
  const DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;
461
530
  const SixMenu = class {
462
- constructor(hostRef) {
463
- index.registerInstance(this, hostRef);
464
- this.sixMenuItemSelected = index.createEvent(this, "six-menu-item-selected", 7);
465
- this.eventListeners = new eventListeners.EventListeners();
466
- this.typeToSelectString = '';
467
- this.handleScrolling = () => {
468
- if (this.menuWrapper == null)
469
- return;
470
- // for performance improvements we only update the DOM if the scrollRatio change "enough"
471
- this.scrollingIndex = Math.floor(this.menuWrapper.scrollTop / this.sixMenuItemHeight);
472
- };
473
- this.removeBoxShadow = false;
474
- this.items = null;
475
- this.itemsShown = undefined;
476
- this.virtualScroll = false;
477
- this.itemSize = 10;
478
- this.scrollingDebounce = 15;
479
- this.scrollingIndex = 0;
480
- this.sixMenuItemHeight = DEFAULT_SIX_MENU_ITEM_HEIGHT;
481
- }
482
- connectedCallback() {
483
- this.handleClick = this.handleClick.bind(this);
484
- this.handleKeyDown = this.handleKeyDown.bind(this);
485
- }
486
- componentWillLoad() {
487
- if (this.items === null) {
488
- return;
489
- }
490
- }
491
- componentDidLoad() {
492
- this.setupForVirtualScrollingAfterRendering();
493
- }
494
- disconnectedCallback() {
495
- this.eventListeners.removeAll();
496
- }
497
- /**
498
- * Initiates type-to-select logic, which automatically selects an option based on what the user is currently typing.
499
- * The key passed will be appended to the internal query and the selection will be updated. After a brief period, the
500
- * internal query is cleared automatically. This method is intended to be used with the keydown event. Useful for
501
- * enabling type-to-select when the menu doesn't have focus.
502
- */
503
- async typeToSelect(key) {
504
- var _a;
505
- clearTimeout(this.typeToSelectTimeout);
506
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
507
- // @ts-ignore
508
- this.typeToSelectTimeout = setTimeout(() => (this.typeToSelectString = ''), 750);
509
- this.typeToSelectString += key.toLowerCase();
510
- const items = this.getItems();
511
- for (const item of items) {
512
- const slot$1 = (_a = item.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
513
- const label = slot.getTextContent(slot$1).toLowerCase().trim();
514
- if (label.substring(0, this.typeToSelectString.length) === this.typeToSelectString) {
515
- item.setFocus();
516
- break;
517
- }
518
- }
519
- }
520
- getItemsShown() {
521
- var _a;
522
- const defaultItemsShown = this.virtualScroll ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING : 0;
523
- return (_a = this.itemsShown) !== null && _a !== void 0 ? _a : defaultItemsShown;
524
- }
525
- setupForVirtualScrollingAfterRendering() {
526
- var _a, _b;
527
- if (!this.virtualScroll || this.menuWrapper == null)
528
- return;
529
- this.eventListeners.add(this.menuWrapper, 'scroll', executionControl.debounce(this.handleScrolling, this.scrollingDebounce));
530
- // set menu height to proper height once the item is rendered.
531
- const menuItemHeight = (_b = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector('six-menu-item')) === null || _b === void 0 ? void 0 : _b.clientHeight;
532
- if (menuItemHeight != null && menuItemHeight > 0) {
533
- this.sixMenuItemHeight = menuItemHeight;
534
- }
535
- }
536
- getItems() {
537
- if (this.menu == null)
538
- return [];
539
- if (this.items != null) {
540
- return this.items.map(mapToMenuItem);
541
- }
542
- const slot = this.menu.querySelector('slot');
543
- if (slot == null)
544
- return [];
545
- return [...slot.assignedElements({ flatten: true })].filter((el) => isSIXMenuItemElement(el) && !el.disabled);
546
- }
547
- getActiveItemIndex() {
548
- const items = this.getItems();
549
- const selectedItem = this.getActiveItem();
550
- if (selectedItem != null) {
551
- const itemIndex = items.indexOf(selectedItem);
552
- if (itemIndex > -1) {
553
- return itemIndex;
554
- }
555
- }
556
- const sixMenuItems = this.extractItemsFromDOM();
557
- return sixMenuItems.findIndex(isFocusedMenuItem);
558
- }
559
- getActiveItem() {
560
- var _a;
561
- const activeElement = this.getItems().find((i) => i === document.activeElement);
562
- if (activeElement != null) {
563
- return activeElement;
564
- }
565
- return (_a = this.extractItemsFromDOM()) === null || _a === void 0 ? void 0 : _a.find(isFocusedMenuItem);
566
- }
567
- extractItemsFromDOM() {
568
- var _a, _b;
569
- return Array.from((_b = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('six-menu-item')) !== null && _b !== void 0 ? _b : []);
570
- }
571
- setActiveItem(item) {
572
- item === null || item === void 0 ? void 0 : item.setFocus();
573
- }
574
- handleClick(event) {
575
- const target = event.target;
576
- const clickedItem = target.closest('six-menu-item');
577
- if (clickedItem && !clickedItem.disabled) {
578
- this.sixMenuItemSelected.emit({ name: clickedItem.value, item: clickedItem });
579
- }
580
- }
581
- handleKeyDown(event) {
582
- // Make a selection when pressing enter
583
- if (event.key === 'Enter') {
584
- const activeItem = this.getActiveItem();
585
- event.preventDefault();
586
- if (activeItem != null) {
587
- this.sixMenuItemSelected.emit({ name: activeItem.value, item: activeItem });
588
- }
589
- }
590
- // Prevent scrolling when space is pressed
591
- if (event.key === ' ') {
592
- event.preventDefault();
593
- }
594
- // Move the selection when pressing down or up
595
- if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
596
- const items = this.items === null ? this.getItems() : this.extractItemsFromDOM();
597
- let indexOfActiveItem = this.getActiveItemIndex();
598
- if (items.length > 0) {
599
- event.preventDefault();
600
- if (event.key === 'ArrowDown') {
601
- indexOfActiveItem++;
602
- }
603
- else if (event.key === 'ArrowUp') {
604
- indexOfActiveItem--;
605
- }
606
- else if (event.key === 'Home') {
607
- indexOfActiveItem = 0;
608
- }
609
- else if (event.key === 'End') {
610
- indexOfActiveItem = items.length - 1;
611
- }
612
- if (indexOfActiveItem < 0)
613
- indexOfActiveItem = 0;
614
- if (indexOfActiveItem > items.length - 1)
615
- indexOfActiveItem = items.length - 1;
616
- this.setActiveItem(items[indexOfActiveItem]);
617
- return;
618
- }
619
- }
620
- void this.typeToSelect(event.key);
621
- }
622
- getMenuWrapperStyle() {
623
- var _a;
624
- const styles = {};
625
- if (this.getItemsShown() > 0) {
626
- // calculate the proper height to show the correct number of items
627
- styles.height = `${((_a = this.getItemsShown()) !== null && _a !== void 0 ? _a : 0) * this.sixMenuItemHeight}px`;
628
- }
629
- return Object.assign({}, styles);
630
- }
631
- getMenuContainerStyle() {
632
- const styles = {};
633
- if (this.virtualScroll) {
634
- // calculate height of content are if all items would be rendered so the scrollbar has the proper size
635
- styles.transform = `translateY(${this.sixMenuItemHeight * this.scrollingIndex}px)`;
636
- }
637
- return Object.assign({}, styles);
638
- }
639
- getScrollbarGhostStyle() {
640
- const styles = {};
641
- if (this.virtualScroll && this.items !== null) {
642
- styles.height = `${this.items.length * this.sixMenuItemHeight - this.itemSize * this.sixMenuItemHeight}px`;
643
- }
644
- return Object.assign({}, styles);
645
- }
646
- renderItems() {
647
- if (this.items === undefined || this.items === null) {
648
- return;
649
- }
650
- if (!this.virtualScroll) {
651
- return this.items.map(mapToMenuItem);
652
- }
653
- return this.items
654
- .slice(this.scrollingIndex, Math.min(this.items.length, this.itemSize + this.scrollingIndex))
655
- .map(mapToMenuItem);
656
- }
657
- render() {
658
- return (index.h("div", { ref: (el) => (this.menuWrapper = el), style: this.getMenuWrapperStyle(), part: "wrapper", class: {
659
- menu: true,
660
- 'menu--noshadow': this.removeBoxShadow,
661
- 'menu__wrapper--scrollable': this.getItemsShown() > 0,
662
- } }, index.h("div", { ref: (el) => (this.menu = el), part: "base", role: "menu", onClick: this.handleClick, onKeyDown: this.handleKeyDown, tabIndex: 0, style: this.getMenuContainerStyle() }, index.h("slot", null), this.renderItems()), this.virtualScroll && index.h("div", { style: this.getScrollbarGhostStyle() })));
663
- }
664
- get host() { return index.getElement(this); }
531
+ constructor(hostRef) {
532
+ index.registerInstance(this, hostRef);
533
+ this.sixMenuItemSelected = index.createEvent(this, "six-menu-item-selected", 7);
534
+ this.eventListeners = new eventListeners.EventListeners();
535
+ this.typeToSelectString = '';
536
+ this.handleScrolling = () => {
537
+ if (this.menuWrapper == null)
538
+ return;
539
+ // for performance improvements we only update the DOM if the scrollRatio change "enough"
540
+ this.scrollingIndex = Math.floor(this.menuWrapper.scrollTop / this.sixMenuItemHeight);
541
+ };
542
+ this.removeBoxShadow = false;
543
+ this.items = null;
544
+ this.itemsShown = undefined;
545
+ this.virtualScroll = false;
546
+ this.itemSize = 10;
547
+ this.scrollingDebounce = 15;
548
+ this.disableKeyboardHandling = false;
549
+ this.scrollingIndex = 0;
550
+ this.sixMenuItemHeight = DEFAULT_SIX_MENU_ITEM_HEIGHT;
551
+ }
552
+ connectedCallback() {
553
+ this.handleClick = this.handleClick.bind(this);
554
+ this.handleKeyDown = this.handleKeyDown.bind(this);
555
+ }
556
+ componentWillLoad() {
557
+ if (this.items === null) {
558
+ return;
559
+ }
560
+ }
561
+ componentDidLoad() {
562
+ this.setupForVirtualScrollingAfterRendering();
563
+ }
564
+ disconnectedCallback() {
565
+ this.eventListeners.removeAll();
566
+ }
567
+ /**
568
+ * Initiates type-to-select logic, which automatically selects an option based on what the user is currently typing.
569
+ * The key passed will be appended to the internal query and the selection will be updated. After a brief period, the
570
+ * internal query is cleared automatically. This method is intended to be used with the keydown event. Useful for
571
+ * enabling type-to-select when the menu doesn't have focus.
572
+ */
573
+ async typeToSelect(key) {
574
+ var _a;
575
+ clearTimeout(this.typeToSelectTimeout);
576
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
577
+ // @ts-ignore
578
+ this.typeToSelectTimeout = setTimeout(() => (this.typeToSelectString = ''), 750);
579
+ this.typeToSelectString += key.toLowerCase();
580
+ const items = this.getItems();
581
+ for (const item of items) {
582
+ const slot$1 = (_a = item.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
583
+ const label = slot.getTextContent(slot$1).toLowerCase().trim();
584
+ if (label.substring(0, this.typeToSelectString.length) === this.typeToSelectString) {
585
+ item.setFocus();
586
+ break;
587
+ }
588
+ }
589
+ }
590
+ getItemsShown() {
591
+ var _a;
592
+ const defaultItemsShown = this.virtualScroll ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING : 0;
593
+ return (_a = this.itemsShown) !== null && _a !== void 0 ? _a : defaultItemsShown;
594
+ }
595
+ setupForVirtualScrollingAfterRendering() {
596
+ var _a, _b;
597
+ if (!this.virtualScroll || this.menuWrapper == null)
598
+ return;
599
+ this.eventListeners.add(this.menuWrapper, 'scroll', executionControl.debounce(this.handleScrolling, this.scrollingDebounce));
600
+ // set menu height to proper height once the item is rendered.
601
+ const menuItemHeight = (_b = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector('six-menu-item')) === null || _b === void 0 ? void 0 : _b.clientHeight;
602
+ if (menuItemHeight != null && menuItemHeight > 0) {
603
+ this.sixMenuItemHeight = menuItemHeight;
604
+ }
605
+ }
606
+ getItems() {
607
+ if (this.menu == null)
608
+ return [];
609
+ if (this.items != null) {
610
+ return this.items.map(mapToMenuItem);
611
+ }
612
+ const slot = this.menu.querySelector('slot');
613
+ if (slot == null)
614
+ return [];
615
+ return [...slot.assignedElements({ flatten: true })].filter((el) => isSIXMenuItemElement(el) && !el.disabled);
616
+ }
617
+ getActiveItemIndex() {
618
+ const items = this.getItems();
619
+ const selectedItem = this.getActiveItem();
620
+ if (selectedItem != null) {
621
+ const itemIndex = items.indexOf(selectedItem);
622
+ if (itemIndex > -1) {
623
+ return itemIndex;
624
+ }
625
+ }
626
+ const sixMenuItems = this.extractItemsFromDOM();
627
+ return sixMenuItems.findIndex(isFocusedMenuItem);
628
+ }
629
+ getActiveItem() {
630
+ var _a;
631
+ const activeElement = this.getItems().find((i) => i === document.activeElement);
632
+ if (activeElement != null) {
633
+ return activeElement;
634
+ }
635
+ return (_a = this.extractItemsFromDOM()) === null || _a === void 0 ? void 0 : _a.find(isFocusedMenuItem);
636
+ }
637
+ extractItemsFromDOM() {
638
+ var _a, _b;
639
+ return Array.from((_b = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('six-menu-item')) !== null && _b !== void 0 ? _b : []);
640
+ }
641
+ setActiveItem(item) {
642
+ item === null || item === void 0 ? void 0 : item.setFocus();
643
+ }
644
+ handleClick(event) {
645
+ const target = event.target;
646
+ const clickedItem = target.closest('six-menu-item');
647
+ if (clickedItem && !clickedItem.disabled) {
648
+ this.sixMenuItemSelected.emit({ name: clickedItem.value, item: clickedItem });
649
+ }
650
+ }
651
+ handleKeyDown(event) {
652
+ if (this.disableKeyboardHandling) {
653
+ return;
654
+ }
655
+ // Make a selection when pressing enter
656
+ if (event.key === 'Enter') {
657
+ const activeItem = this.getActiveItem();
658
+ event.preventDefault();
659
+ if (activeItem != null) {
660
+ this.sixMenuItemSelected.emit({ name: activeItem.value, item: activeItem });
661
+ }
662
+ }
663
+ // Prevent scrolling when space is pressed
664
+ if (event.key === ' ') {
665
+ event.preventDefault();
666
+ }
667
+ // Move the selection when pressing down or up
668
+ if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
669
+ const items = this.items === null ? this.getItems() : this.extractItemsFromDOM();
670
+ let indexOfActiveItem = this.getActiveItemIndex();
671
+ if (items.length > 0) {
672
+ event.preventDefault();
673
+ if (event.key === 'ArrowDown') {
674
+ indexOfActiveItem++;
675
+ }
676
+ else if (event.key === 'ArrowUp') {
677
+ indexOfActiveItem--;
678
+ }
679
+ else if (event.key === 'Home') {
680
+ indexOfActiveItem = 0;
681
+ }
682
+ else if (event.key === 'End') {
683
+ indexOfActiveItem = items.length - 1;
684
+ }
685
+ if (indexOfActiveItem < 0)
686
+ indexOfActiveItem = 0;
687
+ if (indexOfActiveItem > items.length - 1)
688
+ indexOfActiveItem = items.length - 1;
689
+ this.setActiveItem(items[indexOfActiveItem]);
690
+ return;
691
+ }
692
+ }
693
+ void this.typeToSelect(event.key);
694
+ }
695
+ getMenuWrapperStyle() {
696
+ var _a;
697
+ const styles = {};
698
+ if (this.getItemsShown() > 0) {
699
+ // calculate the proper height to show the correct number of items
700
+ styles.height = `${((_a = this.getItemsShown()) !== null && _a !== void 0 ? _a : 0) * this.sixMenuItemHeight}px`;
701
+ }
702
+ return Object.assign({}, styles);
703
+ }
704
+ getMenuContainerStyle() {
705
+ const styles = {};
706
+ if (this.virtualScroll) {
707
+ // calculate height of content are if all items would be rendered so the scrollbar has the proper size
708
+ styles.transform = `translateY(${this.sixMenuItemHeight * this.scrollingIndex}px)`;
709
+ }
710
+ return Object.assign({}, styles);
711
+ }
712
+ getScrollbarGhostStyle() {
713
+ const styles = {};
714
+ if (this.virtualScroll && this.items !== null) {
715
+ styles.height = `${this.items.length * this.sixMenuItemHeight - this.itemSize * this.sixMenuItemHeight}px`;
716
+ }
717
+ return Object.assign({}, styles);
718
+ }
719
+ renderItems() {
720
+ if (this.items === undefined || this.items === null) {
721
+ return;
722
+ }
723
+ if (!this.virtualScroll) {
724
+ return this.items.map(mapToMenuItem);
725
+ }
726
+ return this.items
727
+ .slice(this.scrollingIndex, Math.min(this.items.length, this.itemSize + this.scrollingIndex))
728
+ .map(({ value, label }) => (index.h("six-menu-item", { checkType: "check", key: value, value: value }, label)));
729
+ }
730
+ render() {
731
+ return (index.h("div", { ref: (el) => (this.menuWrapper = el), style: this.getMenuWrapperStyle(), part: "wrapper", class: {
732
+ menu: true,
733
+ '.no-shadow': this.removeBoxShadow,
734
+ } }, index.h("div", { ref: (el) => (this.menu = el), part: "base", role: "menu", onClick: this.handleClick, onKeyDown: this.handleKeyDown, tabIndex: 0, style: this.getMenuContainerStyle() }, index.h("slot", null), this.renderItems()), this.virtualScroll && index.h("div", { style: this.getScrollbarGhostStyle() })));
735
+ }
736
+ get host() { return index.getElement(this); }
665
737
  };
666
738
  SixMenu.style = sixMenuCss;
667
739