@synergy-design-system/components 2.10.2 → 2.11.0

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 (336) hide show
  1. package/dist/chunks/{chunk.63UP5YZV.js → chunk.2CO2NVIH.js} +6 -6
  2. package/dist/chunks/{chunk.OM5LY7SW.js → chunk.2FDAY6KG.js} +2 -2
  3. package/dist/chunks/{chunk.4RJU3JRS.js → chunk.35XN5YQW.js} +17 -10
  4. package/dist/chunks/chunk.35XN5YQW.js.map +7 -0
  5. package/dist/chunks/{chunk.YI56F4S6.js → chunk.3EY2CJGW.js} +2 -2
  6. package/dist/chunks/{chunk.MSKJVY76.js → chunk.3FJLLXCR.js} +2 -2
  7. package/dist/chunks/{chunk.CWYEWSU2.js → chunk.3MVTZZBQ.js} +2 -2
  8. package/dist/chunks/{chunk.QIXM5QAO.js → chunk.3UFTX7XQ.js} +2 -2
  9. package/dist/chunks/{chunk.TUSYVDNG.js → chunk.3XYKUOSA.js} +3 -3
  10. package/dist/chunks/chunk.3XYKUOSA.js.map +7 -0
  11. package/dist/chunks/{chunk.OXZU2HKF.js → chunk.4IRHZEL2.js} +2 -2
  12. package/dist/chunks/{chunk.UEBFYZL4.js → chunk.4P3FPYGQ.js} +6 -6
  13. package/dist/chunks/{chunk.EBQLSITZ.js → chunk.5SNUBQQN.js} +2 -2
  14. package/dist/chunks/{chunk.OB4SHXTW.js → chunk.5WTQAMIT.js} +3 -3
  15. package/dist/chunks/{chunk.LNY6YUO6.js → chunk.64U5DPTH.js} +2 -2
  16. package/dist/chunks/{chunk.X5PAS7KR.js → chunk.67C446DF.js} +2 -2
  17. package/dist/chunks/{chunk.XBLOPLSG.js → chunk.67KT2SLM.js} +3 -3
  18. package/dist/chunks/{chunk.C3RIFO4H.js → chunk.6O33XJ3X.js} +2 -2
  19. package/dist/chunks/{chunk.COHNCXE2.js → chunk.6OJJ5EQC.js} +2 -2
  20. package/dist/chunks/{chunk.SNLJCC6L.js → chunk.6QDXFWNX.js} +2 -2
  21. package/dist/chunks/{chunk.I44TGPKY.js → chunk.74JAW3N4.js} +5 -5
  22. package/dist/chunks/{chunk.F6ZFOBEI.js → chunk.A5E262NR.js} +2 -2
  23. package/dist/chunks/{chunk.U47W5TZK.js → chunk.AA7UYQAJ.js} +3 -3
  24. package/dist/chunks/{chunk.7L7VOBIG.js → chunk.AJA3OIOC.js} +5 -5
  25. package/dist/chunks/{chunk.ID52I6OH.js → chunk.AONXQRGV.js} +2 -2
  26. package/dist/chunks/{chunk.5JFH3SGK.js → chunk.BD43D4WE.js} +4 -3
  27. package/dist/chunks/chunk.BD43D4WE.js.map +7 -0
  28. package/dist/chunks/{chunk.CYPWCY4S.js → chunk.BOKB2LEP.js} +3 -3
  29. package/dist/chunks/{chunk.BJNF6JKR.js → chunk.BTCNWAF7.js} +2 -2
  30. package/dist/chunks/{chunk.QLEW5NYG.js → chunk.CFDAPGTN.js} +2 -2
  31. package/dist/chunks/{chunk.BN4M6SXT.js → chunk.CK2QKLSZ.js} +3 -3
  32. package/dist/chunks/{chunk.65L6WCR6.js → chunk.D2MANNCI.js} +2 -2
  33. package/dist/chunks/{chunk.ONEE5QZP.js → chunk.D2MMGZTK.js} +2 -2
  34. package/dist/chunks/{chunk.EQJ6P5VY.js → chunk.DCGPDI3G.js} +5 -5
  35. package/dist/chunks/{chunk.35V3TAOT.js → chunk.DFABWKX7.js} +18 -9
  36. package/dist/chunks/{chunk.35V3TAOT.js.map → chunk.DFABWKX7.js.map} +2 -2
  37. package/dist/chunks/chunk.DFIN5XP4.js +79 -0
  38. package/dist/chunks/chunk.DFIN5XP4.js.map +7 -0
  39. package/dist/chunks/{chunk.LBKAFXWM.js → chunk.DKV3VFFJ.js} +2 -2
  40. package/dist/chunks/{chunk.KSCSAGWO.js → chunk.DQCXSZK6.js} +3 -3
  41. package/dist/chunks/{chunk.EZNG7BSP.js → chunk.E7L5W4JG.js} +2 -2
  42. package/dist/chunks/{chunk.V5EXCYKN.js → chunk.EJMSWKH2.js} +2 -2
  43. package/dist/chunks/{chunk.ZMXKGMOQ.js → chunk.EKJTAHHE.js} +3 -3
  44. package/dist/chunks/{chunk.3EFHJEPQ.js → chunk.F5F6D7BG.js} +2 -2
  45. package/dist/chunks/{chunk.U6TFGXE3.js → chunk.FMFVK662.js} +3 -3
  46. package/dist/chunks/{chunk.X7OQSEX2.js → chunk.FQSDLEDV.js} +4 -4
  47. package/dist/chunks/{chunk.55WMAVZI.js → chunk.GFWWUBNH.js} +2 -2
  48. package/dist/chunks/{chunk.G23DQN3P.js → chunk.GKNICA2N.js} +2 -2
  49. package/dist/chunks/{chunk.77OODQEK.js → chunk.GVQYXIOS.js} +2 -2
  50. package/dist/chunks/{chunk.SZT7XVV5.js → chunk.H3NH57FA.js} +4 -4
  51. package/dist/chunks/{chunk.2UZ6WGD2.js → chunk.HDU3KDGC.js} +2 -2
  52. package/dist/chunks/{chunk.KJUDMZQL.js → chunk.HKKSVYTP.js} +2 -2
  53. package/dist/chunks/{chunk.ZD4S3T2U.js → chunk.I5V5TBTQ.js} +2 -2
  54. package/dist/chunks/{chunk.HI6A5JDS.js → chunk.I6LVCMTE.js} +2 -2
  55. package/dist/chunks/{chunk.DILF4NTS.js → chunk.IREIR6KA.js} +2 -2
  56. package/dist/chunks/{chunk.VIXHTZKQ.js → chunk.JCA6F4L6.js} +2 -2
  57. package/dist/chunks/{chunk.X4HKLZCI.js → chunk.JRB7DRBR.js} +2 -2
  58. package/dist/chunks/{chunk.DQIDBZ4W.js → chunk.JVBRCOVJ.js} +2 -2
  59. package/dist/chunks/{chunk.NKAJ7Y5N.js → chunk.K2RV36N7.js} +3 -3
  60. package/dist/chunks/{chunk.YDKCOIO3.js → chunk.K2T2YPOW.js} +2 -2
  61. package/dist/chunks/{chunk.YI456JQR.js → chunk.K4FEZUZR.js} +3 -3
  62. package/dist/chunks/{chunk.VSWCHKJF.js → chunk.K5VCK7UZ.js} +2 -2
  63. package/dist/chunks/{chunk.AIFBZLAG.js → chunk.KLCOD2FE.js} +2 -2
  64. package/dist/chunks/{chunk.SBSWPMEE.js → chunk.KLF642WF.js} +2 -2
  65. package/dist/chunks/{chunk.ITZIZ4HF.js → chunk.KWSECSZM.js} +3 -3
  66. package/dist/chunks/{chunk.OBS3SYSN.js → chunk.KXCQ5XRZ.js} +2 -2
  67. package/dist/chunks/{chunk.FUJKCUQU.js → chunk.LMV4YGVB.js} +120 -16
  68. package/dist/chunks/chunk.LMV4YGVB.js.map +7 -0
  69. package/dist/chunks/{chunk.W4AB6YT6.js → chunk.M2O57JPI.js} +62 -9
  70. package/dist/chunks/chunk.M2O57JPI.js.map +7 -0
  71. package/dist/chunks/{chunk.QSOE7FEI.js → chunk.MFHEVD4S.js} +2 -2
  72. package/dist/chunks/{chunk.4GVPZ7MN.js → chunk.MR76FVEC.js} +2 -2
  73. package/dist/chunks/{chunk.KG73YUXI.js → chunk.NL3RUWYS.js} +49 -1
  74. package/dist/chunks/chunk.NL3RUWYS.js.map +7 -0
  75. package/dist/chunks/{chunk.BSZ6RFHE.js → chunk.NMQPRI52.js} +2 -2
  76. package/dist/chunks/{chunk.JMZQTN66.js → chunk.NQEEDGN5.js} +2 -2
  77. package/dist/chunks/{chunk.4GYVNNIY.js → chunk.O3P7J6GS.js} +3 -3
  78. package/dist/chunks/chunk.OI3HOOCT.js +13 -0
  79. package/dist/chunks/chunk.OI3HOOCT.js.map +7 -0
  80. package/dist/chunks/{chunk.5LHTTV2Y.js → chunk.PBI2JGUC.js} +2 -2
  81. package/dist/chunks/{chunk.MW6REDDI.js → chunk.PECLVBE7.js} +2 -2
  82. package/dist/chunks/{chunk.JQ47GWDL.js → chunk.PKYC7QF3.js} +6 -1
  83. package/dist/chunks/chunk.PKYC7QF3.js.map +7 -0
  84. package/dist/chunks/{chunk.W4H4PZKD.js → chunk.PUXBRQLH.js} +5 -5
  85. package/dist/chunks/{chunk.W4H4PZKD.js.map → chunk.PUXBRQLH.js.map} +2 -2
  86. package/dist/chunks/{chunk.FBYKWYEG.js → chunk.QCV5J2JX.js} +2 -2
  87. package/dist/chunks/{chunk.4CJHDWLS.js → chunk.QDOITOS2.js} +6 -6
  88. package/dist/chunks/{chunk.RJA3VP67.js → chunk.RI6XEQMR.js} +2 -2
  89. package/dist/chunks/{chunk.OBF3X4XA.js → chunk.RV7BELAO.js} +3 -3
  90. package/dist/chunks/{chunk.EDQUG4GS.js → chunk.S5GTUR3T.js} +4 -4
  91. package/dist/chunks/{chunk.SJGUHYQX.js → chunk.SYIBDFRD.js} +2 -2
  92. package/dist/chunks/{chunk.3TN54QCH.js → chunk.SZHPXI4D.js} +2 -2
  93. package/dist/chunks/{chunk.Z4LBSDQQ.js → chunk.TD7N3L4O.js} +2 -2
  94. package/dist/chunks/{chunk.NAKOCW4V.js → chunk.TQ6W2TC6.js} +2 -2
  95. package/dist/chunks/{chunk.4WDUIIGW.js → chunk.TRCRLTVG.js} +2 -2
  96. package/dist/chunks/{chunk.E2VFBJWM.js → chunk.U47WJHSG.js} +2 -2
  97. package/dist/chunks/{chunk.XF2OGXME.js → chunk.UI7YG4DD.js} +3 -3
  98. package/dist/chunks/{chunk.J2OXSQAK.js → chunk.UREJSW6U.js} +9 -8
  99. package/dist/chunks/{chunk.J2OXSQAK.js.map → chunk.UREJSW6U.js.map} +2 -2
  100. package/dist/chunks/{chunk.WVHXHIV3.js → chunk.VBPJP47S.js} +6 -6
  101. package/dist/chunks/{chunk.ANZWKSQQ.js → chunk.VHBHYODZ.js} +2 -2
  102. package/dist/chunks/{chunk.CRUL2A6N.js → chunk.VN7RN2HU.js} +2 -2
  103. package/dist/chunks/{chunk.J5LJA64M.js → chunk.VSJELW2C.js} +3 -3
  104. package/dist/chunks/{chunk.TKOSP7ST.js → chunk.VSM3FPJC.js} +2 -2
  105. package/dist/chunks/{chunk.X7TOECRW.js → chunk.WEXZUPCC.js} +35 -6
  106. package/dist/chunks/{chunk.X7TOECRW.js.map → chunk.WEXZUPCC.js.map} +2 -2
  107. package/dist/chunks/{chunk.NGI67WXT.js → chunk.XOXVVU5C.js} +19 -1
  108. package/dist/chunks/{chunk.NGI67WXT.js.map → chunk.XOXVVU5C.js.map} +2 -2
  109. package/dist/chunks/{chunk.MUNBPFME.js → chunk.YBCKQJK4.js} +9 -7
  110. package/dist/chunks/chunk.YBCKQJK4.js.map +7 -0
  111. package/dist/chunks/{chunk.3U3ZKA5L.js → chunk.YJFYAORA.js} +3 -3
  112. package/dist/chunks/{chunk.SLC6CCXM.js → chunk.ZRDGMIA7.js} +2 -2
  113. package/dist/chunks/{chunk.I74P2GKE.js → chunk.ZY4RYTIT.js} +2 -2
  114. package/dist/components/accordion/accordion.component.js +2 -2
  115. package/dist/components/accordion/accordion.js +3 -3
  116. package/dist/components/alert/alert.component.d.ts +12 -1
  117. package/dist/components/alert/alert.component.js +5 -5
  118. package/dist/components/alert/alert.js +6 -6
  119. package/dist/components/alert/alert.styles.js +1 -1
  120. package/dist/components/badge/badge.component.js +2 -2
  121. package/dist/components/badge/badge.js +3 -3
  122. package/dist/components/breadcrumb/breadcrumb.component.js +3 -3
  123. package/dist/components/breadcrumb/breadcrumb.js +4 -4
  124. package/dist/components/breadcrumb-item/breadcrumb-item.component.js +2 -2
  125. package/dist/components/breadcrumb-item/breadcrumb-item.js +3 -3
  126. package/dist/components/button/button.component.js +4 -4
  127. package/dist/components/button/button.js +5 -5
  128. package/dist/components/button-group/button-group.component.js +2 -2
  129. package/dist/components/button-group/button-group.js +3 -3
  130. package/dist/components/card/card.component.js +2 -2
  131. package/dist/components/card/card.js +3 -3
  132. package/dist/components/checkbox/checkbox.component.js +3 -3
  133. package/dist/components/checkbox/checkbox.js +4 -4
  134. package/dist/components/combobox/combobox.component.js +5 -5
  135. package/dist/components/combobox/combobox.js +6 -6
  136. package/dist/components/combobox/combobox.styles.js +1 -1
  137. package/dist/components/details/details.component.js +3 -3
  138. package/dist/components/details/details.js +4 -4
  139. package/dist/components/dialog/dialog.component.js +4 -4
  140. package/dist/components/dialog/dialog.js +5 -5
  141. package/dist/components/divider/divider.component.js +2 -2
  142. package/dist/components/divider/divider.js +3 -3
  143. package/dist/components/drawer/drawer.component.js +4 -4
  144. package/dist/components/drawer/drawer.js +5 -5
  145. package/dist/components/dropdown/dropdown.component.js +3 -3
  146. package/dist/components/dropdown/dropdown.js +4 -4
  147. package/dist/components/file/file.component.js +5 -5
  148. package/dist/components/file/file.js +6 -6
  149. package/dist/components/header/header.component.js +4 -4
  150. package/dist/components/header/header.js +5 -5
  151. package/dist/components/icon/icon.component.js +2 -2
  152. package/dist/components/icon/icon.js +3 -3
  153. package/dist/components/icon-button/icon-button.component.js +3 -3
  154. package/dist/components/icon-button/icon-button.js +4 -4
  155. package/dist/components/input/input.component.js +4 -4
  156. package/dist/components/input/input.js +5 -5
  157. package/dist/components/menu/menu.component.js +2 -2
  158. package/dist/components/menu/menu.js +3 -3
  159. package/dist/components/menu-item/menu-item.component.js +5 -5
  160. package/dist/components/menu-item/menu-item.js +6 -6
  161. package/dist/components/menu-label/menu-label.component.js +3 -3
  162. package/dist/components/menu-label/menu-label.js +4 -4
  163. package/dist/components/nav-item/nav-item.component.js +3 -3
  164. package/dist/components/nav-item/nav-item.js +4 -4
  165. package/dist/components/optgroup/optgroup.component.js +3 -3
  166. package/dist/components/optgroup/optgroup.js +4 -4
  167. package/dist/components/option/option.component.js +3 -3
  168. package/dist/components/option/option.js +4 -4
  169. package/dist/components/popup/popup.component.js +2 -2
  170. package/dist/components/popup/popup.js +3 -3
  171. package/dist/components/prio-nav/prio-nav.component.js +8 -8
  172. package/dist/components/prio-nav/prio-nav.js +9 -9
  173. package/dist/components/progress-bar/progress-bar.component.js +2 -2
  174. package/dist/components/progress-bar/progress-bar.js +3 -3
  175. package/dist/components/progress-ring/progress-ring.component.js +2 -2
  176. package/dist/components/progress-ring/progress-ring.js +3 -3
  177. package/dist/components/radio/radio.component.js +3 -3
  178. package/dist/components/radio/radio.js +4 -4
  179. package/dist/components/radio-button/radio-button.component.js +2 -2
  180. package/dist/components/radio-button/radio-button.js +3 -3
  181. package/dist/components/radio-group/radio-group.component.js +3 -3
  182. package/dist/components/radio-group/radio-group.js +4 -4
  183. package/dist/components/range/range.component.js +5 -5
  184. package/dist/components/range/range.js +6 -6
  185. package/dist/components/range-tick/range-tick.component.js +2 -2
  186. package/dist/components/range-tick/range-tick.js +3 -3
  187. package/dist/components/resize-observer/resize-observer.component.d.ts +37 -0
  188. package/dist/components/resize-observer/resize-observer.component.js +11 -0
  189. package/dist/components/resize-observer/resize-observer.component.js.map +7 -0
  190. package/dist/components/resize-observer/resize-observer.styles.d.ts +8 -0
  191. package/dist/components/resize-observer/resize-observer.styles.js +8 -0
  192. package/dist/components/resize-observer/resize-observer.styles.js.map +7 -0
  193. package/dist/components/select/select.component.js +8 -8
  194. package/dist/components/select/select.js +9 -9
  195. package/dist/components/select/select.styles.js +1 -1
  196. package/dist/components/side-nav/side-nav.component.js +6 -6
  197. package/dist/components/side-nav/side-nav.js +7 -7
  198. package/dist/components/spinner/spinner.component.js +2 -2
  199. package/dist/components/spinner/spinner.js +3 -3
  200. package/dist/components/switch/switch.component.js +3 -3
  201. package/dist/components/switch/switch.js +4 -4
  202. package/dist/components/tab/tab.component.js +4 -4
  203. package/dist/components/tab/tab.js +5 -5
  204. package/dist/components/tab-group/tab-group.component.d.ts +15 -0
  205. package/dist/components/tab-group/tab-group.component.js +8 -6
  206. package/dist/components/tab-group/tab-group.custom.styles.js +1 -1
  207. package/dist/components/tab-group/tab-group.js +9 -7
  208. package/dist/components/tab-group/tab-group.styles.js +1 -1
  209. package/dist/components/tab-panel/tab-panel.component.js +2 -2
  210. package/dist/components/tab-panel/tab-panel.js +3 -3
  211. package/dist/components/tag/tag.component.js +5 -5
  212. package/dist/components/tag/tag.js +6 -6
  213. package/dist/components/textarea/textarea.component.js +2 -2
  214. package/dist/components/textarea/textarea.js +3 -3
  215. package/dist/components/tooltip/tooltip.component.js +4 -4
  216. package/dist/components/tooltip/tooltip.js +5 -5
  217. package/dist/custom-elements.json +224 -5
  218. package/dist/events/events.d.ts +1 -0
  219. package/dist/events/syn-after-hide.d.ts +3 -0
  220. package/dist/events/syn-after-show.d.ts +3 -0
  221. package/dist/events/syn-blur.d.ts +3 -0
  222. package/dist/events/syn-change.d.ts +3 -0
  223. package/dist/events/syn-clear.d.ts +3 -0
  224. package/dist/events/syn-close.d.ts +3 -0
  225. package/dist/events/syn-error.d.ts +3 -0
  226. package/dist/events/syn-focus.d.ts +3 -0
  227. package/dist/events/syn-hide.d.ts +3 -0
  228. package/dist/events/syn-initial-focus.d.ts +3 -0
  229. package/dist/events/syn-input.d.ts +3 -0
  230. package/dist/events/syn-invalid.d.ts +3 -0
  231. package/dist/events/syn-load.d.ts +3 -0
  232. package/dist/events/syn-remove.d.ts +3 -0
  233. package/dist/events/syn-reposition.d.ts +3 -0
  234. package/dist/events/syn-request-close.d.ts +3 -0
  235. package/dist/events/syn-resize.d.ts +17 -0
  236. package/dist/events/syn-select.d.ts +3 -0
  237. package/dist/events/syn-show.d.ts +3 -0
  238. package/dist/events/syn-tab-hide.d.ts +3 -0
  239. package/dist/events/syn-tab-show.d.ts +3 -0
  240. package/dist/internal/scrollend-polyfill.d.ts +7 -0
  241. package/dist/internal/synergy-element.d.ts +4 -0
  242. package/dist/styles/index.css +1 -1
  243. package/dist/synergy.js +107 -105
  244. package/dist/vscode.html-custom-data.json +22 -0
  245. package/package.json +22 -22
  246. package/dist/chunks/chunk.4RJU3JRS.js.map +0 -7
  247. package/dist/chunks/chunk.5JFH3SGK.js.map +0 -7
  248. package/dist/chunks/chunk.FUJKCUQU.js.map +0 -7
  249. package/dist/chunks/chunk.JQ47GWDL.js.map +0 -7
  250. package/dist/chunks/chunk.KG73YUXI.js.map +0 -7
  251. package/dist/chunks/chunk.MUNBPFME.js.map +0 -7
  252. package/dist/chunks/chunk.TUSYVDNG.js.map +0 -7
  253. package/dist/chunks/chunk.W4AB6YT6.js.map +0 -7
  254. /package/dist/chunks/{chunk.63UP5YZV.js.map → chunk.2CO2NVIH.js.map} +0 -0
  255. /package/dist/chunks/{chunk.OM5LY7SW.js.map → chunk.2FDAY6KG.js.map} +0 -0
  256. /package/dist/chunks/{chunk.YI56F4S6.js.map → chunk.3EY2CJGW.js.map} +0 -0
  257. /package/dist/chunks/{chunk.MSKJVY76.js.map → chunk.3FJLLXCR.js.map} +0 -0
  258. /package/dist/chunks/{chunk.CWYEWSU2.js.map → chunk.3MVTZZBQ.js.map} +0 -0
  259. /package/dist/chunks/{chunk.QIXM5QAO.js.map → chunk.3UFTX7XQ.js.map} +0 -0
  260. /package/dist/chunks/{chunk.OXZU2HKF.js.map → chunk.4IRHZEL2.js.map} +0 -0
  261. /package/dist/chunks/{chunk.UEBFYZL4.js.map → chunk.4P3FPYGQ.js.map} +0 -0
  262. /package/dist/chunks/{chunk.EBQLSITZ.js.map → chunk.5SNUBQQN.js.map} +0 -0
  263. /package/dist/chunks/{chunk.OB4SHXTW.js.map → chunk.5WTQAMIT.js.map} +0 -0
  264. /package/dist/chunks/{chunk.LNY6YUO6.js.map → chunk.64U5DPTH.js.map} +0 -0
  265. /package/dist/chunks/{chunk.X5PAS7KR.js.map → chunk.67C446DF.js.map} +0 -0
  266. /package/dist/chunks/{chunk.XBLOPLSG.js.map → chunk.67KT2SLM.js.map} +0 -0
  267. /package/dist/chunks/{chunk.C3RIFO4H.js.map → chunk.6O33XJ3X.js.map} +0 -0
  268. /package/dist/chunks/{chunk.COHNCXE2.js.map → chunk.6OJJ5EQC.js.map} +0 -0
  269. /package/dist/chunks/{chunk.SNLJCC6L.js.map → chunk.6QDXFWNX.js.map} +0 -0
  270. /package/dist/chunks/{chunk.I44TGPKY.js.map → chunk.74JAW3N4.js.map} +0 -0
  271. /package/dist/chunks/{chunk.F6ZFOBEI.js.map → chunk.A5E262NR.js.map} +0 -0
  272. /package/dist/chunks/{chunk.U47W5TZK.js.map → chunk.AA7UYQAJ.js.map} +0 -0
  273. /package/dist/chunks/{chunk.7L7VOBIG.js.map → chunk.AJA3OIOC.js.map} +0 -0
  274. /package/dist/chunks/{chunk.ID52I6OH.js.map → chunk.AONXQRGV.js.map} +0 -0
  275. /package/dist/chunks/{chunk.CYPWCY4S.js.map → chunk.BOKB2LEP.js.map} +0 -0
  276. /package/dist/chunks/{chunk.BJNF6JKR.js.map → chunk.BTCNWAF7.js.map} +0 -0
  277. /package/dist/chunks/{chunk.QLEW5NYG.js.map → chunk.CFDAPGTN.js.map} +0 -0
  278. /package/dist/chunks/{chunk.BN4M6SXT.js.map → chunk.CK2QKLSZ.js.map} +0 -0
  279. /package/dist/chunks/{chunk.65L6WCR6.js.map → chunk.D2MANNCI.js.map} +0 -0
  280. /package/dist/chunks/{chunk.ONEE5QZP.js.map → chunk.D2MMGZTK.js.map} +0 -0
  281. /package/dist/chunks/{chunk.EQJ6P5VY.js.map → chunk.DCGPDI3G.js.map} +0 -0
  282. /package/dist/chunks/{chunk.LBKAFXWM.js.map → chunk.DKV3VFFJ.js.map} +0 -0
  283. /package/dist/chunks/{chunk.KSCSAGWO.js.map → chunk.DQCXSZK6.js.map} +0 -0
  284. /package/dist/chunks/{chunk.EZNG7BSP.js.map → chunk.E7L5W4JG.js.map} +0 -0
  285. /package/dist/chunks/{chunk.V5EXCYKN.js.map → chunk.EJMSWKH2.js.map} +0 -0
  286. /package/dist/chunks/{chunk.ZMXKGMOQ.js.map → chunk.EKJTAHHE.js.map} +0 -0
  287. /package/dist/chunks/{chunk.3EFHJEPQ.js.map → chunk.F5F6D7BG.js.map} +0 -0
  288. /package/dist/chunks/{chunk.U6TFGXE3.js.map → chunk.FMFVK662.js.map} +0 -0
  289. /package/dist/chunks/{chunk.X7OQSEX2.js.map → chunk.FQSDLEDV.js.map} +0 -0
  290. /package/dist/chunks/{chunk.55WMAVZI.js.map → chunk.GFWWUBNH.js.map} +0 -0
  291. /package/dist/chunks/{chunk.G23DQN3P.js.map → chunk.GKNICA2N.js.map} +0 -0
  292. /package/dist/chunks/{chunk.77OODQEK.js.map → chunk.GVQYXIOS.js.map} +0 -0
  293. /package/dist/chunks/{chunk.SZT7XVV5.js.map → chunk.H3NH57FA.js.map} +0 -0
  294. /package/dist/chunks/{chunk.2UZ6WGD2.js.map → chunk.HDU3KDGC.js.map} +0 -0
  295. /package/dist/chunks/{chunk.KJUDMZQL.js.map → chunk.HKKSVYTP.js.map} +0 -0
  296. /package/dist/chunks/{chunk.ZD4S3T2U.js.map → chunk.I5V5TBTQ.js.map} +0 -0
  297. /package/dist/chunks/{chunk.HI6A5JDS.js.map → chunk.I6LVCMTE.js.map} +0 -0
  298. /package/dist/chunks/{chunk.DILF4NTS.js.map → chunk.IREIR6KA.js.map} +0 -0
  299. /package/dist/chunks/{chunk.VIXHTZKQ.js.map → chunk.JCA6F4L6.js.map} +0 -0
  300. /package/dist/chunks/{chunk.X4HKLZCI.js.map → chunk.JRB7DRBR.js.map} +0 -0
  301. /package/dist/chunks/{chunk.DQIDBZ4W.js.map → chunk.JVBRCOVJ.js.map} +0 -0
  302. /package/dist/chunks/{chunk.NKAJ7Y5N.js.map → chunk.K2RV36N7.js.map} +0 -0
  303. /package/dist/chunks/{chunk.YDKCOIO3.js.map → chunk.K2T2YPOW.js.map} +0 -0
  304. /package/dist/chunks/{chunk.YI456JQR.js.map → chunk.K4FEZUZR.js.map} +0 -0
  305. /package/dist/chunks/{chunk.VSWCHKJF.js.map → chunk.K5VCK7UZ.js.map} +0 -0
  306. /package/dist/chunks/{chunk.AIFBZLAG.js.map → chunk.KLCOD2FE.js.map} +0 -0
  307. /package/dist/chunks/{chunk.SBSWPMEE.js.map → chunk.KLF642WF.js.map} +0 -0
  308. /package/dist/chunks/{chunk.ITZIZ4HF.js.map → chunk.KWSECSZM.js.map} +0 -0
  309. /package/dist/chunks/{chunk.OBS3SYSN.js.map → chunk.KXCQ5XRZ.js.map} +0 -0
  310. /package/dist/chunks/{chunk.QSOE7FEI.js.map → chunk.MFHEVD4S.js.map} +0 -0
  311. /package/dist/chunks/{chunk.4GVPZ7MN.js.map → chunk.MR76FVEC.js.map} +0 -0
  312. /package/dist/chunks/{chunk.BSZ6RFHE.js.map → chunk.NMQPRI52.js.map} +0 -0
  313. /package/dist/chunks/{chunk.JMZQTN66.js.map → chunk.NQEEDGN5.js.map} +0 -0
  314. /package/dist/chunks/{chunk.4GYVNNIY.js.map → chunk.O3P7J6GS.js.map} +0 -0
  315. /package/dist/chunks/{chunk.5LHTTV2Y.js.map → chunk.PBI2JGUC.js.map} +0 -0
  316. /package/dist/chunks/{chunk.MW6REDDI.js.map → chunk.PECLVBE7.js.map} +0 -0
  317. /package/dist/chunks/{chunk.FBYKWYEG.js.map → chunk.QCV5J2JX.js.map} +0 -0
  318. /package/dist/chunks/{chunk.4CJHDWLS.js.map → chunk.QDOITOS2.js.map} +0 -0
  319. /package/dist/chunks/{chunk.RJA3VP67.js.map → chunk.RI6XEQMR.js.map} +0 -0
  320. /package/dist/chunks/{chunk.OBF3X4XA.js.map → chunk.RV7BELAO.js.map} +0 -0
  321. /package/dist/chunks/{chunk.EDQUG4GS.js.map → chunk.S5GTUR3T.js.map} +0 -0
  322. /package/dist/chunks/{chunk.SJGUHYQX.js.map → chunk.SYIBDFRD.js.map} +0 -0
  323. /package/dist/chunks/{chunk.3TN54QCH.js.map → chunk.SZHPXI4D.js.map} +0 -0
  324. /package/dist/chunks/{chunk.Z4LBSDQQ.js.map → chunk.TD7N3L4O.js.map} +0 -0
  325. /package/dist/chunks/{chunk.NAKOCW4V.js.map → chunk.TQ6W2TC6.js.map} +0 -0
  326. /package/dist/chunks/{chunk.4WDUIIGW.js.map → chunk.TRCRLTVG.js.map} +0 -0
  327. /package/dist/chunks/{chunk.E2VFBJWM.js.map → chunk.U47WJHSG.js.map} +0 -0
  328. /package/dist/chunks/{chunk.XF2OGXME.js.map → chunk.UI7YG4DD.js.map} +0 -0
  329. /package/dist/chunks/{chunk.WVHXHIV3.js.map → chunk.VBPJP47S.js.map} +0 -0
  330. /package/dist/chunks/{chunk.ANZWKSQQ.js.map → chunk.VHBHYODZ.js.map} +0 -0
  331. /package/dist/chunks/{chunk.CRUL2A6N.js.map → chunk.VN7RN2HU.js.map} +0 -0
  332. /package/dist/chunks/{chunk.J5LJA64M.js.map → chunk.VSJELW2C.js.map} +0 -0
  333. /package/dist/chunks/{chunk.TKOSP7ST.js.map → chunk.VSM3FPJC.js.map} +0 -0
  334. /package/dist/chunks/{chunk.3U3ZKA5L.js.map → chunk.YJFYAORA.js.map} +0 -0
  335. /package/dist/chunks/{chunk.SLC6CCXM.js.map → chunk.ZRDGMIA7.js.map} +0 -0
  336. /package/dist/chunks/{chunk.I74P2GKE.js.map → chunk.ZY4RYTIT.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRange
3
- } from "./chunk.J5LJA64M.js";
3
+ } from "./chunk.VSJELW2C.js";
4
4
 
