@six-group/ui-library 4.0.0-beta.1 → 4.0.0-beta.2

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 (973) hide show
  1. package/dist/cjs/event-listeners-fdfe838c.js +61 -0
  2. package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
  3. package/dist/cjs/{execution-control-46f388e0.js → execution-control-b4707294.js} +6 -3
  4. package/dist/cjs/execution-control-b4707294.js.map +1 -0
  5. package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-ae2470dd.js} +3 -3
  6. package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
  7. package/dist/cjs/form-2df8c5bb.js +20 -0
  8. package/dist/cjs/form-2df8c5bb.js.map +1 -0
  9. package/dist/cjs/{form-control-2c17c573.js → form-control-d369af14.js} +10 -11
  10. package/dist/cjs/form-control-d369af14.js.map +1 -0
  11. package/dist/cjs/{index-2f6daa5b.js → index-900437fc.js} +186 -53
  12. package/dist/cjs/index-900437fc.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +94 -0
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +3 -12
  16. package/dist/cjs/loader.cjs.js.map +1 -1
  17. package/dist/cjs/{modal-48d42228.js → modal-d5f074c7.js} +4 -3
  18. package/dist/cjs/modal-d5f074c7.js.map +1 -0
  19. package/dist/cjs/{popover-f743f62b.js → popover-2df7e154.js} +39 -31
  20. package/dist/cjs/popover-2df7e154.js.map +1 -0
  21. package/dist/cjs/popup-f1d9910f.js +103 -0
  22. package/dist/cjs/popup-f1d9910f.js.map +1 -0
  23. package/dist/cjs/{scroll-76e6f5d7.js → scroll-03678de1.js} +1 -1
  24. package/dist/cjs/scroll-03678de1.js.map +1 -0
  25. package/dist/cjs/set-attributes_2.cjs.entry.js +4 -2
  26. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-alert.cjs.entry.js +18 -23
  28. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  29. package/dist/cjs/six-avatar.cjs.entry.js +5 -8
  30. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-badge.cjs.entry.js +2 -2
  32. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-button.cjs.entry.js +36 -34
  34. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-card.cjs.entry.js +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-checkbox.cjs.entry.js +50 -85
  38. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-datepicker.cjs.entry.js +154 -280
  40. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-details.cjs.entry.js +48 -47
  42. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-dialog.cjs.entry.js +37 -41
  44. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-drawer.cjs.entry.js +34 -38
  46. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-dropdown_2.cjs.entry.js +215 -196
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-error-page.cjs.entry.js +20 -22
  50. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
  52. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  54. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-file-upload.cjs.entry.js +21 -21
  56. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  58. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-group-label.cjs.entry.js +12 -11
  60. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-header.cjs.entry.js +66 -44
  62. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
  64. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  66. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-input.cjs.entry.js +95 -128
  68. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-item-picker.cjs.entry.js +62 -81
  70. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  72. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-layout-grid.cjs.entry.js +5 -3
  74. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  76. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  78. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-menu-item.cjs.entry.js +9 -7
  80. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  81. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  82. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-picto.cjs.entry.js +5 -2
  84. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  86. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -4
  88. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-radio.cjs.entry.js +63 -72
  90. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-range.cjs.entry.js +107 -106
  92. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-root.cjs.entry.js +2 -2
  94. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-search-field.cjs.entry.js +11 -6
  96. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-select.cjs.entry.js +190 -223
  98. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +10 -6
  100. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  102. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-sidebar.cjs.entry.js +41 -20
  104. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  106. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-switch.cjs.entry.js +58 -64
  108. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-tab-group.cjs.entry.js +132 -114
  110. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  112. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  113. package/dist/cjs/six-tab.cjs.entry.js +5 -3
  114. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  115. package/dist/cjs/six-tag.cjs.entry.js +6 -9
  116. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  117. package/dist/cjs/six-textarea.cjs.entry.js +82 -108
  118. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  119. package/dist/cjs/six-tile.cjs.entry.js +14 -17
  120. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  121. package/dist/cjs/six-timepicker.cjs.entry.js +159 -215
  122. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  123. package/dist/cjs/six-tooltip.cjs.entry.js +54 -57
  124. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  125. package/dist/cjs/{slot-ad537f24.js → slot-6e6a400f.js} +11 -10
  126. package/dist/cjs/slot-6e6a400f.js.map +1 -0
  127. package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
  128. package/dist/cjs/types-47199040.js.map +1 -0
  129. package/dist/cjs/ui-library.cjs.js +3 -6
  130. package/dist/cjs/ui-library.cjs.js.map +1 -1
  131. package/dist/collection/collection-manifest.json +54 -55
  132. package/dist/collection/components/six-alert/six-alert.js +32 -30
  133. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  134. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  135. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  136. package/dist/collection/components/six-avatar/six-avatar.js +5 -8
  137. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  138. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  139. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  140. package/dist/collection/components/six-badge/six-badge.js +2 -2
  141. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  142. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  143. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  144. package/dist/collection/components/six-button/six-button.js +56 -47
  145. package/dist/collection/components/six-button/six-button.js.map +1 -1
  146. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  147. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  148. package/dist/collection/components/six-card/six-card.js +1 -1
  149. package/dist/collection/components/six-card/six-card.js.map +1 -1
  150. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  151. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  152. package/dist/collection/components/six-checkbox/six-checkbox.js +81 -194
  153. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  154. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +79 -0
  155. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  156. package/dist/collection/components/six-datepicker/components/day-selection.js +3 -3
  157. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  158. package/dist/collection/components/six-datepicker/components/month-selection.js +6 -5
  159. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  160. package/dist/collection/components/six-datepicker/components/year-selection.js +11 -8
  161. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  162. package/dist/collection/components/six-datepicker/six-datepicker.js +219 -395
  163. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  164. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  165. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  166. package/dist/collection/components/six-details/six-details.js +65 -58
  167. package/dist/collection/components/six-details/six-details.js.map +1 -1
  168. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  169. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  170. package/dist/collection/components/six-dialog/six-dialog.js +55 -51
  171. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  172. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  173. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  174. package/dist/collection/components/six-drawer/six-drawer.js +52 -48
  175. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  176. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  177. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  178. package/dist/collection/components/six-dropdown/six-dropdown.js +215 -191
  179. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  180. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  181. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  182. package/dist/collection/components/six-error-page/six-error-page.js +26 -28
  183. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  184. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  185. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  186. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  187. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  188. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  189. package/dist/collection/components/six-file-list-item/six-file-list-item.js +8 -6
  190. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  191. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  192. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  193. package/dist/collection/components/six-file-upload/six-file-upload.js +37 -35
  194. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  195. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  196. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  197. package/dist/collection/components/six-footer/six-footer.js +1 -1
  198. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  199. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  200. package/dist/collection/components/six-group-label/six-group-label.js +15 -13
  201. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  202. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +43 -0
  203. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  204. package/dist/collection/components/six-header/six-header.js +82 -52
  205. package/dist/collection/components/six-header/six-header.js.map +1 -1
  206. package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
  207. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  208. package/dist/collection/components/six-icon/six-icon.js +1 -1
  209. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  210. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  211. package/dist/collection/components/six-icon-button/six-icon-button.js +10 -10
  212. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  213. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  214. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  215. package/dist/collection/components/six-input/six-input.css +1 -1
  216. package/dist/collection/components/six-input/six-input.js +189 -362
  217. package/dist/collection/components/six-input/six-input.js.map +1 -1
  218. package/dist/collection/components/six-input/test/six-input.spec.js +37 -0
  219. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  220. package/dist/collection/components/six-item-picker/six-item-picker.js +79 -94
  221. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  222. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  223. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  224. package/dist/collection/components/six-language-switcher/six-language-switcher.js +7 -5
  225. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  226. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  227. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  228. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  229. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  230. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  231. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  232. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  233. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  234. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  235. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  236. package/dist/collection/components/six-menu/six-menu.js +41 -31
  237. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  238. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  239. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  240. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  241. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  242. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  243. package/dist/collection/components/six-menu-item/six-menu-item.js +17 -11
  244. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  245. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  246. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  247. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  248. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  249. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  250. package/dist/collection/components/six-picto/six-picto.js +5 -2
  251. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  252. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  253. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  254. package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
  255. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  256. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  257. package/dist/collection/components/six-progress-ring/six-progress-ring.js +6 -5
  258. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  259. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  260. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  261. package/dist/collection/components/six-radio/six-radio.js +82 -148
  262. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  263. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  264. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  265. package/dist/collection/components/six-range/six-range.js +149 -190
  266. package/dist/collection/components/six-range/six-range.js.map +1 -1
  267. package/dist/collection/components/six-range/test/six-range.spec.js +32 -0
  268. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  269. package/dist/collection/components/six-root/six-root.js +9 -7
  270. package/dist/collection/components/six-root/six-root.js.map +1 -1
  271. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  272. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  273. package/dist/collection/components/six-search-field/six-search-field.js +15 -9
  274. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  275. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  276. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  277. package/dist/collection/components/six-select/six-select.css +6 -9
  278. package/dist/collection/components/six-select/six-select.js +235 -349
  279. package/dist/collection/components/six-select/six-select.js.map +1 -1
  280. package/dist/collection/components/six-select/test/six-select.spec.js +82 -0
  281. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  282. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  283. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  284. package/dist/collection/components/six-select/util.js +52 -0
  285. package/dist/collection/components/six-select/util.js.map +1 -0
  286. package/dist/collection/components/six-sidebar/six-sidebar.js +66 -33
  287. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  288. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  289. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  290. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
  291. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  292. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  293. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +14 -10
  294. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  295. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  296. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  297. package/dist/collection/components/six-spinner/six-spinner.js +1 -1
  298. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  299. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  300. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  301. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +4 -3
  302. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  303. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  304. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  305. package/dist/collection/components/six-switch/six-switch.css +77 -0
  306. package/dist/collection/components/six-switch/six-switch.js +108 -139
  307. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  308. package/dist/collection/components/six-switch/test/six-switch.spec.js +69 -0
  309. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  310. package/dist/collection/components/six-tab/six-tab.js +13 -7
  311. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  312. package/dist/collection/components/six-tab/test/six-tab.spec.js +20 -0
  313. package/dist/collection/components/six-tab/test/six-tab.spec.js.map +1 -0
  314. package/dist/collection/components/six-tab-group/six-tab-group.js +140 -119
  315. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  316. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js +45 -0
  317. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js.map +1 -0
  318. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  319. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  320. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  321. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  322. package/dist/collection/components/six-tag/six-tag.css +6 -0
  323. package/dist/collection/components/six-tag/six-tag.js +7 -9
  324. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  325. package/dist/collection/components/six-tag/test/six-tag.spec.js +42 -0
  326. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  327. package/dist/collection/components/six-textarea/six-textarea.js +167 -282
  328. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  329. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +117 -0
  330. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  331. package/dist/collection/components/six-tile/six-tile.js +26 -25
  332. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  333. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  334. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  335. package/dist/collection/components/six-timepicker/six-timepicker.js +169 -264
  336. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  337. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  338. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  339. package/dist/collection/components/six-tooltip/six-tooltip.js +69 -66
  340. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  341. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  342. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  343. package/dist/collection/functional-components/form-control/form-control.js +9 -10
  344. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  345. package/dist/collection/index.js +1 -1
  346. package/dist/collection/index.js.map +1 -1
  347. package/dist/collection/testUtil/delay.js.map +1 -1
  348. package/dist/collection/utils/date-util.js +25 -16
  349. package/dist/collection/utils/date-util.js.map +1 -1
  350. package/dist/collection/utils/date-util.spec.js +995 -0
  351. package/dist/collection/utils/date-util.spec.js.map +1 -0
  352. package/dist/collection/utils/error-messages.js +91 -0
  353. package/dist/collection/utils/error-messages.js.map +1 -0
  354. package/dist/collection/utils/event-listeners.js +22 -6
  355. package/dist/collection/utils/event-listeners.js.map +1 -1
  356. package/dist/collection/utils/execution-control.js +5 -4
  357. package/dist/collection/utils/execution-control.js.map +1 -1
  358. package/dist/collection/utils/focus-visible.js +2 -2
  359. package/dist/collection/utils/focus-visible.js.map +1 -1
  360. package/dist/collection/utils/form.js +15 -0
  361. package/dist/collection/utils/form.js.map +1 -0
  362. package/dist/collection/utils/modal.js +3 -2
  363. package/dist/collection/utils/modal.js.map +1 -1
  364. package/dist/collection/utils/popover.js +33 -19
  365. package/dist/collection/utils/popover.js.map +1 -1
  366. package/dist/collection/utils/popup.js +95 -0
  367. package/dist/collection/utils/popup.js.map +1 -0
  368. package/dist/collection/utils/scroll.js +1 -1
  369. package/dist/collection/utils/scroll.spec.js +122 -0
  370. package/dist/collection/utils/scroll.spec.js.map +1 -0
  371. package/dist/collection/utils/slot.js +9 -24
  372. package/dist/collection/utils/slot.js.map +1 -1
  373. package/dist/collection/utils/tabbable.js +6 -6
  374. package/dist/collection/utils/tabbable.js.map +1 -1
  375. package/dist/collection/utils/time.util.js +48 -34
  376. package/dist/collection/utils/time.util.js.map +1 -1
  377. package/dist/collection/utils/time.util.spec.js +368 -0
  378. package/dist/collection/utils/time.util.spec.js.map +1 -0
  379. package/dist/collection/utils/type-check.js +0 -1
  380. package/dist/collection/utils/type-check.js.map +1 -1
  381. package/dist/collection/wrappers/set-attributes/set-attributes.js +4 -2
  382. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  383. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  384. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  385. package/dist/components/event-listeners.js +22 -6
  386. package/dist/components/event-listeners.js.map +1 -1
  387. package/dist/components/execution-control.js +5 -2
  388. package/dist/components/execution-control.js.map +1 -1
  389. package/dist/components/focus-visible.js +2 -2
  390. package/dist/components/focus-visible.js.map +1 -1
  391. package/dist/components/form-control.js +8 -9
  392. package/dist/components/form-control.js.map +1 -1
  393. package/dist/components/form.js +18 -0
  394. package/dist/components/form.js.map +1 -0
  395. package/dist/components/index.js +92 -3
  396. package/dist/components/index.js.map +1 -1
  397. package/dist/components/modal.js +3 -2
  398. package/dist/components/modal.js.map +1 -1
  399. package/dist/components/popover.js +38 -30
  400. package/dist/components/popover.js.map +1 -1
  401. package/dist/components/scroll.js.map +1 -1
  402. package/dist/components/set-attributes2.js +3 -1
  403. package/dist/components/set-attributes2.js.map +1 -1
  404. package/dist/components/six-alert.js +17 -22
  405. package/dist/components/six-alert.js.map +1 -1
  406. package/dist/components/six-avatar.js +4 -7
  407. package/dist/components/six-avatar.js.map +1 -1
  408. package/dist/components/six-badge.js +1 -1
  409. package/dist/components/six-badge.js.map +1 -1
  410. package/dist/components/six-button.js +34 -32
  411. package/dist/components/six-button.js.map +1 -1
  412. package/dist/components/six-card.js.map +1 -1
  413. package/dist/components/six-checkbox.js +48 -89
  414. package/dist/components/six-checkbox.js.map +1 -1
  415. package/dist/components/six-datepicker.js +153 -282
  416. package/dist/components/six-datepicker.js.map +1 -1
  417. package/dist/components/six-details2.js +46 -45
  418. package/dist/components/six-details2.js.map +1 -1
  419. package/dist/components/six-dialog.js +33 -37
  420. package/dist/components/six-dialog.js.map +1 -1
  421. package/dist/components/six-drawer.js +30 -34
  422. package/dist/components/six-drawer.js.map +1 -1
  423. package/dist/components/six-dropdown2.js +185 -173
  424. package/dist/components/six-dropdown2.js.map +1 -1
  425. package/dist/components/six-error-page.js +19 -21
  426. package/dist/components/six-error-page.js.map +1 -1
  427. package/dist/components/six-file-list-item.js +1 -1
  428. package/dist/components/six-file-list-item.js.map +1 -1
  429. package/dist/components/six-file-list.js.map +1 -1
  430. package/dist/components/six-file-upload.js +20 -20
  431. package/dist/components/six-file-upload.js.map +1 -1
  432. package/dist/components/six-footer.js.map +1 -1
  433. package/dist/components/six-group-label.js +10 -9
  434. package/dist/components/six-group-label.js.map +1 -1
  435. package/dist/components/six-header.js +64 -42
  436. package/dist/components/six-header.js.map +1 -1
  437. package/dist/components/six-icon-button2.js +2 -2
  438. package/dist/components/six-icon-button2.js.map +1 -1
  439. package/dist/components/six-icon2.js.map +1 -1
  440. package/dist/components/six-input2.js +96 -138
  441. package/dist/components/six-input2.js.map +1 -1
  442. package/dist/components/six-item-picker2.js +58 -77
  443. package/dist/components/six-item-picker2.js.map +1 -1
  444. package/dist/components/six-language-switcher.js +1 -1
  445. package/dist/components/six-language-switcher.js.map +1 -1
  446. package/dist/components/six-layout-grid.js +5 -3
  447. package/dist/components/six-layout-grid.js.map +1 -1
  448. package/dist/components/six-main-container.js.map +1 -1
  449. package/dist/components/six-menu-divider.js.map +1 -1
  450. package/dist/components/six-menu-item2.js +7 -5
  451. package/dist/components/six-menu-item2.js.map +1 -1
  452. package/dist/components/six-menu-label.js.map +1 -1
  453. package/dist/components/six-menu2.js +25 -18
  454. package/dist/components/six-menu2.js.map +1 -1
  455. package/dist/components/six-picto2.js +4 -1
  456. package/dist/components/six-picto2.js.map +1 -1
  457. package/dist/components/six-progress-bar.js.map +1 -1
  458. package/dist/components/six-progress-ring.js +3 -3
  459. package/dist/components/six-progress-ring.js.map +1 -1
  460. package/dist/components/six-radio.js +65 -78
  461. package/dist/components/six-radio.js.map +1 -1
  462. package/dist/components/six-range.js +108 -111
  463. package/dist/components/six-range.js.map +1 -1
  464. package/dist/components/six-root.js +1 -1
  465. package/dist/components/six-root.js.map +1 -1
  466. package/dist/components/six-search-field.js +8 -3
  467. package/dist/components/six-search-field.js.map +1 -1
  468. package/dist/components/six-select.js +190 -229
  469. package/dist/components/six-select.js.map +1 -1
  470. package/dist/components/six-sidebar-item-group.js +8 -4
  471. package/dist/components/six-sidebar-item-group.js.map +1 -1
  472. package/dist/components/six-sidebar-item.js.map +1 -1
  473. package/dist/components/six-sidebar.js +39 -18
  474. package/dist/components/six-sidebar.js.map +1 -1
  475. package/dist/components/six-spinner2.js.map +1 -1
  476. package/dist/components/six-stage-indicator2.js.map +1 -1
  477. package/dist/components/six-switch.js +61 -69
  478. package/dist/components/six-switch.js.map +1 -1
  479. package/dist/components/six-tab-group.js +129 -111
  480. package/dist/components/six-tab-group.js.map +1 -1
  481. package/dist/components/six-tab-panel.js +1 -1
  482. package/dist/components/six-tab-panel.js.map +1 -1
  483. package/dist/components/six-tab.js +4 -2
  484. package/dist/components/six-tab.js.map +1 -1
  485. package/dist/components/six-tag2.js +5 -8
  486. package/dist/components/six-tag2.js.map +1 -1
  487. package/dist/components/six-textarea.js +83 -115
  488. package/dist/components/six-textarea.js.map +1 -1
  489. package/dist/components/six-tile.js +14 -17
  490. package/dist/components/six-tile.js.map +1 -1
  491. package/dist/components/six-timepicker.js +1 -1
  492. package/dist/components/six-timepicker2.js +247 -258
  493. package/dist/components/six-timepicker2.js.map +1 -1
  494. package/dist/components/six-tooltip2.js +52 -55
  495. package/dist/components/six-tooltip2.js.map +1 -1
  496. package/dist/components/slot.js +10 -9
  497. package/dist/components/slot.js.map +1 -1
  498. package/dist/components.d.ts +361 -88
  499. package/dist/components.json +4265 -1020
  500. package/dist/esm/event-listeners-f6e5b0ab.js +59 -0
  501. package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
  502. package/dist/esm/{execution-control-1a60d709.js → execution-control-e0892a05.js} +6 -3
  503. package/dist/esm/execution-control-e0892a05.js.map +1 -0
  504. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fc6ac671.js} +3 -3
  505. package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
  506. package/dist/esm/form-81252534.js +18 -0
  507. package/dist/esm/form-81252534.js.map +1 -0
  508. package/dist/esm/{form-control-3b440ea1.js → form-control-32cb533f.js} +10 -11
  509. package/dist/esm/form-control-32cb533f.js.map +1 -0
  510. package/dist/esm/{index-5c0f6628.js → index-8a74f992.js} +186 -53
  511. package/dist/esm/index-8a74f992.js.map +1 -0
  512. package/dist/esm/index.js +91 -0
  513. package/dist/esm/index.js.map +1 -1
  514. package/dist/esm/loader.js +4 -13
  515. package/dist/esm/loader.js.map +1 -1
  516. package/dist/esm/{modal-5ebdc320.js → modal-7d32e141.js} +4 -3
  517. package/dist/esm/modal-7d32e141.js.map +1 -0
  518. package/dist/esm/{popover-bd2c2fca.js → popover-136d1f73.js} +39 -31
  519. package/dist/esm/popover-136d1f73.js.map +1 -0
  520. package/dist/esm/popup-7f89a001.js +98 -0
  521. package/dist/esm/popup-7f89a001.js.map +1 -0
  522. package/dist/esm/{scroll-180b53fd.js → scroll-3fb087a2.js} +1 -1
  523. package/dist/esm/scroll-3fb087a2.js.map +1 -0
  524. package/dist/esm/set-attributes_2.entry.js +4 -2
  525. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  526. package/dist/esm/six-alert.entry.js +18 -23
  527. package/dist/esm/six-alert.entry.js.map +1 -1
  528. package/dist/esm/six-avatar.entry.js +5 -8
  529. package/dist/esm/six-avatar.entry.js.map +1 -1
  530. package/dist/esm/six-badge.entry.js +2 -2
  531. package/dist/esm/six-badge.entry.js.map +1 -1
  532. package/dist/esm/six-button.entry.js +36 -34
  533. package/dist/esm/six-button.entry.js.map +1 -1
  534. package/dist/esm/six-card.entry.js +1 -1
  535. package/dist/esm/six-card.entry.js.map +1 -1
  536. package/dist/esm/six-checkbox.entry.js +50 -85
  537. package/dist/esm/six-checkbox.entry.js.map +1 -1
  538. package/dist/esm/six-datepicker.entry.js +152 -278
  539. package/dist/esm/six-datepicker.entry.js.map +1 -1
  540. package/dist/esm/six-details.entry.js +48 -47
  541. package/dist/esm/six-details.entry.js.map +1 -1
  542. package/dist/esm/six-dialog.entry.js +37 -41
  543. package/dist/esm/six-dialog.entry.js.map +1 -1
  544. package/dist/esm/six-drawer.entry.js +34 -38
  545. package/dist/esm/six-drawer.entry.js.map +1 -1
  546. package/dist/esm/six-dropdown_2.entry.js +215 -196
  547. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  548. package/dist/esm/six-error-page.entry.js +20 -22
  549. package/dist/esm/six-error-page.entry.js.map +1 -1
  550. package/dist/esm/six-file-list-item.entry.js +2 -2
  551. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  552. package/dist/esm/six-file-list.entry.js +1 -1
  553. package/dist/esm/six-file-list.entry.js.map +1 -1
  554. package/dist/esm/six-file-upload.entry.js +21 -21
  555. package/dist/esm/six-file-upload.entry.js.map +1 -1
  556. package/dist/esm/six-footer.entry.js +1 -1
  557. package/dist/esm/six-footer.entry.js.map +1 -1
  558. package/dist/esm/six-group-label.entry.js +12 -11
  559. package/dist/esm/six-group-label.entry.js.map +1 -1
  560. package/dist/esm/six-header.entry.js +66 -44
  561. package/dist/esm/six-header.entry.js.map +1 -1
  562. package/dist/esm/six-icon-button.entry.js +4 -4
  563. package/dist/esm/six-icon-button.entry.js.map +1 -1
  564. package/dist/esm/six-icon.entry.js +1 -1
  565. package/dist/esm/six-icon.entry.js.map +1 -1
  566. package/dist/esm/six-input.entry.js +95 -128
  567. package/dist/esm/six-input.entry.js.map +1 -1
  568. package/dist/esm/six-item-picker.entry.js +62 -81
  569. package/dist/esm/six-item-picker.entry.js.map +1 -1
  570. package/dist/esm/six-language-switcher.entry.js +2 -2
  571. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  572. package/dist/esm/six-layout-grid.entry.js +5 -3
  573. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  574. package/dist/esm/six-main-container.entry.js +1 -1
  575. package/dist/esm/six-main-container.entry.js.map +1 -1
  576. package/dist/esm/six-menu-divider.entry.js +1 -1
  577. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  578. package/dist/esm/six-menu-item.entry.js +9 -7
  579. package/dist/esm/six-menu-item.entry.js.map +1 -1
  580. package/dist/esm/six-menu-label.entry.js +1 -1
  581. package/dist/esm/six-menu-label.entry.js.map +1 -1
  582. package/dist/esm/six-picto.entry.js +5 -2
  583. package/dist/esm/six-picto.entry.js.map +1 -1
  584. package/dist/esm/six-progress-bar.entry.js +1 -1
  585. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  586. package/dist/esm/six-progress-ring.entry.js +4 -4
  587. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  588. package/dist/esm/six-radio.entry.js +63 -72
  589. package/dist/esm/six-radio.entry.js.map +1 -1
  590. package/dist/esm/six-range.entry.js +107 -106
  591. package/dist/esm/six-range.entry.js.map +1 -1
  592. package/dist/esm/six-root.entry.js +2 -2
  593. package/dist/esm/six-root.entry.js.map +1 -1
  594. package/dist/esm/six-search-field.entry.js +11 -6
  595. package/dist/esm/six-search-field.entry.js.map +1 -1
  596. package/dist/esm/six-select.entry.js +190 -223
  597. package/dist/esm/six-select.entry.js.map +1 -1
  598. package/dist/esm/six-sidebar-item-group.entry.js +10 -6
  599. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  600. package/dist/esm/six-sidebar-item.entry.js +1 -1
  601. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  602. package/dist/esm/six-sidebar.entry.js +41 -20
  603. package/dist/esm/six-sidebar.entry.js.map +1 -1
  604. package/dist/esm/six-spinner.entry.js +1 -1
  605. package/dist/esm/six-spinner.entry.js.map +1 -1
  606. package/dist/esm/six-switch.entry.js +58 -64
  607. package/dist/esm/six-switch.entry.js.map +1 -1
  608. package/dist/esm/six-tab-group.entry.js +132 -114
  609. package/dist/esm/six-tab-group.entry.js.map +1 -1
  610. package/dist/esm/six-tab-panel.entry.js +2 -2
  611. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  612. package/dist/esm/six-tab.entry.js +5 -3
  613. package/dist/esm/six-tab.entry.js.map +1 -1
  614. package/dist/esm/six-tag.entry.js +6 -9
  615. package/dist/esm/six-tag.entry.js.map +1 -1
  616. package/dist/esm/six-textarea.entry.js +82 -108
  617. package/dist/esm/six-textarea.entry.js.map +1 -1
  618. package/dist/esm/six-tile.entry.js +14 -17
  619. package/dist/esm/six-tile.entry.js.map +1 -1
  620. package/dist/esm/six-timepicker.entry.js +159 -215
  621. package/dist/esm/six-timepicker.entry.js.map +1 -1
  622. package/dist/esm/six-tooltip.entry.js +54 -57
  623. package/dist/esm/six-tooltip.entry.js.map +1 -1
  624. package/dist/esm/{slot-6f3984c7.js → slot-ad36df3a.js} +11 -10
  625. package/dist/esm/slot-ad36df3a.js.map +1 -0
  626. package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
  627. package/dist/esm/types-59b455aa.js.map +1 -0
  628. package/dist/esm/ui-library.js +4 -7
  629. package/dist/esm/ui-library.js.map +1 -1
  630. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  631. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  632. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  633. package/dist/types/components/six-button/six-button.d.ts +8 -9
  634. package/dist/types/components/six-checkbox/six-checkbox.d.ts +23 -35
  635. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  636. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  637. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  638. package/dist/types/components/six-datepicker/six-datepicker.d.ts +41 -52
  639. package/dist/types/components/six-details/six-details.d.ts +12 -12
  640. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  641. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  642. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  643. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  644. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  645. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  646. package/dist/types/components/six-group-label/six-group-label.d.ts +5 -5
  647. package/dist/types/components/six-header/six-header.d.ts +16 -27
  648. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  649. package/dist/types/components/six-input/six-input.d.ts +32 -67
  650. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  651. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  652. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  653. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  654. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  655. package/dist/types/components/six-radio/six-radio.d.ts +14 -25
  656. package/dist/types/components/six-range/six-range.d.ts +27 -38
  657. package/dist/types/components/six-root/six-root.d.ts +3 -3
  658. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  659. package/dist/types/components/six-select/six-select.d.ts +41 -58
  660. package/dist/types/components/six-select/util.d.ts +7 -0
  661. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  662. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  663. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  664. package/dist/types/components/six-switch/six-switch.d.ts +18 -21
  665. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  666. package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
  667. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  668. package/dist/types/components/six-tag/six-tag.d.ts +1 -3
  669. package/dist/types/components/six-textarea/six-textarea.d.ts +27 -55
  670. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  671. package/dist/types/components/six-timepicker/six-timepicker.d.ts +26 -43
  672. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  673. package/dist/types/components.d.ts +209 -452
  674. package/dist/types/functional-components/form-control/form-control.d.ts +5 -6
  675. package/dist/types/index.d.ts +1 -0
  676. package/dist/types/stencil-public-runtime.d.ts +15 -2
  677. package/dist/types/testUtil/delay.d.ts +1 -1
  678. package/dist/types/types.d.ts +2 -0
  679. package/dist/types/utils/date-util.d.ts +18 -10
  680. package/dist/types/utils/error-messages.d.ts +42 -0
  681. package/dist/types/utils/event-listeners.d.ts +4 -3
  682. package/dist/types/utils/execution-control.d.ts +1 -3
  683. package/dist/types/utils/form.d.ts +1 -0
  684. package/dist/types/utils/modal.d.ts +2 -2
  685. package/dist/types/utils/popover.d.ts +5 -5
  686. package/dist/types/utils/popup.d.ts +9 -0
  687. package/dist/types/utils/slot.d.ts +2 -7
  688. package/dist/types/utils/tabbable.d.ts +1 -1
  689. package/dist/types/utils/time.util.d.ts +18 -9
  690. package/dist/types/utils/type-check.d.ts +3 -4
  691. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  692. package/dist/ui-library/index.esm.js +1 -1
  693. package/dist/ui-library/index.esm.js.map +1 -1
  694. package/dist/ui-library/p-02981b91.entry.js +2 -0
  695. package/dist/ui-library/p-02981b91.entry.js.map +1 -0
  696. package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
  697. package/dist/ui-library/p-0f510624.js.map +1 -0
  698. package/dist/ui-library/p-0fdb185d.js +2 -0
  699. package/dist/ui-library/p-0fdb185d.js.map +1 -0
  700. package/dist/ui-library/{p-611e1978.entry.js → p-1256cc0a.entry.js} +2 -2
  701. package/dist/ui-library/p-1256cc0a.entry.js.map +1 -0
  702. package/dist/ui-library/{p-19364560.entry.js → p-13b43e04.entry.js} +2 -2
  703. package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
  704. package/dist/ui-library/p-15559d38.js +2 -0
  705. package/dist/ui-library/p-15559d38.js.map +1 -0
  706. package/dist/ui-library/p-19ed7a4c.entry.js +2 -0
  707. package/dist/ui-library/p-19ed7a4c.entry.js.map +1 -0
  708. package/dist/ui-library/{p-97323ad7.entry.js → p-1d5ee1a0.entry.js} +2 -2
  709. package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
  710. package/dist/ui-library/{p-eb8f05a9.js → p-1f18768a.js} +1 -1
  711. package/dist/ui-library/p-1f18768a.js.map +1 -0
  712. package/dist/ui-library/p-21b3b321.entry.js +2 -0
  713. package/dist/ui-library/p-21b3b321.entry.js.map +1 -0
  714. package/dist/ui-library/p-264d4ea8.entry.js +2 -0
  715. package/dist/ui-library/p-264d4ea8.entry.js.map +1 -0
  716. package/dist/ui-library/{p-c30f9e0b.entry.js → p-29ac3d7d.entry.js} +2 -2
  717. package/dist/ui-library/p-29ac3d7d.entry.js.map +1 -0
  718. package/dist/ui-library/p-314b2096.entry.js +2 -0
  719. package/dist/ui-library/p-314b2096.entry.js.map +1 -0
  720. package/dist/ui-library/p-330a4988.entry.js +2 -0
  721. package/dist/ui-library/p-330a4988.entry.js.map +1 -0
  722. package/dist/ui-library/{p-21859bca.entry.js → p-346f9557.entry.js} +2 -2
  723. package/dist/ui-library/p-346f9557.entry.js.map +1 -0
  724. package/dist/ui-library/p-37557787.entry.js +2 -0
  725. package/dist/ui-library/p-37557787.entry.js.map +1 -0
  726. package/dist/ui-library/{p-baa03951.entry.js → p-3cc5addb.entry.js} +2 -2
  727. package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
  728. package/dist/ui-library/p-3d9de119.entry.js +2 -0
  729. package/dist/ui-library/p-3d9de119.entry.js.map +1 -0
  730. package/dist/ui-library/p-411ed539.entry.js +2 -0
  731. package/dist/ui-library/p-411ed539.entry.js.map +1 -0
  732. package/dist/ui-library/p-4705a51e.entry.js +2 -0
  733. package/dist/ui-library/p-4705a51e.entry.js.map +1 -0
  734. package/dist/ui-library/p-4abed9df.entry.js +2 -0
  735. package/dist/ui-library/p-4abed9df.entry.js.map +1 -0
  736. package/dist/ui-library/p-5654e4c7.js +2 -0
  737. package/dist/ui-library/p-5654e4c7.js.map +1 -0
  738. package/dist/ui-library/p-59210f0b.js +2 -0
  739. package/dist/ui-library/p-59210f0b.js.map +1 -0
  740. package/dist/ui-library/{p-19b50b5a.entry.js → p-5af44076.entry.js} +2 -2
  741. package/dist/ui-library/p-5af44076.entry.js.map +1 -0
  742. package/dist/ui-library/p-5d6b7353.entry.js +2 -0
  743. package/dist/ui-library/p-5d6b7353.entry.js.map +1 -0
  744. package/dist/ui-library/{p-097cced4.entry.js → p-613283a7.entry.js} +2 -2
  745. package/dist/ui-library/p-613283a7.entry.js.map +1 -0
  746. package/dist/ui-library/p-6153045b.js +3 -0
  747. package/dist/ui-library/p-6153045b.js.map +1 -0
  748. package/dist/ui-library/{p-e19a6c95.entry.js → p-6197fe2f.entry.js} +2 -2
  749. package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
  750. package/dist/ui-library/p-698bb2c8.js +2 -0
  751. package/dist/ui-library/p-698bb2c8.js.map +1 -0
  752. package/dist/ui-library/{p-d5633a29.entry.js → p-72254eef.entry.js} +2 -2
  753. package/dist/ui-library/p-72254eef.entry.js.map +1 -0
  754. package/dist/ui-library/p-724875b0.entry.js +2 -0
  755. package/dist/ui-library/p-724875b0.entry.js.map +1 -0
  756. package/dist/ui-library/{p-dd3c76f1.entry.js → p-7afafb9d.entry.js} +2 -2
  757. package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
  758. package/dist/ui-library/p-7d95def3.js +2 -0
  759. package/dist/ui-library/p-7d95def3.js.map +1 -0
  760. package/dist/ui-library/{p-63703ba3.entry.js → p-7e3ad38a.entry.js} +2 -2
  761. package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
  762. package/dist/ui-library/p-83864cfe.entry.js +2 -0
  763. package/dist/ui-library/p-83864cfe.entry.js.map +1 -0
  764. package/dist/ui-library/{p-9328e5bc.entry.js → p-878226a0.entry.js} +2 -2
  765. package/dist/ui-library/p-878226a0.entry.js.map +1 -0
  766. package/dist/ui-library/p-8c0971e0.js +2 -0
  767. package/dist/ui-library/p-8c0971e0.js.map +1 -0
  768. package/dist/ui-library/p-91b51800.entry.js +2 -0
  769. package/dist/ui-library/p-91b51800.entry.js.map +1 -0
  770. package/dist/ui-library/p-95fbdd0b.entry.js +2 -0
  771. package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
  772. package/dist/ui-library/p-99e24daf.entry.js +2 -0
  773. package/dist/ui-library/p-99e24daf.entry.js.map +1 -0
  774. package/dist/ui-library/{p-4f8394d7.js → p-9ace84c7.js} +2 -2
  775. package/dist/ui-library/p-9ace84c7.js.map +1 -0
  776. package/dist/ui-library/p-9b354f5d.entry.js +2 -0
  777. package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
  778. package/dist/ui-library/{p-c349d1d4.entry.js → p-9c1be3fb.entry.js} +2 -2
  779. package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
  780. package/dist/ui-library/p-9f0b43f9.entry.js +2 -0
  781. package/dist/ui-library/p-9f0b43f9.entry.js.map +1 -0
  782. package/dist/ui-library/{p-af793d04.entry.js → p-a0f290d0.entry.js} +2 -2
  783. package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
  784. package/dist/ui-library/p-a55c7258.entry.js +2 -0
  785. package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
  786. package/dist/ui-library/{p-6d75f216.entry.js → p-a6a9ee96.entry.js} +2 -2
  787. package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
  788. package/dist/ui-library/{p-73597d13.entry.js → p-ac099e6b.entry.js} +2 -2
  789. package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
  790. package/dist/ui-library/p-ae601a0f.entry.js +2 -0
  791. package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
  792. package/dist/ui-library/p-b351f889.entry.js +2 -0
  793. package/dist/ui-library/p-b351f889.entry.js.map +1 -0
  794. package/dist/ui-library/{p-6433c0da.entry.js → p-b550a258.entry.js} +2 -2
  795. package/dist/ui-library/p-b550a258.entry.js.map +1 -0
  796. package/dist/ui-library/{p-90dc6af4.entry.js → p-bf87464b.entry.js} +2 -2
  797. package/dist/ui-library/p-bf87464b.entry.js.map +1 -0
  798. package/dist/ui-library/p-c03ebf7d.entry.js +2 -0
  799. package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
  800. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-cd67da3d.entry.js} +2 -2
  801. package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
  802. package/dist/ui-library/p-cdaed936.entry.js +2 -0
  803. package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
  804. package/dist/ui-library/{p-8a970a40.entry.js → p-d367f4f9.entry.js} +2 -2
  805. package/dist/ui-library/p-d367f4f9.entry.js.map +1 -0
  806. package/dist/ui-library/p-d42c2025.js +2 -0
  807. package/dist/ui-library/p-d42c2025.js.map +1 -0
  808. package/dist/ui-library/{p-820c23f0.entry.js → p-dfed33c5.entry.js} +2 -2
  809. package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
  810. package/dist/ui-library/p-ed381ad9.entry.js +2 -0
  811. package/dist/ui-library/p-ed381ad9.entry.js.map +1 -0
  812. package/dist/ui-library/p-ee8342e1.entry.js +2 -0
  813. package/dist/ui-library/p-ee8342e1.entry.js.map +1 -0
  814. package/dist/ui-library/p-ee950ce2.entry.js +2 -0
  815. package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
  816. package/dist/ui-library/{p-7e0cc4ae.entry.js → p-ff90ffd1.entry.js} +2 -2
  817. package/dist/ui-library/p-ff90ffd1.entry.js.map +1 -0
  818. package/dist/ui-library/ui-library.esm.js +1 -1
  819. package/dist/ui-library/ui-library.esm.js.map +1 -1
  820. package/loader/index.d.ts +1 -1
  821. package/package.json +19 -20
  822. package/dist/cjs/event-listeners-74715e62.js +0 -45
  823. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  824. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  825. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  826. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  827. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  828. package/dist/cjs/modal-48d42228.js.map +0 -1
  829. package/dist/cjs/popover-f743f62b.js.map +0 -1
  830. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  831. package/dist/cjs/six-form.cjs.entry.js +0 -231
  832. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  833. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  834. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  835. package/dist/cjs/slot-ad537f24.js.map +0 -1
  836. package/dist/cjs/types-64878648.js.map +0 -1
  837. package/dist/collection/components/six-form/six-form.css +0 -11
  838. package/dist/collection/components/six-form/six-form.js +0 -419
  839. package/dist/collection/components/six-form/six-form.js.map +0 -1
  840. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  841. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  842. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  843. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  844. package/dist/collection/utils/as-array.js +0 -2
  845. package/dist/collection/utils/as-array.js.map +0 -1
  846. package/dist/collection/utils/matchers.js +0 -3
  847. package/dist/collection/utils/matchers.js.map +0 -1
  848. package/dist/collection/utils/testing.js +0 -39
  849. package/dist/collection/utils/testing.js.map +0 -1
  850. package/dist/components/six-form.d.ts +0 -11
  851. package/dist/components/six-form.js +0 -252
  852. package/dist/components/six-form.js.map +0 -1
  853. package/dist/esm/event-listeners-570a24ea.js +0 -43
  854. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  855. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  856. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  857. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  858. package/dist/esm/index-5c0f6628.js.map +0 -1
  859. package/dist/esm/modal-5ebdc320.js.map +0 -1
  860. package/dist/esm/polyfills/css-shim.js +0 -1
  861. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  862. package/dist/esm/scroll-180b53fd.js.map +0 -1
  863. package/dist/esm/six-form.entry.js +0 -227
  864. package/dist/esm/six-form.entry.js.map +0 -1
  865. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  866. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  867. package/dist/esm/slot-6f3984c7.js.map +0 -1
  868. package/dist/esm/types-4b10b413.js.map +0 -1
  869. package/dist/types/components/six-form/six-form.d.ts +0 -69
  870. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  871. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  872. package/dist/types/utils/as-array.d.ts +0 -1
  873. package/dist/types/utils/matchers.d.ts +0 -2
  874. package/dist/types/utils/popper.d.ts +0 -33
  875. package/dist/types/utils/testing.d.ts +0 -2
  876. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  877. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  878. package/dist/ui-library/p-0786fa7c.js +0 -2
  879. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  880. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  881. package/dist/ui-library/p-0d79b0c6.entry.js +0 -2
  882. package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
  883. package/dist/ui-library/p-14f20bbb.entry.js +0 -2
  884. package/dist/ui-library/p-14f20bbb.entry.js.map +0 -1
  885. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  886. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  887. package/dist/ui-library/p-18ea0c56.js +0 -2
  888. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  889. package/dist/ui-library/p-19364560.entry.js.map +0 -1
  890. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  891. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  892. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  893. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  894. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  895. package/dist/ui-library/p-308261c4.entry.js +0 -2
  896. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  897. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  898. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  899. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  900. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  901. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  902. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  903. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  904. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  905. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  906. package/dist/ui-library/p-611e1978.entry.js.map +0 -1
  907. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  908. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  909. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  910. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  911. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  912. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  913. package/dist/ui-library/p-79eee01b.js +0 -2
  914. package/dist/ui-library/p-79eee01b.js.map +0 -1
  915. package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
  916. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  917. package/dist/ui-library/p-835c3ff7.entry.js +0 -2
  918. package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
  919. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  920. package/dist/ui-library/p-90824648.entry.js +0 -2
  921. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  922. package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
  923. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  924. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  925. package/dist/ui-library/p-9a860acc.js +0 -2
  926. package/dist/ui-library/p-9a860acc.js.map +0 -1
  927. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  928. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  929. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  930. package/dist/ui-library/p-ac4f4d45.js +0 -3
  931. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  932. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  933. package/dist/ui-library/p-b0e5658f.entry.js +0 -2
  934. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  935. package/dist/ui-library/p-b1e66136.js +0 -2
  936. package/dist/ui-library/p-b1e66136.js.map +0 -1
  937. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  938. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  939. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  940. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  941. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  942. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  943. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  944. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  945. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  946. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  947. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  948. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  949. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  950. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  951. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  952. package/dist/ui-library/p-d12c6092.js +0 -2
  953. package/dist/ui-library/p-d12c6092.js.map +0 -1
  954. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  955. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  956. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  957. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  958. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  959. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  960. package/dist/ui-library/p-edc96efc.entry.js +0 -2
  961. package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
  962. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  963. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  964. package/dist/ui-library/p-f4938771.entry.js +0 -2
  965. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  966. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  967. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  968. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  969. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  970. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  971. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  972. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  973. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
