@six-group/ui-library 0.0.0-insider.a358260 → 0.0.0-insider.a7adc6d

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 (1195) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  3. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  4. package/dist/cjs/error-messages-6e8049a4.js +119 -0
  5. package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
  6. package/dist/cjs/event-listeners-9fb878f1.js +61 -0
  7. package/dist/cjs/event-listeners-9fb878f1.js.map +1 -0
  8. package/dist/cjs/{execution-control-46f388e0.js → execution-control-d728da70.js} +15 -12
  9. package/dist/cjs/execution-control-d728da70.js.map +1 -0
  10. package/dist/cjs/focus-visible-e2c9255a.js +47 -0
  11. package/dist/cjs/focus-visible-e2c9255a.js.map +1 -0
  12. package/dist/cjs/form-9ebaae7c.js +20 -0
  13. package/dist/cjs/form-9ebaae7c.js.map +1 -0
  14. package/dist/cjs/form-control-de259450.js +36 -0
  15. package/dist/cjs/form-control-de259450.js.map +1 -0
  16. package/dist/cjs/{index-2f6daa5b.js → index-1f707a55.js} +808 -213
  17. package/dist/cjs/index-1f707a55.js.map +1 -0
  18. package/dist/cjs/index.cjs.js +62 -0
  19. package/dist/cjs/index.cjs.js.map +1 -1
  20. package/dist/cjs/loader.cjs.js +6 -13
  21. package/dist/cjs/loader.cjs.js.map +1 -1
  22. package/dist/cjs/modal-bd7fc5bc.js +35 -0
  23. package/dist/cjs/modal-bd7fc5bc.js.map +1 -0
  24. package/dist/cjs/{popover-f743f62b.js → popover-1e7c09f1.js} +109 -101
  25. package/dist/cjs/popover-1e7c09f1.js.map +1 -0
  26. package/dist/cjs/popup-e854acda.js +103 -0
  27. package/dist/cjs/popup-e854acda.js.map +1 -0
  28. package/dist/cjs/scroll-68033901.js +68 -0
  29. package/dist/{esm/scroll-180b53fd.js.map → cjs/scroll-68033901.js.map} +1 -1
  30. package/dist/cjs/six-alert.cjs.entry.js +143 -115
  31. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-avatar.cjs.entry.js +23 -25
  33. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-badge.cjs.entry.js +25 -24
  35. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-button.cjs.entry.js +97 -93
  37. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-card.cjs.entry.js +10 -9
  39. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-checkbox_2.cjs.entry.js +192 -0
  41. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
  42. package/dist/cjs/six-datepicker.cjs.entry.js +879 -981
  43. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-details.cjs.entry.js +129 -127
  45. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-dialog.cjs.entry.js +114 -134
  47. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-drawer.cjs.entry.js +130 -151
  49. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-dropdown_2.cjs.entry.js +723 -621
  51. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-error-page.cjs.entry.js +84 -85
  53. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  54. package/dist/cjs/six-error.cjs.entry.js +22 -0
  55. package/dist/cjs/six-error.cjs.entry.js.map +1 -0
  56. package/dist/cjs/six-file-list-item.cjs.entry.js +36 -35
  57. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-file-list.cjs.entry.js +9 -8
  59. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-file-upload.cjs.entry.js +124 -101
  61. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-footer.cjs.entry.js +10 -9
  63. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-group-label.cjs.entry.js +45 -43
  65. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-header.cjs.entry.js +181 -136
  67. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-icon-button.cjs.entry.js +34 -33
  69. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-icon.cjs.entry.js +24 -23
  71. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-input.cjs.entry.js +198 -242
  73. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-item-picker.cjs.entry.js +415 -337
  75. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-language-switcher.cjs.entry.js +53 -48
  77. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-layout-grid.cjs.entry.js +23 -20
  79. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-main-container.cjs.entry.js +11 -10
  81. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-menu-divider.cjs.entry.js +10 -9
  83. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-menu-label.cjs.entry.js +10 -9
  85. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-picto.cjs.entry.js +16 -12
  87. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-progress-bar.cjs.entry.js +17 -16
  89. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-progress-ring.cjs.entry.js +31 -30
  91. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-radio.cjs.entry.js +105 -118
  93. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-range.cjs.entry.js +200 -224
  95. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-root.cjs.entry.js +13 -31
  97. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-search-field.cjs.entry.js +46 -40
  99. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-select.cjs.entry.js +513 -445
  101. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +58 -42
  103. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-sidebar-item.cjs.entry.js +19 -16
  105. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-sidebar.cjs.entry.js +178 -156
  107. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-spinner.cjs.entry.js +17 -16
  109. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  110. package/dist/cjs/six-stage-indicator.cjs.entry.js +23 -0
  111. package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
  112. package/dist/cjs/six-switch.cjs.entry.js +109 -96
  113. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  114. package/dist/cjs/six-tab-group.cjs.entry.js +251 -212
  115. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  116. package/dist/cjs/six-tab-panel.cjs.entry.js +16 -15
  117. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  118. package/dist/cjs/six-tab.cjs.entry.js +57 -38
  119. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  120. package/dist/cjs/six-tag.cjs.entry.js +57 -37
  121. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  122. package/dist/cjs/six-textarea.cjs.entry.js +184 -229
  123. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  124. package/dist/cjs/six-tile.cjs.entry.js +77 -79
  125. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  126. package/dist/cjs/six-timepicker.cjs.entry.js +346 -406
  127. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  128. package/dist/cjs/six-tooltip.cjs.entry.js +147 -149
  129. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  130. package/dist/cjs/slot-1b1232a1.js +51 -0
  131. package/dist/cjs/slot-1b1232a1.js.map +1 -0
  132. package/dist/cjs/types-d3da200b.js +19 -0
  133. package/dist/cjs/types-d3da200b.js.map +1 -0
  134. package/dist/cjs/ui-library.cjs.js +6 -7
  135. package/dist/cjs/ui-library.cjs.js.map +1 -1
  136. package/dist/collection/assets/TRADEMARKS.md +3 -3
  137. package/dist/collection/collection-manifest.json +54 -55
  138. package/dist/collection/components/six-alert/six-alert.css +5 -1
  139. package/dist/collection/components/six-alert/six-alert.js +383 -336
  140. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  141. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  142. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  143. package/dist/collection/components/six-avatar/six-avatar.css +2 -2
  144. package/dist/collection/components/six-avatar/six-avatar.js +112 -115
  145. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  146. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  147. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  148. package/dist/collection/components/six-badge/six-badge.css +1 -1
  149. package/dist/collection/components/six-badge/six-badge.js +91 -91
  150. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  151. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  152. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  153. package/dist/collection/components/six-button/six-button.css +23 -30
  154. package/dist/collection/components/six-button/six-button.js +451 -440
  155. package/dist/collection/components/six-button/six-button.js.map +1 -1
  156. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  157. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  158. package/dist/collection/components/six-card/six-card.css +4 -5
  159. package/dist/collection/components/six-card/six-card.js +16 -16
  160. package/dist/collection/components/six-card/six-card.js.map +1 -1
  161. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  162. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  163. package/dist/collection/components/six-checkbox/six-checkbox.css +12 -2
  164. package/dist/collection/components/six-checkbox/six-checkbox.js +422 -526
  165. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  166. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +83 -0
  167. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  168. package/dist/collection/components/six-datepicker/components/day-selection.js +10 -10
  169. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  170. package/dist/collection/components/six-datepicker/components/month-selection.js +11 -10
  171. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  172. package/dist/collection/components/six-datepicker/components/year-selection.js +11 -8
  173. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  174. package/dist/collection/components/six-datepicker/six-date-formats.js +21 -20
  175. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
  176. package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
  177. package/dist/collection/components/six-datepicker/six-datepicker.js +1056 -1217
  178. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  179. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  180. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  181. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +14 -14
  182. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -1
  183. package/dist/collection/components/six-details/six-details.css +4 -6
  184. package/dist/collection/components/six-details/six-details.js +409 -402
  185. package/dist/collection/components/six-details/six-details.js.map +1 -1
  186. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  187. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  188. package/dist/collection/components/six-dialog/six-dialog.css +2 -2
  189. package/dist/collection/components/six-dialog/six-dialog.js +345 -359
  190. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  191. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  192. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  193. package/dist/collection/components/six-drawer/six-drawer.css +2 -2
  194. package/dist/collection/components/six-drawer/six-drawer.js +397 -412
  195. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  196. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  197. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  198. package/dist/collection/components/six-dropdown/six-dropdown.css +22 -6
  199. package/dist/collection/components/six-dropdown/six-dropdown.js +984 -868
  200. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  201. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +147 -0
  202. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  203. package/dist/collection/components/six-error/six-error.css +6 -0
  204. package/dist/collection/components/six-error/six-error.js +25 -0
  205. package/dist/collection/components/six-error/six-error.js.map +1 -0
  206. package/dist/collection/components/six-error-page/six-error-page.js +178 -180
  207. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  208. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  209. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  210. package/dist/collection/components/six-file-list/six-file-list.js +16 -16
  211. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  212. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  213. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  214. package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
  215. package/dist/collection/components/six-file-list-item/six-file-list-item.js +196 -194
  216. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  217. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  218. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  219. package/dist/collection/components/six-file-upload/six-file-upload.css +12 -4
  220. package/dist/collection/components/six-file-upload/six-file-upload.js +371 -291
  221. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  222. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +266 -0
  223. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  224. package/dist/collection/components/six-footer/six-footer.css +2 -2
  225. package/dist/collection/components/six-footer/six-footer.js +16 -16
  226. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  227. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  228. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  229. package/dist/collection/components/six-group-label/six-group-label.css +5 -2
  230. package/dist/collection/components/six-group-label/six-group-label.js +158 -156
  231. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  232. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +45 -0
  233. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  234. package/dist/collection/components/six-header/six-header.css +15 -2
  235. package/dist/collection/components/six-header/six-header.js +469 -380
  236. package/dist/collection/components/six-header/six-header.js.map +1 -1
  237. package/dist/collection/components/six-icon/six-icon.css +5 -2
  238. package/dist/collection/components/six-icon/six-icon.js +72 -72
  239. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  240. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  241. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  242. package/dist/collection/components/six-icon-button/six-icon-button.css +5 -5
  243. package/dist/collection/components/six-icon-button/six-icon-button.js +133 -133
  244. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  245. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  246. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  247. package/dist/collection/components/six-input/six-input.css +16 -3
  248. package/dist/collection/components/six-input/six-input.js +1007 -1106
  249. package/dist/collection/components/six-input/six-input.js.map +1 -1
  250. package/dist/collection/components/six-input/test/six-input.spec.js +39 -0
  251. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  252. package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
  253. package/dist/collection/components/six-item-picker/six-item-picker.js +739 -658
  254. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  255. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  256. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  257. package/dist/collection/components/six-item-picker/types.js +9 -7
  258. package/dist/collection/components/six-item-picker/types.js.map +1 -1
  259. package/dist/collection/components/six-language-switcher/six-language-switcher.css +7 -2
  260. package/dist/collection/components/six-language-switcher/six-language-switcher.js +129 -123
  261. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  262. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  263. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  264. package/dist/collection/components/six-layout-grid/six-layout-grid.js +56 -54
  265. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  266. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  267. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  268. package/dist/collection/components/six-main-container/six-main-container.js +42 -42
  269. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  270. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  271. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  272. package/dist/collection/components/six-menu/six-menu.css +8 -7
  273. package/dist/collection/components/six-menu/six-menu.js +400 -359
  274. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  275. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  276. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  277. package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
  278. package/dist/collection/components/six-menu-divider/six-menu-divider.js +16 -16
  279. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  280. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  281. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  282. package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
  283. package/dist/collection/components/six-menu-item/six-menu-item.js +211 -176
  284. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  285. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  286. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  287. package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
  288. package/dist/collection/components/six-menu-label/six-menu-label.js +16 -16
  289. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  290. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  291. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  292. package/dist/collection/components/six-picto/six-picto.js +47 -44
  293. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  294. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  295. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  296. package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
  297. package/dist/collection/components/six-progress-bar/six-progress-bar.js +65 -65
  298. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  299. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  300. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  301. package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
  302. package/dist/collection/components/six-progress-ring/six-progress-ring.js +100 -99
  303. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  304. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  305. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  306. package/dist/collection/components/six-radio/six-radio.css +1 -1
  307. package/dist/collection/components/six-radio/six-radio.js +323 -395
  308. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  309. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  310. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  311. package/dist/collection/components/six-range/six-range.css +6 -3
  312. package/dist/collection/components/six-range/six-range.js +575 -629
  313. package/dist/collection/components/six-range/six-range.js.map +1 -1
  314. package/dist/collection/components/six-range/test/six-range.spec.js +34 -0
  315. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  316. package/dist/collection/components/six-root/six-root.js +87 -153
  317. package/dist/collection/components/six-root/six-root.js.map +1 -1
  318. package/dist/collection/components/six-root/test/six-root.spec.js +36 -0
  319. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  320. package/dist/collection/components/six-search-field/six-search-field.css +1 -1
  321. package/dist/collection/components/six-search-field/six-search-field.js +172 -166
  322. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  323. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  324. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  325. package/dist/collection/components/six-select/six-select.css +61 -73
  326. package/dist/collection/components/six-select/six-select.js +1098 -1032
  327. package/dist/collection/components/six-select/six-select.js.map +1 -1
  328. package/dist/collection/components/six-select/test/six-select.spec.js +102 -0
  329. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  330. package/dist/collection/components/six-select/test/util.spec.js +103 -0
  331. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  332. package/dist/collection/components/six-select/util.js +58 -34
  333. package/dist/collection/components/six-select/util.js.map +1 -1
  334. package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
  335. package/dist/collection/components/six-sidebar/six-sidebar.js +470 -435
  336. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  337. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  338. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  339. package/dist/collection/components/six-sidebar-item/six-sidebar-item.css +6 -1
  340. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +102 -83
  341. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  342. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  343. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  344. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +13 -1
  345. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +183 -151
  346. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  347. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  348. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  349. package/dist/collection/components/six-spinner/six-spinner.css +1 -1
  350. package/dist/collection/components/six-spinner/six-spinner.js +48 -47
  351. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  352. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  353. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  354. package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
  355. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +46 -45
  356. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  357. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  358. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  359. package/dist/collection/components/six-switch/six-switch.css +81 -1
  360. package/dist/collection/components/six-switch/six-switch.js +389 -378
  361. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  362. package/dist/collection/components/six-switch/test/six-switch.spec.js +73 -0
  363. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  364. package/dist/collection/components/six-tab/six-tab.css +55 -6
  365. package/dist/collection/components/six-tab/six-tab.js +207 -184
  366. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  367. package/dist/collection/components/six-tab-group/six-tab-group.css +1 -32
  368. package/dist/collection/components/six-tab-group/six-tab-group.js +340 -333
  369. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  370. package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
  371. package/dist/collection/components/six-tab-panel/six-tab-panel.js +64 -64
  372. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  373. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  374. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  375. package/dist/collection/components/six-tag/six-tag.css +7 -1
  376. package/dist/collection/components/six-tag/six-tag.js +162 -142
  377. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  378. package/dist/collection/components/six-tag/test/six-tag.spec.js +54 -0
  379. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  380. package/dist/collection/components/six-textarea/six-textarea.css +5 -2
  381. package/dist/collection/components/six-textarea/six-textarea.js +793 -889
  382. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  383. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +119 -0
  384. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  385. package/dist/collection/components/six-tile/six-tile.css +2 -2
  386. package/dist/collection/components/six-tile/six-tile.js +300 -299
  387. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  388. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  389. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  390. package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
  391. package/dist/collection/components/six-timepicker/six-timepicker.js +829 -911
  392. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  393. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  394. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  395. package/dist/collection/components/six-tooltip/six-tooltip.css +2 -2
  396. package/dist/collection/components/six-tooltip/six-tooltip.js +405 -402
  397. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  398. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  399. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  400. package/dist/collection/functional-components/form-control/form-control.js +20 -19
  401. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  402. package/dist/collection/index.js +2 -1
  403. package/dist/collection/index.js.map +1 -1
  404. package/dist/collection/testUtil/delay.js +1 -1
  405. package/dist/collection/testUtil/delay.js.map +1 -1
  406. package/dist/collection/utils/alert.js +54 -0
  407. package/dist/collection/utils/alert.js.map +1 -0
  408. package/dist/collection/utils/animation.js +34 -0
  409. package/dist/collection/utils/animation.js.map +1 -0
  410. package/dist/collection/utils/date-util.js +536 -502
  411. package/dist/collection/utils/date-util.js.map +1 -1
  412. package/dist/collection/utils/date-util.spec.js +995 -0
  413. package/dist/collection/utils/date-util.spec.js.map +1 -0
  414. package/dist/collection/utils/error-messages.js +112 -0
  415. package/dist/collection/utils/error-messages.js.map +1 -0
  416. package/dist/collection/utils/event-listeners.js +53 -37
  417. package/dist/collection/utils/event-listeners.js.map +1 -1
  418. package/dist/collection/utils/execution-control.js +14 -13
  419. package/dist/collection/utils/execution-control.js.map +1 -1
  420. package/dist/collection/utils/focus-visible.js +28 -28
  421. package/dist/collection/utils/focus-visible.js.map +1 -1
  422. package/dist/collection/utils/form.js +15 -0
  423. package/dist/collection/utils/form.js.map +1 -0
  424. package/dist/collection/utils/modal.js +25 -24
  425. package/dist/collection/utils/modal.js.map +1 -1
  426. package/dist/collection/utils/offset.js +4 -4
  427. package/dist/collection/utils/offset.js.map +1 -1
  428. package/dist/collection/utils/popover.js +104 -90
  429. package/dist/collection/utils/popover.js.map +1 -1
  430. package/dist/collection/utils/popup.js +95 -0
  431. package/dist/collection/utils/popup.js.map +1 -0
  432. package/dist/collection/utils/scroll.js +28 -28
  433. package/dist/collection/utils/scroll.js.map +1 -1
  434. package/dist/collection/utils/scroll.spec.js +122 -0
  435. package/dist/collection/utils/scroll.spec.js.map +1 -0
  436. package/dist/collection/utils/slot.js +30 -46
  437. package/dist/collection/utils/slot.js.map +1 -1
  438. package/dist/collection/utils/tabbable.js +17 -17
  439. package/dist/collection/utils/tabbable.js.map +1 -1
  440. package/dist/collection/utils/time.util.js +73 -59
  441. package/dist/collection/utils/time.util.js.map +1 -1
  442. package/dist/collection/utils/time.util.spec.js +368 -0
  443. package/dist/collection/utils/time.util.spec.js.map +1 -0
  444. package/dist/collection/utils/type-check.js +0 -1
  445. package/dist/collection/utils/type-check.js.map +1 -1
  446. package/dist/components/event-listeners.js +53 -37
  447. package/dist/components/event-listeners.js.map +1 -1
  448. package/dist/components/execution-control.js +14 -11
  449. package/dist/components/execution-control.js.map +1 -1
  450. package/dist/components/focus-visible.js +28 -28
  451. package/dist/components/focus-visible.js.map +1 -1
  452. package/dist/components/form-control.js +26 -24
  453. package/dist/components/form-control.js.map +1 -1
  454. package/dist/components/form.js +18 -0
  455. package/dist/components/form.js.map +1 -0
  456. package/dist/components/index.d.ts +6 -0
  457. package/dist/components/index.js +118 -65
  458. package/dist/components/index.js.map +1 -1
  459. package/dist/components/modal.js +26 -41
  460. package/dist/components/modal.js.map +1 -1
  461. package/dist/components/popover.js +108 -100
  462. package/dist/components/popover.js.map +1 -1
  463. package/dist/components/scroll.js +32 -32
  464. package/dist/components/scroll.js.map +1 -1
  465. package/dist/components/six-alert.d.ts +2 -2
  466. package/dist/components/six-alert.js +177 -146
  467. package/dist/components/six-alert.js.map +1 -1
  468. package/dist/components/six-avatar.d.ts +2 -2
  469. package/dist/components/six-avatar.js +46 -48
  470. package/dist/components/six-avatar.js.map +1 -1
  471. package/dist/components/six-badge.d.ts +2 -2
  472. package/dist/components/six-badge.js +41 -40
  473. package/dist/components/six-badge.js.map +1 -1
  474. package/dist/components/six-button.d.ts +2 -2
  475. package/dist/components/six-button.js +1 -140
  476. package/dist/components/six-button.js.map +1 -1
  477. package/dist/components/six-button2.js +148 -0
  478. package/dist/components/six-button2.js.map +1 -0
  479. package/dist/components/six-card.d.ts +2 -2
  480. package/dist/components/six-card.js +22 -21
  481. package/dist/components/six-card.js.map +1 -1
  482. package/dist/components/six-checkbox.d.ts +2 -2
  483. package/dist/components/six-checkbox.js +1 -197
  484. package/dist/components/six-checkbox.js.map +1 -1
  485. package/dist/components/six-checkbox2.js +166 -0
  486. package/dist/components/six-checkbox2.js.map +1 -0
  487. package/dist/components/six-datepicker.d.ts +2 -2
  488. package/dist/components/six-datepicker.js +950 -1045
  489. package/dist/components/six-datepicker.js.map +1 -1
  490. package/dist/components/six-details.d.ts +2 -2
  491. package/dist/components/six-details2.js +159 -155
  492. package/dist/components/six-details2.js.map +1 -1
  493. package/dist/components/six-dialog.d.ts +2 -2
  494. package/dist/components/six-dialog.js +144 -162
  495. package/dist/components/six-dialog.js.map +1 -1
  496. package/dist/components/six-drawer.d.ts +2 -2
  497. package/dist/components/six-drawer.js +162 -181
  498. package/dist/components/six-drawer.js.map +1 -1
  499. package/dist/components/six-dropdown.d.ts +2 -2
  500. package/dist/components/six-dropdown2.js +550 -448
  501. package/dist/components/six-dropdown2.js.map +1 -1
  502. package/dist/components/six-error-page.d.ts +2 -2
  503. package/dist/components/six-error-page.js +107 -108
  504. package/dist/components/six-error-page.js.map +1 -1
  505. package/dist/components/{six-form.d.ts → six-error.d.ts} +4 -4
  506. package/dist/components/six-error.js +8 -0
  507. package/dist/components/six-error.js.map +1 -0
  508. package/dist/components/six-error2.js +33 -0
  509. package/dist/components/six-error2.js.map +1 -0
  510. package/dist/components/six-file-list-item.d.ts +2 -2
  511. package/dist/components/six-file-list-item.js +60 -59
  512. package/dist/components/six-file-list-item.js.map +1 -1
  513. package/dist/components/six-file-list.d.ts +2 -2
  514. package/dist/components/six-file-list.js +21 -20
  515. package/dist/components/six-file-list.js.map +1 -1
  516. package/dist/components/six-file-upload.d.ts +2 -2
  517. package/dist/components/six-file-upload.js +166 -127
  518. package/dist/components/six-file-upload.js.map +1 -1
  519. package/dist/components/six-footer.d.ts +2 -2
  520. package/dist/components/six-footer.js +22 -21
  521. package/dist/components/six-footer.js.map +1 -1
  522. package/dist/components/six-group-label.d.ts +2 -2
  523. package/dist/components/six-group-label.js +72 -61
  524. package/dist/components/six-group-label.js.map +1 -1
  525. package/dist/components/six-header.d.ts +2 -2
  526. package/dist/components/six-header.js +248 -187
  527. package/dist/components/six-header.js.map +1 -1
  528. package/dist/components/six-icon-button.d.ts +2 -2
  529. package/dist/components/six-icon-button2.js +56 -55
  530. package/dist/components/six-icon-button2.js.map +1 -1
  531. package/dist/components/six-icon.d.ts +2 -2
  532. package/dist/components/six-icon2.js +39 -38
  533. package/dist/components/six-icon2.js.map +1 -1
  534. package/dist/components/six-input.d.ts +2 -2
  535. package/dist/components/six-input2.js +265 -303
  536. package/dist/components/six-input2.js.map +1 -1
  537. package/dist/components/six-item-picker.d.ts +2 -2
  538. package/dist/components/six-item-picker2.js +459 -375
  539. package/dist/components/six-item-picker2.js.map +1 -1
  540. package/dist/components/six-language-switcher.d.ts +2 -2
  541. package/dist/components/six-language-switcher.js +70 -63
  542. package/dist/components/six-language-switcher.js.map +1 -1
  543. package/dist/components/six-layout-grid.d.ts +2 -2
  544. package/dist/components/six-layout-grid.js +39 -34
  545. package/dist/components/six-layout-grid.js.map +1 -1
  546. package/dist/components/six-main-container.d.ts +2 -2
  547. package/dist/components/six-main-container.js +25 -24
  548. package/dist/components/six-main-container.js.map +1 -1
  549. package/dist/components/six-menu-divider.d.ts +2 -2
  550. package/dist/components/six-menu-divider.js +22 -21
  551. package/dist/components/six-menu-divider.js.map +1 -1
  552. package/dist/components/six-menu-item.d.ts +2 -2
  553. package/dist/components/six-menu-item2.js +99 -73
  554. package/dist/components/six-menu-item2.js.map +1 -1
  555. package/dist/components/six-menu-label.d.ts +2 -2
  556. package/dist/components/six-menu-label.js +22 -21
  557. package/dist/components/six-menu-label.js.map +1 -1
  558. package/dist/components/six-menu.d.ts +2 -2
  559. package/dist/components/six-menu2.js +265 -232
  560. package/dist/components/six-menu2.js.map +1 -1
  561. package/dist/components/six-picto.d.ts +2 -2
  562. package/dist/components/six-picto2.js +30 -26
  563. package/dist/components/six-picto2.js.map +1 -1
  564. package/dist/components/six-progress-bar.d.ts +2 -2
  565. package/dist/components/six-progress-bar.js +32 -31
  566. package/dist/components/six-progress-bar.js.map +1 -1
  567. package/dist/components/six-progress-ring.d.ts +2 -2
  568. package/dist/components/six-progress-ring.js +49 -46
  569. package/dist/components/six-progress-ring.js.map +1 -1
  570. package/dist/components/six-radio.d.ts +2 -2
  571. package/dist/components/six-radio.js +129 -143
  572. package/dist/components/six-radio.js.map +1 -1
  573. package/dist/components/six-range.d.ts +2 -2
  574. package/dist/components/six-range.js +234 -247
  575. package/dist/components/six-range.js.map +1 -1
  576. package/dist/components/six-root.d.ts +2 -2
  577. package/dist/components/six-root.js +40 -66
  578. package/dist/components/six-root.js.map +1 -1
  579. package/dist/components/six-search-field.d.ts +2 -2
  580. package/dist/components/six-search-field.js +80 -66
  581. package/dist/components/six-search-field.js.map +1 -1
  582. package/dist/components/six-select.d.ts +2 -2
  583. package/dist/components/six-select.js +741 -539
  584. package/dist/components/six-select.js.map +1 -1
  585. package/dist/components/six-sidebar-item-group.d.ts +2 -2
  586. package/dist/components/six-sidebar-item-group.js +88 -71
  587. package/dist/components/six-sidebar-item-group.js.map +1 -1
  588. package/dist/components/six-sidebar-item.d.ts +2 -2
  589. package/dist/components/six-sidebar-item.js +36 -32
  590. package/dist/components/six-sidebar-item.js.map +1 -1
  591. package/dist/components/six-sidebar.d.ts +2 -2
  592. package/dist/components/six-sidebar.js +202 -178
  593. package/dist/components/six-sidebar.js.map +1 -1
  594. package/dist/components/six-spinner.d.ts +2 -2
  595. package/dist/components/six-spinner2.js +31 -30
  596. package/dist/components/six-spinner2.js.map +1 -1
  597. package/dist/components/six-stage-indicator.d.ts +2 -2
  598. package/dist/components/six-stage-indicator2.js +30 -29
  599. package/dist/components/six-stage-indicator2.js.map +1 -1
  600. package/dist/components/six-switch.d.ts +2 -2
  601. package/dist/components/six-switch.js +145 -122
  602. package/dist/components/six-switch.js.map +1 -1
  603. package/dist/components/six-tab-group.d.ts +2 -2
  604. package/dist/components/six-tab-group.js +281 -239
  605. package/dist/components/six-tab-group.js.map +1 -1
  606. package/dist/components/six-tab-panel.d.ts +2 -2
  607. package/dist/components/six-tab-panel.js +31 -30
  608. package/dist/components/six-tab-panel.js.map +1 -1
  609. package/dist/components/six-tab.d.ts +2 -2
  610. package/dist/components/six-tab.js +86 -67
  611. package/dist/components/six-tab.js.map +1 -1
  612. package/dist/components/six-tag.d.ts +2 -2
  613. package/dist/components/six-tag.js +99 -1
  614. package/dist/components/six-tag.js.map +1 -1
  615. package/dist/components/six-textarea.d.ts +2 -2
  616. package/dist/components/six-textarea.js +227 -264
  617. package/dist/components/six-textarea.js.map +1 -1
  618. package/dist/components/six-tile.d.ts +2 -2
  619. package/dist/components/six-tile.js +117 -119
  620. package/dist/components/six-tile.js.map +1 -1
  621. package/dist/components/six-timepicker.d.ts +2 -2
  622. package/dist/components/six-timepicker.js +1 -1
  623. package/dist/components/six-timepicker2.js +509 -515
  624. package/dist/components/six-timepicker2.js.map +1 -1
  625. package/dist/components/six-tooltip.d.ts +2 -2
  626. package/dist/components/six-tooltip2.js +170 -170
  627. package/dist/components/six-tooltip2.js.map +1 -1
  628. package/dist/components/slot.js +31 -31
  629. package/dist/components/slot.js.map +1 -1
  630. package/dist/components.d.ts +341 -88
  631. package/dist/components.json +5216 -1022
  632. package/dist/esm/app-globals-0f993ce5.js +5 -0
  633. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  634. package/dist/esm/error-messages-1eaaad23.js +115 -0
  635. package/dist/esm/error-messages-1eaaad23.js.map +1 -0
  636. package/dist/esm/event-listeners-706d4309.js +59 -0
  637. package/dist/esm/event-listeners-706d4309.js.map +1 -0
  638. package/dist/esm/{execution-control-1a60d709.js → execution-control-2ebaf4ef.js} +15 -12
  639. package/dist/esm/execution-control-2ebaf4ef.js.map +1 -0
  640. package/dist/esm/focus-visible-d9dbfeef.js +45 -0
  641. package/dist/esm/focus-visible-d9dbfeef.js.map +1 -0
  642. package/dist/esm/form-4b145b7a.js +18 -0
  643. package/dist/esm/form-4b145b7a.js.map +1 -0
  644. package/dist/esm/form-control-30c5bd8b.js +34 -0
  645. package/dist/esm/form-control-30c5bd8b.js.map +1 -0
  646. package/dist/esm/{index-5c0f6628.js → index-5390c1d6.js} +808 -213
  647. package/dist/esm/index-5390c1d6.js.map +1 -0
  648. package/dist/esm/index.js +56 -0
  649. package/dist/esm/index.js.map +1 -1
  650. package/dist/esm/loader.js +8 -15
  651. package/dist/esm/loader.js.map +1 -1
  652. package/dist/esm/modal-6c1288e3.js +33 -0
  653. package/dist/esm/modal-6c1288e3.js.map +1 -0
  654. package/dist/esm/{popover-bd2c2fca.js → popover-25996e62.js} +109 -101
  655. package/dist/esm/popover-25996e62.js.map +1 -0
  656. package/dist/esm/popup-7209e9d5.js +98 -0
  657. package/dist/esm/popup-7209e9d5.js.map +1 -0
  658. package/dist/esm/scroll-3e16851e.js +64 -0
  659. package/dist/esm/scroll-3e16851e.js.map +1 -0
  660. package/dist/esm/six-alert.entry.js +143 -115
  661. package/dist/esm/six-alert.entry.js.map +1 -1
  662. package/dist/esm/six-avatar.entry.js +23 -25
  663. package/dist/esm/six-avatar.entry.js.map +1 -1
  664. package/dist/esm/six-badge.entry.js +25 -24
  665. package/dist/esm/six-badge.entry.js.map +1 -1
  666. package/dist/esm/six-button.entry.js +97 -93
  667. package/dist/esm/six-button.entry.js.map +1 -1
  668. package/dist/esm/six-card.entry.js +10 -9
  669. package/dist/esm/six-card.entry.js.map +1 -1
  670. package/dist/esm/six-checkbox_2.entry.js +187 -0
  671. package/dist/esm/six-checkbox_2.entry.js.map +1 -0
  672. package/dist/esm/six-datepicker.entry.js +879 -981
  673. package/dist/esm/six-datepicker.entry.js.map +1 -1
  674. package/dist/esm/six-details.entry.js +129 -127
  675. package/dist/esm/six-details.entry.js.map +1 -1
  676. package/dist/esm/six-dialog.entry.js +114 -134
  677. package/dist/esm/six-dialog.entry.js.map +1 -1
  678. package/dist/esm/six-drawer.entry.js +130 -151
  679. package/dist/esm/six-drawer.entry.js.map +1 -1
  680. package/dist/esm/six-dropdown_2.entry.js +723 -621
  681. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  682. package/dist/esm/six-error-page.entry.js +84 -85
  683. package/dist/esm/six-error-page.entry.js.map +1 -1
  684. package/dist/esm/six-error.entry.js +18 -0
  685. package/dist/esm/six-error.entry.js.map +1 -0
  686. package/dist/esm/six-file-list-item.entry.js +36 -35
  687. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  688. package/dist/esm/six-file-list.entry.js +9 -8
  689. package/dist/esm/six-file-list.entry.js.map +1 -1
  690. package/dist/esm/six-file-upload.entry.js +124 -101
  691. package/dist/esm/six-file-upload.entry.js.map +1 -1
  692. package/dist/esm/six-footer.entry.js +10 -9
  693. package/dist/esm/six-footer.entry.js.map +1 -1
  694. package/dist/esm/six-group-label.entry.js +45 -43
  695. package/dist/esm/six-group-label.entry.js.map +1 -1
  696. package/dist/esm/six-header.entry.js +181 -136
  697. package/dist/esm/six-header.entry.js.map +1 -1
  698. package/dist/esm/six-icon-button.entry.js +34 -33
  699. package/dist/esm/six-icon-button.entry.js.map +1 -1
  700. package/dist/esm/six-icon.entry.js +24 -23
  701. package/dist/esm/six-icon.entry.js.map +1 -1
  702. package/dist/esm/six-input.entry.js +198 -242
  703. package/dist/esm/six-input.entry.js.map +1 -1
  704. package/dist/esm/six-item-picker.entry.js +415 -337
  705. package/dist/esm/six-item-picker.entry.js.map +1 -1
  706. package/dist/esm/six-language-switcher.entry.js +53 -48
  707. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  708. package/dist/esm/six-layout-grid.entry.js +23 -20
  709. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  710. package/dist/esm/six-main-container.entry.js +11 -10
  711. package/dist/esm/six-main-container.entry.js.map +1 -1
  712. package/dist/esm/six-menu-divider.entry.js +10 -9
  713. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  714. package/dist/esm/six-menu-label.entry.js +10 -9
  715. package/dist/esm/six-menu-label.entry.js.map +1 -1
  716. package/dist/esm/six-picto.entry.js +16 -12
  717. package/dist/esm/six-picto.entry.js.map +1 -1
  718. package/dist/esm/six-progress-bar.entry.js +17 -16
  719. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  720. package/dist/esm/six-progress-ring.entry.js +31 -30
  721. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  722. package/dist/esm/six-radio.entry.js +105 -118
  723. package/dist/esm/six-radio.entry.js.map +1 -1
  724. package/dist/esm/six-range.entry.js +200 -224
  725. package/dist/esm/six-range.entry.js.map +1 -1
  726. package/dist/esm/six-root.entry.js +13 -31
  727. package/dist/esm/six-root.entry.js.map +1 -1
  728. package/dist/esm/six-search-field.entry.js +46 -40
  729. package/dist/esm/six-search-field.entry.js.map +1 -1
  730. package/dist/esm/six-select.entry.js +513 -445
  731. package/dist/esm/six-select.entry.js.map +1 -1
  732. package/dist/esm/six-sidebar-item-group.entry.js +58 -42
  733. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  734. package/dist/esm/six-sidebar-item.entry.js +19 -16
  735. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  736. package/dist/esm/six-sidebar.entry.js +178 -156
  737. package/dist/esm/six-sidebar.entry.js.map +1 -1
  738. package/dist/esm/six-spinner.entry.js +17 -16
  739. package/dist/esm/six-spinner.entry.js.map +1 -1
  740. package/dist/esm/six-stage-indicator.entry.js +19 -0
  741. package/dist/esm/six-stage-indicator.entry.js.map +1 -0
  742. package/dist/esm/six-switch.entry.js +109 -96
  743. package/dist/esm/six-switch.entry.js.map +1 -1
  744. package/dist/esm/six-tab-group.entry.js +251 -212
  745. package/dist/esm/six-tab-group.entry.js.map +1 -1
  746. package/dist/esm/six-tab-panel.entry.js +16 -15
  747. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  748. package/dist/esm/six-tab.entry.js +57 -38
  749. package/dist/esm/six-tab.entry.js.map +1 -1
  750. package/dist/esm/six-tag.entry.js +57 -37
  751. package/dist/esm/six-tag.entry.js.map +1 -1
  752. package/dist/esm/six-textarea.entry.js +184 -229
  753. package/dist/esm/six-textarea.entry.js.map +1 -1
  754. package/dist/esm/six-tile.entry.js +77 -79
  755. package/dist/esm/six-tile.entry.js.map +1 -1
  756. package/dist/esm/six-timepicker.entry.js +346 -406
  757. package/dist/esm/six-timepicker.entry.js.map +1 -1
  758. package/dist/esm/six-tooltip.entry.js +147 -149
  759. package/dist/esm/six-tooltip.entry.js.map +1 -1
  760. package/dist/esm/slot-56531341.js +47 -0
  761. package/dist/esm/slot-56531341.js.map +1 -0
  762. package/dist/esm/types-a07bb999.js +19 -0
  763. package/dist/esm/types-a07bb999.js.map +1 -0
  764. package/dist/esm/ui-library.js +7 -8
  765. package/dist/esm/ui-library.js.map +1 -1
  766. package/dist/types/components/six-alert/six-alert.d.ts +47 -42
  767. package/dist/types/components/six-avatar/six-avatar.d.ts +11 -12
  768. package/dist/types/components/six-badge/six-badge.d.ts +7 -8
  769. package/dist/types/components/six-button/six-button.d.ts +48 -49
  770. package/dist/types/components/six-card/six-card.d.ts +1 -1
  771. package/dist/types/components/six-checkbox/six-checkbox.d.ts +58 -71
  772. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  773. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  774. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  775. package/dist/types/components/six-datepicker/six-date-formats.d.ts +20 -20
  776. package/dist/types/components/six-datepicker/six-datepicker.d.ts +189 -198
  777. package/dist/types/components/six-details/six-details.d.ts +42 -42
  778. package/dist/types/components/six-dialog/six-dialog.d.ts +51 -51
  779. package/dist/types/components/six-drawer/six-drawer.d.ts +58 -59
  780. package/dist/types/components/six-dropdown/six-dropdown.d.ts +131 -116
  781. package/dist/types/components/six-error/six-error.d.ts +9 -0
  782. package/dist/types/components/six-error-page/six-error-page.d.ts +25 -25
  783. package/dist/types/components/six-file-list/six-file-list.d.ts +1 -1
  784. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +23 -23
  785. package/dist/types/components/six-file-upload/six-file-upload.d.ts +43 -33
  786. package/dist/types/components/six-footer/six-footer.d.ts +1 -1
  787. package/dist/types/components/six-group-label/six-group-label.d.ts +22 -22
  788. package/dist/types/components/six-header/six-header.d.ts +61 -66
  789. package/dist/types/components/six-icon/six-icon.d.ts +5 -5
  790. package/dist/types/components/six-icon-button/six-icon-button.d.ts +18 -18
  791. package/dist/types/components/six-input/six-input.d.ts +120 -129
  792. package/dist/types/components/six-item-picker/six-item-picker.d.ts +97 -93
  793. package/dist/types/components/six-item-picker/types.d.ts +7 -7
  794. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +15 -15
  795. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +6 -6
  796. package/dist/types/components/six-main-container/six-main-container.d.ts +4 -4
  797. package/dist/types/components/six-menu/six-menu.d.ts +67 -64
  798. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +1 -1
  799. package/dist/types/components/six-menu-item/six-menu-item.d.ts +27 -21
  800. package/dist/types/components/six-menu-label/six-menu-label.d.ts +1 -1
  801. package/dist/types/components/six-picto/six-picto.d.ts +6 -6
  802. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +5 -5
  803. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +11 -11
  804. package/dist/types/components/six-radio/six-radio.d.ts +38 -48
  805. package/dist/types/components/six-range/six-range.d.ts +77 -87
  806. package/dist/types/components/six-root/six-root.d.ts +10 -23
  807. package/dist/types/components/six-search-field/six-search-field.d.ts +20 -21
  808. package/dist/types/components/six-select/six-select.d.ts +135 -131
  809. package/dist/types/components/six-select/util.d.ts +3 -1
  810. package/dist/types/components/six-sidebar/six-sidebar.d.ts +45 -45
  811. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +12 -7
  812. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +26 -19
  813. package/dist/types/components/six-spinner/six-spinner.d.ts +6 -5
  814. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +3 -3
  815. package/dist/types/components/six-switch/six-switch.d.ts +49 -45
  816. package/dist/types/components/six-tab/six-tab.d.ts +20 -20
  817. package/dist/types/components/six-tab-group/six-tab-group.d.ts +39 -40
  818. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +7 -7
  819. package/dist/types/components/six-tag/six-tag.d.ts +20 -14
  820. package/dist/types/components/six-textarea/six-textarea.d.ts +89 -105
  821. package/dist/types/components/six-tile/six-tile.d.ts +31 -32
  822. package/dist/types/components/six-timepicker/six-timepicker.d.ts +156 -170
  823. package/dist/types/components/six-tooltip/six-tooltip.d.ts +55 -57
  824. package/dist/types/components.d.ts +774 -456
  825. package/dist/types/functional-components/form-control/form-control.d.ts +34 -31
  826. package/dist/types/index.d.ts +2 -0
  827. package/dist/types/stencil-public-runtime.d.ts +49 -5
  828. package/dist/types/testUtil/delay.d.ts +1 -1
  829. package/dist/types/types.d.ts +3 -0
  830. package/dist/types/utils/alert.d.ts +10 -0
  831. package/dist/types/utils/animation.d.ts +12 -0
  832. package/dist/types/utils/date-util.d.ts +73 -57
  833. package/dist/types/utils/error-messages.d.ts +44 -0
  834. package/dist/types/utils/event-listeners.d.ts +11 -10
  835. package/dist/types/utils/execution-control.d.ts +1 -3
  836. package/dist/types/utils/focus-visible.d.ts +2 -2
  837. package/dist/types/utils/form.d.ts +1 -0
  838. package/dist/types/utils/modal.d.ts +8 -8
  839. package/dist/types/utils/offset.d.ts +2 -2
  840. package/dist/types/utils/popover.d.ts +22 -22
  841. package/dist/types/utils/popup.d.ts +9 -0
  842. package/dist/types/utils/slot.d.ts +2 -8
  843. package/dist/types/utils/tabbable.d.ts +1 -1
  844. package/dist/types/utils/time.util.d.ts +18 -9
  845. package/dist/types/utils/type-check.d.ts +3 -4
  846. package/dist/types/utils/types.d.ts +1 -1
  847. package/dist/ui-library/assets/TRADEMARKS.md +3 -3
  848. package/dist/ui-library/index.esm.js +1 -1
  849. package/dist/ui-library/index.esm.js.map +1 -1
  850. package/dist/ui-library/p-030fa1fa.entry.js +2 -0
  851. package/dist/ui-library/p-030fa1fa.entry.js.map +1 -0
  852. package/dist/ui-library/p-037afc74.entry.js +2 -0
  853. package/dist/ui-library/p-037afc74.entry.js.map +1 -0
  854. package/dist/ui-library/p-047d02ad.entry.js +2 -0
  855. package/dist/ui-library/p-047d02ad.entry.js.map +1 -0
  856. package/dist/ui-library/p-049c8910.entry.js +2 -0
  857. package/dist/ui-library/p-049c8910.entry.js.map +1 -0
  858. package/dist/ui-library/p-05eb1bab.js +3 -0
  859. package/dist/ui-library/p-05eb1bab.js.map +1 -0
  860. package/dist/ui-library/p-06ba4450.js +2 -0
  861. package/dist/ui-library/p-06ba4450.js.map +1 -0
  862. package/dist/ui-library/p-06ba653e.entry.js +2 -0
  863. package/dist/ui-library/p-06ba653e.entry.js.map +1 -0
  864. package/dist/ui-library/p-07c8de65.entry.js +2 -0
  865. package/dist/ui-library/p-07c8de65.entry.js.map +1 -0
  866. package/dist/ui-library/p-0c129b61.entry.js +2 -0
  867. package/dist/ui-library/p-0c129b61.entry.js.map +1 -0
  868. package/dist/ui-library/p-0cebf1d2.js +2 -0
  869. package/dist/ui-library/p-0cebf1d2.js.map +1 -0
  870. package/dist/ui-library/p-11344bb8.entry.js +2 -0
  871. package/dist/ui-library/p-11344bb8.entry.js.map +1 -0
  872. package/dist/ui-library/p-14e5fccc.entry.js +2 -0
  873. package/dist/ui-library/p-14e5fccc.entry.js.map +1 -0
  874. package/dist/ui-library/p-189602e4.entry.js +2 -0
  875. package/dist/ui-library/p-189602e4.entry.js.map +1 -0
  876. package/dist/ui-library/p-18b9189f.entry.js +2 -0
  877. package/dist/ui-library/p-18b9189f.entry.js.map +1 -0
  878. package/dist/ui-library/p-2386627e.entry.js +2 -0
  879. package/dist/ui-library/p-2386627e.entry.js.map +1 -0
  880. package/dist/ui-library/p-32e421a3.entry.js +2 -0
  881. package/dist/ui-library/p-32e421a3.entry.js.map +1 -0
  882. package/dist/ui-library/p-347e568f.entry.js +2 -0
  883. package/dist/ui-library/p-347e568f.entry.js.map +1 -0
  884. package/dist/ui-library/p-36d5f98a.entry.js +2 -0
  885. package/dist/ui-library/p-36d5f98a.entry.js.map +1 -0
  886. package/dist/ui-library/p-37433242.entry.js +2 -0
  887. package/dist/ui-library/p-37433242.entry.js.map +1 -0
  888. package/dist/ui-library/p-3b5a76ea.entry.js +2 -0
  889. package/dist/ui-library/p-3b5a76ea.entry.js.map +1 -0
  890. package/dist/ui-library/p-416b0439.entry.js +2 -0
  891. package/dist/ui-library/p-416b0439.entry.js.map +1 -0
  892. package/dist/ui-library/p-419ed003.entry.js +2 -0
  893. package/dist/ui-library/p-419ed003.entry.js.map +1 -0
  894. package/dist/ui-library/p-4963f03c.entry.js +2 -0
  895. package/dist/ui-library/p-4963f03c.entry.js.map +1 -0
  896. package/dist/ui-library/p-4bc7bbdb.entry.js +2 -0
  897. package/dist/ui-library/p-4bc7bbdb.entry.js.map +1 -0
  898. package/dist/ui-library/p-4d89932f.entry.js +2 -0
  899. package/dist/ui-library/p-4d89932f.entry.js.map +1 -0
  900. package/dist/ui-library/p-605bdd81.js +2 -0
  901. package/dist/ui-library/p-605bdd81.js.map +1 -0
  902. package/dist/ui-library/p-63acceb6.entry.js +2 -0
  903. package/dist/ui-library/p-63acceb6.entry.js.map +1 -0
  904. package/dist/ui-library/p-63ee5e7e.entry.js +2 -0
  905. package/dist/ui-library/p-63ee5e7e.entry.js.map +1 -0
  906. package/dist/ui-library/p-651293e7.js +2 -0
  907. package/dist/ui-library/p-651293e7.js.map +1 -0
  908. package/dist/ui-library/p-6b40c40c.entry.js +2 -0
  909. package/dist/ui-library/p-6b40c40c.entry.js.map +1 -0
  910. package/dist/ui-library/p-6f9153be.entry.js +2 -0
  911. package/dist/ui-library/p-6f9153be.entry.js.map +1 -0
  912. package/dist/ui-library/p-7bdd1116.entry.js +2 -0
  913. package/dist/ui-library/p-7bdd1116.entry.js.map +1 -0
  914. package/dist/ui-library/p-7c18b8ca.entry.js +2 -0
  915. package/dist/ui-library/p-7c18b8ca.entry.js.map +1 -0
  916. package/dist/ui-library/p-7f856f00.js +2 -0
  917. package/dist/ui-library/p-7f856f00.js.map +1 -0
  918. package/dist/ui-library/{p-eb8f05a9.js → p-8227aaed.js} +2 -2
  919. package/dist/ui-library/p-8227aaed.js.map +1 -0
  920. package/dist/ui-library/p-842b492e.js +2 -0
  921. package/dist/ui-library/p-842b492e.js.map +1 -0
  922. package/dist/ui-library/{p-25a3bf57.js → p-862d474e.js} +1 -1
  923. package/dist/ui-library/p-862d474e.js.map +1 -0
  924. package/dist/ui-library/p-8bfb4bfc.js +2 -0
  925. package/dist/ui-library/p-8bfb4bfc.js.map +1 -0
  926. package/dist/ui-library/{p-19364560.entry.js → p-8f1d3461.entry.js} +2 -2
  927. package/dist/ui-library/p-8f1d3461.entry.js.map +1 -0
  928. package/dist/ui-library/p-96d441e9.entry.js +2 -0
  929. package/dist/ui-library/p-96d441e9.entry.js.map +1 -0
  930. package/dist/ui-library/p-99f6fe01.entry.js +2 -0
  931. package/dist/ui-library/p-99f6fe01.entry.js.map +1 -0
  932. package/dist/ui-library/p-9cb83369.entry.js +2 -0
  933. package/dist/ui-library/p-9cb83369.entry.js.map +1 -0
  934. package/dist/ui-library/p-a1502802.js +2 -0
  935. package/dist/ui-library/p-a1502802.js.map +1 -0
  936. package/dist/ui-library/p-a398e3eb.entry.js +2 -0
  937. package/dist/ui-library/p-a398e3eb.entry.js.map +1 -0
  938. package/dist/ui-library/p-a7e2f511.entry.js +2 -0
  939. package/dist/ui-library/p-a7e2f511.entry.js.map +1 -0
  940. package/dist/ui-library/p-a9e009af.entry.js +2 -0
  941. package/dist/ui-library/p-a9e009af.entry.js.map +1 -0
  942. package/dist/ui-library/p-b335ed9c.entry.js +2 -0
  943. package/dist/ui-library/p-b335ed9c.entry.js.map +1 -0
  944. package/dist/ui-library/p-b5acf54d.entry.js +2 -0
  945. package/dist/ui-library/p-b5acf54d.entry.js.map +1 -0
  946. package/dist/ui-library/p-b60c20aa.entry.js +2 -0
  947. package/dist/ui-library/p-b60c20aa.entry.js.map +1 -0
  948. package/dist/ui-library/p-b7c68f74.entry.js +2 -0
  949. package/dist/ui-library/p-b7c68f74.entry.js.map +1 -0
  950. package/dist/ui-library/p-c62893e5.entry.js +2 -0
  951. package/dist/ui-library/p-c62893e5.entry.js.map +1 -0
  952. package/dist/ui-library/p-c6464bfe.entry.js +2 -0
  953. package/dist/ui-library/p-c6464bfe.entry.js.map +1 -0
  954. package/dist/ui-library/p-cf109cbf.entry.js +2 -0
  955. package/dist/ui-library/p-cf109cbf.entry.js.map +1 -0
  956. package/dist/ui-library/p-d1a2f84b.entry.js +2 -0
  957. package/dist/ui-library/p-d1a2f84b.entry.js.map +1 -0
  958. package/dist/ui-library/p-d42f1ea9.entry.js +2 -0
  959. package/dist/ui-library/p-d42f1ea9.entry.js.map +1 -0
  960. package/dist/ui-library/p-d88b9c16.entry.js +2 -0
  961. package/dist/ui-library/p-d88b9c16.entry.js.map +1 -0
  962. package/dist/ui-library/p-d9586999.entry.js +2 -0
  963. package/dist/ui-library/p-d9586999.entry.js.map +1 -0
  964. package/dist/ui-library/p-e080d5b6.js +2 -0
  965. package/dist/ui-library/p-e080d5b6.js.map +1 -0
  966. package/dist/ui-library/p-e1255160.js +2 -0
  967. package/dist/ui-library/p-e1255160.js.map +1 -0
  968. package/dist/ui-library/p-e14d78e9.entry.js +2 -0
  969. package/dist/ui-library/p-e14d78e9.entry.js.map +1 -0
  970. package/dist/ui-library/p-e9b8ad98.entry.js +2 -0
  971. package/dist/ui-library/p-e9b8ad98.entry.js.map +1 -0
  972. package/dist/ui-library/p-ebbe9bdc.entry.js +2 -0
  973. package/dist/ui-library/p-ebbe9bdc.entry.js.map +1 -0
  974. package/dist/ui-library/p-f136a6b2.js +2 -0
  975. package/dist/ui-library/p-f136a6b2.js.map +1 -0
  976. package/dist/ui-library/p-fe89a7c4.entry.js +2 -0
  977. package/dist/ui-library/p-fe89a7c4.entry.js.map +1 -0
  978. package/dist/ui-library/ui-library.css +1 -10
  979. package/dist/ui-library/ui-library.esm.js +1 -1
  980. package/dist/ui-library/ui-library.esm.js.map +1 -1
  981. package/loader/index.d.ts +1 -1
  982. package/package.json +23 -24
  983. package/dist/cjs/event-listeners-74715e62.js +0 -45
  984. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  985. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  986. package/dist/cjs/focus-visible-0b352c74.js +0 -47
  987. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  988. package/dist/cjs/form-control-2c17c573.js +0 -34
  989. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  990. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  991. package/dist/cjs/modal-48d42228.js +0 -51
  992. package/dist/cjs/modal-48d42228.js.map +0 -1
  993. package/dist/cjs/popover-f743f62b.js.map +0 -1
  994. package/dist/cjs/scroll-76e6f5d7.js +0 -69
  995. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  996. package/dist/cjs/set-attributes_2.cjs.entry.js +0 -71
  997. package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
  998. package/dist/cjs/six-checkbox.cjs.entry.js +0 -170
  999. package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
  1000. package/dist/cjs/six-form.cjs.entry.js +0 -231
  1001. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  1002. package/dist/cjs/six-menu-item.cjs.entry.js +0 -61
  1003. package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
  1004. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  1005. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  1006. package/dist/cjs/slot-ad537f24.js +0 -52
  1007. package/dist/cjs/slot-ad537f24.js.map +0 -1
  1008. package/dist/cjs/types-64878648.js +0 -17
  1009. package/dist/cjs/types-64878648.js.map +0 -1
  1010. package/dist/collection/components/six-form/six-form.css +0 -11
  1011. package/dist/collection/components/six-form/six-form.js +0 -419
  1012. package/dist/collection/components/six-form/six-form.js.map +0 -1
  1013. package/dist/collection/components/six-header/assets/six-logo.svg +0 -1
  1014. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  1015. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  1016. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  1017. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  1018. package/dist/collection/utils/as-array.js +0 -2
  1019. package/dist/collection/utils/as-array.js.map +0 -1
  1020. package/dist/collection/utils/matchers.js +0 -3
  1021. package/dist/collection/utils/matchers.js.map +0 -1
  1022. package/dist/collection/utils/support.js +0 -16
  1023. package/dist/collection/utils/support.js.map +0 -1
  1024. package/dist/collection/utils/testing.js +0 -39
  1025. package/dist/collection/utils/testing.js.map +0 -1
  1026. package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -72
  1027. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
  1028. package/dist/components/set-attributes.d.ts +0 -11
  1029. package/dist/components/set-attributes.js +0 -8
  1030. package/dist/components/set-attributes.js.map +0 -1
  1031. package/dist/components/set-attributes2.js +0 -69
  1032. package/dist/components/set-attributes2.js.map +0 -1
  1033. package/dist/components/six-form.js +0 -252
  1034. package/dist/components/six-form.js.map +0 -1
  1035. package/dist/components/six-tag2.js +0 -77
  1036. package/dist/components/six-tag2.js.map +0 -1
  1037. package/dist/esm/event-listeners-570a24ea.js +0 -43
  1038. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  1039. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  1040. package/dist/esm/focus-visible-97933ea9.js +0 -45
  1041. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  1042. package/dist/esm/form-control-3b440ea1.js +0 -32
  1043. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  1044. package/dist/esm/index-5c0f6628.js.map +0 -1
  1045. package/dist/esm/modal-5ebdc320.js +0 -48
  1046. package/dist/esm/modal-5ebdc320.js.map +0 -1
  1047. package/dist/esm/polyfills/css-shim.js +0 -1
  1048. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  1049. package/dist/esm/scroll-180b53fd.js +0 -64
  1050. package/dist/esm/set-attributes_2.entry.js +0 -66
  1051. package/dist/esm/set-attributes_2.entry.js.map +0 -1
  1052. package/dist/esm/six-checkbox.entry.js +0 -166
  1053. package/dist/esm/six-checkbox.entry.js.map +0 -1
  1054. package/dist/esm/six-form.entry.js +0 -227
  1055. package/dist/esm/six-form.entry.js.map +0 -1
  1056. package/dist/esm/six-menu-item.entry.js +0 -57
  1057. package/dist/esm/six-menu-item.entry.js.map +0 -1
  1058. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  1059. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  1060. package/dist/esm/slot-6f3984c7.js +0 -47
  1061. package/dist/esm/slot-6f3984c7.js.map +0 -1
  1062. package/dist/esm/types-4b10b413.js +0 -17
  1063. package/dist/esm/types-4b10b413.js.map +0 -1
  1064. package/dist/types/components/six-form/six-form.d.ts +0 -69
  1065. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  1066. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  1067. package/dist/types/utils/as-array.d.ts +0 -1
  1068. package/dist/types/utils/matchers.d.ts +0 -2
  1069. package/dist/types/utils/popper.d.ts +0 -33
  1070. package/dist/types/utils/support.d.ts +0 -1
  1071. package/dist/types/utils/testing.d.ts +0 -2
  1072. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
  1073. package/dist/ui-library/assets/six-logo.svg +0 -1
  1074. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  1075. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  1076. package/dist/ui-library/p-0786fa7c.js +0 -2
  1077. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  1078. package/dist/ui-library/p-097cced4.entry.js +0 -2
  1079. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  1080. package/dist/ui-library/p-163f2bb0.entry.js +0 -2
  1081. package/dist/ui-library/p-163f2bb0.entry.js.map +0 -1
  1082. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  1083. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  1084. package/dist/ui-library/p-18ea0c56.js +0 -2
  1085. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  1086. package/dist/ui-library/p-19364560.entry.js.map +0 -1
  1087. package/dist/ui-library/p-19b50b5a.entry.js +0 -2
  1088. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  1089. package/dist/ui-library/p-21859bca.entry.js +0 -2
  1090. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  1091. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  1092. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  1093. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  1094. package/dist/ui-library/p-308261c4.entry.js +0 -2
  1095. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  1096. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  1097. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  1098. package/dist/ui-library/p-394a2a12.entry.js +0 -2
  1099. package/dist/ui-library/p-394a2a12.entry.js.map +0 -1
  1100. package/dist/ui-library/p-3c635d0a.entry.js +0 -2
  1101. package/dist/ui-library/p-3c635d0a.entry.js.map +0 -1
  1102. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  1103. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  1104. package/dist/ui-library/p-4f8394d7.js +0 -2
  1105. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  1106. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  1107. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  1108. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  1109. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  1110. package/dist/ui-library/p-5a25d6fb.entry.js +0 -2
  1111. package/dist/ui-library/p-5a25d6fb.entry.js.map +0 -1
  1112. package/dist/ui-library/p-611e1978.entry.js +0 -2
  1113. package/dist/ui-library/p-611e1978.entry.js.map +0 -1
  1114. package/dist/ui-library/p-63703ba3.entry.js +0 -2
  1115. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  1116. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  1117. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  1118. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  1119. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  1120. package/dist/ui-library/p-6d75f216.entry.js +0 -2
  1121. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  1122. package/dist/ui-library/p-73597d13.entry.js +0 -2
  1123. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  1124. package/dist/ui-library/p-79eee01b.js +0 -2
  1125. package/dist/ui-library/p-79eee01b.js.map +0 -1
  1126. package/dist/ui-library/p-820c23f0.entry.js +0 -2
  1127. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  1128. package/dist/ui-library/p-8a970a40.entry.js +0 -2
  1129. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  1130. package/dist/ui-library/p-90824648.entry.js +0 -2
  1131. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  1132. package/dist/ui-library/p-9328e5bc.entry.js +0 -2
  1133. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  1134. package/dist/ui-library/p-97323ad7.entry.js +0 -2
  1135. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  1136. package/dist/ui-library/p-97cc839c.entry.js +0 -2
  1137. package/dist/ui-library/p-97cc839c.entry.js.map +0 -1
  1138. package/dist/ui-library/p-9a860acc.js +0 -2
  1139. package/dist/ui-library/p-9a860acc.js.map +0 -1
  1140. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  1141. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  1142. package/dist/ui-library/p-a1d4f6cf.entry.js +0 -2
  1143. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  1144. package/dist/ui-library/p-ac4f4d45.js +0 -3
  1145. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  1146. package/dist/ui-library/p-af793d04.entry.js +0 -2
  1147. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  1148. package/dist/ui-library/p-b0e5658f.entry.js +0 -2
  1149. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  1150. package/dist/ui-library/p-b1e66136.js +0 -2
  1151. package/dist/ui-library/p-b1e66136.js.map +0 -1
  1152. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  1153. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  1154. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  1155. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  1156. package/dist/ui-library/p-baa03951.entry.js +0 -2
  1157. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  1158. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  1159. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  1160. package/dist/ui-library/p-c30f9e0b.entry.js +0 -2
  1161. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  1162. package/dist/ui-library/p-c349d1d4.entry.js +0 -2
  1163. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  1164. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  1165. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  1166. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  1167. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  1168. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  1169. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  1170. package/dist/ui-library/p-d12c6092.js +0 -2
  1171. package/dist/ui-library/p-d12c6092.js.map +0 -1
  1172. package/dist/ui-library/p-d5633a29.entry.js +0 -2
  1173. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  1174. package/dist/ui-library/p-dd3c76f1.entry.js +0 -2
  1175. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  1176. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  1177. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  1178. package/dist/ui-library/p-e19a6c95.entry.js +0 -2
  1179. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  1180. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  1181. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  1182. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  1183. package/dist/ui-library/p-f4938771.entry.js +0 -2
  1184. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  1185. package/dist/ui-library/p-f604e067.entry.js +0 -2
  1186. package/dist/ui-library/p-f604e067.entry.js.map +0 -1
  1187. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  1188. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  1189. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  1190. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  1191. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  1192. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  1193. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  1194. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
  1195. package/readme.md +0 -156