5
5
  // src/components/range/range.ts
6
6
  var range_default = SynRange;
@@ -9,4 +9,4 @@ SynRange.define("syn-range");
9
9
  export {
10
10
  range_default
11
11
  };
12
- //# sourceMappingURL=chunk.2UZ6WGD2.js.map
12
+ //# sourceMappingURL=chunk.HDU3KDGC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynInput
3
- } from "./chunk.EDQUG4GS.js";
3
+ } from "./chunk.S5GTUR3T.js";
4
4
 
5
5
  // src/components/input/input.ts
6
6
  var input_default = SynInput;
@@ -9,4 +9,4 @@ SynInput.define("syn-input");
9
9
  export {
10
10
  input_default
11
11
  };
12
- //# sourceMappingURL=chunk.KJUDMZQL.js.map
12
+ //# sourceMappingURL=chunk.HKKSVYTP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynSpinner
3
- } from "./chunk.BJNF6JKR.js";
3
+ } from "./chunk.BTCNWAF7.js";
4
4
 
5
5
  // src/components/spinner/spinner.ts
6
6
  var spinner_default = SynSpinner;
@@ -9,4 +9,4 @@ SynSpinner.define("syn-spinner");
9
9
  export {
10
10
  spinner_default
11
11
  };
12
- //# sourceMappingURL=chunk.ZD4S3T2U.js.map
12
+ //# sourceMappingURL=chunk.I5V5TBTQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynTooltip
3
- } from "./chunk.WVHXHIV3.js";
3
+ } from "./chunk.VBPJP47S.js";
4
4
 
