@synergy-design-system/components 3.1.0 → 3.2.1

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 (773) hide show
  1. package/README.md +0 -61
  2. package/dist/chunks/{chunk.4PUQDU4T.js → chunk.26MIXER6.js} +5 -5
  3. package/dist/chunks/chunk.26MIXER6.js.map +7 -0
  4. package/dist/chunks/{chunk.VA26EAEP.js → chunk.2BJPTG2Q.js} +1 -1
  5. package/dist/chunks/chunk.2BJPTG2Q.js.map +7 -0
  6. package/dist/chunks/{chunk.5732DMBC.js → chunk.2DT3C6WE.js} +1 -1
  7. package/dist/chunks/chunk.2DT3C6WE.js.map +7 -0
  8. package/dist/chunks/chunk.2IL4PA6Q.js +130 -0
  9. package/dist/chunks/chunk.2IL4PA6Q.js.map +7 -0
  10. package/dist/chunks/{chunk.4M4LRUZD.js → chunk.2PW7XZZF.js} +13 -7
  11. package/dist/chunks/chunk.2PW7XZZF.js.map +7 -0
  12. package/dist/chunks/{chunk.KCLOTN4Z.js → chunk.2RS24S7K.js} +5 -5
  13. package/dist/chunks/chunk.2RS24S7K.js.map +7 -0
  14. package/dist/chunks/{chunk.VXC77KXR.js → chunk.32C66EYB.js} +6 -6
  15. package/dist/chunks/chunk.32C66EYB.js.map +7 -0
  16. package/dist/chunks/{chunk.FSZIE7IO.js → chunk.34A453XJ.js} +1 -1
  17. package/dist/chunks/chunk.34A453XJ.js.map +7 -0
  18. package/dist/chunks/{chunk.QUKSQV3V.js → chunk.36HGXE6I.js} +11 -11
  19. package/dist/chunks/chunk.36HGXE6I.js.map +7 -0
  20. package/dist/chunks/{chunk.3NXKLKWH.js → chunk.3JDUKQRN.js} +1 -1
  21. package/dist/chunks/chunk.3JDUKQRN.js.map +7 -0
  22. package/dist/chunks/{chunk.K3WSJSRV.js → chunk.3NALMFRW.js} +2 -2
  23. package/dist/chunks/chunk.3NALMFRW.js.map +7 -0
  24. package/dist/chunks/{chunk.KY3YPRYR.js → chunk.4XEXSCXG.js} +2 -2
  25. package/dist/chunks/{chunk.ZBW4ZSZ7.js → chunk.4XZTYPIY.js} +1 -1
  26. package/dist/chunks/chunk.4XZTYPIY.js.map +7 -0
  27. package/dist/chunks/{chunk.IVM3BGRH.js → chunk.5FVNGR5M.js} +1 -1
  28. package/dist/chunks/chunk.5FVNGR5M.js.map +7 -0
  29. package/dist/chunks/{chunk.QS53GZR4.js → chunk.5GEZBXYH.js} +2 -2
  30. package/dist/chunks/chunk.5GEZBXYH.js.map +7 -0
  31. package/dist/chunks/{chunk.WFKDRXA5.js → chunk.5IMXX2BZ.js} +7 -7
  32. package/dist/chunks/{chunk.WFKDRXA5.js.map → chunk.5IMXX2BZ.js.map} +2 -2
  33. package/dist/chunks/{chunk.OI3HOOCT.js → chunk.5KL2GWNQ.js} +1 -1
  34. package/dist/chunks/chunk.5KL2GWNQ.js.map +7 -0
  35. package/dist/chunks/{chunk.JX55XGPA.js → chunk.5MPCXTIF.js} +2 -2
  36. package/dist/chunks/chunk.5MPCXTIF.js.map +7 -0
  37. package/dist/chunks/{chunk.AQITYSQX.js → chunk.5VNNTEAG.js} +7 -7
  38. package/dist/chunks/chunk.5VNNTEAG.js.map +7 -0
  39. package/dist/chunks/{chunk.6BGHUVA7.js → chunk.65442A47.js} +7 -7
  40. package/dist/chunks/{chunk.FD2CG2HT.js → chunk.6AT5JL7A.js} +1 -29
  41. package/dist/chunks/chunk.6AT5JL7A.js.map +7 -0
  42. package/dist/chunks/{chunk.HVXG4JG6.js → chunk.6KIX3PER.js} +1 -1
  43. package/dist/chunks/chunk.6KIX3PER.js.map +7 -0
  44. package/dist/chunks/{chunk.XCNXSFFB.js → chunk.6V3QIL3Z.js} +2 -2
  45. package/dist/chunks/chunk.6V3QIL3Z.js.map +7 -0
  46. package/dist/chunks/{chunk.3PGJQYXW.js → chunk.7G5PBA5Q.js} +2 -2
  47. package/dist/chunks/chunk.7G5PBA5Q.js.map +7 -0
  48. package/dist/chunks/{chunk.JLXCLATV.js → chunk.7V7XEBE2.js} +1 -1
  49. package/dist/chunks/chunk.7V7XEBE2.js.map +7 -0
  50. package/dist/chunks/{chunk.Q6XDV7O7.js → chunk.7XSJ52RM.js} +6 -6
  51. package/dist/chunks/chunk.7XSJ52RM.js.map +7 -0
  52. package/dist/chunks/{chunk.5ORVYCVV.js → chunk.AUJMQLMT.js} +6 -6
  53. package/dist/chunks/chunk.AUJMQLMT.js.map +7 -0
  54. package/dist/chunks/{chunk.MPSNGSXQ.js → chunk.AVMXNAAK.js} +2 -2
  55. package/dist/chunks/chunk.AVMXNAAK.js.map +7 -0
  56. package/dist/chunks/{chunk.L7GQHKZX.js → chunk.B5CUPVI3.js} +13 -13
  57. package/dist/chunks/chunk.B5CUPVI3.js.map +7 -0
  58. package/dist/chunks/{chunk.NVT2EKF6.js → chunk.B5H54LE5.js} +2 -2
  59. package/dist/chunks/chunk.B5H54LE5.js.map +7 -0
  60. package/dist/chunks/{chunk.AXFQGZJC.js → chunk.BAB5SWUZ.js} +22 -22
  61. package/dist/chunks/chunk.BAB5SWUZ.js.map +7 -0
  62. package/dist/chunks/{chunk.BMHWOQRC.js → chunk.BBWQBAFA.js} +10 -10
  63. package/dist/chunks/chunk.BBWQBAFA.js.map +7 -0
  64. package/dist/chunks/{chunk.KW5TWA5Y.js → chunk.BC532CB6.js} +1 -1
  65. package/dist/chunks/chunk.BC532CB6.js.map +7 -0
  66. package/dist/chunks/{chunk.X7XPEYAM.js → chunk.BHJVE26D.js} +2 -3
  67. package/dist/chunks/chunk.BHJVE26D.js.map +7 -0
  68. package/dist/chunks/{chunk.BIRYJHTO.js → chunk.C5WF3K27.js} +2 -2
  69. package/dist/chunks/{chunk.W66D3Q4F.js → chunk.CCWE4N5I.js} +2 -2
  70. package/dist/chunks/chunk.CCWE4N5I.js.map +7 -0
  71. package/dist/chunks/{chunk.BXY667C7.js → chunk.CCY6IYFD.js} +1 -1
  72. package/dist/chunks/chunk.CCY6IYFD.js.map +7 -0
  73. package/dist/chunks/{chunk.WVVQK5TE.js → chunk.CHFWLQN5.js} +1 -1
  74. package/dist/chunks/chunk.CHFWLQN5.js.map +7 -0
  75. package/dist/chunks/{chunk.Y5TMYX2L.js → chunk.CMOZ4SCN.js} +1 -1
  76. package/dist/chunks/chunk.CMOZ4SCN.js.map +7 -0
  77. package/dist/chunks/{chunk.GRVNUIP2.js → chunk.CX7IEDUW.js} +1 -1
  78. package/dist/chunks/chunk.CX7IEDUW.js.map +7 -0
  79. package/dist/chunks/{chunk.YARPBFC7.js → chunk.D6ABBPRU.js} +2 -2
  80. package/dist/chunks/chunk.D6ABBPRU.js.map +7 -0
  81. package/dist/chunks/{chunk.DZ7YIR5N.js → chunk.DAIQ5WRI.js} +1 -1
  82. package/dist/chunks/chunk.DAIQ5WRI.js.map +7 -0
  83. package/dist/chunks/{chunk.AZ3N5IOO.js → chunk.DEJAPNIZ.js} +1 -1
  84. package/dist/chunks/chunk.DEJAPNIZ.js.map +7 -0
  85. package/dist/chunks/{chunk.KOLE63RX.js → chunk.DIZBFI6I.js} +2 -2
  86. package/dist/chunks/chunk.DIZBFI6I.js.map +7 -0
  87. package/dist/chunks/{chunk.KUAYRSLT.js → chunk.DLHQKWGN.js} +2 -2
  88. package/dist/chunks/{chunk.PAM2UCZU.js → chunk.EG3IHOGQ.js} +2 -2
  89. package/dist/chunks/chunk.EG3IHOGQ.js.map +7 -0
  90. package/dist/chunks/{chunk.CUJDP53J.js → chunk.EONM7YMW.js} +10 -10
  91. package/dist/chunks/chunk.EONM7YMW.js.map +7 -0
  92. package/dist/chunks/{chunk.KTBISG3Q.js → chunk.EQ34CAWI.js} +5 -5
  93. package/dist/chunks/chunk.EQ34CAWI.js.map +7 -0
  94. package/dist/chunks/{chunk.6WFPHCIK.js → chunk.EQ3KJJ3H.js} +14 -14
  95. package/dist/chunks/{chunk.6WFPHCIK.js.map → chunk.EQ3KJJ3H.js.map} +2 -2
  96. package/dist/chunks/{chunk.UIRABJTT.js → chunk.EVSLGGKP.js} +2 -2
  97. package/dist/chunks/chunk.EVSLGGKP.js.map +7 -0
  98. package/dist/chunks/{chunk.SM4ANWX6.js → chunk.F2QQ2JAK.js} +2 -2
  99. package/dist/chunks/chunk.F2QQ2JAK.js.map +7 -0
  100. package/dist/chunks/{chunk.4VOWXLEZ.js → chunk.FCXOOYNC.js} +10 -10
  101. package/dist/chunks/chunk.FCXOOYNC.js.map +7 -0
  102. package/dist/chunks/{chunk.I64H5F6D.js → chunk.FLDDHQXG.js} +5 -5
  103. package/dist/chunks/chunk.FLDDHQXG.js.map +7 -0
  104. package/dist/chunks/{chunk.DU3L7OGA.js → chunk.FQPIRAA6.js} +5 -5
  105. package/dist/chunks/chunk.FQPIRAA6.js.map +7 -0
  106. package/dist/chunks/{chunk.BWTMFHNM.js → chunk.FVIRHFY6.js} +5 -3
  107. package/dist/chunks/{chunk.BWTMFHNM.js.map → chunk.FVIRHFY6.js.map} +2 -2
  108. package/dist/chunks/{chunk.NLYVOJGK.js → chunk.FXJLG622.js} +1 -1
  109. package/dist/chunks/chunk.FXJLG622.js.map +7 -0
  110. package/dist/chunks/{chunk.XTWO6ZZW.js → chunk.GPP4D4HH.js} +1 -1
  111. package/dist/chunks/chunk.GPP4D4HH.js.map +7 -0
  112. package/dist/chunks/{chunk.DZSZDFCN.js → chunk.H5ZIVYK5.js} +11 -11
  113. package/dist/chunks/chunk.H5ZIVYK5.js.map +7 -0
  114. package/dist/chunks/{chunk.UT3DWYFM.js → chunk.H6EHQYZA.js} +2 -2
  115. package/dist/chunks/chunk.H6EHQYZA.js.map +7 -0
  116. package/dist/chunks/{chunk.W4NRUZSV.js → chunk.H6HGD46M.js} +4 -4
  117. package/dist/chunks/chunk.H6HGD46M.js.map +7 -0
  118. package/dist/chunks/{chunk.QAKD2SMK.js → chunk.H7JZRD2G.js} +2 -2
  119. package/dist/chunks/{chunk.7GUK7OKG.js → chunk.HGR3332E.js} +2 -2
  120. package/dist/chunks/chunk.HGR3332E.js.map +7 -0
  121. package/dist/chunks/{chunk.BJIZS3FU.js → chunk.HV57E6MJ.js} +5 -5
  122. package/dist/chunks/chunk.HV57E6MJ.js.map +7 -0
  123. package/dist/chunks/{chunk.5E5HEAZN.js → chunk.HZFEZO3W.js} +2 -2
  124. package/dist/chunks/chunk.HZFEZO3W.js.map +7 -0
  125. package/dist/chunks/{chunk.XRDJZQBY.js → chunk.IL75TLII.js} +2 -2
  126. package/dist/chunks/chunk.IL75TLII.js.map +7 -0
  127. package/dist/chunks/{chunk.2QDRZ3C6.js → chunk.ISCXRNH4.js} +2 -2
  128. package/dist/chunks/chunk.ISCXRNH4.js.map +7 -0
  129. package/dist/chunks/{chunk.U5757NSE.js → chunk.J3GDDM6Q.js} +1 -1
  130. package/dist/chunks/chunk.J3GDDM6Q.js.map +7 -0
  131. package/dist/chunks/{chunk.43YNZAWL.js → chunk.JDYQ7EFG.js} +1 -1
  132. package/dist/chunks/chunk.JDYQ7EFG.js.map +7 -0
  133. package/dist/chunks/{chunk.QZ3PTBET.js → chunk.JGZQEVJ6.js} +8 -8
  134. package/dist/chunks/{chunk.RAOPZXJL.js → chunk.JILCM7FD.js} +1 -1
  135. package/dist/chunks/chunk.JILCM7FD.js.map +7 -0
  136. package/dist/chunks/{chunk.ZJHL23CU.js → chunk.JKXO42MS.js} +2 -2
  137. package/dist/chunks/chunk.JKXO42MS.js.map +7 -0
  138. package/dist/chunks/{chunk.3PWAIWL5.js → chunk.JSBJOKER.js} +5 -5
  139. package/dist/chunks/{chunk.I4TQPMB7.js → chunk.JTE7XOWE.js} +6 -6
  140. package/dist/chunks/chunk.JTE7XOWE.js.map +7 -0
  141. package/dist/chunks/{chunk.WBHDD3UR.js → chunk.K7ZS3OCZ.js} +4 -4
  142. package/dist/chunks/{chunk.IAS6MLT6.js → chunk.KLL2SVR7.js} +2 -1
  143. package/dist/chunks/chunk.KLL2SVR7.js.map +7 -0
  144. package/dist/chunks/{chunk.V53NJJ67.js → chunk.KO63FB6R.js} +2 -2
  145. package/dist/chunks/chunk.KO63FB6R.js.map +7 -0
  146. package/dist/chunks/{chunk.FQWBH6B3.js → chunk.KPHDBL43.js} +1 -1
  147. package/dist/chunks/chunk.KPHDBL43.js.map +7 -0
  148. package/dist/chunks/{chunk.VGI7V7OS.js → chunk.KRF7VWRQ.js} +13 -13
  149. package/dist/chunks/chunk.KRF7VWRQ.js.map +7 -0
  150. package/dist/chunks/{chunk.7ZHTDECG.js → chunk.KULTIH7F.js} +2 -2
  151. package/dist/chunks/chunk.KULTIH7F.js.map +7 -0
  152. package/dist/chunks/{chunk.C2ENQBPM.js → chunk.LQDIH4Z5.js} +1 -1
  153. package/dist/chunks/chunk.LQDIH4Z5.js.map +7 -0
  154. package/dist/chunks/{chunk.OAIHDW7S.js → chunk.MEFGUKU5.js} +2 -2
  155. package/dist/chunks/{chunk.TFBMLDBM.js → chunk.MQKESAOP.js} +2 -2
  156. package/dist/chunks/{chunk.7QGJAPLH.js → chunk.N6DEOPEC.js} +14 -14
  157. package/dist/chunks/{chunk.FSWTBNSI.js → chunk.N7HN275B.js} +1 -1
  158. package/dist/chunks/chunk.N7HN275B.js.map +7 -0
  159. package/dist/chunks/{chunk.RATZ2RGX.js → chunk.NKWPAQM3.js} +2 -2
  160. package/dist/chunks/{chunk.34V3QOIQ.js → chunk.NMWM3BP7.js} +2 -2
  161. package/dist/chunks/chunk.NMWM3BP7.js.map +7 -0
  162. package/dist/chunks/{chunk.QCAMWDPP.js → chunk.NNRQNQWD.js} +7 -7
  163. package/dist/chunks/chunk.NNRQNQWD.js.map +7 -0
  164. package/dist/chunks/{chunk.YIQSTAST.js → chunk.NVYIJYVF.js} +2 -2
  165. package/dist/chunks/{chunk.75RQ52LL.js → chunk.NWA2ZKLU.js} +2 -2
  166. package/dist/chunks/chunk.NWA2ZKLU.js.map +7 -0
  167. package/dist/chunks/{chunk.6GWSQWLE.js → chunk.NY33MDYP.js} +537 -131
  168. package/dist/chunks/chunk.NY33MDYP.js.map +7 -0
  169. package/dist/chunks/{chunk.WP3FQE65.js → chunk.O2NJ7W2P.js} +2 -2
  170. package/dist/chunks/{chunk.QU47WZOK.js → chunk.OFF4U2HZ.js} +6 -6
  171. package/dist/chunks/chunk.OFF4U2HZ.js.map +7 -0
  172. package/dist/chunks/{chunk.O6ZH6AOI.js → chunk.OFKOVRHG.js} +1 -1
  173. package/dist/chunks/chunk.OFKOVRHG.js.map +7 -0
  174. package/dist/chunks/{chunk.IBWQFVMJ.js → chunk.OPZMUWWY.js} +2 -2
  175. package/dist/chunks/chunk.OPZMUWWY.js.map +7 -0
  176. package/dist/chunks/{chunk.WENMEQB3.js → chunk.P4I2WO5B.js} +2 -2
  177. package/dist/chunks/chunk.P4I2WO5B.js.map +7 -0
  178. package/dist/chunks/{chunk.JKSFECFA.js → chunk.P4JFVVSO.js} +2 -2
  179. package/dist/chunks/chunk.P4JFVVSO.js.map +7 -0
  180. package/dist/chunks/{chunk.RMIDAEF5.js → chunk.PB6IANE7.js} +1 -1
  181. package/dist/chunks/chunk.PB6IANE7.js.map +7 -0
  182. package/dist/chunks/{chunk.XAQKFEHH.js → chunk.PHFTXPIT.js} +1 -1
  183. package/dist/chunks/chunk.PHFTXPIT.js.map +7 -0
  184. package/dist/chunks/{chunk.234ERFCE.js → chunk.PLV4PZYX.js} +1 -1
  185. package/dist/chunks/chunk.PLV4PZYX.js.map +7 -0
  186. package/dist/chunks/{chunk.MU43DZ7W.js → chunk.PN64BR66.js} +1 -1
  187. package/dist/chunks/chunk.PN64BR66.js.map +7 -0
  188. package/dist/chunks/{chunk.DGU5AZZG.js → chunk.PPOTUWL3.js} +13 -13
  189. package/dist/chunks/chunk.PPOTUWL3.js.map +7 -0
  190. package/dist/chunks/{chunk.IEPQIQCD.js → chunk.PSR5RQX5.js} +2 -2
  191. package/dist/chunks/{chunk.G4URZQCL.js → chunk.PTRCO527.js} +1 -1
  192. package/dist/chunks/chunk.PTRCO527.js.map +7 -0
  193. package/dist/chunks/{chunk.PKYC7QF3.js → chunk.Q5EKPQBR.js} +1 -1
  194. package/dist/chunks/chunk.Q5EKPQBR.js.map +7 -0
  195. package/dist/chunks/{chunk.6EKUFYET.js → chunk.Q6HZ4JXR.js} +1 -1
  196. package/dist/chunks/chunk.Q6HZ4JXR.js.map +7 -0
  197. package/dist/chunks/{chunk.U7O7432Y.js → chunk.QHX346G7.js} +2 -2
  198. package/dist/chunks/chunk.QHX346G7.js.map +7 -0
  199. package/dist/chunks/{chunk.OAQRCZOO.js → chunk.QLETXF4A.js} +2 -2
  200. package/dist/chunks/chunk.QLETXF4A.js.map +7 -0
  201. package/dist/chunks/{chunk.UOQ4AOFC.js → chunk.QPZJTDAZ.js} +2 -2
  202. package/dist/chunks/{chunk.CBQRADQA.js → chunk.QQFSMQ37.js} +2 -2
  203. package/dist/chunks/chunk.QQFSMQ37.js.map +7 -0
  204. package/dist/chunks/{chunk.YVTRDHMM.js → chunk.QSSDP7SD.js} +7 -7
  205. package/dist/chunks/{chunk.C4JTZKPZ.js → chunk.R3SMKUIL.js} +1 -1
  206. package/dist/chunks/chunk.R3SMKUIL.js.map +7 -0
  207. package/dist/chunks/{chunk.OEOU5X7P.js → chunk.R4KRX3HP.js} +2 -2
  208. package/dist/chunks/chunk.R4KRX3HP.js.map +7 -0
  209. package/dist/chunks/{chunk.ADSEQZBF.js → chunk.RJUVM6NO.js} +1 -1
  210. package/dist/chunks/chunk.RJUVM6NO.js.map +7 -0
  211. package/dist/chunks/{chunk.YTEJW7IF.js → chunk.RODNHT5C.js} +2 -2
  212. package/dist/chunks/chunk.RODNHT5C.js.map +7 -0
  213. package/dist/chunks/{chunk.2WOSSTKK.js → chunk.RY3ZM7MQ.js} +2 -2
  214. package/dist/chunks/{chunk.7GJ6YOL7.js → chunk.S362IGFM.js} +12 -12
  215. package/dist/chunks/chunk.S362IGFM.js.map +7 -0
  216. package/dist/chunks/{chunk.BIXA6XPE.js → chunk.S46B7VZA.js} +2 -2
  217. package/dist/chunks/{chunk.JE5Y2YD7.js → chunk.SMIMHADA.js} +1 -1
  218. package/dist/chunks/chunk.SMIMHADA.js.map +7 -0
  219. package/dist/chunks/{chunk.O24WNQ4W.js → chunk.SQKP3P2V.js} +9 -9
  220. package/dist/chunks/chunk.SQKP3P2V.js.map +7 -0
  221. package/dist/chunks/{chunk.QWHBUNGK.js → chunk.SRY32QYH.js} +7 -7
  222. package/dist/chunks/chunk.SRY32QYH.js.map +7 -0
  223. package/dist/chunks/{chunk.7DBSMJLB.js → chunk.SYBGFDZR.js} +13 -13
  224. package/dist/chunks/chunk.SYBGFDZR.js.map +7 -0
  225. package/dist/chunks/{chunk.P3W7SDQW.js → chunk.T3OH2LR6.js} +5 -5
  226. package/dist/chunks/chunk.T3OH2LR6.js.map +7 -0
  227. package/dist/chunks/{chunk.YR4NKYMG.js → chunk.TAZAKWO5.js} +11 -11
  228. package/dist/chunks/chunk.TAZAKWO5.js.map +7 -0
  229. package/dist/chunks/{chunk.K2Y3Q3B4.js → chunk.TJ2I3X4N.js} +2 -2
  230. package/dist/chunks/chunk.TJ2I3X4N.js.map +7 -0
  231. package/dist/chunks/{chunk.IZX2QAKU.js → chunk.TMCA3VCF.js} +2 -2
  232. package/dist/chunks/chunk.TMCA3VCF.js.map +7 -0
  233. package/dist/chunks/{chunk.J2JXNOZY.js → chunk.TNBDJ6PX.js} +2 -2
  234. package/dist/chunks/chunk.TNBDJ6PX.js.map +7 -0
  235. package/dist/chunks/{chunk.DY7AWH4R.js → chunk.TODG4C7Y.js} +5 -5
  236. package/dist/chunks/chunk.TODG4C7Y.js.map +7 -0
  237. package/dist/chunks/{chunk.D6IIQDWJ.js → chunk.TVVJTCGG.js} +1 -1
  238. package/dist/chunks/chunk.TVVJTCGG.js.map +7 -0
  239. package/dist/chunks/{chunk.ATRUHDOS.js → chunk.U6HWY6PL.js} +11 -11
  240. package/dist/chunks/chunk.U6HWY6PL.js.map +7 -0
  241. package/dist/chunks/{chunk.KY52MMTX.js → chunk.U6RI62CP.js} +10 -10
  242. package/dist/chunks/{chunk.KY52MMTX.js.map → chunk.U6RI62CP.js.map} +2 -2
  243. package/dist/chunks/{chunk.5SQ7NVBX.js → chunk.UB4EPKCP.js} +1 -1
  244. package/dist/chunks/chunk.UB4EPKCP.js.map +7 -0
  245. package/dist/chunks/{chunk.N7QJ54ZM.js → chunk.UORFJFA2.js} +1 -1
  246. package/dist/chunks/chunk.UORFJFA2.js.map +7 -0
  247. package/dist/chunks/{chunk.C2CWYCOU.js → chunk.V37RYGE7.js} +1 -1
  248. package/dist/chunks/chunk.V37RYGE7.js.map +7 -0
  249. package/dist/chunks/{chunk.KIY5IDWY.js → chunk.VG63OTN3.js} +2 -2
  250. package/dist/chunks/chunk.VG63OTN3.js.map +7 -0
  251. package/dist/chunks/{chunk.PSO3VL25.js → chunk.VJQZ76BR.js} +7 -7
  252. package/dist/chunks/chunk.VJQZ76BR.js.map +7 -0
  253. package/dist/chunks/{chunk.FLJJ2OCR.js → chunk.VL3GX6WV.js} +5 -1
  254. package/dist/chunks/chunk.VL3GX6WV.js.map +7 -0
  255. package/dist/chunks/{chunk.QUM76UHV.js → chunk.VPL7U5EC.js} +1 -1
  256. package/dist/chunks/chunk.VPL7U5EC.js.map +7 -0
  257. package/dist/chunks/{chunk.FM6IAWK2.js → chunk.VWDX7DJ6.js} +2 -2
  258. package/dist/chunks/chunk.VWDX7DJ6.js.map +7 -0
  259. package/dist/chunks/{chunk.FBQ7NUNW.js → chunk.VWFRCPN5.js} +2 -2
  260. package/dist/chunks/chunk.VWFRCPN5.js.map +7 -0
  261. package/dist/chunks/{chunk.KLUICBMV.js → chunk.WBOHZGDF.js} +4 -4
  262. package/dist/chunks/chunk.WBOHZGDF.js.map +7 -0
  263. package/dist/chunks/{chunk.S22BO5SF.js → chunk.WRPQ3635.js} +1 -1
  264. package/dist/chunks/chunk.WRPQ3635.js.map +7 -0
  265. package/dist/chunks/{chunk.4K75N3WR.js → chunk.WSPPSCSY.js} +2 -2
  266. package/dist/chunks/chunk.WSPPSCSY.js.map +7 -0
  267. package/dist/chunks/{chunk.SIX2VPOZ.js → chunk.WT3TWFBE.js} +2 -2
  268. package/dist/chunks/chunk.WT3TWFBE.js.map +7 -0
  269. package/dist/chunks/{chunk.4TB35TYG.js → chunk.X323W6VB.js} +1 -1
  270. package/dist/chunks/chunk.X323W6VB.js.map +7 -0
  271. package/dist/chunks/{chunk.6EPU7YUS.js → chunk.X5NFOV5A.js} +1 -1
  272. package/dist/chunks/chunk.X5NFOV5A.js.map +7 -0
  273. package/dist/chunks/{chunk.M7VZBJK4.js → chunk.XMOH46TX.js} +5 -5
  274. package/dist/chunks/chunk.XMOH46TX.js.map +7 -0
  275. package/dist/chunks/{chunk.DQKV5FSY.js → chunk.XRSLCQH3.js} +1 -1
  276. package/dist/chunks/chunk.XRSLCQH3.js.map +7 -0
  277. package/dist/chunks/{chunk.ERWB2FQ7.js → chunk.XWRABNCX.js} +10 -10
  278. package/dist/chunks/chunk.XWRABNCX.js.map +7 -0
  279. package/dist/chunks/{chunk.YYZLHE7T.js → chunk.Y6ARGQPK.js} +5 -5
  280. package/dist/chunks/chunk.Y6ARGQPK.js.map +7 -0
  281. package/dist/chunks/{chunk.MLILJGXQ.js → chunk.YACUYJZN.js} +2 -2
  282. package/dist/chunks/{chunk.EHSNF4SS.js → chunk.YITQ6NLI.js} +1 -1
  283. package/dist/chunks/chunk.YITQ6NLI.js.map +7 -0
  284. package/dist/chunks/{chunk.O644HRW3.js → chunk.YOFWLXEH.js} +1 -1
  285. package/dist/chunks/chunk.YOFWLXEH.js.map +7 -0
  286. package/dist/chunks/{chunk.WLWQYPRE.js → chunk.YONCZQL6.js} +3 -3
  287. package/dist/chunks/{chunk.K62NPKGN.js → chunk.YPYFEST2.js} +1 -1
  288. package/dist/chunks/chunk.YPYFEST2.js.map +7 -0
  289. package/dist/chunks/{chunk.A7WDJ7EI.js → chunk.Z7MROUJG.js} +2 -2
  290. package/dist/chunks/chunk.Z7MROUJG.js.map +7 -0
  291. package/dist/chunks/{chunk.6OX2AX3Z.js → chunk.ZC3GXTWV.js} +1 -1
  292. package/dist/chunks/chunk.ZC3GXTWV.js.map +7 -0
  293. package/dist/chunks/{chunk.4BRJ5OJE.js → chunk.ZXEPSSXQ.js} +2 -2
  294. package/dist/chunks/chunk.ZXEPSSXQ.js.map +7 -0
  295. package/dist/chunks/{chunk.ELWMR5SE.js → chunk.ZXYCYTZH.js} +2 -2
  296. package/dist/chunks/chunk.ZXYCYTZH.js.map +7 -0
  297. package/dist/components/accordion/accordion.component.js +7 -7
  298. package/dist/components/accordion/accordion.js +8 -8
  299. package/dist/components/alert/alert.component.d.ts +0 -6
  300. package/dist/components/alert/alert.component.js +21 -21
  301. package/dist/components/alert/alert.d.ts +0 -6
  302. package/dist/components/alert/alert.js +22 -22
  303. package/dist/components/alert/alert.styles.d.ts +0 -6
  304. package/dist/components/alert/alert.styles.js +1 -1
  305. package/dist/components/badge/badge.component.d.ts +0 -6
  306. package/dist/components/badge/badge.component.js +9 -9
  307. package/dist/components/badge/badge.d.ts +0 -6
  308. package/dist/components/badge/badge.js +10 -10
  309. package/dist/components/badge/badge.styles.d.ts +0 -6
  310. package/dist/components/badge/badge.styles.js +1 -1
  311. package/dist/components/breadcrumb/breadcrumb.component.d.ts +0 -6
  312. package/dist/components/breadcrumb/breadcrumb.component.js +12 -12
  313. package/dist/components/breadcrumb/breadcrumb.d.ts +0 -6
  314. package/dist/components/breadcrumb/breadcrumb.js +13 -13
  315. package/dist/components/breadcrumb/breadcrumb.styles.d.ts +0 -6
  316. package/dist/components/breadcrumb/breadcrumb.styles.js +1 -1
  317. package/dist/components/breadcrumb-item/breadcrumb-item.component.d.ts +0 -6
  318. package/dist/components/breadcrumb-item/breadcrumb-item.component.js +6 -6
  319. package/dist/components/breadcrumb-item/breadcrumb-item.d.ts +0 -6
  320. package/dist/components/breadcrumb-item/breadcrumb-item.js +7 -7
  321. package/dist/components/breadcrumb-item/breadcrumb-item.styles.d.ts +0 -6
  322. package/dist/components/breadcrumb-item/breadcrumb-item.styles.js +1 -1
  323. package/dist/components/button/button.component.d.ts +0 -6
  324. package/dist/components/button/button.component.js +19 -19
  325. package/dist/components/button/button.d.ts +0 -6
  326. package/dist/components/button/button.js +20 -20
  327. package/dist/components/button/button.styles.d.ts +0 -6
  328. package/dist/components/button/button.styles.js +1 -1
  329. package/dist/components/button-group/button-group.component.d.ts +0 -6
  330. package/dist/components/button-group/button-group.component.js +7 -7
  331. package/dist/components/button-group/button-group.d.ts +0 -6
  332. package/dist/components/button-group/button-group.js +8 -8
  333. package/dist/components/button-group/button-group.styles.d.ts +0 -6
  334. package/dist/components/button-group/button-group.styles.js +1 -1
  335. package/dist/components/card/card.component.d.ts +0 -6
  336. package/dist/components/card/card.component.js +5 -5
  337. package/dist/components/card/card.d.ts +0 -6
  338. package/dist/components/card/card.js +6 -6
  339. package/dist/components/card/card.styles.d.ts +0 -6
  340. package/dist/components/card/card.styles.js +1 -1
  341. package/dist/components/checkbox/checkbox.component.d.ts +0 -6
  342. package/dist/components/checkbox/checkbox.component.js +17 -17
  343. package/dist/components/checkbox/checkbox.d.ts +0 -6
  344. package/dist/components/checkbox/checkbox.js +18 -18
  345. package/dist/components/checkbox/checkbox.styles.d.ts +0 -6
  346. package/dist/components/checkbox/checkbox.styles.js +1 -1
  347. package/dist/components/combobox/combobox.component.d.ts +125 -17
  348. package/dist/components/combobox/combobox.component.js +36 -30
  349. package/dist/components/combobox/combobox.custom.styles.js +1 -1
  350. package/dist/components/combobox/combobox.js +37 -31
  351. package/dist/components/combobox/combobox.styles.d.ts +0 -6
  352. package/dist/components/combobox/combobox.styles.js +1 -1
  353. package/dist/components/combobox/option-renderer.js +1 -1
  354. package/dist/components/combobox/utils.d.ts +8 -1
  355. package/dist/components/combobox/utils.js +3 -1
  356. package/dist/components/details/details.component.d.ts +0 -6
  357. package/dist/components/details/details.component.js +18 -18
  358. package/dist/components/details/details.d.ts +0 -6
  359. package/dist/components/details/details.js +19 -19
  360. package/dist/components/details/details.styles.d.ts +0 -6
  361. package/dist/components/details/details.styles.js +1 -1
  362. package/dist/components/dialog/dialog.component.d.ts +0 -6
  363. package/dist/components/dialog/dialog.component.js +24 -24
  364. package/dist/components/dialog/dialog.d.ts +0 -6
  365. package/dist/components/dialog/dialog.js +25 -25
  366. package/dist/components/dialog/dialog.styles.d.ts +0 -6
  367. package/dist/components/dialog/dialog.styles.js +1 -1
  368. package/dist/components/divider/divider.component.d.ts +0 -6
  369. package/dist/components/divider/divider.component.js +5 -5
  370. package/dist/components/divider/divider.d.ts +0 -6
  371. package/dist/components/divider/divider.js +6 -6
  372. package/dist/components/divider/divider.styles.d.ts +0 -6
  373. package/dist/components/divider/divider.styles.js +1 -1
  374. package/dist/components/drawer/drawer.component.d.ts +0 -6
  375. package/dist/components/drawer/drawer.component.js +24 -24
  376. package/dist/components/drawer/drawer.d.ts +0 -6
  377. package/dist/components/drawer/drawer.js +25 -25
  378. package/dist/components/drawer/drawer.styles.d.ts +0 -6
  379. package/dist/components/drawer/drawer.styles.js +1 -1
  380. package/dist/components/dropdown/dropdown.component.d.ts +0 -6
  381. package/dist/components/dropdown/dropdown.component.js +13 -13
  382. package/dist/components/dropdown/dropdown.d.ts +0 -6
  383. package/dist/components/dropdown/dropdown.js +14 -14
  384. package/dist/components/dropdown/dropdown.styles.d.ts +0 -6
  385. package/dist/components/dropdown/dropdown.styles.js +1 -1
  386. package/dist/components/file/file.component.js +24 -24
  387. package/dist/components/file/file.js +25 -25
  388. package/dist/components/header/header.component.js +13 -13
  389. package/dist/components/header/header.js +14 -14
  390. package/dist/components/icon/icon.component.d.ts +0 -6
  391. package/dist/components/icon/icon.component.js +8 -8
  392. package/dist/components/icon/icon.d.ts +0 -6
  393. package/dist/components/icon/icon.js +9 -9
  394. package/dist/components/icon/icon.styles.d.ts +0 -6
  395. package/dist/components/icon/icon.styles.js +1 -1
  396. package/dist/components/icon/library.d.ts +0 -6
  397. package/dist/components/icon/library.default.d.ts +0 -6
  398. package/dist/components/icon/library.default.js +2 -2
  399. package/dist/components/icon/library.js +3 -3
  400. package/dist/components/icon/library.migration.js +4 -4
  401. package/dist/components/icon-button/icon-button.component.d.ts +0 -6
  402. package/dist/components/icon-button/icon-button.component.js +13 -13
  403. package/dist/components/icon-button/icon-button.d.ts +0 -6
  404. package/dist/components/icon-button/icon-button.js +14 -14
  405. package/dist/components/icon-button/icon-button.styles.d.ts +0 -6
  406. package/dist/components/icon-button/icon-button.styles.js +1 -1
  407. package/dist/components/input/input.component.d.ts +0 -6
  408. package/dist/components/input/input.component.js +21 -21
  409. package/dist/components/input/input.d.ts +0 -6
  410. package/dist/components/input/input.js +22 -22
  411. package/dist/components/input/input.styles.d.ts +0 -6
  412. package/dist/components/input/input.styles.js +1 -1
  413. package/dist/components/menu/menu.component.d.ts +0 -6
  414. package/dist/components/menu/menu.component.js +4 -4
  415. package/dist/components/menu/menu.d.ts +0 -6
  416. package/dist/components/menu/menu.js +5 -5
  417. package/dist/components/menu/menu.styles.d.ts +0 -6
  418. package/dist/components/menu/menu.styles.js +1 -1
  419. package/dist/components/menu-item/menu-item.component.d.ts +0 -6
  420. package/dist/components/menu-item/menu-item.component.js +18 -18
  421. package/dist/components/menu-item/menu-item.d.ts +0 -6
  422. package/dist/components/menu-item/menu-item.js +19 -19
  423. package/dist/components/menu-item/menu-item.styles.d.ts +0 -6
  424. package/dist/components/menu-item/menu-item.styles.js +1 -1
  425. package/dist/components/menu-item/submenu-controller.d.ts +0 -6
  426. package/dist/components/menu-item/submenu-controller.js +2 -2
  427. package/dist/components/menu-label/menu-label.component.d.ts +0 -6
  428. package/dist/components/menu-label/menu-label.component.js +7 -7
  429. package/dist/components/menu-label/menu-label.d.ts +0 -6
  430. package/dist/components/menu-label/menu-label.js +8 -8
  431. package/dist/components/menu-label/menu-label.styles.d.ts +0 -6
  432. package/dist/components/menu-label/menu-label.styles.js +1 -1
  433. package/dist/components/nav-item/nav-item.component.js +12 -12
  434. package/dist/components/nav-item/nav-item.js +13 -13
  435. package/dist/components/optgroup/optgroup.component.js +7 -7
  436. package/dist/components/optgroup/optgroup.js +8 -8
  437. package/dist/components/option/option.component.d.ts +0 -6
  438. package/dist/components/option/option.component.js +17 -12
  439. package/dist/components/option/option.d.ts +0 -6
  440. package/dist/components/option/option.js +18 -13
  441. package/dist/components/option/option.styles.d.ts +0 -6
  442. package/dist/components/option/option.styles.js +1 -1
  443. package/dist/components/popup/popup.component.d.ts +0 -6
  444. package/dist/components/popup/popup.component.js +6 -6
  445. package/dist/components/popup/popup.d.ts +0 -6
  446. package/dist/components/popup/popup.js +7 -7
  447. package/dist/components/popup/popup.styles.d.ts +0 -6
  448. package/dist/components/popup/popup.styles.js +1 -1
  449. package/dist/components/prio-nav/prio-nav.component.js +25 -25
  450. package/dist/components/prio-nav/prio-nav.js +26 -26
  451. package/dist/components/progress-bar/progress-bar.component.d.ts +0 -6
  452. package/dist/components/progress-bar/progress-bar.component.js +6 -6
  453. package/dist/components/progress-bar/progress-bar.d.ts +0 -6
  454. package/dist/components/progress-bar/progress-bar.js +7 -7
  455. package/dist/components/progress-bar/progress-bar.styles.d.ts +0 -6
  456. package/dist/components/progress-bar/progress-bar.styles.js +1 -1
  457. package/dist/components/progress-ring/progress-ring.component.d.ts +0 -6
  458. package/dist/components/progress-ring/progress-ring.component.js +6 -6
  459. package/dist/components/progress-ring/progress-ring.d.ts +0 -6
  460. package/dist/components/progress-ring/progress-ring.js +7 -7
  461. package/dist/components/progress-ring/progress-ring.styles.d.ts +0 -6
  462. package/dist/components/progress-ring/progress-ring.styles.js +1 -1
  463. package/dist/components/radio/radio.component.d.ts +0 -6
  464. package/dist/components/radio/radio.component.js +13 -13
  465. package/dist/components/radio/radio.d.ts +0 -6
  466. package/dist/components/radio/radio.js +14 -14
  467. package/dist/components/radio/radio.styles.d.ts +0 -6
  468. package/dist/components/radio/radio.styles.js +1 -1
  469. package/dist/components/radio-button/radio-button.component.d.ts +0 -6
  470. package/dist/components/radio-button/radio-button.component.js +10 -10
  471. package/dist/components/radio-button/radio-button.d.ts +0 -6
  472. package/dist/components/radio-button/radio-button.js +11 -11
  473. package/dist/components/radio-button/radio-button.styles.d.ts +0 -6
  474. package/dist/components/radio-button/radio-button.styles.js +2 -2
  475. package/dist/components/radio-group/radio-group.component.d.ts +0 -6
  476. package/dist/components/radio-group/radio-group.component.js +13 -13
  477. package/dist/components/radio-group/radio-group.d.ts +0 -6
  478. package/dist/components/radio-group/radio-group.js +14 -14
  479. package/dist/components/radio-group/radio-group.styles.d.ts +0 -6
  480. package/dist/components/radio-group/radio-group.styles.js +1 -1
  481. package/dist/components/range/range.component.js +20 -20
  482. package/dist/components/range/range.js +21 -21
  483. package/dist/components/range-tick/range-tick.component.js +3 -3
  484. package/dist/components/range-tick/range-tick.js +4 -4
  485. package/dist/components/resize-observer/resize-observer.component.d.ts +0 -6
  486. package/dist/components/resize-observer/resize-observer.component.js +5 -5
  487. package/dist/components/resize-observer/resize-observer.styles.d.ts +0 -6
  488. package/dist/components/resize-observer/resize-observer.styles.js +1 -1
  489. package/dist/components/select/select.component.d.ts +0 -6
  490. package/dist/components/select/select.component.js +29 -29
  491. package/dist/components/select/select.d.ts +0 -6
  492. package/dist/components/select/select.js +30 -30
  493. package/dist/components/select/select.styles.d.ts +0 -6
  494. package/dist/components/select/select.styles.js +1 -1
  495. package/dist/components/side-nav/side-nav.component.js +28 -28
  496. package/dist/components/side-nav/side-nav.js +29 -29
  497. package/dist/components/spinner/spinner.component.d.ts +0 -6
  498. package/dist/components/spinner/spinner.component.js +6 -6
  499. package/dist/components/spinner/spinner.d.ts +0 -6
  500. package/dist/components/spinner/spinner.js +7 -7
  501. package/dist/components/spinner/spinner.styles.d.ts +0 -6
  502. package/dist/components/spinner/spinner.styles.js +1 -1
  503. package/dist/components/switch/switch.component.d.ts +0 -6
  504. package/dist/components/switch/switch.component.js +12 -12
  505. package/dist/components/switch/switch.d.ts +0 -6
  506. package/dist/components/switch/switch.js +13 -13
  507. package/dist/components/switch/switch.styles.d.ts +0 -6
  508. package/dist/components/switch/switch.styles.js +1 -1
  509. package/dist/components/tab/tab.component.d.ts +0 -6
  510. package/dist/components/tab/tab.component.js +17 -17
  511. package/dist/components/tab/tab.d.ts +0 -6
  512. package/dist/components/tab/tab.js +18 -18
  513. package/dist/components/tab/tab.styles.d.ts +0 -6
  514. package/dist/components/tab/tab.styles.js +1 -1
  515. package/dist/components/tab-group/tab-group.component.d.ts +0 -6
  516. package/dist/components/tab-group/tab-group.component.js +20 -20
  517. package/dist/components/tab-group/tab-group.d.ts +0 -6
  518. package/dist/components/tab-group/tab-group.js +21 -21
  519. package/dist/components/tab-group/tab-group.styles.d.ts +0 -6
  520. package/dist/components/tab-group/tab-group.styles.js +1 -1
  521. package/dist/components/tab-panel/tab-panel.component.d.ts +0 -6
  522. package/dist/components/tab-panel/tab-panel.component.js +5 -5
  523. package/dist/components/tab-panel/tab-panel.d.ts +0 -6
  524. package/dist/components/tab-panel/tab-panel.js +6 -6
  525. package/dist/components/tab-panel/tab-panel.styles.d.ts +0 -6
  526. package/dist/components/tab-panel/tab-panel.styles.js +1 -1
  527. package/dist/components/tag/tag.component.d.ts +0 -6
  528. package/dist/components/tag/tag.component.js +17 -17
  529. package/dist/components/tag/tag.d.ts +0 -6
  530. package/dist/components/tag/tag.js +18 -18
  531. package/dist/components/tag/tag.styles.d.ts +0 -6
  532. package/dist/components/tag/tag.styles.js +1 -1
  533. package/dist/components/textarea/textarea.component.d.ts +0 -6
  534. package/dist/components/textarea/textarea.component.js +12 -12
  535. package/dist/components/textarea/textarea.d.ts +0 -6
  536. package/dist/components/textarea/textarea.js +13 -13
  537. package/dist/components/textarea/textarea.styles.d.ts +0 -6
  538. package/dist/components/textarea/textarea.styles.js +1 -1
  539. package/dist/components/tooltip/tooltip.component.d.ts +0 -6
  540. package/dist/components/tooltip/tooltip.component.js +12 -12
  541. package/dist/components/tooltip/tooltip.d.ts +0 -6
  542. package/dist/components/tooltip/tooltip.js +13 -13
  543. package/dist/components/tooltip/tooltip.styles.d.ts +0 -6
  544. package/dist/components/tooltip/tooltip.styles.js +1 -1
  545. package/dist/components/validate/utility.js +2 -2
  546. package/dist/components/validate/validate.component.js +23 -23
  547. package/dist/components/validate/validate.js +24 -24
  548. package/dist/custom-elements.json +288 -54
  549. package/dist/events/syn-after-hide.d.ts +0 -6
  550. package/dist/events/syn-after-show.d.ts +0 -6
  551. package/dist/events/syn-blur.d.ts +0 -6
  552. package/dist/events/syn-change.d.ts +0 -6
  553. package/dist/events/syn-clear.d.ts +0 -6
  554. package/dist/events/syn-close.d.ts +0 -6
  555. package/dist/events/syn-error.d.ts +0 -6
  556. package/dist/events/syn-focus.d.ts +0 -6
  557. package/dist/events/syn-hide.d.ts +0 -6
  558. package/dist/events/syn-initial-focus.d.ts +0 -6
  559. package/dist/events/syn-input.d.ts +0 -6
  560. package/dist/events/syn-invalid.d.ts +0 -6
  561. package/dist/events/syn-load.d.ts +0 -6
  562. package/dist/events/syn-remove.d.ts +0 -6
  563. package/dist/events/syn-reposition.d.ts +0 -6
  564. package/dist/events/syn-request-close.d.ts +0 -6
  565. package/dist/events/syn-resize.d.ts +0 -6
  566. package/dist/events/syn-select.d.ts +0 -6
  567. package/dist/events/syn-show.d.ts +0 -6
  568. package/dist/events/syn-tab-hide.d.ts +0 -6
  569. package/dist/events/syn-tab-show.d.ts +0 -6
  570. package/dist/internal/active-elements.d.ts +0 -6
  571. package/dist/internal/animate.d.ts +0 -6
  572. package/dist/internal/default-value.d.ts +0 -6
  573. package/dist/internal/event.d.ts +0 -6
  574. package/dist/internal/form.d.ts +0 -6
  575. package/dist/internal/modal.d.ts +0 -6
  576. package/dist/internal/offset.d.ts +0 -6
  577. package/dist/internal/scroll.d.ts +0 -6
  578. package/dist/internal/scrollend-polyfill.d.ts +0 -6
  579. package/dist/internal/slot.d.ts +0 -6
  580. package/dist/internal/string.d.ts +0 -6
  581. package/dist/internal/synergy-element.d.ts +0 -6
  582. package/dist/internal/tabbable.d.ts +0 -6
  583. package/dist/internal/test/data-testid-helpers.d.ts +0 -6
  584. package/dist/internal/test/element-visible-overflow.d.ts +0 -6
  585. package/dist/internal/test/form-control-base-tests.d.ts +0 -6
  586. package/dist/internal/test/wait-for-scrolling.d.ts +0 -6
  587. package/dist/internal/test.d.ts +0 -6
  588. package/dist/internal/watch.d.ts +0 -6
  589. package/dist/styles/component.styles.d.ts +0 -6
  590. package/dist/styles/form-control.styles.d.ts +0 -6
  591. package/dist/styles/index.css +1 -7
  592. package/dist/styles/utility.css +0 -6
  593. package/dist/synergy-autoloader.d.ts +0 -6
  594. package/dist/synergy-autoloader.js +1 -1
  595. package/dist/synergy-autoloader.js.map +2 -2
  596. package/dist/synergy.js +165 -165
  597. package/dist/translations/de.d.ts +0 -6
  598. package/dist/translations/de.js +3 -4
  599. package/dist/translations/de.js.map +2 -2
  600. package/dist/translations/en.d.ts +0 -6
  601. package/dist/translations/en.js +1 -1
  602. package/dist/utilities/animation-registry.d.ts +0 -6
  603. package/dist/utilities/animation-registry.js +1 -1
  604. package/dist/utilities/base-path.d.ts +0 -6
  605. package/dist/utilities/base-path.js +1 -1
  606. package/dist/utilities/defaultSettings/base.d.ts +4 -1
  607. package/dist/utilities/defaultSettings/base.js +1 -1
  608. package/dist/utilities/defaultSettings/decorator.js +3 -3
  609. package/dist/utilities/defaultSettings/functions.js +2 -2
  610. package/dist/utilities/defaultSettings/index.js +3 -3
  611. package/dist/utilities/form.d.ts +0 -6
  612. package/dist/utilities/form.js +2 -2
  613. package/dist/utilities/icon-library.d.ts +0 -6
  614. package/dist/utilities/icon-library.js +3 -3
  615. package/dist/utilities/localize.d.ts +0 -6
  616. package/dist/utilities/localize.js +2 -2
  617. package/dist/vscode.html-custom-data.json +30 -7
  618. package/package.json +21 -31
  619. package/dist/chunks/chunk.234ERFCE.js.map +0 -7
  620. package/dist/chunks/chunk.2QDRZ3C6.js.map +0 -7
  621. package/dist/chunks/chunk.34V3QOIQ.js.map +0 -7
  622. package/dist/chunks/chunk.3NXKLKWH.js.map +0 -7
  623. package/dist/chunks/chunk.3PGJQYXW.js.map +0 -7
  624. package/dist/chunks/chunk.43YNZAWL.js.map +0 -7
  625. package/dist/chunks/chunk.4BRJ5OJE.js.map +0 -7
  626. package/dist/chunks/chunk.4K75N3WR.js.map +0 -7
  627. package/dist/chunks/chunk.4M4LRUZD.js.map +0 -7
  628. package/dist/chunks/chunk.4PUQDU4T.js.map +0 -7
  629. package/dist/chunks/chunk.4TB35TYG.js.map +0 -7
  630. package/dist/chunks/chunk.4VOWXLEZ.js.map +0 -7
  631. package/dist/chunks/chunk.5732DMBC.js.map +0 -7
  632. package/dist/chunks/chunk.5E5HEAZN.js.map +0 -7
  633. package/dist/chunks/chunk.5ORVYCVV.js.map +0 -7
  634. package/dist/chunks/chunk.5SQ7NVBX.js.map +0 -7
  635. package/dist/chunks/chunk.6EKUFYET.js.map +0 -7
  636. package/dist/chunks/chunk.6EPU7YUS.js.map +0 -7
  637. package/dist/chunks/chunk.6GWSQWLE.js.map +0 -7
  638. package/dist/chunks/chunk.6OX2AX3Z.js.map +0 -7
  639. package/dist/chunks/chunk.75RQ52LL.js.map +0 -7
  640. package/dist/chunks/chunk.7DBSMJLB.js.map +0 -7
  641. package/dist/chunks/chunk.7GJ6YOL7.js.map +0 -7
  642. package/dist/chunks/chunk.7GUK7OKG.js.map +0 -7
  643. package/dist/chunks/chunk.7ZHTDECG.js.map +0 -7
  644. package/dist/chunks/chunk.A7WDJ7EI.js.map +0 -7
  645. package/dist/chunks/chunk.ADSEQZBF.js.map +0 -7
  646. package/dist/chunks/chunk.AQITYSQX.js.map +0 -7
  647. package/dist/chunks/chunk.ATRUHDOS.js.map +0 -7
  648. package/dist/chunks/chunk.AXFQGZJC.js.map +0 -7
  649. package/dist/chunks/chunk.AZ3N5IOO.js.map +0 -7
  650. package/dist/chunks/chunk.BIJTSOZF.js +0 -43
  651. package/dist/chunks/chunk.BIJTSOZF.js.map +0 -7
  652. package/dist/chunks/chunk.BJIZS3FU.js.map +0 -7
  653. package/dist/chunks/chunk.BMHWOQRC.js.map +0 -7
  654. package/dist/chunks/chunk.BXY667C7.js.map +0 -7
  655. package/dist/chunks/chunk.C2CWYCOU.js.map +0 -7
  656. package/dist/chunks/chunk.C2ENQBPM.js.map +0 -7
  657. package/dist/chunks/chunk.C4JTZKPZ.js.map +0 -7
  658. package/dist/chunks/chunk.CBQRADQA.js.map +0 -7
  659. package/dist/chunks/chunk.CUJDP53J.js.map +0 -7
  660. package/dist/chunks/chunk.D6IIQDWJ.js.map +0 -7
  661. package/dist/chunks/chunk.DGU5AZZG.js.map +0 -7
  662. package/dist/chunks/chunk.DQKV5FSY.js.map +0 -7
  663. package/dist/chunks/chunk.DU3L7OGA.js.map +0 -7
  664. package/dist/chunks/chunk.DY7AWH4R.js.map +0 -7
  665. package/dist/chunks/chunk.DZ7YIR5N.js.map +0 -7
  666. package/dist/chunks/chunk.DZSZDFCN.js.map +0 -7
  667. package/dist/chunks/chunk.EHSNF4SS.js.map +0 -7
  668. package/dist/chunks/chunk.ELWMR5SE.js.map +0 -7
  669. package/dist/chunks/chunk.ERWB2FQ7.js.map +0 -7
  670. package/dist/chunks/chunk.FBQ7NUNW.js.map +0 -7
  671. package/dist/chunks/chunk.FD2CG2HT.js.map +0 -7
  672. package/dist/chunks/chunk.FLJJ2OCR.js.map +0 -7
  673. package/dist/chunks/chunk.FM6IAWK2.js.map +0 -7
  674. package/dist/chunks/chunk.FQWBH6B3.js.map +0 -7
  675. package/dist/chunks/chunk.FSWTBNSI.js.map +0 -7
  676. package/dist/chunks/chunk.FSZIE7IO.js.map +0 -7
  677. package/dist/chunks/chunk.G4URZQCL.js.map +0 -7
  678. package/dist/chunks/chunk.GRVNUIP2.js.map +0 -7
  679. package/dist/chunks/chunk.HVXG4JG6.js.map +0 -7
  680. package/dist/chunks/chunk.I4TQPMB7.js.map +0 -7
  681. package/dist/chunks/chunk.I64H5F6D.js.map +0 -7
  682. package/dist/chunks/chunk.IAS6MLT6.js.map +0 -7
  683. package/dist/chunks/chunk.IBWQFVMJ.js.map +0 -7
  684. package/dist/chunks/chunk.IVM3BGRH.js.map +0 -7
  685. package/dist/chunks/chunk.IZX2QAKU.js.map +0 -7
  686. package/dist/chunks/chunk.J2JXNOZY.js.map +0 -7
  687. package/dist/chunks/chunk.JE5Y2YD7.js.map +0 -7
  688. package/dist/chunks/chunk.JKSFECFA.js.map +0 -7
  689. package/dist/chunks/chunk.JLXCLATV.js.map +0 -7
  690. package/dist/chunks/chunk.JX55XGPA.js.map +0 -7
  691. package/dist/chunks/chunk.K2Y3Q3B4.js.map +0 -7
  692. package/dist/chunks/chunk.K3WSJSRV.js.map +0 -7
  693. package/dist/chunks/chunk.K62NPKGN.js.map +0 -7
  694. package/dist/chunks/chunk.KCLOTN4Z.js.map +0 -7
  695. package/dist/chunks/chunk.KIY5IDWY.js.map +0 -7
  696. package/dist/chunks/chunk.KLUICBMV.js.map +0 -7
  697. package/dist/chunks/chunk.KOLE63RX.js.map +0 -7
  698. package/dist/chunks/chunk.KTBISG3Q.js.map +0 -7
  699. package/dist/chunks/chunk.KW5TWA5Y.js.map +0 -7
  700. package/dist/chunks/chunk.L7GQHKZX.js.map +0 -7
  701. package/dist/chunks/chunk.M7VZBJK4.js.map +0 -7
  702. package/dist/chunks/chunk.MPSNGSXQ.js.map +0 -7
  703. package/dist/chunks/chunk.MU43DZ7W.js.map +0 -7
  704. package/dist/chunks/chunk.N7QJ54ZM.js.map +0 -7
  705. package/dist/chunks/chunk.NLYVOJGK.js.map +0 -7
  706. package/dist/chunks/chunk.NVT2EKF6.js.map +0 -7
  707. package/dist/chunks/chunk.O24WNQ4W.js.map +0 -7
  708. package/dist/chunks/chunk.O644HRW3.js.map +0 -7
  709. package/dist/chunks/chunk.O6ZH6AOI.js.map +0 -7
  710. package/dist/chunks/chunk.OAQRCZOO.js.map +0 -7
  711. package/dist/chunks/chunk.OEOU5X7P.js.map +0 -7
  712. package/dist/chunks/chunk.OI3HOOCT.js.map +0 -7
  713. package/dist/chunks/chunk.P3W7SDQW.js.map +0 -7
  714. package/dist/chunks/chunk.PAM2UCZU.js.map +0 -7
  715. package/dist/chunks/chunk.PKYC7QF3.js.map +0 -7
  716. package/dist/chunks/chunk.PSO3VL25.js.map +0 -7
  717. package/dist/chunks/chunk.Q6XDV7O7.js.map +0 -7
  718. package/dist/chunks/chunk.QCAMWDPP.js.map +0 -7
  719. package/dist/chunks/chunk.QS53GZR4.js.map +0 -7
  720. package/dist/chunks/chunk.QU47WZOK.js.map +0 -7
  721. package/dist/chunks/chunk.QUKSQV3V.js.map +0 -7
  722. package/dist/chunks/chunk.QUM76UHV.js.map +0 -7
  723. package/dist/chunks/chunk.QWHBUNGK.js.map +0 -7
  724. package/dist/chunks/chunk.RAOPZXJL.js.map +0 -7
  725. package/dist/chunks/chunk.RMIDAEF5.js.map +0 -7
  726. package/dist/chunks/chunk.S22BO5SF.js.map +0 -7
  727. package/dist/chunks/chunk.SIX2VPOZ.js.map +0 -7
  728. package/dist/chunks/chunk.SM4ANWX6.js.map +0 -7
  729. package/dist/chunks/chunk.U5757NSE.js.map +0 -7
  730. package/dist/chunks/chunk.U7O7432Y.js.map +0 -7
  731. package/dist/chunks/chunk.UIRABJTT.js.map +0 -7
  732. package/dist/chunks/chunk.UT3DWYFM.js.map +0 -7
  733. package/dist/chunks/chunk.V53NJJ67.js.map +0 -7
  734. package/dist/chunks/chunk.VA26EAEP.js.map +0 -7
  735. package/dist/chunks/chunk.VGI7V7OS.js.map +0 -7
  736. package/dist/chunks/chunk.VXC77KXR.js.map +0 -7
  737. package/dist/chunks/chunk.W4NRUZSV.js.map +0 -7
  738. package/dist/chunks/chunk.W66D3Q4F.js.map +0 -7
  739. package/dist/chunks/chunk.WENMEQB3.js.map +0 -7
  740. package/dist/chunks/chunk.WVVQK5TE.js.map +0 -7
  741. package/dist/chunks/chunk.X7XPEYAM.js.map +0 -7
  742. package/dist/chunks/chunk.XAQKFEHH.js.map +0 -7
  743. package/dist/chunks/chunk.XCNXSFFB.js.map +0 -7
  744. package/dist/chunks/chunk.XRDJZQBY.js.map +0 -7
  745. package/dist/chunks/chunk.XTWO6ZZW.js.map +0 -7
  746. package/dist/chunks/chunk.Y5TMYX2L.js.map +0 -7
  747. package/dist/chunks/chunk.YARPBFC7.js.map +0 -7
  748. package/dist/chunks/chunk.YR4NKYMG.js.map +0 -7
  749. package/dist/chunks/chunk.YTEJW7IF.js.map +0 -7
  750. package/dist/chunks/chunk.YYZLHE7T.js.map +0 -7
  751. package/dist/chunks/chunk.ZBW4ZSZ7.js.map +0 -7
  752. package/dist/chunks/chunk.ZJHL23CU.js.map +0 -7
  753. /package/dist/chunks/{chunk.KY3YPRYR.js.map → chunk.4XEXSCXG.js.map} +0 -0
  754. /package/dist/chunks/{chunk.6BGHUVA7.js.map → chunk.65442A47.js.map} +0 -0
  755. /package/dist/chunks/{chunk.BIRYJHTO.js.map → chunk.C5WF3K27.js.map} +0 -0
  756. /package/dist/chunks/{chunk.KUAYRSLT.js.map → chunk.DLHQKWGN.js.map} +0 -0
  757. /package/dist/chunks/{chunk.QAKD2SMK.js.map → chunk.H7JZRD2G.js.map} +0 -0
  758. /package/dist/chunks/{chunk.QZ3PTBET.js.map → chunk.JGZQEVJ6.js.map} +0 -0
  759. /package/dist/chunks/{chunk.3PWAIWL5.js.map → chunk.JSBJOKER.js.map} +0 -0
  760. /package/dist/chunks/{chunk.WBHDD3UR.js.map → chunk.K7ZS3OCZ.js.map} +0 -0
  761. /package/dist/chunks/{chunk.OAIHDW7S.js.map → chunk.MEFGUKU5.js.map} +0 -0
  762. /package/dist/chunks/{chunk.TFBMLDBM.js.map → chunk.MQKESAOP.js.map} +0 -0
  763. /package/dist/chunks/{chunk.7QGJAPLH.js.map → chunk.N6DEOPEC.js.map} +0 -0
  764. /package/dist/chunks/{chunk.RATZ2RGX.js.map → chunk.NKWPAQM3.js.map} +0 -0
  765. /package/dist/chunks/{chunk.YIQSTAST.js.map → chunk.NVYIJYVF.js.map} +0 -0
  766. /package/dist/chunks/{chunk.WP3FQE65.js.map → chunk.O2NJ7W2P.js.map} +0 -0
  767. /package/dist/chunks/{chunk.IEPQIQCD.js.map → chunk.PSR5RQX5.js.map} +0 -0
  768. /package/dist/chunks/{chunk.UOQ4AOFC.js.map → chunk.QPZJTDAZ.js.map} +0 -0
  769. /package/dist/chunks/{chunk.YVTRDHMM.js.map → chunk.QSSDP7SD.js.map} +0 -0
  770. /package/dist/chunks/{chunk.2WOSSTKK.js.map → chunk.RY3ZM7MQ.js.map} +0 -0
  771. /package/dist/chunks/{chunk.BIXA6XPE.js.map → chunk.S46B7VZA.js.map} +0 -0
  772. /package/dist/chunks/{chunk.MLILJGXQ.js.map → chunk.YACUYJZN.js.map} +0 -0
  773. /package/dist/chunks/{chunk.WLWQYPRE.js.map → chunk.YONCZQL6.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/side-nav/side-nav.component.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/unbound-method */\nimport { classMap } from 'lit/directives/class-map.js';\nimport type { CSSResultGroup } from 'lit';\nimport { html } from 'lit/static-html.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport styles from './side-nav.styles.js';\nimport SynDrawer from '../drawer/drawer.component.js';\nimport SynDivider from '../divider/divider.component.js';\nimport SynIcon from '../icon/icon.component.js';\nimport SynNavItem from '../nav-item/nav-item.component.js';\nimport { waitForEvent } from '../../internal/event.js';\nimport { watch } from '../../internal/watch.js';\nimport { getAnimation, setAnimation, setDefaultAnimation } from '../../utilities/animation-registry.js';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { unlockBodyScrolling } from '../../internal/scroll.js';\nimport { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';\n\n/**\n * @summary The <syn-side-nav /> element contains secondary navigation and fits below the header.\n * It can be used to group multiple navigation items (<syn-nav-item />s) together.\n *\n * @example\n * <syn-side-nav open>\n * <syn-nav-item >Item 1</syn-nav-item>\n * <syn-nav-item divider>Item 2</syn-nav-item>\n * </syn-side-nav>\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-side-nav--docs\n * @status stable\n * @since 1.14.0\n *\n * @dependency syn-divider\n * @dependency syn-drawer\n * @dependency syn-icon\n * @dependency syn-nav-item\n *\n * @slot - The main content of the side-nav. Used for <syn-nav-item /> elements.\n * @slot footer - The footer content of the side-nav. Used for <syn-nav-item /> elements.\n * Please avoid having to many nav-items as it can massively influence the user experience.\n * @slot toggle-label - The label of the toggle nav-item for variant=\"sticky\".\n * @slot toggle-icon - An icon to use in lieu of the default icon for the toggle nav-item\n * for variant=\"sticky\".\n *\n * @event syn-show - Emitted when the side-nav opens.\n * @event syn-after-show - Emitted after the side-nav opens and all animations are complete.\n * @event syn-hide - Emitted when the side-nav closes.\n * @event syn-after-hide - Emitted after the side-nav closes and all animations are complete.\n *\n * @csspart base - The components base wrapper\n * @csspart drawer - The drawer that is used under the hood for creating the side-nav\n * @csspart content-container - The components main content container\n * @csspart content - The components main content\n * @csspart footer-container - The components footer content container\n (where the footer slot content is rendered)\n * @csspart footer-divider - The components footer divider\n * @csspart footer - The components footer content\n * @csspart overlay - The overlay that covers the screen behind the side-nav.\n * @csspart panel - The side-nav's panel (where the whole content is rendered).\n * @csspart body - The side-nav's body (where the default slot content is rendered)\n * @csspart drawer__base - The drawer's base wrapper\n * @csspart toggle-nav-item - The nav-item to toggle open state for variant=\"sticky\"\n * @csspart toggle-icon - The icon of the toggle nav-item for variant=\"sticky\"\n * @csspart toggle-label - The label of the toggle nav-item for variant=\"sticky\".\n\n * @cssproperty --side-nav-open-width - The width of the side-nav if in open state\n *\n * @animation sideNav.showNonRail - The animation to use when showing the side-nav\n * in variant=\"default\".\n * @animation sideNav.showRail - The animation to use when showing the side-nav in variant=\"rail\"\n * and variant=\"sticky\".\n * @animation sideNav.hideNonRail - The animation to use when hiding the side-nav\n * in variant=\"default\".\n * @animation sideNav.hideRail - The animation to use when hiding the side-nav in variant=\"rail\"\n * and variant=\"sticky\".\n * @animation sideNav.overlay.show - The animation to use when showing the side-nav's overlay.\n * @animation sideNav.overlay.hide - The animation to use when hiding the side-nav's overlay.\n */\n@enableDefaultSettings('SynSideNav')\nexport default class SynSideNav extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles];\n\n static dependencies = {\n 'syn-divider': SynDivider,\n 'syn-drawer': SynDrawer,\n 'syn-icon': SynIcon,\n 'syn-nav-item': SynNavItem,\n };\n\n private readonly hasSlotController = new HasSlotController(this, '[default]', 'footer');\n\n private readonly localize = new LocalizeController(this);\n\n private timeout: NodeJS.Timeout;\n\n /**\n * Current animation active state\n */\n @state() private isAnimationActive = false;\n\n /**\n * Reference to the drawer\n */\n @query('.side-nav__drawer') private drawer: SynDrawer;\n\n /**\n * Indicates whether or not the side-nav is open.\n * You can toggle this attribute to show and hide the side-nav, or you can use the `show()` and\n * `hide()` methods and this attribute will reflect the side-nav's open state.\n *\n * Depending on the \"variant\" attribute, the behavior will differ.\n *\n * __Default__:\n * With `open` will show the side-nav with an overlay.\n * Without `open`, the side-nav will be hidden.\n *\n * __Rail__:\n * With `open` will show the whole side-nav with an overlay for touch devices\n * or without an overlay for non-touch devices.\n * Without `open`, the side-nav will only show the prefix of nav-item's.\n *\n * __Sticky__:\n * With `open` will show the whole side-nav with an overlay for touch devices\n * or without an overlay for non-touch devices.\n * Without `open`, the side-nav will only show the prefix of nav-item's.\n *\n */\n @property({ reflect: true, type: Boolean }) open = false;\n\n /**\n * The variant that should be used to show the side navigation.\n *\n * The following variants are supported:\n * - **default** (default): Always shows the whole content and additionally an overlay.\n * This makes especially sense for applications, where you navigate to a place and stay\n * there for a longer time.\n * - **rail**: Only show the prefix of navigation items in closed state.\n * This will open on hover on the rail navigation.\n * On touch devices the navigation opens on click and shows an overlay.\n * Note: The rail variant is only an option if all Navigation Items on the first level\n * have an Icon.\n * If this is not the case you should use a burger navigation.\n * - **sticky**: The side-nav has a pin button to show the side-nav in small (icon only)\n * and full width. This variant is only possible for non-nested navigation items.\n * Note: The sticky variant is only an option if all Navigation Items on the first level\n * have an Icon and if there are only \"first level\" items.\n */\n @property({ reflect: true }) variant: 'default' | 'rail' | 'sticky' = 'default';\n\n /**\n * By default, the side-nav traps the focus if in variant=\"default\" and open.\n * To disable the focus trapping, set this attribute.\n */\n @property({ attribute: 'no-focus-trapping', reflect: true, type: Boolean }) noFocusTrapping = false;\n\n private setDelayedCallback(callback: () => void) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(callback, 100);\n }\n\n private handleMouseEnter() {\n // Debounce mouse events, to avoid infinite loop of open / closing in variant=\"rail\"\n this.setDelayedCallback(() => {\n this.open = true;\n });\n }\n\n private handleMouseLeave() {\n // Debounce mouse events, to avoid infinite loop of open / closing in variant=\"rail\"\n this.setDelayedCallback(() => {\n this.open = false;\n });\n }\n\n private handleRequestClose() {\n if (this.open) {\n this.open = false;\n }\n }\n\n private addMouseListener() {\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.addEventListener('mouseenter', this.handleMouseEnter);\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.addEventListener('mouseleave', this.handleMouseLeave);\n }\n\n private removeMouseListener() {\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.removeEventListener('mouseenter', this.handleMouseEnter);\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.removeEventListener('mouseleave', this.handleMouseLeave);\n }\n\n private setDrawerAnimations() {\n const showAnimation = getAnimation(this, `sideNav.show${this.variant === 'default' ? 'NonRail' : 'Rail'}`, { dir: this.localize.dir() });\n const hideAnimation = getAnimation(this, `sideNav.hide${this.variant === 'default' ? 'NonRail' : 'Rail'}`, { dir: this.localize.dir() });\n const hideOverlay = getAnimation(this, 'sideNav.overlay.hide', { dir: this.localize.dir() });\n const showOverlay = getAnimation(this, 'sideNav.overlay.show', { dir: this.localize.dir() });\n\n setAnimation(this.drawer, 'drawer.showStart', showAnimation);\n setAnimation(this.drawer, 'drawer.hideStart', hideAnimation);\n setAnimation(this.drawer, 'drawer.overlay.hide', hideOverlay);\n setAnimation(this.drawer, 'drawer.overlay.show', showOverlay);\n }\n\n @watch('variant', { waitUntilFirstUpdate: true })\n handleVariantChange() {\n this.setDrawerAnimations();\n this.drawer.forceVisibility(this.variant !== 'default');\n\n switch (this.variant) {\n case 'rail':\n // For hover handling\n this.addMouseListener();\n break;\n case 'sticky':\n case 'default':\n default:\n this.removeMouseListener();\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n handleOpenChange() {\n if (this.variant === 'default') {\n return;\n }\n\n this.isAnimationActive = true;\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n waitForEvent(this.drawer, `syn-after-${this.open ? 'show' : 'hide'}`).then(() => {\n this.isAnimationActive = false;\n });\n }\n\n @watch('noFocusTrapping', { waitUntilFirstUpdate: true })\n handleFocusTrapping() {\n if (this.variant === 'default') {\n if (this.noFocusTrapping) {\n this.drawer.modal.activateExternal();\n } else {\n this.drawer.modal.deactivateExternal();\n }\n }\n }\n\n /** Shows the side-nav. */\n async show() {\n if (this.open) {\n return undefined;\n }\n this.open = true;\n\n return waitForEvent(this.drawer, 'syn-after-show');\n }\n\n /** Hides the side-nav */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n\n return waitForEvent(this.drawer, 'syn-after-hide');\n }\n\n constructor() {\n super();\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.addEventListener('syn-initial-focus', (event) => {\n if (this.variant !== 'default') {\n // We need to do this, to stop the drawer from giving focus to the panel\n event.preventDefault();\n\n // The originalTrigger needs to be removed, otherwise when closing the drawer,\n // the first focused nav-item is focused again...\n // eslint-disable-next-line dot-notation\n this.drawer['originalTrigger'] = null;\n }\n });\n\n this.addEventListener('focusin', (event) => {\n const targetTag = (event.target as HTMLElement).tagName.toLowerCase();\n // Open the side-nav if it`s in variant=\"rail\", closed and the focused element is a nav-item\n if (targetTag === 'syn-nav-item' && this.variant === 'rail' && !this.open) {\n this.open = true;\n }\n });\n\n this.addEventListener('focusout', (event) => {\n const targetTag = (event.target as HTMLElement).tagName.toLowerCase();\n const relatedTargetTag = (event.relatedTarget as HTMLElement)?.tagName.toLowerCase();\n\n // Close the side-nav, if it`s in variant=\"rail\", open and the next focused element\n // is no longer a nav-item\n if (targetTag === 'syn-nav-item' && relatedTargetTag !== 'syn-nav-item' && this.variant === 'rail' && this.open) {\n this.open = false;\n }\n });\n }\n\n /**\n * Initial setup for first render like special variant=\"rail\" and variant=\"sticky\" handling\n * and drawer animations.\n * */\n firstUpdated() {\n this.setDrawerAnimations();\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.drawer.updateComplete.then(() => {\n this.drawer.forceVisibility(this.variant !== 'default');\n // change tabindex of drawer to make only nav-items focusable and not the panel of the drawer\n (this.drawer.shadowRoot!.querySelector('.drawer__panel') as HTMLElement).tabIndex = -1;\n });\n\n switch (this.variant) {\n case 'rail':\n // Wait for the drawer`s update to be completed\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.drawer.updateComplete.then(() => {\n this.addMouseListener();\n });\n break;\n case 'sticky': break;\n case 'default':\n default:\n if (this.noFocusTrapping) {\n // Disable the focus trapping of the modal\n this.drawer.modal.activateExternal();\n }\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n // Remove modal listeners\n if (this.drawer) {\n unlockBodyScrolling(this.drawer);\n this.drawer.modal.deactivate();\n }\n }\n\n private toggleOpenState() {\n this.open = !this.open;\n }\n\n // eslint-disable-next-line complexity\n render() {\n const isTouch = window.navigator.maxTouchPoints > 0 || !!('ontouchstart' in window);\n const hasFooter = this.hasSlotController.test('footer');\n const showFooterDivider = hasFooter || this.variant === 'sticky';\n\n /* eslint-disable lit/no-invalid-html */\n /* eslint-disable @typescript-eslint/unbound-method */\n return html`\n <nav\n class=${classMap({\n 'side-nav': true,\n 'side-nav--animation': this.isAnimationActive,\n 'side-nav--fix': this.variant === 'default',\n 'side-nav--has-footer': hasFooter,\n 'side-nav--open': this.open,\n 'side-nav--rail': this.variant === 'rail',\n 'side-nav--sticky': this.variant === 'sticky',\n 'side-nav--touch': isTouch,\n })}\n part=\"base\"\n >\n \n <syn-drawer\n class=\"side-nav__drawer\"\n ?contained=${this.variant !== 'default'}\n exportparts=\"overlay,panel,body,base:drawer__base\"\n label=${this.localize.term('sideNav')}\n no-header\n ?open=${this.open}\n part=\"drawer\"\n placement=\"start\"\n @syn-request-close=${this.handleRequestClose} \n >\n <div part=\"content-container\" class=\"side-nav__content-container\">\n <slot part=\"content\"></slot>\n </div>\n \n <footer class=\"side-nav__footer\" part=\"footer-container\" slot=\"footer\"> \n\n ${showFooterDivider ? html`<syn-divider part=\"footer-divider\" class=\"side-nav__footer-divider\"></syn-divider>` : ''}\n <slot name=\"footer\" part=\"footer\" ></slot>\n ${this.variant === 'sticky'\n ? html`<syn-nav-item part=\"toggle-nav-item\" class=\"side-nav__toggle-nav-item\" @click=${this.toggleOpenState} ?divider=${hasFooter}>\n <slot name=\"toggle-icon\" slot=\"prefix\" class=\"side-nav__toggle-icon\">\n <syn-icon library=\"system\" name=\"sticky_sidebar\" part=\"toggle-icon\"></syn-icon>\n </slot>\n <slot name=\"toggle-label\" part=\"toggle-label\">\n ${(!this.open && !this.isAnimationActive) ? this.localize.term('sideNavShow') : this.localize.term('sideNavHide')}\n </slot>\n </syn-nav-item>`\n : ''\n }\n \n </footer>\n\n </syn-drawer>\n\n </nav>\n `;\n /* eslint-enable lit/no-invalid-html */\n /* eslint-enable @typescript-eslint/unbound-method */\n }\n}\n\n// Show animations\nsetDefaultAnimation('sideNav.showRail', {\n keyframes: [\n { width: 'var(--side-nav-rail-width)' },\n { width: 'var(--side-nav-open-width)' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\nsetDefaultAnimation('sideNav.showNonRail', {\n keyframes: [\n { opacity: 0, translate: '-100%' },\n { opacity: 1, translate: '0' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\n// Hide animations\nsetDefaultAnimation('sideNav.hideNonRail', {\n keyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '-100%' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\nsetDefaultAnimation('sideNav.hideRail', {\n keyframes: [\n { width: 'var(--side-nav-open-width)' },\n { width: 'var(--side-nav-rail-width)' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\n// Overlay animations\nsetDefaultAnimation('sideNav.overlay.show', {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 250 },\n});\n\nsetDefaultAnimation('sideNav.overlay.hide', {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 250 },\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/unbound-method */\nimport { classMap } from 'lit/directives/class-map.js';\nimport type { CSSResultGroup } from 'lit';\nimport { html } from 'lit/static-html.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport styles from './side-nav.styles.js';\nimport SynDrawer from '../drawer/drawer.component.js';\nimport SynDivider from '../divider/divider.component.js';\nimport SynIcon from '../icon/icon.component.js';\nimport SynNavItem from '../nav-item/nav-item.component.js';\nimport { waitForEvent } from '../../internal/event.js';\nimport { watch } from '../../internal/watch.js';\nimport { getAnimation, setAnimation, setDefaultAnimation } from '../../utilities/animation-registry.js';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { unlockBodyScrolling } from '../../internal/scroll.js';\nimport { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';\n\n/**\n * @summary The <syn-side-nav /> element contains secondary navigation and fits below the header.\n * It can be used to group multiple navigation items (<syn-nav-item />s) together.\n *\n * @example\n * <syn-side-nav open>\n * <syn-nav-item >Item 1</syn-nav-item>\n * <syn-nav-item divider>Item 2</syn-nav-item>\n * </syn-side-nav>\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-side-nav--docs\n * @status stable\n * @since 1.14.0\n *\n * @dependency syn-divider\n * @dependency syn-drawer\n * @dependency syn-icon\n * @dependency syn-nav-item\n *\n * @slot - The main content of the side-nav. Used for <syn-nav-item /> elements.\n * @slot footer - The footer content of the side-nav. Used for <syn-nav-item /> elements.\n * Please avoid having to many nav-items as it can massively influence the user experience.\n * @slot toggle-label - The label of the toggle nav-item for variant=\"sticky\".\n * @slot toggle-icon - An icon to use in lieu of the default icon for the toggle nav-item\n * for variant=\"sticky\".\n *\n * @event syn-show - Emitted when the side-nav opens.\n * @event syn-after-show - Emitted after the side-nav opens and all animations are complete.\n * @event syn-hide - Emitted when the side-nav closes.\n * @event syn-after-hide - Emitted after the side-nav closes and all animations are complete.\n *\n * @csspart base - The components base wrapper\n * @csspart drawer - The drawer that is used under the hood for creating the side-nav\n * @csspart content-container - The components main content container\n * @csspart content - The components main content\n * @csspart footer-container - The components footer content container\n (where the footer slot content is rendered)\n * @csspart footer-divider - The components footer divider\n * @csspart footer - The components footer content\n * @csspart overlay - The overlay that covers the screen behind the side-nav.\n * @csspart panel - The side-nav's panel (where the whole content is rendered).\n * @csspart body - The side-nav's body (where the default slot content is rendered)\n * @csspart drawer__base - The drawer's base wrapper\n * @csspart toggle-nav-item - The nav-item to toggle open state for variant=\"sticky\"\n * @csspart toggle-icon - The icon of the toggle nav-item for variant=\"sticky\"\n * @csspart toggle-label - The label of the toggle nav-item for variant=\"sticky\".\n\n * @cssproperty --side-nav-open-width - The width of the side-nav if in open state\n *\n * @animation sideNav.showNonRail - The animation to use when showing the side-nav\n * in variant=\"default\".\n * @animation sideNav.showRail - The animation to use when showing the side-nav in variant=\"rail\"\n * and variant=\"sticky\".\n * @animation sideNav.hideNonRail - The animation to use when hiding the side-nav\n * in variant=\"default\".\n * @animation sideNav.hideRail - The animation to use when hiding the side-nav in variant=\"rail\"\n * and variant=\"sticky\".\n * @animation sideNav.overlay.show - The animation to use when showing the side-nav's overlay.\n * @animation sideNav.overlay.hide - The animation to use when hiding the side-nav's overlay.\n */\n@enableDefaultSettings('SynSideNav')\nexport default class SynSideNav extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles];\n\n static dependencies = {\n 'syn-divider': SynDivider,\n 'syn-drawer': SynDrawer,\n 'syn-icon': SynIcon,\n 'syn-nav-item': SynNavItem,\n };\n\n private readonly hasSlotController = new HasSlotController(this, '[default]', 'footer');\n\n private readonly localize = new LocalizeController(this);\n\n private timeout: NodeJS.Timeout;\n\n /**\n * Current animation active state\n */\n @state() private isAnimationActive = false;\n\n /**\n * Reference to the drawer\n */\n @query('.side-nav__drawer') private drawer: SynDrawer;\n\n /**\n * Indicates whether or not the side-nav is open.\n * You can toggle this attribute to show and hide the side-nav, or you can use the `show()` and\n * `hide()` methods and this attribute will reflect the side-nav's open state.\n *\n * Depending on the \"variant\" attribute, the behavior will differ.\n *\n * __Default__:\n * With `open` will show the side-nav with an overlay.\n * Without `open`, the side-nav will be hidden.\n *\n * __Rail__:\n * With `open` will show the whole side-nav with an overlay for touch devices\n * or without an overlay for non-touch devices.\n * Without `open`, the side-nav will only show the prefix of nav-item's.\n *\n * __Sticky__:\n * With `open` will show the whole side-nav with an overlay for touch devices\n * or without an overlay for non-touch devices.\n * Without `open`, the side-nav will only show the prefix of nav-item's.\n *\n */\n @property({ reflect: true, type: Boolean }) open = false;\n\n /**\n * The variant that should be used to show the side navigation.\n *\n * The following variants are supported:\n * - **default** (default): Always shows the whole content and additionally an overlay.\n * This makes especially sense for applications, where you navigate to a place and stay\n * there for a longer time.\n * - **rail**: Only show the prefix of navigation items in closed state.\n * This will open on hover on the rail navigation.\n * On touch devices the navigation opens on click and shows an overlay.\n * Note: The rail variant is only an option if all Navigation Items on the first level\n * have an Icon.\n * If this is not the case you should use a burger navigation.\n * - **sticky**: The side-nav has a pin button to show the side-nav in small (icon only)\n * and full width. This variant is only possible for non-nested navigation items.\n * Note: The sticky variant is only an option if all Navigation Items on the first level\n * have an Icon and if there are only \"first level\" items.\n */\n @property({ reflect: true }) variant: 'default' | 'rail' | 'sticky' = 'default';\n\n /**\n * By default, the side-nav traps the focus if in variant=\"default\" and open.\n * To disable the focus trapping, set this attribute.\n */\n @property({ attribute: 'no-focus-trapping', reflect: true, type: Boolean }) noFocusTrapping = false;\n\n private setDelayedCallback(callback: () => void) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(callback, 100);\n }\n\n private handleMouseEnter() {\n // Debounce mouse events, to avoid infinite loop of open / closing in variant=\"rail\"\n this.setDelayedCallback(() => {\n this.open = true;\n });\n }\n\n private handleMouseLeave() {\n // Debounce mouse events, to avoid infinite loop of open / closing in variant=\"rail\"\n this.setDelayedCallback(() => {\n this.open = false;\n });\n }\n\n private handleRequestClose() {\n if (this.open) {\n this.open = false;\n }\n }\n\n private addMouseListener() {\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.addEventListener('mouseenter', this.handleMouseEnter);\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.addEventListener('mouseleave', this.handleMouseLeave);\n }\n\n private removeMouseListener() {\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.removeEventListener('mouseenter', this.handleMouseEnter);\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.removeEventListener('mouseleave', this.handleMouseLeave);\n }\n\n private setDrawerAnimations() {\n const showAnimation = getAnimation(this, `sideNav.show${this.variant === 'default' ? 'NonRail' : 'Rail'}`, { dir: this.localize.dir() });\n const hideAnimation = getAnimation(this, `sideNav.hide${this.variant === 'default' ? 'NonRail' : 'Rail'}`, { dir: this.localize.dir() });\n const hideOverlay = getAnimation(this, 'sideNav.overlay.hide', { dir: this.localize.dir() });\n const showOverlay = getAnimation(this, 'sideNav.overlay.show', { dir: this.localize.dir() });\n\n setAnimation(this.drawer, 'drawer.showStart', showAnimation);\n setAnimation(this.drawer, 'drawer.hideStart', hideAnimation);\n setAnimation(this.drawer, 'drawer.overlay.hide', hideOverlay);\n setAnimation(this.drawer, 'drawer.overlay.show', showOverlay);\n }\n\n @watch('variant', { waitUntilFirstUpdate: true })\n handleVariantChange() {\n this.setDrawerAnimations();\n this.drawer.forceVisibility(this.variant !== 'default');\n\n switch (this.variant) {\n case 'rail':\n // For hover handling\n this.addMouseListener();\n break;\n case 'sticky':\n case 'default':\n default:\n this.removeMouseListener();\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n handleOpenChange() {\n if (this.variant === 'default') {\n return;\n }\n\n this.isAnimationActive = true;\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n waitForEvent(this.drawer, `syn-after-${this.open ? 'show' : 'hide'}`).then(() => {\n this.isAnimationActive = false;\n });\n }\n\n @watch('noFocusTrapping', { waitUntilFirstUpdate: true })\n handleFocusTrapping() {\n if (this.variant === 'default') {\n if (this.noFocusTrapping) {\n this.drawer.modal.activateExternal();\n } else {\n this.drawer.modal.deactivateExternal();\n }\n }\n }\n\n /** Shows the side-nav. */\n async show() {\n if (this.open) {\n return undefined;\n }\n this.open = true;\n\n return waitForEvent(this.drawer, 'syn-after-show');\n }\n\n /** Hides the side-nav */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n\n return waitForEvent(this.drawer, 'syn-after-hide');\n }\n\n constructor() {\n super();\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.addEventListener('syn-initial-focus', (event) => {\n if (this.variant !== 'default') {\n // We need to do this, to stop the drawer from giving focus to the panel\n event.preventDefault();\n\n // The originalTrigger needs to be removed, otherwise when closing the drawer,\n // the first focused nav-item is focused again...\n // eslint-disable-next-line dot-notation\n this.drawer['originalTrigger'] = null;\n }\n });\n\n this.addEventListener('focusin', (event) => {\n const targetTag = (event.target as HTMLElement).tagName.toLowerCase();\n // Open the side-nav if it`s in variant=\"rail\", closed and the focused element is a nav-item\n if (targetTag === 'syn-nav-item' && this.variant === 'rail' && !this.open) {\n this.open = true;\n }\n });\n\n this.addEventListener('focusout', (event) => {\n const targetTag = (event.target as HTMLElement).tagName.toLowerCase();\n const relatedTargetTag = (event.relatedTarget as HTMLElement)?.tagName.toLowerCase();\n\n // Close the side-nav, if it`s in variant=\"rail\", open and the next focused element\n // is no longer a nav-item\n if (targetTag === 'syn-nav-item' && relatedTargetTag !== 'syn-nav-item' && this.variant === 'rail' && this.open) {\n this.open = false;\n }\n });\n }\n\n /**\n * Initial setup for first render like special variant=\"rail\" and variant=\"sticky\" handling\n * and drawer animations.\n * */\n firstUpdated() {\n this.setDrawerAnimations();\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.drawer.updateComplete.then(() => {\n this.drawer.forceVisibility(this.variant !== 'default');\n // change tabindex of drawer to make only nav-items focusable and not the panel of the drawer\n (this.drawer.shadowRoot!.querySelector('.drawer__panel') as HTMLElement).tabIndex = -1;\n });\n\n switch (this.variant) {\n case 'rail':\n // Wait for the drawer`s update to be completed\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.drawer.updateComplete.then(() => {\n this.addMouseListener();\n });\n break;\n case 'sticky': break;\n case 'default':\n default:\n if (this.noFocusTrapping) {\n // Disable the focus trapping of the modal\n this.drawer.modal.activateExternal();\n }\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n // Remove modal listeners\n if (this.drawer) {\n unlockBodyScrolling(this.drawer);\n this.drawer.modal.deactivate();\n }\n }\n\n private toggleOpenState() {\n this.open = !this.open;\n }\n\n // eslint-disable-next-line complexity\n render() {\n const isTouch = window.navigator.maxTouchPoints > 0 || !!('ontouchstart' in window);\n const hasFooter = this.hasSlotController.test('footer');\n const showFooterDivider = hasFooter || this.variant === 'sticky';\n\n /* eslint-disable lit/no-invalid-html */\n /* eslint-disable @typescript-eslint/unbound-method */\n return html`\n <nav\n class=${classMap({\n 'side-nav': true,\n 'side-nav--animation': this.isAnimationActive,\n 'side-nav--fix': this.variant === 'default',\n 'side-nav--has-footer': hasFooter,\n 'side-nav--open': this.open,\n 'side-nav--rail': this.variant === 'rail',\n 'side-nav--sticky': this.variant === 'sticky',\n 'side-nav--touch': isTouch,\n })}\n part=\"base\"\n >\n \n <syn-drawer\n class=\"side-nav__drawer\"\n ?contained=${this.variant !== 'default'}\n exportparts=\"overlay,panel,body,base:drawer__base\"\n label=${this.localize.term('sideNav')}\n no-header\n ?open=${this.open}\n part=\"drawer\"\n placement=\"start\"\n @syn-request-close=${this.handleRequestClose} \n >\n <div part=\"content-container\" class=\"side-nav__content-container\">\n <slot part=\"content\"></slot>\n </div>\n \n <footer class=\"side-nav__footer\" part=\"footer-container\" slot=\"footer\"> \n\n ${showFooterDivider ? html`<syn-divider part=\"footer-divider\" class=\"side-nav__footer-divider\"></syn-divider>` : ''}\n <slot name=\"footer\" part=\"footer\" ></slot>\n ${this.variant === 'sticky'\n ? html`<syn-nav-item part=\"toggle-nav-item\" class=\"side-nav__toggle-nav-item\" @click=${this.toggleOpenState} ?divider=${hasFooter}>\n <slot name=\"toggle-icon\" slot=\"prefix\" class=\"side-nav__toggle-icon\">\n <syn-icon library=\"system\" name=\"sticky_sidebar\" part=\"toggle-icon\"></syn-icon>\n </slot>\n <slot name=\"toggle-label\" part=\"toggle-label\">\n ${(!this.open && !this.isAnimationActive) ? this.localize.term('sideNavShow') : this.localize.term('sideNavHide')}\n </slot>\n </syn-nav-item>`\n : ''\n }\n \n </footer>\n\n </syn-drawer>\n\n </nav>\n `;\n /* eslint-enable lit/no-invalid-html */\n /* eslint-enable @typescript-eslint/unbound-method */\n }\n}\n\n// Show animations\nsetDefaultAnimation('sideNav.showRail', {\n keyframes: [\n { width: 'var(--side-nav-rail-width)' },\n { width: 'var(--side-nav-open-width)' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\nsetDefaultAnimation('sideNav.showNonRail', {\n keyframes: [\n { opacity: 0, translate: '-100%' },\n { opacity: 1, translate: '0' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\n// Hide animations\nsetDefaultAnimation('sideNav.hideNonRail', {\n keyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '-100%' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\nsetDefaultAnimation('sideNav.hideRail', {\n keyframes: [\n { width: 'var(--side-nav-open-width)' },\n { width: 'var(--side-nav-rail-width)' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\n// Overlay animations\nsetDefaultAnimation('sideNav.overlay.show', {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 250 },\n});\n\nsetDefaultAnimation('sideNav.overlay.hide', {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 250 },\n});\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynBadge
3
- } from "./chunk.5ORVYCVV.js";
3
+ } from "./chunk.AUJMQLMT.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.UIRABJTT.js.map
12
+ //# sourceMappingURL=chunk.EVSLGGKP.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/badge/badge.ts"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport SynBadge from './badge.component.js';\n\nexport * from './badge.component.js';\nexport default SynBadge;\n\nSynBadge.define('syn-badge');\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-badge': SynBadge;\n }\n}\n"],
5
+ "mappings": ";;;;;AAIA,IAAO,gBAAQ;AAEf,SAAS,OAAO,WAAW;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynCheckbox
3
- } from "./chunk.VGI7V7OS.js";
3
+ } from "./chunk.KRF7VWRQ.js";
4
4
 
