@six-group/ui-library 0.0.0-insider.11a6206 → 0.0.0-insider.1d89043

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 (834) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/{event-listeners-b835dfae.js → event-listeners-fdfe838c.js} +1 -1
  3. package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
  4. package/dist/cjs/{execution-control-45c84c46.js → execution-control-b4707294.js} +1 -1
  5. package/dist/cjs/execution-control-b4707294.js.map +1 -0
  6. package/dist/cjs/{focus-visible-e0d93a95.js → focus-visible-ae2470dd.js} +1 -1
  7. package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
  8. package/dist/cjs/{form-8cbd4e0e.js → form-2df8c5bb.js} +1 -1
  9. package/dist/{esm/form-0b9c11cd.js.map → cjs/form-2df8c5bb.js.map} +1 -1
  10. package/dist/cjs/{form-control-8df00a52.js → form-control-9769b310.js} +11 -8
  11. package/dist/cjs/form-control-9769b310.js.map +1 -0
  12. package/dist/cjs/{index-2f6daa5b.js → index-900437fc.js} +400 -54
  13. package/dist/cjs/index-900437fc.js.map +1 -0
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +3 -12
  16. package/dist/cjs/loader.cjs.js.map +1 -1
  17. package/dist/cjs/{modal-21350fb5.js → modal-d5f074c7.js} +1 -1
  18. package/dist/cjs/modal-d5f074c7.js.map +1 -0
  19. package/dist/cjs/{popover-8885d50f.js → popover-2df7e154.js} +1 -1
  20. package/dist/{esm/popover-2e72e7d8.js.map → cjs/popover-2df7e154.js.map} +1 -1
  21. package/dist/cjs/{popup-44836aaf.js → popup-f1d9910f.js} +1 -1
  22. package/dist/cjs/popup-f1d9910f.js.map +1 -0
  23. package/dist/cjs/{scroll-76e6f5d7.js → scroll-2c4200dc.js} +1 -2
  24. package/dist/{esm/scroll-180b53fd.js.map → cjs/scroll-2c4200dc.js.map} +1 -1
  25. package/dist/cjs/set-attributes_2.cjs.entry.js +1 -1
  26. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-alert.cjs.entry.js +1 -1
  28. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  29. package/dist/cjs/six-avatar.cjs.entry.js +1 -1
  30. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-badge.cjs.entry.js +1 -1
  32. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-button.cjs.entry.js +5 -5
  34. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-card.cjs.entry.js +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-checkbox.cjs.entry.js +11 -16
  38. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-datepicker.cjs.entry.js +10 -13
  40. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-details.cjs.entry.js +3 -3
  42. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-dialog.cjs.entry.js +4 -4
  44. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-drawer.cjs.entry.js +4 -4
  46. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-dropdown_2.cjs.entry.js +6 -6
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-error-page.cjs.entry.js +1 -1
  50. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-error.cjs.entry.js +21 -0
  52. package/dist/cjs/six-error.cjs.entry.js.map +1 -0
  53. package/dist/cjs/six-file-list-item.cjs.entry.js +1 -1
  54. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  56. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-file-upload.cjs.entry.js +1 -1
  58. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  60. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-group-label.cjs.entry.js +4 -4
  62. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-header.cjs.entry.js +3 -3
  64. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-icon-button.cjs.entry.js +3 -3
  66. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  68. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-input.cjs.entry.js +10 -7
  70. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-item-picker.cjs.entry.js +6 -6
  72. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
  74. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-layout-grid.cjs.entry.js +1 -1
  76. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  78. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  80. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  81. package/dist/cjs/six-menu-item.cjs.entry.js +2 -2
  82. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  84. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-picto.cjs.entry.js +1 -1
  86. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  88. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-progress-ring.cjs.entry.js +1 -1
  90. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-radio.cjs.entry.js +11 -19
  92. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-range.cjs.entry.js +9 -6
  94. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-root.cjs.entry.js +1 -1
  96. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-search-field.cjs.entry.js +3 -3
  98. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-select.cjs.entry.js +16 -12
  100. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +4 -3
  102. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  104. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-sidebar.cjs.entry.js +2 -2
  106. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  108. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-switch.cjs.entry.js +27 -7
  110. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tab-group.cjs.entry.js +46 -51
  112. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  113. package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
  114. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  115. package/dist/cjs/six-tab.cjs.entry.js +20 -4
  116. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  117. package/dist/cjs/six-tag.cjs.entry.js +25 -3
  118. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  119. package/dist/cjs/six-textarea.cjs.entry.js +26 -27
  120. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  121. package/dist/cjs/six-tile.cjs.entry.js +2 -2
  122. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  123. package/dist/cjs/six-timepicker.cjs.entry.js +10 -15
  124. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  125. package/dist/cjs/six-tooltip.cjs.entry.js +4 -4
  126. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  127. package/dist/cjs/{slot-bccbdb59.js → slot-6e6a400f.js} +1 -1
  128. package/dist/cjs/slot-6e6a400f.js.map +1 -0
  129. package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
  130. package/dist/cjs/types-47199040.js.map +1 -0
  131. package/dist/cjs/ui-library.cjs.js +3 -6
  132. package/dist/cjs/ui-library.cjs.js.map +1 -1
  133. package/dist/collection/collection-manifest.json +55 -54
  134. package/dist/collection/components/six-alert/six-alert.js +15 -8
  135. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  136. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  137. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  138. package/dist/collection/components/six-avatar/six-avatar.js +1 -1
  139. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  140. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  141. package/dist/collection/components/six-badge/six-badge.js +1 -1
  142. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  143. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  144. package/dist/collection/components/six-button/six-button.css +5 -30
  145. package/dist/collection/components/six-button/six-button.js +14 -9
  146. package/dist/collection/components/six-button/six-button.js.map +1 -1
  147. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  148. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  149. package/dist/collection/components/six-card/six-card.js +1 -1
  150. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  151. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  152. package/dist/collection/components/six-checkbox/six-checkbox.css +1 -1
  153. package/dist/collection/components/six-checkbox/six-checkbox.js +43 -40
  154. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  155. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +83 -0
  156. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  157. package/dist/collection/components/six-datepicker/components/day-selection.js +1 -1
  158. package/dist/collection/components/six-datepicker/components/month-selection.js +2 -2
  159. package/dist/collection/components/six-datepicker/components/year-selection.js +2 -2
  160. package/dist/collection/components/six-datepicker/six-datepicker.js +59 -34
  161. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  162. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  163. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  164. package/dist/collection/components/six-details/six-details.css +3 -1
  165. package/dist/collection/components/six-details/six-details.js +14 -8
  166. package/dist/collection/components/six-details/six-details.js.map +1 -1
  167. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  168. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  169. package/dist/collection/components/six-dialog/six-dialog.js +21 -13
  170. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  171. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  172. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  173. package/dist/collection/components/six-drawer/six-drawer.js +21 -13
  174. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  175. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  176. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  177. package/dist/collection/components/six-dropdown/six-dropdown.css +2 -1
  178. package/dist/collection/components/six-dropdown/six-dropdown.js +30 -18
  179. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  180. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  181. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  182. package/dist/collection/components/six-error/six-error.css +5 -0
  183. package/dist/collection/components/six-error/six-error.js +25 -0
  184. package/dist/collection/components/six-error/six-error.js.map +1 -0
  185. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  186. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  187. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  188. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  189. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  190. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  191. package/dist/collection/components/six-file-list-item/six-file-list-item.js +5 -3
  192. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  193. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  194. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  195. package/dist/collection/components/six-file-upload/six-file-upload.js +5 -3
  196. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  197. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  198. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  199. package/dist/collection/components/six-footer/six-footer.js +1 -1
  200. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  201. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  202. package/dist/collection/components/six-group-label/six-group-label.css +1 -1
  203. package/dist/collection/components/six-group-label/six-group-label.js +3 -3
  204. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +45 -0
  205. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  206. package/dist/collection/components/six-header/six-header.js +19 -11
  207. package/dist/collection/components/six-header/six-header.js.map +1 -1
  208. package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
  209. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  210. package/dist/collection/components/six-icon/six-icon.js +1 -1
  211. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  212. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  213. package/dist/collection/components/six-icon-button/six-icon-button.css +4 -4
  214. package/dist/collection/components/six-icon-button/six-icon-button.js +2 -2
  215. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  216. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  217. package/dist/collection/components/six-input/six-input.css +2 -2
  218. package/dist/collection/components/six-input/six-input.js +54 -20
  219. package/dist/collection/components/six-input/six-input.js.map +1 -1
  220. package/dist/collection/components/six-input/test/six-input.spec.js +39 -0
  221. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  222. package/dist/collection/components/six-item-picker/six-item-picker.js +14 -10
  223. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  224. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  225. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  226. package/dist/collection/components/six-language-switcher/six-language-switcher.js +5 -3
  227. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  228. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  229. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  230. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  231. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  232. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  233. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  234. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  235. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  236. package/dist/collection/components/six-menu/six-menu.js +12 -8
  237. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  238. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  239. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  240. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  241. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  242. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  243. package/dist/collection/components/six-menu-item/six-menu-item.js +10 -6
  244. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  245. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  246. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  247. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  248. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  249. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  250. package/dist/collection/components/six-picto/six-picto.js +1 -1
  251. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  252. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  253. package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
  254. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  255. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  256. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  257. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  258. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  259. package/dist/collection/components/six-radio/six-radio.js +23 -41
  260. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  261. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  262. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  263. package/dist/collection/components/six-range/six-range.css +1 -1
  264. package/dist/collection/components/six-range/six-range.js +40 -13
  265. package/dist/collection/components/six-range/six-range.js.map +1 -1
  266. package/dist/collection/components/six-range/test/six-range.spec.js +34 -0
  267. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  268. package/dist/collection/components/six-root/six-root.js +5 -3
  269. package/dist/collection/components/six-root/six-root.js.map +1 -1
  270. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  271. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  272. package/dist/collection/components/six-search-field/six-search-field.js +5 -4
  273. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  274. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  275. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  276. package/dist/collection/components/six-select/six-select.css +7 -10
  277. package/dist/collection/components/six-select/six-select.js +48 -20
  278. package/dist/collection/components/six-select/six-select.js.map +1 -1
  279. package/dist/collection/components/six-select/test/six-select.spec.js +86 -0
  280. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  281. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  282. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  283. package/dist/collection/components/six-sidebar/six-sidebar.js +26 -14
  284. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  285. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  286. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  287. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
  288. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  289. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  290. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +4 -0
  291. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +3 -2
  292. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  293. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  294. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  295. package/dist/collection/components/six-spinner/six-spinner.js +1 -1
  296. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  297. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  298. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +3 -2
  299. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  300. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  301. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  302. package/dist/collection/components/six-switch/six-switch.css +1 -1
  303. package/dist/collection/components/six-switch/six-switch.js +59 -12
  304. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  305. package/dist/collection/components/six-switch/test/six-switch.spec.js +73 -0
  306. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  307. package/dist/collection/components/six-tab/six-tab.css +54 -5
  308. package/dist/collection/components/six-tab/six-tab.js +27 -7
  309. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  310. package/dist/collection/components/six-tab-group/six-tab-group.css +0 -31
  311. package/dist/collection/components/six-tab-group/six-tab-group.js +18 -56
  312. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  313. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  314. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  315. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  316. package/dist/collection/components/six-tag/six-tag.css +6 -0
  317. package/dist/collection/components/six-tag/six-tag.js +26 -3
  318. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  319. package/dist/collection/components/six-tag/test/six-tag.spec.js +54 -0
  320. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  321. package/dist/collection/components/six-textarea/six-textarea.css +1 -1
  322. package/dist/collection/components/six-textarea/six-textarea.js +66 -39
  323. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  324. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +119 -0
  325. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  326. package/dist/collection/components/six-tile/six-tile.js +10 -6
  327. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  328. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  329. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  330. package/dist/collection/components/six-timepicker/six-timepicker.js +43 -25
  331. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  332. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  333. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  334. package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
  335. package/dist/collection/components/six-tooltip/six-tooltip.js +15 -9
  336. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  337. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  338. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  339. package/dist/collection/functional-components/form-control/form-control.js +9 -7
  340. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  341. package/dist/collection/utils/animation.js +34 -0
  342. package/dist/collection/utils/animation.js.map +1 -0
  343. package/dist/collection/utils/date-util.js +1 -1
  344. package/dist/collection/utils/date-util.spec.js +995 -0
  345. package/dist/collection/utils/date-util.spec.js.map +1 -0
  346. package/dist/collection/utils/event-listeners.js.map +1 -1
  347. package/dist/collection/utils/popover.js +1 -1
  348. package/dist/collection/utils/scroll.js +1 -1
  349. package/dist/collection/utils/scroll.spec.js +122 -0
  350. package/dist/collection/utils/scroll.spec.js.map +1 -0
  351. package/dist/collection/utils/time.util.spec.js +368 -0
  352. package/dist/collection/utils/time.util.spec.js.map +1 -0
  353. package/dist/collection/wrappers/set-attributes/set-attributes.js +1 -1
  354. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  355. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  356. package/dist/components/event-listeners.js.map +1 -1
  357. package/dist/components/execution-control.js.map +1 -1
  358. package/dist/components/focus-visible.js.map +1 -1
  359. package/dist/components/form-control.js +9 -6
  360. package/dist/components/form-control.js.map +1 -1
  361. package/dist/components/form.js.map +1 -1
  362. package/dist/components/index.js +2 -0
  363. package/dist/components/index.js.map +1 -1
  364. package/dist/components/modal.js.map +1 -1
  365. package/dist/components/popover.js.map +1 -1
  366. package/dist/components/scroll.js +1 -1
  367. package/dist/components/scroll.js.map +1 -1
  368. package/dist/components/set-attributes2.js.map +1 -1
  369. package/dist/components/six-alert.js.map +1 -1
  370. package/dist/components/six-avatar.js.map +1 -1
  371. package/dist/components/six-badge.js.map +1 -1
  372. package/dist/components/six-button.js +2 -2
  373. package/dist/components/six-button.js.map +1 -1
  374. package/dist/components/six-card.js.map +1 -1
  375. package/dist/components/six-checkbox.js +17 -15
  376. package/dist/components/six-checkbox.js.map +1 -1
  377. package/dist/components/six-datepicker.js +13 -9
  378. package/dist/components/six-datepicker.js.map +1 -1
  379. package/dist/components/six-details2.js +1 -1
  380. package/dist/components/six-details2.js.map +1 -1
  381. package/dist/components/six-dialog.js.map +1 -1
  382. package/dist/components/six-drawer.js.map +1 -1
  383. package/dist/components/six-dropdown2.js +8 -2
  384. package/dist/components/six-dropdown2.js.map +1 -1
  385. package/dist/components/six-error-page.js.map +1 -1
  386. package/dist/components/six-error.d.ts +11 -0
  387. package/dist/components/six-error.js +8 -0
  388. package/dist/components/six-error.js.map +1 -0
  389. package/dist/components/six-error2.js +32 -0
  390. package/dist/components/six-error2.js.map +1 -0
  391. package/dist/components/six-file-list-item.js.map +1 -1
  392. package/dist/components/six-file-list.js.map +1 -1
  393. package/dist/components/six-file-upload.js.map +1 -1
  394. package/dist/components/six-footer.js.map +1 -1
  395. package/dist/components/six-group-label.js +8 -2
  396. package/dist/components/six-group-label.js.map +1 -1
  397. package/dist/components/six-header.js +8 -2
  398. package/dist/components/six-header.js.map +1 -1
  399. package/dist/components/six-icon-button2.js +1 -1
  400. package/dist/components/six-icon-button2.js.map +1 -1
  401. package/dist/components/six-icon2.js.map +1 -1
  402. package/dist/components/six-input2.js +14 -3
  403. package/dist/components/six-input2.js.map +1 -1
  404. package/dist/components/six-item-picker2.js +2 -2
  405. package/dist/components/six-item-picker2.js.map +1 -1
  406. package/dist/components/six-language-switcher.js.map +1 -1
  407. package/dist/components/six-layout-grid.js.map +1 -1
  408. package/dist/components/six-main-container.js.map +1 -1
  409. package/dist/components/six-menu-divider.js.map +1 -1
  410. package/dist/components/six-menu-item2.js.map +1 -1
  411. package/dist/components/six-menu-label.js.map +1 -1
  412. package/dist/components/six-menu2.js.map +1 -1
  413. package/dist/components/six-picto2.js.map +1 -1
  414. package/dist/components/six-progress-bar.js.map +1 -1
  415. package/dist/components/six-progress-ring.js.map +1 -1
  416. package/dist/components/six-radio.js +10 -19
  417. package/dist/components/six-radio.js.map +1 -1
  418. package/dist/components/six-range.js +14 -3
  419. package/dist/components/six-range.js.map +1 -1
  420. package/dist/components/six-root.js.map +1 -1
  421. package/dist/components/six-search-field.js +7 -1
  422. package/dist/components/six-search-field.js.map +1 -1
  423. package/dist/components/six-select.js +39 -21
  424. package/dist/components/six-select.js.map +1 -1
  425. package/dist/components/six-sidebar-item-group.js +2 -1
  426. package/dist/components/six-sidebar-item-group.js.map +1 -1
  427. package/dist/components/six-sidebar-item.js.map +1 -1
  428. package/dist/components/six-sidebar.js.map +1 -1
  429. package/dist/components/six-spinner2.js.map +1 -1
  430. package/dist/components/six-stage-indicator2.js.map +1 -1
  431. package/dist/components/six-switch.js +33 -5
  432. package/dist/components/six-switch.js.map +1 -1
  433. package/dist/components/six-tab-group.js +45 -50
  434. package/dist/components/six-tab-group.js.map +1 -1
  435. package/dist/components/six-tab-panel.js.map +1 -1
  436. package/dist/components/six-tab.js +19 -3
  437. package/dist/components/six-tab.js.map +1 -1
  438. package/dist/components/six-tag2.js +34 -6
  439. package/dist/components/six-tag2.js.map +1 -1
  440. package/dist/components/six-textarea.js +31 -24
  441. package/dist/components/six-textarea.js.map +1 -1
  442. package/dist/components/six-tile.js.map +1 -1
  443. package/dist/components/six-timepicker2.js +12 -10
  444. package/dist/components/six-timepicker2.js.map +1 -1
  445. package/dist/components/six-tooltip2.js +2 -2
  446. package/dist/components/six-tooltip2.js.map +1 -1
  447. package/dist/components/slot.js.map +1 -1
  448. package/dist/components.d.ts +361 -88
  449. package/dist/components.json +4122 -120
  450. package/dist/esm/{event-listeners-535f3ad1.js → event-listeners-f6e5b0ab.js} +1 -1
  451. package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
  452. package/dist/esm/{execution-control-72cc50f4.js → execution-control-e0892a05.js} +1 -1
  453. package/dist/esm/execution-control-e0892a05.js.map +1 -0
  454. package/dist/esm/{focus-visible-fa7129a0.js → focus-visible-fc6ac671.js} +1 -1
  455. package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
  456. package/dist/esm/{form-0b9c11cd.js → form-81252534.js} +1 -1
  457. package/dist/esm/form-81252534.js.map +1 -0
  458. package/dist/esm/{form-control-785c5f79.js → form-control-b0febe88.js} +11 -8
  459. package/dist/esm/form-control-b0febe88.js.map +1 -0
  460. package/dist/esm/{index-5c0f6628.js → index-8a74f992.js} +400 -54
  461. package/dist/esm/index-8a74f992.js.map +1 -0
  462. package/dist/esm/index.js.map +1 -1
  463. package/dist/esm/loader.js +4 -13
  464. package/dist/esm/loader.js.map +1 -1
  465. package/dist/esm/{modal-b1d96441.js → modal-7d32e141.js} +1 -1
  466. package/dist/esm/modal-7d32e141.js.map +1 -0
  467. package/dist/esm/{popover-2e72e7d8.js → popover-136d1f73.js} +1 -1
  468. package/dist/esm/popover-136d1f73.js.map +1 -0
  469. package/dist/esm/{popup-678b8592.js → popup-7f89a001.js} +1 -1
  470. package/dist/esm/popup-7f89a001.js.map +1 -0
  471. package/dist/esm/{scroll-180b53fd.js → scroll-774762d6.js} +2 -2
  472. package/dist/esm/scroll-774762d6.js.map +1 -0
  473. package/dist/esm/set-attributes_2.entry.js +1 -1
  474. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  475. package/dist/esm/six-alert.entry.js +1 -1
  476. package/dist/esm/six-alert.entry.js.map +1 -1
  477. package/dist/esm/six-avatar.entry.js +1 -1
  478. package/dist/esm/six-avatar.entry.js.map +1 -1
  479. package/dist/esm/six-badge.entry.js +1 -1
  480. package/dist/esm/six-badge.entry.js.map +1 -1
  481. package/dist/esm/six-button.entry.js +5 -5
  482. package/dist/esm/six-button.entry.js.map +1 -1
  483. package/dist/esm/six-card.entry.js +1 -1
  484. package/dist/esm/six-card.entry.js.map +1 -1
  485. package/dist/esm/six-checkbox.entry.js +11 -16
  486. package/dist/esm/six-checkbox.entry.js.map +1 -1
  487. package/dist/esm/six-datepicker.entry.js +10 -13
  488. package/dist/esm/six-datepicker.entry.js.map +1 -1
  489. package/dist/esm/six-details.entry.js +3 -3
  490. package/dist/esm/six-details.entry.js.map +1 -1
  491. package/dist/esm/six-dialog.entry.js +4 -4
  492. package/dist/esm/six-dialog.entry.js.map +1 -1
  493. package/dist/esm/six-drawer.entry.js +4 -4
  494. package/dist/esm/six-drawer.entry.js.map +1 -1
  495. package/dist/esm/six-dropdown_2.entry.js +6 -6
  496. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  497. package/dist/esm/six-error-page.entry.js +1 -1
  498. package/dist/esm/six-error-page.entry.js.map +1 -1
  499. package/dist/esm/six-error.entry.js +17 -0
  500. package/dist/esm/six-error.entry.js.map +1 -0
  501. package/dist/esm/six-file-list-item.entry.js +1 -1
  502. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  503. package/dist/esm/six-file-list.entry.js +1 -1
  504. package/dist/esm/six-file-list.entry.js.map +1 -1
  505. package/dist/esm/six-file-upload.entry.js +1 -1
  506. package/dist/esm/six-file-upload.entry.js.map +1 -1
  507. package/dist/esm/six-footer.entry.js +1 -1
  508. package/dist/esm/six-footer.entry.js.map +1 -1
  509. package/dist/esm/six-group-label.entry.js +4 -4
  510. package/dist/esm/six-group-label.entry.js.map +1 -1
  511. package/dist/esm/six-header.entry.js +3 -3
  512. package/dist/esm/six-header.entry.js.map +1 -1
  513. package/dist/esm/six-icon-button.entry.js +3 -3
  514. package/dist/esm/six-icon-button.entry.js.map +1 -1
  515. package/dist/esm/six-icon.entry.js +1 -1
  516. package/dist/esm/six-icon.entry.js.map +1 -1
  517. package/dist/esm/six-input.entry.js +10 -7
  518. package/dist/esm/six-input.entry.js.map +1 -1
  519. package/dist/esm/six-item-picker.entry.js +6 -6
  520. package/dist/esm/six-item-picker.entry.js.map +1 -1
  521. package/dist/esm/six-language-switcher.entry.js +1 -1
  522. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  523. package/dist/esm/six-layout-grid.entry.js +1 -1
  524. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  525. package/dist/esm/six-main-container.entry.js +1 -1
  526. package/dist/esm/six-main-container.entry.js.map +1 -1
  527. package/dist/esm/six-menu-divider.entry.js +1 -1
  528. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  529. package/dist/esm/six-menu-item.entry.js +2 -2
  530. package/dist/esm/six-menu-item.entry.js.map +1 -1
  531. package/dist/esm/six-menu-label.entry.js +1 -1
  532. package/dist/esm/six-menu-label.entry.js.map +1 -1
  533. package/dist/esm/six-picto.entry.js +1 -1
  534. package/dist/esm/six-picto.entry.js.map +1 -1
  535. package/dist/esm/six-progress-bar.entry.js +1 -1
  536. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  537. package/dist/esm/six-progress-ring.entry.js +1 -1
  538. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  539. package/dist/esm/six-radio.entry.js +11 -19
  540. package/dist/esm/six-radio.entry.js.map +1 -1
  541. package/dist/esm/six-range.entry.js +9 -6
  542. package/dist/esm/six-range.entry.js.map +1 -1
  543. package/dist/esm/six-root.entry.js +1 -1
  544. package/dist/esm/six-root.entry.js.map +1 -1
  545. package/dist/esm/six-search-field.entry.js +3 -3
  546. package/dist/esm/six-search-field.entry.js.map +1 -1
  547. package/dist/esm/six-select.entry.js +16 -12
  548. package/dist/esm/six-select.entry.js.map +1 -1
  549. package/dist/esm/six-sidebar-item-group.entry.js +4 -3
  550. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  551. package/dist/esm/six-sidebar-item.entry.js +1 -1
  552. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  553. package/dist/esm/six-sidebar.entry.js +2 -2
  554. package/dist/esm/six-sidebar.entry.js.map +1 -1
  555. package/dist/esm/six-spinner.entry.js +1 -1
  556. package/dist/esm/six-spinner.entry.js.map +1 -1
  557. package/dist/esm/six-switch.entry.js +27 -7
  558. package/dist/esm/six-switch.entry.js.map +1 -1
  559. package/dist/esm/six-tab-group.entry.js +46 -51
  560. package/dist/esm/six-tab-group.entry.js.map +1 -1
  561. package/dist/esm/six-tab-panel.entry.js +1 -1
  562. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  563. package/dist/esm/six-tab.entry.js +20 -4
  564. package/dist/esm/six-tab.entry.js.map +1 -1
  565. package/dist/esm/six-tag.entry.js +25 -3
  566. package/dist/esm/six-tag.entry.js.map +1 -1
  567. package/dist/esm/six-textarea.entry.js +26 -27
  568. package/dist/esm/six-textarea.entry.js.map +1 -1
  569. package/dist/esm/six-tile.entry.js +2 -2
  570. package/dist/esm/six-tile.entry.js.map +1 -1
  571. package/dist/esm/six-timepicker.entry.js +10 -15
  572. package/dist/esm/six-timepicker.entry.js.map +1 -1
  573. package/dist/esm/six-tooltip.entry.js +4 -4
  574. package/dist/esm/six-tooltip.entry.js.map +1 -1
  575. package/dist/esm/{slot-2e64df19.js → slot-ad36df3a.js} +1 -1
  576. package/dist/esm/slot-ad36df3a.js.map +1 -0
  577. package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
  578. package/dist/esm/types-59b455aa.js.map +1 -0
  579. package/dist/esm/ui-library.js +4 -7
  580. package/dist/esm/ui-library.js.map +1 -1
  581. package/dist/types/components/six-checkbox/six-checkbox.d.ts +4 -5
  582. package/dist/types/components/six-datepicker/six-datepicker.d.ts +4 -2
  583. package/dist/types/components/six-error/six-error.d.ts +9 -0
  584. package/dist/types/components/six-input/six-input.d.ts +7 -2
  585. package/dist/types/components/six-radio/six-radio.d.ts +0 -5
  586. package/dist/types/components/six-range/six-range.d.ts +4 -1
  587. package/dist/types/components/six-select/six-select.d.ts +4 -1
  588. package/dist/types/components/six-switch/six-switch.d.ts +8 -1
  589. package/dist/types/components/six-tab-group/six-tab-group.d.ts +0 -3
  590. package/dist/types/components/six-tag/six-tag.d.ts +8 -0
  591. package/dist/types/components/six-textarea/six-textarea.d.ts +5 -2
  592. package/dist/types/components/six-timepicker/six-timepicker.d.ts +5 -2
  593. package/dist/types/components.d.ts +109 -24
  594. package/dist/types/functional-components/form-control/form-control.d.ts +6 -2
  595. package/dist/types/stencil-public-runtime.d.ts +15 -2
  596. package/dist/types/utils/animation.d.ts +12 -0
  597. package/dist/types/utils/event-listeners.d.ts +3 -3
  598. package/dist/ui-library/index.esm.js.map +1 -1
  599. package/dist/ui-library/{p-eb8f05a9.js → p-052aa8d3.js} +2 -2
  600. package/dist/ui-library/p-052aa8d3.js.map +1 -0
  601. package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
  602. package/dist/ui-library/p-0f510624.js.map +1 -0
  603. package/dist/ui-library/{p-0b2c6348.js → p-0fdb185d.js} +1 -1
  604. package/dist/ui-library/p-0fdb185d.js.map +1 -0
  605. package/dist/ui-library/{p-e8feb81f.entry.js → p-13b43e04.entry.js} +2 -2
  606. package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
  607. package/dist/ui-library/{p-686b12ec.entry.js → p-14c1ec31.entry.js} +2 -2
  608. package/dist/ui-library/p-14c1ec31.entry.js.map +1 -0
  609. package/dist/ui-library/{p-d87a6f4d.js → p-15559d38.js} +1 -1
  610. package/dist/ui-library/p-15559d38.js.map +1 -0
  611. package/dist/ui-library/{p-97323ad7.entry.js → p-1d5ee1a0.entry.js} +2 -2
  612. package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
  613. package/dist/ui-library/p-22c9b8c3.entry.js +2 -0
  614. package/dist/ui-library/p-22c9b8c3.entry.js.map +1 -0
  615. package/dist/ui-library/p-25bb1752.entry.js +2 -0
  616. package/dist/ui-library/p-25bb1752.entry.js.map +1 -0
  617. package/dist/ui-library/p-264d4ea8.entry.js +2 -0
  618. package/dist/ui-library/p-264d4ea8.entry.js.map +1 -0
  619. package/dist/ui-library/{p-21859bca.entry.js → p-346f9557.entry.js} +2 -2
  620. package/dist/ui-library/p-346f9557.entry.js.map +1 -0
  621. package/dist/ui-library/{p-03a145f5.entry.js → p-37557787.entry.js} +2 -2
  622. package/dist/ui-library/p-37557787.entry.js.map +1 -0
  623. package/dist/ui-library/{p-baa03951.entry.js → p-3cc5addb.entry.js} +2 -2
  624. package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
  625. package/dist/ui-library/p-3f1a5ecb.entry.js +2 -0
  626. package/dist/ui-library/p-3f1a5ecb.entry.js.map +1 -0
  627. package/dist/ui-library/{p-ef3936e5.entry.js → p-411ed539.entry.js} +2 -2
  628. package/dist/ui-library/p-411ed539.entry.js.map +1 -0
  629. package/dist/ui-library/p-4435ff73.entry.js +2 -0
  630. package/dist/ui-library/p-4435ff73.entry.js.map +1 -0
  631. package/dist/ui-library/p-538f3c50.entry.js +2 -0
  632. package/dist/ui-library/p-538f3c50.entry.js.map +1 -0
  633. package/dist/ui-library/{p-0cc08e91.js → p-5654e4c7.js} +1 -1
  634. package/dist/ui-library/p-5654e4c7.js.map +1 -0
  635. package/dist/ui-library/{p-66180e89.entry.js → p-5800663b.entry.js} +2 -2
  636. package/dist/ui-library/p-5800663b.entry.js.map +1 -0
  637. package/dist/ui-library/{p-0fe78f9b.js → p-59210f0b.js} +1 -1
  638. package/dist/ui-library/p-59210f0b.js.map +1 -0
  639. package/dist/ui-library/{p-28be55f0.entry.js → p-5af44076.entry.js} +2 -2
  640. package/dist/ui-library/p-5af44076.entry.js.map +1 -0
  641. package/dist/ui-library/p-5ba3a0fe.entry.js +2 -0
  642. package/dist/ui-library/p-5ba3a0fe.entry.js.map +1 -0
  643. package/dist/ui-library/{p-097cced4.entry.js → p-613283a7.entry.js} +2 -2
  644. package/dist/ui-library/p-613283a7.entry.js.map +1 -0
  645. package/dist/ui-library/p-6153045b.js +3 -0
  646. package/dist/ui-library/p-6153045b.js.map +1 -0
  647. package/dist/ui-library/{p-e19a6c95.entry.js → p-6197fe2f.entry.js} +2 -2
  648. package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
  649. package/dist/ui-library/p-658d9f79.entry.js +2 -0
  650. package/dist/ui-library/p-658d9f79.entry.js.map +1 -0
  651. package/dist/ui-library/p-66fe54b3.entry.js +2 -0
  652. package/dist/ui-library/p-66fe54b3.entry.js.map +1 -0
  653. package/dist/ui-library/{p-8cf72af6.js → p-698bb2c8.js} +1 -1
  654. package/dist/ui-library/p-698bb2c8.js.map +1 -0
  655. package/dist/ui-library/{p-912092c0.entry.js → p-724875b0.entry.js} +2 -2
  656. package/dist/ui-library/p-724875b0.entry.js.map +1 -0
  657. package/dist/ui-library/{p-dd3c76f1.entry.js → p-7afafb9d.entry.js} +2 -2
  658. package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
  659. package/dist/ui-library/{p-60621dc6.js → p-7d95def3.js} +1 -1
  660. package/dist/ui-library/p-7d95def3.js.map +1 -0
  661. package/dist/ui-library/{p-63703ba3.entry.js → p-7e3ad38a.entry.js} +2 -2
  662. package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
  663. package/dist/ui-library/{p-445ba5b8.entry.js → p-878226a0.entry.js} +2 -2
  664. package/dist/ui-library/p-878226a0.entry.js.map +1 -0
  665. package/dist/ui-library/{p-4d408fb4.js → p-8c0971e0.js} +1 -1
  666. package/dist/ui-library/p-8c0971e0.js.map +1 -0
  667. package/dist/ui-library/{p-afcbe9da.entry.js → p-91b51800.entry.js} +2 -2
  668. package/dist/ui-library/p-91b51800.entry.js.map +1 -0
  669. package/dist/ui-library/{p-f0dd77e1.entry.js → p-95fbdd0b.entry.js} +2 -2
  670. package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
  671. package/dist/ui-library/{p-ba74863a.js → p-9ace84c7.js} +1 -1
  672. package/dist/ui-library/p-9ace84c7.js.map +1 -0
  673. package/dist/ui-library/{p-d6798d35.entry.js → p-9b354f5d.entry.js} +2 -2
  674. package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
  675. package/dist/ui-library/{p-3929b0af.entry.js → p-9c1be3fb.entry.js} +2 -2
  676. package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
  677. package/dist/ui-library/{p-cdcde4cd.entry.js → p-a0f290d0.entry.js} +2 -2
  678. package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
  679. package/dist/ui-library/{p-9461417e.entry.js → p-a2035543.entry.js} +2 -2
  680. package/dist/ui-library/p-a2035543.entry.js.map +1 -0
  681. package/dist/ui-library/p-a457fee8.entry.js +2 -0
  682. package/dist/ui-library/p-a457fee8.entry.js.map +1 -0
  683. package/dist/ui-library/{p-09779e47.entry.js → p-a55c7258.entry.js} +2 -2
  684. package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
  685. package/dist/ui-library/{p-6d75f216.entry.js → p-a6a9ee96.entry.js} +2 -2
  686. package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
  687. package/dist/ui-library/p-ab91c2a9.entry.js +2 -0
  688. package/dist/ui-library/p-ab91c2a9.entry.js.map +1 -0
  689. package/dist/ui-library/{p-73597d13.entry.js → p-ac099e6b.entry.js} +2 -2
  690. package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
  691. package/dist/ui-library/{p-bd8f8eef.entry.js → p-ae601a0f.entry.js} +2 -2
  692. package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
  693. package/dist/ui-library/{p-dcd7c547.entry.js → p-b351f889.entry.js} +2 -2
  694. package/dist/ui-library/p-b351f889.entry.js.map +1 -0
  695. package/dist/ui-library/p-b57afbe4.entry.js +2 -0
  696. package/dist/ui-library/p-b57afbe4.entry.js.map +1 -0
  697. package/dist/ui-library/p-b6f47c9d.entry.js +2 -0
  698. package/dist/ui-library/p-b6f47c9d.entry.js.map +1 -0
  699. package/dist/ui-library/{p-72ca96e1.entry.js → p-c03ebf7d.entry.js} +2 -2
  700. package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
  701. package/dist/ui-library/p-cba69e9d.entry.js +2 -0
  702. package/dist/ui-library/p-cba69e9d.entry.js.map +1 -0
  703. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-cd67da3d.entry.js} +2 -2
  704. package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
  705. package/dist/ui-library/{p-5a34c93e.entry.js → p-cdaed936.entry.js} +2 -2
  706. package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
  707. package/dist/ui-library/{p-502ff3d3.entry.js → p-d1bda563.entry.js} +2 -2
  708. package/dist/ui-library/p-d1bda563.entry.js.map +1 -0
  709. package/dist/ui-library/p-db34a6cc.entry.js +2 -0
  710. package/dist/ui-library/p-db34a6cc.entry.js.map +1 -0
  711. package/dist/ui-library/p-db936ad7.entry.js +2 -0
  712. package/dist/ui-library/p-db936ad7.entry.js.map +1 -0
  713. package/dist/ui-library/p-dc4f41d8.entry.js +2 -0
  714. package/dist/ui-library/p-dc4f41d8.entry.js.map +1 -0
  715. package/dist/ui-library/{p-820c23f0.entry.js → p-dfed33c5.entry.js} +2 -2
  716. package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
  717. package/dist/ui-library/p-e5020f0d.js +2 -0
  718. package/dist/ui-library/p-e5020f0d.js.map +1 -0
  719. package/dist/ui-library/p-e775dcb4.entry.js +2 -0
  720. package/dist/ui-library/p-e775dcb4.entry.js.map +1 -0
  721. package/dist/ui-library/{p-8e0b6b7e.entry.js → p-ee950ce2.entry.js} +2 -2
  722. package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
  723. package/dist/ui-library/p-f1dc3a88.entry.js +2 -0
  724. package/dist/ui-library/p-f1dc3a88.entry.js.map +1 -0
  725. package/dist/ui-library/ui-library.css +2 -2
  726. package/dist/ui-library/ui-library.esm.js +1 -1
  727. package/dist/ui-library/ui-library.esm.js.map +1 -1
  728. package/loader/index.d.ts +1 -1
  729. package/package.json +8 -8
  730. package/dist/cjs/event-listeners-b835dfae.js.map +0 -1
  731. package/dist/cjs/execution-control-45c84c46.js.map +0 -1
  732. package/dist/cjs/focus-visible-e0d93a95.js.map +0 -1
  733. package/dist/cjs/form-8cbd4e0e.js.map +0 -1
  734. package/dist/cjs/form-control-8df00a52.js.map +0 -1
  735. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  736. package/dist/cjs/modal-21350fb5.js.map +0 -1
  737. package/dist/cjs/popover-8885d50f.js.map +0 -1
  738. package/dist/cjs/popup-44836aaf.js.map +0 -1
  739. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  740. package/dist/cjs/slot-bccbdb59.js.map +0 -1
  741. package/dist/cjs/types-64878648.js.map +0 -1
  742. package/dist/esm/event-listeners-535f3ad1.js.map +0 -1
  743. package/dist/esm/execution-control-72cc50f4.js.map +0 -1
  744. package/dist/esm/focus-visible-fa7129a0.js.map +0 -1
  745. package/dist/esm/form-control-785c5f79.js.map +0 -1
  746. package/dist/esm/index-5c0f6628.js.map +0 -1
  747. package/dist/esm/modal-b1d96441.js.map +0 -1
  748. package/dist/esm/polyfills/css-shim.js +0 -1
  749. package/dist/esm/popup-678b8592.js.map +0 -1
  750. package/dist/esm/slot-2e64df19.js.map +0 -1
  751. package/dist/esm/types-4b10b413.js.map +0 -1
  752. package/dist/ui-library/p-0045a402.entry.js +0 -2
  753. package/dist/ui-library/p-0045a402.entry.js.map +0 -1
  754. package/dist/ui-library/p-0108fe92.entry.js +0 -2
  755. package/dist/ui-library/p-0108fe92.entry.js.map +0 -1
  756. package/dist/ui-library/p-03a145f5.entry.js.map +0 -1
  757. package/dist/ui-library/p-087fdd96.entry.js +0 -2
  758. package/dist/ui-library/p-087fdd96.entry.js.map +0 -1
  759. package/dist/ui-library/p-09779e47.entry.js.map +0 -1
  760. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  761. package/dist/ui-library/p-0b2c6348.js.map +0 -1
  762. package/dist/ui-library/p-0cc08e91.js.map +0 -1
  763. package/dist/ui-library/p-0fe78f9b.js.map +0 -1
  764. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  765. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  766. package/dist/ui-library/p-2761f908.js +0 -2
  767. package/dist/ui-library/p-2761f908.js.map +0 -1
  768. package/dist/ui-library/p-28be55f0.entry.js.map +0 -1
  769. package/dist/ui-library/p-3929b0af.entry.js.map +0 -1
  770. package/dist/ui-library/p-445ba5b8.entry.js.map +0 -1
  771. package/dist/ui-library/p-4d408fb4.js.map +0 -1
  772. package/dist/ui-library/p-502ff3d3.entry.js.map +0 -1
  773. package/dist/ui-library/p-5a34c93e.entry.js.map +0 -1
  774. package/dist/ui-library/p-60621dc6.js.map +0 -1
  775. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  776. package/dist/ui-library/p-66180e89.entry.js.map +0 -1
  777. package/dist/ui-library/p-686b12ec.entry.js.map +0 -1
  778. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  779. package/dist/ui-library/p-71035abf.entry.js +0 -2
  780. package/dist/ui-library/p-71035abf.entry.js.map +0 -1
  781. package/dist/ui-library/p-724e154d.entry.js +0 -2
  782. package/dist/ui-library/p-724e154d.entry.js.map +0 -1
  783. package/dist/ui-library/p-72ca96e1.entry.js.map +0 -1
  784. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  785. package/dist/ui-library/p-778cf804.entry.js +0 -2
  786. package/dist/ui-library/p-778cf804.entry.js.map +0 -1
  787. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  788. package/dist/ui-library/p-87032e26.entry.js +0 -2
  789. package/dist/ui-library/p-87032e26.entry.js.map +0 -1
  790. package/dist/ui-library/p-8cf72af6.js.map +0 -1
  791. package/dist/ui-library/p-8e0b6b7e.entry.js.map +0 -1
  792. package/dist/ui-library/p-912092c0.entry.js.map +0 -1
  793. package/dist/ui-library/p-92ca6a84.entry.js +0 -2
  794. package/dist/ui-library/p-92ca6a84.entry.js.map +0 -1
  795. package/dist/ui-library/p-9337cdd6.entry.js +0 -2
  796. package/dist/ui-library/p-9337cdd6.entry.js.map +0 -1
  797. package/dist/ui-library/p-9461417e.entry.js.map +0 -1
  798. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  799. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  800. package/dist/ui-library/p-a844cb72.entry.js +0 -2
  801. package/dist/ui-library/p-a844cb72.entry.js.map +0 -1
  802. package/dist/ui-library/p-ac4f4d45.js +0 -3
  803. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  804. package/dist/ui-library/p-afcbe9da.entry.js.map +0 -1
  805. package/dist/ui-library/p-b2bf4ac8.entry.js +0 -2
  806. package/dist/ui-library/p-b2bf4ac8.entry.js.map +0 -1
  807. package/dist/ui-library/p-b3bff992.entry.js +0 -2
  808. package/dist/ui-library/p-b3bff992.entry.js.map +0 -1
  809. package/dist/ui-library/p-b4547fb5.entry.js +0 -2
  810. package/dist/ui-library/p-b4547fb5.entry.js.map +0 -1
  811. package/dist/ui-library/p-ba74863a.js.map +0 -1
  812. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  813. package/dist/ui-library/p-bd8f8eef.entry.js.map +0 -1
  814. package/dist/ui-library/p-c57f16af.entry.js +0 -2
  815. package/dist/ui-library/p-c57f16af.entry.js.map +0 -1
  816. package/dist/ui-library/p-c5cdba08.entry.js +0 -2
  817. package/dist/ui-library/p-c5cdba08.entry.js.map +0 -1
  818. package/dist/ui-library/p-c87810b0.entry.js +0 -2
  819. package/dist/ui-library/p-c87810b0.entry.js.map +0 -1
  820. package/dist/ui-library/p-cdcde4cd.entry.js.map +0 -1
  821. package/dist/ui-library/p-d6798d35.entry.js.map +0 -1
  822. package/dist/ui-library/p-d87a6f4d.js.map +0 -1
  823. package/dist/ui-library/p-dc3f5996.entry.js +0 -2
  824. package/dist/ui-library/p-dc3f5996.entry.js.map +0 -1
  825. package/dist/ui-library/p-dcd7c547.entry.js.map +0 -1
  826. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  827. package/dist/ui-library/p-e07b3f0c.entry.js +0 -2
  828. package/dist/ui-library/p-e07b3f0c.entry.js.map +0 -1
  829. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  830. package/dist/ui-library/p-e8feb81f.entry.js.map +0 -1
  831. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  832. package/dist/ui-library/p-ef3936e5.entry.js.map +0 -1
  833. package/dist/ui-library/p-f0dd77e1.entry.js.map +0 -1
  834. package/readme.md +0 -156
