@six-group/ui-library 0.0.0-insider.ebd822a → 0.0.0-insider.f015905

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 (1180) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/error-messages-6e8049a4.js +119 -0
  3. package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
  4. package/dist/cjs/event-listeners-9fb878f1.js +61 -0
  5. package/dist/cjs/event-listeners-9fb878f1.js.map +1 -0
  6. package/dist/cjs/{execution-control-46f388e0.js → execution-control-d728da70.js} +15 -12
  7. package/dist/cjs/execution-control-d728da70.js.map +1 -0
  8. package/dist/cjs/focus-visible-e2c9255a.js +47 -0
  9. package/dist/cjs/focus-visible-e2c9255a.js.map +1 -0
  10. package/dist/cjs/form-9ebaae7c.js +20 -0
  11. package/dist/cjs/form-9ebaae7c.js.map +1 -0
  12. package/dist/cjs/form-control-8d64e974.js +36 -0
  13. package/dist/cjs/form-control-8d64e974.js.map +1 -0
  14. package/dist/cjs/{index-2f6daa5b.js → index-d7748d51.js} +587 -480
  15. package/dist/cjs/index-d7748d51.js.map +1 -0
  16. package/dist/cjs/index.cjs.js +62 -0
  17. package/dist/cjs/index.cjs.js.map +1 -1
  18. package/dist/cjs/loader.cjs.js +3 -12
  19. package/dist/cjs/loader.cjs.js.map +1 -1
  20. package/dist/cjs/modal-3ce015be.js +52 -0
  21. package/dist/cjs/modal-3ce015be.js.map +1 -0
  22. package/dist/cjs/{popover-f743f62b.js → popover-1e7c09f1.js} +109 -101
  23. package/dist/cjs/popover-1e7c09f1.js.map +1 -0
  24. package/dist/cjs/popup-e854acda.js +103 -0
  25. package/dist/cjs/popup-e854acda.js.map +1 -0
  26. package/dist/cjs/scroll-68033901.js +68 -0
  27. package/dist/{esm/scroll-180b53fd.js.map → cjs/scroll-68033901.js.map} +1 -1
  28. package/dist/cjs/six-alert.cjs.entry.js +141 -114
  29. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-avatar.cjs.entry.js +21 -24
  31. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-badge.cjs.entry.js +23 -23
  33. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-button.cjs.entry.js +94 -92
  35. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js +8 -8
  37. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-checkbox_2.cjs.entry.js +190 -0
  39. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
  40. package/dist/cjs/six-datepicker.cjs.entry.js +875 -980
  41. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-details.cjs.entry.js +127 -126
  43. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-dialog.cjs.entry.js +130 -132
  45. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-drawer.cjs.entry.js +145 -149
  47. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js +710 -619
  49. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-error-page.cjs.entry.js +82 -84
  51. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-error.cjs.entry.js +21 -0
  53. package/dist/cjs/six-error.cjs.entry.js.map +1 -0
  54. package/dist/cjs/six-file-list-item.cjs.entry.js +34 -34
  55. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-file-list.cjs.entry.js +7 -7
  57. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-file-upload.cjs.entry.js +100 -100
  59. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-footer.cjs.entry.js +8 -8
  61. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-group-label.cjs.entry.js +43 -42
  63. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-header.cjs.entry.js +172 -135
  65. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-icon-button.cjs.entry.js +32 -32
  67. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-icon.cjs.entry.js +22 -22
  69. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-input.cjs.entry.js +186 -242
  71. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-item-picker.cjs.entry.js +413 -336
  73. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-language-switcher.cjs.entry.js +46 -46
  75. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-layout-grid.cjs.entry.js +21 -19
  77. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-main-container.cjs.entry.js +9 -9
  79. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-menu-divider.cjs.entry.js +8 -8
  81. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-menu-label.cjs.entry.js +8 -8
  83. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-picto.cjs.entry.js +14 -11
  85. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-progress-bar.cjs.entry.js +15 -15
  87. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-progress-ring.cjs.entry.js +29 -29
  89. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-radio.cjs.entry.js +104 -113
  91. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-range.cjs.entry.js +185 -181
  93. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-root.cjs.entry.js +11 -30
  95. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-search-field.cjs.entry.js +44 -39
  97. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-select.cjs.entry.js +494 -393
  99. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +56 -41
  101. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar-item.cjs.entry.js +17 -15
  103. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-sidebar.cjs.entry.js +176 -155
  105. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-spinner.cjs.entry.js +15 -15
  107. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-stage-indicator.cjs.entry.js +22 -0
  109. package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
  110. package/dist/cjs/six-switch.cjs.entry.js +107 -95
  111. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  112. package/dist/cjs/six-tab-group.cjs.entry.js +226 -213
  113. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  114. package/dist/cjs/six-tab-panel.cjs.entry.js +14 -14
  115. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  116. package/dist/cjs/six-tab.cjs.entry.js +55 -37
  117. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  118. package/dist/cjs/six-tag.cjs.entry.js +55 -36
  119. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  120. package/dist/cjs/six-textarea.cjs.entry.js +182 -205
  121. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  122. package/dist/cjs/six-tile.cjs.entry.js +75 -78
  123. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  124. package/dist/cjs/six-timepicker.cjs.entry.js +344 -405
  125. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  126. package/dist/cjs/six-tooltip.cjs.entry.js +145 -148
  127. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  128. package/dist/cjs/slot-1b1232a1.js +51 -0
  129. package/dist/cjs/slot-1b1232a1.js.map +1 -0
  130. package/dist/cjs/types-d3da200b.js +19 -0
  131. package/dist/cjs/types-d3da200b.js.map +1 -0
  132. package/dist/cjs/ui-library.cjs.js +3 -6
  133. package/dist/cjs/ui-library.cjs.js.map +1 -1
  134. package/dist/collection/collection-manifest.json +54 -55
  135. package/dist/collection/components/six-alert/six-alert.css +5 -1
  136. package/dist/collection/components/six-alert/six-alert.js +383 -336
  137. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  138. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  139. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  140. package/dist/collection/components/six-avatar/six-avatar.css +2 -2
  141. package/dist/collection/components/six-avatar/six-avatar.js +112 -115
  142. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  143. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  144. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  145. package/dist/collection/components/six-badge/six-badge.css +1 -1
  146. package/dist/collection/components/six-badge/six-badge.js +91 -91
  147. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  148. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  149. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  150. package/dist/collection/components/six-button/six-button.css +7 -31
  151. package/dist/collection/components/six-button/six-button.js +450 -440
  152. package/dist/collection/components/six-button/six-button.js.map +1 -1
  153. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  154. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  155. package/dist/collection/components/six-card/six-card.css +4 -5
  156. package/dist/collection/components/six-card/six-card.js +16 -16
  157. package/dist/collection/components/six-card/six-card.js.map +1 -1
  158. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  159. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  160. package/dist/collection/components/six-checkbox/six-checkbox.css +10 -2
  161. package/dist/collection/components/six-checkbox/six-checkbox.js +426 -517
  162. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  163. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +83 -0
  164. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  165. package/dist/collection/components/six-datepicker/components/day-selection.js +10 -10
  166. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  167. package/dist/collection/components/six-datepicker/components/month-selection.js +11 -10
  168. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  169. package/dist/collection/components/six-datepicker/components/year-selection.js +11 -8
  170. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  171. package/dist/collection/components/six-datepicker/six-date-formats.js +21 -20
  172. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
  173. package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
  174. package/dist/collection/components/six-datepicker/six-datepicker.js +1054 -1217
  175. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  176. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  177. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  178. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +14 -14
  179. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -1
  180. package/dist/collection/components/six-details/six-details.css +4 -6
  181. package/dist/collection/components/six-details/six-details.js +409 -402
  182. package/dist/collection/components/six-details/six-details.js.map +1 -1
  183. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  184. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  185. package/dist/collection/components/six-dialog/six-dialog.css +2 -2
  186. package/dist/collection/components/six-dialog/six-dialog.js +362 -356
  187. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  188. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  189. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  190. package/dist/collection/components/six-drawer/six-drawer.css +2 -2
  191. package/dist/collection/components/six-drawer/six-drawer.js +414 -410
  192. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  193. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  194. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  195. package/dist/collection/components/six-dropdown/six-dropdown.css +22 -6
  196. package/dist/collection/components/six-dropdown/six-dropdown.js +984 -868
  197. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  198. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +147 -0
  199. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  200. package/dist/collection/components/six-error/six-error.css +5 -0
  201. package/dist/collection/components/six-error/six-error.js +25 -0
  202. package/dist/collection/components/six-error/six-error.js.map +1 -0
  203. package/dist/collection/components/six-error-page/six-error-page.js +178 -180
  204. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  205. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  206. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  207. package/dist/collection/components/six-file-list/six-file-list.js +16 -16
  208. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  209. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  210. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  211. package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
  212. package/dist/collection/components/six-file-list-item/six-file-list-item.js +196 -194
  213. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  214. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  215. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  216. package/dist/collection/components/six-file-upload/six-file-upload.css +1 -4
  217. package/dist/collection/components/six-file-upload/six-file-upload.js +293 -291
  218. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  219. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  220. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  221. package/dist/collection/components/six-footer/six-footer.css +2 -2
  222. package/dist/collection/components/six-footer/six-footer.js +16 -16
  223. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  224. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  225. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  226. package/dist/collection/components/six-group-label/six-group-label.css +5 -2
  227. package/dist/collection/components/six-group-label/six-group-label.js +158 -156
  228. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  229. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +45 -0
  230. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  231. package/dist/collection/components/six-header/six-header.css +6 -2
  232. package/dist/collection/components/six-header/six-header.js +444 -380
  233. package/dist/collection/components/six-header/six-header.js.map +1 -1
  234. package/dist/collection/components/six-header/test/six-header.spec.js +177 -0
  235. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  236. package/dist/collection/components/six-icon/six-icon.css +5 -2
  237. package/dist/collection/components/six-icon/six-icon.js +72 -72
  238. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  239. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  240. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  241. package/dist/collection/components/six-icon-button/six-icon-button.css +5 -5
  242. package/dist/collection/components/six-icon-button/six-icon-button.js +133 -133
  243. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  244. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  245. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  246. package/dist/collection/components/six-input/six-input.css +15 -3
  247. package/dist/collection/components/six-input/six-input.js +970 -1107
  248. package/dist/collection/components/six-input/six-input.js.map +1 -1
  249. package/dist/collection/components/six-input/test/six-input.spec.js +39 -0
  250. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  251. package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
  252. package/dist/collection/components/six-item-picker/six-item-picker.js +739 -658
  253. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  254. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  255. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  256. package/dist/collection/components/six-item-picker/types.js +9 -7
  257. package/dist/collection/components/six-item-picker/types.js.map +1 -1
  258. package/dist/collection/components/six-language-switcher/six-language-switcher.js +125 -123
  259. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  260. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  261. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  262. package/dist/collection/components/six-layout-grid/six-layout-grid.js +56 -54
  263. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  264. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  265. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  266. package/dist/collection/components/six-main-container/six-main-container.js +42 -42
  267. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  268. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  269. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  270. package/dist/collection/components/six-menu/six-menu.css +8 -7
  271. package/dist/collection/components/six-menu/six-menu.js +391 -359
  272. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  273. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  274. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  275. package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
  276. package/dist/collection/components/six-menu-divider/six-menu-divider.js +16 -16
  277. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  278. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  279. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  280. package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
  281. package/dist/collection/components/six-menu-item/six-menu-item.js +211 -176
  282. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  283. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  284. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  285. package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
  286. package/dist/collection/components/six-menu-label/six-menu-label.js +16 -16
  287. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  288. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  289. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  290. package/dist/collection/components/six-picto/six-picto.js +47 -44
  291. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  292. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  293. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  294. package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
  295. package/dist/collection/components/six-progress-bar/six-progress-bar.js +65 -65
  296. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  297. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  298. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  299. package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
  300. package/dist/collection/components/six-progress-ring/six-progress-ring.js +100 -99
  301. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  302. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  303. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  304. package/dist/collection/components/six-radio/six-radio.css +1 -1
  305. package/dist/collection/components/six-radio/six-radio.js +323 -388
  306. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  307. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  308. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  309. package/dist/collection/components/six-range/six-range.css +5 -2
  310. package/dist/collection/components/six-range/six-range.js +572 -591
  311. package/dist/collection/components/six-range/six-range.js.map +1 -1
  312. package/dist/collection/components/six-range/test/six-range.spec.js +34 -0
  313. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  314. package/dist/collection/components/six-root/six-root.js +87 -153
  315. package/dist/collection/components/six-root/six-root.js.map +1 -1
  316. package/dist/collection/components/six-root/test/six-root.spec.js +36 -0
  317. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  318. package/dist/collection/components/six-search-field/six-search-field.css +1 -1
  319. package/dist/collection/components/six-search-field/six-search-field.js +172 -166
  320. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  321. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  322. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  323. package/dist/collection/components/six-select/six-select.css +61 -73
  324. package/dist/collection/components/six-select/six-select.js +1106 -1024
  325. package/dist/collection/components/six-select/six-select.js.map +1 -1
  326. package/dist/collection/components/six-select/test/six-select.spec.js +102 -0
  327. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  328. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  329. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  330. package/dist/collection/components/six-select/util.js +52 -0
  331. package/dist/collection/components/six-select/util.js.map +1 -0
  332. package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
  333. package/dist/collection/components/six-sidebar/six-sidebar.js +470 -435
  334. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  335. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  336. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  337. package/dist/collection/components/six-sidebar-item/six-sidebar-item.css +6 -1
  338. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +102 -83
  339. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  340. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  341. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  342. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +12 -1
  343. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +183 -151
  344. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  345. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  346. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  347. package/dist/collection/components/six-spinner/six-spinner.css +1 -1
  348. package/dist/collection/components/six-spinner/six-spinner.js +48 -47
  349. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  350. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  351. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  352. package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
  353. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +46 -45
  354. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  355. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  356. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  357. package/dist/collection/components/six-switch/six-switch.css +81 -1
  358. package/dist/collection/components/six-switch/six-switch.js +389 -378
  359. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  360. package/dist/collection/components/six-switch/test/six-switch.spec.js +73 -0
  361. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  362. package/dist/collection/components/six-tab/six-tab.css +55 -6
  363. package/dist/collection/components/six-tab/six-tab.js +207 -184
  364. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  365. package/dist/collection/components/six-tab-group/six-tab-group.css +1 -32
  366. package/dist/collection/components/six-tab-group/six-tab-group.js +316 -335
  367. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  368. package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
  369. package/dist/collection/components/six-tab-panel/six-tab-panel.js +64 -64
  370. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  371. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  372. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  373. package/dist/collection/components/six-tag/six-tag.css +7 -1
  374. package/dist/collection/components/six-tag/six-tag.js +162 -142
  375. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  376. package/dist/collection/components/six-tag/test/six-tag.spec.js +54 -0
  377. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  378. package/dist/collection/components/six-textarea/six-textarea.css +5 -2
  379. package/dist/collection/components/six-textarea/six-textarea.js +796 -882
  380. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  381. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +119 -0
  382. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  383. package/dist/collection/components/six-tile/six-tile.css +2 -2
  384. package/dist/collection/components/six-tile/six-tile.js +300 -299
  385. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  386. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  387. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  388. package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
  389. package/dist/collection/components/six-timepicker/six-timepicker.js +829 -911
  390. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  391. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  392. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  393. package/dist/collection/components/six-tooltip/six-tooltip.css +2 -2
  394. package/dist/collection/components/six-tooltip/six-tooltip.js +405 -402
  395. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  396. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  397. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  398. package/dist/collection/functional-components/form-control/form-control.js +20 -19
  399. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  400. package/dist/collection/index.js +2 -1
  401. package/dist/collection/index.js.map +1 -1
  402. package/dist/collection/testUtil/delay.js +1 -1
  403. package/dist/collection/testUtil/delay.js.map +1 -1
  404. package/dist/collection/utils/alert.js +54 -0
  405. package/dist/collection/utils/alert.js.map +1 -0
  406. package/dist/collection/utils/animation.js +34 -0
  407. package/dist/collection/utils/animation.js.map +1 -0
  408. package/dist/collection/utils/date-util.js +536 -502
  409. package/dist/collection/utils/date-util.js.map +1 -1
  410. package/dist/collection/utils/date-util.spec.js +995 -0
  411. package/dist/collection/utils/date-util.spec.js.map +1 -0
  412. package/dist/collection/utils/error-messages.js +112 -0
  413. package/dist/collection/utils/error-messages.js.map +1 -0
  414. package/dist/collection/utils/event-listeners.js +53 -37
  415. package/dist/collection/utils/event-listeners.js.map +1 -1
  416. package/dist/collection/utils/execution-control.js +14 -13
  417. package/dist/collection/utils/execution-control.js.map +1 -1
  418. package/dist/collection/utils/focus-visible.js +28 -28
  419. package/dist/collection/utils/focus-visible.js.map +1 -1
  420. package/dist/collection/utils/form.js +15 -0
  421. package/dist/collection/utils/form.js.map +1 -0
  422. package/dist/collection/utils/modal.js +25 -24
  423. package/dist/collection/utils/modal.js.map +1 -1
  424. package/dist/collection/utils/offset.js +4 -4
  425. package/dist/collection/utils/offset.js.map +1 -1
  426. package/dist/collection/utils/popover.js +104 -90
  427. package/dist/collection/utils/popover.js.map +1 -1
  428. package/dist/collection/utils/popup.js +95 -0
  429. package/dist/collection/utils/popup.js.map +1 -0
  430. package/dist/collection/utils/scroll.js +28 -28
  431. package/dist/collection/utils/scroll.js.map +1 -1
  432. package/dist/collection/utils/scroll.spec.js +122 -0
  433. package/dist/collection/utils/scroll.spec.js.map +1 -0
  434. package/dist/collection/utils/slot.js +30 -46
  435. package/dist/collection/utils/slot.js.map +1 -1
  436. package/dist/collection/utils/support.js +10 -10
  437. package/dist/collection/utils/support.js.map +1 -1
  438. package/dist/collection/utils/tabbable.js +17 -17
  439. package/dist/collection/utils/tabbable.js.map +1 -1
  440. package/dist/collection/utils/time.util.js +73 -59
  441. package/dist/collection/utils/time.util.js.map +1 -1
  442. package/dist/collection/utils/time.util.spec.js +368 -0
  443. package/dist/collection/utils/time.util.spec.js.map +1 -0
  444. package/dist/collection/utils/type-check.js +0 -1
  445. package/dist/collection/utils/type-check.js.map +1 -1
  446. package/dist/components/event-listeners.js +53 -37
  447. package/dist/components/event-listeners.js.map +1 -1
  448. package/dist/components/execution-control.js +14 -11
  449. package/dist/components/execution-control.js.map +1 -1
  450. package/dist/components/focus-visible.js +28 -28
  451. package/dist/components/focus-visible.js.map +1 -1
  452. package/dist/components/form-control.js +26 -24
  453. package/dist/components/form-control.js.map +1 -1
  454. package/dist/components/form.js +18 -0
  455. package/dist/components/form.js.map +1 -0
  456. package/dist/components/index.d.ts +6 -0
  457. package/dist/components/index.js +118 -65
  458. package/dist/components/index.js.map +1 -1
  459. package/dist/components/modal.js +35 -34
  460. package/dist/components/modal.js.map +1 -1
  461. package/dist/components/popover.js +108 -100
  462. package/dist/components/popover.js.map +1 -1
  463. package/dist/components/scroll.js +32 -32
  464. package/dist/components/scroll.js.map +1 -1
  465. package/dist/components/six-alert.d.ts +2 -2
  466. package/dist/components/six-alert.js +176 -146
  467. package/dist/components/six-alert.js.map +1 -1
  468. package/dist/components/six-avatar.d.ts +2 -2
  469. package/dist/components/six-avatar.js +45 -48
  470. package/dist/components/six-avatar.js.map +1 -1
  471. package/dist/components/six-badge.d.ts +2 -2
  472. package/dist/components/six-badge.js +40 -40
  473. package/dist/components/six-badge.js.map +1 -1
  474. package/dist/components/six-button.d.ts +2 -2
  475. package/dist/components/six-button.js +1 -140
  476. package/dist/components/six-button.js.map +1 -1
  477. package/dist/components/six-button2.js +146 -0
  478. package/dist/components/six-button2.js.map +1 -0
  479. package/dist/components/six-card.d.ts +2 -2
  480. package/dist/components/six-card.js +21 -21
  481. package/dist/components/six-card.js.map +1 -1
  482. package/dist/components/six-checkbox.d.ts +2 -2
  483. package/dist/components/six-checkbox.js +1 -186
  484. package/dist/components/six-checkbox.js.map +1 -1
  485. package/dist/components/six-checkbox2.js +165 -0
  486. package/dist/components/six-checkbox2.js.map +1 -0
  487. package/dist/components/six-datepicker.d.ts +2 -2
  488. package/dist/components/six-datepicker.js +947 -1045
  489. package/dist/components/six-datepicker.js.map +1 -1
  490. package/dist/components/six-details.d.ts +2 -2
  491. package/dist/components/six-details2.js +158 -155
  492. package/dist/components/six-details2.js.map +1 -1
  493. package/dist/components/six-dialog.d.ts +2 -2
  494. package/dist/components/six-dialog.js +160 -160
  495. package/dist/components/six-dialog.js.map +1 -1
  496. package/dist/components/six-drawer.d.ts +2 -2
  497. package/dist/components/six-drawer.js +177 -179
  498. package/dist/components/six-drawer.js.map +1 -1
  499. package/dist/components/six-dropdown.d.ts +2 -2
  500. package/dist/components/six-dropdown2.js +549 -448
  501. package/dist/components/six-dropdown2.js.map +1 -1
  502. package/dist/components/six-error-page.d.ts +2 -2
  503. package/dist/components/six-error-page.js +106 -108
  504. package/dist/components/six-error-page.js.map +1 -1
  505. package/dist/components/{six-form.d.ts → six-error.d.ts} +4 -4
  506. package/dist/components/six-error.js +8 -0
  507. package/dist/components/six-error.js.map +1 -0
  508. package/dist/components/six-error2.js +32 -0
  509. package/dist/components/six-error2.js.map +1 -0
  510. package/dist/components/six-file-list-item.d.ts +2 -2
  511. package/dist/components/six-file-list-item.js +59 -59
  512. package/dist/components/six-file-list-item.js.map +1 -1
  513. package/dist/components/six-file-list.d.ts +2 -2
  514. package/dist/components/six-file-list.js +20 -20
  515. package/dist/components/six-file-list.js.map +1 -1
  516. package/dist/components/six-file-upload.d.ts +2 -2
  517. package/dist/components/six-file-upload.js +125 -125
  518. package/dist/components/six-file-upload.js.map +1 -1
  519. package/dist/components/six-footer.d.ts +2 -2
  520. package/dist/components/six-footer.js +21 -21
  521. package/dist/components/six-footer.js.map +1 -1
  522. package/dist/components/six-group-label.d.ts +2 -2
  523. package/dist/components/six-group-label.js +71 -61
  524. package/dist/components/six-group-label.js.map +1 -1
  525. package/dist/components/six-header.d.ts +2 -2
  526. package/dist/components/six-header.js +239 -187
  527. package/dist/components/six-header.js.map +1 -1
  528. package/dist/components/six-icon-button.d.ts +2 -2
  529. package/dist/components/six-icon-button2.js +55 -55
  530. package/dist/components/six-icon-button2.js.map +1 -1
  531. package/dist/components/six-icon.d.ts +2 -2
  532. package/dist/components/six-icon2.js +38 -38
  533. package/dist/components/six-icon2.js.map +1 -1
  534. package/dist/components/six-input.d.ts +2 -2
  535. package/dist/components/six-input2.js +253 -304
  536. package/dist/components/six-input2.js.map +1 -1
  537. package/dist/components/six-item-picker.d.ts +2 -2
  538. package/dist/components/six-item-picker2.js +458 -375
  539. package/dist/components/six-item-picker2.js.map +1 -1
  540. package/dist/components/six-language-switcher.d.ts +2 -2
  541. package/dist/components/six-language-switcher.js +64 -62
  542. package/dist/components/six-language-switcher.js.map +1 -1
  543. package/dist/components/six-layout-grid.d.ts +2 -2
  544. package/dist/components/six-layout-grid.js +38 -34
  545. package/dist/components/six-layout-grid.js.map +1 -1
  546. package/dist/components/six-main-container.d.ts +2 -2
  547. package/dist/components/six-main-container.js +24 -24
  548. package/dist/components/six-main-container.js.map +1 -1
  549. package/dist/components/six-menu-divider.d.ts +2 -2
  550. package/dist/components/six-menu-divider.js +21 -21
  551. package/dist/components/six-menu-divider.js.map +1 -1
  552. package/dist/components/six-menu-item.d.ts +2 -2
  553. package/dist/components/six-menu-item2.js +98 -73
  554. package/dist/components/six-menu-item2.js.map +1 -1
  555. package/dist/components/six-menu-label.d.ts +2 -2
  556. package/dist/components/six-menu-label.js +21 -21
  557. package/dist/components/six-menu-label.js.map +1 -1
  558. package/dist/components/six-menu.d.ts +2 -2
  559. package/dist/components/six-menu2.js +255 -232
  560. package/dist/components/six-menu2.js.map +1 -1
  561. package/dist/components/six-picto.d.ts +2 -2
  562. package/dist/components/six-picto2.js +29 -26
  563. package/dist/components/six-picto2.js.map +1 -1
  564. package/dist/components/six-progress-bar.d.ts +2 -2
  565. package/dist/components/six-progress-bar.js +31 -31
  566. package/dist/components/six-progress-bar.js.map +1 -1
  567. package/dist/components/six-progress-ring.d.ts +2 -2
  568. package/dist/components/six-progress-ring.js +48 -46
  569. package/dist/components/six-progress-ring.js.map +1 -1
  570. package/dist/components/six-radio.d.ts +2 -2
  571. package/dist/components/six-radio.js +129 -139
  572. package/dist/components/six-radio.js.map +1 -1
  573. package/dist/components/six-range.d.ts +2 -2
  574. package/dist/components/six-range.js +233 -218
  575. package/dist/components/six-range.js.map +1 -1
  576. package/dist/components/six-root.d.ts +2 -2
  577. package/dist/components/six-root.js +39 -66
  578. package/dist/components/six-root.js.map +1 -1
  579. package/dist/components/six-search-field.d.ts +2 -2
  580. package/dist/components/six-search-field.js +79 -66
  581. package/dist/components/six-search-field.js.map +1 -1
  582. package/dist/components/six-select.d.ts +2 -2
  583. package/dist/components/six-select.js +714 -479
  584. package/dist/components/six-select.js.map +1 -1
  585. package/dist/components/six-sidebar-item-group.d.ts +2 -2
  586. package/dist/components/six-sidebar-item-group.js +87 -71
  587. package/dist/components/six-sidebar-item-group.js.map +1 -1
  588. package/dist/components/six-sidebar-item.d.ts +2 -2
  589. package/dist/components/six-sidebar-item.js +35 -32
  590. package/dist/components/six-sidebar-item.js.map +1 -1
  591. package/dist/components/six-sidebar.d.ts +2 -2
  592. package/dist/components/six-sidebar.js +201 -178
  593. package/dist/components/six-sidebar.js.map +1 -1
  594. package/dist/components/six-spinner.d.ts +2 -2
  595. package/dist/components/six-spinner2.js +30 -30
  596. package/dist/components/six-spinner2.js.map +1 -1
  597. package/dist/components/six-stage-indicator.d.ts +2 -2
  598. package/dist/components/six-stage-indicator2.js +29 -29
  599. package/dist/components/six-stage-indicator2.js.map +1 -1
  600. package/dist/components/six-switch.d.ts +2 -2
  601. package/dist/components/six-switch.js +144 -122
  602. package/dist/components/six-switch.js.map +1 -1
  603. package/dist/components/six-tab-group.d.ts +2 -2
  604. package/dist/components/six-tab-group.js +256 -241
  605. package/dist/components/six-tab-group.js.map +1 -1
  606. package/dist/components/six-tab-panel.d.ts +2 -2
  607. package/dist/components/six-tab-panel.js +30 -30
  608. package/dist/components/six-tab-panel.js.map +1 -1
  609. package/dist/components/six-tab.d.ts +2 -2
  610. package/dist/components/six-tab.js +85 -67
  611. package/dist/components/six-tab.js.map +1 -1
  612. package/dist/components/six-tag.d.ts +2 -2
  613. package/dist/components/six-tag.js +98 -1
  614. package/dist/components/six-tag.js.map +1 -1
  615. package/dist/components/six-textarea.d.ts +2 -2
  616. package/dist/components/six-textarea.js +231 -246
  617. package/dist/components/six-textarea.js.map +1 -1
  618. package/dist/components/six-tile.d.ts +2 -2
  619. package/dist/components/six-tile.js +116 -119
  620. package/dist/components/six-tile.js.map +1 -1
  621. package/dist/components/six-timepicker.d.ts +2 -2
  622. package/dist/components/six-timepicker.js +1 -1
  623. package/dist/components/six-timepicker2.js +508 -515
  624. package/dist/components/six-timepicker2.js.map +1 -1
  625. package/dist/components/six-tooltip.d.ts +2 -2
  626. package/dist/components/six-tooltip2.js +169 -170
  627. package/dist/components/six-tooltip2.js.map +1 -1
  628. package/dist/components/slot.js +31 -31
  629. package/dist/components/slot.js.map +1 -1
  630. package/dist/components.d.ts +341 -88
  631. package/dist/components.json +5090 -1056
  632. package/dist/esm/error-messages-1eaaad23.js +115 -0
  633. package/dist/esm/error-messages-1eaaad23.js.map +1 -0
  634. package/dist/esm/event-listeners-706d4309.js +59 -0
  635. package/dist/esm/event-listeners-706d4309.js.map +1 -0
  636. package/dist/esm/{execution-control-1a60d709.js → execution-control-2ebaf4ef.js} +15 -12
  637. package/dist/esm/execution-control-2ebaf4ef.js.map +1 -0
  638. package/dist/esm/focus-visible-d9dbfeef.js +45 -0
  639. package/dist/esm/focus-visible-d9dbfeef.js.map +1 -0
  640. package/dist/esm/form-4b145b7a.js +18 -0
  641. package/dist/esm/form-4b145b7a.js.map +1 -0
  642. package/dist/esm/form-control-d403a9cf.js +34 -0
  643. package/dist/esm/form-control-d403a9cf.js.map +1 -0
  644. package/dist/esm/{index-5c0f6628.js → index-79d4ef67.js} +587 -480
  645. package/dist/esm/index-79d4ef67.js.map +1 -0
  646. package/dist/esm/index.js +56 -0
  647. package/dist/esm/index.js.map +1 -1
  648. package/dist/esm/loader.js +4 -13
  649. package/dist/esm/loader.js.map +1 -1
  650. package/dist/esm/modal-96526245.js +49 -0
  651. package/dist/esm/modal-96526245.js.map +1 -0
  652. package/dist/esm/{popover-bd2c2fca.js → popover-25996e62.js} +109 -101
  653. package/dist/esm/popover-25996e62.js.map +1 -0
  654. package/dist/esm/popup-7209e9d5.js +98 -0
  655. package/dist/esm/popup-7209e9d5.js.map +1 -0
  656. package/dist/esm/scroll-3e16851e.js +64 -0
  657. package/dist/esm/scroll-3e16851e.js.map +1 -0
  658. package/dist/esm/six-alert.entry.js +141 -114
  659. package/dist/esm/six-alert.entry.js.map +1 -1
  660. package/dist/esm/six-avatar.entry.js +21 -24
  661. package/dist/esm/six-avatar.entry.js.map +1 -1
  662. package/dist/esm/six-badge.entry.js +23 -23
  663. package/dist/esm/six-badge.entry.js.map +1 -1
  664. package/dist/esm/six-button.entry.js +94 -92
  665. package/dist/esm/six-button.entry.js.map +1 -1
  666. package/dist/esm/six-card.entry.js +8 -8
  667. package/dist/esm/six-card.entry.js.map +1 -1
  668. package/dist/esm/six-checkbox_2.entry.js +185 -0
  669. package/dist/esm/six-checkbox_2.entry.js.map +1 -0
  670. package/dist/esm/six-datepicker.entry.js +875 -980
  671. package/dist/esm/six-datepicker.entry.js.map +1 -1
  672. package/dist/esm/six-details.entry.js +127 -126
  673. package/dist/esm/six-details.entry.js.map +1 -1
  674. package/dist/esm/six-dialog.entry.js +130 -132
  675. package/dist/esm/six-dialog.entry.js.map +1 -1
  676. package/dist/esm/six-drawer.entry.js +145 -149
  677. package/dist/esm/six-drawer.entry.js.map +1 -1
  678. package/dist/esm/six-dropdown_2.entry.js +710 -619
  679. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  680. package/dist/esm/six-error-page.entry.js +82 -84
  681. package/dist/esm/six-error-page.entry.js.map +1 -1
  682. package/dist/esm/six-error.entry.js +17 -0
  683. package/dist/esm/six-error.entry.js.map +1 -0
  684. package/dist/esm/six-file-list-item.entry.js +34 -34
  685. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  686. package/dist/esm/six-file-list.entry.js +7 -7
  687. package/dist/esm/six-file-list.entry.js.map +1 -1
  688. package/dist/esm/six-file-upload.entry.js +100 -100
  689. package/dist/esm/six-file-upload.entry.js.map +1 -1
  690. package/dist/esm/six-footer.entry.js +8 -8
  691. package/dist/esm/six-footer.entry.js.map +1 -1
  692. package/dist/esm/six-group-label.entry.js +43 -42
  693. package/dist/esm/six-group-label.entry.js.map +1 -1
  694. package/dist/esm/six-header.entry.js +172 -135
  695. package/dist/esm/six-header.entry.js.map +1 -1
  696. package/dist/esm/six-icon-button.entry.js +32 -32
  697. package/dist/esm/six-icon-button.entry.js.map +1 -1
  698. package/dist/esm/six-icon.entry.js +22 -22
  699. package/dist/esm/six-icon.entry.js.map +1 -1
  700. package/dist/esm/six-input.entry.js +186 -242
  701. package/dist/esm/six-input.entry.js.map +1 -1
  702. package/dist/esm/six-item-picker.entry.js +413 -336
  703. package/dist/esm/six-item-picker.entry.js.map +1 -1
  704. package/dist/esm/six-language-switcher.entry.js +46 -46
  705. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  706. package/dist/esm/six-layout-grid.entry.js +21 -19
  707. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  708. package/dist/esm/six-main-container.entry.js +9 -9
  709. package/dist/esm/six-main-container.entry.js.map +1 -1
  710. package/dist/esm/six-menu-divider.entry.js +8 -8
  711. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  712. package/dist/esm/six-menu-label.entry.js +8 -8
  713. package/dist/esm/six-menu-label.entry.js.map +1 -1
  714. package/dist/esm/six-picto.entry.js +14 -11
  715. package/dist/esm/six-picto.entry.js.map +1 -1
  716. package/dist/esm/six-progress-bar.entry.js +15 -15
  717. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  718. package/dist/esm/six-progress-ring.entry.js +29 -29
  719. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  720. package/dist/esm/six-radio.entry.js +104 -113
  721. package/dist/esm/six-radio.entry.js.map +1 -1
  722. package/dist/esm/six-range.entry.js +185 -181
  723. package/dist/esm/six-range.entry.js.map +1 -1
  724. package/dist/esm/six-root.entry.js +11 -30
  725. package/dist/esm/six-root.entry.js.map +1 -1
  726. package/dist/esm/six-search-field.entry.js +44 -39
  727. package/dist/esm/six-search-field.entry.js.map +1 -1
  728. package/dist/esm/six-select.entry.js +494 -393
  729. package/dist/esm/six-select.entry.js.map +1 -1
  730. package/dist/esm/six-sidebar-item-group.entry.js +56 -41
  731. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  732. package/dist/esm/six-sidebar-item.entry.js +17 -15
  733. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  734. package/dist/esm/six-sidebar.entry.js +176 -155
  735. package/dist/esm/six-sidebar.entry.js.map +1 -1
  736. package/dist/esm/six-spinner.entry.js +15 -15
  737. package/dist/esm/six-spinner.entry.js.map +1 -1
  738. package/dist/esm/six-stage-indicator.entry.js +18 -0
  739. package/dist/esm/six-stage-indicator.entry.js.map +1 -0
  740. package/dist/esm/six-switch.entry.js +107 -95
  741. package/dist/esm/six-switch.entry.js.map +1 -1
  742. package/dist/esm/six-tab-group.entry.js +226 -213
  743. package/dist/esm/six-tab-group.entry.js.map +1 -1
  744. package/dist/esm/six-tab-panel.entry.js +14 -14
  745. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  746. package/dist/esm/six-tab.entry.js +55 -37
  747. package/dist/esm/six-tab.entry.js.map +1 -1
  748. package/dist/esm/six-tag.entry.js +55 -36
  749. package/dist/esm/six-tag.entry.js.map +1 -1
  750. package/dist/esm/six-textarea.entry.js +182 -205
  751. package/dist/esm/six-textarea.entry.js.map +1 -1
  752. package/dist/esm/six-tile.entry.js +75 -78
  753. package/dist/esm/six-tile.entry.js.map +1 -1
  754. package/dist/esm/six-timepicker.entry.js +344 -405
  755. package/dist/esm/six-timepicker.entry.js.map +1 -1
  756. package/dist/esm/six-tooltip.entry.js +145 -148
  757. package/dist/esm/six-tooltip.entry.js.map +1 -1
  758. package/dist/esm/slot-56531341.js +47 -0
  759. package/dist/esm/slot-56531341.js.map +1 -0
  760. package/dist/esm/types-a07bb999.js +19 -0
  761. package/dist/esm/types-a07bb999.js.map +1 -0
  762. package/dist/esm/ui-library.js +4 -7
  763. package/dist/esm/ui-library.js.map +1 -1
  764. package/dist/types/components/six-alert/six-alert.d.ts +47 -42
  765. package/dist/types/components/six-avatar/six-avatar.d.ts +11 -12
  766. package/dist/types/components/six-badge/six-badge.d.ts +7 -8
  767. package/dist/types/components/six-button/six-button.d.ts +48 -49
  768. package/dist/types/components/six-card/six-card.d.ts +1 -1
  769. package/dist/types/components/six-checkbox/six-checkbox.d.ts +58 -67
  770. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  771. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  772. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  773. package/dist/types/components/six-datepicker/six-date-formats.d.ts +20 -20
  774. package/dist/types/components/six-datepicker/six-datepicker.d.ts +189 -198
  775. package/dist/types/components/six-details/six-details.d.ts +42 -42
  776. package/dist/types/components/six-dialog/six-dialog.d.ts +51 -51
  777. package/dist/types/components/six-drawer/six-drawer.d.ts +58 -59
  778. package/dist/types/components/six-dropdown/six-dropdown.d.ts +131 -116
  779. package/dist/types/components/six-error/six-error.d.ts +9 -0
  780. package/dist/types/components/six-error-page/six-error-page.d.ts +25 -25
  781. package/dist/types/components/six-file-list/six-file-list.d.ts +1 -1
  782. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +23 -23
  783. package/dist/types/components/six-file-upload/six-file-upload.d.ts +33 -33
  784. package/dist/types/components/six-footer/six-footer.d.ts +1 -1
  785. package/dist/types/components/six-group-label/six-group-label.d.ts +22 -22
  786. package/dist/types/components/six-header/six-header.d.ts +59 -66
  787. package/dist/types/components/six-icon/six-icon.d.ts +5 -5
  788. package/dist/types/components/six-icon-button/six-icon-button.d.ts +18 -18
  789. package/dist/types/components/six-input/six-input.d.ts +112 -129
  790. package/dist/types/components/six-item-picker/six-item-picker.d.ts +97 -93
  791. package/dist/types/components/six-item-picker/types.d.ts +7 -7
  792. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +15 -15
  793. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +6 -6
  794. package/dist/types/components/six-main-container/six-main-container.d.ts +4 -4
  795. package/dist/types/components/six-menu/six-menu.d.ts +67 -64
  796. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +1 -1
  797. package/dist/types/components/six-menu-item/six-menu-item.d.ts +27 -21
  798. package/dist/types/components/six-menu-label/six-menu-label.d.ts +1 -1
  799. package/dist/types/components/six-picto/six-picto.d.ts +6 -6
  800. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +5 -5
  801. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +11 -11
  802. package/dist/types/components/six-radio/six-radio.d.ts +38 -49
  803. package/dist/types/components/six-range/six-range.d.ts +75 -83
  804. package/dist/types/components/six-root/six-root.d.ts +10 -23
  805. package/dist/types/components/six-search-field/six-search-field.d.ts +20 -21
  806. package/dist/types/components/six-select/six-select.d.ts +137 -136
  807. package/dist/types/components/six-select/util.d.ts +7 -0
  808. package/dist/types/components/six-sidebar/six-sidebar.d.ts +45 -45
  809. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +12 -7
  810. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +26 -19
  811. package/dist/types/components/six-spinner/six-spinner.d.ts +6 -5
  812. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +3 -3
  813. package/dist/types/components/six-switch/six-switch.d.ts +49 -45
  814. package/dist/types/components/six-tab/six-tab.d.ts +20 -20
  815. package/dist/types/components/six-tab-group/six-tab-group.d.ts +36 -40
  816. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +7 -7
  817. package/dist/types/components/six-tag/six-tag.d.ts +20 -14
  818. package/dist/types/components/six-textarea/six-textarea.d.ts +89 -114
  819. package/dist/types/components/six-tile/six-tile.d.ts +31 -32
  820. package/dist/types/components/six-timepicker/six-timepicker.d.ts +156 -170
  821. package/dist/types/components/six-tooltip/six-tooltip.d.ts +55 -57
  822. package/dist/types/components.d.ts +731 -469
  823. package/dist/types/functional-components/form-control/form-control.d.ts +34 -31
  824. package/dist/types/index.d.ts +2 -0
  825. package/dist/types/stencil-public-runtime.d.ts +49 -5
  826. package/dist/types/testUtil/delay.d.ts +1 -1
  827. package/dist/types/types.d.ts +3 -0
  828. package/dist/types/utils/alert.d.ts +10 -0
  829. package/dist/types/utils/animation.d.ts +12 -0
  830. package/dist/types/utils/date-util.d.ts +73 -57
  831. package/dist/types/utils/error-messages.d.ts +44 -0
  832. package/dist/types/utils/event-listeners.d.ts +11 -10
  833. package/dist/types/utils/execution-control.d.ts +1 -3
  834. package/dist/types/utils/focus-visible.d.ts +2 -2
  835. package/dist/types/utils/form.d.ts +1 -0
  836. package/dist/types/utils/modal.d.ts +8 -8
  837. package/dist/types/utils/offset.d.ts +2 -2
  838. package/dist/types/utils/popover.d.ts +22 -22
  839. package/dist/types/utils/popup.d.ts +9 -0
  840. package/dist/types/utils/slot.d.ts +2 -8
  841. package/dist/types/utils/tabbable.d.ts +1 -1
  842. package/dist/types/utils/time.util.d.ts +18 -9
  843. package/dist/types/utils/type-check.d.ts +3 -4
  844. package/dist/types/utils/types.d.ts +1 -1
  845. package/dist/ui-library/index.esm.js +1 -1
  846. package/dist/ui-library/index.esm.js.map +1 -1
  847. package/dist/ui-library/{p-d5633a29.entry.js → p-0440335d.entry.js} +2 -2
  848. package/dist/ui-library/p-0440335d.entry.js.map +1 -0
  849. package/dist/ui-library/p-04cc397c.entry.js +2 -0
  850. package/dist/ui-library/p-04cc397c.entry.js.map +1 -0
  851. package/dist/ui-library/p-06ba4450.js +2 -0
  852. package/dist/ui-library/p-06ba4450.js.map +1 -0
  853. package/dist/ui-library/p-0cebf1d2.js +2 -0
  854. package/dist/ui-library/p-0cebf1d2.js.map +1 -0
  855. package/dist/ui-library/p-0edd3091.entry.js +2 -0
  856. package/dist/ui-library/p-0edd3091.entry.js.map +1 -0
  857. package/dist/ui-library/p-150b7664.entry.js +2 -0
  858. package/dist/ui-library/p-150b7664.entry.js.map +1 -0
  859. package/dist/ui-library/p-1f5840b5.entry.js +2 -0
  860. package/dist/ui-library/p-1f5840b5.entry.js.map +1 -0
  861. package/dist/ui-library/p-28cc013e.entry.js +2 -0
  862. package/dist/ui-library/p-28cc013e.entry.js.map +1 -0
  863. package/dist/ui-library/p-3424bbc0.entry.js +2 -0
  864. package/dist/ui-library/p-3424bbc0.entry.js.map +1 -0
  865. package/dist/ui-library/p-348c68a8.entry.js +2 -0
  866. package/dist/ui-library/p-348c68a8.entry.js.map +1 -0
  867. package/dist/ui-library/p-3723ca06.entry.js +2 -0
  868. package/dist/ui-library/p-3723ca06.entry.js.map +1 -0
  869. package/dist/ui-library/p-37aeac5e.entry.js +2 -0
  870. package/dist/ui-library/p-37aeac5e.entry.js.map +1 -0
  871. package/dist/ui-library/p-3d7fb086.entry.js +2 -0
  872. package/dist/ui-library/p-3d7fb086.entry.js.map +1 -0
  873. package/dist/ui-library/{p-19b50b5a.entry.js → p-457f7373.entry.js} +2 -2
  874. package/dist/ui-library/p-457f7373.entry.js.map +1 -0
  875. package/dist/ui-library/p-4a667f31.entry.js +2 -0
  876. package/dist/ui-library/p-4a667f31.entry.js.map +1 -0
  877. package/dist/ui-library/p-50dae789.entry.js +2 -0
  878. package/dist/ui-library/p-50dae789.entry.js.map +1 -0
  879. package/dist/ui-library/p-546e33d9.entry.js +2 -0
  880. package/dist/ui-library/p-546e33d9.entry.js.map +1 -0
  881. package/dist/ui-library/{p-73597d13.entry.js → p-5db3a705.entry.js} +2 -2
  882. package/dist/ui-library/p-5db3a705.entry.js.map +1 -0
  883. package/dist/ui-library/p-61e66671.js +2 -0
  884. package/dist/ui-library/p-61e66671.js.map +1 -0
  885. package/dist/ui-library/p-6296779b.entry.js +2 -0
  886. package/dist/ui-library/p-6296779b.entry.js.map +1 -0
  887. package/dist/ui-library/p-64b4755d.entry.js +2 -0
  888. package/dist/ui-library/p-64b4755d.entry.js.map +1 -0
  889. package/dist/ui-library/p-6c1b046e.entry.js +2 -0
  890. package/dist/ui-library/p-6c1b046e.entry.js.map +1 -0
  891. package/dist/ui-library/p-7115316e.entry.js +2 -0
  892. package/dist/ui-library/p-7115316e.entry.js.map +1 -0
  893. package/dist/ui-library/p-73dd493f.entry.js +2 -0
  894. package/dist/ui-library/p-73dd493f.entry.js.map +1 -0
  895. package/dist/ui-library/p-7f856f00.js +2 -0
  896. package/dist/ui-library/p-7f856f00.js.map +1 -0
  897. package/dist/ui-library/{p-eb8f05a9.js → p-8227aaed.js} +2 -2
  898. package/dist/ui-library/p-8227aaed.js.map +1 -0
  899. package/dist/ui-library/p-842b492e.js +2 -0
  900. package/dist/ui-library/p-842b492e.js.map +1 -0
  901. package/dist/ui-library/{p-25a3bf57.js → p-862d474e.js} +1 -1
  902. package/dist/ui-library/p-862d474e.js.map +1 -0
  903. package/dist/ui-library/p-870b988d.entry.js +2 -0
  904. package/dist/ui-library/p-870b988d.entry.js.map +1 -0
  905. package/dist/ui-library/{p-19364560.entry.js → p-884c5cf9.entry.js} +2 -2
  906. package/dist/ui-library/p-884c5cf9.entry.js.map +1 -0
  907. package/dist/ui-library/p-8888a367.entry.js +2 -0
  908. package/dist/ui-library/p-8888a367.entry.js.map +1 -0
  909. package/dist/ui-library/p-8bfb4bfc.js +2 -0
  910. package/dist/ui-library/p-8bfb4bfc.js.map +1 -0
  911. package/dist/ui-library/p-8ced18d8.entry.js +2 -0
  912. package/dist/ui-library/p-8ced18d8.entry.js.map +1 -0
  913. package/dist/ui-library/{p-820c23f0.entry.js → p-935c78a7.entry.js} +2 -2
  914. package/dist/ui-library/p-935c78a7.entry.js.map +1 -0
  915. package/dist/ui-library/p-961bd001.entry.js +2 -0
  916. package/dist/ui-library/p-961bd001.entry.js.map +1 -0
  917. package/dist/ui-library/{p-4f8394d7.js → p-998de05d.js} +2 -2
  918. package/dist/ui-library/p-998de05d.js.map +1 -0
  919. package/dist/ui-library/p-9b08068d.entry.js +2 -0
  920. package/dist/ui-library/p-9b08068d.entry.js.map +1 -0
  921. package/dist/ui-library/p-9c79341d.entry.js +2 -0
  922. package/dist/ui-library/p-9c79341d.entry.js.map +1 -0
  923. package/dist/ui-library/p-a1502802.js +2 -0
  924. package/dist/ui-library/p-a1502802.js.map +1 -0
  925. package/dist/ui-library/p-a9c159f2.entry.js +2 -0
  926. package/dist/ui-library/p-a9c159f2.entry.js.map +1 -0
  927. package/dist/ui-library/p-ac57ba5c.entry.js +2 -0
  928. package/dist/ui-library/p-ac57ba5c.entry.js.map +1 -0
  929. package/dist/ui-library/p-af15381b.js +3 -0
  930. package/dist/ui-library/p-af15381b.js.map +1 -0
  931. package/dist/ui-library/p-b1a5f3cd.entry.js +2 -0
  932. package/dist/ui-library/p-b1a5f3cd.entry.js.map +1 -0
  933. package/dist/ui-library/p-b385a241.entry.js +2 -0
  934. package/dist/ui-library/p-b385a241.entry.js.map +1 -0
  935. package/dist/ui-library/p-b74c5d6b.entry.js +2 -0
  936. package/dist/ui-library/p-b74c5d6b.entry.js.map +1 -0
  937. package/dist/ui-library/p-bf2fb53f.entry.js +2 -0
  938. package/dist/ui-library/p-bf2fb53f.entry.js.map +1 -0
  939. package/dist/ui-library/p-c2c7370b.entry.js +2 -0
  940. package/dist/ui-library/p-c2c7370b.entry.js.map +1 -0
  941. package/dist/ui-library/p-caea1eb6.entry.js +2 -0
  942. package/dist/ui-library/p-caea1eb6.entry.js.map +1 -0
  943. package/dist/ui-library/p-d3f5b9a8.entry.js +2 -0
  944. package/dist/ui-library/p-d3f5b9a8.entry.js.map +1 -0
  945. package/dist/ui-library/p-d42b18eb.entry.js +2 -0
  946. package/dist/ui-library/p-d42b18eb.entry.js.map +1 -0
  947. package/dist/ui-library/p-d95e292e.entry.js +2 -0
  948. package/dist/ui-library/p-d95e292e.entry.js.map +1 -0
  949. package/dist/ui-library/p-da7f3dbd.entry.js +2 -0
  950. package/dist/ui-library/p-da7f3dbd.entry.js.map +1 -0
  951. package/dist/ui-library/p-dfb89b6a.entry.js +2 -0
  952. package/dist/ui-library/p-dfb89b6a.entry.js.map +1 -0
  953. package/dist/ui-library/p-e080d5b6.js +2 -0
  954. package/dist/ui-library/p-e080d5b6.js.map +1 -0
  955. package/dist/ui-library/p-e6032375.entry.js +2 -0
  956. package/dist/ui-library/p-e6032375.entry.js.map +1 -0
  957. package/dist/ui-library/p-e60d2324.entry.js +2 -0
  958. package/dist/ui-library/p-e60d2324.entry.js.map +1 -0
  959. package/dist/ui-library/p-e8298c6e.entry.js +2 -0
  960. package/dist/ui-library/p-e8298c6e.entry.js.map +1 -0
  961. package/dist/ui-library/p-ed279165.entry.js +2 -0
  962. package/dist/ui-library/p-ed279165.entry.js.map +1 -0
  963. package/dist/ui-library/p-ed61b75c.entry.js +2 -0
  964. package/dist/ui-library/p-ed61b75c.entry.js.map +1 -0
  965. package/dist/ui-library/p-f136a6b2.js +2 -0
  966. package/dist/ui-library/p-f136a6b2.js.map +1 -0
  967. package/dist/ui-library/p-f1ab3384.entry.js +2 -0
  968. package/dist/ui-library/p-f1ab3384.entry.js.map +1 -0
  969. package/dist/ui-library/p-f4ef481c.entry.js +2 -0
  970. package/dist/ui-library/p-f4ef481c.entry.js.map +1 -0
  971. package/dist/ui-library/p-f8cbb8da.entry.js +2 -0
  972. package/dist/ui-library/p-f8cbb8da.entry.js.map +1 -0
  973. package/dist/ui-library/ui-library.css +1 -10
  974. package/dist/ui-library/ui-library.esm.js +1 -1
  975. package/dist/ui-library/ui-library.esm.js.map +1 -1
  976. package/loader/index.d.ts +1 -1
  977. package/package.json +20 -21
  978. package/dist/cjs/event-listeners-74715e62.js +0 -45
  979. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  980. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  981. package/dist/cjs/focus-visible-0b352c74.js +0 -47
  982. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  983. package/dist/cjs/form-control-2c17c573.js +0 -34
  984. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  985. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  986. package/dist/cjs/modal-48d42228.js +0 -51
  987. package/dist/cjs/modal-48d42228.js.map +0 -1
  988. package/dist/cjs/popover-f743f62b.js.map +0 -1
  989. package/dist/cjs/scroll-76e6f5d7.js +0 -69
  990. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  991. package/dist/cjs/set-attributes_2.cjs.entry.js +0 -71
  992. package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
  993. package/dist/cjs/six-checkbox.cjs.entry.js +0 -159
  994. package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
  995. package/dist/cjs/six-form.cjs.entry.js +0 -231
  996. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  997. package/dist/cjs/six-menu-item.cjs.entry.js +0 -61
  998. package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
  999. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  1000. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  1001. package/dist/cjs/slot-ad537f24.js +0 -52
  1002. package/dist/cjs/slot-ad537f24.js.map +0 -1
  1003. package/dist/cjs/types-64878648.js +0 -17
  1004. package/dist/cjs/types-64878648.js.map +0 -1
  1005. package/dist/collection/components/six-form/six-form.css +0 -11
  1006. package/dist/collection/components/six-form/six-form.js +0 -419
  1007. package/dist/collection/components/six-form/six-form.js.map +0 -1
  1008. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  1009. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  1010. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  1011. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  1012. package/dist/collection/utils/as-array.js +0 -2
  1013. package/dist/collection/utils/as-array.js.map +0 -1
  1014. package/dist/collection/utils/matchers.js +0 -3
  1015. package/dist/collection/utils/matchers.js.map +0 -1
  1016. package/dist/collection/utils/testing.js +0 -39
  1017. package/dist/collection/utils/testing.js.map +0 -1
  1018. package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -72
  1019. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
  1020. package/dist/components/set-attributes.d.ts +0 -11
  1021. package/dist/components/set-attributes.js +0 -8
  1022. package/dist/components/set-attributes.js.map +0 -1
  1023. package/dist/components/set-attributes2.js +0 -69
  1024. package/dist/components/set-attributes2.js.map +0 -1
  1025. package/dist/components/six-form.js +0 -252
  1026. package/dist/components/six-form.js.map +0 -1
  1027. package/dist/components/six-tag2.js +0 -77
  1028. package/dist/components/six-tag2.js.map +0 -1
  1029. package/dist/esm/event-listeners-570a24ea.js +0 -43
  1030. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  1031. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  1032. package/dist/esm/focus-visible-97933ea9.js +0 -45
  1033. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  1034. package/dist/esm/form-control-3b440ea1.js +0 -32
  1035. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  1036. package/dist/esm/index-5c0f6628.js.map +0 -1
  1037. package/dist/esm/modal-5ebdc320.js +0 -48
  1038. package/dist/esm/modal-5ebdc320.js.map +0 -1
  1039. package/dist/esm/polyfills/css-shim.js +0 -1
  1040. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  1041. package/dist/esm/scroll-180b53fd.js +0 -64
  1042. package/dist/esm/set-attributes_2.entry.js +0 -66
  1043. package/dist/esm/set-attributes_2.entry.js.map +0 -1
  1044. package/dist/esm/six-checkbox.entry.js +0 -155
  1045. package/dist/esm/six-checkbox.entry.js.map +0 -1
  1046. package/dist/esm/six-form.entry.js +0 -227
  1047. package/dist/esm/six-form.entry.js.map +0 -1
  1048. package/dist/esm/six-menu-item.entry.js +0 -57
  1049. package/dist/esm/six-menu-item.entry.js.map +0 -1
  1050. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  1051. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  1052. package/dist/esm/slot-6f3984c7.js +0 -47
  1053. package/dist/esm/slot-6f3984c7.js.map +0 -1
  1054. package/dist/esm/types-4b10b413.js +0 -17
  1055. package/dist/esm/types-4b10b413.js.map +0 -1
  1056. package/dist/types/components/six-form/six-form.d.ts +0 -69
  1057. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  1058. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  1059. package/dist/types/utils/as-array.d.ts +0 -1
  1060. package/dist/types/utils/matchers.d.ts +0 -2
  1061. package/dist/types/utils/popper.d.ts +0 -33
  1062. package/dist/types/utils/testing.d.ts +0 -2
  1063. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
  1064. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  1065. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  1066. package/dist/ui-library/p-0786fa7c.js +0 -2
  1067. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  1068. package/dist/ui-library/p-097cced4.entry.js +0 -2
  1069. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  1070. package/dist/ui-library/p-0d79b0c6.entry.js +0 -2
  1071. package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
  1072. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  1073. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  1074. package/dist/ui-library/p-18ea0c56.js +0 -2
  1075. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  1076. package/dist/ui-library/p-19364560.entry.js.map +0 -1
  1077. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  1078. package/dist/ui-library/p-21859bca.entry.js +0 -2
  1079. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  1080. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  1081. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  1082. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  1083. package/dist/ui-library/p-308261c4.entry.js +0 -2
  1084. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  1085. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  1086. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  1087. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  1088. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  1089. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  1090. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  1091. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  1092. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  1093. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  1094. package/dist/ui-library/p-611e1978.entry.js +0 -2
  1095. package/dist/ui-library/p-611e1978.entry.js.map +0 -1
  1096. package/dist/ui-library/p-63703ba3.entry.js +0 -2
  1097. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  1098. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  1099. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  1100. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  1101. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  1102. package/dist/ui-library/p-6d75f216.entry.js +0 -2
  1103. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  1104. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  1105. package/dist/ui-library/p-79eee01b.js +0 -2
  1106. package/dist/ui-library/p-79eee01b.js.map +0 -1
  1107. package/dist/ui-library/p-7e0cc4ae.entry.js +0 -2
  1108. package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
  1109. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  1110. package/dist/ui-library/p-835c3ff7.entry.js +0 -2
  1111. package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
  1112. package/dist/ui-library/p-8a970a40.entry.js +0 -2
  1113. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  1114. package/dist/ui-library/p-90824648.entry.js +0 -2
  1115. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  1116. package/dist/ui-library/p-90dc6af4.entry.js +0 -2
  1117. package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
  1118. package/dist/ui-library/p-9328e5bc.entry.js +0 -2
  1119. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  1120. package/dist/ui-library/p-97323ad7.entry.js +0 -2
  1121. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  1122. package/dist/ui-library/p-9a860acc.js +0 -2
  1123. package/dist/ui-library/p-9a860acc.js.map +0 -1
  1124. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  1125. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  1126. package/dist/ui-library/p-a1d4f6cf.entry.js +0 -2
  1127. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  1128. package/dist/ui-library/p-ac4f4d45.js +0 -3
  1129. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  1130. package/dist/ui-library/p-af793d04.entry.js +0 -2
  1131. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  1132. package/dist/ui-library/p-b0e5658f.entry.js +0 -2
  1133. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  1134. package/dist/ui-library/p-b1e66136.js +0 -2
  1135. package/dist/ui-library/p-b1e66136.js.map +0 -1
  1136. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  1137. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  1138. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  1139. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  1140. package/dist/ui-library/p-baa03951.entry.js +0 -2
  1141. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  1142. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  1143. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  1144. package/dist/ui-library/p-c30f9e0b.entry.js +0 -2
  1145. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  1146. package/dist/ui-library/p-c349d1d4.entry.js +0 -2
  1147. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  1148. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  1149. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  1150. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  1151. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  1152. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  1153. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  1154. package/dist/ui-library/p-d12c6092.js +0 -2
  1155. package/dist/ui-library/p-d12c6092.js.map +0 -1
  1156. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  1157. package/dist/ui-library/p-dd3c76f1.entry.js +0 -2
  1158. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  1159. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  1160. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  1161. package/dist/ui-library/p-e19a6c95.entry.js +0 -2
  1162. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  1163. package/dist/ui-library/p-e9e930d2.entry.js +0 -2
  1164. package/dist/ui-library/p-e9e930d2.entry.js.map +0 -1
  1165. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  1166. package/dist/ui-library/p-edc96efc.entry.js +0 -2
  1167. package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
  1168. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  1169. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  1170. package/dist/ui-library/p-f4938771.entry.js +0 -2
  1171. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  1172. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  1173. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  1174. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  1175. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  1176. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  1177. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  1178. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  1179. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
  1180. package/readme.md +0 -156
