@six-group/ui-library 0.0.0-insider.a8d68c7 → 0.0.0-insider.b26fdef

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 (1066) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/event-listeners-9fb878f1.js +61 -0
  3. package/dist/cjs/event-listeners-9fb878f1.js.map +1 -0
  4. package/dist/cjs/{execution-control-45c84c46.js → execution-control-d728da70.js} +15 -15
  5. package/dist/cjs/execution-control-d728da70.js.map +1 -0
  6. package/dist/cjs/focus-visible-e2c9255a.js +47 -0
  7. package/dist/cjs/focus-visible-e2c9255a.js.map +1 -0
  8. package/dist/cjs/form-9ebaae7c.js +20 -0
  9. package/dist/{esm/form-0b9c11cd.js.map → cjs/form-9ebaae7c.js.map} +1 -1
  10. package/dist/cjs/form-control-f9bc25dd.js +36 -0
  11. package/dist/cjs/form-control-f9bc25dd.js.map +1 -0
  12. package/dist/cjs/{index-2f6daa5b.js → index-3baddcdc.js} +724 -180
  13. package/dist/cjs/index-3baddcdc.js.map +1 -0
  14. package/dist/cjs/index.cjs.js +96 -81
  15. package/dist/cjs/index.cjs.js.map +1 -1
  16. package/dist/cjs/loader.cjs.js +3 -12
  17. package/dist/cjs/loader.cjs.js.map +1 -1
  18. package/dist/cjs/modal-3ce015be.js +52 -0
  19. package/dist/cjs/modal-3ce015be.js.map +1 -0
  20. package/dist/cjs/{popover-8885d50f.js → popover-1e7c09f1.js} +99 -99
  21. package/dist/cjs/popover-1e7c09f1.js.map +1 -0
  22. package/dist/cjs/popup-40a9adbb.js +103 -0
  23. package/dist/cjs/popup-40a9adbb.js.map +1 -0
  24. package/dist/cjs/scroll-68033901.js +68 -0
  25. package/dist/{esm/scroll-180b53fd.js.map → cjs/scroll-68033901.js.map} +1 -1
  26. package/dist/cjs/set-attributes_2.cjs.entry.js +50 -50
  27. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-alert.cjs.entry.js +109 -109
  29. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-avatar.cjs.entry.js +20 -20
  31. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-badge.cjs.entry.js +22 -22
  33. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-button.cjs.entry.js +95 -95
  35. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js +7 -7
  37. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-checkbox.cjs.entry.js +110 -115
  39. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-datepicker.cjs.entry.js +834 -837
  41. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-details.cjs.entry.js +127 -127
  43. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-dialog.cjs.entry.js +128 -128
  45. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-drawer.cjs.entry.js +146 -146
  47. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js +634 -634
  49. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-error-page.cjs.entry.js +82 -82
  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 +33 -33
  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 +98 -98
  59. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-footer.cjs.entry.js +7 -7
  61. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-group-label.cjs.entry.js +43 -43
  63. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-header.cjs.entry.js +168 -155
  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 +190 -187
  71. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-item-picker.cjs.entry.js +405 -309
  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 +20 -20
  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 +7 -7
  81. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-menu-item.cjs.entry.js +49 -49
  83. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-menu-label.cjs.entry.js +7 -7
  85. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-picto.cjs.entry.js +14 -14
  87. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-progress-bar.cjs.entry.js +14 -14
  89. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-progress-ring.cjs.entry.js +29 -29
  91. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-radio.cjs.entry.js +103 -111
  93. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-range.cjs.entry.js +180 -177
  95. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-root.cjs.entry.js +30 -30
  97. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-search-field.cjs.entry.js +43 -43
  99. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-select.cjs.entry.js +364 -360
  101. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +56 -45
  103. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-sidebar-item.cjs.entry.js +17 -15
  105. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-sidebar.cjs.entry.js +173 -173
  107. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-spinner.cjs.entry.js +14 -14
  109. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  110. package/dist/cjs/six-switch.cjs.entry.js +107 -87
  111. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  112. package/dist/cjs/six-tab-group.cjs.entry.js +230 -235
  113. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  114. package/dist/cjs/six-tab-panel.cjs.entry.js +13 -13
  115. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  116. package/dist/cjs/six-tab.cjs.entry.js +55 -39
  117. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  118. package/dist/cjs/six-tag.cjs.entry.js +55 -33
  119. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  120. package/dist/cjs/six-textarea.cjs.entry.js +182 -183
  121. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  122. package/dist/cjs/six-tile.cjs.entry.js +76 -76
  123. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  124. package/dist/cjs/six-timepicker.cjs.entry.js +347 -352
  125. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  126. package/dist/cjs/six-tooltip.cjs.entry.js +148 -148
  127. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  128. package/dist/cjs/slot-9821749e.js +53 -0
  129. package/dist/cjs/slot-9821749e.js.map +1 -0
  130. package/dist/cjs/types-0a6d66f6.js +17 -0
  131. package/dist/cjs/types-0a6d66f6.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 +55 -54
  135. package/dist/collection/components/six-alert/six-alert.js +339 -332
  136. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  137. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  138. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  139. package/dist/collection/components/six-avatar/six-avatar.js +112 -112
  140. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  141. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  142. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  143. package/dist/collection/components/six-badge/six-badge.js +91 -91
  144. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  145. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  146. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  147. package/dist/collection/components/six-button/six-button.css +5 -30
  148. package/dist/collection/components/six-button/six-button.js +449 -444
  149. package/dist/collection/components/six-button/six-button.js.map +1 -1
  150. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  151. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  152. package/dist/collection/components/six-card/six-card.js +16 -16
  153. package/dist/collection/components/six-card/six-card.js.map +1 -1
  154. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  155. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  156. package/dist/collection/components/six-checkbox/six-checkbox.css +9 -1
  157. package/dist/collection/components/six-checkbox/six-checkbox.js +423 -420
  158. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  159. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +83 -0
  160. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  161. package/dist/collection/components/six-datepicker/components/day-selection.js +9 -9
  162. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  163. package/dist/collection/components/six-datepicker/components/month-selection.js +10 -10
  164. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  165. package/dist/collection/components/six-datepicker/components/year-selection.js +10 -10
  166. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  167. package/dist/collection/components/six-datepicker/six-date-formats.js +20 -20
  168. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
  169. package/dist/collection/components/six-datepicker/six-datepicker.js +1060 -1035
  170. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  171. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  172. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  173. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +14 -14
  174. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -1
  175. package/dist/collection/components/six-details/six-details.css +3 -1
  176. package/dist/collection/components/six-details/six-details.js +412 -406
  177. package/dist/collection/components/six-details/six-details.js.map +1 -1
  178. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  179. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  180. package/dist/collection/components/six-dialog/six-dialog.js +359 -351
  181. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  182. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  183. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  184. package/dist/collection/components/six-drawer/six-drawer.js +414 -406
  185. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  186. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  187. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  188. package/dist/collection/components/six-dropdown/six-dropdown.css +2 -1
  189. package/dist/collection/components/six-dropdown/six-dropdown.js +897 -885
  190. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  191. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  192. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  193. package/dist/collection/components/six-error/six-error.css +5 -0
  194. package/dist/collection/components/six-error/six-error.js +25 -0
  195. package/dist/collection/components/six-error/six-error.js.map +1 -0
  196. package/dist/collection/components/six-error-page/six-error-page.js +178 -178
  197. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  198. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  199. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  200. package/dist/collection/components/six-file-list/six-file-list.js +16 -16
  201. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  202. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  203. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  204. package/dist/collection/components/six-file-list-item/six-file-list-item.js +196 -194
  205. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  206. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  207. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  208. package/dist/collection/components/six-file-upload/six-file-upload.js +292 -290
  209. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  210. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  211. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  212. package/dist/collection/components/six-footer/six-footer.js +16 -16
  213. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  214. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  215. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  216. package/dist/collection/components/six-group-label/six-group-label.css +4 -1
  217. package/dist/collection/components/six-group-label/six-group-label.js +158 -158
  218. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  219. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +45 -0
  220. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  221. package/dist/collection/components/six-header/six-header.js +421 -400
  222. package/dist/collection/components/six-header/six-header.js.map +1 -1
  223. package/dist/collection/components/six-header/test/six-header.spec.js +141 -0
  224. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  225. package/dist/collection/components/six-icon/six-icon.css +7 -0
  226. package/dist/collection/components/six-icon/six-icon.js +72 -72
  227. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  228. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  229. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  230. package/dist/collection/components/six-icon-button/six-icon-button.css +4 -4
  231. package/dist/collection/components/six-icon-button/six-icon-button.js +133 -133
  232. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  233. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  234. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  235. package/dist/collection/components/six-input/six-input.css +5 -2
  236. package/dist/collection/components/six-input/six-input.js +947 -913
  237. package/dist/collection/components/six-input/six-input.js.map +1 -1
  238. package/dist/collection/components/six-input/test/six-input.spec.js +39 -0
  239. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  240. package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
  241. package/dist/collection/components/six-item-picker/six-item-picker.js +731 -631
  242. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  243. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  244. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  245. package/dist/collection/components/six-item-picker/types.js +7 -7
  246. package/dist/collection/components/six-item-picker/types.js.map +1 -1
  247. package/dist/collection/components/six-language-switcher/six-language-switcher.js +125 -123
  248. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  249. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  250. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  251. package/dist/collection/components/six-layout-grid/six-layout-grid.js +55 -55
  252. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  253. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  254. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  255. package/dist/collection/components/six-main-container/six-main-container.js +42 -42
  256. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  257. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  258. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  259. package/dist/collection/components/six-menu/six-menu.js +369 -365
  260. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  261. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  262. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  263. package/dist/collection/components/six-menu-divider/six-menu-divider.js +16 -16
  264. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  265. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  266. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  267. package/dist/collection/components/six-menu-item/six-menu-item.js +182 -178
  268. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  269. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  270. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  271. package/dist/collection/components/six-menu-label/six-menu-label.js +16 -16
  272. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  273. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  274. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  275. package/dist/collection/components/six-picto/six-picto.js +47 -47
  276. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  277. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  278. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  279. package/dist/collection/components/six-progress-bar/six-progress-bar.js +65 -65
  280. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  281. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  282. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  283. package/dist/collection/components/six-progress-ring/six-progress-ring.js +101 -101
  284. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  285. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  286. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  287. package/dist/collection/components/six-radio/six-radio.js +322 -340
  288. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  289. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  290. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  291. package/dist/collection/components/six-range/six-range.css +4 -1
  292. package/dist/collection/components/six-range/six-range.js +567 -540
  293. package/dist/collection/components/six-range/six-range.js.map +1 -1
  294. package/dist/collection/components/six-range/test/six-range.spec.js +34 -0
  295. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  296. package/dist/collection/components/six-root/six-root.js +153 -151
  297. package/dist/collection/components/six-root/six-root.js.map +1 -1
  298. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  299. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  300. package/dist/collection/components/six-search-field/six-search-field.js +172 -171
  301. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  302. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  303. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  304. package/dist/collection/components/six-select/six-select.css +10 -10
  305. package/dist/collection/components/six-select/six-select.js +939 -911
  306. package/dist/collection/components/six-select/six-select.js.map +1 -1
  307. package/dist/collection/components/six-select/test/six-select.spec.js +86 -0
  308. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  309. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  310. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  311. package/dist/collection/components/six-select/util.js +34 -34
  312. package/dist/collection/components/six-select/util.js.map +1 -1
  313. package/dist/collection/components/six-sidebar/six-sidebar.js +466 -454
  314. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  315. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  316. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  317. package/dist/collection/components/six-sidebar-item/six-sidebar-item.css +6 -1
  318. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +102 -83
  319. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  320. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  321. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  322. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +11 -0
  323. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +182 -154
  324. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  325. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  326. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  327. package/dist/collection/components/six-spinner/six-spinner.js +48 -47
  328. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  329. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  330. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  331. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +46 -45
  332. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  333. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  334. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  335. package/dist/collection/components/six-switch/six-switch.css +4 -1
  336. package/dist/collection/components/six-switch/six-switch.js +388 -341
  337. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  338. package/dist/collection/components/six-switch/test/six-switch.spec.js +73 -0
  339. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  340. package/dist/collection/components/six-tab/six-tab.css +54 -5
  341. package/dist/collection/components/six-tab/six-tab.js +206 -186
  342. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  343. package/dist/collection/components/six-tab-group/six-tab-group.css +0 -31
  344. package/dist/collection/components/six-tab-group/six-tab-group.js +319 -357
  345. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  346. package/dist/collection/components/six-tab-panel/six-tab-panel.js +64 -64
  347. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  348. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  349. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  350. package/dist/collection/components/six-tag/six-tag.css +6 -0
  351. package/dist/collection/components/six-tag/six-tag.js +162 -139
  352. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  353. package/dist/collection/components/six-tag/test/six-tag.spec.js +54 -0
  354. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  355. package/dist/collection/components/six-textarea/six-textarea.css +4 -1
  356. package/dist/collection/components/six-textarea/six-textarea.js +787 -760
  357. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  358. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +119 -0
  359. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  360. package/dist/collection/components/six-tile/six-tile.js +300 -296
  361. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  362. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  363. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  364. package/dist/collection/components/six-timepicker/six-timepicker.js +831 -813
  365. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  366. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  367. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  368. package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
  369. package/dist/collection/components/six-tooltip/six-tooltip.js +409 -403
  370. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  371. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  372. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  373. package/dist/collection/functional-components/form-control/form-control.js +20 -18
  374. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  375. package/dist/collection/testUtil/delay.js +1 -1
  376. package/dist/collection/testUtil/delay.js.map +1 -1
  377. package/dist/collection/utils/animation.js +34 -0
  378. package/dist/collection/utils/animation.js.map +1 -0
  379. package/dist/collection/utils/date-util.js +501 -501
  380. package/dist/collection/utils/date-util.js.map +1 -1
  381. package/dist/collection/utils/date-util.spec.js +995 -0
  382. package/dist/collection/utils/date-util.spec.js.map +1 -0
  383. package/dist/collection/utils/error-messages.js +95 -81
  384. package/dist/collection/utils/error-messages.js.map +1 -1
  385. package/dist/collection/utils/event-listeners.js +51 -51
  386. package/dist/collection/utils/event-listeners.js.map +1 -1
  387. package/dist/collection/utils/execution-control.js +14 -14
  388. package/dist/collection/utils/execution-control.js.map +1 -1
  389. package/dist/collection/utils/focus-visible.js +28 -28
  390. package/dist/collection/utils/focus-visible.js.map +1 -1
  391. package/dist/collection/utils/form.js +12 -12
  392. package/dist/collection/utils/form.js.map +1 -1
  393. package/dist/collection/utils/modal.js +25 -25
  394. package/dist/collection/utils/modal.js.map +1 -1
  395. package/dist/collection/utils/offset.js +4 -4
  396. package/dist/collection/utils/offset.js.map +1 -1
  397. package/dist/collection/utils/popover.js +100 -100
  398. package/dist/collection/utils/popover.js.map +1 -1
  399. package/dist/collection/utils/popup.js +71 -71
  400. package/dist/collection/utils/popup.js.map +1 -1
  401. package/dist/collection/utils/scroll.js +28 -28
  402. package/dist/collection/utils/scroll.js.map +1 -1
  403. package/dist/collection/utils/scroll.spec.js +122 -0
  404. package/dist/collection/utils/scroll.spec.js.map +1 -0
  405. package/dist/collection/utils/slot.js +28 -28
  406. package/dist/collection/utils/slot.js.map +1 -1
  407. package/dist/collection/utils/support.js +10 -10
  408. package/dist/collection/utils/support.js.map +1 -1
  409. package/dist/collection/utils/tabbable.js +17 -17
  410. package/dist/collection/utils/tabbable.js.map +1 -1
  411. package/dist/collection/utils/time.util.js +72 -72
  412. package/dist/collection/utils/time.util.js.map +1 -1
  413. package/dist/collection/utils/time.util.spec.js +368 -0
  414. package/dist/collection/utils/time.util.spec.js.map +1 -0
  415. package/dist/collection/wrappers/set-attributes/set-attributes.js +66 -66
  416. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  417. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  418. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  419. package/dist/components/event-listeners.js +51 -51
  420. package/dist/components/event-listeners.js.map +1 -1
  421. package/dist/components/execution-control.js +14 -14
  422. package/dist/components/execution-control.js.map +1 -1
  423. package/dist/components/focus-visible.js +28 -28
  424. package/dist/components/focus-visible.js.map +1 -1
  425. package/dist/components/form-control.js +26 -23
  426. package/dist/components/form-control.js.map +1 -1
  427. package/dist/components/form.js +12 -12
  428. package/dist/components/form.js.map +1 -1
  429. package/dist/components/index.d.ts +6 -0
  430. package/dist/components/index.js +159 -143
  431. package/dist/components/index.js.map +1 -1
  432. package/dist/components/modal.js +35 -35
  433. package/dist/components/modal.js.map +1 -1
  434. package/dist/components/popover.js +98 -98
  435. package/dist/components/popover.js.map +1 -1
  436. package/dist/components/scroll.js +32 -32
  437. package/dist/components/scroll.js.map +1 -1
  438. package/dist/components/set-attributes.d.ts +2 -2
  439. package/dist/components/set-attributes2.js +58 -56
  440. package/dist/components/set-attributes2.js.map +1 -1
  441. package/dist/components/six-alert.d.ts +2 -2
  442. package/dist/components/six-alert.js +144 -141
  443. package/dist/components/six-alert.js.map +1 -1
  444. package/dist/components/six-avatar.d.ts +2 -2
  445. package/dist/components/six-avatar.js +44 -44
  446. package/dist/components/six-avatar.js.map +1 -1
  447. package/dist/components/six-badge.d.ts +2 -2
  448. package/dist/components/six-badge.js +39 -39
  449. package/dist/components/six-badge.js.map +1 -1
  450. package/dist/components/six-button.d.ts +2 -2
  451. package/dist/components/six-button.js +132 -132
  452. package/dist/components/six-button.js.map +1 -1
  453. package/dist/components/six-card.d.ts +2 -2
  454. package/dist/components/six-card.js +20 -20
  455. package/dist/components/six-card.js.map +1 -1
  456. package/dist/components/six-checkbox.d.ts +2 -2
  457. package/dist/components/six-checkbox.js +147 -140
  458. package/dist/components/six-checkbox.js.map +1 -1
  459. package/dist/components/six-datepicker.d.ts +2 -2
  460. package/dist/components/six-datepicker.js +905 -898
  461. package/dist/components/six-datepicker.js.map +1 -1
  462. package/dist/components/six-details.d.ts +2 -2
  463. package/dist/components/six-details2.js +158 -156
  464. package/dist/components/six-details2.js.map +1 -1
  465. package/dist/components/six-dialog.d.ts +2 -2
  466. package/dist/components/six-dialog.js +158 -156
  467. package/dist/components/six-dialog.js.map +1 -1
  468. package/dist/components/six-drawer.d.ts +2 -2
  469. package/dist/components/six-drawer.js +178 -176
  470. package/dist/components/six-drawer.js.map +1 -1
  471. package/dist/components/six-dropdown.d.ts +2 -2
  472. package/dist/components/six-dropdown2.js +473 -460
  473. package/dist/components/six-dropdown2.js.map +1 -1
  474. package/dist/components/six-error-page.d.ts +2 -2
  475. package/dist/components/six-error-page.js +106 -106
  476. package/dist/components/six-error-page.js.map +1 -1
  477. package/dist/components/six-error.d.ts +11 -0
  478. package/dist/components/six-error.js +8 -0
  479. package/dist/components/six-error.js.map +1 -0
  480. package/dist/components/six-error2.js +32 -0
  481. package/dist/components/six-error2.js.map +1 -0
  482. package/dist/components/six-file-list-item.d.ts +2 -2
  483. package/dist/components/six-file-list-item.js +58 -58
  484. package/dist/components/six-file-list-item.js.map +1 -1
  485. package/dist/components/six-file-list.d.ts +2 -2
  486. package/dist/components/six-file-list.js +20 -20
  487. package/dist/components/six-file-list.js.map +1 -1
  488. package/dist/components/six-file-upload.d.ts +2 -2
  489. package/dist/components/six-file-upload.js +123 -123
  490. package/dist/components/six-file-upload.js.map +1 -1
  491. package/dist/components/six-footer.d.ts +2 -2
  492. package/dist/components/six-footer.js +20 -20
  493. package/dist/components/six-footer.js.map +1 -1
  494. package/dist/components/six-group-label.d.ts +2 -2
  495. package/dist/components/six-group-label.js +71 -62
  496. package/dist/components/six-group-label.js.map +1 -1
  497. package/dist/components/six-header.d.ts +2 -2
  498. package/dist/components/six-header.js +227 -206
  499. package/dist/components/six-header.js.map +1 -1
  500. package/dist/components/six-icon-button.d.ts +2 -2
  501. package/dist/components/six-icon-button2.js +55 -55
  502. package/dist/components/six-icon-button2.js.map +1 -1
  503. package/dist/components/six-icon.d.ts +2 -2
  504. package/dist/components/six-icon2.js +38 -38
  505. package/dist/components/six-icon2.js.map +1 -1
  506. package/dist/components/six-input.d.ts +2 -2
  507. package/dist/components/six-input2.js +255 -239
  508. package/dist/components/six-input2.js.map +1 -1
  509. package/dist/components/six-item-picker.d.ts +2 -2
  510. package/dist/components/six-item-picker2.js +448 -348
  511. package/dist/components/six-item-picker2.js.map +1 -1
  512. package/dist/components/six-language-switcher.d.ts +2 -2
  513. package/dist/components/six-language-switcher.js +64 -62
  514. package/dist/components/six-language-switcher.js.map +1 -1
  515. package/dist/components/six-layout-grid.d.ts +2 -2
  516. package/dist/components/six-layout-grid.js +37 -35
  517. package/dist/components/six-layout-grid.js.map +1 -1
  518. package/dist/components/six-main-container.d.ts +2 -2
  519. package/dist/components/six-main-container.js +24 -24
  520. package/dist/components/six-main-container.js.map +1 -1
  521. package/dist/components/six-menu-divider.d.ts +2 -2
  522. package/dist/components/six-menu-divider.js +20 -20
  523. package/dist/components/six-menu-divider.js.map +1 -1
  524. package/dist/components/six-menu-item.d.ts +2 -2
  525. package/dist/components/six-menu-item2.js +74 -74
  526. package/dist/components/six-menu-item2.js.map +1 -1
  527. package/dist/components/six-menu-label.d.ts +2 -2
  528. package/dist/components/six-menu-label.js +20 -20
  529. package/dist/components/six-menu-label.js.map +1 -1
  530. package/dist/components/six-menu.d.ts +2 -2
  531. package/dist/components/six-menu2.js +218 -218
  532. package/dist/components/six-menu2.js.map +1 -1
  533. package/dist/components/six-picto.d.ts +2 -2
  534. package/dist/components/six-picto2.js +29 -29
  535. package/dist/components/six-picto2.js.map +1 -1
  536. package/dist/components/six-progress-bar.d.ts +2 -2
  537. package/dist/components/six-progress-bar.js +30 -30
  538. package/dist/components/six-progress-bar.js.map +1 -1
  539. package/dist/components/six-progress-ring.d.ts +2 -2
  540. package/dist/components/six-progress-ring.js +48 -46
  541. package/dist/components/six-progress-ring.js.map +1 -1
  542. package/dist/components/six-radio.d.ts +2 -2
  543. package/dist/components/six-radio.js +127 -133
  544. package/dist/components/six-radio.js.map +1 -1
  545. package/dist/components/six-range.d.ts +2 -2
  546. package/dist/components/six-range.js +233 -215
  547. package/dist/components/six-range.js.map +1 -1
  548. package/dist/components/six-root.d.ts +2 -2
  549. package/dist/components/six-root.js +66 -64
  550. package/dist/components/six-root.js.map +1 -1
  551. package/dist/components/six-search-field.d.ts +2 -2
  552. package/dist/components/six-search-field.js +78 -70
  553. package/dist/components/six-search-field.js.map +1 -1
  554. package/dist/components/six-select.d.ts +2 -2
  555. package/dist/components/six-select.js +468 -443
  556. package/dist/components/six-select.js.map +1 -1
  557. package/dist/components/six-sidebar-item-group.d.ts +2 -2
  558. package/dist/components/six-sidebar-item-group.js +87 -75
  559. package/dist/components/six-sidebar-item-group.js.map +1 -1
  560. package/dist/components/six-sidebar-item.d.ts +2 -2
  561. package/dist/components/six-sidebar-item.js +35 -32
  562. package/dist/components/six-sidebar-item.js.map +1 -1
  563. package/dist/components/six-sidebar.d.ts +2 -2
  564. package/dist/components/six-sidebar.js +198 -196
  565. package/dist/components/six-sidebar.js.map +1 -1
  566. package/dist/components/six-spinner.d.ts +2 -2
  567. package/dist/components/six-spinner2.js +29 -29
  568. package/dist/components/six-spinner2.js.map +1 -1
  569. package/dist/components/six-stage-indicator.d.ts +2 -2
  570. package/dist/components/six-stage-indicator2.js +28 -28
  571. package/dist/components/six-stage-indicator2.js.map +1 -1
  572. package/dist/components/six-switch.d.ts +2 -2
  573. package/dist/components/six-switch.js +142 -110
  574. package/dist/components/six-switch.js.map +1 -1
  575. package/dist/components/six-tab-group.d.ts +2 -2
  576. package/dist/components/six-tab-group.js +260 -263
  577. package/dist/components/six-tab-group.js.map +1 -1
  578. package/dist/components/six-tab-panel.d.ts +2 -2
  579. package/dist/components/six-tab-panel.js +29 -29
  580. package/dist/components/six-tab-panel.js.map +1 -1
  581. package/dist/components/six-tab.d.ts +2 -2
  582. package/dist/components/six-tab.js +85 -69
  583. package/dist/components/six-tab.js.map +1 -1
  584. package/dist/components/six-tag.d.ts +2 -2
  585. package/dist/components/six-tag2.js +91 -63
  586. package/dist/components/six-tag2.js.map +1 -1
  587. package/dist/components/six-textarea.d.ts +2 -2
  588. package/dist/components/six-textarea.js +236 -223
  589. package/dist/components/six-textarea.js.map +1 -1
  590. package/dist/components/six-tile.d.ts +2 -2
  591. package/dist/components/six-tile.js +116 -116
  592. package/dist/components/six-tile.js.map +1 -1
  593. package/dist/components/six-timepicker.d.ts +2 -2
  594. package/dist/components/six-timepicker2.js +490 -486
  595. package/dist/components/six-timepicker2.js.map +1 -1
  596. package/dist/components/six-tooltip.d.ts +2 -2
  597. package/dist/components/six-tooltip2.js +172 -170
  598. package/dist/components/six-tooltip2.js.map +1 -1
  599. package/dist/components/slot.js +28 -28
  600. package/dist/components/slot.js.map +1 -1
  601. package/dist/components.d.ts +361 -88
  602. package/dist/components.json +4178 -120
  603. package/dist/esm/event-listeners-706d4309.js +59 -0
  604. package/dist/esm/event-listeners-706d4309.js.map +1 -0
  605. package/dist/esm/{execution-control-72cc50f4.js → execution-control-2ebaf4ef.js} +15 -15
  606. package/dist/esm/execution-control-2ebaf4ef.js.map +1 -0
  607. package/dist/esm/focus-visible-d9dbfeef.js +45 -0
  608. package/dist/esm/focus-visible-d9dbfeef.js.map +1 -0
  609. package/dist/esm/form-4b145b7a.js +18 -0
  610. package/dist/esm/form-4b145b7a.js.map +1 -0
  611. package/dist/esm/form-control-6b30894f.js +34 -0
  612. package/dist/esm/form-control-6b30894f.js.map +1 -0
  613. package/dist/esm/{index-5c0f6628.js → index-17d8173e.js} +724 -180
  614. package/dist/esm/index-17d8173e.js.map +1 -0
  615. package/dist/esm/index.js +96 -82
  616. package/dist/esm/index.js.map +1 -1
  617. package/dist/esm/loader.js +4 -13
  618. package/dist/esm/loader.js.map +1 -1
  619. package/dist/esm/modal-96526245.js +49 -0
  620. package/dist/esm/modal-96526245.js.map +1 -0
  621. package/dist/esm/{popover-2e72e7d8.js → popover-25996e62.js} +99 -99
  622. package/dist/esm/popover-25996e62.js.map +1 -0
  623. package/dist/esm/popup-e8049817.js +98 -0
  624. package/dist/esm/popup-e8049817.js.map +1 -0
  625. package/dist/esm/scroll-3e16851e.js +64 -0
  626. package/dist/esm/scroll-3e16851e.js.map +1 -0
  627. package/dist/esm/set-attributes_2.entry.js +50 -50
  628. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  629. package/dist/esm/six-alert.entry.js +109 -109
  630. package/dist/esm/six-alert.entry.js.map +1 -1
  631. package/dist/esm/six-avatar.entry.js +20 -20
  632. package/dist/esm/six-avatar.entry.js.map +1 -1
  633. package/dist/esm/six-badge.entry.js +22 -22
  634. package/dist/esm/six-badge.entry.js.map +1 -1
  635. package/dist/esm/six-button.entry.js +95 -95
  636. package/dist/esm/six-button.entry.js.map +1 -1
  637. package/dist/esm/six-card.entry.js +7 -7
  638. package/dist/esm/six-card.entry.js.map +1 -1
  639. package/dist/esm/six-checkbox.entry.js +110 -115
  640. package/dist/esm/six-checkbox.entry.js.map +1 -1
  641. package/dist/esm/six-datepicker.entry.js +834 -837
  642. package/dist/esm/six-datepicker.entry.js.map +1 -1
  643. package/dist/esm/six-details.entry.js +127 -127
  644. package/dist/esm/six-details.entry.js.map +1 -1
  645. package/dist/esm/six-dialog.entry.js +128 -128
  646. package/dist/esm/six-dialog.entry.js.map +1 -1
  647. package/dist/esm/six-drawer.entry.js +146 -146
  648. package/dist/esm/six-drawer.entry.js.map +1 -1
  649. package/dist/esm/six-dropdown_2.entry.js +634 -634
  650. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  651. package/dist/esm/six-error-page.entry.js +82 -82
  652. package/dist/esm/six-error-page.entry.js.map +1 -1
  653. package/dist/esm/six-error.entry.js +17 -0
  654. package/dist/esm/six-error.entry.js.map +1 -0
  655. package/dist/esm/six-file-list-item.entry.js +33 -33
  656. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  657. package/dist/esm/six-file-list.entry.js +7 -7
  658. package/dist/esm/six-file-list.entry.js.map +1 -1
  659. package/dist/esm/six-file-upload.entry.js +98 -98
  660. package/dist/esm/six-file-upload.entry.js.map +1 -1
  661. package/dist/esm/six-footer.entry.js +7 -7
  662. package/dist/esm/six-footer.entry.js.map +1 -1
  663. package/dist/esm/six-group-label.entry.js +43 -43
  664. package/dist/esm/six-group-label.entry.js.map +1 -1
  665. package/dist/esm/six-header.entry.js +168 -155
  666. package/dist/esm/six-header.entry.js.map +1 -1
  667. package/dist/esm/six-icon-button.entry.js +32 -32
  668. package/dist/esm/six-icon-button.entry.js.map +1 -1
  669. package/dist/esm/six-icon.entry.js +22 -22
  670. package/dist/esm/six-icon.entry.js.map +1 -1
  671. package/dist/esm/six-input.entry.js +190 -187
  672. package/dist/esm/six-input.entry.js.map +1 -1
  673. package/dist/esm/six-item-picker.entry.js +405 -309
  674. package/dist/esm/six-item-picker.entry.js.map +1 -1
  675. package/dist/esm/six-language-switcher.entry.js +46 -46
  676. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  677. package/dist/esm/six-layout-grid.entry.js +20 -20
  678. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  679. package/dist/esm/six-main-container.entry.js +9 -9
  680. package/dist/esm/six-main-container.entry.js.map +1 -1
  681. package/dist/esm/six-menu-divider.entry.js +7 -7
  682. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  683. package/dist/esm/six-menu-item.entry.js +49 -49
  684. package/dist/esm/six-menu-item.entry.js.map +1 -1
  685. package/dist/esm/six-menu-label.entry.js +7 -7
  686. package/dist/esm/six-menu-label.entry.js.map +1 -1
  687. package/dist/esm/six-picto.entry.js +14 -14
  688. package/dist/esm/six-picto.entry.js.map +1 -1
  689. package/dist/esm/six-progress-bar.entry.js +14 -14
  690. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  691. package/dist/esm/six-progress-ring.entry.js +29 -29
  692. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  693. package/dist/esm/six-radio.entry.js +103 -111
  694. package/dist/esm/six-radio.entry.js.map +1 -1
  695. package/dist/esm/six-range.entry.js +180 -177
  696. package/dist/esm/six-range.entry.js.map +1 -1
  697. package/dist/esm/six-root.entry.js +30 -30
  698. package/dist/esm/six-root.entry.js.map +1 -1
  699. package/dist/esm/six-search-field.entry.js +43 -43
  700. package/dist/esm/six-search-field.entry.js.map +1 -1
  701. package/dist/esm/six-select.entry.js +364 -360
  702. package/dist/esm/six-select.entry.js.map +1 -1
  703. package/dist/esm/six-sidebar-item-group.entry.js +56 -45
  704. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  705. package/dist/esm/six-sidebar-item.entry.js +17 -15
  706. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  707. package/dist/esm/six-sidebar.entry.js +173 -173
  708. package/dist/esm/six-sidebar.entry.js.map +1 -1
  709. package/dist/esm/six-spinner.entry.js +14 -14
  710. package/dist/esm/six-spinner.entry.js.map +1 -1
  711. package/dist/esm/six-switch.entry.js +107 -87
  712. package/dist/esm/six-switch.entry.js.map +1 -1
  713. package/dist/esm/six-tab-group.entry.js +230 -235
  714. package/dist/esm/six-tab-group.entry.js.map +1 -1
  715. package/dist/esm/six-tab-panel.entry.js +13 -13
  716. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  717. package/dist/esm/six-tab.entry.js +55 -39
  718. package/dist/esm/six-tab.entry.js.map +1 -1
  719. package/dist/esm/six-tag.entry.js +55 -33
  720. package/dist/esm/six-tag.entry.js.map +1 -1
  721. package/dist/esm/six-textarea.entry.js +182 -183
  722. package/dist/esm/six-textarea.entry.js.map +1 -1
  723. package/dist/esm/six-tile.entry.js +76 -76
  724. package/dist/esm/six-tile.entry.js.map +1 -1
  725. package/dist/esm/six-timepicker.entry.js +347 -352
  726. package/dist/esm/six-timepicker.entry.js.map +1 -1
  727. package/dist/esm/six-tooltip.entry.js +148 -148
  728. package/dist/esm/six-tooltip.entry.js.map +1 -1
  729. package/dist/esm/slot-41bc439a.js +48 -0
  730. package/dist/esm/slot-41bc439a.js.map +1 -0
  731. package/dist/esm/types-07748c42.js +17 -0
  732. package/dist/esm/types-07748c42.js.map +1 -0
  733. package/dist/esm/ui-library.js +4 -7
  734. package/dist/esm/ui-library.js.map +1 -1
  735. package/dist/types/components/six-alert/six-alert.d.ts +40 -40
  736. package/dist/types/components/six-avatar/six-avatar.d.ts +11 -11
  737. package/dist/types/components/six-badge/six-badge.d.ts +7 -7
  738. package/dist/types/components/six-button/six-button.d.ts +48 -48
  739. package/dist/types/components/six-card/six-card.d.ts +1 -1
  740. package/dist/types/components/six-checkbox/six-checkbox.d.ts +58 -59
  741. package/dist/types/components/six-datepicker/components/day-selection.d.ts +3 -3
  742. package/dist/types/components/six-datepicker/components/month-selection.d.ts +3 -3
  743. package/dist/types/components/six-datepicker/components/year-selection.d.ts +3 -3
  744. package/dist/types/components/six-datepicker/six-date-formats.d.ts +20 -20
  745. package/dist/types/components/six-datepicker/six-datepicker.d.ts +188 -186
  746. package/dist/types/components/six-details/six-details.d.ts +42 -42
  747. package/dist/types/components/six-dialog/six-dialog.d.ts +50 -50
  748. package/dist/types/components/six-drawer/six-drawer.d.ts +58 -58
  749. package/dist/types/components/six-dropdown/six-dropdown.d.ts +112 -112
  750. package/dist/types/components/six-error/six-error.d.ts +9 -0
  751. package/dist/types/components/six-error-page/six-error-page.d.ts +25 -25
  752. package/dist/types/components/six-file-list/six-file-list.d.ts +1 -1
  753. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +23 -23
  754. package/dist/types/components/six-file-upload/six-file-upload.d.ts +33 -33
  755. package/dist/types/components/six-footer/six-footer.d.ts +1 -1
  756. package/dist/types/components/six-group-label/six-group-label.d.ts +22 -22
  757. package/dist/types/components/six-header/six-header.d.ts +57 -55
  758. package/dist/types/components/six-icon/six-icon.d.ts +5 -5
  759. package/dist/types/components/six-icon-button/six-icon-button.d.ts +18 -18
  760. package/dist/types/components/six-input/six-input.d.ts +108 -103
  761. package/dist/types/components/six-item-picker/six-item-picker.d.ts +95 -88
  762. package/dist/types/components/six-item-picker/types.d.ts +7 -7
  763. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +15 -15
  764. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +6 -6
  765. package/dist/types/components/six-main-container/six-main-container.d.ts +4 -4
  766. package/dist/types/components/six-menu/six-menu.d.ts +63 -63
  767. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +1 -1
  768. package/dist/types/components/six-menu-item/six-menu-item.d.ts +21 -21
  769. package/dist/types/components/six-menu-label/six-menu-label.d.ts +1 -1
  770. package/dist/types/components/six-picto/six-picto.d.ts +6 -6
  771. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +5 -5
  772. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +11 -11
  773. package/dist/types/components/six-radio/six-radio.d.ts +38 -43
  774. package/dist/types/components/six-range/six-range.d.ts +75 -72
  775. package/dist/types/components/six-root/six-root.d.ts +18 -18
  776. package/dist/types/components/six-search-field/six-search-field.d.ts +20 -20
  777. package/dist/types/components/six-select/six-select.d.ts +122 -119
  778. package/dist/types/components/six-select/util.d.ts +1 -1
  779. package/dist/types/components/six-sidebar/six-sidebar.d.ts +45 -45
  780. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +12 -7
  781. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +25 -19
  782. package/dist/types/components/six-spinner/six-spinner.d.ts +6 -5
  783. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +3 -3
  784. package/dist/types/components/six-switch/six-switch.d.ts +49 -42
  785. package/dist/types/components/six-tab/six-tab.d.ts +20 -20
  786. package/dist/types/components/six-tab-group/six-tab-group.d.ts +35 -38
  787. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +7 -7
  788. package/dist/types/components/six-tag/six-tag.d.ts +20 -12
  789. package/dist/types/components/six-textarea/six-textarea.d.ts +89 -86
  790. package/dist/types/components/six-tile/six-tile.d.ts +31 -31
  791. package/dist/types/components/six-timepicker/six-timepicker.d.ts +154 -151
  792. package/dist/types/components/six-tooltip/six-tooltip.d.ts +55 -55
  793. package/dist/types/components.d.ts +505 -24
  794. package/dist/types/functional-components/form-control/form-control.d.ts +32 -28
  795. package/dist/types/stencil-public-runtime.d.ts +49 -5
  796. package/dist/types/utils/animation.d.ts +12 -0
  797. package/dist/types/utils/date-util.d.ts +50 -50
  798. package/dist/types/utils/error-messages.d.ts +26 -25
  799. package/dist/types/utils/event-listeners.d.ts +11 -11
  800. package/dist/types/utils/focus-visible.d.ts +2 -2
  801. package/dist/types/utils/modal.d.ts +8 -8
  802. package/dist/types/utils/offset.d.ts +2 -2
  803. package/dist/types/utils/popover.d.ts +21 -21
  804. package/dist/types/utils/time.util.d.ts +6 -6
  805. package/dist/types/utils/types.d.ts +1 -1
  806. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +7 -7
  807. package/dist/ui-library/index.esm.js +1 -1
  808. package/dist/ui-library/index.esm.js.map +1 -1
  809. package/dist/ui-library/{p-0cc08e91.js → p-06ba4450.js} +1 -1
  810. package/dist/ui-library/p-06ba4450.js.map +1 -0
  811. package/dist/ui-library/{p-25a3bf57.js → p-0861899a.js} +1 -1
  812. package/dist/ui-library/p-0861899a.js.map +1 -0
  813. package/dist/ui-library/p-0a81b42c.entry.js +2 -0
  814. package/dist/ui-library/p-0a81b42c.entry.js.map +1 -0
  815. package/dist/ui-library/p-0beec94f.js +3 -0
  816. package/dist/ui-library/p-0beec94f.js.map +1 -0
  817. package/dist/ui-library/p-0e7332db.entry.js +2 -0
  818. package/dist/ui-library/p-0e7332db.entry.js.map +1 -0
  819. package/dist/ui-library/{p-097cced4.entry.js → p-178f5782.entry.js} +2 -2
  820. package/dist/ui-library/p-178f5782.entry.js.map +1 -0
  821. package/dist/ui-library/p-19a61686.entry.js +2 -0
  822. package/dist/ui-library/p-19a61686.entry.js.map +1 -0
  823. package/dist/ui-library/{p-73597d13.entry.js → p-1d0c5929.entry.js} +2 -2
  824. package/dist/ui-library/p-1d0c5929.entry.js.map +1 -0
  825. package/dist/ui-library/{p-03a145f5.entry.js → p-23c02c98.entry.js} +2 -2
  826. package/dist/ui-library/p-23c02c98.entry.js.map +1 -0
  827. package/dist/ui-library/p-2eed9d8d.entry.js +2 -0
  828. package/dist/ui-library/p-2eed9d8d.entry.js.map +1 -0
  829. package/dist/ui-library/{p-8e0b6b7e.entry.js → p-3187bc23.entry.js} +2 -2
  830. package/dist/ui-library/p-3187bc23.entry.js.map +1 -0
  831. package/dist/ui-library/{p-502ff3d3.entry.js → p-32e1a5ab.entry.js} +2 -2
  832. package/dist/ui-library/p-32e1a5ab.entry.js.map +1 -0
  833. package/dist/ui-library/{p-bd8f8eef.entry.js → p-32fed3c7.entry.js} +2 -2
  834. package/dist/ui-library/p-32fed3c7.entry.js.map +1 -0
  835. package/dist/ui-library/{p-baa03951.entry.js → p-3d54ecf2.entry.js} +2 -2
  836. package/dist/ui-library/p-3d54ecf2.entry.js.map +1 -0
  837. package/dist/ui-library/p-4229f7e8.entry.js +2 -0
  838. package/dist/ui-library/p-4229f7e8.entry.js.map +1 -0
  839. package/dist/ui-library/p-479d8087.entry.js +2 -0
  840. package/dist/ui-library/p-479d8087.entry.js.map +1 -0
  841. package/dist/ui-library/{p-ef3936e5.entry.js → p-49aa8d1e.entry.js} +2 -2
  842. package/dist/ui-library/p-49aa8d1e.entry.js.map +1 -0
  843. package/dist/ui-library/{p-cdcde4cd.entry.js → p-58661675.entry.js} +2 -2
  844. package/dist/ui-library/p-58661675.entry.js.map +1 -0
  845. package/dist/ui-library/p-5d43ea07.entry.js +2 -0
  846. package/dist/ui-library/p-5d43ea07.entry.js.map +1 -0
  847. package/dist/ui-library/p-6907a7dc.js +2 -0
  848. package/dist/ui-library/p-6907a7dc.js.map +1 -0
  849. package/dist/ui-library/p-6aa2929a.entry.js +2 -0
  850. package/dist/ui-library/p-6aa2929a.entry.js.map +1 -0
  851. package/dist/ui-library/p-7432d409.entry.js +2 -0
  852. package/dist/ui-library/p-7432d409.entry.js.map +1 -0
  853. package/dist/ui-library/{p-28be55f0.entry.js → p-74a714c0.entry.js} +2 -2
  854. package/dist/ui-library/p-74a714c0.entry.js.map +1 -0
  855. package/dist/ui-library/{p-5a34c93e.entry.js → p-76825395.entry.js} +2 -2
  856. package/dist/ui-library/p-76825395.entry.js.map +1 -0
  857. package/dist/ui-library/{p-0b2c6348.js → p-7f856f00.js} +1 -1
  858. package/dist/ui-library/p-7f856f00.js.map +1 -0
  859. package/dist/ui-library/{p-820c23f0.entry.js → p-816f857d.entry.js} +2 -2
  860. package/dist/ui-library/p-816f857d.entry.js.map +1 -0
  861. package/dist/ui-library/{p-eb8f05a9.js → p-8227aaed.js} +2 -2
  862. package/dist/ui-library/p-8227aaed.js.map +1 -0
  863. package/dist/ui-library/{p-4d408fb4.js → p-842b492e.js} +1 -1
  864. package/dist/ui-library/p-842b492e.js.map +1 -0
  865. package/dist/ui-library/p-882fbf6f.entry.js +2 -0
  866. package/dist/ui-library/p-882fbf6f.entry.js.map +1 -0
  867. package/dist/ui-library/{p-3929b0af.entry.js → p-88fd4973.entry.js} +2 -2
  868. package/dist/ui-library/p-88fd4973.entry.js.map +1 -0
  869. package/dist/ui-library/{p-66180e89.entry.js → p-8b750c9e.entry.js} +2 -2
  870. package/dist/ui-library/p-8b750c9e.entry.js.map +1 -0
  871. package/dist/ui-library/{p-60621dc6.js → p-8bfb4bfc.js} +1 -1
  872. package/dist/ui-library/p-8bfb4bfc.js.map +1 -0
  873. package/dist/ui-library/p-911eb578.entry.js +2 -0
  874. package/dist/ui-library/p-911eb578.entry.js.map +1 -0
  875. package/dist/ui-library/p-93fcda4a.entry.js +2 -0
  876. package/dist/ui-library/p-93fcda4a.entry.js.map +1 -0
  877. package/dist/ui-library/{p-9461417e.entry.js → p-981b3228.entry.js} +2 -2
  878. package/dist/ui-library/p-981b3228.entry.js.map +1 -0
  879. package/dist/ui-library/{p-ba74863a.js → p-998de05d.js} +1 -1
  880. package/dist/ui-library/p-998de05d.js.map +1 -0
  881. package/dist/ui-library/{p-09779e47.entry.js → p-9b1ff147.entry.js} +2 -2
  882. package/dist/ui-library/p-9b1ff147.entry.js.map +1 -0
  883. package/dist/ui-library/{p-8cf72af6.js → p-a1502802.js} +1 -1
  884. package/dist/ui-library/p-a1502802.js.map +1 -0
  885. package/dist/ui-library/p-a4e4620c.entry.js +2 -0
  886. package/dist/ui-library/p-a4e4620c.entry.js.map +1 -0
  887. package/dist/ui-library/{p-6d75f216.entry.js → p-ada23fe3.entry.js} +2 -2
  888. package/dist/ui-library/p-ada23fe3.entry.js.map +1 -0
  889. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-b5ac1219.entry.js} +2 -2
  890. package/dist/ui-library/p-b5ac1219.entry.js.map +1 -0
  891. package/dist/ui-library/{p-72ca96e1.entry.js → p-ba247565.entry.js} +2 -2
  892. package/dist/ui-library/p-ba247565.entry.js.map +1 -0
  893. package/dist/ui-library/p-bdb79948.entry.js +2 -0
  894. package/dist/ui-library/p-bdb79948.entry.js.map +1 -0
  895. package/dist/ui-library/p-bee65dd9.entry.js +2 -0
  896. package/dist/ui-library/p-bee65dd9.entry.js.map +1 -0
  897. package/dist/ui-library/p-c021a9c9.entry.js +2 -0
  898. package/dist/ui-library/p-c021a9c9.entry.js.map +1 -0
  899. package/dist/ui-library/p-c07b1240.entry.js +2 -0
  900. package/dist/ui-library/p-c07b1240.entry.js.map +1 -0
  901. package/dist/ui-library/p-c12a94ce.entry.js +2 -0
  902. package/dist/ui-library/p-c12a94ce.entry.js.map +1 -0
  903. package/dist/ui-library/{p-dcd7c547.entry.js → p-c1675a45.entry.js} +2 -2
  904. package/dist/ui-library/p-c1675a45.entry.js.map +1 -0
  905. package/dist/ui-library/{p-912092c0.entry.js → p-c2df8c27.entry.js} +2 -2
  906. package/dist/ui-library/p-c2df8c27.entry.js.map +1 -0
  907. package/dist/ui-library/p-c86aa5b3.entry.js +2 -0
  908. package/dist/ui-library/p-c86aa5b3.entry.js.map +1 -0
  909. package/dist/ui-library/{p-afcbe9da.entry.js → p-cd35b3c6.entry.js} +2 -2
  910. package/dist/ui-library/p-cd35b3c6.entry.js.map +1 -0
  911. package/dist/ui-library/{p-63703ba3.entry.js → p-ce373da5.entry.js} +2 -2
  912. package/dist/ui-library/p-ce373da5.entry.js.map +1 -0
  913. package/dist/ui-library/p-d2cf4280.entry.js +2 -0
  914. package/dist/ui-library/p-d2cf4280.entry.js.map +1 -0
  915. package/dist/ui-library/{p-e8feb81f.entry.js → p-d310a6dd.entry.js} +2 -2
  916. package/dist/ui-library/p-d310a6dd.entry.js.map +1 -0
  917. package/dist/ui-library/{p-686b12ec.entry.js → p-dc908cbb.entry.js} +2 -2
  918. package/dist/ui-library/p-dc908cbb.entry.js.map +1 -0
  919. package/dist/ui-library/{p-21859bca.entry.js → p-dfb6bff6.entry.js} +2 -2
  920. package/dist/ui-library/p-dfb6bff6.entry.js.map +1 -0
  921. package/dist/ui-library/{p-445ba5b8.entry.js → p-ee71e3a3.entry.js} +2 -2
  922. package/dist/ui-library/p-ee71e3a3.entry.js.map +1 -0
  923. package/dist/ui-library/{p-97323ad7.entry.js → p-ef317d69.entry.js} +2 -2
  924. package/dist/ui-library/p-ef317d69.entry.js.map +1 -0
  925. package/dist/ui-library/{p-0fe78f9b.js → p-f2ef23c4.js} +1 -1
  926. package/dist/ui-library/p-f2ef23c4.js.map +1 -0
  927. package/dist/ui-library/p-f385f1c2.entry.js +2 -0
  928. package/dist/ui-library/p-f385f1c2.entry.js.map +1 -0
  929. package/dist/ui-library/{p-d6798d35.entry.js → p-f73a6bdc.entry.js} +2 -2
  930. package/dist/ui-library/p-f73a6bdc.entry.js.map +1 -0
  931. package/dist/ui-library/{p-d87a6f4d.js → p-faa04bb5.js} +1 -1
  932. package/dist/ui-library/p-faa04bb5.js.map +1 -0
  933. package/dist/ui-library/p-fcd57e0a.entry.js +2 -0
  934. package/dist/ui-library/p-fcd57e0a.entry.js.map +1 -0
  935. package/dist/ui-library/ui-library.css +2 -2
  936. package/dist/ui-library/ui-library.esm.js +1 -1
  937. package/dist/ui-library/ui-library.esm.js.map +1 -1
  938. package/loader/index.d.ts +1 -1
  939. package/package.json +16 -14
  940. package/dist/cjs/event-listeners-b835dfae.js +0 -61
  941. package/dist/cjs/event-listeners-b835dfae.js.map +0 -1
  942. package/dist/cjs/execution-control-45c84c46.js.map +0 -1
  943. package/dist/cjs/focus-visible-e0d93a95.js +0 -47
  944. package/dist/cjs/focus-visible-e0d93a95.js.map +0 -1
  945. package/dist/cjs/form-8cbd4e0e.js +0 -20
  946. package/dist/cjs/form-8cbd4e0e.js.map +0 -1
  947. package/dist/cjs/form-control-8df00a52.js +0 -33
  948. package/dist/cjs/form-control-8df00a52.js.map +0 -1
  949. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  950. package/dist/cjs/modal-21350fb5.js +0 -52
  951. package/dist/cjs/modal-21350fb5.js.map +0 -1
  952. package/dist/cjs/popover-8885d50f.js.map +0 -1
  953. package/dist/cjs/popup-44836aaf.js +0 -103
  954. package/dist/cjs/popup-44836aaf.js.map +0 -1
  955. package/dist/cjs/scroll-76e6f5d7.js +0 -69
  956. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  957. package/dist/cjs/slot-bccbdb59.js +0 -53
  958. package/dist/cjs/slot-bccbdb59.js.map +0 -1
  959. package/dist/cjs/types-64878648.js +0 -17
  960. package/dist/cjs/types-64878648.js.map +0 -1
  961. package/dist/esm/event-listeners-535f3ad1.js +0 -59
  962. package/dist/esm/event-listeners-535f3ad1.js.map +0 -1
  963. package/dist/esm/execution-control-72cc50f4.js.map +0 -1
  964. package/dist/esm/focus-visible-fa7129a0.js +0 -45
  965. package/dist/esm/focus-visible-fa7129a0.js.map +0 -1
  966. package/dist/esm/form-0b9c11cd.js +0 -18
  967. package/dist/esm/form-control-785c5f79.js +0 -31
  968. package/dist/esm/form-control-785c5f79.js.map +0 -1
  969. package/dist/esm/index-5c0f6628.js.map +0 -1
  970. package/dist/esm/modal-b1d96441.js +0 -49
  971. package/dist/esm/modal-b1d96441.js.map +0 -1
  972. package/dist/esm/polyfills/css-shim.js +0 -1
  973. package/dist/esm/popover-2e72e7d8.js.map +0 -1
  974. package/dist/esm/popup-678b8592.js +0 -98
  975. package/dist/esm/popup-678b8592.js.map +0 -1
  976. package/dist/esm/scroll-180b53fd.js +0 -64
  977. package/dist/esm/slot-2e64df19.js +0 -48
  978. package/dist/esm/slot-2e64df19.js.map +0 -1
  979. package/dist/esm/types-4b10b413.js +0 -17
  980. package/dist/esm/types-4b10b413.js.map +0 -1
  981. package/dist/ui-library/p-0045a402.entry.js +0 -2
  982. package/dist/ui-library/p-0045a402.entry.js.map +0 -1
  983. package/dist/ui-library/p-0108fe92.entry.js +0 -2
  984. package/dist/ui-library/p-0108fe92.entry.js.map +0 -1
  985. package/dist/ui-library/p-03a145f5.entry.js.map +0 -1
  986. package/dist/ui-library/p-087fdd96.entry.js +0 -2
  987. package/dist/ui-library/p-087fdd96.entry.js.map +0 -1
  988. package/dist/ui-library/p-09779e47.entry.js.map +0 -1
  989. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  990. package/dist/ui-library/p-0b2c6348.js.map +0 -1
  991. package/dist/ui-library/p-0cc08e91.js.map +0 -1
  992. package/dist/ui-library/p-0fe78f9b.js.map +0 -1
  993. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  994. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  995. package/dist/ui-library/p-2761f908.js +0 -2
  996. package/dist/ui-library/p-2761f908.js.map +0 -1
  997. package/dist/ui-library/p-28be55f0.entry.js.map +0 -1
  998. package/dist/ui-library/p-3929b0af.entry.js.map +0 -1
  999. package/dist/ui-library/p-445ba5b8.entry.js.map +0 -1
  1000. package/dist/ui-library/p-4d408fb4.js.map +0 -1
  1001. package/dist/ui-library/p-502ff3d3.entry.js.map +0 -1
  1002. package/dist/ui-library/p-5a34c93e.entry.js.map +0 -1
  1003. package/dist/ui-library/p-60621dc6.js.map +0 -1
  1004. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  1005. package/dist/ui-library/p-66180e89.entry.js.map +0 -1
  1006. package/dist/ui-library/p-686b12ec.entry.js.map +0 -1
  1007. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  1008. package/dist/ui-library/p-71035abf.entry.js +0 -2
  1009. package/dist/ui-library/p-71035abf.entry.js.map +0 -1
  1010. package/dist/ui-library/p-724e154d.entry.js +0 -2
  1011. package/dist/ui-library/p-724e154d.entry.js.map +0 -1
  1012. package/dist/ui-library/p-72ca96e1.entry.js.map +0 -1
  1013. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  1014. package/dist/ui-library/p-778cf804.entry.js +0 -2
  1015. package/dist/ui-library/p-778cf804.entry.js.map +0 -1
  1016. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  1017. package/dist/ui-library/p-87032e26.entry.js +0 -2
  1018. package/dist/ui-library/p-87032e26.entry.js.map +0 -1
  1019. package/dist/ui-library/p-8cf72af6.js.map +0 -1
  1020. package/dist/ui-library/p-8e0b6b7e.entry.js.map +0 -1
  1021. package/dist/ui-library/p-912092c0.entry.js.map +0 -1
  1022. package/dist/ui-library/p-92ca6a84.entry.js +0 -2
  1023. package/dist/ui-library/p-92ca6a84.entry.js.map +0 -1
  1024. package/dist/ui-library/p-9337cdd6.entry.js +0 -2
  1025. package/dist/ui-library/p-9337cdd6.entry.js.map +0 -1
  1026. package/dist/ui-library/p-9461417e.entry.js.map +0 -1
  1027. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  1028. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  1029. package/dist/ui-library/p-a844cb72.entry.js +0 -2
  1030. package/dist/ui-library/p-a844cb72.entry.js.map +0 -1
  1031. package/dist/ui-library/p-ac4f4d45.js +0 -3
  1032. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  1033. package/dist/ui-library/p-afcbe9da.entry.js.map +0 -1
  1034. package/dist/ui-library/p-b2bf4ac8.entry.js +0 -2
  1035. package/dist/ui-library/p-b2bf4ac8.entry.js.map +0 -1
  1036. package/dist/ui-library/p-b3bff992.entry.js +0 -2
  1037. package/dist/ui-library/p-b3bff992.entry.js.map +0 -1
  1038. package/dist/ui-library/p-b4547fb5.entry.js +0 -2
  1039. package/dist/ui-library/p-b4547fb5.entry.js.map +0 -1
  1040. package/dist/ui-library/p-ba74863a.js.map +0 -1
  1041. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  1042. package/dist/ui-library/p-bd8f8eef.entry.js.map +0 -1
  1043. package/dist/ui-library/p-c57f16af.entry.js +0 -2
  1044. package/dist/ui-library/p-c57f16af.entry.js.map +0 -1
  1045. package/dist/ui-library/p-c5cdba08.entry.js +0 -2
  1046. package/dist/ui-library/p-c5cdba08.entry.js.map +0 -1
  1047. package/dist/ui-library/p-c87810b0.entry.js +0 -2
  1048. package/dist/ui-library/p-c87810b0.entry.js.map +0 -1
  1049. package/dist/ui-library/p-cdcde4cd.entry.js.map +0 -1
  1050. package/dist/ui-library/p-d6798d35.entry.js.map +0 -1
  1051. package/dist/ui-library/p-d87a6f4d.js.map +0 -1
  1052. package/dist/ui-library/p-dc3f5996.entry.js +0 -2
  1053. package/dist/ui-library/p-dc3f5996.entry.js.map +0 -1
  1054. package/dist/ui-library/p-dcd7c547.entry.js.map +0 -1
  1055. package/dist/ui-library/p-dd3c76f1.entry.js +0 -2
  1056. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  1057. package/dist/ui-library/p-e07b3f0c.entry.js +0 -2
  1058. package/dist/ui-library/p-e07b3f0c.entry.js.map +0 -1
  1059. package/dist/ui-library/p-e19a6c95.entry.js +0 -2
  1060. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  1061. package/dist/ui-library/p-e8feb81f.entry.js.map +0 -1
  1062. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  1063. package/dist/ui-library/p-ef3936e5.entry.js.map +0 -1
  1064. package/dist/ui-library/p-f0dd77e1.entry.js +0 -2
  1065. package/dist/ui-library/p-f0dd77e1.entry.js.map +0 -1
  1066. package/readme.md +0 -156