5
5
  // src/components/checkbox/checkbox.ts
6
6
  var checkbox_default = SynCheckbox;
@@ -9,4 +9,4 @@ SynCheckbox.define("syn-checkbox");
9
9
  export {
10
10
  checkbox_default
11
11
  };
12
- //# sourceMappingURL=chunk.SM4ANWX6.js.map
12
+ //# sourceMappingURL=chunk.F2QQ2JAK.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/checkbox/checkbox.ts"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport SynCheckbox from './checkbox.component.js';\n\nexport * from './checkbox.component.js';\nexport default SynCheckbox;\n\nSynCheckbox.define('syn-checkbox');\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-checkbox': SynCheckbox;\n }\n}\n"],
5
+ "mappings": ";;;;;AAIA,IAAO,mBAAQ;AAEf,YAAY,OAAO,cAAc;",
6
+ "names": []
7
+ }
@@ -3,32 +3,32 @@ import {
3
3
  } from "./chunk.SLDFB2O3.js";
4
4
  import {
5
5
  switch_styles_default
6
- } from "./chunk.4TB35TYG.js";
6
+ } from "./chunk.X323W6VB.js";
7
7
  import {
8
8
  defaultValue
9
- } from "./chunk.3NXKLKWH.js";
9
+ } from "./chunk.3JDUKQRN.js";
10
10
  import {
11
11
  form_control_custom_styles_default,
12
12
  form_control_styles_default
13
- } from "./chunk.G4URZQCL.js";
13
+ } from "./chunk.PTRCO527.js";
14
14
  import {
15
15
  FormControlController
16
- } from "./chunk.U5757NSE.js";
16
+ } from "./chunk.J3GDDM6Q.js";
17
17
  import {
18
18
  HasSlotController
19
- } from "./chunk.WVVQK5TE.js";
19
+ } from "./chunk.CHFWLQN5.js";
20
20
  import {
21
21
  enableDefaultSettings
22
- } from "./chunk.MLILJGXQ.js";
22
+ } from "./chunk.YACUYJZN.js";
23
23
  import {
24
24
  watch
25
- } from "./chunk.JE5Y2YD7.js";
25
+ } from "./chunk.SMIMHADA.js";
26
26
  import {
27
27
  component_styles_default
28
- } from "./chunk.NLYVOJGK.js";
28
+ } from "./chunk.FXJLG622.js";
29
29
  import {
30
30
  SynergyElement
31
- } from "./chunk.FBQ7NUNW.js";
31
+ } from "./chunk.VWFRCPN5.js";
32
32
  import {
33
33
  __decorateClass
34
34
  } from "./chunk.MO2GTRUM.js";