@@ -14,7 +14,7 @@
14
14
  // - Popper uses `translate3d` to position elements, so adding a transition to the `transform` property may have an
15
15
  // undesired effect when the element is shown and when its placement changes.
16
16
  //
17
- import { createPopper } from '@popperjs/core';
17
+ import { createPopper } from "@popperjs/core";
18
18
  export default class Popover {
19
19
  constructor(anchor, popover, options) {
20
20
  this.handleTransitionEnd = this.handleTransitionEnd.bind(this);
@@ -27,27 +27,32 @@ export default class Popover {
27
27
  strategy: 'absolute',
28
28
  transitionElement: this.popover,
29
29
  visibleClass: 'popover-visible',
30
- onAfterShow: () => { },
31
- onAfterHide: () => { },
32
- onTransitionEnd: () => { },
30
+ onAfterShow: () => Promise,
31
+ onAfterHide: () => Promise,
32
+ onTransitionEnd: () => Promise,
33
33
  }, options);
34
34
  this.isVisible = false;
35
35
  this.popover.hidden = true;
36
- this.popover.classList.remove(this.options.visibleClass);
36
+ if (this.options.visibleClass != null) {
37
+ this.popover.classList.remove(this.options.visibleClass);
38
+ }
37
39
  this.popover.addEventListener('transitionend', this.handleTransitionEnd);
38
40
  }
