@six-group/ui-library 3.0.0-beta.1.7 → 3.0.0-beta.1.8

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 (367) hide show
  1. package/dist/cjs/{event-listeners-4a8d66d5.js → event-listeners-74715e62.js} +38 -38
  2. package/dist/cjs/{execution-control-3bc9c7c4.js → execution-control-46f388e0.js} +35 -35
  3. package/dist/cjs/{focus-visible-b08d956f.js → focus-visible-0b352c74.js} +40 -40
  4. package/dist/cjs/{form-control-9e4dffd1.js → form-control-866bbece.js} +25 -25
  5. package/dist/cjs/{modal-a9679ddf.js → modal-48d42228.js} +41 -41
  6. package/dist/cjs/{popover-e3781f5a.js → popover-1d2a037c.js} +95 -95
  7. package/dist/cjs/{scroll-5b8676ba.js → scroll-76e6f5d7.js} +57 -57
  8. package/dist/cjs/set-attributes_2.cjs.entry.js +57 -57
  9. package/dist/cjs/six-alert.cjs.entry.js +131 -131
  10. package/dist/cjs/six-avatar.cjs.entry.js +28 -28
  11. package/dist/cjs/six-badge.cjs.entry.js +26 -26
  12. package/dist/cjs/six-button.cjs.entry.js +97 -97
  13. package/dist/cjs/six-card.cjs.entry.js +8 -8
  14. package/dist/cjs/six-checkbox.cjs.entry.js +152 -152
  15. package/dist/cjs/six-datepicker.cjs.entry.js +1189 -1189
  16. package/dist/cjs/six-details.cjs.entry.js +139 -139
  17. package/dist/cjs/six-dialog.cjs.entry.js +152 -152
  18. package/dist/cjs/six-drawer.cjs.entry.js +174 -174
  19. package/dist/cjs/six-dropdown_3.cjs.entry.js +728 -728
  20. package/dist/cjs/six-error-page.cjs.entry.js +94 -94
  21. package/dist/cjs/six-file-list-item.cjs.entry.js +38 -38
  22. package/dist/cjs/six-file-list.cjs.entry.js +8 -8
  23. package/dist/cjs/six-file-upload.cjs.entry.js +96 -96
  24. package/dist/cjs/six-footer.cjs.entry.js +8 -8
  25. package/dist/cjs/six-form.cjs.entry.js +219 -219
  26. package/dist/cjs/six-group-label.cjs.entry.js +46 -46
  27. package/dist/cjs/six-header.cjs.entry.js +149 -149
  28. package/dist/cjs/six-icon-button.cjs.entry.js +33 -33
  29. package/dist/cjs/six-icon.cjs.entry.js +24 -24
  30. package/dist/cjs/six-input.cjs.entry.js +230 -230
  31. package/dist/cjs/six-item-picker.cjs.entry.js +361 -361
  32. package/dist/cjs/six-language-switcher.cjs.entry.js +52 -52
  33. package/dist/cjs/six-layout-grid.cjs.entry.js +19 -19
  34. package/dist/cjs/six-main-container.cjs.entry.js +11 -11
  35. package/dist/cjs/six-menu-divider.cjs.entry.js +8 -8
  36. package/dist/cjs/six-menu-label.cjs.entry.js +8 -8
  37. package/dist/cjs/six-picto.cjs.entry.js +15 -15
  38. package/dist/cjs/six-progress-bar.cjs.entry.js +17 -17
  39. package/dist/cjs/six-progress-ring.cjs.entry.js +31 -31
  40. package/dist/cjs/six-radio.cjs.entry.js +121 -121
  41. package/dist/cjs/six-range.cjs.entry.js +198 -198
  42. package/dist/cjs/six-root.cjs.entry.js +34 -34
  43. package/dist/cjs/six-search-field.cjs.entry.js +43 -43
  44. package/dist/cjs/six-select.cjs.entry.js +447 -447
  45. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +42 -42
  46. package/dist/cjs/six-sidebar-item.cjs.entry.js +18 -18
  47. package/dist/cjs/six-sidebar.cjs.entry.js +171 -171
  48. package/dist/cjs/six-spinner.cjs.entry.js +16 -16
  49. package/dist/cjs/six-switch.cjs.entry.js +100 -100
  50. package/dist/cjs/six-tab-group.cjs.entry.js +226 -226
  51. package/dist/cjs/six-tab-panel.cjs.entry.js +17 -17
  52. package/dist/cjs/six-tab.cjs.entry.js +42 -42
  53. package/dist/cjs/six-table-cell_4.cjs.entry.js +70 -70
  54. package/dist/cjs/six-table.cjs.entry.js +145 -145
  55. package/dist/cjs/six-tag.cjs.entry.js +40 -40
  56. package/dist/cjs/six-textarea.cjs.entry.js +211 -211
  57. package/dist/cjs/six-tile.cjs.entry.js +89 -89
  58. package/dist/cjs/six-timepicker.cjs.entry.js +489 -489
  59. package/dist/cjs/{six-timepicker.types-c58cc88b.js → six-timepicker.types-c19ebff3.js} +43 -43
  60. package/dist/cjs/six-tooltip.cjs.entry.js +172 -172
  61. package/dist/cjs/{slot-8abe833c.js → slot-ad537f24.js} +42 -42
  62. package/dist/cjs/{types-65e5c95b.js → types-581e8ff0.js} +12 -12
  63. package/dist/cjs/{types-0c28e484.js → types-64878648.js} +12 -12
  64. package/dist/collection/components/six-alert/six-alert.js +366 -366
  65. package/dist/collection/components/six-avatar/six-avatar.js +131 -131
  66. package/dist/collection/components/six-badge/six-badge.js +101 -101
  67. package/dist/collection/components/six-button/six-button.js +466 -466
  68. package/dist/collection/components/six-card/six-card.js +21 -21
  69. package/dist/collection/components/six-checkbox/six-checkbox.js +550 -550
  70. package/dist/collection/components/six-datepicker/components/day-selection.js +13 -13
  71. package/dist/collection/components/six-datepicker/components/month-selection.js +12 -12
  72. package/dist/collection/components/six-datepicker/components/year-selection.js +10 -10
  73. package/dist/collection/components/six-datepicker/six-date-formats.js +23 -23
  74. package/dist/collection/components/six-datepicker/six-datepicker.js +1343 -1343
  75. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +16 -16
  76. package/dist/collection/components/six-details/six-details.js +432 -432
  77. package/dist/collection/components/six-dialog/six-dialog.js +401 -401
  78. package/dist/collection/components/six-drawer/six-drawer.js +458 -458
  79. package/dist/collection/components/six-dropdown/six-dropdown.js +939 -939
  80. package/dist/collection/components/six-error-page/six-error-page.js +199 -199
  81. package/dist/collection/components/six-file-list/six-file-list.js +20 -20
  82. package/dist/collection/components/six-file-list-item/six-file-list-item.js +203 -203
  83. package/dist/collection/components/six-file-upload/six-file-upload.js +272 -272
  84. package/dist/collection/components/six-footer/six-footer.js +21 -21
  85. package/dist/collection/components/six-form/six-form.js +408 -408
  86. package/dist/collection/components/six-group-label/six-group-label.js +166 -166
  87. package/dist/collection/components/six-header/six-header.js +420 -420
  88. package/dist/collection/components/six-icon/six-icon.js +77 -77
  89. package/dist/collection/components/six-icon-button/six-icon-button.js +142 -142
  90. package/dist/collection/components/six-input/six-input.js +1141 -1141
  91. package/dist/collection/components/six-item-picker/six-item-picker.js +688 -688
  92. package/dist/collection/components/six-item-picker/types.js +13 -13
  93. package/dist/collection/components/six-language-switcher/six-language-switcher.js +128 -128
  94. package/dist/collection/components/six-layout-grid/six-layout-grid.js +52 -52
  95. package/dist/collection/components/six-main-container/six-main-container.js +53 -53
  96. package/dist/collection/components/six-menu/six-menu.js +406 -406
  97. package/dist/collection/components/six-menu-divider/six-menu-divider.js +22 -22
  98. package/dist/collection/components/six-menu-item/six-menu-item.js +177 -177
  99. package/dist/collection/components/six-menu-label/six-menu-label.js +25 -25
  100. package/dist/collection/components/six-picto/six-picto.js +50 -50
  101. package/dist/collection/components/six-progress-bar/six-progress-bar.js +77 -77
  102. package/dist/collection/components/six-progress-ring/six-progress-ring.js +111 -111
  103. package/dist/collection/components/six-radio/six-radio.js +410 -410
  104. package/dist/collection/components/six-range/six-range.js +620 -620
  105. package/dist/collection/components/six-root/six-root.js +167 -167
  106. package/dist/collection/components/six-search-field/six-search-field.js +171 -171
  107. package/dist/collection/components/six-select/six-select.js +1105 -1105
  108. package/dist/collection/components/six-sidebar/six-sidebar.js +455 -455
  109. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +89 -89
  110. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +158 -158
  111. package/dist/collection/components/six-spinner/six-spinner.js +55 -55
  112. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +46 -46
  113. package/dist/collection/components/six-switch/six-switch.js +393 -393
  114. package/dist/collection/components/six-tab/six-tab.js +198 -198
  115. package/dist/collection/components/six-tab-group/six-tab-group.js +362 -362
  116. package/dist/collection/components/six-tab-panel/six-tab-panel.js +75 -75
  117. package/dist/collection/components/six-table/six-table.js +209 -209
  118. package/dist/collection/components/six-table/test/helpers.js +13 -13
  119. package/dist/collection/components/six-table/types.js +8 -8
  120. package/dist/collection/components/six-table/util/filter-by.js +34 -34
  121. package/dist/collection/components/six-table/util/from-data.js +33 -33
  122. package/dist/collection/components/six-table/util/is.js +3 -3
  123. package/dist/collection/components/six-table/util/quick-filter-by.js +13 -13
  124. package/dist/collection/components/six-table/util/sort-by.js +25 -25
  125. package/dist/collection/components/six-table-cell/six-table-cell.js +21 -21
  126. package/dist/collection/components/six-table-header/six-table-header.js +21 -21
  127. package/dist/collection/components/six-table-header-cell/get-next-state.js +7 -7
  128. package/dist/collection/components/six-table-header-cell/icons.js +12 -12
  129. package/dist/collection/components/six-table-header-cell/six-table-header-cell.js +174 -174
  130. package/dist/collection/components/six-table-header-cell/types.js +13 -13
  131. package/dist/collection/components/six-table-header-cell/util/create-model.js +6 -6
  132. package/dist/collection/components/six-table-header-cell/util/get-next-state.js +7 -7
  133. package/dist/collection/components/six-table-row/six-table-row.js +21 -21
  134. package/dist/collection/components/six-tag/six-tag.js +157 -157
  135. package/dist/collection/components/six-textarea/six-textarea.js +912 -912
  136. package/dist/collection/components/six-tile/six-tile.js +315 -315
  137. package/dist/collection/components/six-timepicker/six-time-format.js +14 -14
  138. package/dist/collection/components/six-timepicker/six-timepicker.js +980 -980
  139. package/dist/collection/components/six-timepicker/six-timepicker.types.js +40 -40
  140. package/dist/collection/components/six-tooltip/six-tooltip.js +435 -435
  141. package/dist/collection/functional-components/form-control/form-control.js +28 -28
  142. package/dist/collection/index.js +1 -1
  143. package/dist/collection/testUtil/delay.js +3 -3
  144. package/dist/collection/utils/as-array.js +1 -1
  145. package/dist/collection/utils/date-util.js +712 -712
  146. package/dist/collection/utils/event-listeners.js +39 -39
  147. package/dist/collection/utils/execution-control.js +38 -38
  148. package/dist/collection/utils/focus-visible.js +41 -41
  149. package/dist/collection/utils/matchers.js +2 -2
  150. package/dist/collection/utils/modal.js +28 -28
  151. package/dist/collection/utils/offset.js +13 -13
  152. package/dist/collection/utils/popover.js +113 -113
  153. package/dist/collection/utils/scroll.js +47 -47
  154. package/dist/collection/utils/slot.js +59 -59
  155. package/dist/collection/utils/support.js +15 -15
  156. package/dist/collection/utils/tabbable.js +22 -22
  157. package/dist/collection/utils/testing.js +38 -38
  158. package/dist/collection/utils/time.util.js +74 -74
  159. package/dist/collection/utils/type-check.js +5 -5
  160. package/dist/collection/utils/types.js +1 -1
  161. package/dist/collection/wrappers/set-attributes/set-attributes.js +68 -68
  162. package/dist/components.json +1 -1
  163. package/dist/custom-elements/index.js +7595 -7595
  164. package/dist/esm/{event-listeners-1bef934e.js → event-listeners-570a24ea.js} +38 -38
  165. package/dist/esm/{execution-control-235f5126.js → execution-control-1a60d709.js} +35 -35
  166. package/dist/esm/{focus-visible-4b7946aa.js → focus-visible-97933ea9.js} +40 -40
  167. package/dist/esm/{form-control-17478ad2.js → form-control-24f446af.js} +25 -25
  168. package/dist/esm/{modal-e5709f6b.js → modal-5ebdc320.js} +41 -41
  169. package/dist/esm/polyfills/core-js.js +0 -0
  170. package/dist/esm/polyfills/dom.js +0 -0
  171. package/dist/esm/polyfills/es5-html-element.js +0 -0
  172. package/dist/esm/polyfills/index.js +0 -0
  173. package/dist/esm/polyfills/system.js +0 -0
  174. package/dist/esm/{popover-5a51f84d.js → popover-1c7a1139.js} +95 -95
  175. package/dist/esm/{scroll-99b214c2.js → scroll-180b53fd.js} +57 -57
  176. package/dist/esm/set-attributes_2.entry.js +57 -57
  177. package/dist/esm/six-alert.entry.js +131 -131
  178. package/dist/esm/six-avatar.entry.js +28 -28
  179. package/dist/esm/six-badge.entry.js +26 -26
  180. package/dist/esm/six-button.entry.js +97 -97
  181. package/dist/esm/six-card.entry.js +8 -8
  182. package/dist/esm/six-checkbox.entry.js +152 -152
  183. package/dist/esm/six-datepicker.entry.js +1189 -1189
  184. package/dist/esm/six-details.entry.js +139 -139
  185. package/dist/esm/six-dialog.entry.js +152 -152
  186. package/dist/esm/six-drawer.entry.js +174 -174
  187. package/dist/esm/six-dropdown_3.entry.js +728 -728
  188. package/dist/esm/six-error-page.entry.js +94 -94
  189. package/dist/esm/six-file-list-item.entry.js +38 -38
  190. package/dist/esm/six-file-list.entry.js +8 -8
  191. package/dist/esm/six-file-upload.entry.js +96 -96
  192. package/dist/esm/six-footer.entry.js +8 -8
  193. package/dist/esm/six-form.entry.js +219 -219
  194. package/dist/esm/six-group-label.entry.js +46 -46
  195. package/dist/esm/six-header.entry.js +149 -149
  196. package/dist/esm/six-icon-button.entry.js +33 -33
  197. package/dist/esm/six-icon.entry.js +24 -24
  198. package/dist/esm/six-input.entry.js +230 -230
  199. package/dist/esm/six-item-picker.entry.js +361 -361
  200. package/dist/esm/six-language-switcher.entry.js +52 -52
  201. package/dist/esm/six-layout-grid.entry.js +19 -19
  202. package/dist/esm/six-main-container.entry.js +11 -11
  203. package/dist/esm/six-menu-divider.entry.js +8 -8
  204. package/dist/esm/six-menu-label.entry.js +8 -8
  205. package/dist/esm/six-picto.entry.js +15 -15
  206. package/dist/esm/six-progress-bar.entry.js +17 -17
  207. package/dist/esm/six-progress-ring.entry.js +31 -31
  208. package/dist/esm/six-radio.entry.js +121 -121
  209. package/dist/esm/six-range.entry.js +198 -198
  210. package/dist/esm/six-root.entry.js +34 -34
  211. package/dist/esm/six-search-field.entry.js +43 -43
  212. package/dist/esm/six-select.entry.js +447 -447
  213. package/dist/esm/six-sidebar-item-group.entry.js +42 -42
  214. package/dist/esm/six-sidebar-item.entry.js +18 -18
  215. package/dist/esm/six-sidebar.entry.js +171 -171
  216. package/dist/esm/six-spinner.entry.js +16 -16
  217. package/dist/esm/six-switch.entry.js +100 -100
  218. package/dist/esm/six-tab-group.entry.js +226 -226
  219. package/dist/esm/six-tab-panel.entry.js +17 -17
  220. package/dist/esm/six-tab.entry.js +42 -42
  221. package/dist/esm/six-table-cell_4.entry.js +70 -70
  222. package/dist/esm/six-table.entry.js +145 -145
  223. package/dist/esm/six-tag.entry.js +40 -40
  224. package/dist/esm/six-textarea.entry.js +211 -211
  225. package/dist/esm/six-tile.entry.js +89 -89
  226. package/dist/esm/six-timepicker.entry.js +489 -489
  227. package/dist/esm/{six-timepicker.types-cd6bac03.js → six-timepicker.types-e161a447.js} +43 -43
  228. package/dist/esm/six-tooltip.entry.js +172 -172
  229. package/dist/esm/{slot-5253e199.js → slot-6f3984c7.js} +42 -42
  230. package/dist/esm/{types-a37c1695.js → types-4b10b413.js} +12 -12
  231. package/dist/esm/{types-33d15673.js → types-ed860f7c.js} +12 -12
  232. package/dist/types/components/six-alert/six-alert.d.ts +60 -60
  233. package/dist/types/components/six-avatar/six-avatar.d.ts +27 -27
  234. package/dist/types/components/six-badge/six-badge.d.ts +20 -20
  235. package/dist/types/components/six-button/six-button.d.ts +69 -69
  236. package/dist/types/components/six-card/six-card.d.ts +9 -9
  237. package/dist/types/components/six-checkbox/six-checkbox.d.ts +86 -86
  238. package/dist/types/components/six-datepicker/components/day-selection.d.ts +5 -5
  239. package/dist/types/components/six-datepicker/components/month-selection.d.ts +5 -5
  240. package/dist/types/components/six-datepicker/components/year-selection.d.ts +5 -5
  241. package/dist/types/components/six-datepicker/six-date-formats.d.ts +22 -22
  242. package/dist/types/components/six-datepicker/six-datepicker.d.ts +214 -214
  243. package/dist/types/components/six-datepicker/test/six-datepicker.test-helpers.d.ts +1 -1
  244. package/dist/types/components/six-details/six-details.d.ts +61 -61
  245. package/dist/types/components/six-dialog/six-dialog.d.ts +75 -75
  246. package/dist/types/components/six-drawer/six-drawer.d.ts +82 -82
  247. package/dist/types/components/six-dropdown/six-dropdown.d.ts +140 -140
  248. package/dist/types/components/six-error-page/six-error-page.d.ts +27 -27
  249. package/dist/types/components/six-file-list/six-file-list.d.ts +8 -8
  250. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +35 -35
  251. package/dist/types/components/six-file-upload/six-file-upload.d.ts +42 -42
  252. package/dist/types/components/six-footer/six-footer.d.ts +9 -9
  253. package/dist/types/components/six-form/six-form.d.ts +69 -69
  254. package/dist/types/components/six-group-label/six-group-label.d.ts +37 -37
  255. package/dist/types/components/six-header/six-header.d.ts +90 -90
  256. package/dist/types/components/six-icon/six-icon.d.ts +13 -13
  257. package/dist/types/components/six-icon-button/six-icon-button.d.ts +28 -28
  258. package/dist/types/components/six-input/six-input.d.ts +165 -165
  259. package/dist/types/components/six-item-picker/six-item-picker.d.ts +106 -106
  260. package/dist/types/components/six-item-picker/types.d.ts +11 -11
  261. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +25 -25
  262. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +14 -14
  263. package/dist/types/components/six-main-container/six-main-container.d.ts +16 -16
  264. package/dist/types/components/six-menu/six-menu.d.ts +81 -81
  265. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +11 -11
  266. package/dist/types/components/six-menu-item/six-menu-item.d.ts +36 -36
  267. package/dist/types/components/six-menu-label/six-menu-label.d.ts +13 -13
  268. package/dist/types/components/six-picto/six-picto.d.ts +14 -14
  269. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +19 -19
  270. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +24 -24
  271. package/dist/types/components/six-radio/six-radio.d.ts +66 -66
  272. package/dist/types/components/six-range/six-range.d.ts +101 -101
  273. package/dist/types/components/six-root/six-root.d.ts +34 -34
  274. package/dist/types/components/six-search-field/six-search-field.d.ts +32 -32
  275. package/dist/types/components/six-select/six-select.d.ts +163 -163
  276. package/dist/types/components/six-sidebar/six-sidebar.d.ts +55 -55
  277. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +15 -15
  278. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +26 -26
  279. package/dist/types/components/six-spinner/six-spinner.d.ts +15 -15
  280. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +6 -6
  281. package/dist/types/components/six-switch/six-switch.d.ts +62 -62
  282. package/dist/types/components/six-tab/six-tab.d.ts +35 -35
  283. package/dist/types/components/six-tab-group/six-tab-group.d.ts +62 -62
  284. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +19 -19
  285. package/dist/types/components/six-table/six-table.d.ts +30 -30
  286. package/dist/types/components/six-table/test/helpers.d.ts +2 -2
  287. package/dist/types/components/six-table/types.d.ts +33 -33
  288. package/dist/types/components/six-table/util/filter-by.d.ts +2 -2
  289. package/dist/types/components/six-table/util/from-data.d.ts +8 -8
  290. package/dist/types/components/six-table/util/is.d.ts +3 -3
  291. package/dist/types/components/six-table/util/quick-filter-by.d.ts +2 -2
  292. package/dist/types/components/six-table/util/sort-by.d.ts +2 -2
  293. package/dist/types/components/six-table-cell/six-table-cell.d.ts +9 -9
  294. package/dist/types/components/six-table-header/six-table-header.d.ts +9 -9
  295. package/dist/types/components/six-table-header-cell/get-next-state.d.ts +2 -2
  296. package/dist/types/components/six-table-header-cell/icons.d.ts +3 -3
  297. package/dist/types/components/six-table-header-cell/six-table-header-cell.d.ts +32 -32
  298. package/dist/types/components/six-table-header-cell/types.d.ts +11 -11
  299. package/dist/types/components/six-table-header-cell/util/create-model.d.ts +4 -4
  300. package/dist/types/components/six-table-header-cell/util/get-next-state.d.ts +3 -3
  301. package/dist/types/components/six-table-row/six-table-row.d.ts +9 -9
  302. package/dist/types/components/six-tag/six-tag.d.ts +30 -30
  303. package/dist/types/components/six-textarea/six-textarea.d.ts +134 -134
  304. package/dist/types/components/six-tile/six-tile.d.ts +40 -40
  305. package/dist/types/components/six-timepicker/six-time-format.d.ts +13 -13
  306. package/dist/types/components/six-timepicker/six-timepicker.d.ts +184 -184
  307. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +36 -36
  308. package/dist/types/components/six-tooltip/six-tooltip.d.ts +72 -72
  309. package/dist/types/functional-components/form-control/form-control.d.ts +34 -34
  310. package/dist/types/index.d.ts +1 -1
  311. package/dist/types/testUtil/delay.d.ts +1 -1
  312. package/dist/types/utils/as-array.d.ts +1 -1
  313. package/dist/types/utils/date-util.d.ts +194 -194
  314. package/dist/types/utils/event-listeners.d.ts +15 -15
  315. package/dist/types/utils/execution-control.d.ts +26 -26
  316. package/dist/types/utils/focus-visible.d.ts +6 -6
  317. package/dist/types/utils/matchers.d.ts +2 -2
  318. package/dist/types/utils/modal.d.ts +13 -13
  319. package/dist/types/utils/offset.d.ts +4 -4
  320. package/dist/types/utils/popover.d.ts +27 -27
  321. package/dist/types/utils/scroll.d.ts +3 -3
  322. package/dist/types/utils/slot.d.ts +9 -9
  323. package/dist/types/utils/support.d.ts +1 -1
  324. package/dist/types/utils/tabbable.d.ts +2 -2
  325. package/dist/types/utils/testing.d.ts +2 -2
  326. package/dist/types/utils/time.util.d.ts +10 -10
  327. package/dist/types/utils/type-check.d.ts +4 -4
  328. package/dist/types/utils/types.d.ts +4 -4
  329. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +9 -9
  330. package/dist/ui-library/{p-a8c225f2.entry.js → p-007bc8e8.entry.js} +1 -1
  331. package/dist/ui-library/{p-f9c0cfb7.entry.js → p-044b784e.entry.js} +1 -1
  332. package/dist/ui-library/{p-c733dead.js → p-0786fa7c.js} +0 -0
  333. package/dist/ui-library/{p-12cc24c3.js → p-07d1e830.js} +0 -0
  334. package/dist/ui-library/{p-48ea4419.entry.js → p-09cb13fa.entry.js} +1 -1
  335. package/dist/ui-library/{p-e96dcf96.entry.js → p-0c596054.entry.js} +1 -1
  336. package/dist/ui-library/{p-a77a6442.entry.js → p-1b8dc7b7.entry.js} +1 -1
  337. package/dist/ui-library/{p-68d31736.js → p-25a3bf57.js} +0 -0
  338. package/dist/ui-library/{p-ebaea182.entry.js → p-281e8c2d.entry.js} +1 -1
  339. package/dist/ui-library/{p-9f2dc381.entry.js → p-2924f82f.entry.js} +1 -1
  340. package/dist/ui-library/{p-ea1fcff2.entry.js → p-2d7ed407.entry.js} +1 -1
  341. package/dist/ui-library/{p-89f68e76.entry.js → p-4162dcdd.entry.js} +1 -1
  342. package/dist/ui-library/{p-6f67f986.entry.js → p-4d3a4e93.entry.js} +1 -1
  343. package/dist/ui-library/{p-8bd0873f.entry.js → p-4ed023b8.entry.js} +1 -1
  344. package/dist/ui-library/{p-af3d757c.js → p-4f8394d7.js} +0 -0
  345. package/dist/ui-library/{p-1b92cc7a.entry.js → p-530ea6ec.entry.js} +1 -1
  346. package/dist/ui-library/{p-19543c96.entry.js → p-531ab886.entry.js} +1 -1
  347. package/dist/ui-library/{p-fdb455d7.entry.js → p-54c48654.entry.js} +1 -1
  348. package/dist/ui-library/{p-c948d3db.entry.js → p-55c64cbc.entry.js} +1 -1
  349. package/dist/ui-library/{p-1c9f0dc6.js → p-5f1c6a5f.js} +0 -0
  350. package/dist/ui-library/{p-60491176.entry.js → p-675a8243.entry.js} +1 -1
  351. package/dist/ui-library/{p-b9fb8455.entry.js → p-6d622ed0.entry.js} +1 -1
  352. package/dist/ui-library/{p-572e3690.js → p-75297ad7.js} +0 -0
  353. package/dist/ui-library/{p-2ff97cdf.entry.js → p-90b26447.entry.js} +1 -1
  354. package/dist/ui-library/{p-fcd2356c.entry.js → p-93945629.entry.js} +1 -1
  355. package/dist/ui-library/{p-7735d99f.js → p-9a860acc.js} +0 -0
  356. package/dist/ui-library/{p-4cc01afc.entry.js → p-aa37e45a.entry.js} +1 -1
  357. package/dist/ui-library/{p-191f958b.js → p-b1e66136.js} +0 -0
  358. package/dist/ui-library/{p-c09dc3a9.js → p-b4dfb7cf.js} +0 -0
  359. package/dist/ui-library/{p-968c5169.entry.js → p-c24292b3.entry.js} +1 -1
  360. package/dist/ui-library/{p-ed21cc57.entry.js → p-cd79de73.entry.js} +1 -1
  361. package/dist/ui-library/{p-34e6d8e8.js → p-d12c6092.js} +0 -0
  362. package/dist/ui-library/{p-f0e91e17.entry.js → p-d28ac80a.entry.js} +1 -1
  363. package/dist/ui-library/{p-5ead7b2f.entry.js → p-d837e5a8.entry.js} +1 -1
  364. package/dist/ui-library/{p-ec1ecc2a.entry.js → p-dd3cae68.entry.js} +1 -1
  365. package/dist/ui-library/{p-044c6bf9.js → p-eb8f05a9.js} +0 -0
  366. package/dist/ui-library/ui-library.esm.js +1 -1
  367. package/package.json +1 -1