5
5
  // src/components/tooltip/tooltip.ts
6
6
  var tooltip_default = SynTooltip;
@@ -9,4 +9,4 @@ SynTooltip.define("syn-tooltip");
9
9
  export {
10
10
  tooltip_default
11
11
  };
12
- //# sourceMappingURL=chunk.HI6A5JDS.js.map
12
+ //# sourceMappingURL=chunk.I6LVCMTE.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRangeTick
3
- } from "./chunk.77OODQEK.js";
3
+ } from "./chunk.GVQYXIOS.js";
4
4
 
5
5
  // src/components/range-tick/range-tick.ts
6
6
  var range_tick_default = SynRangeTick;
@@ -9,4 +9,4 @@ SynRangeTick.define("syn-range-tick");
9
9
  export {
10
10
  range_tick_default
11
11
  };
12
- //# sourceMappingURL=chunk.DILF4NTS.js.map
12
+ //# sourceMappingURL=chunk.IREIR6KA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynDialog
3
- } from "./chunk.XF2OGXME.js";
3
+ } from "./chunk.UI7YG4DD.js";
4
4
 
5
5
  // src/components/dialog/dialog.ts
6
6
  var dialog_default = SynDialog;
@@ -9,4 +9,4 @@ SynDialog.define("syn-dialog");
9
9
  export {
10
10
  dialog_default
11
11
  };
