@six-group/ui-library 0.0.0-insider.cd0cd0d → 0.0.0-insider.d005298

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 (1139) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/error-messages-6e8049a4.js +119 -0
  3. package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
  4. package/dist/cjs/event-listeners-9fb878f1.js +61 -0
  5. package/dist/cjs/event-listeners-9fb878f1.js.map +1 -0
  6. package/dist/cjs/{execution-control-45c84c46.js → execution-control-d728da70.js} +15 -15
  7. package/dist/cjs/execution-control-d728da70.js.map +1 -0
  8. package/dist/cjs/focus-visible-e2c9255a.js +47 -0
  9. package/dist/cjs/focus-visible-e2c9255a.js.map +1 -0
  10. package/dist/cjs/form-9ebaae7c.js +20 -0
  11. package/dist/{esm/form-0b9c11cd.js.map → cjs/form-9ebaae7c.js.map} +1 -1
  12. package/dist/cjs/form-control-8d64e974.js +36 -0
  13. package/dist/cjs/form-control-8d64e974.js.map +1 -0
  14. package/dist/cjs/{index-2f6daa5b.js → index-d7748d51.js} +587 -480
  15. package/dist/cjs/index-d7748d51.js.map +1 -0
  16. package/dist/cjs/index.cjs.js +55 -87
  17. package/dist/cjs/index.cjs.js.map +1 -1
  18. package/dist/cjs/loader.cjs.js +3 -12
  19. package/dist/cjs/loader.cjs.js.map +1 -1
  20. package/dist/cjs/modal-3ce015be.js +52 -0
  21. package/dist/cjs/modal-3ce015be.js.map +1 -0
  22. package/dist/cjs/{popover-8885d50f.js → popover-1e7c09f1.js} +99 -99
  23. package/dist/cjs/popover-1e7c09f1.js.map +1 -0
  24. package/dist/cjs/popup-e854acda.js +103 -0
  25. package/dist/cjs/popup-e854acda.js.map +1 -0
  26. package/dist/cjs/scroll-68033901.js +68 -0
  27. package/dist/{esm/scroll-180b53fd.js.map → cjs/scroll-68033901.js.map} +1 -1
  28. package/dist/cjs/six-alert.cjs.entry.js +142 -110
  29. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-avatar.cjs.entry.js +21 -21
  31. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-badge.cjs.entry.js +23 -23
  33. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-button.cjs.entry.js +95 -95
  35. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js +8 -8
  37. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-checkbox_2.cjs.entry.js +190 -0
  39. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
  40. package/dist/cjs/six-datepicker.cjs.entry.js +861 -838
  41. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-details.cjs.entry.js +127 -127
  43. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-dialog.cjs.entry.js +131 -129
  45. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-drawer.cjs.entry.js +147 -147
  47. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js +709 -637
  49. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-error-page.cjs.entry.js +82 -82
  51. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-error.cjs.entry.js +21 -0
  53. package/dist/cjs/six-error.cjs.entry.js.map +1 -0
  54. package/dist/cjs/six-file-list-item.cjs.entry.js +34 -34
  55. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-file-list.cjs.entry.js +7 -7
  57. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-file-upload.cjs.entry.js +99 -99
  59. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-footer.cjs.entry.js +8 -8
  61. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-group-label.cjs.entry.js +43 -43
  63. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-header.cjs.entry.js +171 -156
  65. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-icon-button.cjs.entry.js +32 -32
  67. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-icon.cjs.entry.js +22 -22
  69. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-input.cjs.entry.js +192 -187
  71. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-item-picker.cjs.entry.js +405 -309
  73. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-language-switcher.cjs.entry.js +46 -46
  75. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-layout-grid.cjs.entry.js +20 -20
  77. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-main-container.cjs.entry.js +9 -9
  79. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-menu-divider.cjs.entry.js +8 -8
  81. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-menu-label.cjs.entry.js +8 -8
  83. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-picto.cjs.entry.js +14 -14
  85. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-progress-bar.cjs.entry.js +15 -15
  87. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-progress-ring.cjs.entry.js +30 -30
  89. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-radio.cjs.entry.js +104 -112
  91. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-range.cjs.entry.js +180 -177
  93. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-root.cjs.entry.js +11 -30
  95. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-search-field.cjs.entry.js +44 -44
  97. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-select.cjs.entry.js +496 -361
  99. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +56 -45
  101. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar-item.cjs.entry.js +17 -15
  103. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-sidebar.cjs.entry.js +174 -174
  105. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-spinner.cjs.entry.js +15 -15
  107. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-stage-indicator.cjs.entry.js +22 -0
  109. package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
  110. package/dist/cjs/six-switch.cjs.entry.js +107 -87
  111. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  112. package/dist/cjs/six-tab-group.cjs.entry.js +230 -235
  113. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  114. package/dist/cjs/six-tab-panel.cjs.entry.js +14 -14
  115. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  116. package/dist/cjs/six-tab.cjs.entry.js +55 -39
  117. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  118. package/dist/cjs/six-tag.cjs.entry.js +55 -33
  119. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  120. package/dist/cjs/six-textarea.cjs.entry.js +181 -178
  121. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  122. package/dist/cjs/six-tile.cjs.entry.js +77 -77
  123. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  124. package/dist/cjs/six-timepicker.cjs.entry.js +348 -353
  125. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  126. package/dist/cjs/six-tooltip.cjs.entry.js +148 -148
  127. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  128. package/dist/cjs/slot-1b1232a1.js +51 -0
  129. package/dist/cjs/slot-1b1232a1.js.map +1 -0
  130. package/dist/cjs/types-d3da200b.js +19 -0
  131. package/dist/cjs/types-d3da200b.js.map +1 -0
  132. package/dist/cjs/ui-library.cjs.js +3 -6
  133. package/dist/cjs/ui-library.cjs.js.map +1 -1
  134. package/dist/collection/collection-manifest.json +54 -54
  135. package/dist/collection/components/six-alert/six-alert.css +5 -1
  136. package/dist/collection/components/six-alert/six-alert.js +383 -331
  137. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  138. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  139. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  140. package/dist/collection/components/six-avatar/six-avatar.css +2 -2
  141. package/dist/collection/components/six-avatar/six-avatar.js +112 -112
  142. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  143. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  144. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  145. package/dist/collection/components/six-badge/six-badge.css +1 -1
  146. package/dist/collection/components/six-badge/six-badge.js +91 -91
  147. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  148. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  149. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  150. package/dist/collection/components/six-button/six-button.css +7 -31
  151. package/dist/collection/components/six-button/six-button.js +450 -444
  152. package/dist/collection/components/six-button/six-button.js.map +1 -1
  153. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  154. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  155. package/dist/collection/components/six-card/six-card.css +4 -5
  156. package/dist/collection/components/six-card/six-card.js +16 -16
  157. package/dist/collection/components/six-card/six-card.js.map +1 -1
  158. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  159. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  160. package/dist/collection/components/six-checkbox/six-checkbox.css +10 -2
  161. package/dist/collection/components/six-checkbox/six-checkbox.js +424 -420
  162. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  163. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +83 -0
  164. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  165. package/dist/collection/components/six-datepicker/components/day-selection.js +9 -9
  166. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  167. package/dist/collection/components/six-datepicker/components/month-selection.js +10 -10
  168. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  169. package/dist/collection/components/six-datepicker/components/year-selection.js +10 -10
  170. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  171. package/dist/collection/components/six-datepicker/six-date-formats.js +21 -20
  172. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
  173. package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
  174. package/dist/collection/components/six-datepicker/six-datepicker.js +1062 -1035
  175. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  176. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  177. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  178. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +14 -14
  179. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -1
  180. package/dist/collection/components/six-details/six-details.css +4 -6
  181. package/dist/collection/components/six-details/six-details.js +412 -406
  182. package/dist/collection/components/six-details/six-details.js.map +1 -1
  183. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  184. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  185. package/dist/collection/components/six-dialog/six-dialog.css +2 -2
  186. package/dist/collection/components/six-dialog/six-dialog.js +361 -351
  187. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  188. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  189. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  190. package/dist/collection/components/six-drawer/six-drawer.css +2 -2
  191. package/dist/collection/components/six-drawer/six-drawer.js +414 -406
  192. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  193. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  194. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  195. package/dist/collection/components/six-dropdown/six-dropdown.css +22 -6
  196. package/dist/collection/components/six-dropdown/six-dropdown.js +988 -884
  197. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  198. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +147 -0
  199. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  200. package/dist/collection/components/six-error/six-error.css +5 -0
  201. package/dist/collection/components/six-error/six-error.js +25 -0
  202. package/dist/collection/components/six-error/six-error.js.map +1 -0
  203. package/dist/collection/components/six-error-page/six-error-page.js +178 -178
  204. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  205. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  206. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  207. package/dist/collection/components/six-file-list/six-file-list.js +16 -16
  208. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  209. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  210. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  211. package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
  212. package/dist/collection/components/six-file-list-item/six-file-list-item.js +196 -194
  213. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  214. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  215. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  216. package/dist/collection/components/six-file-upload/six-file-upload.css +1 -4
  217. package/dist/collection/components/six-file-upload/six-file-upload.js +292 -290
  218. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  219. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  220. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  221. package/dist/collection/components/six-footer/six-footer.css +2 -2
  222. package/dist/collection/components/six-footer/six-footer.js +16 -16
  223. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  224. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  225. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  226. package/dist/collection/components/six-group-label/six-group-label.css +5 -2
  227. package/dist/collection/components/six-group-label/six-group-label.js +158 -158
  228. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  229. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +45 -0
  230. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  231. package/dist/collection/components/six-header/six-header.css +6 -2
  232. package/dist/collection/components/six-header/six-header.js +442 -400
  233. package/dist/collection/components/six-header/six-header.js.map +1 -1
  234. package/dist/collection/components/six-header/test/six-header.spec.js +177 -0
  235. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  236. package/dist/collection/components/six-icon/six-icon.css +5 -2
  237. package/dist/collection/components/six-icon/six-icon.js +72 -72
  238. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  239. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  240. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  241. package/dist/collection/components/six-icon-button/six-icon-button.css +5 -5
  242. package/dist/collection/components/six-icon-button/six-icon-button.js +133 -133
  243. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  244. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  245. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  246. package/dist/collection/components/six-input/six-input.css +15 -3
  247. package/dist/collection/components/six-input/six-input.js +975 -913
  248. package/dist/collection/components/six-input/six-input.js.map +1 -1
  249. package/dist/collection/components/six-input/test/six-input.spec.js +39 -0
  250. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  251. package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
  252. package/dist/collection/components/six-item-picker/six-item-picker.js +731 -631
  253. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  254. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  255. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  256. package/dist/collection/components/six-item-picker/types.js +9 -7
  257. package/dist/collection/components/six-item-picker/types.js.map +1 -1
  258. package/dist/collection/components/six-language-switcher/six-language-switcher.js +125 -123
  259. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  260. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  261. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  262. package/dist/collection/components/six-layout-grid/six-layout-grid.js +55 -55
  263. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  264. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  265. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  266. package/dist/collection/components/six-main-container/six-main-container.js +42 -42
  267. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  268. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  269. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  270. package/dist/collection/components/six-menu/six-menu.css +8 -7
  271. package/dist/collection/components/six-menu/six-menu.js +392 -366
  272. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  273. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  274. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  275. package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
  276. package/dist/collection/components/six-menu-divider/six-menu-divider.js +16 -16
  277. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  278. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  279. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  280. package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
  281. package/dist/collection/components/six-menu-item/six-menu-item.js +211 -178
  282. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  283. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  284. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  285. package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
  286. package/dist/collection/components/six-menu-label/six-menu-label.js +16 -16
  287. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  288. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  289. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  290. package/dist/collection/components/six-picto/six-picto.js +47 -47
  291. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  292. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  293. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  294. package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
  295. package/dist/collection/components/six-progress-bar/six-progress-bar.js +65 -65
  296. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  297. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  298. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  299. package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
  300. package/dist/collection/components/six-progress-ring/six-progress-ring.js +101 -101
  301. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  302. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  303. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  304. package/dist/collection/components/six-radio/six-radio.css +1 -1
  305. package/dist/collection/components/six-radio/six-radio.js +323 -340
  306. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  307. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  308. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  309. package/dist/collection/components/six-range/six-range.css +5 -2
  310. package/dist/collection/components/six-range/six-range.js +568 -540
  311. package/dist/collection/components/six-range/six-range.js.map +1 -1
  312. package/dist/collection/components/six-range/test/six-range.spec.js +34 -0
  313. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  314. package/dist/collection/components/six-root/six-root.js +85 -151
  315. package/dist/collection/components/six-root/six-root.js.map +1 -1
  316. package/dist/collection/components/six-root/test/six-root.spec.js +36 -0
  317. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  318. package/dist/collection/components/six-search-field/six-search-field.css +1 -1
  319. package/dist/collection/components/six-search-field/six-search-field.js +172 -171
  320. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  321. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  322. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  323. package/dist/collection/components/six-select/six-select.css +61 -73
  324. package/dist/collection/components/six-select/six-select.js +1123 -920
  325. package/dist/collection/components/six-select/six-select.js.map +1 -1
  326. package/dist/collection/components/six-select/test/six-select.spec.js +102 -0
  327. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  328. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  329. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  330. package/dist/collection/components/six-select/util.js +34 -34
  331. package/dist/collection/components/six-select/util.js.map +1 -1
  332. package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
  333. package/dist/collection/components/six-sidebar/six-sidebar.js +468 -454
  334. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  335. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  336. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  337. package/dist/collection/components/six-sidebar-item/six-sidebar-item.css +6 -1
  338. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +102 -83
  339. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  340. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  341. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  342. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +12 -1
  343. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +182 -154
  344. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  345. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  346. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  347. package/dist/collection/components/six-spinner/six-spinner.css +1 -1
  348. package/dist/collection/components/six-spinner/six-spinner.js +48 -47
  349. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  350. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  351. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  352. package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
  353. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +46 -45
  354. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  355. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  356. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  357. package/dist/collection/components/six-switch/six-switch.css +5 -2
  358. package/dist/collection/components/six-switch/six-switch.js +389 -341
  359. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  360. package/dist/collection/components/six-switch/test/six-switch.spec.js +73 -0
  361. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  362. package/dist/collection/components/six-tab/six-tab.css +55 -6
  363. package/dist/collection/components/six-tab/six-tab.js +207 -186
  364. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  365. package/dist/collection/components/six-tab-group/six-tab-group.css +1 -32
  366. package/dist/collection/components/six-tab-group/six-tab-group.js +320 -357
  367. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  368. package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
  369. package/dist/collection/components/six-tab-panel/six-tab-panel.js +64 -64
  370. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  371. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  372. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  373. package/dist/collection/components/six-tag/six-tag.css +7 -1
  374. package/dist/collection/components/six-tag/six-tag.js +162 -139
  375. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  376. package/dist/collection/components/six-tag/test/six-tag.spec.js +54 -0
  377. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  378. package/dist/collection/components/six-textarea/six-textarea.css +5 -2
  379. package/dist/collection/components/six-textarea/six-textarea.js +796 -757
  380. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  381. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +119 -0
  382. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  383. package/dist/collection/components/six-tile/six-tile.css +2 -2
  384. package/dist/collection/components/six-tile/six-tile.js +300 -296
  385. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  386. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  387. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  388. package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
  389. package/dist/collection/components/six-timepicker/six-timepicker.js +832 -813
  390. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  391. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  392. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  393. package/dist/collection/components/six-tooltip/six-tooltip.css +2 -2
  394. package/dist/collection/components/six-tooltip/six-tooltip.js +409 -403
  395. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  396. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  397. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  398. package/dist/collection/functional-components/form-control/form-control.js +20 -18
  399. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  400. package/dist/collection/index.js +1 -0
  401. package/dist/collection/index.js.map +1 -1
  402. package/dist/collection/testUtil/delay.js +1 -1
  403. package/dist/collection/testUtil/delay.js.map +1 -1
  404. package/dist/collection/utils/alert.js +54 -0
  405. package/dist/collection/utils/alert.js.map +1 -0
  406. package/dist/collection/utils/animation.js +34 -0
  407. package/dist/collection/utils/animation.js.map +1 -0
  408. package/dist/collection/utils/date-util.js +526 -501
  409. package/dist/collection/utils/date-util.js.map +1 -1
  410. package/dist/collection/utils/date-util.spec.js +995 -0
  411. package/dist/collection/utils/date-util.spec.js.map +1 -0
  412. package/dist/collection/utils/error-messages.js +102 -81
  413. package/dist/collection/utils/error-messages.js.map +1 -1
  414. package/dist/collection/utils/event-listeners.js +51 -51
  415. package/dist/collection/utils/event-listeners.js.map +1 -1
  416. package/dist/collection/utils/execution-control.js +14 -14
  417. package/dist/collection/utils/execution-control.js.map +1 -1
  418. package/dist/collection/utils/focus-visible.js +28 -28
  419. package/dist/collection/utils/focus-visible.js.map +1 -1
  420. package/dist/collection/utils/form.js +12 -12
  421. package/dist/collection/utils/form.js.map +1 -1
  422. package/dist/collection/utils/modal.js +25 -25
  423. package/dist/collection/utils/modal.js.map +1 -1
  424. package/dist/collection/utils/offset.js +4 -4
  425. package/dist/collection/utils/offset.js.map +1 -1
  426. package/dist/collection/utils/popover.js +100 -100
  427. package/dist/collection/utils/popover.js.map +1 -1
  428. package/dist/collection/utils/popup.js +71 -71
  429. package/dist/collection/utils/popup.js.map +1 -1
  430. package/dist/collection/utils/scroll.js +28 -28
  431. package/dist/collection/utils/scroll.js.map +1 -1
  432. package/dist/collection/utils/scroll.spec.js +122 -0
  433. package/dist/collection/utils/scroll.spec.js.map +1 -0
  434. package/dist/collection/utils/slot.js +28 -29
  435. package/dist/collection/utils/slot.js.map +1 -1
  436. package/dist/collection/utils/support.js +10 -10
  437. package/dist/collection/utils/support.js.map +1 -1
  438. package/dist/collection/utils/tabbable.js +17 -17
  439. package/dist/collection/utils/tabbable.js.map +1 -1
  440. package/dist/collection/utils/time.util.js +72 -72
  441. package/dist/collection/utils/time.util.js.map +1 -1
  442. package/dist/collection/utils/time.util.spec.js +368 -0
  443. package/dist/collection/utils/time.util.spec.js.map +1 -0
  444. package/dist/components/event-listeners.js +51 -51
  445. package/dist/components/event-listeners.js.map +1 -1
  446. package/dist/components/execution-control.js +14 -14
  447. package/dist/components/execution-control.js.map +1 -1
  448. package/dist/components/focus-visible.js +28 -28
  449. package/dist/components/focus-visible.js.map +1 -1
  450. package/dist/components/form-control.js +26 -23
  451. package/dist/components/form-control.js.map +1 -1
  452. package/dist/components/form.js +12 -12
  453. package/dist/components/form.js.map +1 -1
  454. package/dist/components/index.d.ts +6 -0
  455. package/dist/components/index.js +113 -149
  456. package/dist/components/index.js.map +1 -1
  457. package/dist/components/modal.js +35 -35
  458. package/dist/components/modal.js.map +1 -1
  459. package/dist/components/popover.js +98 -98
  460. package/dist/components/popover.js.map +1 -1
  461. package/dist/components/scroll.js +32 -32
  462. package/dist/components/scroll.js.map +1 -1
  463. package/dist/components/six-alert.d.ts +2 -2
  464. package/dist/components/six-alert.js +177 -142
  465. package/dist/components/six-alert.js.map +1 -1
  466. package/dist/components/six-avatar.d.ts +2 -2
  467. package/dist/components/six-avatar.js +45 -45
  468. package/dist/components/six-avatar.js.map +1 -1
  469. package/dist/components/six-badge.d.ts +2 -2
  470. package/dist/components/six-badge.js +40 -40
  471. package/dist/components/six-badge.js.map +1 -1
  472. package/dist/components/six-button.d.ts +2 -2
  473. package/dist/components/six-button.js +1 -142
  474. package/dist/components/six-button.js.map +1 -1
  475. package/dist/components/six-button2.js +146 -0
  476. package/dist/components/six-button2.js.map +1 -0
  477. package/dist/components/six-card.d.ts +2 -2
  478. package/dist/components/six-card.js +21 -21
  479. package/dist/components/six-card.js.map +1 -1
  480. package/dist/components/six-checkbox.d.ts +2 -2
  481. package/dist/components/six-checkbox.js +1 -154
  482. package/dist/components/six-checkbox.js.map +1 -1
  483. package/dist/components/six-checkbox2.js +165 -0
  484. package/dist/components/six-checkbox2.js.map +1 -0
  485. package/dist/components/six-datepicker.d.ts +2 -2
  486. package/dist/components/six-datepicker.js +932 -899
  487. package/dist/components/six-datepicker.js.map +1 -1
  488. package/dist/components/six-details.d.ts +2 -2
  489. package/dist/components/six-details2.js +158 -156
  490. package/dist/components/six-details2.js.map +1 -1
  491. package/dist/components/six-dialog.d.ts +2 -2
  492. package/dist/components/six-dialog.js +161 -157
  493. package/dist/components/six-dialog.js.map +1 -1
  494. package/dist/components/six-drawer.d.ts +2 -2
  495. package/dist/components/six-drawer.js +179 -177
  496. package/dist/components/six-drawer.js.map +1 -1
  497. package/dist/components/six-dropdown.d.ts +2 -2
  498. package/dist/components/six-dropdown2.js +553 -464
  499. package/dist/components/six-dropdown2.js.map +1 -1
  500. package/dist/components/six-error-page.d.ts +2 -2
  501. package/dist/components/six-error-page.js +106 -106
  502. package/dist/components/six-error-page.js.map +1 -1
  503. package/dist/components/{set-attributes.d.ts → six-error.d.ts} +4 -4
  504. package/dist/components/six-error.js +8 -0
  505. package/dist/components/six-error.js.map +1 -0
  506. package/dist/components/six-error2.js +32 -0
  507. package/dist/components/six-error2.js.map +1 -0
  508. package/dist/components/six-file-list-item.d.ts +2 -2
  509. package/dist/components/six-file-list-item.js +59 -59
  510. package/dist/components/six-file-list-item.js.map +1 -1
  511. package/dist/components/six-file-list.d.ts +2 -2
  512. package/dist/components/six-file-list.js +20 -20
  513. package/dist/components/six-file-list.js.map +1 -1
  514. package/dist/components/six-file-upload.d.ts +2 -2
  515. package/dist/components/six-file-upload.js +124 -124
  516. package/dist/components/six-file-upload.js.map +1 -1
  517. package/dist/components/six-footer.d.ts +2 -2
  518. package/dist/components/six-footer.js +21 -21
  519. package/dist/components/six-footer.js.map +1 -1
  520. package/dist/components/six-group-label.d.ts +2 -2
  521. package/dist/components/six-group-label.js +71 -62
  522. package/dist/components/six-group-label.js.map +1 -1
  523. package/dist/components/six-header.d.ts +2 -2
  524. package/dist/components/six-header.js +237 -207
  525. package/dist/components/six-header.js.map +1 -1
  526. package/dist/components/six-icon-button.d.ts +2 -2
  527. package/dist/components/six-icon-button2.js +55 -55
  528. package/dist/components/six-icon-button2.js.map +1 -1
  529. package/dist/components/six-icon.d.ts +2 -2
  530. package/dist/components/six-icon2.js +38 -38
  531. package/dist/components/six-icon2.js.map +1 -1
  532. package/dist/components/six-input.d.ts +2 -2
  533. package/dist/components/six-input2.js +258 -239
  534. package/dist/components/six-input2.js.map +1 -1
  535. package/dist/components/six-item-picker.d.ts +2 -2
  536. package/dist/components/six-item-picker2.js +450 -348
  537. package/dist/components/six-item-picker2.js.map +1 -1
  538. package/dist/components/six-language-switcher.d.ts +2 -2
  539. package/dist/components/six-language-switcher.js +64 -62
  540. package/dist/components/six-language-switcher.js.map +1 -1
  541. package/dist/components/six-layout-grid.d.ts +2 -2
  542. package/dist/components/six-layout-grid.js +37 -35
  543. package/dist/components/six-layout-grid.js.map +1 -1
  544. package/dist/components/six-main-container.d.ts +2 -2
  545. package/dist/components/six-main-container.js +24 -24
  546. package/dist/components/six-main-container.js.map +1 -1
  547. package/dist/components/six-menu-divider.d.ts +2 -2
  548. package/dist/components/six-menu-divider.js +21 -21
  549. package/dist/components/six-menu-divider.js.map +1 -1
  550. package/dist/components/six-menu-item.d.ts +2 -2
  551. package/dist/components/six-menu-item2.js +98 -75
  552. package/dist/components/six-menu-item2.js.map +1 -1
  553. package/dist/components/six-menu-label.d.ts +2 -2
  554. package/dist/components/six-menu-label.js +21 -21
  555. package/dist/components/six-menu-label.js.map +1 -1
  556. package/dist/components/six-menu.d.ts +2 -2
  557. package/dist/components/six-menu2.js +236 -220
  558. package/dist/components/six-menu2.js.map +1 -1
  559. package/dist/components/six-picto.d.ts +2 -2
  560. package/dist/components/six-picto2.js +29 -29
  561. package/dist/components/six-picto2.js.map +1 -1
  562. package/dist/components/six-progress-bar.d.ts +2 -2
  563. package/dist/components/six-progress-bar.js +31 -31
  564. package/dist/components/six-progress-bar.js.map +1 -1
  565. package/dist/components/six-progress-ring.d.ts +2 -2
  566. package/dist/components/six-progress-ring.js +49 -47
  567. package/dist/components/six-progress-ring.js.map +1 -1
  568. package/dist/components/six-radio.d.ts +2 -2
  569. package/dist/components/six-radio.js +128 -134
  570. package/dist/components/six-radio.js.map +1 -1
  571. package/dist/components/six-range.d.ts +2 -2
  572. package/dist/components/six-range.js +233 -215
  573. package/dist/components/six-range.js.map +1 -1
  574. package/dist/components/six-root.d.ts +2 -2
  575. package/dist/components/six-root.js +39 -66
  576. package/dist/components/six-root.js.map +1 -1
  577. package/dist/components/six-search-field.d.ts +2 -2
  578. package/dist/components/six-search-field.js +79 -71
  579. package/dist/components/six-search-field.js.map +1 -1
  580. package/dist/components/six-select.d.ts +2 -2
  581. package/dist/components/six-select.js +713 -438
  582. package/dist/components/six-select.js.map +1 -1
  583. package/dist/components/six-sidebar-item-group.d.ts +2 -2
  584. package/dist/components/six-sidebar-item-group.js +87 -75
  585. package/dist/components/six-sidebar-item-group.js.map +1 -1
  586. package/dist/components/six-sidebar-item.d.ts +2 -2
  587. package/dist/components/six-sidebar-item.js +35 -32
  588. package/dist/components/six-sidebar-item.js.map +1 -1
  589. package/dist/components/six-sidebar.d.ts +2 -2
  590. package/dist/components/six-sidebar.js +199 -197
  591. package/dist/components/six-sidebar.js.map +1 -1
  592. package/dist/components/six-spinner.d.ts +2 -2
  593. package/dist/components/six-spinner2.js +30 -30
  594. package/dist/components/six-spinner2.js.map +1 -1
  595. package/dist/components/six-stage-indicator.d.ts +2 -2
  596. package/dist/components/six-stage-indicator2.js +29 -29
  597. package/dist/components/six-stage-indicator2.js.map +1 -1
  598. package/dist/components/six-switch.d.ts +2 -2
  599. package/dist/components/six-switch.js +142 -110
  600. package/dist/components/six-switch.js.map +1 -1
  601. package/dist/components/six-tab-group.d.ts +2 -2
  602. package/dist/components/six-tab-group.js +260 -263
  603. package/dist/components/six-tab-group.js.map +1 -1
  604. package/dist/components/six-tab-panel.d.ts +2 -2
  605. package/dist/components/six-tab-panel.js +30 -30
  606. package/dist/components/six-tab-panel.js.map +1 -1
  607. package/dist/components/six-tab.d.ts +2 -2
  608. package/dist/components/six-tab.js +85 -69
  609. package/dist/components/six-tab.js.map +1 -1
  610. package/dist/components/six-tag.d.ts +2 -2
  611. package/dist/components/six-tag.js +98 -1
  612. package/dist/components/six-tag.js.map +1 -1
  613. package/dist/components/six-textarea.d.ts +2 -2
  614. package/dist/components/six-textarea.js +235 -218
  615. package/dist/components/six-textarea.js.map +1 -1
  616. package/dist/components/six-tile.d.ts +2 -2
  617. package/dist/components/six-tile.js +117 -117
  618. package/dist/components/six-tile.js.map +1 -1
  619. package/dist/components/six-timepicker.d.ts +2 -2
  620. package/dist/components/six-timepicker2.js +491 -487
  621. package/dist/components/six-timepicker2.js.map +1 -1
  622. package/dist/components/six-tooltip.d.ts +2 -2
  623. package/dist/components/six-tooltip2.js +172 -170
  624. package/dist/components/six-tooltip2.js.map +1 -1
  625. package/dist/components/slot.js +29 -30
  626. package/dist/components/slot.js.map +1 -1
  627. package/dist/components.d.ts +341 -88
  628. package/dist/components.json +4665 -242
  629. package/dist/esm/error-messages-1eaaad23.js +115 -0
  630. package/dist/esm/error-messages-1eaaad23.js.map +1 -0
  631. package/dist/esm/event-listeners-706d4309.js +59 -0
  632. package/dist/esm/event-listeners-706d4309.js.map +1 -0
  633. package/dist/esm/{execution-control-72cc50f4.js → execution-control-2ebaf4ef.js} +15 -15
  634. package/dist/esm/execution-control-2ebaf4ef.js.map +1 -0
  635. package/dist/esm/focus-visible-d9dbfeef.js +45 -0
  636. package/dist/esm/focus-visible-d9dbfeef.js.map +1 -0
  637. package/dist/esm/form-4b145b7a.js +18 -0
  638. package/dist/esm/form-4b145b7a.js.map +1 -0
  639. package/dist/esm/form-control-d403a9cf.js +34 -0
  640. package/dist/esm/form-control-d403a9cf.js.map +1 -0
  641. package/dist/esm/{index-5c0f6628.js → index-79d4ef67.js} +587 -480
  642. package/dist/esm/index-79d4ef67.js.map +1 -0
  643. package/dist/esm/index.js +52 -87
  644. package/dist/esm/index.js.map +1 -1
  645. package/dist/esm/loader.js +4 -13
  646. package/dist/esm/loader.js.map +1 -1
  647. package/dist/esm/modal-96526245.js +49 -0
  648. package/dist/esm/modal-96526245.js.map +1 -0
  649. package/dist/esm/{popover-2e72e7d8.js → popover-25996e62.js} +99 -99
  650. package/dist/esm/popover-25996e62.js.map +1 -0
  651. package/dist/esm/popup-7209e9d5.js +98 -0
  652. package/dist/esm/popup-7209e9d5.js.map +1 -0
  653. package/dist/esm/scroll-3e16851e.js +64 -0
  654. package/dist/esm/scroll-3e16851e.js.map +1 -0
  655. package/dist/esm/six-alert.entry.js +142 -110
  656. package/dist/esm/six-alert.entry.js.map +1 -1
  657. package/dist/esm/six-avatar.entry.js +21 -21
  658. package/dist/esm/six-avatar.entry.js.map +1 -1
  659. package/dist/esm/six-badge.entry.js +23 -23
  660. package/dist/esm/six-badge.entry.js.map +1 -1
  661. package/dist/esm/six-button.entry.js +95 -95
  662. package/dist/esm/six-button.entry.js.map +1 -1
  663. package/dist/esm/six-card.entry.js +8 -8
  664. package/dist/esm/six-card.entry.js.map +1 -1
  665. package/dist/esm/six-checkbox_2.entry.js +185 -0
  666. package/dist/esm/six-checkbox_2.entry.js.map +1 -0
  667. package/dist/esm/six-datepicker.entry.js +861 -838
  668. package/dist/esm/six-datepicker.entry.js.map +1 -1
  669. package/dist/esm/six-details.entry.js +127 -127
  670. package/dist/esm/six-details.entry.js.map +1 -1
  671. package/dist/esm/six-dialog.entry.js +131 -129
  672. package/dist/esm/six-dialog.entry.js.map +1 -1
  673. package/dist/esm/six-drawer.entry.js +147 -147
  674. package/dist/esm/six-drawer.entry.js.map +1 -1
  675. package/dist/esm/six-dropdown_2.entry.js +709 -637
  676. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  677. package/dist/esm/six-error-page.entry.js +82 -82
  678. package/dist/esm/six-error-page.entry.js.map +1 -1
  679. package/dist/esm/six-error.entry.js +17 -0
  680. package/dist/esm/six-error.entry.js.map +1 -0
  681. package/dist/esm/six-file-list-item.entry.js +34 -34
  682. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  683. package/dist/esm/six-file-list.entry.js +7 -7
  684. package/dist/esm/six-file-list.entry.js.map +1 -1
  685. package/dist/esm/six-file-upload.entry.js +99 -99
  686. package/dist/esm/six-file-upload.entry.js.map +1 -1
  687. package/dist/esm/six-footer.entry.js +8 -8
  688. package/dist/esm/six-footer.entry.js.map +1 -1
  689. package/dist/esm/six-group-label.entry.js +43 -43
  690. package/dist/esm/six-group-label.entry.js.map +1 -1
  691. package/dist/esm/six-header.entry.js +171 -156
  692. package/dist/esm/six-header.entry.js.map +1 -1
  693. package/dist/esm/six-icon-button.entry.js +32 -32
  694. package/dist/esm/six-icon-button.entry.js.map +1 -1
  695. package/dist/esm/six-icon.entry.js +22 -22
  696. package/dist/esm/six-icon.entry.js.map +1 -1
  697. package/dist/esm/six-input.entry.js +192 -187
  698. package/dist/esm/six-input.entry.js.map +1 -1
  699. package/dist/esm/six-item-picker.entry.js +405 -309
  700. package/dist/esm/six-item-picker.entry.js.map +1 -1
  701. package/dist/esm/six-language-switcher.entry.js +46 -46
  702. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  703. package/dist/esm/six-layout-grid.entry.js +20 -20
  704. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  705. package/dist/esm/six-main-container.entry.js +9 -9
  706. package/dist/esm/six-main-container.entry.js.map +1 -1
  707. package/dist/esm/six-menu-divider.entry.js +8 -8
  708. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  709. package/dist/esm/six-menu-label.entry.js +8 -8
  710. package/dist/esm/six-menu-label.entry.js.map +1 -1
  711. package/dist/esm/six-picto.entry.js +14 -14
  712. package/dist/esm/six-picto.entry.js.map +1 -1
  713. package/dist/esm/six-progress-bar.entry.js +15 -15
  714. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  715. package/dist/esm/six-progress-ring.entry.js +30 -30
  716. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  717. package/dist/esm/six-radio.entry.js +104 -112
  718. package/dist/esm/six-radio.entry.js.map +1 -1
  719. package/dist/esm/six-range.entry.js +180 -177
  720. package/dist/esm/six-range.entry.js.map +1 -1
  721. package/dist/esm/six-root.entry.js +11 -30
  722. package/dist/esm/six-root.entry.js.map +1 -1
  723. package/dist/esm/six-search-field.entry.js +44 -44
  724. package/dist/esm/six-search-field.entry.js.map +1 -1
  725. package/dist/esm/six-select.entry.js +496 -361
  726. package/dist/esm/six-select.entry.js.map +1 -1
  727. package/dist/esm/six-sidebar-item-group.entry.js +56 -45
  728. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  729. package/dist/esm/six-sidebar-item.entry.js +17 -15
  730. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  731. package/dist/esm/six-sidebar.entry.js +174 -174
  732. package/dist/esm/six-sidebar.entry.js.map +1 -1
  733. package/dist/esm/six-spinner.entry.js +15 -15
  734. package/dist/esm/six-spinner.entry.js.map +1 -1
  735. package/dist/esm/six-stage-indicator.entry.js +18 -0
  736. package/dist/esm/six-stage-indicator.entry.js.map +1 -0
  737. package/dist/esm/six-switch.entry.js +107 -87
  738. package/dist/esm/six-switch.entry.js.map +1 -1
  739. package/dist/esm/six-tab-group.entry.js +230 -235
  740. package/dist/esm/six-tab-group.entry.js.map +1 -1
  741. package/dist/esm/six-tab-panel.entry.js +14 -14
  742. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  743. package/dist/esm/six-tab.entry.js +55 -39
  744. package/dist/esm/six-tab.entry.js.map +1 -1
  745. package/dist/esm/six-tag.entry.js +55 -33
  746. package/dist/esm/six-tag.entry.js.map +1 -1
  747. package/dist/esm/six-textarea.entry.js +181 -178
  748. package/dist/esm/six-textarea.entry.js.map +1 -1
  749. package/dist/esm/six-tile.entry.js +77 -77
  750. package/dist/esm/six-tile.entry.js.map +1 -1
  751. package/dist/esm/six-timepicker.entry.js +348 -353
  752. package/dist/esm/six-timepicker.entry.js.map +1 -1
  753. package/dist/esm/six-tooltip.entry.js +148 -148
  754. package/dist/esm/six-tooltip.entry.js.map +1 -1
  755. package/dist/esm/slot-56531341.js +47 -0
  756. package/dist/esm/slot-56531341.js.map +1 -0
  757. package/dist/esm/types-a07bb999.js +19 -0
  758. package/dist/esm/types-a07bb999.js.map +1 -0
  759. package/dist/esm/ui-library.js +4 -7
  760. package/dist/esm/ui-library.js.map +1 -1
  761. package/dist/types/components/six-alert/six-alert.d.ts +47 -40
  762. package/dist/types/components/six-avatar/six-avatar.d.ts +11 -11
  763. package/dist/types/components/six-badge/six-badge.d.ts +7 -7
  764. package/dist/types/components/six-button/six-button.d.ts +48 -48
  765. package/dist/types/components/six-card/six-card.d.ts +1 -1
  766. package/dist/types/components/six-checkbox/six-checkbox.d.ts +58 -59
  767. package/dist/types/components/six-datepicker/components/day-selection.d.ts +3 -3
  768. package/dist/types/components/six-datepicker/components/month-selection.d.ts +3 -3
  769. package/dist/types/components/six-datepicker/components/year-selection.d.ts +3 -3
  770. package/dist/types/components/six-datepicker/six-date-formats.d.ts +20 -20
  771. package/dist/types/components/six-datepicker/six-datepicker.d.ts +188 -186
  772. package/dist/types/components/six-details/six-details.d.ts +42 -42
  773. package/dist/types/components/six-dialog/six-dialog.d.ts +51 -50
  774. package/dist/types/components/six-drawer/six-drawer.d.ts +58 -58
  775. package/dist/types/components/six-dropdown/six-dropdown.d.ts +131 -112
  776. package/dist/types/components/six-error/six-error.d.ts +9 -0
  777. package/dist/types/components/six-error-page/six-error-page.d.ts +25 -25
  778. package/dist/types/components/six-file-list/six-file-list.d.ts +1 -1
  779. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +23 -23
  780. package/dist/types/components/six-file-upload/six-file-upload.d.ts +33 -33
  781. package/dist/types/components/six-footer/six-footer.d.ts +1 -1
  782. package/dist/types/components/six-group-label/six-group-label.d.ts +22 -22
  783. package/dist/types/components/six-header/six-header.d.ts +59 -55
  784. package/dist/types/components/six-icon/six-icon.d.ts +5 -5
  785. package/dist/types/components/six-icon-button/six-icon-button.d.ts +18 -18
  786. package/dist/types/components/six-input/six-input.d.ts +112 -103
  787. package/dist/types/components/six-item-picker/six-item-picker.d.ts +95 -88
  788. package/dist/types/components/six-item-picker/types.d.ts +7 -7
  789. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +15 -15
  790. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +6 -6
  791. package/dist/types/components/six-main-container/six-main-container.d.ts +4 -4
  792. package/dist/types/components/six-menu/six-menu.d.ts +67 -63
  793. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +1 -1
  794. package/dist/types/components/six-menu-item/six-menu-item.d.ts +27 -21
  795. package/dist/types/components/six-menu-label/six-menu-label.d.ts +1 -1
  796. package/dist/types/components/six-picto/six-picto.d.ts +6 -6
  797. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +5 -5
  798. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +11 -11
  799. package/dist/types/components/six-radio/six-radio.d.ts +38 -43
  800. package/dist/types/components/six-range/six-range.d.ts +75 -72
  801. package/dist/types/components/six-root/six-root.d.ts +8 -21
  802. package/dist/types/components/six-search-field/six-search-field.d.ts +20 -20
  803. package/dist/types/components/six-select/six-select.d.ts +137 -119
  804. package/dist/types/components/six-select/util.d.ts +1 -1
  805. package/dist/types/components/six-sidebar/six-sidebar.d.ts +45 -45
  806. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +12 -7
  807. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +25 -19
  808. package/dist/types/components/six-spinner/six-spinner.d.ts +6 -5
  809. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +3 -3
  810. package/dist/types/components/six-switch/six-switch.d.ts +49 -42
  811. package/dist/types/components/six-tab/six-tab.d.ts +20 -20
  812. package/dist/types/components/six-tab-group/six-tab-group.d.ts +35 -38
  813. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +7 -7
  814. package/dist/types/components/six-tag/six-tag.d.ts +20 -12
  815. package/dist/types/components/six-textarea/six-textarea.d.ts +89 -86
  816. package/dist/types/components/six-tile/six-tile.d.ts +31 -31
  817. package/dist/types/components/six-timepicker/six-timepicker.d.ts +154 -151
  818. package/dist/types/components/six-tooltip/six-tooltip.d.ts +55 -55
  819. package/dist/types/components.d.ts +565 -72
  820. package/dist/types/functional-components/form-control/form-control.d.ts +32 -28
  821. package/dist/types/index.d.ts +1 -0
  822. package/dist/types/stencil-public-runtime.d.ts +49 -5
  823. package/dist/types/types.d.ts +1 -0
  824. package/dist/types/utils/alert.d.ts +10 -0
  825. package/dist/types/utils/animation.d.ts +12 -0
  826. package/dist/types/utils/date-util.d.ts +58 -50
  827. package/dist/types/utils/error-messages.d.ts +27 -25
  828. package/dist/types/utils/event-listeners.d.ts +11 -11
  829. package/dist/types/utils/focus-visible.d.ts +2 -2
  830. package/dist/types/utils/modal.d.ts +8 -8
  831. package/dist/types/utils/offset.d.ts +2 -2
  832. package/dist/types/utils/popover.d.ts +21 -21
  833. package/dist/types/utils/slot.d.ts +0 -1
  834. package/dist/types/utils/time.util.d.ts +6 -6
  835. package/dist/types/utils/types.d.ts +1 -1
  836. package/dist/ui-library/index.esm.js +1 -1
  837. package/dist/ui-library/index.esm.js.map +1 -1
  838. package/dist/ui-library/{p-9337cdd6.entry.js → p-0440335d.entry.js} +2 -2
  839. package/dist/ui-library/p-0440335d.entry.js.map +1 -0
  840. package/dist/ui-library/p-04cc397c.entry.js +2 -0
  841. package/dist/ui-library/p-04cc397c.entry.js.map +1 -0
  842. package/dist/ui-library/{p-0cc08e91.js → p-06ba4450.js} +1 -1
  843. package/dist/ui-library/p-06ba4450.js.map +1 -0
  844. package/dist/ui-library/p-0cebf1d2.js +2 -0
  845. package/dist/ui-library/p-0cebf1d2.js.map +1 -0
  846. package/dist/ui-library/p-0edd3091.entry.js +2 -0
  847. package/dist/ui-library/p-0edd3091.entry.js.map +1 -0
  848. package/dist/ui-library/p-150b7664.entry.js +2 -0
  849. package/dist/ui-library/p-150b7664.entry.js.map +1 -0
  850. package/dist/ui-library/p-1f5840b5.entry.js +2 -0
  851. package/dist/ui-library/p-1f5840b5.entry.js.map +1 -0
  852. package/dist/ui-library/p-28cc013e.entry.js +2 -0
  853. package/dist/ui-library/p-28cc013e.entry.js.map +1 -0
  854. package/dist/ui-library/p-3424bbc0.entry.js +2 -0
  855. package/dist/ui-library/p-3424bbc0.entry.js.map +1 -0
  856. package/dist/ui-library/p-348c68a8.entry.js +2 -0
  857. package/dist/ui-library/p-348c68a8.entry.js.map +1 -0
  858. package/dist/ui-library/p-3723ca06.entry.js +2 -0
  859. package/dist/ui-library/p-3723ca06.entry.js.map +1 -0
  860. package/dist/ui-library/p-37aeac5e.entry.js +2 -0
  861. package/dist/ui-library/p-37aeac5e.entry.js.map +1 -0
  862. package/dist/ui-library/p-3d7fb086.entry.js +2 -0
  863. package/dist/ui-library/p-3d7fb086.entry.js.map +1 -0
  864. package/dist/ui-library/{p-28be55f0.entry.js → p-457f7373.entry.js} +2 -2
  865. package/dist/ui-library/p-457f7373.entry.js.map +1 -0
  866. package/dist/ui-library/p-4a667f31.entry.js +2 -0
  867. package/dist/ui-library/p-4a667f31.entry.js.map +1 -0
  868. package/dist/ui-library/p-50dae789.entry.js +2 -0
  869. package/dist/ui-library/p-50dae789.entry.js.map +1 -0
  870. package/dist/ui-library/{p-dcd7c547.entry.js → p-546e33d9.entry.js} +2 -2
  871. package/dist/ui-library/p-546e33d9.entry.js.map +1 -0
  872. package/dist/ui-library/{p-73597d13.entry.js → p-5db3a705.entry.js} +2 -2
  873. package/dist/ui-library/p-5db3a705.entry.js.map +1 -0
  874. package/dist/ui-library/p-61e66671.js +2 -0
  875. package/dist/ui-library/p-61e66671.js.map +1 -0
  876. package/dist/ui-library/p-6296779b.entry.js +2 -0
  877. package/dist/ui-library/p-6296779b.entry.js.map +1 -0
  878. package/dist/ui-library/p-64b4755d.entry.js +2 -0
  879. package/dist/ui-library/p-64b4755d.entry.js.map +1 -0
  880. package/dist/ui-library/p-6c1b046e.entry.js +2 -0
  881. package/dist/ui-library/p-6c1b046e.entry.js.map +1 -0
  882. package/dist/ui-library/p-7115316e.entry.js +2 -0
  883. package/dist/ui-library/p-7115316e.entry.js.map +1 -0
  884. package/dist/ui-library/p-73dd493f.entry.js +2 -0
  885. package/dist/ui-library/p-73dd493f.entry.js.map +1 -0
  886. package/dist/ui-library/{p-0b2c6348.js → p-7f856f00.js} +1 -1
  887. package/dist/ui-library/p-7f856f00.js.map +1 -0
  888. package/dist/ui-library/{p-eb8f05a9.js → p-8227aaed.js} +2 -2
  889. package/dist/ui-library/p-8227aaed.js.map +1 -0
  890. package/dist/ui-library/{p-4d408fb4.js → p-842b492e.js} +1 -1
  891. package/dist/ui-library/p-842b492e.js.map +1 -0
  892. package/dist/ui-library/{p-25a3bf57.js → p-862d474e.js} +1 -1
  893. package/dist/ui-library/p-862d474e.js.map +1 -0
  894. package/dist/ui-library/p-870b988d.entry.js +2 -0
  895. package/dist/ui-library/p-870b988d.entry.js.map +1 -0
  896. package/dist/ui-library/{p-e8feb81f.entry.js → p-884c5cf9.entry.js} +2 -2
  897. package/dist/ui-library/p-884c5cf9.entry.js.map +1 -0
  898. package/dist/ui-library/p-8888a367.entry.js +2 -0
  899. package/dist/ui-library/p-8888a367.entry.js.map +1 -0
  900. package/dist/ui-library/{p-60621dc6.js → p-8bfb4bfc.js} +1 -1
  901. package/dist/ui-library/p-8bfb4bfc.js.map +1 -0
  902. package/dist/ui-library/p-8ced18d8.entry.js +2 -0
  903. package/dist/ui-library/p-8ced18d8.entry.js.map +1 -0
  904. package/dist/ui-library/{p-820c23f0.entry.js → p-935c78a7.entry.js} +2 -2
  905. package/dist/ui-library/p-935c78a7.entry.js.map +1 -0
  906. package/dist/ui-library/p-961bd001.entry.js +2 -0
  907. package/dist/ui-library/p-961bd001.entry.js.map +1 -0
  908. package/dist/ui-library/{p-ba74863a.js → p-998de05d.js} +1 -1
  909. package/dist/ui-library/p-998de05d.js.map +1 -0
  910. package/dist/ui-library/p-9b08068d.entry.js +2 -0
  911. package/dist/ui-library/p-9b08068d.entry.js.map +1 -0
  912. package/dist/ui-library/p-9c79341d.entry.js +2 -0
  913. package/dist/ui-library/p-9c79341d.entry.js.map +1 -0
  914. package/dist/ui-library/{p-8cf72af6.js → p-a1502802.js} +1 -1
  915. package/dist/ui-library/p-a1502802.js.map +1 -0
  916. package/dist/ui-library/{p-afcbe9da.entry.js → p-a9c159f2.entry.js} +2 -2
  917. package/dist/ui-library/p-a9c159f2.entry.js.map +1 -0
  918. package/dist/ui-library/p-ac57ba5c.entry.js +2 -0
  919. package/dist/ui-library/p-ac57ba5c.entry.js.map +1 -0
  920. package/dist/ui-library/p-af15381b.js +3 -0
  921. package/dist/ui-library/p-af15381b.js.map +1 -0
  922. package/dist/ui-library/p-b1a5f3cd.entry.js +2 -0
  923. package/dist/ui-library/p-b1a5f3cd.entry.js.map +1 -0
  924. package/dist/ui-library/p-b385a241.entry.js +2 -0
  925. package/dist/ui-library/p-b385a241.entry.js.map +1 -0
  926. package/dist/ui-library/p-b74c5d6b.entry.js +2 -0
  927. package/dist/ui-library/p-b74c5d6b.entry.js.map +1 -0
  928. package/dist/ui-library/p-bf2fb53f.entry.js +2 -0
  929. package/dist/ui-library/p-bf2fb53f.entry.js.map +1 -0
  930. package/dist/ui-library/p-c2c7370b.entry.js +2 -0
  931. package/dist/ui-library/p-c2c7370b.entry.js.map +1 -0
  932. package/dist/ui-library/p-caea1eb6.entry.js +2 -0
  933. package/dist/ui-library/p-caea1eb6.entry.js.map +1 -0
  934. package/dist/ui-library/p-d3f5b9a8.entry.js +2 -0
  935. package/dist/ui-library/p-d3f5b9a8.entry.js.map +1 -0
  936. package/dist/ui-library/p-d42b18eb.entry.js +2 -0
  937. package/dist/ui-library/p-d42b18eb.entry.js.map +1 -0
  938. package/dist/ui-library/p-d95e292e.entry.js +2 -0
  939. package/dist/ui-library/p-d95e292e.entry.js.map +1 -0
  940. package/dist/ui-library/p-da7f3dbd.entry.js +2 -0
  941. package/dist/ui-library/p-da7f3dbd.entry.js.map +1 -0
  942. package/dist/ui-library/p-dfb89b6a.entry.js +2 -0
  943. package/dist/ui-library/p-dfb89b6a.entry.js.map +1 -0
  944. package/dist/ui-library/p-e080d5b6.js +2 -0
  945. package/dist/ui-library/p-e080d5b6.js.map +1 -0
  946. package/dist/ui-library/p-e6032375.entry.js +2 -0
  947. package/dist/ui-library/p-e6032375.entry.js.map +1 -0
  948. package/dist/ui-library/p-e60d2324.entry.js +2 -0
  949. package/dist/ui-library/p-e60d2324.entry.js.map +1 -0
  950. package/dist/ui-library/p-e8298c6e.entry.js +2 -0
  951. package/dist/ui-library/p-e8298c6e.entry.js.map +1 -0
  952. package/dist/ui-library/p-ed279165.entry.js +2 -0
  953. package/dist/ui-library/p-ed279165.entry.js.map +1 -0
  954. package/dist/ui-library/p-ed61b75c.entry.js +2 -0
  955. package/dist/ui-library/p-ed61b75c.entry.js.map +1 -0
  956. package/dist/ui-library/p-f136a6b2.js +2 -0
  957. package/dist/ui-library/p-f136a6b2.js.map +1 -0
  958. package/dist/ui-library/p-f1ab3384.entry.js +2 -0
  959. package/dist/ui-library/p-f1ab3384.entry.js.map +1 -0
  960. package/dist/ui-library/p-f4ef481c.entry.js +2 -0
  961. package/dist/ui-library/p-f4ef481c.entry.js.map +1 -0
  962. package/dist/ui-library/{p-d6798d35.entry.js → p-f8cbb8da.entry.js} +2 -2
  963. package/dist/ui-library/p-f8cbb8da.entry.js.map +1 -0
  964. package/dist/ui-library/ui-library.css +1 -10
  965. package/dist/ui-library/ui-library.esm.js +1 -1
  966. package/dist/ui-library/ui-library.esm.js.map +1 -1
  967. package/loader/index.d.ts +1 -1
  968. package/package.json +19 -20
  969. package/dist/cjs/event-listeners-b835dfae.js +0 -61
  970. package/dist/cjs/event-listeners-b835dfae.js.map +0 -1
  971. package/dist/cjs/execution-control-45c84c46.js.map +0 -1
  972. package/dist/cjs/focus-visible-e0d93a95.js +0 -47
  973. package/dist/cjs/focus-visible-e0d93a95.js.map +0 -1
  974. package/dist/cjs/form-8cbd4e0e.js +0 -20
  975. package/dist/cjs/form-8cbd4e0e.js.map +0 -1
  976. package/dist/cjs/form-control-8df00a52.js +0 -33
  977. package/dist/cjs/form-control-8df00a52.js.map +0 -1
  978. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  979. package/dist/cjs/modal-21350fb5.js +0 -52
  980. package/dist/cjs/modal-21350fb5.js.map +0 -1
  981. package/dist/cjs/popover-8885d50f.js.map +0 -1
  982. package/dist/cjs/popup-44836aaf.js +0 -103
  983. package/dist/cjs/popup-44836aaf.js.map +0 -1
  984. package/dist/cjs/scroll-76e6f5d7.js +0 -69
  985. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  986. package/dist/cjs/set-attributes_2.cjs.entry.js +0 -73
  987. package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
  988. package/dist/cjs/six-checkbox.cjs.entry.js +0 -132
  989. package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
  990. package/dist/cjs/six-menu-item.cjs.entry.js +0 -63
  991. package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
  992. package/dist/cjs/slot-bccbdb59.js +0 -53
  993. package/dist/cjs/slot-bccbdb59.js.map +0 -1
  994. package/dist/cjs/types-64878648.js +0 -17
  995. package/dist/cjs/types-64878648.js.map +0 -1
  996. package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -74
  997. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
  998. package/dist/components/set-attributes.js +0 -8
  999. package/dist/components/set-attributes.js.map +0 -1
  1000. package/dist/components/set-attributes2.js +0 -71
  1001. package/dist/components/set-attributes2.js.map +0 -1
  1002. package/dist/components/six-tag2.js +0 -74
  1003. package/dist/components/six-tag2.js.map +0 -1
  1004. package/dist/esm/event-listeners-535f3ad1.js +0 -59
  1005. package/dist/esm/event-listeners-535f3ad1.js.map +0 -1
  1006. package/dist/esm/execution-control-72cc50f4.js.map +0 -1
  1007. package/dist/esm/focus-visible-fa7129a0.js +0 -45
  1008. package/dist/esm/focus-visible-fa7129a0.js.map +0 -1
  1009. package/dist/esm/form-0b9c11cd.js +0 -18
  1010. package/dist/esm/form-control-785c5f79.js +0 -31
  1011. package/dist/esm/form-control-785c5f79.js.map +0 -1
  1012. package/dist/esm/index-5c0f6628.js.map +0 -1
  1013. package/dist/esm/modal-b1d96441.js +0 -49
  1014. package/dist/esm/modal-b1d96441.js.map +0 -1
  1015. package/dist/esm/polyfills/css-shim.js +0 -1
  1016. package/dist/esm/popover-2e72e7d8.js.map +0 -1
  1017. package/dist/esm/popup-678b8592.js +0 -98
  1018. package/dist/esm/popup-678b8592.js.map +0 -1
  1019. package/dist/esm/scroll-180b53fd.js +0 -64
  1020. package/dist/esm/set-attributes_2.entry.js +0 -68
  1021. package/dist/esm/set-attributes_2.entry.js.map +0 -1
  1022. package/dist/esm/six-checkbox.entry.js +0 -128
  1023. package/dist/esm/six-checkbox.entry.js.map +0 -1
  1024. package/dist/esm/six-menu-item.entry.js +0 -59
  1025. package/dist/esm/six-menu-item.entry.js.map +0 -1
  1026. package/dist/esm/slot-2e64df19.js +0 -48
  1027. package/dist/esm/slot-2e64df19.js.map +0 -1
  1028. package/dist/esm/types-4b10b413.js +0 -17
  1029. package/dist/esm/types-4b10b413.js.map +0 -1
  1030. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
  1031. package/dist/ui-library/p-0108fe92.entry.js +0 -2
  1032. package/dist/ui-library/p-0108fe92.entry.js.map +0 -1
  1033. package/dist/ui-library/p-03a145f5.entry.js +0 -2
  1034. package/dist/ui-library/p-03a145f5.entry.js.map +0 -1
  1035. package/dist/ui-library/p-087fdd96.entry.js +0 -2
  1036. package/dist/ui-library/p-087fdd96.entry.js.map +0 -1
  1037. package/dist/ui-library/p-09779e47.entry.js +0 -2
  1038. package/dist/ui-library/p-09779e47.entry.js.map +0 -1
  1039. package/dist/ui-library/p-097cced4.entry.js +0 -2
  1040. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  1041. package/dist/ui-library/p-0b2c6348.js.map +0 -1
  1042. package/dist/ui-library/p-0cc08e91.js.map +0 -1
  1043. package/dist/ui-library/p-0fe78f9b.js +0 -2
  1044. package/dist/ui-library/p-0fe78f9b.js.map +0 -1
  1045. package/dist/ui-library/p-18e9f8b8.entry.js +0 -2
  1046. package/dist/ui-library/p-18e9f8b8.entry.js.map +0 -1
  1047. package/dist/ui-library/p-21859bca.entry.js +0 -2
  1048. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  1049. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  1050. package/dist/ui-library/p-2761f908.js +0 -2
  1051. package/dist/ui-library/p-2761f908.js.map +0 -1
  1052. package/dist/ui-library/p-28be55f0.entry.js.map +0 -1
  1053. package/dist/ui-library/p-3929b0af.entry.js +0 -2
  1054. package/dist/ui-library/p-3929b0af.entry.js.map +0 -1
  1055. package/dist/ui-library/p-445ba5b8.entry.js +0 -2
  1056. package/dist/ui-library/p-445ba5b8.entry.js.map +0 -1
  1057. package/dist/ui-library/p-4d408fb4.js.map +0 -1
  1058. package/dist/ui-library/p-502ff3d3.entry.js +0 -2
  1059. package/dist/ui-library/p-502ff3d3.entry.js.map +0 -1
  1060. package/dist/ui-library/p-5a34c93e.entry.js +0 -2
  1061. package/dist/ui-library/p-5a34c93e.entry.js.map +0 -1
  1062. package/dist/ui-library/p-60621dc6.js.map +0 -1
  1063. package/dist/ui-library/p-63703ba3.entry.js +0 -2
  1064. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  1065. package/dist/ui-library/p-66180e89.entry.js +0 -2
  1066. package/dist/ui-library/p-66180e89.entry.js.map +0 -1
  1067. package/dist/ui-library/p-686b12ec.entry.js +0 -2
  1068. package/dist/ui-library/p-686b12ec.entry.js.map +0 -1
  1069. package/dist/ui-library/p-6d75f216.entry.js +0 -2
  1070. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  1071. package/dist/ui-library/p-71035abf.entry.js +0 -2
  1072. package/dist/ui-library/p-71035abf.entry.js.map +0 -1
  1073. package/dist/ui-library/p-724e154d.entry.js +0 -2
  1074. package/dist/ui-library/p-724e154d.entry.js.map +0 -1
  1075. package/dist/ui-library/p-72ca96e1.entry.js +0 -2
  1076. package/dist/ui-library/p-72ca96e1.entry.js.map +0 -1
  1077. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  1078. package/dist/ui-library/p-778cf804.entry.js +0 -2
  1079. package/dist/ui-library/p-778cf804.entry.js.map +0 -1
  1080. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  1081. package/dist/ui-library/p-87032e26.entry.js +0 -2
  1082. package/dist/ui-library/p-87032e26.entry.js.map +0 -1
  1083. package/dist/ui-library/p-8cf72af6.js.map +0 -1
  1084. package/dist/ui-library/p-8e0b6b7e.entry.js +0 -2
  1085. package/dist/ui-library/p-8e0b6b7e.entry.js.map +0 -1
  1086. package/dist/ui-library/p-912092c0.entry.js +0 -2
  1087. package/dist/ui-library/p-912092c0.entry.js.map +0 -1
  1088. package/dist/ui-library/p-92ca6a84.entry.js +0 -2
  1089. package/dist/ui-library/p-92ca6a84.entry.js.map +0 -1
  1090. package/dist/ui-library/p-9337cdd6.entry.js.map +0 -1
  1091. package/dist/ui-library/p-9461417e.entry.js +0 -2
  1092. package/dist/ui-library/p-9461417e.entry.js.map +0 -1
  1093. package/dist/ui-library/p-97323ad7.entry.js +0 -2
  1094. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  1095. package/dist/ui-library/p-a1d4f6cf.entry.js +0 -2
  1096. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  1097. package/dist/ui-library/p-a49ae60a.entry.js +0 -2
  1098. package/dist/ui-library/p-a49ae60a.entry.js.map +0 -1
  1099. package/dist/ui-library/p-a844cb72.entry.js +0 -2
  1100. package/dist/ui-library/p-a844cb72.entry.js.map +0 -1
  1101. package/dist/ui-library/p-ac4f4d45.js +0 -3
  1102. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  1103. package/dist/ui-library/p-afcbe9da.entry.js.map +0 -1
  1104. package/dist/ui-library/p-b3bff992.entry.js +0 -2
  1105. package/dist/ui-library/p-b3bff992.entry.js.map +0 -1
  1106. package/dist/ui-library/p-b4547fb5.entry.js +0 -2
  1107. package/dist/ui-library/p-b4547fb5.entry.js.map +0 -1
  1108. package/dist/ui-library/p-ba74863a.js.map +0 -1
  1109. package/dist/ui-library/p-baa03951.entry.js +0 -2
  1110. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  1111. package/dist/ui-library/p-bd8f8eef.entry.js +0 -2
  1112. package/dist/ui-library/p-bd8f8eef.entry.js.map +0 -1
  1113. package/dist/ui-library/p-c57f16af.entry.js +0 -2
  1114. package/dist/ui-library/p-c57f16af.entry.js.map +0 -1
  1115. package/dist/ui-library/p-c5cdba08.entry.js +0 -2
  1116. package/dist/ui-library/p-c5cdba08.entry.js.map +0 -1
  1117. package/dist/ui-library/p-c87810b0.entry.js +0 -2
  1118. package/dist/ui-library/p-c87810b0.entry.js.map +0 -1
  1119. package/dist/ui-library/p-cdcde4cd.entry.js +0 -2
  1120. package/dist/ui-library/p-cdcde4cd.entry.js.map +0 -1
  1121. package/dist/ui-library/p-d6798d35.entry.js.map +0 -1
  1122. package/dist/ui-library/p-d87a6f4d.js +0 -2
  1123. package/dist/ui-library/p-d87a6f4d.js.map +0 -1
  1124. package/dist/ui-library/p-dc3f5996.entry.js +0 -2
  1125. package/dist/ui-library/p-dc3f5996.entry.js.map +0 -1
  1126. package/dist/ui-library/p-dcd7c547.entry.js.map +0 -1
  1127. package/dist/ui-library/p-dd3c76f1.entry.js +0 -2
  1128. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  1129. package/dist/ui-library/p-e07b3f0c.entry.js +0 -2
  1130. package/dist/ui-library/p-e07b3f0c.entry.js.map +0 -1
  1131. package/dist/ui-library/p-e19a6c95.entry.js +0 -2
  1132. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  1133. package/dist/ui-library/p-e8feb81f.entry.js.map +0 -1
  1134. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  1135. package/dist/ui-library/p-ef3936e5.entry.js +0 -2
  1136. package/dist/ui-library/p-ef3936e5.entry.js.map +0 -1
  1137. package/dist/ui-library/p-f0dd77e1.entry.js +0 -2
  1138. package/dist/ui-library/p-f0dd77e1.entry.js.map +0 -1
  1139. package/readme.md +0 -156
