@synergy-design-system/components 2.4.2 → 2.5.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 (300) hide show
  1. package/README.md +5 -1
  2. package/dist/chunks/{chunk.ODDKTIMC.js → chunk.26PVORV4.js} +3 -3
  3. package/dist/chunks/{chunk.AL5JOFXG.js → chunk.2JGMDXJX.js} +4 -4
  4. package/dist/chunks/chunk.2LACXU5F.js +12 -0
  5. package/dist/chunks/chunk.2LACXU5F.js.map +7 -0
  6. package/dist/chunks/{chunk.KEZEYBVJ.js → chunk.3442R447.js} +2 -2
  7. package/dist/chunks/{chunk.PLEO5ZHI.js → chunk.36WNAWGH.js} +2 -2
  8. package/dist/chunks/{chunk.OSLTEHUP.js → chunk.445GTYI7.js} +2 -2
  9. package/dist/chunks/{chunk.MI6OSBNZ.js → chunk.4U4U4WYP.js} +2 -2
  10. package/dist/chunks/{chunk.FCS3RTNQ.js → chunk.4VJLNO6Y.js} +4 -4
  11. package/dist/chunks/{chunk.MP6GCBDQ.js → chunk.4VP6SOMT.js} +2 -2
  12. package/dist/chunks/{chunk.AV56MW4Q.js → chunk.543GQUFN.js} +4 -4
  13. package/dist/chunks/{chunk.T4V4ARKQ.js → chunk.5BDQUWIH.js} +9 -7
  14. package/dist/chunks/{chunk.T4V4ARKQ.js.map → chunk.5BDQUWIH.js.map} +1 -1
  15. package/dist/chunks/{chunk.5UBU4JQJ.js → chunk.6EHHOHBG.js} +2 -2
  16. package/dist/chunks/{chunk.6NWT6L3K.js → chunk.6N5IAYT2.js} +2 -2
  17. package/dist/chunks/{chunk.GFUY2Z3E.js → chunk.6ZMQFRAK.js} +2 -2
  18. package/dist/chunks/{chunk.MMG5DA2N.js → chunk.7INB3LU4.js} +2 -2
  19. package/dist/chunks/{chunk.6BAQMGDG.js → chunk.7TOZAZTA.js} +9 -9
  20. package/dist/chunks/{chunk.CKB73XBB.js → chunk.A3TUOOXV.js} +2 -2
  21. package/dist/chunks/{chunk.3F4PA2RJ.js → chunk.A45QGUNM.js} +2 -2
  22. package/dist/chunks/{chunk.D4YRKGVK.js → chunk.AA7ETQ6Z.js} +9 -7
  23. package/dist/chunks/{chunk.D4YRKGVK.js.map → chunk.AA7ETQ6Z.js.map} +1 -1
  24. package/dist/chunks/{chunk.SDQC32B3.js → chunk.AINKZEUX.js} +3 -1
  25. package/dist/chunks/{chunk.SDQC32B3.js.map → chunk.AINKZEUX.js.map} +2 -2
  26. package/dist/chunks/{chunk.MBWZTWQ3.js → chunk.APPDW65F.js} +16 -14
  27. package/dist/chunks/{chunk.MBWZTWQ3.js.map → chunk.APPDW65F.js.map} +1 -1
  28. package/dist/chunks/{chunk.CX6BVBUN.js → chunk.AUQVJZEW.js} +2 -2
  29. package/dist/chunks/{chunk.HYSKDMI3.js → chunk.BCAT6PJO.js} +2 -2
  30. package/dist/chunks/{chunk.T3KEPARA.js → chunk.BCM6GF47.js} +2 -2
  31. package/dist/chunks/{chunk.RVQ3X7WC.js → chunk.BWVISANJ.js} +2 -2
  32. package/dist/chunks/{chunk.RVQ3X7WC.js.map → chunk.BWVISANJ.js.map} +1 -1
  33. package/dist/chunks/{chunk.KM4XNOFN.js → chunk.BZ7DXEKT.js} +2 -2
  34. package/dist/chunks/chunk.C2ENQBPM.js +17 -0
  35. package/dist/chunks/chunk.C2ENQBPM.js.map +7 -0
  36. package/dist/chunks/{chunk.5Z23XOZH.js → chunk.C66PDYUI.js} +2 -2
  37. package/dist/chunks/{chunk.BALZJ5OU.js → chunk.CCBYOE35.js} +2 -2
  38. package/dist/chunks/{chunk.VVYBWDVV.js → chunk.CG7HK3HS.js} +5 -5
  39. package/dist/chunks/{chunk.ICJERNQU.js → chunk.COI5VNKC.js} +3 -3
  40. package/dist/chunks/{chunk.IPKUHOKD.js → chunk.CZISOWFR.js} +3 -3
  41. package/dist/chunks/{chunk.JKNV2DRD.js → chunk.DCWG25RX.js} +6 -6
  42. package/dist/chunks/{chunk.22E7SPMA.js → chunk.EG23UW3V.js} +3 -3
  43. package/dist/chunks/{chunk.4O3MCCWE.js → chunk.EPEJDXFO.js} +9 -7
  44. package/dist/chunks/{chunk.4O3MCCWE.js.map → chunk.EPEJDXFO.js.map} +1 -1
  45. package/dist/chunks/{chunk.QODDLPTZ.js → chunk.GCVGZHJK.js} +2 -2
  46. package/dist/chunks/{chunk.5LL426KP.js → chunk.GOXWNSOG.js} +2 -2
  47. package/dist/chunks/{chunk.I7T6CYDB.js → chunk.GZQPS6JH.js} +3 -3
  48. package/dist/chunks/{chunk.CX4QZVGR.js → chunk.HLE65RI4.js} +2 -3
  49. package/dist/chunks/{chunk.CX4QZVGR.js.map → chunk.HLE65RI4.js.map} +2 -2
  50. package/dist/chunks/{chunk.5QBWRU76.js → chunk.HLRZHIBP.js} +2 -2
  51. package/dist/chunks/{chunk.5KKWOVVC.js → chunk.HPWFMICA.js} +9 -7
  52. package/dist/chunks/{chunk.5KKWOVVC.js.map → chunk.HPWFMICA.js.map} +1 -1
  53. package/dist/chunks/{chunk.XXWU2N6Z.js → chunk.HRU52NH5.js} +2 -2
  54. package/dist/chunks/{chunk.YA3UERHI.js → chunk.HVJGBGHT.js} +2 -2
  55. package/dist/chunks/chunk.IKZOQ7AE.js +184 -0
  56. package/dist/chunks/chunk.IKZOQ7AE.js.map +7 -0
  57. package/dist/chunks/{chunk.SBRYVEQN.js → chunk.IOTJRIT5.js} +2 -2
  58. package/dist/chunks/{chunk.6GNLD5GO.js → chunk.JD6HMTL2.js} +12 -10
  59. package/dist/chunks/{chunk.6GNLD5GO.js.map → chunk.JD6HMTL2.js.map} +1 -1
  60. package/dist/chunks/{chunk.QZNPL6WK.js → chunk.JSPLWE2A.js} +10 -2
  61. package/dist/chunks/{chunk.QZNPL6WK.js.map → chunk.JSPLWE2A.js.map} +2 -2
  62. package/dist/chunks/{chunk.BJEVUOBO.js → chunk.KPEDDAR4.js} +4 -4
  63. package/dist/chunks/{chunk.SAKDWMDC.js → chunk.LAKJ5MK2.js} +6 -6
  64. package/dist/chunks/{chunk.2RROJC65.js → chunk.LQZJ6SLT.js} +2 -2
  65. package/dist/chunks/{chunk.LOVGEUYP.js → chunk.M4PJZ2KX.js} +7 -7
  66. package/dist/chunks/{chunk.LOVGEUYP.js.map → chunk.M4PJZ2KX.js.map} +1 -1
  67. package/dist/chunks/{chunk.TYKSQSYN.js → chunk.MAWKXH6T.js} +7 -7
  68. package/dist/chunks/{chunk.KGXWML3K.js → chunk.ML6NOYHV.js} +2 -2
  69. package/dist/chunks/{chunk.PYLHI2JQ.js → chunk.MLOZ4D3V.js} +2 -16
  70. package/dist/chunks/{chunk.PYLHI2JQ.js.map → chunk.MLOZ4D3V.js.map} +3 -3
  71. package/dist/chunks/{chunk.ZDIP5E5M.js → chunk.MO5THLW3.js} +3 -3
  72. package/dist/chunks/{chunk.3GS7GYS7.js → chunk.MQH2OOTN.js} +2 -2
  73. package/dist/chunks/{chunk.GLQRGWLN.js → chunk.MZO2W4AG.js} +2 -2
  74. package/dist/chunks/{chunk.DCR5ERAC.js → chunk.OAD4GL57.js} +2 -2
  75. package/dist/chunks/{chunk.YKKAQLY3.js → chunk.OP4WTQ2R.js} +11 -8
  76. package/dist/chunks/chunk.OP4WTQ2R.js.map +7 -0
  77. package/dist/chunks/{chunk.E5Q4S6J5.js → chunk.OUSXEKQG.js} +6 -6
  78. package/dist/chunks/chunk.OZ7PQTHB.js +483 -0
  79. package/dist/chunks/chunk.OZ7PQTHB.js.map +7 -0
  80. package/dist/chunks/{chunk.LIQFEI76.js → chunk.P7GNMVZ4.js} +2 -2
  81. package/dist/chunks/{chunk.7J3ICWNG.js → chunk.PGDHCGHK.js} +2 -2
  82. package/dist/chunks/{chunk.YLOY6MCX.js → chunk.POXDBLOS.js} +4 -4
  83. package/dist/chunks/{chunk.6EXC65JJ.js → chunk.QBVLTYU7.js} +8 -1
  84. package/dist/chunks/{chunk.6EXC65JJ.js.map → chunk.QBVLTYU7.js.map} +2 -2
  85. package/dist/chunks/{chunk.6WF7O7RF.js → chunk.QVNMCS3Y.js} +2 -2
  86. package/dist/chunks/{chunk.XJBZVH65.js → chunk.QVULMTSN.js} +6 -6
  87. package/dist/chunks/{chunk.3FSNN2LA.js → chunk.R6VT7GM5.js} +2 -2
  88. package/dist/chunks/{chunk.3PATCZJL.js → chunk.REXNHEPD.js} +2 -2
  89. package/dist/chunks/{chunk.YLOGCYYH.js → chunk.RQ6PQ76D.js} +3 -3
  90. package/dist/chunks/{chunk.N3MYRPRM.js → chunk.RSPZU72C.js} +2 -2
  91. package/dist/chunks/{chunk.PJYYK2T7.js → chunk.RUUKH7KZ.js} +2 -2
  92. package/dist/chunks/{chunk.AGX3EDVR.js → chunk.S2UI5DQ6.js} +2 -2
  93. package/dist/chunks/{chunk.JSGXW7HG.js → chunk.SIADSRVP.js} +2 -2
  94. package/dist/chunks/{chunk.JJ6N7OHW.js → chunk.SN6A7VBJ.js} +2 -2
  95. package/dist/chunks/{chunk.YCT4K4JT.js → chunk.SOVF26GR.js} +10 -8
  96. package/dist/chunks/{chunk.YCT4K4JT.js.map → chunk.SOVF26GR.js.map} +2 -2
  97. package/dist/chunks/{chunk.NATMLGVF.js → chunk.T4MHUMBJ.js} +10 -10
  98. package/dist/chunks/{chunk.WX7OJEBN.js → chunk.TCGQ6I55.js} +2 -2
  99. package/dist/chunks/{chunk.I5GHSBBB.js → chunk.TD2KXBBJ.js} +2 -2
  100. package/dist/chunks/{chunk.QN4VTDCL.js → chunk.THRSQDCW.js} +2 -2
  101. package/dist/chunks/{chunk.3JFJNUVB.js → chunk.TVIXZRR6.js} +3 -3
  102. package/dist/chunks/{chunk.YYWFJREC.js → chunk.UKK7UB66.js} +2 -2
  103. package/dist/chunks/{chunk.4UZBHZB7.js → chunk.VCCPDP5S.js} +2 -2
  104. package/dist/chunks/{chunk.XBUFNX4L.js → chunk.VI6PYB5C.js} +7 -7
  105. package/dist/chunks/{chunk.A7HLSENR.js → chunk.VNOGO2PS.js} +2 -2
  106. package/dist/chunks/{chunk.X4BO4K4B.js → chunk.VREBZRBU.js} +2 -2
  107. package/dist/chunks/{chunk.MXCWG2OM.js → chunk.W2474HMX.js} +2 -2
  108. package/dist/chunks/{chunk.OPOK7CZS.js → chunk.WEUMPGAL.js} +2 -2
  109. package/dist/chunks/{chunk.BRQJBVSR.js → chunk.XBHV2RZS.js} +5 -5
  110. package/dist/chunks/{chunk.HXW47ZEU.js → chunk.XD3FB2XT.js} +7 -7
  111. package/dist/chunks/{chunk.3H2H5FNB.js → chunk.XY7PAA7K.js} +2 -2
  112. package/dist/chunks/{chunk.A2Z57FBZ.js → chunk.Y4PC4NYJ.js} +2 -2
  113. package/dist/chunks/{chunk.ZG6RQJZT.js → chunk.ZHDP4GU5.js} +2 -2
  114. package/dist/chunks/{chunk.E3KW3KQM.js → chunk.ZTEMBLJH.js} +2 -2
  115. package/dist/chunks/{chunk.E3KW3KQM.js.map → chunk.ZTEMBLJH.js.map} +1 -1
  116. package/dist/chunks/{chunk.W67OQ7TE.js → chunk.ZXLXQMJJ.js} +2 -2
  117. package/dist/components/accordion/accordion.component.js +2 -2
  118. package/dist/components/accordion/accordion.js +3 -3
  119. package/dist/components/alert/alert.component.js +11 -10
  120. package/dist/components/alert/alert.js +12 -11
  121. package/dist/components/badge/badge.component.js +4 -4
  122. package/dist/components/badge/badge.js +5 -5
  123. package/dist/components/breadcrumb/breadcrumb.component.js +8 -8
  124. package/dist/components/breadcrumb/breadcrumb.js +9 -9
  125. package/dist/components/breadcrumb-item/breadcrumb-item.component.js +2 -2
  126. package/dist/components/breadcrumb-item/breadcrumb-item.js +3 -3
  127. package/dist/components/button/button.component.js +10 -10
  128. package/dist/components/button/button.js +11 -11
  129. package/dist/components/button-group/button-group.component.js +2 -2
  130. package/dist/components/button-group/button-group.js +3 -3
  131. package/dist/components/card/card.component.js +2 -2
  132. package/dist/components/card/card.js +3 -3
  133. package/dist/components/checkbox/checkbox.component.js +8 -8
  134. package/dist/components/checkbox/checkbox.js +9 -9
  135. package/dist/components/details/details.component.js +10 -9
  136. package/dist/components/details/details.js +11 -10
  137. package/dist/components/dialog/dialog.component.js +11 -10
  138. package/dist/components/dialog/dialog.js +12 -11
  139. package/dist/components/divider/divider.component.js +2 -2
  140. package/dist/components/divider/divider.js +3 -3
  141. package/dist/components/drawer/drawer.component.js +11 -10
  142. package/dist/components/drawer/drawer.js +12 -11
  143. package/dist/components/dropdown/dropdown.component.js +7 -6
  144. package/dist/components/dropdown/dropdown.js +8 -7
  145. package/dist/components/file/file.component.d.ts +195 -0
  146. package/dist/components/file/file.component.js +32 -0
  147. package/dist/components/file/file.component.js.map +7 -0
  148. package/dist/components/file/file.d.ts +8 -0
  149. package/dist/components/file/file.js +33 -0
  150. package/dist/components/file/file.js.map +7 -0
  151. package/dist/components/file/file.styles.d.ts +2 -0
  152. package/dist/components/file/file.styles.js +8 -0
  153. package/dist/components/file/file.styles.js.map +7 -0
  154. package/dist/components/header/header.component.js +9 -9
  155. package/dist/components/header/header.js +10 -10
  156. package/dist/components/icon/icon.component.js +5 -5
  157. package/dist/components/icon/icon.js +6 -6
  158. package/dist/components/icon/library.js +2 -2
  159. package/dist/components/icon/library.system.js +1 -1
  160. package/dist/components/icon-button/icon-button.component.js +6 -6
  161. package/dist/components/icon-button/icon-button.js +7 -7
  162. package/dist/components/input/input.component.js +12 -12
  163. package/dist/components/input/input.js +13 -13
  164. package/dist/components/menu/menu.component.js +2 -2
  165. package/dist/components/menu/menu.js +3 -3
  166. package/dist/components/menu-item/menu-item.component.js +11 -11
  167. package/dist/components/menu-item/menu-item.js +12 -12
  168. package/dist/components/menu-item/submenu-controller.js +2 -2
  169. package/dist/components/menu-label/menu-label.component.js +4 -4
  170. package/dist/components/menu-label/menu-label.js +5 -5
  171. package/dist/components/nav-item/nav-item.component.js +3 -3
  172. package/dist/components/nav-item/nav-item.js +4 -4
  173. package/dist/components/optgroup/optgroup.component.js +3 -3
  174. package/dist/components/optgroup/optgroup.js +4 -4
  175. package/dist/components/option/option.component.js +8 -8
  176. package/dist/components/option/option.js +9 -9
  177. package/dist/components/popup/popup.component.js +2 -2
  178. package/dist/components/popup/popup.js +3 -3
  179. package/dist/components/prio-nav/prio-nav.component.js +15 -14
  180. package/dist/components/prio-nav/prio-nav.js +16 -15
  181. package/dist/components/progress-bar/progress-bar.component.js +4 -4
  182. package/dist/components/progress-bar/progress-bar.js +5 -5
  183. package/dist/components/progress-ring/progress-ring.component.js +4 -4
  184. package/dist/components/progress-ring/progress-ring.js +5 -5
  185. package/dist/components/radio/radio.component.js +6 -6
  186. package/dist/components/radio/radio.js +7 -7
  187. package/dist/components/radio-button/radio-button.component.js +2 -2
  188. package/dist/components/radio-button/radio-button.js +3 -3
  189. package/dist/components/radio-group/radio-group.component.js +5 -5
  190. package/dist/components/radio-group/radio-group.js +6 -6
  191. package/dist/components/select/select.component.js +17 -16
  192. package/dist/components/select/select.js +18 -17
  193. package/dist/components/side-nav/side-nav.component.js +13 -12
  194. package/dist/components/side-nav/side-nav.js +14 -13
  195. package/dist/components/spinner/spinner.component.js +4 -4
  196. package/dist/components/spinner/spinner.js +5 -5
  197. package/dist/components/switch/switch.component.js +5 -5
  198. package/dist/components/switch/switch.js +6 -6
  199. package/dist/components/tab/tab.component.js +9 -9
  200. package/dist/components/tab/tab.js +10 -10
  201. package/dist/components/tab-group/tab-group.component.js +10 -10
  202. package/dist/components/tab-group/tab-group.js +11 -11
  203. package/dist/components/tab-panel/tab-panel.component.js +2 -2
  204. package/dist/components/tab-panel/tab-panel.js +3 -3
  205. package/dist/components/tag/tag.component.js +10 -10
  206. package/dist/components/tag/tag.js +11 -11
  207. package/dist/components/textarea/textarea.component.js +4 -4
  208. package/dist/components/textarea/textarea.js +5 -5
  209. package/dist/components/tooltip/tooltip.component.js +8 -7
  210. package/dist/components/tooltip/tooltip.js +9 -8
  211. package/dist/custom-elements.json +781 -77
  212. package/dist/styles/fouc.css +1 -0
  213. package/dist/styles/index.css +2 -1
  214. package/dist/synergy.d.ts +1 -0
  215. package/dist/synergy.js +143 -136
  216. package/dist/translations/de.js +11 -3
  217. package/dist/translations/de.js.map +2 -2
  218. package/dist/translations/en.js +1 -1
  219. package/dist/utilities/form.js +2 -2
  220. package/dist/utilities/icon-library.js +2 -2
  221. package/dist/utilities/localize.d.ts +4 -0
  222. package/dist/utilities/localize.js +2 -2
  223. package/dist/vscode.html-custom-data.json +114 -23
  224. package/package.json +4 -4
  225. package/dist/chunks/chunk.YKKAQLY3.js.map +0 -7
  226. /package/dist/chunks/{chunk.ODDKTIMC.js.map → chunk.26PVORV4.js.map} +0 -0
  227. /package/dist/chunks/{chunk.AL5JOFXG.js.map → chunk.2JGMDXJX.js.map} +0 -0
  228. /package/dist/chunks/{chunk.KEZEYBVJ.js.map → chunk.3442R447.js.map} +0 -0
  229. /package/dist/chunks/{chunk.PLEO5ZHI.js.map → chunk.36WNAWGH.js.map} +0 -0
  230. /package/dist/chunks/{chunk.OSLTEHUP.js.map → chunk.445GTYI7.js.map} +0 -0
  231. /package/dist/chunks/{chunk.MI6OSBNZ.js.map → chunk.4U4U4WYP.js.map} +0 -0
  232. /package/dist/chunks/{chunk.FCS3RTNQ.js.map → chunk.4VJLNO6Y.js.map} +0 -0
  233. /package/dist/chunks/{chunk.MP6GCBDQ.js.map → chunk.4VP6SOMT.js.map} +0 -0
  234. /package/dist/chunks/{chunk.AV56MW4Q.js.map → chunk.543GQUFN.js.map} +0 -0
  235. /package/dist/chunks/{chunk.5UBU4JQJ.js.map → chunk.6EHHOHBG.js.map} +0 -0
  236. /package/dist/chunks/{chunk.6NWT6L3K.js.map → chunk.6N5IAYT2.js.map} +0 -0
  237. /package/dist/chunks/{chunk.GFUY2Z3E.js.map → chunk.6ZMQFRAK.js.map} +0 -0
  238. /package/dist/chunks/{chunk.MMG5DA2N.js.map → chunk.7INB3LU4.js.map} +0 -0
  239. /package/dist/chunks/{chunk.6BAQMGDG.js.map → chunk.7TOZAZTA.js.map} +0 -0
  240. /package/dist/chunks/{chunk.CKB73XBB.js.map → chunk.A3TUOOXV.js.map} +0 -0
  241. /package/dist/chunks/{chunk.3F4PA2RJ.js.map → chunk.A45QGUNM.js.map} +0 -0
  242. /package/dist/chunks/{chunk.CX6BVBUN.js.map → chunk.AUQVJZEW.js.map} +0 -0
  243. /package/dist/chunks/{chunk.HYSKDMI3.js.map → chunk.BCAT6PJO.js.map} +0 -0
  244. /package/dist/chunks/{chunk.T3KEPARA.js.map → chunk.BCM6GF47.js.map} +0 -0
  245. /package/dist/chunks/{chunk.KM4XNOFN.js.map → chunk.BZ7DXEKT.js.map} +0 -0
  246. /package/dist/chunks/{chunk.5Z23XOZH.js.map → chunk.C66PDYUI.js.map} +0 -0
  247. /package/dist/chunks/{chunk.BALZJ5OU.js.map → chunk.CCBYOE35.js.map} +0 -0
  248. /package/dist/chunks/{chunk.VVYBWDVV.js.map → chunk.CG7HK3HS.js.map} +0 -0
  249. /package/dist/chunks/{chunk.ICJERNQU.js.map → chunk.COI5VNKC.js.map} +0 -0
  250. /package/dist/chunks/{chunk.IPKUHOKD.js.map → chunk.CZISOWFR.js.map} +0 -0
  251. /package/dist/chunks/{chunk.JKNV2DRD.js.map → chunk.DCWG25RX.js.map} +0 -0
  252. /package/dist/chunks/{chunk.22E7SPMA.js.map → chunk.EG23UW3V.js.map} +0 -0
  253. /package/dist/chunks/{chunk.QODDLPTZ.js.map → chunk.GCVGZHJK.js.map} +0 -0
  254. /package/dist/chunks/{chunk.5LL426KP.js.map → chunk.GOXWNSOG.js.map} +0 -0
  255. /package/dist/chunks/{chunk.I7T6CYDB.js.map → chunk.GZQPS6JH.js.map} +0 -0
  256. /package/dist/chunks/{chunk.5QBWRU76.js.map → chunk.HLRZHIBP.js.map} +0 -0
  257. /package/dist/chunks/{chunk.XXWU2N6Z.js.map → chunk.HRU52NH5.js.map} +0 -0
  258. /package/dist/chunks/{chunk.YA3UERHI.js.map → chunk.HVJGBGHT.js.map} +0 -0
  259. /package/dist/chunks/{chunk.SBRYVEQN.js.map → chunk.IOTJRIT5.js.map} +0 -0
  260. /package/dist/chunks/{chunk.BJEVUOBO.js.map → chunk.KPEDDAR4.js.map} +0 -0
  261. /package/dist/chunks/{chunk.SAKDWMDC.js.map → chunk.LAKJ5MK2.js.map} +0 -0
  262. /package/dist/chunks/{chunk.2RROJC65.js.map → chunk.LQZJ6SLT.js.map} +0 -0
  263. /package/dist/chunks/{chunk.TYKSQSYN.js.map → chunk.MAWKXH6T.js.map} +0 -0
  264. /package/dist/chunks/{chunk.KGXWML3K.js.map → chunk.ML6NOYHV.js.map} +0 -0
  265. /package/dist/chunks/{chunk.ZDIP5E5M.js.map → chunk.MO5THLW3.js.map} +0 -0
  266. /package/dist/chunks/{chunk.3GS7GYS7.js.map → chunk.MQH2OOTN.js.map} +0 -0
  267. /package/dist/chunks/{chunk.GLQRGWLN.js.map → chunk.MZO2W4AG.js.map} +0 -0
  268. /package/dist/chunks/{chunk.DCR5ERAC.js.map → chunk.OAD4GL57.js.map} +0 -0
  269. /package/dist/chunks/{chunk.E5Q4S6J5.js.map → chunk.OUSXEKQG.js.map} +0 -0
  270. /package/dist/chunks/{chunk.LIQFEI76.js.map → chunk.P7GNMVZ4.js.map} +0 -0
  271. /package/dist/chunks/{chunk.7J3ICWNG.js.map → chunk.PGDHCGHK.js.map} +0 -0
  272. /package/dist/chunks/{chunk.YLOY6MCX.js.map → chunk.POXDBLOS.js.map} +0 -0
  273. /package/dist/chunks/{chunk.6WF7O7RF.js.map → chunk.QVNMCS3Y.js.map} +0 -0
  274. /package/dist/chunks/{chunk.XJBZVH65.js.map → chunk.QVULMTSN.js.map} +0 -0
  275. /package/dist/chunks/{chunk.3FSNN2LA.js.map → chunk.R6VT7GM5.js.map} +0 -0
  276. /package/dist/chunks/{chunk.3PATCZJL.js.map → chunk.REXNHEPD.js.map} +0 -0
  277. /package/dist/chunks/{chunk.YLOGCYYH.js.map → chunk.RQ6PQ76D.js.map} +0 -0
  278. /package/dist/chunks/{chunk.N3MYRPRM.js.map → chunk.RSPZU72C.js.map} +0 -0
  279. /package/dist/chunks/{chunk.PJYYK2T7.js.map → chunk.RUUKH7KZ.js.map} +0 -0
  280. /package/dist/chunks/{chunk.AGX3EDVR.js.map → chunk.S2UI5DQ6.js.map} +0 -0
  281. /package/dist/chunks/{chunk.JSGXW7HG.js.map → chunk.SIADSRVP.js.map} +0 -0
  282. /package/dist/chunks/{chunk.JJ6N7OHW.js.map → chunk.SN6A7VBJ.js.map} +0 -0
  283. /package/dist/chunks/{chunk.NATMLGVF.js.map → chunk.T4MHUMBJ.js.map} +0 -0
  284. /package/dist/chunks/{chunk.WX7OJEBN.js.map → chunk.TCGQ6I55.js.map} +0 -0
  285. /package/dist/chunks/{chunk.I5GHSBBB.js.map → chunk.TD2KXBBJ.js.map} +0 -0
  286. /package/dist/chunks/{chunk.QN4VTDCL.js.map → chunk.THRSQDCW.js.map} +0 -0
  287. /package/dist/chunks/{chunk.3JFJNUVB.js.map → chunk.TVIXZRR6.js.map} +0 -0
  288. /package/dist/chunks/{chunk.YYWFJREC.js.map → chunk.UKK7UB66.js.map} +0 -0
  289. /package/dist/chunks/{chunk.4UZBHZB7.js.map → chunk.VCCPDP5S.js.map} +0 -0
  290. /package/dist/chunks/{chunk.XBUFNX4L.js.map → chunk.VI6PYB5C.js.map} +0 -0
  291. /package/dist/chunks/{chunk.A7HLSENR.js.map → chunk.VNOGO2PS.js.map} +0 -0
  292. /package/dist/chunks/{chunk.X4BO4K4B.js.map → chunk.VREBZRBU.js.map} +0 -0
  293. /package/dist/chunks/{chunk.MXCWG2OM.js.map → chunk.W2474HMX.js.map} +0 -0
  294. /package/dist/chunks/{chunk.OPOK7CZS.js.map → chunk.WEUMPGAL.js.map} +0 -0
  295. /package/dist/chunks/{chunk.BRQJBVSR.js.map → chunk.XBHV2RZS.js.map} +0 -0
  296. /package/dist/chunks/{chunk.HXW47ZEU.js.map → chunk.XD3FB2XT.js.map} +0 -0
  297. /package/dist/chunks/{chunk.3H2H5FNB.js.map → chunk.XY7PAA7K.js.map} +0 -0
  298. /package/dist/chunks/{chunk.A2Z57FBZ.js.map → chunk.Y4PC4NYJ.js.map} +0 -0
  299. /package/dist/chunks/{chunk.ZG6RQJZT.js.map → chunk.ZHDP4GU5.js.map} +0 -0
  300. /package/dist/chunks/{chunk.W67OQ7TE.js.map → chunk.ZXLXQMJJ.js.map} +0 -0
