@six-group/ui-library 0.0.0-insider.a9875a1 → 0.0.0-insider.ad9373a

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 (611) hide show
  1. package/dist/cjs/error-messages-6e8049a4.js +119 -0
  2. package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
  3. package/dist/cjs/{form-control-f9bc25dd.js → form-control-72186fcc.js} +2 -2
  4. package/dist/cjs/{form-control-f9bc25dd.js.map → form-control-72186fcc.js.map} +1 -1
  5. package/dist/cjs/{index-3baddcdc.js → index-5dd19c4b.js} +63 -44
  6. package/dist/cjs/index-5dd19c4b.js.map +1 -0
  7. package/dist/cjs/index.cjs.js +6 -106
  8. package/dist/cjs/index.cjs.js.map +1 -1
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/set-attributes_2.cjs.entry.js +2 -2
  11. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  12. package/dist/cjs/six-alert.cjs.entry.js +2 -2
  13. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/six-avatar.cjs.entry.js +2 -2
  15. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  16. package/dist/cjs/six-badge.cjs.entry.js +2 -2
  17. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/six-button.cjs.entry.js +3 -3
  19. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  20. package/dist/cjs/six-card.cjs.entry.js +2 -2
  21. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  22. package/dist/cjs/six-checkbox_2.cjs.entry.js +190 -0
  23. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
  24. package/dist/cjs/six-datepicker.cjs.entry.js +4 -3
  25. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  26. package/dist/cjs/six-details.cjs.entry.js +2 -2
  27. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-dialog.cjs.entry.js +3 -3
  29. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-drawer.cjs.entry.js +3 -3
  31. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-dropdown_2.cjs.entry.js +195 -125
  33. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-error-page.cjs.entry.js +1 -1
  35. package/dist/cjs/six-error.cjs.entry.js +1 -1
  36. package/dist/cjs/six-file-list-item.cjs.entry.js +1 -1
  37. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  38. package/dist/cjs/six-file-upload.cjs.entry.js +2 -2
  39. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-footer.cjs.entry.js +2 -2
  41. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-group-label.cjs.entry.js +4 -4
  43. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-header.cjs.entry.js +7 -5
  45. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-icon-button.cjs.entry.js +2 -2
  47. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-icon.cjs.entry.js +2 -2
  49. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-input.cjs.entry.js +6 -4
  51. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-item-picker.cjs.entry.js +2 -2
  53. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  54. package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
  55. package/dist/cjs/six-layout-grid.cjs.entry.js +1 -1
  56. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  57. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-menu-divider.cjs.entry.js +2 -2
  59. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-menu-label.cjs.entry.js +2 -2
  61. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-picto.cjs.entry.js +1 -1
  63. package/dist/cjs/six-progress-bar.cjs.entry.js +2 -2
  64. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-progress-ring.cjs.entry.js +2 -2
  66. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-radio.cjs.entry.js +2 -2
  68. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-range.cjs.entry.js +4 -4
  70. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-root.cjs.entry.js +1 -1
  72. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-search-field.cjs.entry.js +2 -2
  74. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-select.cjs.entry.js +300 -169
  76. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +3 -3
  78. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  80. package/dist/cjs/six-sidebar.cjs.entry.js +2 -2
  81. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-spinner.cjs.entry.js +2 -2
  83. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-switch.cjs.entry.js +4 -4
  85. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-tab-group.cjs.entry.js +2 -2
  87. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  89. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-tab.cjs.entry.js +2 -2
  91. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-tag.cjs.entry.js +3 -3
  93. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-textarea.cjs.entry.js +4 -4
  95. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-tile.cjs.entry.js +3 -3
  97. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-timepicker.cjs.entry.js +4 -4
  99. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-tooltip.cjs.entry.js +2 -2
  101. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  102. package/dist/cjs/{slot-9821749e.js → slot-1b1232a1.js} +1 -3
  103. package/dist/cjs/slot-1b1232a1.js.map +1 -0
  104. package/dist/cjs/{types-0a6d66f6.js → types-d3da200b.js} +3 -1
  105. package/dist/cjs/types-d3da200b.js.map +1 -0
  106. package/dist/cjs/ui-library.cjs.js +3 -3
  107. package/dist/cjs/ui-library.cjs.js.map +1 -1
  108. package/dist/collection/collection-manifest.json +1 -1
  109. package/dist/collection/components/six-alert/six-alert.css +1 -1
  110. package/dist/collection/components/six-avatar/six-avatar.css +2 -2
  111. package/dist/collection/components/six-badge/six-badge.css +1 -1
  112. package/dist/collection/components/six-button/six-button.css +1 -1
  113. package/dist/collection/components/six-button/six-button.js +3 -2
  114. package/dist/collection/components/six-button/six-button.js.map +1 -1
  115. package/dist/collection/components/six-card/six-card.css +4 -5
  116. package/dist/collection/components/six-checkbox/six-checkbox.css +1 -1
  117. package/dist/collection/components/six-checkbox/six-checkbox.js +3 -2
  118. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  119. package/dist/collection/components/six-datepicker/six-date-formats.js +1 -0
  120. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
  121. package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
  122. package/dist/collection/components/six-datepicker/six-datepicker.js +6 -4
  123. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  124. package/dist/collection/components/six-details/six-details.css +1 -1
  125. package/dist/collection/components/six-details/six-details.js.map +1 -1
  126. package/dist/collection/components/six-dialog/six-dialog.css +2 -2
  127. package/dist/collection/components/six-drawer/six-drawer.css +2 -2
  128. package/dist/collection/components/six-dropdown/six-dropdown.css +22 -7
  129. package/dist/collection/components/six-dropdown/six-dropdown.js +213 -123
  130. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  131. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +54 -29
  132. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -1
  133. package/dist/collection/components/six-file-upload/six-file-upload.css +1 -4
  134. package/dist/collection/components/six-footer/six-footer.css +2 -2
  135. package/dist/collection/components/six-group-label/six-group-label.css +1 -1
  136. package/dist/collection/components/six-header/six-header.css +6 -2
  137. package/dist/collection/components/six-header/six-header.js +25 -4
  138. package/dist/collection/components/six-header/six-header.js.map +1 -1
  139. package/dist/collection/components/six-header/test/six-header.spec.js +38 -2
  140. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -1
  141. package/dist/collection/components/six-icon/six-icon.css +1 -1
  142. package/dist/collection/components/six-icon-button/six-icon-button.css +1 -1
  143. package/dist/collection/components/six-input/six-input.css +10 -1
  144. package/dist/collection/components/six-input/six-input.js +44 -16
  145. package/dist/collection/components/six-input/six-input.js.map +1 -1
  146. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  147. package/dist/collection/components/six-item-picker/types.js +2 -0
  148. package/dist/collection/components/six-item-picker/types.js.map +1 -1
  149. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  150. package/dist/collection/components/six-menu/six-menu.css +8 -7
  151. package/dist/collection/components/six-menu/six-menu.js +28 -6
  152. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  153. package/dist/collection/components/six-menu/test/six-menu.spec.js +6 -6
  154. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
  155. package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
  156. package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
  157. package/dist/collection/components/six-menu-item/six-menu-item.js +36 -7
  158. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  159. package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
  160. package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
  161. package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
  162. package/dist/collection/components/six-radio/six-radio.css +1 -1
  163. package/dist/collection/components/six-radio/six-radio.js +3 -2
  164. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  165. package/dist/collection/components/six-range/six-range.css +1 -1
  166. package/dist/collection/components/six-range/six-range.js +3 -2
  167. package/dist/collection/components/six-range/six-range.js.map +1 -1
  168. package/dist/collection/components/six-root/six-root.js.map +1 -1
  169. package/dist/collection/components/six-search-field/six-search-field.css +1 -1
  170. package/dist/collection/components/six-select/six-select.css +54 -66
  171. package/dist/collection/components/six-select/six-select.js +343 -168
  172. package/dist/collection/components/six-select/six-select.js.map +1 -1
  173. package/dist/collection/components/six-select/test/six-select.spec.js +31 -15
  174. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -1
  175. package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
  176. package/dist/collection/components/six-sidebar/six-sidebar.js +6 -4
  177. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  178. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +1 -1
  179. package/dist/collection/components/six-spinner/six-spinner.css +1 -1
  180. package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
  181. package/dist/collection/components/six-switch/six-switch.css +1 -1
  182. package/dist/collection/components/six-switch/six-switch.js +3 -2
  183. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  184. package/dist/collection/components/six-tab/six-tab.css +1 -1
  185. package/dist/collection/components/six-tab/six-tab.js +3 -2
  186. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  187. package/dist/collection/components/six-tab-group/six-tab-group.css +1 -1
  188. package/dist/collection/components/six-tab-group/six-tab-group.js +3 -2
  189. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  190. package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
  191. package/dist/collection/components/six-tag/six-tag.css +1 -1
  192. package/dist/collection/components/six-textarea/six-textarea.css +1 -1
  193. package/dist/collection/components/six-textarea/six-textarea.js +24 -16
  194. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  195. package/dist/collection/components/six-tile/six-tile.css +2 -2
  196. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  197. package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
  198. package/dist/collection/components/six-timepicker/six-timepicker.js +3 -2
  199. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  200. package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
  201. package/dist/collection/utils/error-messages.js +7 -0
  202. package/dist/collection/utils/error-messages.js.map +1 -1
  203. package/dist/collection/utils/slot.js +0 -1
  204. package/dist/collection/utils/slot.js.map +1 -1
  205. package/dist/components/index.js +2 -106
  206. package/dist/components/index.js.map +1 -1
  207. package/dist/components/six-alert.js +1 -1
  208. package/dist/components/six-alert.js.map +1 -1
  209. package/dist/components/six-avatar.js +1 -1
  210. package/dist/components/six-avatar.js.map +1 -1
  211. package/dist/components/six-badge.js +1 -1
  212. package/dist/components/six-badge.js.map +1 -1
  213. package/dist/components/six-button.js +1 -142
  214. package/dist/components/six-button.js.map +1 -1
  215. package/dist/components/six-button2.js +146 -0
  216. package/dist/components/six-button2.js.map +1 -0
  217. package/dist/components/six-card.js +1 -1
  218. package/dist/components/six-card.js.map +1 -1
  219. package/dist/components/six-checkbox.js +1 -161
  220. package/dist/components/six-checkbox.js.map +1 -1
  221. package/dist/components/six-checkbox2.js +165 -0
  222. package/dist/components/six-checkbox2.js.map +1 -0
  223. package/dist/components/six-datepicker.js +2 -1
  224. package/dist/components/six-datepicker.js.map +1 -1
  225. package/dist/components/six-details2.js +1 -1
  226. package/dist/components/six-details2.js.map +1 -1
  227. package/dist/components/six-dialog.js +1 -1
  228. package/dist/components/six-dialog.js.map +1 -1
  229. package/dist/components/six-drawer.js +1 -1
  230. package/dist/components/six-drawer.js.map +1 -1
  231. package/dist/components/six-dropdown2.js +199 -125
  232. package/dist/components/six-dropdown2.js.map +1 -1
  233. package/dist/components/six-file-upload.js +1 -1
  234. package/dist/components/six-file-upload.js.map +1 -1
  235. package/dist/components/six-footer.js +1 -1
  236. package/dist/components/six-footer.js.map +1 -1
  237. package/dist/components/six-group-label.js +1 -1
  238. package/dist/components/six-group-label.js.map +1 -1
  239. package/dist/components/six-header.js +13 -4
  240. package/dist/components/six-header.js.map +1 -1
  241. package/dist/components/six-icon-button2.js +1 -1
  242. package/dist/components/six-icon-button2.js.map +1 -1
  243. package/dist/components/six-icon2.js +1 -1
  244. package/dist/components/six-icon2.js.map +1 -1
  245. package/dist/components/six-input2.js +4 -1
  246. package/dist/components/six-input2.js.map +1 -1
  247. package/dist/components/six-item-picker2.js +2 -0
  248. package/dist/components/six-item-picker2.js.map +1 -1
  249. package/dist/components/six-main-container.js.map +1 -1
  250. package/dist/components/six-menu-divider.js +1 -1
  251. package/dist/components/six-menu-divider.js.map +1 -1
  252. package/dist/components/six-menu-item2.js +28 -5
  253. package/dist/components/six-menu-item2.js.map +1 -1
  254. package/dist/components/six-menu-label.js +1 -1
  255. package/dist/components/six-menu-label.js.map +1 -1
  256. package/dist/components/six-menu2.js +22 -6
  257. package/dist/components/six-menu2.js.map +1 -1
  258. package/dist/components/six-progress-bar.js +1 -1
  259. package/dist/components/six-progress-bar.js.map +1 -1
  260. package/dist/components/six-progress-ring.js +1 -1
  261. package/dist/components/six-progress-ring.js.map +1 -1
  262. package/dist/components/six-radio.js +1 -1
  263. package/dist/components/six-radio.js.map +1 -1
  264. package/dist/components/six-range.js +1 -1
  265. package/dist/components/six-range.js.map +1 -1
  266. package/dist/components/six-root.js.map +1 -1
  267. package/dist/components/six-search-field.js +1 -1
  268. package/dist/components/six-search-field.js.map +1 -1
  269. package/dist/components/six-select.js +435 -185
  270. package/dist/components/six-select.js.map +1 -1
  271. package/dist/components/six-sidebar-item-group.js +1 -1
  272. package/dist/components/six-sidebar-item-group.js.map +1 -1
  273. package/dist/components/six-sidebar.js +1 -1
  274. package/dist/components/six-sidebar.js.map +1 -1
  275. package/dist/components/six-spinner2.js +1 -1
  276. package/dist/components/six-spinner2.js.map +1 -1
  277. package/dist/components/six-stage-indicator2.js +1 -1
  278. package/dist/components/six-stage-indicator2.js.map +1 -1
  279. package/dist/components/six-switch.js +1 -1
  280. package/dist/components/six-switch.js.map +1 -1
  281. package/dist/components/six-tab-group.js +1 -1
  282. package/dist/components/six-tab-group.js.map +1 -1
  283. package/dist/components/six-tab-panel.js +1 -1
  284. package/dist/components/six-tab-panel.js.map +1 -1
  285. package/dist/components/six-tab.js +1 -1
  286. package/dist/components/six-tab.js.map +1 -1
  287. package/dist/components/six-tag.js +98 -1
  288. package/dist/components/six-tag.js.map +1 -1
  289. package/dist/components/six-textarea.js +1 -1
  290. package/dist/components/six-textarea.js.map +1 -1
  291. package/dist/components/six-tile.js +1 -1
  292. package/dist/components/six-tile.js.map +1 -1
  293. package/dist/components/six-timepicker2.js +1 -1
  294. package/dist/components/six-timepicker2.js.map +1 -1
  295. package/dist/components/six-tooltip2.js +1 -1
  296. package/dist/components/six-tooltip2.js.map +1 -1
  297. package/dist/components/slot.js +1 -2
  298. package/dist/components/slot.js.map +1 -1
  299. package/dist/components.d.ts +1 -21
  300. package/dist/components.json +545 -115
  301. package/dist/esm/error-messages-1eaaad23.js +115 -0
  302. package/dist/esm/error-messages-1eaaad23.js.map +1 -0
  303. package/dist/esm/{form-control-6b30894f.js → form-control-77fcccd0.js} +2 -2
  304. package/dist/esm/{form-control-6b30894f.js.map → form-control-77fcccd0.js.map} +1 -1
  305. package/dist/esm/{index-17d8173e.js → index-6c10d50b.js} +63 -44
  306. package/dist/esm/index-6c10d50b.js.map +1 -0
  307. package/dist/esm/index.js +1 -106
  308. package/dist/esm/index.js.map +1 -1
  309. package/dist/esm/loader.js +3 -3
  310. package/dist/esm/set-attributes_2.entry.js +2 -2
  311. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  312. package/dist/esm/six-alert.entry.js +2 -2
  313. package/dist/esm/six-alert.entry.js.map +1 -1
  314. package/dist/esm/six-avatar.entry.js +2 -2
  315. package/dist/esm/six-avatar.entry.js.map +1 -1
  316. package/dist/esm/six-badge.entry.js +2 -2
  317. package/dist/esm/six-badge.entry.js.map +1 -1
  318. package/dist/esm/six-button.entry.js +3 -3
  319. package/dist/esm/six-button.entry.js.map +1 -1
  320. package/dist/esm/six-card.entry.js +2 -2
  321. package/dist/esm/six-card.entry.js.map +1 -1
  322. package/dist/esm/six-checkbox_2.entry.js +185 -0
  323. package/dist/esm/six-checkbox_2.entry.js.map +1 -0
  324. package/dist/esm/six-datepicker.entry.js +4 -3
  325. package/dist/esm/six-datepicker.entry.js.map +1 -1
  326. package/dist/esm/six-details.entry.js +2 -2
  327. package/dist/esm/six-details.entry.js.map +1 -1
  328. package/dist/esm/six-dialog.entry.js +3 -3
  329. package/dist/esm/six-dialog.entry.js.map +1 -1
  330. package/dist/esm/six-drawer.entry.js +3 -3
  331. package/dist/esm/six-drawer.entry.js.map +1 -1
  332. package/dist/esm/six-dropdown_2.entry.js +196 -126
  333. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  334. package/dist/esm/six-error-page.entry.js +1 -1
  335. package/dist/esm/six-error.entry.js +1 -1
  336. package/dist/esm/six-file-list-item.entry.js +1 -1
  337. package/dist/esm/six-file-list.entry.js +1 -1
  338. package/dist/esm/six-file-upload.entry.js +2 -2
  339. package/dist/esm/six-file-upload.entry.js.map +1 -1
  340. package/dist/esm/six-footer.entry.js +2 -2
  341. package/dist/esm/six-footer.entry.js.map +1 -1
  342. package/dist/esm/six-group-label.entry.js +4 -4
  343. package/dist/esm/six-group-label.entry.js.map +1 -1
  344. package/dist/esm/six-header.entry.js +7 -5
  345. package/dist/esm/six-header.entry.js.map +1 -1
  346. package/dist/esm/six-icon-button.entry.js +2 -2
  347. package/dist/esm/six-icon-button.entry.js.map +1 -1
  348. package/dist/esm/six-icon.entry.js +2 -2
  349. package/dist/esm/six-icon.entry.js.map +1 -1
  350. package/dist/esm/six-input.entry.js +6 -4
  351. package/dist/esm/six-input.entry.js.map +1 -1
  352. package/dist/esm/six-item-picker.entry.js +2 -2
  353. package/dist/esm/six-item-picker.entry.js.map +1 -1
  354. package/dist/esm/six-language-switcher.entry.js +1 -1
  355. package/dist/esm/six-layout-grid.entry.js +1 -1
  356. package/dist/esm/six-main-container.entry.js +1 -1
  357. package/dist/esm/six-main-container.entry.js.map +1 -1
  358. package/dist/esm/six-menu-divider.entry.js +2 -2
  359. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  360. package/dist/esm/six-menu-label.entry.js +2 -2
  361. package/dist/esm/six-menu-label.entry.js.map +1 -1
  362. package/dist/esm/six-picto.entry.js +1 -1
  363. package/dist/esm/six-progress-bar.entry.js +2 -2
  364. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  365. package/dist/esm/six-progress-ring.entry.js +2 -2
  366. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  367. package/dist/esm/six-radio.entry.js +2 -2
  368. package/dist/esm/six-radio.entry.js.map +1 -1
  369. package/dist/esm/six-range.entry.js +4 -4
  370. package/dist/esm/six-range.entry.js.map +1 -1
  371. package/dist/esm/six-root.entry.js +1 -1
  372. package/dist/esm/six-root.entry.js.map +1 -1
  373. package/dist/esm/six-search-field.entry.js +2 -2
  374. package/dist/esm/six-search-field.entry.js.map +1 -1
  375. package/dist/esm/six-select.entry.js +300 -169
  376. package/dist/esm/six-select.entry.js.map +1 -1
  377. package/dist/esm/six-sidebar-item-group.entry.js +3 -3
  378. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  379. package/dist/esm/six-sidebar-item.entry.js +1 -1
  380. package/dist/esm/six-sidebar.entry.js +2 -2
  381. package/dist/esm/six-sidebar.entry.js.map +1 -1
  382. package/dist/esm/six-spinner.entry.js +2 -2
  383. package/dist/esm/six-spinner.entry.js.map +1 -1
  384. package/dist/esm/six-switch.entry.js +4 -4
  385. package/dist/esm/six-switch.entry.js.map +1 -1
  386. package/dist/esm/six-tab-group.entry.js +2 -2
  387. package/dist/esm/six-tab-group.entry.js.map +1 -1
  388. package/dist/esm/six-tab-panel.entry.js +2 -2
  389. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  390. package/dist/esm/six-tab.entry.js +2 -2
  391. package/dist/esm/six-tab.entry.js.map +1 -1
  392. package/dist/esm/six-tag.entry.js +3 -3
  393. package/dist/esm/six-tag.entry.js.map +1 -1
  394. package/dist/esm/six-textarea.entry.js +4 -4
  395. package/dist/esm/six-textarea.entry.js.map +1 -1
  396. package/dist/esm/six-tile.entry.js +3 -3
  397. package/dist/esm/six-tile.entry.js.map +1 -1
  398. package/dist/esm/six-timepicker.entry.js +4 -4
  399. package/dist/esm/six-timepicker.entry.js.map +1 -1
  400. package/dist/esm/six-tooltip.entry.js +2 -2
  401. package/dist/esm/six-tooltip.entry.js.map +1 -1
  402. package/dist/esm/{slot-41bc439a.js → slot-56531341.js} +2 -3
  403. package/dist/esm/slot-56531341.js.map +1 -0
  404. package/dist/esm/{types-07748c42.js → types-a07bb999.js} +3 -1
  405. package/dist/esm/types-a07bb999.js.map +1 -0
  406. package/dist/esm/ui-library.js +4 -4
  407. package/dist/esm/ui-library.js.map +1 -1
  408. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -9
  409. package/dist/types/components/six-header/six-header.d.ts +2 -0
  410. package/dist/types/components/six-input/six-input.d.ts +4 -0
  411. package/dist/types/components/six-menu/six-menu.d.ts +4 -0
  412. package/dist/types/components/six-menu-item/six-menu-item.d.ts +7 -1
  413. package/dist/types/components/six-select/six-select.d.ts +27 -12
  414. package/dist/types/components.d.ts +62 -3
  415. package/dist/types/utils/error-messages.d.ts +1 -0
  416. package/dist/types/utils/slot.d.ts +0 -1
  417. package/dist/ui-library/index.esm.js +1 -1
  418. package/dist/ui-library/index.esm.js.map +1 -1
  419. package/dist/ui-library/{p-c86aa5b3.entry.js → p-01ae4500.entry.js} +2 -2
  420. package/dist/ui-library/p-021f6da9.entry.js +2 -0
  421. package/dist/ui-library/{p-6aa2929a.entry.js.map → p-021f6da9.entry.js.map} +1 -1
  422. package/dist/ui-library/p-0274c52c.entry.js +2 -0
  423. package/dist/ui-library/{p-882fbf6f.entry.js.map → p-0274c52c.entry.js.map} +1 -1
  424. package/dist/ui-library/{p-f73a6bdc.entry.js → p-0cb135aa.entry.js} +2 -2
  425. package/dist/ui-library/p-0cebf1d2.js +2 -0
  426. package/dist/ui-library/p-0cebf1d2.js.map +1 -0
  427. package/dist/ui-library/p-1431a2a8.entry.js +2 -0
  428. package/dist/ui-library/p-1431a2a8.entry.js.map +1 -0
  429. package/dist/ui-library/p-1aa28025.entry.js +2 -0
  430. package/dist/ui-library/p-1aa28025.entry.js.map +1 -0
  431. package/dist/ui-library/p-1b135e1c.entry.js +2 -0
  432. package/dist/ui-library/{p-ce373da5.entry.js.map → p-1b135e1c.entry.js.map} +1 -1
  433. package/dist/ui-library/{p-1d0c5929.entry.js → p-1be990f9.entry.js} +2 -2
  434. package/dist/ui-library/{p-1d0c5929.entry.js.map → p-1be990f9.entry.js.map} +1 -1
  435. package/dist/ui-library/p-2008636b.entry.js +2 -0
  436. package/dist/ui-library/{p-19a61686.entry.js.map → p-2008636b.entry.js.map} +1 -1
  437. package/dist/ui-library/p-2132da0a.entry.js +2 -0
  438. package/dist/ui-library/{p-479d8087.entry.js.map → p-2132da0a.entry.js.map} +1 -1
  439. package/dist/ui-library/p-2cd674e0.entry.js +2 -0
  440. package/dist/ui-library/{p-ee71e3a3.entry.js.map → p-2cd674e0.entry.js.map} +1 -1
  441. package/dist/ui-library/p-2d86ba99.entry.js +2 -0
  442. package/dist/ui-library/p-2d86ba99.entry.js.map +1 -0
  443. package/dist/ui-library/p-31a4a74c.entry.js +2 -0
  444. package/dist/ui-library/p-31a4a74c.entry.js.map +1 -0
  445. package/dist/ui-library/p-3783aed0.entry.js +2 -0
  446. package/dist/ui-library/p-3783aed0.entry.js.map +1 -0
  447. package/dist/ui-library/p-391f10f1.entry.js +2 -0
  448. package/dist/ui-library/p-391f10f1.entry.js.map +1 -0
  449. package/dist/ui-library/p-3dd28dc0.entry.js +2 -0
  450. package/dist/ui-library/{p-23c02c98.entry.js.map → p-3dd28dc0.entry.js.map} +1 -1
  451. package/dist/ui-library/p-3f0f59b6.entry.js +2 -0
  452. package/dist/ui-library/{p-49aa8d1e.entry.js.map → p-3f0f59b6.entry.js.map} +1 -1
  453. package/dist/ui-library/p-46ee280d.entry.js +2 -0
  454. package/dist/ui-library/{p-c2df8c27.entry.js.map → p-46ee280d.entry.js.map} +1 -1
  455. package/dist/ui-library/p-4752a63c.entry.js +2 -0
  456. package/dist/ui-library/{p-7432d409.entry.js.map → p-4752a63c.entry.js.map} +1 -1
  457. package/dist/ui-library/p-4772a9d3.entry.js +2 -0
  458. package/dist/ui-library/{p-a4e4620c.entry.js.map → p-4772a9d3.entry.js.map} +1 -1
  459. package/dist/ui-library/p-48c453f1.entry.js +2 -0
  460. package/dist/ui-library/{p-0e7332db.entry.js.map → p-48c453f1.entry.js.map} +1 -1
  461. package/dist/ui-library/p-4a3ba956.entry.js +2 -0
  462. package/dist/ui-library/{p-fcd57e0a.entry.js.map → p-4a3ba956.entry.js.map} +1 -1
  463. package/dist/ui-library/p-4b154936.entry.js +2 -0
  464. package/dist/ui-library/p-4b154936.entry.js.map +1 -0
  465. package/dist/ui-library/p-5a5f6869.entry.js +2 -0
  466. package/dist/ui-library/{p-a0658b26.entry.js.map → p-5a5f6869.entry.js.map} +1 -1
  467. package/dist/ui-library/{p-c1675a45.entry.js → p-621c2742.entry.js} +2 -2
  468. package/dist/ui-library/p-65778e3d.entry.js +2 -0
  469. package/dist/ui-library/p-65778e3d.entry.js.map +1 -0
  470. package/dist/ui-library/{p-6907a7dc.js → p-67496e8c.js} +2 -2
  471. package/dist/ui-library/p-78529c8c.entry.js +2 -0
  472. package/dist/ui-library/{p-b5ac1219.entry.js.map → p-78529c8c.entry.js.map} +1 -1
  473. package/dist/ui-library/{p-74a714c0.entry.js → p-7eb4bbe7.entry.js} +2 -2
  474. package/dist/ui-library/{p-d310a6dd.entry.js → p-831517cd.entry.js} +2 -2
  475. package/dist/ui-library/{p-0861899a.js → p-862d474e.js} +1 -1
  476. package/dist/ui-library/p-862d474e.js.map +1 -0
  477. package/dist/ui-library/{p-816f857d.entry.js → p-87e197ee.entry.js} +2 -2
  478. package/dist/ui-library/p-88767c27.entry.js +2 -0
  479. package/dist/ui-library/{p-ada23fe3.entry.js.map → p-88767c27.entry.js.map} +1 -1
  480. package/dist/ui-library/p-8c38a7bd.entry.js +2 -0
  481. package/dist/ui-library/{p-c12a94ce.entry.js.map → p-8c38a7bd.entry.js.map} +1 -1
  482. package/dist/ui-library/p-943ce0f2.entry.js +2 -0
  483. package/dist/ui-library/p-943ce0f2.entry.js.map +1 -0
  484. package/dist/ui-library/{p-bee65dd9.entry.js → p-98ce9502.entry.js} +2 -2
  485. package/dist/ui-library/p-98ce9502.entry.js.map +1 -0
  486. package/dist/ui-library/p-a036cc6f.entry.js +2 -0
  487. package/dist/ui-library/{p-3d54ecf2.entry.js.map → p-a036cc6f.entry.js.map} +1 -1
  488. package/dist/ui-library/p-a29f6a0e.entry.js +2 -0
  489. package/dist/ui-library/p-a29f6a0e.entry.js.map +1 -0
  490. package/dist/ui-library/p-a3fd8c74.entry.js +2 -0
  491. package/dist/ui-library/p-a3fd8c74.entry.js.map +1 -0
  492. package/dist/ui-library/p-a919b557.entry.js +2 -0
  493. package/dist/ui-library/p-a919b557.entry.js.map +1 -0
  494. package/dist/ui-library/p-ace4ec84.entry.js +2 -0
  495. package/dist/ui-library/p-ace4ec84.entry.js.map +1 -0
  496. package/dist/ui-library/{p-cd35b3c6.entry.js → p-adf5a4da.entry.js} +2 -2
  497. package/dist/ui-library/{p-9b1ff147.entry.js → p-b5f844f7.entry.js} +2 -2
  498. package/dist/ui-library/p-b5f844f7.entry.js.map +1 -0
  499. package/dist/ui-library/p-b8ea574b.entry.js +2 -0
  500. package/dist/ui-library/p-b8ea574b.entry.js.map +1 -0
  501. package/dist/ui-library/p-ca63a6fa.js +3 -0
  502. package/dist/ui-library/p-ca63a6fa.js.map +1 -0
  503. package/dist/ui-library/{p-d2cf4280.entry.js → p-d221d86a.entry.js} +2 -2
  504. package/dist/ui-library/p-d702b6ec.entry.js +2 -0
  505. package/dist/ui-library/{p-58661675.entry.js.map → p-d702b6ec.entry.js.map} +1 -1
  506. package/dist/ui-library/p-db9d2fde.entry.js +2 -0
  507. package/dist/ui-library/{p-bdb79948.entry.js.map → p-db9d2fde.entry.js.map} +1 -1
  508. package/dist/ui-library/p-e080d5b6.js +2 -0
  509. package/dist/ui-library/p-e080d5b6.js.map +1 -0
  510. package/dist/ui-library/p-e0dd0307.entry.js +2 -0
  511. package/dist/ui-library/{p-3187bc23.entry.js.map → p-e0dd0307.entry.js.map} +1 -1
  512. package/dist/ui-library/p-e340a0ad.entry.js +2 -0
  513. package/dist/ui-library/{p-c07b1240.entry.js.map → p-e340a0ad.entry.js.map} +1 -1
  514. package/dist/ui-library/p-efa14ac2.entry.js +2 -0
  515. package/dist/ui-library/{p-5d43ea07.entry.js.map → p-efa14ac2.entry.js.map} +1 -1
  516. package/dist/ui-library/p-fce214eb.entry.js +2 -0
  517. package/dist/ui-library/{p-911eb578.entry.js.map → p-fce214eb.entry.js.map} +1 -1
  518. package/dist/ui-library/p-fe87f64b.entry.js +2 -0
  519. package/dist/ui-library/p-fe87f64b.entry.js.map +1 -0
  520. package/dist/ui-library/ui-library.css +1 -10
  521. package/dist/ui-library/ui-library.esm.js +1 -1
  522. package/dist/ui-library/ui-library.esm.js.map +1 -1
  523. package/package.json +5 -8
  524. package/dist/cjs/index-3baddcdc.js.map +0 -1
  525. package/dist/cjs/six-checkbox.cjs.entry.js +0 -127
  526. package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
  527. package/dist/cjs/six-menu-item.cjs.entry.js +0 -63
  528. package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
  529. package/dist/cjs/slot-9821749e.js.map +0 -1
  530. package/dist/cjs/types-0a6d66f6.js.map +0 -1
  531. package/dist/components/six-tag2.js +0 -102
  532. package/dist/components/six-tag2.js.map +0 -1
  533. package/dist/esm/index-17d8173e.js.map +0 -1
  534. package/dist/esm/six-checkbox.entry.js +0 -123
  535. package/dist/esm/six-checkbox.entry.js.map +0 -1
  536. package/dist/esm/six-menu-item.entry.js +0 -59
  537. package/dist/esm/six-menu-item.entry.js.map +0 -1
  538. package/dist/esm/slot-41bc439a.js.map +0 -1
  539. package/dist/esm/types-07748c42.js.map +0 -1
  540. package/dist/ui-library/p-0861899a.js.map +0 -1
  541. package/dist/ui-library/p-0a81b42c.entry.js +0 -2
  542. package/dist/ui-library/p-0a81b42c.entry.js.map +0 -1
  543. package/dist/ui-library/p-0beec94f.js +0 -3
  544. package/dist/ui-library/p-0beec94f.js.map +0 -1
  545. package/dist/ui-library/p-0e7332db.entry.js +0 -2
  546. package/dist/ui-library/p-178f5782.entry.js +0 -2
  547. package/dist/ui-library/p-178f5782.entry.js.map +0 -1
  548. package/dist/ui-library/p-19a61686.entry.js +0 -2
  549. package/dist/ui-library/p-23c02c98.entry.js +0 -2
  550. package/dist/ui-library/p-28221447.entry.js +0 -2
  551. package/dist/ui-library/p-28221447.entry.js.map +0 -1
  552. package/dist/ui-library/p-2eed9d8d.entry.js +0 -2
  553. package/dist/ui-library/p-2eed9d8d.entry.js.map +0 -1
  554. package/dist/ui-library/p-3187bc23.entry.js +0 -2
  555. package/dist/ui-library/p-32e1a5ab.entry.js +0 -2
  556. package/dist/ui-library/p-32e1a5ab.entry.js.map +0 -1
  557. package/dist/ui-library/p-32fed3c7.entry.js +0 -2
  558. package/dist/ui-library/p-32fed3c7.entry.js.map +0 -1
  559. package/dist/ui-library/p-3d54ecf2.entry.js +0 -2
  560. package/dist/ui-library/p-4229f7e8.entry.js +0 -2
  561. package/dist/ui-library/p-4229f7e8.entry.js.map +0 -1
  562. package/dist/ui-library/p-479d8087.entry.js +0 -2
  563. package/dist/ui-library/p-49aa8d1e.entry.js +0 -2
  564. package/dist/ui-library/p-58661675.entry.js +0 -2
  565. package/dist/ui-library/p-5d43ea07.entry.js +0 -2
  566. package/dist/ui-library/p-6aa2929a.entry.js +0 -2
  567. package/dist/ui-library/p-7432d409.entry.js +0 -2
  568. package/dist/ui-library/p-76825395.entry.js +0 -2
  569. package/dist/ui-library/p-76825395.entry.js.map +0 -1
  570. package/dist/ui-library/p-882fbf6f.entry.js +0 -2
  571. package/dist/ui-library/p-88fd4973.entry.js +0 -2
  572. package/dist/ui-library/p-88fd4973.entry.js.map +0 -1
  573. package/dist/ui-library/p-8b750c9e.entry.js +0 -2
  574. package/dist/ui-library/p-8b750c9e.entry.js.map +0 -1
  575. package/dist/ui-library/p-911eb578.entry.js +0 -2
  576. package/dist/ui-library/p-93fcda4a.entry.js +0 -2
  577. package/dist/ui-library/p-93fcda4a.entry.js.map +0 -1
  578. package/dist/ui-library/p-981b3228.entry.js +0 -2
  579. package/dist/ui-library/p-981b3228.entry.js.map +0 -1
  580. package/dist/ui-library/p-9b1ff147.entry.js.map +0 -1
  581. package/dist/ui-library/p-a0658b26.entry.js +0 -2
  582. package/dist/ui-library/p-a4e4620c.entry.js +0 -2
  583. package/dist/ui-library/p-ada23fe3.entry.js +0 -2
  584. package/dist/ui-library/p-b5ac1219.entry.js +0 -2
  585. package/dist/ui-library/p-ba247565.entry.js +0 -2
  586. package/dist/ui-library/p-ba247565.entry.js.map +0 -1
  587. package/dist/ui-library/p-bdb79948.entry.js +0 -2
  588. package/dist/ui-library/p-bee65dd9.entry.js.map +0 -1
  589. package/dist/ui-library/p-c07b1240.entry.js +0 -2
  590. package/dist/ui-library/p-c12a94ce.entry.js +0 -2
  591. package/dist/ui-library/p-c2df8c27.entry.js +0 -2
  592. package/dist/ui-library/p-ce373da5.entry.js +0 -2
  593. package/dist/ui-library/p-dfb6bff6.entry.js +0 -2
  594. package/dist/ui-library/p-dfb6bff6.entry.js.map +0 -1
  595. package/dist/ui-library/p-ee71e3a3.entry.js +0 -2
  596. package/dist/ui-library/p-ef317d69.entry.js +0 -2
  597. package/dist/ui-library/p-ef317d69.entry.js.map +0 -1
  598. package/dist/ui-library/p-f385f1c2.entry.js +0 -2
  599. package/dist/ui-library/p-f385f1c2.entry.js.map +0 -1
  600. package/dist/ui-library/p-faa04bb5.js +0 -2
  601. package/dist/ui-library/p-faa04bb5.js.map +0 -1
  602. package/dist/ui-library/p-fcd57e0a.entry.js +0 -2
  603. /package/dist/ui-library/{p-c86aa5b3.entry.js.map → p-01ae4500.entry.js.map} +0 -0
  604. /package/dist/ui-library/{p-f73a6bdc.entry.js.map → p-0cb135aa.entry.js.map} +0 -0
  605. /package/dist/ui-library/{p-c1675a45.entry.js.map → p-621c2742.entry.js.map} +0 -0
  606. /package/dist/ui-library/{p-6907a7dc.js.map → p-67496e8c.js.map} +0 -0
  607. /package/dist/ui-library/{p-74a714c0.entry.js.map → p-7eb4bbe7.entry.js.map} +0 -0
  608. /package/dist/ui-library/{p-d310a6dd.entry.js.map → p-831517cd.entry.js.map} +0 -0
  609. /package/dist/ui-library/{p-816f857d.entry.js.map → p-87e197ee.entry.js.map} +0 -0
  610. /package/dist/ui-library/{p-cd35b3c6.entry.js.map → p-adf5a4da.entry.js.map} +0 -0
  611. /package/dist/ui-library/{p-d2cf4280.entry.js.map → p-d221d86a.entry.js.map} +0 -0