@@ -1,449 +1,449 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-5c0f6628.js';
2
- import { P as Popover } from './popover-2e72e7d8.js';
3
- import { E as EventListeners } from './event-listeners-535f3ad1.js';
4
- import { b as getSlotChildren, a as getTextContent } from './slot-2e64df19.js';
5
- import { D as DEFAULT_DEBOUNCE_FAST, a as debounce } from './execution-control-72cc50f4.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-17d8173e.js';
2
+ import { P as Popover } from './popover-25996e62.js';
3
+ import { E as EventListeners } from './event-listeners-706d4309.js';
4
+ import { b as getSlotChildren, a as getTextContent } from './slot-41bc439a.js';
5
+ import { D as DEFAULT_DEBOUNCE_FAST, a as debounce } from './execution-control-2ebaf4ef.js';
6
6
 
7
7
  function isTabbable(el) {
8
- const tabIndex = el.tabIndex;
9
- return tabIndex > -1;
8
+ const tabIndex = el.tabIndex;
9
+ return tabIndex > -1;
10
10
  }
11
11
  function getNearestTabbableElement(el) {
12
- // Check the element
13
- if (isTabbable(el)) {
14
- return el;
15
- }
16
- // Check the element's shadow root
17
- if (el.shadowRoot != null) {
18
- const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e));
19
- if (tabbableShadowChild != null) {
20
- return tabbableShadowChild;
21
- }
22
- }
23
- // Check the element's children
24
- if (el.children != null) {
25
- return [...el.children].map((e) => getNearestTabbableElement(e)).at(0);
26
- }
27
- return undefined;
12
+ // Check the element
13
+ if (isTabbable(el)) {
14
+ return el;
15
+ }
16
+ // Check the element's shadow root
17
+ if (el.shadowRoot != null) {
18
+ const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e));
19
+ if (tabbableShadowChild != null) {
20
+ return tabbableShadowChild;
21
+ }
22
+ }
23
+ // Check the element's children
24
+ if (el.children != null) {
25
+ return [...el.children].map((e) => getNearestTabbableElement(e)).at(0);
26
+ }
27
+ return undefined;
28
28
  }