@@ -255,4 +255,4 @@ SynSwitch = __decorateClass([
255
255
  export {
256
256
  SynSwitch
257
257
  };
258
- //# sourceMappingURL=chunk.4VOWXLEZ.js.map
258
+ //# sourceMappingURL=chunk.FCXOOYNC.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/switch/switch.component.ts"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { defaultValue } from '../../internal/default-value.js';\nimport { FormControlController } from '../../internal/form.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport { watch } from '../../internal/watch.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport formControlStyles from '../../styles/form-control.styles.js';\nimport formControlCustomStyles from '../../styles/form-control.custom.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './switch.styles.js';\nimport customStyles from './switch.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\nimport type { SynergyFormControl } from '../../internal/synergy-element.js';\nimport { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';\n\n/**\n * @summary Switches allow the user to toggle an option on or off.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-switch--docs\n * @status stable\n * @since 2.0\n *\n * @slot - The switch's label.\n * @slot help-text - Text that describes how to use the switch. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when the control's checked state changes.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The control that houses the switch's thumb.\n * @csspart thumb - The switch's thumb.\n * @csspart label - The switch's label.\n * @csspart form-control-help-text - The help text's wrapper.\n *\n * @cssproperty --width - The width of the switch.\n * @cssproperty --height - The height of the switch.\n * @cssproperty --thumb-size - The size of the thumb.\n */\n@enableDefaultSettings('SynSwitch')\nexport default class SynSwitch extends SynergyElement implements SynergyFormControl {\n static styles: CSSResultGroup = [componentStyles, formControlStyles, styles, formControlCustomStyles, customStyles];\n\n private readonly formControlController = new FormControlController(this, {\n value: (control: SynSwitch) => (control.checked ? control.value || 'on' : undefined),\n defaultValue: (control: SynSwitch) => control.defaultChecked,\n setValue: (control: SynSwitch, checked: boolean) => (control.checked = checked)\n });\n private readonly hasSlotController = new HasSlotController(this, 'help-text');\n\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n\n @state() private hasFocus = false;\n @property({ reflect: true }) title = ''; // make reactive to pass through\n\n /** The name of the switch, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** The current value of the switch, submitted as a name/value pair with form data. */\n @property() value: string;\n\n /** The switch's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Disables the switch. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Draws the switch in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue('checked') defaultChecked = false;\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Makes the switch a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** The switch's help text. If you need to display HTML, use the `help-text` slot instead. */\n @property({ attribute: 'help-text' }) helpText = '';\n\n /** Gets the validity state object */\n get validity() {\n return this.input.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.input.validationMessage;\n }\n\n firstUpdated() {\n this.formControlController.updateValidity();\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('syn-blur');\n }\n\n private handleInput() {\n this.emit('syn-input');\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n private handleClick() {\n this.checked = !this.checked;\n this.emit('syn-change');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('syn-focus');\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n this.checked = false;\n this.emit('syn-change');\n this.emit('syn-input');\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n this.checked = true;\n this.emit('syn-change');\n this.emit('syn-input');\n }\n }\n\n @watch('checked', { waitUntilFirstUpdate: true })\n handleCheckedChange() {\n this.input.checked = this.checked; // force a sync update\n this.formControlController.updateValidity();\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid\n this.formControlController.setValidity(true);\n }\n\n /** Simulates a click on the switch. */\n click() {\n this.input.click();\n }\n\n /** Sets focus on the switch. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the switch. */\n blur() {\n this.input.blur();\n }\n\n /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.input.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.input.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.input.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n render() {\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;\n\n return html`\n <div\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-help-text': hasHelpText\n })}\n >\n <label\n part=\"base\"\n class=${classMap({\n switch: true,\n 'switch--checked': this.checked,\n 'switch--disabled': this.disabled,\n 'switch--focused': this.hasFocus,\n 'switch--small': this.size === 'small',\n 'switch--medium': this.size === 'medium',\n 'switch--large': this.size === 'large'\n })}\n >\n <input\n class=\"switch__input\"\n type=\"checkbox\"\n title=${this.title /* An empty title prevents browser validation tooltips from appearing on hover */}\n name=${this.name}\n value=${ifDefined(this.value)}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n .required=${this.required}\n role=\"switch\"\n aria-checked=${this.checked ? 'true' : 'false'}\n aria-describedby=\"help-text\"\n @click=${this.handleClick}\n @input=${this.handleInput}\n @invalid=${this.handleInvalid}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @keydown=${this.handleKeyDown}\n />\n\n <span part=\"control\" class=\"switch__control\">\n <span part=\"thumb\" class=\"switch__thumb\"></span>\n </span>\n\n <div part=\"label\" class=\"switch__label\">\n <slot></slot>\n </div>\n </label>\n\n <div\n aria-hidden=${hasHelpText ? 'false' : 'true'}\n class=\"form-control__help-text\"\n id=\"help-text\"\n part=\"form-control-help-text\"\n >\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-switch': SynSwitch;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,gBAAgB;AAIzB,SAAS,YAAY;AACrB,SAAS,iBAAiB;AAC1B,SAAS,YAAY;AACrB,SAAS,UAAU,OAAO,aAAa;AAsCvC,IAAqB,YAArB,cAAuC,eAA6C;AAAA,EAApF;AAAA;AAGE,SAAiB,wBAAwB,IAAI,sBAAsB,MAAM;AAAA,MACvE,OAAO,CAAC,YAAwB,QAAQ,UAAU,QAAQ,SAAS,OAAO;AAAA,MAC1E,cAAc,CAAC,YAAuB,QAAQ;AAAA,MAC9C,UAAU,CAAC,SAAoB,YAAsB,QAAQ,UAAU;AAAA,IACzE,CAAC;AACD,SAAiB,oBAAoB,IAAI,kBAAkB,MAAM,WAAW;AAInE,SAAQ,WAAW;AACC,iBAAQ;AAGzB,gBAAO;AAMU,gBAAqC;AAGtB,oBAAW;AAGX,mBAAU;AAG7B,0BAAiB;AAOb,gBAAO;AAGQ,oBAAW;AAGjB,oBAAW;AAAA;AAAA;AAAA,EAGjD,IAAI,WAAW;AACb,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA;AAAA,EAGA,IAAI,oBAAoB;AACtB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,eAAe;AACb,SAAK,sBAAsB,eAAe;AAAA,EAC5C;AAAA,EAEQ,aAAa;AACnB,SAAK,WAAW;AAChB,SAAK,KAAK,UAAU;AAAA,EACtB;AAAA,EAEQ,cAAc;AACpB,SAAK,KAAK,WAAW;AAAA,EACvB;AAAA,EAEQ,cAAc,OAAc;AAClC,SAAK,sBAAsB,YAAY,KAAK;AAC5C,SAAK,sBAAsB,iBAAiB,KAAK;AAAA,EACnD;AAAA,EAEQ,cAAc;AACpB,SAAK,UAAU,CAAC,KAAK;AACrB,SAAK,KAAK,YAAY;AAAA,EACxB;AAAA,EAEQ,cAAc;AACpB,SAAK,WAAW;AAChB,SAAK,KAAK,WAAW;AAAA,EACvB;AAAA,EAEQ,cAAc,OAAsB;AAC1C,QAAI,MAAM,QAAQ,aAAa;AAC7B,YAAM,eAAe;AACrB,WAAK,UAAU;AACf,WAAK,KAAK,YAAY;AACtB,WAAK,KAAK,WAAW;AAAA,IACvB;AAEA,QAAI,MAAM,QAAQ,cAAc;AAC9B,YAAM,eAAe;AACrB,WAAK,UAAU;AACf,WAAK,KAAK,YAAY;AACtB,WAAK,KAAK,WAAW;AAAA,IACvB;AAAA,EACF;AAAA,EAGA,sBAAsB;AACpB,SAAK,MAAM,UAAU,KAAK;AAC1B,SAAK,sBAAsB,eAAe;AAAA,EAC5C;AAAA,EAGA,uBAAuB;AAErB,SAAK,sBAAsB,YAAY,IAAI;AAAA,EAC7C;AAAA;AAAA,EAGA,QAAQ;AACN,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA;AAAA,EAGA,MAAM,SAAwB;AAC5B,SAAK,MAAM,MAAM,OAAO;AAAA,EAC1B;AAAA;AAAA,EAGA,OAAO;AACL,SAAK,MAAM,KAAK;AAAA,EAClB;AAAA;AAAA,EAGA,gBAAgB;AACd,WAAO,KAAK,MAAM,cAAc;AAAA,EAClC;AAAA;AAAA,EAGA,UAAkC;AAChC,WAAO,KAAK,sBAAsB,QAAQ;AAAA,EAC5C;AAAA;AAAA,EAGA,iBAAiB;AACf,WAAO,KAAK,MAAM,eAAe;AAAA,EACnC;AAAA;AAAA,EAGA,kBAAkB,SAAiB;AACjC,SAAK,MAAM,kBAAkB,OAAO;AACpC,SAAK,sBAAsB,eAAe;AAAA,EAC5C;AAAA,EAEA,SAAS;AACP,UAAM,kBAAkB,KAAK,kBAAkB,KAAK,WAAW;AAC/D,UAAM,cAAc,KAAK,WAAW,OAAO,CAAC,CAAC;AAE7C,WAAO;AAAA;AAAA,gBAEK,SAAS;AAAA,MACf,gBAAgB;AAAA,MAChB,uBAAuB,KAAK,SAAS;AAAA,MACrC,wBAAwB,KAAK,SAAS;AAAA,MACtC,uBAAuB,KAAK,SAAS;AAAA,MACrC,+BAA+B;AAAA,IACjC,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIQ,SAAS;AAAA,MACf,QAAQ;AAAA,MACR,mBAAmB,KAAK;AAAA,MACxB,oBAAoB,KAAK;AAAA,MACzB,mBAAmB,KAAK;AAAA,MACxB,iBAAiB,KAAK,SAAS;AAAA,MAC/B,kBAAkB,KAAK,SAAS;AAAA,MAChC,iBAAiB,KAAK,SAAS;AAAA,IACjC,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKQ,KAAK,KAAuF;AAAA,mBAC7F,KAAK,IAAI;AAAA,oBACR,UAAU,KAAK,KAAK,CAAC;AAAA,uBAClB,KAAK,KAAK,OAAO,CAAC;AAAA,wBACjB,KAAK,QAAQ;AAAA,wBACb,KAAK,QAAQ;AAAA;AAAA,2BAEV,KAAK,UAAU,SAAS,OAAO;AAAA;AAAA,qBAErC,KAAK,WAAW;AAAA,qBAChB,KAAK,WAAW;AAAA,uBACd,KAAK,aAAa;AAAA,oBACrB,KAAK,UAAU;AAAA,qBACd,KAAK,WAAW;AAAA,uBACd,KAAK,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAajB,cAAc,UAAU,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,mCAKnB,KAAK,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI9C;AACF;AAtNqB,UACZ,SAAyB,CAAC,0BAAiB,6BAAmB,uBAAQ,oCAAyB,4BAAY;AASjF;AAAA,EAAhC,MAAM,wBAAwB;AAAA,GAVZ,UAUc;AAEhB;AAAA,EAAhB,MAAM;AAAA,GAZY,UAYF;AACY;AAAA,EAA5B,SAAS,EAAE,SAAS,KAAK,CAAC;AAAA,GAbR,UAaU;AAGjB;AAAA,EAAX,SAAS;AAAA,GAhBS,UAgBP;AAGA;AAAA,EAAX,SAAS;AAAA,GAnBS,UAmBP;AAGiB;AAAA,EAA5B,SAAS,EAAE,SAAS,KAAK,CAAC;AAAA,GAtBR,UAsBU;AAGe;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GAzBvB,UAyByB;AAGA;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GA5BvB,UA4ByB;AAGnB;AAAA,EAAxB,aAAa,SAAS;AAAA,GA/BJ,UA+BM;AAOI;AAAA,EAA5B,SAAS,EAAE,SAAS,KAAK,CAAC;AAAA,GAtCR,UAsCU;AAGe;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GAzCvB,UAyCyB;AAGN;AAAA,EAArC,SAAS,EAAE,WAAW,YAAY,CAAC;AAAA,GA5CjB,UA4CmB;AAyDtC;AAAA,EADC,MAAM,WAAW,EAAE,sBAAsB,KAAK,CAAC;AAAA,GApG7B,UAqGnB;AAMA;AAAA,EADC,MAAM,YAAY,EAAE,sBAAsB,KAAK,CAAC;AAAA,GA1G9B,UA2GnB;AA3GmB,YAArB;AAAA,EADC,sBAAsB,WAAW;AAAA,GACb;",
6
+ "names": []
7
+ }
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  progress_ring_styles_default
3
- } from "./chunk.RMIDAEF5.js";
3
+ } from "./chunk.PB6IANE7.js";
4
4
  import {
5
5
  progress_ring_custom_styles_default
6
6
  } from "./chunk.GCTLPTMT.js";
7
7
  import {
8
8
  LocalizeController
9
- } from "./chunk.OAQRCZOO.js";
9
+ } from "./chunk.QLETXF4A.js";
10
10
  import {
11
11
  component_styles_default
12
- } from "./chunk.NLYVOJGK.js";
12
+ } from "./chunk.FXJLG622.js";
13
13
  import {
14
14
  SynergyElement
15
- } from "./chunk.FBQ7NUNW.js";
15
+ } from "./chunk.VWFRCPN5.js";
16
16
  import {
17
17
  __decorateClass
18
18
  } from "./chunk.MO2GTRUM.js";
@@ -76,4 +76,4 @@ __decorateClass([
76
76
  export {
77
77
  SynProgressRing
78
78
  };
79
- //# sourceMappingURL=chunk.I64H5F6D.js.map
79
+ //# sourceMappingURL=chunk.FLDDHQXG.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/progress-ring/progress-ring.component.ts"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport { html } from 'lit';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './progress-ring.styles.js';\nimport customStyles from './progress-ring.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Progress rings are used to show the progress of a determinate operation in a circular fashion.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-progress-ring--docs\n * @status stable\n * @since 2.0\n *\n * @slot - A label to show inside the ring.\n *\n * @csspart base - The component's base wrapper.\n * @csspart label - The progress ring label.\n *\n * @cssproperty --size - The diameter of the progress ring (cannot be a percentage).\n * @cssproperty --track-width - The width of the track.\n * @cssproperty --track-color - The color of the track.\n * @cssproperty --indicator-width - The width of the indicator. Defaults to the track width.\n * @cssproperty --indicator-color - The color of the indicator.\n * @cssproperty --indicator-transition-duration - The duration of the indicator's transition when the value changes.\n */\nexport default class SynProgressRing extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n\n private readonly localize = new LocalizeController(this);\n\n @query('.progress-ring__indicator') indicator: SVGCircleElement;\n\n @state() indicatorOffset: string;\n\n /** The current progress as a percentage, 0 to 100. */\n @property({ type: Number, reflect: true }) value = 0;\n\n /** A custom label for assistive devices. */\n @property() label = '';\n\n updated(changedProps: Map<string, unknown>) {\n super.updated(changedProps);\n\n //\n // This block is only required for Safari because it doesn't transition the circle when the custom properties\n // change, possibly because of a mix of pixel + unit-less values in the calc() function. It seems like a Safari bug,\n // but I couldn't pinpoint it so this works around the problem.\n //\n if (changedProps.has('value')) {\n const radius = parseFloat(getComputedStyle(this.indicator).getPropertyValue('r'));\n const circumference = 2 * Math.PI * radius;\n const offset = circumference - (this.value / 100) * circumference;\n\n this.indicatorOffset = `${offset}px`;\n }\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=\"progress-ring\"\n role=\"progressbar\"\n aria-label=${this.label.length > 0 ? this.label : this.localize.term('progress')}\n aria-describedby=\"label\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow=\"${this.value}\"\n style=\"--percentage: ${this.value / 100}\"\n >\n <svg class=\"progress-ring__image\">\n <circle class=\"progress-ring__track\"></circle>\n <circle class=\"progress-ring__indicator\" style=\"stroke-dashoffset: ${this.indicatorOffset}\"></circle>\n </svg>\n\n <slot id=\"label\" part=\"label\" class=\"progress-ring__label\"></slot>\n </div>\n `;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AACA,SAAS,YAAY;AAErB,SAAS,UAAU,OAAO,aAAa;AAyBvC,IAAqB,kBAArB,cAA6C,eAAe;AAAA,EAA5D;AAAA;AAGE,SAAiB,WAAW,IAAI,mBAAmB,IAAI;AAOZ,iBAAQ;AAGvC,iBAAQ;AAAA;AAAA,EAEpB,QAAQ,cAAoC;AAC1C,UAAM,QAAQ,YAAY;AAO1B,QAAI,aAAa,IAAI,OAAO,GAAG;AAC7B,YAAM,SAAS,WAAW,iBAAiB,KAAK,SAAS,EAAE,iBAAiB,GAAG,CAAC;AAChF,YAAM,gBAAgB,IAAI,KAAK,KAAK;AACpC,YAAM,SAAS,gBAAiB,KAAK,QAAQ,MAAO;AAEpD,WAAK,kBAAkB,GAAG,MAAM;AAAA,IAClC;AAAA,EACF;AAAA,EAEA,SAAS;AACP,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA,qBAKU,KAAK,MAAM,SAAS,IAAI,KAAK,QAAQ,KAAK,SAAS,KAAK,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA,yBAI/D,KAAK,KAAK;AAAA,+BACJ,KAAK,QAAQ,GAAG;AAAA;AAAA;AAAA;AAAA,+EAIgC,KAAK,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjG;AACF;AAtDqB,gBACZ,SAAyB,CAAC,0BAAiB,8BAAQ,mCAAY;AAIlC;AAAA,EAAnC,MAAM,2BAA2B;AAAA,GALf,gBAKiB;AAE3B;AAAA,EAAR,MAAM;AAAA,GAPY,gBAOV;AAGkC;AAAA,EAA1C,SAAS,EAAE,MAAM,QAAQ,SAAS,KAAK,CAAC;AAAA,GAVtB,gBAUwB;AAG/B;AAAA,EAAX,SAAS;AAAA,GAbS,gBAaP;",
6
+ "names": []
7
+ }
@@ -3,16 +3,16 @@ import {
3
3
  } from "./chunk.3WVPUEAN.js";
4
4
  import {
5
5
  progress_bar_styles_default
6
- } from "./chunk.QUM76UHV.js";
6
+ } from "./chunk.VPL7U5EC.js";
7
7
  import {
8
8
  LocalizeController
9
- } from "./chunk.OAQRCZOO.js";
9
+ } from "./chunk.QLETXF4A.js";
10
10
  import {
11
11
  component_styles_default
12
- } from "./chunk.NLYVOJGK.js";
12
+ } from "./chunk.FXJLG622.js";
13
13
  import {
14
14
  SynergyElement
15
- } from "./chunk.FBQ7NUNW.js";
15
+ } from "./chunk.VWFRCPN5.js";
16
16
  import {
17
17
  __decorateClass
18
18
  } from "./chunk.MO2GTRUM.js";