@@ -3,235 +3,235 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-341df120.js');
6
- const scroll = require('./scroll-5b8676ba.js');
7
- const focusVisible = require('./focus-visible-b08d956f.js');
6
+ const scroll = require('./scroll-76e6f5d7.js');
7
+ const focusVisible = require('./focus-visible-0b352c74.js');
8
8
 
9
9
  const sixTabGroupCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--tabs-border-color:var(--six-tab-border-color);display:block}.tab-group{display:flex;border:solid 1px transparent;border-radius:0}.tab-group .tab-group__tabs{display:flex;position:relative}.tab-group .tab-group__active-tab-indicator{position:absolute;transition:var(--six-transition-fast) transform ease, var(--six-transition-fast) width ease}.tab-group:not(.focus-visible) ::slotted(six-tab){--focus-ring:none}.tab-group--has-scroll-controls .tab-group__nav-container{position:relative;padding:0 var(--six-spacing-x-large)}.tab-group__scroll-button{display:flex;align-items:center;justify-content:center;position:absolute;top:0;bottom:0;width:var(--six-spacing-x-large)}.tab-group__scroll-button--left{left:0}.tab-group__scroll-button--right{right:0}.tab-group--top{flex-direction:column}.tab-group--top .tab-group__nav-container{order:1}.tab-group--top .tab-group__nav{display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tab-group--top .tab-group__nav::-webkit-scrollbar{width:0;height:0}.tab-group--top .tab-group__tabs{flex:1 1 auto;position:relative;flex-direction:row;border-bottom:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--top .tab-group__active-tab-indicator{bottom:-2px;border-bottom:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--top .tab-group__body{order:2}.tab-group--bottom{flex-direction:column}.tab-group--bottom .tab-group__nav-container{order:2}.tab-group--bottom .tab-group__nav{display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tab-group--bottom .tab-group__nav::-webkit-scrollbar{width:0;height:0}.tab-group--bottom .tab-group__tabs{flex:1 1 auto;position:relative;flex-direction:row;border-top:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--bottom .tab-group__active-tab-indicator{top:-2px;border-top:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--bottom .tab-group__body{order:1}.tab-group--left{flex-direction:row}.tab-group--left .tab-group__nav-container{order:1}.tab-group--left .tab-group__tabs{flex:0 0 auto;flex-direction:column;border-right:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--left .tab-group__active-tab-indicator{right:-2px;border-right:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--left .tab-group__body{flex:1 1 auto;order:2}.tab-group--right{flex-direction:row}.tab-group--right .tab-group__nav-container{order:2}.tab-group--right .tab-group__tabs{flex:0 0 auto;flex-direction:column;border-left:solid var(--six-tab-border-width) var(--tabs-border-color)}.tab-group--right .tab-group__active-tab-indicator{left:-2px;border-left:solid var(--six-tab-border-width-active) var(--six-tab-border-color-active)}.tab-group--right .tab-group__body{flex:1 1 auto;order:1}";
10
10
 
11
- let SixTabGroup = class {
12
- constructor(hostRef) {
13
- index.registerInstance(this, hostRef);
14
- this.sixTabShow = index.createEvent(this, "six-tab-show", 7);
15
- this.sixTabHide = index.createEvent(this, "six-tab-hide", 7);
16
- this.hasScrollControls = false;
17
- /** The placement of the tabs. */
18
- this.placement = 'top';
19
- /** Disables the scroll arrows that appear when tabs overflow. */
20
- this.noScrollControls = false;
21
- }
22
- handlePlacementChange() {
23
- this.syncActiveTabIndicator();
24
- }
25
- handleNoScrollControlsChange() {
26
- this.updateScrollControls();
27
- }
28
- connectedCallback() {
29
- this.handleClick = this.handleClick.bind(this);
30
- this.handleKeyDown = this.handleKeyDown.bind(this);
31
- this.handleScrollLeft = this.handleScrollLeft.bind(this);
32
- this.handleScrollRight = this.handleScrollRight.bind(this);
33
- this.syncActiveTabIndicator = this.syncActiveTabIndicator.bind(this);
34
- }
35
- componentDidLoad() {
36
- // Set initial tab state when the tabs first become visible
37
- const observer = new IntersectionObserver((entries, observer) => {
38
- if (entries[0].intersectionRatio > 0) {
39
- this.setAriaLabels();
40
- this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);
41
- observer.unobserve(entries[0].target);
42
- }
43
- });
44
- observer.observe(this.host);
45
- focusVisible.focusVisible.observe(this.tabGroup);
46
- this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());
47
- this.resizeObserver.observe(this.nav);
48
- requestAnimationFrame(() => this.updateScrollControls());
49
- // Update aria labels if the DOM changes
50
- this.mutationObserver = new MutationObserver((mutations) => {
51
- if (mutations.some((mutation) => {
52
- return !['aria-labelledby', 'aria-controls'].includes(mutation.attributeName);
53
- })) {
54
- setTimeout(() => this.setAriaLabels());
55
- }
56
- });
57
- this.mutationObserver.observe(this.host, { attributes: true, childList: true, subtree: true });
58
- }
59
- disconnectedCallback() {
60
- this.mutationObserver.disconnect();
61
- focusVisible.focusVisible.unobserve(this.tabGroup);
62
- this.resizeObserver.unobserve(this.nav);
63
- }
64
- /** Shows the specified tab panel. */
65
- async show(panel) {
66
- const tabs = this.getAllTabs();
67
- const tab = tabs.find((el) => el.panel === panel);
68
- if (tab) {
69
- this.setActiveTab(tab);
70
- }
71
- }
72
- getAllTabs(includeDisabled = false) {
73
- const slot = this.tabs.querySelector('slot');
74
- return [...slot.assignedElements()].filter((el) => {
75
- return includeDisabled
76
- ? el.tagName.toLowerCase() === 'six-tab'
77
- : el.tagName.toLowerCase() === 'six-tab' && !el.disabled;
78
- });
79
- }
80
- getAllPanels() {
81
- const slot = this.body.querySelector('slot');
82
- return [...slot.assignedElements()].filter((el) => el.tagName.toLowerCase() === 'six-tab-panel');
83
- }
84
- getActiveTab() {
85
- return this.getAllTabs().find((el) => el.active);
86
- }
87
- handleClick(event) {
88
- const target = event.target;
89
- const tab = target.closest('six-tab');
90
- const tabGroup = tab === null || tab === void 0 ? void 0 : tab.closest('six-tab-group');
91
- // Ensure the target tab is in this tab group
92
- if (tabGroup !== this.host) {
93
- return false;
94
- }
95
- if (tab) {
96
- this.setActiveTab(tab);
97
- }
98
- }
99
- handleKeyDown(event) {
100
- const target = event.target;
101
- const tab = target.closest('six-tab');
102
- const tabGroup = tab === null || tab === void 0 ? void 0 : tab.closest('six-tab-group');
103
- // Ensure the target tab is in this tab group
104
- if (tabGroup !== this.host) {
105
- return false;
106
- }
107
- // Activate a tab
108
- if (['Enter', ' '].includes(event.key)) {
109
- if (tab) {
110
- this.setActiveTab(tab);
111
- event.preventDefault();
112
- }
113
- }
114
- // Move focus left or right
115
- if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {
116
- const activeEl = document.activeElement;
117
- if (activeEl && activeEl.tagName.toLowerCase() === 'six-tab') {
118
- const tabs = this.getAllTabs();
119
- let index = tabs.indexOf(activeEl);
120
- if (event.key === 'Home') {
121
- index = 0;
122
- }
123
- else if (event.key === 'End') {
124
- index = tabs.length - 1;
125
- }
126
- else if (event.key === 'ArrowLeft') {
127
- index = Math.max(0, index - 1);
128
- }
129
- else if (event.key === 'ArrowRight') {
130
- index = Math.min(tabs.length - 1, index + 1);
131
- }
132
- tabs[index].setFocus({ preventScroll: true });
133
- if (['top', 'bottom'].includes(this.placement)) {
134
- scroll.scrollIntoView(tabs[index], this.nav, 'horizontal');
135
- }
136
- event.preventDefault();
137
- }
138
- }
139
- }
140
- handleScrollLeft() {
141
- this.nav.scroll({
142
- left: this.nav.scrollLeft - this.nav.clientWidth,
143
- behavior: 'smooth',
144
- });
145
- }
146
- handleScrollRight() {
147
- this.nav.scroll({
148
- left: this.nav.scrollLeft + this.nav.clientWidth,
149
- behavior: 'smooth',
150
- });
151
- }
152
- updateScrollControls() {
153
- this.hasScrollControls = this.noScrollControls
154
- ? false
155
- : ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;
156
- }
157
- setActiveTab(tab, emitEvents = true) {
158
- if (tab && tab !== this.activeTab && !tab.disabled) {
159
- const previousTab = this.activeTab;
160
- this.activeTab = tab;
161
- // Sync tabs and panels
162
- this.getAllTabs().map((el) => (el.active = el === this.activeTab));
163
- this.getAllPanels().map((el) => (el.active = el.name === this.activeTab.panel));
164
- this.syncActiveTabIndicator();
165
- if (['top', 'bottom'].includes(this.placement)) {
166
- scroll.scrollIntoView(this.activeTab, this.nav, 'horizontal');
167
- }
168
- // Emit events
169
- if (emitEvents) {
170
- if (previousTab) {
171
- this.sixTabHide.emit({ name: previousTab.panel });
172
- }
173
- this.sixTabShow.emit({ name: this.activeTab.panel });
174
- }
175
- }
176
- }
177
- setAriaLabels() {
178
- const tabs = this.getAllTabs();
179
- const panels = this.getAllPanels();
180
- // Link each tab with its corresponding panel
181
- tabs.map((tab) => {
182
- const panel = panels.find((el) => el.name === tab.panel);
183
- if (panel) {
184
- tab.setAttribute('aria-controls', panel.getAttribute('id'));
185
- panel.setAttribute('aria-labelledby', tab.getAttribute('id'));
186
- }
187
- });
188
- }
189
- syncActiveTabIndicator() {
190
- const tab = this.getActiveTab();
191
- if (tab) {
192
- this.activeTabIndicator.style.display = 'block';
193
- }
194
- else {
195
- this.activeTabIndicator.style.display = 'none';
196
- return;
197
- }
198
- const width = tab.clientWidth;
199
- const height = tab.clientHeight;
200
- const offset = scroll.getOffset(tab, this.nav);
201
- const offsetTop = offset.top + this.nav.scrollTop;
202
- const offsetLeft = offset.left + this.nav.scrollLeft;
203
- switch (this.placement) {
204
- case 'top':
205
- case 'bottom':
206
- this.activeTabIndicator.style.width = `${width}px`;
207
- this.activeTabIndicator.style.height = null;
208
- this.activeTabIndicator.style.transform = `translateX(${offsetLeft}px)`;
209
- break;
210
- case 'left':
211
- case 'right':
212
- this.activeTabIndicator.style.width = null;
213
- this.activeTabIndicator.style.height = `${height}px`;
214
- this.activeTabIndicator.style.transform = `translateY(${offsetTop}px)`;
215
- break;
216
- }
217
- }
218
- render() {
219
- return (index.h("div", { part: "base", ref: (el) => (this.tabGroup = el), class: {
220
- 'tab-group': true,
221
- // Placements
222
- 'tab-group--top': this.placement === 'top',
223
- 'tab-group--bottom': this.placement === 'bottom',
224
- 'tab-group--left': this.placement === 'left',
225
- 'tab-group--right': this.placement === 'right',
226
- 'tab-group--has-scroll-controls': this.hasScrollControls,
227
- }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, index.h("div", { class: "tab-group__nav-container" }, this.hasScrollControls && (index.h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--left", exportparts: "base:scroll-button", name: "chevron_left", onClick: this.handleScrollLeft })), index.h("div", { ref: (el) => (this.nav = el), key: "nav", part: "nav", class: "tab-group__nav" }, index.h("div", { ref: (el) => (this.tabs = el), part: "tabs", class: "tab-group__tabs", role: "tablist" }, index.h("div", { ref: (el) => (this.activeTabIndicator = el), part: "active-tab-indicator", class: "tab-group__active-tab-indicator" }), index.h("slot", { name: "nav", onSlotchange: this.syncActiveTabIndicator }))), this.hasScrollControls && (index.h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--right", exportparts: "base:scroll-button", name: "chevron_right", onClick: this.handleScrollRight }))), index.h("div", { ref: (el) => (this.body = el), part: "body", class: "tab-group__body" }, index.h("slot", { onSlotchange: this.syncActiveTabIndicator }))));
228
- }
229
- get host() { return index.getElement(this); }
230
- static get watchers() { return {
231
- "placement": ["handlePlacementChange"],
232
- "noScrollControls": ["handleNoScrollControlsChange"]
233
- }; }
234
- };
11
+ let SixTabGroup = class {
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this.sixTabShow = index.createEvent(this, "six-tab-show", 7);
15
+ this.sixTabHide = index.createEvent(this, "six-tab-hide", 7);
16
+ this.hasScrollControls = false;
17
+ /** The placement of the tabs. */
18
+ this.placement = 'top';
19
+ /** Disables the scroll arrows that appear when tabs overflow. */
20
+ this.noScrollControls = false;
21
+ }
22
+ handlePlacementChange() {
23
+ this.syncActiveTabIndicator();
24
+ }
25
+ handleNoScrollControlsChange() {
26
+ this.updateScrollControls();
27
+ }
28
+ connectedCallback() {
29
+ this.handleClick = this.handleClick.bind(this);
30
+ this.handleKeyDown = this.handleKeyDown.bind(this);
31
+ this.handleScrollLeft = this.handleScrollLeft.bind(this);
32
+ this.handleScrollRight = this.handleScrollRight.bind(this);
33
+ this.syncActiveTabIndicator = this.syncActiveTabIndicator.bind(this);
34
+ }
35
+ componentDidLoad() {
36
+ // Set initial tab state when the tabs first become visible
37
+ const observer = new IntersectionObserver((entries, observer) => {
38
+ if (entries[0].intersectionRatio > 0) {
39
+ this.setAriaLabels();
40
+ this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);
41
+ observer.unobserve(entries[0].target);
42
+ }
43
+ });
44
+ observer.observe(this.host);
45
+ focusVisible.focusVisible.observe(this.tabGroup);
46
+ this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());
47
+ this.resizeObserver.observe(this.nav);
48
+ requestAnimationFrame(() => this.updateScrollControls());
49
+ // Update aria labels if the DOM changes
50
+ this.mutationObserver = new MutationObserver((mutations) => {
51
+ if (mutations.some((mutation) => {
52
+ return !['aria-labelledby', 'aria-controls'].includes(mutation.attributeName);
53
+ })) {
54
+ setTimeout(() => this.setAriaLabels());
55
+ }
56
+ });
57
+ this.mutationObserver.observe(this.host, { attributes: true, childList: true, subtree: true });
58
+ }
59
+ disconnectedCallback() {
60
+ this.mutationObserver.disconnect();
61
+ focusVisible.focusVisible.unobserve(this.tabGroup);
62
+ this.resizeObserver.unobserve(this.nav);
63
+ }
64
+ /** Shows the specified tab panel. */
65
+ async show(panel) {
66
+ const tabs = this.getAllTabs();
67
+ const tab = tabs.find((el) => el.panel === panel);
68
+ if (tab) {
69
+ this.setActiveTab(tab);
70
+ }
71
+ }
72
+ getAllTabs(includeDisabled = false) {
73
+ const slot = this.tabs.querySelector('slot');
74
+ return [...slot.assignedElements()].filter((el) => {
75
+ return includeDisabled
76
+ ? el.tagName.toLowerCase() === 'six-tab'
77
+ : el.tagName.toLowerCase() === 'six-tab' && !el.disabled;
78
+ });
79
+ }
80
+ getAllPanels() {
81
+ const slot = this.body.querySelector('slot');
82
+ return [...slot.assignedElements()].filter((el) => el.tagName.toLowerCase() === 'six-tab-panel');
83
+ }
84
+ getActiveTab() {
85
+ return this.getAllTabs().find((el) => el.active);
86
+ }
87
+ handleClick(event) {
88
+ const target = event.target;
89
+ const tab = target.closest('six-tab');
90
+ const tabGroup = tab === null || tab === void 0 ? void 0 : tab.closest('six-tab-group');
91
+ // Ensure the target tab is in this tab group
92
+ if (tabGroup !== this.host) {
93
+ return false;
94
+ }
95
+ if (tab) {
96
+ this.setActiveTab(tab);
97
+ }
98
+ }
99
+ handleKeyDown(event) {
100
+ const target = event.target;
101
+ const tab = target.closest('six-tab');
102
+ const tabGroup = tab === null || tab === void 0 ? void 0 : tab.closest('six-tab-group');
103
+ // Ensure the target tab is in this tab group
104
+ if (tabGroup !== this.host) {
105
+ return false;
106
+ }
107
+ // Activate a tab
108
+ if (['Enter', ' '].includes(event.key)) {
109
+ if (tab) {
110
+ this.setActiveTab(tab);
111
+ event.preventDefault();
112
+ }
113
+ }
114
+ // Move focus left or right
115
+ if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {
116
+ const activeEl = document.activeElement;
117
+ if (activeEl && activeEl.tagName.toLowerCase() === 'six-tab') {
118
+ const tabs = this.getAllTabs();
119
+ let index = tabs.indexOf(activeEl);
120
+ if (event.key === 'Home') {
121
+ index = 0;
122
+ }
123
+ else if (event.key === 'End') {
124
+ index = tabs.length - 1;
125
+ }
126
+ else if (event.key === 'ArrowLeft') {
127
+ index = Math.max(0, index - 1);
128
+ }
129
+ else if (event.key === 'ArrowRight') {
130
+ index = Math.min(tabs.length - 1, index + 1);
131
+ }
132
+ tabs[index].setFocus({ preventScroll: true });
133
+ if (['top', 'bottom'].includes(this.placement)) {
134
+ scroll.scrollIntoView(tabs[index], this.nav, 'horizontal');
135
+ }
136
+ event.preventDefault();
137
+ }
138
+ }
139
+ }
140
+ handleScrollLeft() {
141
+ this.nav.scroll({
142
+ left: this.nav.scrollLeft - this.nav.clientWidth,
143
+ behavior: 'smooth',
144
+ });
145
+ }
146
+ handleScrollRight() {
147
+ this.nav.scroll({
148
+ left: this.nav.scrollLeft + this.nav.clientWidth,
149
+ behavior: 'smooth',
150
+ });
151
+ }
152
+ updateScrollControls() {
153
+ this.hasScrollControls = this.noScrollControls
154
+ ? false
155
+ : ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;
156
+ }
157
+ setActiveTab(tab, emitEvents = true) {
158
+ if (tab && tab !== this.activeTab && !tab.disabled) {
159
+ const previousTab = this.activeTab;
160
+ this.activeTab = tab;
161
+ // Sync tabs and panels
162
+ this.getAllTabs().map((el) => (el.active = el === this.activeTab));
163
+ this.getAllPanels().map((el) => (el.active = el.name === this.activeTab.panel));
164
+ this.syncActiveTabIndicator();
165
+ if (['top', 'bottom'].includes(this.placement)) {
166
+ scroll.scrollIntoView(this.activeTab, this.nav, 'horizontal');
167
+ }
168
+ // Emit events
169
+ if (emitEvents) {
170
+ if (previousTab) {
171
+ this.sixTabHide.emit({ name: previousTab.panel });
172
+ }
173
+ this.sixTabShow.emit({ name: this.activeTab.panel });
174
+ }
175
+ }
176
+ }
177
+ setAriaLabels() {
178
+ const tabs = this.getAllTabs();
179
+ const panels = this.getAllPanels();
180
+ // Link each tab with its corresponding panel
181
+ tabs.map((tab) => {
182
+ const panel = panels.find((el) => el.name === tab.panel);
183
+ if (panel) {
184
+ tab.setAttribute('aria-controls', panel.getAttribute('id'));
185
+ panel.setAttribute('aria-labelledby', tab.getAttribute('id'));
186
+ }
187
+ });
188
+ }
189
+ syncActiveTabIndicator() {
190
+ const tab = this.getActiveTab();
191
+ if (tab) {
192
+ this.activeTabIndicator.style.display = 'block';
193
+ }
194
+ else {
195
+ this.activeTabIndicator.style.display = 'none';
196
+ return;
197
+ }
198
+ const width = tab.clientWidth;
199
+ const height = tab.clientHeight;
200
+ const offset = scroll.getOffset(tab, this.nav);
201
+ const offsetTop = offset.top + this.nav.scrollTop;
202
+ const offsetLeft = offset.left + this.nav.scrollLeft;
203
+ switch (this.placement) {
204
+ case 'top':
205
+ case 'bottom':
206
+ this.activeTabIndicator.style.width = `${width}px`;
207
+ this.activeTabIndicator.style.height = null;
208
+ this.activeTabIndicator.style.transform = `translateX(${offsetLeft}px)`;
209
+ break;
210
+ case 'left':
211
+ case 'right':
212
+ this.activeTabIndicator.style.width = null;
213
+ this.activeTabIndicator.style.height = `${height}px`;
214
+ this.activeTabIndicator.style.transform = `translateY(${offsetTop}px)`;
215
+ break;
216
+ }
217
+ }
218
+ render() {
219
+ return (index.h("div", { part: "base", ref: (el) => (this.tabGroup = el), class: {
220
+ 'tab-group': true,
221
+ // Placements
222
+ 'tab-group--top': this.placement === 'top',
223
+ 'tab-group--bottom': this.placement === 'bottom',
224
+ 'tab-group--left': this.placement === 'left',
225
+ 'tab-group--right': this.placement === 'right',
226
+ 'tab-group--has-scroll-controls': this.hasScrollControls,
227
+ }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, index.h("div", { class: "tab-group__nav-container" }, this.hasScrollControls && (index.h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--left", exportparts: "base:scroll-button", name: "chevron_left", onClick: this.handleScrollLeft })), index.h("div", { ref: (el) => (this.nav = el), key: "nav", part: "nav", class: "tab-group__nav" }, index.h("div", { ref: (el) => (this.tabs = el), part: "tabs", class: "tab-group__tabs", role: "tablist" }, index.h("div", { ref: (el) => (this.activeTabIndicator = el), part: "active-tab-indicator", class: "tab-group__active-tab-indicator" }), index.h("slot", { name: "nav", onSlotchange: this.syncActiveTabIndicator }))), this.hasScrollControls && (index.h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--right", exportparts: "base:scroll-button", name: "chevron_right", onClick: this.handleScrollRight }))), index.h("div", { ref: (el) => (this.body = el), part: "body", class: "tab-group__body" }, index.h("slot", { onSlotchange: this.syncActiveTabIndicator }))));
228
+ }
229
+ get host() { return index.getElement(this); }
230
+ static get watchers() { return {
231
+ "placement": ["handlePlacementChange"],
232
+ "noScrollControls": ["handleNoScrollControlsChange"]
233
+ }; }
234
+ };
235
235
  SixTabGroup.style = sixTabGroupCss;
236
236
 
237
237
  exports.six_tab_group = SixTabGroup;
@@ -6,23 +6,23 @@ const index = require('./index-341df120.js');
6
6
 
7
7
  const sixTabPanelCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;font-family:var(--six-font-family)}.tab-panel{border:solid 1px transparent;padding:20px 20px}";