@@ -36,8 +36,16 @@ var translation = {
36
36
  // @see scripts/vendorism/translations.vendorism.js
37
37
  closeMenu: "Close menu",
38
38
  danger: "Danger",
39
- notification: "Notification",
39
+ fileButtonText: "Choose file",
40
+ fileButtonTextMultiple: "Choose files",
41
+ fileDragDrop: "Drop or choose file",
40
42
  menu: "Menu",
43
+ notification: "Notification",
44
+ numFilesSelected: (num) => {
45
+ if (num === 0)
46
+ return "No files chosen";
47
+ return `${num} files`;
48
+ },
41
49
  openMenu: "Open menu",
42
50
  sideNav: "Side navigation",
43
51
  success: "Success",
@@ -49,4 +57,4 @@ var en_default = translation;
49
57
  export {
50
58
  en_default
51
59
  };
52
- //# sourceMappingURL=chunk.QZNPL6WK.js.map
60
+ //# sourceMappingURL=chunk.JSPLWE2A.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/translations/en.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 */\nimport { registerTranslation } from '@shoelace-style/localize';\nimport type { Translation } from '../utilities/localize.js';\n\nconst translation: Translation = {\n $code: 'en',\n $name: 'English',\n $dir: 'ltr',\n\n carousel: 'Carousel',\n clearEntry: 'Clear entry',\n close: 'Close',\n copied: 'Copied',\n copy: 'Copy',\n currentValue: 'Current value',\n error: 'Error',\n goToSlide: (slide, count) => `Go to slide ${slide} of ${count}`,\n hidePassword: 'Hide password',\n loading: 'Loading',\n nextSlide: 'Next slide',\n numOptionsSelected: num => {\n if (num === 0) return 'No options selected';\n if (num === 1) return '1 option selected';\n return `${num} options selected`;\n },\n previousSlide: 'Previous slide',\n progress: 'Progress',\n remove: 'Remove',\n resize: 'Resize',\n scrollToEnd: 'Scroll to end',\n scrollToStart: 'Scroll to start',\n selectAColorFromTheScreen: 'Select a color from the screen',\n showPassword: 'Show password',\n slideNum: slide => `Slide ${slide}`,\n toggleColorFormat: 'Toggle color format',\n\n // Automatically generated custom translations.\n // @see scripts/vendorism/translations.vendorism.js\n closeMenu: 'Close menu',\n danger: 'Danger',\n notification: 'Notification',\n menu: 'Menu',\n openMenu: 'Open menu',\n sideNav: 'Side navigation',\n success: 'Success',\n warning: 'Warning',\n};\n\nregisterTranslation(translation);\n\nexport default translation;\n"],
5
- "mappings": ";AAQA,SAAS,2BAA2B;AAGpC,IAAM,cAA2B;AAAA,EAC/B,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EAEN,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,EACP,WAAW,CAAC,OAAO,UAAU,eAAe,KAAK,OAAO,KAAK;AAAA,EAC7D,cAAc;AAAA,EACd,SAAS;AAAA,EACT,WAAW;AAAA,EACX,oBAAoB,SAAO;AACzB,QAAI,QAAQ;AAAG,aAAO;AACtB,QAAI,QAAQ;AAAG,aAAO;AACtB,WAAO,GAAG,GAAG;AAAA,EACf;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,2BAA2B;AAAA,EAC3B,cAAc;AAAA,EACd,UAAU,WAAS,SAAS,KAAK;AAAA,EACjC,mBAAmB;AAAA;AAAA;AAAA,EAInB,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,MAAM;AAAA,EACN,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX;AAEA,oBAAoB,WAAW;AAE/B,IAAO,aAAQ;",
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 */\nimport { registerTranslation } from '@shoelace-style/localize';\nimport type { Translation } from '../utilities/localize.js';\n\nconst translation: Translation = {\n $code: 'en',\n $name: 'English',\n $dir: 'ltr',\n\n carousel: 'Carousel',\n clearEntry: 'Clear entry',\n close: 'Close',\n copied: 'Copied',\n copy: 'Copy',\n currentValue: 'Current value',\n error: 'Error',\n goToSlide: (slide, count) => `Go to slide ${slide} of ${count}`,\n hidePassword: 'Hide password',\n loading: 'Loading',\n nextSlide: 'Next slide',\n numOptionsSelected: num => {\n if (num === 0) return 'No options selected';\n if (num === 1) return '1 option selected';\n return `${num} options selected`;\n },\n previousSlide: 'Previous slide',\n progress: 'Progress',\n remove: 'Remove',\n resize: 'Resize',\n scrollToEnd: 'Scroll to end',\n scrollToStart: 'Scroll to start',\n selectAColorFromTheScreen: 'Select a color from the screen',\n showPassword: 'Show password',\n slideNum: slide => `Slide ${slide}`,\n toggleColorFormat: 'Toggle color format',\n\n // Automatically generated custom translations.\n // @see scripts/vendorism/translations.vendorism.js\n closeMenu: 'Close menu',\n danger: 'Danger',\n fileButtonText: 'Choose file',\n fileButtonTextMultiple: 'Choose files',\n fileDragDrop: 'Drop or choose file',\n menu: 'Menu',\n notification: 'Notification',\n numFilesSelected: num => {\n if (num === 0) return 'No files chosen';\n return `${num} files`;\n },\n openMenu: 'Open menu',\n sideNav: 'Side navigation',\n success: 'Success',\n warning: 'Warning',\n};\n\nregisterTranslation(translation);\n\nexport default translation;\n"],
5
+ "mappings": ";AAQA,SAAS,2BAA2B;AAGpC,IAAM,cAA2B;AAAA,EAC/B,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EAEN,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,cAAc;AAAA,EACd,OAAO;AAAA,EACP,WAAW,CAAC,OAAO,UAAU,eAAe,KAAK,OAAO,KAAK;AAAA,EAC7D,cAAc;AAAA,EACd,SAAS;AAAA,EACT,WAAW;AAAA,EACX,oBAAoB,SAAO;AACzB,QAAI,QAAQ;AAAG,aAAO;AACtB,QAAI,QAAQ;AAAG,aAAO;AACtB,WAAO,GAAG,GAAG;AAAA,EACf;AAAA,EACA,eAAe;AAAA,EACf,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,2BAA2B;AAAA,EAC3B,cAAc;AAAA,EACd,UAAU,WAAS,SAAS,KAAK;AAAA,EACjC,mBAAmB;AAAA;AAAA;AAAA,EAInB,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,wBAAwB;AAAA,EACxB,cAAc;AAAA,EACd,MAAM;AAAA,EACN,cAAc;AAAA,EACd,kBAAkB,SAAO;AACrB,QAAI,QAAQ;AAAG,aAAO;AACtB,WAAO,GAAG,GAAG;AAAA,EACf;AAAA,EACF,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX;AAEA,oBAAoB,WAAW;AAE/B,IAAO,aAAQ;",
6
6
  "names": []
7
7
  }
@@ -6,17 +6,17 @@ import {
6
6
  } from "./chunk.U7YAV7S3.js";
7
7
  import {
8
8
  SynIconButton
9
- } from "./chunk.I7T6CYDB.js";
9
+ } from "./chunk.GZQPS6JH.js";
10
10
  import {
11
11
  LocalizeController
12
- } from "./chunk.E3KW3KQM.js";
12
+ } from "./chunk.ZTEMBLJH.js";
13
13
  import {
14
14
  watch
15
15
  } from "./chunk.QJMO7V5R.js";