@@ -68,4 +68,4 @@ __decorateClass([
68
68
  export {
69
69
  SynProgressBar
70
70
  };
71
- //# sourceMappingURL=chunk.DU3L7OGA.js.map
71
+ //# sourceMappingURL=chunk.FQPIRAA6.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/progress-bar/progress-bar.component.ts"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './progress-bar.styles.js';\nimport customStyles from './progress-bar.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Progress bars are used to show the status of an ongoing operation.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-progress-bar--docs\n * @status stable\n * @since 2.0\n *\n * @slot - A label to show inside the progress indicator.\n *\n * @csspart base - The component's base wrapper.\n * @csspart indicator - The progress bar's indicator.\n * @csspart label - The progress bar's label.\n *\n * @cssproperty --height - The progress bar's height.\n * @cssproperty --track-color - The color of the track.\n * @cssproperty --indicator-color - The color of the indicator.\n * @cssproperty --label-color - The color of the label.\n * @cssproperty --speed - The speed of the progress bar when in indeterminate state.\n */\nexport default class SynProgressBar extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n private readonly localize = new LocalizeController(this);\n\n /** The current progress as a percentage, 0 to 100. */\n @property({ type: Number, reflect: true }) value = 0;\n\n /** When true, percentage is ignored, the label is hidden, and the progress bar is drawn in an indeterminate state. */\n @property({ type: Boolean, reflect: true }) indeterminate = false;\n\n /** A custom label for assistive devices. */\n @property() label = '';\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n 'progress-bar': true,\n 'progress-bar--indeterminate': this.indeterminate,\n 'progress-bar--rtl': this.localize.dir() === 'rtl'\n })}\n role=\"progressbar\"\n title=${ifDefined(this.title)}\n aria-label=${this.label.length > 0 ? this.label : this.localize.term('progress')}\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow=${this.indeterminate ? 0 : this.value}\n >\n <div part=\"indicator\" class=\"progress-bar__indicator\" style=${styleMap({ width: `${this.value}%` })}>\n ${!this.indeterminate ? html` <slot part=\"label\" class=\"progress-bar__label\"></slot> ` : ''}\n </div>\n </div>\n `;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AACA,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,iBAAiB;AAE1B,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AAyBzB,IAAqB,iBAArB,cAA4C,eAAe;AAAA,EAA3D;AAAA;AAEE,SAAiB,WAAW,IAAI,mBAAmB,IAAI;AAGZ,iBAAQ;AAGP,yBAAgB;AAGhD,iBAAQ;AAAA;AAAA,EAEpB,SAAS;AACP,WAAO;AAAA;AAAA;AAAA,gBAGK,SAAS;AAAA,MACf,gBAAgB;AAAA,MAChB,+BAA+B,KAAK;AAAA,MACpC,qBAAqB,KAAK,SAAS,IAAI,MAAM;AAAA,IAC/C,CAAC,CAAC;AAAA;AAAA,gBAEM,UAAU,KAAK,KAAK,CAAC;AAAA,qBAChB,KAAK,MAAM,SAAS,IAAI,KAAK,QAAQ,KAAK,SAAS,KAAK,UAAU,CAAC;AAAA;AAAA;AAAA,wBAGhE,KAAK,gBAAgB,IAAI,KAAK,KAAK;AAAA;AAAA,sEAEW,SAAS,EAAE,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC;AAAA,YAC/F,CAAC,KAAK,gBAAgB,iEAAiE,EAAE;AAAA;AAAA;AAAA;AAAA,EAInG;AACF;AAnCqB,eACZ,SAAyB,CAAC,0BAAiB,6BAAQ,kCAAY;AAI3B;AAAA,EAA1C,SAAS,EAAE,MAAM,QAAQ,SAAS,KAAK,CAAC;AAAA,GALtB,eAKwB;AAGC;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GARvB,eAQyB;AAGhC;AAAA,EAAX,SAAS;AAAA,GAXS,eAWP;",
6
+ "names": []
7
+ }
@@ -38,13 +38,14 @@ var getValueFromOption = (option) => {
38
38
  }
39
39
  return value;
40
40
  };