8
8
 
9
- let id = 0;
10
- let SixTabPanel = class {
11
- constructor(hostRef) {
12
- index.registerInstance(this, hostRef);
13
- this.componentId = `tab-panel-${++id}`;
14
- /** The tab panel's name. */
15
- this.name = '';
16
- /** When true, the tab panel will be shown. */
17
- this.active = false;
18
- }
19
- render() {
20
- return (
21
- // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels
22
- index.h(index.Host, { id: this.host.id || this.componentId, style: { display: this.active ? 'block' : 'none' } }, index.h("div", { part: "base", class: "tab-panel", role: "tabpanel", "aria-selected": this.active ? 'true' : 'false', "aria-hidden": this.active ? 'false' : 'true' }, index.h("slot", null))));
23
- }
24
- get host() { return index.getElement(this); }
25
- };
9
+ let id = 0;
10
+ let SixTabPanel = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.componentId = `tab-panel-${++id}`;
14
+ /** The tab panel's name. */
15
+ this.name = '';
16
+ /** When true, the tab panel will be shown. */
17
+ this.active = false;
18
+ }
19
+ render() {
20
+ return (
21
+ // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels
22
+ index.h(index.Host, { id: this.host.id || this.componentId, style: { display: this.active ? 'block' : 'none' } }, index.h("div", { part: "base", class: "tab-panel", role: "tabpanel", "aria-selected": this.active ? 'true' : 'false', "aria-hidden": this.active ? 'false' : 'true' }, index.h("slot", null))));
23
+ }
24
+ get host() { return index.getElement(this); }
25
+ };
26
26
  SixTabPanel.style = sixTabPanelCss;
