@six-group/ui-library 0.0.0-insider.2835e5c → 0.0.0-insider.29f6de7

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 (399) hide show
  1. package/dist/cjs/{form-control-73ff961d.js → form-control-de259450.js} +2 -2
  2. package/dist/cjs/{form-control-73ff961d.js.map → form-control-de259450.js.map} +1 -1
  3. package/dist/cjs/{index-b288f7d9.js → index-1f707a55.js} +455 -9
  4. package/dist/cjs/index-1f707a55.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/six-alert.cjs.entry.js +1 -1
  7. package/dist/cjs/six-avatar.cjs.entry.js +2 -2
  8. package/dist/cjs/six-badge.cjs.entry.js +3 -3
  9. package/dist/cjs/six-button.cjs.entry.js +5 -4
  10. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  11. package/dist/cjs/six-card.cjs.entry.js +2 -2
  12. package/dist/cjs/six-checkbox_2.cjs.entry.js +6 -6
  13. package/dist/cjs/six-datepicker.cjs.entry.js +13 -11
  14. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  15. package/dist/cjs/six-details.cjs.entry.js +4 -4
  16. package/dist/cjs/six-dialog.cjs.entry.js +3 -3
  17. package/dist/cjs/six-drawer.cjs.entry.js +3 -3
  18. package/dist/cjs/six-dropdown_2.cjs.entry.js +14 -5
  19. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  20. package/dist/cjs/six-error-page.cjs.entry.js +2 -2
  21. package/dist/cjs/six-error.cjs.entry.js +3 -3
  22. package/dist/cjs/six-error.cjs.entry.js.map +1 -1
  23. package/dist/cjs/six-file-list-item.cjs.entry.js +1 -1
  24. package/dist/cjs/six-file-list.cjs.entry.js +2 -2
  25. package/dist/cjs/six-file-upload.cjs.entry.js +27 -6
  26. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-footer.cjs.entry.js +2 -2
  28. package/dist/cjs/six-group-label.cjs.entry.js +3 -3
  29. package/dist/cjs/six-header.cjs.entry.js +22 -15
  30. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
  32. package/dist/cjs/six-icon.cjs.entry.js +3 -3
  33. package/dist/cjs/six-input.cjs.entry.js +15 -6
  34. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-item-picker.cjs.entry.js +1 -1
  36. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  37. package/dist/cjs/six-layout-grid.cjs.entry.js +2 -2
  38. package/dist/cjs/six-main-container.cjs.entry.js +2 -2
  39. package/dist/cjs/six-menu-divider.cjs.entry.js +2 -2
  40. package/dist/cjs/six-menu-label.cjs.entry.js +2 -2
  41. package/dist/cjs/six-picto.cjs.entry.js +2 -2
  42. package/dist/cjs/six-progress-bar.cjs.entry.js +3 -3
  43. package/dist/cjs/six-progress-ring.cjs.entry.js +2 -2
  44. package/dist/cjs/six-radio.cjs.entry.js +3 -3
  45. package/dist/cjs/six-range.cjs.entry.js +4 -4
  46. package/dist/cjs/six-root.cjs.entry.js +2 -2
  47. package/dist/cjs/six-search-field.cjs.entry.js +2 -2
  48. package/dist/cjs/six-select.cjs.entry.js +91 -49
  49. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +1 -1
  51. package/dist/cjs/six-sidebar-item.cjs.entry.js +3 -3
  52. package/dist/cjs/six-sidebar.cjs.entry.js +3 -3
  53. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  54. package/dist/cjs/six-stage-indicator.cjs.entry.js +1 -1
  55. package/dist/cjs/six-switch.cjs.entry.js +4 -4
  56. package/dist/cjs/six-tab-group.cjs.entry.js +3 -3
  57. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  58. package/dist/cjs/six-tab.cjs.entry.js +3 -3
  59. package/dist/cjs/six-tag.cjs.entry.js +3 -3
  60. package/dist/cjs/six-textarea.cjs.entry.js +5 -5
  61. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-tile.cjs.entry.js +4 -4
  63. package/dist/cjs/six-timepicker.cjs.entry.js +1 -1
  64. package/dist/cjs/six-tooltip.cjs.entry.js +3 -3
  65. package/dist/cjs/ui-library.cjs.js +2 -2
  66. package/dist/collection/assets/TRADEMARKS.md +3 -3
  67. package/dist/collection/collection-manifest.json +1 -1
  68. package/dist/collection/components/six-avatar/six-avatar.js +1 -1
  69. package/dist/collection/components/six-badge/six-badge.js +2 -2
  70. package/dist/collection/components/six-button/six-button.css +17 -0
  71. package/dist/collection/components/six-button/six-button.js +5 -4
  72. package/dist/collection/components/six-button/six-button.js.map +1 -1
  73. package/dist/collection/components/six-card/six-card.js +1 -1
  74. package/dist/collection/components/six-checkbox/six-checkbox.js +2 -2
  75. package/dist/collection/components/six-datepicker/six-datepicker.js +12 -10
  76. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  77. package/dist/collection/components/six-details/six-details.js +3 -3
  78. package/dist/collection/components/six-dialog/six-dialog.js +2 -2
  79. package/dist/collection/components/six-drawer/six-drawer.js +2 -2
  80. package/dist/collection/components/six-error/six-error.css +1 -0
  81. package/dist/collection/components/six-error/six-error.js +1 -1
  82. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  83. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  84. package/dist/collection/components/six-file-upload/six-file-upload.css +3 -0
  85. package/dist/collection/components/six-file-upload/six-file-upload.js +64 -5
  86. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  87. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +114 -6
  88. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -1
  89. package/dist/collection/components/six-footer/six-footer.js +1 -1
  90. package/dist/collection/components/six-group-label/six-group-label.js +1 -1
  91. package/dist/collection/components/six-header/six-header.css +9 -0
  92. package/dist/collection/components/six-header/six-header.js +38 -13
  93. package/dist/collection/components/six-header/six-header.js.map +1 -1
  94. package/dist/collection/components/six-icon/six-icon.js +2 -2
  95. package/dist/collection/components/six-icon-button/six-icon-button.js +3 -3
  96. package/dist/collection/components/six-input/six-input.css +1 -0
  97. package/dist/collection/components/six-input/six-input.js +40 -4
  98. package/dist/collection/components/six-input/six-input.js.map +1 -1
  99. package/dist/collection/components/six-language-switcher/six-language-switcher.js +1 -1
  100. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  101. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  102. package/dist/collection/components/six-menu/six-menu.js +13 -4
  103. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  104. package/dist/collection/components/six-menu/test/six-menu.spec.js +1 -1
  105. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
  106. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  107. package/dist/collection/components/six-menu-item/six-menu-item.js +2 -2
  108. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  109. package/dist/collection/components/six-picto/six-picto.js +1 -1
  110. package/dist/collection/components/six-progress-bar/six-progress-bar.js +2 -2
  111. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  112. package/dist/collection/components/six-radio/six-radio.js +2 -2
  113. package/dist/collection/components/six-range/six-range.js +2 -2
  114. package/dist/collection/components/six-root/six-root.js +1 -1
  115. package/dist/collection/components/six-search-field/six-search-field.js +1 -1
  116. package/dist/collection/components/six-select/six-select.js +56 -47
  117. package/dist/collection/components/six-select/six-select.js.map +1 -1
  118. package/dist/collection/components/six-select/test/util.spec.js +23 -1
  119. package/dist/collection/components/six-select/test/util.spec.js.map +1 -1
  120. package/dist/collection/components/six-select/util.js +24 -0
  121. package/dist/collection/components/six-select/util.js.map +1 -1
  122. package/dist/collection/components/six-sidebar/six-sidebar.js +2 -2
  123. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +2 -2
  124. package/dist/collection/components/six-switch/six-switch.js +2 -2
  125. package/dist/collection/components/six-tab/six-tab.js +2 -2
  126. package/dist/collection/components/six-tab-group/six-tab-group.js +2 -2
  127. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  128. package/dist/collection/components/six-tag/six-tag.js +2 -2
  129. package/dist/collection/components/six-textarea/six-textarea.css +5 -0
  130. package/dist/collection/components/six-textarea/six-textarea.js +2 -2
  131. package/dist/collection/components/six-tile/six-tile.js +3 -3
  132. package/dist/collection/components/six-tooltip/six-tooltip.js +2 -2
  133. package/dist/components/six-avatar.js +1 -1
  134. package/dist/components/six-badge.js +2 -2
  135. package/dist/components/six-button2.js +4 -3
  136. package/dist/components/six-button2.js.map +1 -1
  137. package/dist/components/six-card.js +1 -1
  138. package/dist/components/six-checkbox2.js +2 -2
  139. package/dist/components/six-datepicker.js +12 -10
  140. package/dist/components/six-datepicker.js.map +1 -1
  141. package/dist/components/six-details2.js +3 -3
  142. package/dist/components/six-dialog.js +2 -2
  143. package/dist/components/six-drawer.js +2 -2
  144. package/dist/components/six-error-page.js +1 -1
  145. package/dist/components/six-error2.js +2 -2
  146. package/dist/components/six-error2.js.map +1 -1
  147. package/dist/components/six-file-list.js +1 -1
  148. package/dist/components/six-file-upload.js +38 -8
  149. package/dist/components/six-file-upload.js.map +1 -1
  150. package/dist/components/six-footer.js +1 -1
  151. package/dist/components/six-group-label.js +1 -1
  152. package/dist/components/six-header.js +22 -14
  153. package/dist/components/six-header.js.map +1 -1
  154. package/dist/components/six-icon-button2.js +3 -3
  155. package/dist/components/six-icon2.js +2 -2
  156. package/dist/components/six-input2.js +14 -4
  157. package/dist/components/six-input2.js.map +1 -1
  158. package/dist/components/six-language-switcher.js +1 -1
  159. package/dist/components/six-layout-grid.js +1 -1
  160. package/dist/components/six-main-container.js +1 -1
  161. package/dist/components/six-menu-divider.js +1 -1
  162. package/dist/components/six-menu-item2.js +2 -2
  163. package/dist/components/six-menu-label.js +1 -1
  164. package/dist/components/six-menu2.js +13 -4
  165. package/dist/components/six-menu2.js.map +1 -1
  166. package/dist/components/six-picto2.js +1 -1
  167. package/dist/components/six-progress-bar.js +2 -2
  168. package/dist/components/six-progress-ring.js +1 -1
  169. package/dist/components/six-radio.js +2 -2
  170. package/dist/components/six-range.js +2 -2
  171. package/dist/components/six-root.js +1 -1
  172. package/dist/components/six-search-field.js +1 -1
  173. package/dist/components/six-select.js +89 -47
  174. package/dist/components/six-select.js.map +1 -1
  175. package/dist/components/six-sidebar-item.js +2 -2
  176. package/dist/components/six-sidebar.js +2 -2
  177. package/dist/components/six-switch.js +2 -2
  178. package/dist/components/six-tab-group.js +2 -2
  179. package/dist/components/six-tab-panel.js +1 -1
  180. package/dist/components/six-tab.js +2 -2
  181. package/dist/components/six-tag.js +2 -2
  182. package/dist/components/six-textarea.js +3 -3
  183. package/dist/components/six-textarea.js.map +1 -1
  184. package/dist/components/six-tile.js +3 -3
  185. package/dist/components/six-tooltip2.js +2 -2
  186. package/dist/components.json +157 -11
  187. package/dist/esm/{form-control-40c37714.js → form-control-30c5bd8b.js} +2 -2
  188. package/dist/esm/{form-control-40c37714.js.map → form-control-30c5bd8b.js.map} +1 -1
  189. package/dist/esm/{index-52a755dc.js → index-5390c1d6.js} +455 -9
  190. package/dist/esm/index-5390c1d6.js.map +1 -0
  191. package/dist/esm/loader.js +3 -3
  192. package/dist/esm/six-alert.entry.js +1 -1
  193. package/dist/esm/six-avatar.entry.js +2 -2
  194. package/dist/esm/six-badge.entry.js +3 -3
  195. package/dist/esm/six-button.entry.js +5 -4
  196. package/dist/esm/six-button.entry.js.map +1 -1
  197. package/dist/esm/six-card.entry.js +2 -2
  198. package/dist/esm/six-checkbox_2.entry.js +6 -6
  199. package/dist/esm/six-datepicker.entry.js +13 -11
  200. package/dist/esm/six-datepicker.entry.js.map +1 -1
  201. package/dist/esm/six-details.entry.js +4 -4
  202. package/dist/esm/six-dialog.entry.js +3 -3
  203. package/dist/esm/six-drawer.entry.js +3 -3
  204. package/dist/esm/six-dropdown_2.entry.js +14 -5
  205. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  206. package/dist/esm/six-error-page.entry.js +2 -2
  207. package/dist/esm/six-error.entry.js +3 -3
  208. package/dist/esm/six-error.entry.js.map +1 -1
  209. package/dist/esm/six-file-list-item.entry.js +1 -1
  210. package/dist/esm/six-file-list.entry.js +2 -2
  211. package/dist/esm/six-file-upload.entry.js +27 -6
  212. package/dist/esm/six-file-upload.entry.js.map +1 -1
  213. package/dist/esm/six-footer.entry.js +2 -2
  214. package/dist/esm/six-group-label.entry.js +3 -3
  215. package/dist/esm/six-header.entry.js +22 -15
  216. package/dist/esm/six-header.entry.js.map +1 -1
  217. package/dist/esm/six-icon-button.entry.js +4 -4
  218. package/dist/esm/six-icon.entry.js +3 -3
  219. package/dist/esm/six-input.entry.js +15 -6
  220. package/dist/esm/six-input.entry.js.map +1 -1
  221. package/dist/esm/six-item-picker.entry.js +1 -1
  222. package/dist/esm/six-language-switcher.entry.js +2 -2
  223. package/dist/esm/six-layout-grid.entry.js +2 -2
  224. package/dist/esm/six-main-container.entry.js +2 -2
  225. package/dist/esm/six-menu-divider.entry.js +2 -2
  226. package/dist/esm/six-menu-label.entry.js +2 -2
  227. package/dist/esm/six-picto.entry.js +2 -2
  228. package/dist/esm/six-progress-bar.entry.js +3 -3
  229. package/dist/esm/six-progress-ring.entry.js +2 -2
  230. package/dist/esm/six-radio.entry.js +3 -3
  231. package/dist/esm/six-range.entry.js +4 -4
  232. package/dist/esm/six-root.entry.js +2 -2
  233. package/dist/esm/six-search-field.entry.js +2 -2
  234. package/dist/esm/six-select.entry.js +91 -49
  235. package/dist/esm/six-select.entry.js.map +1 -1
  236. package/dist/esm/six-sidebar-item-group.entry.js +1 -1
  237. package/dist/esm/six-sidebar-item.entry.js +3 -3
  238. package/dist/esm/six-sidebar.entry.js +3 -3
  239. package/dist/esm/six-spinner.entry.js +1 -1
  240. package/dist/esm/six-stage-indicator.entry.js +1 -1
  241. package/dist/esm/six-switch.entry.js +4 -4
  242. package/dist/esm/six-tab-group.entry.js +3 -3
  243. package/dist/esm/six-tab-panel.entry.js +2 -2
  244. package/dist/esm/six-tab.entry.js +3 -3
  245. package/dist/esm/six-tag.entry.js +3 -3
  246. package/dist/esm/six-textarea.entry.js +5 -5
  247. package/dist/esm/six-textarea.entry.js.map +1 -1
  248. package/dist/esm/six-tile.entry.js +4 -4
  249. package/dist/esm/six-timepicker.entry.js +1 -1
  250. package/dist/esm/six-tooltip.entry.js +3 -3
  251. package/dist/esm/ui-library.js +3 -3
  252. package/dist/types/components/six-button/six-button.d.ts +1 -1
  253. package/dist/types/components/six-file-upload/six-file-upload.d.ts +8 -0
  254. package/dist/types/components/six-header/six-header.d.ts +3 -1
  255. package/dist/types/components/six-input/six-input.d.ts +9 -1
  256. package/dist/types/components/six-menu/six-menu.d.ts +1 -1
  257. package/dist/types/components/six-select/six-select.d.ts +0 -2
  258. package/dist/types/components/six-select/util.d.ts +2 -0
  259. package/dist/types/components.d.ts +47 -3
  260. package/dist/ui-library/assets/TRADEMARKS.md +3 -3
  261. package/dist/ui-library/p-030fa1fa.entry.js +2 -0
  262. package/dist/ui-library/p-037afc74.entry.js +2 -0
  263. package/dist/ui-library/p-037afc74.entry.js.map +1 -0
  264. package/dist/ui-library/{p-45960b56.entry.js → p-047d02ad.entry.js} +2 -2
  265. package/dist/ui-library/p-05eb1bab.js +3 -0
  266. package/dist/ui-library/p-05eb1bab.js.map +1 -0
  267. package/dist/ui-library/{p-3827f9e0.entry.js → p-06ba653e.entry.js} +2 -2
  268. package/dist/ui-library/{p-3e9324c8.entry.js → p-07c8de65.entry.js} +2 -2
  269. package/dist/ui-library/{p-1d4cb6e9.entry.js → p-0c129b61.entry.js} +2 -2
  270. package/dist/ui-library/p-11344bb8.entry.js +2 -0
  271. package/dist/ui-library/{p-ab8f9503.entry.js → p-14e5fccc.entry.js} +2 -2
  272. package/dist/ui-library/p-189602e4.entry.js +2 -0
  273. package/dist/ui-library/p-1adc26f2.entry.js +2 -0
  274. package/dist/ui-library/p-1adc26f2.entry.js.map +1 -0
  275. package/dist/ui-library/{p-8938e9bd.entry.js → p-2386627e.entry.js} +2 -2
  276. package/dist/ui-library/{p-756f4acf.entry.js → p-32e421a3.entry.js} +2 -2
  277. package/dist/ui-library/p-32e421a3.entry.js.map +1 -0
  278. package/dist/ui-library/p-347e568f.entry.js +2 -0
  279. package/dist/ui-library/p-36d5f98a.entry.js +2 -0
  280. package/dist/ui-library/p-36d5f98a.entry.js.map +1 -0
  281. package/dist/ui-library/{p-7c2255b5.entry.js → p-37433242.entry.js} +2 -2
  282. package/dist/ui-library/{p-5f810571.entry.js → p-3b5a76ea.entry.js} +2 -2
  283. package/dist/ui-library/{p-7fc0bf6b.entry.js → p-416b0439.entry.js} +2 -2
  284. package/dist/ui-library/{p-724d0458.entry.js → p-419ed003.entry.js} +2 -2
  285. package/dist/ui-library/p-45b0748e.entry.js +2 -0
  286. package/dist/ui-library/p-45b0748e.entry.js.map +1 -0
  287. package/dist/ui-library/p-47c84904.entry.js +2 -0
  288. package/dist/ui-library/p-47c84904.entry.js.map +1 -0
  289. package/dist/ui-library/{p-93ab2efc.entry.js → p-4963f03c.entry.js} +2 -2
  290. package/dist/ui-library/{p-29b75db4.entry.js → p-4bc7bbdb.entry.js} +2 -2
  291. package/dist/ui-library/{p-03900e17.entry.js → p-4d89932f.entry.js} +2 -2
  292. package/dist/ui-library/{p-aa99a393.js → p-605bdd81.js} +2 -2
  293. package/dist/ui-library/p-63acceb6.entry.js +2 -0
  294. package/dist/ui-library/{p-80476b0f.entry.js.map → p-63acceb6.entry.js.map} +1 -1
  295. package/dist/ui-library/{p-803915da.entry.js → p-63ee5e7e.entry.js} +2 -2
  296. package/dist/ui-library/{p-e798314b.entry.js → p-6b40c40c.entry.js} +2 -2
  297. package/dist/ui-library/p-6b40c40c.entry.js.map +1 -0
  298. package/dist/ui-library/{p-8644f970.entry.js → p-6f9153be.entry.js} +2 -2
  299. package/dist/ui-library/{p-52c04973.entry.js → p-7bdd1116.entry.js} +2 -2
  300. package/dist/ui-library/p-7c18b8ca.entry.js +2 -0
  301. package/dist/ui-library/{p-7a9dcb16.entry.js → p-8f1d3461.entry.js} +2 -2
  302. package/dist/ui-library/p-96d441e9.entry.js +2 -0
  303. package/dist/ui-library/p-96d441e9.entry.js.map +1 -0
  304. package/dist/ui-library/{p-d55db23a.entry.js → p-99f6fe01.entry.js} +2 -2
  305. package/dist/ui-library/p-9cb83369.entry.js +2 -0
  306. package/dist/ui-library/{p-d717a2f2.entry.js → p-a398e3eb.entry.js} +2 -2
  307. package/dist/ui-library/{p-9426a37b.entry.js → p-a9e009af.entry.js} +2 -2
  308. package/dist/ui-library/{p-8f307b55.entry.js → p-b335ed9c.entry.js} +2 -2
  309. package/dist/ui-library/{p-7562d5f5.entry.js → p-b5acf54d.entry.js} +2 -2
  310. package/dist/ui-library/{p-acc487ec.entry.js → p-b60c20aa.entry.js} +2 -2
  311. package/dist/ui-library/{p-a2a6aaea.entry.js → p-b7c68f74.entry.js} +2 -2
  312. package/dist/ui-library/{p-e43e5e45.entry.js → p-c62893e5.entry.js} +2 -2
  313. package/dist/ui-library/{p-288da3ba.entry.js → p-c6464bfe.entry.js} +2 -2
  314. package/dist/ui-library/{p-49e5d8bb.entry.js → p-cf109cbf.entry.js} +2 -2
  315. package/dist/ui-library/{p-21002de1.entry.js → p-d1a2f84b.entry.js} +2 -2
  316. package/dist/ui-library/{p-7a722a13.entry.js → p-d42f1ea9.entry.js} +2 -2
  317. package/dist/ui-library/{p-6c96b62e.entry.js → p-d88b9c16.entry.js} +2 -2
  318. package/dist/ui-library/p-d9586999.entry.js +2 -0
  319. package/dist/ui-library/p-e14d78e9.entry.js +2 -0
  320. package/dist/ui-library/p-e14d78e9.entry.js.map +1 -0
  321. package/dist/ui-library/{p-c948cf70.entry.js → p-e9b8ad98.entry.js} +2 -2
  322. package/dist/ui-library/{p-01853739.entry.js → p-ebbe9bdc.entry.js} +2 -2
  323. package/dist/ui-library/{p-38a9a590.entry.js → p-fe89a7c4.entry.js} +2 -2
  324. package/dist/ui-library/ui-library.esm.js +1 -1
  325. package/dist/ui-library/ui-library.esm.js.map +1 -1
  326. package/package.json +1 -1
  327. package/dist/cjs/index-b288f7d9.js.map +0 -1
  328. package/dist/collection/components/six-header/assets/six-logo.svg +0 -1
  329. package/dist/collection/components/six-header/test/six-header.spec.js +0 -177
  330. package/dist/collection/components/six-header/test/six-header.spec.js.map +0 -1
  331. package/dist/esm/index-52a755dc.js.map +0 -1
  332. package/dist/ui-library/assets/six-logo.svg +0 -1
  333. package/dist/ui-library/p-0a094514.entry.js +0 -2
  334. package/dist/ui-library/p-19a1d34c.entry.js +0 -2
  335. package/dist/ui-library/p-19a1d34c.entry.js.map +0 -1
  336. package/dist/ui-library/p-19ca3bd1.entry.js +0 -2
  337. package/dist/ui-library/p-19ca3bd1.entry.js.map +0 -1
  338. package/dist/ui-library/p-1f1224ae.entry.js +0 -2
  339. package/dist/ui-library/p-338205f4.entry.js +0 -2
  340. package/dist/ui-library/p-338205f4.entry.js.map +0 -1
  341. package/dist/ui-library/p-3eed2287.entry.js +0 -2
  342. package/dist/ui-library/p-4af73ea9.entry.js +0 -2
  343. package/dist/ui-library/p-4af73ea9.entry.js.map +0 -1
  344. package/dist/ui-library/p-50dbe99f.entry.js +0 -2
  345. package/dist/ui-library/p-50dbe99f.entry.js.map +0 -1
  346. package/dist/ui-library/p-756f4acf.entry.js.map +0 -1
  347. package/dist/ui-library/p-80476b0f.entry.js +0 -2
  348. package/dist/ui-library/p-8dff4dcb.entry.js +0 -2
  349. package/dist/ui-library/p-8dff4dcb.entry.js.map +0 -1
  350. package/dist/ui-library/p-a2b8aca7.entry.js +0 -2
  351. package/dist/ui-library/p-ba7424b3.entry.js +0 -2
  352. package/dist/ui-library/p-d7739200.entry.js +0 -2
  353. package/dist/ui-library/p-e3766acb.entry.js +0 -2
  354. package/dist/ui-library/p-e798314b.entry.js.map +0 -1
  355. package/dist/ui-library/p-f1bb5648.entry.js +0 -2
  356. package/dist/ui-library/p-f1bb5648.entry.js.map +0 -1
  357. package/dist/ui-library/p-f93d8a4e.js +0 -3
  358. package/dist/ui-library/p-f93d8a4e.js.map +0 -1
  359. /package/dist/ui-library/{p-3eed2287.entry.js.map → p-030fa1fa.entry.js.map} +0 -0
  360. /package/dist/ui-library/{p-45960b56.entry.js.map → p-047d02ad.entry.js.map} +0 -0
  361. /package/dist/ui-library/{p-3827f9e0.entry.js.map → p-06ba653e.entry.js.map} +0 -0
  362. /package/dist/ui-library/{p-3e9324c8.entry.js.map → p-07c8de65.entry.js.map} +0 -0
  363. /package/dist/ui-library/{p-1d4cb6e9.entry.js.map → p-0c129b61.entry.js.map} +0 -0
  364. /package/dist/ui-library/{p-1f1224ae.entry.js.map → p-11344bb8.entry.js.map} +0 -0
  365. /package/dist/ui-library/{p-ab8f9503.entry.js.map → p-14e5fccc.entry.js.map} +0 -0
  366. /package/dist/ui-library/{p-d7739200.entry.js.map → p-189602e4.entry.js.map} +0 -0
  367. /package/dist/ui-library/{p-8938e9bd.entry.js.map → p-2386627e.entry.js.map} +0 -0
  368. /package/dist/ui-library/{p-ba7424b3.entry.js.map → p-347e568f.entry.js.map} +0 -0
  369. /package/dist/ui-library/{p-7c2255b5.entry.js.map → p-37433242.entry.js.map} +0 -0
  370. /package/dist/ui-library/{p-5f810571.entry.js.map → p-3b5a76ea.entry.js.map} +0 -0
  371. /package/dist/ui-library/{p-7fc0bf6b.entry.js.map → p-416b0439.entry.js.map} +0 -0
  372. /package/dist/ui-library/{p-724d0458.entry.js.map → p-419ed003.entry.js.map} +0 -0
  373. /package/dist/ui-library/{p-93ab2efc.entry.js.map → p-4963f03c.entry.js.map} +0 -0
  374. /package/dist/ui-library/{p-29b75db4.entry.js.map → p-4bc7bbdb.entry.js.map} +0 -0
  375. /package/dist/ui-library/{p-03900e17.entry.js.map → p-4d89932f.entry.js.map} +0 -0
  376. /package/dist/ui-library/{p-aa99a393.js.map → p-605bdd81.js.map} +0 -0
  377. /package/dist/ui-library/{p-803915da.entry.js.map → p-63ee5e7e.entry.js.map} +0 -0
  378. /package/dist/ui-library/{p-8644f970.entry.js.map → p-6f9153be.entry.js.map} +0 -0
  379. /package/dist/ui-library/{p-52c04973.entry.js.map → p-7bdd1116.entry.js.map} +0 -0
  380. /package/dist/ui-library/{p-e3766acb.entry.js.map → p-7c18b8ca.entry.js.map} +0 -0
  381. /package/dist/ui-library/{p-7a9dcb16.entry.js.map → p-8f1d3461.entry.js.map} +0 -0
  382. /package/dist/ui-library/{p-d55db23a.entry.js.map → p-99f6fe01.entry.js.map} +0 -0
  383. /package/dist/ui-library/{p-0a094514.entry.js.map → p-9cb83369.entry.js.map} +0 -0
  384. /package/dist/ui-library/{p-d717a2f2.entry.js.map → p-a398e3eb.entry.js.map} +0 -0
  385. /package/dist/ui-library/{p-9426a37b.entry.js.map → p-a9e009af.entry.js.map} +0 -0
  386. /package/dist/ui-library/{p-8f307b55.entry.js.map → p-b335ed9c.entry.js.map} +0 -0
  387. /package/dist/ui-library/{p-7562d5f5.entry.js.map → p-b5acf54d.entry.js.map} +0 -0
  388. /package/dist/ui-library/{p-acc487ec.entry.js.map → p-b60c20aa.entry.js.map} +0 -0
  389. /package/dist/ui-library/{p-a2a6aaea.entry.js.map → p-b7c68f74.entry.js.map} +0 -0
  390. /package/dist/ui-library/{p-e43e5e45.entry.js.map → p-c62893e5.entry.js.map} +0 -0
  391. /package/dist/ui-library/{p-288da3ba.entry.js.map → p-c6464bfe.entry.js.map} +0 -0
  392. /package/dist/ui-library/{p-49e5d8bb.entry.js.map → p-cf109cbf.entry.js.map} +0 -0
  393. /package/dist/ui-library/{p-21002de1.entry.js.map → p-d1a2f84b.entry.js.map} +0 -0
  394. /package/dist/ui-library/{p-7a722a13.entry.js.map → p-d42f1ea9.entry.js.map} +0 -0
  395. /package/dist/ui-library/{p-6c96b62e.entry.js.map → p-d88b9c16.entry.js.map} +0 -0
  396. /package/dist/ui-library/{p-a2b8aca7.entry.js.map → p-d9586999.entry.js.map} +0 -0
  397. /package/dist/ui-library/{p-c948cf70.entry.js.map → p-e9b8ad98.entry.js.map} +0 -0
  398. /package/dist/ui-library/{p-01853739.entry.js.map → p-ebbe9bdc.entry.js.map} +0 -0
  399. /package/dist/ui-library/{p-38a9a590.entry.js.map → p-fe89a7c4.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"six-select.js","sourceRoot":"","sources":["../../../src/components/six-select/six-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getTextContent, hasSlot } from '../../utils/slot';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { SixMenuItemData } from '../six-menu/six-menu';\nimport { getLanguage } from '../../utils/error-messages';\n\nexport interface SixSelectChangePayload {\n value: string | string[];\n isSelected: boolean;\n}\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The select's options in the form of menu items.\n * @slot label - The select's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes how to use the select.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part clear-button - The input's clear button, exported from six-input.\n * @part form-control - The form control that wraps the label, input, and help text.\n * @part help-text - The select's help text.\n * @part icon - The select's icon.\n * @part label - The select's label.\n * @part menu - The select menu, a six-menu element.\n * @part tag - The multiselect option, a six-tag element.\n * @part tags - The container in which multiselect options are rendered.\n */\n\n@Component({\n tag: 'six-select',\n styleUrl: 'six-select.scss',\n shadow: true,\n})\nexport class SixSelect {\n private box?: HTMLElement;\n private menu?: HTMLElement;\n private dropdown?: HTMLSixDropdownElement;\n private displayValuesContainer?: HTMLElement;\n private overflowCount?: HTMLElement;\n private autocompleteInput?: HTMLSixInputElement;\n private inputId = `select-${++id}`;\n private labelId = `select-label-${id}`;\n private helpTextId = `select-help-text-${id}`;\n private errorTextId = `select-error-text-${id}`;\n private eventListeners = new EventListeners();\n private activeItemIndex = -1;\n private resizeObserver = new ResizeObserver(() => this.updateDisplayedValues());\n\n @Element() host!: HTMLSixSelectElement;\n\n @State() hasFocus = false;\n @State() hasHelpTextSlot = false;\n @State() hasLabelSlot = false;\n @State() hasErrorTextSlot = false;\n @State() isOpen = false;\n @State() displayedValues: string[] = [];\n\n /** Menu items shown in the selection container. */\n @State() selectionContainerItems: HTMLSixMenuItemElement[] = [];\n\n /** Set to true to enable multiselect. */\n @Prop() multiple = false;\n\n /** Enables the select all button. */\n @Prop() selectAllButton = false;\n\n /**\n * Custom text for the \"select all\" button. Defaults to \"Select all\" and equivalents in supported languages.\n */\n @Prop() selectAllText?: string;\n\n /**\n * The maximum number of tags to show when `multiple` is true. After the maximum, \"+n\" will be shown to indicate the\n * number of additional items that are selected. Set to -1 to remove the limit.\n *\n * @deprecated: This property is ignored. The component now displays as many items as possible and computes the \"+n\" dynamically.\n */\n @Prop() maxTagsVisible = 3;\n\n /** Set to true to disable the select control. */\n @Prop() disabled = false;\n\n /** The select's name. */\n @Prop() name = '';\n\n /** The select's placeholder text. */\n @Prop() placeholder = '';\n\n /** The filter's placeholder text. */\n @Prop() filterPlaceholder?: string;\n\n /** The debounce for the filter callbacks. */\n @Prop() filterDebounce?: number;\n\n /** The select's size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /** The value of the control. This will be a string or an array depending on `multiple`. */\n @Prop({ mutable: true }) value: string | string[] = '';\n\n /** Set to true to draw a pill-style select with rounded edges. */\n @Prop() pill = false;\n\n /** The select's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /** Set to true to add a clear button when the select is populated. */\n @Prop() clearable = false;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** Set to render as line */\n @Prop() line = false;\n\n /** Set to true to allow filtering for entries in the dropdown */\n @Prop() filter = false;\n\n /**\n * Set to true to allow async filtering.\n * When you enter something in the search field the component will only emit an event but not filter any elements itself.\n * You can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself\n */\n @Prop() asyncFilter = false;\n\n /**\n * Set to true to turn the six-select into an autocomplete.\n */\n @Prop() autocomplete = false;\n\n /** The debounce for when the input changes for autocompletes should be emitted */\n @Prop() inputDebounce = DEFAULT_DEBOUNCE_FAST;\n\n /** Set the options to be shown in the dropdown (alternative to setting the elements via html) */\n @Prop() options: SixMenuItemData[] | null = null;\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n @Watch('disabled')\n handleDisabledChange() {\n if (this.disabled && this.isOpen) {\n this.dropdown?.hide();\n }\n }\n\n @Watch('helpText')\n @Watch('errorText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n @Watch('multiple')\n handleMultipleChange() {\n // Cast to array | string based on `this.multiple`\n const value = this.getValueAsArray();\n this.value = this.multiple ? value : value[0] || '';\n this.syncItemsFromValue();\n }\n\n @Watch('value')\n async handleValueChange() {\n if (this.multiple && !Array.isArray(this.value)) {\n this.value = [];\n }\n\n if (!this.multiple && typeof this.value !== 'string') {\n this.value = '';\n }\n await this.syncItemsFromValue();\n }\n\n /** Emitted when the control's value changes. */\n @Event({ eventName: 'six-select-change' }) sixChange!: EventEmitter<SixSelectChangePayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-select-focus' }) sixFocus!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-select-blur' }) sixBlur!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n if (this.virtualScroll && this.options === null) {\n console.error('Options must be defined when using virtual scrolling');\n }\n this.init();\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n if (this.multiple && this.value != null) {\n this.value = this.getValueAsArray();\n }\n }\n\n componentDidLoad() {\n this.init();\n\n // We need to do an initial sync after the component has rendered, so this will suppress the re-render warning\n requestAnimationFrame(() => this.syncItemsFromValue());\n\n if (this.autocomplete && this.autocompleteInput != null) {\n const autocompleteInput = this.autocompleteInput;\n this.eventListeners.add(\n autocompleteInput,\n 'six-input-input',\n debounce((event) => {\n this.value = autocompleteInput.value;\n this.sixChange.emit({ value: this.value, isSelected: false });\n event.stopPropagation();\n }, this.inputDebounce)\n );\n autocompleteInput.value = Array.isArray(this.value) ? this.value.join(',') : this.value;\n }\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n /** Sets focus on the select. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.hasFocus = true;\n this.box?.focus(options);\n }\n\n private init() {\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.forward('six-select-change', 'change', this.host);\n this.eventListeners.forward('six-select-blur', 'blur', this.host);\n this.eventListeners.forward('six-select-focus', 'focus', this.host);\n if (this.displayValuesContainer) {\n this.resizeObserver.observe(this.displayValuesContainer);\n }\n }\n\n private getItemLabel(item: HTMLSixMenuItemElement): string {\n const slot = item.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n if (slot != null) {\n return getTextContent(slot);\n } else {\n // bugfix/COMSLI-203-six-select-value-is-not-updated-if-the-slot-is-changed\n return item.textContent ?? '';\n }\n }\n\n private getItems(): HTMLSixMenuItemElement[] {\n if (this.options !== null && this.menu != null && this.menu.shadowRoot != null) {\n return [...this.menu.shadowRoot.querySelectorAll('six-menu-item')];\n }\n\n return [...this.host.querySelectorAll('six-menu-item')];\n }\n\n private getVisibleItems(): HTMLSixMenuItemElement[] {\n const selectionContainerItems = this.getSelectionContainerItems();\n const mainItems = this.getItems();\n return [...selectionContainerItems, ...mainItems].filter((i) => i.style.display !== 'none');\n }\n\n private getSelectionContainerItems() {\n return [...(this.host.shadowRoot?.querySelectorAll('six-menu-item') || [])];\n }\n\n private getValueAsArray() {\n const values = Array.isArray(this.value) ? this.value : this.value === '' ? [] : [this.value];\n // enforce that the values are converted to 'string' before the value is compared\n return values.map(String);\n }\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.sixBlur.emit();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.sixFocus.emit();\n };\n\n private handleClearClick = async (event: MouseEvent) => {\n event.stopPropagation();\n await this.clearValues();\n await this.dropdown?.hide();\n this.sixChange.emit({ value: this.value, isSelected: true });\n };\n\n private async clearValues() {\n this.value = this.multiple ? [] : '';\n this.selectionContainerItems = [];\n await this.syncItemsFromValue();\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.virtualScroll || this.autocomplete) {\n return;\n }\n\n if (['Control', 'Escape'].includes(event.key)) {\n return;\n }\n\n const items = this.getVisibleItems();\n\n // Ctrl-A selects all items\n if (this.isOpen && this.multiple && event.code === 'KeyA' && event.ctrlKey) {\n event.preventDefault();\n this.selectAll();\n return;\n }\n\n // Tabbing out of the control closes it\n if (event.key === 'Tab') {\n if (this.isOpen) {\n this.dropdown?.hide();\n }\n return;\n }\n\n if (event.key === ' ' && !this.multiple) {\n return;\n }\n\n // Enter and Space selects the active item\n if (this.activeItemIndex >= 0 && ['Enter', ' '].includes(event.key)) {\n const activeItem = items.at(this.activeItemIndex);\n event.preventDefault();\n activeItem?.click();\n return;\n }\n\n // Move the selection when pressing up or down\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n // Show the menu if it's not already open\n if (!this.isOpen) {\n this.dropdown?.show();\n }\n\n if (items.length > 0) {\n event.preventDefault();\n\n if (event.key === 'ArrowDown') {\n this.activeItemIndex++;\n } else if (event.key === 'ArrowUp') {\n this.activeItemIndex--;\n } else if (event.key === 'Home') {\n this.activeItemIndex = 0;\n } else if (event.key === 'End') {\n this.activeItemIndex = items.length - 1;\n }\n\n if (this.activeItemIndex < 0) this.activeItemIndex = 0;\n if (this.activeItemIndex > items.length - 1) this.activeItemIndex = items.length - 1;\n\n items.at(this.activeItemIndex)?.setFocus();\n }\n }\n\n // All other keys open the menu\n if (!this.isOpen) {\n event.stopPropagation();\n event.preventDefault();\n this.dropdown?.show();\n }\n };\n\n private selectAll() {\n const visibleItems = this.getVisibleItems();\n const hasDeselectedOptions = this.hasDeselectedOptions();\n visibleItems.filter((option) => !option.disabled).forEach((option) => (option.checked = hasDeselectedOptions));\n const checkedItems = visibleItems.filter((option) => option.checked).map((option) => option.value);\n this.value = hasDeselectedOptions ? checkedItems : [];\n this.sixChange.emit({ value: this.value, isSelected: true });\n }\n\n private handleLabelClick = () => {\n this.box?.focus();\n };\n\n private handleMenuSelect = (event: CustomEvent) => {\n const currentItem = event.detail.item as HTMLSixMenuItemElement;\n if (this.multiple) {\n currentItem.checked = !currentItem.checked;\n } else {\n this.getItems().forEach((i) => (i.checked = false));\n currentItem.checked = true;\n }\n this.syncValueFromItems();\n this.sixChange.emit({ value: this.value, isSelected: true });\n };\n\n private handleMenuShow = (event: CustomEvent) => {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n this.activeItemIndex = -1;\n\n // reset display style of main items\n const mainItems = this.getItems();\n mainItems.forEach((item) => (item.style.display = 'unset'));\n\n // show selected menu items in the selection container and hide them in the main container\n const checkedItems = getCheckedItems(this.getValueAsArray(), mainItems);\n if (!this.virtualScroll && this.multiple) {\n checkedItems.forEach((i) => (i.style.display = 'none'));\n this.selectionContainerItems = checkedItems.map((item) => {\n return (\n <six-menu-item\n key={item.value} // key makes sure the node is not re-used: https://stenciljs.com/docs/templating-jsx#conditionals\n checked={true}\n value={item.value}\n checkType={this.multiple ? 'checkbox' : 'check'}\n onClick={(event) => {\n event.stopPropagation();\n if (!this.disabled) {\n const menuItem = event.target as HTMLSixMenuItemElement;\n const isChecked = menuItem.checked;\n menuItem.checked = !isChecked;\n item.checked = !isChecked;\n this.syncValueFromItems();\n this.sixChange.emit({ value: this.value, isSelected: true });\n }\n }}\n >\n {this.getItemLabel(item)}\n </six-menu-item>\n );\n });\n }\n\n this.isOpen = true;\n };\n\n private handleMenuHide = () => {\n this.isOpen = false;\n };\n\n private handleSlotChange = () => {\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.hasErrorTextSlot = hasSlot(this.host, 'error-text');\n this.syncItemsFromValue();\n };\n\n /**\n * Sets the checked state of menu items and renders the displayed values.\n */\n private async syncItemsFromValue() {\n const selectionContainerItems = this.getSelectionContainerItems();\n const mainItems = this.getItems();\n const value = this.getValueAsArray();\n\n selectionContainerItems.forEach((item) => {\n item.checkType = this.multiple ? 'checkbox' : 'check';\n item.checked = value.includes(item.value);\n });\n mainItems.forEach((item) => {\n item.checkType = this.multiple ? 'checkbox' : 'check';\n item.checked = value.includes(item.value);\n });\n\n const checkedItems = getCheckedItems(this.getValueAsArray(), mainItems);\n this.displayedValues = checkedItems.map((i) => this.getItemLabel(i));\n\n if (this.autocomplete && this.autocompleteInput != null) {\n this.autocompleteInput.value = Array.isArray(this.value) ? this.value.join(',') : this.value;\n }\n\n requestAnimationFrame(() => {\n this.updateDisplayedValues();\n });\n }\n\n private syncValueFromItems() {\n const items = this.getItems();\n const checkedValues = items.filter((item) => item.checked).map((item) => item.value);\n if (this.multiple) {\n this.value = checkedValues;\n } else {\n this.value = checkedValues.length > 0 ? checkedValues[0] : '';\n }\n }\n\n private updateDisplayedValues() {\n const displayValueOptions = [...(this.displayValuesContainer?.querySelectorAll('.display-value') ?? [])];\n if (this.displayValuesContainer == null || displayValueOptions.length === 0 || this.overflowCount == null) {\n return;\n }\n\n // Show all options and separators to properly measure all widths.\n displayValueOptions.forEach((d) => {\n showDisplayValue(d);\n showSeparator(d);\n });\n\n // Measure available width. The last separator is added to the available width, because it will be hidden later on.\n const separator = displayValueOptions[displayValueOptions.length - 1].querySelector('.separator');\n if (separator == null) return;\n let availableWidth = getWidth(this.displayValuesContainer) + getWidth(separator);\n\n // Compute how many display value elements fit in the available width\n let { fitCount, overflowCount } = computeFitCount(displayValueOptions, availableWidth);\n\n if (overflowCount === 0) {\n // All items fit, hide overflow count and show all values.\n hideOverflowCount(this.overflowCount);\n showFittingValues(displayValueOptions, fitCount);\n } else {\n // Not all items fit in the available width. Recompute the available width with the overflow-count visible.\n\n // Increment overflow count by one to make sure the elements fit, even if the overflow count increases to the\n // next higher power of ten, e.g. from 9 to 10 or 99 to 100.\n setOverflowCount(this.overflowCount, overflowCount + 1);\n showOverflowCount(this.overflowCount);\n\n // Subtract the overflow count from the available width\n availableWidth = availableWidth - getWidth(this.overflowCount);\n\n // Compute how many display value elements fit in the new available width\n ({ fitCount, overflowCount } = computeFitCount(displayValueOptions, availableWidth));\n\n // Show overflow count and items that fit.\n setOverflowCount(this.overflowCount, overflowCount);\n showFittingValues(displayValueOptions, fitCount);\n }\n }\n\n render() {\n const hasSelection = this.hasSelection();\n const items = this.getItems();\n const hasMenuItems = items.length > 0;\n const hasDeselectedOptions = this.hasDeselectedOptions();\n let showClear = false;\n let showExpand = hasMenuItems;\n if (this.clearable && hasSelection) {\n showClear = true;\n showExpand = false;\n }\n\n return (\n <FormControl\n inputId={this.inputId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n helpTextId={this.helpTextId}\n helpText={this.helpText}\n hasHelpTextSlot={this.hasHelpTextSlot}\n errorTextId={this.errorTextId}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n hasErrorTextSlot={this.hasErrorTextSlot}\n size={this.size}\n onLabelClick={this.handleLabelClick}\n disabled={this.disabled}\n required={this.required}\n displayError={this.invalid}\n >\n <six-dropdown\n part=\"base\"\n ref={(el) => (this.dropdown = el)}\n hoist={this.hoist}\n matchTriggerWidth={true}\n closeOnSelect={!this.multiple}\n containingElement={this.host}\n disableHideOnEnterAndSpace={this.autocomplete}\n class={{\n select: true,\n 'select--open': this.isOpen,\n 'select--empty': this.value?.length === 0,\n 'select--focused': this.hasFocus,\n 'select--clearable': this.clearable,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--has-tags': this.multiple && hasSelection,\n 'select--placeholder-visible': this.displayedValues.length === 0,\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large',\n 'select--pill': this.pill,\n 'select--invalid': this.invalid,\n }}\n onKeyDown={this.handleKeyDown}\n onSix-dropdown-show={this.handleMenuShow}\n onSix-dropdown-hide={this.handleMenuHide}\n filterPlaceholder={this.filterPlaceholder}\n filterDebounce={this.filterDebounce}\n filter={this.filter}\n asyncFilter={this.asyncFilter}\n virtualScroll={this.virtualScroll}\n >\n {/* Trigger */}\n <div\n slot=\"trigger\"\n ref={(el) => (this.box = el)}\n id={this.inputId}\n class={{\n select__box: true,\n 'select__box--line': this.line,\n 'select__box--autocomplete': this.autocomplete,\n }}\n role=\"combobox\"\n aria-labelledby={this.labelId}\n aria-describedby={this.helpTextId}\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n tabIndex={this.disabled ? -1 : 0}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n >\n {/* Display values */}\n <div class=\"display__values\" ref={(el) => (this.displayValuesContainer = el)}>\n {this.displayedValues.length > 0 ? (\n <span class=\"display__values-and-counter\">\n <span class=\"display__values-values\">\n {this.displayedValues.map((value) => (\n <span key={value} class=\"display-value\">\n {value}\n <span class={{ separator: true }}>, </span>\n </span>\n ))}\n </span>\n <span ref={(el) => (this.overflowCount = el)} class=\"overflow-count\">\n +10\n </span>\n </span>\n ) : (\n <span class=\"placeholder\">{this.placeholder}</span>\n )}\n </div>\n\n {/* Clear */}\n {showClear && (\n <six-icon-button\n exportparts=\"base:clear-button\"\n class=\"select__clear\"\n name=\"clear\"\n size=\"small\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n />\n )}\n\n {/* Expand */}\n {showExpand && (\n <span part=\"icon\" class=\"select__icon\">\n <six-icon size=\"medium\">expand_more</six-icon>\n </span>\n )}\n\n {/* Autocomplete */}\n <six-input\n ref={(el) => (this.autocompleteInput = el)}\n class={{\n select__input: true,\n 'select__hidden-select': !this.autocomplete,\n }}\n aria-hidden=\"true\"\n required={this.required}\n onFocus={this.handleFocus}\n clearable={this.clearable}\n placeholder={this.placeholder}\n pill={this.pill}\n disabled={this.disabled}\n size={this.size}\n tabIndex={-1}\n />\n </div>\n\n {/* Selection container */}\n <div\n class={{\n 'selection-container': true,\n 'selection-container--border':\n this.selectionContainerItems.length > 0 && items.length !== this.selectionContainerItems.length,\n }}\n >\n {this.selectionContainerItems}\n </div>\n\n {/* Menu */}\n <six-menu\n ref={(el) => (this.menu = el)}\n part=\"menu\"\n class={{\n select__menu: true,\n 'select__menu--hidden': !hasMenuItems,\n }}\n onSix-menu-item-selected={this.handleMenuSelect}\n items={this.options}\n virtualScroll={this.virtualScroll}\n remove-box-shadow={true}\n disable-keyboard-handling={true}\n >\n <slot onSlotchange={this.handleSlotChange} />\n </six-menu>\n\n {/* Select all */}\n {this.multiple && this.selectAllButton && (\n <div class=\"select-all\" slot=\"dropdown-footer\">\n <six-button type=\"link\" onClick={() => this.selectAll()}>\n {this.selectAllText == null ? selectAllDefaultText(hasDeselectedOptions) : this.selectAllText}\n </six-button>\n </div>\n )}\n </six-dropdown>\n </FormControl>\n );\n }\n\n private hasSelection() {\n return this.multiple ? this.value.length > 0 : this.value !== '';\n }\n\n private hasDeselectedOptions() {\n return this.getVisibleItems().some((opt) => !opt.disabled && !opt.checked);\n }\n}\n\nfunction getCheckedItems(value: string[], items: HTMLSixMenuItemElement[]): HTMLSixMenuItemElement[] {\n return items.filter((item) => value.includes(item.value));\n}\n\nfunction getWidth(element: Element) {\n return element.getBoundingClientRect().width;\n}\n\nfunction computeFitCount(options: Element[], availableWidth: number): { fitCount: number; overflowCount: number } {\n let accumulatedWidth = 0;\n let fitCount = 0;\n\n for (let i = 0; i < options.length; i++) {\n const displayOption = options[i];\n const width = getWidth(displayOption);\n if (i === 0 && width > availableWidth) {\n fitCount = 1;\n break;\n }\n accumulatedWidth += width;\n if (accumulatedWidth > availableWidth) {\n break;\n } else {\n fitCount += 1;\n }\n }\n const overflowCount = options.length - fitCount;\n return { fitCount, overflowCount };\n}\n\nfunction showFittingValues(displayValueOptions: Element[], fitCount: number) {\n if (displayValueOptions.length > 0) {\n // show items that fit\n displayValueOptions.slice(0, fitCount).forEach((displayValue, index, list) => {\n showDisplayValue(displayValue);\n const isLast = index === list.length - 1;\n if (isLast) {\n hideSeparator(displayValue);\n } else {\n showSeparator(displayValue);\n }\n });\n\n // hide the rest\n displayValueOptions.slice(fitCount).forEach((displayValue) => {\n hideDisplayValue(displayValue);\n showSeparator(displayValue);\n });\n }\n}\n\nfunction hideSeparator(displayValueOption: Element) {\n displayValueOption.querySelector('.separator')?.classList.add('separator--hidden');\n}\n\nfunction showSeparator(displayValueOption: Element) {\n displayValueOption.querySelector('.separator')?.classList.remove('separator--hidden');\n}\n\nfunction showDisplayValue(displayValueOption: Element) {\n displayValueOption.classList.remove('display-value--hidden');\n}\n\nfunction hideDisplayValue(displayValueOption: Element) {\n displayValueOption.classList.add('display-value--hidden');\n}\n\nfunction setOverflowCount(overflowCount: Element, count: number) {\n overflowCount.textContent = `+${count}`;\n}\n\nfunction showOverflowCount(overflowCount: Element) {\n overflowCount.classList.remove('overflow-count-hidden');\n}\n\nfunction hideOverflowCount(overflowCount: Element) {\n overflowCount.classList.add('overflow-count-hidden');\n}\n\nfunction selectAllDefaultText(hasDeselectedOptions: boolean) {\n const lang = getLanguage();\n switch (lang) {\n case 'de':\n return hasDeselectedOptions ? 'Alle auswählen' : 'Alle abwählen';\n case 'fr':\n return hasDeselectedOptions ? 'Tout sélectionner' : 'Tout désélectionner';\n case 'it':\n return hasDeselectedOptions ? 'Seleziona tutto' : 'Deseleziona tutto';\n case 'en':\n return hasDeselectedOptions ? 'Select all' : 'Deselect all';\n case 'es':\n return hasDeselectedOptions ? 'Seleccionar todo' : 'Deseleccionar todo';\n }\n}\n"]}