41
+ var getValuesFromOptions = (options) => options.map(getValueFromOption);
41
42
  var checkValueBelongsToOption = (value, option) => {
42
- if (!option || !value) {
43
+ if (!option || value === void 0 || value === null || value === "") {
43
44
  return false;
44
45
  }
45
46
  const optionValue = option.value;
46
47
  const optionText = option.getTextLabel();
47
- return value === optionValue || value === optionText;
48
+ return String(value) === String(optionValue) || String(value) === optionText;
48
49
  };
49
50
 
50
51
  export {
@@ -57,6 +58,7 @@ export {
57
58
  createElementFromTemplateResult,
58
59
  createOptionFromDifferentTypes,
59
60
  getValueFromOption,
61
+ getValuesFromOptions,
60
62
  checkValueBelongsToOption
61
63
  };
62
- //# sourceMappingURL=chunk.BWTMFHNM.js.map
64
+ //# sourceMappingURL=chunk.FVIRHFY6.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/combobox/utils.ts"],
4
- "sourcesContent": ["import { type TemplateResult, html, render } from 'lit';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport type SynOptGroup from '../optgroup/optgroup.js';\nimport type SynOption from '../option/option.component.js';\n\n/**\n * Get a list of all assigned elements for a given slot\n * @param slot The slot to query\n * @returns Flattened list of assigned elements\n */\nexport const getAssignedElementsForSlot = (slot: HTMLSlotElement) => Array.from(\n slot.assignedElements({ flatten: true }),\n) as HTMLElement[];\n\n/**\n * Retrieves the option or nested options from the provided HTMLElement.\n *\n * @param item - The HTMLElement representing the option or containing nested options.\n * @returns The found syn-option(s)\n */\nexport const getOptionOrNestedOptions = (item: HTMLElement): SynOption | SynOption[] => (\n item.tagName.toLocaleLowerCase() === 'syn-option' ? item as SynOption : Array.from(item.querySelectorAll<SynOption>(':scope > syn-option'))\n);\n\n/**\n * Check if an item is a syn-optgroup\n * @param item The item to check for\n * @returns True if the item is a SynOptgroup, false otherwise\n */\nexport const isOptgroup = (item: HTMLElement): item is SynOptGroup => (\n item.tagName.toLocaleLowerCase() === 'syn-optgroup'\n);\n\n/**\n * Get a list of only Option elements\n * @param items List of items to check for\n * @returns New array of all found syn-nav-items\n */\nexport const getAllOptions = (items: HTMLElement[]) => items.map(getOptionOrNestedOptions);\n\n/**\n * Get a list of only Optgroup elements\n * @param items List of items to check for\n * @returns New array of all found syn-optgroup's\n */\nexport const filterOnlyOptgroups = (items: HTMLElement[]) => items.filter(isOptgroup);\n\n/**\n * Normalize a string by removing accents and converting to lowercase\n * @param str The string to normalize\n * @returns The normalized string\n */\nexport const normalizeString = (str: string) => str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase();\n\n/**\n * Creates a `SynOption` element from a given `TemplateResult`.\n * We assume that the given `TemplateResult` is a <syn-option>.\n *\n * @param template - The `TemplateResult` to be rendered into a `SynOption`.\n * @returns The created SynOption element\n */\nexport const createElementFromTemplateResult = (template: TemplateResult) => {\n const container = document.createElement('div');\n render(template, container);\n return container.firstElementChild as HTMLElement;\n};\n\nconst getOptionOrUndefined = (element: HTMLElement) => (element.tagName.toLocaleLowerCase() === 'syn-option' ? element as SynOption : undefined);\n\n/**\n * This function takes an input of type `TemplateResult`, `string`, or `HTMLElement`\n * and creates an SynOption from it.\n *\n * @param option - The option which can be of type `TemplateResult`, `string` or `HTMLElement`.\n * @returns The created SynOption or undefined if the option was not a valid type.\n */\nexport const createOptionFromDifferentTypes = (option: TemplateResult | string | HTMLElement) => {\n if (!option) return undefined;\n\n if (option instanceof HTMLElement) {\n return getOptionOrUndefined(option);\n }\n\n if (typeof option === 'string') {\n const template = html`${unsafeHTML(option)}`;\n const element = createElementFromTemplateResult(template);\n return getOptionOrUndefined(element);\n }\n\n if (Object.prototype.hasOwnProperty.call(option, '_$litType$')) {\n const element = createElementFromTemplateResult(option);\n return getOptionOrUndefined(element);\n }\n\n return undefined;\n};\n\n/**\n * Gets the value from an option. If an option has no value, it will use the text label.\n * @param option The syn-option to get the value from\n * @returns The value of the option\n */\nexport const getValueFromOption = (option: SynOption) => {\n const { value } = option;\n if (value === undefined || value === null || value === '') {\n // If the option has no value, use the text label\n return option.getTextLabel();\n }\n return value;\n};\n\n/**\n * Check if a value belongs to the value or text label of an option.\n * @param value The value to check\n * @param option The option to check against\n * @returns True if the value belongs to the option, false otherwise\n */\nexport const checkValueBelongsToOption = (value: string, option: SynOption | undefined) => {\n if (!option || !value) {\n return false;\n }\n\n const optionValue = option.value;\n const optionText = option.getTextLabel();\n return value === optionValue || value === optionText;\n};\n"],
5
- "mappings": ";AAAA,SAA8B,MAAM,cAAc;AAClD,SAAS,kBAAkB;AASpB,IAAM,6BAA6B,CAAC,SAA0B,MAAM;AAAA,EACzE,KAAK,iBAAiB,EAAE,SAAS,KAAK,CAAC;AACzC;AAQO,IAAM,2BAA2B,CAAC,SACvC,KAAK,QAAQ,kBAAkB,MAAM,eAAe,OAAoB,MAAM,KAAK,KAAK,iBAA4B,qBAAqB,CAAC;AAQrI,IAAM,aAAa,CAAC,SACzB,KAAK,QAAQ,kBAAkB,MAAM;AAQhC,IAAM,gBAAgB,CAAC,UAAyB,MAAM,IAAI,wBAAwB;AAOlF,IAAM,sBAAsB,CAAC,UAAyB,MAAM,OAAO,UAAU;AAO7E,IAAM,kBAAkB,CAAC,QAAgB,IAAI,UAAU,KAAK,EAAE,QAAQ,oBAAoB,EAAE,EAAE,YAAY;AAS1G,IAAM,kCAAkC,CAAC,aAA6B;AAC3E,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,SAAO,UAAU,SAAS;AAC1B,SAAO,UAAU;AACnB;AAEA,IAAM,uBAAuB,CAAC,YAA0B,QAAQ,QAAQ,kBAAkB,MAAM,eAAe,UAAuB;AAS/H,IAAM,iCAAiC,CAAC,WAAkD;AAC/F,MAAI,CAAC,OAAQ,QAAO;AAEpB,MAAI,kBAAkB,aAAa;AACjC,WAAO,qBAAqB,MAAM;AAAA,EACpC;AAEA,MAAI,OAAO,WAAW,UAAU;AAC9B,UAAM,WAAW,OAAO,WAAW,MAAM,CAAC;AAC1C,UAAM,UAAU,gCAAgC,QAAQ;AACxD,WAAO,qBAAqB,OAAO;AAAA,EACrC;AAEA,MAAI,OAAO,UAAU,eAAe,KAAK,QAAQ,YAAY,GAAG;AAC9D,UAAM,UAAU,gCAAgC,MAAM;AACtD,WAAO,qBAAqB,OAAO;AAAA,EACrC;AAEA,SAAO;AACT;AAOO,IAAM,qBAAqB,CAAC,WAAsB;AACvD,QAAM,EAAE,MAAM,IAAI;AAClB,MAAI,UAAU,UAAa,UAAU,QAAQ,UAAU,IAAI;AAEzD,WAAO,OAAO,aAAa;AAAA,EAC7B;AACA,SAAO;AACT;AAQO,IAAM,4BAA4B,CAAC,OAAe,WAAkC;AACzF,MAAI,CAAC,UAAU,CAAC,OAAO;AACrB,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,OAAO;AAC3B,QAAM,aAAa,OAAO,aAAa;AACvC,SAAO,UAAU,eAAe,UAAU;AAC5C;",
4
+ "sourcesContent": ["import { type TemplateResult, html, render } from 'lit';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport type SynOptGroup from '../optgroup/optgroup.js';\nimport type SynOption from '../option/option.component.js';\n\n/**\n * Get a list of all assigned elements for a given slot\n * @param slot The slot to query\n * @returns Flattened list of assigned elements\n */\nexport const getAssignedElementsForSlot = (slot: HTMLSlotElement) => Array.from(\n slot.assignedElements({ flatten: true }),\n) as HTMLElement[];\n\n/**\n * Retrieves the option or nested options from the provided HTMLElement.\n *\n * @param item - The HTMLElement representing the option or containing nested options.\n * @returns The found syn-option(s)\n */\nexport const getOptionOrNestedOptions = (item: HTMLElement): SynOption | SynOption[] => (\n item.tagName.toLocaleLowerCase() === 'syn-option' ? item as SynOption : Array.from(item.querySelectorAll<SynOption>(':scope > syn-option'))\n);\n\n/**\n * Check if an item is a syn-optgroup\n * @param item The item to check for\n * @returns True if the item is a SynOptgroup, false otherwise\n */\nexport const isOptgroup = (item: HTMLElement): item is SynOptGroup => (\n item.tagName.toLocaleLowerCase() === 'syn-optgroup'\n);\n\n/**\n * Get a list of only Option elements\n * @param items List of items to check for\n * @returns New array of all found syn-nav-items\n */\nexport const getAllOptions = (items: HTMLElement[]) => items.map(getOptionOrNestedOptions);\n\n/**\n * Get a list of only Optgroup elements\n * @param items List of items to check for\n * @returns New array of all found syn-optgroup's\n */\nexport const filterOnlyOptgroups = (items: HTMLElement[]) => items.filter(isOptgroup);\n\n/**\n * Normalize a string by removing accents and converting to lowercase\n * @param str The string to normalize\n * @returns The normalized string\n */\nexport const normalizeString = (str: string) => str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase();\n\n/**\n * Creates a `SynOption` element from a given `TemplateResult`.\n * We assume that the given `TemplateResult` is a <syn-option>.\n *\n * @param template - The `TemplateResult` to be rendered into a `SynOption`.\n * @returns The created SynOption element\n */\nexport const createElementFromTemplateResult = (template: TemplateResult) => {\n const container = document.createElement('div');\n render(template, container);\n return container.firstElementChild as HTMLElement;\n};\n\nconst getOptionOrUndefined = (element: HTMLElement) => (element.tagName.toLocaleLowerCase() === 'syn-option' ? element as SynOption : undefined);\n\n/**\n * This function takes an input of type `TemplateResult`, `string`, or `HTMLElement`\n * and creates an SynOption from it.\n *\n * @param option - The option which can be of type `TemplateResult`, `string` or `HTMLElement`.\n * @returns The created SynOption or undefined if the option was not a valid type.\n */\nexport const createOptionFromDifferentTypes = (option: TemplateResult | string | HTMLElement) => {\n if (!option) return undefined;\n\n if (option instanceof HTMLElement) {\n return getOptionOrUndefined(option);\n }\n\n if (typeof option === 'string') {\n const template = html`${unsafeHTML(option)}`;\n const element = createElementFromTemplateResult(template);\n return getOptionOrUndefined(element);\n }\n\n if (Object.prototype.hasOwnProperty.call(option, '_$litType$')) {\n const element = createElementFromTemplateResult(option);\n return getOptionOrUndefined(element);\n }\n\n return undefined;\n};\n\n/**\n * Gets the value from an option. If an option has no value, it will use the text label.\n * @param option The syn-option to get the value from\n * @returns The value of the option\n */\nexport const getValueFromOption = (option: SynOption) => {\n const { value } = option;\n if (value === undefined || value === null || value === '') {\n // If the option has no value, use the text label\n return option.getTextLabel();\n }\n return value;\n};\n\n/**\n * Get the values for options. If an option has no value, it will use the text label.\n *\n * @param options List of syn-options to get the values from\n * @returns The values of the options\n */\nexport const getValuesFromOptions = (options: SynOption[]) => options.map(getValueFromOption);\n\n/**\n * Check if a value belongs to the value or text label of an option.\n * @param value The value to check\n * @param option The option to check against\n * @returns True if the value belongs to the option, false otherwise\n */\nexport const checkValueBelongsToOption = (value: string | number, option: SynOption | undefined) => {\n if (!option || value === undefined || value === null || value === '') {\n return false;\n }\n\n const optionValue = option.value;\n const optionText = option.getTextLabel();\n return String(value) === String(optionValue) || String(value) === optionText;\n};\n"],
5
+ "mappings": ";AAAA,SAA8B,MAAM,cAAc;AAClD,SAAS,kBAAkB;AASpB,IAAM,6BAA6B,CAAC,SAA0B,MAAM;AAAA,EACzE,KAAK,iBAAiB,EAAE,SAAS,KAAK,CAAC;AACzC;AAQO,IAAM,2BAA2B,CAAC,SACvC,KAAK,QAAQ,kBAAkB,MAAM,eAAe,OAAoB,MAAM,KAAK,KAAK,iBAA4B,qBAAqB,CAAC;AAQrI,IAAM,aAAa,CAAC,SACzB,KAAK,QAAQ,kBAAkB,MAAM;AAQhC,IAAM,gBAAgB,CAAC,UAAyB,MAAM,IAAI,wBAAwB;AAOlF,IAAM,sBAAsB,CAAC,UAAyB,MAAM,OAAO,UAAU;AAO7E,IAAM,kBAAkB,CAAC,QAAgB,IAAI,UAAU,KAAK,EAAE,QAAQ,oBAAoB,EAAE,EAAE,YAAY;AAS1G,IAAM,kCAAkC,CAAC,aAA6B;AAC3E,QAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,SAAO,UAAU,SAAS;AAC1B,SAAO,UAAU;AACnB;AAEA,IAAM,uBAAuB,CAAC,YAA0B,QAAQ,QAAQ,kBAAkB,MAAM,eAAe,UAAuB;AAS/H,IAAM,iCAAiC,CAAC,WAAkD;AAC/F,MAAI,CAAC,OAAQ,QAAO;AAEpB,MAAI,kBAAkB,aAAa;AACjC,WAAO,qBAAqB,MAAM;AAAA,EACpC;AAEA,MAAI,OAAO,WAAW,UAAU;AAC9B,UAAM,WAAW,OAAO,WAAW,MAAM,CAAC;AAC1C,UAAM,UAAU,gCAAgC,QAAQ;AACxD,WAAO,qBAAqB,OAAO;AAAA,EACrC;AAEA,MAAI,OAAO,UAAU,eAAe,KAAK,QAAQ,YAAY,GAAG;AAC9D,UAAM,UAAU,gCAAgC,MAAM;AACtD,WAAO,qBAAqB,OAAO;AAAA,EACrC;AAEA,SAAO;AACT;AAOO,IAAM,qBAAqB,CAAC,WAAsB;AACvD,QAAM,EAAE,MAAM,IAAI;AAClB,MAAI,UAAU,UAAa,UAAU,QAAQ,UAAU,IAAI;AAEzD,WAAO,OAAO,aAAa;AAAA,EAC7B;AACA,SAAO;AACT;AAQO,IAAM,uBAAuB,CAAC,YAAyB,QAAQ,IAAI,kBAAkB;AAQrF,IAAM,4BAA4B,CAAC,OAAwB,WAAkC;AAClG,MAAI,CAAC,UAAU,UAAU,UAAa,UAAU,QAAQ,UAAU,IAAI;AACpE,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,OAAO;AAC3B,QAAM,aAAa,OAAO,aAAa;AACvC,SAAO,OAAO,KAAK,MAAM,OAAO,WAAW,KAAK,OAAO,KAAK,MAAM;AACpE;",
6
6
  "names": []
7
7
  }
@@ -20,4 +20,4 @@ var component_styles_default = css`
20
20
  export {
21
21
  component_styles_default
22
22
  };
23
- //# sourceMappingURL=chunk.NLYVOJGK.js.map
23
+ //# sourceMappingURL=chunk.FXJLG622.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/styles/component.styles.ts"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n box-sizing: border-box;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n`;\n"],
5
+ "mappings": ";AACA,SAAS,WAAW;AAEpB,IAAO,2BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -310,4 +310,4 @@ var select_styles_default = css`
310
310
  export {
311
311
  select_styles_default
312
312
  };
313
- //# sourceMappingURL=chunk.XTWO6ZZW.js.map
313
+ //# sourceMappingURL=chunk.GPP4D4HH.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/select/select.styles.ts"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n display: block;\n }\n\n /** The popup */\n .select {\n flex: 1 1 auto;\n display: inline-flex;\n width: 100%;\n position: relative;\n vertical-align: middle;\n }\n\n .select::part(popup) {\n z-index: var(--syn-z-index-dropdown);\n }\n\n .select[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .select[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n /* Combobox */\n .select__combobox {\n flex: 1;\n display: flex;\n width: 100%;\n min-width: 0;\n position: relative;\n align-items: center;\n justify-content: start;\n font-family: var(--syn-input-font-family);\n font-weight: var(--syn-input-font-weight);\n letter-spacing: var(--syn-input-letter-spacing);\n vertical-align: middle;\n overflow: hidden;\n cursor: pointer;\n transition:\n var(--syn-transition-fast) color,\n var(--syn-transition-fast) border,\n var(--syn-transition-fast) box-shadow,\n var(--syn-transition-fast) background-color;\n }\n\n .select__display-input {\n position: relative;\n width: 100%;\n font: inherit;\n border: none;\n background: none;\n color: var(--syn-input-color);\n cursor: inherit;\n overflow: hidden;\n padding: 0;\n margin: 0;\n -webkit-appearance: none;\n }\n\n .select__display-input::placeholder {\n color: var(--syn-input-placeholder-color);\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: var(--syn-input-color-hover);\n }\n\n .select__display-input:focus {\n outline: none;\n }\n\n /* Visually hide the display input when multiple is enabled */\n .select--multiple:not(.select--placeholder-visible) .select__display-input {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n }\n\n .select__value-input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: -1;\n }\n\n .select__tags {\n display: flex;\n flex: 1;\n align-items: center;\n flex-wrap: wrap;\n margin-inline-start: var(--syn-spacing-2x-small);\n }\n\n .select__tags::slotted(syn-tag) {\n cursor: pointer !important;\n }\n\n .select--disabled .select__tags,\n .select--disabled .select__tags::slotted(syn-tag) {\n cursor: not-allowed !important;\n }\n\n /* Standard selects */\n .select--standard .select__combobox {\n background-color: var(--syn-input-background-color);\n border: solid var(--syn-input-border-width) var(--syn-input-border-color);\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: var(--syn-input-background-color-disabled);\n border-color: var(--syn-input-border-color-disabled);\n color: var(--syn-input-color-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n outline: none;\n }\n\n .select--standard:not(.select--disabled).select--open .select__combobox,\n .select--standard:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--syn-input-background-color-focus);\n border-color: var(--syn-input-border-color-focus);\n box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-color);\n }\n\n/* Sizes */\n .select--small .select__combobox {\n border-radius: var(--syn-input-border-radius-small);\n font-size: var(--syn-input-font-size-small);\n min-height: var(--syn-input-height-small);\n padding-block: 0;\n padding-inline: var(--syn-input-spacing-small);\n }\n\n .select--small .select__clear {\n margin-inline-start: var(--syn-input-spacing-small);\n }\n\n .select--small .select__prefix::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-small);\n }\n\n .select--small.select--multiple:not(.select--placeholder-visible) .select__prefix::slotted(*) {\n margin-inline-start: var(--syn-input-spacing-small);\n }\n\n .select--small.select--multiple:not(.select--placeholder-visible) .select__combobox {\n padding-block: 2px;\n padding-inline-start: 0;\n }\n\n .select--small .select__tags {\n gap: 2px;\n }\n\n .select--medium .select__combobox {\n border-radius: var(--syn-input-border-radius-medium);\n font-size: var(--syn-input-font-size-medium);\n min-height: var(--syn-input-height-medium);\n padding-block: 0;\n padding-inline: var(--syn-input-spacing-medium);\n }\n\n .select--medium .select__clear {\n margin-inline-start: var(--syn-input-spacing-medium);\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-medium);\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible) .select__prefix::slotted(*) {\n margin-inline-start: var(--syn-input-spacing-medium);\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible) .select__combobox {\n padding-inline-start: 0;\n padding-block: 3px;\n }\n\n .select--medium .select__tags {\n gap: 3px;\n }\n\n .select--large .select__combobox {\n border-radius: var(--syn-input-border-radius-large);\n font-size: var(--syn-input-font-size-large);\n min-height: var(--syn-input-height-large);\n padding-block: 0;\n padding-inline: var(--syn-input-spacing-large);\n }\n\n .select--large .select__clear {\n margin-inline-start: var(--syn-input-spacing-large);\n }\n\n .select--large .select__prefix::slotted(*) {\n margin-inline-end: var(--syn-input-spacing-large);\n }\n\n .select--large.select--multiple:not(.select--placeholder-visible) .select__prefix::slotted(*) {\n margin-inline-start: var(--syn-input-spacing-large);\n }\n\n .select--large.select--multiple:not(.select--placeholder-visible) .select__combobox {\n padding-inline-start: 0;\n padding-block: 4px;\n }\n\n .select--large .select__tags {\n gap: 4px;\n }/* Prefix and Suffix */\n .select__prefix,\n .select__suffix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--syn-input-placeholder-color);\n }\n\n .select__suffix::slotted(*) {\n margin-inline-start: var(--syn-spacing-small);\n }\n\n /* Clear button */\n .select__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: inherit;\n color: var(--syn-input-icon-color);\n border: none;\n background: none;\n padding: 0;\n transition: var(--syn-transition-fast) color;\n cursor: pointer;\n }\n\n .select__clear:hover {\n color: var(--syn-input-icon-color-hover);\n }\n\n .select__clear:focus {\n outline: none;\n }\n\n /* Expand icon */\n .select__expand-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: var(--syn-transition-medium) rotate ease;\n rotate: 0;\n margin-inline-start: var(--syn-spacing-small);\n }\n\n .select--open .select__expand-icon {\n rotate: -180deg;\n }\n\n /* Listbox */\n .select__listbox {\n display: block;\n position: relative;\n font-family: var(--syn-font-sans);\n font-size: var(--syn-font-size-medium);\n font-weight: var(--syn-font-weight-normal);\n box-shadow: var(--syn-shadow-large);\n background: var(--syn-panel-background-color);\n border: solid var(--syn-panel-border-width) var(--syn-panel-border-color);\n border-radius: var(--syn-border-radius-medium);\n padding-block: var(--syn-spacing-x-small);\n padding-inline: 0;\n overflow: auto;\n overscroll-behavior: none;\n\n /* Make sure it adheres to the popup's auto size */\n max-width: var(--auto-size-available-width);\n max-height: var(--auto-size-available-height);\n }\n\n .select__listbox ::slotted(syn-divider) {\n --spacing: var(--syn-spacing-x-small);\n }\n\n .select__listbox ::slotted(small) {\n display: block;\n font-size: var(--syn-font-size-small);\n font-weight: var(--syn-font-weight-semibold);\n color: var(--syn-color-neutral-500);\n padding-block: var(--syn-spacing-2x-small);\n padding-inline: var(--syn-spacing-x-large);\n }\n`;\n"],
5
+ "mappings": ";AACA,SAAS,WAAW;AAEpB,IAAO,wBAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,37 +1,37 @@
1
1
  import {
2
2
  SubmenuController
3
- } from "./chunk.KW5TWA5Y.js";
3
+ } from "./chunk.BC532CB6.js";
4
4
  import {
5
5
  menu_item_custom_styles_default
6
6
  } from "./chunk.UNYO3GI7.js";