39
41
  handleTransitionEnd(event) {
42
+ var _a, _b;
40
43
  const target = event.target;
41
44
  // Make sure the transition event originates from from the correct element, and not one that has bubbled up
42
45
  if (target === this.options.transitionElement) {
43
46
  // This is called before the element is hidden so users can do things like reset scroll. It will fire once for
44
47
  // every transition property. Use `event.propertyName` to determine which property has finished transitioning.
45
- this.options.onTransitionEnd.call(this, event);
48
+ (_a = this.options.onTransitionEnd) === null || _a === void 0 ? void 0 : _a.call(this, event);
46
49
  // Make sure we only do this once, since transitionend will fire for every transition
47
50
  if (!this.isVisible && !this.popover.hidden) {
48
51
  this.popover.hidden = true;
49
- this.popover.classList.remove(this.options.visibleClass);
50
- this.options.onAfterHide.call(this);
52
+ if (this.options.visibleClass != null) {
53
+ this.popover.classList.remove(this.options.visibleClass);
54
+ }
55
+ (_b = this.options.onAfterHide) === null || _b === void 0 ? void 0 : _b.call(this);
51
56
  }
52
57
  }
53
58
  }
@@ -55,14 +60,18 @@ export default class Popover {
55
60
  this.popover.removeEventListener('transitionend', this.handleTransitionEnd);
56
61
  if (this.popper) {
57
62
  this.popper.destroy();
58
- this.popper = null;
63
+ this.popper = undefined;
59
64
  }
60
65
  }