12
- //# sourceMappingURL=chunk.VIXHTZKQ.js.map
12
+ //# sourceMappingURL=chunk.JCA6F4L6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynDropdown
3
- } from "./chunk.ITZIZ4HF.js";
3
+ } from "./chunk.KWSECSZM.js";
4
4
 
5
5
  // src/components/dropdown/dropdown.ts
6
6
  var dropdown_default = SynDropdown;
@@ -9,4 +9,4 @@ SynDropdown.define("syn-dropdown");
9
9
  export {
10
10
  dropdown_default
11
11
  };
12
- //# sourceMappingURL=chunk.X4HKLZCI.js.map
12
+ //# sourceMappingURL=chunk.JRB7DRBR.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynProgressBar
3
- } from "./chunk.YI56F4S6.js";
3
+ } from "./chunk.3EY2CJGW.js";
4
4
 
5
5
  // src/components/progress-bar/progress-bar.ts
6
6
  var progress_bar_default = SynProgressBar;
@@ -9,4 +9,4 @@ SynProgressBar.define("syn-progress-bar");
9
9
  export {
10
10
  progress_bar_default
11
11
  };
12
- //# sourceMappingURL=chunk.DQIDBZ4W.js.map
12
+ //# sourceMappingURL=chunk.JVBRCOVJ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk.GVNVZMMM.js";
4
4
  import {
5
5
  icon_default
6
- } from "./chunk.MW6REDDI.js";
6
+ } from "./chunk.PECLVBE7.js";
7
7
  import {
8
8
  HasSlotController
9
9
  } from "./chunk.WVVQK5TE.js";
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  SynergyElement,
18
18
  component_styles_default