@@ -1,4 +1,4 @@
1
- import { h, Host } from '@stencil/core';
1
+ import { h, Host } from "@stencil/core";
2
2
  let id = 0;
3
3
  /**
4
4
  * @since 1.0
@@ -36,15 +36,31 @@ export class SixTab {
36
36
  this.sixClose.emit();
37
37
  }
38
38
  render() {
39
+ var _a;
40
+ const tabGroup = this.host.closest('six-tab-group');
41
+ const placement = (_a = tabGroup === null || tabGroup === void 0 ? void 0 : tabGroup.placement) !== null && _a !== void 0 ? _a : 'top';
39
42
  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
43
+ // If the user didn't provide an ID, we'll set one, so we can link tabs and tab panels with aria labels
41
44
  h(Host, { id: this.host.id || this.componentId }, h("div", { part: "base", ref: (el) => (this.tab = el), class: {
42
45
  tab: true,
46
+ // Placements
47
+ 'tab--top': placement === 'top',
48
+ 'tab--bottom': placement === 'bottom',
49
+ 'tab--left': placement === 'left',
50
+ 'tab--right': placement === 'right',
43
51
  // States
44
52
  'tab--active': this.active,
45
53
  'tab--closable': this.closable,
46
54
  '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' }, h("slot", null), this.closable && (h("six-icon-button", { name: "close", size: "xSmall", exportparts: "base:close-button", class: "tab__close-button", onClick: this.handleCloseClick, tabIndex: -1, "aria-hidden": "true" })))));
55
+ }, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.disabled || !this.active ? '-1' : '0' }, h("slot", null), this.closable && (h("six-icon-button", { name: "close", size: "xSmall", exportparts: "base:close-button", class: "tab__close-button", onClick: this.handleCloseClick, tabIndex: -1, "aria-hidden": "true" }))), h("div", { class: {
56
+ tab__indicator: true,
57
+ 'tab__indicator--active': this.active,
58
+ // Placements
59
+ 'tab__indicator--top': placement === 'top',
60
+ 'tab__indicator--bottom': placement === 'bottom',
61
+ 'tab__indicator--left': placement === 'left',
62
+ 'tab__indicator--right': placement === 'right',
63
+ } })));
48
64
  }
49
65
  static get is() { return "six-tab"; }
50
66
  static get encapsulation() { return "shadow"; }
@@ -151,7 +167,8 @@ export class SixTab {
151
167
  "references": {
152
168
  "EmptyPayload": {
153
169
  "location": "import",
154
- "path": "../../utils/types"
170
+ "path": "../../utils/types",
171
+ "id": "src/utils/types.ts::EmptyPayload"
155
172
  }
156
173
  }
157
174
  }
@@ -168,10 +185,12 @@ export class SixTab {
168
185
  }],
169
186
  "references": {
170
187
  "Promise": {
171
- "location": "global"
188
+ "location": "global",
189
+ "id": "global::Promise"
172
190
  },
173
191
  "FocusOptions": {
174
- "location": "global"
192
+ "location": "global",
193
+ "id": "global::FocusOptions"
175
194
  }
176
195
  },
177
196
  "return": "Promise<void>"
@@ -187,7 +206,8 @@ export class SixTab {
187
206
  "parameters": [],
188
207
  "references": {
189
208
  "Promise": {
190
- "location": "global"
209
+ "location": "global",
210
+ "id": "global::Promise"
191
211
  }
192
212
  },
193
213
  "return": "Promise<void>"
@@ -1 +1 @@
1
- {"version":3,"file":"six-tab.js","sourceRoot":"","sources":["../../../src/components/six-tab/six-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG/F,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX;;;;;;;;;;GAUG;AAOH,MAAM,OAAO,MAAM;;IACT,gBAAW,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC;iBAMH,EAAE;kBAGD,KAAK;oBAGpB,KAAK;oBAGY,KAAK;;EAKzC,iBAAiB;IACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC3D,CAAC;EAED,6BAA6B;EAE7B,KAAK,CAAC,QAAQ,CAAC,OAAsB;;IACnC,MAAA,IAAI,CAAC,GAAG,0CAAE,KAAK,CAAC,OAAO,CAAC,CAAC;EAC3B,CAAC;EAED,kCAAkC;EAElC,KAAK,CAAC,WAAW;;IACf,MAAA,IAAI,CAAC,GAAG,0CAAE,IAAI,EAAE,CAAC;EACnB,CAAC;EAEO,gBAAgB;IACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;EACvB,CAAC;EAED,MAAM;IACJ,OAAO;IACL,sGAAsG;IACtG,EAAC,IAAI,IAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW;MACxC,WACE,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAC5B,KAAK,EAAE;UACL,GAAG,EAAE,IAAI;UAET,SAAS;UACT,aAAa,EAAE,IAAI,CAAC,MAAM;UAC1B,eAAe,EAAE,IAAI,CAAC,QAAQ;UAC9B,eAAe,EAAE,IAAI,CAAC,QAAQ;SAC/B,EACD,IAAI,EAAC,KAAK,mBACK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAChC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;QAEpD,eAAQ;QACP,IAAI,CAAC,QAAQ,IAAI,CAChB,uBACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,EACb,WAAW,EAAC,mBAAmB,EAC/B,KAAK,EAAC,mBAAmB,EACzB,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,QAAQ,EAAE,CAAC,CAAC,iBACA,MAAM,GAClB,CACH,CACG,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Method, Prop } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The tab's label.\n *\n * @part base - The component's base wrapper.\n * @part close-button - The close button, which is the icon button's base wrapper.\n */\n\n@Component({\n tag: 'six-tab',\n styleUrl: 'six-tab.scss',\n shadow: true,\n})\nexport class SixTab {\n private componentId = `tab-${++id}`;\n private tab?: HTMLElement;\n\n @Element() host!: HTMLSixTabElement;\n\n /** The name of the tab panel the tab will control. The panel must be located in the same tab group. */\n @Prop({ reflect: true }) panel = '';\n\n /** Set to true to draw the tab in an active state. */\n @Prop({ reflect: true }) active = false;\n\n /** When true, the tab will be rendered with a close icon. */\n @Prop() closable = false;\n\n /** Set to true to draw the tab in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Emitted when the tab is closable and the close button is activated. */\n @Event({ eventName: 'six-tab-close' }) sixClose!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleCloseClick = this.handleCloseClick.bind(this);\n }\n\n /** Sets focus to the tab. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.tab?.focus(options);\n }\n\n /** Removes focus from the tab. */\n @Method()\n async removeFocus() {\n this.tab?.blur();\n }\n\n private handleCloseClick() {\n this.sixClose.emit();\n }\n\n render() {\n return (\n // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels\n <Host id={this.host.id || this.componentId}>\n <div\n part=\"base\"\n ref={(el) => (this.tab = el)}\n class={{\n tab: true,\n\n // States\n 'tab--active': this.active,\n 'tab--closable': this.closable,\n 'tab--disabled': this.disabled,\n }}\n role=\"tab\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-selected={this.active ? 'true' : 'false'}\n tabindex={this.disabled || !this.active ? '-1' : '0'}\n >\n <slot />\n {this.closable && (\n <six-icon-button\n name=\"close\"\n size=\"xSmall\"\n exportparts=\"base:close-button\"\n class=\"tab__close-button\"\n onClick={this.handleCloseClick}\n tabIndex={-1}\n aria-hidden=\"true\"\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-tab.js","sourceRoot":"","sources":["../../../src/components/six-tab/six-tab.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Method, Prop } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The tab's label.\n *\n * @part base - The component's base wrapper.\n * @part close-button - The close button, which is the icon button's base wrapper.\n */\n\n@Component({\n tag: 'six-tab',\n styleUrl: 'six-tab.scss',\n shadow: true,\n})\nexport class SixTab {\n private componentId = `tab-${++id}`;\n private tab?: HTMLElement;\n\n @Element() host!: HTMLSixTabElement;\n\n /** The name of the tab panel the tab will control. The panel must be located in the same tab group. */\n @Prop({ reflect: true }) panel = '';\n\n /** Set to true to draw the tab in an active state. */\n @Prop({ reflect: true }) active = false;\n\n /** When true, the tab will be rendered with a close icon. */\n @Prop() closable = false;\n\n /** Set to true to draw the tab in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Emitted when the tab is closable and the close button is activated. */\n @Event({ eventName: 'six-tab-close' }) sixClose!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleCloseClick = this.handleCloseClick.bind(this);\n }\n\n /** Sets focus to the tab. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.tab?.focus(options);\n }\n\n /** Removes focus from the tab. */\n @Method()\n async removeFocus() {\n this.tab?.blur();\n }\n\n private handleCloseClick() {\n this.sixClose.emit();\n }\n\n render() {\n const tabGroup: HTMLSixTabGroupElement | null = this.host.closest('six-tab-group');\n const placement = tabGroup?.placement ?? 'top';\n return (\n // If the user didn't provide an ID, we'll set one, so we can link tabs and tab panels with aria labels\n <Host id={this.host.id || this.componentId}>\n <div\n part=\"base\"\n ref={(el) => (this.tab = el)}\n class={{\n tab: true,\n\n // Placements\n 'tab--top': placement === 'top',\n 'tab--bottom': placement === 'bottom',\n 'tab--left': placement === 'left',\n 'tab--right': placement === 'right',\n\n // States\n 'tab--active': this.active,\n 'tab--closable': this.closable,\n 'tab--disabled': this.disabled,\n }}\n role=\"tab\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-selected={this.active ? 'true' : 'false'}\n tabindex={this.disabled || !this.active ? '-1' : '0'}\n >\n <slot />\n {this.closable && (\n <six-icon-button\n name=\"close\"\n size=\"xSmall\"\n exportparts=\"base:close-button\"\n class=\"tab__close-button\"\n onClick={this.handleCloseClick}\n tabIndex={-1}\n aria-hidden=\"true\"\n />\n )}\n </div>\n <div\n class={{\n tab__indicator: true,\n 'tab__indicator--active': this.active,\n\n // Placements\n 'tab__indicator--top': placement === 'top',\n 'tab__indicator--bottom': placement === 'bottom',\n 'tab__indicator--left': placement === 'left',\n 'tab__indicator--right': placement === 'right',\n }}\n ></div>\n </Host>\n );\n }\n}\n"]}
@@ -6,11 +6,7 @@
6
6
  box-sizing: inherit;
7
7
  }
8
8
 
9
- /**
10
- * @prop --tabs-border-color: The color of the border that separates tabs.
11
- */
12
9
  :host {
13
- --tabs-border-color: var(--six-tab-border-color);
14
10
  display: block;
15
11
  }
16
12
 
@@ -23,13 +19,6 @@
23
19
  display: flex;
24
20
  position: relative;
25
21
  }