29
29
 
30
- const sixDropdownCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--six-z-index-dropdown)}.dropdown__positioner__filtered{width:100%}.dropdown__panel{max-height:50vh;font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);color:var(--color);background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);box-shadow:var(--six-elevation-2dp);opacity:0;overflow:auto;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;scrollbar-width:thin}.filter-hidden{display:none}.dropdown__positioner[data-popper-placement^=top] .dropdown__panel{transform-origin:bottom}.dropdown__positioner[data-popper-placement^=bottom] .dropdown__panel{transform-origin:top}.dropdown__positioner[data-popper-placement^=left] .dropdown__panel{transform-origin:right}.dropdown__positioner[data-popper-placement^=right] .dropdown__panel{transform-origin:left}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:none;pointer-events:all}";
30
+ const sixDropdownCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--six-z-index-dropdown)}.dropdown__positioner__filtered{width:100%}.dropdown__panel{max-height:50vh;font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);color:var(--color);background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);box-shadow:var(--six-elevation-2dp);opacity:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;scrollbar-width:thin}.filter-hidden{display:none}.dropdown__positioner[data-popper-placement^=top] .dropdown__panel{transform-origin:bottom}.dropdown__positioner[data-popper-placement^=bottom] .dropdown__panel{transform-origin:top}.dropdown__positioner[data-popper-placement^=left] .dropdown__panel{transform-origin:right}.dropdown__positioner[data-popper-placement^=right] .dropdown__panel{transform-origin:left}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:none;pointer-events:all}";
31
31
 