19
- } from "./chunk.X7TOECRW.js";
19
+ } from "./chunk.WEXZUPCC.js";
20
20
  import {
21
21
  __decorateClass
22
22
  } from "./chunk.2GFK6XTO.js";
@@ -180,4 +180,4 @@ __decorateClass([
180
180
  export {
181
181
  SynHeader
182
182
  };
183
- //# sourceMappingURL=chunk.NKAJ7Y5N.js.map
183
+ //# sourceMappingURL=chunk.K2RV36N7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRadioGroup
3
- } from "./chunk.3U3ZKA5L.js";
3
+ } from "./chunk.YJFYAORA.js";
4
4
 
5
5
  // src/components/radio-group/radio-group.ts
6
6
  var radio_group_default = SynRadioGroup;
@@ -9,4 +9,4 @@ SynRadioGroup.define("syn-radio-group");
9
9
  export {
10
10
  radio_group_default
11
11
  };
12
- //# sourceMappingURL=chunk.YDKCOIO3.js.map
12
+ //# sourceMappingURL=chunk.K2T2YPOW.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk.BBUFEDXF.js";
7
7
  import {
8
8
  SynIconButton
9
- } from "./chunk.U47W5TZK.js";
9
+ } from "./chunk.AA7UYQAJ.js";
10
10
  import {
11
11
  LocalizeController
12
12
  } from "./chunk.GIU3H3J3.js";
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  SynergyElement,
18
18
  component_styles_default
19
- } from "./chunk.X7TOECRW.js";
19
+ } from "./chunk.WEXZUPCC.js";
20
20
  import {
21
21
  __decorateClass
22
22
  } from "./chunk.2GFK6XTO.js";
@@ -116,4 +116,4 @@ __decorateClass([
116
116
  export {
117
117
  SynTab
118
118
  };
119
- //# sourceMappingURL=chunk.YI456JQR.js.map
119
+ //# sourceMappingURL=chunk.K4FEZUZR.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynCombobox
3
- } from "./chunk.EQJ6P5VY.js";
3
+ } from "./chunk.DCGPDI3G.js";
4
4
 
5
5
  // src/components/combobox/combobox.ts
6
6
  var combobox_default = SynCombobox;
@@ -9,4 +9,4 @@ SynCombobox.define("syn-combobox");
9
9
  export {
10
10
  combobox_default
11
11
  };
12
- //# sourceMappingURL=chunk.VSWCHKJF.js.map
12
+ //# sourceMappingURL=chunk.K5VCK7UZ.js.map
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  SynergyElement,
12
12
  component_styles_default
13
- } from "./chunk.X7TOECRW.js";
13
+ } from "./chunk.WEXZUPCC.js";
14
14
  import {
15
15
  __decorateClass
16
16
  } from "./chunk.2GFK6XTO.js";
@@ -62,4 +62,4 @@ __decorateClass([
62
62
  export {
63
63
  SynTabPanel
64
64
  };
65
- //# sourceMappingURL=chunk.AIFBZLAG.js.map
65
+ //# sourceMappingURL=chunk.KLCOD2FE.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynBadge
3
- } from "./chunk.5LHTTV2Y.js";
3
+ } from "./chunk.PBI2JGUC.js";
4
4
 
5
5
  // src/components/badge/badge.ts
6
6
  var badge_default = SynBadge;
@@ -9,4 +9,4 @@ SynBadge.define("syn-badge");
9
9
  export {
10
10
  badge_default
11
11
  };
12
- //# sourceMappingURL=chunk.SBSWPMEE.js.map
12
+ //# sourceMappingURL=chunk.KLF642WF.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk.POGMEL53.js";
10
10
  import {
11
11
  SynPopup
12
- } from "./chunk.TUSYVDNG.js";
12
+ } from "./chunk.3XYKUOSA.js";
13
13
  import {
14
14
  waitForEvent
15
15
  } from "./chunk.C2ENQBPM.js";
@@ -30,7 +30,7 @@ import {
30
30
  import {
31
31
  SynergyElement,
32
32
  component_styles_default
33
- } from "./chunk.X7TOECRW.js";
33
+ } from "./chunk.WEXZUPCC.js";
34
34
  import {
35
35
  __decorateClass
36
36
  } from "./chunk.2GFK6XTO.js";
@@ -372,4 +372,4 @@ setDefaultAnimation("dropdown.hide", {
372
372
  export {
373
373
  SynDropdown
374
374
  };
375
- //# sourceMappingURL=chunk.ITZIZ4HF.js.map
375
+ //# sourceMappingURL=chunk.KWSECSZM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynAlert
3
- } from "./chunk.W4AB6YT6.js";
3
+ } from "./chunk.M2O57JPI.js";
4
4
 
5
5
  // src/components/alert/alert.ts
6
6
  var alert_default = SynAlert;
@@ -9,4 +9,4 @@ SynAlert.define("syn-alert");
9
9
  export {
10
10
  alert_default
11
11
  };
12
- //# sourceMappingURL=chunk.OBS3SYSN.js.map
12
+ //# sourceMappingURL=chunk.KXCQ5XRZ.js.map
@@ -1,15 +1,18 @@
1
+ import {
2
+ tab_group_custom_styles_default
3
+ } from "./chunk.XOXVVU5C.js";
1
4
  import {
2
5
  tab_group_styles_default
3
- } from "./chunk.JQ47GWDL.js";
6
+ } from "./chunk.PKYC7QF3.js";
4
7
  import {
5
- tab_group_custom_styles_default
6
- } from "./chunk.NGI67WXT.js";
8
+ SynResizeObserver
9
+ } from "./chunk.DFIN5XP4.js";
7
10
  import {
8
11
  scrollIntoView
9
12
  } from "./chunk.5732DMBC.js";
10
13
  import {
11
14
  SynIconButton
12
- } from "./chunk.U47W5TZK.js";
15
+ } from "./chunk.AA7UYQAJ.js";
13
16
  import {
14
17
  LocalizeController
15
18
  } from "./chunk.GIU3H3J3.js";
@@ -19,16 +22,71 @@ import {
19
22
  import {
20
23
  SynergyElement,
21
24
  component_styles_default
22
- } from "./chunk.X7TOECRW.js";
25
+ } from "./chunk.WEXZUPCC.js";
23
26
  import {
24
27
  __decorateClass,
25
28
  __spreadValues
26
29
  } from "./chunk.2GFK6XTO.js";
27
30
 
31
+ // src/internal/scrollend-polyfill.ts
32
+ var debounce = (fn, delay) => {
33
+ let timerId = 0;
34
+ return function(...args) {
35
+ window.clearTimeout(timerId);
36
+ timerId = window.setTimeout(() => {
37
+ fn.call(this, ...args);
38
+ }, delay);
39
+ };
40
+ };
41
+ var decorate = (proto, method, decorateFn) => {
42
+ const superFn = proto[method];
43
+ proto[method] = function(...args) {
44
+ superFn.call(this, ...args);
45
+ decorateFn.call(this, superFn, ...args);
46
+ };
47
+ };
48
+ var isSupported = "onscrollend" in window;
49
+ if (!isSupported) {
50
+ const pointers = /* @__PURE__ */ new Set();
51
+ const scrollHandlers = /* @__PURE__ */ new WeakMap();
52
+ const handlePointerDown = (event) => {
53
+ for (const touch of event.changedTouches) {
54
+ pointers.add(touch.identifier);
55
+ }
56
+ };
57
+ const handlePointerUp = (event) => {
58
+ for (const touch of event.changedTouches) {
59
+ pointers.delete(touch.identifier);
60
+ }
61
+ };
62
+ document.addEventListener("touchstart", handlePointerDown, true);
63
+ document.addEventListener("touchend", handlePointerUp, true);
64
+ document.addEventListener("touchcancel", handlePointerUp, true);
65
+ decorate(EventTarget.prototype, "addEventListener", function(addEventListener, type) {
66
+ if (type !== "scrollend") return;
67
+ const handleScrollEnd = debounce(() => {
68
+ if (!pointers.size) {
69
+ this.dispatchEvent(new Event("scrollend"));
70
+ } else {
71
+ handleScrollEnd();
72
+ }
73
+ }, 100);
74
+ addEventListener.call(this, "scroll", handleScrollEnd, { passive: true });
75
+ scrollHandlers.set(this, handleScrollEnd);
76
+ });
77
+ decorate(EventTarget.prototype, "removeEventListener", function(removeEventListener, type) {
78
+ if (type !== "scrollend") return;
79
+ const scrollHandler = scrollHandlers.get(this);
80
+ if (scrollHandler) {
81
+ removeEventListener.call(this, "scroll", scrollHandler, { passive: true });
82
+ }
83
+ });
84
+ }
85
+
28
86
  // src/components/tab-group/tab-group.component.ts