26
- .tab-group .tab-group__active-tab-indicator {
27
- position: absolute;
28
- transition: var(--six-transition-fast) transform ease, var(--six-transition-fast) width ease;
29
- }
30
- .tab-group:not(.focus-visible) ::slotted(six-tab) {
31
- --focus-ring: none;
32
- }
33
22
 
34
23
  .tab-group--has-scroll-controls .tab-group__nav-container {
35
24
  position: relative;
@@ -74,11 +63,6 @@
74
63
  flex: 1 1 auto;
75
64
  position: relative;
76
65
  flex-direction: row;
77
- border-bottom: solid var(--six-tab-border-width) var(--tabs-border-color);
78
- }
79
- .tab-group--top .tab-group__active-tab-indicator {
80
- bottom: -2px;
81
- border-bottom: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);
82
66
  }
83
67
  .tab-group--top .tab-group__body {
84
68
  order: 2;
@@ -104,11 +88,6 @@
104
88
  flex: 1 1 auto;
105
89
  position: relative;
106
90
  flex-direction: row;
107
- border-top: solid var(--six-tab-border-width) var(--tabs-border-color);
108
- }
109
- .tab-group--bottom .tab-group__active-tab-indicator {
110
- top: -2px;
111
- border-top: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);
112
91
  }