16
16
  import {
17
17
  SynergyElement,
18
18
  component_styles_default
19
- } from "./chunk.RVQ3X7WC.js";
19
+ } from "./chunk.BWVISANJ.js";
20
20
  import {
21
21
  __decorateClass
22
22
  } from "./chunk.QNDC5KWA.js";
@@ -116,4 +116,4 @@ __decorateClass([
116
116
  export {
117
117
  SynTab
118
118
  };
119
- //# sourceMappingURL=chunk.BJEVUOBO.js.map
119
+ //# sourceMappingURL=chunk.KPEDDAR4.js.map
@@ -1,16 +1,16 @@
1
- import {
2
- menu_label_custom_styles_default
3
- } from "./chunk.X6GR6IA2.js";
4
1
  import {
5
2
  menu_label_styles_default
6
3
  } from "./chunk.RAOPZXJL.js";
4
+ import {
5
+ menu_label_custom_styles_default
6
+ } from "./chunk.X6GR6IA2.js";
7
7
  import {
8
8
  SynDivider
9
- } from "./chunk.YA3UERHI.js";
9
+ } from "./chunk.HVJGBGHT.js";
10
10
  import {
11
11
  SynergyElement,
12
12
  component_styles_default
13
- } from "./chunk.RVQ3X7WC.js";
13
+ } from "./chunk.BWVISANJ.js";
14
14
 
15
15
  // src/components/menu-label/menu-label.component.ts
16
16
  import { html } from "lit";
@@ -32,4 +32,4 @@ SynMenuLabel.dependencies = {
32
32
  export {
33
33
  SynMenuLabel
34
34
  };
35
- //# sourceMappingURL=chunk.SAKDWMDC.js.map
35
+ //# sourceMappingURL=chunk.LAKJ5MK2.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynTab
3
- } from "./chunk.BJEVUOBO.js";
3
+ } from "./chunk.KPEDDAR4.js";
4
4
 
5
5
  // src/components/tab/tab.ts
6
6
  var tab_default = SynTab;
@@ -9,4 +9,4 @@ SynTab.define("syn-tab");
9
9
  export {
10
10
  tab_default
11
11
  };
12
- //# sourceMappingURL=chunk.2RROJC65.js.map
12
+ //# sourceMappingURL=chunk.LQZJ6SLT.js.map
@@ -1,25 +1,25 @@
1
- import {
2
- tab_group_styles_default
3
- } from "./chunk.JQ47GWDL.js";
4
1
  import {
5
2
  tab_group_custom_styles_default
6
3
  } from "./chunk.NGI67WXT.js";
4
+ import {
5
+ tab_group_styles_default
6
+ } from "./chunk.JQ47GWDL.js";
7
7
  import {
8
8
  scrollIntoView
9
9
  } from "./chunk.RX7A4EQ2.js";