27
27
 
28
28
  exports.six_tab_panel = SixTabPanel;
@@ -6,48 +6,48 @@ const index = require('./index-341df120.js');
6
6
 
7
7
  const sixTabCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:inline-block}.tab{display:inline-flex;align-items:center;font-family:var(--six-font-family);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-semibold);border-radius:4px;color:var(--six-tab-color);padding:var(--six-spacing-medium) var(--six-spacing-large);white-space:nowrap;user-select:none;cursor:pointer;transition:var(--six-transition-fast) box-shadow, var(--six-transition-fast) color}.tab:focus{outline:none}.tab:focus:not(.tab--disabled){color:var(--six-tab-color-active)}.tab.tab--active:not(.tab--disabled){color:var(--six-tab-color-active);font-weight:var(--six-font-weight-bold)}.tab.tab--closable{padding-right:var(--six-spacing-small)}.tab.tab--disabled{color:var(--six-tab-color-disabled);cursor:not-allowed}.tab:hover:not(.tab--disabled){color:var(--six-tab-color-hover)}.tab__close-button{font-size:var(--six-font-size-large);margin-left:var(--six-spacing-xx-small)}.tab__close-button::part(base){padding:var(--six-spacing-xxx-small)}";
8
8
 
9
- let id = 0;
10
- let SixTab = class {
11
- constructor(hostRef) {
12
- index.registerInstance(this, hostRef);
13
- this.sixClose = index.createEvent(this, "six-tab-close", 7);
14
- this.componentId = `tab-${++id}`;
15
- /** The name of the tab panel the tab will control. The panel must be located in the same tab group. */
16
- this.panel = '';
17
- /** Set to true to draw the tab in an active state. */
18
- this.active = false;
19
- /** When true, the tab will be rendered with a close icon. */
20
- this.closable = false;
21
- /** Set to true to draw the tab in a disabled state. */
22
- this.disabled = false;
23
- }
24
- connectedCallback() {
25
- this.handleCloseClick = this.handleCloseClick.bind(this);
26
- }
27
- /** Sets focus to the tab. */
28
- async setFocus(options) {
29
- this.tab.focus(options);
30
- }
31
- /** Removes focus from the tab. */
32
- async removeFocus() {
33
- this.tab.blur();
34
- }
35
- handleCloseClick() {
36
- this.sixClose.emit();
37
- }
38
- render() {
39
- return (
40
- // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels
41
- index.h(index.Host, { id: this.host.id || this.componentId }, index.h("div", { part: "base", ref: (el) => (this.tab = el), class: {
42
- tab: true,
43
- // States
44
- 'tab--active': this.active,
45
- 'tab--closable': this.closable,
46
- 'tab--disabled': this.disabled,
47
- }, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.disabled || !this.active ? '-1' : '0' }, index.h("slot", null), this.closable && (index.h("six-icon-button", { name: "close", size: "xSmall", exportparts: "base:close-button", class: "tab__close-button", onClick: this.handleCloseClick, tabIndex: -1, "aria-hidden": "true" })))));
48
- }
49
- get host() { return index.getElement(this); }
50
- };
9
+ let id = 0;
10
+ let SixTab = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.sixClose = index.createEvent(this, "six-tab-close", 7);
14
+ this.componentId = `tab-${++id}`;
15
+ /** The name of the tab panel the tab will control. The panel must be located in the same tab group. */
16
+ this.panel = '';
17
+ /** Set to true to draw the tab in an active state. */
18
+ this.active = false;
19
+ /** When true, the tab will be rendered with a close icon. */
20
+ this.closable = false;
21
+ /** Set to true to draw the tab in a disabled state. */
22
+ this.disabled = false;
23
+ }
24
+ connectedCallback() {
25
+ this.handleCloseClick = this.handleCloseClick.bind(this);
26
+ }
27
+ /** Sets focus to the tab. */
28
+ async setFocus(options) {
29
+ this.tab.focus(options);
30
+ }
31
+ /** Removes focus from the tab. */
32
+ async removeFocus() {
33
+ this.tab.blur();
34
+ }
35
+ handleCloseClick() {
36
+ this.sixClose.emit();
37
+ }
38
+ render() {
39
+ return (
40
+ // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels
41
+ index.h(index.Host, { id: this.host.id || this.componentId }, index.h("div", { part: "base", ref: (el) => (this.tab = el), class: {
42
+ tab: true,
43
+ // States
44
+ 'tab--active': this.active,
45
+ 'tab--closable': this.closable,
46
+ 'tab--disabled': this.disabled,
47
+ }, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.disabled || !this.active ? '-1' : '0' }, index.h("slot", null), this.closable && (index.h("six-icon-button", { name: "close", size: "xSmall", exportparts: "base:close-button", class: "tab__close-button", onClick: this.handleCloseClick, tabIndex: -1, "aria-hidden": "true" })))));
48
+ }
49
+ get host() { return index.getElement(this); }
50
+ };
51
51
  SixTab.style = sixTabCss;
52
52
 
53
53
  exports.six_tab = SixTab;