7
7
  import {
8
8
  menu_item_styles_default
9
- } from "./chunk.FSWTBNSI.js";
9
+ } from "./chunk.N7HN275B.js";
10
10
  import {
11
11
  SynPopup
12
- } from "./chunk.P3W7SDQW.js";
12
+ } from "./chunk.T3OH2LR6.js";
13
13
  import {
14
14
  SynSpinner
15
- } from "./chunk.KCLOTN4Z.js";
15
+ } from "./chunk.2RS24S7K.js";
16
16
  import {
17
17
  HasSlotController,
18
18
  getTextContent
19
- } from "./chunk.WVVQK5TE.js";
19
+ } from "./chunk.CHFWLQN5.js";
20
20
  import {
21
21
  SynIcon
22
- } from "./chunk.Q6XDV7O7.js";
22
+ } from "./chunk.7XSJ52RM.js";
23
23
  import {
24
24
  LocalizeController
25
- } from "./chunk.OAQRCZOO.js";
25
+ } from "./chunk.QLETXF4A.js";
26
26
  import {
27
27
  watch
28
- } from "./chunk.JE5Y2YD7.js";
28
+ } from "./chunk.SMIMHADA.js";
29
29
  import {
30
30
  component_styles_default
31
- } from "./chunk.NLYVOJGK.js";
31
+ } from "./chunk.FXJLG622.js";
32
32
  import {
33
33
  SynergyElement
34
- } from "./chunk.FBQ7NUNW.js";
34
+ } from "./chunk.VWFRCPN5.js";
35
35
  import {
36
36
  __decorateClass,
37
37
  __privateAdd,
@@ -241,4 +241,4 @@ SynMenuItem = __decorateClass([
241
241
  export {
242
242
  SynMenuItem
243
243
  };
244
- //# sourceMappingURL=chunk.DZSZDFCN.js.map
244
+ //# sourceMappingURL=chunk.H5ZIVYK5.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/menu-item/menu-item.component.ts", "../../src/internal/watchEvent.ts"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { getTextContent, HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property, query } from 'lit/decorators.js';\nimport { SubmenuController } from './submenu-controller.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 SynPopup from '../popup/popup.component.js';\nimport SynSpinner from '../spinner/spinner.component.js';\nimport styles from './menu-item.styles.js';\nimport customStyles from './menu-item.custom.styles.js';\nimport { emitEventForPropertyUpdates } from '../../internal/watchEvent.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Menu items provide options for the user to pick from in a menu.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-menu-item--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-popup\n * @dependency syn-spinner\n *\n * @slot - The menu item's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n * @slot submenu - Used to denote a nested menu.\n *\n * @csspart base - The component's base wrapper.\n * @csspart checked-icon - The checked icon, which is only visible when the menu item is checked.\n * @csspart prefix - The prefix container.\n * @csspart label - The menu item label.\n * @csspart suffix - The suffix container.\n * @csspart spinner - The spinner that shows when the menu item is in the loading state.\n * @csspart spinner__base - The spinner's base part.\n * @csspart submenu-icon - The submenu icon, visible only when the menu item has a submenu (not yet implemented).\n *\n * @cssproperty [--submenu-offset=-2px] - The distance submenus shift to overlap the parent menu.\n */\n@emitEventForPropertyUpdates(['type', 'loading'], {\n waitUntilFirstUpdated: true,\n})\nexport default class SynMenuItem extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n static dependencies = {\n 'syn-icon': SynIcon,\n 'syn-popup': SynPopup,\n 'syn-spinner': SynSpinner\n };\n\n private cachedTextLabel: string;\n private readonly localize = new LocalizeController(this);\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n @query('.menu-item') menuItem: HTMLElement;\n\n /** The type of menu item to render. To use `checked`, this value must be set to `checkbox`. */\n @property() type: 'normal' | 'checkbox' = 'normal';\n\n /** Draws the item in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** A unique value to store in the menu item. This can be used as a way to identify menu items when selected. */\n @property() value = '';\n\n /** Draws the menu item in a loading state. */\n @property({ type: Boolean, reflect: true }) loading = false;\n\n /** Draws the menu item in a disabled state, preventing selection. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n private readonly hasSlotController = new HasSlotController(this, 'submenu');\n private submenuController: SubmenuController = new SubmenuController(this, this.hasSlotController);\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('click', this.handleHostClick);\n this.addEventListener('mouseover', this.handleMouseOver);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.handleHostClick);\n this.removeEventListener('mouseover', this.handleMouseOver);\n }\n\n private handleDefaultSlotChange() {\n const textLabel = this.getTextLabel();\n\n // Ignore the first time the label is set\n if (typeof this.cachedTextLabel === 'undefined') {\n this.cachedTextLabel = textLabel;\n return;\n }\n\n // When the label changes, emit a slotchange event so parent controls see it\n if (textLabel !== this.cachedTextLabel) {\n this.cachedTextLabel = textLabel;\n this.emit('slotchange', { bubbles: true, composed: false, cancelable: false });\n }\n }\n\n private handleHostClick = (event: MouseEvent) => {\n // Prevent the click event from being emitted when the button is disabled or loading\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n };\n\n private handleMouseOver = (event: MouseEvent) => {\n this.focus();\n event.stopPropagation();\n };\n\n @watch('checked')\n handleCheckedChange() {\n // For proper accessibility, users have to use type=\"checkbox\" to use the checked attribute\n if (this.checked && this.type !== 'checkbox') {\n this.checked = false;\n console.error('The checked attribute can only be used on menu items with type=\"checkbox\"', this);\n return;\n }\n\n // Only checkbox types can receive the aria-checked attribute\n if (this.type === 'checkbox') {\n this.setAttribute('aria-checked', this.checked ? 'true' : 'false');\n } else {\n this.removeAttribute('aria-checked');\n }\n }\n\n @watch('disabled')\n handleDisabledChange() {\n this.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');\n }\n\n @watch('type')\n handleTypeChange() {\n if (this.type === 'checkbox') {\n this.setAttribute('role', 'menuitemcheckbox');\n this.setAttribute('aria-checked', this.checked ? 'true' : 'false');\n } else {\n this.setAttribute('role', 'menuitem');\n this.removeAttribute('aria-checked');\n }\n }\n\n /** Returns a text label based on the contents of the menu item's default slot. */\n getTextLabel() {\n return getTextContent(this.defaultSlot);\n }\n\n isSubmenu() {\n return this.hasSlotController.test('submenu');\n }\n\n render() {\n const isRtl = this.localize.dir() === 'rtl';\n const isSubmenuExpanded = this.submenuController.isExpanded();\n\n return html`\n <div\n id=\"anchor\"\n part=\"base\"\n class=${classMap({\n 'menu-item': true,\n 'menu-item--rtl': isRtl,\n 'menu-item--checked': this.checked,\n 'menu-item--disabled': this.disabled,\n 'menu-item--loading': this.loading,\n 'menu-item--has-submenu': this.isSubmenu(),\n 'menu-item--submenu-expanded': isSubmenuExpanded\n })}\n ?aria-haspopup=\"${this.isSubmenu()}\"\n ?aria-expanded=\"${isSubmenuExpanded ? true : false}\"\n >\n <span part=\"checked-icon\" class=\"menu-item__check\">\n <syn-icon name=\"check\" library=\"system\" aria-hidden=\"true\"></syn-icon>\n </span>\n\n <slot name=\"prefix\" part=\"prefix\" class=\"menu-item__prefix\"></slot>\n\n <slot part=\"label\" class=\"menu-item__label\" @slotchange=${this.handleDefaultSlotChange}></slot>\n\n <slot name=\"suffix\" part=\"suffix\" class=\"menu-item__suffix\"></slot>\n\n <span part=\"submenu-icon\" class=\"menu-item__chevron\">\n <syn-icon name=\"chevron-down\" library=\"system\" aria-hidden=\"true\"></syn-icon>\n </span>\n\n ${this.submenuController.renderSubmenu()}\n ${this.loading ? html` <syn-spinner part=\"spinner\" exportparts=\"base:spinner__base\"></syn-spinner> ` : ''}\n </div>\n `;\n }\n}\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { PropertyValues } from 'lit';\nimport type SynergyElement from './synergy-element.js';\n\ntype Constructor<T = object> = new (...args: any[]) => T;\n\ninterface DecoratorOptions {\n /**\n * If true, will only start watching after the initial updated call\n */\n waitUntilFirstUpdated?: boolean;\n}\n\n/**\n * Class decorator that automatically emits a `syn-attributes-changed` event\n * when at least one of the provided attributes have changed.\n * The event will contain an array of all changed properties, including their\n * - attribute name\n * - old value and\n * - new value.\n *\n * @example\n * ```ts\n * class OriginalClass extends SynergyElement {}\n * export const MyComponent = emitEventForPropertyUpdates(['attribute1', 'attribute2'])(BaseClass);\n *\n * // Create the component, providing initial values for the changed attribute list\n * const myComponent = document.createElement('my-component');\n * myComponent.attribute1 = 'initial value for attribute 1';\n * myComponent.attribute2 = 'initial value for attribute 2';\n *\n * // Create a container and listen for the event\n * const container = document.createElement('div');\n * container.addEventListener('syn-attributes-changed', (event: SynAttributesChangedEvent) => {\n * // We do not want to propagate the event further\n * event.stopImmidiatePropagation();\n *\n * console.log(event.detail);\n * });\n *\n * // Add the component to the container\n * container.appendChild(myComponent);\n *\n * // Change the attributes\n * myComponent.attribute1 = 'value for attribute 1';\n * myComponent.attribute2 = 'value for attribute 2';\n *\n * // Output:\n * // [\n * // {\n * // attribute: 'attribute1',\n * // oldValue: 'initial value for attribute 1',\n * // newValue: 'value for attribute 1'\n * // },\n * // {\n * // attribute: 'attribute2',\n * // oldValue: 'initial value for attribute 2',\n * // newValue: 'value for attribute 2'\n * // }\n * // ]\n * ```\n */\nexport function emitEventForPropertyUpdates(\n watchedProperties: string[],\n options?: DecoratorOptions,\n) {\n const resolvedOptions: Required<DecoratorOptions> = {\n waitUntilFirstUpdated: false,\n ...options,\n };\n\n return <T extends Constructor<SynergyElement>>(Proto: T): T => class extends Proto {\n // True if the event was emitted, false otherwise\n #synPrivateFirstChangeHasBeenEmitted = !resolvedOptions.waitUntilFirstUpdated;\n\n updated(changedProps: PropertyValues) {\n if (!this.#synPrivateFirstChangeHasBeenEmitted) {\n this.#synPrivateFirstChangeHasBeenEmitted = true;\n return;\n }\n\n // Get the list of all changed properties\n const monitoredChangedProperties = Array\n .from(changedProps)\n .filter(([key]) => watchedProperties.includes(key as string));\n\n // If there are no changed properties, return before sending anything\n if (monitoredChangedProperties.length === 0) {\n super.updated(changedProps);\n return;\n }\n\n // Send out the event with all changed properties\n const detail = monitoredChangedProperties.map(([key, value]) => ({\n attribute: key,\n newValue: this[key as keyof this],\n oldValue: value,\n }));\n\n this.emit('syn-attributes-changed', {\n detail,\n });\n super.updated(changedProps);\n }\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,gBAAgB;AAEzB,SAAS,YAAY;AAErB,SAAS,UAAU,aAAa;;;ACyDzB,SAAS,4BACd,mBACA,SACA;AACA,QAAM,kBAA8C;AAAA,IAClD,uBAAuB;AAAA,KACpB;AAGL,SAAO,CAAwC,UAAa;AAvE9D;AAuEiE,8BAAc,MAAM;AAAA,MAApB;AAAA;AAE7D;AAAA,iEAAuC,CAAC,gBAAgB;AAAA;AAAA,MAExD,QAAQ,cAA8B;AACpC,YAAI,CAAC,mBAAK,uCAAsC;AAC9C,6BAAK,sCAAuC;AAC5C;AAAA,QACF;AAGA,cAAM,6BAA6B,MAChC,KAAK,YAAY,EACjB,OAAO,CAAC,CAAC,GAAG,MAAM,kBAAkB,SAAS,GAAa,CAAC;AAG9D,YAAI,2BAA2B,WAAW,GAAG;AAC3C,gBAAM,QAAQ,YAAY;AAC1B;AAAA,QACF;AAGA,cAAM,SAAS,2BAA2B,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO;AAAA,UAC/D,WAAW;AAAA,UACX,UAAU,KAAK,GAAiB;AAAA,UAChC,UAAU;AAAA,QACZ,EAAE;AAEF,aAAK,KAAK,0BAA0B;AAAA,UAClC;AAAA,QACF,CAAC;AACD,cAAM,QAAQ,YAAY;AAAA,MAC5B;AAAA,IACF,GA/BE,sDAF6D;AAAA;AAkCjE;;;AD1DA,IAAqB,cAArB,cAAyC,eAAe;AAAA,EAAxD;AAAA;AASE,SAAiB,WAAW,IAAI,mBAAmB,IAAI;AAM3C,gBAA8B;AAGE,mBAAU;AAG1C,iBAAQ;AAGwB,mBAAU;AAGV,oBAAW;AAEvD,SAAiB,oBAAoB,IAAI,kBAAkB,MAAM,SAAS;AAC1E,SAAQ,oBAAuC,IAAI,kBAAkB,MAAM,KAAK,iBAAiB;AA8BjG,SAAQ,kBAAkB,CAAC,UAAsB;AAE/C,UAAI,KAAK,UAAU;AACjB,cAAM,eAAe;AACrB,cAAM,yBAAyB;AAAA,MACjC;AAAA,IACF;AAEA,SAAQ,kBAAkB,CAAC,UAAsB;AAC/C,WAAK,MAAM;AACX,YAAM,gBAAgB;AAAA,IACxB;AAAA;AAAA,EAvCA,oBAAoB;AAClB,UAAM,kBAAkB;AACxB,SAAK,iBAAiB,SAAS,KAAK,eAAe;AACnD,SAAK,iBAAiB,aAAa,KAAK,eAAe;AAAA,EACzD;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAqB;AAC3B,SAAK,oBAAoB,SAAS,KAAK,eAAe;AACtD,SAAK,oBAAoB,aAAa,KAAK,eAAe;AAAA,EAC5D;AAAA,EAEQ,0BAA0B;AAChC,UAAM,YAAY,KAAK,aAAa;AAGpC,QAAI,OAAO,KAAK,oBAAoB,aAAa;AAC/C,WAAK,kBAAkB;AACvB;AAAA,IACF;AAGA,QAAI,cAAc,KAAK,iBAAiB;AACtC,WAAK,kBAAkB;AACvB,WAAK,KAAK,cAAc,EAAE,SAAS,MAAM,UAAU,OAAO,YAAY,MAAM,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAgBA,sBAAsB;AAEpB,QAAI,KAAK,WAAW,KAAK,SAAS,YAAY;AAC5C,WAAK,UAAU;AACf,cAAQ,MAAM,6EAA6E,IAAI;AAC/F;AAAA,IACF;AAGA,QAAI,KAAK,SAAS,YAAY;AAC5B,WAAK,aAAa,gBAAgB,KAAK,UAAU,SAAS,OAAO;AAAA,IACnE,OAAO;AACL,WAAK,gBAAgB,cAAc;AAAA,IACrC;AAAA,EACF;AAAA,EAGA,uBAAuB;AACrB,SAAK,aAAa,iBAAiB,KAAK,WAAW,SAAS,OAAO;AAAA,EACrE;AAAA,EAGA,mBAAmB;AACjB,QAAI,KAAK,SAAS,YAAY;AAC5B,WAAK,aAAa,QAAQ,kBAAkB;AAC5C,WAAK,aAAa,gBAAgB,KAAK,UAAU,SAAS,OAAO;AAAA,IACnE,OAAO;AACL,WAAK,aAAa,QAAQ,UAAU;AACpC,WAAK,gBAAgB,cAAc;AAAA,IACrC;AAAA,EACF;AAAA;AAAA,EAGA,eAAe;AACb,WAAO,eAAe,KAAK,WAAW;AAAA,EACxC;AAAA,EAEA,YAAY;AACV,WAAO,KAAK,kBAAkB,KAAK,SAAS;AAAA,EAC9C;AAAA,EAEA,SAAS;AACP,UAAM,QAAQ,KAAK,SAAS,IAAI,MAAM;AACtC,UAAM,oBAAoB,KAAK,kBAAkB,WAAW;AAE5D,WAAO;AAAA;AAAA;AAAA;AAAA,gBAIK,SAAS;AAAA,MACf,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,sBAAsB,KAAK;AAAA,MAC3B,uBAAuB,KAAK;AAAA,MAC5B,sBAAsB,KAAK;AAAA,MAC3B,0BAA0B,KAAK,UAAU;AAAA,MACzC,+BAA+B;AAAA,IACjC,CAAC,CAAC;AAAA,0BACgB,KAAK,UAAU,CAAC;AAAA,0BAChB,oBAAoB,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kEAQQ,KAAK,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAQpF,KAAK,kBAAkB,cAAc,CAAC;AAAA,UACtC,KAAK,UAAU,sFAAsF,EAAE;AAAA;AAAA;AAAA,EAG/G;AACF;AA1JqB,YACZ,SAAyB,CAAC,0BAAiB,0BAAQ,+BAAY;AADnD,YAEZ,eAAe;AAAA,EACpB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,eAAe;AACjB;AAK2B;AAAA,EAA1B,MAAM,kBAAkB;AAAA,GAXN,YAWQ;AACN;AAAA,EAApB,MAAM,YAAY;AAAA,GAZA,YAYE;AAGT;AAAA,EAAX,SAAS;AAAA,GAfS,YAeP;AAGgC;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GAlBvB,YAkByB;AAGhC;AAAA,EAAX,SAAS;AAAA,GArBS,YAqBP;AAGgC;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GAxBvB,YAwByB;AAGA;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GA3BvB,YA2ByB;AA+C5C;AAAA,EADC,MAAM,SAAS;AAAA,GAzEG,YA0EnB;AAiBA;AAAA,EADC,MAAM,UAAU;AAAA,GA1FE,YA2FnB;AAKA;AAAA,EADC,MAAM,MAAM;AAAA,GA/FM,YAgGnB;AAhGmB,cAArB;AAAA,EAHC,4BAA4B,CAAC,QAAQ,SAAS,GAAG;AAAA,IAChD,uBAAuB;AAAA,EACzB,CAAC;AAAA,GACoB;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  formCollections
3
- } from "./chunk.U5757NSE.js";
3
+ } from "./chunk.J3GDDM6Q.js";
4
4
 
5
5
  // src/utilities/form.ts
6
6
  function serialize(form) {
@@ -37,4 +37,4 @@ export {
37
37
  serialize,
38
38
  getFormControls
39
39
  };
40
- //# sourceMappingURL=chunk.UT3DWYFM.js.map
40
+ //# sourceMappingURL=chunk.H6EHQYZA.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utilities/form.ts"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport { formCollections } from '../internal/form.js';\n\n/**\n * Serializes a form and returns a plain object. If a form control with the same name appears more than once, the\n * property will be converted to an array.\n */\nexport function serialize(form: HTMLFormElement) {\n const formData = new FormData(form);\n const object: Record<string, unknown> = {};\n\n formData.forEach((value, key) => {\n if (Reflect.has(object, key)) {\n const entry = object[key];\n if (Array.isArray(entry)) {\n entry.push(value);\n } else {\n object[key] = [object[key], value];\n }\n } else {\n object[key] = value;\n }\n });\n\n return object;\n}\n\n/**\n * Returns all form controls that are associated with the specified form. Includes both native and Synergy form\n * controls. Use this function in lieu of the `HTMLFormElement.elements` property, which doesn't recognize Synergy\n * form controls.\n */\nexport function getFormControls(form: HTMLFormElement) {\n const rootNode = form.getRootNode() as Document | ShadowRoot;\n const allNodes = [...rootNode.querySelectorAll('*')];\n const formControls = [...form.elements];\n const collection = formCollections.get(form);\n const synergyFormControls = collection ? Array.from(collection) : [];\n\n // To return form controls in the right order, we sort by DOM index\n return [...formControls, ...synergyFormControls].sort((a: Element, b: Element) => {\n if (allNodes.indexOf(a) < allNodes.indexOf(b)) return -1;\n if (allNodes.indexOf(a) > allNodes.indexOf(b)) return 1;\n return 0;\n });\n}\n"],
5
+ "mappings": ";;;;;AAOO,SAAS,UAAU,MAAuB;AAC/C,QAAM,WAAW,IAAI,SAAS,IAAI;AAClC,QAAM,SAAkC,CAAC;AAEzC,WAAS,QAAQ,CAAC,OAAO,QAAQ;AAC/B,QAAI,QAAQ,IAAI,QAAQ,GAAG,GAAG;AAC5B,YAAM,QAAQ,OAAO,GAAG;AACxB,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,cAAM,KAAK,KAAK;AAAA,MAClB,OAAO;AACL,eAAO,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,KAAK;AAAA,MACnC;AAAA,IACF,OAAO;AACL,aAAO,GAAG,IAAI;AAAA,IAChB;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAOO,SAAS,gBAAgB,MAAuB;AACrD,QAAM,WAAW,KAAK,YAAY;AAClC,QAAM,WAAW,CAAC,GAAG,SAAS,iBAAiB,GAAG,CAAC;AACnD,QAAM,eAAe,CAAC,GAAG,KAAK,QAAQ;AACtC,QAAM,aAAa,gBAAgB,IAAI,IAAI;AAC3C,QAAM,sBAAsB,aAAa,MAAM,KAAK,UAAU,IAAI,CAAC;AAGnE,SAAO,CAAC,GAAG,cAAc,GAAG,mBAAmB,EAAE,KAAK,CAAC,GAAY,MAAe;AAChF,QAAI,SAAS,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,EAAG,QAAO;AACtD,QAAI,SAAS,QAAQ,CAAC,IAAI,SAAS,QAAQ,CAAC,EAAG,QAAO;AACtD,WAAO;AAAA,EACT,CAAC;AACH;",
6
+ "names": []
7
+ }