@six-group/ui-library 0.0.0-insider.11a6206 → 0.0.0-insider.16b5866

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 (834) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/{event-listeners-b835dfae.js → event-listeners-fdfe838c.js} +1 -1
  3. package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
  4. package/dist/cjs/{execution-control-45c84c46.js → execution-control-b4707294.js} +1 -1
  5. package/dist/cjs/execution-control-b4707294.js.map +1 -0
  6. package/dist/cjs/{focus-visible-e0d93a95.js → focus-visible-ae2470dd.js} +1 -1
  7. package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
  8. package/dist/cjs/{form-8cbd4e0e.js → form-2df8c5bb.js} +1 -1
  9. package/dist/{esm/form-0b9c11cd.js.map → cjs/form-2df8c5bb.js.map} +1 -1
  10. package/dist/cjs/{form-control-8df00a52.js → form-control-9769b310.js} +11 -8
  11. package/dist/cjs/form-control-9769b310.js.map +1 -0
  12. package/dist/cjs/{index-2f6daa5b.js → index-900437fc.js} +400 -54
  13. package/dist/cjs/index-900437fc.js.map +1 -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-8885d50f.js → popover-2df7e154.js} +1 -1
  20. package/dist/{esm/popover-2e72e7d8.js.map → cjs/popover-2df7e154.js.map} +1 -1
  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-2c4200dc.js} +1 -2
  24. package/dist/{esm/scroll-180b53fd.js.map → cjs/scroll-2c4200dc.js.map} +1 -1
  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 +5 -5
  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 -16
  38. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-datepicker.cjs.entry.js +10 -13
  40. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-details.cjs.entry.js +3 -3
  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 +6 -6
  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-error.cjs.entry.js +21 -0
  52. package/dist/cjs/six-error.cjs.entry.js.map +1 -0
  53. package/dist/cjs/six-file-list-item.cjs.entry.js +1 -1
  54. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  56. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-file-upload.cjs.entry.js +1 -1
  58. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  60. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-group-label.cjs.entry.js +4 -4
  62. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-header.cjs.entry.js +3 -3
  64. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-icon-button.cjs.entry.js +3 -3
  66. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  68. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-input.cjs.entry.js +10 -7
  70. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-item-picker.cjs.entry.js +6 -6
  72. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
  74. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-layout-grid.cjs.entry.js +1 -1
  76. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  78. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  80. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  81. package/dist/cjs/six-menu-item.cjs.entry.js +2 -2
  82. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  84. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-picto.cjs.entry.js +1 -1
  86. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  88. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-progress-ring.cjs.entry.js +1 -1
  90. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-radio.cjs.entry.js +11 -19
  92. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-range.cjs.entry.js +9 -6
  94. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-root.cjs.entry.js +1 -1
  96. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-search-field.cjs.entry.js +3 -3
  98. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-select.cjs.entry.js +16 -12
  100. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +4 -3
  102. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  104. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-sidebar.cjs.entry.js +2 -2
  106. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  108. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-switch.cjs.entry.js +27 -7
  110. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tab-group.cjs.entry.js +46 -51
  112. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  113. package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
  114. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  115. package/dist/cjs/six-tab.cjs.entry.js +20 -4
  116. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  117. package/dist/cjs/six-tag.cjs.entry.js +25 -3
  118. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  119. package/dist/cjs/six-textarea.cjs.entry.js +26 -27
  120. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  121. package/dist/cjs/six-tile.cjs.entry.js +2 -2
  122. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  123. package/dist/cjs/six-timepicker.cjs.entry.js +10 -15
  124. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  125. package/dist/cjs/six-tooltip.cjs.entry.js +4 -4
  126. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  127. package/dist/cjs/{slot-bccbdb59.js → slot-6e6a400f.js} +1 -1
  128. package/dist/cjs/slot-6e6a400f.js.map +1 -0
  129. package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
  130. package/dist/cjs/types-47199040.js.map +1 -0
  131. package/dist/cjs/ui-library.cjs.js +3 -6
  132. package/dist/cjs/ui-library.cjs.js.map +1 -1
  133. package/dist/collection/collection-manifest.json +55 -54
  134. package/dist/collection/components/six-alert/six-alert.js +15 -8
  135. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  136. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  137. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  138. package/dist/collection/components/six-avatar/six-avatar.js +1 -1
  139. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  140. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  141. package/dist/collection/components/six-badge/six-badge.js +1 -1
  142. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  143. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  144. package/dist/collection/components/six-button/six-button.css +5 -30
  145. package/dist/collection/components/six-button/six-button.js +14 -9
  146. package/dist/collection/components/six-button/six-button.js.map +1 -1
  147. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  148. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  149. package/dist/collection/components/six-card/six-card.js +1 -1
  150. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  151. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  152. package/dist/collection/components/six-checkbox/six-checkbox.css +1 -1
  153. package/dist/collection/components/six-checkbox/six-checkbox.js +43 -40
  154. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  155. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +83 -0
  156. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  157. package/dist/collection/components/six-datepicker/components/day-selection.js +1 -1
  158. package/dist/collection/components/six-datepicker/components/month-selection.js +2 -2
  159. package/dist/collection/components/six-datepicker/components/year-selection.js +2 -2
  160. package/dist/collection/components/six-datepicker/six-datepicker.js +59 -34
  161. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  162. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  163. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  164. package/dist/collection/components/six-details/six-details.css +3 -1
  165. package/dist/collection/components/six-details/six-details.js +14 -8
  166. package/dist/collection/components/six-details/six-details.js.map +1 -1
  167. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  168. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  169. package/dist/collection/components/six-dialog/six-dialog.js +21 -13
  170. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  171. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  172. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  173. package/dist/collection/components/six-drawer/six-drawer.js +21 -13
  174. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  175. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  176. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  177. package/dist/collection/components/six-dropdown/six-dropdown.css +2 -1
  178. package/dist/collection/components/six-dropdown/six-dropdown.js +30 -18
  179. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  180. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  181. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  182. package/dist/collection/components/six-error/six-error.css +5 -0
  183. package/dist/collection/components/six-error/six-error.js +25 -0
  184. package/dist/collection/components/six-error/six-error.js.map +1 -0
  185. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  186. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  187. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  188. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  189. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  190. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  191. package/dist/collection/components/six-file-list-item/six-file-list-item.js +5 -3
  192. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  193. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  194. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  195. package/dist/collection/components/six-file-upload/six-file-upload.js +5 -3
  196. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  197. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  198. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  199. package/dist/collection/components/six-footer/six-footer.js +1 -1
  200. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  201. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  202. package/dist/collection/components/six-group-label/six-group-label.css +1 -1
  203. package/dist/collection/components/six-group-label/six-group-label.js +3 -3
  204. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +45 -0
  205. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  206. package/dist/collection/components/six-header/six-header.js +19 -11
  207. package/dist/collection/components/six-header/six-header.js.map +1 -1
  208. package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
  209. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  210. package/dist/collection/components/six-icon/six-icon.js +1 -1
  211. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  212. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  213. package/dist/collection/components/six-icon-button/six-icon-button.css +4 -4
  214. package/dist/collection/components/six-icon-button/six-icon-button.js +2 -2
  215. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  216. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  217. package/dist/collection/components/six-input/six-input.css +2 -2
  218. package/dist/collection/components/six-input/six-input.js +54 -20
  219. package/dist/collection/components/six-input/six-input.js.map +1 -1
  220. package/dist/collection/components/six-input/test/six-input.spec.js +39 -0
  221. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  222. package/dist/collection/components/six-item-picker/six-item-picker.js +14 -10
  223. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  224. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  225. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  226. package/dist/collection/components/six-language-switcher/six-language-switcher.js +5 -3
  227. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  228. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  229. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  230. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  231. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  232. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  233. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  234. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  235. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  236. package/dist/collection/components/six-menu/six-menu.js +12 -8
  237. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  238. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  239. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  240. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  241. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  242. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  243. package/dist/collection/components/six-menu-item/six-menu-item.js +10 -6
  244. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  245. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  246. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  247. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  248. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  249. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  250. package/dist/collection/components/six-picto/six-picto.js +1 -1
  251. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  252. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  253. package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
  254. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  255. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  256. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  257. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  258. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  259. package/dist/collection/components/six-radio/six-radio.js +23 -41
  260. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  261. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  262. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  263. package/dist/collection/components/six-range/six-range.css +1 -1
  264. package/dist/collection/components/six-range/six-range.js +40 -13
  265. package/dist/collection/components/six-range/six-range.js.map +1 -1
  266. package/dist/collection/components/six-range/test/six-range.spec.js +34 -0
  267. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  268. package/dist/collection/components/six-root/six-root.js +5 -3
  269. package/dist/collection/components/six-root/six-root.js.map +1 -1
  270. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  271. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  272. package/dist/collection/components/six-search-field/six-search-field.js +5 -4
  273. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  274. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  275. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  276. package/dist/collection/components/six-select/six-select.css +7 -10
  277. package/dist/collection/components/six-select/six-select.js +48 -20
  278. package/dist/collection/components/six-select/six-select.js.map +1 -1
  279. package/dist/collection/components/six-select/test/six-select.spec.js +86 -0
  280. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  281. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  282. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  283. package/dist/collection/components/six-sidebar/six-sidebar.js +26 -14
  284. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  285. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  286. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  287. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
  288. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  289. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  290. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +4 -0
  291. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +3 -2
  292. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  293. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  294. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  295. package/dist/collection/components/six-spinner/six-spinner.js +1 -1
  296. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  297. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  298. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +3 -2
  299. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  300. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  301. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  302. package/dist/collection/components/six-switch/six-switch.css +1 -1
  303. package/dist/collection/components/six-switch/six-switch.js +59 -12
  304. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  305. package/dist/collection/components/six-switch/test/six-switch.spec.js +73 -0
  306. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  307. package/dist/collection/components/six-tab/six-tab.css +54 -5
  308. package/dist/collection/components/six-tab/six-tab.js +27 -7
  309. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  310. package/dist/collection/components/six-tab-group/six-tab-group.css +0 -31
  311. package/dist/collection/components/six-tab-group/six-tab-group.js +18 -56
  312. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  313. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  314. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  315. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  316. package/dist/collection/components/six-tag/six-tag.css +6 -0
  317. package/dist/collection/components/six-tag/six-tag.js +26 -3
  318. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  319. package/dist/collection/components/six-tag/test/six-tag.spec.js +54 -0
  320. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  321. package/dist/collection/components/six-textarea/six-textarea.css +1 -1
  322. package/dist/collection/components/six-textarea/six-textarea.js +66 -39
  323. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  324. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +119 -0
  325. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  326. package/dist/collection/components/six-tile/six-tile.js +10 -6
  327. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  328. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  329. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  330. package/dist/collection/components/six-timepicker/six-timepicker.js +43 -25
  331. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  332. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  333. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  334. package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
  335. package/dist/collection/components/six-tooltip/six-tooltip.js +15 -9
  336. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  337. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  338. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  339. package/dist/collection/functional-components/form-control/form-control.js +9 -7
  340. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  341. package/dist/collection/utils/animation.js +34 -0
  342. package/dist/collection/utils/animation.js.map +1 -0
  343. package/dist/collection/utils/date-util.js +1 -1
  344. package/dist/collection/utils/date-util.spec.js +995 -0
  345. package/dist/collection/utils/date-util.spec.js.map +1 -0
  346. package/dist/collection/utils/event-listeners.js.map +1 -1
  347. package/dist/collection/utils/popover.js +1 -1
  348. package/dist/collection/utils/scroll.js +1 -1
  349. package/dist/collection/utils/scroll.spec.js +122 -0
  350. package/dist/collection/utils/scroll.spec.js.map +1 -0
  351. package/dist/collection/utils/time.util.spec.js +368 -0
  352. package/dist/collection/utils/time.util.spec.js.map +1 -0
  353. package/dist/collection/wrappers/set-attributes/set-attributes.js +1 -1
  354. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  355. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  356. package/dist/components/event-listeners.js.map +1 -1
  357. package/dist/components/execution-control.js.map +1 -1
  358. package/dist/components/focus-visible.js.map +1 -1
  359. package/dist/components/form-control.js +9 -6
  360. package/dist/components/form-control.js.map +1 -1
  361. package/dist/components/form.js.map +1 -1
  362. package/dist/components/index.js +2 -0
  363. package/dist/components/index.js.map +1 -1
  364. package/dist/components/modal.js.map +1 -1
  365. package/dist/components/popover.js.map +1 -1
  366. package/dist/components/scroll.js +1 -1
  367. package/dist/components/scroll.js.map +1 -1
  368. package/dist/components/set-attributes2.js.map +1 -1
  369. package/dist/components/six-alert.js.map +1 -1
  370. package/dist/components/six-avatar.js.map +1 -1
  371. package/dist/components/six-badge.js.map +1 -1
  372. package/dist/components/six-button.js +2 -2
  373. package/dist/components/six-button.js.map +1 -1
  374. package/dist/components/six-card.js.map +1 -1
  375. package/dist/components/six-checkbox.js +17 -15
  376. package/dist/components/six-checkbox.js.map +1 -1
  377. package/dist/components/six-datepicker.js +13 -9
  378. package/dist/components/six-datepicker.js.map +1 -1
  379. package/dist/components/six-details2.js +1 -1
  380. package/dist/components/six-details2.js.map +1 -1
  381. package/dist/components/six-dialog.js.map +1 -1
  382. package/dist/components/six-drawer.js.map +1 -1
  383. package/dist/components/six-dropdown2.js +8 -2
  384. package/dist/components/six-dropdown2.js.map +1 -1
  385. package/dist/components/six-error-page.js.map +1 -1
  386. package/dist/components/six-error.d.ts +11 -0
  387. package/dist/components/six-error.js +8 -0
  388. package/dist/components/six-error.js.map +1 -0
  389. package/dist/components/six-error2.js +32 -0
  390. package/dist/components/six-error2.js.map +1 -0
  391. package/dist/components/six-file-list-item.js.map +1 -1
  392. package/dist/components/six-file-list.js.map +1 -1
  393. package/dist/components/six-file-upload.js.map +1 -1
  394. package/dist/components/six-footer.js.map +1 -1
  395. package/dist/components/six-group-label.js +8 -2
  396. package/dist/components/six-group-label.js.map +1 -1
  397. package/dist/components/six-header.js +8 -2
  398. package/dist/components/six-header.js.map +1 -1
  399. package/dist/components/six-icon-button2.js +1 -1
  400. package/dist/components/six-icon-button2.js.map +1 -1
  401. package/dist/components/six-icon2.js.map +1 -1
  402. package/dist/components/six-input2.js +14 -3
  403. package/dist/components/six-input2.js.map +1 -1
  404. package/dist/components/six-item-picker2.js +2 -2
  405. package/dist/components/six-item-picker2.js.map +1 -1
  406. package/dist/components/six-language-switcher.js.map +1 -1
  407. package/dist/components/six-layout-grid.js.map +1 -1
  408. package/dist/components/six-main-container.js.map +1 -1
  409. package/dist/components/six-menu-divider.js.map +1 -1
  410. package/dist/components/six-menu-item2.js.map +1 -1
  411. package/dist/components/six-menu-label.js.map +1 -1
  412. package/dist/components/six-menu2.js.map +1 -1
  413. package/dist/components/six-picto2.js.map +1 -1
  414. package/dist/components/six-progress-bar.js.map +1 -1
  415. package/dist/components/six-progress-ring.js.map +1 -1
  416. package/dist/components/six-radio.js +10 -19
  417. package/dist/components/six-radio.js.map +1 -1
  418. package/dist/components/six-range.js +14 -3
  419. package/dist/components/six-range.js.map +1 -1
  420. package/dist/components/six-root.js.map +1 -1
  421. package/dist/components/six-search-field.js +7 -1
  422. package/dist/components/six-search-field.js.map +1 -1
  423. package/dist/components/six-select.js +39 -21
  424. package/dist/components/six-select.js.map +1 -1
  425. package/dist/components/six-sidebar-item-group.js +2 -1
  426. package/dist/components/six-sidebar-item-group.js.map +1 -1
  427. package/dist/components/six-sidebar-item.js.map +1 -1
  428. package/dist/components/six-sidebar.js.map +1 -1
  429. package/dist/components/six-spinner2.js.map +1 -1
  430. package/dist/components/six-stage-indicator2.js.map +1 -1
  431. package/dist/components/six-switch.js +33 -5
  432. package/dist/components/six-switch.js.map +1 -1
  433. package/dist/components/six-tab-group.js +45 -50
  434. package/dist/components/six-tab-group.js.map +1 -1
  435. package/dist/components/six-tab-panel.js.map +1 -1
  436. package/dist/components/six-tab.js +19 -3
  437. package/dist/components/six-tab.js.map +1 -1
  438. package/dist/components/six-tag2.js +34 -6
  439. package/dist/components/six-tag2.js.map +1 -1
  440. package/dist/components/six-textarea.js +31 -24
  441. package/dist/components/six-textarea.js.map +1 -1
  442. package/dist/components/six-tile.js.map +1 -1
  443. package/dist/components/six-timepicker2.js +12 -10
  444. package/dist/components/six-timepicker2.js.map +1 -1
  445. package/dist/components/six-tooltip2.js +2 -2
  446. package/dist/components/six-tooltip2.js.map +1 -1
  447. package/dist/components/slot.js.map +1 -1
  448. package/dist/components.d.ts +361 -88
  449. package/dist/components.json +4122 -120
  450. package/dist/esm/{event-listeners-535f3ad1.js → event-listeners-f6e5b0ab.js} +1 -1
  451. package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
  452. package/dist/esm/{execution-control-72cc50f4.js → execution-control-e0892a05.js} +1 -1
  453. package/dist/esm/execution-control-e0892a05.js.map +1 -0
  454. package/dist/esm/{focus-visible-fa7129a0.js → focus-visible-fc6ac671.js} +1 -1
  455. package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
  456. package/dist/esm/{form-0b9c11cd.js → form-81252534.js} +1 -1
  457. package/dist/esm/form-81252534.js.map +1 -0
  458. package/dist/esm/{form-control-785c5f79.js → form-control-b0febe88.js} +11 -8
  459. package/dist/esm/form-control-b0febe88.js.map +1 -0
  460. package/dist/esm/{index-5c0f6628.js → index-8a74f992.js} +400 -54
  461. package/dist/esm/index-8a74f992.js.map +1 -0
  462. package/dist/esm/index.js.map +1 -1
  463. package/dist/esm/loader.js +4 -13
  464. package/dist/esm/loader.js.map +1 -1
  465. package/dist/esm/{modal-b1d96441.js → modal-7d32e141.js} +1 -1
  466. package/dist/esm/modal-7d32e141.js.map +1 -0
  467. package/dist/esm/{popover-2e72e7d8.js → popover-136d1f73.js} +1 -1
  468. package/dist/esm/popover-136d1f73.js.map +1 -0
  469. package/dist/esm/{popup-678b8592.js → popup-7f89a001.js} +1 -1
  470. package/dist/esm/popup-7f89a001.js.map +1 -0
  471. package/dist/esm/{scroll-180b53fd.js → scroll-774762d6.js} +2 -2
  472. package/dist/esm/scroll-774762d6.js.map +1 -0
  473. package/dist/esm/set-attributes_2.entry.js +1 -1
  474. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  475. package/dist/esm/six-alert.entry.js +1 -1
  476. package/dist/esm/six-alert.entry.js.map +1 -1
  477. package/dist/esm/six-avatar.entry.js +1 -1
  478. package/dist/esm/six-avatar.entry.js.map +1 -1
  479. package/dist/esm/six-badge.entry.js +1 -1
  480. package/dist/esm/six-badge.entry.js.map +1 -1
  481. package/dist/esm/six-button.entry.js +5 -5
  482. package/dist/esm/six-button.entry.js.map +1 -1
  483. package/dist/esm/six-card.entry.js +1 -1
  484. package/dist/esm/six-card.entry.js.map +1 -1
  485. package/dist/esm/six-checkbox.entry.js +11 -16
  486. package/dist/esm/six-checkbox.entry.js.map +1 -1
  487. package/dist/esm/six-datepicker.entry.js +10 -13
  488. package/dist/esm/six-datepicker.entry.js.map +1 -1
  489. package/dist/esm/six-details.entry.js +3 -3
  490. package/dist/esm/six-details.entry.js.map +1 -1
  491. package/dist/esm/six-dialog.entry.js +4 -4
  492. package/dist/esm/six-dialog.entry.js.map +1 -1
  493. package/dist/esm/six-drawer.entry.js +4 -4
  494. package/dist/esm/six-drawer.entry.js.map +1 -1
  495. package/dist/esm/six-dropdown_2.entry.js +6 -6
  496. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  497. package/dist/esm/six-error-page.entry.js +1 -1
  498. package/dist/esm/six-error-page.entry.js.map +1 -1
  499. package/dist/esm/six-error.entry.js +17 -0
  500. package/dist/esm/six-error.entry.js.map +1 -0
  501. package/dist/esm/six-file-list-item.entry.js +1 -1
  502. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  503. package/dist/esm/six-file-list.entry.js +1 -1
  504. package/dist/esm/six-file-list.entry.js.map +1 -1
  505. package/dist/esm/six-file-upload.entry.js +1 -1
  506. package/dist/esm/six-file-upload.entry.js.map +1 -1
  507. package/dist/esm/six-footer.entry.js +1 -1
  508. package/dist/esm/six-footer.entry.js.map +1 -1
  509. package/dist/esm/six-group-label.entry.js +4 -4
  510. package/dist/esm/six-group-label.entry.js.map +1 -1
  511. package/dist/esm/six-header.entry.js +3 -3
  512. package/dist/esm/six-header.entry.js.map +1 -1
  513. package/dist/esm/six-icon-button.entry.js +3 -3
  514. package/dist/esm/six-icon-button.entry.js.map +1 -1
  515. package/dist/esm/six-icon.entry.js +1 -1
  516. package/dist/esm/six-icon.entry.js.map +1 -1
  517. package/dist/esm/six-input.entry.js +10 -7
  518. package/dist/esm/six-input.entry.js.map +1 -1
  519. package/dist/esm/six-item-picker.entry.js +6 -6
  520. package/dist/esm/six-item-picker.entry.js.map +1 -1
  521. package/dist/esm/six-language-switcher.entry.js +1 -1
  522. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  523. package/dist/esm/six-layout-grid.entry.js +1 -1
  524. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  525. package/dist/esm/six-main-container.entry.js +1 -1
  526. package/dist/esm/six-main-container.entry.js.map +1 -1
  527. package/dist/esm/six-menu-divider.entry.js +1 -1
  528. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  529. package/dist/esm/six-menu-item.entry.js +2 -2
  530. package/dist/esm/six-menu-item.entry.js.map +1 -1
  531. package/dist/esm/six-menu-label.entry.js +1 -1
  532. package/dist/esm/six-menu-label.entry.js.map +1 -1
  533. package/dist/esm/six-picto.entry.js +1 -1
  534. package/dist/esm/six-picto.entry.js.map +1 -1
  535. package/dist/esm/six-progress-bar.entry.js +1 -1
  536. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  537. package/dist/esm/six-progress-ring.entry.js +1 -1
  538. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  539. package/dist/esm/six-radio.entry.js +11 -19
  540. package/dist/esm/six-radio.entry.js.map +1 -1
  541. package/dist/esm/six-range.entry.js +9 -6
  542. package/dist/esm/six-range.entry.js.map +1 -1
  543. package/dist/esm/six-root.entry.js +1 -1
  544. package/dist/esm/six-root.entry.js.map +1 -1
  545. package/dist/esm/six-search-field.entry.js +3 -3
  546. package/dist/esm/six-search-field.entry.js.map +1 -1
  547. package/dist/esm/six-select.entry.js +16 -12
  548. package/dist/esm/six-select.entry.js.map +1 -1
  549. package/dist/esm/six-sidebar-item-group.entry.js +4 -3
  550. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  551. package/dist/esm/six-sidebar-item.entry.js +1 -1
  552. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  553. package/dist/esm/six-sidebar.entry.js +2 -2
  554. package/dist/esm/six-sidebar.entry.js.map +1 -1
  555. package/dist/esm/six-spinner.entry.js +1 -1
  556. package/dist/esm/six-spinner.entry.js.map +1 -1
  557. package/dist/esm/six-switch.entry.js +27 -7
  558. package/dist/esm/six-switch.entry.js.map +1 -1
  559. package/dist/esm/six-tab-group.entry.js +46 -51
  560. package/dist/esm/six-tab-group.entry.js.map +1 -1
  561. package/dist/esm/six-tab-panel.entry.js +1 -1
  562. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  563. package/dist/esm/six-tab.entry.js +20 -4
  564. package/dist/esm/six-tab.entry.js.map +1 -1
  565. package/dist/esm/six-tag.entry.js +25 -3
  566. package/dist/esm/six-tag.entry.js.map +1 -1
  567. package/dist/esm/six-textarea.entry.js +26 -27
  568. package/dist/esm/six-textarea.entry.js.map +1 -1
  569. package/dist/esm/six-tile.entry.js +2 -2
  570. package/dist/esm/six-tile.entry.js.map +1 -1
  571. package/dist/esm/six-timepicker.entry.js +10 -15
  572. package/dist/esm/six-timepicker.entry.js.map +1 -1
  573. package/dist/esm/six-tooltip.entry.js +4 -4
  574. package/dist/esm/six-tooltip.entry.js.map +1 -1
  575. package/dist/esm/{slot-2e64df19.js → slot-ad36df3a.js} +1 -1
  576. package/dist/esm/slot-ad36df3a.js.map +1 -0
  577. package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
  578. package/dist/esm/types-59b455aa.js.map +1 -0
  579. package/dist/esm/ui-library.js +4 -7
  580. package/dist/esm/ui-library.js.map +1 -1
  581. package/dist/types/components/six-checkbox/six-checkbox.d.ts +4 -5
  582. package/dist/types/components/six-datepicker/six-datepicker.d.ts +4 -2
  583. package/dist/types/components/six-error/six-error.d.ts +9 -0
  584. package/dist/types/components/six-input/six-input.d.ts +7 -2
  585. package/dist/types/components/six-radio/six-radio.d.ts +0 -5
  586. package/dist/types/components/six-range/six-range.d.ts +4 -1
  587. package/dist/types/components/six-select/six-select.d.ts +4 -1
  588. package/dist/types/components/six-switch/six-switch.d.ts +8 -1
  589. package/dist/types/components/six-tab-group/six-tab-group.d.ts +0 -3
  590. package/dist/types/components/six-tag/six-tag.d.ts +8 -0
  591. package/dist/types/components/six-textarea/six-textarea.d.ts +5 -2
  592. package/dist/types/components/six-timepicker/six-timepicker.d.ts +5 -2
  593. package/dist/types/components.d.ts +109 -24
  594. package/dist/types/functional-components/form-control/form-control.d.ts +6 -2
  595. package/dist/types/stencil-public-runtime.d.ts +15 -2
  596. package/dist/types/utils/animation.d.ts +12 -0
  597. package/dist/types/utils/event-listeners.d.ts +3 -3
  598. package/dist/ui-library/index.esm.js.map +1 -1
  599. package/dist/ui-library/{p-eb8f05a9.js → p-052aa8d3.js} +2 -2
  600. package/dist/ui-library/p-052aa8d3.js.map +1 -0
  601. package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
  602. package/dist/ui-library/p-0f510624.js.map +1 -0
  603. package/dist/ui-library/{p-0b2c6348.js → p-0fdb185d.js} +1 -1
  604. package/dist/ui-library/p-0fdb185d.js.map +1 -0
  605. package/dist/ui-library/{p-e8feb81f.entry.js → p-13b43e04.entry.js} +2 -2
  606. package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
  607. package/dist/ui-library/{p-686b12ec.entry.js → p-14c1ec31.entry.js} +2 -2
  608. package/dist/ui-library/p-14c1ec31.entry.js.map +1 -0
  609. package/dist/ui-library/{p-d87a6f4d.js → p-15559d38.js} +1 -1
  610. package/dist/ui-library/p-15559d38.js.map +1 -0
  611. package/dist/ui-library/{p-97323ad7.entry.js → p-1d5ee1a0.entry.js} +2 -2
  612. package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
  613. package/dist/ui-library/p-22c9b8c3.entry.js +2 -0
  614. package/dist/ui-library/p-22c9b8c3.entry.js.map +1 -0
  615. package/dist/ui-library/p-25bb1752.entry.js +2 -0
  616. package/dist/ui-library/p-25bb1752.entry.js.map +1 -0
  617. package/dist/ui-library/p-264d4ea8.entry.js +2 -0
  618. package/dist/ui-library/p-264d4ea8.entry.js.map +1 -0
  619. package/dist/ui-library/{p-21859bca.entry.js → p-346f9557.entry.js} +2 -2
  620. package/dist/ui-library/p-346f9557.entry.js.map +1 -0
  621. package/dist/ui-library/{p-03a145f5.entry.js → p-37557787.entry.js} +2 -2
  622. package/dist/ui-library/p-37557787.entry.js.map +1 -0
  623. package/dist/ui-library/{p-baa03951.entry.js → p-3cc5addb.entry.js} +2 -2
  624. package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
  625. package/dist/ui-library/p-3f1a5ecb.entry.js +2 -0
  626. package/dist/ui-library/p-3f1a5ecb.entry.js.map +1 -0
  627. package/dist/ui-library/{p-ef3936e5.entry.js → p-411ed539.entry.js} +2 -2
  628. package/dist/ui-library/p-411ed539.entry.js.map +1 -0
  629. package/dist/ui-library/p-4435ff73.entry.js +2 -0
  630. package/dist/ui-library/p-4435ff73.entry.js.map +1 -0
  631. package/dist/ui-library/p-538f3c50.entry.js +2 -0
  632. package/dist/ui-library/p-538f3c50.entry.js.map +1 -0
  633. package/dist/ui-library/{p-0cc08e91.js → p-5654e4c7.js} +1 -1
  634. package/dist/ui-library/p-5654e4c7.js.map +1 -0
  635. package/dist/ui-library/{p-66180e89.entry.js → p-5800663b.entry.js} +2 -2
  636. package/dist/ui-library/p-5800663b.entry.js.map +1 -0
  637. package/dist/ui-library/{p-0fe78f9b.js → p-59210f0b.js} +1 -1
  638. package/dist/ui-library/p-59210f0b.js.map +1 -0
  639. package/dist/ui-library/{p-28be55f0.entry.js → p-5af44076.entry.js} +2 -2
  640. package/dist/ui-library/p-5af44076.entry.js.map +1 -0
  641. package/dist/ui-library/p-5ba3a0fe.entry.js +2 -0
  642. package/dist/ui-library/p-5ba3a0fe.entry.js.map +1 -0
  643. package/dist/ui-library/{p-097cced4.entry.js → p-613283a7.entry.js} +2 -2
  644. package/dist/ui-library/p-613283a7.entry.js.map +1 -0
  645. package/dist/ui-library/p-6153045b.js +3 -0
  646. package/dist/ui-library/p-6153045b.js.map +1 -0
  647. package/dist/ui-library/{p-e19a6c95.entry.js → p-6197fe2f.entry.js} +2 -2
  648. package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
  649. package/dist/ui-library/p-658d9f79.entry.js +2 -0
  650. package/dist/ui-library/p-658d9f79.entry.js.map +1 -0
  651. package/dist/ui-library/p-66fe54b3.entry.js +2 -0
  652. package/dist/ui-library/p-66fe54b3.entry.js.map +1 -0
  653. package/dist/ui-library/{p-8cf72af6.js → p-698bb2c8.js} +1 -1
  654. package/dist/ui-library/p-698bb2c8.js.map +1 -0
  655. package/dist/ui-library/{p-912092c0.entry.js → p-724875b0.entry.js} +2 -2
  656. package/dist/ui-library/p-724875b0.entry.js.map +1 -0
  657. package/dist/ui-library/{p-dd3c76f1.entry.js → p-7afafb9d.entry.js} +2 -2
  658. package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
  659. package/dist/ui-library/{p-60621dc6.js → p-7d95def3.js} +1 -1
  660. package/dist/ui-library/p-7d95def3.js.map +1 -0
  661. package/dist/ui-library/{p-63703ba3.entry.js → p-7e3ad38a.entry.js} +2 -2
  662. package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
  663. package/dist/ui-library/{p-445ba5b8.entry.js → p-878226a0.entry.js} +2 -2
  664. package/dist/ui-library/p-878226a0.entry.js.map +1 -0
  665. package/dist/ui-library/{p-4d408fb4.js → p-8c0971e0.js} +1 -1
  666. package/dist/ui-library/p-8c0971e0.js.map +1 -0
  667. package/dist/ui-library/{p-afcbe9da.entry.js → p-91b51800.entry.js} +2 -2
  668. package/dist/ui-library/p-91b51800.entry.js.map +1 -0
  669. package/dist/ui-library/{p-f0dd77e1.entry.js → p-95fbdd0b.entry.js} +2 -2
  670. package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
  671. package/dist/ui-library/{p-ba74863a.js → p-9ace84c7.js} +1 -1
  672. package/dist/ui-library/p-9ace84c7.js.map +1 -0
  673. package/dist/ui-library/{p-d6798d35.entry.js → p-9b354f5d.entry.js} +2 -2
  674. package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
  675. package/dist/ui-library/{p-3929b0af.entry.js → p-9c1be3fb.entry.js} +2 -2
  676. package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
  677. package/dist/ui-library/{p-cdcde4cd.entry.js → p-a0f290d0.entry.js} +2 -2
  678. package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
  679. package/dist/ui-library/{p-9461417e.entry.js → p-a2035543.entry.js} +2 -2
  680. package/dist/ui-library/p-a2035543.entry.js.map +1 -0
  681. package/dist/ui-library/p-a457fee8.entry.js +2 -0
  682. package/dist/ui-library/p-a457fee8.entry.js.map +1 -0
  683. package/dist/ui-library/{p-09779e47.entry.js → p-a55c7258.entry.js} +2 -2
  684. package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
  685. package/dist/ui-library/{p-6d75f216.entry.js → p-a6a9ee96.entry.js} +2 -2
  686. package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
  687. package/dist/ui-library/p-ab91c2a9.entry.js +2 -0
  688. package/dist/ui-library/p-ab91c2a9.entry.js.map +1 -0
  689. package/dist/ui-library/{p-73597d13.entry.js → p-ac099e6b.entry.js} +2 -2
  690. package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
  691. package/dist/ui-library/{p-bd8f8eef.entry.js → p-ae601a0f.entry.js} +2 -2
  692. package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
  693. package/dist/ui-library/{p-dcd7c547.entry.js → p-b351f889.entry.js} +2 -2
  694. package/dist/ui-library/p-b351f889.entry.js.map +1 -0
  695. package/dist/ui-library/p-b57afbe4.entry.js +2 -0
  696. package/dist/ui-library/p-b57afbe4.entry.js.map +1 -0
  697. package/dist/ui-library/p-b6f47c9d.entry.js +2 -0
  698. package/dist/ui-library/p-b6f47c9d.entry.js.map +1 -0
  699. package/dist/ui-library/{p-72ca96e1.entry.js → p-c03ebf7d.entry.js} +2 -2
  700. package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
  701. package/dist/ui-library/p-cba69e9d.entry.js +2 -0
  702. package/dist/ui-library/p-cba69e9d.entry.js.map +1 -0
  703. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-cd67da3d.entry.js} +2 -2
  704. package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
  705. package/dist/ui-library/{p-5a34c93e.entry.js → p-cdaed936.entry.js} +2 -2
  706. package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
  707. package/dist/ui-library/{p-502ff3d3.entry.js → p-d1bda563.entry.js} +2 -2
  708. package/dist/ui-library/p-d1bda563.entry.js.map +1 -0
  709. package/dist/ui-library/p-db34a6cc.entry.js +2 -0
  710. package/dist/ui-library/p-db34a6cc.entry.js.map +1 -0
  711. package/dist/ui-library/p-db936ad7.entry.js +2 -0
  712. package/dist/ui-library/p-db936ad7.entry.js.map +1 -0
  713. package/dist/ui-library/p-dc4f41d8.entry.js +2 -0
  714. package/dist/ui-library/p-dc4f41d8.entry.js.map +1 -0
  715. package/dist/ui-library/{p-820c23f0.entry.js → p-dfed33c5.entry.js} +2 -2
  716. package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
  717. package/dist/ui-library/p-e5020f0d.js +2 -0
  718. package/dist/ui-library/p-e5020f0d.js.map +1 -0
  719. package/dist/ui-library/p-e775dcb4.entry.js +2 -0
  720. package/dist/ui-library/p-e775dcb4.entry.js.map +1 -0
  721. package/dist/ui-library/{p-8e0b6b7e.entry.js → p-ee950ce2.entry.js} +2 -2
  722. package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
  723. package/dist/ui-library/p-f1dc3a88.entry.js +2 -0
  724. package/dist/ui-library/p-f1dc3a88.entry.js.map +1 -0
  725. package/dist/ui-library/ui-library.css +2 -2
  726. package/dist/ui-library/ui-library.esm.js +1 -1
  727. package/dist/ui-library/ui-library.esm.js.map +1 -1
  728. package/loader/index.d.ts +1 -1
  729. package/package.json +11 -8
  730. package/dist/cjs/event-listeners-b835dfae.js.map +0 -1
  731. package/dist/cjs/execution-control-45c84c46.js.map +0 -1
  732. package/dist/cjs/focus-visible-e0d93a95.js.map +0 -1
  733. package/dist/cjs/form-8cbd4e0e.js.map +0 -1
  734. package/dist/cjs/form-control-8df00a52.js.map +0 -1
  735. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  736. package/dist/cjs/modal-21350fb5.js.map +0 -1
  737. package/dist/cjs/popover-8885d50f.js.map +0 -1
  738. package/dist/cjs/popup-44836aaf.js.map +0 -1
  739. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  740. package/dist/cjs/slot-bccbdb59.js.map +0 -1
  741. package/dist/cjs/types-64878648.js.map +0 -1
  742. package/dist/esm/event-listeners-535f3ad1.js.map +0 -1
  743. package/dist/esm/execution-control-72cc50f4.js.map +0 -1
  744. package/dist/esm/focus-visible-fa7129a0.js.map +0 -1
  745. package/dist/esm/form-control-785c5f79.js.map +0 -1
  746. package/dist/esm/index-5c0f6628.js.map +0 -1
  747. package/dist/esm/modal-b1d96441.js.map +0 -1
  748. package/dist/esm/polyfills/css-shim.js +0 -1
  749. package/dist/esm/popup-678b8592.js.map +0 -1
  750. package/dist/esm/slot-2e64df19.js.map +0 -1
  751. package/dist/esm/types-4b10b413.js.map +0 -1
  752. package/dist/ui-library/p-0045a402.entry.js +0 -2
  753. package/dist/ui-library/p-0045a402.entry.js.map +0 -1
  754. package/dist/ui-library/p-0108fe92.entry.js +0 -2
  755. package/dist/ui-library/p-0108fe92.entry.js.map +0 -1
  756. package/dist/ui-library/p-03a145f5.entry.js.map +0 -1
  757. package/dist/ui-library/p-087fdd96.entry.js +0 -2
  758. package/dist/ui-library/p-087fdd96.entry.js.map +0 -1
  759. package/dist/ui-library/p-09779e47.entry.js.map +0 -1
  760. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  761. package/dist/ui-library/p-0b2c6348.js.map +0 -1
  762. package/dist/ui-library/p-0cc08e91.js.map +0 -1
  763. package/dist/ui-library/p-0fe78f9b.js.map +0 -1
  764. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  765. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  766. package/dist/ui-library/p-2761f908.js +0 -2
  767. package/dist/ui-library/p-2761f908.js.map +0 -1
  768. package/dist/ui-library/p-28be55f0.entry.js.map +0 -1
  769. package/dist/ui-library/p-3929b0af.entry.js.map +0 -1
  770. package/dist/ui-library/p-445ba5b8.entry.js.map +0 -1
  771. package/dist/ui-library/p-4d408fb4.js.map +0 -1
  772. package/dist/ui-library/p-502ff3d3.entry.js.map +0 -1
  773. package/dist/ui-library/p-5a34c93e.entry.js.map +0 -1
  774. package/dist/ui-library/p-60621dc6.js.map +0 -1
  775. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  776. package/dist/ui-library/p-66180e89.entry.js.map +0 -1
  777. package/dist/ui-library/p-686b12ec.entry.js.map +0 -1
  778. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  779. package/dist/ui-library/p-71035abf.entry.js +0 -2
  780. package/dist/ui-library/p-71035abf.entry.js.map +0 -1
  781. package/dist/ui-library/p-724e154d.entry.js +0 -2
  782. package/dist/ui-library/p-724e154d.entry.js.map +0 -1
  783. package/dist/ui-library/p-72ca96e1.entry.js.map +0 -1
  784. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  785. package/dist/ui-library/p-778cf804.entry.js +0 -2
  786. package/dist/ui-library/p-778cf804.entry.js.map +0 -1
  787. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  788. package/dist/ui-library/p-87032e26.entry.js +0 -2
  789. package/dist/ui-library/p-87032e26.entry.js.map +0 -1
  790. package/dist/ui-library/p-8cf72af6.js.map +0 -1
  791. package/dist/ui-library/p-8e0b6b7e.entry.js.map +0 -1
  792. package/dist/ui-library/p-912092c0.entry.js.map +0 -1
  793. package/dist/ui-library/p-92ca6a84.entry.js +0 -2
  794. package/dist/ui-library/p-92ca6a84.entry.js.map +0 -1
  795. package/dist/ui-library/p-9337cdd6.entry.js +0 -2
  796. package/dist/ui-library/p-9337cdd6.entry.js.map +0 -1
  797. package/dist/ui-library/p-9461417e.entry.js.map +0 -1
  798. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  799. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  800. package/dist/ui-library/p-a844cb72.entry.js +0 -2
  801. package/dist/ui-library/p-a844cb72.entry.js.map +0 -1
  802. package/dist/ui-library/p-ac4f4d45.js +0 -3
  803. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  804. package/dist/ui-library/p-afcbe9da.entry.js.map +0 -1
  805. package/dist/ui-library/p-b2bf4ac8.entry.js +0 -2
  806. package/dist/ui-library/p-b2bf4ac8.entry.js.map +0 -1
  807. package/dist/ui-library/p-b3bff992.entry.js +0 -2
  808. package/dist/ui-library/p-b3bff992.entry.js.map +0 -1
  809. package/dist/ui-library/p-b4547fb5.entry.js +0 -2
  810. package/dist/ui-library/p-b4547fb5.entry.js.map +0 -1
  811. package/dist/ui-library/p-ba74863a.js.map +0 -1
  812. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  813. package/dist/ui-library/p-bd8f8eef.entry.js.map +0 -1
  814. package/dist/ui-library/p-c57f16af.entry.js +0 -2
  815. package/dist/ui-library/p-c57f16af.entry.js.map +0 -1
  816. package/dist/ui-library/p-c5cdba08.entry.js +0 -2
  817. package/dist/ui-library/p-c5cdba08.entry.js.map +0 -1
  818. package/dist/ui-library/p-c87810b0.entry.js +0 -2
  819. package/dist/ui-library/p-c87810b0.entry.js.map +0 -1
  820. package/dist/ui-library/p-cdcde4cd.entry.js.map +0 -1
  821. package/dist/ui-library/p-d6798d35.entry.js.map +0 -1
  822. package/dist/ui-library/p-d87a6f4d.js.map +0 -1
  823. package/dist/ui-library/p-dc3f5996.entry.js +0 -2
  824. package/dist/ui-library/p-dc3f5996.entry.js.map +0 -1
  825. package/dist/ui-library/p-dcd7c547.entry.js.map +0 -1
  826. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  827. package/dist/ui-library/p-e07b3f0c.entry.js +0 -2
  828. package/dist/ui-library/p-e07b3f0c.entry.js.map +0 -1
  829. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  830. package/dist/ui-library/p-e8feb81f.entry.js.map +0 -1
  831. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  832. package/dist/ui-library/p-ef3936e5.entry.js.map +0 -1
  833. package/dist/ui-library/p-f0dd77e1.entry.js.map +0 -1
  834. package/readme.md +0 -156