29
87
  import { classMap } from "lit/directives/class-map.js";
88
+ import { eventOptions, property, query, state } from "lit/decorators.js";
30
89
  import { html } from "lit";
31
- import { property, query, state } from "lit/decorators.js";
32
90
  var SynTabGroup = class extends SynergyElement {
33
91
  constructor() {
34
92
  super(...arguments);
@@ -37,11 +95,19 @@ var SynTabGroup = class extends SynergyElement {
37
95
  this.focusableTabs = [];
38
96
  this.panels = [];
39
97
  this.hasScrollControls = false;
98
+ this.shouldHideScrollStartButton = false;
99
+ this.shouldHideScrollEndButton = false;
40
100
  this.placement = "top";
41
101
  this.activation = "auto";
42
102
  this.noScrollControls = false;
43
103
  this.contained = false;
44
104
  this.sharp = false;
105
+ this.fixedScrollControls = false;
106
+ /**
107
+ * The reality of the browser means that we can't expect the scroll position to be exactly what we want it to be, so
108
+ * we add one pixel of wiggle room to our calculations.
109
+ */
110
+ this.scrollOffset = 1;
45
111
  }
46
112
  connectedCallback() {
47
113
  const whenAllDefined = Promise.all([
@@ -79,11 +145,10 @@ var SynTabGroup = class extends SynergyElement {
79
145
  });
80
146
  }
81
147
  disconnectedCallback() {
148
+ var _a, _b;
82
149
  super.disconnectedCallback();
83
- this.mutationObserver.disconnect();
84
- if (this.nav) {
85
- this.resizeObserver.unobserve(this.nav);
86
- }
150
+ (_a = this.mutationObserver) == null ? void 0 : _a.disconnect();
151
+ (_b = this.resizeObserver) == null ? void 0 : _b.unobserve(this.nav);
87
152
  }
88
153
  getAllTabs() {
89
154
  const slot = this.shadowRoot.querySelector('slot[name="nav"]');
@@ -263,12 +328,25 @@ var SynTabGroup = class extends SynergyElement {
263
328
  }
264
329
  return nextTab;
265
330
  }
331
+ updateScrollButtons() {
332
+ if (this.hasScrollControls && !this.fixedScrollControls) {
333
+ this.shouldHideScrollStartButton = this.scrollFromStart() <= this.scrollOffset;
334
+ this.shouldHideScrollEndButton = this.isScrolledToEnd();
335
+ }
336
+ }
337
+ isScrolledToEnd() {
338
+ return this.scrollFromStart() + this.nav.clientWidth >= this.nav.scrollWidth - this.scrollOffset;
339
+ }
340
+ scrollFromStart() {
341
+ return this.localize.dir() === "rtl" ? -this.nav.scrollLeft : this.nav.scrollLeft;
342
+ }
266
343
  updateScrollControls() {
267
344
  if (this.noScrollControls) {
268
345
  this.hasScrollControls = false;
269
346
  } else {
270
347
  this.hasScrollControls = ["top"].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth + 1;
271
348
  }
349
+ this.updateScrollButtons();
272
350
  }
273
351
  syncIndicator() {
274
352
  const tab = this.getActiveTab();
@@ -308,18 +386,26 @@ var SynTabGroup = class extends SynergyElement {
308
386
  <syn-icon-button
309
387
  part="scroll-button scroll-button--start"
310
388
  exportparts="base:scroll-button__base"
311
- class="tab-group__scroll-button tab-group__scroll-button--start"
389
+ class=${classMap({
390
+ "tab-group__scroll-button": true,
391
+ "tab-group__scroll-button--start": true,
392
+ "tab-group__scroll-button--start--hidden": this.shouldHideScrollStartButton
393
+ })}
312
394
  name="chevron-right"
313
395
  library="system"
396
+ tabindex="-1"
397
+ aria-hidden="true"
314
398
  label=${this.localize.term("scrollToStart")}
315
399
  @click=${this.handleScrollToStart}
316
400
  ></syn-icon-button>
317
401
  ` : ""}
318
402
 
319
- <div class="tab-group__nav">
403
+ <div class="tab-group__nav" @scrollend=${this.updateScrollButtons}>
320
404
  <div part="tabs" class="tab-group__tabs" role="tablist">
321
405
  <div part="active-tab-indicator" class="tab-group__indicator"></div>
322
- <slot name="nav" @slotchange=${this.syncTabsAndPanels}></slot>
406
+ <syn-resize-observer @syn-resize=${this.syncIndicator}>
407
+ <slot name="nav" @slotchange=${this.syncTabsAndPanels}></slot>
408
+ </syn-resize-observer>
323
409
  </div>
324
410
  </div>
325
411
 
@@ -327,9 +413,15 @@ var SynTabGroup = class extends SynergyElement {
327
413
  <syn-icon-button
328
414
  part="scroll-button scroll-button--end"
329
415
  exportparts="base:scroll-button__base"
330
- class="tab-group__scroll-button tab-group__scroll-button--end"
416
+ class=${classMap({
417
+ "tab-group__scroll-button": true,
418
+ "tab-group__scroll-button--end": true,
419
+ "tab-group__scroll-button--end--hidden": this.shouldHideScrollEndButton
420
+ })}
331
421
  name="chevron-right"
332
422
  library="system"
423
+ tabindex="-1"
424
+ aria-hidden="true"
333
425
  label=${this.localize.term("scrollToEnd")}
334
426
  @click=${this.handleScrollToEnd}
335
427
  ></syn-icon-button>
@@ -342,7 +434,7 @@ var SynTabGroup = class extends SynergyElement {
342
434
  }
343
435
  };
344
436
  SynTabGroup.styles = [component_styles_default, tab_group_styles_default, tab_group_custom_styles_default];
345
- SynTabGroup.dependencies = { "syn-icon-button": SynIconButton };
437
+ SynTabGroup.dependencies = { "syn-icon-button": SynIconButton, "syn-resize-observer": SynResizeObserver };
346
438
  __decorateClass([
347
439
  query(".tab-group")
348
440
  ], SynTabGroup.prototype, "tabGroup", 2);
@@ -358,6 +450,12 @@ __decorateClass([
358
450
  __decorateClass([
359
451
  state()
360
452
  ], SynTabGroup.prototype, "hasScrollControls", 2);
453
+ __decorateClass([
454
+ state()
455
+ ], SynTabGroup.prototype, "shouldHideScrollStartButton", 2);
456
+ __decorateClass([
457
+ state()
458
+ ], SynTabGroup.prototype, "shouldHideScrollEndButton", 2);
361
459
  __decorateClass([
362
460
  property()
363
461
  ], SynTabGroup.prototype, "placement", 2);
@@ -373,6 +471,12 @@ __decorateClass([
373
471
  __decorateClass([
374
472
  property({ type: Boolean })
375
473
  ], SynTabGroup.prototype, "sharp", 2);
474
+ __decorateClass([
475
+ property({ attribute: "fixed-scroll-controls", type: Boolean })
476
+ ], SynTabGroup.prototype, "fixedScrollControls", 2);
477
+ __decorateClass([
478
+ eventOptions({ passive: true })
479
+ ], SynTabGroup.prototype, "updateScrollButtons", 1);
376
480
  __decorateClass([
377
481
  watch("noScrollControls", { waitUntilFirstUpdate: true })
378
482
  ], SynTabGroup.prototype, "updateScrollControls", 1);
@@ -383,4 +487,4 @@ __decorateClass([
383
487
  export {
384
488
  SynTabGroup
385
489
  };
386
- //# sourceMappingURL=chunk.FUJKCUQU.js.map
490
+ //# sourceMappingURL=chunk.LMV4YGVB.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/internal/scrollend-polyfill.ts", "../../src/components/tab-group/tab-group.component.ts"],
4
+ "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\ntype GenericCallback = (this: unknown, ...args: unknown[]) => unknown;\n\ntype MethodOf<T, K extends keyof T> = T[K] extends GenericCallback ? T[K] : never;\n\nconst debounce = <T extends GenericCallback>(fn: T, delay: number) => {\n let timerId = 0;\n\n return function (this: unknown, ...args: unknown[]) {\n window.clearTimeout(timerId);\n timerId = window.setTimeout(() => {\n fn.call(this, ...args);\n }, delay);\n };\n};\n\nconst decorate = <T, M extends keyof T>(\n proto: T,\n method: M,\n decorateFn: (this: unknown, superFn: T[M], ...args: unknown[]) => unknown\n) => {\n const superFn = proto[method] as MethodOf<T, M>;\n\n proto[method] = function (this: unknown, ...args: unknown[]) {\n superFn.call(this, ...args);\n decorateFn.call(this, superFn, ...args);\n } as MethodOf<T, M>;\n};\n\nconst isSupported = 'onscrollend' in window;\n\nif (!isSupported) {\n const pointers = new Set();\n const scrollHandlers = new WeakMap<EventTarget, EventListenerOrEventListenerObject>();\n\n const handlePointerDown = (event: TouchEvent) => {\n for (const touch of event.changedTouches) {\n pointers.add(touch.identifier);\n }\n };\n\n const handlePointerUp = (event: TouchEvent) => {\n for (const touch of event.changedTouches) {\n pointers.delete(touch.identifier);\n }\n };\n\n document.addEventListener('touchstart', handlePointerDown, true);\n document.addEventListener('touchend', handlePointerUp, true);\n document.addEventListener('touchcancel', handlePointerUp, true);\n\n decorate(EventTarget.prototype, 'addEventListener', function (this: EventTarget, addEventListener, type) {\n if (type !== 'scrollend') return;\n\n const handleScrollEnd = debounce(() => {\n if (!pointers.size) {\n // If no pointer is active in the scroll area then the scroll has ended\n this.dispatchEvent(new Event('scrollend'));\n } else {\n // otherwise let's wait a bit more\n handleScrollEnd();\n }\n }, 100);\n\n addEventListener.call(this, 'scroll', handleScrollEnd, { passive: true });\n scrollHandlers.set(this, handleScrollEnd);\n });\n\n decorate(EventTarget.prototype, 'removeEventListener', function (this: EventTarget, removeEventListener, type) {\n if (type !== 'scrollend') return;\n\n const scrollHandler = scrollHandlers.get(this);\n if (scrollHandler) {\n removeEventListener.call(this, 'scroll', scrollHandler, { passive: true } as unknown as EventListenerOptions);\n }\n });\n}\n\n// Without an import or export, TypeScript sees vars in this file as global\nexport {};\n", "/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport '../../internal/scrollend-polyfill.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { eventOptions, property, query, state } from 'lit/decorators.js';\nimport { html } from 'lit';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { scrollIntoView } from '../../internal/scroll.js';\nimport { watch } from '../../internal/watch.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport SynIconButton from '../icon-button/icon-button.component.js';\nimport SynResizeObserver from '../resize-observer/resize-observer.component.js';\nimport styles from './tab-group.styles.js';\nimport customStyles from './tab-group.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\nimport type SynTab from '../tab/tab.js';\nimport type SynTabPanel from '../tab-panel/tab-panel.js';\n\n/**\n * @summary Tab groups organize content into a container that shows one section at a time.\n * @documentation https://synergy.style/components/tab-group\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - Used for grouping tab panels in the tab group. Must be `<syn-tab-panel>` elements.\n * @slot nav - Used for grouping tabs in the tab group. Must be `<syn-tab>` elements.\n *\n * @event {{ name: String }} syn-tab-show - Emitted when a tab is shown. The payload of the event returns the \"panel\" attribute of the shown tab.\n * @event {{ name: String }} syn-tab-hide - Emitted when a tab is hidden. The payload of the event returns the \"panel\" attribute of the hidden tab.\n *\n * @csspart base - The component's base wrapper.\n * @csspart nav - The tab group's navigation container where tabs are slotted in.\n * @csspart tabs - The container that wraps the tabs.\n * @csspart active-tab-indicator - The line that highlights the currently selected tab.\n * @csspart body - The tab group's body where tab panels are slotted in.\n * @csspart scroll-button - The previous/next scroll buttons that show when tabs are scrollable, an `<syn-icon-button>`.\n * @csspart scroll-button--start - The starting scroll button.\n * @csspart scroll-button--end - The ending scroll button.\n * @csspart scroll-button__base - The scroll button's exported `base` part.\n *\n * @cssproperty --indicator-color - The color of the active tab indicator.\n * @cssproperty --indicator-width - The width of the active tab indicator.\n * @cssproperty --track-color - The color of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --track-width - The width of the indicator's track (the line that separates tabs from panels).\n */\nexport default class SynTabGroup extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n static dependencies = { 'syn-icon-button': SynIconButton, 'syn-resize-observer': SynResizeObserver };\n\n private readonly localize = new LocalizeController(this);\n\n private activeTab?: SynTab;\n private mutationObserver: MutationObserver;\n private resizeObserver: ResizeObserver;\n private tabs: SynTab[] = [];\n private focusableTabs: SynTab[] = [];\n private panels: SynTabPanel[] = [];\n\n @query('.tab-group') tabGroup: HTMLElement;\n @query('.tab-group__body') body: HTMLSlotElement;\n @query('.tab-group__nav') nav: HTMLElement;\n @query('.tab-group__indicator') indicator: HTMLElement;\n\n @state() private hasScrollControls = false;\n\n @state() private shouldHideScrollStartButton = false;\n @state() private shouldHideScrollEndButton = false;\n\n /** The placement of the tabs. */\n @property() placement: 'top' | 'start' | 'end' = 'top';\n\n /**\n * When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\n * manual, the tab will receive focus but will not show until the user presses spacebar or enter.\n */\n @property() activation: 'auto' | 'manual' = 'auto';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @property({ attribute: 'no-scroll-controls', type: Boolean }) noScrollControls = false;\n\n /** Draws the tab group as a contained element. */\n @property({ type: Boolean }) contained = false;\n \n /** Draws the tab group with edges instead of roundings. Takes only effect if used with the 'contained' property */\n @property({ type: Boolean }) sharp = false;\n\n /** Prevent scroll buttons from being hidden when inactive. */\n @property({ attribute: 'fixed-scroll-controls', type: Boolean }) fixedScrollControls = false;\n\n connectedCallback() {\n const whenAllDefined = Promise.all([\n customElements.whenDefined('syn-tab'),\n customElements.whenDefined('syn-tab-panel')\n ]);\n\n super.connectedCallback();\n\n this.resizeObserver = new ResizeObserver(() => {\n this.repositionIndicator();\n this.updateScrollControls();\n });\n\n this.mutationObserver = new MutationObserver(mutations => {\n // Update aria labels when the DOM changes\n if (mutations.some(m => !['aria-labelledby', 'aria-controls'].includes(m.attributeName!))) {\n setTimeout(() => this.setAriaLabels());\n }\n\n // Sync tabs when disabled states change\n if (mutations.some(m => m.attributeName === 'disabled')) {\n this.syncTabsAndPanels();\n }\n });\n\n // After the first update...\n this.updateComplete.then(() => {\n this.syncTabsAndPanels();\n this.mutationObserver.observe(this, { attributes: true, childList: true, subtree: true });\n this.resizeObserver.observe(this.nav);\n\n // Wait for tabs and tab panels to be registered\n whenAllDefined.then(() => {\n // Set initial tab state when the tabs become visible\n const intersectionObserver = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setActiveTab(this.getActiveTab() ?? this.tabs[0], { emitEvents: false });\n observer.unobserve(entries[0].target);\n }\n });\n intersectionObserver.observe(this.tabGroup);\n });\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.mutationObserver?.disconnect();\n this.resizeObserver?.unobserve(this.nav);\n }\n\n private getAllTabs() {\n const slot = this.shadowRoot!.querySelector<HTMLSlotElement>('slot[name=\"nav\"]')!;\n\n return slot.assignedElements() as SynTab[];\n }\n\n private getAllPanels() {\n return [...this.body.assignedElements()].filter(el => el.tagName.toLowerCase() === 'syn-tab-panel') as [SynTabPanel];\n }\n\n private getActiveTab() {\n return this.tabs.find(el => el.active);\n }\n\n private handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('syn-tab');\n const tabGroup = tab?.closest('syn-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n if (tab !== null) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n }\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('syn-tab');\n const tabGroup = tab?.closest('syn-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this) {\n return;\n }\n\n // Activate a tab\n if (['Enter', ' '].includes(event.key)) {\n if (tab !== null) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\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 = this.tabs.find(t => t.matches(':focus'));\n const isRtl = this.matches(':dir(rtl)');\n let nextTab: null | SynTab = null;\n\n if (activeEl?.tagName.toLowerCase() === 'syn-tab') {\n if (event.key === 'Home') {\n nextTab = this.focusableTabs[0];\n } else if (event.key === 'End') {\n nextTab = this.focusableTabs[this.focusableTabs.length - 1];\n } else if (\n (['top'].includes(this.placement) && event.key === (isRtl ? 'ArrowRight' : 'ArrowLeft')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowUp')\n ) {\n const currentIndex = this.tabs.findIndex(el => el === activeEl);\n nextTab = this.findNextFocusableTab(currentIndex, 'backward');\n } else if (\n (['top'].includes(this.placement) && event.key === (isRtl ? 'ArrowLeft' : 'ArrowRight')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowDown')\n ) {\n const currentIndex = this.tabs.findIndex(el => el === activeEl);\n nextTab = this.findNextFocusableTab(currentIndex, 'forward');\n }\n\n if (!nextTab) {\n return;\n }\n\n nextTab.tabIndex = 0;\n nextTab.focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this.setActiveTab(nextTab, { scrollBehavior: 'smooth' });\n } else {\n this.tabs.forEach(tabEl => {\n tabEl.tabIndex = tabEl === nextTab ? 0 : -1;\n });\n }\n\n if (['top'].includes(this.placement)) {\n scrollIntoView(nextTab, this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n }\n\n private handleScrollToStart() {\n this.nav.scroll({\n left:\n this.localize.dir() === 'rtl'\n ? this.nav.scrollLeft + this.nav.clientWidth\n : this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth'\n });\n }\n\n private handleScrollToEnd() {\n this.nav.scroll({\n left:\n this.localize.dir() === 'rtl'\n ? this.nav.scrollLeft - this.nav.clientWidth\n : this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth'\n });\n }\n\n private setActiveTab(tab: SynTab, options?: { emitEvents?: boolean; scrollBehavior?: 'auto' | 'smooth' }) {\n options = {\n emitEvents: true,\n scrollBehavior: 'auto',\n ...options\n };\n\n if (tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync active tab and panel\n this.tabs.forEach(el => {\n el.active = el === this.activeTab;\n el.tabIndex = el === this.activeTab ? 0 : -1;\n });\n this.panels.forEach(el => (el.active = el.name === this.activeTab?.panel));\n this.syncIndicator();\n\n if (['top'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal', options.scrollBehavior);\n }\n\n // Emit events\n if (options.emitEvents) {\n if (previousTab) {\n this.emit('syn-tab-hide', { detail: { name: previousTab.panel } });\n }\n\n this.emit('syn-tab-show', { detail: { name: this.activeTab.panel } });\n }\n }\n }\n\n private setAriaLabels() {\n // Link each tab with its corresponding panel\n this.tabs.forEach(tab => {\n const panel = this.panels.find(el => el.name === tab.panel);\n if (panel) {\n tab.setAttribute('aria-controls', panel.getAttribute('id')!);\n panel.setAttribute('aria-labelledby', tab.getAttribute('id')!);\n }\n });\n }\n\n private repositionIndicator() {\n const currentTab = this.getActiveTab();\n\n if (!currentTab) {\n return;\n }\n\n const width = currentTab.clientWidth;\n const height = currentTab.clientHeight;\n const isRtl = this.matches(':dir(rtl)');\n\n // We can't used offsetLeft/offsetTop here due to a shadow parent issue where neither can getBoundingClientRect\n // because it provides invalid values for animating elements: https://bugs.chromium.org/p/chromium/issues/detail?id=920069\n const allTabs = this.getAllTabs();\n const precedingTabs = allTabs.slice(0, allTabs.indexOf(currentTab));\n const offset = precedingTabs.reduce(\n (previous, current) => ({\n left: previous.left + current.clientWidth,\n top: previous.top + current.clientHeight\n }),\n { left: 0, top: 0 }\n );\n\n switch (this.placement) {\n case 'top':\n this.indicator.style.width = `calc(${width}px - ${ (this.contained || this.sharp) ? '2 * var(--syn-spacing-large)' : '0px' })`;\n this.indicator.style.height = 'auto';\n this.indicator.style.translate = `calc(${isRtl ? '-' : ''}1 * (${offset.left}px + ${ (this.contained || this.sharp) ? 'var(--syn-spacing-large)' : '0px' }))`;\n break;\n\n case 'start':\n case 'end':\n this.indicator.style.width = 'auto';\n this.indicator.style.height = `calc(${height}px - ${ (this.contained || this.sharp) ? '2 * var(--syn-spacing-small)' : '0px' })`;\n this.indicator.style.translate = `0 calc(${offset.top}px + ${ (this.contained || this.sharp) ? 'var(--syn-spacing-small)' : '0px' })`;\n break;\n }\n }\n\n // This stores tabs and panels so we can refer to a cache instead of calling querySelectorAll() multiple times.\n private syncTabsAndPanels() {\n this.tabs = this.getAllTabs();\n this.focusableTabs = this.tabs.filter(el => !el.disabled);\n\n this.panels = this.getAllPanels();\n this.syncIndicator();\n\n // After updating, show or hide scroll controls as needed\n this.updateComplete.then(() => this.updateScrollControls());\n }\n\n private findNextFocusableTab(currentIndex: number, direction: 'forward' | 'backward') {\n let nextTab = null;\n const iterator = direction === 'forward' ? 1 : -1;\n let nextIndex = currentIndex + iterator;\n\n while (currentIndex < this.tabs.length) {\n nextTab = this.tabs[nextIndex] || null;\n\n if (nextTab === null) {\n // This is where wrapping happens. If we're moving forward and get to the end, then we jump to the beginning. If we're moving backward and get to the start, then we jump to the end.\n if (direction === 'forward') {\n nextTab = this.focusableTabs[0];\n } else {\n nextTab = this.focusableTabs[this.focusableTabs.length - 1];\n }\n break;\n }\n\n if (!nextTab.disabled) {\n break;\n }\n\n nextIndex += iterator;\n }\n\n return nextTab;\n }\n\n /**\n * The reality of the browser means that we can't expect the scroll position to be exactly what we want it to be, so\n * we add one pixel of wiggle room to our calculations.\n */\n private scrollOffset = 1;\n\n @eventOptions({ passive: true })\n private updateScrollButtons() {\n if (this.hasScrollControls && !this.fixedScrollControls) {\n this.shouldHideScrollStartButton = this.scrollFromStart() <= this.scrollOffset;\n this.shouldHideScrollEndButton = this.isScrolledToEnd();\n }\n }\n\n private isScrolledToEnd() {\n return this.scrollFromStart() + this.nav.clientWidth >= this.nav.scrollWidth - this.scrollOffset;\n }\n\n private scrollFromStart() {\n return this.localize.dir() === 'rtl' ? -this.nav.scrollLeft : this.nav.scrollLeft;\n }\n\n @watch('noScrollControls', { waitUntilFirstUpdate: true })\n updateScrollControls() {\n if (this.noScrollControls) {\n this.hasScrollControls = false;\n } else {\n // In most cases, we can compare scrollWidth to clientWidth to determine if scroll controls should show. However,\n // Safari appears to calculate this incorrectly when zoomed at 110%, causing the controls to toggle indefinitely.\n // Adding a single pixel to the comparison seems to resolve it.\n //\n // See https://github.com/synergy-design-system/synergy/issues/1839\n this.hasScrollControls =\n ['top'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth + 1;\n }\n\n this.updateScrollButtons();\n }\n\n @watch('placement', { waitUntilFirstUpdate: true })\n syncIndicator() {\n const tab = this.getActiveTab();\n\n if (tab) {\n this.indicator.style.display = 'block';\n this.repositionIndicator();\n } else {\n this.indicator.style.display = 'none';\n }\n }\n\n /** Shows the specified tab panel. */\n show(panel: string) {\n const tab = this.tabs.find(el => el.panel === panel);\n\n if (tab) {\n this.setActiveTab(tab, { scrollBehavior: 'smooth' });\n }\n }\n\n render() {\n\n return html`\n <div\n part=\"base\"\n class=${classMap({\n 'tab-group': true,\n 'tab-group--top': this.placement === 'top',\n 'tab-group--start': this.placement === 'start',\n 'tab-group--end': this.placement === 'end',\n 'tab-group--rtl': this.localize.dir() === 'rtl',\n 'tab-group--has-scroll-controls': this.hasScrollControls,\n 'tab-group--contained': this.contained,\n 'tab-group--sharp': this.sharp,\n })}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\" part=\"nav\">\n ${this.hasScrollControls\n ? html`\n <syn-icon-button\n part=\"scroll-button scroll-button--start\"\n exportparts=\"base:scroll-button__base\"\n class=${classMap({\n 'tab-group__scroll-button': true,\n 'tab-group__scroll-button--start': true,\n 'tab-group__scroll-button--start--hidden': this.shouldHideScrollStartButton\n })}\n name=\"chevron-right\"\n library=\"system\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n label=${this.localize.term('scrollToStart')}\n @click=${this.handleScrollToStart}\n ></syn-icon-button>\n `\n : ''}\n\n <div class=\"tab-group__nav\" @scrollend=${this.updateScrollButtons}>\n <div part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div part=\"active-tab-indicator\" class=\"tab-group__indicator\"></div>\n <syn-resize-observer @syn-resize=${this.syncIndicator}>\n <slot name=\"nav\" @slotchange=${this.syncTabsAndPanels}></slot>\n </syn-resize-observer>\n </div>\n </div>\n\n ${this.hasScrollControls\n ? html`\n <syn-icon-button\n part=\"scroll-button scroll-button--end\"\n exportparts=\"base:scroll-button__base\"\n class=${classMap({\n 'tab-group__scroll-button': true,\n 'tab-group__scroll-button--end': true,\n 'tab-group__scroll-button--end--hidden': this.shouldHideScrollEndButton\n })}\n name=\"chevron-right\"\n library=\"system\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n label=${this.localize.term('scrollToEnd')}\n @click=${this.handleScrollToEnd}\n ></syn-icon-button>\n `\n : ''}\n </div>\n\n <slot part=\"body\" class=\"tab-group__body\" @slotchange=${this.syncTabsAndPanels}></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-tab-group': SynTabGroup;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }