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

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 (1010) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/event-listeners-fdfe838c.js +61 -0
  3. package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
  4. package/dist/cjs/{execution-control-46f388e0.js → execution-control-b4707294.js} +6 -3
  5. package/dist/cjs/execution-control-b4707294.js.map +1 -0
  6. package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-ae2470dd.js} +3 -3
  7. package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
  8. package/dist/cjs/form-2df8c5bb.js +20 -0
  9. package/dist/cjs/form-2df8c5bb.js.map +1 -0
  10. package/dist/cjs/form-control-9769b310.js +36 -0
  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 +94 -0
  15. package/dist/cjs/index.cjs.js.map +1 -1
  16. package/dist/cjs/loader.cjs.js +3 -12
  17. package/dist/cjs/loader.cjs.js.map +1 -1
  18. package/dist/cjs/{modal-48d42228.js → modal-d5f074c7.js} +4 -3
  19. package/dist/cjs/modal-d5f074c7.js.map +1 -0
  20. package/dist/cjs/{popover-f743f62b.js → popover-2df7e154.js} +39 -31
  21. package/dist/cjs/popover-2df7e154.js.map +1 -0
  22. package/dist/cjs/popup-f1d9910f.js +103 -0
  23. package/dist/cjs/popup-f1d9910f.js.map +1 -0
  24. package/dist/cjs/{scroll-76e6f5d7.js → scroll-2c4200dc.js} +1 -2
  25. package/dist/{esm/scroll-180b53fd.js.map → cjs/scroll-2c4200dc.js.map} +1 -1
  26. package/dist/cjs/set-attributes_2.cjs.entry.js +4 -2
  27. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-alert.cjs.entry.js +18 -23
  29. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-avatar.cjs.entry.js +5 -8
  31. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-badge.cjs.entry.js +2 -2
  33. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-button.cjs.entry.js +37 -35
  35. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js +1 -1
  37. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-checkbox.cjs.entry.js +54 -86
  39. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-datepicker.cjs.entry.js +149 -280
  41. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-details.cjs.entry.js +49 -48
  43. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-dialog.cjs.entry.js +37 -41
  45. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-drawer.cjs.entry.js +34 -38
  47. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js +216 -197
  49. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-error-page.cjs.entry.js +20 -22
  51. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-error.cjs.entry.js +21 -0
  53. package/dist/cjs/six-error.cjs.entry.js.map +1 -0
  54. package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
  55. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  57. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-file-upload.cjs.entry.js +21 -21
  59. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  61. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-group-label.cjs.entry.js +13 -12
  63. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-header.cjs.entry.js +66 -44
  65. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-icon-button.cjs.entry.js +5 -5
  67. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  69. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-input.cjs.entry.js +36 -94
  71. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-item-picker.cjs.entry.js +62 -81
  73. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  75. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-layout-grid.cjs.entry.js +5 -3
  77. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  79. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  81. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-menu-item.cjs.entry.js +9 -7
  83. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  85. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-picto.cjs.entry.js +5 -2
  87. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  89. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -4
  91. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-radio.cjs.entry.js +63 -72
  93. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-range.cjs.entry.js +111 -107
  95. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-root.cjs.entry.js +2 -2
  97. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-search-field.cjs.entry.js +11 -6
  99. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-select.cjs.entry.js +193 -223
  101. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +12 -7
  103. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  105. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-sidebar.cjs.entry.js +41 -20
  107. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  109. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  110. package/dist/cjs/six-switch.cjs.entry.js +77 -65
  111. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  112. package/dist/cjs/six-tab-group.cjs.entry.js +136 -123
  113. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  114. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  115. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  116. package/dist/cjs/six-tab.cjs.entry.js +24 -6
  117. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  118. package/dist/cjs/six-tag.cjs.entry.js +26 -7
  119. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  120. package/dist/cjs/six-textarea.cjs.entry.js +86 -109
  121. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  122. package/dist/cjs/six-tile.cjs.entry.js +14 -17
  123. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  124. package/dist/cjs/six-timepicker.cjs.entry.js +154 -215
  125. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  126. package/dist/cjs/six-tooltip.cjs.entry.js +56 -59
  127. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  128. package/dist/cjs/{slot-ad537f24.js → slot-6e6a400f.js} +11 -10
  129. package/dist/cjs/slot-6e6a400f.js.map +1 -0
  130. package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
  131. package/dist/cjs/types-47199040.js.map +1 -0
  132. package/dist/cjs/ui-library.cjs.js +3 -6
  133. package/dist/cjs/ui-library.cjs.js.map +1 -1
  134. package/dist/collection/collection-manifest.json +55 -55
  135. package/dist/collection/components/six-alert/six-alert.js +32 -30
  136. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  137. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  138. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  139. package/dist/collection/components/six-avatar/six-avatar.js +5 -8
  140. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  141. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  142. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  143. package/dist/collection/components/six-badge/six-badge.js +2 -2
  144. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  145. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  146. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  147. package/dist/collection/components/six-button/six-button.css +5 -30
  148. package/dist/collection/components/six-button/six-button.js +56 -47
  149. package/dist/collection/components/six-button/six-button.js.map +1 -1
  150. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  151. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  152. package/dist/collection/components/six-card/six-card.js +1 -1
  153. package/dist/collection/components/six-card/six-card.js.map +1 -1
  154. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  155. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  156. package/dist/collection/components/six-checkbox/six-checkbox.css +1 -1
  157. package/dist/collection/components/six-checkbox/six-checkbox.js +97 -189
  158. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  159. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +83 -0
  160. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  161. package/dist/collection/components/six-datepicker/components/day-selection.js +3 -3
  162. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  163. package/dist/collection/components/six-datepicker/components/month-selection.js +6 -5
  164. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  165. package/dist/collection/components/six-datepicker/components/year-selection.js +11 -8
  166. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  167. package/dist/collection/components/six-datepicker/six-datepicker.js +223 -388
  168. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  169. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  170. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  171. package/dist/collection/components/six-details/six-details.css +3 -1
  172. package/dist/collection/components/six-details/six-details.js +65 -58
  173. package/dist/collection/components/six-details/six-details.js.map +1 -1
  174. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  175. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  176. package/dist/collection/components/six-dialog/six-dialog.js +55 -51
  177. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  178. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  179. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  180. package/dist/collection/components/six-drawer/six-drawer.js +52 -48
  181. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  182. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  183. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  184. package/dist/collection/components/six-dropdown/six-dropdown.css +2 -1
  185. package/dist/collection/components/six-dropdown/six-dropdown.js +215 -191
  186. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  187. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  188. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  189. package/dist/collection/components/six-error/six-error.css +5 -0
  190. package/dist/collection/components/six-error/six-error.js +25 -0
  191. package/dist/collection/components/six-error/six-error.js.map +1 -0
  192. package/dist/collection/components/six-error-page/six-error-page.js +26 -28
  193. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  194. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  195. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  196. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  197. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  198. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  199. package/dist/collection/components/six-file-list-item/six-file-list-item.js +8 -6
  200. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  201. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  202. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  203. package/dist/collection/components/six-file-upload/six-file-upload.js +37 -35
  204. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  205. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  206. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  207. package/dist/collection/components/six-footer/six-footer.js +1 -1
  208. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  209. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  210. package/dist/collection/components/six-group-label/six-group-label.css +1 -1
  211. package/dist/collection/components/six-group-label/six-group-label.js +15 -13
  212. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  213. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +45 -0
  214. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  215. package/dist/collection/components/six-header/six-header.js +82 -52
  216. package/dist/collection/components/six-header/six-header.js.map +1 -1
  217. package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
  218. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  219. package/dist/collection/components/six-icon/six-icon.js +1 -1
  220. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  221. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  222. package/dist/collection/components/six-icon-button/six-icon-button.css +4 -4
  223. package/dist/collection/components/six-icon-button/six-icon-button.js +10 -10
  224. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  225. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  226. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  227. package/dist/collection/components/six-input/six-input.css +2 -2
  228. package/dist/collection/components/six-input/six-input.js +130 -295
  229. package/dist/collection/components/six-input/six-input.js.map +1 -1
  230. package/dist/collection/components/six-input/test/six-input.spec.js +39 -0
  231. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  232. package/dist/collection/components/six-item-picker/six-item-picker.js +79 -94
  233. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  234. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  235. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  236. package/dist/collection/components/six-language-switcher/six-language-switcher.js +7 -5
  237. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  238. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  239. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  240. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  241. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  242. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  243. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  244. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  245. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  246. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  247. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  248. package/dist/collection/components/six-menu/six-menu.js +41 -31
  249. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  250. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  251. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  252. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  253. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  254. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  255. package/dist/collection/components/six-menu-item/six-menu-item.js +17 -11
  256. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  257. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  258. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  259. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  260. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  261. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  262. package/dist/collection/components/six-picto/six-picto.js +5 -2
  263. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  264. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  265. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  266. package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
  267. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  268. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  269. package/dist/collection/components/six-progress-ring/six-progress-ring.js +6 -5
  270. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  271. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  272. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  273. package/dist/collection/components/six-radio/six-radio.js +82 -148
  274. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  275. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  276. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  277. package/dist/collection/components/six-range/six-range.css +1 -1
  278. package/dist/collection/components/six-range/six-range.js +168 -188
  279. package/dist/collection/components/six-range/six-range.js.map +1 -1
  280. package/dist/collection/components/six-range/test/six-range.spec.js +34 -0
  281. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  282. package/dist/collection/components/six-root/six-root.js +9 -7
  283. package/dist/collection/components/six-root/six-root.js.map +1 -1
  284. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  285. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  286. package/dist/collection/components/six-search-field/six-search-field.js +15 -9
  287. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  288. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  289. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  290. package/dist/collection/components/six-select/six-select.css +7 -10
  291. package/dist/collection/components/six-select/six-select.js +254 -347
  292. package/dist/collection/components/six-select/six-select.js.map +1 -1
  293. package/dist/collection/components/six-select/test/six-select.spec.js +86 -0
  294. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  295. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  296. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  297. package/dist/collection/components/six-select/util.js +52 -0
  298. package/dist/collection/components/six-select/util.js.map +1 -0
  299. package/dist/collection/components/six-sidebar/six-sidebar.js +66 -33
  300. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  301. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  302. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  303. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
  304. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  305. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  306. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +4 -0
  307. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +15 -10
  308. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  309. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  310. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  311. package/dist/collection/components/six-spinner/six-spinner.js +1 -1
  312. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  313. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  314. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  315. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +4 -3
  316. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  317. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  318. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  319. package/dist/collection/components/six-switch/six-switch.css +77 -0
  320. package/dist/collection/components/six-switch/six-switch.js +150 -140
  321. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  322. package/dist/collection/components/six-switch/test/six-switch.spec.js +73 -0
  323. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  324. package/dist/collection/components/six-tab/six-tab.css +54 -5
  325. package/dist/collection/components/six-tab/six-tab.js +31 -9
  326. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  327. package/dist/collection/components/six-tab-group/six-tab-group.css +0 -31
  328. package/dist/collection/components/six-tab-group/six-tab-group.js +109 -129
  329. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  330. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  331. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  332. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  333. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  334. package/dist/collection/components/six-tag/six-tag.css +6 -0
  335. package/dist/collection/components/six-tag/six-tag.js +27 -7
  336. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  337. package/dist/collection/components/six-tag/test/six-tag.spec.js +54 -0
  338. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  339. package/dist/collection/components/six-textarea/six-textarea.css +1 -1
  340. package/dist/collection/components/six-textarea/six-textarea.js +189 -283
  341. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  342. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +119 -0
  343. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  344. package/dist/collection/components/six-tile/six-tile.js +26 -25
  345. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  346. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  347. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  348. package/dist/collection/components/six-timepicker/six-timepicker.js +180 -263
  349. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  350. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  351. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  352. package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
  353. package/dist/collection/components/six-tooltip/six-tooltip.js +70 -67
  354. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  355. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  356. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  357. package/dist/collection/functional-components/form-control/form-control.js +11 -10
  358. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  359. package/dist/collection/index.js +1 -1
  360. package/dist/collection/index.js.map +1 -1
  361. package/dist/collection/testUtil/delay.js.map +1 -1
  362. package/dist/collection/utils/animation.js +34 -0
  363. package/dist/collection/utils/animation.js.map +1 -0
  364. package/dist/collection/utils/date-util.js +25 -16
  365. package/dist/collection/utils/date-util.js.map +1 -1
  366. package/dist/collection/utils/date-util.spec.js +995 -0
  367. package/dist/collection/utils/date-util.spec.js.map +1 -0
  368. package/dist/collection/utils/error-messages.js +91 -0
  369. package/dist/collection/utils/error-messages.js.map +1 -0
  370. package/dist/collection/utils/event-listeners.js +22 -6
  371. package/dist/collection/utils/event-listeners.js.map +1 -1
  372. package/dist/collection/utils/execution-control.js +5 -4
  373. package/dist/collection/utils/execution-control.js.map +1 -1
  374. package/dist/collection/utils/focus-visible.js +2 -2
  375. package/dist/collection/utils/focus-visible.js.map +1 -1
  376. package/dist/collection/utils/form.js +15 -0
  377. package/dist/collection/utils/form.js.map +1 -0
  378. package/dist/collection/utils/modal.js +3 -2
  379. package/dist/collection/utils/modal.js.map +1 -1
  380. package/dist/collection/utils/popover.js +33 -19
  381. package/dist/collection/utils/popover.js.map +1 -1
  382. package/dist/collection/utils/popup.js +95 -0
  383. package/dist/collection/utils/popup.js.map +1 -0
  384. package/dist/collection/utils/scroll.js +1 -1
  385. package/dist/collection/utils/scroll.spec.js +122 -0
  386. package/dist/collection/utils/scroll.spec.js.map +1 -0
  387. package/dist/collection/utils/slot.js +9 -24
  388. package/dist/collection/utils/slot.js.map +1 -1
  389. package/dist/collection/utils/tabbable.js +6 -6
  390. package/dist/collection/utils/tabbable.js.map +1 -1
  391. package/dist/collection/utils/time.util.js +48 -34
  392. package/dist/collection/utils/time.util.js.map +1 -1
  393. package/dist/collection/utils/time.util.spec.js +368 -0
  394. package/dist/collection/utils/time.util.spec.js.map +1 -0
  395. package/dist/collection/utils/type-check.js +0 -1
  396. package/dist/collection/utils/type-check.js.map +1 -1
  397. package/dist/collection/wrappers/set-attributes/set-attributes.js +4 -2
  398. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  399. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  400. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  401. package/dist/components/event-listeners.js +22 -6
  402. package/dist/components/event-listeners.js.map +1 -1
  403. package/dist/components/execution-control.js +5 -2
  404. package/dist/components/execution-control.js.map +1 -1
  405. package/dist/components/focus-visible.js +2 -2
  406. package/dist/components/focus-visible.js.map +1 -1
  407. package/dist/components/form-control.js +11 -9
  408. package/dist/components/form-control.js.map +1 -1
  409. package/dist/components/form.js +18 -0
  410. package/dist/components/form.js.map +1 -0
  411. package/dist/components/index.js +94 -3
  412. package/dist/components/index.js.map +1 -1
  413. package/dist/components/modal.js +3 -2
  414. package/dist/components/modal.js.map +1 -1
  415. package/dist/components/popover.js +38 -30
  416. package/dist/components/popover.js.map +1 -1
  417. package/dist/components/scroll.js +1 -1
  418. package/dist/components/scroll.js.map +1 -1
  419. package/dist/components/set-attributes2.js +3 -1
  420. package/dist/components/set-attributes2.js.map +1 -1
  421. package/dist/components/six-alert.js +17 -22
  422. package/dist/components/six-alert.js.map +1 -1
  423. package/dist/components/six-avatar.js +4 -7
  424. package/dist/components/six-avatar.js.map +1 -1
  425. package/dist/components/six-badge.js +1 -1
  426. package/dist/components/six-badge.js.map +1 -1
  427. package/dist/components/six-button.js +35 -33
  428. package/dist/components/six-button.js.map +1 -1
  429. package/dist/components/six-card.js.map +1 -1
  430. package/dist/components/six-checkbox.js +61 -91
  431. package/dist/components/six-checkbox.js.map +1 -1
  432. package/dist/components/six-datepicker.js +156 -283
  433. package/dist/components/six-datepicker.js.map +1 -1
  434. package/dist/components/six-details2.js +47 -46
  435. package/dist/components/six-details2.js.map +1 -1
  436. package/dist/components/six-dialog.js +33 -37
  437. package/dist/components/six-dialog.js.map +1 -1
  438. package/dist/components/six-drawer.js +30 -34
  439. package/dist/components/six-drawer.js.map +1 -1
  440. package/dist/components/six-dropdown2.js +193 -175
  441. package/dist/components/six-dropdown2.js.map +1 -1
  442. package/dist/components/six-error-page.js +19 -21
  443. package/dist/components/six-error-page.js.map +1 -1
  444. package/dist/components/{six-form.d.ts → six-error.d.ts} +4 -4
  445. package/dist/components/six-error.js +8 -0
  446. package/dist/components/six-error.js.map +1 -0
  447. package/dist/components/six-error2.js +32 -0
  448. package/dist/components/six-error2.js.map +1 -0
  449. package/dist/components/six-file-list-item.js +1 -1
  450. package/dist/components/six-file-list-item.js.map +1 -1
  451. package/dist/components/six-file-list.js.map +1 -1
  452. package/dist/components/six-file-upload.js +20 -20
  453. package/dist/components/six-file-upload.js.map +1 -1
  454. package/dist/components/six-footer.js.map +1 -1
  455. package/dist/components/six-group-label.js +18 -11
  456. package/dist/components/six-group-label.js.map +1 -1
  457. package/dist/components/six-header.js +72 -44
  458. package/dist/components/six-header.js.map +1 -1
  459. package/dist/components/six-icon-button2.js +3 -3
  460. package/dist/components/six-icon-button2.js.map +1 -1
  461. package/dist/components/six-icon2.js.map +1 -1
  462. package/dist/components/six-input2.js +46 -105
  463. package/dist/components/six-input2.js.map +1 -1
  464. package/dist/components/six-item-picker2.js +58 -77
  465. package/dist/components/six-item-picker2.js.map +1 -1
  466. package/dist/components/six-language-switcher.js +1 -1
  467. package/dist/components/six-language-switcher.js.map +1 -1
  468. package/dist/components/six-layout-grid.js +5 -3
  469. package/dist/components/six-layout-grid.js.map +1 -1
  470. package/dist/components/six-main-container.js.map +1 -1
  471. package/dist/components/six-menu-divider.js.map +1 -1
  472. package/dist/components/six-menu-item2.js +7 -5
  473. package/dist/components/six-menu-item2.js.map +1 -1
  474. package/dist/components/six-menu-label.js.map +1 -1
  475. package/dist/components/six-menu2.js +25 -18
  476. package/dist/components/six-menu2.js.map +1 -1
  477. package/dist/components/six-picto2.js +4 -1
  478. package/dist/components/six-picto2.js.map +1 -1
  479. package/dist/components/six-progress-bar.js.map +1 -1
  480. package/dist/components/six-progress-ring.js +3 -3
  481. package/dist/components/six-progress-ring.js.map +1 -1
  482. package/dist/components/six-radio.js +65 -78
  483. package/dist/components/six-radio.js.map +1 -1
  484. package/dist/components/six-range.js +121 -113
  485. package/dist/components/six-range.js.map +1 -1
  486. package/dist/components/six-root.js +1 -1
  487. package/dist/components/six-root.js.map +1 -1
  488. package/dist/components/six-search-field.js +15 -4
  489. package/dist/components/six-search-field.js.map +1 -1
  490. package/dist/components/six-select.js +221 -243
  491. package/dist/components/six-select.js.map +1 -1
  492. package/dist/components/six-sidebar-item-group.js +10 -5
  493. package/dist/components/six-sidebar-item-group.js.map +1 -1
  494. package/dist/components/six-sidebar-item.js.map +1 -1
  495. package/dist/components/six-sidebar.js +39 -18
  496. package/dist/components/six-sidebar.js.map +1 -1
  497. package/dist/components/six-spinner2.js.map +1 -1
  498. package/dist/components/six-stage-indicator2.js.map +1 -1
  499. package/dist/components/six-switch.js +89 -71
  500. package/dist/components/six-switch.js.map +1 -1
  501. package/dist/components/six-tab-group.js +135 -122
  502. package/dist/components/six-tab-group.js.map +1 -1
  503. package/dist/components/six-tab-panel.js +1 -1
  504. package/dist/components/six-tab-panel.js.map +1 -1
  505. package/dist/components/six-tab.js +23 -5
  506. package/dist/components/six-tab.js.map +1 -1
  507. package/dist/components/six-tag2.js +35 -10
  508. package/dist/components/six-tag2.js.map +1 -1
  509. package/dist/components/six-textarea.js +96 -117
  510. package/dist/components/six-textarea.js.map +1 -1
  511. package/dist/components/six-tile.js +14 -17
  512. package/dist/components/six-tile.js.map +1 -1
  513. package/dist/components/six-timepicker.js +1 -1
  514. package/dist/components/six-timepicker2.js +250 -259
  515. package/dist/components/six-timepicker2.js.map +1 -1
  516. package/dist/components/six-tooltip2.js +54 -57
  517. package/dist/components/six-tooltip2.js.map +1 -1
  518. package/dist/components/slot.js +10 -9
  519. package/dist/components/slot.js.map +1 -1
  520. package/dist/components.d.ts +361 -88
  521. package/dist/components.json +4557 -944
  522. package/dist/esm/event-listeners-f6e5b0ab.js +59 -0
  523. package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
  524. package/dist/esm/{execution-control-1a60d709.js → execution-control-e0892a05.js} +6 -3
  525. package/dist/esm/execution-control-e0892a05.js.map +1 -0
  526. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fc6ac671.js} +3 -3
  527. package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
  528. package/dist/esm/form-81252534.js +18 -0
  529. package/dist/esm/form-81252534.js.map +1 -0
  530. package/dist/esm/form-control-b0febe88.js +34 -0
  531. package/dist/esm/form-control-b0febe88.js.map +1 -0
  532. package/dist/esm/{index-5c0f6628.js → index-8a74f992.js} +400 -54
  533. package/dist/esm/index-8a74f992.js.map +1 -0
  534. package/dist/esm/index.js +91 -0
  535. package/dist/esm/index.js.map +1 -1
  536. package/dist/esm/loader.js +4 -13
  537. package/dist/esm/loader.js.map +1 -1
  538. package/dist/esm/{modal-5ebdc320.js → modal-7d32e141.js} +4 -3
  539. package/dist/esm/modal-7d32e141.js.map +1 -0
  540. package/dist/esm/{popover-bd2c2fca.js → popover-136d1f73.js} +39 -31
  541. package/dist/esm/popover-136d1f73.js.map +1 -0
  542. package/dist/esm/popup-7f89a001.js +98 -0
  543. package/dist/esm/popup-7f89a001.js.map +1 -0
  544. package/dist/esm/{scroll-180b53fd.js → scroll-774762d6.js} +2 -2
  545. package/dist/esm/scroll-774762d6.js.map +1 -0
  546. package/dist/esm/set-attributes_2.entry.js +4 -2
  547. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  548. package/dist/esm/six-alert.entry.js +18 -23
  549. package/dist/esm/six-alert.entry.js.map +1 -1
  550. package/dist/esm/six-avatar.entry.js +5 -8
  551. package/dist/esm/six-avatar.entry.js.map +1 -1
  552. package/dist/esm/six-badge.entry.js +2 -2
  553. package/dist/esm/six-badge.entry.js.map +1 -1
  554. package/dist/esm/six-button.entry.js +37 -35
  555. package/dist/esm/six-button.entry.js.map +1 -1
  556. package/dist/esm/six-card.entry.js +1 -1
  557. package/dist/esm/six-card.entry.js.map +1 -1
  558. package/dist/esm/six-checkbox.entry.js +54 -86
  559. package/dist/esm/six-checkbox.entry.js.map +1 -1
  560. package/dist/esm/six-datepicker.entry.js +147 -278
  561. package/dist/esm/six-datepicker.entry.js.map +1 -1
  562. package/dist/esm/six-details.entry.js +49 -48
  563. package/dist/esm/six-details.entry.js.map +1 -1
  564. package/dist/esm/six-dialog.entry.js +37 -41
  565. package/dist/esm/six-dialog.entry.js.map +1 -1
  566. package/dist/esm/six-drawer.entry.js +34 -38
  567. package/dist/esm/six-drawer.entry.js.map +1 -1
  568. package/dist/esm/six-dropdown_2.entry.js +216 -197
  569. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  570. package/dist/esm/six-error-page.entry.js +20 -22
  571. package/dist/esm/six-error-page.entry.js.map +1 -1
  572. package/dist/esm/six-error.entry.js +17 -0
  573. package/dist/esm/six-error.entry.js.map +1 -0
  574. package/dist/esm/six-file-list-item.entry.js +2 -2
  575. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  576. package/dist/esm/six-file-list.entry.js +1 -1
  577. package/dist/esm/six-file-list.entry.js.map +1 -1
  578. package/dist/esm/six-file-upload.entry.js +21 -21
  579. package/dist/esm/six-file-upload.entry.js.map +1 -1
  580. package/dist/esm/six-footer.entry.js +1 -1
  581. package/dist/esm/six-footer.entry.js.map +1 -1
  582. package/dist/esm/six-group-label.entry.js +13 -12
  583. package/dist/esm/six-group-label.entry.js.map +1 -1
  584. package/dist/esm/six-header.entry.js +66 -44
  585. package/dist/esm/six-header.entry.js.map +1 -1
  586. package/dist/esm/six-icon-button.entry.js +5 -5
  587. package/dist/esm/six-icon-button.entry.js.map +1 -1
  588. package/dist/esm/six-icon.entry.js +1 -1
  589. package/dist/esm/six-icon.entry.js.map +1 -1
  590. package/dist/esm/six-input.entry.js +36 -94
  591. package/dist/esm/six-input.entry.js.map +1 -1
  592. package/dist/esm/six-item-picker.entry.js +62 -81
  593. package/dist/esm/six-item-picker.entry.js.map +1 -1
  594. package/dist/esm/six-language-switcher.entry.js +2 -2
  595. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  596. package/dist/esm/six-layout-grid.entry.js +5 -3
  597. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  598. package/dist/esm/six-main-container.entry.js +1 -1
  599. package/dist/esm/six-main-container.entry.js.map +1 -1
  600. package/dist/esm/six-menu-divider.entry.js +1 -1
  601. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  602. package/dist/esm/six-menu-item.entry.js +9 -7
  603. package/dist/esm/six-menu-item.entry.js.map +1 -1
  604. package/dist/esm/six-menu-label.entry.js +1 -1
  605. package/dist/esm/six-menu-label.entry.js.map +1 -1
  606. package/dist/esm/six-picto.entry.js +5 -2
  607. package/dist/esm/six-picto.entry.js.map +1 -1
  608. package/dist/esm/six-progress-bar.entry.js +1 -1
  609. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  610. package/dist/esm/six-progress-ring.entry.js +4 -4
  611. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  612. package/dist/esm/six-radio.entry.js +63 -72
  613. package/dist/esm/six-radio.entry.js.map +1 -1
  614. package/dist/esm/six-range.entry.js +111 -107
  615. package/dist/esm/six-range.entry.js.map +1 -1
  616. package/dist/esm/six-root.entry.js +2 -2
  617. package/dist/esm/six-root.entry.js.map +1 -1
  618. package/dist/esm/six-search-field.entry.js +11 -6
  619. package/dist/esm/six-search-field.entry.js.map +1 -1
  620. package/dist/esm/six-select.entry.js +193 -223
  621. package/dist/esm/six-select.entry.js.map +1 -1
  622. package/dist/esm/six-sidebar-item-group.entry.js +12 -7
  623. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  624. package/dist/esm/six-sidebar-item.entry.js +1 -1
  625. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  626. package/dist/esm/six-sidebar.entry.js +41 -20
  627. package/dist/esm/six-sidebar.entry.js.map +1 -1
  628. package/dist/esm/six-spinner.entry.js +1 -1
  629. package/dist/esm/six-spinner.entry.js.map +1 -1
  630. package/dist/esm/six-switch.entry.js +77 -65
  631. package/dist/esm/six-switch.entry.js.map +1 -1
  632. package/dist/esm/six-tab-group.entry.js +136 -123
  633. package/dist/esm/six-tab-group.entry.js.map +1 -1
  634. package/dist/esm/six-tab-panel.entry.js +2 -2
  635. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  636. package/dist/esm/six-tab.entry.js +24 -6
  637. package/dist/esm/six-tab.entry.js.map +1 -1
  638. package/dist/esm/six-tag.entry.js +26 -7
  639. package/dist/esm/six-tag.entry.js.map +1 -1
  640. package/dist/esm/six-textarea.entry.js +86 -109
  641. package/dist/esm/six-textarea.entry.js.map +1 -1
  642. package/dist/esm/six-tile.entry.js +14 -17
  643. package/dist/esm/six-tile.entry.js.map +1 -1
  644. package/dist/esm/six-timepicker.entry.js +154 -215
  645. package/dist/esm/six-timepicker.entry.js.map +1 -1
  646. package/dist/esm/six-tooltip.entry.js +56 -59
  647. package/dist/esm/six-tooltip.entry.js.map +1 -1
  648. package/dist/esm/{slot-6f3984c7.js → slot-ad36df3a.js} +11 -10
  649. package/dist/esm/slot-ad36df3a.js.map +1 -0
  650. package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
  651. package/dist/esm/types-59b455aa.js.map +1 -0
  652. package/dist/esm/ui-library.js +4 -7
  653. package/dist/esm/ui-library.js.map +1 -1
  654. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  655. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  656. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  657. package/dist/types/components/six-button/six-button.d.ts +8 -9
  658. package/dist/types/components/six-checkbox/six-checkbox.d.ts +27 -36
  659. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  660. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  661. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  662. package/dist/types/components/six-datepicker/six-datepicker.d.ts +43 -52
  663. package/dist/types/components/six-details/six-details.d.ts +12 -12
  664. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  665. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  666. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  667. package/dist/types/components/six-error/six-error.d.ts +9 -0
  668. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  669. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  670. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  671. package/dist/types/components/six-group-label/six-group-label.d.ts +5 -5
  672. package/dist/types/components/six-header/six-header.d.ts +16 -27
  673. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  674. package/dist/types/components/six-input/six-input.d.ts +16 -37
  675. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  676. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  677. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  678. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  679. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  680. package/dist/types/components/six-radio/six-radio.d.ts +14 -25
  681. package/dist/types/components/six-range/six-range.d.ts +30 -38
  682. package/dist/types/components/six-root/six-root.d.ts +3 -3
  683. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  684. package/dist/types/components/six-select/six-select.d.ts +44 -58
  685. package/dist/types/components/six-select/util.d.ts +7 -0
  686. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  687. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  688. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  689. package/dist/types/components/six-switch/six-switch.d.ts +25 -21
  690. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  691. package/dist/types/components/six-tab-group/six-tab-group.d.ts +18 -22
  692. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  693. package/dist/types/components/six-tag/six-tag.d.ts +8 -2
  694. package/dist/types/components/six-textarea/six-textarea.d.ts +30 -55
  695. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  696. package/dist/types/components/six-timepicker/six-timepicker.d.ts +30 -44
  697. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  698. package/dist/types/components.d.ts +280 -426
  699. package/dist/types/functional-components/form-control/form-control.d.ts +9 -6
  700. package/dist/types/index.d.ts +1 -0
  701. package/dist/types/stencil-public-runtime.d.ts +15 -2
  702. package/dist/types/testUtil/delay.d.ts +1 -1
  703. package/dist/types/types.d.ts +2 -0
  704. package/dist/types/utils/animation.d.ts +12 -0
  705. package/dist/types/utils/date-util.d.ts +18 -10
  706. package/dist/types/utils/error-messages.d.ts +42 -0
  707. package/dist/types/utils/event-listeners.d.ts +4 -3
  708. package/dist/types/utils/execution-control.d.ts +1 -3
  709. package/dist/types/utils/form.d.ts +1 -0
  710. package/dist/types/utils/modal.d.ts +2 -2
  711. package/dist/types/utils/popover.d.ts +5 -5
  712. package/dist/types/utils/popup.d.ts +9 -0
  713. package/dist/types/utils/slot.d.ts +2 -7
  714. package/dist/types/utils/tabbable.d.ts +1 -1
  715. package/dist/types/utils/time.util.d.ts +18 -9
  716. package/dist/types/utils/type-check.d.ts +3 -4
  717. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  718. package/dist/ui-library/index.esm.js +1 -1
  719. package/dist/ui-library/index.esm.js.map +1 -1
  720. package/dist/ui-library/{p-eb8f05a9.js → p-052aa8d3.js} +2 -2
  721. package/dist/ui-library/p-052aa8d3.js.map +1 -0
  722. package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
  723. package/dist/ui-library/p-0f510624.js.map +1 -0
  724. package/dist/ui-library/p-0fdb185d.js +2 -0
  725. package/dist/ui-library/p-0fdb185d.js.map +1 -0
  726. package/dist/ui-library/{p-19364560.entry.js → p-13b43e04.entry.js} +2 -2
  727. package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
  728. package/dist/ui-library/p-14c1ec31.entry.js +2 -0
  729. package/dist/ui-library/p-14c1ec31.entry.js.map +1 -0
  730. package/dist/ui-library/p-15559d38.js +2 -0
  731. package/dist/ui-library/p-15559d38.js.map +1 -0
  732. package/dist/ui-library/{p-97323ad7.entry.js → p-1d5ee1a0.entry.js} +2 -2
  733. package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
  734. package/dist/ui-library/p-22c9b8c3.entry.js +2 -0
  735. package/dist/ui-library/p-22c9b8c3.entry.js.map +1 -0
  736. package/dist/ui-library/p-25bb1752.entry.js +2 -0
  737. package/dist/ui-library/p-25bb1752.entry.js.map +1 -0
  738. package/dist/ui-library/p-264d4ea8.entry.js +2 -0
  739. package/dist/ui-library/p-264d4ea8.entry.js.map +1 -0
  740. package/dist/ui-library/{p-21859bca.entry.js → p-346f9557.entry.js} +2 -2
  741. package/dist/ui-library/p-346f9557.entry.js.map +1 -0
  742. package/dist/ui-library/p-37557787.entry.js +2 -0
  743. package/dist/ui-library/p-37557787.entry.js.map +1 -0
  744. package/dist/ui-library/{p-baa03951.entry.js → p-3cc5addb.entry.js} +2 -2
  745. package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
  746. package/dist/ui-library/p-3f1a5ecb.entry.js +2 -0
  747. package/dist/ui-library/p-3f1a5ecb.entry.js.map +1 -0
  748. package/dist/ui-library/p-411ed539.entry.js +2 -0
  749. package/dist/ui-library/p-411ed539.entry.js.map +1 -0
  750. package/dist/ui-library/p-4435ff73.entry.js +2 -0
  751. package/dist/ui-library/p-4435ff73.entry.js.map +1 -0
  752. package/dist/ui-library/p-538f3c50.entry.js +2 -0
  753. package/dist/ui-library/p-538f3c50.entry.js.map +1 -0
  754. package/dist/ui-library/p-5654e4c7.js +2 -0
  755. package/dist/ui-library/p-5654e4c7.js.map +1 -0
  756. package/dist/ui-library/p-5800663b.entry.js +2 -0
  757. package/dist/ui-library/p-5800663b.entry.js.map +1 -0
  758. package/dist/ui-library/p-59210f0b.js +2 -0
  759. package/dist/ui-library/p-59210f0b.js.map +1 -0
  760. package/dist/ui-library/{p-19b50b5a.entry.js → p-5af44076.entry.js} +2 -2
  761. package/dist/ui-library/p-5af44076.entry.js.map +1 -0
  762. package/dist/ui-library/p-5ba3a0fe.entry.js +2 -0
  763. package/dist/ui-library/p-5ba3a0fe.entry.js.map +1 -0
  764. package/dist/ui-library/{p-097cced4.entry.js → p-613283a7.entry.js} +2 -2
  765. package/dist/ui-library/p-613283a7.entry.js.map +1 -0
  766. package/dist/ui-library/p-6153045b.js +3 -0
  767. package/dist/ui-library/p-6153045b.js.map +1 -0
  768. package/dist/ui-library/{p-e19a6c95.entry.js → p-6197fe2f.entry.js} +2 -2
  769. package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
  770. package/dist/ui-library/p-658d9f79.entry.js +2 -0
  771. package/dist/ui-library/p-658d9f79.entry.js.map +1 -0
  772. package/dist/ui-library/p-66fe54b3.entry.js +2 -0
  773. package/dist/ui-library/p-66fe54b3.entry.js.map +1 -0
  774. package/dist/ui-library/p-698bb2c8.js +2 -0
  775. package/dist/ui-library/p-698bb2c8.js.map +1 -0
  776. package/dist/ui-library/p-724875b0.entry.js +2 -0
  777. package/dist/ui-library/p-724875b0.entry.js.map +1 -0
  778. package/dist/ui-library/{p-dd3c76f1.entry.js → p-7afafb9d.entry.js} +2 -2
  779. package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
  780. package/dist/ui-library/p-7d95def3.js +2 -0
  781. package/dist/ui-library/p-7d95def3.js.map +1 -0
  782. package/dist/ui-library/{p-63703ba3.entry.js → p-7e3ad38a.entry.js} +2 -2
  783. package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
  784. package/dist/ui-library/{p-9328e5bc.entry.js → p-878226a0.entry.js} +2 -2
  785. package/dist/ui-library/p-878226a0.entry.js.map +1 -0
  786. package/dist/ui-library/p-8c0971e0.js +2 -0
  787. package/dist/ui-library/p-8c0971e0.js.map +1 -0
  788. package/dist/ui-library/p-91b51800.entry.js +2 -0
  789. package/dist/ui-library/p-91b51800.entry.js.map +1 -0
  790. package/dist/ui-library/p-95fbdd0b.entry.js +2 -0
  791. package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
  792. package/dist/ui-library/{p-4f8394d7.js → p-9ace84c7.js} +2 -2
  793. package/dist/ui-library/p-9ace84c7.js.map +1 -0
  794. package/dist/ui-library/p-9b354f5d.entry.js +2 -0
  795. package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
  796. package/dist/ui-library/{p-c349d1d4.entry.js → p-9c1be3fb.entry.js} +2 -2
  797. package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
  798. package/dist/ui-library/{p-af793d04.entry.js → p-a0f290d0.entry.js} +2 -2
  799. package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
  800. package/dist/ui-library/p-a2035543.entry.js +2 -0
  801. package/dist/ui-library/p-a2035543.entry.js.map +1 -0
  802. package/dist/ui-library/p-a457fee8.entry.js +2 -0
  803. package/dist/ui-library/p-a457fee8.entry.js.map +1 -0
  804. package/dist/ui-library/p-a55c7258.entry.js +2 -0
  805. package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
  806. package/dist/ui-library/{p-6d75f216.entry.js → p-a6a9ee96.entry.js} +2 -2
  807. package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
  808. package/dist/ui-library/p-ab91c2a9.entry.js +2 -0
  809. package/dist/ui-library/p-ab91c2a9.entry.js.map +1 -0
  810. package/dist/ui-library/{p-73597d13.entry.js → p-ac099e6b.entry.js} +2 -2
  811. package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
  812. package/dist/ui-library/p-ae601a0f.entry.js +2 -0
  813. package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
  814. package/dist/ui-library/p-b351f889.entry.js +2 -0
  815. package/dist/ui-library/p-b351f889.entry.js.map +1 -0
  816. package/dist/ui-library/p-b57afbe4.entry.js +2 -0
  817. package/dist/ui-library/p-b57afbe4.entry.js.map +1 -0
  818. package/dist/ui-library/p-b6f47c9d.entry.js +2 -0
  819. package/dist/ui-library/p-b6f47c9d.entry.js.map +1 -0
  820. package/dist/ui-library/p-c03ebf7d.entry.js +2 -0
  821. package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
  822. package/dist/ui-library/p-cba69e9d.entry.js +2 -0
  823. package/dist/ui-library/p-cba69e9d.entry.js.map +1 -0
  824. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-cd67da3d.entry.js} +2 -2
  825. package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
  826. package/dist/ui-library/p-cdaed936.entry.js +2 -0
  827. package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
  828. package/dist/ui-library/p-d1bda563.entry.js +2 -0
  829. package/dist/ui-library/p-d1bda563.entry.js.map +1 -0
  830. package/dist/ui-library/p-db34a6cc.entry.js +2 -0
  831. package/dist/ui-library/p-db34a6cc.entry.js.map +1 -0
  832. package/dist/ui-library/p-db936ad7.entry.js +2 -0
  833. package/dist/ui-library/p-db936ad7.entry.js.map +1 -0
  834. package/dist/ui-library/p-dc4f41d8.entry.js +2 -0
  835. package/dist/ui-library/p-dc4f41d8.entry.js.map +1 -0
  836. package/dist/ui-library/{p-820c23f0.entry.js → p-dfed33c5.entry.js} +2 -2
  837. package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
  838. package/dist/ui-library/p-e5020f0d.js +2 -0
  839. package/dist/ui-library/p-e5020f0d.js.map +1 -0
  840. package/dist/ui-library/p-e775dcb4.entry.js +2 -0
  841. package/dist/ui-library/p-e775dcb4.entry.js.map +1 -0
  842. package/dist/ui-library/p-ee950ce2.entry.js +2 -0
  843. package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
  844. package/dist/ui-library/p-f1dc3a88.entry.js +2 -0
  845. package/dist/ui-library/p-f1dc3a88.entry.js.map +1 -0
  846. package/dist/ui-library/ui-library.css +2 -2
  847. package/dist/ui-library/ui-library.esm.js +1 -1
  848. package/dist/ui-library/ui-library.esm.js.map +1 -1
  849. package/loader/index.d.ts +1 -1
  850. package/package.json +10 -10
  851. package/dist/cjs/event-listeners-74715e62.js +0 -45
  852. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  853. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  854. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  855. package/dist/cjs/form-control-2c17c573.js +0 -34
  856. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  857. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  858. package/dist/cjs/modal-48d42228.js.map +0 -1
  859. package/dist/cjs/popover-f743f62b.js.map +0 -1
  860. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  861. package/dist/cjs/six-form.cjs.entry.js +0 -231
  862. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  863. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  864. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  865. package/dist/cjs/slot-ad537f24.js.map +0 -1
  866. package/dist/cjs/types-64878648.js.map +0 -1
  867. package/dist/collection/components/six-form/six-form.css +0 -11
  868. package/dist/collection/components/six-form/six-form.js +0 -419
  869. package/dist/collection/components/six-form/six-form.js.map +0 -1
  870. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  871. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  872. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  873. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  874. package/dist/collection/utils/as-array.js +0 -2
  875. package/dist/collection/utils/as-array.js.map +0 -1
  876. package/dist/collection/utils/matchers.js +0 -3
  877. package/dist/collection/utils/matchers.js.map +0 -1
  878. package/dist/collection/utils/testing.js +0 -39
  879. package/dist/collection/utils/testing.js.map +0 -1
  880. package/dist/components/six-form.js +0 -252
  881. package/dist/components/six-form.js.map +0 -1
  882. package/dist/esm/event-listeners-570a24ea.js +0 -43
  883. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  884. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  885. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  886. package/dist/esm/form-control-3b440ea1.js +0 -32
  887. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  888. package/dist/esm/index-5c0f6628.js.map +0 -1
  889. package/dist/esm/modal-5ebdc320.js.map +0 -1
  890. package/dist/esm/polyfills/css-shim.js +0 -1
  891. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  892. package/dist/esm/six-form.entry.js +0 -227
  893. package/dist/esm/six-form.entry.js.map +0 -1
  894. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  895. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  896. package/dist/esm/slot-6f3984c7.js.map +0 -1
  897. package/dist/esm/types-4b10b413.js.map +0 -1
  898. package/dist/types/components/six-form/six-form.d.ts +0 -69
  899. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  900. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  901. package/dist/types/utils/as-array.d.ts +0 -1
  902. package/dist/types/utils/matchers.d.ts +0 -2
  903. package/dist/types/utils/popper.d.ts +0 -33
  904. package/dist/types/utils/testing.d.ts +0 -2
  905. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  906. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  907. package/dist/ui-library/p-0786fa7c.js +0 -2
  908. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  909. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  910. package/dist/ui-library/p-0d79b0c6.entry.js +0 -2
  911. package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
  912. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  913. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  914. package/dist/ui-library/p-18ea0c56.js +0 -2
  915. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  916. package/dist/ui-library/p-19364560.entry.js.map +0 -1
  917. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  918. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  919. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  920. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  921. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  922. package/dist/ui-library/p-308261c4.entry.js +0 -2
  923. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  924. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  925. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  926. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  927. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  928. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  929. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  930. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  931. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  932. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  933. package/dist/ui-library/p-611e1978.entry.js +0 -2
  934. package/dist/ui-library/p-611e1978.entry.js.map +0 -1
  935. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  936. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  937. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  938. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  939. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  940. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  941. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  942. package/dist/ui-library/p-79eee01b.js +0 -2
  943. package/dist/ui-library/p-79eee01b.js.map +0 -1
  944. package/dist/ui-library/p-7e0cc4ae.entry.js +0 -2
  945. package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
  946. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  947. package/dist/ui-library/p-835c3ff7.entry.js +0 -2
  948. package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
  949. package/dist/ui-library/p-8a970a40.entry.js +0 -2
  950. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  951. package/dist/ui-library/p-90824648.entry.js +0 -2
  952. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  953. package/dist/ui-library/p-90dc6af4.entry.js +0 -2
  954. package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
  955. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  956. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  957. package/dist/ui-library/p-9a860acc.js +0 -2
  958. package/dist/ui-library/p-9a860acc.js.map +0 -1
  959. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  960. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  961. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  962. package/dist/ui-library/p-ac4f4d45.js +0 -3
  963. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  964. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  965. package/dist/ui-library/p-b0e5658f.entry.js +0 -2
  966. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  967. package/dist/ui-library/p-b1e66136.js +0 -2
  968. package/dist/ui-library/p-b1e66136.js.map +0 -1
  969. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  970. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  971. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  972. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  973. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  974. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  975. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  976. package/dist/ui-library/p-c30f9e0b.entry.js +0 -2
  977. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  978. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  979. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  980. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  981. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  982. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  983. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  984. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  985. package/dist/ui-library/p-d12c6092.js +0 -2
  986. package/dist/ui-library/p-d12c6092.js.map +0 -1
  987. package/dist/ui-library/p-d5633a29.entry.js +0 -2
  988. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  989. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  990. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  991. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  992. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  993. package/dist/ui-library/p-e9e930d2.entry.js +0 -2
  994. package/dist/ui-library/p-e9e930d2.entry.js.map +0 -1
  995. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  996. package/dist/ui-library/p-edc96efc.entry.js +0 -2
  997. package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
  998. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  999. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  1000. package/dist/ui-library/p-f4938771.entry.js +0 -2
  1001. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  1002. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  1003. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  1004. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  1005. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  1006. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  1007. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  1008. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  1009. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
  1010. package/readme.md +0 -156
@@ -1 +1 @@
1
- {"file":"six-drawer.js","mappings":";;;;;;;AAAA,MAAM,YAAY,GAAG,yxEAAyxE;;ACO9yE,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;AACpD,IAAI,EAAE,GAAG,CAAC,CAAC;MA2BEA,WAAS;;;;;;;;;;;IACpB,gBAAW,GAAG,UAAU,EAAE,EAAE,EAAE,CAAC;IAI/B,aAAQ,GAAG,KAAK,CAAC;IACjB,aAAQ,GAAG,KAAK,CAAC;qBAII,KAAK;qBACL,KAAK;gBAGqB,KAAK;iBAMpC,EAAE;qBAGuC,OAAO;qBAM5C,KAAK;oBAMN,KAAK;;EAGxB,gBAAgB;IACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;GACvC;EAuBD,iBAAiB;IACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;MAChC,UAAU,EAAE,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;KAC/D,CAAC,CAAC;GACJ;EAED,iBAAiB;IACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;;IAGxB,IAAI,IAAI,CAAC,IAAI,EAAE;MACb,IAAI,CAAC,IAAI,EAAE,CAAC;;;MAGZ,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACjC;GACF;EAED,oBAAoB;IAClB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAChC;;EAID,MAAM,IAAI;IACR,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,OAAO;KACR;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,gBAAgB,EAAE;MAC5B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;MAClB,OAAO;KACR;IAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;IAGjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;MACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;MACtB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,IAAI,IAAI,CAAC,IAAI,EAAE;MACb,IAAI,gBAAgB,EAAE;;QAEpB,qBAAqB,CAAC;UACpB,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;UACpD,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;WAC3C;SACF,CAAC,CAAC;OACJ;WAAM;;;;;;;;QAQL,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,eAAe,EACf;UACE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;UACpD,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;WACpB;SACF,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;OACH;KACF;GACF;;EAID,MAAM,IAAI;IACR,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,OAAO;KACR;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,gBAAgB,EAAE;MAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;MACjB,OAAO;KACR;IAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAExB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAChC;EAED,gBAAgB;IACd,IAAI,CAAC,IAAI,EAAE,CAAC;GACb;EAED,aAAa,CAAC,KAAoB;IAChC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;MAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;GACF;EAED,kBAAkB;IAChB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAExD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;MACvC,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;GACF;EAED,gBAAgB;IACd,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;GAC/C;EAED,mBAAmB,CAAC,KAAsB;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;;IAG3C,IAAI,KAAK,CAAC,YAAY,KAAK,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;MACpF,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACjC;GACF;EAEO,wBAAwB;IAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;GACjE;EAED,MAAM;IACJ,QACE,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,EAC/B,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,IAAI,CAAC,IAAI;QACzB,iBAAiB,EAAE,IAAI,CAAC,SAAS;QACjC,aAAa,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK;QACvC,eAAe,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO;QAC3C,gBAAgB,EAAE,IAAI,CAAC,SAAS,KAAK,QAAQ;QAC7C,cAAc,EAAE,IAAI,CAAC,SAAS,KAAK,MAAM;QACzC,mBAAmB,EAAE,IAAI,CAAC,SAAS;QACnC,eAAe,EAAE,CAAC,IAAI,CAAC,SAAS;QAChC,oBAAoB,EAAE,IAAI,CAAC,SAAS;OACrC,EACD,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,eAAe,EAAE,IAAI,CAAC,mBAAmB,IAEzC,WAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,iBAAiB,EAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAI,EAE9F,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,EAC9B,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,QAAQ,gBACF,MAAM,iBACJ,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,gBAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,qBAC5B,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,WAAW,QAAQ,GAAG,IAAI,EACpE,QAAQ,EAAE,CAAC,IAEV,CAAC,IAAI,CAAC,QAAQ,KACb,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,gBAAgB,IAC1C,YAAM,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,eAAe,EAAC,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,QAAQ,IACtE,YAAM,IAAI,EAAC,OAAO,IAEf,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CACpC,CACF,EACP,uBACE,WAAW,EAAC,mBAAmB,EAC/B,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,GAAG,EACR,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAC9B,CACK,CACV,EAED,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,cAAc,IACnC,eAAQ,CACJ,EAEN,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,gBAAgB,IAC1C,YAAM,IAAI,EAAC,QAAQ,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAI,CACpD,CACL,CACF,EACN;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SixDrawer"],"sources":["./src/components/six-drawer/six-drawer.scss?tag=six-drawer&encapsulation=shadow","./src/components/six-drawer/six-drawer.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --size: The preferred size of the drawer. This will be applied to the drawer's width or height depending on its\n * `placement`. Note that the drawer will shrink to accommodate smaller screens.\n */\n:host {\n --size: 25rem;\n\n display: contents;\n}\n\n.drawer {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n overflow: hidden;\n\n &:not(.drawer--visible) {\n @include hidden;\n }\n}\n\n.drawer--contained {\n position: absolute;\n z-index: initial;\n}\n\n.drawer--fixed {\n position: fixed;\n z-index: var(--six-z-index-drawer);\n}\n\n.drawer__panel {\n position: absolute;\n display: flex;\n flex-direction: column;\n z-index: 2;\n max-width: 100%;\n max-height: 100%;\n background-color: var(--six-drawer-background-color);\n color: var(--six-drawer-color);\n box-shadow: var(--six-shadow-x-large);\n transition: var(--six-transition-medium) transform;\n overflow: auto;\n pointer-events: all;\n\n &:focus {\n outline: none;\n }\n}\n\n.drawer--top .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, -100%);\n}\n\n.drawer--right .drawer__panel {\n top: 0;\n right: 0;\n bottom: auto;\n left: auto;\n width: var(--size);\n height: 100%;\n transform: translate(100%, 0);\n}\n\n.drawer--bottom .drawer__panel {\n top: auto;\n right: auto;\n bottom: 0;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, 100%);\n}\n\n.drawer--left .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: var(--size);\n height: 100%;\n transform: translate(-100%, 0);\n}\n\n.drawer--open .drawer__panel {\n // don't use translate here or it will cause problems with popovers inside the drawer e.g. dropdown, select etc.\n transform: none;\n}\n\n.drawer__header {\n display: flex;\n}\n\n.drawer__title {\n flex: 1 1 auto;\n font-size: var(--six-font-size-large);\n line-height: var(--six-line-height-dense);\n padding: var(--six-spacing-large);\n}\n\n.drawer__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-x-large);\n padding: 0 var(--six-spacing-large);\n}\n\n.drawer__body {\n flex: 1 1 auto;\n padding: var(--six-spacing-large);\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.drawer__footer {\n text-align: right;\n padding: var(--six-spacing-large);\n\n ::slotted(six-button:not(:last-of-type)) {\n margin-right: var(--six-spacing-x-small);\n }\n}\n\n.drawer:not(.drawer--has-footer) .drawer__footer {\n display: none;\n}\n\n.drawer__overlay {\n display: block;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--six-overlay-background-color);\n opacity: 0;\n transition: var(--six-transition-medium) opacity;\n pointer-events: all;\n}\n\n.drawer--contained .drawer__overlay {\n position: absolute;\n}\n\n.drawer--open .drawer__overlay {\n opacity: 0.4;\n}\n","import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport { isPreventScrollSupported } from '../../utils/support';\nimport Modal from '../../utils/modal';\nimport { EmptyPayload } from '../../utils/types';\n\nconst hasPreventScroll = isPreventScrollSupported();\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 drawer's content.\n * @slot label - The drawer's label. Alternatively, you can use the label prop.\n * @slot footer - The drawer's footer, usually one or more buttons representing various options.\n *\n * @part base - The component's base wrapper.\n * @part overlay - The overlay.\n * @part panel - The drawer panel (where the drawer and its content is rendered).\n * @part header - The drawer header.\n * @part title - The drawer title.\n * @part close-button - The close button.\n * @part body - The drawer body.\n * @part footer - The drawer footer.\n */\n\n@Component({\n tag: 'six-drawer',\n styleUrl: 'six-drawer.scss',\n shadow: true,\n})\nexport class SixDrawer {\n componentId = `drawer-${++id}`;\n drawer: HTMLElement;\n modal: Modal;\n panel: HTMLElement;\n willShow = false;\n willHide = false;\n\n @Element() host: HTMLSixDrawerElement;\n\n @State() hasFooter = false;\n @State() isVisible = false;\n\n /** Indicates whether or not the drawer is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /**\n * The drawer's label as displayed in the header. You should always include a relevant label even when using\n * `no-header`, as it is required for proper accessibility.\n */\n @Prop() label = '';\n\n /** The direction from which the drawer will open. */\n @Prop() placement: 'top' | 'right' | 'bottom' | 'left' = 'right';\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this prop and add `position: relative` to the parent.\n */\n @Prop() contained = false;\n\n /**\n * Removes the header. This will also remove the default close button, so please ensure you provide an easy,\n * accessible way for users to dismiss the drawer.\n */\n @Prop() noHeader = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the drawer opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-drawer-show' }) sixShow: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer opens and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-show' }) sixAfterShow: EventEmitter<EmptyPayload>;\n\n /** Emitted when the drawer closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-drawer-hide' }) sixHide: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer closes and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-hide' }) sixAfterHide: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the drawer opens and the panel gains focus. Calling `event.preventDefault()` will prevent focus and\n * allow you to set it on a different element in the drawer, such as an input or button.\n */\n @Event({ eventName: 'six-drawer-initial-focus' }) sixInitialFocus: EventEmitter<EmptyPayload>;\n\n /** Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the drawer from closing. */\n @Event({ eventName: 'six-drawer-overlay-dismiss' }) sixOverlayDismiss: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleCloseClick = this.handleCloseClick.bind(this);\n this.handleTransitionEnd = this.handleTransitionEnd.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleOverlayClick = this.handleOverlayClick.bind(this);\n this.handleSlotChange = this.handleSlotChange.bind(this);\n\n this.modal = new Modal(this.host, {\n onFocusOut: () => (this.contained ? null : this.panel.focus()),\n });\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n\n // Show on init if open\n if (this.open) {\n this.show();\n // if the sidebar is open by default we need to manually reset the\n // transition variables since there will be no transition event\n this.resetTransitionVariables();\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n /** Shows the drawer */\n @Method()\n async show() {\n if (this.willShow) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.willShow = true;\n this.isVisible = true;\n this.open = true;\n\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\n\n if (this.open) {\n if (hasPreventScroll) {\n // Wait for the next frame before setting initial focus so the dialog is technically visible\n requestAnimationFrame(() => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n this.panel.focus({ preventScroll: true });\n }\n });\n } else {\n // Once Safari supports { preventScroll: true } we can remove this nasty little hack, but until then we need to\n // wait for the transition to complete before setting focus, otherwise the panel may render in a buggy way its\n // out of view initially.\n //\n // Fiddle: https://jsfiddle.net/g6buoafq/1/\n // Safari: https://bugs.webkit.org/show_bug.cgi?id=178583\n //\n this.drawer.addEventListener(\n 'transitionend',\n () => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n this.panel.focus();\n }\n },\n { once: true }\n );\n }\n }\n }\n\n /** Hides the drawer */\n @Method()\n async hide() {\n if (this.willHide) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.willHide = true;\n this.open = false;\n this.modal.deactivate();\n\n unlockBodyScrolling(this.host);\n }\n\n handleCloseClick() {\n this.hide();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.hide();\n }\n }\n\n handleOverlayClick() {\n const sixOverlayDismiss = this.sixOverlayDismiss.emit();\n\n if (!sixOverlayDismiss.defaultPrevented) {\n this.hide();\n }\n }\n\n handleSlotChange() {\n this.hasFooter = hasSlot(this.host, 'footer');\n }\n\n handleTransitionEnd(event: TransitionEvent) {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'transform' && target.classList.contains('drawer__panel')) {\n this.resetTransitionVariables();\n }\n }\n\n private resetTransitionVariables() {\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.drawer = el)}\n part=\"base\"\n class={{\n drawer: true,\n 'drawer--open': this.open,\n 'drawer--visible': this.isVisible,\n 'drawer--top': this.placement === 'top',\n 'drawer--right': this.placement === 'right',\n 'drawer--bottom': this.placement === 'bottom',\n 'drawer--left': this.placement === 'left',\n 'drawer--contained': this.contained,\n 'drawer--fixed': !this.contained,\n 'drawer--has-footer': this.hasFooter,\n }}\n onKeyDown={this.handleKeyDown}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <div part=\"overlay\" class=\"drawer__overlay\" onClick={this.handleOverlayClick} tabIndex={-1} />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"drawer__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : null}\n aria-labelledby={!this.noHeader ? `${this.componentId}-title` : null}\n tabIndex={0}\n >\n {!this.noHeader && (\n <header part=\"header\" class=\"drawer__header\">\n <span part=\"title\" class=\"drawer__title\" id={`${this.componentId}-title`}>\n <slot name=\"label\">\n {/* If there's no label, use an invisible character to prevent the heading from collapsing */}\n {this.label || String.fromCharCode(65279)}\n </slot>\n </span>\n <six-icon-button\n exportparts=\"base:close-button\"\n class=\"drawer__close\"\n name=\"x\"\n onClick={this.handleCloseClick}\n />\n </header>\n )}\n\n <div part=\"body\" class=\"drawer__body\">\n <slot />\n </div>\n\n <footer part=\"footer\" class=\"drawer__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-drawer.js","mappings":"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","names":["SixDrawer"],"sources":["src/components/six-drawer/six-drawer.scss?tag=six-drawer&encapsulation=shadow","src/components/six-drawer/six-drawer.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --size: The preferred size of the drawer. This will be applied to the drawer's width or height depending on its\n * `placement`. Note that the drawer will shrink to accommodate smaller screens.\n */\n:host {\n --size: 25rem;\n\n display: contents;\n}\n\n.drawer {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n overflow: hidden;\n\n &:not(.drawer--visible) {\n @include hidden;\n }\n}\n\n.drawer--contained {\n position: absolute;\n z-index: initial;\n}\n\n.drawer--fixed {\n position: fixed;\n z-index: var(--six-z-index-drawer);\n}\n\n.drawer__panel {\n position: absolute;\n display: flex;\n flex-direction: column;\n z-index: 2;\n max-width: 100%;\n max-height: 100%;\n background-color: var(--six-drawer-background-color);\n color: var(--six-drawer-color);\n box-shadow: var(--six-shadow-x-large);\n transition: var(--six-transition-medium) transform;\n overflow: auto;\n pointer-events: all;\n\n &:focus {\n outline: none;\n }\n}\n\n.drawer--top .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, -100%);\n}\n\n.drawer--right .drawer__panel {\n top: 0;\n right: 0;\n bottom: auto;\n left: auto;\n width: var(--size);\n height: 100%;\n transform: translate(100%, 0);\n}\n\n.drawer--bottom .drawer__panel {\n top: auto;\n right: auto;\n bottom: 0;\n left: 0;\n width: 100%;\n height: var(--size);\n transform: translate(0, 100%);\n}\n\n.drawer--left .drawer__panel {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0;\n width: var(--size);\n height: 100%;\n transform: translate(-100%, 0);\n}\n\n.drawer--open .drawer__panel {\n // don't use translate here or it will cause problems with popovers inside the drawer e.g. dropdown, select etc.\n transform: none;\n}\n\n.drawer__header {\n display: flex;\n}\n\n.drawer__title {\n flex: 1 1 auto;\n font-size: var(--six-font-size-large);\n line-height: var(--six-line-height-dense);\n padding: var(--six-spacing-large);\n}\n\n.drawer__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-x-large);\n padding: 0 var(--six-spacing-large);\n}\n\n.drawer__body {\n flex: 1 1 auto;\n padding: var(--six-spacing-large);\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.drawer__footer {\n text-align: right;\n padding: var(--six-spacing-large);\n\n ::slotted(six-button:not(:last-of-type)) {\n margin-right: var(--six-spacing-x-small);\n }\n}\n\n.drawer:not(.drawer--has-footer) .drawer__footer {\n display: none;\n}\n\n.drawer__overlay {\n display: block;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--six-overlay-background-color);\n opacity: 0;\n transition: var(--six-transition-medium) opacity;\n pointer-events: all;\n}\n\n.drawer--contained .drawer__overlay {\n position: absolute;\n}\n\n.drawer--open .drawer__overlay {\n opacity: 0.4;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport { isPreventScrollSupported } from '../../utils/support';\nimport Modal from '../../utils/modal';\nimport { EmptyPayload } from '../../utils/types';\n\nconst hasPreventScroll = isPreventScrollSupported();\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 drawer's content.\n * @slot label - The drawer's label. Alternatively, you can use the label prop.\n * @slot footer - The drawer's footer, usually one or more buttons representing various options.\n *\n * @part base - The component's base wrapper.\n * @part overlay - The overlay.\n * @part panel - The drawer panel (where the drawer and its content is rendered).\n * @part header - The drawer header.\n * @part title - The drawer title.\n * @part close-button - The close button.\n * @part body - The drawer body.\n * @part footer - The drawer footer.\n */\n\n@Component({\n tag: 'six-drawer',\n styleUrl: 'six-drawer.scss',\n shadow: true,\n})\nexport class SixDrawer {\n private componentId = `drawer-${++id}`;\n private drawer?: HTMLElement;\n private modal?: Modal;\n private panel?: HTMLElement;\n private willShow = false;\n private willHide = false;\n\n @Element() host!: HTMLSixDrawerElement;\n\n @State() hasFooter = false;\n @State() isVisible = false;\n\n /** Indicates whether the drawer is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /**\n * The drawer's label as displayed in the header. You should always include a relevant label even when using\n * `no-header`, as it is required for proper accessibility.\n */\n @Prop() label = '';\n\n /** The direction from which the drawer will open. */\n @Prop() placement: 'top' | 'right' | 'bottom' | 'left' = 'right';\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this prop and add `position: relative` to the parent.\n */\n @Prop() contained = false;\n\n /**\n * Removes the header. This will also remove the default close button, so please ensure you provide an easy,\n * accessible way for users to dismiss the drawer.\n */\n @Prop() noHeader = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the drawer opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-drawer-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer opens and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the drawer closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-drawer-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the drawer closes and all transitions are complete. */\n @Event({ eventName: 'six-drawer-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n /**\n * Emitted when the drawer opens and the panel gains focus. Calling `event.preventDefault()` will prevent focus and\n * allow you to set it on a different element in the drawer, such as an input or button.\n */\n @Event({ eventName: 'six-drawer-initial-focus' }) sixInitialFocus!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the drawer from closing. */\n @Event({ eventName: 'six-drawer-overlay-dismiss' }) sixOverlayDismiss!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.modal = new Modal(this.host, {\n onFocusOut: () => (this.contained ? null : this.panel?.focus()),\n });\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n\n // Show on init if open\n if (this.open) {\n this.show();\n // if the sidebar is open by default we need to manually reset the\n // transition variables since there will be no transition event\n this.resetTransitionVariables();\n }\n }\n\n disconnectedCallback() {\n unlockBodyScrolling(this.host);\n }\n\n /** Shows the drawer */\n @Method()\n async show() {\n if (this.willShow || this.modal == null || this.panel == null || this.drawer == null) {\n return;\n }\n const panel = this.panel;\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.willShow = true;\n this.isVisible = true;\n this.open = true;\n\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this.host);\n }\n\n if (this.open) {\n if (hasPreventScroll) {\n // Wait for the next frame before setting initial focus so the dialog is technically visible\n requestAnimationFrame(() => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n panel.focus({ preventScroll: true });\n }\n });\n } else {\n // Once Safari supports { preventScroll: true } we can remove this nasty little hack, but until then we need to\n // wait for the transition to complete before setting focus, otherwise the panel may render in a buggy way its\n // out of view initially.\n //\n // Fiddle: https://jsfiddle.net/g6buoafq/1/\n // Safari: https://bugs.webkit.org/show_bug.cgi?id=178583\n //\n this.drawer.addEventListener(\n 'transitionend',\n () => {\n const sixInitialFocus = this.sixInitialFocus.emit();\n if (!sixInitialFocus.defaultPrevented) {\n panel.focus();\n }\n },\n { once: true }\n );\n }\n }\n }\n\n /** Hides the drawer */\n @Method()\n async hide() {\n if (this.willHide || this.modal == null) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.willHide = true;\n this.open = false;\n this.modal.deactivate();\n\n unlockBodyScrolling(this.host);\n }\n\n private handleCloseClick = () => {\n this.hide();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n };\n\n private handleOverlayClick = () => {\n const sixOverlayDismiss = this.sixOverlayDismiss.emit();\n\n if (!sixOverlayDismiss.defaultPrevented) {\n this.hide();\n }\n };\n\n private handleSlotChange = () => {\n this.hasFooter = hasSlot(this.host, 'footer');\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'transform' && target.classList.contains('drawer__panel')) {\n this.resetTransitionVariables();\n }\n };\n\n private resetTransitionVariables() {\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.drawer = el)}\n part=\"base\"\n class={{\n drawer: true,\n 'drawer--open': this.open,\n 'drawer--visible': this.isVisible,\n 'drawer--top': this.placement === 'top',\n 'drawer--right': this.placement === 'right',\n 'drawer--bottom': this.placement === 'bottom',\n 'drawer--left': this.placement === 'left',\n 'drawer--contained': this.contained,\n 'drawer--fixed': !this.contained,\n 'drawer--has-footer': this.hasFooter,\n }}\n onKeyDown={this.handleKeyDown}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <div part=\"overlay\" class=\"drawer__overlay\" onClick={this.handleOverlayClick} tabIndex={-1} />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"drawer__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : null}\n aria-labelledby={!this.noHeader ? `${this.componentId}-title` : null}\n tabIndex={0}\n >\n {!this.noHeader && (\n <header part=\"header\" class=\"drawer__header\">\n <span part=\"title\" class=\"drawer__title\" id={`${this.componentId}-title`}>\n <slot name=\"label\">\n {/* If there's no label, use an invisible character to prevent the heading from collapsing */}\n {this.label || String.fromCharCode(65279)}\n </slot>\n </span>\n <six-icon-button\n exportparts=\"base:close-button\"\n class=\"drawer__close\"\n name=\"x\"\n onClick={this.handleCloseClick}\n />\n </header>\n )}\n\n <div part=\"body\" class=\"drawer__body\">\n <slot />\n </div>\n\n <footer part=\"footer\" class=\"drawer__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n </footer>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,9 +1,9 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { s as scrollIntoView } from './scroll.js';
3
2
  import { P as Popover } from './popover.js';
4
3
  import { E as EventListeners } from './event-listeners.js';
5
4
  import { b as getSlotChildren } from './slot.js';
6
5
  import { D as DEFAULT_DEBOUNCE_FAST, a as debounce } from './execution-control.js';
6
+ import { d as defineCustomElement$5 } from './six-error2.js';
7
7
  import { d as defineCustomElement$4 } from './six-icon2.js';
8
8
  import { d as defineCustomElement$3 } from './six-input2.js';
9
9
  import { d as defineCustomElement$2 } from './six-menu2.js';
@@ -19,20 +19,20 @@ function getNearestTabbableElement(el) {
19
19
  return el;
20
20
  }
21
21
  // Check the element's shadow root
22
- if (el.shadowRoot) {
23
- const tabbableShadowChild = [...el.shadowRoot.children].find(isTabbable);
24
- if (tabbableShadowChild) {
22
+ if (el.shadowRoot != null) {
23
+ const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e));
24
+ if (tabbableShadowChild != null) {
25
25
  return tabbableShadowChild;
26
26
  }
27
27
  }
28
28
  // Check the element's children
29
- if (el.children) {
30
- return [...el.children].map(getNearestTabbableElement)[0];
29
+ if (el.children != null) {
30
+ return [...el.children].map((e) => getNearestTabbableElement(e)).at(0);
31
31
  }
32
- return null;
32
+ return undefined;
33
33
  }
34
34
 
35
- const sixDropdownCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--six-z-index-dropdown)}.dropdown__positioner__filtered{width:100%}.dropdown__panel{max-height:50vh;font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);color:var(--color);background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);box-shadow:var(--six-elevation-2dp);opacity:0;overflow:auto;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;scrollbar-width:thin}.filter-hidden{display:none}.dropdown__positioner[data-popper-placement^=top] .dropdown__panel{transform-origin:bottom}.dropdown__positioner[data-popper-placement^=bottom] .dropdown__panel{transform-origin:top}.dropdown__positioner[data-popper-placement^=left] .dropdown__panel{transform-origin:right}.dropdown__positioner[data-popper-placement^=right] .dropdown__panel{transform-origin:left}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:none;pointer-events:all}";
35
+ const sixDropdownCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--six-z-index-dropdown)}.dropdown__positioner__filtered{width:100%}.dropdown__panel{max-height:50vh;font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);color:var(--color);background-color:var(--six-panel-background-color);border-radius:var(--six-border-radius-medium);box-shadow:var(--six-elevation-2dp);opacity:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none;pointer-events:none;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;scrollbar-width:thin}.filter-hidden{display:none}.dropdown__positioner[data-popper-placement^=top] .dropdown__panel{transform-origin:bottom}.dropdown__positioner[data-popper-placement^=bottom] .dropdown__panel{transform-origin:top}.dropdown__positioner[data-popper-placement^=left] .dropdown__panel{transform-origin:right}.dropdown__positioner[data-popper-placement^=right] .dropdown__panel{transform-origin:left}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:none;pointer-events:all}";
36
36
 