@@ -1,17 +1,11 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-17d8173e.js';
2
- import { h as hasSlot, a as getTextContent } from './slot-41bc439a.js';
3
- import { F as FormControl } from './form-control-6b30894f.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-6c10d50b.js';
2
+ import { h as hasSlot, a as getTextContent } from './slot-56531341.js';
3
+ import { F as FormControl } from './form-control-77fcccd0.js';
4
4
  import { E as EventListeners } from './event-listeners-706d4309.js';
5
5
  import { D as DEFAULT_DEBOUNCE_FAST, a as debounce } from './execution-control-2ebaf4ef.js';
6
+ import { a as getLanguage } from './error-messages-1eaaad23.js';
6
7
 
7
- function isValueEmpty(value) {
8
- if (Array.isArray(value)) {
9
- return value.length === 0;
10
- }
11
- return value === '';
12
- }
13
-
14
- const sixSelectCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.form-control .form-control__label{display:none}.form-control .form-control__help-text{display:none}.form-control .form-control__error-text{display:none;text-align:left}.form-control--has-label .form-control__label{display:inline-block;color:var(--six-input-label-color);font-weight:var(--six-font-weight-bold);margin-bottom:var(--six-spacing-x-small)}.form-control--has-label .form-control__label__required::after{color:var(--six-color-danger-800);content:\"*\";transform:scale(1.1);margin-left:var(--six-spacing-xxx-small);position:absolute}.form-control--has-label.form-control--small .form-control__label{font-size:var(--six-input-label-font-size-small)}.form-control--has-label.form-control--medium .form-control__label{font-size:var(--six-input-label-font-size-medium)}.form-control--has-label.form-control--large .form-control_label{font-size:var(--six-input-label-font-size-large)}.form-control--has-help-text .form-control__help-text{display:block;color:var(--six-input-help-text-color);margin-top:var(--six-spacing-x-small)}.form-control--has-help-text .form-control__help-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-help-text.form-control--small .form-control__help-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-help-text.form-control--medium .form-control__help-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-help-text.form-control--large .form-control__help-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--has-error-text .form-control__error-text{display:block;margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text .form-control__error-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text.form-control--small .form-control__error-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-error-text.form-control--medium .form-control__error-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-error-text.form-control--large .form-control__error-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--disabled .form-control__help-text{color:var(--six-input-help-text-color-disabled)}.form-control--disabled .form-control__label{color:var(--six-input-label-color-disabled)}.form-control--invalid:not(.form-control--disabled) .form-control__label{color:var(--six-input-label-color)}:host{display:block}.select{display:block}.select__box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--six-font-family);font-weight:var(--six-input-font-weight);font-size:var(--six-input-font-size-medium);letter-spacing:var(--six-input-letter-spacing);background-color:var(--six-input-background-color);border:solid var(--six-border-width) var(--six-input-border-color);vertical-align:middle;transition:var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;cursor:pointer}.select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select__box--autocomplete{border:none;overflow:initial}.select:not(.select--disabled) .select__box:hover{background-color:var(--six-input-background-color-hover);color:var(--six-input-color-hover);border-bottom-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:hover:not(.select__box--line){border-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:focus{background-color:var(--six-input-background-color-focus);outline:none;color:var(--six-input-color-focus);border-bottom-color:var(--six-input-border-color-focus);box-shadow:0 1px 0 0 var(--six-input-border-color-focus)}.select:not(.select--disabled) .select__box:focus:not(.select__box--line){border-color:var(--six-input-border-color-focus);box-shadow:var(--six-input-focus-shadow)}.select--disabled .select__box{background-color:var(--six-input-background-color-disabled);color:var(--six-input-color-disabled);cursor:not-allowed;outline:none}.select--disabled .select__box:not(.select__box--line){border-color:var(--six-input-border-color-disabled)}.select--disabled .select__tags,.select--disabled .select__clear{pointer-events:none}.select--invalid:not(.select--disabled):not(.select--focused) .select__box{border-bottom-color:var(--six-input-border-color-danger)}.select--invalid:not(.select--disabled):not(.select--focused) .select__box:not(.input--line){border-color:var(--six-input-border-color-danger)}.select__label{flex-shrink:1;flex-grow:1;align-items:center;user-select:none;width:0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;text-overflow:ellipsis}.select__label::-webkit-scrollbar{width:0;height:0}.select__label--single{white-space:nowrap}.select__clear{flex-shrink:0;flex-grow:0;display:inline}.select__icon{flex-shrink:0;flex-grow:0;display:inline;transition:var(--six-transition-medium) transform ease}.select--open .select__icon{transform:rotate(-180deg)}.select--placeholder-visible .select__label{color:var(--six-input-placeholder-color)}.select--disabled.select--placeholder-visible .select__label{color:var(--six-input-placeholder-color-disabled)}.select__tags{display:flex;align-items:center;flex-wrap:wrap;justify-content:left;margin-left:var(--six-spacing-xx-small)}.select__hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.select__input{position:absolute;top:0;left:0;width:100%;height:100%}.select--small .select__box{border-radius:var(--six-input-border-radius-small);font-size:var(--six-input-font-size-small);min-height:var(--six-height-small)}.select--small .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--small .select__label{margin:0 var(--six-input-spacing-small)}.select--small .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--small .select__icon{margin-right:var(--six-spacing-x-small)}.select--small .select__tags{padding-bottom:2px}.select--small .select__tags six-tag{padding-top:2px;margin-right:var(--six-spacing-xx-small)}.select--small.select--has-tags .select__label{margin-left:0}.select--medium .select__box{border-radius:var(--six-input-border-radius-medium);font-size:var(--six-input-font-size-medium);min-height:var(--six-height-medium)}.select--medium .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--medium .select__label{margin:0 var(--six-input-spacing-medium)}.select--medium .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--medium .select__icon{margin-right:var(--six-spacing-x-small)}.select--medium .select__tags{padding-bottom:3px}.select--medium .select__tags six-tag{padding-top:3px;margin-right:var(--six-spacing-xx-small)}.select--medium.select--has-tags .select__label{margin-left:0}.select--large .select__box{border-radius:var(--six-input-border-radius-large);font-size:var(--six-input-font-size-large);min-height:var(--six-height-large)}.select--large .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--large .select__label{margin:0 var(--six-input-spacing-large)}.select--large .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--large .select__icon{margin-right:var(--six-spacing-x-small)}.select--large .select__tags{padding-bottom:4px}.select--large .select__tags six-tag{padding-top:4px;margin-right:var(--six-spacing-xx-small)}.select--large.select--has-tags .select__label{margin-left:0}.select--pill.select--small .select__box{border-radius:var(--six-height-small)}.select--pill.select--medium .select__box{border-radius:var(--six-height-medium)}.select--pill.select--large .select__box{border-radius:var(--six-height-large)}.select__menu{max-width:50vw;width:fit-content}.select__menu--filtered{width:100% !important}.select__menu--hidden{display:none}six-icon-button::part(base){padding-top:0;padding-bottom:0}";
8
+ const sixSelectCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:border-box}.form-control .form-control__label{display:none}.form-control .form-control__help-text{display:none}.form-control .form-control__error-text{display:none;text-align:left}.form-control--has-label .form-control__label{display:inline-block;color:var(--six-input-label-color);font-weight:var(--six-font-weight-bold);margin-bottom:var(--six-spacing-x-small)}.form-control--has-label .form-control__label__required::after{color:var(--six-color-danger-800);content:\"*\";transform:scale(1.1);margin-left:var(--six-spacing-xxx-small);position:absolute}.form-control--has-label.form-control--small .form-control__label{font-size:var(--six-input-label-font-size-small)}.form-control--has-label.form-control--medium .form-control__label{font-size:var(--six-input-label-font-size-medium)}.form-control--has-label.form-control--large .form-control_label{font-size:var(--six-input-label-font-size-large)}.form-control--has-help-text .form-control__help-text{display:block;color:var(--six-input-help-text-color);margin-top:var(--six-spacing-x-small)}.form-control--has-help-text .form-control__help-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-help-text.form-control--small .form-control__help-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-help-text.form-control--medium .form-control__help-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-help-text.form-control--large .form-control__help-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--has-error-text .form-control__error-text{display:block;margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text .form-control__error-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text.form-control--small .form-control__error-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-error-text.form-control--medium .form-control__error-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-error-text.form-control--large .form-control__error-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--disabled .form-control__help-text{color:var(--six-input-help-text-color-disabled)}.form-control--disabled .form-control__label{color:var(--six-input-label-color-disabled)}.form-control--invalid:not(.form-control--disabled) .form-control__label{color:var(--six-input-label-color)}:host,.select{display:block}.select__box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--six-font-family);font-weight:var(--six-input-font-weight);font-size:var(--six-input-font-size-medium);letter-spacing:var(--six-input-letter-spacing);background-color:var(--six-input-background-color);border:solid var(--six-border-width) var(--six-input-border-color);vertical-align:middle;transition:var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;cursor:pointer}.select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select__box--autocomplete{border:none;overflow:initial}.select:not(.select--disabled) .select__box:hover{background-color:var(--six-input-background-color-hover);color:var(--six-input-color-hover);border-bottom-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:hover:not(.select__box--line){border-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:focus{background-color:var(--six-input-background-color-focus);outline:none;color:var(--six-input-color-focus);border-bottom-color:var(--six-input-border-color-focus);box-shadow:0 1px 0 0 var(--six-input-border-color-focus)}.select:not(.select--disabled) .select__box:focus:not(.select__box--line){border-color:var(--six-input-border-color-focus);box-shadow:var(--six-input-focus-shadow)}.select--disabled .select__box{background-color:var(--six-input-background-color-disabled);color:var(--six-input-color-disabled);cursor:not-allowed;outline:none}.select--disabled .select__box:not(.select__box--line){border-color:var(--six-input-border-color-disabled)}.select--disabled .select__clear{pointer-events:none}.select--invalid:not(.select--disabled):not(.select--focused) .select__box{border-bottom-color:var(--six-input-border-color-danger)}.select--invalid:not(.select--disabled):not(.select--focused) .select__box:not(.input--line){border-color:var(--six-input-border-color-danger)}.display__values{display:flex;flex:1 1 auto;align-items:center;user-select:none;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none}.display__values::-webkit-scrollbar{width:0;height:0}.display__values-values{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.display__values-and-counter{display:flex;overflow:hidden}.select__clear{flex-shrink:0;flex-grow:0;display:inline}.select__icon{flex-shrink:0;flex-grow:0;display:inline;transition:var(--six-transition-medium) transform ease}.select--open .select__icon{transform:rotate(-180deg)}.placeholder{color:var(--six-input-placeholder-color)}.select--disabled .placeholder{color:var(--six-input-placeholder-color-disabled)}.select__hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.select__input{position:absolute;top:0;left:0;width:100%;height:100%}.select--small .select__box{border-radius:var(--six-input-border-radius-small);font-size:var(--six-input-font-size-small);min-height:var(--six-height-small)}.select--small .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--small .display__values{margin:0 0 0 var(--six-input-spacing-small)}.select--small .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--small .select__icon{margin-right:var(--six-spacing-x-small)}.select--medium .select__box{border-radius:var(--six-input-border-radius-medium);font-size:var(--six-input-font-size-medium);min-height:var(--six-height-medium)}.select--medium .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--medium .display__values{margin:0 0 0 var(--six-input-spacing-medium)}.select--medium .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--medium .select__icon{margin-right:var(--six-spacing-x-small)}.select--large .select__box{border-radius:var(--six-input-border-radius-large);font-size:var(--six-input-font-size-large);min-height:var(--six-height-large)}.select--large .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--large .display__values{margin:0 0 0 var(--six-input-spacing-large)}.select--large .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--large .select__icon{margin-right:var(--six-spacing-x-small)}.select--pill.select--small .select__box{border-radius:var(--six-height-small)}.select--pill.select--medium .select__box{border-radius:var(--six-height-medium)}.select--pill.select--large .select__box{border-radius:var(--six-height-large)}.select__menu{width:100%}.select__menu--hidden{display:none}six-icon-button::part(base){padding-top:0;padding-bottom:0}.selection-container--border{border-bottom:solid var(--six-border-width) var(--six-menu-divider-color);padding-top:var(--six-spacing-xx-small);padding-bottom:var(--six-spacing-xx-small)}.display-value--hidden{display:none}.overflow-count{color:var(--six-color-web-rock-600);padding-left:var(--six-spacing-x-small)}.overflow-count-hidden{display:none}.separator--hidden{display:none}.select-all{border-top:1px solid var(--six-color-web-rock-300);display:flex;justify-content:end}";
15
9
 
16
10
  let id = 0;
17
11
  const SixSelect = class {
@@ -24,8 +18,9 @@ const SixSelect = class {
24
18
  this.labelId = `select-label-${id}`;
25
19
  this.helpTextId = `select-help-text-${id}`;
26
20
  this.errorTextId = `select-error-text-${id}`;
27
- this.touched = false;
28
21
  this.eventListeners = new EventListeners();
22
+ this.activeItemIndex = -1;
23
+ this.resizeObserver = new ResizeObserver(() => this.updateDisplayedValues());
29
24
  this.handleBlur = () => {
30
25
  this.hasFocus = false;
31
26
  this.sixBlur.emit();
@@ -34,37 +29,26 @@ const SixSelect = class {
34
29
  this.hasFocus = true;
35
30
  this.sixFocus.emit();
36
31
  };
37
- this.handleClearClick = (event) => {
32
+ this.handleClearClick = async (event) => {
33
+ var _a;
38
34
  event.stopPropagation();
39
- this.clearValues();
35
+ await this.clearValues();
36
+ await ((_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.hide());
40
37
  this.sixChange.emit({ value: this.value, isSelected: true });
41
38
  };
42
- this.handleSelectAll = (event) => {
43
- const nonFilteredItems = this.getItems().filter((item) => item.style.display !== 'none');
44
- const keyName = event.key;
45
- const keyCode = event.code;
46
- if (keyName === 'Control') {
39
+ this.handleKeyDown = (event) => {
40
+ var _a, _b, _c, _d;
41
+ if (this.virtualScroll || this.autocomplete) {
47
42
  return;
48
43
  }
49
- if (this.isOpen && this.multiple && keyCode === 'KeyA' && event.ctrlKey) {
50
- event.preventDefault();
51
- const hasDeselectedOptions = nonFilteredItems.some((opt) => !opt.disabled && !opt.checked);
52
- nonFilteredItems
53
- .filter((option) => !option.disabled)
54
- .forEach((option) => (option.checked = hasDeselectedOptions));
55
- const checkedItems = nonFilteredItems.filter((option) => option.checked).map((option) => option.value);
56
- this.value = hasDeselectedOptions ? checkedItems : [];
57
- this.sixChange.emit({ value: this.value, isSelected: true });
44
+ if (['Control', 'Escape'].includes(event.key)) {
45
+ return;
58
46
  }
59
- };
60
- this.handleKeyDown = (event) => {
61
- var _a, _b, _c, _d;
62
- const target = event.target;
63
- const items = this.getItems();
64
- const firstItem = items[0];
65
- const lastItem = items[items.length - 1];
66
- // Ignore key presses on tags
67
- if (target.tagName.toLowerCase() === 'six-tag') {
47
+ const items = this.getVisibleItems();
48
+ // Ctrl-A selects all items
49
+ if (this.isOpen && this.multiple && event.code === 'KeyA' && event.ctrlKey) {
50
+ event.preventDefault();
51
+ this.selectAll();
68
52
  return;
69
53
  }
70
54
  // Tabbing out of the control closes it
@@ -74,29 +58,48 @@ const SixSelect = class {
74
58
  }
75
59
  return;
76
60
  }
77
- // Up/down opens the menu
78
- if (['ArrowDown', 'ArrowUp'].includes(event.key)) {
61
+ if (event.key === ' ' && !this.multiple) {
62
+ return;
63
+ }
64
+ // Enter and Space selects the active item
65
+ if (this.activeItemIndex >= 0 && ['Enter', ' '].includes(event.key)) {
66
+ const activeItem = items.at(this.activeItemIndex);
79
67
  event.preventDefault();
68
+ activeItem === null || activeItem === void 0 ? void 0 : activeItem.click();
69
+ return;
70
+ }
71
+ // Move the selection when pressing up or down
72
+ if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
80
73
  // Show the menu if it's not already open
81
74
  if (!this.isOpen) {
82
75
  (_b = this.dropdown) === null || _b === void 0 ? void 0 : _b.show();
83
76
  }
84
- // Focus on a menu item
85
- if (event.key === 'ArrowDown' && firstItem) {
86
- firstItem.setFocus();
87
- return;
88
- }
89
- if (event.key === 'ArrowUp' && lastItem) {
90
- lastItem.setFocus();
91
- return;
77
+ if (items.length > 0) {
78
+ event.preventDefault();
79
+ if (event.key === 'ArrowDown') {
80
+ this.activeItemIndex++;
81
+ }
82
+ else if (event.key === 'ArrowUp') {
83
+ this.activeItemIndex--;
84
+ }
85
+ else if (event.key === 'Home') {
86
+ this.activeItemIndex = 0;
87
+ }
88
+ else if (event.key === 'End') {
89
+ this.activeItemIndex = items.length - 1;
90
+ }
91
+ if (this.activeItemIndex < 0)
92
+ this.activeItemIndex = 0;
93
+ if (this.activeItemIndex > items.length - 1)
94
+ this.activeItemIndex = items.length - 1;
95
+ (_c = items.at(this.activeItemIndex)) === null || _c === void 0 ? void 0 : _c.setFocus();
92
96
  }
93
97
  }
94
- // All other keys open the menu and initiate type to select
98
+ // All other keys open the menu
95
99
  if (!this.isOpen) {
96
100
  event.stopPropagation();
97
101
  event.preventDefault();
98
- (_c = this.dropdown) === null || _c === void 0 ? void 0 : _c.show();
99
- (_d = this.menu) === null || _d === void 0 ? void 0 : _d.typeToSelect(event.key);
102
+ (_d = this.dropdown) === null || _d === void 0 ? void 0 : _d.show();
100
103
  }
101
104
  };
102
105
  this.handleLabelClick = () => {
@@ -104,34 +107,47 @@ const SixSelect = class {
104
107
  (_a = this.box) === null || _a === void 0 ? void 0 : _a.focus();
105
108
  };
106
109
  this.handleMenuSelect = (event) => {
107
- const item = event.detail.item;
108
- const getValue = () => {
109
- if (this.multiple) {
110
- return this.value.includes(item.value)
111
- ? this.value.filter((v) => v !== item.value)
112
- : [...this.value, item.value];
113
- }
114
- else {
115
- return item.value;
116
- }
117
- };
118
- this.value = getValue();
119
- this.syncItemsFromValue();
110
+ const currentItem = event.detail.item;
111
+ if (this.multiple) {
112
+ currentItem.checked = !currentItem.checked;
113
+ }
114
+ else {
115
+ this.getItems().forEach((i) => (i.checked = false));
116
+ currentItem.checked = true;
117
+ }
118
+ this.syncValueFromItems();
120
119
  this.sixChange.emit({ value: this.value, isSelected: true });
121
120
  };
122
121
  this.handleMenuShow = (event) => {
123
- var _a;
124
122
  if (this.disabled) {
125
123
  event.preventDefault();
126
124
  return;
127
125
  }
128
- this.resizeMenu();
129
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(this.host);
126
+ this.activeItemIndex = -1;
127
+ // reset display style of main items
128
+ const mainItems = this.getItems();
129
+ mainItems.forEach((item) => (item.style.display = 'unset'));
130
+ // show selected menu items in the selection container and hide them in the main container
131
+ const checkedItems = getCheckedItems(this.getValueAsArray(), mainItems);
132
+ if (!this.virtualScroll && this.multiple) {
133
+ checkedItems.forEach((i) => (i.style.display = 'none'));
134
+ this.selectionContainerItems = checkedItems.map((item) => {
135
+ return (h("six-menu-item", { key: item.value, checked: true, value: item.value, checkType: this.multiple ? 'checkbox' : 'check', onClick: (event) => {
136
+ event.stopPropagation();
137
+ if (!this.disabled) {
138
+ const menuItem = event.target;
139
+ const isChecked = menuItem.checked;
140
+ menuItem.checked = !isChecked;
141
+ item.checked = !isChecked;
142
+ this.syncValueFromItems();
143
+ this.sixChange.emit({ value: this.value, isSelected: true });
144
+ }
145
+ } }, this.getItemLabel(item)));
146
+ });
147
+ }
130
148
  this.isOpen = true;
131
149
  };
132
150
  this.handleMenuHide = () => {
133
- var _a;
134
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.unobserve(this.host);
135
151
  this.isOpen = false;
136
152
  };
137
153
  this.handleSlotChange = () => {
@@ -140,34 +156,22 @@ const SixSelect = class {
140
156
  this.hasErrorTextSlot = hasSlot(this.host, 'error-text');
141
157
  this.syncItemsFromValue();
142
158
  };
143
- this.handleTagInteraction = (event) => {
144
- // Don't toggle the menu when a tag's clear button is activated
145
- const path = event.composedPath();
146
- const clearButton = path.find((el) => {
147
- if (el instanceof HTMLElement) {
148
- const element = el;
149
- return element.classList.contains('tag__clear');
150
- }
151
- });
152
- if (clearButton) {
153
- event.stopPropagation();
154
- this.sixChange.emit({ value: this.value, isSelected: true });
155
- }
156
- };
157
159
  this.hasFocus = false;
158
160
  this.hasHelpTextSlot = false;
159
161
  this.hasLabelSlot = false;
160
162
  this.hasErrorTextSlot = false;
161
163
  this.isOpen = false;
162
- this.displayLabel = '';
163
- this.displayTags = [];
164
+ this.displayedValues = [];
165
+ this.selectionContainerItems = [];
164
166
  this.multiple = false;
167
+ this.selectAllButton = false;
168
+ this.selectAllText = undefined;
165
169
  this.maxTagsVisible = 3;
166
170
  this.disabled = false;
167
171
  this.name = '';
168
172
  this.placeholder = '';
169
173
  this.filterPlaceholder = undefined;
170
- this.filterDebounce = DEFAULT_DEBOUNCE_FAST;
174
+ this.filterDebounce = undefined;
171
175
  this.size = 'medium';
172
176
  this.hoist = false;
173
177
  this.value = '';
@@ -212,14 +216,10 @@ const SixSelect = class {
212
216
  await this.syncItemsFromValue();
213
217
  }
214
218
  connectedCallback() {
215
- var _a;
216
219
  if (this.virtualScroll && this.options === null) {
217
220
  console.error('Options must be defined when using virtual scrolling');
218
221
  }
219
- (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener('slotchange', this.handleSlotChange);
220
- this.eventListeners.forward('six-select-change', 'change', this.host);
221
- this.eventListeners.forward('six-select-blur', 'blur', this.host);
222
- this.eventListeners.forward('six-select-focus', 'focus', this.host);
222
+ this.init();
223
223
  }
224
224
  componentWillLoad() {
225
225
  this.handleSlotChange();
@@ -228,22 +228,22 @@ const SixSelect = class {
228
228
  }
229
229
  }
230
230
  componentDidLoad() {
231
- if (this.input == null)
232
- return;
233
- const input = this.input;
234
- this.resizeObserver = new ResizeObserver(() => this.resizeMenu());
231
+ this.init();
235
232
  // We need to do an initial sync after the component has rendered, so this will suppress the re-render warning
236
233
  requestAnimationFrame(() => this.syncItemsFromValue());
237
- this.eventListeners.add(input, 'six-input-input', debounce((event) => {
238
- const enteredValue = input.value;
239
- this.clearValues();
240
- this.sixChange.emit({ value: enteredValue, isSelected: false });
241
- event.stopPropagation();
242
- }, this.inputDebounce));
243
- input.value = this.hasSelection() ? this.displayLabel : '';
234
+ if (this.autocomplete && this.autocompleteInput != null) {
235
+ const autocompleteInput = this.autocompleteInput;
236
+ this.eventListeners.add(autocompleteInput, 'six-input-input', debounce((event) => {
237
+ this.value = autocompleteInput.value;
238
+ this.sixChange.emit({ value: this.value, isSelected: false });
239
+ event.stopPropagation();
240
+ }, this.inputDebounce));
241
+ autocompleteInput.value = Array.isArray(this.value) ? this.value.join(',') : this.value;
242
+ }
244
243
  }
245
244
  disconnectedCallback() {
246
245
  var _a;
246
+ this.resizeObserver.disconnect();
247
247
  (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeEventListener('slotchange', this.handleSlotChange);
248
248
  this.eventListeners.removeAll();
249
249
  }
@@ -253,6 +253,16 @@ const SixSelect = class {
253
253
  this.hasFocus = true;
254
254
  (_a = this.box) === null || _a === void 0 ? void 0 : _a.focus(options);
255
255
  }
256
+ init() {
257
+ var _a;
258
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener('slotchange', this.handleSlotChange);
259
+ this.eventListeners.forward('six-select-change', 'change', this.host);
260
+ this.eventListeners.forward('six-select-blur', 'blur', this.host);
261
+ this.eventListeners.forward('six-select-focus', 'focus', this.host);
262
+ if (this.displayValuesContainer) {
263
+ this.resizeObserver.observe(this.displayValuesContainer);
264
+ }
265
+ }
256
266
  getItemLabel(item) {
257
267
  var _a, _b;
258
268
  const slot = (_a = item.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
@@ -265,92 +275,123 @@ const SixSelect = class {
265
275
  }
266
276
  }
267
277
  getItems() {
268
- if (this.options !== null) {
269
- return this.options.map((option) => h("six-menu-item", { value: option.value }, option.label));
278
+ if (this.options !== null && this.menu != null && this.menu.shadowRoot != null) {
279
+ return [...this.menu.shadowRoot.querySelectorAll('six-menu-item')];
270
280
  }
271
281
  return [...this.host.querySelectorAll('six-menu-item')];
272
282
  }
273
- hasMenuItems() {
274
- return this.getItems().length > 0;
283
+ getVisibleItems() {
284
+ const selectionContainerItems = this.getSelectionContainerItems();
285
+ const mainItems = this.getItems();
286
+ return [...selectionContainerItems, ...mainItems].filter((i) => i.style.display !== 'none');
287
+ }
288
+ getSelectionContainerItems() {
289
+ var _a;
290
+ return [...(((_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('six-menu-item')) || [])];
275
291
  }
276
292
  getValueAsArray() {
277
293
  const values = Array.isArray(this.value) ? this.value : this.value === '' ? [] : [this.value];
278
294
  // enforce that the values are converted to 'string' before the value is compared
279
295
  return values.map(String);
280
296
  }
281
- clearValues() {
297
+ async clearValues() {
282
298
  this.value = this.multiple ? [] : '';
283
- this.syncItemsFromValue();
299
+ this.selectionContainerItems = [];
300
+ await this.syncItemsFromValue();
284
301
  }
285
- resizeMenu() {
286
- if (this.menu == null || this.box == null)
287
- return;
288
- this.menu.style.minWidth = `${this.box.clientWidth}px`;
289
- if (this.dropdown) {
290
- this.dropdown.reposition();
291
- }
302
+ selectAll() {
303
+ const visibleItems = this.getVisibleItems();
304
+ const hasDeselectedOptions = this.hasDeselectedOptions();
305
+ visibleItems.filter((option) => !option.disabled).forEach((option) => (option.checked = hasDeselectedOptions));
306
+ const checkedItems = visibleItems.filter((option) => option.checked).map((option) => option.value);
307
+ this.value = hasDeselectedOptions ? checkedItems : [];
308
+ this.sixChange.emit({ value: this.value, isSelected: true });
292
309
  }
310
+ /**
311
+ * Sets the checked state of menu items and renders the displayed values.
312
+ */
293
313
  async syncItemsFromValue() {
294
- const items = this.getItems();
314
+ const selectionContainerItems = this.getSelectionContainerItems();
315
+ const mainItems = this.getItems();
295
316
  const value = this.getValueAsArray();
296
- // Sync checked states
297
- items.forEach((item) => (item.checked = value.includes(item.value)));
298
- // Sync display label
317
+ selectionContainerItems.forEach((item) => {
318
+ item.checkType = this.multiple ? 'checkbox' : 'check';
319
+ item.checked = value.includes(item.value);
320
+ });
321
+ mainItems.forEach((item) => {
322
+ item.checkType = this.multiple ? 'checkbox' : 'check';
323
+ item.checked = value.includes(item.value);
324
+ });
325
+ const checkedItems = getCheckedItems(this.getValueAsArray(), mainItems);
326
+ this.displayedValues = checkedItems.map((i) => this.getItemLabel(i));
327
+ if (this.autocomplete && this.autocompleteInput != null) {
328
+ this.autocompleteInput.value = Array.isArray(this.value) ? this.value.join(',') : this.value;
329
+ }
330
+ requestAnimationFrame(() => {
331
+ this.updateDisplayedValues();
332
+ });
333
+ }
334
+ syncValueFromItems() {
335
+ const items = this.getItems();
336
+ const checkedValues = items.filter((item) => item.checked).map((item) => item.value);
299
337
  if (this.multiple) {
300
- const checkedItems = [];
301
- value.forEach((val) => items.map((item) => (item.value === val ? checkedItems.push(item) : null)));
302
- this.displayTags = checkedItems.map((item) => {
303
- return (h("six-tag", { exportparts: "base:tag", type: "primary", size: this.size, pill: this.pill, clearable: true, onClick: this.handleTagInteraction, onKeyDown: this.handleTagInteraction, "onSix-tag-clear": (event) => {
304
- event.stopPropagation();
305
- if (!this.disabled) {
306
- item.checked = false;
307
- this.syncValueFromItems();
308
- }
309
- } }, this.getItemLabel(item)));
310
- });
311
- if (this.maxTagsVisible > 0 && this.displayTags.length > this.maxTagsVisible) {
312
- const total = this.displayTags.length;
313
- this.displayLabel = '';
314
- this.displayTags = this.displayTags.slice(0, this.maxTagsVisible);
315
- this.displayTags.push(h("six-tag", { exportparts: "base:tag", type: "info", size: this.size }, "+", total - this.maxTagsVisible));
316
- }
338
+ this.value = checkedValues;
317
339
  }
318
340
  else {
319
- this.displayLabel = this.extractLabelForSelectedItem(value, items);
320
- this.displayTags = [];
321
- }
322
- if (!isValueEmpty(this.value)) {
323
- this.touched = true;
324
- }
325
- if (this.touched && this.input != null) {
326
- this.input.value = Array.isArray(this.value) ? this.value.join(',') : this.value;
341
+ this.value = checkedValues.length > 0 ? checkedValues[0] : '';
327
342
  }
328
343
  }
329
- extractLabelForSelectedItem(value, items) {
330
- if (value.length === 0 || (value.length === 1 && value[0] === '')) {
331
- return '';
344
+ updateDisplayedValues() {
345
+ var _a, _b;
346
+ const displayValueOptions = [...((_b = (_a = this.displayValuesContainer) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.display-value')) !== null && _b !== void 0 ? _b : [])];
347
+ if (this.displayValuesContainer == null || displayValueOptions.length === 0 || this.overflowCount == null) {
348
+ return;
332
349
  }
333
- if (this.options !== null) {
334
- const selectedOption = this.options.find((item) => item.value === value[0]);
335
- return (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value) || '';
350
+ // Show all options and separators to properly measure all widths.
351
+ displayValueOptions.forEach((d) => {
352
+ showDisplayValue(d);
353
+ showSeparator(d);
354
+ });
355
+ // Measure available width. The last separator is added to the available width, because it will be hidden later on.
356
+ const separator = displayValueOptions[displayValueOptions.length - 1].querySelector('.separator');
357
+ if (separator == null)
358
+ return;
359
+ let availableWidth = getWidth(this.displayValuesContainer) + getWidth(separator);
360
+ // Compute how many display value elements fit in the available width
361
+ let { fitCount, overflowCount } = computeFitCount(displayValueOptions, availableWidth);
362
+ if (overflowCount === 0) {
363
+ // All items fit, hide overflow count and show all values.
364
+ hideOverflowCount(this.overflowCount);
365
+ showFittingValues(displayValueOptions, fitCount);
366
+ }
367
+ else {
368
+ // Not all items fit in the available width. Recompute the available width with the overflow-count visible.
369
+ // Increment overflow count by one to make sure the elements fit, even if the overflow count increases to the
370
+ // next higher power of ten, e.g. from 9 to 10 or 99 to 100.
371
+ setOverflowCount(this.overflowCount, overflowCount + 1);
372
+ showOverflowCount(this.overflowCount);
373
+ // Subtract the overflow count from the available width
374
+ availableWidth = availableWidth - getWidth(this.overflowCount);
375
+ // Compute how many display value elements fit in the new available width
376
+ ({ fitCount, overflowCount } = computeFitCount(displayValueOptions, availableWidth));
377
+ // Show overflow count and items that fit.
378
+ setOverflowCount(this.overflowCount, overflowCount);
379
+ showFittingValues(displayValueOptions, fitCount);
336
380
  }
337
- const checkedItem = items.find((item) => item.value === value[0]);
338
- return checkedItem ? this.getItemLabel(checkedItem) : '';
339
- }
340
- syncValueFromItems() {
341
- const items = this.getItems();
342
- const checkedItems = items.filter((item) => item.checked);
343
- const checkedValues = checkedItems.map((item) => item.value);
344
- this.value = this.multiple
345
- ? this.getValueAsArray().filter((val) => checkedValues.includes(val))
346
- : checkedValues.length > 0
347
- ? checkedValues[0]
348
- : '';
349
381
  }
350
382
  render() {
351
383
  var _a;
352
384
  const hasSelection = this.hasSelection();
353
- return (h(FormControl, { inputId: this.inputId, label: this.label, labelId: this.labelId, hasLabelSlot: this.hasLabelSlot, helpTextId: this.helpTextId, helpText: this.helpText, hasHelpTextSlot: this.hasHelpTextSlot, errorTextId: this.errorTextId, errorText: this.errorText, errorTextCount: this.errorTextCount, hasErrorTextSlot: this.hasErrorTextSlot, size: this.size, onLabelClick: this.handleLabelClick, disabled: this.disabled, required: this.required, displayError: this.invalid }, h("six-dropdown", { part: "base", ref: (el) => (this.dropdown = el), hoist: this.hoist, closeOnSelect: !this.multiple, containingElement: this.host, disableHideOnEnterAndSpace: this.autocomplete, class: {
385
+ const items = this.getItems();
386
+ const hasMenuItems = items.length > 0;
387
+ const hasDeselectedOptions = this.hasDeselectedOptions();
388
+ let showClear = false;
389
+ let showExpand = hasMenuItems;
390
+ if (this.clearable && hasSelection) {
391
+ showClear = true;
392
+ showExpand = false;
393
+ }
394
+ return (h(FormControl, { inputId: this.inputId, label: this.label, labelId: this.labelId, hasLabelSlot: this.hasLabelSlot, helpTextId: this.helpTextId, helpText: this.helpText, hasHelpTextSlot: this.hasHelpTextSlot, errorTextId: this.errorTextId, errorText: this.errorText, errorTextCount: this.errorTextCount, hasErrorTextSlot: this.hasErrorTextSlot, size: this.size, onLabelClick: this.handleLabelClick, disabled: this.disabled, required: this.required, displayError: this.invalid }, h("six-dropdown", { part: "base", ref: (el) => (this.dropdown = el), hoist: this.hoist, matchTriggerWidth: true, closeOnSelect: !this.multiple, containingElement: this.host, disableHideOnEnterAndSpace: this.autocomplete, class: {
354
395
  select: true,
355
396
  'select--open': this.isOpen,
356
397
  'select--empty': ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) === 0,
@@ -359,28 +400,33 @@ const SixSelect = class {
359
400
  'select--disabled': this.disabled,
360
401
  'select--multiple': this.multiple,
361
402
  'select--has-tags': this.multiple && hasSelection,
362
- 'select--placeholder-visible': this.displayLabel === '',
403
+ 'select--placeholder-visible': this.displayedValues.length === 0,
363
404
  'select--small': this.size === 'small',
364
405
  'select--medium': this.size === 'medium',
365
406
  'select--large': this.size === 'large',
366
407
  'select--pill': this.pill,
367
408
  'select--invalid': this.invalid,
368
- }, onKeyDown: this.handleSelectAll, "onSix-dropdown-show": this.handleMenuShow, "onSix-dropdown-hide": this.handleMenuHide, filterPlaceholder: this.filterPlaceholder, filterDebounce: this.filterDebounce, filter: this.filter, asyncFilter: this.asyncFilter }, h("div", { slot: "trigger", ref: (el) => (this.box = el), id: this.inputId, class: {
409
+ }, onKeyDown: this.handleKeyDown, "onSix-dropdown-show": this.handleMenuShow, "onSix-dropdown-hide": this.handleMenuHide, filterPlaceholder: this.filterPlaceholder, filterDebounce: this.filterDebounce, filter: this.filter, asyncFilter: this.asyncFilter, virtualScroll: this.virtualScroll }, h("div", { slot: "trigger", ref: (el) => (this.box = el), id: this.inputId, class: {
369
410
  select__box: true,
370
411
  'select__box--line': this.line,
371
412
  'select__box--autocomplete': this.autocomplete,
372
- }, role: "combobox", "aria-labelledby": this.labelId, "aria-describedby": this.helpTextId, "aria-haspopup": "true", "aria-expanded": this.isOpen ? 'true' : 'false', tabIndex: this.disabled ? -1 : 0, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown }, h("span", { class: { select__label: true, 'select__label--single': !this.displayTags.length } }, this.displayTags.length > 0 ? (h("span", { part: "tags", class: "select__tags" }, this.displayTags)) : (this.displayLabel || this.placeholder)), this.clearable && hasSelection && (h("six-icon-button", { exportparts: "base:clear-button", class: "select__clear", name: "clear", size: "small", onClick: this.handleClearClick, tabindex: "-1" })), this.hasMenuItems() && (h("span", { part: "icon", class: "select__icon" }, h("six-icon", { size: "medium" }, "expand_more"))), h("six-input", { ref: (el) => (this.input = el), class: {
413
+ }, role: "combobox", "aria-labelledby": this.labelId, "aria-describedby": this.helpTextId, "aria-haspopup": "true", "aria-expanded": this.isOpen ? 'true' : 'false', tabIndex: this.disabled ? -1 : 0, onBlur: this.handleBlur, onFocus: this.handleFocus }, h("div", { class: "display__values", ref: (el) => (this.displayValuesContainer = el) }, this.displayedValues.length > 0 ? (h("span", { class: "display__values-and-counter" }, h("span", { class: "display__values-values" }, this.displayedValues.map((value) => (h("span", { key: value, class: "display-value" }, value, h("span", { class: { separator: true } }, ", "))))), h("span", { ref: (el) => (this.overflowCount = el), class: "overflow-count" }, "+10"))) : (h("span", { class: "placeholder" }, this.placeholder))), showClear && (h("six-icon-button", { exportparts: "base:clear-button", class: "select__clear", name: "clear", size: "small", onClick: this.handleClearClick, tabindex: "-1" })), showExpand && (h("span", { part: "icon", class: "select__icon" }, h("six-icon", { size: "medium" }, "expand_more"))), h("six-input", { ref: (el) => (this.autocompleteInput = el), class: {
373
414
  select__input: true,
374
415
  'select__hidden-select': !this.autocomplete,
375
- }, "aria-hidden": "true", required: this.required, onFocus: this.handleFocus, clearable: this.clearable, placeholder: this.placeholder, pill: this.pill, disabled: this.disabled, size: this.size, tabIndex: -1 })), h("six-menu", { ref: (el) => (this.menu = el), part: "menu", class: {
416
+ }, "aria-hidden": "true", required: this.required, onFocus: this.handleFocus, clearable: this.clearable, placeholder: this.placeholder, pill: this.pill, disabled: this.disabled, size: this.size, tabIndex: -1 })), h("div", { class: {
417
+ 'selection-container': true,
418
+ 'selection-container--border': this.selectionContainerItems.length > 0 && items.length !== this.selectionContainerItems.length,
419
+ } }, this.selectionContainerItems), h("six-menu", { ref: (el) => (this.menu = el), part: "menu", class: {
376
420
  select__menu: true,
377
- 'select__menu--filtered': this.filter || this.asyncFilter,
378
- 'select__menu--hidden': !this.hasMenuItems(),
379
- }, "onSix-menu-item-selected": this.handleMenuSelect, items: this.options, virtualScroll: this.virtualScroll, "remove-box-shadow": true }, h("slot", { onSlotchange: this.handleSlotChange })))));
421
+ 'select__menu--hidden': !hasMenuItems,
422
+ }, "onSix-menu-item-selected": this.handleMenuSelect, items: this.options, virtualScroll: this.virtualScroll, "remove-box-shadow": true, "disable-keyboard-handling": true }, h("slot", { onSlotchange: this.handleSlotChange })), this.multiple && this.selectAllButton && (h("div", { class: "select-all", slot: "dropdown-footer" }, h("six-button", { type: "link", onClick: () => this.selectAll() }, this.selectAllText == null ? selectAllDefaultText(hasDeselectedOptions) : this.selectAllText))))));
380
423
  }
381
424
  hasSelection() {
382
425
  return this.multiple ? this.value.length > 0 : this.value !== '';
383
426
  }
427
+ hasDeselectedOptions() {
428
+ return this.getVisibleItems().some((opt) => !opt.disabled && !opt.checked);
429
+ }
384
430
  get host() { return getElement(this); }
385
431
  static get watchers() { return {
386
432
  "disabled": ["handleDisabledChange"],
@@ -391,6 +437,91 @@ const SixSelect = class {
391
437
  "value": ["handleValueChange"]
392
438
  }; }
393
439
  };
440
+ function getCheckedItems(value, items) {
441
+ return items.filter((item) => value.includes(item.value));
442
+ }
443
+ function getWidth(element) {
444
+ return element.getBoundingClientRect().width;
445
+ }
446
+ function computeFitCount(options, availableWidth) {
447
+ let accumulatedWidth = 0;
448
+ let fitCount = 0;
449
+ for (let i = 0; i < options.length; i++) {
450
+ const displayOption = options[i];
451
+ const width = getWidth(displayOption);
452
+ if (i === 0 && width > availableWidth) {
453
+ fitCount = 1;
454
+ break;
455
+ }
456
+ accumulatedWidth += width;
457
+ if (accumulatedWidth > availableWidth) {
458
+ break;
459
+ }
460
+ else {
461
+ fitCount += 1;
462
+ }
463
+ }
464
+ const overflowCount = options.length - fitCount;
465
+ return { fitCount, overflowCount };
466
+ }
467
+ function showFittingValues(displayValueOptions, fitCount) {
468
+ if (displayValueOptions.length > 0) {
469
+ // show items that fit
470
+ displayValueOptions.slice(0, fitCount).forEach((displayValue, index, list) => {
471
+ showDisplayValue(displayValue);
472
+ const isLast = index === list.length - 1;
473
+ if (isLast) {
474
+ hideSeparator(displayValue);
475
+ }
476
+ else {
477
+ showSeparator(displayValue);
478
+ }
479
+ });
480
+ // hide the rest
481
+ displayValueOptions.slice(fitCount).forEach((displayValue) => {
482
+ hideDisplayValue(displayValue);
483
+ showSeparator(displayValue);
484
+ });
485
+ }
486
+ }
487
+ function hideSeparator(displayValueOption) {
488
+ var _a;
489
+ (_a = displayValueOption.querySelector('.separator')) === null || _a === void 0 ? void 0 : _a.classList.add('separator--hidden');
490
+ }
491
+ function showSeparator(displayValueOption) {
492
+ var _a;
493
+ (_a = displayValueOption.querySelector('.separator')) === null || _a === void 0 ? void 0 : _a.classList.remove('separator--hidden');
494
+ }
495
+ function showDisplayValue(displayValueOption) {
496
+ displayValueOption.classList.remove('display-value--hidden');
497
+ }
498
+ function hideDisplayValue(displayValueOption) {
499
+ displayValueOption.classList.add('display-value--hidden');
500
+ }
501
+ function setOverflowCount(overflowCount, count) {
502
+ overflowCount.textContent = `+${count}`;
503
+ }
504
+ function showOverflowCount(overflowCount) {
505
+ overflowCount.classList.remove('overflow-count-hidden');
506
+ }
507
+ function hideOverflowCount(overflowCount) {
508
+ overflowCount.classList.add('overflow-count-hidden');
509
+ }
510
+ function selectAllDefaultText(hasDeselectedOptions) {
511
+ const lang = getLanguage();
512
+ switch (lang) {
513
+ case 'de':
514
+ return hasDeselectedOptions ? 'Alle auswählen' : 'Alle abwählen';
515
+ case 'fr':
516
+ return hasDeselectedOptions ? 'Tout sélectionner' : 'Tout désélectionner';
517
+ case 'it':
518
+ return hasDeselectedOptions ? 'Seleziona tutto' : 'Deseleziona tutto';
519
+ case 'en':
520
+ return hasDeselectedOptions ? 'Select all' : 'Deselect all';
521
+ case 'es':
522
+ return hasDeselectedOptions ? 'Seleccionar todo' : 'Deseleccionar todo';
523
+ }
524
+ }
394
525
  SixSelect.style = sixSelectCss;
395
526
 
396
527
  export { SixSelect as six_select };