@six-group/ui-library 0.0.0-insider.d16ec8e → 0.0.0-insider.e148618

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 (814) hide show
  1. package/dist/cjs/{event-listeners-dd94dcfb.js → event-listeners-fdfe838c.js} +17 -1
  2. package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
  3. package/dist/cjs/{execution-control-45c84c46.js → execution-control-b4707294.js} +1 -1
  4. package/dist/cjs/execution-control-b4707294.js.map +1 -0
  5. package/dist/cjs/{focus-visible-e0d93a95.js → focus-visible-ae2470dd.js} +1 -1
  6. package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
  7. package/dist/cjs/form-2df8c5bb.js +20 -0
  8. package/dist/cjs/form-2df8c5bb.js.map +1 -0
  9. package/dist/cjs/{form-control-7494488a.js → form-control-d369af14.js} +3 -5
  10. package/dist/cjs/form-control-d369af14.js.map +1 -0
  11. package/dist/cjs/{index-ccf35821.js → index-900437fc.js} +186 -56
  12. package/dist/cjs/index-900437fc.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +94 -0
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +3 -12
  16. package/dist/cjs/loader.cjs.js.map +1 -1
  17. package/dist/cjs/{modal-21350fb5.js → modal-d5f074c7.js} +1 -1
  18. package/dist/cjs/modal-d5f074c7.js.map +1 -0
  19. package/dist/cjs/{popover-b5e2d5ef.js → popover-2df7e154.js} +7 -13
  20. package/dist/cjs/popover-2df7e154.js.map +1 -0
  21. package/dist/cjs/{popup-44836aaf.js → popup-f1d9910f.js} +1 -1
  22. package/dist/cjs/popup-f1d9910f.js.map +1 -0
  23. package/dist/cjs/{scroll-76e6f5d7.js → scroll-03678de1.js} +1 -1
  24. package/dist/cjs/scroll-03678de1.js.map +1 -0
  25. package/dist/cjs/set-attributes_2.cjs.entry.js +1 -1
  26. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-alert.cjs.entry.js +1 -1
  28. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  29. package/dist/cjs/six-avatar.cjs.entry.js +1 -1
  30. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-badge.cjs.entry.js +1 -1
  32. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-button.cjs.entry.js +9 -3
  34. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-card.cjs.entry.js +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-checkbox.cjs.entry.js +11 -58
  38. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-datepicker.cjs.entry.js +29 -58
  40. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-details.cjs.entry.js +2 -2
  42. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-dialog.cjs.entry.js +4 -4
  44. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-drawer.cjs.entry.js +4 -4
  46. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-dropdown_2.cjs.entry.js +5 -5
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-error-page.cjs.entry.js +1 -1
  50. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-file-list-item.cjs.entry.js +1 -1
  52. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  54. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-file-upload.cjs.entry.js +1 -1
  56. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  58. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-group-label.cjs.entry.js +3 -3
  60. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-header.cjs.entry.js +3 -3
  62. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-icon-button.cjs.entry.js +2 -2
  64. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  66. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-input.cjs.entry.js +29 -88
  68. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-item-picker.cjs.entry.js +6 -6
  70. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
  72. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-layout-grid.cjs.entry.js +1 -1
  74. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  76. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  78. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-menu-item.cjs.entry.js +2 -2
  80. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  81. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  82. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-picto.cjs.entry.js +1 -1
  84. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  86. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-progress-ring.cjs.entry.js +1 -1
  88. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-radio.cjs.entry.js +26 -40
  90. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-range.cjs.entry.js +7 -45
  92. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-root.cjs.entry.js +1 -1
  94. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-search-field.cjs.entry.js +3 -3
  96. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-select.cjs.entry.js +24 -63
  98. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +2 -2
  100. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  102. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-sidebar.cjs.entry.js +2 -2
  104. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  106. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-switch.cjs.entry.js +21 -33
  108. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-tab-group.cjs.entry.js +3 -3
  110. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
  112. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  113. package/dist/cjs/six-tab.cjs.entry.js +1 -1
  114. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  115. package/dist/cjs/six-tag.cjs.entry.js +1 -1
  116. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  117. package/dist/cjs/six-textarea.cjs.entry.js +28 -77
  118. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  119. package/dist/cjs/six-tile.cjs.entry.js +2 -2
  120. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  121. package/dist/cjs/six-timepicker.cjs.entry.js +21 -31
  122. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  123. package/dist/cjs/six-tooltip.cjs.entry.js +2 -2
  124. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  125. package/dist/cjs/{slot-bccbdb59.js → slot-6e6a400f.js} +1 -1
  126. package/dist/cjs/slot-6e6a400f.js.map +1 -0
  127. package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
  128. package/dist/cjs/types-47199040.js.map +1 -0
  129. package/dist/cjs/ui-library.cjs.js +3 -6
  130. package/dist/cjs/ui-library.cjs.js.map +1 -1
  131. package/dist/collection/collection-manifest.json +54 -55
  132. package/dist/collection/components/six-alert/six-alert.js +15 -8
  133. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  134. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  135. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  136. package/dist/collection/components/six-avatar/six-avatar.js +1 -1
  137. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  138. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  139. package/dist/collection/components/six-badge/six-badge.js +1 -1
  140. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  141. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  142. package/dist/collection/components/six-button/six-button.js +19 -8
  143. package/dist/collection/components/six-button/six-button.js.map +1 -1
  144. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  145. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  146. package/dist/collection/components/six-card/six-card.js +1 -1
  147. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  148. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  149. package/dist/collection/components/six-checkbox/six-checkbox.js +37 -164
  150. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  151. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +79 -0
  152. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  153. package/dist/collection/components/six-datepicker/components/day-selection.js +1 -1
  154. package/dist/collection/components/six-datepicker/components/month-selection.js +2 -2
  155. package/dist/collection/components/six-datepicker/components/year-selection.js +2 -2
  156. package/dist/collection/components/six-datepicker/six-datepicker.js +120 -182
  157. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  158. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  159. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  160. package/dist/collection/components/six-details/six-details.js +14 -8
  161. package/dist/collection/components/six-details/six-details.js.map +1 -1
  162. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  163. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  164. package/dist/collection/components/six-dialog/six-dialog.js +21 -13
  165. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  166. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  167. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  168. package/dist/collection/components/six-drawer/six-drawer.js +21 -13
  169. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  170. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  171. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  172. package/dist/collection/components/six-dropdown/six-dropdown.js +30 -18
  173. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  174. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  175. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  176. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  177. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  178. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  179. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  180. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  181. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  182. package/dist/collection/components/six-file-list-item/six-file-list-item.js +5 -3
  183. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  184. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  185. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  186. package/dist/collection/components/six-file-upload/six-file-upload.js +5 -3
  187. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  188. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  189. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  190. package/dist/collection/components/six-footer/six-footer.js +1 -1
  191. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  192. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  193. package/dist/collection/components/six-group-label/six-group-label.js +5 -5
  194. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  195. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +43 -0
  196. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  197. package/dist/collection/components/six-header/six-header.js +19 -11
  198. package/dist/collection/components/six-header/six-header.js.map +1 -1
  199. package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
  200. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  201. package/dist/collection/components/six-icon/six-icon.js +1 -1
  202. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  203. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  204. package/dist/collection/components/six-icon-button/six-icon-button.js +2 -2
  205. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  206. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  207. package/dist/collection/components/six-input/six-input.js +91 -277
  208. package/dist/collection/components/six-input/six-input.js.map +1 -1
  209. package/dist/collection/components/six-input/test/six-input.spec.js +37 -0
  210. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  211. package/dist/collection/components/six-item-picker/six-item-picker.js +14 -10
  212. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  213. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  214. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  215. package/dist/collection/components/six-language-switcher/six-language-switcher.js +5 -3
  216. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  217. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  218. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  219. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  220. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  221. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  222. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  223. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  224. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  225. package/dist/collection/components/six-menu/six-menu.js +12 -8
  226. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  227. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  228. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  229. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  230. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  231. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  232. package/dist/collection/components/six-menu-item/six-menu-item.js +10 -6
  233. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  234. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  235. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  236. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  237. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  238. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  239. package/dist/collection/components/six-picto/six-picto.js +1 -1
  240. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  241. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  242. package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
  243. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  244. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  245. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  246. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  247. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  248. package/dist/collection/components/six-radio/six-radio.js +42 -115
  249. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  250. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  251. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  252. package/dist/collection/components/six-range/six-range.js +43 -129
  253. package/dist/collection/components/six-range/six-range.js.map +1 -1
  254. package/dist/collection/components/six-range/test/six-range.spec.js +32 -0
  255. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  256. package/dist/collection/components/six-root/six-root.js +5 -3
  257. package/dist/collection/components/six-root/six-root.js.map +1 -1
  258. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  259. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  260. package/dist/collection/components/six-search-field/six-search-field.js +5 -4
  261. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  262. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  263. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  264. package/dist/collection/components/six-select/six-select.js +73 -188
  265. package/dist/collection/components/six-select/six-select.js.map +1 -1
  266. package/dist/collection/components/six-select/test/six-select.spec.js +82 -0
  267. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  268. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  269. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  270. package/dist/collection/components/six-sidebar/six-sidebar.js +26 -14
  271. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  272. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  273. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  274. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
  275. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  276. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  277. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +2 -2
  278. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  279. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  280. package/dist/collection/components/six-spinner/six-spinner.js +1 -1
  281. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  282. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  283. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +3 -2
  284. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  285. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  286. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  287. package/dist/collection/components/six-switch/six-switch.css +77 -0
  288. package/dist/collection/components/six-switch/six-switch.js +67 -106
  289. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  290. package/dist/collection/components/six-switch/test/six-switch.spec.js +69 -0
  291. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  292. package/dist/collection/components/six-tab/six-tab.js +9 -5
  293. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  294. package/dist/collection/components/six-tab/test/six-tab.spec.js +20 -0
  295. package/dist/collection/components/six-tab/test/six-tab.spec.js.map +1 -0
  296. package/dist/collection/components/six-tab-group/six-tab-group.js +10 -7
  297. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  298. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js +45 -0
  299. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js.map +1 -0
  300. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  301. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  302. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  303. package/dist/collection/components/six-tag/six-tag.js +3 -2
  304. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  305. package/dist/collection/components/six-tag/test/six-tag.spec.js +42 -0
  306. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  307. package/dist/collection/components/six-textarea/six-textarea.js +88 -213
  308. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  309. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +117 -0
  310. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  311. package/dist/collection/components/six-tile/six-tile.js +10 -6
  312. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  313. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  314. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  315. package/dist/collection/components/six-timepicker/six-timepicker.js +60 -107
  316. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  317. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  318. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  319. package/dist/collection/components/six-tooltip/six-tooltip.js +14 -8
  320. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  321. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  322. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  323. package/dist/collection/functional-components/form-control/form-control.js +2 -4
  324. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  325. package/dist/collection/index.js +1 -1
  326. package/dist/collection/index.js.map +1 -1
  327. package/dist/collection/utils/date-util.js +2 -1
  328. package/dist/collection/utils/date-util.js.map +1 -1
  329. package/dist/collection/utils/date-util.spec.js +995 -0
  330. package/dist/collection/utils/date-util.spec.js.map +1 -0
  331. package/dist/collection/utils/error-messages.js +91 -0
  332. package/dist/collection/utils/error-messages.js.map +1 -0
  333. package/dist/collection/utils/event-listeners.js +16 -0
  334. package/dist/collection/utils/event-listeners.js.map +1 -1
  335. package/dist/collection/utils/form.js +15 -0
  336. package/dist/collection/utils/form.js.map +1 -0
  337. package/dist/collection/utils/popover.js +1 -1
  338. package/dist/collection/utils/scroll.js +1 -1
  339. package/dist/collection/utils/scroll.spec.js +122 -0
  340. package/dist/collection/utils/scroll.spec.js.map +1 -0
  341. package/dist/collection/utils/time.util.spec.js +368 -0
  342. package/dist/collection/utils/time.util.spec.js.map +1 -0
  343. package/dist/collection/wrappers/set-attributes/set-attributes.js +1 -1
  344. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  345. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  346. package/dist/components/event-listeners.js +16 -0
  347. package/dist/components/event-listeners.js.map +1 -1
  348. package/dist/components/execution-control.js.map +1 -1
  349. package/dist/components/focus-visible.js.map +1 -1
  350. package/dist/components/form-control.js +1 -3
  351. package/dist/components/form-control.js.map +1 -1
  352. package/dist/components/form.js +18 -0
  353. package/dist/components/form.js.map +1 -0
  354. package/dist/components/index.js +92 -3
  355. package/dist/components/index.js.map +1 -1
  356. package/dist/components/modal.js.map +1 -1
  357. package/dist/components/popover.js +6 -12
  358. package/dist/components/popover.js.map +1 -1
  359. package/dist/components/scroll.js.map +1 -1
  360. package/dist/components/set-attributes2.js.map +1 -1
  361. package/dist/components/six-alert.js.map +1 -1
  362. package/dist/components/six-avatar.js.map +1 -1
  363. package/dist/components/six-badge.js.map +1 -1
  364. package/dist/components/six-button.js +7 -1
  365. package/dist/components/six-button.js.map +1 -1
  366. package/dist/components/six-card.js.map +1 -1
  367. package/dist/components/six-checkbox.js +9 -62
  368. package/dist/components/six-checkbox.js.map +1 -1
  369. package/dist/components/six-datepicker.js +29 -61
  370. package/dist/components/six-datepicker.js.map +1 -1
  371. package/dist/components/six-details2.js.map +1 -1
  372. package/dist/components/six-dialog.js.map +1 -1
  373. package/dist/components/six-drawer.js.map +1 -1
  374. package/dist/components/six-dropdown2.js.map +1 -1
  375. package/dist/components/six-error-page.js.map +1 -1
  376. package/dist/components/six-file-list-item.js.map +1 -1
  377. package/dist/components/six-file-list.js.map +1 -1
  378. package/dist/components/six-file-upload.js.map +1 -1
  379. package/dist/components/six-footer.js.map +1 -1
  380. package/dist/components/six-group-label.js +1 -1
  381. package/dist/components/six-group-label.js.map +1 -1
  382. package/dist/components/six-header.js.map +1 -1
  383. package/dist/components/six-icon-button2.js.map +1 -1
  384. package/dist/components/six-icon2.js.map +1 -1
  385. package/dist/components/six-input2.js +30 -98
  386. package/dist/components/six-input2.js.map +1 -1
  387. package/dist/components/six-item-picker2.js +2 -2
  388. package/dist/components/six-item-picker2.js.map +1 -1
  389. package/dist/components/six-language-switcher.js.map +1 -1
  390. package/dist/components/six-layout-grid.js.map +1 -1
  391. package/dist/components/six-main-container.js.map +1 -1
  392. package/dist/components/six-menu-divider.js.map +1 -1
  393. package/dist/components/six-menu-item2.js.map +1 -1
  394. package/dist/components/six-menu-label.js.map +1 -1
  395. package/dist/components/six-menu2.js.map +1 -1
  396. package/dist/components/six-picto2.js.map +1 -1
  397. package/dist/components/six-progress-bar.js.map +1 -1
  398. package/dist/components/six-progress-ring.js.map +1 -1
  399. package/dist/components/six-radio.js +28 -46
  400. package/dist/components/six-radio.js.map +1 -1
  401. package/dist/components/six-range.js +8 -50
  402. package/dist/components/six-range.js.map +1 -1
  403. package/dist/components/six-root.js.map +1 -1
  404. package/dist/components/six-search-field.js.map +1 -1
  405. package/dist/components/six-select.js +22 -67
  406. package/dist/components/six-select.js.map +1 -1
  407. package/dist/components/six-sidebar-item-group.js.map +1 -1
  408. package/dist/components/six-sidebar-item.js.map +1 -1
  409. package/dist/components/six-sidebar.js.map +1 -1
  410. package/dist/components/six-spinner2.js.map +1 -1
  411. package/dist/components/six-stage-indicator2.js.map +1 -1
  412. package/dist/components/six-switch.js +24 -38
  413. package/dist/components/six-switch.js.map +1 -1
  414. package/dist/components/six-tab-group.js.map +1 -1
  415. package/dist/components/six-tab-panel.js.map +1 -1
  416. package/dist/components/six-tab.js.map +1 -1
  417. package/dist/components/six-tag2.js.map +1 -1
  418. package/dist/components/six-textarea.js +29 -84
  419. package/dist/components/six-textarea.js.map +1 -1
  420. package/dist/components/six-tile.js.map +1 -1
  421. package/dist/components/six-timepicker2.js +18 -31
  422. package/dist/components/six-timepicker2.js.map +1 -1
  423. package/dist/components/six-tooltip2.js.map +1 -1
  424. package/dist/components/slot.js.map +1 -1
  425. package/dist/components.d.ts +361 -88
  426. package/dist/components.json +3830 -777
  427. package/dist/esm/{event-listeners-6b434035.js → event-listeners-f6e5b0ab.js} +17 -1
  428. package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
  429. package/dist/esm/{execution-control-72cc50f4.js → execution-control-e0892a05.js} +1 -1
  430. package/dist/esm/execution-control-e0892a05.js.map +1 -0
  431. package/dist/esm/{focus-visible-fa7129a0.js → focus-visible-fc6ac671.js} +1 -1
  432. package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
  433. package/dist/esm/form-81252534.js +18 -0
  434. package/dist/esm/form-81252534.js.map +1 -0
  435. package/dist/esm/{form-control-44a50dd6.js → form-control-32cb533f.js} +3 -5
  436. package/dist/esm/form-control-32cb533f.js.map +1 -0
  437. package/dist/esm/{index-371fb9d4.js → index-8a74f992.js} +187 -56
  438. package/dist/esm/index-8a74f992.js.map +1 -0
  439. package/dist/esm/index.js +91 -0
  440. package/dist/esm/index.js.map +1 -1
  441. package/dist/esm/loader.js +4 -13
  442. package/dist/esm/loader.js.map +1 -1
  443. package/dist/esm/{modal-b1d96441.js → modal-7d32e141.js} +1 -1
  444. package/dist/esm/modal-7d32e141.js.map +1 -0
  445. package/dist/esm/{popover-1aacbae8.js → popover-136d1f73.js} +7 -13
  446. package/dist/esm/popover-136d1f73.js.map +1 -0
  447. package/dist/esm/{popup-678b8592.js → popup-7f89a001.js} +1 -1
  448. package/dist/esm/popup-7f89a001.js.map +1 -0
  449. package/dist/esm/{scroll-180b53fd.js → scroll-3fb087a2.js} +1 -1
  450. package/dist/esm/scroll-3fb087a2.js.map +1 -0
  451. package/dist/esm/set-attributes_2.entry.js +1 -1
  452. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  453. package/dist/esm/six-alert.entry.js +1 -1
  454. package/dist/esm/six-alert.entry.js.map +1 -1
  455. package/dist/esm/six-avatar.entry.js +1 -1
  456. package/dist/esm/six-avatar.entry.js.map +1 -1
  457. package/dist/esm/six-badge.entry.js +1 -1
  458. package/dist/esm/six-badge.entry.js.map +1 -1
  459. package/dist/esm/six-button.entry.js +9 -3
  460. package/dist/esm/six-button.entry.js.map +1 -1
  461. package/dist/esm/six-card.entry.js +1 -1
  462. package/dist/esm/six-card.entry.js.map +1 -1
  463. package/dist/esm/six-checkbox.entry.js +11 -58
  464. package/dist/esm/six-checkbox.entry.js.map +1 -1
  465. package/dist/esm/six-datepicker.entry.js +29 -58
  466. package/dist/esm/six-datepicker.entry.js.map +1 -1
  467. package/dist/esm/six-details.entry.js +2 -2
  468. package/dist/esm/six-details.entry.js.map +1 -1
  469. package/dist/esm/six-dialog.entry.js +4 -4
  470. package/dist/esm/six-dialog.entry.js.map +1 -1
  471. package/dist/esm/six-drawer.entry.js +4 -4
  472. package/dist/esm/six-drawer.entry.js.map +1 -1
  473. package/dist/esm/six-dropdown_2.entry.js +5 -5
  474. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  475. package/dist/esm/six-error-page.entry.js +1 -1
  476. package/dist/esm/six-error-page.entry.js.map +1 -1
  477. package/dist/esm/six-file-list-item.entry.js +1 -1
  478. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  479. package/dist/esm/six-file-list.entry.js +1 -1
  480. package/dist/esm/six-file-list.entry.js.map +1 -1
  481. package/dist/esm/six-file-upload.entry.js +1 -1
  482. package/dist/esm/six-file-upload.entry.js.map +1 -1
  483. package/dist/esm/six-footer.entry.js +1 -1
  484. package/dist/esm/six-footer.entry.js.map +1 -1
  485. package/dist/esm/six-group-label.entry.js +3 -3
  486. package/dist/esm/six-group-label.entry.js.map +1 -1
  487. package/dist/esm/six-header.entry.js +3 -3
  488. package/dist/esm/six-header.entry.js.map +1 -1
  489. package/dist/esm/six-icon-button.entry.js +2 -2
  490. package/dist/esm/six-icon-button.entry.js.map +1 -1
  491. package/dist/esm/six-icon.entry.js +1 -1
  492. package/dist/esm/six-icon.entry.js.map +1 -1
  493. package/dist/esm/six-input.entry.js +29 -88
  494. package/dist/esm/six-input.entry.js.map +1 -1
  495. package/dist/esm/six-item-picker.entry.js +6 -6
  496. package/dist/esm/six-item-picker.entry.js.map +1 -1
  497. package/dist/esm/six-language-switcher.entry.js +1 -1
  498. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  499. package/dist/esm/six-layout-grid.entry.js +1 -1
  500. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  501. package/dist/esm/six-main-container.entry.js +1 -1
  502. package/dist/esm/six-main-container.entry.js.map +1 -1
  503. package/dist/esm/six-menu-divider.entry.js +1 -1
  504. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  505. package/dist/esm/six-menu-item.entry.js +2 -2
  506. package/dist/esm/six-menu-item.entry.js.map +1 -1
  507. package/dist/esm/six-menu-label.entry.js +1 -1
  508. package/dist/esm/six-menu-label.entry.js.map +1 -1
  509. package/dist/esm/six-picto.entry.js +1 -1
  510. package/dist/esm/six-picto.entry.js.map +1 -1
  511. package/dist/esm/six-progress-bar.entry.js +1 -1
  512. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  513. package/dist/esm/six-progress-ring.entry.js +1 -1
  514. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  515. package/dist/esm/six-radio.entry.js +26 -40
  516. package/dist/esm/six-radio.entry.js.map +1 -1
  517. package/dist/esm/six-range.entry.js +7 -45
  518. package/dist/esm/six-range.entry.js.map +1 -1
  519. package/dist/esm/six-root.entry.js +1 -1
  520. package/dist/esm/six-root.entry.js.map +1 -1
  521. package/dist/esm/six-search-field.entry.js +3 -3
  522. package/dist/esm/six-search-field.entry.js.map +1 -1
  523. package/dist/esm/six-select.entry.js +24 -63
  524. package/dist/esm/six-select.entry.js.map +1 -1
  525. package/dist/esm/six-sidebar-item-group.entry.js +2 -2
  526. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  527. package/dist/esm/six-sidebar-item.entry.js +1 -1
  528. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  529. package/dist/esm/six-sidebar.entry.js +2 -2
  530. package/dist/esm/six-sidebar.entry.js.map +1 -1
  531. package/dist/esm/six-spinner.entry.js +1 -1
  532. package/dist/esm/six-spinner.entry.js.map +1 -1
  533. package/dist/esm/six-switch.entry.js +21 -33
  534. package/dist/esm/six-switch.entry.js.map +1 -1
  535. package/dist/esm/six-tab-group.entry.js +3 -3
  536. package/dist/esm/six-tab-group.entry.js.map +1 -1
  537. package/dist/esm/six-tab-panel.entry.js +1 -1
  538. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  539. package/dist/esm/six-tab.entry.js +1 -1
  540. package/dist/esm/six-tab.entry.js.map +1 -1
  541. package/dist/esm/six-tag.entry.js +1 -1
  542. package/dist/esm/six-tag.entry.js.map +1 -1
  543. package/dist/esm/six-textarea.entry.js +28 -77
  544. package/dist/esm/six-textarea.entry.js.map +1 -1
  545. package/dist/esm/six-tile.entry.js +2 -2
  546. package/dist/esm/six-tile.entry.js.map +1 -1
  547. package/dist/esm/six-timepicker.entry.js +21 -31
  548. package/dist/esm/six-timepicker.entry.js.map +1 -1
  549. package/dist/esm/six-tooltip.entry.js +2 -2
  550. package/dist/esm/six-tooltip.entry.js.map +1 -1
  551. package/dist/esm/{slot-2e64df19.js → slot-ad36df3a.js} +1 -1
  552. package/dist/esm/slot-ad36df3a.js.map +1 -0
  553. package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
  554. package/dist/esm/types-59b455aa.js.map +1 -0
  555. package/dist/esm/ui-library.js +4 -7
  556. package/dist/esm/ui-library.js.map +1 -1
  557. package/dist/types/components/six-checkbox/six-checkbox.d.ts +5 -21
  558. package/dist/types/components/six-datepicker/six-datepicker.d.ts +11 -17
  559. package/dist/types/components/six-group-label/six-group-label.d.ts +1 -1
  560. package/dist/types/components/six-input/six-input.d.ts +7 -33
  561. package/dist/types/components/six-radio/six-radio.d.ts +5 -15
  562. package/dist/types/components/six-range/six-range.d.ts +6 -21
  563. package/dist/types/components/six-select/six-select.d.ts +9 -24
  564. package/dist/types/components/six-switch/six-switch.d.ts +11 -13
  565. package/dist/types/components/six-textarea/six-textarea.d.ts +7 -26
  566. package/dist/types/components/six-timepicker/six-timepicker.d.ts +7 -12
  567. package/dist/types/components.d.ts +94 -341
  568. package/dist/types/functional-components/form-control/form-control.d.ts +1 -3
  569. package/dist/types/index.d.ts +1 -0
  570. package/dist/types/stencil-public-runtime.d.ts +15 -2
  571. package/dist/types/types.d.ts +2 -0
  572. package/dist/types/utils/date-util.d.ts +1 -0
  573. package/dist/types/utils/error-messages.d.ts +42 -0
  574. package/dist/types/utils/event-listeners.d.ts +4 -3
  575. package/dist/types/utils/form.d.ts +1 -0
  576. package/dist/ui-library/index.esm.js +1 -1
  577. package/dist/ui-library/index.esm.js.map +1 -1
  578. package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
  579. package/dist/ui-library/p-0f510624.js.map +1 -0
  580. package/dist/ui-library/{p-bf4a35ec.js → p-0fdb185d.js} +1 -1
  581. package/dist/ui-library/p-0fdb185d.js.map +1 -0
  582. package/dist/ui-library/{p-f29ba9cb.entry.js → p-1256cc0a.entry.js} +2 -2
  583. package/dist/ui-library/p-1256cc0a.entry.js.map +1 -0
  584. package/dist/ui-library/{p-5084ca7c.entry.js → p-13b43e04.entry.js} +2 -2
  585. package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
  586. package/dist/ui-library/{p-d87a6f4d.js → p-15559d38.js} +1 -1
  587. package/dist/ui-library/p-15559d38.js.map +1 -0
  588. package/dist/ui-library/{p-5c60227f.entry.js → p-19ed7a4c.entry.js} +2 -2
  589. package/dist/ui-library/p-19ed7a4c.entry.js.map +1 -0
  590. package/dist/ui-library/{p-7639c68e.entry.js → p-1d0bee53.entry.js} +2 -2
  591. package/dist/ui-library/p-1d0bee53.entry.js.map +1 -0
  592. package/dist/ui-library/{p-965fa6a6.entry.js → p-1d5ee1a0.entry.js} +2 -2
  593. package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
  594. package/dist/ui-library/{p-eb8f05a9.js → p-1f18768a.js} +1 -1
  595. package/dist/ui-library/p-1f18768a.js.map +1 -0
  596. package/dist/ui-library/{p-deb01174.entry.js → p-21b3b321.entry.js} +2 -2
  597. package/dist/ui-library/p-21b3b321.entry.js.map +1 -0
  598. package/dist/ui-library/p-2451cfdc.entry.js +2 -0
  599. package/dist/ui-library/p-2451cfdc.entry.js.map +1 -0
  600. package/dist/ui-library/p-264d4ea8.entry.js +2 -0
  601. package/dist/ui-library/p-264d4ea8.entry.js.map +1 -0
  602. package/dist/ui-library/{p-73325eec.entry.js → p-29ac3d7d.entry.js} +2 -2
  603. package/dist/ui-library/p-29ac3d7d.entry.js.map +1 -0
  604. package/dist/ui-library/{p-713684c7.entry.js → p-314b2096.entry.js} +2 -2
  605. package/dist/ui-library/p-314b2096.entry.js.map +1 -0
  606. package/dist/ui-library/{p-f974a184.entry.js → p-330a4988.entry.js} +2 -2
  607. package/dist/ui-library/p-330a4988.entry.js.map +1 -0
  608. package/dist/ui-library/{p-a5143b8d.entry.js → p-346f9557.entry.js} +2 -2
  609. package/dist/ui-library/p-346f9557.entry.js.map +1 -0
  610. package/dist/ui-library/{p-a3cc0521.entry.js → p-37557787.entry.js} +2 -2
  611. package/dist/ui-library/p-37557787.entry.js.map +1 -0
  612. package/dist/ui-library/{p-cf1133a0.entry.js → p-3cc5addb.entry.js} +2 -2
  613. package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
  614. package/dist/ui-library/p-3d9de119.entry.js +2 -0
  615. package/dist/ui-library/p-3d9de119.entry.js.map +1 -0
  616. package/dist/ui-library/{p-cf1d36c0.entry.js → p-411ed539.entry.js} +2 -2
  617. package/dist/ui-library/p-411ed539.entry.js.map +1 -0
  618. package/dist/ui-library/{p-2a8ad91b.entry.js → p-4705a51e.entry.js} +2 -2
  619. package/dist/ui-library/p-4705a51e.entry.js.map +1 -0
  620. package/dist/ui-library/p-4abed9df.entry.js +2 -0
  621. package/dist/ui-library/p-4abed9df.entry.js.map +1 -0
  622. package/dist/ui-library/{p-0cc08e91.js → p-5654e4c7.js} +1 -1
  623. package/dist/ui-library/p-5654e4c7.js.map +1 -0
  624. package/dist/ui-library/{p-0fe78f9b.js → p-59210f0b.js} +1 -1
  625. package/dist/ui-library/p-59210f0b.js.map +1 -0
  626. package/dist/ui-library/{p-b27f496f.entry.js → p-5af44076.entry.js} +2 -2
  627. package/dist/ui-library/p-5af44076.entry.js.map +1 -0
  628. package/dist/ui-library/p-5d6b7353.entry.js +2 -0
  629. package/dist/ui-library/p-5d6b7353.entry.js.map +1 -0
  630. package/dist/ui-library/{p-aa6f71e1.entry.js → p-613283a7.entry.js} +2 -2
  631. package/dist/ui-library/p-613283a7.entry.js.map +1 -0
  632. package/dist/ui-library/p-6153045b.js +3 -0
  633. package/dist/ui-library/p-6153045b.js.map +1 -0
  634. package/dist/ui-library/{p-886a35ee.entry.js → p-6197fe2f.entry.js} +2 -2
  635. package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
  636. package/dist/ui-library/{p-8cf72af6.js → p-698bb2c8.js} +1 -1
  637. package/dist/ui-library/p-698bb2c8.js.map +1 -0
  638. package/dist/ui-library/p-6eb24bcb.entry.js +2 -0
  639. package/dist/ui-library/p-6eb24bcb.entry.js.map +1 -0
  640. package/dist/ui-library/{p-c07adc21.entry.js → p-72254eef.entry.js} +2 -2
  641. package/dist/ui-library/p-72254eef.entry.js.map +1 -0
  642. package/dist/ui-library/{p-3b71cac4.entry.js → p-724875b0.entry.js} +2 -2
  643. package/dist/ui-library/p-724875b0.entry.js.map +1 -0
  644. package/dist/ui-library/{p-649017db.entry.js → p-7afafb9d.entry.js} +2 -2
  645. package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
  646. package/dist/ui-library/p-7d95def3.js +2 -0
  647. package/dist/ui-library/p-7d95def3.js.map +1 -0
  648. package/dist/ui-library/{p-3a47c8ad.entry.js → p-7e3ad38a.entry.js} +2 -2
  649. package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
  650. package/dist/ui-library/{p-053d6de8.entry.js → p-83864cfe.entry.js} +2 -2
  651. package/dist/ui-library/p-83864cfe.entry.js.map +1 -0
  652. package/dist/ui-library/{p-f66eb76c.entry.js → p-878226a0.entry.js} +2 -2
  653. package/dist/ui-library/p-878226a0.entry.js.map +1 -0
  654. package/dist/ui-library/p-8c0971e0.js +2 -0
  655. package/dist/ui-library/p-8c0971e0.js.map +1 -0
  656. package/dist/ui-library/{p-5b3e6eb7.entry.js → p-91b51800.entry.js} +2 -2
  657. package/dist/ui-library/p-91b51800.entry.js.map +1 -0
  658. package/dist/ui-library/{p-764f56dd.entry.js → p-95fbdd0b.entry.js} +2 -2
  659. package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
  660. package/dist/ui-library/{p-8d6f4311.entry.js → p-99e24daf.entry.js} +2 -2
  661. package/dist/ui-library/p-99e24daf.entry.js.map +1 -0
  662. package/dist/ui-library/{p-ba74863a.js → p-9ace84c7.js} +1 -1
  663. package/dist/ui-library/p-9ace84c7.js.map +1 -0
  664. package/dist/ui-library/{p-cab99e54.entry.js → p-9b354f5d.entry.js} +2 -2
  665. package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
  666. package/dist/ui-library/{p-d8c97778.entry.js → p-9c1be3fb.entry.js} +2 -2
  667. package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
  668. package/dist/ui-library/{p-e5ba13d2.entry.js → p-a0f290d0.entry.js} +2 -2
  669. package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
  670. package/dist/ui-library/{p-c700e3eb.entry.js → p-a55c7258.entry.js} +2 -2
  671. package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
  672. package/dist/ui-library/{p-27c4ee88.entry.js → p-a6a9ee96.entry.js} +2 -2
  673. package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
  674. package/dist/ui-library/{p-3e4b9341.entry.js → p-ac099e6b.entry.js} +2 -2
  675. package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
  676. package/dist/ui-library/{p-90c2dc30.entry.js → p-ae601a0f.entry.js} +2 -2
  677. package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
  678. package/dist/ui-library/{p-9f8b6144.entry.js → p-b351f889.entry.js} +2 -2
  679. package/dist/ui-library/p-b351f889.entry.js.map +1 -0
  680. package/dist/ui-library/p-bf87464b.entry.js +2 -0
  681. package/dist/ui-library/p-bf87464b.entry.js.map +1 -0
  682. package/dist/ui-library/{p-abb98245.entry.js → p-c03ebf7d.entry.js} +2 -2
  683. package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
  684. package/dist/ui-library/{p-0eee4c41.entry.js → p-cd67da3d.entry.js} +2 -2
  685. package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
  686. package/dist/ui-library/{p-5dc40a6a.entry.js → p-cdaed936.entry.js} +2 -2
  687. package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
  688. package/dist/ui-library/{p-5c1dd25a.entry.js → p-d367f4f9.entry.js} +2 -2
  689. package/dist/ui-library/p-d367f4f9.entry.js.map +1 -0
  690. package/dist/ui-library/p-d42c2025.js +2 -0
  691. package/dist/ui-library/p-d42c2025.js.map +1 -0
  692. package/dist/ui-library/{p-9b9c3afc.entry.js → p-dfed33c5.entry.js} +2 -2
  693. package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
  694. package/dist/ui-library/p-ed381ad9.entry.js +2 -0
  695. package/dist/ui-library/p-ed381ad9.entry.js.map +1 -0
  696. package/dist/ui-library/p-ee8342e1.entry.js +2 -0
  697. package/dist/ui-library/p-ee8342e1.entry.js.map +1 -0
  698. package/dist/ui-library/{p-25b42655.entry.js → p-ee950ce2.entry.js} +2 -2
  699. package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
  700. package/dist/ui-library/{p-41f0b6ff.entry.js → p-ff90ffd1.entry.js} +2 -2
  701. package/dist/ui-library/p-ff90ffd1.entry.js.map +1 -0
  702. package/dist/ui-library/ui-library.esm.js +1 -1
  703. package/dist/ui-library/ui-library.esm.js.map +1 -1
  704. package/loader/index.d.ts +1 -1
  705. package/package.json +7 -7
  706. package/dist/cjs/event-listeners-dd94dcfb.js.map +0 -1
  707. package/dist/cjs/execution-control-45c84c46.js.map +0 -1
  708. package/dist/cjs/focus-visible-e0d93a95.js.map +0 -1
  709. package/dist/cjs/form-control-7494488a.js.map +0 -1
  710. package/dist/cjs/index-ccf35821.js.map +0 -1
  711. package/dist/cjs/modal-21350fb5.js.map +0 -1
  712. package/dist/cjs/popover-b5e2d5ef.js.map +0 -1
  713. package/dist/cjs/popup-44836aaf.js.map +0 -1
  714. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  715. package/dist/cjs/six-form.cjs.entry.js +0 -236
  716. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  717. package/dist/cjs/slot-bccbdb59.js.map +0 -1
  718. package/dist/cjs/types-64878648.js.map +0 -1
  719. package/dist/collection/components/six-form/six-form.css +0 -11
  720. package/dist/collection/components/six-form/six-form.js +0 -427
  721. package/dist/collection/components/six-form/six-form.js.map +0 -1
  722. package/dist/components/six-form.d.ts +0 -11
  723. package/dist/components/six-form.js +0 -257
  724. package/dist/components/six-form.js.map +0 -1
  725. package/dist/esm/event-listeners-6b434035.js.map +0 -1
  726. package/dist/esm/execution-control-72cc50f4.js.map +0 -1
  727. package/dist/esm/focus-visible-fa7129a0.js.map +0 -1
  728. package/dist/esm/form-control-44a50dd6.js.map +0 -1
  729. package/dist/esm/index-371fb9d4.js.map +0 -1
  730. package/dist/esm/modal-b1d96441.js.map +0 -1
  731. package/dist/esm/polyfills/css-shim.js +0 -1
  732. package/dist/esm/popover-1aacbae8.js.map +0 -1
  733. package/dist/esm/popup-678b8592.js.map +0 -1
  734. package/dist/esm/scroll-180b53fd.js.map +0 -1
  735. package/dist/esm/six-form.entry.js +0 -232
  736. package/dist/esm/six-form.entry.js.map +0 -1
  737. package/dist/esm/slot-2e64df19.js.map +0 -1
  738. package/dist/esm/types-4b10b413.js.map +0 -1
  739. package/dist/types/components/six-form/six-form.d.ts +0 -60
  740. package/dist/ui-library/p-02d5a6d8.js +0 -2
  741. package/dist/ui-library/p-02d5a6d8.js.map +0 -1
  742. package/dist/ui-library/p-053d6de8.entry.js.map +0 -1
  743. package/dist/ui-library/p-0cc08e91.js.map +0 -1
  744. package/dist/ui-library/p-0eee4c41.entry.js.map +0 -1
  745. package/dist/ui-library/p-0fe78f9b.js.map +0 -1
  746. package/dist/ui-library/p-187fbba0.js +0 -3
  747. package/dist/ui-library/p-187fbba0.js.map +0 -1
  748. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  749. package/dist/ui-library/p-25b42655.entry.js.map +0 -1
  750. package/dist/ui-library/p-271ba152.entry.js +0 -2
  751. package/dist/ui-library/p-271ba152.entry.js.map +0 -1
  752. package/dist/ui-library/p-27c4ee88.entry.js.map +0 -1
  753. package/dist/ui-library/p-2a36b7d0.entry.js +0 -2
  754. package/dist/ui-library/p-2a36b7d0.entry.js.map +0 -1
  755. package/dist/ui-library/p-2a8ad91b.entry.js.map +0 -1
  756. package/dist/ui-library/p-30e0cdce.entry.js +0 -2
  757. package/dist/ui-library/p-30e0cdce.entry.js.map +0 -1
  758. package/dist/ui-library/p-3a47c8ad.entry.js.map +0 -1
  759. package/dist/ui-library/p-3a4815cb.entry.js +0 -2
  760. package/dist/ui-library/p-3a4815cb.entry.js.map +0 -1
  761. package/dist/ui-library/p-3b71cac4.entry.js.map +0 -1
  762. package/dist/ui-library/p-3d4a2e03.entry.js +0 -2
  763. package/dist/ui-library/p-3d4a2e03.entry.js.map +0 -1
  764. package/dist/ui-library/p-3e4b9341.entry.js.map +0 -1
  765. package/dist/ui-library/p-41f0b6ff.entry.js.map +0 -1
  766. package/dist/ui-library/p-435242a8.entry.js +0 -2
  767. package/dist/ui-library/p-435242a8.entry.js.map +0 -1
  768. package/dist/ui-library/p-5084ca7c.entry.js.map +0 -1
  769. package/dist/ui-library/p-5b3e6eb7.entry.js.map +0 -1
  770. package/dist/ui-library/p-5c1dd25a.entry.js.map +0 -1
  771. package/dist/ui-library/p-5c60227f.entry.js.map +0 -1
  772. package/dist/ui-library/p-5dc40a6a.entry.js.map +0 -1
  773. package/dist/ui-library/p-649017db.entry.js.map +0 -1
  774. package/dist/ui-library/p-713684c7.entry.js.map +0 -1
  775. package/dist/ui-library/p-73325eec.entry.js.map +0 -1
  776. package/dist/ui-library/p-7639c68e.entry.js.map +0 -1
  777. package/dist/ui-library/p-764f56dd.entry.js.map +0 -1
  778. package/dist/ui-library/p-886a35ee.entry.js.map +0 -1
  779. package/dist/ui-library/p-8cf72af6.js.map +0 -1
  780. package/dist/ui-library/p-8d6f4311.entry.js.map +0 -1
  781. package/dist/ui-library/p-90c2dc30.entry.js.map +0 -1
  782. package/dist/ui-library/p-965fa6a6.entry.js.map +0 -1
  783. package/dist/ui-library/p-98234e3f.entry.js +0 -2
  784. package/dist/ui-library/p-98234e3f.entry.js.map +0 -1
  785. package/dist/ui-library/p-9b9c3afc.entry.js.map +0 -1
  786. package/dist/ui-library/p-9c34eab7.entry.js +0 -2
  787. package/dist/ui-library/p-9c34eab7.entry.js.map +0 -1
  788. package/dist/ui-library/p-9e0c386f.entry.js +0 -2
  789. package/dist/ui-library/p-9e0c386f.entry.js.map +0 -1
  790. package/dist/ui-library/p-9f8b6144.entry.js.map +0 -1
  791. package/dist/ui-library/p-a3cc0521.entry.js.map +0 -1
  792. package/dist/ui-library/p-a5143b8d.entry.js.map +0 -1
  793. package/dist/ui-library/p-aa6f71e1.entry.js.map +0 -1
  794. package/dist/ui-library/p-abb98245.entry.js.map +0 -1
  795. package/dist/ui-library/p-b183e44f.js +0 -2
  796. package/dist/ui-library/p-b183e44f.js.map +0 -1
  797. package/dist/ui-library/p-b27f496f.entry.js.map +0 -1
  798. package/dist/ui-library/p-ba74863a.js.map +0 -1
  799. package/dist/ui-library/p-bf4a35ec.js.map +0 -1
  800. package/dist/ui-library/p-c07adc21.entry.js.map +0 -1
  801. package/dist/ui-library/p-c700e3eb.entry.js.map +0 -1
  802. package/dist/ui-library/p-cab99e54.entry.js.map +0 -1
  803. package/dist/ui-library/p-cf1133a0.entry.js.map +0 -1
  804. package/dist/ui-library/p-cf1d36c0.entry.js.map +0 -1
  805. package/dist/ui-library/p-d87a6f4d.js.map +0 -1
  806. package/dist/ui-library/p-d8c97778.entry.js.map +0 -1
  807. package/dist/ui-library/p-deb01174.entry.js.map +0 -1
  808. package/dist/ui-library/p-e5ba13d2.entry.js.map +0 -1
  809. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  810. package/dist/ui-library/p-f29ba9cb.entry.js.map +0 -1
  811. package/dist/ui-library/p-f66eb76c.entry.js.map +0 -1
  812. package/dist/ui-library/p-f974a184.entry.js.map +0 -1
  813. package/dist/ui-library/p-fb8d0734.entry.js +0 -2
  814. package/dist/ui-library/p-fb8d0734.entry.js.map +0 -1
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ccf35821.js');
6
- const slot = require('./slot-bccbdb59.js');
7
- const formControl = require('./form-control-7494488a.js');
8
- const eventListeners = require('./event-listeners-dd94dcfb.js');
9
- const executionControl = require('./execution-control-45c84c46.js');
5
+ const index = require('./index-900437fc.js');
6
+ const slot = require('./slot-6e6a400f.js');
7
+ const formControl = require('./form-control-d369af14.js');
8
+ const eventListeners = require('./event-listeners-fdfe838c.js');
9
+ const executionControl = require('./execution-control-b4707294.js');
10
10
 