113
92
  .tab-group--bottom .tab-group__body {
114
93
  order: 1;
@@ -123,11 +102,6 @@
123
102
  .tab-group--left .tab-group__tabs {
124
103
  flex: 0 0 auto;
125
104
  flex-direction: column;
126
- border-right: solid var(--six-tab-border-width) var(--tabs-border-color);
127
- }
128
- .tab-group--left .tab-group__active-tab-indicator {
129
- right: -2px;
130
- border-right: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);
131
105
  }
132
106
  .tab-group--left .tab-group__body {
133
107
  flex: 1 1 auto;
@@ -143,11 +117,6 @@
143
117
  .tab-group--right .tab-group__tabs {
144
118
  flex: 0 0 auto;
145
119
  flex-direction: column;
146
- border-left: solid var(--six-tab-border-width) var(--tabs-border-color);
147
- }
148
- .tab-group--right .tab-group__active-tab-indicator {
149
- left: -2px;
150
- border-left: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);
151
120
  }
152
121
  .tab-group--right .tab-group__body {
153
122
  flex: 1 1 auto;
@@ -1,7 +1,6 @@
1
- import { h } from '@stencil/core';
2
- import { getOffset } from '../../utils/offset';
3
- import { scrollIntoView } from '../../utils/scroll';
4
- import { focusVisible } from '../../utils/focus-visible';
1
+ import { h } from "@stencil/core";
2
+ import { scrollIntoView } from "../../utils/scroll";
3
+ import { flipAnimate } from "../../utils/animation";
5
4
  /**
6
5
  * @since 1.0
7
6
  * @status stable
@@ -42,13 +41,6 @@ export class SixTabGroup {
42
41
  if (tabGroup !== this.host) {
43
42
  return false;
44
43
  }
45
- // Activate a tab
46
- if (['Enter', ' '].includes(event.key)) {
47
- if (tab != null) {
48
- this.setActiveTab(tab);
49
- event.preventDefault();
50
- }
51
- }
52
44
  // Move focus left or right
53
45
  if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {
54
46
  const activeEl = document.activeElement;
@@ -68,6 +60,7 @@ export class SixTabGroup {
68
60
  index = Math.min(tabs.length - 1, index + 1);
69
61
  }
70
62
  tabs[index].setFocus({ preventScroll: true });
63
+ this.setActiveTab(tabs[index]);
71
64
  if (['top', 'bottom'].includes(this.placement)) {
72
65
  scrollIntoView(tabs[index], this.nav, 'horizontal');
73
66
  }
@@ -91,44 +84,10 @@ export class SixTabGroup {
91
84
  behavior: 'smooth',
92
85
  });
93
86
  };
94
- this.syncActiveTabIndicator = () => {
95
- if (this.activeTabIndicator == null || this.nav == null)
96
- return;
97
- const tab = this.getActiveTab();
98
- if (tab != null) {
99
- this.activeTabIndicator.style.display = 'block';
100
- }
101
- else {
102
- this.activeTabIndicator.style.display = 'none';
103
- return;
104
- }
105
- const width = tab.clientWidth;
106
- const height = tab.clientHeight;
107
- const offset = getOffset(tab, this.nav);
108
- const offsetTop = offset.top + this.nav.scrollTop;
109
- const offsetLeft = offset.left + this.nav.scrollLeft;
110
- switch (this.placement) {
111
- case 'top':
112
- case 'bottom':
113
- this.activeTabIndicator.style.width = `${width}px`;
114
- this.activeTabIndicator.style.height = '';
115
- this.activeTabIndicator.style.transform = `translateX(${offsetLeft}px)`;
116
- break;
117
- case 'left':
118
- case 'right':
119
- this.activeTabIndicator.style.width = '';
120
- this.activeTabIndicator.style.height = `${height}px`;
121
- this.activeTabIndicator.style.transform = `translateY(${offsetTop}px)`;
122
- break;
123
- }
124
- };
125
87
  this.hasScrollControls = false;
126
88
  this.placement = 'top';
127
89
  this.noScrollControls = false;
128
90
  }
129
- handlePlacementChange() {
130
- this.syncActiveTabIndicator();
131
- }
132
91
  handleNoScrollControlsChange() {
133
92
  this.updateScrollControls();
134
93
  }
@@ -144,7 +103,6 @@ export class SixTabGroup {
144
103
  }
145
104
  });
146
105
  observer.observe(this.host);
147
- focusVisible.observe(this.tabGroup);
148
106
  this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());
149
107
  this.resizeObserver.observe(this.nav);
150
108
  requestAnimationFrame(() => this.updateScrollControls());
@@ -164,7 +122,6 @@ export class SixTabGroup {
164
122
  return;
165
123
  }
166
124
  this.mutationObserver.disconnect();
167
- focusVisible.unobserve(this.tabGroup);
168
125
  this.resizeObserver.unobserve(this.nav);
169
126
  }
170
127
  /** Shows the specified tab panel. */
@@ -204,15 +161,20 @@ export class SixTabGroup {
204
161
  : ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;
205
162
  }
206
163
  setActiveTab(tab, emitEvents = true) {
164
+ var _a, _b, _c;
207
165
  if (this.nav == null)
208
166
  return;
209
- if (tab != null && tab !== this.activeTab && !tab.disabled) {
167
+ const newIndicator = (_a = tab === null || tab === void 0 ? void 0 : tab.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.tab__indicator');
168
+ const oldIndicator = (_c = (_b = this.getActiveTab()) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.tab__indicator');
169
+ if (oldIndicator != null && newIndicator != null) {
170
+ flipAnimate(newIndicator, oldIndicator);
171
+ }
172
+ if (tab !== this.activeTab && !tab.disabled) {
210
173
  const previousTab = this.activeTab;
211
174
  this.activeTab = tab;
212
175
  // Sync tabs and panels
213
176
  this.getAllTabs().map((el) => (el.active = el === this.activeTab));
214
177
  this.getAllPanels().map((el) => { var _a; return (el.active = el.name === ((_a = this.activeTab) === null || _a === void 0 ? void 0 : _a.panel)); });
215
- this.syncActiveTabIndicator();
216
178
  if (['top', 'bottom'].includes(this.placement)) {
217
179
  scrollIntoView(this.activeTab, this.nav, 'horizontal');
218
180
  }
@@ -247,7 +209,7 @@ export class SixTabGroup {
247
209
  'tab-group--left': this.placement === 'left',
248
210
  'tab-group--right': this.placement === 'right',
249
211
  'tab-group--has-scroll-controls': this.hasScrollControls,
250
- }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { class: "tab-group__nav-container" }, this.hasScrollControls && (h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--left", exportparts: "base:scroll-button", name: "chevron_left", onClick: this.handleScrollLeft })), h("div", { ref: (el) => (this.nav = el), key: "nav", part: "nav", class: "tab-group__nav" }, h("div", { ref: (el) => (this.tabs = el), part: "tabs", class: "tab-group__tabs", role: "tablist" }, h("div", { ref: (el) => (this.activeTabIndicator = el), part: "active-tab-indicator", class: "tab-group__active-tab-indicator" }), h("slot", { name: "nav", onSlotchange: this.syncActiveTabIndicator }))), this.hasScrollControls && (h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--right", exportparts: "base:scroll-button", name: "chevron_right", onClick: this.handleScrollRight }))), h("div", { ref: (el) => (this.body = el), part: "body", class: "tab-group__body" }, h("slot", { onSlotchange: this.syncActiveTabIndicator }))));
212
+ }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { class: "tab-group__nav-container" }, this.hasScrollControls && (h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--left", exportparts: "base:scroll-button", name: "chevron_left", onClick: this.handleScrollLeft })), h("div", { ref: (el) => (this.nav = el), key: "nav", part: "nav", class: "tab-group__nav" }, h("div", { ref: (el) => (this.tabs = el), part: "tabs", class: "tab-group__tabs", role: "tablist" }, h("slot", { name: "nav" }))), this.hasScrollControls && (h("six-icon-button", { class: "tab-group__scroll-button tab-group__scroll-button--right", exportparts: "base:scroll-button", name: "chevron_right", onClick: this.handleScrollRight }))), h("div", { ref: (el) => (this.body = el), part: "body", class: "tab-group__body" }, h("slot", null))));
251
213
  }