10
10
  import {
11
11
  SynIconButton
12
- } from "./chunk.I7T6CYDB.js";
12
+ } from "./chunk.GZQPS6JH.js";
13
13
  import {
14
14
  LocalizeController
15
- } from "./chunk.E3KW3KQM.js";
15
+ } from "./chunk.ZTEMBLJH.js";
16
16
  import {
17
17
  watch
18
18
  } from "./chunk.QJMO7V5R.js";
19
19
  import {
20
20
  SynergyElement,
21
21
  component_styles_default
22
- } from "./chunk.RVQ3X7WC.js";
22
+ } from "./chunk.BWVISANJ.js";
23
23
  import {
24
24
  __decorateClass,
25
25
  __spreadValues
@@ -355,4 +355,4 @@ __decorateClass([
355
355
  export {
356
356
  SynTabGroup
357
357
  };
358
- //# sourceMappingURL=chunk.LOVGEUYP.js.map
358
+ //# sourceMappingURL=chunk.M4PJZ2KX.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../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 */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html } from 'lit';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property, query, state } from 'lit/decorators.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 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 };\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 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 /** 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\t/** 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 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 if (this.nav) {\n this.resizeObserver.unobserve(this.nav);\n }\n }\n\n private getAllTabs(options: { includeDisabled: boolean } = { includeDisabled: true }) {\n const slot = this.shadowRoot!.querySelector<HTMLSlotElement>('slot[name=\"nav\"]')!;\n\n return [...(slot.assignedElements() as SynTab[])].filter(el => {\n return options.includeDisabled\n ? el.tagName.toLowerCase() === 'syn-tab'\n : el.tagName.toLowerCase() === 'syn-tab' && !el.disabled;\n });\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.localize.dir() === 'rtl';\n\n if (activeEl?.tagName.toLowerCase() === 'syn-tab') {\n let index = this.tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = this.tabs.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 index--;\n } else if (\n (['top'].includes(this.placement) && event.key === (isRtl ? 'ArrowLeft' : 'ArrowRight')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowDown')\n ) {\n index++;\n }\n\n if (index < 0) {\n index = this.tabs.length - 1;\n }\n\n if (index > this.tabs.length - 1) {\n index = 0;\n }\n\n this.tabs[index].focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this.setActiveTab(this.tabs[index], { scrollBehavior: 'smooth' });\n }\n\n if (['top'].includes(this.placement)) {\n scrollIntoView(this.tabs[index], 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 => (el.active = el === this.activeTab));\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.localize.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({ includeDisabled: false });\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 @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\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=\"tab-group__scroll-button tab-group__scroll-button--start\"\n name=\"chevron-right\"\n library=\"system\"\n label=${this.localize.term('scrollToStart')}\n @click=${this.handleScrollToStart}\n ></syn-icon-button>\n `\n : ''}\n\n <div class=\"tab-group__nav\">\n <div part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div part=\"active-tab-indicator\" class=\"tab-group__indicator\"></div>\n <slot name=\"nav\" @slotchange=${this.syncTabsAndPanels}></slot>\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=\"tab-group__scroll-button tab-group__scroll-button--end\"\n name=\"chevron-right\"\n library=\"system\"\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"],
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 */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html } from 'lit';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property, query, state } from 'lit/decorators.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 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 };\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 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 /** 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 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 if (this.nav) {\n this.resizeObserver.unobserve(this.nav);\n }\n }\n\n private getAllTabs(options: { includeDisabled: boolean } = { includeDisabled: true }) {\n const slot = this.shadowRoot!.querySelector<HTMLSlotElement>('slot[name=\"nav\"]')!;\n\n return [...(slot.assignedElements() as SynTab[])].filter(el => {\n return options.includeDisabled\n ? el.tagName.toLowerCase() === 'syn-tab'\n : el.tagName.toLowerCase() === 'syn-tab' && !el.disabled;\n });\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.localize.dir() === 'rtl';\n\n if (activeEl?.tagName.toLowerCase() === 'syn-tab') {\n let index = this.tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = this.tabs.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 index--;\n } else if (\n (['top'].includes(this.placement) && event.key === (isRtl ? 'ArrowLeft' : 'ArrowRight')) ||\n (['start', 'end'].includes(this.placement) && event.key === 'ArrowDown')\n ) {\n index++;\n }\n\n if (index < 0) {\n index = this.tabs.length - 1;\n }\n\n if (index > this.tabs.length - 1) {\n index = 0;\n }\n\n this.tabs[index].focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this.setActiveTab(this.tabs[index], { scrollBehavior: 'smooth' });\n }\n\n if (['top'].includes(this.placement)) {\n scrollIntoView(this.tabs[index], 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 => (el.active = el === this.activeTab));\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.localize.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({ includeDisabled: false });\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 @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\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=\"tab-group__scroll-button tab-group__scroll-button--start\"\n name=\"chevron-right\"\n library=\"system\"\n label=${this.localize.term('scrollToStart')}\n @click=${this.handleScrollToStart}\n ></syn-icon-button>\n `\n : ''}\n\n <div class=\"tab-group__nav\">\n <div part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div part=\"active-tab-indicator\" class=\"tab-group__indicator\"></div>\n <slot name=\"nav\" @slotchange=${this.syncTabsAndPanels}></slot>\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=\"tab-group__scroll-button tab-group__scroll-button--end\"\n name=\"chevron-right\"\n library=\"system\"\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
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,19 +1,19 @@
1
- import {
2
- tag_styles_default
3
- } from "./chunk.6EPU7YUS.js";
4
1
  import {
5
2
  tag_custom_styles_default
6
3
  } from "./chunk.B6R3IVGO.js";
4
+ import {
5
+ tag_styles_default
6
+ } from "./chunk.6EPU7YUS.js";
7
7
  import {
8
8
  SynIconButton
9
- } from "./chunk.I7T6CYDB.js";
9
+ } from "./chunk.GZQPS6JH.js";
10
10
  import {
11
11
  LocalizeController
12
- } from "./chunk.E3KW3KQM.js";
12
+ } from "./chunk.ZTEMBLJH.js";
13
13
  import {
14
14
  SynergyElement,
15
15
  component_styles_default
16
- } from "./chunk.RVQ3X7WC.js";
16
+ } from "./chunk.BWVISANJ.js";
17
17
  import {
18
18
  __decorateClass
19
19
  } from "./chunk.QNDC5KWA.js";
@@ -76,4 +76,4 @@ __decorateClass([
76
76
  export {
77
77
  SynTag
78
78
  };
79
- //# sourceMappingURL=chunk.TYKSQSYN.js.map
79
+ //# sourceMappingURL=chunk.MAWKXH6T.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynIconButton
3
- } from "./chunk.I7T6CYDB.js";
3
+ } from "./chunk.GZQPS6JH.js";
4
4
 
5
5
  // src/components/icon-button/icon-button.ts
6
6
  var icon_button_default = SynIconButton;
@@ -9,4 +9,4 @@ SynIconButton.define("syn-icon-button");
9
9
  export {
10
10
  icon_button_default
11
11
  };
12
- //# sourceMappingURL=chunk.KGXWML3K.js.map
12
+ //# sourceMappingURL=chunk.ML6NOYHV.js.map
@@ -46,24 +46,10 @@ function shimKeyframesHeightAuto(keyframes, calculatedHeight) {
46
46
  }));
47
47
  }
48
48
 
49
- // src/internal/event.ts
50
- function waitForEvent(el, eventName) {
51
- return new Promise((resolve) => {
52
- function done(event) {
53
- if (event.target === el) {
54
- el.removeEventListener(eventName, done);
55
- resolve();
56
- }
57
- }
58
- el.addEventListener(eventName, done);
59
- });
60
- }
61
-
62
49
  export {
63
50
  animateTo,
64
51
  parseDuration,
65
52
  stopAnimations,
66
- shimKeyframesHeightAuto,
67
- waitForEvent
53
+ shimKeyframesHeightAuto
68
54
  };
69
- //# sourceMappingURL=chunk.PYLHI2JQ.js.map
55
+ //# sourceMappingURL=chunk.MLOZ4D3V.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/internal/animate.ts", "../../src/internal/event.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 */\n/**\n * Animates an element using keyframes. Returns a promise that resolves after the animation completes or gets canceled.\n */\nexport function animateTo(el: HTMLElement, keyframes: Keyframe[], options?: KeyframeAnimationOptions) {\n return new Promise(resolve => {\n if (options?.duration === Infinity) {\n throw new Error('Promise-based animations must be finite.');\n }\n\n const animation = el.animate(keyframes, {\n ...options,\n duration: prefersReducedMotion() ? 0 : options!.duration\n });\n\n animation.addEventListener('cancel', resolve, { once: true });\n animation.addEventListener('finish', resolve, { once: true });\n });\n}\n\n/** Parses a CSS duration and returns the number of milliseconds. */\nexport function parseDuration(delay: number | string) {\n delay = delay.toString().toLowerCase();\n\n if (delay.indexOf('ms') > -1) {\n return parseFloat(delay);\n }\n\n if (delay.indexOf('s') > -1) {\n return parseFloat(delay) * 1000;\n }\n\n return parseFloat(delay);\n}\n\n/** Tells if the user has enabled the \"reduced motion\" setting in their browser or OS. */\nexport function prefersReducedMotion() {\n const query = window.matchMedia('(prefers-reduced-motion: reduce)');\n return query.matches;\n}\n\n/**\n * Stops all active animations on the target element. Returns a promise that resolves after all animations are canceled.\n */\nexport function stopAnimations(el: HTMLElement) {\n return Promise.all(\n el.getAnimations().map(animation => {\n return new Promise(resolve => {\n animation.cancel();\n requestAnimationFrame(resolve);\n });\n })\n );\n}\n\n/**\n * We can't animate `height: auto`, but we can calculate the height and shim keyframes by replacing it with the\n * element's scrollHeight before the animation.\n */\nexport function shimKeyframesHeightAuto(keyframes: Keyframe[], calculatedHeight: number) {\n return keyframes.map(keyframe => ({\n ...keyframe,\n height: keyframe.height === 'auto' ? `${calculatedHeight}px` : keyframe.height\n }));\n}\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 */\n/** Waits for a specific event to be emitted from an element. Ignores events that bubble up from child elements. */\nexport function waitForEvent(el: HTMLElement, eventName: string) {\n return new Promise<void>(resolve => {\n function done(event: Event) {\n if (event.target === el) {\n el.removeEventListener(eventName, done);\n resolve();\n }\n }\n\n el.addEventListener(eventName, done);\n });\n}\n"],
5
- "mappings": ";;;;;;AAWO,SAAS,UAAU,IAAiB,WAAuB,SAAoC;AACpG,SAAO,IAAI,QAAQ,aAAW;AAC5B,SAAI,mCAAS,cAAa,UAAU;AAClC,YAAM,IAAI,MAAM,0CAA0C;AAAA,IAC5D;AAEA,UAAM,YAAY,GAAG,QAAQ,WAAW,iCACnC,UADmC;AAAA,MAEtC,UAAU,qBAAqB,IAAI,IAAI,QAAS;AAAA,IAClD,EAAC;AAED,cAAU,iBAAiB,UAAU,SAAS,EAAE,MAAM,KAAK,CAAC;AAC5D,cAAU,iBAAiB,UAAU,SAAS,EAAE,MAAM,KAAK,CAAC;AAAA,EAC9D,CAAC;AACH;AAGO,SAAS,cAAc,OAAwB;AACpD,UAAQ,MAAM,SAAS,EAAE,YAAY;AAErC,MAAI,MAAM,QAAQ,IAAI,IAAI,IAAI;AAC5B,WAAO,WAAW,KAAK;AAAA,EACzB;AAEA,MAAI,MAAM,QAAQ,GAAG,IAAI,IAAI;AAC3B,WAAO,WAAW,KAAK,IAAI;AAAA,EAC7B;AAEA,SAAO,WAAW,KAAK;AACzB;AAGO,SAAS,uBAAuB;AACrC,QAAM,QAAQ,OAAO,WAAW,kCAAkC;AAClE,SAAO,MAAM;AACf;AAKO,SAAS,eAAe,IAAiB;AAC9C,SAAO,QAAQ;AAAA,IACb,GAAG,cAAc,EAAE,IAAI,eAAa;AAClC,aAAO,IAAI,QAAQ,aAAW;AAC5B,kBAAU,OAAO;AACjB,8BAAsB,OAAO;AAAA,MAC/B,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAMO,SAAS,wBAAwB,WAAuB,kBAA0B;AACvF,SAAO,UAAU,IAAI,cAAa,iCAC7B,WAD6B;AAAA,IAEhC,QAAQ,SAAS,WAAW,SAAS,GAAG,gBAAgB,OAAO,SAAS;AAAA,EAC1E,EAAE;AACJ;;;AC9DO,SAAS,aAAa,IAAiB,WAAmB;AAC/D,SAAO,IAAI,QAAc,aAAW;AAClC,aAAS,KAAK,OAAc;AAC1B,UAAI,MAAM,WAAW,IAAI;AACvB,WAAG,oBAAoB,WAAW,IAAI;AACtC,gBAAQ;AAAA,MACV;AAAA,IACF;AAEA,OAAG,iBAAiB,WAAW,IAAI;AAAA,EACrC,CAAC;AACH;",
3
+ "sources": ["../../src/internal/animate.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 */\n/**\n * Animates an element using keyframes. Returns a promise that resolves after the animation completes or gets canceled.\n */\nexport function animateTo(el: HTMLElement, keyframes: Keyframe[], options?: KeyframeAnimationOptions) {\n return new Promise(resolve => {\n if (options?.duration === Infinity) {\n throw new Error('Promise-based animations must be finite.');\n }\n\n const animation = el.animate(keyframes, {\n ...options,\n duration: prefersReducedMotion() ? 0 : options!.duration\n });\n\n animation.addEventListener('cancel', resolve, { once: true });\n animation.addEventListener('finish', resolve, { once: true });\n });\n}\n\n/** Parses a CSS duration and returns the number of milliseconds. */\nexport function parseDuration(delay: number | string) {\n delay = delay.toString().toLowerCase();\n\n if (delay.indexOf('ms') > -1) {\n return parseFloat(delay);\n }\n\n if (delay.indexOf('s') > -1) {\n return parseFloat(delay) * 1000;\n }\n\n return parseFloat(delay);\n}\n\n/** Tells if the user has enabled the \"reduced motion\" setting in their browser or OS. */\nexport function prefersReducedMotion() {\n const query = window.matchMedia('(prefers-reduced-motion: reduce)');\n return query.matches;\n}\n\n/**\n * Stops all active animations on the target element. Returns a promise that resolves after all animations are canceled.\n */\nexport function stopAnimations(el: HTMLElement) {\n return Promise.all(\n el.getAnimations().map(animation => {\n return new Promise(resolve => {\n animation.cancel();\n requestAnimationFrame(resolve);\n });\n })\n );\n}\n\n/**\n * We can't animate `height: auto`, but we can calculate the height and shim keyframes by replacing it with the\n * element's scrollHeight before the animation.\n */\nexport function shimKeyframesHeightAuto(keyframes: Keyframe[], calculatedHeight: number) {\n return keyframes.map(keyframe => ({\n ...keyframe,\n height: keyframe.height === 'auto' ? `${calculatedHeight}px` : keyframe.height\n }));\n}\n"],
5
+ "mappings": ";;;;;;AAWO,SAAS,UAAU,IAAiB,WAAuB,SAAoC;AACpG,SAAO,IAAI,QAAQ,aAAW;AAC5B,SAAI,mCAAS,cAAa,UAAU;AAClC,YAAM,IAAI,MAAM,0CAA0C;AAAA,IAC5D;AAEA,UAAM,YAAY,GAAG,QAAQ,WAAW,iCACnC,UADmC;AAAA,MAEtC,UAAU,qBAAqB,IAAI,IAAI,QAAS;AAAA,IAClD,EAAC;AAED,cAAU,iBAAiB,UAAU,SAAS,EAAE,MAAM,KAAK,CAAC;AAC5D,cAAU,iBAAiB,UAAU,SAAS,EAAE,MAAM,KAAK,CAAC;AAAA,EAC9D,CAAC;AACH;AAGO,SAAS,cAAc,OAAwB;AACpD,UAAQ,MAAM,SAAS,EAAE,YAAY;AAErC,MAAI,MAAM,QAAQ,IAAI,IAAI,IAAI;AAC5B,WAAO,WAAW,KAAK;AAAA,EACzB;AAEA,MAAI,MAAM,QAAQ,GAAG,IAAI,IAAI;AAC3B,WAAO,WAAW,KAAK,IAAI;AAAA,EAC7B;AAEA,SAAO,WAAW,KAAK;AACzB;AAGO,SAAS,uBAAuB;AACrC,QAAM,QAAQ,OAAO,WAAW,kCAAkC;AAClE,SAAO,MAAM;AACf;AAKO,SAAS,eAAe,IAAiB;AAC9C,SAAO,QAAQ;AAAA,IACb,GAAG,cAAc,EAAE,IAAI,eAAa;AAClC,aAAO,IAAI,QAAQ,aAAW;AAC5B,kBAAU,OAAO;AACjB,8BAAsB,OAAO;AAAA,MAC/B,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAMO,SAAS,wBAAwB,WAAuB,kBAA0B;AACvF,SAAO,UAAU,IAAI,cAAa,iCAC7B,WAD6B;AAAA,IAEhC,QAAQ,SAAS,WAAW,SAAS,GAAG,gBAAgB,OAAO,SAAS;AAAA,EAC1E,EAAE;AACJ;",
6
6
  "names": []
7
7
  }
@@ -6,14 +6,14 @@ import {
6
6
  } from "./chunk.EHSNF4SS.js";
7
7
  import {
8
8
  SynIcon
9
- } from "./chunk.E5Q4S6J5.js";
9
+ } from "./chunk.OUSXEKQG.js";
10
10
  import {
11
11
  watch
12
12
  } from "./chunk.QJMO7V5R.js";
13
13
  import {
14
14
  SynergyElement,
15
15
  component_styles_default
16
- } from "./chunk.RVQ3X7WC.js";
16
+ } from "./chunk.BWVISANJ.js";
17
17
  import {
18
18
  __decorateClass
19
19
  } from "./chunk.QNDC5KWA.js";
@@ -112,4 +112,4 @@ __decorateClass([
112
112
  export {
113
113
  SynRadio
114
114
  };
115
- //# sourceMappingURL=chunk.ZDIP5E5M.js.map
115
+ //# sourceMappingURL=chunk.MO5THLW3.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynInput
3
- } from "./chunk.NATMLGVF.js";
3
+ } from "./chunk.T4MHUMBJ.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.3GS7GYS7.js.map
12
+ //# sourceMappingURL=chunk.MQH2OOTN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynDivider
3
- } from "./chunk.YA3UERHI.js";
3
+ } from "./chunk.HVJGBGHT.js";
4
4
 
5
5
  // src/components/divider/divider.ts
6
6
  var divider_default = SynDivider;
@@ -9,4 +9,4 @@ SynDivider.define("syn-divider");
9
9
  export {
10
10
  divider_default
11
11
  };
12
- //# sourceMappingURL=chunk.GLQRGWLN.js.map
12
+ //# sourceMappingURL=chunk.MZO2W4AG.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynAccordion
3
- } from "./chunk.WX7OJEBN.js";
3
+ } from "./chunk.TCGQ6I55.js";
4
4
 
5
5
  // src/components/accordion/accordion.ts
6
6
  var accordion_default = SynAccordion;
@@ -9,4 +9,4 @@ SynAccordion.define("syn-accordion");
9
9
  export {
10
10
  accordion_default
11
11
  };
12
- //# sourceMappingURL=chunk.DCR5ERAC.js.map
12
+ //# sourceMappingURL=chunk.OAD4GL57.js.map
@@ -4,29 +4,31 @@ import {
4
4
  import {
5
5
  details_styles_default
6
6
  } from "./chunk.VA26EAEP.js";
7
+ import {
8
+ waitForEvent
9
+ } from "./chunk.C2ENQBPM.js";
7
10
  import {
8
11
  animateTo,
9
12
  shimKeyframesHeightAuto,
10
- stopAnimations,
11
- waitForEvent
12
- } from "./chunk.PYLHI2JQ.js";
13
+ stopAnimations
14
+ } from "./chunk.MLOZ4D3V.js";
13
15
  import {
14
16
  getAnimation,
15
17
  setDefaultAnimation
16
18
  } from "./chunk.MSUX23ZJ.js";