11
11
  function isValueEmpty(value) {
12
12
  if (Array.isArray(value)) {
@@ -29,8 +29,6 @@ const SixSelect = class {
29
29
  this.helpTextId = `select-help-text-${id}`;
30
30
  this.errorTextId = `select-error-text-${id}`;
31
31
  this.touched = false;
32
- this.customErrorText = '';
33
- this.customValidation = false;
34
32
  this.eventListeners = new eventListeners.EventListeners();
35
33
  this.handleBlur = () => {
36
34
  this.hasFocus = false;
@@ -40,12 +38,10 @@ const SixSelect = class {
40
38
  this.hasFocus = true;
41
39
  this.sixFocus.emit();
42
40
  };
43
- this.handleInvalid = () => {
44
- this.invalid = true;
45
- };
46
41
  this.handleClearClick = (event) => {
47
42
  event.stopPropagation();
48
43
  this.clearValues();
44
+ this.sixChange.emit({ value: this.value, isSelected: true });
49
45
  };
50
46
  this.handleSelectAll = (event) => {
51
47
  const nonFilteredItems = this.getItems().filter((item) => item.style.display !== 'none');
@@ -62,6 +58,7 @@ const SixSelect = class {
62
58
  .forEach((option) => (option.checked = hasDeselectedOptions));
63
59
  const checkedItems = nonFilteredItems.filter((option) => option.checked).map((option) => option.value);
64
60
  this.value = hasDeselectedOptions ? checkedItems : [];
61
+ this.sixChange.emit({ value: this.value, isSelected: true });
65
62
  }
66
63
  };
67
64
  this.handleKeyDown = (event) => {
@@ -124,6 +121,7 @@ const SixSelect = class {
124
121
  };
125
122
  this.value = getValue();
126
123
  this.syncItemsFromValue();
124
+ this.sixChange.emit({ value: this.value, isSelected: true });
127
125
  };
128
126
  this.handleMenuShow = (event) => {
129
127
  var _a;
@@ -142,7 +140,6 @@ const SixSelect = class {
142
140
  };
143
141
  this.handleSlotChange = () => {
144
142
  this.hasHelpTextSlot = slot.hasSlot(this.host, 'help-text');
145
- this.hasErrorTextSlot = slot.hasSlot(this.host, 'error-text');
146
143
  this.hasLabelSlot = slot.hasSlot(this.host, 'label');
147
144
  this.syncItemsFromValue();
148
145
  };
@@ -150,18 +147,18 @@ const SixSelect = class {
150
147
  // Don't toggle the menu when a tag's clear button is activated
151
148
  const path = event.composedPath();
152
149
  const clearButton = path.find((el) => {
153
- if (el instanceof index.H) {
150
+ if (el instanceof HTMLElement) {
154
151
  const element = el;
155
152
  return element.classList.contains('tag__clear');
156
153
  }
157
154
  });
158
155
  if (clearButton) {
159
156
  event.stopPropagation();
157
+ this.sixChange.emit({ value: this.value, isSelected: true });
160
158
  }
161
159
  };
162
160
  this.hasFocus = false;
163
161
  this.hasHelpTextSlot = false;
164
- this.hasErrorTextSlot = false;
165
162
  this.hasLabelSlot = false;
166
163
  this.isOpen = false;
167
164
  this.displayLabel = '';
@@ -177,21 +174,19 @@ const SixSelect = class {
177
174
  this.hoist = false;
178
175
  this.value = '';
179
176
  this.pill = false;
180
- this.label = '';
181
177
  this.helpText = '';
182
- this.errorText = '';
183
178
  this.required = false;
184
179
  this.clearable = false;
180
+ this.label = '';
181
+ this.errorText = '';
185
182
  this.invalid = false;
186
183
  this.line = false;
187
- this.errorOnBlur = false;
188
184
  this.filter = false;
189
185
  this.asyncFilter = false;
190
186
  this.autocomplete = false;
191
187
  this.inputDebounce = executionControl.DEFAULT_DEBOUNCE_FAST;
192
188
  this.options = null;
193
189
  this.virtualScroll = false;
194
- this.defaultValue = this.multiple ? [] : '';
195
190
  }
196
191
  handleDisabledChange() {
197
192
  var _a;
@@ -208,17 +203,14 @@ const SixSelect = class {
208
203
  this.value = this.multiple ? value : value[0] || '';
209
204
  this.syncItemsFromValue();
210
205
  }
211
- handleValueChange() {
206
+ async handleValueChange() {
212
207
  if (this.multiple && !Array.isArray(this.value)) {
213
208
  this.value = [];
214
209
  }
215
210
  if (!this.multiple && typeof this.value !== 'string') {
216
211
  this.value = '';
217
212
  }
218
- this.syncItemsFromValue();
219
- if (this.input) {
220
- this.sixChange.emit({ value: this.value, isSelected: true });
221
- }
213
+ await this.syncItemsFromValue();
222
214
  }
223
215
  connectedCallback() {
224
216
  var _a;
@@ -226,6 +218,9 @@ const SixSelect = class {
226
218
  console.error('Options must be defined when using virtual scrolling');
227
219
  }
228
220
  (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener('slotchange', this.handleSlotChange);
221
+ this.eventListeners.forward('six-select-change', 'change', this.host);
222
+ this.eventListeners.forward('six-select-blur', 'blur', this.host);
223
+ this.eventListeners.forward('six-select-focus', 'focus', this.host);
229
224
  }
230
225
  componentWillLoad() {
231
226
  this.handleSlotChange();
@@ -240,12 +235,6 @@ const SixSelect = class {
240
235
  this.resizeObserver = new ResizeObserver(() => this.resizeMenu());
241
236
  // We need to do an initial sync after the component has rendered, so this will suppress the re-render warning
242
237
  requestAnimationFrame(() => this.syncItemsFromValue());
243
- this.eventListeners.add(this.input, 'invalid', async (event) => {
244
- if (this.customValidation || (!this.hasErrorTextSlot && this.errorText == null && this.customErrorText == null)) {
245
- this.customErrorText = await input.getValidationMessage();
246
- }
247
- event.preventDefault();
248
- });
249
238
  this.eventListeners.add(input, 'six-input-input', executionControl.debounce((event) => {
250
239
  const enteredValue = input.value;
251
240
  this.clearValues();
@@ -259,34 +248,11 @@ const SixSelect = class {
259
248
  (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeEventListener('slotchange', this.handleSlotChange);
260
249
  this.eventListeners.removeAll();
261
250
  }
262
- /** Checks for validity and shows the browser's validation message if the control is invalid. */
263
- async reportValidity() {
251
+ /** Sets focus on the select. */
252
+ async setFocus(options) {
264
253
  var _a;
265
- return (_a = this.input) === null || _a === void 0 ? void 0 : _a.reportValidity();
266
- }
267
- /** Checks for validity. */
268
- async checkValidity() {
269
- var _a;
270
- return (_a = this.input) === null || _a === void 0 ? void 0 : _a.isValid();
271
- }
272
- /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */
273
- async setCustomValidity(message) {
274
- if (this.input == null)
275
- return;
276
- this.customErrorText = '';
277
- this.customValidation = message !== '';
278
- await this.input.setCustomValidity(message);
279
- this.invalid = !(await this.input.checkValidity());
280
- }
281
- /** Resets the formcontrol */
282
- async reset() {
283
- if (this.input == null)
284
- return;
285
- this.value = this.defaultValue;
286
- this.customErrorText = '';
287
- this.customValidation = false;
288
- await this.input.setCustomValidity('');
289
- this.invalid = false;
254
+ this.hasFocus = true;
255
+ (_a = this.box) === null || _a === void 0 ? void 0 : _a.focus(options);
290
256
  }
291
257
  getItemLabel(item) {
292
258
  var _a, _b;
@@ -314,8 +280,7 @@ const SixSelect = class {
314
280
  return values.map(String);
315
281
  }
316
282
  clearValues() {
317
- var _a;
318
- this.value = (_a = this.defaultValue) !== null && _a !== void 0 ? _a : (this.multiple ? [] : '');
283
+ this.value = this.multiple ? [] : '';
319
284
  this.syncItemsFromValue();
320
285
  }
321
286
  resizeMenu() {
@@ -360,7 +325,6 @@ const SixSelect = class {
360
325
  }
361
326
  if (this.touched && this.input != null) {
362
327
  this.input.value = Array.isArray(this.value) ? this.value.join(',') : this.value;
363
- this.invalid = !(await this.input.checkValidity());
364
328
  }
365
329
  }
366
330
  extractLabelForSelectedItem(value, items) {
@@ -384,13 +348,10 @@ const SixSelect = class {
384
348
  ? checkedValues[0]
385
349
  : '';
386
350
  }
387
- displayError() {
388
- return this.invalid && (!this.errorOnBlur || (!this.hasFocus && !this.isOpen));
389
- }
390
351
  render() {
391
352
  var _a;
392
353
  const hasSelection = this.hasSelection();
393
- return (index.h(formControl.FormControl, { inputId: this.inputId, label: this.label, labelId: this.labelId, hasLabelSlot: this.hasLabelSlot, helpTextId: this.helpTextId, helpText: this.helpText, hasHelpTextSlot: this.hasHelpTextSlot, errorTextId: this.errorTextId, errorText: this.customErrorText != null && this.customErrorText !== '' ? this.customErrorText : this.errorText, hasErrorTextSlot: this.hasErrorTextSlot, size: this.size, onLabelClick: this.handleLabelClick, disabled: this.disabled, required: this.required, displayError: this.displayError() }, index.h("six-dropdown", { part: "base", ref: (el) => (this.dropdown = el), hoist: this.hoist, closeOnSelect: !this.multiple, containingElement: this.host, disableHideOnEnterAndSpace: this.autocomplete, class: {
354
+ return (index.h(formControl.FormControl, { inputId: this.inputId, label: this.label, labelId: this.labelId, hasLabelSlot: this.hasLabelSlot, helpTextId: this.helpTextId, helpText: this.helpText, hasHelpTextSlot: this.hasHelpTextSlot, errorTextId: this.errorTextId, errorText: this.errorText, size: this.size, onLabelClick: this.handleLabelClick, disabled: this.disabled, required: this.required, displayError: this.invalid }, index.h("six-dropdown", { part: "base", ref: (el) => (this.dropdown = el), hoist: this.hoist, closeOnSelect: !this.multiple, containingElement: this.host, disableHideOnEnterAndSpace: this.autocomplete, class: {
394
355
  select: true,
395
356
  'select--open': this.isOpen,
396
357
  'select--empty': ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) === 0,
@@ -412,7 +373,7 @@ const SixSelect = class {
412
373
  }, role: "combobox", "aria-labelledby": this.labelId, "aria-describedby": this.helpTextId, "aria-haspopup": "true", "aria-expanded": this.isOpen ? 'true' : 'false', tabIndex: this.disabled ? -1 : 0, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown }, index.h("span", { class: "select__label" }, this.displayTags.length > 0 ? (index.h("span", { part: "tags", class: "select__tags" }, this.displayTags)) : (this.displayLabel || this.placeholder)), this.clearable && hasSelection && (index.h("six-icon-button", { exportparts: "base:clear-button", class: "select__clear", name: "clear", size: "small", onClick: this.handleClearClick, tabindex: "-1" })), this.hasMenuItems() && (index.h("span", { part: "icon", class: "select__icon" }, index.h("six-icon", { size: "medium" }, "expand_more"))), index.h("six-input", { ref: (el) => (this.input = el), class: {
413
374
  select__input: true,
414
375
  'select__hidden-select': !this.autocomplete,
415
- }, "aria-hidden": "true", required: this.required, onInvalid: this.handleInvalid, onFocus: this.handleFocus, clearable: this.clearable, placeholder: this.placeholder, pill: this.pill, disabled: this.disabled, size: this.size, tabIndex: -1 })), index.h("six-menu", { ref: (el) => (this.menu = el), part: "menu", class: {
376
+ }, "aria-hidden": "true", required: this.required, onFocus: this.handleFocus, clearable: this.clearable, placeholder: this.placeholder, pill: this.pill, disabled: this.disabled, size: this.size, tabIndex: -1 })), index.h("six-menu", { ref: (el) => (this.menu = el), part: "menu", class: {
416
377
  select__menu: true,
417
378
  'select__menu--filtered': this.filter || this.asyncFilter,
418
379
  'select__menu--hidden': !this.hasMenuItems(),
@@ -1 +1 @@
1
- {"file":"six-select.entry.cjs.js","mappings":";;;;;;;;;;SA2CgB,YAAY,CAAC,KAAwB;EACnD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;IACxB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;GAC3B;EACD,OAAO,KAAK,KAAK,EAAE,CAAC;AACtB;;AChDA,MAAM,YAAY,GAAG,olQAAolQ;;ACczmQ,IAAI,EAAE,GAAG,CAAC,CAAC;MA6BE,SAAS;;;;;;IAIZ,YAAO,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC;IAC3B,YAAO,GAAG,gBAAgB,EAAE,EAAE,CAAC;IAC/B,eAAU,GAAG,oBAAoB,EAAE,EAAE,CAAC;IACtC,gBAAW,GAAG,qBAAqB,EAAE,EAAE,CAAC;IAGxC,YAAO,GAAG,KAAK,CAAC;IAChB,oBAAe,GAAG,EAAE,CAAC;IACrB,qBAAgB,GAAG,KAAK,CAAC;IACzB,mBAAc,GAAG,IAAIA,6BAAc,EAAE,CAAC;IAqQtC,eAAU,GAAG;MACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;MACtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB,CAAC;IAEM,gBAAW,GAAG;MACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;MACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB,CAAC;IAEM,kBAAa,GAAG;MACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB,CAAC;IAEM,qBAAgB,GAAG,CAAC,KAAiB;MAC3C,KAAK,CAAC,eAAe,EAAE,CAAC;MACxB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB,CAAC;IAOM,oBAAe,GAAG,CAAC,KAAoB;MAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;MACzF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;MAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;MAE3B,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,OAAO;OACR;MAED,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;QACvE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE3F,gBAAgB;WACb,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;WACpC,OAAO,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;QACvG,IAAI,CAAC,KAAK,GAAG,oBAAoB,GAAG,YAAY,GAAG,EAAE,CAAC;OACvD;KACF,CAAC;IAEM,kBAAa,GAAG,CAAC,KAAoB;;MAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;MAE3C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;MAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;MAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;;MAGzC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE;QAC9C,OAAO;OACR;;MAGD,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE;UACf,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;SACvB;QACD,OAAO;OACR;;MAGD,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QAChD,KAAK,CAAC,cAAc,EAAE,CAAC;;QAGvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;UAChB,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;SACvB;;QAGD,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,SAAS,EAAE;UAC1C,SAAS,CAAC,QAAQ,EAAE,CAAC;UACrB,OAAO;SACR;QAED,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,QAAQ,EAAE;UACvC,QAAQ,CAAC,QAAQ,EAAE,CAAC;UACpB,OAAO;SACR;OACF;;MAGD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAChB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;QACtB,MAAA,IAAI,CAAC,IAAI,0CAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;OACpC;KACF,CAAC;IAEM,qBAAgB,GAAG;;MACzB,MAAA,IAAI,CAAC,GAAG,0CAAE,KAAK,EAAE,CAAC;KACnB,CAAC;IAEM,qBAAgB,GAAG,CAAC,KAAkB;MAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;MAE/B,MAAM,QAAQ,GAAG;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;UACjB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;cACjC,IAAI,CAAC,KAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;cAClD,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;aAAM;UACL,OAAO,IAAI,CAAC,KAAK,CAAC;SACnB;OACF,CAAC;MAEF,IAAI,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;MAExB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B,CAAC;IAEM,mBAAc,GAAG,CAAC,KAAkB;;MAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,OAAO;OACR;MAED,IAAI,CAAC,UAAU,EAAE,CAAC;MAClB,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB,CAAC;IAEM,mBAAc,GAAG;;MACvB,MAAA,IAAI,CAAC,cAAc,0CAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB,CAAC;IAEM,qBAAgB,GAAG;MACzB,IAAI,CAAC,eAAe,GAAGC,YAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;MACvD,IAAI,CAAC,gBAAgB,GAAGA,YAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;MACzD,IAAI,CAAC,YAAY,GAAGA,YAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;MAChD,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B,CAAC;IAEM,yBAAoB,GAAG,CAAC,KAAiC;;MAE/D,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAmB,CAAC;MACnD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;QAC/B,IAAI,EAAE,YAAYC,OAAW,EAAE;UAC7B,MAAM,OAAO,GAAG,EAAiB,CAAC;UAClC,OAAO,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACjD;OACF,CAAC,CAAC;MAEH,IAAI,WAAW,EAAE;QACf,KAAK,CAAC,eAAe,EAAE,CAAC;OACzB;KACF,CAAC;oBA1ZkB,KAAK;2BACE,KAAK;4BACJ,KAAK;wBACT,KAAK;kBACX,KAAK;wBACC,EAAE;uBACkB,EAAE;oBAG3B,KAAK;0BAMC,CAAC;oBAGP,KAAK;gBAGT,EAAE;uBAGK,EAAE;;0BAMCC,sCAAqB;gBAGD,QAAQ;iBAMrC,KAAK;iBAG+B,EAAE;gBAGvC,KAAK;iBAGJ,EAAE;oBAGC,EAAE;qBAGD,EAAE;oBAGH,KAAK;qBAGJ,KAAK;mBAGU,KAAK;gBAGzB,KAAK;uBAGE,KAAK;kBAGV,KAAK;uBAOA,KAAK;wBAKJ,KAAK;yBAGJA,sCAAqB;mBAGD,IAAI;yBAIxB,KAAK;wBAGa,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE;;EAGjE,oBAAoB;;IAClB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;MAChC,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;KACvB;GACF;EAKD,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;GACzB;EAGD,oBAAoB;;IAElB,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,kBAAkB,EAAE,CAAC;GAC3B;EAGD,iBAAiB;IACf,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAC/C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;MACpD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC1B,IAAI,IAAI,CAAC,KAAK,EAAE;MACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;KAC9D;GACF;EAWD,iBAAiB;;IACf,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;MAC/C,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;KACvE;IACD,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;GAC7E;EAED,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;MACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;KACrC;GACF;EAED,gBAAgB;IACd,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;MAAE,OAAO;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;;IAGlE,qBAAqB,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,KAAK;MACzD,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,EAAE;QAC/G,IAAI,CAAC,eAAe,GAAG,MAAM,KAAK,CAAC,oBAAoB,EAAE,CAAC;OAC3D;MACD,KAAK,CAAC,cAAc,EAAE,CAAC;KACxB,CAAC,CAAC;IAEH,IAAI,CAAC,cAAc,CAAC,GAAG,CACrB,KAAK,EACL,iBAAiB,EACjBC,yBAAQ,CAAC,CAAC,KAAK;MACb,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;MACjC,IAAI,CAAC,WAAW,EAAE,CAAC;MACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;MAChE,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB,EAAE,IAAI,CAAC,aAAa,CAAC,CACvB,CAAC;IAEF,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;GAC5D;EAED,oBAAoB;;IAClB,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/E,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;GACjC;;EAID,MAAM,cAAc;;IAClB,OAAO,MAAA,IAAI,CAAC,KAAK,0CAAE,cAAc,EAAE,CAAC;GACrC;;EAID,MAAM,aAAa;;IACjB,OAAO,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,EAAE,CAAC;GAC9B;;EAID,MAAM,iBAAiB,CAAC,OAAe;IACrC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;MAAE,OAAO;IAE/B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,gBAAgB,GAAG,OAAO,KAAK,EAAE,CAAC;IACvC,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO,GAAG,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;GACpD;;EAID,MAAM,KAAK;IACT,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;MAAE,OAAO;IAE/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IAC/B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;GACtB;EAEO,YAAY,CAAC,IAA4B;;IAC/C,MAAMC,MAAI,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,aAAa,CAAC,kBAAkB,CAAoB,CAAC;IACnF,IAAIA,MAAI,IAAI,IAAI,EAAE;MAChB,OAAOC,mBAAc,CAACD,MAAI,CAAC,CAAC;KAC7B;SAAM;;MAEL,OAAO,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC;KAC/B;GACF;EAEO,QAAQ;IACd,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;MACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAKE,2BAAe,KAAK,EAAE,MAAM,CAAC,KAAK,IAAG,MAAM,CAAC,KAAK,CAAiB,CAAC,CAAC;KACzG;IAED,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;GACzD;EAEO,YAAY;IAClB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;GACnC;EAEO,eAAe;IACrB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;IAErE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;GAC3B;EAqBO,WAAW;;IACjB,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,YAAY,oCAAK,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,kBAAkB,EAAE,CAAC;GAC3B;EAqIO,UAAU;IAChB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;MAAE,OAAO;IAClD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC;IAEvD,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;KAC5B;GACF;EAEO,MAAM,kBAAkB;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;;IAGrC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;IAGrE,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,MAAM,YAAY,GAA6B,EAAE,CAAC;MAClD,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,KAAK,KAAK,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;MAEnG,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI;QACvC,QACEA,qBACE,WAAW,EAAC,UAAU,EACtB,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,QACT,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,SAAS,EAAE,IAAI,CAAC,oBAAoB,qBACnB,CAAC,KAAK;YACrB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;cAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;cACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;WACF,IAEA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAChB,EACV;OACH,CAAC,CAAC;MAEH,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,IAAI,CACnBA,qBAAS,WAAW,EAAC,UAAU,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,SACvD,KAAK,GAAG,IAAI,CAAC,cAAc,CACrB,CACX,CAAC;OACH;KACF;SAAM;MACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;MACnE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KACvB;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;MACtC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;MACjF,IAAI,CAAC,OAAO,GAAG,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;KACpD;GACF;EAEO,2BAA2B,CAAC,KAAe,EAAE,KAA+B;IAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE;MACjE,OAAO,EAAE,CAAC;KACX;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;MACzB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;MAC5E,OAAO,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,KAAI,EAAE,CAAC;KACpC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;GAC1D;EAEO,kBAAkB;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnE,aAAa,CAAC,MAAM,GAAG,CAAC;UACxB,aAAa,CAAC,CAAC,CAAC;UAChB,EAAE,CAAC;GACR;EAEO,YAAY;IAClB,OAAO,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;GAChF;EAED,MAAM;;IACJ,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAEzC,QACEA,QAACC,uBAAW,IACV,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,EAC9G,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,IAEjCD,0BACE,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EACjC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,aAAa,EAAE,CAAC,IAAI,CAAC,QAAQ,EAC7B,iBAAiB,EAAE,IAAI,CAAC,IAAI,EAC5B,0BAA0B,EAAE,IAAI,CAAC,YAAY,EAC7C,KAAK,EAAE;QACL,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI,CAAC,MAAM;QAC3B,eAAe,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,MAAK,CAAC;QACzC,iBAAiB,EAAE,IAAI,CAAC,QAAQ;QAChC,mBAAmB,EAAE,IAAI,CAAC,SAAS;QACnC,kBAAkB,EAAE,IAAI,CAAC,QAAQ;QACjC,kBAAkB,EAAE,IAAI,CAAC,QAAQ;QACjC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,IAAI,YAAY;QACjD,6BAA6B,EAAE,IAAI,CAAC,YAAY,KAAK,EAAE;QACvD,eAAe,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;QACtC,gBAAgB,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;QACxC,eAAe,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;QACtC,cAAc,EAAE,IAAI,CAAC,IAAI;QACzB,iBAAiB,EAAE,IAAI,CAAC,OAAO;OAChC,EACD,SAAS,EAAE,IAAI,CAAC,eAAe,yBACV,IAAI,CAAC,cAAc,yBACnB,IAAI,CAAC,cAAc,EACxC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,IAE7BA,iBACE,IAAI,EAAC,SAAS,EACd,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAC5B,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,mBAAmB,EAAE,IAAI,CAAC,IAAI;QAC9B,2BAA2B,EAAE,IAAI,CAAC,YAAY;OAC/C,EACD,IAAI,EAAC,UAAU,qBACE,IAAI,CAAC,OAAO,sBACX,IAAI,CAAC,UAAU,mBACnB,MAAM,mBACL,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,EAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAChC,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,IAE7BA,kBAAM,KAAK,EAAC,eAAe,IACxB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAC1BA,kBAAM,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,IACnC,IAAI,CAAC,WAAW,CACZ,KAEP,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CACtC,CACI,EAEN,IAAI,CAAC,SAAS,IAAI,YAAY,KAC7BA,6BACE,WAAW,EAAC,mBAAmB,EAC/B,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,QAAQ,EAAC,IAAI,GACb,CACH,EAEA,IAAI,CAAC,YAAY,EAAE,KAClBA,kBAAM,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,IACpCA,sBAAU,IAAI,EAAC,QAAQ,kBAAuB,CACzC,CACR,EAMDA,uBACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,EAC9B,KAAK,EAAE;QACL,aAAa,EAAE,IAAI;QACnB,uBAAuB,EAAE,CAAC,IAAI,CAAC,YAAY;OAC5C,iBACW,MAAM,EAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,CAAC,CAAC,GACZ,CACE,EAENA,sBACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,EAC7B,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,YAAY,EAAE,IAAI;QAClB,wBAAwB,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW;QACzD,sBAAsB,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE;OAC7C,8BACyB,IAAI,CAAC,gBAAgB,EAC/C,KAAK,EAAE,IAAI,CAAC,OAAO,EACnB,aAAa,EAAE,IAAI,CAAC,aAAa,+BAGjCA,kBAAM,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAI,CACpC,CACE,CACH,EACd;GACH;EAEO,YAAY;IAClB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;GAClE;;;;;;;;;;;;;;;","names":["EventListeners","hasSlot","HTMLElement","DEFAULT_DEBOUNCE_FAST","debounce","slot","getTextContent","h","FormControl"],"sources":["./src/components/six-select/util.ts","./src/components/six-select/six-select.scss?tag=six-select&encapsulation=shadow","./src/components/six-select/six-select.tsx"],"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","@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n@import 'src/global/mixins/hidden';\n@import 'src/global/mixins/hide-scrollbar';\n\n:host {\n display: block;\n}\n\n.select {\n display: block;\n}\n\n.select__box {\n display: inline-flex;\n align-items: center;\n justify-content: start;\n position: relative;\n width: 100%;\n font-family: var(--six-font-family);\n font-weight: var(--six-input-font-weight);\n font-size: var(--six-input-font-size-medium);\n letter-spacing: var(--six-input-letter-spacing);\n background-color: var(--six-input-background-color);\n border: solid var(--six-border-width) var(--six-input-border-color);\n vertical-align: middle;\n overflow: hidden;\n transition: var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;\n cursor: pointer;\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n\n &--autocomplete {\n border: none;\n overflow: initial;\n }\n}\n\n.select:not(.select--disabled) .select__box:hover {\n background-color: var(--six-input-background-color-hover);\n color: var(--six-input-color-hover);\n\n border-bottom-color: var(--six-input-border-color-hover);\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-hover);\n }\n}\n\n.select:not(.select--disabled) .select__box:focus {\n background-color: var(--six-input-background-color-focus);\n outline: none;\n color: var(--six-input-color-focus);\n\n border-bottom-color: var(--six-input-border-color-focus);\n box-shadow: 0 1px 0 0 var(--six-input-border-color-focus);\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-focus);\n box-shadow: var(--six-input-focus-shadow);\n }\n}\n\n.select--disabled {\n .select__box {\n background-color: var(--six-input-background-color-disabled);\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n outline: none;\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-disabled);\n }\n }\n\n .select__tags,\n .select__clear {\n pointer-events: none;\n }\n}\n\n.select--invalid:not(.select--disabled):not(.select--focused) {\n .select__box {\n border-bottom-color: var(--six-input-border-color-danger);\n\n &:not(.input--line) {\n border-color: var(--six-input-border-color-danger);\n }\n }\n}\n\n.select__label {\n flex-shrink: 1;\n flex-grow: 1;\n align-items: center;\n user-select: none;\n width: 0; /* needed for firefox because due to \"white-space: nowrap\" the default is set to max-content */\n\n @include hide-scrollbar;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n}\n\n.select__clear {\n flex-shrink: 0;\n flex-grow: 0;\n display: inline;\n}\n\n.select__icon {\n flex-shrink: 0;\n flex-grow: 0;\n display: inline;\n transition: var(--six-transition-medium) transform ease;\n}\n\n.select--open .select__icon {\n transform: rotate(-180deg);\n}\n\n// Placeholder\n.select--placeholder-visible .select__label {\n color: var(--six-input-placeholder-color);\n}\n\n.select--disabled.select--placeholder-visible .select__label {\n color: var(--six-input-placeholder-color-disabled);\n}\n\n// Tags\n.select__tags {\n display: inline-flex;\n align-items: center;\n flex-wrap: wrap;\n justify-content: left;\n margin-left: var(--six-spacing-xx-small);\n}\n\n// Hidden input (for form control validation to show)\n.select__hidden-select {\n @include visually-hidden();\n}\n\n.select__input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Size modifiers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.select--small {\n .select__box {\n border-radius: var(--six-input-border-radius-small);\n font-size: var(--six-input-font-size-small);\n min-height: var(--six-height-small);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .select__label {\n margin: 0 var(--six-input-spacing-small);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n\n .select__tags {\n padding-bottom: 2px;\n\n six-tag {\n padding-top: 2px;\n }\n\n six-tag:not(:last-of-type) {\n margin-right: var(--six-spacing-xx-small);\n }\n }\n\n &.select--has-tags .select__label {\n margin-left: 0;\n }\n}\n\n.select--medium {\n .select__box {\n border-radius: var(--six-input-border-radius-medium);\n font-size: var(--six-input-font-size-medium);\n min-height: var(--six-height-medium);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .select__label {\n margin: 0 var(--six-input-spacing-medium);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n\n .select__tags {\n padding-bottom: 3px;\n\n six-tag {\n padding-top: 3px;\n }\n\n six-tag:not(:last-of-type) {\n margin-right: var(--six-spacing-xx-small);\n }\n }\n\n &.select--has-tags .select__label {\n margin-left: 0;\n }\n}\n\n.select--large {\n .select__box {\n border-radius: var(--six-input-border-radius-large);\n font-size: var(--six-input-font-size-large);\n min-height: var(--six-height-large);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .select__label {\n margin: 0 var(--six-input-spacing-large);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n\n .select__tags {\n padding-bottom: 4px;\n\n six-tag {\n padding-top: 4px;\n }\n\n six-tag:not(:last-of-type) {\n margin-right: var(--six-spacing-xx-small);\n }\n }\n\n &.select--has-tags .select__label {\n margin-left: 0;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Pill modifier\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.select--pill {\n &.select--small .select__box {\n border-radius: var(--six-height-small);\n }\n\n &.select--medium .select__box {\n border-radius: var(--six-height-medium);\n }\n\n &.select--large .select__box {\n border-radius: var(--six-height-large);\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Menu\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n.select {\n &__menu {\n max-width: 50vw;\n width: fit-content;\n\n &--filtered {\n // fixes problem where when filter is enabled the popup has the width of the input field but the menu has the width\n // of the trigger element and we thus get weird UI glitches when trigger is narrower than filter input field\n width: 100% !important;\n }\n\n &--hidden {\n // hide the menu panel if there are no menu items\n display: none;\n }\n }\n}\n\n// fixes problem where six-select height changes when size=\"small\" and clearing button is visible\nsix-icon-button::part(base) {\n padding-top: 0;\n padding-bottom: 0;\n}\n","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 { isValueEmpty } 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 dropdown?: HTMLSixDropdownElement;\n private input?: 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 menu?: HTMLSixMenuElement;\n private resizeObserver?: ResizeObserver;\n private touched = false;\n private customErrorText = '';\n private customValidation = false;\n private eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixSelectElement;\n\n @State() hasFocus = false;\n @State() hasHelpTextSlot = false;\n @State() hasErrorTextSlot = false;\n @State() hasLabelSlot = false;\n @State() isOpen = false;\n @State() displayLabel = '';\n @State() displayTags: HTMLSixTagElement[] = [];\n\n /** Set to true to enable multiselect. */\n @Prop() multiple = false;\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 @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 = DEFAULT_DEBOUNCE_FAST;\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 label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The select's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** The select's error text. Alternatively, you can use the error-text slot. */\n @Prop() errorText = '';\n\n /** The select's required attribute. */\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 /** This will be true when the control is in an invalid state. Validity is determined by the `required` prop. */\n @Prop({ mutable: true }) invalid = false;\n\n /** Set to render as line */\n @Prop() line = false;\n\n /** Set to display the error text on blur and not when typing */\n @Prop() errorOnBlur = 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 /** The default value the select will be reverted to when reset is executed */\n @Prop() defaultValue: string | string[] = this.multiple ? [] : '';\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 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\n this.syncItemsFromValue();\n if (this.input) {\n this.sixChange.emit({ value: this.value, isSelected: true });\n }\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.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\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 if (this.input == null) return;\n const input = this.input;\n this.resizeObserver = new ResizeObserver(() => this.resizeMenu());\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 this.eventListeners.add(this.input, 'invalid', async (event) => {\n if (this.customValidation || (!this.hasErrorTextSlot && this.errorText == null && this.customErrorText == null)) {\n this.customErrorText = await input.getValidationMessage();\n }\n event.preventDefault();\n });\n\n this.eventListeners.add(\n input,\n 'six-input-input',\n debounce((event) => {\n const enteredValue = input.value;\n this.clearValues();\n this.sixChange.emit({ value: enteredValue, isSelected: false });\n event.stopPropagation();\n }, this.inputDebounce)\n );\n\n input.value = this.hasSelection() ? this.displayLabel : '';\n }\n\n disconnectedCallback() {\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n @Method()\n async reportValidity() {\n return this.input?.reportValidity();\n }\n\n /** Checks for validity. */\n @Method()\n async checkValidity() {\n return this.input?.isValid();\n }\n\n /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */\n @Method()\n async setCustomValidity(message: string) {\n if (this.input == null) return;\n\n this.customErrorText = '';\n this.customValidation = message !== '';\n await this.input.setCustomValidity(message);\n this.invalid = !(await this.input.checkValidity());\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n if (this.input == null) return;\n\n this.value = this.defaultValue;\n this.customErrorText = '';\n this.customValidation = false;\n await this.input.setCustomValidity('');\n this.invalid = false;\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) {\n return this.options.map((option) => <six-menu-item value={option.value}>{option.label}</six-menu-item>);\n }\n\n return [...this.host.querySelectorAll('six-menu-item')];\n }\n\n private hasMenuItems() {\n return this.getItems().length > 0;\n }\n\n private getValueAsArray() {\n const values = Array.isArray(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 handleInvalid = () => {\n this.invalid = true;\n };\n\n private handleClearClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.clearValues();\n };\n\n private clearValues() {\n this.value = this.defaultValue ?? (this.multiple ? [] : '');\n this.syncItemsFromValue();\n }\n\n private handleSelectAll = (event: KeyboardEvent) => {\n const nonFilteredItems = this.getItems().filter((item) => item.style.display !== 'none');\n const keyName = event.key;\n const keyCode = event.code;\n\n if (keyName === 'Control') {\n return;\n }\n\n if (this.isOpen && this.multiple && keyCode === 'KeyA' && event.ctrlKey) {\n event.preventDefault();\n const hasDeselectedOptions = nonFilteredItems.some((opt) => !opt.disabled && !opt.checked);\n\n nonFilteredItems\n .filter((option) => !option.disabled)\n .forEach((option) => (option.checked = hasDeselectedOptions));\n const checkedItems = nonFilteredItems.filter((option) => option.checked).map((option) => option.value);\n this.value = hasDeselectedOptions ? checkedItems : [];\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const target = event.target as HTMLElement;\n\n const items = this.getItems();\n const firstItem = items[0];\n const lastItem = items[items.length - 1];\n\n // Ignore key presses on tags\n if (target.tagName.toLowerCase() === 'six-tag') {\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 // Up/down opens the menu\n if (['ArrowDown', 'ArrowUp'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.isOpen) {\n this.dropdown?.show();\n }\n\n // Focus on a menu item\n if (event.key === 'ArrowDown' && firstItem) {\n firstItem.setFocus();\n return;\n }\n\n if (event.key === 'ArrowUp' && lastItem) {\n lastItem.setFocus();\n return;\n }\n }\n\n // All other keys open the menu and initiate type to select\n if (!this.isOpen) {\n event.stopPropagation();\n event.preventDefault();\n this.dropdown?.show();\n this.menu?.typeToSelect(event.key);\n }\n };\n\n private handleLabelClick = () => {\n this.box?.focus();\n };\n\n private handleMenuSelect = (event: CustomEvent) => {\n const item = event.detail.item;\n\n const getValue = () => {\n if (this.multiple) {\n return this.value.includes(item.value)\n ? (this.value as []).filter((v) => v !== item.value)\n : [...this.value, item.value];\n } else {\n return item.value;\n }\n };\n\n this.value = getValue();\n\n this.syncItemsFromValue();\n };\n\n private handleMenuShow = (event: CustomEvent) => {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n\n this.resizeMenu();\n this.resizeObserver?.observe(this.host);\n this.isOpen = true;\n };\n\n private handleMenuHide = () => {\n this.resizeObserver?.unobserve(this.host);\n this.isOpen = false;\n };\n\n private handleSlotChange = () => {\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n this.hasErrorTextSlot = hasSlot(this.host, 'error-text');\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.syncItemsFromValue();\n };\n\n private handleTagInteraction = (event: KeyboardEvent | MouseEvent) => {\n // Don't toggle the menu when a tag's clear button is activated\n const path = event.composedPath() as EventTarget[];\n const clearButton = path.find((el) => {\n if (el instanceof HTMLElement) {\n const element = el as HTMLElement;\n return element.classList.contains('tag__clear');\n }\n });\n\n if (clearButton) {\n event.stopPropagation();\n }\n };\n\n private resizeMenu() {\n if (this.menu == null || this.box == null) return;\n this.menu.style.minWidth = `${this.box.clientWidth}px`;\n\n if (this.dropdown) {\n this.dropdown.reposition();\n }\n }\n\n private async syncItemsFromValue() {\n const items = this.getItems();\n const value = this.getValueAsArray();\n\n // Sync checked states\n items.forEach((item) => (item.checked = value.includes(item.value)));\n\n // Sync display label\n if (this.multiple) {\n const checkedItems: HTMLSixMenuItemElement[] = [];\n value.forEach((val) => items.map((item) => (item.value === val ? checkedItems.push(item) : null)));\n\n this.displayTags = checkedItems.map((item) => {\n return (\n <six-tag\n exportparts=\"base:tag\"\n type=\"primary\"\n size={this.size}\n pill={this.pill}\n clearable\n onClick={this.handleTagInteraction}\n onKeyDown={this.handleTagInteraction}\n onSix-tag-clear={(event) => {\n event.stopPropagation();\n if (!this.disabled) {\n item.checked = false;\n this.syncValueFromItems();\n }\n }}\n >\n {this.getItemLabel(item)}\n </six-tag>\n );\n });\n\n if (this.maxTagsVisible > 0 && this.displayTags.length > this.maxTagsVisible) {\n const total = this.displayTags.length;\n this.displayLabel = '';\n this.displayTags = this.displayTags.slice(0, this.maxTagsVisible);\n this.displayTags.push(\n <six-tag exportparts=\"base:tag\" type=\"info\" size={this.size}>\n +{total - this.maxTagsVisible}\n </six-tag>\n );\n }\n } else {\n this.displayLabel = this.extractLabelForSelectedItem(value, items);\n this.displayTags = [];\n }\n\n if (!isValueEmpty(this.value)) {\n this.touched = true;\n }\n if (this.touched && this.input != null) {\n this.input.value = Array.isArray(this.value) ? this.value.join(',') : this.value;\n this.invalid = !(await this.input.checkValidity());\n }\n }\n\n private extractLabelForSelectedItem(value: string[], items: HTMLSixMenuItemElement[]): string {\n if (value.length === 0 || (value.length === 1 && value[0] === '')) {\n return '';\n }\n\n if (this.options !== null) {\n const selectedOption = this.options.find((item) => item.value === value[0]);\n return selectedOption?.value || '';\n }\n\n const checkedItem = items.find((item) => item.value === value[0]);\n return checkedItem ? this.getItemLabel(checkedItem) : '';\n }\n\n private syncValueFromItems() {\n const items = this.getItems();\n const checkedItems = items.filter((item) => item.checked);\n const checkedValues = checkedItems.map((item) => item.value);\n this.value = this.multiple\n ? this.getValueAsArray().filter((val) => checkedValues.includes(val))\n : checkedValues.length > 0\n ? checkedValues[0]\n : '';\n }\n\n private displayError() {\n return this.invalid && (!this.errorOnBlur || (!this.hasFocus && !this.isOpen));\n }\n\n render() {\n const hasSelection = this.hasSelection();\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.customErrorText != null && this.customErrorText !== '' ? this.customErrorText : this.errorText}\n hasErrorTextSlot={this.hasErrorTextSlot}\n size={this.size}\n onLabelClick={this.handleLabelClick}\n disabled={this.disabled}\n required={this.required}\n displayError={this.displayError()}\n >\n <six-dropdown\n part=\"base\"\n ref={(el) => (this.dropdown = el)}\n hoist={this.hoist}\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.displayLabel === '',\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.handleSelectAll}\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 >\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 onKeyDown={this.handleKeyDown}\n >\n <span class=\"select__label\">\n {this.displayTags.length > 0 ? (\n <span part=\"tags\" class=\"select__tags\">\n {this.displayTags}\n </span>\n ) : (\n this.displayLabel || this.placeholder\n )}\n </span>\n\n {this.clearable && hasSelection && (\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 {this.hasMenuItems() && (\n <span part=\"icon\" class=\"select__icon\">\n <six-icon size=\"medium\">expand_more</six-icon>\n </span>\n )}\n\n {/*\n The hidden input tricks the browser's built-in validation so it works as expected. We use an input instead\n of a select because, otherwise, iOS will show a list of options during validation.\n */}\n <six-input\n ref={(el) => (this.input = el)}\n class={{\n select__input: true,\n 'select__hidden-select': !this.autocomplete,\n }}\n aria-hidden=\"true\"\n required={this.required}\n onInvalid={this.handleInvalid}\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 <six-menu\n ref={(el) => (this.menu = el)}\n part=\"menu\"\n class={{\n select__menu: true,\n 'select__menu--filtered': this.filter || this.asyncFilter,\n 'select__menu--hidden': !this.hasMenuItems(),\n }}\n onSix-menu-item-selected={this.handleMenuSelect}\n items={this.options}\n virtualScroll={this.virtualScroll}\n remove-box-shadow\n >\n <slot onSlotchange={this.handleSlotChange} />\n </six-menu>\n </six-dropdown>\n </FormControl>\n );\n }\n\n private hasSelection() {\n return this.multiple ? this.value.length > 0 : this.value !== '';\n }\n}\n"],"version":3}
1
+ {"file":"six-select.entry.cjs.js","mappings":"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","names":["EventListeners","hasSlot","DEFAULT_DEBOUNCE_FAST","debounce","slot","getTextContent","h","FormControl"],"sources":["src/components/six-select/util.ts","src/components/six-select/six-select.scss?tag=six-select&encapsulation=shadow","src/components/six-select/six-select.tsx"],"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","@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n@import 'src/global/mixins/hidden';\n@import 'src/global/mixins/hide-scrollbar';\n\n:host {\n display: block;\n}\n\n.select {\n display: block;\n}\n\n.select__box {\n display: inline-flex;\n align-items: center;\n justify-content: start;\n position: relative;\n width: 100%;\n font-family: var(--six-font-family);\n font-weight: var(--six-input-font-weight);\n font-size: var(--six-input-font-size-medium);\n letter-spacing: var(--six-input-letter-spacing);\n background-color: var(--six-input-background-color);\n border: solid var(--six-border-width) var(--six-input-border-color);\n vertical-align: middle;\n overflow: hidden;\n transition: var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;\n cursor: pointer;\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n\n &--autocomplete {\n border: none;\n overflow: initial;\n }\n}\n\n.select:not(.select--disabled) .select__box:hover {\n background-color: var(--six-input-background-color-hover);\n color: var(--six-input-color-hover);\n\n border-bottom-color: var(--six-input-border-color-hover);\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-hover);\n }\n}\n\n.select:not(.select--disabled) .select__box:focus {\n background-color: var(--six-input-background-color-focus);\n outline: none;\n color: var(--six-input-color-focus);\n\n border-bottom-color: var(--six-input-border-color-focus);\n box-shadow: 0 1px 0 0 var(--six-input-border-color-focus);\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-focus);\n box-shadow: var(--six-input-focus-shadow);\n }\n}\n\n.select--disabled {\n .select__box {\n background-color: var(--six-input-background-color-disabled);\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n outline: none;\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-disabled);\n }\n }\n\n .select__tags,\n .select__clear {\n pointer-events: none;\n }\n}\n\n.select--invalid:not(.select--disabled):not(.select--focused) {\n .select__box {\n border-bottom-color: var(--six-input-border-color-danger);\n\n &:not(.input--line) {\n border-color: var(--six-input-border-color-danger);\n }\n }\n}\n\n.select__label {\n flex-shrink: 1;\n flex-grow: 1;\n align-items: center;\n user-select: none;\n width: 0; /* needed for firefox because due to \"white-space: nowrap\" the default is set to max-content */\n\n @include hide-scrollbar;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n}\n\n.select__clear {\n flex-shrink: 0;\n flex-grow: 0;\n display: inline;\n}\n\n.select__icon {\n flex-shrink: 0;\n flex-grow: 0;\n display: inline;\n transition: var(--six-transition-medium) transform ease;\n}\n\n.select--open .select__icon {\n transform: rotate(-180deg);\n}\n\n// Placeholder\n.select--placeholder-visible .select__label {\n color: var(--six-input-placeholder-color);\n}\n\n.select--disabled.select--placeholder-visible .select__label {\n color: var(--six-input-placeholder-color-disabled);\n}\n\n// Tags\n.select__tags {\n display: inline-flex;\n align-items: center;\n flex-wrap: wrap;\n justify-content: left;\n margin-left: var(--six-spacing-xx-small);\n}\n\n// Hidden input (for form control validation to show)\n.select__hidden-select {\n @include visually-hidden();\n}\n\n.select__input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Size modifiers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.select--small {\n .select__box {\n border-radius: var(--six-input-border-radius-small);\n font-size: var(--six-input-font-size-small);\n min-height: var(--six-height-small);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .select__label {\n margin: 0 var(--six-input-spacing-small);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n\n .select__tags {\n padding-bottom: 2px;\n\n six-tag {\n padding-top: 2px;\n }\n\n six-tag:not(:last-of-type) {\n margin-right: var(--six-spacing-xx-small);\n }\n }\n\n &.select--has-tags .select__label {\n margin-left: 0;\n }\n}\n\n.select--medium {\n .select__box {\n border-radius: var(--six-input-border-radius-medium);\n font-size: var(--six-input-font-size-medium);\n min-height: var(--six-height-medium);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .select__label {\n margin: 0 var(--six-input-spacing-medium);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n\n .select__tags {\n padding-bottom: 3px;\n\n six-tag {\n padding-top: 3px;\n }\n\n six-tag:not(:last-of-type) {\n margin-right: var(--six-spacing-xx-small);\n }\n }\n\n &.select--has-tags .select__label {\n margin-left: 0;\n }\n}\n\n.select--large {\n .select__box {\n border-radius: var(--six-input-border-radius-large);\n font-size: var(--six-input-font-size-large);\n min-height: var(--six-height-large);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .select__label {\n margin: 0 var(--six-input-spacing-large);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n\n .select__tags {\n padding-bottom: 4px;\n\n six-tag {\n padding-top: 4px;\n }\n\n six-tag:not(:last-of-type) {\n margin-right: var(--six-spacing-xx-small);\n }\n }\n\n &.select--has-tags .select__label {\n margin-left: 0;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Pill modifier\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.select--pill {\n &.select--small .select__box {\n border-radius: var(--six-height-small);\n }\n\n &.select--medium .select__box {\n border-radius: var(--six-height-medium);\n }\n\n &.select--large .select__box {\n border-radius: var(--six-height-large);\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Menu\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n.select {\n &__menu {\n max-width: 50vw;\n width: fit-content;\n\n &--filtered {\n // fixes problem where when filter is enabled the popup has the width of the input field but the menu has the width\n // of the trigger element and we thus get weird UI glitches when trigger is narrower than filter input field\n width: 100% !important;\n }\n\n &--hidden {\n // hide the menu panel if there are no menu items\n display: none;\n }\n }\n}\n\n// fixes problem where six-select height changes when size=\"small\" and clearing button is visible\nsix-icon-button::part(base) {\n padding-top: 0;\n padding-bottom: 0;\n}\n","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 { isValueEmpty } 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 dropdown?: HTMLSixDropdownElement;\n private input?: 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 menu?: HTMLSixMenuElement;\n private resizeObserver?: ResizeObserver;\n private touched = false;\n private eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixSelectElement;\n\n @State() hasFocus = false;\n @State() hasHelpTextSlot = false;\n @State() hasLabelSlot = false;\n @State() isOpen = false;\n @State() displayLabel = '';\n @State() displayTags: HTMLSixTagElement[] = [];\n\n /** Set to true to enable multiselect. */\n @Prop() multiple = false;\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 @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 = DEFAULT_DEBOUNCE_FAST;\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 = '';\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\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.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 }\n\n componentWillLoad() {\n this.handleSlotChange();\n if (this.multiple && this.value != null) {\n this.value = this.getValueAsArray();\n }\n }\n\n componentDidLoad() {\n if (this.input == null) return;\n const input = this.input;\n this.resizeObserver = new ResizeObserver(() => this.resizeMenu());\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 this.eventListeners.add(\n input,\n 'six-input-input',\n debounce((event) => {\n const enteredValue = input.value;\n this.clearValues();\n this.sixChange.emit({ value: enteredValue, isSelected: false });\n event.stopPropagation();\n }, this.inputDebounce)\n );\n\n input.value = this.hasSelection() ? this.displayLabel : '';\n }\n\n disconnectedCallback() {\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) {\n return this.options.map((option) => <six-menu-item value={option.value}>{option.label}</six-menu-item>);\n }\n\n return [...this.host.querySelectorAll('six-menu-item')];\n }\n\n private hasMenuItems() {\n return this.getItems().length > 0;\n }\n\n private getValueAsArray() {\n const values = Array.isArray(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 = (event: MouseEvent) => {\n event.stopPropagation();\n this.clearValues();\n this.sixChange.emit({ value: this.value, isSelected: true });\n };\n\n private clearValues() {\n this.value = this.multiple ? [] : '';\n this.syncItemsFromValue();\n }\n\n private handleSelectAll = (event: KeyboardEvent) => {\n const nonFilteredItems = this.getItems().filter((item) => item.style.display !== 'none');\n const keyName = event.key;\n const keyCode = event.code;\n\n if (keyName === 'Control') {\n return;\n }\n\n if (this.isOpen && this.multiple && keyCode === 'KeyA' && event.ctrlKey) {\n event.preventDefault();\n const hasDeselectedOptions = nonFilteredItems.some((opt) => !opt.disabled && !opt.checked);\n\n nonFilteredItems\n .filter((option) => !option.disabled)\n .forEach((option) => (option.checked = hasDeselectedOptions));\n const checkedItems = nonFilteredItems.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\n private handleKeyDown = (event: KeyboardEvent) => {\n const target = event.target as HTMLElement;\n\n const items = this.getItems();\n const firstItem = items[0];\n const lastItem = items[items.length - 1];\n\n // Ignore key presses on tags\n if (target.tagName.toLowerCase() === 'six-tag') {\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 // Up/down opens the menu\n if (['ArrowDown', 'ArrowUp'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.isOpen) {\n this.dropdown?.show();\n }\n\n // Focus on a menu item\n if (event.key === 'ArrowDown' && firstItem) {\n firstItem.setFocus();\n return;\n }\n\n if (event.key === 'ArrowUp' && lastItem) {\n lastItem.setFocus();\n return;\n }\n }\n\n // All other keys open the menu and initiate type to select\n if (!this.isOpen) {\n event.stopPropagation();\n event.preventDefault();\n this.dropdown?.show();\n this.menu?.typeToSelect(event.key);\n }\n };\n\n private handleLabelClick = () => {\n this.box?.focus();\n };\n\n private handleMenuSelect = (event: CustomEvent) => {\n const item = event.detail.item;\n\n const getValue = () => {\n if (this.multiple) {\n return this.value.includes(item.value)\n ? (this.value as []).filter((v) => v !== item.value)\n : [...this.value, item.value];\n } else {\n return item.value;\n }\n };\n\n this.value = getValue();\n\n this.syncItemsFromValue();\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\n this.resizeMenu();\n this.resizeObserver?.observe(this.host);\n this.isOpen = true;\n };\n\n private handleMenuHide = () => {\n this.resizeObserver?.unobserve(this.host);\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.syncItemsFromValue();\n };\n\n private handleTagInteraction = (event: KeyboardEvent | MouseEvent) => {\n // Don't toggle the menu when a tag's clear button is activated\n const path = event.composedPath() as EventTarget[];\n const clearButton = path.find((el) => {\n if (el instanceof HTMLElement) {\n const element = el as HTMLElement;\n return element.classList.contains('tag__clear');\n }\n });\n\n if (clearButton) {\n event.stopPropagation();\n this.sixChange.emit({ value: this.value, isSelected: true });\n }\n };\n\n private resizeMenu() {\n if (this.menu == null || this.box == null) return;\n this.menu.style.minWidth = `${this.box.clientWidth}px`;\n\n if (this.dropdown) {\n this.dropdown.reposition();\n }\n }\n\n private async syncItemsFromValue() {\n const items = this.getItems();\n const value = this.getValueAsArray();\n\n // Sync checked states\n items.forEach((item) => (item.checked = value.includes(item.value)));\n\n // Sync display label\n if (this.multiple) {\n const checkedItems: HTMLSixMenuItemElement[] = [];\n value.forEach((val) => items.map((item) => (item.value === val ? checkedItems.push(item) : null)));\n\n this.displayTags = checkedItems.map((item) => {\n return (\n <six-tag\n exportparts=\"base:tag\"\n type=\"primary\"\n size={this.size}\n pill={this.pill}\n clearable\n onClick={this.handleTagInteraction}\n onKeyDown={this.handleTagInteraction}\n onSix-tag-clear={(event) => {\n event.stopPropagation();\n if (!this.disabled) {\n item.checked = false;\n this.syncValueFromItems();\n }\n }}\n >\n {this.getItemLabel(item)}\n </six-tag>\n );\n });\n\n if (this.maxTagsVisible > 0 && this.displayTags.length > this.maxTagsVisible) {\n const total = this.displayTags.length;\n this.displayLabel = '';\n this.displayTags = this.displayTags.slice(0, this.maxTagsVisible);\n this.displayTags.push(\n <six-tag exportparts=\"base:tag\" type=\"info\" size={this.size}>\n +{total - this.maxTagsVisible}\n </six-tag>\n );\n }\n } else {\n this.displayLabel = this.extractLabelForSelectedItem(value, items);\n this.displayTags = [];\n }\n\n if (!isValueEmpty(this.value)) {\n this.touched = true;\n }\n if (this.touched && this.input != null) {\n this.input.value = Array.isArray(this.value) ? this.value.join(',') : this.value;\n }\n }\n\n private extractLabelForSelectedItem(value: string[], items: HTMLSixMenuItemElement[]): string {\n if (value.length === 0 || (value.length === 1 && value[0] === '')) {\n return '';\n }\n\n if (this.options !== null) {\n const selectedOption = this.options.find((item) => item.value === value[0]);\n return selectedOption?.value || '';\n }\n\n const checkedItem = items.find((item) => item.value === value[0]);\n return checkedItem ? this.getItemLabel(checkedItem) : '';\n }\n\n private syncValueFromItems() {\n const items = this.getItems();\n const checkedItems = items.filter((item) => item.checked);\n const checkedValues = checkedItems.map((item) => item.value);\n this.value = this.multiple\n ? this.getValueAsArray().filter((val) => checkedValues.includes(val))\n : checkedValues.length > 0\n ? checkedValues[0]\n : '';\n }\n\n render() {\n const hasSelection = this.hasSelection();\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 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 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.displayLabel === '',\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.handleSelectAll}\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 >\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 onKeyDown={this.handleKeyDown}\n >\n <span class=\"select__label\">\n {this.displayTags.length > 0 ? (\n <span part=\"tags\" class=\"select__tags\">\n {this.displayTags}\n </span>\n ) : (\n this.displayLabel || this.placeholder\n )}\n </span>\n\n {this.clearable && hasSelection && (\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 {this.hasMenuItems() && (\n <span part=\"icon\" class=\"select__icon\">\n <six-icon size=\"medium\">expand_more</six-icon>\n </span>\n )}\n\n {/*\n The hidden input tricks the browser's built-in validation so it works as expected. We use an input instead\n of a select because, otherwise, iOS will show a list of options during validation.\n */}\n <six-input\n ref={(el) => (this.input = 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 <six-menu\n ref={(el) => (this.menu = el)}\n part=\"menu\"\n class={{\n select__menu: true,\n 'select__menu--filtered': this.filter || this.asyncFilter,\n 'select__menu--hidden': !this.hasMenuItems(),\n }}\n onSix-menu-item-selected={this.handleMenuSelect}\n items={this.options}\n virtualScroll={this.virtualScroll}\n remove-box-shadow\n >\n <slot onSlotchange={this.handleSlotChange} />\n </six-menu>\n </six-dropdown>\n </FormControl>\n );\n }\n\n private hasSelection() {\n return this.multiple ? this.value.length > 0 : this.value !== '';\n }\n}\n"],"version":3}
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ccf35821.js');
6
- const slot = require('./slot-bccbdb59.js');
5
+ const index = require('./index-900437fc.js');
6
+ const slot = require('./slot-6e6a400f.js');
7
7
 
8
8
  const sixSidebarItemGroupCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}.six-sidebar-item-group--childless::part(content){padding:0 !important}.six-sidebar-item-group--subgroup::part(header){background-color:transparent !important}.six-sidebar-item-group__header-icon{margin-left:16px;transform:translate(0px, -3px)}.six-sidebar-details__header{display:flex}.six-sidebar-details__header-icon{margin-right:1em}";
9
9
 
@@ -1 +1 @@
1
- {"file":"six-sidebar-item-group.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,sBAAsB,GAAG,6cAA6c;;MCe/d,mBAAmB;;;IAsCtB,gBAAW,GAAG,CAAC,IAAY;MACjC,IAAI,IAAI,CAAC,qBAAqB,EAAE;QAC9B,QACEA,iBAAK,IAAI,EAAE,IAAI,IACbA,kBAAM,IAAI,EAAE,IAAI,GAAS,CACrB,EACN;OACH;MAED,QACEA,kBACE,IAAI,EAAE,IAAI,EACV,YAAY,EAAE;;UACZ,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,aAAa,CAAkB,cAAc,IAAI,IAAI,CAAC,CAAC;UAC1F,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;WAC9D;SACF,GACK,EACR;KACH,CAAC;oBAvDkB,KAAK;gBAGV,EAAE;gBAGF,EAAE;iBAGgB,EAAE;gBAGH,KAAK;;iCAKJ,KAAK;;EAEtC,iBAAiB;IACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAC1D;EAED,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;GACzB;EAEO,gBAAgB;IACtB,IAAI,CAAC,QAAQ,GAAGC,YAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GACpC;EAEO,UAAU;;IAChB,OAAO,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,OAAO,CAAC,wBAAwB,CAAC,KAAI,IAAI,CAAC;GAC3E;EAwBD,MAAM;IACJ,QACED,yBACE,KAAK,EAAE;QACL,mCAAmC,EAAE,CAAC,IAAI,CAAC,QAAQ;QACnD,kCAAkC,EAAE,IAAI,CAAC,UAAU,EAAE;OACtD,EACD,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,IAAI,CAAC,IAAI,kBACD,IAAI,CAAC,WAAW,EAC9B,UAAU,EAAE,IAAI,CAAC,QAAQ,IAEzBA,iBAAK,IAAI,EAAC,SAAS,IACjBA,iBAAK,KAAK,EAAC,6BAA6B,IACrC,IAAI,CAAC,IAAI,IAAIA,sBAAU,KAAK,EAAC,kCAAkC,IAAE,IAAI,CAAC,IAAI,CAAY,EACtF,IAAI,CAAC,IAAI,CACN,CACF,EACL,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EACjCA,qBAAQ,CACI,EACd;GACH;;;;;;;","names":["h","hasSlot"],"sources":["./src/components/six-sidebar-item-group/six-sidebar-item-group.scss?tag=six-sidebar-item-group&encapsulation=shadow","./src/components/six-sidebar-item-group/six-sidebar-item-group.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.six-sidebar-item-group--childless::part(content) {\n padding: 0 !important;\n}\n\n.six-sidebar-item-group--subgroup::part(header) {\n background-color: transparent !important;\n}\n\n.six-sidebar-item-group__header-icon {\n margin-left: 16px;\n transform: translate(0px, -3px);\n}\n\n.six-sidebar-details__header {\n display: flex;\n}\n\n.six-sidebar-details__header-icon {\n margin-right: 1em;\n}\n","import { Component, Element, h, Prop, State } from '@stencil/core';\nimport { hasSlot } from '../../utils/slot';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the nested sidebar [group] items.\n */\n\n@Component({\n tag: 'six-sidebar-item-group',\n styleUrl: 'six-sidebar-item-group.scss',\n shadow: true,\n})\nexport class SixSidebarItemGroup {\n @Element() readonly host!: HTMLSixSidebarItemGroupElement;\n\n @State() hasItems = false;\n\n /** Title of item group */\n @Prop() name = '';\n\n /** Icon of the group */\n @Prop() icon = '';\n\n /** A unique value to store in the sidebar item of the group label. This can be used as a way to identify sidebar items when selected. */\n @Prop({ reflect: true }) value = '';\n\n /** Indicates whether the sidebar is shown */\n @Prop({ reflect: true }) open = false;\n\n /** Custom summary icon name. */\n @Prop() summaryIcon?: string;\n\n @State() summaryIconHasContent = false;\n\n connectedCallback() {\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n private handleSlotChange() {\n this.hasItems = hasSlot(this.host);\n }\n\n private isSubgroup() {\n return this.host.parentElement?.closest('six-sidebar-item-group') != null;\n }\n\n private provideSlot = (name: string) => {\n if (this.summaryIconHasContent) {\n return (\n <div slot={name}>\n <slot name={name}></slot>\n </div>\n );\n }\n\n return (\n <slot\n name={name}\n onSlotchange={() => {\n const slot = this.host.shadowRoot?.querySelector<HTMLSlotElement>(`slot[name=\"${name}\"]`);\n if (slot != null) {\n this.summaryIconHasContent = slot.assignedNodes().length > 0;\n }\n }}\n ></slot>\n );\n };\n\n render() {\n return (\n <six-details\n class={{\n 'six-sidebar-item-group--childless': !this.hasItems,\n 'six-sidebar-item-group--subgroup': this.isSubgroup(),\n }}\n inline={true}\n open={this.open}\n summary-icon={this.summaryIcon}\n hasContent={this.hasItems}\n >\n <div slot=\"summary\">\n <div class=\"six-sidebar-details__header\">\n {this.icon && <six-icon class=\"six-sidebar-details__header-icon\">{this.icon}</six-icon>}\n {this.name}\n </div>\n </div>\n {this.provideSlot('summary-icon')}\n <slot />\n </six-details>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-sidebar-item-group.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,sBAAsB,GAAG,6cAA6c;;MCe/d,mBAAmB;;;IAsCtB,gBAAW,GAAG,CAAC,IAAY;MACjC,IAAI,IAAI,CAAC,qBAAqB,EAAE;QAC9B,QACEA,iBAAK,IAAI,EAAE,IAAI,IACbA,kBAAM,IAAI,EAAE,IAAI,GAAS,CACrB,EACN;OACH;MAED,QACEA,kBACE,IAAI,EAAE,IAAI,EACV,YAAY,EAAE;;UACZ,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,aAAa,CAAkB,cAAc,IAAI,IAAI,CAAC,CAAC;UAC1F,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;WAC9D;SACF,GACK,EACR;KACH,CAAC;oBAvDkB,KAAK;gBAGV,EAAE;gBAGF,EAAE;iBAGgB,EAAE;gBAGH,KAAK;;iCAKJ,KAAK;;EAEtC,iBAAiB;IACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAC1D;EAED,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;GACzB;EAEO,gBAAgB;IACtB,IAAI,CAAC,QAAQ,GAAGC,YAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GACpC;EAEO,UAAU;;IAChB,OAAO,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAE,OAAO,CAAC,wBAAwB,CAAC,KAAI,IAAI,CAAC;GAC3E;EAwBD,MAAM;IACJ,QACED,yBACE,KAAK,EAAE;QACL,mCAAmC,EAAE,CAAC,IAAI,CAAC,QAAQ;QACnD,kCAAkC,EAAE,IAAI,CAAC,UAAU,EAAE;OACtD,EACD,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,IAAI,CAAC,IAAI,kBACD,IAAI,CAAC,WAAW,EAC9B,UAAU,EAAE,IAAI,CAAC,QAAQ,IAEzBA,iBAAK,IAAI,EAAC,SAAS,IACjBA,iBAAK,KAAK,EAAC,6BAA6B,IACrC,IAAI,CAAC,IAAI,IAAIA,sBAAU,KAAK,EAAC,kCAAkC,IAAE,IAAI,CAAC,IAAI,CAAY,EACtF,IAAI,CAAC,IAAI,CACN,CACF,EACL,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EACjCA,qBAAQ,CACI,EACd;GACH;;;;;;;","names":["h","hasSlot"],"sources":["src/components/six-sidebar-item-group/six-sidebar-item-group.scss?tag=six-sidebar-item-group&encapsulation=shadow","src/components/six-sidebar-item-group/six-sidebar-item-group.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.six-sidebar-item-group--childless::part(content) {\n padding: 0 !important;\n}\n\n.six-sidebar-item-group--subgroup::part(header) {\n background-color: transparent !important;\n}\n\n.six-sidebar-item-group__header-icon {\n margin-left: 16px;\n transform: translate(0px, -3px);\n}\n\n.six-sidebar-details__header {\n display: flex;\n}\n\n.six-sidebar-details__header-icon {\n margin-right: 1em;\n}\n","import { Component, Element, h, Prop, State } from '@stencil/core';\nimport { hasSlot } from '../../utils/slot';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the nested sidebar [group] items.\n */\n\n@Component({\n tag: 'six-sidebar-item-group',\n styleUrl: 'six-sidebar-item-group.scss',\n shadow: true,\n})\nexport class SixSidebarItemGroup {\n @Element() readonly host!: HTMLSixSidebarItemGroupElement;\n\n @State() hasItems = false;\n\n /** Title of item group */\n @Prop() name = '';\n\n /** Icon of the group */\n @Prop() icon = '';\n\n /** A unique value to store in the sidebar item of the group label. This can be used as a way to identify sidebar items when selected. */\n @Prop({ reflect: true }) value = '';\n\n /** Indicates whether the sidebar is shown */\n @Prop({ reflect: true }) open = false;\n\n /** Custom summary icon name. */\n @Prop() summaryIcon?: string;\n\n @State() summaryIconHasContent = false;\n\n connectedCallback() {\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n private handleSlotChange() {\n this.hasItems = hasSlot(this.host);\n }\n\n private isSubgroup() {\n return this.host.parentElement?.closest('six-sidebar-item-group') != null;\n }\n\n private provideSlot = (name: string) => {\n if (this.summaryIconHasContent) {\n return (\n <div slot={name}>\n <slot name={name}></slot>\n </div>\n );\n }\n\n return (\n <slot\n name={name}\n onSlotchange={() => {\n const slot = this.host.shadowRoot?.querySelector<HTMLSlotElement>(`slot[name=\"${name}\"]`);\n if (slot != null) {\n this.summaryIconHasContent = slot.assignedNodes().length > 0;\n }\n }}\n ></slot>\n );\n };\n\n render() {\n return (\n <six-details\n class={{\n 'six-sidebar-item-group--childless': !this.hasItems,\n 'six-sidebar-item-group--subgroup': this.isSubgroup(),\n }}\n inline={true}\n open={this.open}\n summary-icon={this.summaryIcon}\n hasContent={this.hasItems}\n >\n <div slot=\"summary\">\n <div class=\"six-sidebar-details__header\">\n {this.icon && <six-icon class=\"six-sidebar-details__header-icon\">{this.icon}</six-icon>}\n {this.name}\n </div>\n </div>\n {this.provideSlot('summary-icon')}\n <slot />\n </six-details>\n );\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ccf35821.js');
5
+ const index = require('./index-900437fc.js');
6
6
 
7
7
  const sixSidebarItemCss = ":host{display:block}.sidebar-item{font-size:0.9rem;color:var(--six-sidebar-color);cursor:pointer;padding:8px 8px 16px 16px;font-family:var(--six-font-family)}.sidebar-item:hover:not(.sidebar-item--disabled){color:var(--six-color-web-rock-600)}.sidebar-item.sidebar-item--disabled{outline:none;color:var(--six-input-color-disabled);cursor:not-allowed}.sidebar-item.sidebar-item--selected{font-weight:var(--six-font-weight-bold)}";
8
8
 
@@ -1 +1 @@
1
- {"file":"six-sidebar-item.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,iBAAiB,GAAG,6aAA6a;;MCc1b,cAAc;;;iBAEQ,EAAE;oBAGC,KAAK;oBAGL,KAAK;;EAEzC,MAAM;IACJ,QACEA,iBACE,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,wBAAwB,EAAE,IAAI,CAAC,QAAQ;QACvC,wBAAwB,EAAE,IAAI,CAAC,QAAQ;OACxC,EACD,IAAI,EAAC,UAAU,mBACA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,mBAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,IAE/CA,qBAAa,CACT,EACN;GACH;;;;;;","names":["h"],"sources":["./src/components/six-sidebar-item/six-sidebar-item.scss?tag=six-sidebar-item&encapsulation=shadow","./src/components/six-sidebar-item/six-sidebar-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.sidebar-item {\n font-size: 0.9rem;\n color: var(--six-sidebar-color);\n cursor: pointer;\n padding: 8px 8px 16px 16px;\n font-family: var(--six-font-family);\n\n &:hover:not(.sidebar-item--disabled) {\n color: var(--six-color-web-rock-600);\n }\n\n &.sidebar-item--disabled {\n outline: none;\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n }\n\n &.sidebar-item--selected {\n font-weight: var(--six-font-weight-bold);\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the nested displayed text of the item.\n */\n\n@Component({\n tag: 'six-sidebar-item',\n styleUrl: 'six-sidebar-item.scss',\n shadow: true,\n})\nexport class SixSidebarItem {\n /** A unique value to store in the sidebar item. This can be used as a way to identify sidebar items when selected. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to draw the item in a selected state. */\n @Prop({ reflect: true }) selected = false;\n\n /** Set to true to draw the sidebar item in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n render() {\n return (\n <div\n class={{\n 'sidebar-item': true,\n 'sidebar-item--selected': this.selected,\n 'sidebar-item--disabled': this.disabled,\n }}\n role=\"menuitem\"\n aria-selected={this.selected ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n >\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-sidebar-item.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,iBAAiB,GAAG,6aAA6a;;MCc1b,cAAc;;;iBAEQ,EAAE;oBAGC,KAAK;oBAGL,KAAK;;EAEzC,MAAM;IACJ,QACEA,iBACE,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,wBAAwB,EAAE,IAAI,CAAC,QAAQ;QACvC,wBAAwB,EAAE,IAAI,CAAC,QAAQ;OACxC,EACD,IAAI,EAAC,UAAU,mBACA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,mBAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,IAE/CA,qBAAa,CACT,EACN;GACH;;;;;;","names":["h"],"sources":["src/components/six-sidebar-item/six-sidebar-item.scss?tag=six-sidebar-item&encapsulation=shadow","src/components/six-sidebar-item/six-sidebar-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.sidebar-item {\n font-size: 0.9rem;\n color: var(--six-sidebar-color);\n cursor: pointer;\n padding: 8px 8px 16px 16px;\n font-family: var(--six-font-family);\n\n &:hover:not(.sidebar-item--disabled) {\n color: var(--six-color-web-rock-600);\n }\n\n &.sidebar-item--disabled {\n outline: none;\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n }\n\n &.sidebar-item--selected {\n font-weight: var(--six-font-weight-bold);\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the nested displayed text of the item.\n */\n\n@Component({\n tag: 'six-sidebar-item',\n styleUrl: 'six-sidebar-item.scss',\n shadow: true,\n})\nexport class SixSidebarItem {\n /** A unique value to store in the sidebar item. This can be used as a way to identify sidebar items when selected. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to draw the item in a selected state. */\n @Prop({ reflect: true }) selected = false;\n\n /** Set to true to draw the sidebar item in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n render() {\n return (\n <div\n class={{\n 'sidebar-item': true,\n 'sidebar-item--selected': this.selected,\n 'sidebar-item--disabled': this.disabled,\n }}\n role=\"menuitem\"\n aria-selected={this.selected ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n >\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ccf35821.js');
6
- const scroll = require('./scroll-76e6f5d7.js');
5
+ const index = require('./index-900437fc.js');
6
+ const scroll = require('./scroll-03678de1.js');
7
7
 
8
8
  const sixSidebarCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;height:100%}.sidebar__container{height:100%;overflow:auto}.sidebar__container.sidebar--open{box-shadow:var(--six-elevation-1dp)}.sidebar__container:not(.sidebar--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.sidebar--left{color:var(--six-sidebar-color);background-color:var(--six-sidebar-background-color);transition:var(--six-transition-medium) margin-left;background-size:300vw 70%;background-position:bottom;background-repeat:no-repeat}.sidebar--right{transition:var(--six-transition-medium) margin-right}.sidebar--open.sidebar--left{margin-right:2px}.sidebar--open.sidebar--right{margin-left:2px}";
9
9