37
37
  const isTagName = (name) => (el) => (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === name.toLowerCase();
38
38
  const isSixMenu = isTagName('six-menu');
@@ -47,7 +47,7 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
47
47
  this.sixAfterShow = createEvent(this, "six-dropdown-after-show", 7);
48
48
  this.sixHide = createEvent(this, "six-dropdown-hide", 7);
49
49
  this.sixAfterHide = createEvent(this, "six-dropdown-after-hide", 7);
50
- this.sixAutoFilterFired = createEvent(this, "six-dropdown-auto-filter-fired", 7);
50
+ this.sixAutoFilter = createEvent(this, "six-dropdown-auto-filter-fired", 7);
51
51
  this.sixAsyncFilterFired = createEvent(this, "six-async-filter-fired", 7);
52
52
  this.sixScroll = createEvent(this, "six-dropdown-scroll", 7);
53
53
  this.componentId = `dropdown-${++id}`;
@@ -55,23 +55,154 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
55
55
  this.hasBeenInitialized = false;
56
56
  this.eventListeners = new EventListeners();
57
57
  this.getMenuItems = () => {
58
- if (this._options !== null) {
59
- return this._options.map((option) => h("six-menu-item", { value: option.value }, option.label));
58
+ if (this.filteredOptions.length > 0) {
59
+ return this.filteredOptions.map((option) => h("six-menu-item", { value: option.value }, option.label));
60
60
  }
61
+ if (this.panel == null)
62
+ return [];
61
63
  const [panel] = getSlotChildren(this.panel);
62
64
  // the menu-items can be in a slot e.g. in six-select or direct children of the panel
63
65
  return getSlotChildren(panel) || Array.from(panel.querySelectorAll('six-menu-item'));
64
66
  };
65
67
  this.handleFilterInputChange = () => {
66
68
  var _a, _b;
69
+ if (this.filterInputElement == null)
70
+ return;
67
71
  const lowerCaseFilterTerm = ((_b = (_a = this.filterInputElement.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.trim()) || '';
68
- if (this._options) {
72
+ if (this.filteredOptions.length > 0) {
69
73
  this.handleFilteringForAttributeItems(lowerCaseFilterTerm);
70
74
  }
71
75
  else {
72
76
  this.handleFilteringForSlotItems(lowerCaseFilterTerm);
73
77
  }
74
- this.sixAutoFilterFired.emit({ filterValue: lowerCaseFilterTerm });
78
+ this.sixAutoFilter.emit({ filterValue: lowerCaseFilterTerm });
79
+ };
80
+ this.handleDocumentKeyDown = (event) => {
81
+ var _a;
82
+ const keyboardEvent = event;
83
+ // Close when escape is pressed
84
+ if (keyboardEvent.key === 'Escape') {
85
+ void this.hide();
86
+ this.focusOnTrigger();
87
+ return;
88
+ }
89
+ if (this.filterInputElement === ((_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement)) {
90
+ if (keyboardEvent.key === 'ArrowDown') {
91
+ const item = this.getMenuItems().find((item) => item.style.display !== 'none');
92
+ if (item != null) {
93
+ item.setFocus();
94
+ }
95
+ }
96
+ }
97
+ // Handle tabbing
98
+ if (keyboardEvent.key === 'Tab') {
99
+ // Tabbing within an open menu should close the dropdown and refocus the trigger
100
+ if (this.open && document.activeElement != null && isSixMenuItem(document.activeElement)) {
101
+ keyboardEvent.preventDefault();
102
+ void this.hide();
103
+ this.focusOnTrigger();
104
+ return;
105
+ }
106
+ // Tabbing outside the containing element closes the panel
107
+ //
108
+ // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,
109
+ // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.
110
+ setTimeout(() => {
111
+ var _a, _b;
112
+ const activeElement = this.container.getRootNode() instanceof ShadowRoot
113
+ ? (_b = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.activeElement
114
+ : document.activeElement;
115
+ if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.closest(this.container.tagName.toLowerCase())) !== this.container) {
116
+ void this.hide();
117
+ return;
118
+ }
119
+ });
120
+ }
121
+ };
122
+ this.handleDocumentMouseDown = (event) => {
123
+ // Close when clicking outside the containing element
124
+ const path = event.composedPath();
125
+ if (!path.includes(this.container)) {
126
+ void this.hide();
127
+ return;
128
+ }
129
+ };
130
+ this.handlePanelSelect = (event) => {
131
+ const target = event.target;
132
+ // Hide the dropdown when a menu item is selected
133
+ if (this.closeOnSelect && isSixMenu(target)) {
134
+ void this.hide();
135
+ this.focusOnTrigger();
136
+ }
137
+ };
138
+ this.handleTriggerClick = () => {
139
+ this.open ? this.hide() : this.show();
140
+ };
141
+ this.handleTriggerKeyDown = (event) => {
142
+ // Close when escape or tab is pressed
143
+ if (event.key === 'Escape') {
144
+ this.focusOnTrigger();
145
+ void this.hide();
146
+ return;
147
+ }
148
+ // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same
149
+ // key again to hide the menu in case they don't want to make a selection.
150
+ if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {
151
+ event.preventDefault();
152
+ this.open ? void this.hide() : void this.show();
153
+ return;
154
+ }
155
+ const menu = this.getMenu();
156
+ // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a
157
+ // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for
158
+ // faster navigation.
159
+ if (['ArrowDown', 'ArrowUp'].includes(event.key)) {
160
+ event.preventDefault();
161
+ // Show the menu if it's not already open
162
+ if (!this.open) {
163
+ void this.show();
164
+ }
165
+ if (menu == null) {
166
+ return;
167
+ }
168
+ const menuItems = [...menu.querySelectorAll('six-menu-item')];
169
+ const firstMenuItem = menuItems.at(0);
170
+ const lastMenuItem = menuItems.at(menuItems.length - 1);
171
+ // Focus on a menu item
172
+ if (event.key === 'ArrowDown' && firstMenuItem != null) {
173
+ firstMenuItem.setFocus();
174
+ return;
175
+ }
176
+ if (event.key === 'ArrowUp' && lastMenuItem != null) {
177
+ lastMenuItem.setFocus();
178
+ return;
179
+ }
180
+ }
181
+ // Other keys bring focus to the menu and initiate type-to-select behavior
182
+ const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];
183
+ if (this.open && menu != null && !ignoredKeys.includes(event.key)) {
184
+ void menu.typeToSelect(event.key);
185
+ return;
186
+ }
187
+ };
188
+ this.handleTriggerKeyUp = (event) => {
189
+ // Prevent space from triggering a click event in Firefox
190
+ if (event.key === ' ') {
191
+ event.preventDefault();
192
+ }
193
+ };
194
+ this.handleTriggerSlotChange = () => {
195
+ this.updateAccessibleTrigger();
196
+ };
197
+ this.handleDropdownScroll = () => {
198
+ if (this.panel == null)
199
+ return;
200
+ this.sixScroll.emit({
201
+ scrollHeight: this.panel.scrollHeight,
202
+ scrollTop: this.panel.scrollTop,
203
+ scrollbarHeight: this.panel.offsetHeight * (this.panel.offsetHeight / this.panel.scrollHeight),
204
+ scrollRatio: this.panel.scrollTop / (this.panel.scrollHeight - this.panel.clientHeight),
205
+ });
75
206
  };
76
207
  this.open = false;
77
208
  this.placement = 'bottom-start';
@@ -86,9 +217,9 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
86
217
  this.autofocusFilter = true;
87
218
  this.filterDebounce = DEFAULT_DEBOUNCE_FAST;
88
219
  this.disableHideOnEnterAndSpace = false;
89
- this.options = null;
220
+ this.options = [];
90
221
  this.virtualScroll = false;
91
- this._options = null;
222
+ this.filteredOptions = [];
92
223
  }
93
224
  get hasFilterEnabled() {
94
225
  return this.filter || this.asyncFilter;
@@ -101,6 +232,8 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
101
232
  this.updateAccessibleTrigger();
102
233
  }
103
234
  handlePopoverOptionsChange() {
235
+ if (this.popover == null)
236
+ return;
104
237
  this.popover.setOptions({
105
238
  strategy: this.hoist ? 'fixed' : 'absolute',
106
239
  placement: this.placement,
@@ -109,25 +242,18 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
109
242
  });
110
243
  }
111
244
  handleOptionsChange() {
112
- this._options = [...this.options];
245
+ if (Array.isArray(this.options)) {
246
+ this.filteredOptions = [...this.options];
247
+ }
113
248
  }
114
249
  connectedCallback() {
115
250
  if (this.virtualScroll && this.options === null) {
116
251
  console.error('Options must be defined when using virtual scrolling');
117
252
  }
118
- if (this.options !== null) {
119
- this._options = [...this.options];
253
+ if (Array.isArray(this.options)) {
254
+ this.filteredOptions = [...this.options];
120
255
  }
121
- this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);
122
- this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);
123
- this.handleMenuItemActivate = this.handleMenuItemActivate.bind(this);
124
- this.handlePanelSelect = this.handlePanelSelect.bind(this);
125
- this.handleTriggerClick = this.handleTriggerClick.bind(this);
126
- this.handleTriggerKeyDown = this.handleTriggerKeyDown.bind(this);
127
- this.handleTriggerKeyUp = this.handleTriggerKeyUp.bind(this);
128
- this.handleTriggerSlotChange = this.handleTriggerSlotChange.bind(this);
129
- this.handleDropdownScroll = this.handleDropdownScroll.bind(this);
130
- if (this.hasBeenInitialized && !this.popover) {
256
+ if (this.hasBeenInitialized && this.popover == null) {
131
257
  // there was a weird bug when using six-dropdown inside an ag-grid filter. When closing the ag-grid filter
132
258
  // disconnectedCallback() is executed. However, since componentDidLoad() will not be rerendered the popover had
133
259
  // no longer a connected transitionEnd callback to the dropdown. To fix this, we have this sanity check here,
@@ -146,15 +272,17 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
146
272
  this.setupFiltering(this.handleFilterInputChange);
147
273
  }
148
274
  else if (this.asyncFilter) {
149
- this.setupFiltering(() => this.sixAsyncFilterFired.emit({ filterValue: this.filterInputElement.value }));
275
+ this.setupFiltering(() => { var _a, _b; return this.sixAsyncFilterFired.emit({ filterValue: (_b = (_a = this.filterInputElement) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '' }); });
150
276
  }
151
277
  }
152
278
  initializePopover() {
279
+ if (this.trigger == null || this.positioner == null)
280
+ return;
153
281
  const onAfterHide = () => {
154
- if (this.filter) {
282
+ if (this.filter && this.filterInputElement != null) {
155
283
  this.filterInputElement.value = '';
156
- if (this._options !== null) {
157
- this._options = [...this.options];
284
+ if (this.filteredOptions.length > 0) {
285
+ this.filteredOptions = [...this.options];
158
286
  }
159
287
  else {
160
288
  const menuItems = this.getMenuItems();
@@ -164,14 +292,15 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
164
292
  this.sixAfterHide.emit();
165
293
  };
166
294
  const onAfterShow = async () => {
295
+ var _a;
167
296
  if (this.hasFilterEnabled && this.autofocusFilter) {
168
297
  // if dropdown filter is enabled we should autofocus the search field
169
- await this.filterInputElement.setFocus();
298
+ await ((_a = this.filterInputElement) === null || _a === void 0 ? void 0 : _a.setFocus());
170
299
  }
171
300
  this.sixAfterShow.emit();
172
301
  };
173
302
  const onTransitionEnd = () => {
174
- if (!this.open) {
303
+ if (!this.open && this.panel != null) {
175
304
  this.panel.scrollTop = 0;
176
305
  }
177
306
  };
@@ -187,14 +316,16 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
187
316
  });
188
317
  }
189
318
  setupFiltering(callback) {
190
- this.eventListeners.add(this.filterInputElement, 'six-input-input', debounce(callback, this.filterDebounce));
319
+ if (this.filterInputElement != null) {
320
+ this.eventListeners.add(this.filterInputElement, 'six-input-input', debounce(callback, this.filterDebounce));
321
+ }
191
322
  }
192
323
  handleFilteringForAttributeItems(lowerCaseFilterTerm) {
193
- if (lowerCaseFilterTerm === '') {
194
- this._options = [...this.options];
324
+ if (lowerCaseFilterTerm === '' && Array.isArray(this.options)) {
325
+ this.filteredOptions = [...this.options];
195
326
  return;
196
327
  }
197
- this._options = this.options.filter((option) => {
328
+ this.filteredOptions = this.options.filter((option) => {
198
329
  var _a, _b, _c, _d;
199
330
  return (option.label && ((_b = (_a = String(option.label)) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes(lowerCaseFilterTerm))) ||
200
331
  (option.value && ((_d = (_c = String(option.value)) === null || _c === void 0 ? void 0 : _c.toLowerCase()) === null || _d === void 0 ? void 0 : _d.includes(lowerCaseFilterTerm)));
@@ -211,15 +342,16 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
211
342
  });
212
343
  }
213
344
  disconnectedCallback() {
345
+ var _a;
214
346
  this.eventListeners.removeAll();
215
347
  void this.hide();
216
- this.popover.destroy();
217
- this.popover = null;
348
+ (_a = this.popover) === null || _a === void 0 ? void 0 : _a.destroy();
349
+ this.popover = undefined;
218
350
  }
219
351
  /** Shows the dropdown panel */
220
352
  async show() {
221
353
  // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
222
- if (this.isVisible) {
354
+ if (this.isVisible || this.popover == null || this.panel == null) {
223
355
  return;
224
356
  }
225
357
  const sixShow = this.sixShow.emit();
@@ -237,7 +369,7 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
237
369
  /** Hides the dropdown panel */
238
370
  async hide() {
239
371
  // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
240
- if (!this.isVisible) {
372
+ if (!this.isVisible || this.panel == null || this.popover == null) {
241
373
  return;
242
374
  }
243
375
  const sixHide = this.sixHide.emit();
@@ -253,8 +385,10 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
253
385
  this.popover.hide();
254
386
  }
255
387
  focusOnTrigger() {
388
+ if (this.trigger == null)
389
+ return;
256
390
  const [trigger] = getSlotChildren(this.trigger);
257
- if (trigger) {
391
+ if (trigger != null) {
258
392
  if (typeof trigger.setFocus === 'function') {
259
393
  trigger.setFocus();
260
394
  }
@@ -264,143 +398,20 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
264
398
  }
265
399
  }
266
400
  getMenu() {
267
- const [menu] = getSlotChildren(this.panel).filter(isSixMenu);
268
- return menu;
401
+ if (this.panel == null)
402
+ return;
403
+ return getSlotChildren(this.panel).filter(isSixMenu).at(0);
269
404
  }
270
405
  /**
271
406
  * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu
272
407
  * is activated.
273
408
  */
274
409
  async reposition() {
275
- if (!this.open) {
410
+ if (!this.open || this.popover == null) {
276
411
  return;
277
412
  }
278
413
  this.popover.reposition();
279
414
  }
280
- handleDocumentKeyDown(event) {
281
- // Close when escape is pressed
282
- if (event.key === 'Escape') {
283
- void this.hide();
284
- this.focusOnTrigger();
285
- return;
286
- }
287
- if (this.filterInputElement === this.host.shadowRoot.activeElement) {
288
- if (event.key === 'ArrowDown') {
289
- const item = this.getMenuItems().find((item) => item.style.display !== 'none');
290
- if (item) {
291
- item.setFocus();
292
- }
293
- }
294
- }
295
- // Handle tabbing
296
- if (event.key === 'Tab') {
297
- // Tabbing within an open menu should close the dropdown and refocus the trigger
298
- if (this.open && isSixMenuItem(document.activeElement)) {
299
- event.preventDefault();
300
- void this.hide();
301
- this.focusOnTrigger();
302
- return;
303
- }
304
- // Tabbing outside of the containing element closes the panel
305
- //
306
- // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,
307
- // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.
308
- setTimeout(() => {
309
- var _a;
310
- const activeElement = this.container.getRootNode() instanceof ShadowRoot
311
- ? (_a = document.activeElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement
312
- : document.activeElement;
313
- if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.closest(this.container.tagName.toLowerCase())) !== this.container) {
314
- void this.hide();
315
- return;
316
- }
317
- });
318
- }
319
- }
320
- handleDocumentMouseDown(event) {
321
- // Close when clicking outside of the containing element
322
- const path = event.composedPath();
323
- if (!path.includes(this.container)) {
324
- void this.hide();
325
- return;
326
- }
327
- }
328
- handleMenuItemActivate(event) {
329
- const item = event.target;
330
- scrollIntoView(item, this.panel);
331
- }
332
- handlePanelSelect(event) {
333
- const target = event.target;
334
- // Hide the dropdown when a menu item is selected
335
- if (this.closeOnSelect && isSixMenu(target)) {
336
- void this.hide();
337
- this.focusOnTrigger();
338
- }
339
- }
340
- handleTriggerClick() {
341
- this.open ? this.hide() : this.show();
342
- }
343
- handleTriggerKeyDown(event) {
344
- const menu = this.getMenu();
345
- const menuItems = menu ? [...menu.querySelectorAll('six-menu-item')] : null;
346
- const firstMenuItem = menuItems[0];
347
- const lastMenuItem = menuItems[menuItems.length - 1];
348
- // Close when escape or tab is pressed
349
- if (event.key === 'Escape') {
350
- this.focusOnTrigger();
351
- void this.hide();
352
- return;
353
- }
354
- // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same
355
- // key again to hide the menu in case they don't want to make a selection.
356
- if (!this.disableHideOnEnterAndSpace && [' ', 'Enter'].includes(event.key)) {
357
- event.preventDefault();
358
- this.open ? void this.hide() : void this.show();
359
- return;
360
- }
361
- // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a
362
- // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for
363
- // faster navigation.
364
- if (['ArrowDown', 'ArrowUp'].includes(event.key)) {
365
- event.preventDefault();
366
- // Show the menu if it's not already open
367
- if (!this.open) {
368
- void this.show();
369
- }
370
- // Focus on a menu item
371
- if (event.key === 'ArrowDown' && firstMenuItem) {
372
- firstMenuItem.setFocus();
373
- return;
374
- }
375
- if (event.key === 'ArrowUp' && lastMenuItem) {
376
- lastMenuItem.setFocus();
377
- return;
378
- }
379
- }
380
- // Other keys bring focus to the menu and initiate type-to-select behavior
381
- const ignoredKeys = ['Tab', 'Shift', 'Meta', 'Ctrl', 'Alt'];
382
- if (this.open && menu && !ignoredKeys.includes(event.key)) {
383
- void menu.typeToSelect(event.key);
384
- return;
385
- }
386
- }
387
- handleTriggerKeyUp(event) {
388
- // Prevent space from triggering a click event in Firefox
389
- if (event.key === ' ') {
390
- event.preventDefault();
391
- }
392
- }
393
- handleTriggerSlotChange() {
394
- this.updateAccessibleTrigger();
395
- }
396
- handleDropdownScroll() {
397
- this.sixScroll.emit({
398
- scrollHeight: this.panel.scrollHeight,
399
- scrollTop: this.panel.scrollTop,
400
- scrollbarHeight: this.panel.offsetHeight * (this.panel.offsetHeight / this.panel.scrollHeight),
401
- scrollRatio: this.panel.scrollTop / (this.panel.scrollHeight - this.panel.clientHeight),
402
- });
403
- }
404
415
  //
405
416
  // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and
406
417
  // `aria-expanded`. These must be applied to the "accessible trigger" (the tabbable portion of the trigger element
@@ -412,8 +423,10 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
412
423
  // To determine this, we assume the first tabbable element in the trigger slot is the "accessible trigger."
413
424
  //
414
425
  updateAccessibleTrigger() {
415
- const [accessibleTrigger] = getSlotChildren(this.trigger).map(getNearestTabbableElement);
416
- if (accessibleTrigger) {
426
+ if (this.trigger == null)
427
+ return;
428
+ const accessibleTrigger = getSlotChildren(this.trigger).map(getNearestTabbableElement).at(0);
429
+ if (accessibleTrigger != null) {
417
430
  accessibleTrigger.setAttribute('aria-haspopup', 'true');
418
431
  accessibleTrigger.setAttribute('aria-expanded', this.open ? 'true' : 'false');
419
432
  }
@@ -427,7 +440,7 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
427
440
  dropdown__positioner__filtered: (this.filter || this.asyncFilter) && !this.hoist,
428
441
  } }, this.hasFilterEnabled && (h("six-input", { class: {
429
442
  'filter-hidden': !this.open,
430
- }, "aria-hidden": this.open ? 'false' : 'true', ref: (el) => (this.filterInputElement = el), placeholder: this.filterPlaceholder })), h("div", { ref: (el) => (this.panel = el), part: "panel", class: "dropdown__panel", role: "menu", "aria-hidden": this.open ? 'false' : 'true', "aria-labelledby": this.componentId, onScroll: this.handleDropdownScroll }, h("slot", null), this._options && (h("six-menu", { part: "menu", items: this._options, virtualScroll: this.virtualScroll }))))));
443
+ }, "aria-hidden": this.open ? 'false' : 'true', ref: (el) => (this.filterInputElement = el), placeholder: this.filterPlaceholder })), h("div", { ref: (el) => (this.panel = el), part: "panel", class: "dropdown__panel", role: "menu", "aria-hidden": this.open ? 'false' : 'true', "aria-labelledby": this.componentId, onScroll: this.handleDropdownScroll }, h("slot", null), this.filteredOptions.length > 0 && (h("six-menu", { part: "menu", items: this.filteredOptions, virtualScroll: this.virtualScroll }))))));
431
444
  }
432
445
  get host() { return this; }
433
446
  static get watchers() { return {
@@ -455,7 +468,7 @@ const SixDropdown = /*@__PURE__*/ proxyCustomElement(class SixDropdown extends H
455
468
  "disableHideOnEnterAndSpace": [4, "disable-hide-on-enter-and-space"],
456
469
  "options": [16],
457
470
  "virtualScroll": [4, "virtual-scroll"],
458
- "_options": [32],
471
+ "filteredOptions": [32],
459
472
  "show": [64],
460
473
  "hide": [64],
461
474
  "reposition": [64]
@@ -464,13 +477,18 @@ function defineCustomElement() {
464
477
  if (typeof customElements === "undefined") {
465
478
  return;
466
479
  }
467
- const components = ["six-dropdown", "six-icon", "six-input", "six-menu", "six-menu-item"];
480
+ const components = ["six-dropdown", "six-error", "six-icon", "six-input", "six-menu", "six-menu-item"];
468
481
  components.forEach(tagName => { switch (tagName) {
469
482
  case "six-dropdown":
470
483
  if (!customElements.get(tagName)) {
471
484
  customElements.define(tagName, SixDropdown);
472
485
  }
473
486
  break;
487
+ case "six-error":
488
+ if (!customElements.get(tagName)) {
489
+ defineCustomElement$5();
490
+ }
491
+ break;
474
492
  case "six-icon":
475
493
  if (!customElements.get(tagName)) {
476
494
  defineCustomElement$4();