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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1067) hide show
  1. package/dist/cjs/event-listeners-fdfe838c.js +61 -0
  2. package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
  3. package/dist/cjs/{execution-control-46f388e0.js → execution-control-b4707294.js} +6 -3
  4. package/dist/cjs/execution-control-b4707294.js.map +1 -0
  5. package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-ae2470dd.js} +3 -3
  6. package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
  7. package/dist/cjs/form-2df8c5bb.js +20 -0
  8. package/dist/cjs/form-2df8c5bb.js.map +1 -0
  9. package/dist/cjs/{form-control-8e2ae807.js → form-control-d369af14.js} +10 -11
  10. package/dist/cjs/form-control-d369af14.js.map +1 -0
  11. package/dist/cjs/{index-b3257a77.js → index-900437fc.js} +186 -55
  12. package/dist/cjs/index-900437fc.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +94 -0
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +3 -12
  16. package/dist/cjs/loader.cjs.js.map +1 -1
  17. package/dist/cjs/{modal-48d42228.js → modal-d5f074c7.js} +4 -3
  18. package/dist/cjs/modal-d5f074c7.js.map +1 -0
  19. package/dist/cjs/{popover-f743f62b.js → popover-2df7e154.js} +39 -31
  20. package/dist/cjs/popover-2df7e154.js.map +1 -0
  21. package/dist/cjs/popup-f1d9910f.js +103 -0
  22. package/dist/cjs/popup-f1d9910f.js.map +1 -0
  23. package/dist/cjs/{scroll-76e6f5d7.js → scroll-03678de1.js} +1 -1
  24. package/dist/cjs/scroll-03678de1.js.map +1 -0
  25. package/dist/cjs/set-attributes_2.cjs.entry.js +4 -2
  26. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-alert.cjs.entry.js +18 -23
  28. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  29. package/dist/cjs/six-avatar.cjs.entry.js +5 -8
  30. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-badge.cjs.entry.js +2 -2
  32. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-button.cjs.entry.js +36 -34
  34. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-card.cjs.entry.js +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-checkbox.cjs.entry.js +50 -85
  38. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-datepicker.cjs.entry.js +155 -281
  40. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-details.cjs.entry.js +48 -47
  42. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-dialog.cjs.entry.js +37 -41
  44. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-drawer.cjs.entry.js +34 -38
  46. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/{six-dropdown_3.cjs.entry.js → six-dropdown_2.cjs.entry.js} +216 -249
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -0
  49. package/dist/cjs/six-error-page.cjs.entry.js +20 -22
  50. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
  52. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  54. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-file-upload.cjs.entry.js +21 -21
  56. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  58. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-group-label.cjs.entry.js +12 -11
  60. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-header.cjs.entry.js +66 -44
  62. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
  64. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  66. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-input.cjs.entry.js +95 -128
  68. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-item-picker.cjs.entry.js +62 -81
  70. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  72. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-layout-grid.cjs.entry.js +5 -3
  74. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  76. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  78. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-menu-item.cjs.entry.js +63 -0
  80. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -0
  81. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  82. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-picto.cjs.entry.js +5 -2
  84. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  86. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -4
  88. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-radio.cjs.entry.js +63 -72
  90. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-range.cjs.entry.js +107 -106
  92. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-root.cjs.entry.js +2 -2
  94. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-search-field.cjs.entry.js +11 -6
  96. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-select.cjs.entry.js +190 -223
  98. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +10 -6
  100. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  102. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-sidebar.cjs.entry.js +41 -20
  104. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  106. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-switch.cjs.entry.js +58 -64
  108. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-tab-group.cjs.entry.js +132 -114
  110. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  112. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  113. package/dist/cjs/six-tab.cjs.entry.js +5 -3
  114. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  115. package/dist/cjs/six-tag.cjs.entry.js +6 -9
  116. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  117. package/dist/cjs/six-textarea.cjs.entry.js +82 -108
  118. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  119. package/dist/cjs/six-tile.cjs.entry.js +14 -17
  120. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  121. package/dist/cjs/six-timepicker.cjs.entry.js +159 -215
  122. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  123. package/dist/cjs/six-tooltip.cjs.entry.js +54 -57
  124. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  125. package/dist/cjs/{slot-ad537f24.js → slot-6e6a400f.js} +11 -10
  126. package/dist/cjs/slot-6e6a400f.js.map +1 -0
  127. package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
  128. package/dist/cjs/types-47199040.js.map +1 -0
  129. package/dist/cjs/ui-library.cjs.js +3 -6
  130. package/dist/cjs/ui-library.cjs.js.map +1 -1
  131. package/dist/collection/collection-manifest.json +54 -60
  132. package/dist/collection/components/six-alert/six-alert.js +32 -30
  133. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  134. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  135. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  136. package/dist/collection/components/six-avatar/six-avatar.js +5 -8
  137. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  138. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  139. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  140. package/dist/collection/components/six-badge/six-badge.js +2 -2
  141. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  142. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  143. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  144. package/dist/collection/components/six-button/six-button.js +56 -47
  145. package/dist/collection/components/six-button/six-button.js.map +1 -1
  146. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  147. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  148. package/dist/collection/components/six-card/six-card.js +1 -1
  149. package/dist/collection/components/six-card/six-card.js.map +1 -1
  150. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  151. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  152. package/dist/collection/components/six-checkbox/six-checkbox.js +81 -194
  153. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  154. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +79 -0
  155. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  156. package/dist/collection/components/six-datepicker/components/day-selection.js +3 -3
  157. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  158. package/dist/collection/components/six-datepicker/components/month-selection.js +6 -5
  159. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  160. package/dist/collection/components/six-datepicker/components/year-selection.js +11 -8
  161. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  162. package/dist/collection/components/six-datepicker/six-datepicker.css +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 +189 -362
  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 -13
  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 +154 -283
  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 +96 -138
  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 +4380 -1620
  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-bdd1478a.js → form-control-32cb533f.js} +10 -11
  510. package/dist/esm/form-control-32cb533f.js.map +1 -0
  511. package/dist/esm/{index-96b1af5d.js → index-8a74f992.js} +187 -55
  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 +153 -279
  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_3.entry.js → six-dropdown_2.entry.js} +217 -249
  548. package/dist/esm/six-dropdown_2.entry.js.map +1 -0
  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 +95 -128
  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 +59 -0
  580. package/dist/esm/six-menu-item.entry.js.map +1 -0
  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 +32 -67
  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 +209 -684
  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-12000282.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-14db57aa.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-3efe46cf.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-ccee090e.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-eb1ec1b7.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-e1aed7ed.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-94ab37b2.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-b3974ad4.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-8187701c.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-694829b8.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-028a2c54.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-524e5804.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-16732ac1.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-9c1be3fb.entry.js +2 -0
  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-57a84d7f.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-52cb61bd.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-788281d0.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-6cc82df5.entry.js → p-b351f889.entry.js} +2 -2
  794. package/dist/ui-library/p-b351f889.entry.js.map +1 -0
  795. package/dist/ui-library/p-b550a258.entry.js +2 -0
  796. package/dist/ui-library/p-b550a258.entry.js.map +1 -0
  797. package/dist/ui-library/{p-4bcebd5a.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-f68b5c54.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-e4b6264b.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-4d4829db.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-9f9bef35.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.css +2 -2
  820. package/dist/ui-library/ui-library.esm.js +1 -1
  821. package/dist/ui-library/ui-library.esm.js.map +1 -1
  822. package/loader/index.d.ts +1 -1
  823. package/package.json +19 -20
  824. package/dist/cjs/event-listeners-74715e62.js +0 -45
  825. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  826. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  827. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  828. package/dist/cjs/form-control-8e2ae807.js.map +0 -1
  829. package/dist/cjs/index-b3257a77.js.map +0 -1
  830. package/dist/cjs/modal-48d42228.js.map +0 -1
  831. package/dist/cjs/popover-f743f62b.js.map +0 -1
  832. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  833. package/dist/cjs/six-dropdown_3.cjs.entry.js.map +0 -1
  834. package/dist/cjs/six-form.cjs.entry.js +0 -231
  835. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  836. package/dist/cjs/six-table-cell_4.cjs.entry.js +0 -107
  837. package/dist/cjs/six-table-cell_4.cjs.entry.js.map +0 -1
  838. package/dist/cjs/six-table.cjs.entry.js +0 -167
  839. package/dist/cjs/six-table.cjs.entry.js.map +0 -1
  840. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  841. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  842. package/dist/cjs/slot-ad537f24.js.map +0 -1
  843. package/dist/cjs/types-64878648.js.map +0 -1
  844. package/dist/collection/components/six-form/six-form.css +0 -11
  845. package/dist/collection/components/six-form/six-form.js +0 -419
  846. package/dist/collection/components/six-form/six-form.js.map +0 -1
  847. package/dist/collection/components/six-table/six-table.css +0 -44
  848. package/dist/collection/components/six-table/six-table.js +0 -219
  849. package/dist/collection/components/six-table/six-table.js.map +0 -1
  850. package/dist/collection/components/six-table/test/helpers.js +0 -14
  851. package/dist/collection/components/six-table/test/helpers.js.map +0 -1
  852. package/dist/collection/components/six-table/types.js +0 -9
  853. package/dist/collection/components/six-table/types.js.map +0 -1
  854. package/dist/collection/components/six-table/util/filter-by.js +0 -34
  855. package/dist/collection/components/six-table/util/filter-by.js.map +0 -1
  856. package/dist/collection/components/six-table/util/from-data.js +0 -32
  857. package/dist/collection/components/six-table/util/from-data.js.map +0 -1
  858. package/dist/collection/components/six-table/util/is.js +0 -4
  859. package/dist/collection/components/six-table/util/is.js.map +0 -1
  860. package/dist/collection/components/six-table/util/quick-filter-by.js +0 -14
  861. package/dist/collection/components/six-table/util/quick-filter-by.js.map +0 -1
  862. package/dist/collection/components/six-table/util/sort-by.js +0 -25
  863. package/dist/collection/components/six-table/util/sort-by.js.map +0 -1
  864. package/dist/collection/components/six-table-cell/six-table-cell.css +0 -13
  865. package/dist/collection/components/six-table-cell/six-table-cell.js +0 -25
  866. package/dist/collection/components/six-table-cell/six-table-cell.js.map +0 -1
  867. package/dist/collection/components/six-table-header/six-table-header.css +0 -17
  868. package/dist/collection/components/six-table-header/six-table-header.js +0 -25
  869. package/dist/collection/components/six-table-header/six-table-header.js.map +0 -1
  870. package/dist/collection/components/six-table-header-cell/get-next-state.js +0 -7
  871. package/dist/collection/components/six-table-header-cell/get-next-state.js.map +0 -1
  872. package/dist/collection/components/six-table-header-cell/icons.js +0 -12
  873. package/dist/collection/components/six-table-header-cell/icons.js.map +0 -1
  874. package/dist/collection/components/six-table-header-cell/six-table-header-cell.css +0 -37
  875. package/dist/collection/components/six-table-header-cell/six-table-header-cell.js +0 -179
  876. package/dist/collection/components/six-table-header-cell/six-table-header-cell.js.map +0 -1
  877. package/dist/collection/components/six-table-header-cell/types.js +0 -2
  878. package/dist/collection/components/six-table-header-cell/types.js.map +0 -1
  879. package/dist/collection/components/six-table-header-cell/util/create-model.js +0 -7
  880. package/dist/collection/components/six-table-header-cell/util/create-model.js.map +0 -1
  881. package/dist/collection/components/six-table-header-cell/util/get-next-state.js +0 -7
  882. package/dist/collection/components/six-table-header-cell/util/get-next-state.js.map +0 -1
  883. package/dist/collection/components/six-table-row/six-table-row.css +0 -16
  884. package/dist/collection/components/six-table-row/six-table-row.js +0 -25
  885. package/dist/collection/components/six-table-row/six-table-row.js.map +0 -1
  886. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  887. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  888. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  889. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  890. package/dist/collection/utils/as-array.js +0 -2
  891. package/dist/collection/utils/as-array.js.map +0 -1
  892. package/dist/collection/utils/matchers.js +0 -3
  893. package/dist/collection/utils/matchers.js.map +0 -1
  894. package/dist/collection/utils/testing.js +0 -39
  895. package/dist/collection/utils/testing.js.map +0 -1
  896. package/dist/components/six-form.d.ts +0 -11
  897. package/dist/components/six-form.js +0 -252
  898. package/dist/components/six-form.js.map +0 -1
  899. package/dist/components/six-table-cell.d.ts +0 -11
  900. package/dist/components/six-table-cell.js +0 -8
  901. package/dist/components/six-table-cell.js.map +0 -1
  902. package/dist/components/six-table-cell2.js +0 -32
  903. package/dist/components/six-table-cell2.js.map +0 -1
  904. package/dist/components/six-table-header-cell.d.ts +0 -11
  905. package/dist/components/six-table-header-cell.js +0 -8
  906. package/dist/components/six-table-header-cell.js.map +0 -1
  907. package/dist/components/six-table-header-cell2.js +0 -120
  908. package/dist/components/six-table-header-cell2.js.map +0 -1
  909. package/dist/components/six-table-header.d.ts +0 -11
  910. package/dist/components/six-table-header.js +0 -8
  911. package/dist/components/six-table-header.js.map +0 -1
  912. package/dist/components/six-table-header2.js +0 -32
  913. package/dist/components/six-table-header2.js.map +0 -1
  914. package/dist/components/six-table-row.d.ts +0 -11
  915. package/dist/components/six-table-row.js +0 -8
  916. package/dist/components/six-table-row.js.map +0 -1
  917. package/dist/components/six-table-row2.js +0 -32
  918. package/dist/components/six-table-row2.js.map +0 -1
  919. package/dist/components/six-table.d.ts +0 -11
  920. package/dist/components/six-table.js +0 -252
  921. package/dist/components/six-table.js.map +0 -1
  922. package/dist/esm/event-listeners-570a24ea.js +0 -43
  923. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  924. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  925. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  926. package/dist/esm/form-control-bdd1478a.js.map +0 -1
  927. package/dist/esm/index-96b1af5d.js.map +0 -1
  928. package/dist/esm/modal-5ebdc320.js.map +0 -1
  929. package/dist/esm/polyfills/css-shim.js +0 -1
  930. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  931. package/dist/esm/scroll-180b53fd.js.map +0 -1
  932. package/dist/esm/six-dropdown_3.entry.js.map +0 -1
  933. package/dist/esm/six-form.entry.js +0 -227
  934. package/dist/esm/six-form.entry.js.map +0 -1
  935. package/dist/esm/six-table-cell_4.entry.js +0 -100
  936. package/dist/esm/six-table-cell_4.entry.js.map +0 -1
  937. package/dist/esm/six-table.entry.js +0 -163
  938. package/dist/esm/six-table.entry.js.map +0 -1
  939. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  940. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  941. package/dist/esm/slot-6f3984c7.js.map +0 -1
  942. package/dist/esm/types-4b10b413.js.map +0 -1
  943. package/dist/types/components/six-form/six-form.d.ts +0 -69
  944. package/dist/types/components/six-table/six-table.d.ts +0 -30
  945. package/dist/types/components/six-table/test/helpers.d.ts +0 -2
  946. package/dist/types/components/six-table/types.d.ts +0 -33
  947. package/dist/types/components/six-table/util/filter-by.d.ts +0 -2
  948. package/dist/types/components/six-table/util/from-data.d.ts +0 -8
  949. package/dist/types/components/six-table/util/is.d.ts +0 -3
  950. package/dist/types/components/six-table/util/quick-filter-by.d.ts +0 -2
  951. package/dist/types/components/six-table/util/sort-by.d.ts +0 -2
  952. package/dist/types/components/six-table-cell/six-table-cell.d.ts +0 -9
  953. package/dist/types/components/six-table-header/six-table-header.d.ts +0 -9
  954. package/dist/types/components/six-table-header-cell/get-next-state.d.ts +0 -2
  955. package/dist/types/components/six-table-header-cell/icons.d.ts +0 -3
  956. package/dist/types/components/six-table-header-cell/six-table-header-cell.d.ts +0 -32
  957. package/dist/types/components/six-table-header-cell/types.d.ts +0 -2
  958. package/dist/types/components/six-table-header-cell/util/create-model.d.ts +0 -4
  959. package/dist/types/components/six-table-header-cell/util/get-next-state.d.ts +0 -3
  960. package/dist/types/components/six-table-row/six-table-row.d.ts +0 -9
  961. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  962. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  963. package/dist/types/utils/as-array.d.ts +0 -1
  964. package/dist/types/utils/matchers.d.ts +0 -2
  965. package/dist/types/utils/popper.d.ts +0 -33
  966. package/dist/types/utils/testing.d.ts +0 -2
  967. package/dist/ui-library/p-00507165.entry.js +0 -2
  968. package/dist/ui-library/p-00507165.entry.js.map +0 -1
  969. package/dist/ui-library/p-028a2c54.entry.js.map +0 -1
  970. package/dist/ui-library/p-028a2f77.entry.js +0 -2
  971. package/dist/ui-library/p-028a2f77.entry.js.map +0 -1
  972. package/dist/ui-library/p-0786fa7c.js +0 -2
  973. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  974. package/dist/ui-library/p-0c89817e.entry.js +0 -2
  975. package/dist/ui-library/p-0c89817e.entry.js.map +0 -1
  976. package/dist/ui-library/p-0d1fdc4e.entry.js +0 -2
  977. package/dist/ui-library/p-0d1fdc4e.entry.js.map +0 -1
  978. package/dist/ui-library/p-0d9cbb51.entry.js +0 -2
  979. package/dist/ui-library/p-0d9cbb51.entry.js.map +0 -1
  980. package/dist/ui-library/p-12000282.entry.js.map +0 -1
  981. package/dist/ui-library/p-1414a242.entry.js +0 -2
  982. package/dist/ui-library/p-1414a242.entry.js.map +0 -1
  983. package/dist/ui-library/p-14db57aa.entry.js.map +0 -1
  984. package/dist/ui-library/p-16732ac1.entry.js.map +0 -1
  985. package/dist/ui-library/p-16b99232.js +0 -3
  986. package/dist/ui-library/p-16b99232.js.map +0 -1
  987. package/dist/ui-library/p-18ea0c56.js +0 -2
  988. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  989. package/dist/ui-library/p-232d43a6.entry.js +0 -2
  990. package/dist/ui-library/p-232d43a6.entry.js.map +0 -1
  991. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  992. package/dist/ui-library/p-28e6c2eb.entry.js +0 -2
  993. package/dist/ui-library/p-28e6c2eb.entry.js.map +0 -1
  994. package/dist/ui-library/p-2a02734a.entry.js +0 -2
  995. package/dist/ui-library/p-2a02734a.entry.js.map +0 -1
  996. package/dist/ui-library/p-2a61cc66.entry.js +0 -2
  997. package/dist/ui-library/p-2a61cc66.entry.js.map +0 -1
  998. package/dist/ui-library/p-3c100309.js +0 -2
  999. package/dist/ui-library/p-3c100309.js.map +0 -1
  1000. package/dist/ui-library/p-3d5cad2d.entry.js +0 -2
  1001. package/dist/ui-library/p-3d5cad2d.entry.js.map +0 -1
  1002. package/dist/ui-library/p-3e3edcbc.entry.js +0 -2
  1003. package/dist/ui-library/p-3e3edcbc.entry.js.map +0 -1
  1004. package/dist/ui-library/p-3efe46cf.entry.js.map +0 -1
  1005. package/dist/ui-library/p-4b44fa83.entry.js +0 -2
  1006. package/dist/ui-library/p-4b44fa83.entry.js.map +0 -1
  1007. package/dist/ui-library/p-4bcebd5a.entry.js.map +0 -1
  1008. package/dist/ui-library/p-4d4829db.entry.js.map +0 -1
  1009. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  1010. package/dist/ui-library/p-524e5804.entry.js.map +0 -1
  1011. package/dist/ui-library/p-52cb61bd.entry.js.map +0 -1
  1012. package/dist/ui-library/p-55dc28ad.entry.js +0 -2
  1013. package/dist/ui-library/p-55dc28ad.entry.js.map +0 -1
  1014. package/dist/ui-library/p-57a84d7f.entry.js.map +0 -1
  1015. package/dist/ui-library/p-5eb21538.entry.js +0 -2
  1016. package/dist/ui-library/p-5eb21538.entry.js.map +0 -1
  1017. package/dist/ui-library/p-60c5395c.entry.js +0 -2
  1018. package/dist/ui-library/p-60c5395c.entry.js.map +0 -1
  1019. package/dist/ui-library/p-694829b8.entry.js.map +0 -1
  1020. package/dist/ui-library/p-6cc82df5.entry.js.map +0 -1
  1021. package/dist/ui-library/p-7115416e.entry.js +0 -2
  1022. package/dist/ui-library/p-7115416e.entry.js.map +0 -1
  1023. package/dist/ui-library/p-788281d0.entry.js.map +0 -1
  1024. package/dist/ui-library/p-7cbc261b.entry.js +0 -2
  1025. package/dist/ui-library/p-7cbc261b.entry.js.map +0 -1
  1026. package/dist/ui-library/p-80f32909.entry.js +0 -2
  1027. package/dist/ui-library/p-80f32909.entry.js.map +0 -1
  1028. package/dist/ui-library/p-8187701c.entry.js.map +0 -1
  1029. package/dist/ui-library/p-94ab37b2.entry.js.map +0 -1
  1030. package/dist/ui-library/p-9a860acc.js +0 -2
  1031. package/dist/ui-library/p-9a860acc.js.map +0 -1
  1032. package/dist/ui-library/p-9eba5c71.entry.js +0 -2
  1033. package/dist/ui-library/p-9eba5c71.entry.js.map +0 -1
  1034. package/dist/ui-library/p-9f9bef35.entry.js.map +0 -1
  1035. package/dist/ui-library/p-b1683e9c.entry.js +0 -2
  1036. package/dist/ui-library/p-b1683e9c.entry.js.map +0 -1
  1037. package/dist/ui-library/p-b1e66136.js +0 -2
  1038. package/dist/ui-library/p-b1e66136.js.map +0 -1
  1039. package/dist/ui-library/p-b3974ad4.entry.js.map +0 -1
  1040. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  1041. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  1042. package/dist/ui-library/p-b66c5c48.entry.js +0 -2
  1043. package/dist/ui-library/p-b66c5c48.entry.js.map +0 -1
  1044. package/dist/ui-library/p-ba6e1f0e.entry.js +0 -2
  1045. package/dist/ui-library/p-ba6e1f0e.entry.js.map +0 -1
  1046. package/dist/ui-library/p-c799a6bf.entry.js +0 -2
  1047. package/dist/ui-library/p-c799a6bf.entry.js.map +0 -1
  1048. package/dist/ui-library/p-ccee090e.entry.js.map +0 -1
  1049. package/dist/ui-library/p-cf2bdd34.entry.js +0 -2
  1050. package/dist/ui-library/p-cf2bdd34.entry.js.map +0 -1
  1051. package/dist/ui-library/p-d12c6092.js +0 -2
  1052. package/dist/ui-library/p-d12c6092.js.map +0 -1
  1053. package/dist/ui-library/p-dd0ac344.entry.js +0 -2
  1054. package/dist/ui-library/p-dd0ac344.entry.js.map +0 -1
  1055. package/dist/ui-library/p-def4a925.entry.js +0 -2
  1056. package/dist/ui-library/p-def4a925.entry.js.map +0 -1
  1057. package/dist/ui-library/p-e0bda772.entry.js +0 -2
  1058. package/dist/ui-library/p-e0bda772.entry.js.map +0 -1
  1059. package/dist/ui-library/p-e1aed7ed.entry.js.map +0 -1
  1060. package/dist/ui-library/p-e4b6264b.entry.js.map +0 -1
  1061. package/dist/ui-library/p-eb1ec1b7.entry.js.map +0 -1
  1062. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  1063. package/dist/ui-library/p-f65aa796.entry.js +0 -2
  1064. package/dist/ui-library/p-f65aa796.entry.js.map +0 -1
  1065. package/dist/ui-library/p-f68b5c54.entry.js.map +0 -1
  1066. package/dist/ui-library/p-f9c50f81.entry.js +0 -2
  1067. package/dist/ui-library/p-f9c50f81.entry.js.map +0 -1
@@ -14,7 +14,7 @@
14
14
  // - Popper uses `translate3d` to position elements, so adding a transition to the `transform` property may have an
15
15
  // undesired effect when the element is shown and when its placement changes.
16
16
  //
17
- import { createPopper } from '@popperjs/core';
17
+ import { createPopper } from "@popperjs/core";
18
18
  export default class Popover {
19
19
  constructor(anchor, popover, options) {
20
20
  this.handleTransitionEnd = this.handleTransitionEnd.bind(this);
@@ -27,27 +27,32 @@ export default class Popover {
27
27
  strategy: 'absolute',
28
28
  transitionElement: this.popover,
29
29
  visibleClass: 'popover-visible',
30
- onAfterShow: () => { },
31
- onAfterHide: () => { },
32
- onTransitionEnd: () => { },
30
+ onAfterShow: () => Promise,
31
+ onAfterHide: () => Promise,
32
+ onTransitionEnd: () => Promise,
33
33
  }, options);
34
34
  this.isVisible = false;
35
35
  this.popover.hidden = true;
36
- this.popover.classList.remove(this.options.visibleClass);
36
+ if (this.options.visibleClass != null) {
37
+ this.popover.classList.remove(this.options.visibleClass);
38
+ }
37
39
  this.popover.addEventListener('transitionend', this.handleTransitionEnd);
38
40
  }
39
41
  handleTransitionEnd(event) {
42
+ var _a, _b;
40
43
  const target = event.target;
41
44
  // Make sure the transition event originates from from the correct element, and not one that has bubbled up
42
45
  if (target === this.options.transitionElement) {
43
46
  // This is called before the element is hidden so users can do things like reset scroll. It will fire once for
44
47
  // every transition property. Use `event.propertyName` to determine which property has finished transitioning.
45
- this.options.onTransitionEnd.call(this, event);
48
+ (_a = this.options.onTransitionEnd) === null || _a === void 0 ? void 0 : _a.call(this, event);
46
49
  // Make sure we only do this once, since transitionend will fire for every transition
47
50
  if (!this.isVisible && !this.popover.hidden) {
48
51
  this.popover.hidden = true;
49
- this.popover.classList.remove(this.options.visibleClass);
50
- this.options.onAfterHide.call(this);
52
+ if (this.options.visibleClass != null) {
53
+ this.popover.classList.remove(this.options.visibleClass);
54
+ }
55
+ (_b = this.options.onAfterHide) === null || _b === void 0 ? void 0 : _b.call(this);
51
56
  }
52
57
  }
53
58
  }
@@ -55,14 +60,18 @@ export default class Popover {
55
60
  this.popover.removeEventListener('transitionend', this.handleTransitionEnd);
56
61
  if (this.popper) {
57
62
  this.popper.destroy();
58
- this.popper = null;
63
+ this.popper = undefined;
59
64
  }
60
65
  }
61
66
  show() {
62
67
  this.isVisible = true;
63
68
  this.popover.hidden = false;
64
69
  this.popover.clientWidth; // force reflow
65
- requestAnimationFrame(() => this.popover.classList.add(this.options.visibleClass));
70
+ requestAnimationFrame(() => {
71
+ if (this.options.visibleClass != null) {
72
+ this.popover.classList.add(this.options.visibleClass);
73
+ }
74
+ });
66
75
  if (this.popper) {
67
76
  this.popper.destroy();
68
77
  }
@@ -84,30 +93,35 @@ export default class Popover {
84
93
  },
85
94
  ],
86
95
  });