252
214
  static get is() { return "six-tab-group"; }
253
215
  static get encapsulation() { return "shadow"; }
@@ -323,7 +285,8 @@ export class SixTabGroup {
323
285
  "references": {
324
286
  "SixTabShowPayload": {
325
287
  "location": "local",
326
- "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-tab-group/six-tab-group.tsx"
288
+ "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-tab-group/six-tab-group.tsx",
289
+ "id": "src/components/six-tab-group/six-tab-group.tsx::SixTabShowPayload"
327
290
  }
328
291
  }
329
292
  }
@@ -343,7 +306,8 @@ export class SixTabGroup {
343
306
  "references": {
344
307
  "SixTabHidePayload": {
345
308
  "location": "local",
346
- "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-tab-group/six-tab-group.tsx"
309
+ "path": "/home/runner/work/six-webcomponents/six-webcomponents/libraries/ui-library/src/components/six-tab-group/six-tab-group.tsx",
310
+ "id": "src/components/six-tab-group/six-tab-group.tsx::SixTabHidePayload"
347
311
  }
348
312
  }
349
313
  }
@@ -360,7 +324,8 @@ export class SixTabGroup {
360
324
  }],
361
325
  "references": {
362
326
  "Promise": {
363
- "location": "global"
327
+ "location": "global",
328
+ "id": "global::Promise"
364
329
  }
365
330
  },