@@ -0,0 +1,43 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ import { SixRoot } from "../six-root";
3
+ global.ResizeObserver = jest.fn().mockImplementation(() => ({
4
+ observe: jest.fn(),
5
+ unobserve: jest.fn(),
6
+ disconnect: jest.fn(),
7
+ }));
8
+ describe('six-root', () => {
9
+ it('renders', async () => {
10
+ const page = await newSpecPage({
11
+ components: [SixRoot],
12
+ html: `<six-root></six-root>`,
13
+ });
14
+ expect(page.root).toEqualHtml(`
15
+ <six-root>
16
+ <mock:shadow-root>
17
+ <host class="six-root">
18
+ <header part="header">
19
+ <slot name="header"></slot>
20
+ </header>
21
+ <nav class="six-root__left-sidebar" part="left-sidebar">
22
+ <set-attributes>
23
+ <slot name="left-sidebar"></slot>
24
+ </set-attributes>
25
+ </nav>
26
+ <main part="main">
27
+ <div class="six-root__container six-root__container--padded" part="container">
28
+ <slot name="main"></slot>
29
+ </div>
30
+ <div class="six-root__footer">
31
+ <slot name="footer"></slot>
32
+ </div>
33
+ </main>
34
+ <nav class="six-root__right-sidebar" part="right-sidebar">
35
+ <slot name="right-sidebar"></slot>
36
+ </nav>
37
+ </host>
38
+ </mock:shadow-root>
39
+ </six-root>
40
+ `);
41
+ });
42
+ });
43
+ //# sourceMappingURL=six-root.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"six-root.spec.js","sourceRoot":"","sources":["../../../../src/components/six-root/test/six-root.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;EAC1D,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;EAClB,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;EACpB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;CACtB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;EACxB,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;MACrB,IAAI,EAAE,uBAAuB;KAC9B,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;KA0B7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixRoot } from '../six-root';\n\nglobal.ResizeObserver = jest.fn().mockImplementation(() => ({\n observe: jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n}));\n\ndescribe('six-root', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [SixRoot],\n html: `<six-root></six-root>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-root>\n <mock:shadow-root>\n <host class=\"six-root\">\n <header part=\"header\">\n <slot name=\"header\"></slot>\n </header>\n <nav class=\"six-root__left-sidebar\" part=\"left-sidebar\">\n <set-attributes>\n <slot name=\"left-sidebar\"></slot>\n </set-attributes>\n </nav>\n <main part=\"main\">\n <div class=\"six-root__container six-root__container--padded\" part=\"container\">\n <slot name=\"main\"></slot>\n </div>\n <div class=\"six-root__footer\">\n <slot name=\"footer\"></slot>\n </div>\n </main>\n <nav class=\"six-root__right-sidebar\" part=\"right-sidebar\">\n <slot name=\"right-sidebar\"></slot>\n </nav>\n </host>\n </mock:shadow-root>\n </six-root>\n `);\n });\n});\n"]}
@@ -1,6 +1,6 @@
1
- import { h } from '@stencil/core';
2
- import { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';
3
- import { EventListeners } from '../../utils/event-listeners';
1
+ import { h } from "@stencil/core";
2
+ import { debounce, DEFAULT_DEBOUNCE_FAST } from "../../utils/execution-control";
3
+ import { EventListeners } from "../../utils/event-listeners";
4
4
  /**
5
5
  * @since 1.0
6
6
  * @status stable
@@ -166,7 +166,8 @@ export class SixSearchField {
166
166
  "references": {
167
167
  "SixSearchFieldChangePayload": {
168
168
  "location": "local",
169
- "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-search-field/six-search-field.tsx"
169
+ "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-search-field/six-search-field.tsx",
170
+ "id": "src/components/six-search-field/six-search-field.tsx::SixSearchFieldChangePayload"
170
171
  }
171
172
  }
172
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"six-search-field.js","sourceRoot":"","sources":["../../../src/components/six-search-field/six-search-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAM7D;;;;;GAKG;AAOH,MAAM,OAAO,cAAc;;IAqBjB,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAEtC,sBAAiB,GAAG,GAAG,EAAE;MAC/B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;OACjE;IACH,CAAC,CAAC;;oBAtBkC,qBAAqB;oBAGrB,KAAK;iBAGR,EAAE;qBAGf,KAAK;;EAgBzB,iBAAiB;IACf,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;MAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;KACtC;EACH,CAAC;EAED,gBAAgB;IACd,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;MAAE,OAAO;IAEtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/G,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE;MACrE,MAAM,aAAa,GAAG,KAAsB,CAAC;MAC7C,IAAI,aAAa,CAAC,GAAG,KAAK,OAAO,EAAE;QACjC,mBAAmB;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;OAC1B;IACH,CAAC,CAAC,CAAC;EACL,CAAC;EAED,oBAAoB;IAClB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;EAClC,CAAC;EAED,MAAM;IACJ,OAAO,CACL,WAAK,KAAK,EAAC,YAAY;MACrB,iBACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EACrC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QAEzB,gBAAU,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,aAElF,CACD;MACZ,eAAQ,CACJ,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\n\nexport interface SixSearchFieldChangePayload {\n value: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the results below the search component.\n */\n\n@Component({\n tag: 'six-search-field',\n styleUrl: 'six-search-field.scss',\n shadow: true,\n})\nexport class SixSearchField {\n /** The input's placeholder text. */\n @Prop() placeholder?: string;\n\n /** Debounce time in milliseconds, default is 300 ms */\n @Prop({ reflect: true }) debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** Set to true to disable the input. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The input's value attribute. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Emitted when a search is triggered */\n @Event({ eventName: 'six-search-field-change' }) searchFieldChange!: EventEmitter<SixSearchFieldChangePayload>;\n\n private inputElement?: HTMLSixInputElement;\n\n private eventListeners = new EventListeners();\n\n private handleInputChange = () => {\n if (this.inputElement != null) {\n this.searchFieldChange.emit({ value: this.inputElement.value });\n }\n };\n\n @Watch('value')\n handleValueChange() {\n if (this.inputElement != null) {\n this.inputElement.value = this.value;\n }\n }\n\n componentDidLoad() {\n if (this.inputElement == null) return;\n\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'keydown', (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n if (keyboardEvent.key === 'Enter') {\n // emit immediately\n this.handleInputChange();\n }\n });\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n render() {\n return (\n <div class=\"search-box\">\n <six-input\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n value={this.value}\n disabled={this.disabled}\n clearable={this.clearable}\n >\n <six-icon class=\"search-box__icon\" slot=\"prefix\" size=\"small\" onClick={this.handleInputChange}>\n search\n </six-icon>\n </six-input>\n <slot />\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-search-field.js","sourceRoot":"","sources":["../../../src/components/six-search-field/six-search-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAM7D;;;;;GAKG;AAOH,MAAM,OAAO,cAAc;;IAqBjB,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAEtC,sBAAiB,GAAG,GAAG,EAAE;MAC/B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;OACjE;IACH,CAAC,CAAC;;oBAtBkC,qBAAqB;oBAGrB,KAAK;iBAGR,EAAE;qBAGf,KAAK;;EAgBzB,iBAAiB;IACf,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;MAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;KACtC;EACH,CAAC;EAED,gBAAgB;IACd,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;MAAE,OAAO;IAEtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/G,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE;MACrE,MAAM,aAAa,GAAG,KAAsB,CAAC;MAC7C,IAAI,aAAa,CAAC,GAAG,KAAK,OAAO,EAAE;QACjC,mBAAmB;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;OAC1B;IACH,CAAC,CAAC,CAAC;EACL,CAAC;EAED,oBAAoB;IAClB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;EAClC,CAAC;EAED,MAAM;IACJ,OAAO,CACL,WAAK,KAAK,EAAC,YAAY;MACrB,iBACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EACrC,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QAEzB,gBAAU,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,aAElF,CACD;MACZ,eAAQ,CACJ,CACP,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\n\nexport interface SixSearchFieldChangePayload {\n value: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the results below the search component.\n */\n\n@Component({\n tag: 'six-search-field',\n styleUrl: 'six-search-field.scss',\n shadow: true,\n})\nexport class SixSearchField {\n /** The input's placeholder text. */\n @Prop() placeholder?: string;\n\n /** Debounce time in milliseconds, default is 300 ms */\n @Prop({ reflect: true }) debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** Set to true to disable the input. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The input's value attribute. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Emitted when a search is triggered */\n @Event({ eventName: 'six-search-field-change' }) searchFieldChange!: EventEmitter<SixSearchFieldChangePayload>;\n\n private inputElement?: HTMLSixInputElement;\n\n private eventListeners = new EventListeners();\n\n private handleInputChange = () => {\n if (this.inputElement != null) {\n this.searchFieldChange.emit({ value: this.inputElement.value });\n }\n };\n\n @Watch('value')\n handleValueChange() {\n if (this.inputElement != null) {\n this.inputElement.value = this.value;\n }\n }\n\n componentDidLoad() {\n if (this.inputElement == null) return;\n\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'keydown', (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n if (keyboardEvent.key === 'Enter') {\n // emit immediately\n this.handleInputChange();\n }\n });\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n render() {\n return (\n <div class=\"search-box\">\n <six-input\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n value={this.value}\n disabled={this.disabled}\n clearable={this.clearable}\n >\n <six-icon class=\"search-box__icon\" slot=\"prefix\" size=\"small\" onClick={this.handleInputChange}>\n search\n </six-icon>\n </six-input>\n <slot />\n </div>\n );\n }\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ import { SixSearchField } from "../six-search-field";
3
+ describe('six-search-field', () => {
4
+ it('renders', async () => {
5
+ const page = await newSpecPage({
6
+ components: [SixSearchField],
7
+ html: `<six-search-field clearable></six-search-field>`,
8
+ });
9
+ expect(page.root).toEqualHtml(`
10
+ <six-search-field clearable="" debounce="300" value="" clearable>
11
+ <mock:shadow-root>
12
+ <div class="search-box">
13
+ <six-input clearable="" value="">
14
+ <six-icon class="search-box__icon" size="small" slot="prefix">search</six-icon></six-input>
15
+ <slot></slot>
16
+ </div>
17
+ </mock:shadow-root>
18
+ </six-search-field>
19
+ `);
20
+ });
21
+ });
22
+ //# sourceMappingURL=six-search-field.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"six-search-field.spec.js","sourceRoot":"","sources":["../../../../src/components/six-search-field/test/six-search-field.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;EAChC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,cAAc,CAAC;MAC5B,IAAI,EAAE,iDAAiD;KACxD,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;KAU7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixSearchField } from '../six-search-field';\n\ndescribe('six-search-field', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [SixSearchField],\n html: `<six-search-field clearable></six-search-field>`,\n });\n expect(page.root).toEqualHtml(`\n <six-search-field clearable=\"\" debounce=\"300\" value=\"\" clearable>\n <mock:shadow-root>\n <div class=\"search-box\">\n <six-input clearable=\"\" value=\"\">\n <six-icon class=\"search-box__icon\" size=\"small\" slot=\"prefix\">search</six-icon></six-input>\n <slot></slot>\n </div>\n </mock:shadow-root>\n </six-search-field>\n `);\n });\n});\n"]}
@@ -14,6 +14,7 @@
14
14
  }
15
15
  .form-control .form-control__error-text {
16
16
  display: none;
17
+ text-align: left;
17
18
  }
18
19
 
19
20
  .form-control--has-label .form-control__label {
@@ -56,7 +57,6 @@
56
57
 
57
58
  .form-control--has-error-text .form-control__error-text {
58
59
  display: block;
59
- color: var(--six-color-danger-800);
60
60
  margin-top: var(--six-spacing-xxx-small);
61
61
  }
62
62
  .form-control--has-error-text .form-control__error-text ::slotted(*) {
@@ -104,7 +104,6 @@
104
104
  background-color: var(--six-input-background-color);
105
105
  border: solid var(--six-border-width) var(--six-input-border-color);
106
106
  vertical-align: middle;
107
- overflow: hidden;
108
107
  transition: var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;
109
108
  cursor: pointer;
110
109
  }
@@ -169,13 +168,17 @@
169
168
  -ms-overflow-style: none;
170
169
  overflow-x: auto;
171
170
  overflow-y: hidden;
172
- white-space: nowrap;
171
+ text-overflow: ellipsis;
173
172
  }
174
173
  .select__label::-webkit-scrollbar {
175
174
  width: 0;
176
175
  height: 0;
177
176
  }
178
177
 
178
+ .select__label--single {
179
+ white-space: nowrap;
180
+ }
181
+
179
182
  .select__clear {
180
183
  flex-shrink: 0;
181
184
  flex-grow: 0;
@@ -202,7 +205,7 @@
202
205
  }
203
206
 
204
207
  .select__tags {
205
- display: inline-flex;
208
+ display: flex;
206
209
  align-items: center;
207
210
  flex-wrap: wrap;
208
211
  justify-content: left;
@@ -250,8 +253,6 @@
250
253
  }
251
254
  .select--small .select__tags six-tag {
252
255
  padding-top: 2px;
253
- }
254
- .select--small .select__tags six-tag:not(:last-of-type) {
255
256
  margin-right: var(--six-spacing-xx-small);
256
257
  }
257
258
  .select--small.select--has-tags .select__label {
@@ -281,8 +282,6 @@
281
282
  }
282
283
  .select--medium .select__tags six-tag {
283
284
  padding-top: 3px;
284
- }
285
- .select--medium .select__tags six-tag:not(:last-of-type) {
286
285
  margin-right: var(--six-spacing-xx-small);
287
286
  }
288
287
  .select--medium.select--has-tags .select__label {
@@ -312,8 +311,6 @@
312
311
  }
313
312
  .select--large .select__tags six-tag {
314
313
  padding-top: 4px;
315
- }
316
- .select--large .select__tags six-tag:not(:last-of-type) {
317
314
  margin-right: var(--six-spacing-xx-small);
318
315
  }
319
316
  .select--large.select--has-tags .select__label {
@@ -1,9 +1,9 @@
1
- import { h } from '@stencil/core';
2
- import { getTextContent, hasSlot } from '../../utils/slot';
3
- import FormControl from '../../functional-components/form-control/form-control';
4
- import { EventListeners } from '../../utils/event-listeners';
5
- import { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';
6
- import { isValueEmpty } from './util';
1
+ import { h } from "@stencil/core";
2
+ import { getTextContent, hasSlot } from "../../utils/slot";
3
+ import FormControl from "../../functional-components/form-control/form-control";
4
+ import { EventListeners } from "../../utils/event-listeners";
5
+ import { debounce, DEFAULT_DEBOUNCE_FAST } from "../../utils/execution-control";
6
+ import { isValueEmpty } from "./util";
7
7
  let id = 0;
8
8
  /**
9
9
  * @since 1.0
@@ -45,6 +45,7 @@ export class SixSelect {
45
45
  this.handleClearClick = (event) => {
46
46
  event.stopPropagation();
47
47
  this.clearValues();
48
+ this.sixChange.emit({ value: this.value, isSelected: true });
48
49
  };
49
50
  this.handleSelectAll = (event) => {
50
51
  const nonFilteredItems = this.getItems().filter((item) => item.style.display !== 'none');
@@ -61,6 +62,7 @@ export class SixSelect {
61
62
  .forEach((option) => (option.checked = hasDeselectedOptions));
62
63
  const checkedItems = nonFilteredItems.filter((option) => option.checked).map((option) => option.value);
63
64
  this.value = hasDeselectedOptions ? checkedItems : [];
65
+ this.sixChange.emit({ value: this.value, isSelected: true });
64
66
  }
65
67
  };
66
68
  this.handleKeyDown = (event) => {
@@ -123,6 +125,7 @@ export class SixSelect {
123
125
  };
124
126
  this.value = getValue();
125
127
  this.syncItemsFromValue();
128
+ this.sixChange.emit({ value: this.value, isSelected: true });
126
129
  };
127
130
  this.handleMenuShow = (event) => {
128
131
  var _a;
@@ -142,6 +145,7 @@ export class SixSelect {
142
145
  this.handleSlotChange = () => {
143
146
  this.hasHelpTextSlot = hasSlot(this.host, 'help-text');
144
147
  this.hasLabelSlot = hasSlot(this.host, 'label');
148
+ this.hasErrorTextSlot = hasSlot(this.host, 'error-text');
145
149
  this.syncItemsFromValue();
146
150
  };
147
151
  this.handleTagInteraction = (event) => {
@@ -155,11 +159,13 @@ export class SixSelect {
155
159
  });
156
160
  if (clearButton) {
157
161
  event.stopPropagation();
162
+ this.sixChange.emit({ value: this.value, isSelected: true });
158
163
  }
159
164
  };
160
165
  this.hasFocus = false;
161
166
  this.hasHelpTextSlot = false;
162
167
  this.hasLabelSlot = false;
168
+ this.hasErrorTextSlot = false;
163
169
  this.isOpen = false;
164
170
  this.displayLabel = '';
165
171
  this.displayTags = [];
@@ -179,6 +185,7 @@ export class SixSelect {
179
185
  this.clearable = false;
180
186
  this.label = '';
181
187
  this.errorText = '';
188
+ this.errorTextCount = undefined;
182
189
  this.invalid = false;
183
190
  this.line = false;
184
191
  this.filter = false;
@@ -211,9 +218,6 @@ export class SixSelect {
211
218
  this.value = '';
212
219
  }
213
220
  await this.syncItemsFromValue();
214
- if (this.input) {
215
- this.sixChange.emit({ value: this.value, isSelected: true });
216
- }
217
221
  }
218
222
  connectedCallback() {
219
223
  var _a;
@@ -278,7 +282,7 @@ export class SixSelect {
278
282
  return this.getItems().length > 0;
279
283
  }
280
284
  getValueAsArray() {
281
- const values = Array.isArray(this.value) ? this.value : [this.value];
285
+ const values = Array.isArray(this.value) ? this.value : this.value === '' ? [] : [this.value];
282
286
  // enforce that the values are converted to 'string' before the value is compared
283
287
  return values.map(String);
284
288
  }
@@ -354,7 +358,7 @@ export class SixSelect {
354
358
  render() {
355
359
  var _a;
356
360
  const hasSelection = this.hasSelection();
357
- return (h(FormControl, { inputId: this.inputId, label: this.label, labelId: this.labelId, hasLabelSlot: this.hasLabelSlot, helpTextId: this.helpTextId, helpText: this.helpText, hasHelpTextSlot: this.hasHelpTextSlot, errorTextId: this.errorTextId, errorText: this.errorText, size: this.size, onLabelClick: this.handleLabelClick, disabled: this.disabled, required: this.required, displayError: this.invalid }, h("six-dropdown", { part: "base", ref: (el) => (this.dropdown = el), hoist: this.hoist, closeOnSelect: !this.multiple, containingElement: this.host, disableHideOnEnterAndSpace: this.autocomplete, class: {
361
+ return (h(FormControl, { inputId: this.inputId, label: this.label, labelId: this.labelId, hasLabelSlot: this.hasLabelSlot, helpTextId: this.helpTextId, helpText: this.helpText, hasHelpTextSlot: this.hasHelpTextSlot, errorTextId: this.errorTextId, errorText: this.errorText, errorTextCount: this.errorTextCount, hasErrorTextSlot: this.hasErrorTextSlot, size: this.size, onLabelClick: this.handleLabelClick, disabled: this.disabled, required: this.required, displayError: this.invalid }, h("six-dropdown", { part: "base", ref: (el) => (this.dropdown = el), hoist: this.hoist, closeOnSelect: !this.multiple, containingElement: this.host, disableHideOnEnterAndSpace: this.autocomplete, class: {
358
362
  select: true,
359
363
  'select--open': this.isOpen,
360
364
  'select--empty': ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) === 0,
@@ -373,7 +377,7 @@ export class SixSelect {
373
377
  select__box: true,
374
378
  'select__box--line': this.line,
375
379
  'select__box--autocomplete': this.autocomplete,
376
- }, role: "combobox", "aria-labelledby": this.labelId, "aria-describedby": this.helpTextId, "aria-haspopup": "true", "aria-expanded": this.isOpen ? 'true' : 'false', tabIndex: this.disabled ? -1 : 0, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown }, h("span", { class: "select__label" }, this.displayTags.length > 0 ? (h("span", { part: "tags", class: "select__tags" }, this.displayTags)) : (this.displayLabel || this.placeholder)), this.clearable && hasSelection && (h("six-icon-button", { exportparts: "base:clear-button", class: "select__clear", name: "clear", size: "small", onClick: this.handleClearClick, tabindex: "-1" })), this.hasMenuItems() && (h("span", { part: "icon", class: "select__icon" }, h("six-icon", { size: "medium" }, "expand_more"))), h("six-input", { ref: (el) => (this.input = el), class: {
380
+ }, role: "combobox", "aria-labelledby": this.labelId, "aria-describedby": this.helpTextId, "aria-haspopup": "true", "aria-expanded": this.isOpen ? 'true' : 'false', tabIndex: this.disabled ? -1 : 0, onBlur: this.handleBlur, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown }, h("span", { class: { select__label: true, 'select__label--single': !this.displayTags.length } }, this.displayTags.length > 0 ? (h("span", { part: "tags", class: "select__tags" }, this.displayTags)) : (this.displayLabel || this.placeholder)), this.clearable && hasSelection && (h("six-icon-button", { exportparts: "base:clear-button", class: "select__clear", name: "clear", size: "small", onClick: this.handleClearClick, tabindex: "-1" })), this.hasMenuItems() && (h("span", { part: "icon", class: "select__icon" }, h("six-icon", { size: "medium" }, "expand_more"))), h("six-input", { ref: (el) => (this.input = el), class: {
377
381
  select__input: true,
378
382
  'select__hidden-select': !this.autocomplete,
379
383
  }, "aria-hidden": "true", required: this.required, onFocus: this.handleFocus, clearable: this.clearable, placeholder: this.placeholder, pill: this.pill, disabled: this.disabled, size: this.size, tabIndex: -1 })), h("six-menu", { ref: (el) => (this.menu = el), part: "menu", class: {
@@ -672,8 +676,8 @@ export class SixSelect {
672
676
  "type": "string",
673
677
  "mutable": false,
674
678
  "complexType": {
675
- "original": "string",
676
- "resolved": "string",
679
+ "original": "string | string[]",
680
+ "resolved": "string | string[]",
677
681
  "references": {}
678
682
  },
679
683
  "required": false,
@@ -686,6 +690,23 @@ export class SixSelect {
686
690
  "reflect": false,
687
691
  "defaultValue": "''"
688
692
  },
693
+ "errorTextCount": {
694
+ "type": "number",
695
+ "mutable": false,
696
+ "complexType": {
697
+ "original": "number",
698
+ "resolved": "number | undefined",
699
+ "references": {}
700
+ },
701
+ "required": false,
702
+ "optional": true,
703
+ "docs": {
704
+ "tags": [],
705
+ "text": "The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1"
706
+ },
707
+ "attribute": "error-text-count",
708
+ "reflect": false
709
+ },
689
710
  "invalid": {
690
711
  "type": "boolean",
691
712
  "mutable": false,
@@ -803,7 +824,8 @@ export class SixSelect {
803
824
  "references": {
804
825
  "SixMenuItemData": {
805
826
  "location": "import",
806
- "path": "../six-menu/six-menu"
827
+ "path": "../six-menu/six-menu",
828
+ "id": "src/components/six-menu/six-menu.tsx::SixMenuItemData"
807
829
  }
808
830
  }
809
831
  },
@@ -840,6 +862,7 @@ export class SixSelect {
840
862
  "hasFocus": {},
841
863
  "hasHelpTextSlot": {},
842
864
  "hasLabelSlot": {},
865
+ "hasErrorTextSlot": {},
843
866
  "isOpen": {},
844
867
  "displayLabel": {},
845
868
  "displayTags": {}
@@ -862,7 +885,8 @@ export class SixSelect {
862
885
  "references": {
863
886
  "SixSelectChangePayload": {
864
887
  "location": "local",
865
- "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-select/six-select.tsx"
888
+ "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-select/six-select.tsx",
889
+ "id": "src/components/six-select/six-select.tsx::SixSelectChangePayload"
866
890
  }
867
891
  }
868
892
  }
@@ -882,7 +906,8 @@ export class SixSelect {
882
906
  "references": {
883
907
  "EmptyPayload": {
884
908
  "location": "import",
885
- "path": "../../utils/types"
909
+ "path": "../../utils/types",
910
+ "id": "src/utils/types.ts::EmptyPayload"
886
911
  }
887
912
  }
888
913
  }
@@ -902,7 +927,8 @@ export class SixSelect {
902
927
  "references": {
903
928
  "EmptyPayload": {
904
929
  "location": "import",
905
- "path": "../../utils/types"
930
+ "path": "../../utils/types",
931
+ "id": "src/utils/types.ts::EmptyPayload"
906
932
  }
907
933
  }
908
934
  }
@@ -919,10 +945,12 @@ export class SixSelect {
919
945
  }],
920
946
  "references": {
921
947
  "Promise": {
922
- "location": "global"
948
+ "location": "global",
949
+ "id": "global::Promise"
923
950
  },
924
951
  "FocusOptions": {
925
- "location": "global"
952
+ "location": "global",
953
+ "id": "global::FocusOptions"
926
954
  }
927
955
  },
928
956
  "return": "Promise<void>"
@@ -1 +1 @@
1
- {"version":3,"file":"six-select.js","sourceRoot":"","sources":["../../../src/components/six-select/six-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getTextContent, hasSlot } from '../../utils/slot';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { SixMenuItemData } from '../six-menu/six-menu';\nimport { 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 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 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 };\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 }\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.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 }\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"]}
1
+ {"version":3,"file":"six-select.js","sourceRoot":"","sources":["../../../src/components/six-select/six-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getTextContent, hasSlot } from '../../utils/slot';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { SixMenuItemData } from '../six-menu/six-menu';\nimport { 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() hasErrorTextSlot = 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: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** Set to render as line */\n @Prop() line = false;\n\n /** Set to true to allow filtering for entries in the dropdown */\n @Prop() filter = false;\n\n /**\n * Set to true to allow async filtering.\n * When you enter something in the search field the component will only emit an event but not filter any elements itself.\n * You can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself\n */\n @Prop() asyncFilter = false;\n\n /**\n * Set to true to turn the six-select into an autocomplete.\n */\n @Prop() autocomplete = false;\n\n /** The debounce for when the input changes for autocompletes should be emitted */\n @Prop() inputDebounce = DEFAULT_DEBOUNCE_FAST;\n\n /** Set the options to be shown in the dropdown (alternative to setting the elements via html) */\n @Prop() options: SixMenuItemData[] | null = null;\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n @Watch('disabled')\n handleDisabledChange() {\n if (this.disabled && this.isOpen) {\n this.dropdown?.hide();\n }\n }\n\n @Watch('helpText')\n @Watch('errorText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n @Watch('multiple')\n handleMultipleChange() {\n // Cast to array | string based on `this.multiple`\n const value = this.getValueAsArray();\n this.value = this.multiple ? value : value[0] || '';\n this.syncItemsFromValue();\n }\n\n @Watch('value')\n async handleValueChange() {\n if (this.multiple && !Array.isArray(this.value)) {\n this.value = [];\n }\n\n if (!this.multiple && typeof this.value !== 'string') {\n this.value = '';\n }\n\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 === '' ? [] : [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.hasErrorTextSlot = hasSlot(this.host, 'error-text');\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 errorTextCount={this.errorTextCount}\n hasErrorTextSlot={this.hasErrorTextSlot}\n size={this.size}\n onLabelClick={this.handleLabelClick}\n disabled={this.disabled}\n required={this.required}\n displayError={this.invalid}\n >\n <six-dropdown\n part=\"base\"\n ref={(el) => (this.dropdown = el)}\n hoist={this.hoist}\n 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: true, 'select__label--single': !this.displayTags.length }}>\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"]}