17
19
  import {
18
20
  SynIcon
19
- } from "./chunk.E5Q4S6J5.js";
21
+ } from "./chunk.OUSXEKQG.js";
20
22
  import {
21
23
  LocalizeController
22
- } from "./chunk.E3KW3KQM.js";
24
+ } from "./chunk.ZTEMBLJH.js";
23
25
  import {
24
26
  watch
25
27
  } from "./chunk.QJMO7V5R.js";
26
28
  import {
27
29
  SynergyElement,
28
30
  component_styles_default
29
- } from "./chunk.RVQ3X7WC.js";
31
+ } from "./chunk.BWVISANJ.js";
30
32
  import {
31
33
  __decorateClass
32
34
  } from "./chunk.QNDC5KWA.js";
@@ -63,8 +65,9 @@ var SynDetails = class extends SynergyElement {
63
65
  this.detailsObserver.observe(this.details, { attributes: true });
64
66
  }
65
67
  disconnectedCallback() {
68
+ var _a;
66
69
  super.disconnectedCallback();
67
- this.detailsObserver.disconnect();
70
+ (_a = this.detailsObserver) == null ? void 0 : _a.disconnect();
68
71
  }
69
72
  handleSummaryClick(event) {
70
73
  event.preventDefault();
@@ -236,4 +239,4 @@ setDefaultAnimation("details.hide", {
236
239
  export {
237
240
  SynDetails
238
241
  };
239
- //# sourceMappingURL=chunk.YKKAQLY3.js.map
242
+ //# sourceMappingURL=chunk.OP4WTQ2R.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/details/details.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 */\nimport { animateTo, shimKeyframesHeightAuto, stopAnimations } from '../../internal/animate.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { getAnimation, setDefaultAnimation } from '../../utilities/animation-registry.js';\nimport { html } from 'lit';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property, query } from 'lit/decorators.js';\nimport { waitForEvent } from '../../internal/event.js';\nimport { watch } from '../../internal/watch.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport SynIcon from '../icon/icon.component.js';\nimport styles from './details.styles.js';\nimport customStyles from './details.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Details show a brief summary and expand to show additional content.\n * @documentation https://synergy.style/components/details\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The details' main content.\n * @slot summary - The details' summary. Alternatively, you can use the `summary` attribute.\n * @slot expand-icon - Optional expand icon to use instead of the default. Works best with `<syn-icon>`.\n * @slot collapse-icon - Optional collapse icon to use instead of the default. Works best with `<syn-icon>`.\n *\n * @event syn-show - Emitted when the details opens.\n * @event syn-after-show - Emitted after the details opens and all animations are complete.\n * @event syn-hide - Emitted when the details closes.\n * @event syn-after-hide - Emitted after the details closes and all animations are complete.\n *\n * @csspart base - The component's base wrapper.\n * @csspart header - The header that wraps both the summary and the expand/collapse icon.\n * @csspart summary - The container that wraps the summary.\n * @csspart summary-icon - The container that wraps the expand/collapse icons.\n * @csspart content - The details content.\n *\n * @animation details.show - The animation to use when showing details. You can use `height: auto` with this animation.\n * @animation details.hide - The animation to use when hiding details. You can use `height: auto` with this animation.\n */\nexport default class SynDetails extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n\n static dependencies = {\n 'syn-icon': SynIcon\n };\n\n private readonly localize = new LocalizeController(this);\n\n @query('.details') details: HTMLDetailsElement;\n @query('.details__header') header: HTMLElement;\n @query('.details__body') body: HTMLElement;\n @query('.details__expand-icon-slot') expandIconSlot: HTMLSlotElement;\n\n detailsObserver: MutationObserver;\n\n /**\n * Indicates whether or not the details is open. You can toggle this attribute to show and hide the details, or you\n * can use the `show()` and `hide()` methods and this attribute will reflect the details' open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** The summary to show in the header. If you need to display HTML, use the `summary` slot instead. */\n @property() summary: string;\n\n /** Disables the details so it can't be toggled. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Draws the details as contained element. */\n @property({ type: Boolean, reflect: true }) contained = false;\n\n /** The details's size. */\n @property({ reflect: true }) size: 'medium' | 'large' = 'medium';\n\n firstUpdated() {\n this.body.style.height = this.open ? 'auto' : '0';\n if (this.open) {\n this.details.open = true;\n }\n\n this.detailsObserver = new MutationObserver(changes => {\n for (const change of changes) {\n if (change.type === 'attributes' && change.attributeName === 'open') {\n if (this.details.open) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n });\n this.detailsObserver.observe(this.details, { attributes: true });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.detailsObserver?.disconnect();\n }\n\n private handleSummaryClick(event: MouseEvent) {\n event.preventDefault();\n\n if (!this.disabled) {\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n this.header.focus();\n }\n }\n\n private handleSummaryKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {\n event.preventDefault();\n this.hide();\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {\n event.preventDefault();\n this.show();\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n this.details.open = true;\n // Show\n const slShow = this.emit('syn-show', { cancelable: true });\n if (slShow.defaultPrevented) {\n this.open = false;\n this.details.open = false;\n return;\n }\n\n await stopAnimations(this.body);\n\n const { keyframes, options } = getAnimation(this, 'details.show', { dir: this.localize.dir() });\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.style.height = 'auto';\n\n this.emit('syn-after-show');\n } else {\n // Hide\n const slHide = this.emit('syn-hide', { cancelable: true });\n if (slHide.defaultPrevented) {\n this.details.open = true;\n this.open = true;\n return;\n }\n\n await stopAnimations(this.body);\n\n const { keyframes, options } = getAnimation(this, 'details.hide', { dir: this.localize.dir() });\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.style.height = 'auto';\n\n this.details.open = false;\n this.emit('syn-after-hide');\n }\n }\n\n /** Shows the details. */\n async show() {\n if (this.open || this.disabled) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'syn-after-show');\n }\n\n /** Hides the details */\n async hide() {\n if (!this.open || this.disabled) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'syn-after-hide');\n }\n\n render() {\n return html`\n <details\n part=\"base\"\n class=${classMap({\n details: true,\n 'details--size-medium': this.size === 'medium',\n 'details--size-large': this.size === 'large',\n 'details--open': this.open,\n 'details--disabled': this.disabled,\n 'details--contained': this.contained,\n })}\n >\n <summary\n part=\"header\"\n id=\"header\"\n class=\"details__header\"\n role=\"button\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-controls=\"content\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.handleSummaryClick}\n @keydown=${this.handleSummaryKeyDown}\n >\n <slot name=\"summary\" part=\"summary\" class=\"details__summary\">${this.summary}</slot>\n\n <span part=\"summary-icon\" class=\"details__summary-icon\">\n <slot name=\"expand-icon\">\n <syn-icon library=\"system\" name=\"chevron-down\"></syn-icon>\n </slot>\n <slot name=\"collapse-icon\">\n <syn-icon library=\"system\" name=\"chevron-down\"></syn-icon>\n </slot>\n </span>\n </summary>\n\n <div class=\"details__body\" role=\"region\" aria-labelledby=\"header\">\n <slot part=\"content\" id=\"content\" class=\"details__content\"></slot>\n </div>\n </details>\n `;\n }\n}\n\nsetDefaultAnimation('details.show', {\n keyframes: [\n { height: '0', opacity: '0' },\n { height: 'auto', opacity: '1' }\n ],\n options: { duration: 250, easing: 'linear' }\n});\n\nsetDefaultAnimation('details.hide', {\n keyframes: [\n { height: 'auto', opacity: '1' },\n { height: '0', opacity: '0' }\n ],\n options: { duration: 250, easing: 'linear' }\n});\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,21 +1,21 @@
1
+ import {
2
+ icon_styles_default
3
+ } from "./chunk.ZBW4ZSZ7.js";
1
4
  import {
2
5
  getIconLibrary,
3
6
  unwatchIcon,
4
7
  watchIcon
5
- } from "./chunk.AV56MW4Q.js";
8
+ } from "./chunk.543GQUFN.js";
6
9
  import {
7
10
  icon_custom_styles_default
8
11
  } from "./chunk.PJO6TM3T.js";
9
- import {
10
- icon_styles_default
11
- } from "./chunk.ZBW4ZSZ7.js";
12
12
  import {
13
13
  watch
14
14
  } from "./chunk.QJMO7V5R.js";
15
15
  import {
16
16
  SynergyElement,
17
17
  component_styles_default
18
- } from "./chunk.RVQ3X7WC.js";
18
+ } from "./chunk.BWVISANJ.js";
19
19
  import {
20
20
  __decorateClass
21
21
  } from "./chunk.QNDC5KWA.js";
@@ -182,4 +182,4 @@ __decorateClass([
182
182
  export {
183
183
  SynIcon
184
184
  };
185
- //# sourceMappingURL=chunk.E5Q4S6J5.js.map
185
+ //# sourceMappingURL=chunk.OUSXEKQG.js.map