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

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 (975) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/event-listeners-fdfe838c.js +61 -0
  3. package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
  4. package/dist/cjs/{execution-control-46f388e0.js → execution-control-b4707294.js} +6 -3
  5. package/dist/cjs/execution-control-b4707294.js.map +1 -0
  6. package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-ae2470dd.js} +3 -3
  7. package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
  8. package/dist/cjs/form-2df8c5bb.js +20 -0
  9. package/dist/cjs/form-2df8c5bb.js.map +1 -0
  10. package/dist/cjs/{form-control-2c17c573.js → form-control-d369af14.js} +10 -11
  11. package/dist/cjs/form-control-d369af14.js.map +1 -0
  12. package/dist/cjs/{index-2f6daa5b.js → index-900437fc.js} +396 -54
  13. package/dist/cjs/index-900437fc.js.map +1 -0
  14. package/dist/cjs/index.cjs.js +94 -0
  15. package/dist/cjs/index.cjs.js.map +1 -1
  16. package/dist/cjs/loader.cjs.js +3 -12
  17. package/dist/cjs/loader.cjs.js.map +1 -1
  18. package/dist/cjs/{modal-48d42228.js → modal-d5f074c7.js} +4 -3
  19. package/dist/cjs/modal-d5f074c7.js.map +1 -0
  20. package/dist/cjs/{popover-f743f62b.js → popover-2df7e154.js} +39 -31
  21. package/dist/cjs/popover-2df7e154.js.map +1 -0
  22. package/dist/cjs/popup-f1d9910f.js +103 -0
  23. package/dist/cjs/popup-f1d9910f.js.map +1 -0
  24. package/dist/cjs/{scroll-76e6f5d7.js → scroll-03678de1.js} +1 -1
  25. package/dist/cjs/scroll-03678de1.js.map +1 -0
  26. package/dist/cjs/set-attributes_2.cjs.entry.js +4 -2
  27. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-alert.cjs.entry.js +18 -23
  29. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-avatar.cjs.entry.js +5 -8
  31. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-badge.cjs.entry.js +2 -2
  33. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-button.cjs.entry.js +36 -34
  35. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js +1 -1
  37. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-checkbox.cjs.entry.js +50 -85
  39. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-datepicker.cjs.entry.js +154 -280
  41. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-details.cjs.entry.js +48 -47
  43. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-dialog.cjs.entry.js +37 -41
  45. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-drawer.cjs.entry.js +34 -38
  47. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js +215 -196
  49. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-error-page.cjs.entry.js +20 -22
  51. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
  53. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  54. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  55. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-file-upload.cjs.entry.js +21 -21
  57. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  59. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-group-label.cjs.entry.js +12 -11
  61. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-header.cjs.entry.js +66 -44
  63. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
  65. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  67. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-input.cjs.entry.js +33 -94
  69. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-item-picker.cjs.entry.js +62 -81
  71. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  73. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-layout-grid.cjs.entry.js +5 -3
  75. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  77. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  79. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-menu-item.cjs.entry.js +9 -7
  81. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  83. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-picto.cjs.entry.js +5 -2
  85. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  87. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -4
  89. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-radio.cjs.entry.js +63 -72
  91. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-range.cjs.entry.js +107 -106
  93. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-root.cjs.entry.js +2 -2
  95. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-search-field.cjs.entry.js +11 -6
  97. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-select.cjs.entry.js +190 -223
  99. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +10 -6
  101. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  103. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-sidebar.cjs.entry.js +41 -20
  105. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  107. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-switch.cjs.entry.js +58 -64
  109. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  110. package/dist/cjs/six-tab-group.cjs.entry.js +132 -114
  111. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  112. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  113. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  114. package/dist/cjs/six-tab.cjs.entry.js +5 -3
  115. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  116. package/dist/cjs/six-tag.cjs.entry.js +6 -9
  117. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  118. package/dist/cjs/six-textarea.cjs.entry.js +82 -108
  119. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  120. package/dist/cjs/six-tile.cjs.entry.js +14 -17
  121. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  122. package/dist/cjs/six-timepicker.cjs.entry.js +159 -215
  123. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  124. package/dist/cjs/six-tooltip.cjs.entry.js +54 -57
  125. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  126. package/dist/cjs/{slot-ad537f24.js → slot-6e6a400f.js} +11 -10
  127. package/dist/cjs/slot-6e6a400f.js.map +1 -0
  128. package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
  129. package/dist/cjs/types-47199040.js.map +1 -0
  130. package/dist/cjs/ui-library.cjs.js +3 -6
  131. package/dist/cjs/ui-library.cjs.js.map +1 -1
  132. package/dist/collection/collection-manifest.json +54 -55
  133. package/dist/collection/components/six-alert/six-alert.js +32 -30
  134. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  135. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  136. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  137. package/dist/collection/components/six-avatar/six-avatar.js +5 -8
  138. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  139. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  140. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  141. package/dist/collection/components/six-badge/six-badge.js +2 -2
  142. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  143. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  144. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  145. package/dist/collection/components/six-button/six-button.js +56 -47
  146. package/dist/collection/components/six-button/six-button.js.map +1 -1
  147. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  148. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  149. package/dist/collection/components/six-card/six-card.js +1 -1
  150. package/dist/collection/components/six-card/six-card.js.map +1 -1
  151. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  152. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  153. package/dist/collection/components/six-checkbox/six-checkbox.js +81 -194
  154. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  155. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +79 -0
  156. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  157. package/dist/collection/components/six-datepicker/components/day-selection.js +3 -3
  158. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  159. package/dist/collection/components/six-datepicker/components/month-selection.js +6 -5
  160. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  161. package/dist/collection/components/six-datepicker/components/year-selection.js +11 -8
  162. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  163. package/dist/collection/components/six-datepicker/six-datepicker.js +219 -395
  164. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  165. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  166. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  167. package/dist/collection/components/six-details/six-details.js +65 -58
  168. package/dist/collection/components/six-details/six-details.js.map +1 -1
  169. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  170. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  171. package/dist/collection/components/six-dialog/six-dialog.js +55 -51
  172. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  173. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  174. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  175. package/dist/collection/components/six-drawer/six-drawer.js +52 -48
  176. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  177. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  178. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  179. package/dist/collection/components/six-dropdown/six-dropdown.js +215 -191
  180. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  181. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  182. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  183. package/dist/collection/components/six-error-page/six-error-page.js +26 -28
  184. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  185. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  186. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  187. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  188. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  189. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  190. package/dist/collection/components/six-file-list-item/six-file-list-item.js +8 -6
  191. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  192. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  193. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  194. package/dist/collection/components/six-file-upload/six-file-upload.js +37 -35
  195. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  196. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  197. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  198. package/dist/collection/components/six-footer/six-footer.js +1 -1
  199. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  200. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  201. package/dist/collection/components/six-group-label/six-group-label.js +15 -13
  202. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  203. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +43 -0
  204. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  205. package/dist/collection/components/six-header/six-header.js +82 -52
  206. package/dist/collection/components/six-header/six-header.js.map +1 -1
  207. package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
  208. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  209. package/dist/collection/components/six-icon/six-icon.js +1 -1
  210. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  211. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  212. package/dist/collection/components/six-icon-button/six-icon-button.js +10 -10
  213. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  214. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  215. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  216. package/dist/collection/components/six-input/six-input.css +1 -1
  217. package/dist/collection/components/six-input/six-input.js +106 -294
  218. package/dist/collection/components/six-input/six-input.js.map +1 -1
  219. package/dist/collection/components/six-input/test/six-input.spec.js +37 -0
  220. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  221. package/dist/collection/components/six-item-picker/six-item-picker.js +79 -94
  222. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  223. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  224. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  225. package/dist/collection/components/six-language-switcher/six-language-switcher.js +7 -5
  226. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  227. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  228. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  229. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  230. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  231. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  232. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  233. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  234. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  235. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  236. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  237. package/dist/collection/components/six-menu/six-menu.js +41 -31
  238. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  239. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  240. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  241. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  242. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  243. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  244. package/dist/collection/components/six-menu-item/six-menu-item.js +17 -11
  245. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  246. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  247. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  248. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  249. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  250. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  251. package/dist/collection/components/six-picto/six-picto.js +5 -2
  252. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  253. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  254. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  255. package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
  256. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  257. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  258. package/dist/collection/components/six-progress-ring/six-progress-ring.js +6 -5
  259. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  260. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  261. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  262. package/dist/collection/components/six-radio/six-radio.js +82 -148
  263. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  264. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  265. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  266. package/dist/collection/components/six-range/six-range.js +149 -190
  267. package/dist/collection/components/six-range/six-range.js.map +1 -1
  268. package/dist/collection/components/six-range/test/six-range.spec.js +32 -0
  269. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  270. package/dist/collection/components/six-root/six-root.js +9 -7
  271. package/dist/collection/components/six-root/six-root.js.map +1 -1
  272. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  273. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  274. package/dist/collection/components/six-search-field/six-search-field.js +15 -9
  275. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  276. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  277. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  278. package/dist/collection/components/six-select/six-select.css +6 -9
  279. package/dist/collection/components/six-select/six-select.js +235 -349
  280. package/dist/collection/components/six-select/six-select.js.map +1 -1
  281. package/dist/collection/components/six-select/test/six-select.spec.js +82 -0
  282. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  283. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  284. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  285. package/dist/collection/components/six-select/util.js +52 -0
  286. package/dist/collection/components/six-select/util.js.map +1 -0
  287. package/dist/collection/components/six-sidebar/six-sidebar.js +66 -33
  288. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  289. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  290. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  291. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
  292. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  293. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  294. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +14 -10
  295. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  296. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  297. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  298. package/dist/collection/components/six-spinner/six-spinner.js +1 -1
  299. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  300. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  301. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  302. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +4 -3
  303. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  304. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  305. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  306. package/dist/collection/components/six-switch/six-switch.css +77 -0
  307. package/dist/collection/components/six-switch/six-switch.js +108 -139
  308. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  309. package/dist/collection/components/six-switch/test/six-switch.spec.js +69 -0
  310. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  311. package/dist/collection/components/six-tab/six-tab.js +13 -7
  312. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  313. package/dist/collection/components/six-tab/test/six-tab.spec.js +20 -0
  314. package/dist/collection/components/six-tab/test/six-tab.spec.js.map +1 -0
  315. package/dist/collection/components/six-tab-group/six-tab-group.js +140 -119
  316. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  317. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js +45 -0
  318. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js.map +1 -0
  319. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  320. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  321. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  322. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  323. package/dist/collection/components/six-tag/six-tag.css +6 -0
  324. package/dist/collection/components/six-tag/six-tag.js +7 -9
  325. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  326. package/dist/collection/components/six-tag/test/six-tag.spec.js +42 -0
  327. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  328. package/dist/collection/components/six-textarea/six-textarea.js +167 -282
  329. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  330. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +117 -0
  331. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  332. package/dist/collection/components/six-tile/six-tile.js +26 -25
  333. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  334. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  335. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  336. package/dist/collection/components/six-timepicker/six-timepicker.js +169 -264
  337. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  338. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  339. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  340. package/dist/collection/components/six-tooltip/six-tooltip.js +69 -66
  341. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  342. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  343. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  344. package/dist/collection/functional-components/form-control/form-control.js +9 -10
  345. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  346. package/dist/collection/index.js +1 -1
  347. package/dist/collection/index.js.map +1 -1
  348. package/dist/collection/testUtil/delay.js.map +1 -1
  349. package/dist/collection/utils/date-util.js +25 -16
  350. package/dist/collection/utils/date-util.js.map +1 -1
  351. package/dist/collection/utils/date-util.spec.js +995 -0
  352. package/dist/collection/utils/date-util.spec.js.map +1 -0
  353. package/dist/collection/utils/error-messages.js +91 -0
  354. package/dist/collection/utils/error-messages.js.map +1 -0
  355. package/dist/collection/utils/event-listeners.js +22 -6
  356. package/dist/collection/utils/event-listeners.js.map +1 -1
  357. package/dist/collection/utils/execution-control.js +5 -4
  358. package/dist/collection/utils/execution-control.js.map +1 -1
  359. package/dist/collection/utils/focus-visible.js +2 -2
  360. package/dist/collection/utils/focus-visible.js.map +1 -1
  361. package/dist/collection/utils/form.js +15 -0
  362. package/dist/collection/utils/form.js.map +1 -0
  363. package/dist/collection/utils/modal.js +3 -2
  364. package/dist/collection/utils/modal.js.map +1 -1
  365. package/dist/collection/utils/popover.js +33 -19
  366. package/dist/collection/utils/popover.js.map +1 -1
  367. package/dist/collection/utils/popup.js +95 -0
  368. package/dist/collection/utils/popup.js.map +1 -0
  369. package/dist/collection/utils/scroll.js +1 -1
  370. package/dist/collection/utils/scroll.spec.js +122 -0
  371. package/dist/collection/utils/scroll.spec.js.map +1 -0
  372. package/dist/collection/utils/slot.js +9 -24
  373. package/dist/collection/utils/slot.js.map +1 -1
  374. package/dist/collection/utils/tabbable.js +6 -6
  375. package/dist/collection/utils/tabbable.js.map +1 -1
  376. package/dist/collection/utils/time.util.js +48 -34
  377. package/dist/collection/utils/time.util.js.map +1 -1
  378. package/dist/collection/utils/time.util.spec.js +368 -0
  379. package/dist/collection/utils/time.util.spec.js.map +1 -0
  380. package/dist/collection/utils/type-check.js +0 -1
  381. package/dist/collection/utils/type-check.js.map +1 -1
  382. package/dist/collection/wrappers/set-attributes/set-attributes.js +4 -2
  383. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  384. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  385. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  386. package/dist/components/event-listeners.js +22 -6
  387. package/dist/components/event-listeners.js.map +1 -1
  388. package/dist/components/execution-control.js +5 -2
  389. package/dist/components/execution-control.js.map +1 -1
  390. package/dist/components/focus-visible.js +2 -2
  391. package/dist/components/focus-visible.js.map +1 -1
  392. package/dist/components/form-control.js +8 -9
  393. package/dist/components/form-control.js.map +1 -1
  394. package/dist/components/form.js +18 -0
  395. package/dist/components/form.js.map +1 -0
  396. package/dist/components/index.js +92 -3
  397. package/dist/components/index.js.map +1 -1
  398. package/dist/components/modal.js +3 -2
  399. package/dist/components/modal.js.map +1 -1
  400. package/dist/components/popover.js +38 -30
  401. package/dist/components/popover.js.map +1 -1
  402. package/dist/components/scroll.js.map +1 -1
  403. package/dist/components/set-attributes2.js +3 -1
  404. package/dist/components/set-attributes2.js.map +1 -1
  405. package/dist/components/six-alert.js +17 -22
  406. package/dist/components/six-alert.js.map +1 -1
  407. package/dist/components/six-avatar.js +4 -7
  408. package/dist/components/six-avatar.js.map +1 -1
  409. package/dist/components/six-badge.js +1 -1
  410. package/dist/components/six-badge.js.map +1 -1
  411. package/dist/components/six-button.js +34 -32
  412. package/dist/components/six-button.js.map +1 -1
  413. package/dist/components/six-card.js.map +1 -1
  414. package/dist/components/six-checkbox.js +48 -89
  415. package/dist/components/six-checkbox.js.map +1 -1
  416. package/dist/components/six-datepicker.js +153 -282
  417. package/dist/components/six-datepicker.js.map +1 -1
  418. package/dist/components/six-details2.js +46 -45
  419. package/dist/components/six-details2.js.map +1 -1
  420. package/dist/components/six-dialog.js +33 -37
  421. package/dist/components/six-dialog.js.map +1 -1
  422. package/dist/components/six-drawer.js +30 -34
  423. package/dist/components/six-drawer.js.map +1 -1
  424. package/dist/components/six-dropdown2.js +185 -173
  425. package/dist/components/six-dropdown2.js.map +1 -1
  426. package/dist/components/six-error-page.js +19 -21
  427. package/dist/components/six-error-page.js.map +1 -1
  428. package/dist/components/six-file-list-item.js +1 -1
  429. package/dist/components/six-file-list-item.js.map +1 -1
  430. package/dist/components/six-file-list.js.map +1 -1
  431. package/dist/components/six-file-upload.js +20 -20
  432. package/dist/components/six-file-upload.js.map +1 -1
  433. package/dist/components/six-footer.js.map +1 -1
  434. package/dist/components/six-group-label.js +10 -9
  435. package/dist/components/six-group-label.js.map +1 -1
  436. package/dist/components/six-header.js +64 -42
  437. package/dist/components/six-header.js.map +1 -1
  438. package/dist/components/six-icon-button2.js +2 -2
  439. package/dist/components/six-icon-button2.js.map +1 -1
  440. package/dist/components/six-icon2.js.map +1 -1
  441. package/dist/components/six-input2.js +34 -104
  442. package/dist/components/six-input2.js.map +1 -1
  443. package/dist/components/six-item-picker2.js +58 -77
  444. package/dist/components/six-item-picker2.js.map +1 -1
  445. package/dist/components/six-language-switcher.js +1 -1
  446. package/dist/components/six-language-switcher.js.map +1 -1
  447. package/dist/components/six-layout-grid.js +5 -3
  448. package/dist/components/six-layout-grid.js.map +1 -1
  449. package/dist/components/six-main-container.js.map +1 -1
  450. package/dist/components/six-menu-divider.js.map +1 -1
  451. package/dist/components/six-menu-item2.js +7 -5
  452. package/dist/components/six-menu-item2.js.map +1 -1
  453. package/dist/components/six-menu-label.js.map +1 -1
  454. package/dist/components/six-menu2.js +25 -18
  455. package/dist/components/six-menu2.js.map +1 -1
  456. package/dist/components/six-picto2.js +4 -1
  457. package/dist/components/six-picto2.js.map +1 -1
  458. package/dist/components/six-progress-bar.js.map +1 -1
  459. package/dist/components/six-progress-ring.js +3 -3
  460. package/dist/components/six-progress-ring.js.map +1 -1
  461. package/dist/components/six-radio.js +65 -78
  462. package/dist/components/six-radio.js.map +1 -1
  463. package/dist/components/six-range.js +108 -111
  464. package/dist/components/six-range.js.map +1 -1
  465. package/dist/components/six-root.js +1 -1
  466. package/dist/components/six-root.js.map +1 -1
  467. package/dist/components/six-search-field.js +8 -3
  468. package/dist/components/six-search-field.js.map +1 -1
  469. package/dist/components/six-select.js +190 -229
  470. package/dist/components/six-select.js.map +1 -1
  471. package/dist/components/six-sidebar-item-group.js +8 -4
  472. package/dist/components/six-sidebar-item-group.js.map +1 -1
  473. package/dist/components/six-sidebar-item.js.map +1 -1
  474. package/dist/components/six-sidebar.js +39 -18
  475. package/dist/components/six-sidebar.js.map +1 -1
  476. package/dist/components/six-spinner2.js.map +1 -1
  477. package/dist/components/six-stage-indicator2.js.map +1 -1
  478. package/dist/components/six-switch.js +61 -69
  479. package/dist/components/six-switch.js.map +1 -1
  480. package/dist/components/six-tab-group.js +129 -111
  481. package/dist/components/six-tab-group.js.map +1 -1
  482. package/dist/components/six-tab-panel.js +1 -1
  483. package/dist/components/six-tab-panel.js.map +1 -1
  484. package/dist/components/six-tab.js +4 -2
  485. package/dist/components/six-tab.js.map +1 -1
  486. package/dist/components/six-tag2.js +5 -8
  487. package/dist/components/six-tag2.js.map +1 -1
  488. package/dist/components/six-textarea.js +83 -115
  489. package/dist/components/six-textarea.js.map +1 -1
  490. package/dist/components/six-tile.js +14 -17
  491. package/dist/components/six-tile.js.map +1 -1
  492. package/dist/components/six-timepicker.js +1 -1
  493. package/dist/components/six-timepicker2.js +247 -258
  494. package/dist/components/six-timepicker2.js.map +1 -1
  495. package/dist/components/six-tooltip2.js +52 -55
  496. package/dist/components/six-tooltip2.js.map +1 -1
  497. package/dist/components/slot.js +10 -9
  498. package/dist/components/slot.js.map +1 -1
  499. package/dist/components.d.ts +361 -88
  500. package/dist/components.json +4239 -996
  501. package/dist/esm/event-listeners-f6e5b0ab.js +59 -0
  502. package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
  503. package/dist/esm/{execution-control-1a60d709.js → execution-control-e0892a05.js} +6 -3
  504. package/dist/esm/execution-control-e0892a05.js.map +1 -0
  505. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fc6ac671.js} +3 -3
  506. package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
  507. package/dist/esm/form-81252534.js +18 -0
  508. package/dist/esm/form-81252534.js.map +1 -0
  509. package/dist/esm/{form-control-3b440ea1.js → form-control-32cb533f.js} +10 -11
  510. package/dist/esm/form-control-32cb533f.js.map +1 -0
  511. package/dist/esm/{index-5c0f6628.js → index-8a74f992.js} +396 -54
  512. package/dist/esm/index-8a74f992.js.map +1 -0
  513. package/dist/esm/index.js +91 -0
  514. package/dist/esm/index.js.map +1 -1
  515. package/dist/esm/loader.js +4 -13
  516. package/dist/esm/loader.js.map +1 -1
  517. package/dist/esm/{modal-5ebdc320.js → modal-7d32e141.js} +4 -3
  518. package/dist/esm/modal-7d32e141.js.map +1 -0
  519. package/dist/esm/{popover-bd2c2fca.js → popover-136d1f73.js} +39 -31
  520. package/dist/esm/popover-136d1f73.js.map +1 -0
  521. package/dist/esm/popup-7f89a001.js +98 -0
  522. package/dist/esm/popup-7f89a001.js.map +1 -0
  523. package/dist/esm/{scroll-180b53fd.js → scroll-3fb087a2.js} +1 -1
  524. package/dist/esm/scroll-3fb087a2.js.map +1 -0
  525. package/dist/esm/set-attributes_2.entry.js +4 -2
  526. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  527. package/dist/esm/six-alert.entry.js +18 -23
  528. package/dist/esm/six-alert.entry.js.map +1 -1
  529. package/dist/esm/six-avatar.entry.js +5 -8
  530. package/dist/esm/six-avatar.entry.js.map +1 -1
  531. package/dist/esm/six-badge.entry.js +2 -2
  532. package/dist/esm/six-badge.entry.js.map +1 -1
  533. package/dist/esm/six-button.entry.js +36 -34
  534. package/dist/esm/six-button.entry.js.map +1 -1
  535. package/dist/esm/six-card.entry.js +1 -1
  536. package/dist/esm/six-card.entry.js.map +1 -1
  537. package/dist/esm/six-checkbox.entry.js +50 -85
  538. package/dist/esm/six-checkbox.entry.js.map +1 -1
  539. package/dist/esm/six-datepicker.entry.js +152 -278
  540. package/dist/esm/six-datepicker.entry.js.map +1 -1
  541. package/dist/esm/six-details.entry.js +48 -47
  542. package/dist/esm/six-details.entry.js.map +1 -1
  543. package/dist/esm/six-dialog.entry.js +37 -41
  544. package/dist/esm/six-dialog.entry.js.map +1 -1
  545. package/dist/esm/six-drawer.entry.js +34 -38
  546. package/dist/esm/six-drawer.entry.js.map +1 -1
  547. package/dist/esm/six-dropdown_2.entry.js +215 -196
  548. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  549. package/dist/esm/six-error-page.entry.js +20 -22
  550. package/dist/esm/six-error-page.entry.js.map +1 -1
  551. package/dist/esm/six-file-list-item.entry.js +2 -2
  552. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  553. package/dist/esm/six-file-list.entry.js +1 -1
  554. package/dist/esm/six-file-list.entry.js.map +1 -1
  555. package/dist/esm/six-file-upload.entry.js +21 -21
  556. package/dist/esm/six-file-upload.entry.js.map +1 -1
  557. package/dist/esm/six-footer.entry.js +1 -1
  558. package/dist/esm/six-footer.entry.js.map +1 -1
  559. package/dist/esm/six-group-label.entry.js +12 -11
  560. package/dist/esm/six-group-label.entry.js.map +1 -1
  561. package/dist/esm/six-header.entry.js +66 -44
  562. package/dist/esm/six-header.entry.js.map +1 -1
  563. package/dist/esm/six-icon-button.entry.js +4 -4
  564. package/dist/esm/six-icon-button.entry.js.map +1 -1
  565. package/dist/esm/six-icon.entry.js +1 -1
  566. package/dist/esm/six-icon.entry.js.map +1 -1
  567. package/dist/esm/six-input.entry.js +33 -94
  568. package/dist/esm/six-input.entry.js.map +1 -1
  569. package/dist/esm/six-item-picker.entry.js +62 -81
  570. package/dist/esm/six-item-picker.entry.js.map +1 -1
  571. package/dist/esm/six-language-switcher.entry.js +2 -2
  572. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  573. package/dist/esm/six-layout-grid.entry.js +5 -3
  574. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  575. package/dist/esm/six-main-container.entry.js +1 -1
  576. package/dist/esm/six-main-container.entry.js.map +1 -1
  577. package/dist/esm/six-menu-divider.entry.js +1 -1
  578. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  579. package/dist/esm/six-menu-item.entry.js +9 -7
  580. package/dist/esm/six-menu-item.entry.js.map +1 -1
  581. package/dist/esm/six-menu-label.entry.js +1 -1
  582. package/dist/esm/six-menu-label.entry.js.map +1 -1
  583. package/dist/esm/six-picto.entry.js +5 -2
  584. package/dist/esm/six-picto.entry.js.map +1 -1
  585. package/dist/esm/six-progress-bar.entry.js +1 -1
  586. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  587. package/dist/esm/six-progress-ring.entry.js +4 -4
  588. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  589. package/dist/esm/six-radio.entry.js +63 -72
  590. package/dist/esm/six-radio.entry.js.map +1 -1
  591. package/dist/esm/six-range.entry.js +107 -106
  592. package/dist/esm/six-range.entry.js.map +1 -1
  593. package/dist/esm/six-root.entry.js +2 -2
  594. package/dist/esm/six-root.entry.js.map +1 -1
  595. package/dist/esm/six-search-field.entry.js +11 -6
  596. package/dist/esm/six-search-field.entry.js.map +1 -1
  597. package/dist/esm/six-select.entry.js +190 -223
  598. package/dist/esm/six-select.entry.js.map +1 -1
  599. package/dist/esm/six-sidebar-item-group.entry.js +10 -6
  600. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  601. package/dist/esm/six-sidebar-item.entry.js +1 -1
  602. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  603. package/dist/esm/six-sidebar.entry.js +41 -20
  604. package/dist/esm/six-sidebar.entry.js.map +1 -1
  605. package/dist/esm/six-spinner.entry.js +1 -1
  606. package/dist/esm/six-spinner.entry.js.map +1 -1
  607. package/dist/esm/six-switch.entry.js +58 -64
  608. package/dist/esm/six-switch.entry.js.map +1 -1
  609. package/dist/esm/six-tab-group.entry.js +132 -114
  610. package/dist/esm/six-tab-group.entry.js.map +1 -1
  611. package/dist/esm/six-tab-panel.entry.js +2 -2
  612. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  613. package/dist/esm/six-tab.entry.js +5 -3
  614. package/dist/esm/six-tab.entry.js.map +1 -1
  615. package/dist/esm/six-tag.entry.js +6 -9
  616. package/dist/esm/six-tag.entry.js.map +1 -1
  617. package/dist/esm/six-textarea.entry.js +82 -108
  618. package/dist/esm/six-textarea.entry.js.map +1 -1
  619. package/dist/esm/six-tile.entry.js +14 -17
  620. package/dist/esm/six-tile.entry.js.map +1 -1
  621. package/dist/esm/six-timepicker.entry.js +159 -215
  622. package/dist/esm/six-timepicker.entry.js.map +1 -1
  623. package/dist/esm/six-tooltip.entry.js +54 -57
  624. package/dist/esm/six-tooltip.entry.js.map +1 -1
  625. package/dist/esm/{slot-6f3984c7.js → slot-ad36df3a.js} +11 -10
  626. package/dist/esm/slot-ad36df3a.js.map +1 -0
  627. package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
  628. package/dist/esm/types-59b455aa.js.map +1 -0
  629. package/dist/esm/ui-library.js +4 -7
  630. package/dist/esm/ui-library.js.map +1 -1
  631. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  632. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  633. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  634. package/dist/types/components/six-button/six-button.d.ts +8 -9
  635. package/dist/types/components/six-checkbox/six-checkbox.d.ts +23 -35
  636. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  637. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  638. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  639. package/dist/types/components/six-datepicker/six-datepicker.d.ts +41 -52
  640. package/dist/types/components/six-details/six-details.d.ts +12 -12
  641. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  642. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  643. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  644. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  645. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  646. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  647. package/dist/types/components/six-group-label/six-group-label.d.ts +5 -5
  648. package/dist/types/components/six-header/six-header.d.ts +16 -27
  649. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  650. package/dist/types/components/six-input/six-input.d.ts +10 -36
  651. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  652. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  653. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  654. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  655. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  656. package/dist/types/components/six-radio/six-radio.d.ts +14 -25
  657. package/dist/types/components/six-range/six-range.d.ts +27 -38
  658. package/dist/types/components/six-root/six-root.d.ts +3 -3
  659. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  660. package/dist/types/components/six-select/six-select.d.ts +41 -58
  661. package/dist/types/components/six-select/util.d.ts +7 -0
  662. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  663. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  664. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  665. package/dist/types/components/six-switch/six-switch.d.ts +18 -21
  666. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  667. package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
  668. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  669. package/dist/types/components/six-tag/six-tag.d.ts +1 -3
  670. package/dist/types/components/six-textarea/six-textarea.d.ts +27 -55
  671. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  672. package/dist/types/components/six-timepicker/six-timepicker.d.ts +26 -43
  673. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  674. package/dist/types/components.d.ts +199 -438
  675. package/dist/types/functional-components/form-control/form-control.d.ts +5 -6
  676. package/dist/types/index.d.ts +1 -0
  677. package/dist/types/stencil-public-runtime.d.ts +15 -2
  678. package/dist/types/testUtil/delay.d.ts +1 -1
  679. package/dist/types/types.d.ts +2 -0
  680. package/dist/types/utils/date-util.d.ts +18 -10
  681. package/dist/types/utils/error-messages.d.ts +42 -0
  682. package/dist/types/utils/event-listeners.d.ts +4 -3
  683. package/dist/types/utils/execution-control.d.ts +1 -3
  684. package/dist/types/utils/form.d.ts +1 -0
  685. package/dist/types/utils/modal.d.ts +2 -2
  686. package/dist/types/utils/popover.d.ts +5 -5
  687. package/dist/types/utils/popup.d.ts +9 -0
  688. package/dist/types/utils/slot.d.ts +2 -7
  689. package/dist/types/utils/tabbable.d.ts +1 -1
  690. package/dist/types/utils/time.util.d.ts +18 -9
  691. package/dist/types/utils/type-check.d.ts +3 -4
  692. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  693. package/dist/ui-library/index.esm.js +1 -1
  694. package/dist/ui-library/index.esm.js.map +1 -1
  695. package/dist/ui-library/p-02981b91.entry.js +2 -0
  696. package/dist/ui-library/p-02981b91.entry.js.map +1 -0
  697. package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
  698. package/dist/ui-library/p-0f510624.js.map +1 -0
  699. package/dist/ui-library/p-0fdb185d.js +2 -0
  700. package/dist/ui-library/p-0fdb185d.js.map +1 -0
  701. package/dist/ui-library/{p-611e1978.entry.js → p-1256cc0a.entry.js} +2 -2
  702. package/dist/ui-library/p-1256cc0a.entry.js.map +1 -0
  703. package/dist/ui-library/{p-19364560.entry.js → p-13b43e04.entry.js} +2 -2
  704. package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
  705. package/dist/ui-library/p-15559d38.js +2 -0
  706. package/dist/ui-library/p-15559d38.js.map +1 -0
  707. package/dist/ui-library/p-19ed7a4c.entry.js +2 -0
  708. package/dist/ui-library/p-19ed7a4c.entry.js.map +1 -0
  709. package/dist/ui-library/{p-97323ad7.entry.js → p-1d5ee1a0.entry.js} +2 -2
  710. package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
  711. package/dist/ui-library/{p-eb8f05a9.js → p-1f18768a.js} +1 -1
  712. package/dist/ui-library/p-1f18768a.js.map +1 -0
  713. package/dist/ui-library/p-21b3b321.entry.js +2 -0
  714. package/dist/ui-library/p-21b3b321.entry.js.map +1 -0
  715. package/dist/ui-library/p-264d4ea8.entry.js +2 -0
  716. package/dist/ui-library/p-264d4ea8.entry.js.map +1 -0
  717. package/dist/ui-library/{p-c30f9e0b.entry.js → p-29ac3d7d.entry.js} +2 -2
  718. package/dist/ui-library/p-29ac3d7d.entry.js.map +1 -0
  719. package/dist/ui-library/p-314b2096.entry.js +2 -0
  720. package/dist/ui-library/p-314b2096.entry.js.map +1 -0
  721. package/dist/ui-library/p-330a4988.entry.js +2 -0
  722. package/dist/ui-library/p-330a4988.entry.js.map +1 -0
  723. package/dist/ui-library/{p-21859bca.entry.js → p-346f9557.entry.js} +2 -2
  724. package/dist/ui-library/p-346f9557.entry.js.map +1 -0
  725. package/dist/ui-library/p-37557787.entry.js +2 -0
  726. package/dist/ui-library/p-37557787.entry.js.map +1 -0
  727. package/dist/ui-library/{p-baa03951.entry.js → p-3cc5addb.entry.js} +2 -2
  728. package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
  729. package/dist/ui-library/p-3d9de119.entry.js +2 -0
  730. package/dist/ui-library/p-3d9de119.entry.js.map +1 -0
  731. package/dist/ui-library/p-411ed539.entry.js +2 -0
  732. package/dist/ui-library/p-411ed539.entry.js.map +1 -0
  733. package/dist/ui-library/p-4705a51e.entry.js +2 -0
  734. package/dist/ui-library/p-4705a51e.entry.js.map +1 -0
  735. package/dist/ui-library/p-4abed9df.entry.js +2 -0
  736. package/dist/ui-library/p-4abed9df.entry.js.map +1 -0
  737. package/dist/ui-library/p-5654e4c7.js +2 -0
  738. package/dist/ui-library/p-5654e4c7.js.map +1 -0
  739. package/dist/ui-library/p-59210f0b.js +2 -0
  740. package/dist/ui-library/p-59210f0b.js.map +1 -0
  741. package/dist/ui-library/{p-19b50b5a.entry.js → p-5af44076.entry.js} +2 -2
  742. package/dist/ui-library/p-5af44076.entry.js.map +1 -0
  743. package/dist/ui-library/p-5d6b7353.entry.js +2 -0
  744. package/dist/ui-library/p-5d6b7353.entry.js.map +1 -0
  745. package/dist/ui-library/{p-097cced4.entry.js → p-613283a7.entry.js} +2 -2
  746. package/dist/ui-library/p-613283a7.entry.js.map +1 -0
  747. package/dist/ui-library/p-6153045b.js +3 -0
  748. package/dist/ui-library/p-6153045b.js.map +1 -0
  749. package/dist/ui-library/{p-e19a6c95.entry.js → p-6197fe2f.entry.js} +2 -2
  750. package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
  751. package/dist/ui-library/p-698bb2c8.js +2 -0
  752. package/dist/ui-library/p-698bb2c8.js.map +1 -0
  753. package/dist/ui-library/{p-d5633a29.entry.js → p-72254eef.entry.js} +2 -2
  754. package/dist/ui-library/p-72254eef.entry.js.map +1 -0
  755. package/dist/ui-library/p-724875b0.entry.js +2 -0
  756. package/dist/ui-library/p-724875b0.entry.js.map +1 -0
  757. package/dist/ui-library/{p-dd3c76f1.entry.js → p-7afafb9d.entry.js} +2 -2
  758. package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
  759. package/dist/ui-library/p-7d95def3.js +2 -0
  760. package/dist/ui-library/p-7d95def3.js.map +1 -0
  761. package/dist/ui-library/{p-63703ba3.entry.js → p-7e3ad38a.entry.js} +2 -2
  762. package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
  763. package/dist/ui-library/p-83864cfe.entry.js +2 -0
  764. package/dist/ui-library/p-83864cfe.entry.js.map +1 -0
  765. package/dist/ui-library/{p-9328e5bc.entry.js → p-878226a0.entry.js} +2 -2
  766. package/dist/ui-library/p-878226a0.entry.js.map +1 -0
  767. package/dist/ui-library/p-8c0971e0.js +2 -0
  768. package/dist/ui-library/p-8c0971e0.js.map +1 -0
  769. package/dist/ui-library/p-91b51800.entry.js +2 -0
  770. package/dist/ui-library/p-91b51800.entry.js.map +1 -0
  771. package/dist/ui-library/p-95fbdd0b.entry.js +2 -0
  772. package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
  773. package/dist/ui-library/p-99e24daf.entry.js +2 -0
  774. package/dist/ui-library/p-99e24daf.entry.js.map +1 -0
  775. package/dist/ui-library/{p-4f8394d7.js → p-9ace84c7.js} +2 -2
  776. package/dist/ui-library/p-9ace84c7.js.map +1 -0
  777. package/dist/ui-library/p-9b354f5d.entry.js +2 -0
  778. package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
  779. package/dist/ui-library/{p-c349d1d4.entry.js → p-9c1be3fb.entry.js} +2 -2
  780. package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
  781. package/dist/ui-library/p-9f0b43f9.entry.js +2 -0
  782. package/dist/ui-library/p-9f0b43f9.entry.js.map +1 -0
  783. package/dist/ui-library/{p-af793d04.entry.js → p-a0f290d0.entry.js} +2 -2
  784. package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
  785. package/dist/ui-library/p-a55c7258.entry.js +2 -0
  786. package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
  787. package/dist/ui-library/{p-6d75f216.entry.js → p-a6a9ee96.entry.js} +2 -2
  788. package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
  789. package/dist/ui-library/{p-73597d13.entry.js → p-ac099e6b.entry.js} +2 -2
  790. package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
  791. package/dist/ui-library/p-ae601a0f.entry.js +2 -0
  792. package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
  793. package/dist/ui-library/p-b351f889.entry.js +2 -0
  794. package/dist/ui-library/p-b351f889.entry.js.map +1 -0
  795. package/dist/ui-library/{p-6433c0da.entry.js → p-b550a258.entry.js} +2 -2
  796. package/dist/ui-library/p-b550a258.entry.js.map +1 -0
  797. package/dist/ui-library/{p-90dc6af4.entry.js → p-bf87464b.entry.js} +2 -2
  798. package/dist/ui-library/p-bf87464b.entry.js.map +1 -0
  799. package/dist/ui-library/p-c03ebf7d.entry.js +2 -0
  800. package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
  801. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-cd67da3d.entry.js} +2 -2
  802. package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
  803. package/dist/ui-library/p-cdaed936.entry.js +2 -0
  804. package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
  805. package/dist/ui-library/{p-8a970a40.entry.js → p-d367f4f9.entry.js} +2 -2
  806. package/dist/ui-library/p-d367f4f9.entry.js.map +1 -0
  807. package/dist/ui-library/p-d42c2025.js +2 -0
  808. package/dist/ui-library/p-d42c2025.js.map +1 -0
  809. package/dist/ui-library/{p-820c23f0.entry.js → p-dfed33c5.entry.js} +2 -2
  810. package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
  811. package/dist/ui-library/p-ed381ad9.entry.js +2 -0
  812. package/dist/ui-library/p-ed381ad9.entry.js.map +1 -0
  813. package/dist/ui-library/p-ee8342e1.entry.js +2 -0
  814. package/dist/ui-library/p-ee8342e1.entry.js.map +1 -0
  815. package/dist/ui-library/p-ee950ce2.entry.js +2 -0
  816. package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
  817. package/dist/ui-library/{p-7e0cc4ae.entry.js → p-ff90ffd1.entry.js} +2 -2
  818. package/dist/ui-library/p-ff90ffd1.entry.js.map +1 -0
  819. package/dist/ui-library/ui-library.esm.js +1 -1
  820. package/dist/ui-library/ui-library.esm.js.map +1 -1
  821. package/loader/index.d.ts +1 -1
  822. package/package.json +9 -9
  823. package/dist/cjs/event-listeners-74715e62.js +0 -45
  824. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  825. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  826. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  827. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  828. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  829. package/dist/cjs/modal-48d42228.js.map +0 -1
  830. package/dist/cjs/popover-f743f62b.js.map +0 -1
  831. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  832. package/dist/cjs/six-form.cjs.entry.js +0 -231
  833. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  834. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  835. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  836. package/dist/cjs/slot-ad537f24.js.map +0 -1
  837. package/dist/cjs/types-64878648.js.map +0 -1
  838. package/dist/collection/components/six-form/six-form.css +0 -11
  839. package/dist/collection/components/six-form/six-form.js +0 -419
  840. package/dist/collection/components/six-form/six-form.js.map +0 -1
  841. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  842. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  843. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  844. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  845. package/dist/collection/utils/as-array.js +0 -2
  846. package/dist/collection/utils/as-array.js.map +0 -1
  847. package/dist/collection/utils/matchers.js +0 -3
  848. package/dist/collection/utils/matchers.js.map +0 -1
  849. package/dist/collection/utils/testing.js +0 -39
  850. package/dist/collection/utils/testing.js.map +0 -1
  851. package/dist/components/six-form.d.ts +0 -11
  852. package/dist/components/six-form.js +0 -252
  853. package/dist/components/six-form.js.map +0 -1
  854. package/dist/esm/event-listeners-570a24ea.js +0 -43
  855. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  856. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  857. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  858. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  859. package/dist/esm/index-5c0f6628.js.map +0 -1
  860. package/dist/esm/modal-5ebdc320.js.map +0 -1
  861. package/dist/esm/polyfills/css-shim.js +0 -1
  862. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  863. package/dist/esm/scroll-180b53fd.js.map +0 -1
  864. package/dist/esm/six-form.entry.js +0 -227
  865. package/dist/esm/six-form.entry.js.map +0 -1
  866. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  867. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  868. package/dist/esm/slot-6f3984c7.js.map +0 -1
  869. package/dist/esm/types-4b10b413.js.map +0 -1
  870. package/dist/types/components/six-form/six-form.d.ts +0 -69
  871. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  872. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  873. package/dist/types/utils/as-array.d.ts +0 -1
  874. package/dist/types/utils/matchers.d.ts +0 -2
  875. package/dist/types/utils/popper.d.ts +0 -33
  876. package/dist/types/utils/testing.d.ts +0 -2
  877. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  878. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  879. package/dist/ui-library/p-0786fa7c.js +0 -2
  880. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  881. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  882. package/dist/ui-library/p-0d79b0c6.entry.js +0 -2
  883. package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
  884. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  885. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  886. package/dist/ui-library/p-18ea0c56.js +0 -2
  887. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  888. package/dist/ui-library/p-19364560.entry.js.map +0 -1
  889. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  890. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  891. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  892. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  893. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  894. package/dist/ui-library/p-308261c4.entry.js +0 -2
  895. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  896. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  897. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  898. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  899. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  900. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  901. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  902. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  903. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  904. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  905. package/dist/ui-library/p-611e1978.entry.js.map +0 -1
  906. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  907. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  908. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  909. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  910. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  911. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  912. package/dist/ui-library/p-79eee01b.js +0 -2
  913. package/dist/ui-library/p-79eee01b.js.map +0 -1
  914. package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
  915. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  916. package/dist/ui-library/p-835c3ff7.entry.js +0 -2
  917. package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
  918. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  919. package/dist/ui-library/p-90824648.entry.js +0 -2
  920. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  921. package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
  922. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  923. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  924. package/dist/ui-library/p-9a860acc.js +0 -2
  925. package/dist/ui-library/p-9a860acc.js.map +0 -1
  926. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  927. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  928. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  929. package/dist/ui-library/p-ac4f4d45.js +0 -3
  930. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  931. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  932. package/dist/ui-library/p-b0e5658f.entry.js +0 -2
  933. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  934. package/dist/ui-library/p-b1e66136.js +0 -2
  935. package/dist/ui-library/p-b1e66136.js.map +0 -1
  936. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  937. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  938. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  939. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  940. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  941. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  942. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  943. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  944. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  945. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  946. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  947. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  948. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  949. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  950. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  951. package/dist/ui-library/p-d12c6092.js +0 -2
  952. package/dist/ui-library/p-d12c6092.js.map +0 -1
  953. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  954. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  955. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  956. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  957. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  958. package/dist/ui-library/p-e9e930d2.entry.js +0 -2
  959. package/dist/ui-library/p-e9e930d2.entry.js.map +0 -1
  960. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  961. package/dist/ui-library/p-edc96efc.entry.js +0 -2
  962. package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
  963. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  964. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  965. package/dist/ui-library/p-f4938771.entry.js +0 -2
  966. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  967. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  968. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  969. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  970. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  971. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  972. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  973. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  974. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
  975. package/readme.md +0 -156
@@ -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): boolean {\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"]}