@@ -1,13 +1,8 @@
1
- import { h } from '@stencil/core';
2
- import { scrollIntoView } from '../../utils/scroll';
3
- import { getNearestTabbableElement } from '../../utils/tabbable';
4
- import Popover from '../../utils/popover';
5
- import { EventListeners } from '../../utils/event-listeners';
6
- import { getSlotChildren } from '../../utils/slot';
7
- import { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';
8
- const isTagName = (name) => (el) => (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === name.toLowerCase();
9
- const isSixMenu = isTagName('six-menu');
10
- const isSixMenuItem = isTagName('six-menu-item');
1
+ import { h } from "@stencil/core";
2
+ import { getNearestTabbableElement } from "../../utils/tabbable";
3
+ import Popover from "../../utils/popover";
4
+ import { EventListeners } from "../../utils/event-listeners";
5
+ import { debounce, DEFAULT_DEBOUNCE_FAST } from "../../utils/execution-control";
11
6
  let id = 0;
12
7
  /**
13
8
  * @since 1.0
@@ -16,6 +11,7 @@ let id = 0;
16
11
  * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.
17
12
  *
18
13
  * @slot trigger - The dropdown's trigger, usually a `<six-button>` element.
14
+ * @slot dropdown-footer - The dropdown's footer area.
19
15
  * @slot - The dropdown's content.
20
16
  *
21
17
  * @part base - The component's base wrapper.
@@ -23,897 +19,1017 @@ let id = 0;
23
19
  * @part panel - The panel that gets shown when the dropdown is open.
24
20
  */
25
21
  export class SixDropdown {
26
- constructor() {
27
- this.componentId = `dropdown-${++id}`;
28
- this.isVisible = false;
29
- this.hasBeenInitialized = false;
30
- this.eventListeners = new EventListeners();
31
- this.getMenuItems = () => {
32
- if (this._options !== null) {
33
- return this._options.map((option) => h("six-menu-item", { value: option.value }, option.label));
34
- }
35
- const [panel] = getSlotChildren(this.panel);
36
- // the menu-items can be in a slot e.g. in six-select or direct children of the panel
37
- return getSlotChildren(panel) || Array.from(panel.querySelectorAll('six-menu-item'));
38
- };
39
- this.handleFilterInputChange = () => {
40
- var _a, _b;
41
- const lowerCaseFilterTerm = ((_b = (_a = this.filterInputElement.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.trim()) || '';
42
- if (this._options) {
43
- this.handleFilteringForAttributeItems(lowerCaseFilterTerm);
44
- }
45
- else {
46
- this.handleFilteringForSlotItems(lowerCaseFilterTerm);
47
- }
48
- this.sixAutoFilterFired.emit({ filterValue: lowerCaseFilterTerm });
49
- };
50
- this.open = false;
51
- this.placement = 'bottom-start';
52
- this.closeOnSelect = true;
53
- this.distance = 0;
54
- this.skidding = 0;
55
- this.hoist = false;
56
- this.containingElement = undefined;
57
- this.filter = false;
58
- this.asyncFilter = false;
59
- this.filterPlaceholder = 'Filter...';
60
- this.autofocusFilter = true;
61
- this.filterDebounce = DEFAULT_DEBOUNCE_FAST;
62
- this.disableHideOnEnterAndSpace = false;
63
- this.options = null;
64
- this.virtualScroll = false;
65
- this._options = null;
66
- }
67
- get hasFilterEnabled() {
68
- return this.filter || this.asyncFilter;
69
- }
70
- get container() {
71
- return this.containingElement || this.host;
72
- }
73
- handleOpenChange() {
74
- this.open ? this.show() : this.hide();
75
- this.updateAccessibleTrigger();
76
- }
77
- handlePopoverOptionsChange() {
78
- this.popover.setOptions({
79
- strategy: this.hoist ? 'fixed' : 'absolute',
80
- placement: this.placement,
81
- distance: this.distance,
82
- skidding: this.skidding,
83
- });
84
- }
85
- handleOptionsChange() {
86
- this._options = [...this.options];
87
- }
88
- connectedCallback() {
89
- if (this.virtualScroll && this.options === null) {
90
- console.error('Options must be defined when using virtual scrolling');
22
+ constructor() {
23
+ this.componentId = `dropdown-${++id}`;
24
+ this.isVisible = false;
25
+ this.resizeObserver = new ResizeObserver(debounce(() => this.updatePanelPosition(), 100));
26
+ this.eventListeners = new EventListeners();
27
+ this.getMenuItems = () => {
28
+ var _a, _b, _c, _d;
29
+ if (this.options.length > 0) {
30
+ return {
31
+ sixMenuItems: this.renderedOptions.map((option) => (h("six-menu-item", { value: option.value }, option.label))),
32
+ selectionContainerItems: [],
33
+ };
34
+ }
35
+ if (this.panel == null)
36
+ return { sixMenuItems: [], selectionContainerItems: [] };
37
+ // Relies on the implementation of six-select. Its dropdown slot contains two elements,
38
+ // one for the selected menu items, and one for the other items.
39
+ const selectionContainer = (_a = this.panelSlot) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true }).filter(isSelectionContainer).at(0);
40
+ const sixMenuElement = (_b = this.panelSlot) === null || _b === void 0 ? void 0 : _b.assignedElements({ flatten: true }).filter(isSixMenu).at(0);
41
+ const selectionContainerItems = (selectionContainer === null || selectionContainer === void 0 ? void 0 : selectionContainer.querySelectorAll('six-menu-item')) || [];
42
+ 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))) || [];
43
+ if (sixMenuItems.length === 0) {
44
+ sixMenuItems = Array.from(((_d = sixMenuElement === null || sixMenuElement === void 0 ? void 0 : sixMenuElement.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelectorAll('six-menu-item')) || []);
45
+ }
46
+ if (selectionContainerItems.length > 0 || sixMenuItems.length > 0) {
47
+ return { sixMenuItems, selectionContainerItems: [...selectionContainerItems] };
48
+ }
49
+ else {
50
+ return {
51
+ sixMenuItems: sixMenuElement ? Array.from(sixMenuElement.querySelectorAll('six-menu-item')) : [],
52
+ selectionContainerItems: [],
53
+ };
54
+ }
55
+ };
56
+ this.handleDocumentKeyDown = (event) => {
57
+ var _a;
58
+ const keyboardEvent = event;
59
+ // Close when escape is pressed
60
+ if (keyboardEvent.key === 'Escape') {
61
+ void this.hide();
62
+ this.focusOnTrigger();
63
+ return;
64
+ }
65
+ if (this.filterInputElement === ((_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement)) {
66
+ if (keyboardEvent.key === 'ArrowDown') {
67
+ const { sixMenuItems, selectionContainerItems } = this.getMenuItems();
68
+ const item = [...selectionContainerItems, ...sixMenuItems].find((item) => item.style.display !== 'none');
69
+ if (item != null) {
70
+ item.setFocus();
71
+ }
72
+ }
73
+ }
74
+ // Handle tabbing
75
+ if (keyboardEvent.key === 'Tab') {
76
+ // Tabbing within an open menu should close the dropdown and refocus the trigger
77
+ if (this.open && document.activeElement != null && isSixMenuItem(document.activeElement)) {
78
+ keyboardEvent.preventDefault();
79
+ void this.hide();
80
+ this.focusOnTrigger();
81
+ return;
82
+ }
83
+ // Tabbing outside the containing element closes the panel
84
+ //
85
+ // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,
86
+ // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.
87
+ setTimeout(() => {
88
+ var _a, _b;
89
+ const activeElement = this.container.getRootNode() instanceof ShadowRoot
90
+ ? (_b = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.activeElement
91
+ : document.activeElement;
92
+ if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.closest(this.container.tagName.toLowerCase())) !== this.container) {
93
+ void this.hide();
94
+ return;
95
+ }
96
+ });
97
+ }
98
+ };
99
+ this.handleDocumentMouseDown = (event) => {
100
+ // Close when clicking outside the containing element
101
+ const path = event.composedPath();
102
+ if (!path.includes(this.container)) {
103
+ void this.hide();
104
+ return;
105
+ }
106
+ };
107
+ this.handlePanelSelect = (event) => {
108
+ const target = event.target;
109
+ // Hide the dropdown when a menu item is selected
110
+ if (this.closeOnSelect && isSixMenu(target)) {
111
+ void this.hide();
112
+ this.focusOnTrigger();
113
+ }
114
+ };
115
+ this.handleTriggerClick = () => {
116
+ this.open ? this.hide() : this.show();
117
+ };
118
+ this.handleTriggerKeyDown = (event) => {
119
+ // Close when escape or tab is pressed
120
+ if (event.key === 'Escape') {
121
+ this.focusOnTrigger();
122
+ void this.hide();
123
+ return;
124
+ }
125
+ // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same
126
+ // key again to hide the menu in case they don't want to make a selection.
127
+ if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {
128
+ event.preventDefault();
129
+ this.open ? void this.hide() : void this.show();
130
+ return;
131
+ }
132
+ const menu = this.getMenu();
133
+ // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a
134
+ // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for
135
+ // faster navigation.
136
+ if (['ArrowDown', 'ArrowUp'].includes(event.key)) {
137
+ event.preventDefault();
138
+ // Show the menu if it's not already open
139
+ if (!this.open) {
140
+ void this.show();
141
+ }
142
+ if (menu == null) {
143
+ return;
144
+ }
145
+ const menuItems = [...menu.querySelectorAll('six-menu-item')];
146
+ const firstMenuItem = menuItems.at(0);
147
+ const lastMenuItem = menuItems.at(menuItems.length - 1);
148
+ // Focus on a menu item
149
+ if (event.key === 'ArrowDown' && firstMenuItem != null) {
150
+ firstMenuItem.setFocus();
151
+ return;
152
+ }
153
+ if (event.key === 'ArrowUp' && lastMenuItem != null) {
154
+ lastMenuItem.setFocus();
155
+ return;
156
+ }
157
+ }
158
+ // Other keys bring focus to the menu and initiate type-to-select behavior
159
+ const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];
160
+ if (this.open && menu != null && !ignoredKeys.includes(event.key)) {
161
+ void menu.typeToSelect(event.key);
162
+ return;
163
+ }
164
+ };
165
+ this.handleTriggerKeyUp = (event) => {
166
+ // Prevent space from triggering a click event in Firefox
167
+ if (event.key === ' ') {
168
+ event.preventDefault();
169
+ }
170
+ };
171
+ this.handleTriggerSlotChange = () => {
172
+ this.updateAccessibleTrigger();
173
+ };
174
+ this.handleDropdownScroll = () => {
175
+ if (this.scrollPanel == null)
176
+ return;
177
+ this.sixScroll.emit({
178
+ scrollHeight: this.scrollPanel.scrollHeight,
179
+ scrollTop: this.scrollPanel.scrollTop,
180
+ scrollbarHeight: this.scrollPanel.offsetHeight * (this.scrollPanel.offsetHeight / this.scrollPanel.scrollHeight),
181
+ scrollRatio: this.scrollPanel.scrollTop / (this.scrollPanel.scrollHeight - this.scrollPanel.clientHeight),
182
+ });
183
+ };
184
+ this.open = false;
185
+ this.placement = 'bottom-start';
186
+ this.closeOnSelect = true;
187
+ this.distance = 4;
188
+ this.skidding = 0;
189
+ this.hoist = false;
190
+ this.containingElement = undefined;
191
+ this.filter = false;
192
+ this.asyncFilter = false;
193
+ this.filterPlaceholder = 'Filter...';
194
+ this.autofocusFilter = true;
195
+ this.filterDebounce = 0;
196
+ this.disableHideOnEnterAndSpace = false;
197
+ this.options = [];
198
+ this.virtualScroll = false;
199
+ this.matchTriggerWidth = false;
200
+ this.renderedOptions = [];
91
201
  }
92
- if (this.options !== null) {
93
- this._options = [...this.options];
202
+ get filterEnabled() {
203
+ return this.filter || this.asyncFilter;
94
204
  }
95
- this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);
96
- this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);
97
- this.handleMenuItemActivate = this.handleMenuItemActivate.bind(this);
98
- this.handlePanelSelect = this.handlePanelSelect.bind(this);
99
- this.handleTriggerClick = this.handleTriggerClick.bind(this);
100
- this.handleTriggerKeyDown = this.handleTriggerKeyDown.bind(this);
101
- this.handleTriggerKeyUp = this.handleTriggerKeyUp.bind(this);
102
- this.handleTriggerSlotChange = this.handleTriggerSlotChange.bind(this);
103
- this.handleDropdownScroll = this.handleDropdownScroll.bind(this);
104
- if (this.hasBeenInitialized && !this.popover) {
105
- // there was a weird bug when using six-dropdown inside an ag-grid filter. When closing the ag-grid filter
106
- // disconnectedCallback() is executed. However, since componentDidLoad() will not be rerendered the popover had
107
- // no longer a connected transitionEnd callback to the dropdown. To fix this, we have this sanity check here,
108
- // to re-initialize the popover in case the component has already been initialized but the popover is undefined.
109
- this.initializePopover();
205
+ get container() {
206
+ return this.containingElement || this.host;
110
207
  }
111
- }
112
- componentDidLoad() {
113
- this.hasBeenInitialized = true;
114
- this.initializePopover();
115
- // Show on init if open
116
- if (this.open) {
117
- void this.show();
208
+ handleOpenChange() {
209
+ this.open ? this.show() : this.hide();
210
+ this.updateAccessibleTrigger();
118
211
  }
119
- if (this.filter) {
120
- this.setupFiltering(this.handleFilterInputChange);
212
+ handlePopoverOptionsChange() {
213
+ if (this.popover == null)
214
+ return;
215
+ this.popover.setOptions({
216
+ strategy: this.hoist ? 'fixed' : 'absolute',
217
+ placement: this.placement,
218
+ distance: this.distance,
219
+ skidding: this.skidding,
220
+ });
121
221
  }
122
- else if (this.asyncFilter) {
123
- this.setupFiltering(() => this.sixAsyncFilterFired.emit({ filterValue: this.filterInputElement.value }));
222
+ handleOptionsChange() {
223
+ this.validateOptions();
124
224
  }
125
- }
126
- initializePopover() {
127
- const onAfterHide = () => {
128
- if (this.filter) {
129
- this.filterInputElement.value = '';
130
- if (this._options !== null) {
131
- this._options = [...this.options];
225
+ validateOptions() {
226
+ if (!Array.isArray(this.options)) {
227
+ this.options = [];
132
228
  }
133
- else {
134
- const menuItems = this.getMenuItems();
135
- menuItems.forEach((item) => (item.style.display = 'unset'));
229
+ if (this.virtualScroll && this.options.length === 0) {
230
+ console.error('Options must be defined when using virtual scrolling');
136
231
  }
137
- }
138
- this.sixAfterHide.emit();
139
- };
140
- const onAfterShow = async () => {
141
- if (this.hasFilterEnabled && this.autofocusFilter) {
142
- // if dropdown filter is enabled we should autofocus the search field
143
- await this.filterInputElement.setFocus();
144
- }
145
- this.sixAfterShow.emit();
146
- };
147
- const onTransitionEnd = () => {
148
- if (!this.open) {
149
- this.panel.scrollTop = 0;
150
- }
151
- };
152
- this.popover = new Popover(this.trigger, this.positioner, {
153
- strategy: this.hoist ? 'fixed' : 'absolute',
154
- placement: this.placement,
155
- distance: this.distance,
156
- skidding: this.skidding,
157
- transitionElement: this.panel,
158
- onAfterHide,
159
- onAfterShow,
160
- onTransitionEnd,
161
- });
162
- }
163
- setupFiltering(callback) {
164
- this.eventListeners.add(this.filterInputElement, 'six-input-input', debounce(callback, this.filterDebounce));
165
- }
166
- handleFilteringForAttributeItems(lowerCaseFilterTerm) {
167
- if (lowerCaseFilterTerm === '') {
168
- this._options = [...this.options];
169
- return;
170
- }
171
- this._options = this.options.filter((option) => {
172
- var _a, _b, _c, _d;
173
- 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))) ||
174
- (option.value && ((_d = (_c = String(option.value)) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === null || _d === void 0 ? void 0 : _d.includes(lowerCaseFilterTerm)));
175
- });
176
- }
177
- handleFilteringForSlotItems(lowerCaseFilterTerm) {
178
- const menuItems = this.getMenuItems();
179
- menuItems.forEach(async (menuItem) => {
180
- var _a, _b, _c, _d;
181
- // hide all elements which don't contain the entered substring
182
- 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)) ||
183
- ((_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));
184
- menuItem.style.display = elementContainsFilterTerm ? 'unset' : 'none';
185
- });
186
- }
187
- disconnectedCallback() {
188
- this.eventListeners.removeAll();
189
- void this.hide();
190
- this.popover.destroy();
191
- this.popover = null;
192
- }
193
- /** Shows the dropdown panel */
194
- async show() {
195
- // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
196
- if (this.isVisible) {
197
- return;
198
- }
199
- const sixShow = this.sixShow.emit();
200
- if (sixShow.defaultPrevented) {
201
- this.open = false;
202
- return;
203
- }
204
- this.eventListeners.add(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
205
- this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);
206
- this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);
207
- this.isVisible = true;
208
- this.open = true;
209
- this.popover.show();
210
- }
211
- /** Hides the dropdown panel */
212
- async hide() {
213
- // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
214
- if (!this.isVisible) {
215
- return;
232
+ this.renderedOptions = [...this.options];
216
233
  }
217
- const sixHide = this.sixHide.emit();
218
- if (sixHide.defaultPrevented) {
219
- this.open = true;
220
- return;
221
- }
222
- this.eventListeners.remove(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
223
- this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);
224
- this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);
225
- this.isVisible = false;
226
- this.open = false;
227
- this.popover.hide();
228
- }
229
- focusOnTrigger() {
230
- const [trigger] = getSlotChildren(this.trigger);
231
- if (trigger) {
232
- if (typeof trigger.setFocus === 'function') {
233
- trigger.setFocus();
234
- }
235
- else if (typeof trigger.focus === 'function') {
236
- trigger.focus();
237
- }
234
+ componentWillLoad() {
235
+ this.validateOptions();
236
+ if (this.asyncFilter) {
237
+ this.filterDebounce = DEFAULT_DEBOUNCE_FAST;
238
+ }
238
239
  }
239
- }
240
- getMenu() {
241
- const [menu] = getSlotChildren(this.panel).filter(isSixMenu);
242
- return menu;
243
- }
244
- /**
245
- * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu
246
- * is activated.
247
- */
248
- async reposition() {
249
- if (!this.open) {
250
- return;
240
+ componentDidLoad() {
241
+ this.init();
242
+ if (this.open) {
243
+ void this.show();
244
+ }
251
245
  }
252
- this.popover.reposition();
253
- }
254
- handleDocumentKeyDown(event) {
255
- // Close when escape is pressed
256
- if (event.key === 'Escape') {
257
- void this.hide();
258
- this.focusOnTrigger();
259
- return;
246
+ connectedCallback() {
247
+ this.init();
260
248
  }
261
- if (this.filterInputElement === this.host.shadowRoot.activeElement) {
262
- if (event.key === 'ArrowDown') {
263
- const item = this.getMenuItems().find((item) => item.style.display !== 'none');
264
- if (item) {
265
- item.setFocus();
249
+ init() {
250
+ this.initPopover();
251
+ // listen to filter
252
+ const filterInputElement = this.filterInputElement;
253
+ if (filterInputElement != null) {
254
+ this.eventListeners.add(filterInputElement, 'six-input-input', debounce(() => {
255
+ var _a;
256
+ const filterValue = (_a = filterInputElement.value) !== null && _a !== void 0 ? _a : '';
257
+ if (this.filter) {
258
+ this.applyFilter(filterValue);
259
+ }
260
+ this.emitFilterEvents(filterValue);
261
+ }, this.filterDebounce));
266
262
  }
267
- }
268
263
  }
269
- // Handle tabbing
270
- if (event.key === 'Tab') {
271
- // Tabbing within an open menu should close the dropdown and refocus the trigger
272
- if (this.open && isSixMenuItem(document.activeElement)) {
273
- event.preventDefault();
274
- void this.hide();
275
- this.focusOnTrigger();
276
- return;
277
- }
278
- // Tabbing outside of the containing element closes the panel
279
- //
280
- // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,
281
- // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.
282
- setTimeout(() => {
264
+ applyFilter(filterTerm) {
283
265
  var _a;
284
- const activeElement = this.container.getRootNode() instanceof ShadowRoot
285
- ? (_a = document.activeElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement
286
- : document.activeElement;
287
- if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.closest(this.container.tagName.toLowerCase())) !== this.container) {
288
- void this.hide();
289
- return;
266
+ const lowerCaseFilterTerm = ((_a = filterTerm.toLowerCase()) === null || _a === void 0 ? void 0 : _a.trim()) || '';
267
+ if (this.options.length > 0) {
268
+ this.renderedOptions = this.options.filter((option) => {
269
+ var _a, _b, _c, _d;
270
+ 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))) ||
271
+ (option.value && ((_d = (_c = String(option.value)) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === null || _d === void 0 ? void 0 : _d.includes(lowerCaseFilterTerm)));
272
+ });
273
+ }
274
+ else {
275
+ const { selectionContainerItems, sixMenuItems } = this.getMenuItems();
276
+ const selectionContainerValues = selectionContainerItems.map((s) => s.value);
277
+ // Filter items in selection container
278
+ selectionContainerItems.forEach(async (menuItem) => {
279
+ menuItem.style.display = (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) ? 'unset' : 'none';
280
+ });
281
+ // Filter other items. Always hide items which contained in the selection container.
282
+ sixMenuItems.forEach(async (menuItem) => {
283
+ menuItem.style.display =
284
+ (await containsFilterTerm(menuItem, lowerCaseFilterTerm)) &&
285
+ !selectionContainerValues.includes(menuItem.value)
286
+ ? 'unset'
287
+ : 'none';
288
+ });
290
289
  }
291
- });
292
- }
293
- }
294
- handleDocumentMouseDown(event) {
295
- // Close when clicking outside of the containing element
296
- const path = event.composedPath();
297
- if (!path.includes(this.container)) {
298
- void this.hide();
299
- return;
300
- }
301
- }
302
- handleMenuItemActivate(event) {
303
- const item = event.target;
304
- scrollIntoView(item, this.panel);
305
- }
306
- handlePanelSelect(event) {
307
- const target = event.target;
308
- // Hide the dropdown when a menu item is selected
309
- if (this.closeOnSelect && isSixMenu(target)) {
310
- void this.hide();
311
- this.focusOnTrigger();
312
- }
313
- }
314
- handleTriggerClick() {
315
- this.open ? this.hide() : this.show();
316
- }
317
- handleTriggerKeyDown(event) {
318
- const menu = this.getMenu();
319
- const menuItems = menu ? [...menu.querySelectorAll('six-menu-item')] : null;
320
- const firstMenuItem = menuItems[0];
321
- const lastMenuItem = menuItems[menuItems.length - 1];
322
- // Close when escape or tab is pressed
323
- if (event.key === 'Escape') {
324
- this.focusOnTrigger();
325
- void this.hide();
326
- return;
327
290
  }
328
- // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same
329
- // key again to hide the menu in case they don't want to make a selection.
330
- if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {
331
- event.preventDefault();
332
- this.open ? void this.hide() : void this.show();
333
- return;
291
+ resetFilter() {
292
+ if (this.filterInputElement != null) {
293
+ this.filterInputElement.value = '';
294
+ this.emitFilterEvents('');
295
+ }
296
+ if (this.options.length > 0) {
297
+ this.renderedOptions = [...this.options];
298
+ }
299
+ else {
300
+ const { selectionContainerItems, sixMenuItems } = this.getMenuItems();
301
+ [...selectionContainerItems, ...sixMenuItems].forEach((item) => (item.style.display = 'unset'));
302
+ }
334
303
  }
335
- // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a
336
- // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for
337
- // faster navigation.
338
- if (['ArrowDown', 'ArrowUp'].includes(event.key)) {
339
- event.preventDefault();
340
- // Show the menu if it's not already open
341
- if (!this.open) {
342
- void this.show();
343
- }
344
- // Focus on a menu item
345
- if (event.key === 'ArrowDown' && firstMenuItem) {
346
- firstMenuItem.setFocus();
347
- return;
348
- }
349
- if (event.key === 'ArrowUp' && lastMenuItem) {
350
- lastMenuItem.setFocus();
351
- return;
352
- }
304
+ emitFilterEvents(filterValue) {
305
+ if (this.filter) {
306
+ this.sixAutoFilter.emit({ filterValue });
307
+ }
308
+ else if (this.asyncFilter) {
309
+ this.sixAsyncFilterFired.emit({ filterValue });
310
+ }
353
311
  }
354
- // Other keys bring focus to the menu and initiate type-to-select behavior
355
- const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];
356
- if (this.open && menu && !ignoredKeys.includes(event.key)) {
357
- void menu.typeToSelect(event.key);
358
- return;
312
+ initPopover() {
313
+ if (this.trigger == null || this.positioner == null)
314
+ return;
315
+ this.popover = new Popover(this.trigger, this.positioner, {
316
+ strategy: this.hoist ? 'fixed' : 'absolute',
317
+ placement: this.placement,
318
+ distance: this.distance,
319
+ skidding: this.skidding,
320
+ transitionElement: this.panel,
321
+ onAfterHide: () => {
322
+ if (this.filterEnabled) {
323
+ this.resetFilter();
324
+ }
325
+ this.sixAfterHide.emit();
326
+ },
327
+ onAfterShow: async () => {
328
+ this.sixAfterShow.emit();
329
+ },
330
+ onTransitionEnd: () => {
331
+ if (!this.open && this.scrollPanel != null) {
332
+ this.scrollPanel.scrollTop = 0;
333
+ }
334
+ },
335
+ });
359
336
  }
360
- }
361
- handleTriggerKeyUp(event) {
362
- // Prevent space from triggering a click event in Firefox
363
- if (event.key === ' ') {
364
- event.preventDefault();
337
+ disconnectedCallback() {
338
+ var _a;
339
+ this.resizeObserver.disconnect();
340
+ this.eventListeners.removeAll();
341
+ void this.hide();
342
+ (_a = this.popover) === null || _a === void 0 ? void 0 : _a.destroy();
343
+ this.popover = undefined;
365
344
  }
366
- }
367
- handleTriggerSlotChange() {
368
- this.updateAccessibleTrigger();
369
- }
370
- handleDropdownScroll() {
371
- this.sixScroll.emit({
372
- scrollHeight: this.panel.scrollHeight,
373
- scrollTop: this.panel.scrollTop,
374
- scrollbarHeight: this.panel.offsetHeight * (this.panel.offsetHeight / this.panel.scrollHeight),
375
- scrollRatio: this.panel.scrollTop / (this.panel.scrollHeight - this.panel.clientHeight),
376
- });
377
- }
378
- //
379
- // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and
380
- // `aria-expanded`. These must be applied to the "accessible trigger" (the tabbable portion of the trigger element
381
- // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,
382
- // a child of the slotted element, or an element in the slotted element's shadow root.
383
- //
384
- // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.
385
- //
386
- // To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
387
- //
388
- updateAccessibleTrigger() {
389
- const [accessibleTrigger] = getSlotChildren(this.trigger).map(getNearestTabbableElement);
390
- if (accessibleTrigger) {
391
- accessibleTrigger.setAttribute('aria-haspopup', 'true');
392
- accessibleTrigger.setAttribute('aria-expanded', this.open ? 'true' : 'false');
345
+ /** Shows the dropdown panel */
346
+ async show() {
347
+ // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
348
+ if (this.isVisible || this.popover == null || this.panel == null) {
349
+ return;
350
+ }
351
+ const sixShow = this.sixShow.emit();
352
+ if (sixShow.defaultPrevented) {
353
+ this.open = false;
354
+ return;
355
+ }
356
+ this.eventListeners.add(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
357
+ this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);
358
+ this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);
359
+ this.isVisible = true;
360
+ this.open = true;
361
+ if (this.trigger != null) {
362
+ this.resizeObserver.observe(this.trigger);
363
+ }
364
+ this.updatePanelPosition();
365
+ this.popover.show();
366
+ if (this.filterEnabled && this.autofocusFilter) {
367
+ requestAnimationFrame(() => {
368
+ var _a;
369
+ (_a = this.filterInputElement) === null || _a === void 0 ? void 0 : _a.setFocus();
370
+ });
371
+ }
393
372
  }
394
- }
395
- render() {
396
- return (h("div", { part: "base", id: this.componentId, class: {
397
- dropdown: true,
398
- 'dropdown--open': this.open,
399
- } }, h("span", { part: "trigger", class: "dropdown__trigger", ref: (el) => (this.trigger = el), onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown, onKeyUp: this.handleTriggerKeyUp }, h("slot", { name: "trigger", onSlotchange: this.handleTriggerSlotChange })), h("div", { ref: (el) => (this.positioner = el), class: {
400
- dropdown__positioner: true,
401
- dropdown__positioner__filtered: (this.filter || this.asyncFilter) && !this.hoist,
402
- } }, this.hasFilterEnabled && (h("six-input", { class: {
403
- 'filter-hidden': !this.open,
404
- }, "aria-hidden": this.open ? 'false' : 'true', ref: (el) => (this.filterInputElement = el), placeholder: this.filterPlaceholder })), 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 }, h("slot", null), this._options && (h("six-menu", { part: "menu", items: this._options, virtualScroll: this.virtualScroll }))))));
405
- }
406
- static get is() { return "six-dropdown"; }
407
- static get encapsulation() { return "shadow"; }
408
- static get originalStyleUrls() {
409
- return {
410
- "$": ["six-dropdown.scss"]
411
- };
412
- }
413
- static get styleUrls() {
414
- return {
415
- "$": ["six-dropdown.css"]
416
- };
417
- }
418
- static get properties() {
419
- return {
420
- "open": {
421
- "type": "boolean",
422
- "mutable": true,
423
- "complexType": {
424
- "original": "boolean",
425
- "resolved": "boolean",
426
- "references": {}
427
- },
428
- "required": false,
429
- "optional": false,
430
- "docs": {
431
- "tags": [],
432
- "text": "Indicates whether or not the dropdown is open. You can use this in lieu of the show/hide methods."
433
- },
434
- "attribute": "open",
435
- "reflect": true,
436
- "defaultValue": "false"
437
- },
438
- "placement": {
439
- "type": "string",
440
- "mutable": false,
441
- "complexType": {
442
- "original": "| 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end'",
443
- "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
444
- "references": {}
445
- },
446
- "required": false,
447
- "optional": false,
448
- "docs": {
449
- "tags": [],
450
- "text": "The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\ninside of the viewport."
451
- },
452
- "attribute": "placement",
453
- "reflect": false,
454
- "defaultValue": "'bottom-start'"
455
- },
456
- "closeOnSelect": {
457
- "type": "boolean",
458
- "mutable": false,
459
- "complexType": {
460
- "original": "boolean",
461
- "resolved": "boolean",
462
- "references": {}
463
- },
464
- "required": false,
465
- "optional": false,
466
- "docs": {
467
- "tags": [],
468
- "text": "Determines whether the dropdown should hide when a menu item is selected."
469
- },
470
- "attribute": "close-on-select",
471
- "reflect": false,
472
- "defaultValue": "true"
473
- },
474
- "distance": {
475
- "type": "number",
476
- "mutable": false,
477
- "complexType": {
478
- "original": "number",
479
- "resolved": "number",
480
- "references": {}
481
- },
482
- "required": false,
483
- "optional": false,
484
- "docs": {
485
- "tags": [],
486
- "text": "The distance in pixels from which to offset the panel away from its trigger."
487
- },
488
- "attribute": "distance",
489
- "reflect": false,
490
- "defaultValue": "0"
491
- },
492
- "skidding": {
493
- "type": "number",
494
- "mutable": false,
495
- "complexType": {
496
- "original": "number",
497
- "resolved": "number",
498
- "references": {}
499
- },
500
- "required": false,
501
- "optional": false,
502
- "docs": {
503
- "tags": [],
504
- "text": "The distance in pixels from which to offset the panel along its trigger."
505
- },
506
- "attribute": "skidding",
507
- "reflect": false,
508
- "defaultValue": "0"
509
- },
510
- "hoist": {
511
- "type": "boolean",
512
- "mutable": false,
513
- "complexType": {
514
- "original": "boolean",
515
- "resolved": "boolean",
516
- "references": {}
517
- },
518
- "required": false,
519
- "optional": false,
520
- "docs": {
521
- "tags": [],
522
- "text": "Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`."
523
- },
524
- "attribute": "hoist",
525
- "reflect": false,
526
- "defaultValue": "false"
527
- },
528
- "containingElement": {
529
- "type": "unknown",
530
- "mutable": false,
531
- "complexType": {
532
- "original": "HTMLElement",
533
- "resolved": "HTMLElement",
534
- "references": {
535
- "HTMLElement": {
536
- "location": "global"
537
- }
538
- }
539
- },
540
- "required": false,
541
- "optional": false,
542
- "docs": {
543
- "tags": [],
544
- "text": "The dropdown will close when the user interacts outside of this element (e.g. clicking)."
373
+ /**
374
+ * Set min width of dropdown panel to the width of the trigger element
375
+ */
376
+ updatePanelPosition() {
377
+ if (!this.open) {
378
+ return;
545
379
  }
546
- },
547
- "filter": {
548
- "type": "boolean",
549
- "mutable": false,
550
- "complexType": {
551
- "original": "boolean",
552
- "resolved": "boolean",
553
- "references": {}
554
- },
555
- "required": false,
556
- "optional": false,
557
- "docs": {
558
- "tags": [],
559
- "text": "Set to true to allow auto filtering for entries in the dropdown.\nWith this flag the dropdown will automatically filter itsel.\nIf you need to coordinate the shown elements yourself,\ne.g. because you need to call an endpoint use asyncFilter instead"
560
- },
561
- "attribute": "filter",
562
- "reflect": false,
563
- "defaultValue": "false"
564
- },
565
- "asyncFilter": {
566
- "type": "boolean",
567
- "mutable": false,
568
- "complexType": {
569
- "original": "boolean",
570
- "resolved": "boolean",
571
- "references": {}
572
- },
573
- "required": false,
574
- "optional": false,
575
- "docs": {
576
- "tags": [],
577
- "text": "Set to true to allow async filtering.\nWhen you enter something in the search field the component will only emit an event but not filter any elements itself.\nYou can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself"
578
- },
579
- "attribute": "async-filter",
580
- "reflect": false,
581
- "defaultValue": "false"
582
- },
583
- "filterPlaceholder": {
584
- "type": "string",
585
- "mutable": false,
586
- "complexType": {
587
- "original": "string",
588
- "resolved": "string",
589
- "references": {}
590
- },
591
- "required": false,
592
- "optional": false,
593
- "docs": {
594
- "tags": [],
595
- "text": "The filter's placeholder text."
596
- },
597
- "attribute": "filter-placeholder",
598
- "reflect": false,
599
- "defaultValue": "'Filter...'"
600
- },
601
- "autofocusFilter": {
602
- "type": "boolean",
603
- "mutable": false,
604
- "complexType": {
605
- "original": "boolean",
606
- "resolved": "boolean",
607
- "references": {}
608
- },
609
- "required": false,
610
- "optional": false,
611
- "docs": {
612
- "tags": [],
613
- "text": "By default the search field will be focused when opening a dropdown with filtering enabled."
614
- },
615
- "attribute": "autofocus-filter",
616
- "reflect": false,
617
- "defaultValue": "true"
618
- },
619
- "filterDebounce": {
620
- "type": "number",
621
- "mutable": false,
622
- "complexType": {
623
- "original": "number",
624
- "resolved": "number",
625
- "references": {}
626
- },
627
- "required": false,
628
- "optional": false,
629
- "docs": {
630
- "tags": [],
631
- "text": "The debounce for the filter callbacks."
632
- },
633
- "attribute": "filter-debounce",
634
- "reflect": false,
635
- "defaultValue": "DEFAULT_DEBOUNCE_FAST"
636
- },
637
- "disableHideOnEnterAndSpace": {
638
- "type": "boolean",
639
- "mutable": false,
640
- "complexType": {
641
- "original": "boolean",
642
- "resolved": "boolean",
643
- "references": {}
644
- },
645
- "required": false,
646
- "optional": false,
647
- "docs": {
648
- "tags": [],
649
- "text": "The panel can be opend/closed by pressing the spacebar or the enter key. In some cases you might want to avoid this"
650
- },
651
- "attribute": "disable-hide-on-enter-and-space",
652
- "reflect": false,
653
- "defaultValue": "false"
654
- },
655
- "options": {
656
- "type": "unknown",
657
- "mutable": false,
658
- "complexType": {
659
- "original": "SixMenuItemData[] | null",
660
- "resolved": "SixMenuItemData[]",
661
- "references": {
662
- "SixMenuItemData": {
663
- "location": "import",
664
- "path": "../six-menu/six-menu"
665
- }
666
- }
667
- },
668
- "required": false,
669
- "optional": false,
670
- "docs": {
671
- "tags": [],
672
- "text": "Set the options to be shown in the dropdown (alternative to setting the elements via html)"
673
- },
674
- "defaultValue": "null"
675
- },
676
- "virtualScroll": {
677
- "type": "boolean",
678
- "mutable": false,
679
- "complexType": {
680
- "original": "boolean",
681
- "resolved": "boolean",
682
- "references": {}
683
- },
684
- "required": false,
685
- "optional": false,
686
- "docs": {
687
- "tags": [],
688
- "text": "Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\nare actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot."
689
- },
690
- "attribute": "virtual-scroll",
691
- "reflect": false,
692
- "defaultValue": "false"
693
- }
694
- };
695
- }
696
- static get states() {
697
- return {
698
- "_options": {}
699
- };
700
- }
701
- static get events() {
702
- return [{
703
- "method": "sixShow",
704
- "name": "six-dropdown-show",
705
- "bubbles": true,
706
- "cancelable": true,
707
- "composed": true,
708
- "docs": {
709
- "tags": [],
710
- "text": "Emitted when the dropdown opens. Calling `event.preventDefault()` will prevent it from being opened."
711
- },
712
- "complexType": {
713
- "original": "EmptyPayload",
714
- "resolved": "undefined",
715
- "references": {
716
- "EmptyPayload": {
717
- "location": "import",
718
- "path": "../../utils/types"
719
- }
720
- }
380
+ if (this.matchTriggerWidth && this.trigger != null && this.panel != null) {
381
+ const width = this.trigger.getBoundingClientRect().width;
382
+ this.panel.style.minWidth = `${width}px`;
721
383
  }
722
- }, {
723
- "method": "sixAfterShow",
724
- "name": "six-dropdown-after-show",
725
- "bubbles": true,
726
- "cancelable": true,
727
- "composed": true,
728
- "docs": {
729
- "tags": [],
730
- "text": "Emitted after the dropdown opens and all transitions are complete."
731
- },
732
- "complexType": {
733
- "original": "EmptyPayload",
734
- "resolved": "undefined",
735
- "references": {
736
- "EmptyPayload": {
737
- "location": "import",
738
- "path": "../../utils/types"
739
- }
740
- }
384
+ if (this.popover != null) {
385
+ this.popover.reposition();
741
386
  }
742
- }, {
743
- "method": "sixHide",
744
- "name": "six-dropdown-hide",
745
- "bubbles": true,
746
- "cancelable": true,
747
- "composed": true,
748
- "docs": {
749
- "tags": [],
750
- "text": "Emitted when the dropdown closes. Calling `event.preventDefault()` will prevent it from being closed."
751
- },
752
- "complexType": {
753
- "original": "EmptyPayload",
754
- "resolved": "undefined",
755
- "references": {
756
- "EmptyPayload": {
757
- "location": "import",
758
- "path": "../../utils/types"
759
- }
760
- }
387
+ }
388
+ /** Hides the dropdown panel */
389
+ async hide() {
390
+ this.resizeObserver.disconnect();
391
+ // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
392
+ if (!this.isVisible || this.panel == null || this.popover == null) {
393
+ return;
761
394
  }
762
- }, {
763
- "method": "sixAfterHide",
764
- "name": "six-dropdown-after-hide",
765
- "bubbles": true,
766
- "cancelable": true,
767
- "composed": true,
768
- "docs": {
769
- "tags": [],
770
- "text": "Emitted after the dropdown closes and all transitions are complete."
771
- },
772
- "complexType": {
773
- "original": "EmptyPayload",
774
- "resolved": "undefined",
775
- "references": {
776
- "EmptyPayload": {
777
- "location": "import",
778
- "path": "../../utils/types"
779
- }
780
- }
395
+ const sixHide = this.sixHide.emit();
396
+ if (sixHide.defaultPrevented) {
397
+ this.open = true;
398
+ return;
781
399
  }
782
- }, {
783
- "method": "sixAutoFilterFired",
784
- "name": "six-dropdown-auto-filter-fired",
785
- "bubbles": true,
786
- "cancelable": true,
787
- "composed": true,
788
- "docs": {
789
- "tags": [],
790
- "text": "Emitted when the auto filter is triggered"
791
- },
792
- "complexType": {
793
- "original": "SixDropdownAutoFilterPayload",
794
- "resolved": "SixDropdownAutoFilterPayload",
795
- "references": {
796
- "SixDropdownAutoFilterPayload": {
797
- "location": "local",
798
- "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx"
400
+ this.eventListeners.remove(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
401
+ this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);
402
+ this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);
403
+ this.isVisible = false;
404
+ this.open = false;
405
+ this.popover.hide();
406
+ }
407
+ focusOnTrigger() {
408
+ var _a;
409
+ if (this.trigger == null)
410
+ return;
411
+ const trigger = (_a = this.triggerSlot) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true }).at(0);
412
+ if (trigger != null) {
413
+ if (typeof trigger.setFocus === 'function') {
414
+ trigger.setFocus();
799
415
  }
800
- }
801
- }
802
- }, {
803
- "method": "sixAsyncFilterFired",
804
- "name": "six-async-filter-fired",
805
- "bubbles": true,
806
- "cancelable": true,
807
- "composed": true,
808
- "docs": {
809
- "tags": [],
810
- "text": "Emitted when the async filter is triggered"
811
- },
812
- "complexType": {
813
- "original": "SixDropdownAsyncFilterPayload",
814
- "resolved": "SixDropdownAsyncFilterPayload",
815
- "references": {
816
- "SixDropdownAsyncFilterPayload": {
817
- "location": "local",
818
- "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx"
416
+ else if (typeof trigger.focus === 'function') {
417
+ trigger.focus();
819
418
  }
820
- }
821
419
  }
822
- }, {
823
- "method": "sixScroll",
824
- "name": "six-dropdown-scroll",
825
- "bubbles": true,
826
- "cancelable": true,
827
- "composed": true,
828
- "docs": {
829
- "tags": [],
830
- "text": "Emitted when the user scrolls inside dropdown panel."
831
- },
832
- "complexType": {
833
- "original": "SixDropdownScrollPayload",
834
- "resolved": "SixDropdownScrollPayload",
835
- "references": {
836
- "SixDropdownScrollPayload": {
837
- "location": "local",
838
- "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx"
839
- }
840
- }
420
+ }
421
+ getMenu() {
422
+ var _a;
423
+ return (_a = this.panelSlot) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true }).filter(isSixMenu).at(0);
424
+ }
425
+ /**
426
+ * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu
427
+ * is activated.
428
+ *
429
+ * @deprecated: use the property `matchTriggerWidth` instead.
430
+ */
431
+ async reposition() {
432
+ if (this.open && this.popover != null) {
433
+ this.popover.reposition();
841
434
  }
842
- }];
843
- }
844
- static get methods() {
845
- return {
846
- "show": {
847
- "complexType": {
848
- "signature": "() => Promise<void>",
849
- "parameters": [],
850
- "references": {
851
- "Promise": {
852
- "location": "global"
853
- }
854
- },
855
- "return": "Promise<void>"
856
- },
857
- "docs": {
858
- "text": "Shows the dropdown panel",
859
- "tags": []
435
+ }
436
+ //
437
+ // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and
438
+ // `aria-expanded`. These must be applied to the "accessible trigger" (the tabbable portion of the trigger element
439
+ // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,
440
+ // a child of the slotted element, or an element in the slotted element's shadow root.
441
+ //
442
+ // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.
443
+ //
444
+ // To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
445
+ //
446
+ updateAccessibleTrigger() {
447
+ var _a;
448
+ if (this.trigger == null)
449
+ return;
450
+ const assignedElements = (((_a = this.triggerSlot) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true })) || []);
451
+ const accessibleTrigger = assignedElements.map(getNearestTabbableElement).at(0);
452
+ if (accessibleTrigger != null) {
453
+ accessibleTrigger.setAttribute('aria-haspopup', 'true');
454
+ accessibleTrigger.setAttribute('aria-expanded', this.open ? 'true' : 'false');
860
455
  }
861
- },
862
- "hide": {
863
- "complexType": {
864
- "signature": "() => Promise<void>",
865
- "parameters": [],
866
- "references": {
867
- "Promise": {
868
- "location": "global"
456
+ }
457
+ render() {
458
+ return (h("div", { part: "base", id: this.componentId, class: {
459
+ dropdown: true,
460
+ 'dropdown--open': this.open,
461
+ } }, h("span", { part: "trigger", class: "dropdown__trigger", ref: (el) => (this.trigger = el), onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown, onKeyUp: this.handleTriggerKeyUp }, h("slot", { name: "trigger", ref: (el) => (this.triggerSlot = el), onSlotchange: this.handleTriggerSlotChange })), h("div", { ref: (el) => (this.positioner = el), class: {
462
+ dropdown__positioner: true,
463
+ dropdown__positioner__filtered: (this.filter || this.asyncFilter) && !this.hoist,
464
+ } }, 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 && (h("six-input", { class: {
465
+ filter: true,
466
+ 'filter-hidden': !this.open,
467
+ }, "dropdown-search": true, "aria-hidden": this.open ? 'false' : 'true', ref: (el) => (this.filterInputElement = el), placeholder: this.filterPlaceholder }, h("six-icon", { class: "filter__icon", slot: "suffix", size: "small" }, "search"))), h("div", { class: {
468
+ dropdown__panel__scroll: true,
469
+ 'dropdown__panel__scroll--virtual': this.virtualScroll,
470
+ }, onScroll: this.handleDropdownScroll, ref: (el) => (this.scrollPanel = el) }, h("slot", { ref: (el) => (this.panelSlot = el) }), this.options.length > 0 && (h("six-menu", { part: "menu", items: this.renderedOptions, virtualScroll: this.virtualScroll }))), h("slot", { name: "dropdown-footer" })))));
471
+ }
472
+ static get is() { return "six-dropdown"; }
473
+ static get encapsulation() { return "shadow"; }
474
+ static get originalStyleUrls() {
475
+ return {
476
+ "$": ["six-dropdown.scss"]
477
+ };
478
+ }
479
+ static get styleUrls() {
480
+ return {
481
+ "$": ["six-dropdown.css"]
482
+ };
483
+ }
484
+ static get properties() {
485
+ return {
486
+ "open": {
487
+ "type": "boolean",
488
+ "mutable": true,
489
+ "complexType": {
490
+ "original": "boolean",
491
+ "resolved": "boolean",
492
+ "references": {}
493
+ },
494
+ "required": false,
495
+ "optional": false,
496
+ "docs": {
497
+ "tags": [],
498
+ "text": "Indicates whether the dropdown is open. You can use this in lieu of the show/hide methods."
499
+ },
500
+ "attribute": "open",
501
+ "reflect": true,
502
+ "defaultValue": "false"
503
+ },
504
+ "placement": {
505
+ "type": "string",
506
+ "mutable": false,
507
+ "complexType": {
508
+ "original": "| 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end'",
509
+ "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
510
+ "references": {}
511
+ },
512
+ "required": false,
513
+ "optional": false,
514
+ "docs": {
515
+ "tags": [],
516
+ "text": "The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\ninside the viewport."
517
+ },
518
+ "attribute": "placement",
519
+ "reflect": false,
520
+ "defaultValue": "'bottom-start'"
521
+ },
522
+ "closeOnSelect": {
523
+ "type": "boolean",
524
+ "mutable": false,
525
+ "complexType": {
526
+ "original": "boolean",
527
+ "resolved": "boolean",
528
+ "references": {}
529
+ },
530
+ "required": false,
531
+ "optional": false,
532
+ "docs": {
533
+ "tags": [],
534
+ "text": "Determines whether the dropdown should hide when a menu item is selected."
535
+ },
536
+ "attribute": "close-on-select",
537
+ "reflect": false,
538
+ "defaultValue": "true"
539
+ },
540
+ "distance": {
541
+ "type": "number",
542
+ "mutable": false,
543
+ "complexType": {
544
+ "original": "number",
545
+ "resolved": "number",
546
+ "references": {}
547
+ },
548
+ "required": false,
549
+ "optional": false,
550
+ "docs": {
551
+ "tags": [],
552
+ "text": "The distance in pixels from which to offset the panel away from its trigger."
553
+ },
554
+ "attribute": "distance",
555
+ "reflect": false,
556
+ "defaultValue": "4"
557
+ },
558
+ "skidding": {
559
+ "type": "number",
560
+ "mutable": false,
561
+ "complexType": {
562
+ "original": "number",
563
+ "resolved": "number",
564
+ "references": {}
565
+ },
566
+ "required": false,
567
+ "optional": false,
568
+ "docs": {
569
+ "tags": [],
570
+ "text": "The distance in pixels from which to offset the panel along its trigger."
571
+ },
572
+ "attribute": "skidding",
573
+ "reflect": false,
574
+ "defaultValue": "0"
575
+ },
576
+ "hoist": {
577
+ "type": "boolean",
578
+ "mutable": false,
579
+ "complexType": {
580
+ "original": "boolean",
581
+ "resolved": "boolean",
582
+ "references": {}
583
+ },
584
+ "required": false,
585
+ "optional": false,
586
+ "docs": {
587
+ "tags": [],
588
+ "text": "Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`."
589
+ },
590
+ "attribute": "hoist",
591
+ "reflect": false,
592
+ "defaultValue": "false"
593
+ },
594
+ "containingElement": {
595
+ "type": "unknown",
596
+ "mutable": false,
597
+ "complexType": {
598
+ "original": "HTMLElement",
599
+ "resolved": "HTMLElement | undefined",
600
+ "references": {
601
+ "HTMLElement": {
602
+ "location": "global",
603
+ "id": "global::HTMLElement"
604
+ }
605
+ }
606
+ },
607
+ "required": false,
608
+ "optional": true,
609
+ "docs": {
610
+ "tags": [],
611
+ "text": "The dropdown will close when the user interacts outside of this element (e.g. clicking)."
612
+ }
613
+ },
614
+ "filter": {
615
+ "type": "boolean",
616
+ "mutable": false,
617
+ "complexType": {
618
+ "original": "boolean",
619
+ "resolved": "boolean",
620
+ "references": {}
621
+ },
622
+ "required": false,
623
+ "optional": false,
624
+ "docs": {
625
+ "tags": [],
626
+ "text": "Set to true to allow auto filtering for entries in the dropdown.\nWith this flag the dropdown will automatically filter itsel.\nIf you need to coordinate the shown elements yourself,\ne.g. because you need to call an endpoint use asyncFilter instead"
627
+ },
628
+ "attribute": "filter",
629
+ "reflect": false,
630
+ "defaultValue": "false"
631
+ },
632
+ "asyncFilter": {
633
+ "type": "boolean",
634
+ "mutable": false,
635
+ "complexType": {
636
+ "original": "boolean",
637
+ "resolved": "boolean",
638
+ "references": {}
639
+ },
640
+ "required": false,
641
+ "optional": false,
642
+ "docs": {
643
+ "tags": [],
644
+ "text": "Set to true to allow async filtering.\nWhen you enter something in the search field the component will only emit an event but not filter any elements itself.\nYou can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself"
645
+ },
646
+ "attribute": "async-filter",
647
+ "reflect": false,
648
+ "defaultValue": "false"
649
+ },
650
+ "filterPlaceholder": {
651
+ "type": "string",
652
+ "mutable": false,
653
+ "complexType": {
654
+ "original": "string",
655
+ "resolved": "string",
656
+ "references": {}
657
+ },
658
+ "required": false,
659
+ "optional": false,
660
+ "docs": {
661
+ "tags": [],
662
+ "text": "The filter's placeholder text."
663
+ },
664
+ "attribute": "filter-placeholder",
665
+ "reflect": false,
666
+ "defaultValue": "'Filter...'"
667
+ },
668
+ "autofocusFilter": {
669
+ "type": "boolean",
670
+ "mutable": false,
671
+ "complexType": {
672
+ "original": "boolean",
673
+ "resolved": "boolean",
674
+ "references": {}
675
+ },
676
+ "required": false,
677
+ "optional": false,
678
+ "docs": {
679
+ "tags": [],
680
+ "text": "By default the search field will be focused when opening a dropdown with filtering enabled."
681
+ },
682
+ "attribute": "autofocus-filter",
683
+ "reflect": false,
684
+ "defaultValue": "true"
685
+ },
686
+ "filterDebounce": {
687
+ "type": "number",
688
+ "mutable": true,
689
+ "complexType": {
690
+ "original": "number",
691
+ "resolved": "number",
692
+ "references": {}
693
+ },
694
+ "required": false,
695
+ "optional": false,
696
+ "docs": {
697
+ "tags": [],
698
+ "text": "The debounce for the filter callbacks."
699
+ },
700
+ "attribute": "filter-debounce",
701
+ "reflect": false,
702
+ "defaultValue": "0"
703
+ },
704
+ "disableHideOnEnterAndSpace": {
705
+ "type": "boolean",
706
+ "mutable": false,
707
+ "complexType": {
708
+ "original": "boolean",
709
+ "resolved": "boolean",
710
+ "references": {}
711
+ },
712
+ "required": false,
713
+ "optional": false,
714
+ "docs": {
715
+ "tags": [],
716
+ "text": "The panel can be opend/closed by pressing the spacebar or the enter key. In some cases you might want to avoid this"
717
+ },
718
+ "attribute": "disable-hide-on-enter-and-space",
719
+ "reflect": false,
720
+ "defaultValue": "false"
721
+ },
722
+ "options": {
723
+ "type": "unknown",
724
+ "mutable": true,
725
+ "complexType": {
726
+ "original": "SixMenuItemData[]",
727
+ "resolved": "SixMenuItemData[]",
728
+ "references": {
729
+ "SixMenuItemData": {
730
+ "location": "import",
731
+ "path": "../six-menu/six-menu",
732
+ "id": "src/components/six-menu/six-menu.tsx::SixMenuItemData"
733
+ }
734
+ }
735
+ },
736
+ "required": false,
737
+ "optional": false,
738
+ "docs": {
739
+ "tags": [],
740
+ "text": "Set the options to be shown in the dropdown (alternative to setting the elements via html)"
741
+ },
742
+ "defaultValue": "[]"
743
+ },
744
+ "virtualScroll": {
745
+ "type": "boolean",
746
+ "mutable": false,
747
+ "complexType": {
748
+ "original": "boolean",
749
+ "resolved": "boolean",
750
+ "references": {}
751
+ },
752
+ "required": false,
753
+ "optional": false,
754
+ "docs": {
755
+ "tags": [],
756
+ "text": "Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\nare actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot."
757
+ },
758
+ "attribute": "virtual-scroll",
759
+ "reflect": false,
760
+ "defaultValue": "false"
761
+ },
762
+ "matchTriggerWidth": {
763
+ "type": "boolean",
764
+ "mutable": false,
765
+ "complexType": {
766
+ "original": "boolean",
767
+ "resolved": "boolean",
768
+ "references": {}
769
+ },
770
+ "required": false,
771
+ "optional": false,
772
+ "docs": {
773
+ "tags": [],
774
+ "text": "Determines if the dropdown panel's width should match the width of the trigger element.\n\nIf set to `true`, the panel will resize its width to align with the trigger's width.\nIf `false` or omitted, the panel will maintain its default width."
775
+ },
776
+ "attribute": "match-trigger-width",
777
+ "reflect": false,
778
+ "defaultValue": "false"
869
779
  }
870
- },
871
- "return": "Promise<void>"
872
- },
873
- "docs": {
874
- "text": "Hides the dropdown panel",
875
- "tags": []
876
- }
877
- },
878
- "reposition": {
879
- "complexType": {
880
- "signature": "() => Promise<void>",
881
- "parameters": [],
882
- "references": {
883
- "Promise": {
884
- "location": "global"
780
+ };
781
+ }
782
+ static get states() {
783
+ return {
784
+ "renderedOptions": {}
785
+ };
786
+ }
787
+ static get events() {
788
+ return [{
789
+ "method": "sixShow",
790
+ "name": "six-dropdown-show",
791
+ "bubbles": true,
792
+ "cancelable": true,
793
+ "composed": true,
794
+ "docs": {
795
+ "tags": [],
796
+ "text": "Emitted when the dropdown opens. Calling `event.preventDefault()` will prevent it from being opened."
797
+ },
798
+ "complexType": {
799
+ "original": "EmptyPayload",
800
+ "resolved": "undefined",
801
+ "references": {
802
+ "EmptyPayload": {
803
+ "location": "import",
804
+ "path": "../../utils/types",
805
+ "id": "src/utils/types.ts::EmptyPayload"
806
+ }
807
+ }
808
+ }
809
+ }, {
810
+ "method": "sixAfterShow",
811
+ "name": "six-dropdown-after-show",
812
+ "bubbles": true,
813
+ "cancelable": true,
814
+ "composed": true,
815
+ "docs": {
816
+ "tags": [],
817
+ "text": "Emitted after the dropdown opens and all transitions are complete."
818
+ },
819
+ "complexType": {
820
+ "original": "EmptyPayload",
821
+ "resolved": "undefined",
822
+ "references": {
823
+ "EmptyPayload": {
824
+ "location": "import",
825
+ "path": "../../utils/types",
826
+ "id": "src/utils/types.ts::EmptyPayload"
827
+ }
828
+ }
829
+ }
830
+ }, {
831
+ "method": "sixHide",
832
+ "name": "six-dropdown-hide",
833
+ "bubbles": true,
834
+ "cancelable": true,
835
+ "composed": true,
836
+ "docs": {
837
+ "tags": [],
838
+ "text": "Emitted when the dropdown closes. Calling `event.preventDefault()` will prevent it from being closed."
839
+ },
840
+ "complexType": {
841
+ "original": "EmptyPayload",
842
+ "resolved": "undefined",
843
+ "references": {
844
+ "EmptyPayload": {
845
+ "location": "import",
846
+ "path": "../../utils/types",
847
+ "id": "src/utils/types.ts::EmptyPayload"
848
+ }
849
+ }
850
+ }
851
+ }, {
852
+ "method": "sixAfterHide",
853
+ "name": "six-dropdown-after-hide",
854
+ "bubbles": true,
855
+ "cancelable": true,
856
+ "composed": true,
857
+ "docs": {
858
+ "tags": [],
859
+ "text": "Emitted after the dropdown closes and all transitions are complete."
860
+ },
861
+ "complexType": {
862
+ "original": "EmptyPayload",
863
+ "resolved": "undefined",
864
+ "references": {
865
+ "EmptyPayload": {
866
+ "location": "import",
867
+ "path": "../../utils/types",
868
+ "id": "src/utils/types.ts::EmptyPayload"
869
+ }
870
+ }
871
+ }
872
+ }, {
873
+ "method": "sixAutoFilter",
874
+ "name": "six-dropdown-auto-filter-fired",
875
+ "bubbles": true,
876
+ "cancelable": true,
877
+ "composed": true,
878
+ "docs": {
879
+ "tags": [],
880
+ "text": "Emitted when the auto filter is triggered"
881
+ },
882
+ "complexType": {
883
+ "original": "SixDropdownAutoFilterPayload",
884
+ "resolved": "SixDropdownAutoFilterPayload",
885
+ "references": {
886
+ "SixDropdownAutoFilterPayload": {
887
+ "location": "local",
888
+ "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx",
889
+ "id": "src/components/six-dropdown/six-dropdown.tsx::SixDropdownAutoFilterPayload"
890
+ }
891
+ }
892
+ }
893
+ }, {
894
+ "method": "sixAsyncFilterFired",
895
+ "name": "six-async-filter-fired",
896
+ "bubbles": true,
897
+ "cancelable": true,
898
+ "composed": true,
899
+ "docs": {
900
+ "tags": [],
901
+ "text": "Emitted when the async filter is triggered"
902
+ },
903
+ "complexType": {
904
+ "original": "SixDropdownAsyncFilterPayload",
905
+ "resolved": "SixDropdownAsyncFilterPayload",
906
+ "references": {
907
+ "SixDropdownAsyncFilterPayload": {
908
+ "location": "local",
909
+ "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx",
910
+ "id": "src/components/six-dropdown/six-dropdown.tsx::SixDropdownAsyncFilterPayload"
911
+ }
912
+ }
913
+ }
914
+ }, {
915
+ "method": "sixScroll",
916
+ "name": "six-dropdown-scroll",
917
+ "bubbles": true,
918
+ "cancelable": true,
919
+ "composed": true,
920
+ "docs": {
921
+ "tags": [],
922
+ "text": "Emitted when the user scrolls inside dropdown panel."
923
+ },
924
+ "complexType": {
925
+ "original": "SixDropdownScrollPayload",
926
+ "resolved": "SixDropdownScrollPayload",
927
+ "references": {
928
+ "SixDropdownScrollPayload": {
929
+ "location": "local",
930
+ "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx",
931
+ "id": "src/components/six-dropdown/six-dropdown.tsx::SixDropdownScrollPayload"
932
+ }
933
+ }
934
+ }
935
+ }];
936
+ }
937
+ static get methods() {
938
+ return {
939
+ "show": {
940
+ "complexType": {
941
+ "signature": "() => Promise<void>",
942
+ "parameters": [],
943
+ "references": {
944
+ "Promise": {
945
+ "location": "global",
946
+ "id": "global::Promise"
947
+ }
948
+ },
949
+ "return": "Promise<void>"
950
+ },
951
+ "docs": {
952
+ "text": "Shows the dropdown panel",
953
+ "tags": []
954
+ }
955
+ },
956
+ "hide": {
957
+ "complexType": {
958
+ "signature": "() => Promise<void>",
959
+ "parameters": [],
960
+ "references": {
961
+ "Promise": {
962
+ "location": "global",
963
+ "id": "global::Promise"
964
+ }
965
+ },
966
+ "return": "Promise<void>"
967
+ },
968
+ "docs": {
969
+ "text": "Hides the dropdown panel",
970
+ "tags": []
971
+ }
972
+ },
973
+ "reposition": {
974
+ "complexType": {
975
+ "signature": "() => Promise<void>",
976
+ "parameters": [],
977
+ "references": {
978
+ "Promise": {
979
+ "location": "global",
980
+ "id": "global::Promise"
981
+ }
982
+ },
983
+ "return": "Promise<void>"
984
+ },
985
+ "docs": {
986
+ "text": "Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\nis activated.",
987
+ "tags": [{
988
+ "name": "deprecated",
989
+ "text": ": use the property `matchTriggerWidth` instead."
990
+ }]
991
+ }
885
992
  }
886
- },
887
- "return": "Promise<void>"
888
- },
889
- "docs": {
890
- "text": "Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\nis activated.",
891
- "tags": []
892
- }
893
- }
894
- };
895
- }
896
- static get elementRef() { return "host"; }
897
- static get watchers() {
898
- return [{
899
- "propName": "open",
900
- "methodName": "handleOpenChange"
901
- }, {
902
- "propName": "distance",
903
- "methodName": "handlePopoverOptionsChange"
904
- }, {
905
- "propName": "hoist",
906
- "methodName": "handlePopoverOptionsChange"
907
- }, {
908
- "propName": "placement",
909
- "methodName": "handlePopoverOptionsChange"
910
- }, {
911
- "propName": "skidding",
912
- "methodName": "handlePopoverOptionsChange"
913
- }, {
914
- "propName": "options",
915
- "methodName": "handleOptionsChange"
916
- }];
917
- }
993
+ };
994
+ }
995
+ static get elementRef() { return "host"; }
996
+ static get watchers() {
997
+ return [{
998
+ "propName": "open",
999
+ "methodName": "handleOpenChange"
1000
+ }, {
1001
+ "propName": "distance",
1002
+ "methodName": "handlePopoverOptionsChange"
1003
+ }, {
1004
+ "propName": "hoist",
1005
+ "methodName": "handlePopoverOptionsChange"
1006
+ }, {
1007
+ "propName": "placement",
1008
+ "methodName": "handlePopoverOptionsChange"
1009
+ }, {
1010
+ "propName": "skidding",
1011
+ "methodName": "handlePopoverOptionsChange"
1012
+ }, {
1013
+ "propName": "options",
1014
+ "methodName": "handleOptionsChange"
1015
+ }, {
1016
+ "propName": "virtualScroll",
1017
+ "methodName": "handleOptionsChange"
1018
+ }];
1019
+ }
1020
+ }
1021
+ function isSixMenu(el) {
1022
+ return (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === 'six-menu';
1023
+ }
1024
+ function isSixMenuItem(el) {
1025
+ return (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === 'six-menu-item';
1026
+ }
1027
+ function isSelectionContainer(el) {
1028
+ var _a;
1029
+ return ((_a = el === null || el === void 0 ? void 0 : el.getAttribute('class')) === null || _a === void 0 ? void 0 : _a.includes('selection-container')) || false;
1030
+ }
1031
+ async function containsFilterTerm(menuItem, lowerCaseFilterTerm) {
1032
+ return (menuItem.value.toLowerCase().includes(lowerCaseFilterTerm) ||
1033
+ (await menuItem.getTextLabel()).toLowerCase().includes(lowerCaseFilterTerm));
918
1034
  }
919
1035
  //# sourceMappingURL=six-dropdown.js.map