61
66
  show() {
62
67
  this.isVisible = true;
63
68
  this.popover.hidden = false;
64
69
  this.popover.clientWidth; // force reflow
65
- requestAnimationFrame(() => this.popover.classList.add(this.options.visibleClass));
70
+ requestAnimationFrame(() => {
71
+ if (this.options.visibleClass != null) {
72
+ this.popover.classList.add(this.options.visibleClass);
73
+ }
74
+ });
66
75
  if (this.popper) {
67
76
  this.popper.destroy();
68
77
  }
@@ -84,30 +93,35 @@ export default class Popover {
84
93
  },
85
94
  ],
86
95
  });
87
- this.popover.addEventListener('transitionend', () => this.options.onAfterShow.call(this), { once: true });
96
+ this.popover.addEventListener('transitionend', () => { var _a; return (_a = this.options.onAfterShow) === null || _a === void 0 ? void 0 : _a.call(this); }, { once: true });
88
97
  // Reposition the menu after it appears in case a modifier kicked in
89
98
  requestAnimationFrame(() => { var _a; return (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update(); });
90
99
  }
91
100
  reposition() {
92
- this.popper.update();
101
+ var _a;
102
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update();
93
103
  }
94
104
  hide() {
95
105
  // Apply the hidden styles and wait for the transition before hiding completely
96
106
  this.isVisible = false;
97
- this.popover.classList.remove(this.options.visibleClass);
107
+ if (this.options.visibleClass != null) {
108
+ this.popover.classList.remove(this.options.visibleClass);
109
+ }
98
110
  }