1
+ {"version":3,"file":"six-select.js","sourceRoot":"","sources":["../../../src/components/six-select/six-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getTextContent, hasSlot } from '../../utils/slot';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { SixMenuItemData } from '../six-menu/six-menu';\nimport { getLanguage } from '../../utils/error-messages';\nimport { convertToValidArrayValue, convertToValidValue, valueEquals } from './util';\n\nexport interface SixSelectChangePayload {\n value: string | string[];\n isSelected: boolean;\n}\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The select's options in the form of menu items.\n * @slot label - The select's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes how to use the select.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part clear-button - The input's clear button, exported from six-input.\n * @part form-control - The form control that wraps the label, input, and help text.\n * @part help-text - The select's help text.\n * @part icon - The select's icon.\n * @part label - The select's label.\n * @part menu - The select menu, a six-menu element.\n * @part tag - The multiselect option, a six-tag element.\n * @part tags - The container in which multiselect options are rendered.\n */\n\n@Component({\n tag: 'six-select',\n styleUrl: 'six-select.scss',\n shadow: true,\n})\nexport class SixSelect {\n private box?: HTMLElement;\n private menu?: HTMLElement;\n private dropdown?: HTMLSixDropdownElement;\n private displayValuesContainer?: HTMLElement;\n private overflowCount?: HTMLElement;\n private autocompleteInput?: HTMLSixInputElement;\n private inputId = `select-${++id}`;\n private labelId = `select-label-${id}`;\n private helpTextId = `select-help-text-${id}`;\n private errorTextId = `select-error-text-${id}`;\n private eventListeners = new EventListeners();\n private activeItemIndex = -1;\n private resizeObserver = new ResizeObserver(() => this.updateDisplayedValues());\n\n @Element() host!: HTMLSixSelectElement;\n\n @State() hasFocus = false;\n @State() hasHelpTextSlot = false;\n @State() hasLabelSlot = false;\n @State() hasErrorTextSlot = false;\n @State() isOpen = false;\n @State() displayedValues: string[] = [];\n\n /** Menu items shown in the selection container. */\n @State() selectionContainerItems: HTMLSixMenuItemElement[] = [];\n\n /** Set to true to enable multiselect. */\n @Prop() multiple = false;\n\n /** Enables the select all button. */\n @Prop() selectAllButton = false;\n\n /**\n * Custom text for the \"select all\" button. Defaults to \"Select all\" and equivalents in supported languages.\n */\n @Prop() selectAllText?: string;\n\n /**\n * The maximum number of tags to show when `multiple` is true. After the maximum, \"+n\" will be shown to indicate the\n * number of additional items that are selected. Set to -1 to remove the limit.\n *\n * @deprecated: This property is ignored. The component now displays as many items as possible and computes the \"+n\" dynamically.\n */\n @Prop() maxTagsVisible = 3;\n\n /** Set to true to disable the select control. */\n @Prop() disabled = false;\n\n /** The select's name. */\n @Prop() name = '';\n\n /** The select's placeholder text. */\n @Prop() placeholder = '';\n\n /** The filter's placeholder text. */\n @Prop() filterPlaceholder?: string;\n\n /** The debounce for the filter callbacks. */\n @Prop() filterDebounce?: number;\n\n /** The select's size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /** The value of the control. This will be a string or an array depending on `multiple`. */\n @Prop({ mutable: true }) value: string | string[] = '';\n\n /** Set to true to draw a pill-style select with rounded edges. */\n @Prop() pill = false;\n\n /** The select's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /** Set to true to add a clear button when the select is populated. */\n @Prop() clearable = false;\n\n /** The label text. */\n @Prop() label = '';\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** Set to render as line */\n @Prop() line = false;\n\n /** Set to true to allow filtering for entries in the dropdown */\n @Prop() filter = false;\n\n /**\n * Set to true to allow async filtering.\n * When you enter something in the search field the component will only emit an event but not filter any elements itself.\n * You can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself\n */\n @Prop() asyncFilter = false;\n\n /**\n * Set to true to turn the six-select into an autocomplete.\n */\n @Prop() autocomplete = false;\n\n /** The debounce for when the input changes for autocompletes should be emitted */\n @Prop() inputDebounce = DEFAULT_DEBOUNCE_FAST;\n\n /** Set the options to be shown in the dropdown (alternative to setting the elements via html) */\n @Prop() options: SixMenuItemData[] | null = null;\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n @Watch('disabled')\n handleDisabledChange() {\n if (this.disabled && this.isOpen) {\n this.dropdown?.hide();\n }\n }\n\n @Watch('helpText')\n @Watch('errorText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n @Watch('multiple')\n handleMultipleChange() {\n this.value = convertToValidValue(this.value, this.multiple);\n this.syncItemsFromValue();\n }\n\n @Watch('value')\n async handleValueChange() {\n const newValue = convertToValidValue(this.value, this.multiple);\n if (!valueEquals(this.value, newValue)) {\n this.value = newValue;\n }\n await this.syncItemsFromValue();\n }\n\n /** Emitted when the control's value changes. */\n @Event({ eventName: 'six-select-change' }) sixChange!: EventEmitter<SixSelectChangePayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-select-focus' }) sixFocus!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-select-blur' }) sixBlur!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n if (this.virtualScroll && this.options === null) {\n console.error('Options must be defined when using virtual scrolling');\n }\n\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.forward('six-select-change', 'change', this.host);\n this.eventListeners.forward('six-select-blur', 'blur', this.host);\n this.eventListeners.forward('six-select-focus', 'focus', this.host);\n if (this.displayValuesContainer) {\n this.resizeObserver.observe(this.displayValuesContainer);\n }\n }\n\n componentWillLoad() {\n this.value = convertToValidValue(this.value, this.multiple);\n this.handleSlotChange();\n }\n\n componentDidLoad() {\n if (this.displayValuesContainer) {\n this.resizeObserver.observe(this.displayValuesContainer);\n }\n\n // We need to do an initial sync after the component has rendered, so this will suppress the re-render warning\n requestAnimationFrame(() => this.syncItemsFromValue());\n\n if (this.autocomplete && this.autocompleteInput != null) {\n const autocompleteInput = this.autocompleteInput;\n this.eventListeners.add(\n autocompleteInput,\n 'six-input-input',\n debounce((event) => {\n this.value = autocompleteInput.value;\n this.sixChange.emit({ value: this.value, isSelected: false });\n event.stopPropagation();\n\n if (this.virtualScroll || this.value.length > 0) {\n this.dropdown?.show();\n }\n }, this.inputDebounce)\n );\n\n const selectedLabel = this.displayedValues.join(', ');\n autocompleteInput.value = selectedLabel;\n }\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n /** Sets focus on the select. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.hasFocus = true;\n this.box?.focus(options);\n }\n\n private getItemLabel(item: HTMLSixMenuItemElement): string {\n const slot = item.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n if (slot != null) {\n return getTextContent(slot);\n } else {\n // bugfix/COMSLI-203-six-select-value-is-not-updated-if-the-slot-is-changed\n return item.textContent ?? '';\n }\n }\n\n private getItems(): HTMLSixMenuItemElement[] {\n if (this.options !== null && this.menu != null && this.menu.shadowRoot != null) {\n return [...this.menu.shadowRoot.querySelectorAll('six-menu-item')];\n }\n\n return [...this.host.querySelectorAll('six-menu-item')];\n }\n\n private getVisibleItems(): HTMLSixMenuItemElement[] {\n const selectionContainerItems = this.getSelectionContainerItems();\n const mainItems = this.getItems();\n return [...selectionContainerItems, ...mainItems].filter((i) => i.style.display !== 'none');\n }\n\n private getSelectionContainerItems() {\n return [...(this.host.shadowRoot?.querySelectorAll('six-menu-item') || [])];\n }\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.sixBlur.emit();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.sixFocus.emit();\n };\n\n private handleClearClick = async (event: MouseEvent) => {\n event.stopPropagation();\n await this.clearValues();\n await this.dropdown?.show();\n await this.setFocus();\n this.sixChange.emit({ value: this.value, isSelected: true });\n };\n\n private async clearValues() {\n this.value = this.multiple ? [] : '';\n this.selectionContainerItems = [];\n await this.syncItemsFromValue();\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.virtualScroll || this.autocomplete) {\n return;\n }\n\n if (['Control', 'Escape'].includes(event.key)) {\n return;\n }\n\n const items = this.getVisibleItems();\n\n // Ctrl-A selects all items\n if (this.isOpen && this.multiple && event.code === 'KeyA' && event.ctrlKey) {\n event.preventDefault();\n this.selectAll();\n return;\n }\n\n // Tabbing out of the control closes it\n if (event.key === 'Tab') {\n if (this.isOpen) {\n this.dropdown?.hide();\n }\n return;\n }\n\n if (event.key === ' ' && !this.multiple) {\n return;\n }\n\n // Enter and Space selects the active item\n if (this.activeItemIndex >= 0 && ['Enter', ' '].includes(event.key)) {\n const activeItem = items.at(this.activeItemIndex);\n event.preventDefault();\n activeItem?.click();\n return;\n }\n\n // Move the selection when pressing up or down\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n // Show the menu if it's not already open\n if (!this.isOpen) {\n this.dropdown?.show();\n }\n\n if (items.length > 0) {\n event.preventDefault();\n\n if (event.key === 'ArrowDown') {\n this.activeItemIndex++;\n } else if (event.key === 'ArrowUp') {\n this.activeItemIndex--;\n } else if (event.key === 'Home') {\n this.activeItemIndex = 0;\n } else if (event.key === 'End') {\n this.activeItemIndex = items.length - 1;\n }\n\n if (this.activeItemIndex < 0) this.activeItemIndex = 0;\n if (this.activeItemIndex > items.length - 1) this.activeItemIndex = items.length - 1;\n\n items.at(this.activeItemIndex)?.setFocus();\n }\n }\n\n // All other keys open the menu\n if (!this.isOpen) {\n event.stopPropagation();\n event.preventDefault();\n this.dropdown?.show();\n }\n };\n\n private selectAll() {\n const visibleItems = this.getVisibleItems();\n const hasDeselectedOptions = this.hasDeselectedOptions();\n visibleItems.filter((option) => !option.disabled).forEach((option) => (option.checked = hasDeselectedOptions));\n const checkedItems = visibleItems.filter((option) => option.checked).map((option) => option.value);\n this.value = hasDeselectedOptions ? checkedItems : [];\n this.sixChange.emit({ value: this.value, isSelected: true });\n }\n\n private handleLabelClick = () => {\n this.box?.focus();\n };\n\n private handleMenuSelect = (event: CustomEvent) => {\n const currentItem = event.detail.item as HTMLSixMenuItemElement;\n if (this.multiple) {\n currentItem.checked = !currentItem.checked;\n } else {\n this.getItems().forEach((i) => (i.checked = false));\n currentItem.checked = true;\n }\n this.syncValueFromItems();\n this.sixChange.emit({ value: this.value, isSelected: true });\n };\n\n private handleMenuShow = (event: CustomEvent) => {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n this.activeItemIndex = -1;\n\n if (!this.virtualScroll && this.multiple) {\n // reset display style of main items\n const mainItems = this.getItems();\n mainItems.forEach((item) => (item.style.display = 'unset'));\n\n // show selected menu items in the selection container and hide them in the main container\n const checkedItems = getCheckedItems(convertToValidArrayValue(this.value), mainItems);\n checkedItems.forEach((i) => (i.style.display = 'none'));\n this.selectionContainerItems = checkedItems.map((item) => {\n return (\n <six-menu-item\n key={item.value} // key makes sure the node is not re-used: https://stenciljs.com/docs/templating-jsx#conditionals\n checked={true}\n value={item.value}\n checkType={this.multiple ? 'checkbox' : 'check'}\n onClick={(event) => {\n event.stopPropagation();\n if (!this.disabled) {\n const menuItem = event.target as HTMLSixMenuItemElement;\n const isChecked = menuItem.checked;\n menuItem.checked = !isChecked;\n item.checked = !isChecked;\n this.syncValueFromItems();\n this.sixChange.emit({ value: this.value, isSelected: true });\n }\n }}\n >\n {this.getItemLabel(item)}\n </six-menu-item>\n );\n });\n }\n\n this.isOpen = true;\n };\n\n private handleMenuHide = () => {\n this.isOpen = false;\n if (this.multiple) {\n this.handleBlur();\n }\n };\n\n private handleSlotChange = () => {\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.hasErrorTextSlot = hasSlot(this.host, 'error-text');\n this.syncItemsFromValue();\n };\n\n /**\n * Sets the checked state of menu items and renders the displayed values.\n */\n private async syncItemsFromValue() {\n const selectionContainerItems = this.getSelectionContainerItems();\n const mainItems = this.getItems();\n const value = convertToValidValue(this.value, this.multiple);\n\n selectionContainerItems.forEach((item) => {\n item.checkType = this.multiple ? 'checkbox' : 'check';\n if (Array.isArray(value)) {\n item.checked = value.some((val) => val === item.value);\n } else {\n item.checked = value === item.value;\n }\n });\n\n mainItems.forEach((item) => {\n item.checkType = this.multiple ? 'checkbox' : 'check';\n if (Array.isArray(value)) {\n item.checked = value.some((val) => val === item.value);\n } else {\n item.checked = value === item.value;\n }\n });\n\n const checkedItems = getCheckedItems(convertToValidArrayValue(this.value), mainItems);\n this.displayedValues = checkedItems.map((i) => this.getItemLabel(i));\n\n if (this.autocomplete && this.autocompleteInput != null && !this.hasFocus) {\n const selectedLabel = this.displayedValues.join(', ');\n this.autocompleteInput.value = selectedLabel;\n }\n\n requestAnimationFrame(() => {\n this.updateDisplayedValues();\n });\n }\n\n private syncValueFromItems() {\n const items = this.getItems();\n const checkedValues = items.filter((item) => item.checked).map((item) => item.value);\n if (this.multiple) {\n this.value = checkedValues;\n } else {\n this.value = checkedValues.length > 0 ? checkedValues[0] : '';\n }\n }\n\n private updateDisplayedValues() {\n const displayValueOptions = [...(this.displayValuesContainer?.querySelectorAll('.display-value') ?? [])];\n if (this.displayValuesContainer == null || displayValueOptions.length === 0 || this.overflowCount == null) {\n return;\n }\n\n // Show all options and separators to properly measure all widths.\n displayValueOptions.forEach((d) => {\n showDisplayValue(d);\n showSeparator(d);\n });\n\n // Measure available width. The last separator is added to the available width, because it will be hidden later on.\n const separator = displayValueOptions[displayValueOptions.length - 1].querySelector('.separator');\n if (separator == null) return;\n let availableWidth = getWidth(this.displayValuesContainer) + getWidth(separator);\n\n // Compute how many display value elements fit in the available width\n let { fitCount, overflowCount } = computeFitCount(displayValueOptions, availableWidth);\n\n if (overflowCount === 0) {\n // All items fit, hide overflow count and show all values.\n hideOverflowCount(this.overflowCount);\n showFittingValues(displayValueOptions, fitCount);\n } else {\n // Not all items fit in the available width. Recompute the available width with the overflow-count visible.\n\n // Increment overflow count by one to make sure the elements fit, even if the overflow count increases to the\n // next higher power of ten, e.g. from 9 to 10 or 99 to 100.\n setOverflowCount(this.overflowCount, overflowCount + 1);\n showOverflowCount(this.overflowCount);\n\n // Subtract the overflow count from the available width\n availableWidth = availableWidth - getWidth(this.overflowCount);\n\n // Compute how many display value elements fit in the new available width\n ({ fitCount, overflowCount } = computeFitCount(displayValueOptions, availableWidth));\n\n // Show overflow count and items that fit.\n setOverflowCount(this.overflowCount, overflowCount);\n showFittingValues(displayValueOptions, fitCount);\n }\n }\n\n render() {\n const hasSelection = this.hasSelection();\n const items = this.getItems();\n const hasMenuItems = items.length > 0;\n const hasDeselectedOptions = this.hasDeselectedOptions();\n let showClear = false;\n let showExpand = hasMenuItems;\n if (this.clearable && hasSelection) {\n showClear = true;\n showExpand = false;\n }\n\n return (\n <FormControl\n inputId={this.inputId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n helpTextId={this.helpTextId}\n helpText={this.helpText}\n hasHelpTextSlot={this.hasHelpTextSlot}\n errorTextId={this.errorTextId}\n errorText={this.errorText}\n errorTextCount={this.errorTextCount}\n hasErrorTextSlot={this.hasErrorTextSlot}\n size={this.size}\n onLabelClick={this.handleLabelClick}\n disabled={this.disabled}\n required={this.required}\n displayError={this.invalid}\n >\n <six-dropdown\n part=\"base\"\n ref={(el) => (this.dropdown = el)}\n hoist={this.hoist}\n matchTriggerWidth={true}\n closeOnSelect={!this.multiple}\n containingElement={this.host}\n disableHideOnEnterAndSpace={this.autocomplete}\n class={{\n select: true,\n 'select--open': this.isOpen,\n 'select--empty': this.value?.length === 0,\n 'select--focused': this.hasFocus,\n 'select--clearable': this.clearable,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--has-tags': this.multiple && hasSelection,\n 'select--placeholder-visible': this.displayedValues.length === 0,\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large',\n 'select--pill': this.pill,\n 'select--invalid': this.invalid,\n }}\n onKeyDown={this.handleKeyDown}\n onSix-dropdown-show={this.handleMenuShow}\n onSix-dropdown-hide={this.handleMenuHide}\n filterPlaceholder={this.filterPlaceholder}\n filterDebounce={this.filterDebounce}\n filter={this.filter}\n asyncFilter={this.asyncFilter}\n virtualScroll={this.virtualScroll}\n >\n {/* Trigger */}\n <div\n slot=\"trigger\"\n ref={(el) => (this.box = el)}\n id={this.inputId}\n class={{\n select__box: true,\n 'select__box--line': this.line,\n 'select__box--autocomplete': this.autocomplete,\n }}\n role=\"combobox\"\n aria-labelledby={this.labelId}\n aria-describedby={this.helpTextId}\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n tabIndex={this.disabled ? -1 : 0}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n >\n {/* Display values */}\n <div class=\"display__values\" ref={(el) => (this.displayValuesContainer = el)}>\n {this.displayedValues.length > 0 ? (\n <span class=\"display__values-and-counter\">\n <span class=\"display__values-values\">\n {this.displayedValues.map((value) => (\n <span key={value} class=\"display-value\">\n {value}\n <span class={{ separator: true }}>, </span>\n </span>\n ))}\n </span>\n <span ref={(el) => (this.overflowCount = el)} class=\"overflow-count\">\n +10\n </span>\n </span>\n ) : (\n <span class=\"placeholder\">{this.placeholder}</span>\n )}\n </div>\n\n {/* Clear */}\n {showClear && (\n <six-icon-button\n exportparts=\"base:clear-button\"\n class=\"select__clear\"\n name=\"clear\"\n size=\"small\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n />\n )}\n\n {/* Expand */}\n {showExpand && (\n <span part=\"icon\" class=\"select__icon\">\n <six-icon size=\"medium\">expand_more</six-icon>\n </span>\n )}\n\n {/* Autocomplete */}\n <six-input\n ref={(el) => (this.autocompleteInput = el)}\n class={{\n select__input: true,\n 'select__hidden-select': !this.autocomplete,\n }}\n aria-hidden=\"true\"\n required={this.required}\n onFocus={this.handleFocus}\n clearable={this.clearable}\n placeholder={this.placeholder}\n pill={this.pill}\n disabled={this.disabled}\n size={this.size}\n tabIndex={-1}\n />\n </div>\n\n {/* Selection container */}\n <div\n class={{\n 'selection-container': true,\n 'selection-container--border':\n this.selectionContainerItems.length > 0 && items.length !== this.selectionContainerItems.length,\n }}\n >\n {this.selectionContainerItems}\n </div>\n\n {/* Menu */}\n <six-menu\n ref={(el) => (this.menu = el)}\n part=\"menu\"\n class={{\n select__menu: true,\n 'select__menu--hidden': !hasMenuItems,\n }}\n onSix-menu-item-selected={this.handleMenuSelect}\n items={this.options}\n virtualScroll={this.virtualScroll}\n remove-box-shadow={true}\n disable-keyboard-handling={true}\n >\n <slot onSlotchange={this.handleSlotChange} />\n </six-menu>\n\n {/* Select all */}\n {this.multiple && this.selectAllButton && (\n <div class=\"select-all\" slot=\"dropdown-footer\">\n <six-button type=\"link\" onClick={() => this.selectAll()}>\n {this.selectAllText == null ? selectAllDefaultText(hasDeselectedOptions) : this.selectAllText}\n </six-button>\n </div>\n )}\n </six-dropdown>\n </FormControl>\n );\n }\n\n private hasSelection() {\n return this.multiple ? this.value.length > 0 : this.value !== '';\n }\n\n private hasDeselectedOptions() {\n return this.getVisibleItems().some((opt) => !opt.disabled && !opt.checked);\n }\n}\n\nfunction getCheckedItems(value: string[], items: HTMLSixMenuItemElement[]): HTMLSixMenuItemElement[] {\n return items.filter((item) => value.includes(item.value));\n}\n\nfunction getWidth(element: Element) {\n return element.getBoundingClientRect().width;\n}\n\nfunction computeFitCount(options: Element[], availableWidth: number): { fitCount: number; overflowCount: number } {\n let accumulatedWidth = 0;\n let fitCount = 0;\n\n for (let i = 0; i < options.length; i++) {\n const displayOption = options[i];\n const width = getWidth(displayOption);\n if (i === 0 && width > availableWidth) {\n fitCount = 1;\n break;\n }\n accumulatedWidth += width;\n if (accumulatedWidth > availableWidth) {\n break;\n } else {\n fitCount += 1;\n }\n }\n const overflowCount = options.length - fitCount;\n return { fitCount, overflowCount };\n}\n\nfunction showFittingValues(displayValueOptions: Element[], fitCount: number) {\n if (displayValueOptions.length > 0) {\n // show items that fit\n displayValueOptions.slice(0, fitCount).forEach((displayValue, index, list) => {\n showDisplayValue(displayValue);\n const isLast = index === list.length - 1;\n if (isLast) {\n hideSeparator(displayValue);\n } else {\n showSeparator(displayValue);\n }\n });\n\n // hide the rest\n displayValueOptions.slice(fitCount).forEach((displayValue) => {\n hideDisplayValue(displayValue);\n showSeparator(displayValue);\n });\n }\n}\n\nfunction hideSeparator(displayValueOption: Element) {\n displayValueOption.querySelector('.separator')?.classList.add('separator--hidden');\n}\n\nfunction showSeparator(displayValueOption: Element) {\n displayValueOption.querySelector('.separator')?.classList.remove('separator--hidden');\n}\n\nfunction showDisplayValue(displayValueOption: Element) {\n displayValueOption.classList.remove('display-value--hidden');\n}\n\nfunction hideDisplayValue(displayValueOption: Element) {\n displayValueOption.classList.add('display-value--hidden');\n}\n\nfunction setOverflowCount(overflowCount: Element, count: number) {\n overflowCount.textContent = `+${count}`;\n}\n\nfunction showOverflowCount(overflowCount: Element) {\n overflowCount.classList.remove('overflow-count-hidden');\n}\n\nfunction hideOverflowCount(overflowCount: Element) {\n overflowCount.classList.add('overflow-count-hidden');\n}\n\nfunction selectAllDefaultText(hasDeselectedOptions: boolean) {\n const lang = getLanguage();\n switch (lang) {\n case 'de':\n return hasDeselectedOptions ? 'Alle auswählen' : 'Alle abwählen';\n case 'fr':\n return hasDeselectedOptions ? 'Tout sélectionner' : 'Tout désélectionner';\n case 'it':\n return hasDeselectedOptions ? 'Seleziona tutto' : 'Deseleziona tutto';\n case 'en':\n return hasDeselectedOptions ? 'Select all' : 'Deselect all';\n case 'es':\n return hasDeselectedOptions ? 'Seleccionar todo' : 'Deseleccionar todo';\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { getValue, isValidValue } from "../util";
1
+ import { convertToValidValue, getValue, isValidValue } from "../util";
2
2
  describe('util', () => {
3
3
  describe('getValue(multiple)', () => {
4
4
  it.each([
@@ -77,5 +77,27 @@ describe('util', () => {
77
77
  expect(isValidValue(value, false, menuItems)).toBe(expected);
78
78
  });
79
79
  });
80
+ describe('convertToValidValue(value, multiple)', () => {
81
+ it.each([
82
+ [null, true, []],
83
+ [[null], true, []],
84
+ [[1, 2], true, []],
85
+ [[], true, []],
86
+ [['abcd', 'efgh'], true, ['abcd', 'efgh']],
87
+ [[{}], true, []],
88
+ [{}, true, []],
89
+ ['abc', true, ['abc']],
90
+ ['', true, []],
91
+ [undefined, true, []],
92
+ [1, false, ''],
93
+ ['', false, ''],
94
+ [{}, false, ''],
95
+ ['abc', false, 'abc'],
96
+ [[], false, ''],
97
+ [null, false, ''],
98
+ ])("value '%s', multiple: '%s' === '%s'", (value, multiple, expected) => {
99
+ expect(convertToValidValue(value, multiple)).toStrictEqual(expected);
100
+ });
101
+ });
80
102
  });
81
103
  //# sourceMappingURL=util.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.spec.js","sourceRoot":"","sources":["../../../../src/components/six-select/test/util.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { getValue, isValidValue } from '../util';\n\ndescribe('util', () => {\n describe('getValue(multiple)', () => {\n it.each([\n [null, [], []],\n [undefined, [], []],\n [10, [], []],\n [[1, 2, 3], [{ value: '1' }, { value: '2' }], []],\n [{}, [], []],\n [[], [], []],\n ['', [], []],\n ['1', [{ value: '1' }], ['1']],\n [['1'], [{ value: '1' }], ['1']],\n ['1', [{ value: '2' }], []],\n [['1'], [{ value: '2' }], []],\n ['1', [{ value: '1' }, { value: '2' }], ['1']],\n [['1'], [{ value: '1' }, { value: '2' }], ['1']],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(getValue(value, true, menuItems)).toStrictEqual(expected);\n });\n });\n\n describe('getValue(single)', () => {\n it.each([\n [null, [], ''],\n [undefined, [], ''],\n [10, [], ''],\n [{}, [], ''],\n [[], [], ''],\n ['', [], ''],\n ['1', [{ value: '1' }], '1'],\n [['1'], [{ value: '1' }], ''],\n ['1', [{ value: '2' }], ''],\n [['1'], [{ value: '2' }], ''],\n ['1', [{ value: '1' }, { value: '2' }], '1'],\n [['2'], [{ value: '1' }, { value: '2' }], ''],\n [[1, 2], [{ value: '1' }, { value: '2' }], ''],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(getValue(value, false, menuItems)).toStrictEqual(expected);\n });\n });\n\n describe('isValidValue(multiple)', () => {\n it.each([\n [null, [], false],\n [undefined, [], false],\n [10, [], false],\n [{}, [], false],\n ['', [], true],\n [[], [], true],\n ['1', [{ value: '1' }], true],\n [['1'], [{ value: '1' }], true],\n ['1', [{ value: '2' }], false],\n [['1'], [{ value: '2' }], false],\n ['1', [{ value: '1' }, { value: '2' }], true],\n [['1'], [{ value: '1' }, { value: '2' }], true],\n [['1', '3'], [{ value: '1' }, { value: '2' }], false],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(isValidValue(value, true, menuItems)).toBe(expected);\n });\n });\n\n describe('isValidValue(single)', () => {\n it.each([\n [null, [], false],\n [undefined, [], false],\n [10, [], false],\n [{}, [], false],\n ['', [], true],\n [[], [], false],\n ['1', [{ value: '1' }], true],\n [['1'], [{ value: '1' }], false],\n ['1', [{ value: '2' }], false],\n [['1'], [{ value: '2' }], false],\n ['1', [{ value: '1' }, { value: '2' }], true],\n [['2'], [{ value: '1' }, { value: '2' }], false],\n [[1, 2], [{ value: '1' }, { value: '2' }], false],\n [['1', '2'], [{ value: '1' }, { value: '2' }], false],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(isValidValue(value, false, menuItems)).toBe(expected);\n });\n });\n});\n"]}
1
+ {"version":3,"file":"util.spec.js","sourceRoot":"","sources":["../../../../src/components/six-select/test/util.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { convertToValidValue, getValue, isValidValue } from '../util';\n\ndescribe('util', () => {\n describe('getValue(multiple)', () => {\n it.each([\n [null, [], []],\n [undefined, [], []],\n [10, [], []],\n [[1, 2, 3], [{ value: '1' }, { value: '2' }], []],\n [{}, [], []],\n [[], [], []],\n ['', [], []],\n ['1', [{ value: '1' }], ['1']],\n [['1'], [{ value: '1' }], ['1']],\n ['1', [{ value: '2' }], []],\n [['1'], [{ value: '2' }], []],\n ['1', [{ value: '1' }, { value: '2' }], ['1']],\n [['1'], [{ value: '1' }, { value: '2' }], ['1']],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(getValue(value, true, menuItems)).toStrictEqual(expected);\n });\n });\n\n describe('getValue(single)', () => {\n it.each([\n [null, [], ''],\n [undefined, [], ''],\n [10, [], ''],\n [{}, [], ''],\n [[], [], ''],\n ['', [], ''],\n ['1', [{ value: '1' }], '1'],\n [['1'], [{ value: '1' }], ''],\n ['1', [{ value: '2' }], ''],\n [['1'], [{ value: '2' }], ''],\n ['1', [{ value: '1' }, { value: '2' }], '1'],\n [['2'], [{ value: '1' }, { value: '2' }], ''],\n [[1, 2], [{ value: '1' }, { value: '2' }], ''],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(getValue(value, false, menuItems)).toStrictEqual(expected);\n });\n });\n\n describe('isValidValue(multiple)', () => {\n it.each([\n [null, [], false],\n [undefined, [], false],\n [10, [], false],\n [{}, [], false],\n ['', [], true],\n [[], [], true],\n ['1', [{ value: '1' }], true],\n [['1'], [{ value: '1' }], true],\n ['1', [{ value: '2' }], false],\n [['1'], [{ value: '2' }], false],\n ['1', [{ value: '1' }, { value: '2' }], true],\n [['1'], [{ value: '1' }, { value: '2' }], true],\n [['1', '3'], [{ value: '1' }, { value: '2' }], false],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(isValidValue(value, true, menuItems)).toBe(expected);\n });\n });\n\n describe('isValidValue(single)', () => {\n it.each([\n [null, [], false],\n [undefined, [], false],\n [10, [], false],\n [{}, [], false],\n ['', [], true],\n [[], [], false],\n ['1', [{ value: '1' }], true],\n [['1'], [{ value: '1' }], false],\n ['1', [{ value: '2' }], false],\n [['1'], [{ value: '2' }], false],\n ['1', [{ value: '1' }, { value: '2' }], true],\n [['2'], [{ value: '1' }, { value: '2' }], false],\n [[1, 2], [{ value: '1' }, { value: '2' }], false],\n [['1', '2'], [{ value: '1' }, { value: '2' }], false],\n ])(\"value '%s', items: '%s' == '%s'\", (value, menuItems, expected) => {\n expect(isValidValue(value, false, menuItems)).toBe(expected);\n });\n });\n\n describe('convertToValidValue(value, multiple)', () => {\n it.each([\n [null, true, []],\n [[null], true, []],\n [[1, 2], true, []],\n [[], true, []],\n [['abcd', 'efgh'], true, ['abcd', 'efgh']],\n [[{}], true, []],\n [{}, true, []],\n ['abc', true, ['abc']],\n ['', true, []],\n [undefined, true, []],\n [1, false, ''],\n ['', false, ''],\n [{}, false, ''],\n ['abc', false, 'abc'],\n [[], false, ''],\n [null, false, ''],\n ])(\"value '%s', multiple: '%s' === '%s'\", (value, multiple, expected) => {\n expect(convertToValidValue(value, multiple)).toStrictEqual(expected);\n });\n });\n});\n"]}
@@ -25,6 +25,30 @@ export function isValidValue(value, multiple, menuItems) {
25
25
  }
26
26
  return getSelectedMenuItem(value, menuItems) != null;
27
27
  }
28
+ export function convertToValidValue(value, multiple) {
29
+ if (multiple) {
30
+ if (Array.isArray(value)) {
31
+ return value.filter((element) => typeof element === 'string');
32
+ }
33
+ else if (typeof value === 'string' && value.length > 0) {
34
+ return [value];
35
+ }
36
+ else {
37
+ return [];
38
+ }
39
+ }
40
+ else {
41
+ if (typeof value === 'string') {
42
+ return value;
43
+ }
44
+ else {
45
+ return '';
46
+ }
47
+ }
48
+ }
49
+ export function convertToValidArrayValue(value) {
50
+ return convertToValidValue(value, true);
51
+ }
28
52
  export function valueEquals(a, b) {
29
53
  if (Array.isArray(a) && Array.isArray(b)) {
30
54
  return a.length === b.length && a.every((element, index) => element === b[index]);
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/six-select/util.ts"],"names":[],"mappings":"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","sourcesContent":["export interface MenuItem {\n value: string;\n}\n\nexport function getValue(value: unknown, multiple: boolean, menuItems: MenuItem[]): string | string[] {\n if (multiple) {\n if (Array.isArray(value)) {\n return getSelectedValues(value, menuItems);\n } else {\n return getSelectedValuesFromString(value, menuItems);\n }\n }\n\n return getSelectedMenuItem(value, menuItems)?.value ?? '';\n}\n\nexport function isValidValue(value: unknown, multiple: boolean, menuItems: MenuItem[]): boolean {\n if (value === '') {\n return true;\n }\n\n if (multiple) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return true;\n }\n return getSelectedValues(value, menuItems).length === value.length;\n }\n return getSelectedValuesFromString(value, menuItems).length > 0;\n }\n\n return getSelectedMenuItem(value, menuItems) != null;\n}\n\nexport function valueEquals(a: string | string[], b: string | string[]): boolean {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((element, index) => element === b[index]);\n } else if (typeof a === 'string' && typeof b === 'string') {\n return a === b;\n }\n return false;\n}\n\nexport function isValueEmpty(value: string | string[]): boolean {\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n return value === '';\n}\n\nfunction getSelectedValues(values: unknown[], menuItems: MenuItem[]): string[] {\n return menuItems.filter((menuItem) => values.includes(menuItem.value)).map((menuItem) => menuItem.value);\n}\n\nfunction getSelectedValuesFromString(value: unknown, menuItems: MenuItem[]): string[] {\n return menuItems.filter((menuItem) => value === menuItem.value).map((menuItem) => menuItem.value);\n}\n\nfunction getSelectedMenuItem(value: unknown, menuItems: MenuItem[]): MenuItem | undefined {\n return menuItems.find((item) => value === item.value);\n}\n"]}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/components/six-select/util.ts"],"names":[],"mappings":"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","sourcesContent":["export interface MenuItem {\n value: string;\n}\n\nexport function getValue(value: unknown, multiple: boolean, menuItems: MenuItem[]): string | string[] {\n if (multiple) {\n if (Array.isArray(value)) {\n return getSelectedValues(value, menuItems);\n } else {\n return getSelectedValuesFromString(value, menuItems);\n }\n }\n\n return getSelectedMenuItem(value, menuItems)?.value ?? '';\n}\n\nexport function isValidValue(value: unknown, multiple: boolean, menuItems: MenuItem[]): boolean {\n if (value === '') {\n return true;\n }\n\n if (multiple) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return true;\n }\n return getSelectedValues(value, menuItems).length === value.length;\n }\n return getSelectedValuesFromString(value, menuItems).length > 0;\n }\n\n return getSelectedMenuItem(value, menuItems) != null;\n}\n\nexport function convertToValidValue(value: unknown, multiple: boolean): string | string[] {\n if (multiple) {\n if (Array.isArray(value)) {\n return value.filter((element) => typeof element === 'string');\n } else if (typeof value === 'string' && value.length > 0) {\n return [value];\n } else {\n return [];\n }\n } else {\n if (typeof value === 'string') {\n return value;\n } else {\n return '';\n }\n }\n}\n\nexport function convertToValidArrayValue(value: unknown): string[] {\n return convertToValidValue(value, true) as string[];\n}\n\nexport function valueEquals(a: string | string[], b: string | string[]): boolean {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((element, index) => element === b[index]);\n } else if (typeof a === 'string' && typeof b === 'string') {\n return a === b;\n }\n return false;\n}\n\nexport function isValueEmpty(value: string | string[]): boolean {\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n return value === '';\n}\n\nfunction getSelectedValues(values: unknown[], menuItems: MenuItem[]): string[] {\n return menuItems.filter((menuItem) => values.includes(menuItem.value)).map((menuItem) => menuItem.value);\n}\n\nfunction getSelectedValuesFromString(value: unknown, menuItems: MenuItem[]): string[] {\n return menuItems.filter((menuItem) => value === menuItem.value).map((menuItem) => menuItem.value);\n}\n\nfunction getSelectedMenuItem(value: unknown, menuItems: MenuItem[]): MenuItem | undefined {\n return menuItems.find((item) => value === item.value);\n}\n"]}
@@ -172,7 +172,7 @@ export class SixSidebar {
172
172
  this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();
173
173
  }