@@ -1,9 +1,10 @@
1
- import { h } from '@stencil/core';
2
- import { getTextContent, hasSlot } from '../../utils/slot';
3
- import FormControl from '../../functional-components/form-control/form-control';
4
- import { EventListeners } from '../../utils/event-listeners';
5
- import { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';
6
- import { getValue, isValidValue, isValueEmpty, valueEquals } from './util';
1
+ import { h } from "@stencil/core";
2
+ import { getTextContent, hasSlot } from "../../utils/slot";
3
+ import FormControl from "../../functional-components/form-control/form-control";
4
+ import { EventListeners } from "../../utils/event-listeners";
5
+ import { debounce, DEFAULT_DEBOUNCE_FAST } from "../../utils/execution-control";
6
+ import { getLanguage } from "../../utils/error-messages";
7
+ import { convertToValidArrayValue, convertToValidValue, valueEquals } from "./util";
7
8
  let id = 0;
8
9
  /**
9
10
  * @since 1.0
@@ -27,1063 +28,1128 @@ let id = 0;
27
28
  * @part tags - The container in which multiselect options are rendered.
28
29
  */
29
30
  export class SixSelect {
30
- constructor() {
31
- this.inputId = `select-${++id}`;
32
- this.labelId = `select-label-${id}`;
33
- this.helpTextId = `select-help-text-${id}`;
34
- this.errorTextId = `select-error-text-${id}`;
35
- this.touched = false;
36
- this.customErrorText = '';
37
- this.customValidation = false;
38
- this.eventListeners = new EventListeners();
39
- this.handleBlur = () => {
40
- this.hasFocus = false;
41
- this.sixBlur.emit();
42
- };
43
- this.handleFocus = () => {
44
- this.hasFocus = true;
45
- this.sixFocus.emit();
46
- };
47
- this.handleInvalid = () => {
48
- this.invalid = true;
49
- };
50
- this.handleClearClick = (event) => {
51
- event.stopPropagation();
52
- this.clearValues();
53
- };
54
- this.handleSelectAll = (event) => {
55
- const nonFilteredItems = this.getItems().filter((item) => item.style.display !== 'none');
56
- const keyName = event.key;
57
- const keyCode = event.code;
58
- if (keyName === 'Control') {
59
- return;
60
- }
61
- if (this.isOpen && this.multiple && keyCode === 'KeyA' && event.ctrlKey) {
62
- event.preventDefault();
63
- const hasDeselectedOptions = nonFilteredItems.some((opt) => !opt.disabled && !opt.checked);
64
- nonFilteredItems
65
- .filter((option) => !option.disabled)
66
- .forEach((option) => (option.checked = hasDeselectedOptions));
67
- const checkedItems = nonFilteredItems.filter((option) => option.checked).map((option) => option.value);
68
- this.value = hasDeselectedOptions ? checkedItems : [];
69
- }
70
- };
71
- this.handleKeyDown = async (event) => {
72
- var _a;
73
- const target = event.target;
74
- const items = this.getItems();
75
- const firstItem = items[0];
76
- const lastItem = items[items.length - 1];
77
- // Ignore key presses on tags
78
- if (target.tagName.toLowerCase() === 'six-tag') {
79
- return;
80
- }
81
- // Tabbing out of the control closes it
82
- if (event.key === 'Tab') {
83
- if (this.isOpen && this.dropdown != null) {
84
- await this.dropdown.hide();
31
+ constructor() {
32
+ this.inputId = `select-${++id}`;
33
+ this.labelId = `select-label-${id}`;
34
+ this.helpTextId = `select-help-text-${id}`;
35
+ this.errorTextId = `select-error-text-${id}`;
36
+ this.eventListeners = new EventListeners();
37
+ this.activeItemIndex = -1;
38
+ this.resizeObserver = new ResizeObserver(() => this.updateDisplayedValues());
39
+ this.handleBlur = () => {
40
+ this.hasFocus = false;
41
+ this.sixBlur.emit();
42
+ };
43
+ this.handleFocus = () => {
44
+ this.hasFocus = true;
45
+ this.sixFocus.emit();
46
+ };
47
+ this.handleClearClick = async (event) => {
48
+ var _a;
49
+ event.stopPropagation();
50
+ await this.clearValues();
51
+ await ((_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.hide());
52
+ this.sixChange.emit({ value: this.value, isSelected: true });
53
+ };
54
+ this.handleKeyDown = (event) => {
55
+ var _a, _b, _c, _d;
56
+ if (this.virtualScroll || this.autocomplete) {
57
+ return;
58
+ }
59
+ if (['Control', 'Escape'].includes(event.key)) {
60
+ return;
61
+ }
62
+ const items = this.getVisibleItems();
63
+ // Ctrl-A selects all items
64
+ if (this.isOpen && this.multiple && event.code === 'KeyA' && event.ctrlKey) {
65
+ event.preventDefault();
66
+ this.selectAll();
67
+ return;
68
+ }
69
+ // Tabbing out of the control closes it
70
+ if (event.key === 'Tab') {
71
+ if (this.isOpen) {
72
+ (_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.hide();
73
+ }
74
+ return;
75
+ }
76
+ if (event.key === ' ' && !this.multiple) {
77
+ return;
78
+ }
79
+ // Enter and Space selects the active item
80
+ if (this.activeItemIndex >= 0 && ['Enter', ' '].includes(event.key)) {
81
+ const activeItem = items.at(this.activeItemIndex);
82
+ event.preventDefault();
83
+ activeItem === null || activeItem === void 0 ? void 0 : activeItem.click();
84
+ return;
85
+ }
86
+ // Move the selection when pressing up or down
87
+ if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {
88
+ // Show the menu if it's not already open
89
+ if (!this.isOpen) {
90
+ (_b = this.dropdown) === null || _b === void 0 ? void 0 : _b.show();
91
+ }
92
+ if (items.length > 0) {
93
+ event.preventDefault();
94
+ if (event.key === 'ArrowDown') {
95
+ this.activeItemIndex++;
96
+ }
97
+ else if (event.key === 'ArrowUp') {
98
+ this.activeItemIndex--;
99
+ }
100
+ else if (event.key === 'Home') {
101
+ this.activeItemIndex = 0;
102
+ }
103
+ else if (event.key === 'End') {
104
+ this.activeItemIndex = items.length - 1;
105
+ }
106
+ if (this.activeItemIndex < 0)
107
+ this.activeItemIndex = 0;
108
+ if (this.activeItemIndex > items.length - 1)
109
+ this.activeItemIndex = items.length - 1;
110
+ (_c = items.at(this.activeItemIndex)) === null || _c === void 0 ? void 0 : _c.setFocus();
111
+ }
112
+ }
113
+ // All other keys open the menu
114
+ if (!this.isOpen) {
115
+ event.stopPropagation();
116
+ event.preventDefault();
117
+ (_d = this.dropdown) === null || _d === void 0 ? void 0 : _d.show();
118
+ }
119
+ };
120
+ this.handleLabelClick = () => {
121
+ var _a;
122
+ (_a = this.box) === null || _a === void 0 ? void 0 : _a.focus();
123
+ };
124
+ this.handleMenuSelect = (event) => {
125
+ const currentItem = event.detail.item;
126
+ if (this.multiple) {
127
+ currentItem.checked = !currentItem.checked;
128
+ }
129
+ else {
130
+ this.getItems().forEach((i) => (i.checked = false));
131
+ currentItem.checked = true;
132
+ }
133
+ this.syncValueFromItems();
134
+ this.sixChange.emit({ value: this.value, isSelected: true });
135
+ };
136
+ this.handleMenuShow = (event) => {
137
+ if (this.disabled) {
138
+ event.preventDefault();
139
+ return;
140
+ }
141
+ this.activeItemIndex = -1;
142
+ if (!this.virtualScroll && this.multiple) {
143
+ // reset display style of main items
144
+ const mainItems = this.getItems();
145
+ mainItems.forEach((item) => (item.style.display = 'unset'));
146
+ // show selected menu items in the selection container and hide them in the main container
147
+ const checkedItems = getCheckedItems(convertToValidArrayValue(this.value), mainItems);
148
+ checkedItems.forEach((i) => (i.style.display = 'none'));
149
+ this.selectionContainerItems = checkedItems.map((item) => {
150
+ return (h("six-menu-item", { key: item.value, checked: true, value: item.value, checkType: this.multiple ? 'checkbox' : 'check', onClick: (event) => {
151
+ event.stopPropagation();
152
+ if (!this.disabled) {
153
+ const menuItem = event.target;
154
+ const isChecked = menuItem.checked;
155
+ menuItem.checked = !isChecked;
156
+ item.checked = !isChecked;
157
+ this.syncValueFromItems();
158
+ this.sixChange.emit({ value: this.value, isSelected: true });
159
+ }
160
+ } }, this.getItemLabel(item)));
161
+ });
162
+ }
163
+ this.isOpen = true;
164
+ };
165
+ this.handleMenuHide = () => {
166
+ this.isOpen = false;
167
+ if (this.multiple) {
168
+ this.handleBlur();
169
+ }
170
+ };
171
+ this.handleSlotChange = () => {
172
+ this.hasHelpTextSlot = hasSlot(this.host, 'help-text');
173
+ this.hasLabelSlot = hasSlot(this.host, 'label');
174
+ this.hasErrorTextSlot = hasSlot(this.host, 'error-text');
175
+ this.syncItemsFromValue();
176
+ };
177
+ this.hasFocus = false;
178
+ this.hasHelpTextSlot = false;
179
+ this.hasLabelSlot = false;
180
+ this.hasErrorTextSlot = false;
181
+ this.isOpen = false;
182
+ this.displayedValues = [];
183
+ this.selectionContainerItems = [];
184
+ this.multiple = false;
185
+ this.selectAllButton = false;
186
+ this.selectAllText = undefined;
187
+ this.maxTagsVisible = 3;
188
+ this.disabled = false;
189
+ this.name = '';
190
+ this.placeholder = '';
191
+ this.filterPlaceholder = undefined;
192
+ this.filterDebounce = undefined;
193
+ this.size = 'medium';
194
+ this.hoist = false;
195
+ this.value = '';
196
+ this.pill = false;
197
+ this.helpText = '';
198
+ this.required = false;
199
+ this.clearable = false;
200
+ this.label = '';
201
+ this.errorText = '';
202
+ this.errorTextCount = undefined;
203
+ this.invalid = false;
204
+ this.line = false;
205
+ this.filter = false;
206
+ this.asyncFilter = false;
207
+ this.autocomplete = false;
208
+ this.inputDebounce = DEFAULT_DEBOUNCE_FAST;
209
+ this.options = null;
210
+ this.virtualScroll = false;
211
+ }
212
+ handleDisabledChange() {
213
+ var _a;
214
+ if (this.disabled && this.isOpen) {
215
+ (_a = this.dropdown) === null || _a === void 0 ? void 0 : _a.hide();
216
+ }
217
+ }
218
+ handleLabelChange() {
219
+ this.handleSlotChange();
220
+ }
221
+ handleMultipleChange() {
222
+ this.value = convertToValidValue(this.value, this.multiple);
223
+ this.syncItemsFromValue();
224
+ }
225
+ async handleValueChange() {
226
+ const newValue = convertToValidValue(this.value, this.multiple);
227
+ if (!valueEquals(this.value, newValue)) {
228
+ this.value = newValue;
85
229
  }
86
- return;
87
- }
88
- // Up/down opens the menu
89
- if (['ArrowDown', 'ArrowUp'].includes(event.key)) {
90
- event.preventDefault();
91
- // Show the menu if it's not already open
92
- if (!this.isOpen && this.dropdown != null) {
93
- await this.dropdown.show();
230
+ await this.syncItemsFromValue();
231
+ }
232
+ connectedCallback() {
233
+ var _a;
234
+ if (this.virtualScroll && this.options === null) {
235
+ console.error('Options must be defined when using virtual scrolling');
94
236
  }
95
- // Focus on a menu item
96
- if (event.key === 'ArrowDown' && firstItem) {
97
- firstItem.setFocus();
237
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener('slotchange', this.handleSlotChange);
238
+ this.eventListeners.forward('six-select-change', 'change', this.host);
239
+ this.eventListeners.forward('six-select-blur', 'blur', this.host);
240
+ this.eventListeners.forward('six-select-focus', 'focus', this.host);
241
+ if (this.displayValuesContainer) {
242
+ this.resizeObserver.observe(this.displayValuesContainer);
98
243
  }
99
- else if (event.key === 'ArrowUp' && lastItem) {
100
- lastItem.setFocus();
244
+ }
245
+ componentWillLoad() {
246
+ this.value = convertToValidValue(this.value, this.multiple);
247
+ this.handleSlotChange();
248
+ }
249
+ componentDidLoad() {
250
+ if (this.displayValuesContainer) {
251
+ this.resizeObserver.observe(this.displayValuesContainer);
101
252
  }
102
- }
103
- // All other keys open the menu and initiate type to select
104
- if (!this.isOpen && this.dropdown != null) {
105
- event.stopPropagation();
106
- event.preventDefault();
107
- await this.dropdown.show();
108
- await ((_a = this.menu) === null || _a === void 0 ? void 0 : _a.typeToSelect(event.key));
109
- }
110
- };
111
- this.handleLabelClick = () => {
112
- var _a;
113
- (_a = this.box) === null || _a === void 0 ? void 0 : _a.focus();
114
- };
115
- this.handleMenuShow = (event) => {
116
- var _a;
117
- if (this.disabled) {
118
- event.preventDefault();
119
- return;
120
- }
121
- this.resizeMenu();
122
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.observe(this.host);
123
- this.isOpen = true;
124
- };
125
- this.handleMenuHide = () => {
126
- var _a;
127
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.unobserve(this.host);
128
- this.isOpen = false;
129
- };
130
- this.handleSlotChange = () => {
131
- this.hasHelpTextSlot = hasSlot(this.host, 'help-text');
132
- this.hasErrorTextSlot = hasSlot(this.host, 'error-text');
133
- this.hasLabelSlot = hasSlot(this.host, 'label');
134
- this.update();
135
- };
136
- this.handleTagInteraction = (event) => {
137
- // Don't toggle the menu when a tag's clear button is activated
138
- const path = event.composedPath();
139
- const clearButton = path.find((el) => {
140
- if (el instanceof HTMLElement) {
141
- const element = el;
142
- return element.classList.contains('tag__clear');
253
+ // We need to do an initial sync after the component has rendered, so this will suppress the re-render warning
254
+ requestAnimationFrame(() => this.syncItemsFromValue());
255
+ if (this.autocomplete && this.autocompleteInput != null) {
256
+ const autocompleteInput = this.autocompleteInput;
257
+ this.eventListeners.add(autocompleteInput, 'six-input-input', debounce((event) => {
258
+ this.value = autocompleteInput.value;
259
+ this.sixChange.emit({ value: this.value, isSelected: false });
260
+ event.stopPropagation();
261
+ }, this.inputDebounce));
262
+ autocompleteInput.value = Array.isArray(this.value) ? this.value.join(',') : this.value;
143
263
  }
144
- });
145
- if (clearButton) {
146
- event.stopPropagation();
147
- }
148
- };
149
- this.hasFocus = false;
150
- this.hasHelpTextSlot = false;
151
- this.hasErrorTextSlot = false;
152
- this.hasLabelSlot = false;
153
- this.isOpen = false;
154
- this.displayLabel = '';
155
- this.displayTags = [];
156
- this.multiple = false;
157
- this.maxTagsVisible = 3;
158
- this.disabled = false;
159
- this.name = '';
160
- this.placeholder = '';
161
- this.filterPlaceholder = undefined;
162
- this.filterDebounce = DEFAULT_DEBOUNCE_FAST;
163
- this.size = 'medium';
164
- this.hoist = false;
165
- this.value = '';
166
- this.pill = false;
167
- this.label = '';
168
- this.helpText = '';
169
- this.errorText = '';
170
- this.required = false;
171
- this.clearable = false;
172
- this.invalid = false;
173
- this.line = false;
174
- this.errorOnBlur = false;
175
- this.filter = false;
176
- this.asyncFilter = false;
177
- this.autocomplete = false;
178
- this.inputDebounce = DEFAULT_DEBOUNCE_FAST;
179
- this.options = null;
180
- this.virtualScroll = false;
181
- this.defaultValue = undefined;
182
- }
183
- handleDisabledChange() {
184
- if (this.disabled && this.isOpen && this.dropdown != null) {
185
- this.dropdown.hide();
186
264
  }
187
- }
188
- handleLabelChange() {
189
- this.handleSlotChange();
190
- }
191
- handleMultipleChange() {
192
- this.update();
193
- }
194
- handleValueChange(newValue, oldValue) {
195
- var _a;
196
- let items = (_a = this.options) !== null && _a !== void 0 ? _a : this.getItems();
197
- // normalize invalid values. This will re-trigger this watch handler
198
- if (!isValidValue(newValue, this.multiple, items)) {
199
- this.value = getValue(newValue, this.multiple, items);
200
- return;
265
+ disconnectedCallback() {
266
+ var _a;
267
+ this.resizeObserver.disconnect();
268
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeEventListener('slotchange', this.handleSlotChange);
269
+ this.eventListeners.removeAll();
201
270
  }
202
- // avoid re-triggering if old and new values are equal. Needed because
203
- // watch does a shallow comparison only.
204
- if (valueEquals(getValue(oldValue, this.multiple, items), getValue(newValue, this.multiple, items))) {
205
- return;
271
+ /** Sets focus on the select. */
272
+ async setFocus(options) {
273
+ var _a;
274
+ this.hasFocus = true;
275
+ (_a = this.box) === null || _a === void 0 ? void 0 : _a.focus(options);
206
276
  }
207
- this.update();
208
- this.sixChange.emit({ value: this.value, isSelected: true });
209
- }
210
- update() {
211
- var _a;
212
- const items = this.getItems();
213
- this.value = getValue(this.value, this.multiple, (_a = this.options) !== null && _a !== void 0 ? _a : items);
214
- if (!Array.isArray(this.value)) {
215
- // Sync checked states
216
- items.forEach((item) => (item.checked = false));
217
- const item = items.find((item) => this.value.includes(item.value));
218
- if (item != null) {
219
- item.checked = true;
220
- }
221
- // Sync input element content
222
- this.displayLabel = this.extractLabelForSelectedItem([this.value], items);
223
- this.displayTags = [];
224
- const hasSelection = !isValueEmpty(this.value);
225
- if (hasSelection) {
226
- this.touched = true;
227
- }
228
- if (this.inputElement && this.touched) {
229
- if (!this.autocomplete) {
230
- this.inputElement.value = hasSelection ? this.displayLabel : '';
277
+ getItemLabel(item) {
278
+ var _a, _b;
279
+ const slot = (_a = item.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
280
+ if (slot != null) {
281
+ return getTextContent(slot);
231
282
  }
232
- else if (hasSelection) {
233
- this.inputElement.value = this.value;
283
+ else {
284
+ // bugfix/COMSLI-203-six-select-value-is-not-updated-if-the-slot-is-changed
285
+ return (_b = item.textContent) !== null && _b !== void 0 ? _b : '';
234
286
  }
235
- this.inputElement.checkValidity().then((valid) => (this.invalid = !valid));
236
- }
237
287
  }
238
- else {
239
- // Sync checked states
240
- items.forEach((item) => (item.checked = this.value.includes(item.value)));
241
- // Sync display label
242
- const checkedItems = [];
243
- this.value.forEach((val) => items.map((item) => (item.value === val ? checkedItems.push(item) : null)));
244
- this.displayTags = checkedItems.map((item) => {
245
- 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) => {
246
- event.stopPropagation();
247
- if (!this.disabled) {
248
- this.toggleItem(item);
249
- }
250
- } }, this.getItemLabel(item)));
251
- });
252
- if (this.maxTagsVisible > 0 && this.displayTags.length > this.maxTagsVisible) {
253
- const total = this.displayTags.length;
254
- this.displayLabel = '';
255
- this.displayTags = this.displayTags.slice(0, this.maxTagsVisible);
256
- this.displayTags.push(h("six-tag", { exportparts: "base:tag", type: "info", size: this.size }, "+", total - this.maxTagsVisible));
257
- }
258
- // Sync input element content
259
- const hasSelection = !isValueEmpty(this.value);
260
- if (hasSelection) {
261
- this.touched = true;
262
- }
263
- if (this.inputElement && this.touched) {
264
- if (!this.autocomplete) {
265
- this.inputElement.value = hasSelection ? this.displayLabel : '';
266
- }
267
- else if (hasSelection) {
268
- this.inputElement.value = this.value.join(',');
288
+ getItems() {
289
+ if (this.options !== null && this.menu != null && this.menu.shadowRoot != null) {
290
+ return [...this.menu.shadowRoot.querySelectorAll('six-menu-item')];
269
291
  }
270
- this.inputElement.checkValidity().then((valid) => (this.invalid = !valid));
271
- }
292
+ return [...this.host.querySelectorAll('six-menu-item')];
272
293
  }
273
- }
274
- connectedCallback() {
275
- var _a;
276
- if (this.virtualScroll && this.options === null) {
277
- console.error('Options must be defined when using virtual scrolling');
294
+ getVisibleItems() {
295
+ const selectionContainerItems = this.getSelectionContainerItems();
296
+ const mainItems = this.getItems();
297
+ return [...selectionContainerItems, ...mainItems].filter((i) => i.style.display !== 'none');
278
298
  }
279
- (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener('slotchange', this.handleSlotChange);
280
- }
281
- componentWillLoad() {
282
- this.handleSlotChange();
283
- }
284
- componentDidLoad() {
285
- const inputElement = this.inputElement;
286
- if (inputElement == null) {
287
- return;
299
+ getSelectionContainerItems() {
300
+ var _a;
301
+ return [...(((_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('six-menu-item')) || [])];
288
302
  }
289
- this.resizeObserver = new ResizeObserver(() => this.resizeMenu());
290
- this.eventListeners.add(inputElement, 'invalid', async (event) => {
291
- if (this.customValidation || (!this.hasErrorTextSlot && this.errorText === '' && this.customErrorText === '')) {
292
- this.customErrorText = await inputElement.getValidationMessage();
293
- }
294
- event.preventDefault();
295
- });
296
- this.eventListeners.add(inputElement, 'six-input-input', debounce((event) => {
297
- const enteredValue = inputElement.value;
298
- this.clearValues();
299
- this.sixChange.emit({ value: enteredValue, isSelected: false });
300
- event.stopPropagation();
301
- }, this.inputDebounce));
302
- }
303
- disconnectedCallback() {
304
- var _a;
305
- (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeEventListener('slotchange', this.handleSlotChange);
306
- this.eventListeners.removeAll();
307
- }
308
- /** Checks for validity and shows the browser's validation message if the control is invalid. */
309
- async reportValidity() {
310
- var _a;
311
- return (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.reportValidity();
312
- }
313
- /** Checks for validity. */
314
- async checkValidity() {
315
- var _a;
316
- return (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.isValid();
317
- }
318
- /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */
319
- async setCustomValidity(message) {
320
- this.customErrorText = '';
321
- this.customValidation = message !== '';
322
- if (this.inputElement != null) {
323
- await this.inputElement.setCustomValidity(message);
324
- this.invalid = !(await this.inputElement.checkValidity());
303
+ async clearValues() {
304
+ this.value = this.multiple ? [] : '';
305
+ this.selectionContainerItems = [];
306
+ await this.syncItemsFromValue();
325
307
  }
326
- }
327
- /** Resets the formcontrol */
328
- async reset() {
329
- var _a;
330
- this.clearValues();
331
- this.customErrorText = '';
332
- this.customValidation = false;
333
- await ((_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.setCustomValidity(''));
334
- this.invalid = false;
335
- }
336
- getItemLabel(item) {
337
- var _a, _b;
338
- const slot = (_a = item.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
339
- if (slot != null) {
340
- return getTextContent(slot);
308
+ selectAll() {
309
+ const visibleItems = this.getVisibleItems();
310
+ const hasDeselectedOptions = this.hasDeselectedOptions();
311
+ visibleItems.filter((option) => !option.disabled).forEach((option) => (option.checked = hasDeselectedOptions));
312
+ const checkedItems = visibleItems.filter((option) => option.checked).map((option) => option.value);
313
+ this.value = hasDeselectedOptions ? checkedItems : [];
314
+ this.sixChange.emit({ value: this.value, isSelected: true });
341
315
  }
342
- else {
343
- // bugfix/COMSLI-203-six-select-value-is-not-updated-if-the-slot-is-changed
344
- return (_b = item.textContent) !== null && _b !== void 0 ? _b : '';
316
+ /**
317
+ * Sets the checked state of menu items and renders the displayed values.
318
+ */
319
+ async syncItemsFromValue() {
320
+ const selectionContainerItems = this.getSelectionContainerItems();
321
+ const mainItems = this.getItems();
322
+ const value = convertToValidValue(this.value, this.multiple);
323
+ selectionContainerItems.forEach((item) => {
324
+ item.checkType = this.multiple ? 'checkbox' : 'check';
325
+ item.checked = value.includes(item.value);
326
+ });
327
+ mainItems.forEach((item) => {
328
+ item.checkType = this.multiple ? 'checkbox' : 'check';
329
+ item.checked = value.includes(item.value);
330
+ });
331
+ const checkedItems = getCheckedItems(convertToValidArrayValue(this.value), mainItems);
332
+ this.displayedValues = checkedItems.map((i) => this.getItemLabel(i));
333
+ if (this.autocomplete && this.autocompleteInput != null) {
334
+ this.autocompleteInput.value = Array.isArray(this.value) ? this.value.join(',') : this.value;
335
+ }
336
+ requestAnimationFrame(() => {
337
+ this.updateDisplayedValues();
338
+ });
345
339
  }
346
- }
347
- getItems() {
348
- if (this.options !== null) {
349
- return this.options.map((option) => h("six-menu-item", { value: option.value }, option.label));
340
+ syncValueFromItems() {
341
+ const items = this.getItems();
342
+ const checkedValues = items.filter((item) => item.checked).map((item) => item.value);
343
+ if (this.multiple) {
344
+ this.value = checkedValues;
345
+ }
346
+ else {
347
+ this.value = checkedValues.length > 0 ? checkedValues[0] : '';
348
+ }
350
349
  }
351
- return [...this.host.querySelectorAll('six-menu-item')];
352
- }
353
- hasMenuItems() {
354
- return this.getItems().length > 0;
355
- }
356
- clearValues() {
357
- var _a;
358
- this.value = (_a = this.defaultValue) !== null && _a !== void 0 ? _a : (this.multiple ? [] : '');
359
- this.update();
360
- }
361
- async resizeMenu() {
362
- if (this.menu == null || this.box == null) {
363
- return;
350
+ updateDisplayedValues() {
351
+ var _a, _b;
352
+ const displayValueOptions = [...((_b = (_a = this.displayValuesContainer) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.display-value')) !== null && _b !== void 0 ? _b : [])];
353
+ if (this.displayValuesContainer == null || displayValueOptions.length === 0 || this.overflowCount == null) {
354
+ return;
355
+ }
356
+ // Show all options and separators to properly measure all widths.
357
+ displayValueOptions.forEach((d) => {
358
+ showDisplayValue(d);
359
+ showSeparator(d);
360
+ });
361
+ // Measure available width. The last separator is added to the available width, because it will be hidden later on.
362
+ const separator = displayValueOptions[displayValueOptions.length - 1].querySelector('.separator');
363
+ if (separator == null)
364
+ return;
365
+ let availableWidth = getWidth(this.displayValuesContainer) + getWidth(separator);
366
+ // Compute how many display value elements fit in the available width
367
+ let { fitCount, overflowCount } = computeFitCount(displayValueOptions, availableWidth);
368
+ if (overflowCount === 0) {
369
+ // All items fit, hide overflow count and show all values.
370
+ hideOverflowCount(this.overflowCount);
371
+ showFittingValues(displayValueOptions, fitCount);
372
+ }
373
+ else {
374
+ // Not all items fit in the available width. Recompute the available width with the overflow-count visible.
375
+ // Increment overflow count by one to make sure the elements fit, even if the overflow count increases to the
376
+ // next higher power of ten, e.g. from 9 to 10 or 99 to 100.
377
+ setOverflowCount(this.overflowCount, overflowCount + 1);
378
+ showOverflowCount(this.overflowCount);
379
+ // Subtract the overflow count from the available width
380
+ availableWidth = availableWidth - getWidth(this.overflowCount);
381
+ // Compute how many display value elements fit in the new available width
382
+ ({ fitCount, overflowCount } = computeFitCount(displayValueOptions, availableWidth));
383
+ // Show overflow count and items that fit.
384
+ setOverflowCount(this.overflowCount, overflowCount);
385
+ showFittingValues(displayValueOptions, fitCount);
386
+ }
364
387
  }
365
- this.menu.style.minWidth = `${this.box.clientWidth}px`;
366
- if (this.dropdown) {
367
- await this.dropdown.reposition();
388
+ render() {
389
+ var _a;
390
+ const hasSelection = this.hasSelection();
391
+ const items = this.getItems();
392
+ const hasMenuItems = items.length > 0;
393
+ const hasDeselectedOptions = this.hasDeselectedOptions();
394
+ let showClear = false;
395
+ let showExpand = hasMenuItems;
396
+ if (this.clearable && hasSelection) {
397
+ showClear = true;
398
+ showExpand = false;
399
+ }
400
+ return (h(FormControl, { key: '3787965c52269e43fc052d66887ab1bb0c33613f', 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", { key: '783bfb455c2dda4ec867988251f784180f6245c2', part: "base", ref: (el) => (this.dropdown = el), hoist: this.hoist, matchTriggerWidth: true, closeOnSelect: !this.multiple, containingElement: this.host, disableHideOnEnterAndSpace: this.autocomplete, class: {
401
+ select: true,
402
+ 'select--open': this.isOpen,
403
+ 'select--empty': ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) === 0,
404
+ 'select--focused': this.hasFocus,
405
+ 'select--clearable': this.clearable,
406
+ 'select--disabled': this.disabled,
407
+ 'select--multiple': this.multiple,
408
+ 'select--has-tags': this.multiple && hasSelection,
409
+ 'select--placeholder-visible': this.displayedValues.length === 0,
410
+ 'select--small': this.size === 'small',
411
+ 'select--medium': this.size === 'medium',
412
+ 'select--large': this.size === 'large',
413
+ 'select--pill': this.pill,
414
+ 'select--invalid': this.invalid,
415
+ }, 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", { key: '06b29a0e26e8c08ce50047e71e9bac5ca0852b37', slot: "trigger", ref: (el) => (this.box = el), id: this.inputId, class: {
416
+ select__box: true,
417
+ 'select__box--line': this.line,
418
+ 'select__box--autocomplete': this.autocomplete,
419
+ }, 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", { key: 'd64257f0efecb3816562f99d17511e9368474fc6', 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", { key: '71d28c910c0382187c1c23b01bb17c683883d77a', ref: (el) => (this.autocompleteInput = el), class: {
420
+ select__input: true,
421
+ 'select__hidden-select': !this.autocomplete,
422
+ }, "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", { key: 'c10395cc232d4af3b0446cb5e8b174bc35f40048', class: {
423
+ 'selection-container': true,
424
+ 'selection-container--border': this.selectionContainerItems.length > 0 && items.length !== this.selectionContainerItems.length,
425
+ } }, this.selectionContainerItems), h("six-menu", { key: 'd50b9efc0bb974c03a177925010913dcd22c8245', ref: (el) => (this.menu = el), part: "menu", class: {
426
+ select__menu: true,
427
+ 'select__menu--hidden': !hasMenuItems,
428
+ }, "onSix-menu-item-selected": this.handleMenuSelect, items: this.options, virtualScroll: this.virtualScroll, "remove-box-shadow": true, "disable-keyboard-handling": true }, h("slot", { key: 'bff03fba01c71728e123c46168ff6400b9739590', 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))))));
368
429
  }
369
- }
370
- extractLabelForSelectedItem(value, items) {
371
- if (value.length === 0 || (value.length === 1 && value[0] === '')) {
372
- return '';
430
+ hasSelection() {
431
+ return this.multiple ? this.value.length > 0 : this.value !== '';
373
432
  }
374
- if (this.options !== null) {
375
- const selectedOption = this.options.find((item) => item.value === value[0]);
376
- return (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value) || '';
433
+ hasDeselectedOptions() {
434
+ return this.getVisibleItems().some((opt) => !opt.disabled && !opt.checked);
377
435
  }
378
- const checkedItem = items.find((item) => item.value === value[0]);
379
- return checkedItem ? this.getItemLabel(checkedItem) : '';
380
- }
381
- toggleItem(item) {
382
- var _a;
383
- const value = getValue(this.value, this.multiple, (_a = this.options) !== null && _a !== void 0 ? _a : this.getItems());
384
- if (Array.isArray(value)) {
385
- const itemFound = value.find((v) => v === item.value);
386
- if (itemFound == null) {
387
- this.value = [...this.value, item.value];
388
- }
389
- else {
390
- this.value = value.filter((v) => v !== item.value);
391
- }
436
+ static get is() { return "six-select"; }
437
+ static get encapsulation() { return "shadow"; }
438
+ static get originalStyleUrls() {
439
+ return {
440
+ "$": ["six-select.scss"]
441
+ };
392
442
  }
393
- else {
394
- if (item.value === value) {
395
- this.value = '';
396
- }
397
- else {
398
- this.value = item.value;
399
- }
443
+ static get styleUrls() {
444
+ return {
445
+ "$": ["six-select.css"]
446
+ };
400
447
  }
401
- }
402
- displayError() {
403
- return this.invalid && (!this.errorOnBlur || (!this.hasFocus && !this.isOpen));
404
- }
405
- render() {
406
- var _a;
407
- const hasSelection = !isValueEmpty(this.value);
408
- 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.customErrorText != null ? this.customErrorText : this.errorText, hasErrorTextSlot: this.hasErrorTextSlot, size: this.size, onLabelClick: this.handleLabelClick, disabled: this.disabled, required: this.required, displayError: this.displayError() }, h("six-dropdown", { part: "base", ref: (el) => (this.dropdown = el), hoist: this.hoist, closeOnSelect: !this.multiple, containingElement: this.host, disableHideOnEnterAndSpace: this.autocomplete, class: {
409
- select: true,
410
- 'select--open': this.isOpen,
411
- 'select--empty': ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) === 0,
412
- 'select--focused': this.hasFocus,
413
- 'select--clearable': this.clearable,
414
- 'select--disabled': this.disabled,
415
- 'select--multiple': this.multiple,
416
- 'select--has-tags': this.multiple && hasSelection,
417
- 'select--placeholder-visible': this.displayLabel === '',
418
- 'select--small': this.size === 'small',
419
- 'select--medium': this.size === 'medium',
420
- 'select--large': this.size === 'large',
421
- 'select--pill': this.pill,
422
- 'select--invalid': this.invalid,
423
- }, 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: {
424
- select__box: true,
425
- 'select__box--line': this.line,
426
- 'select__box--autocomplete': this.autocomplete,
427
- }, 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" }, this.displayTags.length ? (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.inputElement = el), class: {
428
- select__input: true,
429
- 'select__hidden-select': !this.autocomplete,
430
- }, "aria-hidden": "true", required: this.required, onInvalid: this.handleInvalid, 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: {
431
- select__menu: true,
432
- 'select__menu--filtered': this.filter || this.asyncFilter,
433
- 'select__menu--hidden': !this.hasMenuItems(),
434
- }, "onSix-menu-item-selected": (event) => this.toggleItem(event.detail.item), items: this.options, virtualScroll: this.virtualScroll, "remove-box-shadow": true }, h("slot", { onSlotchange: this.handleSlotChange })))));
435
- }
436
- static get is() { return "six-select"; }
437
- static get encapsulation() { return "shadow"; }
438
- static get originalStyleUrls() {
439
- return {
440
- "$": ["six-select.scss"]
441
- };
442
- }
443
- static get styleUrls() {
444
- return {
445
- "$": ["six-select.css"]
446
- };
447
- }
448
- static get properties() {
449
- return {
450
- "multiple": {
451
- "type": "boolean",
452
- "mutable": false,
453
- "complexType": {
454
- "original": "boolean",
455
- "resolved": "boolean",
456
- "references": {}
457
- },
458
- "required": false,
459
- "optional": false,
460
- "docs": {
461
- "tags": [],
462
- "text": "Set to true to enable multiselect."
463
- },
464
- "attribute": "multiple",
465
- "reflect": false,
466
- "defaultValue": "false"
467
- },
468
- "maxTagsVisible": {
469
- "type": "number",
470
- "mutable": false,
471
- "complexType": {
472
- "original": "number",
473
- "resolved": "number",
474
- "references": {}
475
- },
476
- "required": false,
477
- "optional": false,
478
- "docs": {
479
- "tags": [],
480
- "text": "The maximum number of tags to show when `multiple` is true. After the maximum, \"+n\" will be shown to indicate the\nnumber of additional items that are selected. Set to -1 to remove the limit."
481
- },
482
- "attribute": "max-tags-visible",
483
- "reflect": false,
484
- "defaultValue": "3"
485
- },
486
- "disabled": {
487
- "type": "boolean",
488
- "mutable": false,
489
- "complexType": {
490
- "original": "boolean",
491
- "resolved": "boolean",
492
- "references": {}
493
- },
494
- "required": false,
495
- "optional": false,
496
- "docs": {
497
- "tags": [],
498
- "text": "Set to true to disable the select control."
499
- },
500
- "attribute": "disabled",
501
- "reflect": false,
502
- "defaultValue": "false"
503
- },
504
- "name": {
505
- "type": "string",
506
- "mutable": false,
507
- "complexType": {
508
- "original": "string",
509
- "resolved": "string",
510
- "references": {}
511
- },
512
- "required": false,
513
- "optional": false,
514
- "docs": {
515
- "tags": [],
516
- "text": "The select's name."
517
- },
518
- "attribute": "name",
519
- "reflect": false,
520
- "defaultValue": "''"
521
- },
522
- "placeholder": {
523
- "type": "string",
524
- "mutable": false,
525
- "complexType": {
526
- "original": "string",
527
- "resolved": "string",
528
- "references": {}
529
- },
530
- "required": false,
531
- "optional": false,
532
- "docs": {
533
- "tags": [],
534
- "text": "The select's placeholder text."
535
- },
536
- "attribute": "placeholder",
537
- "reflect": false,
538
- "defaultValue": "''"
539
- },
540
- "filterPlaceholder": {
541
- "type": "string",
542
- "mutable": false,
543
- "complexType": {
544
- "original": "string",
545
- "resolved": "string",
546
- "references": {}
547
- },
548
- "required": false,
549
- "optional": true,
550
- "docs": {
551
- "tags": [],
552
- "text": "The filter's placeholder text."
553
- },
554
- "attribute": "filter-placeholder",
555
- "reflect": false
556
- },
557
- "filterDebounce": {
558
- "type": "number",
559
- "mutable": false,
560
- "complexType": {
561
- "original": "number",
562
- "resolved": "number",
563
- "references": {}
564
- },
565
- "required": false,
566
- "optional": false,
567
- "docs": {
568
- "tags": [],
569
- "text": "The debounce for the filter callbacks."
570
- },
571
- "attribute": "filter-debounce",
572
- "reflect": false,
573
- "defaultValue": "DEFAULT_DEBOUNCE_FAST"
574
- },
575
- "size": {
576
- "type": "string",
577
- "mutable": false,
578
- "complexType": {
579
- "original": "'small' | 'medium' | 'large'",
580
- "resolved": "\"large\" | \"medium\" | \"small\"",
581
- "references": {}
582
- },
583
- "required": false,
584
- "optional": false,
585
- "docs": {
586
- "tags": [],
587
- "text": "The select's size."
588
- },
589
- "attribute": "size",
590
- "reflect": false,
591
- "defaultValue": "'medium'"
592
- },
593
- "hoist": {
594
- "type": "boolean",
595
- "mutable": false,
596
- "complexType": {
597
- "original": "boolean",
598
- "resolved": "boolean",
599
- "references": {}
600
- },
601
- "required": false,
602
- "optional": false,
603
- "docs": {
604
- "tags": [],
605
- "text": "Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`."
606
- },
607
- "attribute": "hoist",
608
- "reflect": false,
609
- "defaultValue": "false"
610
- },
611
- "value": {
612
- "type": "string",
613
- "mutable": true,
614
- "complexType": {
615
- "original": "string | string[]",
616
- "resolved": "string | string[]",
617
- "references": {}
618
- },
619
- "required": false,
620
- "optional": false,
621
- "docs": {
622
- "tags": [],
623
- "text": "The value of the control. This will be a string or an array depending on `multiple`."
624
- },
625
- "attribute": "value",
626
- "reflect": false,
627
- "defaultValue": "''"
628
- },
629
- "pill": {
630
- "type": "boolean",
631
- "mutable": false,
632
- "complexType": {
633
- "original": "boolean",
634
- "resolved": "boolean",
635
- "references": {}
636
- },
637
- "required": false,
638
- "optional": false,
639
- "docs": {
640
- "tags": [],
641
- "text": "Set to true to draw a pill-style select with rounded edges."
642
- },
643
- "attribute": "pill",
644
- "reflect": false,
645
- "defaultValue": "false"
646
- },
647
- "label": {
648
- "type": "string",
649
- "mutable": false,
650
- "complexType": {
651
- "original": "string",
652
- "resolved": "string",
653
- "references": {}
654
- },
655
- "required": false,
656
- "optional": false,
657
- "docs": {
658
- "tags": [],
659
- "text": "The select's label. Alternatively, you can use the label slot."
660
- },
661
- "attribute": "label",
662
- "reflect": false,
663
- "defaultValue": "''"
664
- },
665
- "helpText": {
666
- "type": "string",
667
- "mutable": false,
668
- "complexType": {
669
- "original": "string",
670
- "resolved": "string",
671
- "references": {}
672
- },
673
- "required": false,
674
- "optional": false,
675
- "docs": {
676
- "tags": [],
677
- "text": "The select's help text. Alternatively, you can use the help-text slot."
678
- },
679
- "attribute": "help-text",
680
- "reflect": false,
681
- "defaultValue": "''"
682
- },
683
- "errorText": {
684
- "type": "string",
685
- "mutable": false,
686
- "complexType": {
687
- "original": "string",
688
- "resolved": "string",
689
- "references": {}
690
- },
691
- "required": false,
692
- "optional": false,
693
- "docs": {
694
- "tags": [],
695
- "text": "The select's error text. Alternatively, you can use the error-text slot."
696
- },
697
- "attribute": "error-text",
698
- "reflect": false,
699
- "defaultValue": "''"
700
- },
701
- "required": {
702
- "type": "boolean",
703
- "mutable": false,
704
- "complexType": {
705
- "original": "boolean",
706
- "resolved": "boolean",
707
- "references": {}
708
- },
709
- "required": false,
710
- "optional": false,
711
- "docs": {
712
- "tags": [],
713
- "text": "The select's required attribute."
714
- },
715
- "attribute": "required",
716
- "reflect": false,
717
- "defaultValue": "false"
718
- },
719
- "clearable": {
720
- "type": "boolean",
721
- "mutable": false,
722
- "complexType": {
723
- "original": "boolean",
724
- "resolved": "boolean",
725
- "references": {}
726
- },
727
- "required": false,
728
- "optional": false,
729
- "docs": {
730
- "tags": [],
731
- "text": "Set to true to add a clear button when the select is populated."
732
- },
733
- "attribute": "clearable",
734
- "reflect": false,
735
- "defaultValue": "false"
736
- },
737
- "invalid": {
738
- "type": "boolean",
739
- "mutable": true,
740
- "complexType": {
741
- "original": "boolean",
742
- "resolved": "boolean",
743
- "references": {}
744
- },
745
- "required": false,
746
- "optional": false,
747
- "docs": {
748
- "tags": [],
749
- "text": "This will be true when the control is in an invalid state. Validity is determined by the `required` prop."
750
- },
751
- "attribute": "invalid",
752
- "reflect": false,
753
- "defaultValue": "false"
754
- },
755
- "line": {
756
- "type": "boolean",
757
- "mutable": false,
758
- "complexType": {
759
- "original": "boolean",
760
- "resolved": "boolean",
761
- "references": {}
762
- },
763
- "required": false,
764
- "optional": false,
765
- "docs": {
766
- "tags": [],
767
- "text": "Set to render as line"
768
- },
769
- "attribute": "line",
770
- "reflect": false,
771
- "defaultValue": "false"
772
- },
773
- "errorOnBlur": {
774
- "type": "boolean",
775
- "mutable": false,
776
- "complexType": {
777
- "original": "boolean",
778
- "resolved": "boolean",
779
- "references": {}
780
- },
781
- "required": false,
782
- "optional": false,
783
- "docs": {
784
- "tags": [],
785
- "text": "Set to display the error text on blur and not when typing"
786
- },
787
- "attribute": "error-on-blur",
788
- "reflect": false,
789
- "defaultValue": "false"
790
- },
791
- "filter": {
792
- "type": "boolean",
793
- "mutable": false,
794
- "complexType": {
795
- "original": "boolean",
796
- "resolved": "boolean",
797
- "references": {}
798
- },
799
- "required": false,
800
- "optional": false,
801
- "docs": {
802
- "tags": [],
803
- "text": "Set to true to allow filtering for entries in the dropdown"
804
- },
805
- "attribute": "filter",
806
- "reflect": false,
807
- "defaultValue": "false"
808
- },
809
- "asyncFilter": {
810
- "type": "boolean",
811
- "mutable": false,
812
- "complexType": {
813
- "original": "boolean",
814
- "resolved": "boolean",
815
- "references": {}
816
- },
817
- "required": false,
818
- "optional": false,
819
- "docs": {
820
- "tags": [],
821
- "text": "Set to true to allow async filtering.\nWhen you enter something in the search field the component will only emit an event but not filter any elements itself.\nYou can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself"
822
- },
823
- "attribute": "async-filter",
824
- "reflect": false,
825
- "defaultValue": "false"
826
- },
827
- "autocomplete": {
828
- "type": "boolean",
829
- "mutable": false,
830
- "complexType": {
831
- "original": "boolean",
832
- "resolved": "boolean",
833
- "references": {}
834
- },
835
- "required": false,
836
- "optional": false,
837
- "docs": {
838
- "tags": [],
839
- "text": "Set to true to turn the six-select into an autocomplete."
840
- },
841
- "attribute": "autocomplete",
842
- "reflect": false,
843
- "defaultValue": "false"
844
- },
845
- "inputDebounce": {
846
- "type": "number",
847
- "mutable": false,
848
- "complexType": {
849
- "original": "number",
850
- "resolved": "number",
851
- "references": {}
852
- },
853
- "required": false,
854
- "optional": false,
855
- "docs": {
856
- "tags": [],
857
- "text": "The debounce for when the input changes for autocompletes should be emitted"
858
- },
859
- "attribute": "input-debounce",
860
- "reflect": false,
861
- "defaultValue": "DEFAULT_DEBOUNCE_FAST"
862
- },
863
- "options": {
864
- "type": "unknown",
865
- "mutable": false,
866
- "complexType": {
867
- "original": "SixMenuItemData[] | null",
868
- "resolved": "SixMenuItemData[]",
869
- "references": {
870
- "SixMenuItemData": {
871
- "location": "import",
872
- "path": "../six-menu/six-menu"
448
+ static get properties() {
449
+ return {
450
+ "multiple": {
451
+ "type": "boolean",
452
+ "mutable": false,
453
+ "complexType": {
454
+ "original": "boolean",
455
+ "resolved": "boolean",
456
+ "references": {}
457
+ },
458
+ "required": false,
459
+ "optional": false,
460
+ "docs": {
461
+ "tags": [],
462
+ "text": "Set to true to enable multiselect."
463
+ },
464
+ "attribute": "multiple",
465
+ "reflect": false,
466
+ "defaultValue": "false"
467
+ },
468
+ "selectAllButton": {
469
+ "type": "boolean",
470
+ "mutable": false,
471
+ "complexType": {
472
+ "original": "boolean",
473
+ "resolved": "boolean",
474
+ "references": {}
475
+ },
476
+ "required": false,
477
+ "optional": false,
478
+ "docs": {
479
+ "tags": [],
480
+ "text": "Enables the select all button."
481
+ },
482
+ "attribute": "select-all-button",
483
+ "reflect": false,
484
+ "defaultValue": "false"
485
+ },
486
+ "selectAllText": {
487
+ "type": "string",
488
+ "mutable": false,
489
+ "complexType": {
490
+ "original": "string",
491
+ "resolved": "string | undefined",
492
+ "references": {}
493
+ },
494
+ "required": false,
495
+ "optional": true,
496
+ "docs": {
497
+ "tags": [],
498
+ "text": "Custom text for the \"select all\" button. Defaults to \"Select all\" and equivalents in supported languages."
499
+ },
500
+ "attribute": "select-all-text",
501
+ "reflect": false
502
+ },
503
+ "maxTagsVisible": {
504
+ "type": "number",
505
+ "mutable": false,
506
+ "complexType": {
507
+ "original": "number",
508
+ "resolved": "number",
509
+ "references": {}
510
+ },
511
+ "required": false,
512
+ "optional": false,
513
+ "docs": {
514
+ "tags": [{
515
+ "name": "deprecated",
516
+ "text": ": This property is ignored. The component now displays as many items as possible and computes the \"+n\" dynamically."
517
+ }],
518
+ "text": "The maximum number of tags to show when `multiple` is true. After the maximum, \"+n\" will be shown to indicate the\nnumber of additional items that are selected. Set to -1 to remove the limit."
519
+ },
520
+ "attribute": "max-tags-visible",
521
+ "reflect": false,
522
+ "defaultValue": "3"
523
+ },
524
+ "disabled": {
525
+ "type": "boolean",
526
+ "mutable": false,
527
+ "complexType": {
528
+ "original": "boolean",
529
+ "resolved": "boolean",
530
+ "references": {}
531
+ },
532
+ "required": false,
533
+ "optional": false,
534
+ "docs": {
535
+ "tags": [],
536
+ "text": "Set to true to disable the select control."
537
+ },
538
+ "attribute": "disabled",
539
+ "reflect": false,
540
+ "defaultValue": "false"
541
+ },
542
+ "name": {
543
+ "type": "string",
544
+ "mutable": false,
545
+ "complexType": {
546
+ "original": "string",
547
+ "resolved": "string",
548
+ "references": {}
549
+ },
550
+ "required": false,
551
+ "optional": false,
552
+ "docs": {
553
+ "tags": [],
554
+ "text": "The select's name."
555
+ },
556
+ "attribute": "name",
557
+ "reflect": false,
558
+ "defaultValue": "''"
559
+ },
560
+ "placeholder": {
561
+ "type": "string",
562
+ "mutable": false,
563
+ "complexType": {
564
+ "original": "string",
565
+ "resolved": "string",
566
+ "references": {}
567
+ },
568
+ "required": false,
569
+ "optional": false,
570
+ "docs": {
571
+ "tags": [],
572
+ "text": "The select's placeholder text."
573
+ },
574
+ "attribute": "placeholder",
575
+ "reflect": false,
576
+ "defaultValue": "''"
577
+ },
578
+ "filterPlaceholder": {
579
+ "type": "string",
580
+ "mutable": false,
581
+ "complexType": {
582
+ "original": "string",
583
+ "resolved": "string | undefined",
584
+ "references": {}
585
+ },
586
+ "required": false,
587
+ "optional": true,
588
+ "docs": {
589
+ "tags": [],
590
+ "text": "The filter's placeholder text."
591
+ },
592
+ "attribute": "filter-placeholder",
593
+ "reflect": false
594
+ },
595
+ "filterDebounce": {
596
+ "type": "number",
597
+ "mutable": false,
598
+ "complexType": {
599
+ "original": "number",
600
+ "resolved": "number | undefined",
601
+ "references": {}
602
+ },
603
+ "required": false,
604
+ "optional": true,
605
+ "docs": {
606
+ "tags": [],
607
+ "text": "The debounce for the filter callbacks."
608
+ },
609
+ "attribute": "filter-debounce",
610
+ "reflect": false
611
+ },
612
+ "size": {
613
+ "type": "string",
614
+ "mutable": false,
615
+ "complexType": {
616
+ "original": "'small' | 'medium' | 'large'",
617
+ "resolved": "\"large\" | \"medium\" | \"small\"",
618
+ "references": {}
619
+ },
620
+ "required": false,
621
+ "optional": false,
622
+ "docs": {
623
+ "tags": [],
624
+ "text": "The select's size."
625
+ },
626
+ "attribute": "size",
627
+ "reflect": false,
628
+ "defaultValue": "'medium'"
629
+ },
630
+ "hoist": {
631
+ "type": "boolean",
632
+ "mutable": false,
633
+ "complexType": {
634
+ "original": "boolean",
635
+ "resolved": "boolean",
636
+ "references": {}
637
+ },
638
+ "required": false,
639
+ "optional": false,
640
+ "docs": {
641
+ "tags": [],
642
+ "text": "Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`."
643
+ },
644
+ "attribute": "hoist",
645
+ "reflect": false,
646
+ "defaultValue": "false"
647
+ },
648
+ "value": {
649
+ "type": "string",
650
+ "mutable": true,
651
+ "complexType": {
652
+ "original": "string | string[]",
653
+ "resolved": "string | string[]",
654
+ "references": {}
655
+ },
656
+ "required": false,
657
+ "optional": false,
658
+ "docs": {
659
+ "tags": [],
660
+ "text": "The value of the control. This will be a string or an array depending on `multiple`."
661
+ },
662
+ "attribute": "value",
663
+ "reflect": false,
664
+ "defaultValue": "''"
665
+ },
666
+ "pill": {
667
+ "type": "boolean",
668
+ "mutable": false,
669
+ "complexType": {
670
+ "original": "boolean",
671
+ "resolved": "boolean",
672
+ "references": {}
673
+ },
674
+ "required": false,
675
+ "optional": false,
676
+ "docs": {
677
+ "tags": [],
678
+ "text": "Set to true to draw a pill-style select with rounded edges."
679
+ },
680
+ "attribute": "pill",
681
+ "reflect": false,
682
+ "defaultValue": "false"
683
+ },
684
+ "helpText": {
685
+ "type": "string",
686
+ "mutable": false,
687
+ "complexType": {
688
+ "original": "string",
689
+ "resolved": "string",
690
+ "references": {}
691
+ },
692
+ "required": false,
693
+ "optional": false,
694
+ "docs": {
695
+ "tags": [],
696
+ "text": "The select's help text. Alternatively, you can use the help-text slot."
697
+ },
698
+ "attribute": "help-text",
699
+ "reflect": false,
700
+ "defaultValue": "''"
701
+ },
702
+ "required": {
703
+ "type": "boolean",
704
+ "mutable": false,
705
+ "complexType": {
706
+ "original": "boolean",
707
+ "resolved": "boolean",
708
+ "references": {}
709
+ },
710
+ "required": false,
711
+ "optional": false,
712
+ "docs": {
713
+ "tags": [],
714
+ "text": "Set to true to show an asterisk beneath the label."
715
+ },
716
+ "attribute": "required",
717
+ "reflect": false,
718
+ "defaultValue": "false"
719
+ },
720
+ "clearable": {
721
+ "type": "boolean",
722
+ "mutable": false,
723
+ "complexType": {
724
+ "original": "boolean",
725
+ "resolved": "boolean",
726
+ "references": {}
727
+ },
728
+ "required": false,
729
+ "optional": false,
730
+ "docs": {
731
+ "tags": [],
732
+ "text": "Set to true to add a clear button when the select is populated."
733
+ },
734
+ "attribute": "clearable",
735
+ "reflect": false,
736
+ "defaultValue": "false"
737
+ },
738
+ "label": {
739
+ "type": "string",
740
+ "mutable": false,
741
+ "complexType": {
742
+ "original": "string",
743
+ "resolved": "string",
744
+ "references": {}
745
+ },
746
+ "required": false,
747
+ "optional": false,
748
+ "docs": {
749
+ "tags": [],
750
+ "text": "The label text."
751
+ },
752
+ "attribute": "label",
753
+ "reflect": false,
754
+ "defaultValue": "''"
755
+ },
756
+ "errorText": {
757
+ "type": "string",
758
+ "mutable": false,
759
+ "complexType": {
760
+ "original": "string | string[]",
761
+ "resolved": "string | string[]",
762
+ "references": {}
763
+ },
764
+ "required": false,
765
+ "optional": false,
766
+ "docs": {
767
+ "tags": [],
768
+ "text": "The error message shown, if `invalid` is set to true."
769
+ },
770
+ "attribute": "error-text",
771
+ "reflect": false,
772
+ "defaultValue": "''"
773
+ },
774
+ "errorTextCount": {
775
+ "type": "number",
776
+ "mutable": false,
777
+ "complexType": {
778
+ "original": "number",
779
+ "resolved": "number | undefined",
780
+ "references": {}
781
+ },
782
+ "required": false,
783
+ "optional": true,
784
+ "docs": {
785
+ "tags": [],
786
+ "text": "The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1"
787
+ },
788
+ "attribute": "error-text-count",
789
+ "reflect": false
790
+ },
791
+ "invalid": {
792
+ "type": "boolean",
793
+ "mutable": false,
794
+ "complexType": {
795
+ "original": "boolean",
796
+ "resolved": "boolean",
797
+ "references": {}
798
+ },
799
+ "required": false,
800
+ "optional": false,
801
+ "docs": {
802
+ "tags": [],
803
+ "text": "If this property is set to true and an error message is provided by `errorText`, the error message is displayed."
804
+ },
805
+ "attribute": "invalid",
806
+ "reflect": true,
807
+ "defaultValue": "false"
808
+ },
809
+ "line": {
810
+ "type": "boolean",
811
+ "mutable": false,
812
+ "complexType": {
813
+ "original": "boolean",
814
+ "resolved": "boolean",
815
+ "references": {}
816
+ },
817
+ "required": false,
818
+ "optional": false,
819
+ "docs": {
820
+ "tags": [],
821
+ "text": "Set to render as line"
822
+ },
823
+ "attribute": "line",
824
+ "reflect": false,
825
+ "defaultValue": "false"
826
+ },
827
+ "filter": {
828
+ "type": "boolean",
829
+ "mutable": false,
830
+ "complexType": {
831
+ "original": "boolean",
832
+ "resolved": "boolean",
833
+ "references": {}
834
+ },
835
+ "required": false,
836
+ "optional": false,
837
+ "docs": {
838
+ "tags": [],
839
+ "text": "Set to true to allow filtering for entries in the dropdown"
840
+ },
841
+ "attribute": "filter",
842
+ "reflect": false,
843
+ "defaultValue": "false"
844
+ },
845
+ "asyncFilter": {
846
+ "type": "boolean",
847
+ "mutable": false,
848
+ "complexType": {
849
+ "original": "boolean",
850
+ "resolved": "boolean",
851
+ "references": {}
852
+ },
853
+ "required": false,
854
+ "optional": false,
855
+ "docs": {
856
+ "tags": [],
857
+ "text": "Set to true to allow async filtering.\nWhen you enter something in the search field the component will only emit an event but not filter any elements itself.\nYou can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself"
858
+ },
859
+ "attribute": "async-filter",
860
+ "reflect": false,
861
+ "defaultValue": "false"
862
+ },
863
+ "autocomplete": {
864
+ "type": "boolean",
865
+ "mutable": false,
866
+ "complexType": {
867
+ "original": "boolean",
868
+ "resolved": "boolean",
869
+ "references": {}
870
+ },
871
+ "required": false,
872
+ "optional": false,
873
+ "docs": {
874
+ "tags": [],
875
+ "text": "Set to true to turn the six-select into an autocomplete."
876
+ },
877
+ "attribute": "autocomplete",
878
+ "reflect": false,
879
+ "defaultValue": "false"
880
+ },
881
+ "inputDebounce": {
882
+ "type": "number",
883
+ "mutable": false,
884
+ "complexType": {
885
+ "original": "number",
886
+ "resolved": "number",
887
+ "references": {}
888
+ },
889
+ "required": false,
890
+ "optional": false,
891
+ "docs": {
892
+ "tags": [],
893
+ "text": "The debounce for when the input changes for autocompletes should be emitted"
894
+ },
895
+ "attribute": "input-debounce",
896
+ "reflect": false,
897
+ "defaultValue": "DEFAULT_DEBOUNCE_FAST"
898
+ },
899
+ "options": {
900
+ "type": "unknown",
901
+ "mutable": false,
902
+ "complexType": {
903
+ "original": "SixMenuItemData[] | null",
904
+ "resolved": "SixMenuItemData[] | null",
905
+ "references": {
906
+ "SixMenuItemData": {
907
+ "location": "import",
908
+ "path": "../six-menu/six-menu",
909
+ "id": "src/components/six-menu/six-menu.tsx::SixMenuItemData"
910
+ }
911
+ }
912
+ },
913
+ "required": false,
914
+ "optional": false,
915
+ "docs": {
916
+ "tags": [],
917
+ "text": "Set the options to be shown in the dropdown (alternative to setting the elements via html)"
918
+ },
919
+ "defaultValue": "null"
920
+ },
921
+ "virtualScroll": {
922
+ "type": "boolean",
923
+ "mutable": false,
924
+ "complexType": {
925
+ "original": "boolean",
926
+ "resolved": "boolean",
927
+ "references": {}
928
+ },
929
+ "required": false,
930
+ "optional": false,
931
+ "docs": {
932
+ "tags": [],
933
+ "text": "Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\nare actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot."
934
+ },
935
+ "attribute": "virtual-scroll",
936
+ "reflect": false,
937
+ "defaultValue": "false"
873
938
  }
874
- }
875
- },
876
- "required": false,
877
- "optional": false,
878
- "docs": {
879
- "tags": [],
880
- "text": "Set the options to be shown in the dropdown (alternative to setting the elements via html)"
881
- },
882
- "defaultValue": "null"
883
- },
884
- "virtualScroll": {
885
- "type": "boolean",
886
- "mutable": false,
887
- "complexType": {
888
- "original": "boolean",
889
- "resolved": "boolean",
890
- "references": {}
891
- },
892
- "required": false,
893
- "optional": false,
894
- "docs": {
895
- "tags": [],
896
- "text": "Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\nare actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot."
897
- },
898
- "attribute": "virtual-scroll",
899
- "reflect": false,
900
- "defaultValue": "false"
901
- },
902
- "defaultValue": {
903
- "type": "string",
904
- "mutable": false,
905
- "complexType": {
906
- "original": "string | string[] | undefined",
907
- "resolved": "string | string[]",
908
- "references": {}
909
- },
910
- "required": false,
911
- "optional": false,
912
- "docs": {
913
- "tags": [],
914
- "text": "The default value the select will be reverted to when reset is executed"
915
- },
916
- "attribute": "default-value",
917
- "reflect": false
918
- }
919
- };
920
- }
921
- static get states() {
922
- return {
923
- "hasFocus": {},
924
- "hasHelpTextSlot": {},
925
- "hasErrorTextSlot": {},
926
- "hasLabelSlot": {},
927
- "isOpen": {},
928
- "displayLabel": {},
929
- "displayTags": {}
930
- };
931
- }
932
- static get events() {
933
- return [{
934
- "method": "sixChange",
935
- "name": "six-select-change",
936
- "bubbles": true,
937
- "cancelable": true,
938
- "composed": true,
939
- "docs": {
940
- "tags": [],
941
- "text": "Emitted when the control's value changes."
942
- },
943
- "complexType": {
944
- "original": "SixSelectChangePayload",
945
- "resolved": "SixSelectChangePayload",
946
- "references": {
947
- "SixSelectChangePayload": {
948
- "location": "local",
949
- "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-select/six-select.tsx"
950
- }
951
- }
952
- }
953
- }, {
954
- "method": "sixFocus",
955
- "name": "six-select-focus",
956
- "bubbles": true,
957
- "cancelable": true,
958
- "composed": true,
959
- "docs": {
960
- "tags": [],
961
- "text": "Emitted when the control gains focus."
962
- },
963
- "complexType": {
964
- "original": "EmptyPayload",
965
- "resolved": "undefined",
966
- "references": {
967
- "EmptyPayload": {
968
- "location": "import",
969
- "path": "../../utils/types"
970
- }
971
- }
972
- }
973
- }, {
974
- "method": "sixBlur",
975
- "name": "six-select-blur",
976
- "bubbles": true,
977
- "cancelable": true,
978
- "composed": true,
979
- "docs": {
980
- "tags": [],
981
- "text": "Emitted when the control loses focus."
982
- },
983
- "complexType": {
984
- "original": "EmptyPayload",
985
- "resolved": "undefined",
986
- "references": {
987
- "EmptyPayload": {
988
- "location": "import",
989
- "path": "../../utils/types"
939
+ };
940
+ }
941
+ static get states() {
942
+ return {
943
+ "hasFocus": {},
944
+ "hasHelpTextSlot": {},
945
+ "hasLabelSlot": {},
946
+ "hasErrorTextSlot": {},
947
+ "isOpen": {},
948
+ "displayedValues": {},
949
+ "selectionContainerItems": {}
950
+ };
951
+ }
952
+ static get events() {
953
+ return [{
954
+ "method": "sixChange",
955
+ "name": "six-select-change",
956
+ "bubbles": true,
957
+ "cancelable": true,
958
+ "composed": true,
959
+ "docs": {
960
+ "tags": [],
961
+ "text": "Emitted when the control's value changes."
962
+ },
963
+ "complexType": {
964
+ "original": "SixSelectChangePayload",
965
+ "resolved": "SixSelectChangePayload",
966
+ "references": {
967
+ "SixSelectChangePayload": {
968
+ "location": "local",
969
+ "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-select/six-select.tsx",
970
+ "id": "src/components/six-select/six-select.tsx::SixSelectChangePayload"
971
+ }
972
+ }
973
+ }
974
+ }, {
975
+ "method": "sixFocus",
976
+ "name": "six-select-focus",
977
+ "bubbles": true,
978
+ "cancelable": true,
979
+ "composed": true,
980
+ "docs": {
981
+ "tags": [],
982
+ "text": "Emitted when the control gains focus."
983
+ },
984
+ "complexType": {
985
+ "original": "EmptyPayload",
986
+ "resolved": "undefined",
987
+ "references": {
988
+ "EmptyPayload": {
989
+ "location": "import",
990
+ "path": "../../utils/types",
991
+ "id": "src/utils/types.ts::EmptyPayload"
992
+ }
993
+ }
994
+ }
995
+ }, {
996
+ "method": "sixBlur",
997
+ "name": "six-select-blur",
998
+ "bubbles": true,
999
+ "cancelable": true,
1000
+ "composed": true,
1001
+ "docs": {
1002
+ "tags": [],
1003
+ "text": "Emitted when the control loses focus."
1004
+ },
1005
+ "complexType": {
1006
+ "original": "EmptyPayload",
1007
+ "resolved": "undefined",
1008
+ "references": {
1009
+ "EmptyPayload": {
1010
+ "location": "import",
1011
+ "path": "../../utils/types",
1012
+ "id": "src/utils/types.ts::EmptyPayload"
1013
+ }
1014
+ }
1015
+ }
1016
+ }];
1017
+ }
1018
+ static get methods() {
1019
+ return {
1020
+ "setFocus": {
1021
+ "complexType": {
1022
+ "signature": "(options?: FocusOptions) => Promise<void>",
1023
+ "parameters": [{
1024
+ "name": "options",
1025
+ "type": "FocusOptions | undefined",
1026
+ "docs": ""
1027
+ }],
1028
+ "references": {
1029
+ "Promise": {
1030
+ "location": "global",
1031
+ "id": "global::Promise"
1032
+ },
1033
+ "FocusOptions": {
1034
+ "location": "global",
1035
+ "id": "global::FocusOptions"
1036
+ }
1037
+ },
1038
+ "return": "Promise<void>"
1039
+ },
1040
+ "docs": {
1041
+ "text": "Sets focus on the select.",
1042
+ "tags": []
1043
+ }
990
1044
  }
991
- }
1045
+ };
1046
+ }
1047
+ static get elementRef() { return "host"; }
1048
+ static get watchers() {
1049
+ return [{
1050
+ "propName": "disabled",
1051
+ "methodName": "handleDisabledChange"
1052
+ }, {
1053
+ "propName": "helpText",
1054
+ "methodName": "handleLabelChange"
1055
+ }, {
1056
+ "propName": "errorText",
1057
+ "methodName": "handleLabelChange"
1058
+ }, {
1059
+ "propName": "label",
1060
+ "methodName": "handleLabelChange"
1061
+ }, {
1062
+ "propName": "multiple",
1063
+ "methodName": "handleMultipleChange"
1064
+ }, {
1065
+ "propName": "value",
1066
+ "methodName": "handleValueChange"
1067
+ }];
1068
+ }
1069
+ }
1070
+ function getCheckedItems(value, items) {
1071
+ return items.filter((item) => value.includes(item.value));
1072
+ }
1073
+ function getWidth(element) {
1074
+ return element.getBoundingClientRect().width;
1075
+ }
1076
+ function computeFitCount(options, availableWidth) {
1077
+ let accumulatedWidth = 0;
1078
+ let fitCount = 0;
1079
+ for (let i = 0; i < options.length; i++) {
1080
+ const displayOption = options[i];
1081
+ const width = getWidth(displayOption);
1082
+ if (i === 0 && width > availableWidth) {
1083
+ fitCount = 1;
1084
+ break;
992
1085
  }
993
- }];
994
- }
995
- static get methods() {
996
- return {
997
- "reportValidity": {
998
- "complexType": {
999
- "signature": "() => Promise<boolean>",
1000
- "parameters": [],
1001
- "references": {
1002
- "Promise": {
1003
- "location": "global"
1004
- }
1005
- },
1006
- "return": "Promise<boolean>"
1007
- },
1008
- "docs": {
1009
- "text": "Checks for validity and shows the browser's validation message if the control is invalid.",
1010
- "tags": []
1086
+ accumulatedWidth += width;
1087
+ if (accumulatedWidth > availableWidth) {
1088
+ break;
1011
1089
  }
1012
- },
1013
- "checkValidity": {
1014
- "complexType": {
1015
- "signature": "() => Promise<boolean>",
1016
- "parameters": [],
1017
- "references": {
1018
- "Promise": {
1019
- "location": "global"
1020
- }
1021
- },
1022
- "return": "Promise<boolean>"
1023
- },
1024
- "docs": {
1025
- "text": "Checks for validity.",
1026
- "tags": []
1090
+ else {
1091
+ fitCount += 1;
1027
1092
  }
1028
- },
1029
- "setCustomValidity": {
1030
- "complexType": {
1031
- "signature": "(message: string) => Promise<void>",
1032
- "parameters": [{
1033
- "tags": [],
1034
- "text": ""
1035
- }],
1036
- "references": {
1037
- "Promise": {
1038
- "location": "global"
1093
+ }
1094
+ const overflowCount = options.length - fitCount;
1095
+ return { fitCount, overflowCount };
1096
+ }
1097
+ function showFittingValues(displayValueOptions, fitCount) {
1098
+ if (displayValueOptions.length > 0) {
1099
+ // show items that fit
1100
+ displayValueOptions.slice(0, fitCount).forEach((displayValue, index, list) => {
1101
+ showDisplayValue(displayValue);
1102
+ const isLast = index === list.length - 1;
1103
+ if (isLast) {
1104
+ hideSeparator(displayValue);
1039
1105
  }
1040
- },
1041
- "return": "Promise<void>"
1042
- },
1043
- "docs": {
1044
- "text": "Sets a custom validation message. If `message` is not empty, the field will be considered invalid.",
1045
- "tags": []
1046
- }
1047
- },
1048
- "reset": {
1049
- "complexType": {
1050
- "signature": "() => Promise<void>",
1051
- "parameters": [],
1052
- "references": {
1053
- "Promise": {
1054
- "location": "global"
1106
+ else {
1107
+ showSeparator(displayValue);
1055
1108
  }
1056
- },
1057
- "return": "Promise<void>"
1058
- },
1059
- "docs": {
1060
- "text": "Resets the formcontrol",
1061
- "tags": []
1062
- }
1063
- }
1064
- };
1065
- }
1066
- static get elementRef() { return "host"; }
1067
- static get watchers() {
1068
- return [{
1069
- "propName": "disabled",
1070
- "methodName": "handleDisabledChange"
1071
- }, {
1072
- "propName": "helpText",
1073
- "methodName": "handleLabelChange"
1074
- }, {
1075
- "propName": "errorText",
1076
- "methodName": "handleLabelChange"
1077
- }, {
1078
- "propName": "label",
1079
- "methodName": "handleLabelChange"
1080
- }, {
1081
- "propName": "multiple",
1082
- "methodName": "handleMultipleChange"
1083
- }, {
1084
- "propName": "value",
1085
- "methodName": "handleValueChange"
1086
- }];
1087
- }
1109
+ });
1110
+ // hide the rest
1111
+ displayValueOptions.slice(fitCount).forEach((displayValue) => {
1112
+ hideDisplayValue(displayValue);
1113
+ showSeparator(displayValue);
1114
+ });
1115
+ }
1116
+ }
1117
+ function hideSeparator(displayValueOption) {
1118
+ var _a;
1119
+ (_a = displayValueOption.querySelector('.separator')) === null || _a === void 0 ? void 0 : _a.classList.add('separator--hidden');
1120
+ }
1121
+ function showSeparator(displayValueOption) {
1122
+ var _a;
1123
+ (_a = displayValueOption.querySelector('.separator')) === null || _a === void 0 ? void 0 : _a.classList.remove('separator--hidden');
1124
+ }
1125
+ function showDisplayValue(displayValueOption) {
1126
+ displayValueOption.classList.remove('display-value--hidden');
1127
+ }
1128
+ function hideDisplayValue(displayValueOption) {
1129
+ displayValueOption.classList.add('display-value--hidden');
1130
+ }
1131
+ function setOverflowCount(overflowCount, count) {
1132
+ overflowCount.textContent = `+${count}`;
1133
+ }
1134
+ function showOverflowCount(overflowCount) {
1135
+ overflowCount.classList.remove('overflow-count-hidden');
1136
+ }
1137
+ function hideOverflowCount(overflowCount) {
1138
+ overflowCount.classList.add('overflow-count-hidden');
1139
+ }
1140
+ function selectAllDefaultText(hasDeselectedOptions) {
1141
+ const lang = getLanguage();
1142
+ switch (lang) {
1143
+ case 'de':
1144
+ return hasDeselectedOptions ? 'Alle auswählen' : 'Alle abwählen';
1145
+ case 'fr':
1146
+ return hasDeselectedOptions ? 'Tout sélectionner' : 'Tout désélectionner';
1147
+ case 'it':
1148
+ return hasDeselectedOptions ? 'Seleziona tutto' : 'Deseleziona tutto';
1149
+ case 'en':
1150
+ return hasDeselectedOptions ? 'Select all' : 'Deselect all';
1151
+ case 'es':
1152
+ return hasDeselectedOptions ? 'Seleccionar todo' : 'Deseleccionar todo';
1153
+ }
1088
1154
  }
1089
1155
  //# sourceMappingURL=six-select.js.map