@@ -3,21 +3,21 @@
3
3
  * To render the popup correctly we render it normally, and then assign this screenposition to the fixed popup
4
4
  */
5
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);
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
21
  }
22
22
  /*
23
23
  * For small screens the datepicker popup could be cut-off even though there might still be space within the viewport.
@@ -25,71 +25,71 @@ export function adjustPopupForHoisting(hoist, popup, inputElement, wrapper, minP
25
25
  * we should reposition the popup to use the space available.
26
26
  */
27
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);
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
57
  }
58
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;
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
64
  }
65
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;
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.minHeight = 'fit-content';
72
+ return popupDimensions;
73
73
  }
74
74
  /*
75
75
  * The position of the hoisted datepicker needs to be correctly calculated since the position changes to fixed.
76
76
  * Thus if the user scrolls or adjusts the screen size we need to recalculate the datepicker position.
77
77
  */
78
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
- }
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
94
  }
95
95
  //# sourceMappingURL=popup.js.map
@@ -1 +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
+ {"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.minHeight = 'fit-content';\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,48 +1,48 @@
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
5
5
  // without premature unlocking.
6
6
  //
7
7
  export function lockBodyScrolling(lockingEl) {
8
- locks.add(lockingEl);
9
- document.body.classList.add('six-scroll-lock');
8
+ locks.add(lockingEl);
9
+ document.body.classList.add('six-scroll-lock');
10
10
  }
11
11
  //
12
12
  // Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.
13
13
  //
14
14
  export function unlockBodyScrolling(lockingEl) {
15
- locks.delete(lockingEl);
16
- if (locks.size === 0) {
17
- document.body.classList.remove('six-scroll-lock');
18
- }
15
+ locks.delete(lockingEl);
16
+ if (locks.size === 0) {
17
+ document.body.classList.remove('six-scroll-lock');
18
+ }
19
19
  }
20
20
  //
21
21
  // Scrolls an element into view of its container. If the element is already in view, nothing will happen.
22
22
  //
23
23
  export function scrollIntoView(element, container, direction = 'vertical', behavior = 'smooth') {
24
- const offset = getOffset(element, container);
25
- const offsetTop = offset.top + container.scrollTop;
26
- const offsetLeft = offset.left + container.scrollLeft;
27
- const minX = container.scrollLeft;
28
- const maxX = container.scrollLeft + container.offsetWidth;
29
- const minY = container.scrollTop;
30
- const maxY = container.scrollTop + container.offsetHeight;
31
- if (direction === 'horizontal' || direction === 'both') {
32
- if (offsetLeft < minX) {
33
- container.scrollTo({ left: offsetLeft, behavior });
34
- }
35
- else if (offsetLeft + element.clientWidth > maxX) {
36
- container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });
37
- }
38
- }
39
- if (direction === 'vertical' || direction === 'both') {
40
- if (offsetTop < minY) {
41
- container.scrollTo({ top: offsetTop, behavior });
24
+ const offset = getOffset(element, container);
25
+ const offsetTop = offset.top + container.scrollTop;
26
+ const offsetLeft = offset.left + container.scrollLeft;
27
+ const minX = container.scrollLeft;
28
+ const maxX = container.scrollLeft + container.offsetWidth;
29
+ const minY = container.scrollTop;
30
+ const maxY = container.scrollTop + container.offsetHeight;
31
+ if (direction === 'horizontal' || direction === 'both') {
32
+ if (offsetLeft < minX) {
33
+ container.scrollTo({ left: offsetLeft, behavior });
34
+ }
35
+ else if (offsetLeft + element.clientWidth > maxX) {
36
+ container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });
37
+ }
42
38
  }