99
111
  setOptions(options) {
100
112
  this.options = Object.assign(this.options, options);
101
- this.isVisible
102
- ? this.popover.classList.add(this.options.visibleClass)
103
- : this.popover.classList.remove(this.options.visibleClass);
113
+ if (this.options.visibleClass != null) {
114
+ this.isVisible
115
+ ? this.popover.classList.add(this.options.visibleClass)
116
+ : this.popover.classList.remove(this.options.visibleClass);
117
+ }
104
118
  // Update popper options
105
- if (this.popper) {
106
- this.popper.setOptions({
119
+ if (this.popper != null) {
120
+ void this.popper.setOptions({
107
121
  placement: this.options.placement,
108
122
  strategy: this.options.strategy,
109
123
  });
110
- requestAnimationFrame(() => this.popper.update());
124
+ requestAnimationFrame(() => { var _a; return (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update(); });
111
125
  }
112
126
  }
113
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../src/utils/popover.ts"],"names":[],"mappings":"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","sourcesContent":["//\n// A positioning utility for popovers that handles show/hide/transitionEnd events with simple callbacks.\n//\n// Powered by Popper.js.\n//\n// NOTE:\n//\n// - The popover MUST have at least one property that transitions, otherwise transitionEnd won't fire and the popover\n// won't be hidden. If transitions are delegated to a child element, set the `transitionElement` property accordingly.\n//\n// - When the popover is shown, it's assigned `PopoverOptions.visibleClass`. You can use this class to provide different\n// transitions for show/hide.\n//\n// - Popper uses `translate3d` to position elements, so adding a transition to the `transform` property may have an\n// undesired effect when the element is shown and when its placement changes.\n//\nimport { createPopper } from '@popperjs/core';\nimport { PopperInstance } from './popper';\n\nexport default class Popover {\n anchor: HTMLElement;\n isVisible: boolean;\n popover: HTMLElement;\n popper: PopperInstance;\n options: PopoverOptions;\n\n constructor(anchor: HTMLElement, popover: HTMLElement, options?: PopoverOptions) {\n this.handleTransitionEnd = this.handleTransitionEnd.bind(this);\n\n this.anchor = anchor;\n this.popover = popover;\n this.options = Object.assign(\n {\n skidding: 0,\n distance: 0,\n placement: 'bottom-start',\n strategy: 'absolute',\n transitionElement: this.popover,\n visibleClass: 'popover-visible',\n onAfterShow: () => {},\n onAfterHide: () => {},\n onTransitionEnd: () => {},\n },\n options\n );\n\n this.isVisible = false;\n this.popover.hidden = true;\n this.popover.classList.remove(this.options.visibleClass);\n\n this.popover.addEventListener('transitionend', this.handleTransitionEnd);\n }\n\n private handleTransitionEnd(event: TransitionEvent) {\n const target = event.target as HTMLElement;\n\n // Make sure the transition event originates from from the correct element, and not one that has bubbled up\n if (target === this.options.transitionElement) {\n // This is called before the element is hidden so users can do things like reset scroll. It will fire once for\n // every transition property. Use `event.propertyName` to determine which property has finished transitioning.\n this.options.onTransitionEnd.call(this, event);\n\n // Make sure we only do this once, since transitionend will fire for every transition\n if (!this.isVisible && !this.popover.hidden) {\n this.popover.hidden = true;\n this.popover.classList.remove(this.options.visibleClass);\n this.options.onAfterHide.call(this);\n }\n }\n }\n\n destroy() {\n this.popover.removeEventListener('transitionend', this.handleTransitionEnd);\n\n if (this.popper) {\n this.popper.destroy();\n this.popper = null;\n }\n }\n\n show() {\n this.isVisible = true;\n this.popover.hidden = false;\n this.popover.clientWidth; // force reflow\n requestAnimationFrame(() => this.popover.classList.add(this.options.visibleClass));\n\n if (this.popper) {\n this.popper.destroy();\n }\n\n this.popper = createPopper(this.anchor, this.popover, {\n placement: this.options.placement,\n strategy: this.options.strategy,\n modifiers: [\n {\n name: 'flip',\n options: {\n boundary: 'viewport',\n },\n },\n {\n name: 'offset',\n options: {\n offset: [this.options.skidding, this.options.distance],\n },\n },\n ],\n });\n\n this.popover.addEventListener('transitionend', () => this.options.onAfterShow.call(this), { once: true });\n\n // Reposition the menu after it appears in case a modifier kicked in\n requestAnimationFrame(() => this.popper?.update());\n }\n\n reposition() {\n this.popper.update();\n }\n\n hide() {\n // Apply the hidden styles and wait for the transition before hiding completely\n this.isVisible = false;\n this.popover.classList.remove(this.options.visibleClass);\n }\n\n setOptions(options: PopoverOptions) {\n this.options = Object.assign(this.options, options);\n this.isVisible\n ? this.popover.classList.add(this.options.visibleClass)\n : this.popover.classList.remove(this.options.visibleClass);\n\n // Update popper options\n if (this.popper) {\n this.popper.setOptions({\n placement: this.options.placement,\n strategy: this.options.strategy,\n });\n\n requestAnimationFrame(() => this.popper.update());\n }\n }\n}\n\ninterface PopoverOptions {\n distance?: number;\n placement?:\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n skidding?: number;\n strategy?: 'absolute' | 'fixed';\n transitionElement?: HTMLElement;\n visibleClass?: string;\n onAfterShow?: () => any;\n onAfterHide?: () => any;\n onTransitionEnd?: (event: TransitionEvent) => any;\n}\n"]}
1
+ {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../src/utils/popover.ts"],"names":[],"mappings":"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","sourcesContent":["//\n// A positioning utility for popovers that handles show/hide/transitionEnd events with simple callbacks.\n//\n// Powered by Popper.js.\n//\n// NOTE:\n//\n// - The popover MUST have at least one property that transitions, otherwise transitionEnd won't fire and the popover\n// won't be hidden. If transitions are delegated to a child element, set the `transitionElement` property accordingly.\n//\n// - When the popover is shown, it's assigned `PopoverOptions.visibleClass`. You can use this class to provide different\n// transitions for show/hide.\n//\n// - Popper uses `translate3d` to position elements, so adding a transition to the `transform` property may have an\n// undesired effect when the element is shown and when its placement changes.\n//\nimport { createPopper, Instance } from '@popperjs/core';\n\nexport default class Popover {\n anchor: HTMLElement;\n isVisible: boolean;\n popover: HTMLElement;\n popper?: Instance;\n options: PopoverOptions;\n\n constructor(anchor: HTMLElement, popover: HTMLElement, options?: PopoverOptions) {\n this.handleTransitionEnd = this.handleTransitionEnd.bind(this);\n\n this.anchor = anchor;\n this.popover = popover;\n this.options = Object.assign(\n {\n skidding: 0,\n distance: 0,\n placement: 'bottom-start',\n strategy: 'absolute',\n transitionElement: this.popover,\n visibleClass: 'popover-visible',\n onAfterShow: () => Promise<void>,\n onAfterHide: () => Promise<void>,\n onTransitionEnd: () => Promise<void>,\n },\n options\n );\n\n this.isVisible = false;\n this.popover.hidden = true;\n if (this.options.visibleClass != null) {\n this.popover.classList.remove(this.options.visibleClass);\n }\n\n this.popover.addEventListener('transitionend', this.handleTransitionEnd);\n }\n\n private handleTransitionEnd(event: TransitionEvent) {\n const target = event.target as HTMLElement;\n\n // Make sure the transition event originates from from the correct element, and not one that has bubbled up\n if (target === this.options.transitionElement) {\n // This is called before the element is hidden so users can do things like reset scroll. It will fire once for\n // every transition property. Use `event.propertyName` to determine which property has finished transitioning.\n this.options.onTransitionEnd?.call(this, event);\n\n // Make sure we only do this once, since transitionend will fire for every transition\n if (!this.isVisible && !this.popover.hidden) {\n this.popover.hidden = true;\n if (this.options.visibleClass != null) {\n this.popover.classList.remove(this.options.visibleClass);\n }\n this.options.onAfterHide?.call(this);\n }\n }\n }\n\n destroy() {\n this.popover.removeEventListener('transitionend', this.handleTransitionEnd);\n\n if (this.popper) {\n this.popper.destroy();\n this.popper = undefined;\n }\n }\n\n show() {\n this.isVisible = true;\n this.popover.hidden = false;\n this.popover.clientWidth; // force reflow\n requestAnimationFrame(() => {\n if (this.options.visibleClass != null) {\n this.popover.classList.add(this.options.visibleClass);\n }\n });\n\n if (this.popper) {\n this.popper.destroy();\n }\n\n this.popper = createPopper(this.anchor, this.popover, {\n placement: this.options.placement,\n strategy: this.options.strategy,\n modifiers: [\n {\n name: 'flip',\n options: {\n boundary: 'viewport',\n },\n },\n {\n name: 'offset',\n options: {\n offset: [this.options.skidding, this.options.distance],\n },\n },\n ],\n });\n\n this.popover.addEventListener('transitionend', () => this.options.onAfterShow?.call(this), { once: true });\n\n // Reposition the menu after it appears in case a modifier kicked in\n requestAnimationFrame(() => this.popper?.update());\n }\n\n reposition() {\n this.popper?.update();\n }\n\n hide() {\n // Apply the hidden styles and wait for the transition before hiding completely\n this.isVisible = false;\n if (this.options.visibleClass != null) {\n this.popover.classList.remove(this.options.visibleClass);\n }\n }\n\n setOptions(options: PopoverOptions) {\n this.options = Object.assign(this.options, options);\n if (this.options.visibleClass != null) {\n this.isVisible\n ? this.popover.classList.add(this.options.visibleClass)\n : this.popover.classList.remove(this.options.visibleClass);\n }\n\n // Update popper options\n if (this.popper != null) {\n void this.popper.setOptions({\n placement: this.options.placement,\n strategy: this.options.strategy,\n });\n\n requestAnimationFrame(() => this.popper?.update());\n }\n }\n}\n\ninterface PopoverOptions {\n distance?: number;\n placement?:\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n skidding?: number;\n strategy?: 'absolute' | 'fixed';\n transitionElement?: HTMLElement;\n visibleClass?: string;\n onAfterShow?: () => void;\n onAfterHide?: () => void;\n onTransitionEnd?: (event: TransitionEvent) => void;\n}\n"]}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * If the popup is hoisted we popup is hoisted its position will change to fix to not be clipped of by a containing container.
3
+ * To render the popup correctly we render it normally, and then assign this screenposition to the fixed popup
4
+ */
5
+ export function adjustPopupForHoisting(hoist, popup, inputElement, wrapper, minPopupHeight, dropdownDirectionChanged) {
6
+ if (!hoist || popup == null || inputElement == null || wrapper == null) {
7
+ return;
8
+ }
9
+ // take a snapshot of normally rendered popup
10
+ const popupDimensions = setPopupAsFixPosition(popup);
11
+ const inputDimensions = inputElement.getBoundingClientRect();
12
+ const inputTop = inputDimensions.top;
13
+ const popupTop = popupDimensions.top;
14
+ const isUp = calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight);
15
+ // check screen position to check whether the popup should be moved above or below the trigger element
16
+ if (isUp && inputTop < popupTop) {
17
+ // move popup above input field if datepicker is at bottom of screen
18
+ popup.style.top = `${popupTop - popupDimensions.height - inputDimensions.height}px`;
19
+ }
20
+ dropdownDirectionChanged(isUp);
21
+ }
22
+ /*
23
+ * For small screens the datepicker popup could be cut-off even though there might still be space within the viewport.
24
+ * This is because the popup is always aligned with the trigger input field. However in the scenario of small screens
25
+ * we should reposition the popup to use the space available.
26
+ */
27
+ export function adjustPopupForSmallScreens(popup) {
28
+ // execute after dropdown has been rendered to make sure the popup reference is correctly set
29
+ setTimeout(() => {
30
+ if (popup == null) {
31
+ return;
32
+ }
33
+ const popupDimensions = popup.getBoundingClientRect();
34
+ if (popupDimensions.y < 0 &&
35
+ window.innerHeight - popupDimensions.height > 0 &&
36
+ Math.abs(popupDimensions.y) <= popupDimensions.height) {
37
+ // handle case where popup is cut-off on top but there is still space available
38
+ setPopupAsFixPosition(popup);
39
+ popup.style.top = '0px';
40
+ }
41
+ else if (window.innerHeight < popupDimensions.y + popupDimensions.height &&
42
+ window.innerHeight > popupDimensions.height &&
43
+ Math.abs(popupDimensions.y - window.innerHeight) <= popupDimensions.height) {
44
+ // handle case where popup is cut-off at the bottom but there is still space available above
45
+ // apply screen position to fixed popup
46
+ setPopupAsFixPosition(popup);
47
+ popup.style.top = `${window.innerHeight - popupDimensions.height}px`;
48
+ }
49
+ if (window.innerWidth < popupDimensions.x + popupDimensions.width &&
50
+ window.innerWidth > popupDimensions.width &&
51
+ Math.abs(popupDimensions.x - window.innerWidth) <= popupDimensions.width) {
52
+ // handle case where popup is cut-off to the right
53
+ setPopupAsFixPosition(popup);
54
+ popup.style.left = `${window.innerWidth - popupDimensions.width}px`;
55
+ }
56
+ }, 0);
57
+ }
58
+ export function calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight) {
59
+ const inputBoundingRect = inputElement.getBoundingClientRect();
60
+ const wrapperBoundingRect = wrapper.getBoundingClientRect();
61
+ const popupHeight = Math.max(wrapperBoundingRect.height, minPopupHeight);
62
+ const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;
63
+ return moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + popupHeight;
64
+ }
65
+ export function setPopupAsFixPosition(popup) {
66
+ const popupDimensions = popup.getBoundingClientRect();
67
+ popup.style.position = 'fixed';
68
+ popup.style.top = popupDimensions['top'] + 'px';
69
+ popup.style.left = popupDimensions['left'] + 'px';
70
+ popup.style.width = popupDimensions['width'] + 'px';
71
+ popup.style.height = popupDimensions['height'] + 'px';
72
+ return popupDimensions;
73
+ }
74
+ /*
75
+ * The position of the hoisted datepicker needs to be correctly calculated since the position changes to fixed.
76
+ * Thus if the user scrolls or adjusts the screen size we need to recalculate the datepicker position.
77
+ */
78
+ export function movePopup(hoist, open, popup, inputElement, wrapper, minPopupHeight) {
79
+ if (!hoist || !open || popup == null || inputElement == null || wrapper == null) {
80
+ return;
81
+ }
82
+ const popupBoundingClientRect = popup.getBoundingClientRect();
83
+ const popupHeight = popupBoundingClientRect.height;
84
+ const inputBoundingClientRect = inputElement.getBoundingClientRect();
85
+ const inputTop = inputBoundingClientRect.top;
86
+ const inputHeight = inputBoundingClientRect.height;
87
+ const isUp = calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight);
88
+ if (isUp) {
89
+ popup.style.top = `${inputTop - popupHeight}px`;
90
+ }
91
+ else {
92
+ popup.style.top = `${inputTop + inputHeight}px`;
93
+ }
94
+ }
95
+ //# sourceMappingURL=popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup.js","sourceRoot":"","sources":["../../src/utils/popup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * If the popup is hoisted we popup is hoisted its position will change to fix to not be clipped of by a containing container.\n * To render the popup correctly we render it normally, and then assign this screenposition to the fixed popup\n */\nexport function adjustPopupForHoisting(\n hoist: boolean,\n popup: HTMLElement | undefined,\n inputElement: HTMLElement | undefined,\n wrapper: HTMLElement | undefined,\n minPopupHeight: number,\n dropdownDirectionChanged: (isUp: boolean) => void\n) {\n if (!hoist || popup == null || inputElement == null || wrapper == null) {\n return;\n }\n // take a snapshot of normally rendered popup\n const popupDimensions = setPopupAsFixPosition(popup);\n const inputDimensions = inputElement.getBoundingClientRect();\n const inputTop = inputDimensions.top;\n const popupTop = popupDimensions.top;\n\n const isUp = calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight);\n // check screen position to check whether the popup should be moved above or below the trigger element\n if (isUp && inputTop < popupTop) {\n // move popup above input field if datepicker is at bottom of screen\n popup.style.top = `${popupTop - popupDimensions.height - inputDimensions.height}px`;\n }\n dropdownDirectionChanged(isUp);\n}\n\n/*\n * For small screens the datepicker popup could be cut-off even though there might still be space within the viewport.\n * This is because the popup is always aligned with the trigger input field. However in the scenario of small screens\n * we should reposition the popup to use the space available.\n */\nexport function adjustPopupForSmallScreens(popup?: HTMLElement) {\n // execute after dropdown has been rendered to make sure the popup reference is correctly set\n setTimeout(() => {\n if (popup == null) {\n return;\n }\n const popupDimensions = popup.getBoundingClientRect();\n if (\n popupDimensions.y < 0 &&\n window.innerHeight - popupDimensions.height > 0 &&\n Math.abs(popupDimensions.y) <= popupDimensions.height\n ) {\n // handle case where popup is cut-off on top but there is still space available\n setPopupAsFixPosition(popup);\n popup.style.top = '0px';\n } else if (\n window.innerHeight < popupDimensions.y + popupDimensions.height &&\n window.innerHeight > popupDimensions.height &&\n Math.abs(popupDimensions.y - window.innerHeight) <= popupDimensions.height\n ) {\n // handle case where popup is cut-off at the bottom but there is still space available above\n // apply screen position to fixed popup\n setPopupAsFixPosition(popup);\n popup.style.top = `${window.innerHeight - popupDimensions.height}px`;\n }\n\n if (\n window.innerWidth < popupDimensions.x + popupDimensions.width &&\n window.innerWidth > popupDimensions.width &&\n Math.abs(popupDimensions.x - window.innerWidth) <= popupDimensions.width\n ) {\n // handle case where popup is cut-off to the right\n setPopupAsFixPosition(popup);\n popup.style.left = `${window.innerWidth - popupDimensions.width}px`;\n }\n }, 0);\n}\n\nexport function calcIsDropDownContentUp(\n inputElement: HTMLElement,\n wrapper: HTMLElement,\n minPopupHeight: number\n): boolean {\n const inputBoundingRect = inputElement.getBoundingClientRect();\n const wrapperBoundingRect = wrapper.getBoundingClientRect();\n const popupHeight = Math.max(wrapperBoundingRect.height, minPopupHeight);\n const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;\n return moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + popupHeight;\n}\n\nexport function setPopupAsFixPosition(popup: HTMLElement): DOMRect {\n const popupDimensions = popup.getBoundingClientRect();\n popup.style.position = 'fixed';\n popup.style.top = popupDimensions['top'] + 'px';\n popup.style.left = popupDimensions['left'] + 'px';\n popup.style.width = popupDimensions['width'] + 'px';\n popup.style.height = popupDimensions['height'] + 'px';\n return popupDimensions;\n}\n\n/*\n * The position of the hoisted datepicker needs to be correctly calculated since the position changes to fixed.\n * Thus if the user scrolls or adjusts the screen size we need to recalculate the datepicker position.\n */\nexport function movePopup(\n hoist: boolean,\n open: boolean,\n popup: HTMLElement | undefined,\n inputElement: HTMLElement | undefined,\n wrapper: HTMLElement | undefined,\n minPopupHeight: number\n) {\n if (!hoist || !open || popup == null || inputElement == null || wrapper == null) {\n return;\n }\n const popupBoundingClientRect = popup.getBoundingClientRect();\n const popupHeight = popupBoundingClientRect.height;\n const inputBoundingClientRect = inputElement.getBoundingClientRect();\n const inputTop = inputBoundingClientRect.top;\n const inputHeight = inputBoundingClientRect.height;\n\n const isUp = calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight);\n\n if (isUp) {\n popup.style.top = `${inputTop - popupHeight}px`;\n } else {\n popup.style.top = `${inputTop + inputHeight}px`;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { getOffset } from './offset';
1
+ import { getOffset } from "./offset";
2
2
  const locks = new Set();
3
3
  //
4
4
  // Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible
@@ -0,0 +1,122 @@
1
+ import { scrollIntoView } from "./scroll";
2
+ describe('scrollIntoView', () => {
3
+ describe('vertical scrolling', () => {
4
+ it('should scroll vertically if element is out of view', async () => {
5
+ // given
6
+ const element = {
7
+ clientWidth: 320,
8
+ clientHeight: 56,
9
+ getBoundingClientRect: () => ({
10
+ top: 1744,
11
+ left: 16,
12
+ }),
13
+ };
14
+ const mockScrollTo = jest.fn();
15
+ const container = {
16
+ scrollTop: 0,
17
+ scrollLeft: 0,
18
+ offsetWidth: 320,
19
+ offsetHeight: 754,
20
+ getBoundingClientRect: () => ({
21
+ top: 656,
22
+ left: 16,
23
+ }),
24
+ scrollTo: mockScrollTo,
25
+ };
26
+ // when
27
+ scrollIntoView(element, container);
28
+ // then
29
+ expect(mockScrollTo).toHaveBeenCalledWith({
30
+ top: 390,
31
+ behavior: 'smooth',
32
+ });
33
+ });
34
+ it('should not scroll vertically if element is in view', async () => {
35
+ // given
36
+ const element = {
37
+ clientWidth: 320,
38
+ clientHeight: 56,
39
+ getBoundingClientRect: () => ({
40
+ top: 700,
41
+ left: 16,
42
+ }),
43
+ };
44
+ const mockScrollTo = jest.fn();
45
+ const container = {
46
+ scrollTop: 0,
47
+ scrollLeft: 0,
48
+ offsetWidth: 320,
49
+ offsetHeight: 754,
50
+ getBoundingClientRect: () => ({
51
+ top: 656,
52
+ left: 16,
53
+ }),
54
+ scrollTo: mockScrollTo,
55
+ };
56
+ // when
57
+ scrollIntoView(element, container);
58
+ // then
59
+ expect(mockScrollTo).not.toHaveBeenCalled();
60
+ });
61
+ });
62
+ describe('horizontal scrolling', () => {
63
+ it('should scroll horizontally if element is out of view', async () => {
64
+ // given
65
+ const element = {
66
+ clientWidth: 320,
67
+ clientHeight: 56,
68
+ getBoundingClientRect: () => ({
69
+ top: 500,
70
+ left: 330,
71
+ }),
72
+ };
73
+ const mockScrollTo = jest.fn();
74
+ const container = {
75
+ scrollTop: 0,
76
+ scrollLeft: 0,
77
+ offsetWidth: 320,
78
+ offsetHeight: 754,
79
+ getBoundingClientRect: () => ({
80
+ top: 656,
81
+ left: 16,
82
+ }),
83
+ scrollTo: mockScrollTo,
84
+ };
85
+ // when
86
+ scrollIntoView(element, container, 'horizontal');
87
+ // then
88
+ expect(mockScrollTo).toHaveBeenCalledWith({
89
+ left: 314,
90
+ behavior: 'smooth',
91
+ });
92
+ });
93
+ it('should not scroll vertically if element is in view', async () => {
94
+ // given
95
+ const element = {
96
+ clientWidth: 320,
97
+ clientHeight: 56,
98
+ getBoundingClientRect: () => ({
99
+ top: 500,
100
+ left: 16,
101
+ }),
102
+ };
103
+ const mockScrollTo = jest.fn();
104
+ const container = {
105
+ scrollTop: 0,
106
+ scrollLeft: 0,
107
+ offsetWidth: 320,
108
+ offsetHeight: 754,
109
+ getBoundingClientRect: () => ({
110
+ top: 656,
111
+ left: 16,
112
+ }),
113
+ scrollTo: mockScrollTo,
114
+ };
115
+ // when
116
+ scrollIntoView(element, container, 'horizontal');
117
+ // then
118
+ expect(mockScrollTo).not.toHaveBeenCalled();
119
+ });
120
+ });
121
+ });
122
+ //# sourceMappingURL=scroll.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.spec.js","sourceRoot":"","sources":["../../src/utils/scroll.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { scrollIntoView } from './scroll';\n\ndescribe('scrollIntoView', () => {\n describe('vertical scrolling', () => {\n it('should scroll vertically if element is out of view', async () => {\n // given\n const element: Partial<HTMLElement> = {\n clientWidth: 320,\n clientHeight: 56,\n getBoundingClientRect: () =>\n ({\n top: 1744,\n left: 16,\n } as DOMRect),\n };\n\n const mockScrollTo = jest.fn();\n const container: Partial<HTMLElement> = {\n scrollTop: 0,\n scrollLeft: 0,\n offsetWidth: 320,\n offsetHeight: 754,\n getBoundingClientRect: () =>\n ({\n top: 656,\n left: 16,\n } as DOMRect),\n scrollTo: mockScrollTo,\n };\n\n // when\n scrollIntoView(element as HTMLElement, container as HTMLElement);\n\n // then\n expect(mockScrollTo).toHaveBeenCalledWith({\n top: 390,\n behavior: 'smooth',\n });\n });\n\n it('should not scroll vertically if element is in view', async () => {\n // given\n const element: Partial<HTMLElement> = {\n clientWidth: 320,\n clientHeight: 56,\n getBoundingClientRect: () =>\n ({\n top: 700,\n left: 16,\n } as DOMRect),\n };\n\n const mockScrollTo = jest.fn();\n const container: Partial<HTMLElement> = {\n scrollTop: 0,\n scrollLeft: 0,\n offsetWidth: 320,\n offsetHeight: 754,\n getBoundingClientRect: () =>\n ({\n top: 656,\n left: 16,\n } as DOMRect),\n scrollTo: mockScrollTo,\n };\n\n // when\n scrollIntoView(element as HTMLElement, container as HTMLElement);\n\n // then\n expect(mockScrollTo).not.toHaveBeenCalled();\n });\n });\n\n describe('horizontal scrolling', () => {\n it('should scroll horizontally if element is out of view', async () => {\n // given\n const element: Partial<HTMLElement> = {\n clientWidth: 320,\n clientHeight: 56,\n getBoundingClientRect: () =>\n ({\n top: 500,\n left: 330,\n } as DOMRect),\n };\n\n const mockScrollTo = jest.fn();\n const container: Partial<HTMLElement> = {\n scrollTop: 0,\n scrollLeft: 0,\n offsetWidth: 320,\n offsetHeight: 754,\n getBoundingClientRect: () =>\n ({\n top: 656,\n left: 16,\n } as DOMRect),\n scrollTo: mockScrollTo,\n };\n\n // when\n scrollIntoView(element as HTMLElement, container as HTMLElement, 'horizontal');\n\n // then\n expect(mockScrollTo).toHaveBeenCalledWith({\n left: 314,\n behavior: 'smooth',\n });\n });\n\n it('should not scroll vertically if element is in view', async () => {\n // given\n const element: Partial<HTMLElement> = {\n clientWidth: 320,\n clientHeight: 56,\n getBoundingClientRect: () =>\n ({\n top: 500,\n left: 16,\n } as DOMRect),\n };\n\n const mockScrollTo = jest.fn();\n const container: Partial<HTMLElement> = {\n scrollTop: 0,\n scrollLeft: 0,\n offsetWidth: 320,\n offsetHeight: 754,\n getBoundingClientRect: () =>\n ({\n top: 656,\n left: 16,\n } as DOMRect),\n scrollTo: mockScrollTo,\n };\n\n // when\n scrollIntoView(element as HTMLElement, container as HTMLElement, 'horizontal');\n\n // then\n expect(mockScrollTo).not.toHaveBeenCalled();\n });\n });\n});\n"]}
@@ -1,26 +1,9 @@
1
1
  //
2
- // Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated
3
- // HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.
4
- //
5
- export function getInnerHTML(slot) {
6
- const nodes = slot.assignedNodes({ flatten: true });
7
- let html = '';
8
- [...nodes].map((node) => {
9
- if (node.nodeType === Node.ELEMENT_NODE) {
10
- html += node.outerHTML;
11
- }
12
- if (node.nodeType === Node.TEXT_NODE) {
13
- html += node.textContent;
14
- }
15
- });
16
- return html;
17
- }
18
- //
19
2
  // Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a
20
3
  // string. This is useful because we can't use slot.textContent as an alternative.
21
4
  //
22
5
  export function getTextContent(slot) {
23
- const nodes = slot ? slot.assignedNodes({ flatten: true }) : [];
6
+ const nodes = slot != null ? slot.assignedNodes({ flatten: true }) : [];
24
7
  let text = '';
25
8
  [...nodes].map((node) => {
26
9
  if (node.nodeType === Node.TEXT_NODE) {
@@ -35,12 +18,13 @@ export function getTextContent(slot) {
35
18
  //
36
19
  export function hasSlot(el, name) {
37
20
  // Look for a named slot
38
- if (name) {
21
+ if (name != null && name !== '') {
39
22
  return el.querySelector(`[slot="${name}"]`) !== null;
40
23
  }
41
24
  // Look for a default slot
42
25
  return Array.from(el.childNodes).some((node) => {
43
- if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== '') {
26
+ var _a;
27
+ if (node.nodeType === node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== '') {
44
28
  return true;
45
29
  }
46
30
  if (node.nodeType === node.ELEMENT_NODE) {
@@ -52,9 +36,10 @@ export function hasSlot(el, name) {
52
36
  return false;
53
37
  });
54
38
  }
55
- const fromPairs = (acc, [k, v]) => (Object.assign(Object.assign({}, acc), { [k]: v }));
56
- export const getAvailableSlots = (slots) => (host) => Object.values(slots)
57
- .map((name) => [name, hasSlot(host, name)])
58
- .reduce(fromPairs, {});
59
39
  export const getSlotChildren = (el) => { var _a; return (_a = el.querySelector('slot')) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true }); };
40
+ export function getSlot(element, slotName) {
41
+ if (element == null)
42
+ return null;
43
+ return element.querySelector(`[slot="${slotName}"]`);
44
+ }
60
45
  //# sourceMappingURL=slot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slot.js","sourceRoot":"","sources":["../../src/utils/slot.ts"],"names":[],"mappings":"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","sourcesContent":["//\n// Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n// HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n//\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = '';\n\n [...nodes].map((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n//\n// Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n// string. This is useful because we can't use slot.textContent as an alternative.\n//\nexport function getTextContent(slot: HTMLSlotElement): string {\n const nodes = slot ? slot.assignedNodes({ flatten: true }) : [];\n let text = '';\n\n [...nodes].map((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n\n//\n// Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n// slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\n//\nexport function hasSlot(el: HTMLElement, name?: string) {\n // Look for a named slot\n if (name) {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return Array.from(el.childNodes).some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== '') {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute('slot')) {\n return true;\n }\n }\n\n return false;\n });\n}\n\ntype AvailableSlots<T> = { readonly [K in keyof T]: boolean };\n\nconst fromPairs = <T extends string>(acc, [k, v]: [T, boolean]) => ({ ...acc, [k]: v });\n\nexport const getAvailableSlots =\n <T extends object>(slots: T) =>\n <E extends HTMLElement>(host: E): AvailableSlots<T> =>\n Object.values(slots)\n .map((name) => [name, hasSlot(host, name)])\n .reduce(fromPairs, {} as AvailableSlots<T>);\n\nexport const getSlotChildren = <T extends HTMLElement>(el: HTMLElement) =>\n el.querySelector('slot')?.assignedElements({ flatten: true }) as T[];\n"]}
1
+ {"version":3,"file":"slot.js","sourceRoot":"","sources":["../../src/utils/slot.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,kHAAkH;AAClH,kFAAkF;AAClF,EAAE;AACF,MAAM,UAAU,cAAc,CAAC,IAAsB;EACnD,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EACxE,IAAI,IAAI,GAAG,EAAE,CAAC;EAEd,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;IACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;MACpC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;KAC1B;EACH,CAAC,CAAC,CAAC;EAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,EAAE;AACF,mHAAmH;AACnH,uHAAuH;AACvH,EAAE;AACF,MAAM,UAAU,OAAO,CAAC,EAAe,EAAE,IAAa;EACpD,wBAAwB;EACxB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;IAC/B,OAAO,EAAE,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;GACtD;EAED,0BAA0B;EAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;;IAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,EAAE,MAAK,EAAE,EAAE;MACvE,OAAO,IAAI,CAAC;KACb;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;MACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;MAC/B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QAC5B,OAAO,IAAI,CAAC;OACb;KACF;IAED,OAAO,KAAK,CAAC;EACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAwB,EAAe,EAAE,EAAE,WACxE,OAAA,MAAA,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,0CAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAQ,CAAA,EAAA,CAAC;AAEvE,MAAM,UAAU,OAAO,CAAC,OAAsC,EAAE,QAAgB;EAC9E,IAAI,OAAO,IAAI,IAAI;IAAE,OAAO,IAAI,CAAC;EACjC,OAAO,OAAO,CAAC,aAAa,CAAC,UAAU,QAAQ,IAAI,CAAC,CAAC;AACvD,CAAC","sourcesContent":["//\n// Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n// string. This is useful because we can't use slot.textContent as an alternative.\n//\nexport function getTextContent(slot?: HTMLSlotElement): string {\n const nodes = slot != null ? slot.assignedNodes({ flatten: true }) : [];\n let text = '';\n\n [...nodes].map((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n\n//\n// Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n// slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\n//\nexport function hasSlot(el: HTMLElement, name?: string): boolean {\n // Look for a named slot\n if (name != null && name !== '') {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return Array.from(el.childNodes).some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== '') {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute('slot')) {\n return true;\n }\n }\n\n return false;\n });\n}\n\nexport const getSlotChildren = <T extends HTMLElement>(el: HTMLElement) =>\n el.querySelector('slot')?.assignedElements({ flatten: true }) as T[];\n\nexport function getSlot(element: ParentNode | null | undefined, slotName: string): HTMLElement | null {\n if (element == null) return null;\n return element.querySelector(`[slot=\"${slotName}\"]`);\n}\n"]}
@@ -8,16 +8,16 @@ export function getNearestTabbableElement(el) {
8
8
  return el;
9
9
  }
10
10
  // Check the element's shadow root
11
- if (el.shadowRoot) {
12
- const tabbableShadowChild = [...el.shadowRoot.children].find(isTabbable);
13
- if (tabbableShadowChild) {
11
+ if (el.shadowRoot != null) {
12
+ const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e));
13
+ if (tabbableShadowChild != null) {
14
14
  return tabbableShadowChild;
15
15
  }
16
16
  }
17
17
  // Check the element's children
18
- if (el.children) {
19
- return [...el.children].map(getNearestTabbableElement)[0];
18
+ if (el.children != null) {
19
+ return [...el.children].map((e) => getNearestTabbableElement(e)).at(0);
20
20
  }
21
- return null;
21
+ return undefined;
22
22
  }
23
23
  //# sourceMappingURL=tabbable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabbable.js","sourceRoot":"","sources":["../../src/utils/tabbable.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,EAAe;EACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;EAC7B,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAe;EACvD,oBAAoB;EACpB,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE;IAClB,OAAO,EAAE,CAAC;GACX;EAED,kCAAkC;EAClC,IAAI,EAAE,CAAC,UAAU,EAAE;IACjB,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAgB,CAAC;IACxF,IAAI,mBAAmB,EAAE;MACvB,OAAO,mBAAmB,CAAC;KAC5B;GACF;EAED,+BAA+B;EAC/B,IAAI,EAAE,CAAC,QAAQ,EAAE;IACf,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;GAC3D;EAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["export function isTabbable(el: HTMLElement) {\n const tabIndex = el.tabIndex;\n return tabIndex > -1;\n}\n\nexport function getNearestTabbableElement(el: HTMLElement): HTMLElement {\n // Check the element\n if (isTabbable(el)) {\n return el;\n }\n\n // Check the element's shadow root\n if (el.shadowRoot) {\n const tabbableShadowChild = [...el.shadowRoot.children].find(isTabbable) as HTMLElement;\n if (tabbableShadowChild) {\n return tabbableShadowChild;\n }\n }\n\n // Check the element's children\n if (el.children) {\n return [...el.children].map(getNearestTabbableElement)[0];\n }\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"tabbable.js","sourceRoot":"","sources":["../../src/utils/tabbable.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,EAAe;EACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;EAC7B,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAe;EACvD,oBAAoB;EACpB,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE;IAClB,OAAO,EAAE,CAAC;GACX;EAED,kCAAkC;EAClC,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE;IACzB,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAgB,CAAC,CAAgB,CAAC;IACjH,IAAI,mBAAmB,IAAI,IAAI,EAAE;MAC/B,OAAO,mBAAmB,CAAC;KAC5B;GACF;EAED,+BAA+B;EAC/B,IAAI,EAAE,CAAC,QAAQ,IAAI,IAAI,EAAE;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,CAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;GACvF;EAED,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["export function isTabbable(el: HTMLElement) {\n const tabIndex = el.tabIndex;\n return tabIndex > -1;\n}\n\nexport function getNearestTabbableElement(el: HTMLElement): HTMLElement | undefined {\n // Check the element\n if (isTabbable(el)) {\n return el;\n }\n\n // Check the element's shadow root\n if (el.shadowRoot != null) {\n const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e as HTMLElement)) as HTMLElement;\n if (tabbableShadowChild != null) {\n return tabbableShadowChild;\n }\n }\n\n // Check the element's children\n if (el.children != null) {\n return [...el.children].map((e) => getNearestTabbableElement(e as HTMLElement)).at(0);\n }\n\n return undefined;\n}\n"]}