32
32
  const isTagName = (name) => (el) => (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === name.toLowerCase();
33
33
  const isSixMenu = isTagName('six-menu');
34
34
  const isSixMenuItem = isTagName('six-menu-item');
35
35
  let id = 0;
36
36
  const SixDropdown = class {
37
- constructor(hostRef) {
38
- registerInstance(this, hostRef);
39
- this.sixShow = createEvent(this, "six-dropdown-show", 7);
40
- this.sixAfterShow = createEvent(this, "six-dropdown-after-show", 7);
41
- this.sixHide = createEvent(this, "six-dropdown-hide", 7);
42
- this.sixAfterHide = createEvent(this, "six-dropdown-after-hide", 7);
43
- this.sixAutoFilter = createEvent(this, "six-dropdown-auto-filter-fired", 7);
44
- this.sixAsyncFilterFired = createEvent(this, "six-async-filter-fired", 7);
45
- this.sixScroll = createEvent(this, "six-dropdown-scroll", 7);
46
- this.componentId = `dropdown-${++id}`;
47
- this.isVisible = false;
48
- this.hasBeenInitialized = false;
49
- this.eventListeners = new EventListeners();
50
- this.getMenuItems = () => {
51
- if (this.filteredOptions.length > 0) {
52
- return this.filteredOptions.map((option) => h("six-menu-item", { value: option.value }, option.label));
53
- }
54
- if (this.panel == null)
55
- return [];
56
- const [panel] = getSlotChildren(this.panel);
57
- // the menu-items can be in a slot e.g. in six-select or direct children of the panel
58
- return getSlotChildren(panel) || Array.from(panel.querySelectorAll('six-menu-item'));
59
- };
60
- this.handleFilterInputChange = () => {
61
- var _a, _b;
62
- if (this.filterInputElement == null)
63
- return;
64
- const lowerCaseFilterTerm = ((_b = (_a = this.filterInputElement.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.trim()) || '';
65
- if (this.filteredOptions.length > 0) {
66
- this.handleFilteringForAttributeItems(lowerCaseFilterTerm);
67
- }
68
- else {
69
- this.handleFilteringForSlotItems(lowerCaseFilterTerm);
70
- }
71
- this.sixAutoFilter.emit({ filterValue: lowerCaseFilterTerm });
72
- };
73
- this.handleDocumentKeyDown = (event) => {
74
- var _a;
75
- const keyboardEvent = event;
76
- // Close when escape is pressed
77
- if (keyboardEvent.key === 'Escape') {
78
- void this.hide();
79
- this.focusOnTrigger();
80
- return;
81
- }
82
- if (this.filterInputElement === ((_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement)) {
83
- if (keyboardEvent.key === 'ArrowDown') {
84
- const item = this.getMenuItems().find((item) => item.style.display !== 'none');
85
- if (item != null) {
86
- item.setFocus();
87
- }
88
- }
89
- }
90
- // Handle tabbing
91
- if (keyboardEvent.key === 'Tab') {
92
- // Tabbing within an open menu should close the dropdown and refocus the trigger
93
- if (this.open && document.activeElement != null && isSixMenuItem(document.activeElement)) {
94
- keyboardEvent.preventDefault();
95
- void this.hide();
96
- this.focusOnTrigger();
97
- return;
98
- }
99
- // Tabbing outside the containing element closes the panel
100
- //
101
- // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,
102
- // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.
103
- setTimeout(() => {
104
- var _a, _b;
105
- const activeElement = this.container.getRootNode() instanceof ShadowRoot
106
- ? (_b = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.activeElement
107
- : document.activeElement;
108
- if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.closest(this.container.tagName.toLowerCase())) !== this.container) {
109
- void this.hide();
37
+ constructor(hostRef) {
38
+ registerInstance(this, hostRef);
39
+ this.sixShow = createEvent(this, "six-dropdown-show", 7);
40
+ this.sixAfterShow = createEvent(this, "six-dropdown-after-show", 7);
41
+ this.sixHide = createEvent(this, "six-dropdown-hide", 7);
42
+ this.sixAfterHide = createEvent(this, "six-dropdown-after-hide", 7);
43
+ this.sixAutoFilter = createEvent(this, "six-dropdown-auto-filter-fired", 7);
44
+ this.sixAsyncFilterFired = createEvent(this, "six-async-filter-fired", 7);
45
+ this.sixScroll = createEvent(this, "six-dropdown-scroll", 7);
46
+ this.componentId = `dropdown-${++id}`;
47
+ this.isVisible = false;
48
+ this.hasBeenInitialized = false;
49
+ this.eventListeners = new EventListeners();
50
+ this.getMenuItems = () => {
51
+ if (this.filteredOptions.length > 0) {
52
+ return this.filteredOptions.map((option) => h("six-menu-item", { value: option.value }, option.label));
53
+ }
54
+ if (this.panel == null)
55
+ return [];
56
+ const [panel] = getSlotChildren(this.panel);
57
+ // the menu-items can be in a slot e.g. in six-select or direct children of the panel
58
+ return getSlotChildren(panel) || Array.from(panel.querySelectorAll('six-menu-item'));
59
+ };
60
+ this.handleFilterInputChange = () => {
61
+ var _a, _b;
62
+ if (this.filterInputElement == null)
63
+ return;
64
+ const lowerCaseFilterTerm = ((_b = (_a = this.filterInputElement.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.trim()) || '';
65
+ if (this.filteredOptions.length > 0) {
66
+ this.handleFilteringForAttributeItems(lowerCaseFilterTerm);
67
+ }
68
+ else {
69
+ this.handleFilteringForSlotItems(lowerCaseFilterTerm);
70
+ }
71
+ this.sixAutoFilter.emit({ filterValue: lowerCaseFilterTerm });
72
+ };
73
+ this.handleDocumentKeyDown = (event) => {
74
+ var _a;
75
+ const keyboardEvent = event;
76
+ // Close when escape is pressed
77
+ if (keyboardEvent.key === 'Escape') {
78
+ void this.hide();
79
+ this.focusOnTrigger();
80
+ return;
81
+ }
82
+ if (this.filterInputElement === ((_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement)) {
83
+ if (keyboardEvent.key === 'ArrowDown') {
84
+ const item = this.getMenuItems().find((item) => item.style.display !== 'none');
85
+ if (item != null) {
86
+ item.setFocus();
87
+ }
88
+ }
89
+ }
90
+ // Handle tabbing
91
+ if (keyboardEvent.key === 'Tab') {
92
+ // Tabbing within an open menu should close the dropdown and refocus the trigger
93
+ if (this.open && document.activeElement != null && isSixMenuItem(document.activeElement)) {
94
+ keyboardEvent.preventDefault();
95
+ void this.hide();
96
+ this.focusOnTrigger();
97
+ return;
98
+ }
99
+ // Tabbing outside the containing element closes the panel
100
+ //
101
+ // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,
102
+ // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.
103
+ setTimeout(() => {
104
+ var _a, _b;
105
+ const activeElement = this.container.getRootNode() instanceof ShadowRoot
106
+ ? (_b = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.activeElement
107
+ : document.activeElement;
108
+ if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.closest(this.container.tagName.toLowerCase())) !== this.container) {
109
+ void this.hide();
110
+ return;
111
+ }
112
+ });
113
+ }
114
+ };
115
+ this.handleDocumentMouseDown = (event) => {
116
+ // Close when clicking outside the containing element
117
+ const path = event.composedPath();
118
+ if (!path.includes(this.container)) {
119
+ void this.hide();
120
+ return;
121
+ }
122
+ };
123
+ this.handlePanelSelect = (event) => {
124
+ const target = event.target;
125
+ // Hide the dropdown when a menu item is selected
126
+ if (this.closeOnSelect && isSixMenu(target)) {
127
+ void this.hide();
128
+ this.focusOnTrigger();
129
+ }
130
+ };
131
+ this.handleTriggerClick = () => {
132
+ this.open ? this.hide() : this.show();
133
+ };
134
+ this.handleTriggerKeyDown = (event) => {
135
+ // Close when escape or tab is pressed
136
+ if (event.key === 'Escape') {
137
+ this.focusOnTrigger();
138
+ void this.hide();
139
+ return;
140
+ }
141
+ // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same
142
+ // key again to hide the menu in case they don't want to make a selection.
143
+ if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {
144
+ event.preventDefault();
145
+ this.open ? void this.hide() : void this.show();
146
+ return;
147
+ }
148
+ const menu = this.getMenu();
149
+ // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a
150
+ // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for
151
+ // faster navigation.
152
+ if (['ArrowDown', 'ArrowUp'].includes(event.key)) {
153
+ event.preventDefault();
154
+ // Show the menu if it's not already open
155
+ if (!this.open) {
156
+ void this.show();
157
+ }
158
+ if (menu == null) {
159
+ return;
160
+ }
161
+ const menuItems = [...menu.querySelectorAll('six-menu-item')];
162
+ const firstMenuItem = menuItems.at(0);
163
+ const lastMenuItem = menuItems.at(menuItems.length - 1);
164
+ // Focus on a menu item
165
+ if (event.key === 'ArrowDown' && firstMenuItem != null) {
166
+ firstMenuItem.setFocus();
167
+ return;
168
+ }
169
+ if (event.key === 'ArrowUp' && lastMenuItem != null) {
170
+ lastMenuItem.setFocus();
171
+ return;
172
+ }
173
+ }
174
+ // Other keys bring focus to the menu and initiate type-to-select behavior
175
+ const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];
176
+ if (this.open && menu != null && !ignoredKeys.includes(event.key)) {
177
+ void menu.typeToSelect(event.key);
178
+ return;
179
+ }
180
+ };
181
+ this.handleTriggerKeyUp = (event) => {
182
+ // Prevent space from triggering a click event in Firefox
183
+ if (event.key === ' ') {
184
+ event.preventDefault();
185
+ }
186
+ };
187
+ this.handleTriggerSlotChange = () => {
188
+ this.updateAccessibleTrigger();
189
+ };
190
+ this.handleDropdownScroll = () => {
191
+ if (this.panel == null)
192
+ return;
193
+ this.sixScroll.emit({
194
+ scrollHeight: this.panel.scrollHeight,
195
+ scrollTop: this.panel.scrollTop,
196
+ scrollbarHeight: this.panel.offsetHeight * (this.panel.offsetHeight / this.panel.scrollHeight),
197
+ scrollRatio: this.panel.scrollTop / (this.panel.scrollHeight - this.panel.clientHeight),
198
+ });
199
+ };
200
+ this.open = false;
201
+ this.placement = 'bottom-start';
202
+ this.closeOnSelect = true;
203
+ this.distance = 0;
204
+ this.skidding = 0;
205
+ this.hoist = false;
206
+ this.containingElement = undefined;
207
+ this.filter = false;
208
+ this.asyncFilter = false;
209
+ this.filterPlaceholder = 'Filter...';
210
+ this.autofocusFilter = true;
211
+ this.filterDebounce = DEFAULT_DEBOUNCE_FAST;
212
+ this.disableHideOnEnterAndSpace = false;
213
+ this.options = [];
214
+ this.virtualScroll = false;
215
+ this.filteredOptions = [];
216
+ }
217
+ get hasFilterEnabled() {
218
+ return this.filter || this.asyncFilter;
219
+ }
220
+ get container() {
221
+ return this.containingElement || this.host;
222
+ }
223
+ handleOpenChange() {
224
+ this.open ? this.show() : this.hide();
225
+ this.updateAccessibleTrigger();
226
+ }
227
+ handlePopoverOptionsChange() {
228
+ if (this.popover == null)
110
229
  return;
111
- }
230
+ this.popover.setOptions({
231
+ strategy: this.hoist ? 'fixed' : 'absolute',
232
+ placement: this.placement,
233
+ distance: this.distance,
234
+ skidding: this.skidding,
112
235
  });
113
- }
114
- };
115
- this.handleDocumentMouseDown = (event) => {
116
- // Close when clicking outside the containing element
117
- const path = event.composedPath();
118
- if (!path.includes(this.container)) {
119
- void this.hide();
120
- return;
121
- }
122
- };
123
- this.handlePanelSelect = (event) => {
124
- const target = event.target;
125
- // Hide the dropdown when a menu item is selected
126
- if (this.closeOnSelect && isSixMenu(target)) {
127
- void this.hide();
128
- this.focusOnTrigger();
129
- }
130
- };
131
- this.handleTriggerClick = () => {
132
- this.open ? this.hide() : this.show();
133
- };
134
- this.handleTriggerKeyDown = (event) => {
135
- // Close when escape or tab is pressed
136
- if (event.key === 'Escape') {
137
- this.focusOnTrigger();
236
+ }
237
+ handleOptionsChange() {
238
+ if (Array.isArray(this.options)) {
239
+ this.filteredOptions = [...this.options];
240
+ }
241
+ }
242
+ connectedCallback() {
243
+ if (this.virtualScroll && this.options === null) {
244
+ console.error('Options must be defined when using virtual scrolling');
245
+ }
246
+ if (Array.isArray(this.options)) {
247
+ this.filteredOptions = [...this.options];
248
+ }
249
+ if (this.hasBeenInitialized && this.popover == null) {
250
+ // there was a weird bug when using six-dropdown inside an ag-grid filter. When closing the ag-grid filter
251
+ // disconnectedCallback() is executed. However, since componentDidLoad() will not be rerendered the popover had
252
+ // no longer a connected transitionEnd callback to the dropdown. To fix this, we have this sanity check here,
253
+ // to re-initialize the popover in case the component has already been initialized but the popover is undefined.
254
+ this.initializePopover();
255
+ }
256
+ }
257
+ componentDidLoad() {
258
+ this.hasBeenInitialized = true;
259
+ this.initializePopover();
260
+ // Show on init if open
261
+ if (this.open) {
262
+ void this.show();
263
+ }
264
+ if (this.filter) {
265
+ this.setupFiltering(this.handleFilterInputChange);
266
+ }
267
+ else if (this.asyncFilter) {
268
+ this.setupFiltering(() => { var _a, _b; return this.sixAsyncFilterFired.emit({ filterValue: (_b = (_a = this.filterInputElement) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '' }); });
269
+ }
270
+ }
271
+ initializePopover() {
272
+ if (this.trigger == null || this.positioner == null)
273
+ return;
274
+ const onAfterHide = () => {
275
+ if (this.filter && this.filterInputElement != null) {
276
+ this.filterInputElement.value = '';
277
+ if (this.filteredOptions.length > 0) {
278
+ this.filteredOptions = [...this.options];
279
+ }
280
+ else {
281
+ const menuItems = this.getMenuItems();
282
+ menuItems.forEach((item) => (item.style.display = 'unset'));
283
+ }
284
+ }
285
+ this.sixAfterHide.emit();
286
+ };
287
+ const onAfterShow = async () => {
288
+ var _a;
289
+ if (this.hasFilterEnabled && this.autofocusFilter) {
290
+ // if dropdown filter is enabled we should autofocus the search field
291
+ await ((_a = this.filterInputElement) === null || _a === void 0 ? void 0 : _a.setFocus());
292
+ }
293
+ this.sixAfterShow.emit();
294
+ };
295
+ const onTransitionEnd = () => {
296
+ if (!this.open && this.panel != null) {
297
+ this.panel.scrollTop = 0;
298
+ }
299
+ };
300
+ this.popover = new Popover(this.trigger, this.positioner, {
301
+ strategy: this.hoist ? 'fixed' : 'absolute',
302
+ placement: this.placement,
303
+ distance: this.distance,
304
+ skidding: this.skidding,
305
+ transitionElement: this.panel,
306
+ onAfterHide,
307
+ onAfterShow,
308
+ onTransitionEnd,
309
+ });
310
+ }
311
+ setupFiltering(callback) {
312
+ if (this.filterInputElement != null) {
313
+ this.eventListeners.add(this.filterInputElement, 'six-input-input', debounce(callback, this.filterDebounce));
314
+ }
315
+ }
316
+ handleFilteringForAttributeItems(lowerCaseFilterTerm) {
317
+ if (lowerCaseFilterTerm === '' && Array.isArray(this.options)) {
318
+ this.filteredOptions = [...this.options];
319
+ return;
320
+ }
321
+ this.filteredOptions = this.options.filter((option) => {
322
+ var _a, _b, _c, _d;
323
+ 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))) ||
324
+ (option.value && ((_d = (_c = String(option.value)) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === null || _d === void 0 ? void 0 : _d.includes(lowerCaseFilterTerm)));
325
+ });
326
+ }
327
+ handleFilteringForSlotItems(lowerCaseFilterTerm) {
328
+ const menuItems = this.getMenuItems();
329
+ menuItems.forEach(async (menuItem) => {
330
+ var _a, _b, _c, _d;
331
+ // hide all elements which don't contain the entered substring
332
+ 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)) ||
333
+ ((_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));
334
+ menuItem.style.display = elementContainsFilterTerm ? 'unset' : 'none';
335
+ });
336
+ }
337
+ disconnectedCallback() {
338
+ var _a;
339
+ this.eventListeners.removeAll();
138
340
  void this.hide();
139
- return;
140
- }
141
- // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same
142
- // key again to hide the menu in case they don't want to make a selection.
143
- if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {
144
- event.preventDefault();
145
- this.open ? void this.hide() : void this.show();
146
- return;
147
- }
148
- const menu = this.getMenu();
149
- // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a
150
- // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for
151
- // faster navigation.
152
- if (['ArrowDown', 'ArrowUp'].includes(event.key)) {
153
- event.preventDefault();
154
- // Show the menu if it's not already open
155
- if (!this.open) {
156
- void this.show();
157
- }
158
- if (menu == null) {
159
- return;
160
- }
161
- const menuItems = [...menu.querySelectorAll('six-menu-item')];
162
- const firstMenuItem = menuItems.at(0);
163
- const lastMenuItem = menuItems.at(menuItems.length - 1);
164
- // Focus on a menu item
165
- if (event.key === 'ArrowDown' && firstMenuItem != null) {
166
- firstMenuItem.setFocus();
167
- return;
168
- }
169
- if (event.key === 'ArrowUp' && lastMenuItem != null) {
170
- lastMenuItem.setFocus();
171
- return;
172
- }
173
- }
174
- // Other keys bring focus to the menu and initiate type-to-select behavior
175
- const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];
176
- if (this.open && menu != null && !ignoredKeys.includes(event.key)) {
177
- void menu.typeToSelect(event.key);
178
- return;
179
- }
180
- };
181
- this.handleTriggerKeyUp = (event) => {
182
- // Prevent space from triggering a click event in Firefox
183
- if (event.key === ' ') {
184
- event.preventDefault();
185
- }
186
- };
187
- this.handleTriggerSlotChange = () => {
188
- this.updateAccessibleTrigger();
189
- };
190
- this.handleDropdownScroll = () => {
191
- if (this.panel == null)
192
- return;
193
- this.sixScroll.emit({
194
- scrollHeight: this.panel.scrollHeight,
195
- scrollTop: this.panel.scrollTop,
196
- scrollbarHeight: this.panel.offsetHeight * (this.panel.offsetHeight / this.panel.scrollHeight),
197
- scrollRatio: this.panel.scrollTop / (this.panel.scrollHeight - this.panel.clientHeight),
198
- });
199
- };
200
- this.open = false;
201
- this.placement = 'bottom-start';
202
- this.closeOnSelect = true;
203
- this.distance = 0;
204
- this.skidding = 0;
205
- this.hoist = false;
206
- this.containingElement = undefined;
207
- this.filter = false;
208
- this.asyncFilter = false;
209
- this.filterPlaceholder = 'Filter...';
210
- this.autofocusFilter = true;
211
- this.filterDebounce = DEFAULT_DEBOUNCE_FAST;
212
- this.disableHideOnEnterAndSpace = false;
213
- this.options = [];
214
- this.virtualScroll = false;
215
- this.filteredOptions = [];
216
- }
217
- get hasFilterEnabled() {
218
- return this.filter || this.asyncFilter;
219
- }
220
- get container() {
221
- return this.containingElement || this.host;
222
- }
223
- handleOpenChange() {
224
- this.open ? this.show() : this.hide();
225
- this.updateAccessibleTrigger();
226
- }
227
- handlePopoverOptionsChange() {
228
- if (this.popover == null)
229
- return;
230
- this.popover.setOptions({
231
- strategy: this.hoist ? 'fixed' : 'absolute',
232
- placement: this.placement,
233
- distance: this.distance,
234
- skidding: this.skidding,
235
- });
236
- }
237
- handleOptionsChange() {
238
- if (Array.isArray(this.options)) {
239
- this.filteredOptions = [...this.options];
240
- }
241
- }
242
- connectedCallback() {
243
- if (this.virtualScroll && this.options === null) {
244
- console.error('Options must be defined when using virtual scrolling');
245
- }
246
- if (Array.isArray(this.options)) {
247
- this.filteredOptions = [...this.options];
248
- }
249
- if (this.hasBeenInitialized && this.popover == null) {
250
- // there was a weird bug when using six-dropdown inside an ag-grid filter. When closing the ag-grid filter
251
- // disconnectedCallback() is executed. However, since componentDidLoad() will not be rerendered the popover had
252
- // no longer a connected transitionEnd callback to the dropdown. To fix this, we have this sanity check here,
253
- // to re-initialize the popover in case the component has already been initialized but the popover is undefined.
254
- this.initializePopover();
255
- }
256
- }
257
- componentDidLoad() {
258
- this.hasBeenInitialized = true;
259
- this.initializePopover();
260
- // Show on init if open
261
- if (this.open) {
262
- void this.show();
263
- }
264
- if (this.filter) {
265
- this.setupFiltering(this.handleFilterInputChange);
266
- }
267
- else if (this.asyncFilter) {
268
- this.setupFiltering(() => { var _a, _b; return this.sixAsyncFilterFired.emit({ filterValue: (_b = (_a = this.filterInputElement) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '' }); });
269
- }
270
- }
271
- initializePopover() {
272
- if (this.trigger == null || this.positioner == null)
273
- return;
274
- const onAfterHide = () => {
275
- if (this.filter && this.filterInputElement != null) {
276
- this.filterInputElement.value = '';
277
- if (this.filteredOptions.length > 0) {
278
- this.filteredOptions = [...this.options];
279
- }
280
- else {
281
- const menuItems = this.getMenuItems();
282
- menuItems.forEach((item) => (item.style.display = 'unset'));
283
- }
284
- }
285
- this.sixAfterHide.emit();
286
- };
287
- const onAfterShow = async () => {
288
- var _a;
289
- if (this.hasFilterEnabled && this.autofocusFilter) {
290
- // if dropdown filter is enabled we should autofocus the search field
291
- await ((_a = this.filterInputElement) === null || _a === void 0 ? void 0 : _a.setFocus());
292
- }
293
- this.sixAfterShow.emit();
294
- };
295
- const onTransitionEnd = () => {
296
- if (!this.open && this.panel != null) {
297
- this.panel.scrollTop = 0;
298
- }
299
- };
300
- this.popover = new Popover(this.trigger, this.positioner, {
301
- strategy: this.hoist ? 'fixed' : 'absolute',
302
- placement: this.placement,
303
- distance: this.distance,
304
- skidding: this.skidding,
305
- transitionElement: this.panel,
306
- onAfterHide,
307
- onAfterShow,
308
- onTransitionEnd,
309
- });
310
- }
311
- setupFiltering(callback) {
312
- if (this.filterInputElement != null) {
313
- this.eventListeners.add(this.filterInputElement, 'six-input-input', debounce(callback, this.filterDebounce));
314
- }
315
- }
316
- handleFilteringForAttributeItems(lowerCaseFilterTerm) {
317
- if (lowerCaseFilterTerm === '' && Array.isArray(this.options)) {
318
- this.filteredOptions = [...this.options];
319
- return;
320
- }
321
- this.filteredOptions = this.options.filter((option) => {
322
- var _a, _b, _c, _d;
323
- 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))) ||
324
- (option.value && ((_d = (_c = String(option.value)) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === null || _d === void 0 ? void 0 : _d.includes(lowerCaseFilterTerm)));
325
- });
326
- }
327
- handleFilteringForSlotItems(lowerCaseFilterTerm) {
328
- const menuItems = this.getMenuItems();
329
- menuItems.forEach(async (menuItem) => {
330
- var _a, _b, _c, _d;
331
- // hide all elements which don't contain the entered substring
332
- 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)) ||
333
- ((_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));
334
- menuItem.style.display = elementContainsFilterTerm ? 'unset' : 'none';
335
- });
336
- }
337
- disconnectedCallback() {
338
- var _a;
339
- this.eventListeners.removeAll();
340
- void this.hide();
341
- (_a = this.popover) === null || _a === void 0 ? void 0 : _a.destroy();
342
- this.popover = undefined;
343
- }
344
- /** Shows the dropdown panel */
345
- async show() {
346
- // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
347
- if (this.isVisible || this.popover == null || this.panel == null) {
348
- return;
349
- }
350
- const sixShow = this.sixShow.emit();
351
- if (sixShow.defaultPrevented) {
352
- this.open = false;
353
- return;
354
- }
355
- this.eventListeners.add(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
356
- this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);
357
- this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);
358
- this.isVisible = true;
359
- this.open = true;
360
- this.popover.show();
361
- }
362
- /** Hides the dropdown panel */
363
- async hide() {
364
- // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
365
- if (!this.isVisible || this.panel == null || this.popover == null) {
366
- return;
367
- }
368
- const sixHide = this.sixHide.emit();
369
- if (sixHide.defaultPrevented) {
370
- this.open = true;
371
- return;
372
- }
373
- this.eventListeners.remove(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
374
- this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);
375
- this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);
376
- this.isVisible = false;
377
- this.open = false;
378
- this.popover.hide();
379
- }
380
- focusOnTrigger() {
381
- if (this.trigger == null)
382
- return;
383
- const [trigger] = getSlotChildren(this.trigger);
384
- if (trigger != null) {
385
- if (typeof trigger.setFocus === 'function') {
386
- trigger.setFocus();
387
- }
388
- else if (typeof trigger.focus === 'function') {
389
- trigger.focus();
390
- }
391
- }
392
- }
393
- getMenu() {
394
- if (this.panel == null)
395
- return;
396
- return getSlotChildren(this.panel).filter(isSixMenu).at(0);
397
- }
398
- /**
399
- * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu
400
- * is activated.
401
- */
402
- async reposition() {
403
- if (!this.open || this.popover == null) {
404
- return;
405
- }
406
- this.popover.reposition();
407
- }
408
- //
409
- // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and
410
- // `aria-expanded`. These must be applied to the "accessible trigger" (the tabbable portion of the trigger element
411
- // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,
412
- // a child of the slotted element, or an element in the slotted element's shadow root.
413
- //
414
- // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.
415
- //
416
- // To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
417
- //
418
- updateAccessibleTrigger() {
419
- if (this.trigger == null)
420
- return;
421
- const accessibleTrigger = getSlotChildren(this.trigger).map(getNearestTabbableElement).at(0);
422
- if (accessibleTrigger != null) {
423
- accessibleTrigger.setAttribute('aria-haspopup', 'true');
424
- accessibleTrigger.setAttribute('aria-expanded', this.open ? 'true' : 'false');
425
- }
426
- }
427
- render() {
428
- return (h("div", { part: "base", id: this.componentId, class: {
429
- dropdown: true,
430
- 'dropdown--open': this.open,
431
- } }, 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: {
432
- dropdown__positioner: true,
433
- dropdown__positioner__filtered: (this.filter || this.asyncFilter) && !this.hoist,
434
- } }, this.hasFilterEnabled && (h("six-input", { class: {
435
- 'filter-hidden': !this.open,
436
- }, "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.filteredOptions.length > 0 && (h("six-menu", { part: "menu", items: this.filteredOptions, virtualScroll: this.virtualScroll }))))));
437
- }
438
- get host() { return getElement(this); }
439
- static get watchers() { return {
440
- "open": ["handleOpenChange"],
441
- "distance": ["handlePopoverOptionsChange"],
442
- "hoist": ["handlePopoverOptionsChange"],
443
- "placement": ["handlePopoverOptionsChange"],
444
- "skidding": ["handlePopoverOptionsChange"],
445
- "options": ["handleOptionsChange"]
446
- }; }
341
+ (_a = this.popover) === null || _a === void 0 ? void 0 : _a.destroy();
342
+ this.popover = undefined;
343
+ }
344
+ /** Shows the dropdown panel */
345
+ async show() {
346
+ // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
347
+ if (this.isVisible || this.popover == null || this.panel == null) {
348
+ return;
349
+ }
350
+ const sixShow = this.sixShow.emit();
351
+ if (sixShow.defaultPrevented) {
352
+ this.open = false;
353
+ return;
354
+ }
355
+ this.eventListeners.add(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
356
+ this.eventListeners.add(document, 'keydown', this.handleDocumentKeyDown);
357
+ this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);
358
+ this.isVisible = true;
359
+ this.open = true;
360
+ this.popover.show();
361
+ }
362
+ /** Hides the dropdown panel */
363
+ async hide() {
364
+ // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
365
+ if (!this.isVisible || this.panel == null || this.popover == null) {
366
+ return;
367
+ }
368
+ const sixHide = this.sixHide.emit();
369
+ if (sixHide.defaultPrevented) {
370
+ this.open = true;
371
+ return;
372
+ }
373
+ this.eventListeners.remove(this.panel, 'six-menu-item-selected', this.handlePanelSelect);
374
+ this.eventListeners.remove(document, 'keydown', this.handleDocumentKeyDown);
375
+ this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);
376
+ this.isVisible = false;
377
+ this.open = false;
378
+ this.popover.hide();
379
+ }
380
+ focusOnTrigger() {
381
+ if (this.trigger == null)
382
+ return;
383
+ const [trigger] = getSlotChildren(this.trigger);
384
+ if (trigger != null) {
385
+ if (typeof trigger.setFocus === 'function') {
386
+ trigger.setFocus();
387
+ }
388
+ else if (typeof trigger.focus === 'function') {
389
+ trigger.focus();
390
+ }
391
+ }
392
+ }
393
+ getMenu() {
394
+ if (this.panel == null)
395
+ return;
396
+ return getSlotChildren(this.panel).filter(isSixMenu).at(0);
397
+ }
398
+ /**
399
+ * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu
400
+ * is activated.
401
+ */
402
+ async reposition() {
403
+ if (!this.open || this.popover == null) {
404
+ return;
405
+ }
406
+ this.popover.reposition();
407
+ }
408
+ //
409
+ // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and
410
+ // `aria-expanded`. These must be applied to the "accessible trigger" (the tabbable portion of the trigger element
411
+ // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,
412
+ // a child of the slotted element, or an element in the slotted element's shadow root.
413
+ //
414
+ // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.
415
+ //
416
+ // To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
417
+ //
418
+ updateAccessibleTrigger() {
419
+ if (this.trigger == null)
420
+ return;
421
+ const accessibleTrigger = getSlotChildren(this.trigger).map(getNearestTabbableElement).at(0);
422
+ if (accessibleTrigger != null) {
423
+ accessibleTrigger.setAttribute('aria-haspopup', 'true');
424
+ accessibleTrigger.setAttribute('aria-expanded', this.open ? 'true' : 'false');
425
+ }
426
+ }
427
+ render() {
428
+ return (h("div", { part: "base", id: this.componentId, class: {
429
+ dropdown: true,
430
+ 'dropdown--open': this.open,
431
+ } }, 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: {
432
+ dropdown__positioner: true,
433
+ dropdown__positioner__filtered: (this.filter || this.asyncFilter) && !this.hoist,
434
+ } }, this.hasFilterEnabled && (h("six-input", { class: {
435
+ 'filter-hidden': !this.open,
436
+ }, "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.filteredOptions.length > 0 && (h("six-menu", { part: "menu", items: this.filteredOptions, virtualScroll: this.virtualScroll }))))));
437
+ }
438
+ get host() { return getElement(this); }
439
+ static get watchers() { return {
440
+ "open": ["handleOpenChange"],
441
+ "distance": ["handlePopoverOptionsChange"],
442
+ "hoist": ["handlePopoverOptionsChange"],
443
+ "placement": ["handlePopoverOptionsChange"],
444
+ "skidding": ["handlePopoverOptionsChange"],
445
+ "options": ["handleOptionsChange"]
446
+ }; }
447
447
  };
448
448
  SixDropdown.style = sixDropdownCss;
449
449
 
@@ -455,209 +455,209 @@ const mapToMenuItem = ({ value, label }) => h("six-menu-item", { value: value },
455
455
  const DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING = 5;
456
456
  const DEFAULT_SIX_MENU_ITEM_HEIGHT = 64;
457
457
  const SixMenu = class {
458
- constructor(hostRef) {
459
- registerInstance(this, hostRef);
460
- this.sixMenuItemSelected = createEvent(this, "six-menu-item-selected", 7);
461
- this.eventListeners = new EventListeners();
462
- this.typeToSelectString = '';
463
- this.handleScrolling = () => {
464
- if (this.menuWrapper == null)
465
- return;
466
- // for performance improvements we only update the DOM if the scrollRatio change "enough"
467
- this.scrollingIndex = Math.floor(this.menuWrapper.scrollTop / this.sixMenuItemHeight);
468
- };
469
- this.removeBoxShadow = false;
470
- this.items = null;
471
- this.itemsShown = undefined;
472
- this.virtualScroll = false;
473
- this.itemSize = 10;
474
- this.scrollingDebounce = 15;
475
- this.scrollingIndex = 0;
476
- this.sixMenuItemHeight = DEFAULT_SIX_MENU_ITEM_HEIGHT;
477
- }
478
- connectedCallback() {
479
- this.handleClick = this.handleClick.bind(this);
480
- this.handleKeyDown = this.handleKeyDown.bind(this);
481
- }
482
- componentWillLoad() {
483
- if (this.items === null) {
484
- return;
485
- }
486
- }
487
- componentDidLoad() {
488
- this.setupForVirtualScrollingAfterRendering();
489
- }
490
- disconnectedCallback() {
491
- this.eventListeners.removeAll();
492
- }
493
- /**
494
- * Initiates type-to-select logic, which automatically selects an option based on what the user is currently typing.
495
- * The key passed will be appended to the internal query and the selection will be updated. After a brief period, the
496
- * internal query is cleared automatically. This method is intended to be used with the keydown event. Useful for
497
- * enabling type-to-select when the menu doesn't have focus.
498
- */
499
- async typeToSelect(key) {
500
- var _a;
501
- clearTimeout(this.typeToSelectTimeout);
502
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
503
- // @ts-ignore
504
- this.typeToSelectTimeout = setTimeout(() => (this.typeToSelectString = ''), 750);
505
- this.typeToSelectString += key.toLowerCase();
506
- const items = this.getItems();
507
- for (const item of items) {
508
- const slot = (_a = item.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
509
- const label = getTextContent(slot).toLowerCase().trim();
510
- if (label.substring(0, this.typeToSelectString.length) === this.typeToSelectString) {
511
- item.setFocus();
512
- break;
513
- }
514
- }
515
- }
516
- getItemsShown() {
517
- var _a;
518
- const defaultItemsShown = this.virtualScroll ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING : 0;
519
- return (_a = this.itemsShown) !== null && _a !== void 0 ? _a : defaultItemsShown;
520
- }
521
- setupForVirtualScrollingAfterRendering() {
522
- var _a, _b;
523
- if (!this.virtualScroll || this.menuWrapper == null)
524
- return;
525
- this.eventListeners.add(this.menuWrapper, 'scroll', debounce(this.handleScrolling, this.scrollingDebounce));
526
- // set menu height to proper height once the item is rendered.
527
- const menuItemHeight = (_b = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector('six-menu-item')) === null || _b === void 0 ? void 0 : _b.clientHeight;
528
- if (menuItemHeight != null && menuItemHeight > 0) {
529
- this.sixMenuItemHeight = menuItemHeight;
530
- }
531
- }
532
- getItems() {
533
- if (this.menu == null)
534
- return [];
535
- if (this.items != null) {
536
- return this.items.map(mapToMenuItem);
537
- }
538
- const slot = this.menu.querySelector('slot');
539
- if (slot == null)
540
- return [];
541
- return [...slot.assignedElements({ flatten: true })].filter((el) => isSIXMenuItemElement(el) && !el.disabled);
542
- }
543
- getActiveItemIndex() {
544
- const items = this.getItems();
545
- const selectedItem = this.getActiveItem();
546
- if (selectedItem != null) {
547
- const itemIndex = items.indexOf(selectedItem);
548
- if (itemIndex > -1) {
549
- return itemIndex;
550
- }
551
- }
552
- const sixMenuItems = this.extractItemsFromDOM();
553
- return sixMenuItems.findIndex(isFocusedMenuItem);
554
- }
555
- getActiveItem() {
556
- var _a;
557
- const activeElement = this.getItems().find((i) => i === document.activeElement);
558
- if (activeElement != null) {
559
- return activeElement;
560
- }
561
- return (_a = this.extractItemsFromDOM()) === null || _a === void 0 ? void 0 : _a.find(isFocusedMenuItem);
562
- }
563
- extractItemsFromDOM() {
564
- var _a, _b;
565
- return Array.from((_b = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('six-menu-item')) !== null && _b !== void 0 ? _b : []);
566
- }
567
- setActiveItem(item) {
568
- item === null || item === void 0 ? void 0 : item.setFocus();
569
- }
570
- handleClick(event) {
571
- const target = event.target;
572
- const clickedItem = target.closest('six-menu-item');
573
- if (clickedItem && !clickedItem.disabled) {
574
- this.sixMenuItemSelected.emit({ name: clickedItem.value, item: clickedItem });
575
- }
576
- }
577
- handleKeyDown(event) {
578
- // Make a selection when pressing enter
579
- if (event.key === 'Enter') {
580
- const activeItem = this.getActiveItem();
581
- event.preventDefault();
582
- if (activeItem != null) {
583
- this.sixMenuItemSelected.emit({ name: activeItem.value, item: activeItem });
584
- }
585
- }
586
- // Prevent scrolling when space is pressed
587
- if (event.key === ' ') {
588
- event.preventDefault();
589
- }
590
- // Move the selection when pressing down or up
591
- if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
592
- const items = this.items === null ? this.getItems() : this.extractItemsFromDOM();
593
- let indexOfActiveItem = this.getActiveItemIndex();
594
- if (items.length > 0) {
595
- event.preventDefault();
596
- if (event.key === 'ArrowDown') {
597
- indexOfActiveItem++;
598
- }
599
- else if (event.key === 'ArrowUp') {
600
- indexOfActiveItem--;
601
- }
602
- else if (event.key === 'Home') {
603
- indexOfActiveItem = 0;
604
- }
605
- else if (event.key === 'End') {
606
- indexOfActiveItem = items.length - 1;
607
- }
608
- if (indexOfActiveItem < 0)
609
- indexOfActiveItem = 0;
610
- if (indexOfActiveItem > items.length - 1)
611
- indexOfActiveItem = items.length - 1;
612
- this.setActiveItem(items[indexOfActiveItem]);
613
- return;
614
- }
615
- }
616
- void this.typeToSelect(event.key);
617
- }
618
- getMenuWrapperStyle() {
619
- var _a;
620
- const styles = {};
621
- if (this.getItemsShown() > 0) {
622
- // calculate the proper height to show the correct number of items
623
- styles.height = `${((_a = this.getItemsShown()) !== null && _a !== void 0 ? _a : 0) * this.sixMenuItemHeight}px`;
624
- }
625
- return Object.assign({}, styles);
626
- }
627
- getMenuContainerStyle() {
628
- const styles = {};
629
- if (this.virtualScroll) {
630
- // calculate height of content are if all items would be rendered so the scrollbar has the proper size
631
- styles.transform = `translateY(${this.sixMenuItemHeight * this.scrollingIndex}px)`;
632
- }
633
- return Object.assign({}, styles);
634
- }
635
- getScrollbarGhostStyle() {
636
- const styles = {};
637
- if (this.virtualScroll && this.items !== null) {
638
- styles.height = `${this.items.length * this.sixMenuItemHeight - this.itemSize * this.sixMenuItemHeight}px`;
639
- }
640
- return Object.assign({}, styles);
641
- }
642
- renderItems() {
643
- if (this.items === undefined || this.items === null) {
644
- return;
645
- }
646
- if (!this.virtualScroll) {
647
- return this.items.map(mapToMenuItem);
648
- }
649
- return this.items
650
- .slice(this.scrollingIndex, Math.min(this.items.length, this.itemSize + this.scrollingIndex))
651
- .map(mapToMenuItem);
652
- }
653
- render() {
654
- return (h("div", { ref: (el) => (this.menuWrapper = el), style: this.getMenuWrapperStyle(), part: "wrapper", class: {
655
- menu: true,
656
- 'menu--noshadow': this.removeBoxShadow,
657
- 'menu__wrapper--scrollable': this.getItemsShown() > 0,
658
- } }, h("div", { ref: (el) => (this.menu = el), part: "base", role: "menu", onClick: this.handleClick, onKeyDown: this.handleKeyDown, tabIndex: 0, style: this.getMenuContainerStyle() }, h("slot", null), this.renderItems()), this.virtualScroll && h("div", { style: this.getScrollbarGhostStyle() })));
659
- }
660
- get host() { return getElement(this); }
458
+ constructor(hostRef) {
459
+ registerInstance(this, hostRef);
460
+ this.sixMenuItemSelected = createEvent(this, "six-menu-item-selected", 7);
461
+ this.eventListeners = new EventListeners();
462
+ this.typeToSelectString = '';
463
+ this.handleScrolling = () => {
464
+ if (this.menuWrapper == null)
465
+ return;
466
+ // for performance improvements we only update the DOM if the scrollRatio change "enough"
467
+ this.scrollingIndex = Math.floor(this.menuWrapper.scrollTop / this.sixMenuItemHeight);
468
+ };
469
+ this.removeBoxShadow = false;
470
+ this.items = null;
471
+ this.itemsShown = undefined;
472
+ this.virtualScroll = false;
473
+ this.itemSize = 10;
474
+ this.scrollingDebounce = 15;
475
+ this.scrollingIndex = 0;
476
+ this.sixMenuItemHeight = DEFAULT_SIX_MENU_ITEM_HEIGHT;
477
+ }
478
+ connectedCallback() {
479
+ this.handleClick = this.handleClick.bind(this);
480
+ this.handleKeyDown = this.handleKeyDown.bind(this);
481
+ }
482
+ componentWillLoad() {
483
+ if (this.items === null) {
484
+ return;
485
+ }
486
+ }
487
+ componentDidLoad() {
488
+ this.setupForVirtualScrollingAfterRendering();
489
+ }
490
+ disconnectedCallback() {
491
+ this.eventListeners.removeAll();
492
+ }
493
+ /**
494
+ * Initiates type-to-select logic, which automatically selects an option based on what the user is currently typing.
495
+ * The key passed will be appended to the internal query and the selection will be updated. After a brief period, the
496
+ * internal query is cleared automatically. This method is intended to be used with the keydown event. Useful for
497
+ * enabling type-to-select when the menu doesn't have focus.
498
+ */
499
+ async typeToSelect(key) {
500
+ var _a;
501
+ clearTimeout(this.typeToSelectTimeout);
502
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
503
+ // @ts-ignore
504
+ this.typeToSelectTimeout = setTimeout(() => (this.typeToSelectString = ''), 750);
505
+ this.typeToSelectString += key.toLowerCase();
506
+ const items = this.getItems();
507
+ for (const item of items) {
508
+ const slot = (_a = item.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
509
+ const label = getTextContent(slot).toLowerCase().trim();
510
+ if (label.substring(0, this.typeToSelectString.length) === this.typeToSelectString) {
511
+ item.setFocus();
512
+ break;
513
+ }
514
+ }
515
+ }
516
+ getItemsShown() {
517
+ var _a;
518
+ const defaultItemsShown = this.virtualScroll ? DEFAULT_NUMBER_OF_ITEMS_SHOWN_FOR_VIRTUAL_SCROLLING : 0;
519
+ return (_a = this.itemsShown) !== null && _a !== void 0 ? _a : defaultItemsShown;
520
+ }
521
+ setupForVirtualScrollingAfterRendering() {
522
+ var _a, _b;
523
+ if (!this.virtualScroll || this.menuWrapper == null)
524
+ return;
525
+ this.eventListeners.add(this.menuWrapper, 'scroll', debounce(this.handleScrolling, this.scrollingDebounce));
526
+ // set menu height to proper height once the item is rendered.
527
+ const menuItemHeight = (_b = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector('six-menu-item')) === null || _b === void 0 ? void 0 : _b.clientHeight;
528
+ if (menuItemHeight != null && menuItemHeight > 0) {
529
+ this.sixMenuItemHeight = menuItemHeight;
530
+ }
531
+ }
532
+ getItems() {
533
+ if (this.menu == null)
534
+ return [];
535
+ if (this.items != null) {
536
+ return this.items.map(mapToMenuItem);
537
+ }
538
+ const slot = this.menu.querySelector('slot');
539
+ if (slot == null)
540
+ return [];
541
+ return [...slot.assignedElements({ flatten: true })].filter((el) => isSIXMenuItemElement(el) && !el.disabled);
542
+ }
543
+ getActiveItemIndex() {
544
+ const items = this.getItems();
545
+ const selectedItem = this.getActiveItem();
546
+ if (selectedItem != null) {
547
+ const itemIndex = items.indexOf(selectedItem);
548
+ if (itemIndex > -1) {
549
+ return itemIndex;
550
+ }
551
+ }
552
+ const sixMenuItems = this.extractItemsFromDOM();
553
+ return sixMenuItems.findIndex(isFocusedMenuItem);
554
+ }
555
+ getActiveItem() {
556
+ var _a;
557
+ const activeElement = this.getItems().find((i) => i === document.activeElement);
558
+ if (activeElement != null) {
559
+ return activeElement;
560
+ }
561
+ return (_a = this.extractItemsFromDOM()) === null || _a === void 0 ? void 0 : _a.find(isFocusedMenuItem);
562
+ }
563
+ extractItemsFromDOM() {
564
+ var _a, _b;
565
+ return Array.from((_b = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('six-menu-item')) !== null && _b !== void 0 ? _b : []);
566
+ }
567
+ setActiveItem(item) {
568
+ item === null || item === void 0 ? void 0 : item.setFocus();
569
+ }
570
+ handleClick(event) {
571
+ const target = event.target;
572
+ const clickedItem = target.closest('six-menu-item');
573
+ if (clickedItem && !clickedItem.disabled) {
574
+ this.sixMenuItemSelected.emit({ name: clickedItem.value, item: clickedItem });
575
+ }
576
+ }
577
+ handleKeyDown(event) {
578
+ // Make a selection when pressing enter
579
+ if (event.key === 'Enter') {
580
+ const activeItem = this.getActiveItem();
581
+ event.preventDefault();
582
+ if (activeItem != null) {
583
+ this.sixMenuItemSelected.emit({ name: activeItem.value, item: activeItem });
584
+ }
585
+ }
586
+ // Prevent scrolling when space is pressed
587
+ if (event.key === ' ') {
588
+ event.preventDefault();
589
+ }
590
+ // Move the selection when pressing down or up
591
+ if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
592
+ const items = this.items === null ? this.getItems() : this.extractItemsFromDOM();
593
+ let indexOfActiveItem = this.getActiveItemIndex();
594
+ if (items.length > 0) {
595
+ event.preventDefault();
596
+ if (event.key === 'ArrowDown') {
597
+ indexOfActiveItem++;
598
+ }
599
+ else if (event.key === 'ArrowUp') {
600
+ indexOfActiveItem--;
601
+ }
602
+ else if (event.key === 'Home') {
603
+ indexOfActiveItem = 0;
604
+ }
605
+ else if (event.key === 'End') {
606
+ indexOfActiveItem = items.length - 1;
607
+ }
608
+ if (indexOfActiveItem < 0)
609
+ indexOfActiveItem = 0;
610
+ if (indexOfActiveItem > items.length - 1)
611
+ indexOfActiveItem = items.length - 1;
612
+ this.setActiveItem(items[indexOfActiveItem]);
613
+ return;
614
+ }
615
+ }
616
+ void this.typeToSelect(event.key);
617
+ }
618
+ getMenuWrapperStyle() {
619
+ var _a;
620
+ const styles = {};
621
+ if (this.getItemsShown() > 0) {
622
+ // calculate the proper height to show the correct number of items
623
+ styles.height = `${((_a = this.getItemsShown()) !== null && _a !== void 0 ? _a : 0) * this.sixMenuItemHeight}px`;
624
+ }
625
+ return Object.assign({}, styles);
626
+ }
627
+ getMenuContainerStyle() {
628
+ const styles = {};
629
+ if (this.virtualScroll) {
630
+ // calculate height of content are if all items would be rendered so the scrollbar has the proper size
631
+ styles.transform = `translateY(${this.sixMenuItemHeight * this.scrollingIndex}px)`;
632
+ }
633
+ return Object.assign({}, styles);
634
+ }
635
+ getScrollbarGhostStyle() {
636
+ const styles = {};
637
+ if (this.virtualScroll && this.items !== null) {
638
+ styles.height = `${this.items.length * this.sixMenuItemHeight - this.itemSize * this.sixMenuItemHeight}px`;
639
+ }
640
+ return Object.assign({}, styles);
641
+ }
642
+ renderItems() {
643
+ if (this.items === undefined || this.items === null) {
644
+ return;
645
+ }
646
+ if (!this.virtualScroll) {
647
+ return this.items.map(mapToMenuItem);
648
+ }
649
+ return this.items
650
+ .slice(this.scrollingIndex, Math.min(this.items.length, this.itemSize + this.scrollingIndex))
651
+ .map(mapToMenuItem);
652
+ }
653
+ render() {
654
+ return (h("div", { ref: (el) => (this.menuWrapper = el), style: this.getMenuWrapperStyle(), part: "wrapper", class: {
655
+ menu: true,
656
+ 'menu--noshadow': this.removeBoxShadow,
657
+ 'menu__wrapper--scrollable': this.getItemsShown() > 0,
658
+ } }, h("div", { ref: (el) => (this.menu = el), part: "base", role: "menu", onClick: this.handleClick, onKeyDown: this.handleKeyDown, tabIndex: 0, style: this.getMenuContainerStyle() }, h("slot", null), this.renderItems()), this.virtualScroll && h("div", { style: this.getScrollbarGhostStyle() })));
659
+ }
660
+ get host() { return getElement(this); }
661
661
  };
662
662
  SixMenu.style = sixMenuCss;
663
663