43
- else if (offsetTop + element.clientHeight > maxY) {
44
- container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });
39
+ if (direction === 'vertical' || direction === 'both') {
40
+ if (offsetTop < minY) {
41
+ container.scrollTo({ top: offsetTop, behavior });
42
+ }
43
+ else if (offsetTop + element.clientHeight > maxY) {
44
+ container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });
45
+ }
45
46
  }
46
- }
47
47
  }
48
48
  //# sourceMappingURL=scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/utils/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAExB,EAAE;AACF,qHAAqH;AACrH,+BAA+B;AAC/B,EAAE;AACF,MAAM,UAAU,iBAAiB,CAAC,SAAsB;EACtD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;EACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACjD,CAAC;AAED,EAAE;AACF,oHAAoH;AACpH,EAAE;AACF,MAAM,UAAU,mBAAmB,CAAC,SAAsB;EACxD,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;EAExB,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;IACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;GACnD;AACH,CAAC;AAED,EAAE;AACF,yGAAyG;AACzG,EAAE;AACF,MAAM,UAAU,cAAc,CAC5B,OAAoB,EACpB,SAAsB,EACtB,YAAgD,UAAU,EAC1D,WAA8B,QAAQ;EAEtC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;EAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;EACnD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;EACtD,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;EAClC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC;EAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;EACjC,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;EAE1D,IAAI,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,MAAM,EAAE;IACtD,IAAI,UAAU,GAAG,IAAI,EAAE;MACrB,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;KACpD;SAAM,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,EAAE;MAClD,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;KAClG;GACF;EAED,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE;IACpD,IAAI,SAAS,GAAG,IAAI,EAAE;MACpB,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;KAClD;SAAM,IAAI,SAAS,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,EAAE;MAClD,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;KAClG;GACF;AACH,CAAC","sourcesContent":["import { getOffset } from './offset';\n\nconst locks = new Set();\n\n//\n// Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n// without premature unlocking.\n//\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add('six-scroll-lock');\n}\n\n//\n// Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n//\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove('six-scroll-lock');\n }\n}\n\n//\n// Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n//\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: 'horizontal' | 'vertical' | 'both' = 'vertical',\n behavior: 'smooth' | 'auto' = 'smooth'\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === 'horizontal' || direction === 'both') {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === 'vertical' || direction === 'both') {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n"]}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/utils/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAExB,EAAE;AACF,qHAAqH;AACrH,+BAA+B;AAC/B,EAAE;AACF,MAAM,UAAU,iBAAiB,CAAC,SAAsB;IACtD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACjD,CAAC;AAED,EAAE;AACF,oHAAoH;AACpH,EAAE;AACF,MAAM,UAAU,mBAAmB,CAAC,SAAsB;IACxD,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAExB,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;QACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;KACnD;AACH,CAAC;AAED,EAAE;AACF,yGAAyG;AACzG,EAAE;AACF,MAAM,UAAU,cAAc,CAC5B,OAAoB,EACpB,SAAsB,EACtB,YAAgD,UAAU,EAC1D,WAA8B,QAAQ;IAEtC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;IACtD,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;IAClC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC;IAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;IACjC,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;IAE1D,IAAI,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,MAAM,EAAE;QACtD,IAAI,UAAU,GAAG,IAAI,EAAE;YACrB,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;SACpD;aAAM,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,EAAE;YAClD,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;SAClG;KACF;IAED,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE;QACpD,IAAI,SAAS,GAAG,IAAI,EAAE;YACpB,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;SAClD;aAAM,IAAI,SAAS,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,EAAE;YAClD,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;SAClG;KACF;AACH,CAAC","sourcesContent":["import { getOffset } from './offset';\n\nconst locks = new Set();\n\n//\n// Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n// without premature unlocking.\n//\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add('six-scroll-lock');\n}\n\n//\n// Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n//\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove('six-scroll-lock');\n }\n}\n\n//\n// Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n//\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: 'horizontal' | 'vertical' | 'both' = 'vertical',\n behavior: 'smooth' | 'auto' = 'smooth'\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === 'horizontal' || direction === 'both') {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === 'vertical' || direction === 'both') {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n"]}
