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

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