366
331
  "return": "Promise<void>"
@@ -375,9 +340,6 @@ export class SixTabGroup {
375
340
  static get elementRef() { return "host"; }
376
341
  static get watchers() {
377
342
  return [{
378
- "propName": "placement",
379
- "methodName": "handlePlacementChange"
380
- }, {
381
343
  "propName": "noScrollControls",
382
344
  "methodName": "handleNoScrollControlsChange"
383
345
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"six-tab-group.js","sourceRoot":"","sources":["../../../src/components/six-tab-group/six-tab-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getOffset } from '../../utils/offset';\nimport { scrollIntoView } from '../../utils/scroll';\nimport { focusVisible } from '../../utils/focus-visible';\n\nexport interface SixTabShowPayload {\n name: string;\n}\n\nexport interface SixTabHidePayload {\n name: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot nav - Used for grouping tabs in the tab group.\n * @slot - Used for grouping tab panels in the tab group.\n *\n * @part base - The component's base wrapper.\n * @part nav - The tab group navigation container.\n * @part tabs - The container that wraps the slotted tabs.\n * @part active-tab-indicator - An element that displays the currently selected tab. This is a child of the tab's container.\n * @part body - The tab group body where tab panels are slotted in.\n * @part scroll-button - The previous and next scroll buttons that appear when tabs are scrollable.\n */\n@Component({\n tag: 'six-tab-group',\n styleUrl: 'six-tab-group.scss',\n shadow: true,\n})\nexport class SixTabGroup {\n private activeTab?: HTMLSixTabElement;\n private activeTabIndicator?: HTMLElement;\n private body?: HTMLElement;\n private mutationObserver?: MutationObserver;\n private nav?: HTMLElement;\n private resizeObserver?: ResizeObserver;\n private tabGroup?: HTMLElement;\n private tabs?: HTMLElement;\n\n @Element() host!: HTMLSixTabGroupElement;\n\n @State() hasScrollControls = false;\n\n /** The placement of the tabs. */\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @Prop() noScrollControls = false;\n\n @Watch('placement')\n handlePlacementChange() {\n this.syncActiveTabIndicator();\n }\n\n @Watch('noScrollControls')\n handleNoScrollControlsChange() {\n this.updateScrollControls();\n }\n\n /** Emitted when a tab is shown. */\n @Event({ eventName: 'six-tab-show' }) sixTabShow!: EventEmitter<SixTabShowPayload>;\n\n /** Emitted when a tab is hidden. */\n @Event({ eventName: 'six-tab-hide' }) sixTabHide!: EventEmitter<SixTabHidePayload>;\n\n componentDidLoad() {\n if (this.tabGroup == null || this.nav == null) return;\n\n // Set initial tab state when the tabs first become visible\n const observer = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);\n observer.unobserve(entries[0].target);\n }\n });\n observer.observe(this.host);\n\n focusVisible.observe(this.tabGroup);\n\n this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());\n this.resizeObserver.observe(this.nav);\n requestAnimationFrame(() => this.updateScrollControls());\n\n // Update aria labels if the DOM changes\n this.mutationObserver = new MutationObserver((mutations) => {\n if (\n mutations.some((mutation) => {\n return !['aria-labelledby', 'aria-controls'].includes(mutation.attributeName ?? '');\n })\n ) {\n setTimeout(() => this.setAriaLabels());\n }\n });\n this.mutationObserver.observe(this.host, { attributes: true, childList: true, subtree: true });\n }\n\n disconnectedCallback() {\n if (this.mutationObserver == null || this.tabGroup == null || this.nav == null || this.resizeObserver == null) {\n return;\n }\n\n this.mutationObserver.disconnect();\n focusVisible.unobserve(this.tabGroup);\n this.resizeObserver.unobserve(this.nav);\n }\n\n /** Shows the specified tab panel. */\n @Method()\n async show(panel: string) {\n const tabs = this.getAllTabs();\n const tab = tabs.find((el) => el.panel === panel);\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n }\n\n private getAllTabs(includeDisabled = false): HTMLSixTabElement[] {\n const slot = this.tabs?.querySelector('slot');\n if (slot == null) return [];\n\n return [...slot.assignedElements()].filter((el: Element) => {\n return includeDisabled\n ? el.tagName.toLowerCase() === 'six-tab'\n : el.tagName.toLowerCase() === 'six-tab' && !(el as HTMLSixTabElement).disabled;\n }) as [HTMLSixTabElement];\n }\n\n private getAllPanels(): HTMLSixTabPanelElement[] {\n const slot = this.body?.querySelector('slot');\n if (slot == null) return [];\n return [...slot.assignedElements()].filter((el: Element) => el.tagName.toLowerCase() === 'six-tab-panel') as [\n HTMLSixTabPanelElement\n ];\n }\n\n private getActiveTab() {\n return this.getAllTabs().find((el) => el.active);\n }\n\n private handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.nav == null) return;\n\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n // Activate a tab\n if (['Enter', ' '].includes(event.key)) {\n if (tab != null) {\n this.setActiveTab(tab);\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const activeEl = document.activeElement as HTMLSixTabElement;\n\n if (activeEl && activeEl.tagName.toLowerCase() === 'six-tab') {\n const tabs = this.getAllTabs();\n let index = tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = tabs.length - 1;\n } else if (event.key === 'ArrowLeft') {\n index = Math.max(0, index - 1);\n } else if (event.key === 'ArrowRight') {\n index = Math.min(tabs.length - 1, index + 1);\n }\n\n tabs[index].setFocus({ preventScroll: true });\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n };\n\n private handleScrollLeft = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private handleScrollRight = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private updateScrollControls() {\n if (this.nav == null) return;\n\n this.hasScrollControls = this.noScrollControls\n ? false\n : ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n }\n\n private setActiveTab(tab: HTMLSixTabElement, emitEvents = true) {\n if (this.nav == null) return;\n\n if (tab != null && tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync tabs and panels\n this.getAllTabs().map((el) => (el.active = el === this.activeTab));\n this.getAllPanels().map((el) => (el.active = el.name === this.activeTab?.panel));\n this.syncActiveTabIndicator();\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal');\n }\n\n // Emit events\n if (emitEvents) {\n if (previousTab != null) {\n this.sixTabHide.emit({ name: previousTab.panel });\n }\n\n this.sixTabShow.emit({ name: this.activeTab.panel });\n }\n }\n }\n\n private setAriaLabels() {\n const tabs = this.getAllTabs();\n const panels = this.getAllPanels();\n\n // Link each tab with its corresponding panel\n tabs.map((tab) => {\n const panel = panels.find((el) => el.name === tab.panel);\n if (panel != null) {\n tab.setAttribute('aria-controls', panel.getAttribute('id') ?? '');\n panel.setAttribute('aria-labelledby', tab.getAttribute('id') ?? '');\n }\n });\n }\n\n private syncActiveTabIndicator = () => {\n if (this.activeTabIndicator == null || this.nav == null) return;\n\n const tab = this.getActiveTab();\n\n if (tab != null) {\n this.activeTabIndicator.style.display = 'block';\n } else {\n this.activeTabIndicator.style.display = 'none';\n return;\n }\n\n const width = tab.clientWidth;\n const height = tab.clientHeight;\n const offset = getOffset(tab, this.nav);\n const offsetTop = offset.top + this.nav.scrollTop;\n const offsetLeft = offset.left + this.nav.scrollLeft;\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.activeTabIndicator.style.width = `${width}px`;\n this.activeTabIndicator.style.height = '';\n this.activeTabIndicator.style.transform = `translateX(${offsetLeft}px)`;\n break;\n\n case 'left':\n case 'right':\n this.activeTabIndicator.style.width = '';\n this.activeTabIndicator.style.height = `${height}px`;\n this.activeTabIndicator.style.transform = `translateY(${offsetTop}px)`;\n break;\n }\n };\n\n render() {\n return (\n <div\n part=\"base\"\n ref={(el) => (this.tabGroup = el)}\n class={{\n 'tab-group': true,\n\n // Placements\n 'tab-group--top': this.placement === 'top',\n 'tab-group--bottom': this.placement === 'bottom',\n 'tab-group--left': this.placement === 'left',\n 'tab-group--right': this.placement === 'right',\n\n 'tab-group--has-scroll-controls': this.hasScrollControls,\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\">\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--left\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_left\"\n onClick={this.handleScrollLeft}\n />\n )}\n <div ref={(el) => (this.nav = el)} key=\"nav\" part=\"nav\" class=\"tab-group__nav\">\n <div ref={(el) => (this.tabs = el)} part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div\n ref={(el) => (this.activeTabIndicator = el)}\n part=\"active-tab-indicator\"\n class=\"tab-group__active-tab-indicator\"\n />\n <slot name=\"nav\" onSlotchange={this.syncActiveTabIndicator} />\n </div>\n </div>\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--right\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_right\"\n onClick={this.handleScrollRight}\n />\n )}\n </div>\n\n <div ref={(el) => (this.body = el)} part=\"body\" class=\"tab-group__body\">\n <slot onSlotchange={this.syncActiveTabIndicator} />\n </div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-tab-group.js","sourceRoot":"","sources":["../../../src/components/six-tab-group/six-tab-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { scrollIntoView } from '../../utils/scroll';\nimport { flipAnimate } from '../../utils/animation';\n\nexport interface SixTabShowPayload {\n name: string;\n}\n\nexport interface SixTabHidePayload {\n name: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot nav - Used for grouping tabs in the tab group.\n * @slot - Used for grouping tab panels in the tab group.\n *\n * @part base - The component's base wrapper.\n * @part nav - The tab group navigation container.\n * @part tabs - The container that wraps the slotted tabs.\n * @part active-tab-indicator - An element that displays the currently selected tab. This is a child of the tab's container.\n * @part body - The tab group body where tab panels are slotted in.\n * @part scroll-button - The previous and next scroll buttons that appear when tabs are scrollable.\n */\n@Component({\n tag: 'six-tab-group',\n styleUrl: 'six-tab-group.scss',\n shadow: true,\n})\nexport class SixTabGroup {\n private activeTab?: HTMLSixTabElement;\n private body?: HTMLElement;\n private mutationObserver?: MutationObserver;\n private nav?: HTMLElement;\n private resizeObserver?: ResizeObserver;\n private tabGroup?: HTMLElement;\n private tabs?: HTMLElement;\n\n @Element() host!: HTMLSixTabGroupElement;\n\n @State() hasScrollControls = false;\n\n /** The placement of the tabs. */\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @Prop() noScrollControls = false;\n\n @Watch('noScrollControls')\n handleNoScrollControlsChange() {\n this.updateScrollControls();\n }\n\n /** Emitted when a tab is shown. */\n @Event({ eventName: 'six-tab-show' }) sixTabShow!: EventEmitter<SixTabShowPayload>;\n\n /** Emitted when a tab is hidden. */\n @Event({ eventName: 'six-tab-hide' }) sixTabHide!: EventEmitter<SixTabHidePayload>;\n\n componentDidLoad() {\n if (this.tabGroup == null || this.nav == null) return;\n\n // Set initial tab state when the tabs first become visible\n const observer = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);\n observer.unobserve(entries[0].target);\n }\n });\n observer.observe(this.host);\n this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());\n this.resizeObserver.observe(this.nav);\n requestAnimationFrame(() => this.updateScrollControls());\n\n // Update aria labels if the DOM changes\n this.mutationObserver = new MutationObserver((mutations) => {\n if (\n mutations.some((mutation) => {\n return !['aria-labelledby', 'aria-controls'].includes(mutation.attributeName ?? '');\n })\n ) {\n setTimeout(() => this.setAriaLabels());\n }\n });\n this.mutationObserver.observe(this.host, { attributes: true, childList: true, subtree: true });\n }\n\n disconnectedCallback() {\n if (this.mutationObserver == null || this.tabGroup == null || this.nav == null || this.resizeObserver == null) {\n return;\n }\n this.mutationObserver.disconnect();\n this.resizeObserver.unobserve(this.nav);\n }\n\n /** Shows the specified tab panel. */\n @Method()\n async show(panel: string) {\n const tabs = this.getAllTabs();\n const tab = tabs.find((el) => el.panel === panel);\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n }\n\n private getAllTabs(includeDisabled = false): HTMLSixTabElement[] {\n const slot = this.tabs?.querySelector('slot');\n if (slot == null) return [];\n\n return [...slot.assignedElements()].filter((el: Element) => {\n return includeDisabled\n ? el.tagName.toLowerCase() === 'six-tab'\n : el.tagName.toLowerCase() === 'six-tab' && !(el as HTMLSixTabElement).disabled;\n }) as [HTMLSixTabElement];\n }\n\n private getAllPanels(): HTMLSixTabPanelElement[] {\n const slot = this.body?.querySelector('slot');\n if (slot == null) return [];\n return [...slot.assignedElements()].filter((el: Element) => el.tagName.toLowerCase() === 'six-tab-panel') as [\n HTMLSixTabPanelElement\n ];\n }\n\n private getActiveTab() {\n return this.getAllTabs().find((el) => el.active);\n }\n\n private handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.nav == null) return;\n\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n // Move focus left or right\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const activeEl = document.activeElement as HTMLSixTabElement;\n\n if (activeEl && activeEl.tagName.toLowerCase() === 'six-tab') {\n const tabs = this.getAllTabs();\n let index = tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = tabs.length - 1;\n } else if (event.key === 'ArrowLeft') {\n index = Math.max(0, index - 1);\n } else if (event.key === 'ArrowRight') {\n index = Math.min(tabs.length - 1, index + 1);\n }\n\n tabs[index].setFocus({ preventScroll: true });\n this.setActiveTab(tabs[index]);\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n };\n\n private handleScrollLeft = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private handleScrollRight = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private updateScrollControls() {\n if (this.nav == null) return;\n\n this.hasScrollControls = this.noScrollControls\n ? false\n : ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n }\n\n private setActiveTab(tab: HTMLSixTabElement, emitEvents = true) {\n if (this.nav == null) return;\n\n const newIndicator = tab?.shadowRoot?.querySelector('.tab__indicator');\n const oldIndicator = this.getActiveTab()?.shadowRoot?.querySelector('.tab__indicator');\n\n if (oldIndicator != null && newIndicator != null) {\n flipAnimate(newIndicator, oldIndicator);\n }\n\n if (tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync tabs and panels\n this.getAllTabs().map((el) => (el.active = el === this.activeTab));\n this.getAllPanels().map((el) => (el.active = el.name === this.activeTab?.panel));\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal');\n }\n\n // Emit events\n if (emitEvents) {\n if (previousTab != null) {\n this.sixTabHide.emit({ name: previousTab.panel });\n }\n\n this.sixTabShow.emit({ name: this.activeTab.panel });\n }\n }\n }\n\n private setAriaLabels() {\n const tabs = this.getAllTabs();\n const panels = this.getAllPanels();\n\n // Link each tab with its corresponding panel\n tabs.map((tab) => {\n const panel = panels.find((el) => el.name === tab.panel);\n if (panel != null) {\n tab.setAttribute('aria-controls', panel.getAttribute('id') ?? '');\n panel.setAttribute('aria-labelledby', tab.getAttribute('id') ?? '');\n }\n });\n }\n\n render() {\n return (\n <div\n part=\"base\"\n ref={(el) => (this.tabGroup = el)}\n class={{\n 'tab-group': true,\n\n // Placements\n 'tab-group--top': this.placement === 'top',\n 'tab-group--bottom': this.placement === 'bottom',\n 'tab-group--left': this.placement === 'left',\n 'tab-group--right': this.placement === 'right',\n\n 'tab-group--has-scroll-controls': this.hasScrollControls,\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\">\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--left\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_left\"\n onClick={this.handleScrollLeft}\n />\n )}\n <div ref={(el) => (this.nav = el)} key=\"nav\" part=\"nav\" class=\"tab-group__nav\">\n <div ref={(el) => (this.tabs = el)} part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <slot name=\"nav\" />\n </div>\n </div>\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--right\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_right\"\n onClick={this.handleScrollRight}\n />\n )}\n </div>\n\n <div ref={(el) => (this.body = el)} part=\"body\" class=\"tab-group__body\">\n <slot />\n </div>\n </div>\n );\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { h, Host } from '@stencil/core';
1
+ import { h, Host } from "@stencil/core";
2
2
  let id = 0;
3
3
  /**
4
4
  * @since 1.0
@@ -0,0 +1,20 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ import { SixTabPanel } from "../six-tab-panel";
3
+ describe('six-tab-panel', () => {
4
+ it('renders', async () => {
5
+ const page = await newSpecPage({
6
+ components: [SixTabPanel],
7
+ html: `<six-tab-panel></six-tab-panel>`,
8
+ });
9
+ expect(page.root).toEqualHtml(`
10
+ <six-tab-panel id="tab-panel-1" style="display: none;">
11
+ <mock:shadow-root>
12
+ <div aria-hidden="true" aria-selected="false" class="tab-panel" part="base" role="tabpanel">
13
+ <slot></slot>
14
+ </div>
15
+ </mock:shadow-root>
16
+ </six-tab-panel>
17
+ `);
18
+ });
19
+ });
20
+ //# sourceMappingURL=six-tab-panel.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"six-tab-panel.spec.js","sourceRoot":"","sources":["../../../../src/components/six-tab-panel/test/six-tab-panel.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;EAC7B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,WAAW,CAAC;MACzB,IAAI,EAAE,iCAAiC;KACxC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;KAQ7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { SixTabPanel } from '../six-tab-panel';\n\ndescribe('six-tab-panel', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [SixTabPanel],\n html: `<six-tab-panel></six-tab-panel>`,\n });\n expect(page.root).toEqualHtml(`\n <six-tab-panel id=\"tab-panel-1\" style=\"display: none;\">\n <mock:shadow-root>\n <div aria-hidden=\"true\" aria-selected=\"false\" class=\"tab-panel\" part=\"base\" role=\"tabpanel\">\n <slot></slot>\n </div>\n </mock:shadow-root>\n </six-tab-panel>\n `);\n });\n});\n"]}
@@ -8,6 +8,7 @@
8
8
 
9
9
  :host {
10
10
  display: inline-block;
11
+ overflow: hidden;
11
12
  }
12
13
 
13
14
  .tag {
@@ -21,6 +22,11 @@
21
22
  cursor: default;
22
23
  }
23
24
 
25
+ .tag__content {
26
+ text-overflow: ellipsis;
27
+ overflow: hidden;
28
+ }
29
+
24
30
  .tag__clear::part(base) {
25
31
  color: inherit;
26
32
  padding: 0;
@@ -1,4 +1,6 @@
1
- import { h } from '@stencil/core';
1
+ import { h } from "@stencil/core";
2
+ import { getTextContent } from "../../utils/slot";
3
+ import { debounce } from "../../utils/execution-control";
2
4
  /**
3
5
  * @since 1.0
4
6
  * @status stable
@@ -13,6 +15,13 @@ import { h } from '@stencil/core';
13
15
  */
14
16
  export class SixTag {
15
17
  constructor() {
18
+ this.resizeObserver = new ResizeObserver(debounce(() => this.updateTooltip()));
19
+ this.updateTooltip = () => {
20
+ if (this.tooltipElement != null && this.contentSlotElement != null && this.contentElement != null) {
21
+ this.tooltipElement.content = getTextContent(this.contentSlotElement);
22
+ this.tooltipElement.disabled = !(this.contentElement.offsetWidth < this.contentElement.scrollWidth);
23
+ }
24
+ };
16
25
  this.handleClearClick = () => {
17
26
  this.sixClear.emit();
18
27
  };
@@ -21,6 +30,19 @@ export class SixTag {
21
30
  this.pill = false;
22
31
  this.clearable = false;
23
32
  }
33
+ connectedCallback() {
34
+ if (this.contentElement != null) {
35
+ this.resizeObserver.observe(this.contentElement);
36
+ }
37
+ }
38
+ componentDidLoad() {
39
+ if (this.contentElement != null) {
40
+ this.resizeObserver.observe(this.contentElement);
41
+ }
42
+ }
43
+ disconnectedCallback() {
44
+ this.resizeObserver.disconnect();
45
+ }
24
46
  render() {
25
47
  return (h("span", { part: "base", class: {
26
48
  tag: true,
@@ -39,7 +61,7 @@ export class SixTag {
39
61
  // Modifers
40
62
  'tag--pill': this.pill,
41
63
  'tag--clear': this.clearable,
42
- } }, h("span", { part: "content", class: "tag__content" }, h("slot", null)), this.clearable && (h("six-icon-button", { exportparts: "base:clear-button", size: "xSmall", name: "clear", class: "tag__clear", onClick: this.handleClearClick }))));
64
+ } }, h("six-tooltip", { ref: (el) => (this.tooltipElement = el) }, h("span", { ref: (el) => (this.contentElement = el), part: "content", class: "tag__content" }, h("slot", { ref: (el) => (this.contentSlotElement = el) }))), this.clearable && (h("six-icon-button", { exportparts: "base:clear-button", size: "xSmall", name: "clear", class: "tag__clear", onClick: this.handleClearClick }))));
43
65
  }
44
66
  static get is() { return "six-tag"; }
45
67
  static get encapsulation() { return "shadow"; }
@@ -146,7 +168,8 @@ export class SixTag {
146
168
  "references": {
147
169
  "EmptyPayload": {
148
170
  "location": "import",
149
- "path": "../../utils/types"
171
+ "path": "../../utils/types",
172
+ "id": "src/utils/types.ts::EmptyPayload"
150
173
  }
151
174
  }
152
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"six-tag.js","sourceRoot":"","sources":["../../../src/components/six-tag/six-tag.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGxE;;;;;;;;;;;GAWG;AAOH,MAAM,OAAO,MAAM;;IAgBT,qBAAgB,GAAG,GAAG,EAAE;MAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC;gBAhByG,SAAS;gBAGtD,QAAQ;gBAGtC,KAAK;qBAGA,KAAK;;EAS1C,MAAM;IACJ,OAAO,CACL,YACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,GAAG,EAAE,IAAI;QAET,QAAQ;QACR,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;QACvC,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;QACvC,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;QACjC,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;QACvC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;QACrC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;QACrC,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;QAEjC,QAAQ;QACR,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;QACnC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;QACrC,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;QAEnC,WAAW;QACX,WAAW,EAAE,IAAI,CAAC,IAAI;QACtB,YAAY,EAAE,IAAI,CAAC,SAAS;OAC7B;MAED,YAAM,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,cAAc;QACvC,eAAQ,CACH;MAEN,IAAI,CAAC,SAAS,IAAI,CACjB,uBACE,WAAW,EAAC,mBAAmB,EAC/B,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,YAAY,EAClB,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAC9B,CACH,CACI,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The tag's content.\n *\n * @part base - The component's base wrapper.\n * @part content - The tag content.\n * @part clear-button - The clear button.\n */\n\n@Component({\n tag: 'six-tag',\n styleUrl: 'six-tag.scss',\n shadow: true,\n})\nexport class SixTag {\n /** The tag's type. */\n @Prop({ reflect: true }) type: 'primary' | 'success' | 'info' | 'warning' | 'danger' | 'action' | 'text' = 'primary';\n\n /** The tag's size. */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to draw a pill-style tag with rounded edges. */\n @Prop({ reflect: true }) pill = false;\n\n /** Set to true to make the tag clearable. */\n @Prop({ reflect: true }) clearable = false;\n\n /** Emitted when the clear button is activated. */\n @Event({ eventName: 'six-tag-clear' }) sixClear!: EventEmitter<EmptyPayload>;\n\n private handleClearClick = () => {\n this.sixClear.emit();\n };\n\n render() {\n return (\n <span\n part=\"base\"\n class={{\n tag: true,\n\n // Types\n 'tag--primary': this.type === 'primary',\n 'tag--success': this.type === 'success',\n 'tag--info': this.type === 'info',\n 'tag--warning': this.type === 'warning',\n 'tag--danger': this.type === 'danger',\n 'tag--action': this.type === 'action',\n 'tag--text': this.type === 'text',\n\n // Sizes\n 'tag--small': this.size === 'small',\n 'tag--medium': this.size === 'medium',\n 'tag--large': this.size === 'large',\n\n // Modifers\n 'tag--pill': this.pill,\n 'tag--clear': this.clearable,\n }}\n >\n <span part=\"content\" class=\"tag__content\">\n <slot />\n </span>\n\n {this.clearable && (\n <six-icon-button\n exportparts=\"base:clear-button\"\n size=\"xSmall\"\n name=\"clear\"\n class=\"tag__clear\"\n onClick={this.handleClearClick}\n />\n )}\n </span>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-tag.js","sourceRoot":"","sources":["../../../src/components/six-tag/six-tag.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\nimport { getTextContent } from '../../utils/slot';\nimport { debounce } from '../../utils/execution-control';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The tag's content.\n *\n * @part base - The component's base wrapper.\n * @part content - The tag content.\n * @part clear-button - The clear button.\n */\n\n@Component({\n tag: 'six-tag',\n styleUrl: 'six-tag.scss',\n shadow: true,\n})\nexport class SixTag {\n /** The tag's type. */\n @Prop({ reflect: true }) type: 'primary' | 'success' | 'info' | 'warning' | 'danger' | 'action' | 'text' = 'primary';\n\n /** The tag's size. */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to draw a pill-style tag with rounded edges. */\n @Prop({ reflect: true }) pill = false;\n\n /** Set to true to make the tag clearable. */\n @Prop({ reflect: true }) clearable = false;\n\n /** Emitted when the clear button is activated. */\n @Event({ eventName: 'six-tag-clear' }) sixClear!: EventEmitter<EmptyPayload>;\n\n private contentSlotElement: HTMLSlotElement | undefined;\n private tooltipElement: HTMLSixTooltipElement | undefined;\n private contentElement: HTMLElement | undefined;\n private resizeObserver = new ResizeObserver(debounce(() => this.updateTooltip()));\n\n connectedCallback() {\n if (this.contentElement != null) {\n this.resizeObserver.observe(this.contentElement);\n }\n }\n\n componentDidLoad() {\n if (this.contentElement != null) {\n this.resizeObserver.observe(this.contentElement);\n }\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n private updateTooltip = () => {\n if (this.tooltipElement != null && this.contentSlotElement != null && this.contentElement != null) {\n this.tooltipElement.content = getTextContent(this.contentSlotElement);\n this.tooltipElement.disabled = !(this.contentElement.offsetWidth < this.contentElement.scrollWidth);\n }\n };\n\n private handleClearClick = () => {\n this.sixClear.emit();\n };\n\n render() {\n return (\n <span\n part=\"base\"\n class={{\n tag: true,\n\n // Types\n 'tag--primary': this.type === 'primary',\n 'tag--success': this.type === 'success',\n 'tag--info': this.type === 'info',\n 'tag--warning': this.type === 'warning',\n 'tag--danger': this.type === 'danger',\n 'tag--action': this.type === 'action',\n 'tag--text': this.type === 'text',\n\n // Sizes\n 'tag--small': this.size === 'small',\n 'tag--medium': this.size === 'medium',\n 'tag--large': this.size === 'large',\n\n // Modifers\n 'tag--pill': this.pill,\n 'tag--clear': this.clearable,\n }}\n >\n <six-tooltip ref={(el) => (this.tooltipElement = el)}>\n <span ref={(el) => (this.contentElement = el)} part=\"content\" class=\"tag__content\">\n <slot ref={(el) => (this.contentSlotElement = el as HTMLSlotElement)} />\n </span>\n </six-tooltip>\n\n {this.clearable && (\n <six-icon-button\n exportparts=\"base:clear-button\"\n size=\"xSmall\"\n name=\"clear\"\n class=\"tag__clear\"\n onClick={this.handleClearClick}\n />\n )}\n </span>\n );\n }\n}\n"]}