174
174
  render() {
175
- return (h("host", { key: '653634dd387c74780afe8e46d45d6729087825cf', class: "six-sidebar" }, h("div", { key: '175c9b41dbe9a6f6aab2c0b4e0140d1afb59f083', class: {
175
+ return (h("host", { key: '9d2b3038cf6af596590bbe0392c5197d49ae9ba1', class: "six-sidebar" }, h("div", { key: '81390d2ad8a8fc2d9e344a62197983d11b27d389', class: {
176
176
  sidebar__container: true,
177
177
  'sidebar--visible': this.isVisible,
178
178
  'sidebar--open': this.open,
@@ -181,7 +181,7 @@ export class SixSidebar {
181
181
  }, style: {
182
182
  width: this.width,
183
183
  [`margin-${this.position}`]: this.open ? '0' : `calc(1rem - ${this.width})`,
184
- }, ref: (el) => (this.sidebar = el), "aria-hidden": this.open ? 'false' : 'true', onTransitionEnd: this.handleTransitionEnd }, h("slot", { key: '0a838ffd91022b9aad70bcff803c54c74f7158d7' }))));
184
+ }, ref: (el) => (this.sidebar = el), "aria-hidden": this.open ? 'false' : 'true', onTransitionEnd: this.handleTransitionEnd }, h("slot", { key: 'e48036d762b116330fa687a71bb50ca87a8bed74' }))));
185
185
  }
186
186
  static get is() { return "six-sidebar"; }
187
187
  static get encapsulation() { return "shadow"; }
@@ -14,11 +14,11 @@ export class SixSidebarItem {
14
14
  }
15
15
  render() {
16
16
  const Tag = this.href != null ? 'a' : 'div';
17
- return (h(Tag, { key: 'f788eac06884030c12500ba61fb96f711e7ab6b0', class: {
17
+ return (h(Tag, { key: '669dd93655dc6e510003396e85ce239613abcf09', class: {
18
18
  'sidebar-item': true,
19
19
  'sidebar-item--selected': this.selected,
20
20
  'sidebar-item--disabled': this.disabled,
21
- }, role: "menuitem", href: this.href, "aria-selected": this.selected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, h("slot", { key: '30c6ac2df0c6def1ae3baf90e5cd694d9db76538' })));
21
+ }, role: "menuitem", href: this.href, "aria-selected": this.selected ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, h("slot", { key: '1726facf8ac8607c2cf383034a9bd5475e7cb0e5' })));
22
22
  }
23
23
  static get is() { return "six-sidebar-item"; }
24
24
  static get encapsulation() { return "shadow"; }
@@ -105,12 +105,12 @@ export class SixSwitch {
105
105
  (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.blur();
106
106
  }
107
107
  render() {
108
- return (h(FormControl, { key: '7b6b268ec2dafea53bfdf399b93d6231801d0bbd', inputId: this.switchId, label: this.label, labelId: this.labelId, hasLabelSlot: false, errorTextId: this.errorTextId, errorText: this.errorText, errorTextCount: this.errorTextCount, hasErrorTextSlot: this.hasErrorTextSlot, size: "medium", disabled: this.disabled, required: this.required, displayError: this.invalid }, h("label", { key: '1a4c3ffe8521ab16f7b809b0a83d83d14525d7b8', part: "base", htmlFor: this.switchId, class: {
108
+ return (h(FormControl, { key: '9d6b19d30b6fbe9edaca09765fb987496085af3d', inputId: this.switchId, label: this.label, labelId: this.labelId, hasLabelSlot: false, errorTextId: this.errorTextId, errorText: this.errorText, errorTextCount: this.errorTextCount, hasErrorTextSlot: this.hasErrorTextSlot, size: "medium", disabled: this.disabled, required: this.required, displayError: this.invalid }, h("label", { key: '3e17b60e405ebdbb9a2329677b7ba58bf5b39506', part: "base", htmlFor: this.switchId, class: {
109
109
  switch: true,
110
110
  'switch--checked': this.checked,
111
111
  'switch--disabled': this.disabled,
112
112
  'switch--focused': this.hasFocus,
113
- }, onMouseDown: this.handleMouseDown }, h("span", { key: '790026f790e5a4beab515fd015721f9f7ff70fd8', part: "control", class: "switch__control" }, h("span", { key: '967737b34d55528091aa9f779a7ed89b64831425', part: "thumb", class: "switch__thumb" }), h("input", { key: 'd9d444f71e0ba2bbcfc6fc2bbcd50d2c5a1a18f3', ref: (el) => (this.inputElement = el), id: this.switchId, type: "checkbox", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, required: this.required, role: "switch", "aria-checked": this.checked ? 'true' : 'false', "aria-labelledby": this.labelId, onClick: this.handleClick, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown })), h("span", { key: '1c309563f28790d9e77daf40dfd7af3533f7aa29', part: "label", id: this.labelId, class: "switch__label" }, h("slot", { key: '21aa68a2daacb68ebbcd1494fde256310248f2e2' })))));
113
+ }, onMouseDown: this.handleMouseDown }, h("span", { key: 'a8f0a78413ef612287e59d371ecc4a4de3f95d86', part: "control", class: "switch__control" }, h("span", { key: '02e2e4f0ebea74189adaae5c5820e72c317fb3c8', part: "thumb", class: "switch__thumb" }), h("input", { key: '50f37e2801b211be3a3f378f3f59c736f10900ea', ref: (el) => (this.inputElement = el), id: this.switchId, type: "checkbox", name: this.name, value: this.value, checked: this.checked, disabled: this.disabled, required: this.required, role: "switch", "aria-checked": this.checked ? 'true' : 'false', "aria-labelledby": this.labelId, onClick: this.handleClick, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown })), h("span", { key: '9a4e42a33a099be2301b47553f1238f2e4acf027', part: "label", id: this.labelId, class: "switch__label" }, h("slot", { key: 'f393ef7b2eb5621a4a203d0502017a428412080d' })))));
114
114
  }
115
115
  static get is() { return "six-switch"; }
116
116
  static get encapsulation() { return "shadow"; }
@@ -41,7 +41,7 @@ export class SixTab {
41
41
  const placement = (_a = tabGroup === null || tabGroup === void 0 ? void 0 : tabGroup.placement) !== null && _a !== void 0 ? _a : 'top';
42
42
  return (
43
43
  // If the user didn't provide an ID, we'll set one, so we can link tabs and tab panels with aria labels
44
- h(Host, { key: 'c5b8229e0f721259a30d70e4756ae4504c915d0f', id: this.host.id || this.componentId }, h("div", { key: '2f3b8d1d278020352802f885a859232370cbbcb3', part: "base", ref: (el) => (this.tab = el), class: {
44
+ h(Host, { key: '66eaedc782e87077c15d655a283127bba7e89dd8', id: this.host.id || this.componentId }, h("div", { key: 'dd59ec7e9406b1baab4f4fda287cfdaf98d79c31', part: "base", ref: (el) => (this.tab = el), class: {
45
45
  tab: true,
46
46
  // Placements
47
47
  'tab--top': placement === 'top',
@@ -52,7 +52,7 @@ export class SixTab {
52
52
  'tab--active': this.active,
53
53
  'tab--closable': this.closable,
54
54
  'tab--disabled': this.disabled,
55
- }, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.disabled || !this.active ? '-1' : '0' }, h("slot", { key: 'a09a1df3cb8a119d736a200b618e114399fe57c3' }), this.closable && (h("six-icon-button", { name: "close", size: "xSmall", exportparts: "base:close-button", class: "tab__close-button", onClick: this.handleCloseClick, tabIndex: -1, "aria-hidden": "true" }))), h("div", { key: 'aa6e7b351ed81d8cba4983512b87b50a8a541a68', part: this.active ? 'active-tab-indicator' : '', class: {
55
+ }, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.disabled || !this.active ? '-1' : '0' }, h("slot", { key: 'bd701cd5777e3d1cadbf3907534470a96e46a66d' }), this.closable && (h("six-icon-button", { name: "close", size: "xSmall", exportparts: "base:close-button", class: "tab__close-button", onClick: this.handleCloseClick, tabIndex: -1, "aria-hidden": "true" }))), h("div", { key: 'f80103185d457827fc8c2e990791dd947743daef', part: this.active ? 'active-tab-indicator' : '', class: {
56
56
  tab__indicator: true,
57
57
  'tab__indicator--active': this.active,
58
58
  // Placements
@@ -226,7 +226,7 @@ export class SixTabGroup {
226
226
  });
227
227
  }
228
228
  render() {
229
- return (h("div", { key: '9f4e3129b3330d6393261e20c28e8f7ce859b431', part: "base", ref: (el) => (this.tabGroup = el), class: {
229
+ return (h("div", { key: '9752b81f3babdcbe656cc5552b7c07c7cc096d8d', part: "base", ref: (el) => (this.tabGroup = el), class: {
230
230
  'tab-group': true,
231
231
  // Placements
232
232
  'tab-group--top': this.placement === 'top',
@@ -234,7 +234,7 @@ export class SixTabGroup {
234
234
  'tab-group--left': this.placement === 'left',
235
235
  'tab-group--right': this.placement === 'right',
236
236
  'tab-group--has-scroll-controls': this.hasRightControl || this.hasLeftControl,
237
- }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'd9367d79c9cba004d253a0b831874563af24df47', class: "tab-group__nav-container" }, this.hasLeftControl && (h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--left", exportparts: "base:scroll-button", name: "chevron_left", onClick: this.handleScrollLeft })), h("div", { ref: (el) => (this.nav = el), key: "nav", part: "nav", class: "tab-group__nav" }, h("div", { key: '464cd0b03882b7c1a8e29e18dc9a170f3a31cd89', ref: (el) => (this.tabs = el), part: "tabs", class: "tab-group__tabs", role: "tablist" }, h("slot", { key: '91bc9d0b4eb40596e5b3bbf39dd613ac7c338fb5', name: "nav" }))), this.hasRightControl && (h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--right", exportparts: "base:scroll-button", name: "chevron_right", onClick: this.handleScrollRight }))), h("div", { key: 'adfcd725eb3ff69c9dc5cc346d4803598d66c84f', ref: (el) => (this.body = el), part: "body", class: "tab-group__body" }, h("slot", { key: '84d4c9d5a263e4faaa9274eea7b208b7001f8ac7' }))));
237
+ }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'd96c9094ddc1a9cd6ad9ac9c5ab559ac703ccd6e', class: "tab-group__nav-container" }, this.hasLeftControl && (h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--left", exportparts: "base:scroll-button", name: "chevron_left", onClick: this.handleScrollLeft })), h("div", { ref: (el) => (this.nav = el), key: "nav", part: "nav", class: "tab-group__nav" }, h("div", { key: '288b14b0bbc790f1ae54e2a26693e9b103002715', ref: (el) => (this.tabs = el), part: "tabs", class: "tab-group__tabs", role: "tablist" }, h("slot", { key: '249ef2f5d67dd3abf35b07028c9d2fe3798ef1ea', name: "nav" }))), this.hasRightControl && (h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--right", exportparts: "base:scroll-button", name: "chevron_right", onClick: this.handleScrollRight }))), h("div", { key: '3aa5553829dfefb71bfb725db55db8dc204f93dc', ref: (el) => (this.body = el), part: "body", class: "tab-group__body" }, h("slot", { key: '8d96ff43d62b33d77bea3616ea5ac76ad6b99a76' }))));
238
238
  }
239
239
  static get is() { return "six-tab-group"; }
240
240
  static get encapsulation() { return "shadow"; }
@@ -19,7 +19,7 @@ export class SixTabPanel {
19
19
  render() {
20
20
  return (
21
21
  // If the user didn't provide an ID, we'll set one, so we can link tabs and tab panels with aria labels
22
- h(Host, { key: '6b8958e2148c21062d9d871ffe7a016b2fa8a1c5', id: this.host.id || this.componentId, style: { display: this.active ? 'block' : 'none' } }, h("div", { key: 'a35fd74db0e878943ccc49d7f33746ac1f5fc221', part: "base", class: "tab-panel", role: "tabpanel", "aria-selected": this.active ? 'true' : 'false', "aria-hidden": this.active ? 'false' : 'true' }, h("slot", { key: '6de9b87d93c055a9c4de931139c7da3a366a2aa1' }))));
22
+ h(Host, { key: '9c332526981d228cc31dc50a84ebcb530b80fafd', id: this.host.id || this.componentId, style: { display: this.active ? 'block' : 'none' } }, h("div", { key: 'f83c683193cd57ae41b8d0a5192b77ecfe4e1f20', part: "base", class: "tab-panel", role: "tabpanel", "aria-selected": this.active ? 'true' : 'false', "aria-hidden": this.active ? 'false' : 'true' }, h("slot", { key: '4f86b7b5bb9aa47f2ea11dc2b76ace19bc2f458a' }))));
23
23
  }
24
24
  static get is() { return "six-tab-panel"; }
25
25
  static get encapsulation() { return "shadow"; }
@@ -44,7 +44,7 @@ export class SixTag {
44
44
  this.resizeObserver.disconnect();
45
45
  }
46
46
  render() {
47
- return (h("span", { key: '59306674f01f712bc2e9daa94716f53120855b5c', part: "base", class: {
47
+ return (h("span", { key: '6a02aa0235a9b590604bc92647ac73e22e304136', part: "base", class: {
48
48
  tag: true,
49
49
  // Types
50
50
  'tag--primary': this.type === 'primary',
@@ -61,7 +61,7 @@ export class SixTag {
61
61
  // Modifers
62
62
  'tag--pill': this.pill,
63
63
  'tag--clear': this.clearable,
64
- } }, h("six-tooltip", { key: 'ed368646e7f65e5ad2976f22175512d48328da36', ref: (el) => (this.tooltipElement = el) }, h("span", { key: '21f45d81e1f0e4778d552b20d11cfcc88bec66ae', ref: (el) => (this.contentElement = el), part: "content", class: "tag__content" }, h("slot", { key: '948620efe64b5a923cf8b65a2f8c3792bdf8e476', ref: (el) => (this.contentSlotElement = el) }))), this.clearable && (h("six-icon-button", { exportparts: "base:clear-button", size: "xSmall", name: "clear", class: "tag__clear", onClick: this.handleClearClick }))));
64
+ } }, h("six-tooltip", { key: 'e42c81922948e9b944bb828479351e8e3ba87a3b', ref: (el) => (this.tooltipElement = el) }, h("span", { key: '84b8a6a071f9c45c5aaec65c0667df111a357562', ref: (el) => (this.contentElement = el), part: "content", class: "tag__content" }, h("slot", { key: '757dcb510fef07b947876706c8a53e07d28bdc7f', ref: (el) => (this.contentSlotElement = el) }))), this.clearable && (h("six-icon-button", { exportparts: "base:clear-button", size: "xSmall", name: "clear", class: "tag__clear", onClick: this.handleClearClick }))));
65
65
  }
66
66
  static get is() { return "six-tag"; }
67
67
  static get encapsulation() { return "shadow"; }
@@ -86,7 +86,11 @@
86
86
  color: var(--six-input-label-color);
87
87
  }
88
88
 
89
+ /**
90
+ * @prop --height: The textarea height.
91
+ */
89
92
  :host {
93
+ --height: 100%;
90
94
  display: block;
91
95
  }
92
96
 
@@ -135,6 +139,7 @@
135
139
 
136
140
  .textarea__control {
137
141
  flex: 1 1 auto;
142
+ height: calc(var(--height) - 2 * var(--six-border-width));
138
143
  font-family: inherit;
139
144
  font-size: inherit;
140
145
  font-weight: inherit;
@@ -167,7 +167,7 @@ export class SixTextarea {
167
167
  return ((_a = this.value) !== null && _a !== void 0 ? _a : '').toString();
168
168
  }
169
169
  render() {
170
- return (h(FormControl, { key: '57cd35c0594401cba7b1973ac2e589c4238ee8a1', 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, disabled: this.disabled, required: this.required, displayError: this.invalid }, h("div", { key: '01e10905f647a5ade903731024279660ecf963f7', part: "base", class: {
170
+ return (h(FormControl, { key: 'e35fce4a2f60bd7710763a15475a2e02d301f9f8', 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, disabled: this.disabled, required: this.required, displayError: this.invalid }, h("div", { key: 'f718c972dd419f691d57ee7f658c08523a2a6619', part: "base", class: {
171
171
  textarea: true,
172
172
  // Sizes
173
173
  'textarea--small': this.size === 'small',
@@ -182,7 +182,7 @@ export class SixTextarea {
182
182
  'textarea--resize-none': this.resize === 'none',
183
183
  'textarea--resize-vertical': this.resize === 'vertical',
184
184
  'textarea--resize-auto': this.resize === 'auto',
185
- } }, h("textarea", { key: '376b3fa4959ee044417f7262877f7b97a8483859', part: "textarea", ref: (el) => (this.nativeTextarea = el), id: this.inputId, class: "textarea__control", name: this.name, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, rows: this.rows, minLength: this.minlength, maxLength: this.maxlength, value: this.getValue(), autoCapitalize: this.autocapitalize, autoCorrect: this.autocorrect, autoFocus: this.autofocus, spellcheck: this.spellcheck, required: this.required, inputMode: this.inputmode, "aria-labelledby": this.labelId, onChange: this.handleChange, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur }))));
185
+ } }, h("textarea", { key: '5ce31d7ee232d579f53061388fc5746e4ef685c4', part: "textarea", ref: (el) => (this.nativeTextarea = el), id: this.inputId, class: "textarea__control", name: this.name, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, rows: this.rows, minLength: this.minlength, maxLength: this.maxlength, value: this.getValue(), autoCapitalize: this.autocapitalize, autoCorrect: this.autocorrect, autoFocus: this.autofocus, spellcheck: this.spellcheck, required: this.required, inputMode: this.inputmode, "aria-labelledby": this.labelId, onChange: this.handleChange, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur }))));
186
186
  }
187
187
  static get is() { return "six-textarea"; }
188
188
  static get encapsulation() { return "shadow"; }
@@ -48,16 +48,16 @@ export class SixTile {
48
48
  this.handleSlotChange();
49
49
  }
50
50
  render() {
51
- return (h("six-tooltip", { key: 'cab94c6d0cd1088f15d70709ffae09ab27f4c3ab', disabled: this.disableTooltip || this.label === '', content: this.label }, h("div", { key: '124e2e6bec97f3c6c12a7426f22272602b71b782', part: "base", class: {
51
+ return (h("six-tooltip", { key: '5853578cc56dd0d4d217e69d1601db0f92e59cd4', disabled: this.disableTooltip || this.label === '', content: this.label }, h("div", { key: '060c7e5e9096cd16ec0b8c96425456a37b76d151', part: "base", class: {
52
52
  tile: true,
53
53
  'tile--visible': this.visible,
54
54
  'tile--small': this.size === 'small',
55
55
  'tile--medium': this.size === 'medium',
56
56
  'tile--large': this.size === 'large',
57
57
  'tile--elevated': this.elevated,
58
- } }, h("div", { key: '49c9f506ca66a50e0ff2bab1da4ea66b6a9c5e8b', part: "header", class: "tile__header" }, h("six-icon-button", { key: '45e2b3878f8cb844e80e0d26285b2a37d8a3356f', class: {
58
+ } }, h("div", { key: '6292c0165ef776c29ca299cd477e4e42691c2fdd', part: "header", class: "tile__header" }, h("six-icon-button", { key: '3b94f649800cb3d5759acef86a889c50d168bfcc', class: {
59
59
  'tile__header--hidden': !this.closeable,
60
- }, name: "close", size: closeIconSize(this.size), onClick: this.handleCloseClickEvent })), h("div", { key: '2d030da9982efd1cd0b33c9fcd85e30764516454', part: "body", class: "tile__body" }, this.iconName && (h("six-icon", { onClick: this.handleClickEvent, size: iconSize(this.size) }, this.iconName)), this.hasIconSlot && h("slot", { name: "icon" })), h("div", { key: 'd0b090d95076b64f29582d7c171fb1570ade78c2', part: "footer", class: {
60
+ }, name: "close", size: closeIconSize(this.size), onClick: this.handleCloseClickEvent })), h("div", { key: '4d49bc9c8bb1f20b5e04f82aa4ac4754f00f511e', part: "body", class: "tile__body" }, this.iconName && (h("six-icon", { onClick: this.handleClickEvent, size: iconSize(this.size) }, this.iconName)), this.hasIconSlot && h("slot", { name: "icon" })), h("div", { key: 'dee1f29b9d143927cb233a371257a3d66b457a32', part: "footer", class: {
61
61
  'tile__footer--small': this.size === 'small',
62
62
  'tile__footer--medium': this.size === 'medium',
63
63
  'tile__footer--large': this.size === 'large',