@@ -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"]}
@@ -3,43 +3,42 @@
3
3
  // string. This is useful because we can't use slot.textContent as an alternative.
4
4
  //
5
5
  export function getTextContent(slot) {
6
- const nodes = slot != null ? slot.assignedNodes({ flatten: true }) : [];
7
- let text = '';
8
- [...nodes].map((node) => {
9
- if (node.nodeType === Node.TEXT_NODE) {
10
- text += node.textContent;
11
- }
12
- });
13
- return text;
6
+ const nodes = slot != null ? slot.assignedNodes({ flatten: true }) : [];
7
+ let text = '';
8
+ [...nodes].map((node) => {
9
+ if (node.nodeType === Node.TEXT_NODE) {
10
+ text += node.textContent;
11
+ }
12
+ });
13
+ return text;
14
14
  }
15
15
  //
16
16
  // Determines whether an element has a slot. If name is specified, the function will look for a corresponding named
17
17
  // slot, otherwise it will look for a "default" slot (e.g. a non-empty text node or an element with no slot attribute).
18
18
  //
19
19
  export function hasSlot(el, name) {
20
- // Look for a named slot
21
- if (name != null && name !== '') {
22
- return el.querySelector(`[slot="${name}"]`) !== null;
23
- }
24
- // Look for a default slot
25
- return Array.from(el.childNodes).some((node) => {
26
- var _a;
27
- if (node.nodeType === node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== '') {
28
- return true;
29
- }
30
- if (node.nodeType === node.ELEMENT_NODE) {
31
- const el = node;
32
- if (!el.hasAttribute('slot')) {
33
- return true;
34
- }
20
+ // Look for a named slot
21
+ if (name != null && name !== '') {
22
+ return el.querySelector(`[slot="${name}"]`) !== null;
35
23
  }
36
- return false;
37
- });
24
+ // Look for a default slot
25
+ return Array.from(el.childNodes).some((node) => {
26
+ var _a;
27
+ if (node.nodeType === node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== '') {
28
+ return true;
29
+ }
30
+ if (node.nodeType === node.ELEMENT_NODE) {
31
+ const el = node;
32
+ if (!el.hasAttribute('slot')) {
33
+ return true;
34
+ }
35
+ }
36
+ return false;
37
+ });
38
38
  }
39
- export const getSlotChildren = (el) => { var _a; return (_a = el.querySelector('slot')) === null || _a === void 0 ? void 0 : _a.assignedElements({ flatten: true }); };
40
39
  export function getSlot(element, slotName) {
41
- if (element == null)
42
- return null;
43
- return element.querySelector(`[slot="${slotName}"]`);
40
+ if (element == null)
41
+ return null;
42
+ return element.querySelector(`[slot="${slotName}"]`);
44
43
  }
45
44
  //# sourceMappingURL=slot.js.map
@@ -1 +1 @@
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"]}
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;IACnD,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;YACpC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;SAC1B;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,EAAE;AACF,mHAAmH;AACnH,uHAAuH;AACvH,EAAE;AACF,MAAM,UAAU,OAAO,CAAC,EAAe,EAAE,IAAa;IACpD,wBAAwB;IACxB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;QAC/B,OAAO,EAAE,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;KACtD;IAED,0BAA0B;IAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,EAAE,MAAK,EAAE,EAAE;YACvE,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;YACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;YAC/B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAsC,EAAE,QAAgB;IAC9E,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,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 function getSlot(element: ParentNode | null | undefined, slotName: string): HTMLElement | null {\n if (element == null) return null;\n return element.querySelector(`[slot=\"${slotName}\"]`);\n}\n"]}
@@ -2,15 +2,15 @@
2
2
  // Determines if the browser supports focus({ preventScroll })
3
3
  //
4
4
  export const isPreventScrollSupported = () => {
5
- let supported = false;
6
- const element = document.createElement('div');
7
- element.focus &&
8
- element.focus({
9
- get preventScroll() {
10
- supported = true;
11
- return false;
12
- },
13
- });
14
- return supported;
5
+ let supported = false;
6
+ const element = document.createElement('div');
7
+ element.focus &&
8
+ element.focus({
9
+ get preventScroll() {
10
+ supported = true;
11
+ return false;
12
+ },
13
+ });
14
+ return supported;
15
15
  };
16
16
  //# sourceMappingURL=support.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/utils/support.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,8DAA8D;AAC9D,EAAE;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;EAC3C,IAAI,SAAS,GAAG,KAAK,CAAC;EAEtB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;EAC9C,OAAO,CAAC,KAAK;IACX,OAAO,CAAC,KAAK,CAAC;MACZ,IAAI,aAAa;QACf,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO,KAAK,CAAC;MACf,CAAC;KACF,CAAC,CAAC;EAEL,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC","sourcesContent":["//\n// Determines if the browser supports focus({ preventScroll })\n//\nexport const isPreventScrollSupported = () => {\n let supported = false;\n\n const element = document.createElement('div');\n element.focus &&\n element.focus({\n get preventScroll() {\n supported = true;\n return false;\n },\n });\n\n return supported;\n};\n"]}
1
+ {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/utils/support.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,8DAA8D;AAC9D,EAAE;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,KAAK;QACX,OAAO,CAAC,KAAK,CAAC;YACZ,IAAI,aAAa;gBACf,SAAS,GAAG,IAAI,CAAC;gBACjB,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC,CAAC;IAEL,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC","sourcesContent":["//\n// Determines if the browser supports focus({ preventScroll })\n//\nexport const isPreventScrollSupported = () => {\n let supported = false;\n\n const element = document.createElement('div');\n element.focus &&\n element.focus({\n get preventScroll() {\n supported = true;\n return false;\n },\n });\n\n return supported;\n};\n"]}
@@ -1,23 +1,23 @@
1
1
  export function isTabbable(el) {
2
- const tabIndex = el.tabIndex;
3
- return tabIndex > -1;
2
+ const tabIndex = el.tabIndex;
3
+ return tabIndex > -1;
4
4
  }
5
5
  export function getNearestTabbableElement(el) {
6
- // Check the element
7
- if (isTabbable(el)) {
8
- return el;
9
- }
10
- // Check the element's shadow root
11
- if (el.shadowRoot != null) {
12
- const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e));
13
- if (tabbableShadowChild != null) {
14
- return tabbableShadowChild;
6
+ // Check the element
7
+ if (isTabbable(el)) {
8
+ return el;
15
9
  }
16
- }
17
- // Check the element's children
18
- if (el.children != null) {
19
- return [...el.children].map((e) => getNearestTabbableElement(e)).at(0);
20
- }
21
- return undefined;
10
+ // Check the element's shadow root
11
+ if (el.shadowRoot != null) {
12
+ const tabbableShadowChild = [...el.shadowRoot.children].find((e) => isTabbable(e));
13
+ if (tabbableShadowChild != null) {
14
+ return tabbableShadowChild;
15
+ }
16
+ }
17
+ // Check the element's children
18
+ if (el.children != null) {
19
+ return [...el.children].map((e) => getNearestTabbableElement(e)).at(0);
20
+ }
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,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"]}
1
+ {"version":3,"file":"tabbable.js","sourceRoot":"","sources":["../../src/utils/tabbable.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,EAAe;IACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;IAC7B,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EAAe;IACvD,oBAAoB;IACpB,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE;QAClB,OAAO,EAAE,CAAC;KACX;IAED,kCAAkC;IAClC,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE;QACzB,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;QACjH,IAAI,mBAAmB,IAAI,IAAI,EAAE;YAC/B,OAAO,mBAAmB,CAAC;SAC5B;KACF;IAED,+BAA+B;IAC/B,IAAI,EAAE,CAAC,QAAQ,IAAI,IAAI,EAAE;QACvB,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;KACvF;IAED,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"]}