87
- this.popover.addEventListener('transitionend', () => this.options.onAfterShow.call(this), { once: true });
96
+ this.popover.addEventListener('transitionend', () => { var _a; return (_a = this.options.onAfterShow) === null || _a === void 0 ? void 0 : _a.call(this); }, { once: true });
88
97
  // Reposition the menu after it appears in case a modifier kicked in
89
98
  requestAnimationFrame(() => { var _a; return (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update(); });
90
99
  }
91
100
  reposition() {
92
- this.popper.update();
101
+ var _a;
102
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update();
93
103
  }
94
104
  hide() {
95
105
  // Apply the hidden styles and wait for the transition before hiding completely
96
106
  this.isVisible = false;
97
- this.popover.classList.remove(this.options.visibleClass);
107
+ if (this.options.visibleClass != null) {
108
+ this.popover.classList.remove(this.options.visibleClass);
109
+ }
98
110
  }
99
111
  setOptions(options) {
100
112
  this.options = Object.assign(this.options, options);
101
- this.isVisible
102
- ? this.popover.classList.add(this.options.visibleClass)
103
- : this.popover.classList.remove(this.options.visibleClass);
113
+ if (this.options.visibleClass != null) {
114
+ this.isVisible
115
+ ? this.popover.classList.add(this.options.visibleClass)
116
+ : this.popover.classList.remove(this.options.visibleClass);
117
+ }
104
118
  // Update popper options
105
- if (this.popper) {
106
- this.popper.setOptions({
119
+ if (this.popper != null) {
120
+ void this.popper.setOptions({
107
121
  placement: this.options.placement,
108
122
  strategy: this.options.strategy,
109
123
  });
110
- requestAnimationFrame(() => this.popper.update());
124
+ requestAnimationFrame(() => { var _a; return (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update(); });
111
125
  }
112
126
  }
113
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../src/utils/popover.ts"],"names":[],"mappings":"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","sourcesContent":["//\n// A positioning utility for popovers that handles show/hide/transitionEnd events with simple callbacks.\n//\n// Powered by Popper.js.\n//\n// NOTE:\n//\n// - The popover MUST have at least one property that transitions, otherwise transitionEnd won't fire and the popover\n// won't be hidden. If transitions are delegated to a child element, set the `transitionElement` property accordingly.\n//\n// - When the popover is shown, it's assigned `PopoverOptions.visibleClass`. You can use this class to provide different\n// transitions for show/hide.\n//\n// - Popper uses `translate3d` to position elements, so adding a transition to the `transform` property may have an\n// undesired effect when the element is shown and when its placement changes.\n//\nimport { createPopper } from '@popperjs/core';\nimport { PopperInstance } from './popper';\n\nexport default class Popover {\n anchor: HTMLElement;\n isVisible: boolean;\n popover: HTMLElement;\n popper: PopperInstance;\n options: PopoverOptions;\n\n constructor(anchor: HTMLElement, popover: HTMLElement, options?: PopoverOptions) {\n this.handleTransitionEnd = this.handleTransitionEnd.bind(this);\n\n this.anchor = anchor;\n this.popover = popover;\n this.options = Object.assign(\n {\n skidding: 0,\n distance: 0,\n placement: 'bottom-start',\n strategy: 'absolute',\n transitionElement: this.popover,\n visibleClass: 'popover-visible',\n onAfterShow: () => {},\n onAfterHide: () => {},\n onTransitionEnd: () => {},\n },\n options\n );\n\n this.isVisible = false;\n this.popover.hidden = true;\n this.popover.classList.remove(this.options.visibleClass);\n\n this.popover.addEventListener('transitionend', this.handleTransitionEnd);\n }\n\n private handleTransitionEnd(event: TransitionEvent) {\n const target = event.target as HTMLElement;\n\n // Make sure the transition event originates from from the correct element, and not one that has bubbled up\n if (target === this.options.transitionElement) {\n // This is called before the element is hidden so users can do things like reset scroll. It will fire once for\n // every transition property. Use `event.propertyName` to determine which property has finished transitioning.\n this.options.onTransitionEnd.call(this, event);\n\n // Make sure we only do this once, since transitionend will fire for every transition\n if (!this.isVisible && !this.popover.hidden) {\n this.popover.hidden = true;\n this.popover.classList.remove(this.options.visibleClass);\n this.options.onAfterHide.call(this);\n }\n }\n }\n\n destroy() {\n this.popover.removeEventListener('transitionend', this.handleTransitionEnd);\n\n if (this.popper) {\n this.popper.destroy();\n this.popper = null;\n }\n }\n\n show() {\n this.isVisible = true;\n this.popover.hidden = false;\n this.popover.clientWidth; // force reflow\n requestAnimationFrame(() => this.popover.classList.add(this.options.visibleClass));\n\n if (this.popper) {\n this.popper.destroy();\n }\n\n this.popper = createPopper(this.anchor, this.popover, {\n placement: this.options.placement,\n strategy: this.options.strategy,\n modifiers: [\n {\n name: 'flip',\n options: {\n boundary: 'viewport',\n },\n },\n {\n name: 'offset',\n options: {\n offset: [this.options.skidding, this.options.distance],\n },\n },\n ],\n });\n\n this.popover.addEventListener('transitionend', () => this.options.onAfterShow.call(this), { once: true });\n\n // Reposition the menu after it appears in case a modifier kicked in\n requestAnimationFrame(() => this.popper?.update());\n }\n\n reposition() {\n this.popper.update();\n }\n\n hide() {\n // Apply the hidden styles and wait for the transition before hiding completely\n this.isVisible = false;\n this.popover.classList.remove(this.options.visibleClass);\n }\n\n setOptions(options: PopoverOptions) {\n this.options = Object.assign(this.options, options);\n this.isVisible\n ? this.popover.classList.add(this.options.visibleClass)\n : this.popover.classList.remove(this.options.visibleClass);\n\n // Update popper options\n if (this.popper) {\n this.popper.setOptions({\n placement: this.options.placement,\n strategy: this.options.strategy,\n });\n\n requestAnimationFrame(() => this.popper.update());\n }\n }\n}\n\ninterface PopoverOptions {\n distance?: number;\n placement?:\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n skidding?: number;\n strategy?: 'absolute' | 'fixed';\n transitionElement?: HTMLElement;\n visibleClass?: string;\n onAfterShow?: () => any;\n onAfterHide?: () => any;\n onTransitionEnd?: (event: TransitionEvent) => any;\n}\n"]}
1
+ {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../src/utils/popover.ts"],"names":[],"mappings":"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","sourcesContent":["//\n// A positioning utility for popovers that handles show/hide/transitionEnd events with simple callbacks.\n//\n// Powered by Popper.js.\n//\n// NOTE:\n//\n// - The popover MUST have at least one property that transitions, otherwise transitionEnd won't fire and the popover\n// won't be hidden. If transitions are delegated to a child element, set the `transitionElement` property accordingly.\n//\n// - When the popover is shown, it's assigned `PopoverOptions.visibleClass`. You can use this class to provide different\n// transitions for show/hide.\n//\n// - Popper uses `translate3d` to position elements, so adding a transition to the `transform` property may have an\n// undesired effect when the element is shown and when its placement changes.\n//\nimport { createPopper, Instance } from '@popperjs/core';\n\nexport default class Popover {\n anchor: HTMLElement;\n isVisible: boolean;\n popover: HTMLElement;\n popper?: Instance;\n options: PopoverOptions;\n\n constructor(anchor: HTMLElement, popover: HTMLElement, options?: PopoverOptions) {\n this.handleTransitionEnd = this.handleTransitionEnd.bind(this);\n\n this.anchor = anchor;\n this.popover = popover;\n this.options = Object.assign(\n {\n skidding: 0,\n distance: 0,\n placement: 'bottom-start',\n strategy: 'absolute',\n transitionElement: this.popover,\n visibleClass: 'popover-visible',\n onAfterShow: () => Promise<void>,\n onAfterHide: () => Promise<void>,\n onTransitionEnd: () => Promise<void>,\n },\n options\n );\n\n this.isVisible = false;\n this.popover.hidden = true;\n if (this.options.visibleClass != null) {\n this.popover.classList.remove(this.options.visibleClass);\n }\n\n this.popover.addEventListener('transitionend', this.handleTransitionEnd);\n }\n\n private handleTransitionEnd(event: TransitionEvent) {\n const target = event.target as HTMLElement;\n\n // Make sure the transition event originates from from the correct element, and not one that has bubbled up\n if (target === this.options.transitionElement) {\n // This is called before the element is hidden so users can do things like reset scroll. It will fire once for\n // every transition property. Use `event.propertyName` to determine which property has finished transitioning.\n this.options.onTransitionEnd?.call(this, event);\n\n // Make sure we only do this once, since transitionend will fire for every transition\n if (!this.isVisible && !this.popover.hidden) {\n this.popover.hidden = true;\n if (this.options.visibleClass != null) {\n this.popover.classList.remove(this.options.visibleClass);\n }\n this.options.onAfterHide?.call(this);\n }\n }\n }\n\n destroy() {\n this.popover.removeEventListener('transitionend', this.handleTransitionEnd);\n\n if (this.popper) {\n this.popper.destroy();\n this.popper = undefined;\n }\n }\n\n show() {\n this.isVisible = true;\n this.popover.hidden = false;\n this.popover.clientWidth; // force reflow\n requestAnimationFrame(() => {\n if (this.options.visibleClass != null) {\n this.popover.classList.add(this.options.visibleClass);\n }\n });\n\n if (this.popper) {\n this.popper.destroy();\n }\n\n this.popper = createPopper(this.anchor, this.popover, {\n placement: this.options.placement,\n strategy: this.options.strategy,\n modifiers: [\n {\n name: 'flip',\n options: {\n boundary: 'viewport',\n },\n },\n {\n name: 'offset',\n options: {\n offset: [this.options.skidding, this.options.distance],\n },\n },\n ],\n });\n\n this.popover.addEventListener('transitionend', () => this.options.onAfterShow?.call(this), { once: true });\n\n // Reposition the menu after it appears in case a modifier kicked in\n requestAnimationFrame(() => this.popper?.update());\n }\n\n reposition() {\n this.popper?.update();\n }\n\n hide() {\n // Apply the hidden styles and wait for the transition before hiding completely\n this.isVisible = false;\n if (this.options.visibleClass != null) {\n this.popover.classList.remove(this.options.visibleClass);\n }\n }\n\n setOptions(options: PopoverOptions) {\n this.options = Object.assign(this.options, options);\n if (this.options.visibleClass != null) {\n this.isVisible\n ? this.popover.classList.add(this.options.visibleClass)\n : this.popover.classList.remove(this.options.visibleClass);\n }\n\n // Update popper options\n if (this.popper != null) {\n void this.popper.setOptions({\n placement: this.options.placement,\n strategy: this.options.strategy,\n });\n\n requestAnimationFrame(() => this.popper?.update());\n }\n }\n}\n\ninterface PopoverOptions {\n distance?: number;\n placement?:\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n skidding?: number;\n strategy?: 'absolute' | 'fixed';\n transitionElement?: HTMLElement;\n visibleClass?: string;\n onAfterShow?: () => void;\n onAfterHide?: () => void;\n onTransitionEnd?: (event: TransitionEvent) => void;\n}\n"]}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * If the popup is hoisted we popup is hoisted its position will change to fix to not be clipped of by a containing container.
3
+ * To render the popup correctly we render it normally, and then assign this screenposition to the fixed popup
4
+ */
5
+ export function adjustPopupForHoisting(hoist, popup, inputElement, wrapper, minPopupHeight, dropdownDirectionChanged) {
6
+ if (!hoist || popup == null || inputElement == null || wrapper == null) {
7
+ return;
8
+ }
9
+ // take a snapshot of normally rendered popup
10
+ const popupDimensions = setPopupAsFixPosition(popup);
11
+ const inputDimensions = inputElement.getBoundingClientRect();
12
+ const inputTop = inputDimensions.top;
13
+ const popupTop = popupDimensions.top;
14
+ const isUp = calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight);
15
+ // check screen position to check whether the popup should be moved above or below the trigger element
16
+ if (isUp && inputTop < popupTop) {
17
+ // move popup above input field if datepicker is at bottom of screen
18
+ popup.style.top = `${popupTop - popupDimensions.height - inputDimensions.height}px`;
19
+ }
20
+ dropdownDirectionChanged(isUp);
21
+ }
22
+ /*
23
+ * For small screens the datepicker popup could be cut-off even though there might still be space within the viewport.
24
+ * This is because the popup is always aligned with the trigger input field. However in the scenario of small screens
25
+ * we should reposition the popup to use the space available.
26
+ */
27
+ export function adjustPopupForSmallScreens(popup) {
28
+ // execute after dropdown has been rendered to make sure the popup reference is correctly set
29
+ setTimeout(() => {
30
+ if (popup == null) {
31
+ return;
32
+ }
33
+ const popupDimensions = popup.getBoundingClientRect();
34
+ if (popupDimensions.y < 0 &&
35
+ window.innerHeight - popupDimensions.height > 0 &&
36
+ Math.abs(popupDimensions.y) <= popupDimensions.height) {
37
+ // handle case where popup is cut-off on top but there is still space available
38
+ setPopupAsFixPosition(popup);
39
+ popup.style.top = '0px';
40
+ }
41
+ else if (window.innerHeight < popupDimensions.y + popupDimensions.height &&
42
+ window.innerHeight > popupDimensions.height &&
43
+ Math.abs(popupDimensions.y - window.innerHeight) <= popupDimensions.height) {
44
+ // handle case where popup is cut-off at the bottom but there is still space available above
45
+ // apply screen position to fixed popup
46
+ setPopupAsFixPosition(popup);
47
+ popup.style.top = `${window.innerHeight - popupDimensions.height}px`;
48
+ }
49
+ if (window.innerWidth < popupDimensions.x + popupDimensions.width &&
50
+ window.innerWidth > popupDimensions.width &&
51
+ Math.abs(popupDimensions.x - window.innerWidth) <= popupDimensions.width) {
52
+ // handle case where popup is cut-off to the right
53
+ setPopupAsFixPosition(popup);
54
+ popup.style.left = `${window.innerWidth - popupDimensions.width}px`;
55
+ }
56
+ }, 0);
57
+ }
58
+ export function calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight) {
59
+ const inputBoundingRect = inputElement.getBoundingClientRect();
60
+ const wrapperBoundingRect = wrapper.getBoundingClientRect();
61
+ const popupHeight = Math.max(wrapperBoundingRect.height, minPopupHeight);
62
+ const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;
63
+ return moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + popupHeight;
64
+ }
65
+ export function setPopupAsFixPosition(popup) {
66
+ const popupDimensions = popup.getBoundingClientRect();
67
+ popup.style.position = 'fixed';
68
+ popup.style.top = popupDimensions['top'] + 'px';
69
+ popup.style.left = popupDimensions['left'] + 'px';
70
+ popup.style.width = popupDimensions['width'] + 'px';
71
+ popup.style.height = popupDimensions['height'] + 'px';
72
+ return popupDimensions;
73
+ }
74
+ /*
75
+ * The position of the hoisted datepicker needs to be correctly calculated since the position changes to fixed.
76
+ * Thus if the user scrolls or adjusts the screen size we need to recalculate the datepicker position.
77
+ */
78
+ export function movePopup(hoist, open, popup, inputElement, wrapper, minPopupHeight) {
79
+ if (!hoist || !open || popup == null || inputElement == null || wrapper == null) {
80
+ return;
81
+ }
82
+ const popupBoundingClientRect = popup.getBoundingClientRect();
83
+ const popupHeight = popupBoundingClientRect.height;
84
+ const inputBoundingClientRect = inputElement.getBoundingClientRect();
85
+ const inputTop = inputBoundingClientRect.top;
86
+ const inputHeight = inputBoundingClientRect.height;
87
+ const isUp = calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight);
88
+ if (isUp) {
89
+ popup.style.top = `${inputTop - popupHeight}px`;
90
+ }
91
+ else {
92
+ popup.style.top = `${inputTop + inputHeight}px`;
93
+ }
94
+ }
95
+ //# sourceMappingURL=popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup.js","sourceRoot":"","sources":["../../src/utils/popup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * If the popup is hoisted we popup is hoisted its position will change to fix to not be clipped of by a containing container.\n * To render the popup correctly we render it normally, and then assign this screenposition to the fixed popup\n */\nexport function adjustPopupForHoisting(\n hoist: boolean,\n popup: HTMLElement | undefined,\n inputElement: HTMLElement | undefined,\n wrapper: HTMLElement | undefined,\n minPopupHeight: number,\n dropdownDirectionChanged: (isUp: boolean) => void\n) {\n if (!hoist || popup == null || inputElement == null || wrapper == null) {\n return;\n }\n // take a snapshot of normally rendered popup\n const popupDimensions = setPopupAsFixPosition(popup);\n const inputDimensions = inputElement.getBoundingClientRect();\n const inputTop = inputDimensions.top;\n const popupTop = popupDimensions.top;\n\n const isUp = calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight);\n // check screen position to check whether the popup should be moved above or below the trigger element\n if (isUp && inputTop < popupTop) {\n // move popup above input field if datepicker is at bottom of screen\n popup.style.top = `${popupTop - popupDimensions.height - inputDimensions.height}px`;\n }\n dropdownDirectionChanged(isUp);\n}\n\n/*\n * For small screens the datepicker popup could be cut-off even though there might still be space within the viewport.\n * This is because the popup is always aligned with the trigger input field. However in the scenario of small screens\n * we should reposition the popup to use the space available.\n */\nexport function adjustPopupForSmallScreens(popup?: HTMLElement) {\n // execute after dropdown has been rendered to make sure the popup reference is correctly set\n setTimeout(() => {\n if (popup == null) {\n return;\n }\n const popupDimensions = popup.getBoundingClientRect();\n if (\n popupDimensions.y < 0 &&\n window.innerHeight - popupDimensions.height > 0 &&\n Math.abs(popupDimensions.y) <= popupDimensions.height\n ) {\n // handle case where popup is cut-off on top but there is still space available\n setPopupAsFixPosition(popup);\n popup.style.top = '0px';\n } else if (\n window.innerHeight < popupDimensions.y + popupDimensions.height &&\n window.innerHeight > popupDimensions.height &&\n Math.abs(popupDimensions.y - window.innerHeight) <= popupDimensions.height\n ) {\n // handle case where popup is cut-off at the bottom but there is still space available above\n // apply screen position to fixed popup\n setPopupAsFixPosition(popup);\n popup.style.top = `${window.innerHeight - popupDimensions.height}px`;\n }\n\n if (\n window.innerWidth < popupDimensions.x + popupDimensions.width &&\n window.innerWidth > popupDimensions.width &&\n Math.abs(popupDimensions.x - window.innerWidth) <= popupDimensions.width\n ) {\n // handle case where popup is cut-off to the right\n setPopupAsFixPosition(popup);\n popup.style.left = `${window.innerWidth - popupDimensions.width}px`;\n }\n }, 0);\n}\n\nexport function calcIsDropDownContentUp(\n inputElement: HTMLElement,\n wrapper: HTMLElement,\n minPopupHeight: number\n): boolean {\n const inputBoundingRect = inputElement.getBoundingClientRect();\n const wrapperBoundingRect = wrapper.getBoundingClientRect();\n const popupHeight = Math.max(wrapperBoundingRect.height, minPopupHeight);\n const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;\n return moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + popupHeight;\n}\n\nexport function setPopupAsFixPosition(popup: HTMLElement): DOMRect {\n const popupDimensions = popup.getBoundingClientRect();\n popup.style.position = 'fixed';\n popup.style.top = popupDimensions['top'] + 'px';\n popup.style.left = popupDimensions['left'] + 'px';\n popup.style.width = popupDimensions['width'] + 'px';\n popup.style.height = popupDimensions['height'] + 'px';\n return popupDimensions;\n}\n\n/*\n * The position of the hoisted datepicker needs to be correctly calculated since the position changes to fixed.\n * Thus if the user scrolls or adjusts the screen size we need to recalculate the datepicker position.\n */\nexport function movePopup(\n hoist: boolean,\n open: boolean,\n popup: HTMLElement | undefined,\n inputElement: HTMLElement | undefined,\n wrapper: HTMLElement | undefined,\n minPopupHeight: number\n) {\n if (!hoist || !open || popup == null || inputElement == null || wrapper == null) {\n return;\n }\n const popupBoundingClientRect = popup.getBoundingClientRect();\n const popupHeight = popupBoundingClientRect.height;\n const inputBoundingClientRect = inputElement.getBoundingClientRect();\n const inputTop = inputBoundingClientRect.top;\n const inputHeight = inputBoundingClientRect.height;\n\n const isUp = calcIsDropDownContentUp(inputElement, wrapper, minPopupHeight);\n\n if (isUp) {\n popup.style.top = `${inputTop - popupHeight}px`;\n } else {\n popup.style.top = `${inputTop + inputHeight}px`;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { getOffset } from './offset';
1
+ import { getOffset } from "./offset";
2
2
  const locks = new Set();
3
3
  //
4
4
  // Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible
@@ -0,0 +1,122 @@
1
+ import { scrollIntoView } from "./scroll";
2
+ describe('scrollIntoView', () => {
3
+ describe('vertical scrolling', () => {
4
+ it('should scroll vertically if element is out of view', async () => {
5
+ // given
6
+ const element = {
7
+ clientWidth: 320,
8
+ clientHeight: 56,
9
+ getBoundingClientRect: () => ({
10
+ top: 1744,
11
+ left: 16,
12
+ }),
13
+ };
14
+ const mockScrollTo = jest.fn();
15
+ const container = {
16
+ scrollTop: 0,
17
+ scrollLeft: 0,
18
+ offsetWidth: 320,
19
+ offsetHeight: 754,
20
+ getBoundingClientRect: () => ({
21
+ top: 656,
22
+ left: 16,
23
+ }),
24
+ scrollTo: mockScrollTo,
25
+ };
26
+ // when
27
+ scrollIntoView(element, container);
28
+ // then
29
+ expect(mockScrollTo).toHaveBeenCalledWith({
30
+ top: 390,
31
+ behavior: 'smooth',
32
+ });
33
+ });
34
+ it('should not scroll vertically if element is in view', async () => {
35
+ // given
36
+ const element = {
37
+ clientWidth: 320,
38
+ clientHeight: 56,
39
+ getBoundingClientRect: () => ({
40
+ top: 700,
41
+ left: 16,
42
+ }),
43
+ };
44
+ const mockScrollTo = jest.fn();
45
+ const container = {
46
+ scrollTop: 0,
47
+ scrollLeft: 0,
48
+ offsetWidth: 320,
49
+ offsetHeight: 754,
50
+ getBoundingClientRect: () => ({
51
+ top: 656,
52
+ left: 16,
53
+ }),
54
+ scrollTo: mockScrollTo,
55
+ };
56
+ // when
57
+ scrollIntoView(element, container);
58
+ // then
59
+ expect(mockScrollTo).not.toHaveBeenCalled();
60
+ });
61
+ });
62
+ describe('horizontal scrolling', () => {
63
+ it('should scroll horizontally if element is out of view', async () => {
64
+ // given
65
+ const element = {
66
+ clientWidth: 320,
67
+ clientHeight: 56,
68
+ getBoundingClientRect: () => ({
69
+ top: 500,
70
+ left: 330,
71
+ }),
72
+ };
73
+ const mockScrollTo = jest.fn();
74
+ const container = {
75
+ scrollTop: 0,
76
+ scrollLeft: 0,
77
+ offsetWidth: 320,
78
+ offsetHeight: 754,
79
+ getBoundingClientRect: () => ({
80
+ top: 656,
81
+ left: 16,
82
+ }),
83
+ scrollTo: mockScrollTo,
84
+ };
85
+ // when
86
+ scrollIntoView(element, container, 'horizontal');
87
+ // then
88
+ expect(mockScrollTo).toHaveBeenCalledWith({
89
+ left: 314,
90
+ behavior: 'smooth',
91
+ });
92
+ });
93
+ it('should not scroll vertically if element is in view', async () => {
94
+ // given
95
+ const element = {
96
+ clientWidth: 320,
97
+ clientHeight: 56,
98
+ getBoundingClientRect: () => ({
99
+ top: 500,
100
+ left: 16,
101
+ }),
102
+ };
103
+ const mockScrollTo = jest.fn();
104
+ const container = {
105
+ scrollTop: 0,
106
+ scrollLeft: 0,
107
+ offsetWidth: 320,
108
+ offsetHeight: 754,
109
+ getBoundingClientRect: () => ({
110
+ top: 656,
111
+ left: 16,
112
+ }),
113
+ scrollTo: mockScrollTo,
114
+ };
115
+ // when
116
+ scrollIntoView(element, container, 'horizontal');
117
+ // then
118
+ expect(mockScrollTo).not.toHaveBeenCalled();
119
+ });
120
+ });
121
+ });
122
+ //# sourceMappingURL=scroll.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll.spec.js","sourceRoot":"","sources":["../../src/utils/scroll.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { scrollIntoView } from './scroll';\n\ndescribe('scrollIntoView', () => {\n describe('vertical scrolling', () => {\n it('should scroll vertically if element is out of view', async () => {\n // given\n const element: Partial<HTMLElement> = {\n clientWidth: 320,\n clientHeight: 56,\n getBoundingClientRect: () =>\n ({\n top: 1744,\n left: 16,\n } as DOMRect),\n };\n\n const mockScrollTo = jest.fn();\n const container: Partial<HTMLElement> = {\n scrollTop: 0,\n scrollLeft: 0,\n offsetWidth: 320,\n offsetHeight: 754,\n getBoundingClientRect: () =>\n ({\n top: 656,\n left: 16,\n } as DOMRect),\n scrollTo: mockScrollTo,\n };\n\n // when\n scrollIntoView(element as HTMLElement, container as HTMLElement);\n\n // then\n expect(mockScrollTo).toHaveBeenCalledWith({\n top: 390,\n behavior: 'smooth',\n });\n });\n\n it('should not scroll vertically if element is in view', async () => {\n // given\n const element: Partial<HTMLElement> = {\n clientWidth: 320,\n clientHeight: 56,\n getBoundingClientRect: () =>\n ({\n top: 700,\n left: 16,\n } as DOMRect),\n };\n\n const mockScrollTo = jest.fn();\n const container: Partial<HTMLElement> = {\n scrollTop: 0,\n scrollLeft: 0,\n offsetWidth: 320,\n offsetHeight: 754,\n getBoundingClientRect: () =>\n ({\n top: 656,\n left: 16,\n } as DOMRect),\n scrollTo: mockScrollTo,\n };\n\n // when\n scrollIntoView(element as HTMLElement, container as HTMLElement);\n\n // then\n expect(mockScrollTo).not.toHaveBeenCalled();\n });\n });\n\n describe('horizontal scrolling', () => {\n it('should scroll horizontally if element is out of view', async () => {\n // given\n const element: Partial<HTMLElement> = {\n clientWidth: 320,\n clientHeight: 56,\n getBoundingClientRect: () =>\n ({\n top: 500,\n left: 330,\n } as DOMRect),\n };\n\n const mockScrollTo = jest.fn();\n const container: Partial<HTMLElement> = {\n scrollTop: 0,\n scrollLeft: 0,\n offsetWidth: 320,\n offsetHeight: 754,\n getBoundingClientRect: () =>\n ({\n top: 656,\n left: 16,\n } as DOMRect),\n scrollTo: mockScrollTo,\n };\n\n // when\n scrollIntoView(element as HTMLElement, container as HTMLElement, 'horizontal');\n\n // then\n expect(mockScrollTo).toHaveBeenCalledWith({\n left: 314,\n behavior: 'smooth',\n });\n });\n\n it('should not scroll vertically if element is in view', async () => {\n // given\n const element: Partial<HTMLElement> = {\n clientWidth: 320,\n clientHeight: 56,\n getBoundingClientRect: () =>\n ({\n top: 500,\n left: 16,\n } as DOMRect),\n };\n\n const mockScrollTo = jest.fn();\n const container: Partial<HTMLElement> = {\n scrollTop: 0,\n scrollLeft: 0,\n offsetWidth: 320,\n offsetHeight: 754,\n getBoundingClientRect: () =>\n ({\n top: 656,\n left: 16,\n } as DOMRect),\n scrollTo: mockScrollTo,\n };\n\n // when\n scrollIntoView(element as HTMLElement, container as HTMLElement, 'horizontal');\n\n // then\n expect(mockScrollTo).not.toHaveBeenCalled();\n });\n });\n});\n"]}
@@ -1,26 +1,9 @@
1
1
  //
2
- // Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated
3
- // HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.
4
- //
5
- export function getInnerHTML(slot) {
6
- const nodes = slot.assignedNodes({ flatten: true });
7
- let html = '';
8
- [...nodes].map((node) => {
9
- if (node.nodeType === Node.ELEMENT_NODE) {
10
- html += node.outerHTML;
11
- }
12
- if (node.nodeType === Node.TEXT_NODE) {
13
- html += node.textContent;
14
- }
15
- });
16
- return html;
17
- }
18
- //
19
2
  // Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a
20
3
  // string. This is useful because we can't use slot.textContent as an alternative.
21
4
  //
22
5
  export function getTextContent(slot) {
23
- const nodes = slot ? slot.assignedNodes({ flatten: true }) : [];
6
+ const nodes = slot != null ? slot.assignedNodes({ flatten: true }) : [];
24
7
  let text = '';
25
8
  [...nodes].map((node) => {
26
9
  if (node.nodeType === Node.TEXT_NODE) {
@@ -35,12 +18,13 @@ export function getTextContent(slot) {
35
18
  //
36
19
  export function hasSlot(el, name) {
37
20
  // Look for a named slot
38
- if (name) {
21
+ if (name != null && name !== '') {
39
22
  return el.querySelector(`[slot="${name}"]`) !== null;
40
23
  }
41
24
  // Look for a default slot
42
25
  return Array.from(el.childNodes).some((node) => {
43
- if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== '') {
26
+ var _a;
27
+ if (node.nodeType === node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== '') {
44
28
  return true;
45
29
  }
46
30
  if (node.nodeType === node.ELEMENT_NODE) {
@@ -52,9 +36,10 @@ export function hasSlot(el, name) {
52
36
  return false;
53
37
  });
54
38
  }
55
- const fromPairs = (acc, [k, v]) => (Object.assign(Object.assign({}, acc), { [k]: v }));
56
- export const getAvailableSlots = (slots) => (host) => Object.values(slots)
57
- .map((name) => [name, hasSlot(host, name)])
58
- .reduce(fromPairs, {});
59
39
  export const getSlotChildren = (el) => { var _a; return (_a = el.querySelector('slot')) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true }); };
40
+ export function getSlot(element, slotName) {
41
+ if (element == null)
42
+ return null;
43
+ return element.querySelector(`[slot="${slotName}"]`);
44
+ }
60
45
  //# sourceMappingURL=slot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slot.js","sourceRoot":"","sources":["../../src/utils/slot.ts"],"names":[],"mappings":"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","sourcesContent":["//\n// Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n// HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n//\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = '';\n\n [...nodes].map((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n//\n// Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n// string. This is useful because we can't use slot.textContent as an alternative.\n//\nexport function getTextContent(slot: HTMLSlotElement): string {\n const nodes = slot ? slot.assignedNodes({ flatten: true }) : [];\n let text = '';\n\n [...nodes].map((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n\n//\n// Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n// slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\n//\nexport function hasSlot(el: HTMLElement, name?: string) {\n // Look for a named slot\n if (name) {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return Array.from(el.childNodes).some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== '') {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute('slot')) {\n return true;\n }\n }\n\n return false;\n });\n}\n\ntype AvailableSlots<T> = { readonly [K in keyof T]: boolean };\n\nconst fromPairs = <T extends string>(acc, [k, v]: [T, boolean]) => ({ ...acc, [k]: v });\n\nexport const getAvailableSlots =\n <T extends object>(slots: T) =>\n <E extends HTMLElement>(host: E): AvailableSlots<T> =>\n Object.values(slots)\n .map((name) => [name, hasSlot(host, name)])\n .reduce(fromPairs, {} as AvailableSlots<T>);\n\nexport const getSlotChildren = <T extends HTMLElement>(el: HTMLElement) =>\n el.querySelector('slot')?.assignedElements({ flatten: true }) as T[];\n"]}
1
+ {"version":3,"file":"slot.js","sourceRoot":"","sources":["../../src/utils/slot.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,kHAAkH;AAClH,kFAAkF;AAClF,EAAE;AACF,MAAM,UAAU,cAAc,CAAC,IAAsB;EACnD,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EACxE,IAAI,IAAI,GAAG,EAAE,CAAC;EAEd,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;IACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;MACpC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;KAC1B;EACH,CAAC,CAAC,CAAC;EAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,EAAE;AACF,mHAAmH;AACnH,uHAAuH;AACvH,EAAE;AACF,MAAM,UAAU,OAAO,CAAC,EAAe,EAAE,IAAa;EACpD,wBAAwB;EACxB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;IAC/B,OAAO,EAAE,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;GACtD;EAED,0BAA0B;EAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;;IAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,EAAE,MAAK,EAAE,EAAE;MACvE,OAAO,IAAI,CAAC;KACb;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;MACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;MAC/B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QAC5B,OAAO,IAAI,CAAC;OACb;KACF;IAED,OAAO,KAAK,CAAC;EACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAwB,EAAe,EAAE,EAAE,WACxE,OAAA,MAAA,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,0CAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAQ,CAAA,EAAA,CAAC;AAEvE,MAAM,UAAU,OAAO,CAAC,OAAsC,EAAE,QAAgB;EAC9E,IAAI,OAAO,IAAI,IAAI;IAAE,OAAO,IAAI,CAAC;EACjC,OAAO,OAAO,CAAC,aAAa,CAAC,UAAU,QAAQ,IAAI,CAAC,CAAC;AACvD,CAAC","sourcesContent":["//\n// Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n// string. This is useful because we can't use slot.textContent as an alternative.\n//\nexport function getTextContent(slot?: HTMLSlotElement): string {\n const nodes = slot != null ? slot.assignedNodes({ flatten: true }) : [];\n let text = '';\n\n [...nodes].map((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n\n//\n// Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n// slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\n//\nexport function hasSlot(el: HTMLElement, name?: string): boolean {\n // Look for a named slot\n if (name != null && name !== '') {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return Array.from(el.childNodes).some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== '') {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute('slot')) {\n return true;\n }\n }\n\n return false;\n });\n}\n\nexport const getSlotChildren = <T extends HTMLElement>(el: HTMLElement) =>\n el.querySelector('slot')?.assignedElements({ flatten: true }) as T[];\n\nexport function getSlot(element: ParentNode | null | undefined, slotName: string): HTMLElement | null {\n if (element == null) return null;\n return element.querySelector(`[slot=\"${slotName}\"]`);\n}\n"]}
@@ -8,16 +8,16 @@ export function getNearestTabbableElement(el) {
8
8
  return el;
9
9
  }
10
10
  // Check the element's shadow root
11
- if (el.shadowRoot) {
12
- const tabbableShadowChild = [...el.shadowRoot.children].find(isTabbable);
13
- if (tabbableShadowChild) {
11
+ if (el.shadowRoot != null) {
12
+ const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e));
13
+ if (tabbableShadowChild != null) {
14
14
  return tabbableShadowChild;
15
15
  }
16
16
  }
17
17
  // Check the element's children
18
- if (el.children) {
19
- return [...el.children].map(getNearestTabbableElement)[0];
18
+ if (el.children != null) {
19
+ return [...el.children].map((e) => getNearestTabbableElement(e)).at(0);
20
20
  }
21
- return null;
21
+ return undefined;
22
22
  }
23
23
  //# sourceMappingURL=tabbable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabbable.js","sourceRoot":"","sources":["../../src/utils/tabbable.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,EAAe;EACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;EAC7B,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAe;EACvD,oBAAoB;EACpB,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE;IAClB,OAAO,EAAE,CAAC;GACX;EAED,kCAAkC;EAClC,IAAI,EAAE,CAAC,UAAU,EAAE;IACjB,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAgB,CAAC;IACxF,IAAI,mBAAmB,EAAE;MACvB,OAAO,mBAAmB,CAAC;KAC5B;GACF;EAED,+BAA+B;EAC/B,IAAI,EAAE,CAAC,QAAQ,EAAE;IACf,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;GAC3D;EAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["export function isTabbable(el: HTMLElement) {\n const tabIndex = el.tabIndex;\n return tabIndex > -1;\n}\n\nexport function getNearestTabbableElement(el: HTMLElement): HTMLElement {\n // Check the element\n if (isTabbable(el)) {\n return el;\n }\n\n // Check the element's shadow root\n if (el.shadowRoot) {\n const tabbableShadowChild = [...el.shadowRoot.children].find(isTabbable) as HTMLElement;\n if (tabbableShadowChild) {\n return tabbableShadowChild;\n }\n }\n\n // Check the element's children\n if (el.children) {\n return [...el.children].map(getNearestTabbableElement)[0];\n }\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"tabbable.js","sourceRoot":"","sources":["../../src/utils/tabbable.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,EAAe;EACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;EAC7B,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAe;EACvD,oBAAoB;EACpB,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE;IAClB,OAAO,EAAE,CAAC;GACX;EAED,kCAAkC;EAClC,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE;IACzB,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAgB,CAAC,CAAgB,CAAC;IACjH,IAAI,mBAAmB,IAAI,IAAI,EAAE;MAC/B,OAAO,mBAAmB,CAAC;KAC5B;GACF;EAED,+BAA+B;EAC/B,IAAI,EAAE,CAAC,QAAQ,IAAI,IAAI,EAAE;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,CAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;GACvF;EAED,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["export function isTabbable(el: HTMLElement) {\n const tabIndex = el.tabIndex;\n return tabIndex > -1;\n}\n\nexport function getNearestTabbableElement(el: HTMLElement): HTMLElement | undefined {\n // Check the element\n if (isTabbable(el)) {\n return el;\n }\n\n // Check the element's shadow root\n if (el.shadowRoot != null) {\n const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e as HTMLElement)) as HTMLElement;\n if (tabbableShadowChild != null) {\n return tabbableShadowChild;\n }\n }\n\n // Check the element's children\n if (el.children != null) {\n return [...el.children].map((e) => getNearestTabbableElement(e as HTMLElement)).at(0);\n }\n\n return undefined;\n}\n"]}