@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 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/select/select.component.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { animateTo, stopAnimations } from '../../internal/animate.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { FormControlController } from '../../internal/form.js';\nimport { getAnimation, setDefaultAnimation } from '../../utilities/animation-registry.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport { scrollIntoView } from '../../internal/scroll.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { waitForEvent } from '../../internal/event.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 SynIcon from '../icon/icon.component.js';\nimport SynPopup from '../popup/popup.component.js';\nimport SynTag from '../tag/tag.component.js';\nimport styles from './select.styles.js';\nimport customStyles from './select.custom.styles.js';\nimport type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';\nimport type { SynergyFormControl } from '../../internal/synergy-element.js';\nimport type { SynRemoveEvent } from '../../events/syn-remove.js';\nimport type SynOption from '../option/option.component.js';\nimport { compareValues, isAllowedValue } from './utility.js';\nimport { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';\n\n/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-select--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-popup\n * @dependency syn-tag\n *\n * @slot - The listbox options. Must be `<syn-option>` elements. You can use `<syn-divider>` to group items visually.\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot suffix - Used to append a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-change - Emitted when the control's value changes.\n * @event syn-clear - Emitted when the control's value is cleared.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-show - Emitted when the select's menu opens.\n * @event syn-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event syn-hide - Emitted when the select's menu closes.\n * @event syn-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, suffix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart suffix - The container that wraps the suffix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n * @csspart popup - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n */\n@enableDefaultSettings('SynSelect')\nexport default class SynSelect extends SynergyElement implements SynergyFormControl {\n static styles: CSSResultGroup = [componentStyles, formControlStyles, styles, formControlCustomStyles, customStyles];\n static dependencies = {\n 'syn-icon': SynIcon,\n 'syn-popup': SynPopup,\n 'syn-tag': SynTag\n };\n\n private readonly formControlController = new FormControlController(this, {\n assumeInteractionOn: ['syn-blur', 'syn-input']\n });\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');\n private readonly localize = new LocalizeController(this);\n private typeToSelectString = '';\n private typeToSelectTimeout: number;\n private closeWatcher: CloseWatcher | null;\n private resizeObserver: ResizeObserver;\n private isUserInput: boolean = false;\n\n @query('.select') popup: SynPopup;\n @query('.select__combobox') combobox: HTMLSlotElement;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.select__listbox') listbox: HTMLSlotElement;\n @query('.select__tags') tagContainer: HTMLDivElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() currentOption: SynOption;\n @state() selectedOptions: SynOption[] = [];\n @state() private valueHasChanged: boolean = false;\n\n /**\n * The delimiter to use when setting the value when `multiple` is enabled.\n * The default is a space, but you can set it to a comma or other character.\n * @example <syn-select delimiter=\"|\" value=\"option-1|option-2\"></syn-select>\n */\n @property() delimiter = ' ';\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n private _value: string | number | Array<string | number> = '';\n\n get value() {\n return this._value;\n }\n\n /**\n * The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\n * value attribute will be a space-delimited list of values based on the options selected, and the value property will\n * be an array. **For this reason, values must not contain spaces.**\n */\n @state()\n set value(val: string | number | Array<string | number>) {\n if (this.multiple) {\n if (!Array.isArray(val)) {\n val = typeof val === 'string' ? val.split(this.delimiter) : [val].filter(isAllowedValue);\n }\n } else {\n val = Array.isArray(val) ? val.join(this.delimiter) : val;\n }\n\n if (compareValues(this._value, val)) {\n return;\n }\n\n this.valueHasChanged = true;\n this._value = val;\n }\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @property({ attribute: 'value' }) defaultValue: string | number | Array<string | number> = '';\n\n /** The select's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Placeholder text to show as a hint when the select is empty. */\n @property() placeholder = '';\n\n /** Allows more than one option to be selected. */\n @property({ type: Boolean, reflect: true }) multiple = false;\n\n /**\n * The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\n * indicate the number of additional items that are selected. Set to 0 to remove the limit.\n */\n @property({ attribute: 'max-options-visible', type: Number }) maxOptionsVisible = 3;\n\n /** Disables the select control. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Adds a clear button when the select is not empty. */\n @property({ type: Boolean }) clearable = false;\n\n /**\n * Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** The select's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /**\n * The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\n * inside of the viewport.\n */\n @property({ reflect: true }) placement: 'top' | 'bottom' = 'bottom';\n\n /** The select's help text. If you need to display HTML, use the `help-text` slot instead. */\n @property({ attribute: 'help-text' }) helpText = '';\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 /** The select's required attribute. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /**\n * A function that customizes the tags to be rendered when multiple=true. The first argument is the option, the second\n * is the current tag's index. The function should return either a Lit TemplateResult or a string containing trusted HTML of the symbol to render at\n * the specified value.\n */\n @property() getTag: (option: SynOption, index: number) => TemplateResult | string | HTMLElement = option => {\n return html`\n <syn-tag\n part=\"tag\"\n exportparts=\"\n base:tag__base,\n content:tag__content,\n remove-button:tag__remove-button,\n remove-button__base:tag__remove-button__base\n \"\n size=${this.size}\n removable\n @syn-remove=${(event: SynRemoveEvent) => this.handleTagRemove(event, option)}\n >\n ${option.getTextLabel()}\n </syn-tag>\n `;\n };\n\n /** Gets the validity state object */\n get validity() {\n return this.valueInput.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.valueInput.validationMessage;\n }\n\n \n private enableResizeObserver() {\n if (this.multiple) {\n this.resizeObserver = new ResizeObserver(entries => {\n const entry = entries.at(0)!;\n this.tagContainer.style.setProperty('--syn-select-tag-max-width', `${entry.contentRect.width}px`);\n });\n this.resizeObserver.observe(this.tagContainer);\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n setTimeout(() => {\n this.handleDefaultSlotChange();\n });\n\n // Because this is a form control, it shouldn't be opened initially\n this.open = false;\n }\n\n \n disconnectedCallback() {\n super.disconnectedCallback();\n this.resizeObserver?.disconnect();\n }\n\n private addOpenListeners() {\n //\n // Listen on the root node instead of the document in case the elements are inside a shadow root\n //\n // https://github.com/shoelace-style/shoelace/issues/1763\n //\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n\n // If the component is rendered in a shadow root, we need to attach the focusin listener there too\n if (this.getRootNode() !== document) {\n this.getRootNode().addEventListener('focusin', this.handleDocumentFocusIn);\n }\n\n if ('CloseWatcher' in window) {\n this.closeWatcher?.destroy();\n this.closeWatcher = new CloseWatcher();\n this.closeWatcher.onclose = () => {\n if (this.open) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n };\n }\n }\n\n private removeOpenListeners() {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n\n if (this.getRootNode() !== document) {\n this.getRootNode().removeEventListener('focusin', this.handleDocumentFocusIn);\n }\n\n this.closeWatcher?.destroy();\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.displayInput.setSelectionRange(0, 0);\n this.emit('syn-focus');\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('syn-blur');\n }\n\n private handleDocumentFocusIn = (event: KeyboardEvent) => {\n // Close when focusing out of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\n }\n };\n\n private handleDocumentKeyDown = (event: KeyboardEvent) => {\n const target = event.target as HTMLElement;\n const isClearButton = target.closest('.select__clear') !== null;\n const isIconButton = target.closest('syn-icon-button') !== null;\n\n // Ignore presses when the target is an icon button (e.g. the remove button in <syn-tag>)\n if (isClearButton || isIconButton) {\n return;\n }\n\n // Close when pressing escape\n if (event.key === 'Escape' && this.open && !this.closeWatcher) {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n // Handle enter and space. When pressing space, we allow for type to select behaviors so if there's anything in the\n // buffer we _don't_ close it.\n if (event.key === 'Enter' || (event.key === ' ' && this.typeToSelectString === '')) {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n // If it's not open, open it\n if (!this.open) {\n this.show();\n return;\n }\n\n // If it is open, update the value based on the current selection and close it\n if (this.currentOption && !this.currentOption.disabled) {\n this.valueHasChanged = true;\n this.isUserInput = true;\n if (this.multiple) {\n this.toggleOptionSelection(this.currentOption);\n } else {\n this.setSelectedOptions(this.currentOption);\n }\n\n // Emit after updating\n this.updateComplete.then(() => {\n this.emit('syn-input');\n this.emit('syn-change');\n });\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n return;\n }\n\n // Navigate options\n if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const allOptions = this.getAllOptions();\n const currentIndex = allOptions.indexOf(this.currentOption);\n let newIndex = Math.max(0, currentIndex);\n\n // Prevent scrolling\n event.preventDefault();\n\n // Open it\n if (!this.open) {\n this.show();\n\n // If an option is already selected, stop here because we want that one to remain highlighted when the listbox\n // opens for the first time\n if (this.currentOption) {\n return;\n }\n }\n\n if (event.key === 'ArrowDown') {\n newIndex = currentIndex + 1;\n if (newIndex > allOptions.length - 1) newIndex = 0;\n } else if (event.key === 'ArrowUp') {\n newIndex = currentIndex - 1;\n if (newIndex < 0) newIndex = allOptions.length - 1;\n } else if (event.key === 'Home') {\n newIndex = 0;\n } else if (event.key === 'End') {\n newIndex = allOptions.length - 1;\n }\n\n this.setCurrentOption(allOptions[newIndex]);\n }\n\n // All other \"printable\" keys trigger type to select\n if ((event.key && event.key.length === 1) || event.key === 'Backspace') {\n const allOptions = this.getAllOptions();\n\n // Don't block important key combos like CMD+R\n if (event.metaKey || event.ctrlKey || event.altKey) {\n return;\n }\n\n // Open, unless the key that triggered is backspace\n if (!this.open) {\n if (event.key === 'Backspace') {\n return;\n }\n\n this.show();\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n clearTimeout(this.typeToSelectTimeout);\n this.typeToSelectTimeout = window.setTimeout(() => (this.typeToSelectString = ''), 1000);\n\n if (event.key === 'Backspace') {\n this.typeToSelectString = this.typeToSelectString.slice(0, -1);\n } else {\n this.typeToSelectString += event.key.toLowerCase();\n }\n\n for (const option of allOptions) {\n const label = option.getTextLabel().toLowerCase();\n\n if (label.startsWith(this.typeToSelectString)) {\n this.setCurrentOption(option);\n break;\n }\n }\n }\n };\n\n private handleDocumentMouseDown = (event: MouseEvent) => {\n // Close when clicking outside of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\n }\n };\n\n private handleLabelClick() {\n this.displayInput.focus();\n }\n\n private handleComboboxMouseDown(event: MouseEvent) {\n const path = event.composedPath();\n const isIconButton = path.some(el => el instanceof Element && el.tagName.toLowerCase() === 'syn-icon-button');\n\n // Ignore disabled controls and clicks on tags (remove buttons)\n if (this.disabled || isIconButton) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n return;\n }\n\n event.stopPropagation();\n this.handleDocumentKeyDown(event);\n }\n\n private handleClearClick(event: MouseEvent) {\n event.stopPropagation();\n\n this.valueHasChanged = true;\n\n if (this.value !== '') {\n this.setSelectedOptions([]);\n this.displayInput.focus({ preventScroll: true });\n\n // Emit after update\n this.updateComplete.then(() => {\n this.emit('syn-clear');\n this.emit('syn-input');\n this.emit('syn-change');\n });\n }\n }\n\n private handleClearMouseDown(event: MouseEvent) {\n // Don't lose focus or propagate events when clicking the clear button\n event.stopPropagation();\n event.preventDefault();\n }\n\n private handleOptionClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const option = target.closest('syn-option');\n const oldValue = this.value;\n\n if (option && !option.disabled) {\n this.valueHasChanged = true;\n this.isUserInput = true;\n if (this.multiple) {\n this.toggleOptionSelection(option);\n } else {\n this.setSelectedOptions(option);\n }\n\n // Set focus after updating so the value is announced by screen readers\n this.updateComplete.then(() => this.displayInput.focus({ preventScroll: true }));\n\n if (this.value !== oldValue) {\n // Emit after updating\n this.updateComplete.then(() => {\n this.emit('syn-input');\n this.emit('syn-change');\n });\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n }\n\n /* @internal - used by options to update labels */\n public handleDefaultSlotChange() {\n if (!customElements.get('syn-option')) {\n customElements.whenDefined('syn-option').then(() => this.handleDefaultSlotChange());\n }\n\n const allOptions = this.getAllOptions();\n const val = this.valueHasChanged ? this.value : this.defaultValue;\n\n this.handleDelimiterChange();\n const value = Array.isArray(val) ? val : typeof val === 'string' ? val.split(this.delimiter) : [val].filter(isAllowedValue);\n const values: Array<string | number> = [];\n\n // Check for duplicate values in menu items\n allOptions.forEach(option => values.push(option.value));\n\n // Select only the options that match the new value\n const valueString = value.map(String);\n const allSelectedOptions = allOptions.filter(\n el => valueString.includes(String(el.value)),\n );\n this.setSelectedOptions(allSelectedOptions);\n \n }\n\n private handleTagRemove(event: SynRemoveEvent, option: SynOption) {\n event.stopPropagation();\n\n this.valueHasChanged = true;\n\n if (!this.disabled) {\n this.toggleOptionSelection(option, false);\n\n // Emit after updating\n this.updateComplete.then(() => {\n this.emit('syn-input');\n this.emit('syn-change');\n });\n }\n }\n\n // Gets an array of all <syn-option> elements\n private getAllOptions() {\n return [...this.querySelectorAll<SynOption>('syn-option')];\n }\n\n // Gets the first <syn-option> element\n private getFirstOption() {\n return this.querySelector<SynOption>('syn-option');\n }\n\n // Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one\n // option may be \"current\" at a time.\n private setCurrentOption(option: SynOption | null) {\n const allOptions = this.getAllOptions();\n\n // Clear selection\n allOptions.forEach(el => {\n el.current = false;\n el.tabIndex = -1;\n });\n\n // Select the target option\n if (option) {\n this.currentOption = option;\n option.current = true;\n option.tabIndex = 0;\n option.focus();\n }\n }\n\n // Sets the selected option(s)\n private setSelectedOptions(option: SynOption | SynOption[]) {\n const allOptions = this.getAllOptions();\n const newSelectedOptions = Array.isArray(option) ? option : [option];\n\n // Clear existing selection\n allOptions.forEach(el => (el.selected = false));\n\n // Set the new selection\n if (newSelectedOptions.length) {\n newSelectedOptions.forEach(el => (el.selected = true));\n }\n\n // Update selection, value, and display label\n this.selectionChanged();\n }\n\n // Toggles an option's selected state\n private toggleOptionSelection(option: SynOption, force?: boolean) {\n if (force === true || force === false) {\n option.selected = force;\n } else {\n option.selected = !option.selected;\n }\n\n this.selectionChanged();\n }\n\n // This method must be called whenever the selection changes. It will update the selected options cache, the current\n // value, and the display value\n private selectionChanged() {\n const options = this.getAllOptions();\n // Update selected options cache\n this.selectedOptions = options.filter(el => el.selected);\n\n // Keep a reference to the previous `valueHasChanged`. Changes made here don't count has changing the value.\n const cachedValueHasChanged = this.valueHasChanged;\n\n // Update the value and display label\n if (this.multiple) {\n this.value = this.selectedOptions.map(el => el.value);\n\n if (this.placeholder && this.value.length === 0) {\n // When no items are selected, keep the value empty so the placeholder shows\n this.displayLabel = '';\n } else {\n this.displayLabel = this.localize.term('numOptionsSelected', this.selectedOptions.length);\n }\n } else {\n const selectedOption = this.selectedOptions[0];\n this.value = selectedOption?.value ?? '';\n this.displayLabel = selectedOption?.getTextLabel?.() ?? '';\n }\n this.valueHasChanged = cachedValueHasChanged;\n\n // Update validity\n this.updateComplete.then(() => {\n this.isUserInput = false;\n this.formControlController.updateValidity();\n });\n }\n\n protected get tags() {\n return this.selectedOptions.map((option, index) => {\n if (index < this.maxOptionsVisible || this.maxOptionsVisible <= 0) {\n const tag = this.getTag(option, index);\n // Wrap so we can handle the remove\n return html`<div @syn-remove=${(e: SynRemoveEvent) => this.handleTagRemove(e, option)}>\n ${typeof tag === 'string' ? unsafeHTML(tag) : tag}\n </div>`;\n } else if (index === this.maxOptionsVisible) {\n // Hit tag limit\n return html`<syn-tag size=${this.size}>+${this.selectedOptions.length - index}</syn-tag>`;\n }\n return html``;\n });\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n @watch('delimiter')\n handleDelimiterChange() {\n this.getAllOptions().forEach(option => {\n option.delimiter = this.delimiter;\n });\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Close the listbox when the control is disabled\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n \n protected updated(changedProperties: PropertyValues<this>) {\n super.updated(changedProperties);\n if (changedProperties.has('multiple')) {\n if (!this.multiple) {\n this.resizeObserver?.disconnect();\n } else {\n this.enableResizeObserver();\n }\n }\n }\n \n\nprotected override willUpdate(changedProperties: PropertyValues) {\n super.willUpdate(changedProperties);\n\n if(changedProperties.has('value') && !this.defaultValue && this.value && !this.isUserInput) {\n // Values set by property binding (e.g. Angular, especially with async bindings such as Observables/BehaviorSubjects)\n // have led to some malfunctions (e.g. form reset not working, dynamic reloading of options, etc.). To fix this,\n // the defaultValue must be set via property binding. However, this must NOT happen during user input,\n // as otherwise user interaction will lead to a new defaultValue.\n this.defaultValue = this.value\n this.valueHasChanged = false;\n }\n }\n\n attributeChangedCallback(name: string, oldVal: string | null, newVal: string | null) {\n super.attributeChangedCallback(name, oldVal, newVal);\n\n /** This is a backwards compatibility call. In a new major version we should make a clean separation between \"value\" the attribute mapping to \"defaultValue\" property and \"value\" the property not reflecting. */\n if (name === 'value') {\n const cachedValueHasChanged = this.valueHasChanged;\n this.value = this.defaultValue;\n\n // Set it back to false since this isn't an interaction.\n this.valueHasChanged = cachedValueHasChanged;\n }\n }\n\n @watch(['defaultValue', 'value', 'delimiter'], { waitUntilFirstUpdate: true })\n handleValueChange() {\n if (!this.valueHasChanged) {\n const cachedValueHasChanged = this.valueHasChanged;\n this.value = this.defaultValue;\n\n // Set it back to false since this isn't an interaction.\n this.valueHasChanged = cachedValueHasChanged;\n }\n\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n\n // Select only the options that match the new value\n const valueString = value.map(String);\n const allSelectedOptions = allOptions.filter(\n el => valueString.includes(String(el.value)),\n );\n this.setSelectedOptions(allSelectedOptions);\n \n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open && !this.disabled) {\n // Reset the current option\n this.setCurrentOption(this.selectedOptions[0] || this.getFirstOption());\n\n // Show\n this.emit('syn-show');\n this.addOpenListeners();\n\n await stopAnimations(this);\n this.listbox.hidden = false;\n this.popup.active = true;\n\n // Select the appropriate option based on value after the listbox opens\n requestAnimationFrame(() => {\n this.setCurrentOption(this.currentOption);\n });\n\n const { keyframes, options } = getAnimation(this, 'select.show', { dir: this.localize.dir() });\n await animateTo(this.popup.popup, keyframes, options);\n\n // Make sure the current option is scrolled into view (required for Safari)\n if (this.currentOption) {\n scrollIntoView(this.currentOption, this.listbox, 'vertical', 'auto');\n }\n\n this.emit('syn-after-show');\n } else {\n // Hide\n this.emit('syn-hide');\n this.removeOpenListeners();\n\n await stopAnimations(this);\n const { keyframes, options } = getAnimation(this, 'select.hide', { dir: this.localize.dir() });\n await animateTo(this.popup.popup, keyframes, options);\n this.listbox.hidden = true;\n this.popup.active = false;\n\n this.emit('syn-after-hide');\n }\n }\n\n /** Shows the listbox. */\n async show() {\n if (this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'syn-after-show');\n }\n\n /** Hides the listbox. */\n async hide() {\n if (!this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'syn-after-hide');\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.valueInput.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.valueInput.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.valueInput.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n /** Sets focus on the control. */\n focus(options?: FocusOptions) {\n this.displayInput.focus(options);\n }\n\n /** Removes focus from the control. */\n blur() {\n this.displayInput.blur();\n }\n\n render() {\n const hasValue = isAllowedValue(this.value);\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;\n const hasClearIcon = this.clearable && !this.disabled && hasValue;\n const isPlaceholderVisible = this.placeholder && this.value && !hasValue;\n\n return html`\n <div\n part=\"form-control\"\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-label': hasLabel,\n 'form-control--has-help-text': hasHelpText\n })}\n >\n <label\n id=\"label\"\n part=\"form-control-label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <syn-popup\n class=${classMap({\n select: true,\n 'select--standard': true,\n 'select--open': this.open,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--focused': this.hasFocus,\n 'select--placeholder-visible': isPlaceholderVisible,\n 'select--top': this.placement === 'top',\n 'select--bottom': this.placement === 'bottom',\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large'\n })}\n placement=${this.placement + '-start'}\n flip\n shift\n sync=\"width\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n exportparts=\"popup\"\n >\n <div\n part=\"combobox\"\n class=\"select__combobox\"\n slot=\"anchor\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n >\n <slot part=\"prefix\" name=\"prefix\" class=\"select__prefix\"></slot>\n\n <input\n part=\"display-input\"\n class=\"select__display-input\"\n type=\"text\"\n placeholder=${this.placeholder}\n .disabled=${this.disabled}\n .value=${this.displayLabel}\n autocomplete=\"off\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n readonly\n aria-controls=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n aria-labelledby=\"label\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-describedby=\"help-text\"\n role=\"combobox\"\n tabindex=\"0\"\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n\n ${this.multiple ? html`<div part=\"tags\" class=\"select__tags\">${this.tags}</div>` : ''}\n\n <input\n class=\"select__value-input\"\n type=\"text\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n .value=${Array.isArray(this.value) ? this.value.join(', ') : this.value?.toString()}\n tabindex=\"-1\"\n aria-hidden=\"true\"\n @focus=${() => this.focus()}\n @invalid=${this.handleInvalid}\n />\n\n ${hasClearIcon\n ? html`\n <button\n part=\"clear-button\"\n class=\"select__clear\"\n type=\"button\"\n aria-label=${this.localize.term('clearEntry')}\n @mousedown=${this.handleClearMouseDown}\n @click=${this.handleClearClick}\n tabindex=\"-1\"\n >\n <slot name=\"clear-icon\">\n <syn-icon name=\"x-circle-fill\" library=\"system\"></syn-icon>\n </slot>\n </button>\n `\n : ''}\n\n <slot name=\"suffix\" part=\"suffix\" class=\"select__suffix\"></slot>\n\n <slot name=\"expand-icon\" part=\"expand-icon\" class=\"select__expand-icon\">\n <syn-icon library=\"system\" name=\"chevron-down\"></syn-icon>\n </slot>\n </div>\n\n <div\n id=\"listbox\"\n role=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-multiselectable=${this.multiple ? 'true' : 'false'}\n aria-labelledby=\"label\"\n part=\"listbox\"\n class=\"select__listbox\"\n tabindex=\"-1\"\n @mouseup=${this.handleOptionClick}\n @slotchange=${this.handleDefaultSlotChange}\n >\n <slot></slot>\n </div>\n </syn-popup>\n </div>\n\n <div\n part=\"form-control-help-text\"\n id=\"help-text\"\n class=\"form-control__help-text\"\n aria-hidden=${hasHelpText ? 'false' : 'true'}\n >\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n </div>\n `;\n }\n}\n\nsetDefaultAnimation('select.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 }\n ],\n options: { duration: 100, easing: 'ease' }\n});\n\nsetDefaultAnimation('select.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 }\n ],\n options: { duration: 100, easing: 'ease' }\n});\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/popup/popup.styles.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n --arrow-color: var(--syn-color-neutral-1000);\n --arrow-size: 6px;\n\n /*\n * These properties are computed to account for the arrow's dimensions after being rotated 45\u00BA. The constant\n * 0.7071 is derived from sin(45), which is the diagonal size of the arrow's container after rotating.\n */\n --arrow-size-diagonal: calc(var(--arrow-size) * 0.7071);\n --arrow-padding-offset: calc(var(--arrow-size-diagonal) - var(--arrow-size));\n\n display: contents;\n }\n\n .popup {\n position: absolute;\n isolation: isolate;\n max-width: var(--auto-size-available-width, none);\n max-height: var(--auto-size-available-height, none);\n }\n\n .popup--fixed {\n position: fixed;\n }\n\n .popup:not(.popup--active) {\n display: none;\n }\n\n .popup__arrow {\n position: absolute;\n width: calc(var(--arrow-size-diagonal) * 2);\n height: calc(var(--arrow-size-diagonal) * 2);\n rotate: 45deg;\n background: var(--arrow-color);\n z-index: -1;\n }\n\n /* Hover bridge */\n .popup-hover-bridge:not(.popup-hover-bridge--visible) {\n display: none;\n }\n\n .popup-hover-bridge {\n position: fixed;\n z-index: calc(var(--syn-z-index-dropdown) - 1);\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n clip-path: polygon(\n var(--hover-bridge-top-left-x, 0) var(--hover-bridge-top-left-y, 0),\n var(--hover-bridge-top-right-x, 0) var(--hover-bridge-top-right-y, 0),\n var(--hover-bridge-bottom-right-x, 0) var(--hover-bridge-bottom-right-y, 0),\n var(--hover-bridge-bottom-left-x, 0) var(--hover-bridge-bottom-left-y, 0)\n );\n }\n`;\n"],
5
- "mappings": ";AAQA,SAAS,WAAW;AAEpB,IAAO,uBAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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,43 +0,0 @@
1
- import {
2
- option_size_styles_default
3
- } from "./chunk.AMDQJFFP.js";
4
-
5
- // src/components/combobox/combobox.custom.styles.ts
6
- import { css } from "lit";
7
- var combobox_custom_styles_default = css`
8
- .combobox:not(.combobox--disabled) .combobox__display-input {
9
- cursor: text;
10
- }
11
-
12
- .listbox__options ::slotted(syn-option[hidden]),
13
- .listbox__options ::slotted(syn-optgroup[hidden]) {
14
- display: none;
15
- }
16
-
17
- .listbox__no-results {
18
- align-items: center;
19
- color: var(--syn-color-neutral-950);
20
- display: flex;
21
- font: var(--syn-body-medium-regular);
22
- padding: var(--syn-spacing-small) var(--syn-spacing-medium) var(--syn-spacing-small) 52px;
23
- }
24
-
25
- .combobox--small .listbox__no-results {
26
- font-size: var(--syn-input-font-size-small);
27
- min-height: var(--syn-input-height-small);
28
- padding: 0 var(--syn-spacing-small) 0 40px;
29
- }
30
-
31
- .combobox--large .listbox__no-results {
32
- font-size: var(--syn-input-font-size-large);
33
- min-height: var(--syn-input-height-large);
34
- padding: 0 var(--syn-spacing-large) 0 68px;
35
- }
36
-
37
- ${option_size_styles_default}
38
- `;
39
-
40
- export {
41
- combobox_custom_styles_default
42
- };
43
- //# sourceMappingURL=chunk.BIJTSOZF.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/combobox/combobox.custom.styles.ts"],
4
- "sourcesContent": ["import { css } from 'lit';\nimport sharedOptionSize from '../option/option-size.styles.js';\n\nexport default css`\n .combobox:not(.combobox--disabled) .combobox__display-input {\n cursor: text;\n }\n\n .listbox__options ::slotted(syn-option[hidden]), \n .listbox__options ::slotted(syn-optgroup[hidden]) {\n display: none;\n }\n\n .listbox__no-results {\n align-items: center;\n color: var(--syn-color-neutral-950);\n display: flex;\n font: var(--syn-body-medium-regular);\n padding: var(--syn-spacing-small) var(--syn-spacing-medium) var(--syn-spacing-small) 52px;\n }\n\n .combobox--small .listbox__no-results {\n font-size: var(--syn-input-font-size-small);\n min-height: var(--syn-input-height-small);\n padding: 0 var(--syn-spacing-small) 0 40px;\n }\n\n .combobox--large .listbox__no-results {\n font-size: var(--syn-input-font-size-large);\n min-height: var(--syn-input-height-large);\n padding: 0 var(--syn-spacing-large) 0 68px;\n }\n\n ${sharedOptionSize}\n`;\n"],
5
- "mappings": ";;;;;AAAA,SAAS,WAAW;AAGpB,IAAO,iCAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA8BX,0BAAgB;AAAA;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/resize-observer/resize-observer.component.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { watch } from '../../internal/watch.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './resize-observer.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary The Resize Observer component offers a thin, declarative interface to the [`ResizeObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-resize-observer--docs\n * @status stable\n * @since 2.0\n *\n * @slot - One or more elements to watch for resizing.\n *\n * @event {{ entries: ResizeObserverEntry[] }} syn-resize - Emitted when the element is resized.\n */\nexport default class SynResizeObserver extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles];\n\n private resizeObserver: ResizeObserver;\n private observedElements: HTMLElement[] = [];\n\n /** Disables the observer. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n this.emit('syn-resize', { detail: { entries } });\n });\n\n if (!this.disabled) {\n this.startObserver();\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.stopObserver();\n }\n\n private handleSlotChange() {\n if (!this.disabled) {\n this.startObserver();\n }\n }\n\n private startObserver() {\n const slot = this.shadowRoot!.querySelector('slot');\n\n if (slot !== null) {\n const elements = slot.assignedElements({ flatten: true }) as HTMLElement[];\n\n // Unwatch previous elements\n this.observedElements.forEach(el => this.resizeObserver.unobserve(el));\n this.observedElements = [];\n\n // Watch new elements\n elements.forEach(el => {\n this.resizeObserver.observe(el);\n this.observedElements.push(el);\n });\n }\n }\n\n private stopObserver() {\n this.resizeObserver.disconnect();\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n if (this.disabled) {\n this.stopObserver();\n } else {\n this.startObserver();\n }\n }\n\n render() {\n return html` <slot @slotchange=${this.handleSlotChange}></slot> `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-resize-observer': SynResizeObserver;\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAQA,SAAS,YAAY;AACrB,SAAS,gBAAgB;AAiBzB,IAAqB,oBAArB,cAA+C,eAAe;AAAA,EAA9D;AAAA;AAIE,SAAQ,mBAAkC,CAAC;AAGC,oBAAW;AAAA;AAAA,EAEvD,oBAAoB;AAClB,UAAM,kBAAkB;AACxB,SAAK,iBAAiB,IAAI,eAAe,CAAC,YAAmC;AAC3E,WAAK,KAAK,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAAA,IACjD,CAAC;AAED,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,cAAc;AAAA,IACrB;AAAA,EACF;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAqB;AAC3B,SAAK,aAAa;AAAA,EACpB;AAAA,EAEQ,mBAAmB;AACzB,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,cAAc;AAAA,IACrB;AAAA,EACF;AAAA,EAEQ,gBAAgB;AACtB,UAAM,OAAO,KAAK,WAAY,cAAc,MAAM;AAElD,QAAI,SAAS,MAAM;AACjB,YAAM,WAAW,KAAK,iBAAiB,EAAE,SAAS,KAAK,CAAC;AAGxD,WAAK,iBAAiB,QAAQ,QAAM,KAAK,eAAe,UAAU,EAAE,CAAC;AACrE,WAAK,mBAAmB,CAAC;AAGzB,eAAS,QAAQ,QAAM;AACrB,aAAK,eAAe,QAAQ,EAAE;AAC9B,aAAK,iBAAiB,KAAK,EAAE;AAAA,MAC/B,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEQ,eAAe;AACrB,SAAK,eAAe,WAAW;AAAA,EACjC;AAAA,EAGA,uBAAuB;AACrB,QAAI,KAAK,UAAU;AACjB,WAAK,aAAa;AAAA,IACpB,OAAO;AACL,WAAK,cAAc;AAAA,IACrB;AAAA,EACF;AAAA,EAEA,SAAS;AACP,WAAO,0BAA0B,KAAK,gBAAgB;AAAA,EACxD;AACF;AAjEqB,kBACZ,SAAyB,CAAC,0BAAiB,8BAAM;AAMZ;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,KAAK,CAAC;AAAA,GAPvB,kBAOyB;AA+C5C;AAAA,EADC,MAAM,YAAY,EAAE,sBAAsB,KAAK,CAAC;AAAA,GArD9B,kBAsDnB;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/tooltip/tooltip.component.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { animateTo, parseDuration, stopAnimations } from '../../internal/animate.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { getAnimation, setDefaultAnimation } from '../../utilities/animation-registry.js';\nimport { html } from 'lit';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property, query } from 'lit/decorators.js';\nimport { waitForEvent } from '../../internal/event.js';\nimport { watch } from '../../internal/watch.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport SynPopup from '../popup/popup.component.js';\nimport styles from './tooltip.styles.js';\nimport customStyles from './tooltip.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Tooltips display additional information based on a specific action.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-tooltip--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-popup\n *\n * @slot - The tooltip's target element. Avoid slotting in more than one element, as subsequent ones will be ignored.\n * @slot content - The content to render in the tooltip. Alternatively, you can use the `content` attribute.\n *\n * @event syn-show - Emitted when the tooltip begins to show.\n * @event syn-after-show - Emitted after the tooltip has shown and all animations are complete.\n * @event syn-hide - Emitted when the tooltip begins to hide.\n * @event syn-after-hide - Emitted after the tooltip has hidden and all animations are complete.\n *\n * @csspart base - The component's base wrapper, an `<syn-popup>` element.\n * @csspart base__popup - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n * @csspart base__arrow - The popup's exported `arrow` part. Use this to target the tooltip's arrow.\n * @csspart body - The tooltip's body where its content is rendered.\n *\n * @cssproperty --max-width - The maximum width of the tooltip before its content will wrap.\n * @cssproperty --hide-delay - The amount of time to wait before hiding the tooltip when hovering.\n * @cssproperty --show-delay - The amount of time to wait before showing the tooltip when hovering.\n *\n * @animation tooltip.show - The animation to use when showing the tooltip.\n * @animation tooltip.hide - The animation to use when hiding the tooltip.\n */\nexport default class SynTooltip extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n static dependencies = { 'syn-popup': SynPopup };\n\n private hoverTimeout: number;\n private readonly localize = new LocalizeController(this);\n private closeWatcher: CloseWatcher | null;\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n @query('.tooltip__body') body: HTMLElement;\n @query('syn-popup') popup: SynPopup;\n\n /** The tooltip's content. If you need to display HTML, use the `content` slot instead. */\n @property() content = '';\n\n /**\n * The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\n * inside of the viewport.\n */\n @property() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /** Disables the tooltip so it won't show when triggered. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** The distance in pixels from which to offset the tooltip away from its target. */\n @property({ type: Number }) distance = 13;\n\n /** Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** The distance in pixels from which to offset the tooltip along its target. */\n @property({ type: Number }) skidding = 0;\n\n /**\n * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\n * options can be passed by separating them with a space. When manual is used, the tooltip must be activated\n * programmatically.\n */\n @property() trigger = 'hover focus';\n\n constructor() {\n super();\n this.addEventListener('blur', this.handleBlur, true);\n this.addEventListener('focus', this.handleFocus, true);\n this.addEventListener('click', this.handleClick);\n this.addEventListener('mouseover', this.handleMouseOver);\n this.addEventListener('mouseout', this.handleMouseOut);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n // Cleanup this event in case the tooltip is removed while open\n this.closeWatcher?.destroy();\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n firstUpdated() {\n this.body.hidden = !this.open;\n\n // If the tooltip is visible on init, update its position\n if (this.open) {\n this.popup.active = true;\n this.popup.reposition();\n }\n }\n\n private handleBlur = () => {\n if (this.hasTrigger('focus')) {\n this.hide();\n }\n };\n\n private handleClick = () => {\n if (this.hasTrigger('click')) {\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n }\n };\n\n private handleFocus = () => {\n if (this.hasTrigger('focus')) {\n this.show();\n }\n };\n\n private handleDocumentKeyDown = (event: KeyboardEvent) => {\n // Pressing escape when a tooltip is open should dismiss it\n if (event.key === 'Escape') {\n event.stopPropagation();\n this.hide();\n }\n };\n\n private handleMouseOver = () => {\n if (this.hasTrigger('hover')) {\n const delay = parseDuration(getComputedStyle(this).getPropertyValue('--show-delay'));\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = window.setTimeout(() => this.show(), delay);\n }\n };\n\n private handleMouseOut = () => {\n if (this.hasTrigger('hover')) {\n const delay = parseDuration(getComputedStyle(this).getPropertyValue('--hide-delay'));\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = window.setTimeout(() => this.hide(), delay);\n }\n };\n\n private hasTrigger(triggerType: string) {\n const triggers = this.trigger.split(' ');\n return triggers.includes(triggerType);\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n if (this.disabled) {\n return;\n }\n\n // Show\n this.emit('syn-show');\n if ('CloseWatcher' in window) {\n this.closeWatcher?.destroy();\n this.closeWatcher = new CloseWatcher();\n this.closeWatcher.onclose = () => {\n this.hide();\n };\n } else {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n await stopAnimations(this.body);\n this.body.hidden = false;\n this.popup.active = true;\n const { keyframes, options } = getAnimation(this, 'tooltip.show', { dir: this.localize.dir() });\n await animateTo(this.popup.popup, keyframes, options);\n this.popup.reposition();\n\n this.emit('syn-after-show');\n } else {\n // Hide\n this.emit('syn-hide');\n this.closeWatcher?.destroy();\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n\n await stopAnimations(this.body);\n const { keyframes, options } = getAnimation(this, 'tooltip.hide', { dir: this.localize.dir() });\n await animateTo(this.popup.popup, keyframes, options);\n this.popup.active = false;\n this.body.hidden = true;\n\n this.emit('syn-after-hide');\n }\n }\n\n @watch(['content', 'distance','placement', 'skidding'])\n async handleOptionsChange() {\n if (this.hasUpdated) {\n await this.updateComplete;\n this.popup.reposition();\n }\n }\n\n @watch('disabled')\n handleDisabledChange() {\n if (this.disabled && this.open) {\n this.hide();\n }\n }\n\n /** Shows the tooltip. */\n async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'syn-after-show');\n }\n\n /** Hides the tooltip */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'syn-after-hide');\n }\n\n //\n // NOTE: Tooltip is a bit unique in that we're using aria-live instead of aria-labelledby to trick screen readers into\n // announcing the content. It works really well, but it violates an accessibility rule. We're also adding the\n // aria-describedby attribute to a slot, which is required by <syn-popup> to correctly locate the first assigned\n // element, otherwise positioning is incorrect.\n //\n render() {\n return html`\n <syn-popup\n part=\"base\"\n exportparts=\"\n popup:base__popup,\n arrow:base__arrow\n \"\n class=${classMap({\n tooltip: true,\n 'tooltip--open': this.open\n })}\n placement=${this.placement}\n distance=${this.distance}\n skidding=${this.skidding}\n flip\n shift\n arrow\n hover-bridge\n >\n ${'' /* eslint-disable-next-line lit-a11y/no-aria-slot */}\n <slot slot=\"anchor\" aria-describedby=\"tooltip\"></slot>\n\n ${'' /* eslint-disable-next-line lit-a11y/accessible-name */}\n <div part=\"body\" id=\"tooltip\" class=\"tooltip__body\" role=\"tooltip\" aria-live=${this.open ? 'polite' : 'off'}>\n <slot name=\"content\">${this.content}</slot>\n </div>\n </syn-popup>\n `;\n }\n}\n\nsetDefaultAnimation('tooltip.show', {\n keyframes: [\n { opacity: 0, scale: 0.8 },\n { opacity: 1, scale: 1 }\n ],\n options: { duration: 150, easing: 'ease' }\n});\n\nsetDefaultAnimation('tooltip.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.8 }\n ],\n options: { duration: 150, easing: 'ease' }\n});\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/alert/alert.styles.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n display: contents;\n\n /* For better DX, we'll reset the margin here so the base part can inherit it */\n margin: 0;\n }\n\n .alert {\n position: relative;\n display: flex;\n align-items: stretch;\n background-color: var(--syn-panel-background-color);\n border: solid var(--syn-panel-border-width) var(--syn-panel-border-color);\n border-top-width: calc(var(--syn-panel-border-width) * 3);\n border-radius: var(--syn-border-radius-medium);\n font-family: var(--syn-font-sans);\n font-size: var(--syn-font-size-small);\n font-weight: var(--syn-font-weight-normal);\n line-height: 1.6;\n color: var(--syn-color-neutral-700);\n margin: inherit;\n }\n\n .alert:not(.alert--has-icon) .alert__icon,\n .alert:not(.alert--closable) .alert__close-button {\n display: none;\n }\n\n .alert__icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--syn-font-size-large);\n padding-inline-start: var(--syn-spacing-large);\n }\n\n .alert--has-countdown {\n border-bottom: none;\n }\n\n .alert__message {\n flex: 1 1 auto;\n display: block;\n padding: var(--syn-spacing-large);\n }\n\n .alert__close-button {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--syn-font-size-medium);\n margin-inline-end: var(--syn-spacing-medium);\n align-self: center;\n }\n\n .alert__countdown {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: calc(var(--syn-panel-border-width) * 3);\n background-color: var(--syn-panel-border-color);\n display: flex;\n }\n\n .alert__countdown--ltr {\n justify-content: flex-end;\n }\n\n .alert__countdown .alert__countdown-elapsed {\n height: 100%;\n width: 0;\n }\n\n .alert--primary .alert__countdown-elapsed {\n background-color: var(--syn-color-primary-600);\n }\n\n .alert--success .alert__countdown-elapsed {\n background-color: var(--syn-color-success-600);\n }\n\n .alert--neutral .alert__countdown-elapsed {\n background-color: var(--syn-color-neutral-600);\n }\n\n .alert--warning .alert__countdown-elapsed {\n background-color: var(--syn-color-warning-600);\n }\n\n .alert--danger .alert__countdown-elapsed {\n background-color: var(--syn-color-danger-600);\n }\n\n .alert__timer {\n display: none;\n }\n`;\n"],
5
- "mappings": ";AAQA,SAAS,WAAW;AAEpB,IAAO,uBAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/menu/menu.styles.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n display: block;\n position: relative;\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: var(--syn-spacing-x-small) 0;\n overflow: auto;\n overscroll-behavior: none;\n }\n\n ::slotted(syn-divider) {\n --spacing: var(--syn-spacing-x-small);\n }\n`;\n"],
5
- "mappings": ";AAQA,SAAS,WAAW;AAEpB,IAAO,sBAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/internal/event.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\n/** Waits for a specific event to be emitted from an element. Ignores events that bubble up from child elements. */\nexport function waitForEvent(el: HTMLElement, eventName: string) {\n return new Promise<void>(resolve => {\n function done(event: Event) {\n if (event.target === el) {\n el.removeEventListener(eventName, done);\n resolve();\n }\n }\n\n el.addEventListener(eventName, done);\n });\n}\n"],
5
- "mappings": ";AASO,SAAS,aAAa,IAAiB,WAAmB;AAC/D,SAAO,IAAI,QAAc,aAAW;AAClC,aAAS,KAAK,OAAc;AAC1B,UAAI,MAAM,WAAW,IAAI;AACvB,WAAG,oBAAoB,WAAW,IAAI;AACtC,gBAAQ;AAAA,MACV;AAAA,IACF;AAEA,OAAG,iBAAiB,WAAW,IAAI;AAAA,EACrC,CAAC;AACH;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/card/card.styles.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n --border-color: var(--syn-color-neutral-200);\n --border-radius: var(--syn-border-radius-medium);\n --border-width: 1px;\n --padding: var(--syn-spacing-large);\n\n display: inline-block;\n }\n\n .card {\n display: flex;\n flex-direction: column;\n background-color: var(--syn-panel-background-color);\n box-shadow: var(--syn-shadow-x-small);\n border: solid var(--border-width) var(--border-color);\n border-radius: var(--border-radius);\n }\n\n .card__image {\n display: flex;\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: var(--border-radius);\n margin: calc(-1 * var(--border-width));\n overflow: hidden;\n }\n\n .card__image::slotted(img) {\n display: block;\n width: 100%;\n }\n\n .card:not(.card--has-image) .card__image {\n display: none;\n }\n\n .card__header {\n display: block;\n border-bottom: solid var(--border-width) var(--border-color);\n padding: calc(var(--padding) / 2) var(--padding);\n }\n\n .card:not(.card--has-header) .card__header {\n display: none;\n }\n\n .card:not(.card--has-image) .card__header {\n border-top-left-radius: var(--border-radius);\n border-top-right-radius: var(--border-radius);\n }\n\n .card__body {\n display: block;\n padding: var(--padding);\n }\n\n .card--has-footer .card__footer {\n display: block;\n border-top: solid var(--border-width) var(--border-color);\n padding: var(--padding);\n }\n\n .card:not(.card--has-footer) .card__footer {\n display: none;\n }\n`;\n"],
5
- "mappings": ";AAQA,SAAS,WAAW;AAEpB,IAAO,sBAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/details/details.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport SynDetails from './details.component.js';\n\nexport * from './details.component.js';\nexport default SynDetails;\n\nSynDetails.define('syn-details');\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-details': SynDetails;\n }\n}\n"],
5
- "mappings": ";;;;;AAWA,IAAO,kBAAQ;AAEf,WAAW,OAAO,aAAa;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/textarea/textarea.component.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { 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 './textarea.styles.js';\nimport customStyles from './textarea.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 Textareas collect data from the user and allow multiple lines of text.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-textarea--docs\n * @status stable\n * @since 2.0\n *\n * @slot label - The textarea's label. Alternatively, you can use the `label` attribute.\n * @slot help-text - Text that describes how to use the input. 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 an alteration to the control's value is committed by the user.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart textarea - The internal `<textarea>` control.\n */\n@enableDefaultSettings('SynTextarea')\nexport default class SynTextarea extends SynergyElement implements SynergyFormControl {\n static styles: CSSResultGroup = [componentStyles, formControlStyles, styles, formControlCustomStyles, customStyles];\n\n private readonly formControlController = new FormControlController(this, {\n assumeInteractionOn: ['syn-blur', 'syn-input']\n });\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');\n private resizeObserver: ResizeObserver;\n\n @query('.textarea__control') input: HTMLTextAreaElement;\n @query('.textarea__size-adjuster') sizeAdjuster: HTMLTextAreaElement;\n\n @state() private hasFocus = false;\n @property({ reflect: true }) title = ''; // make reactive to pass through\n\n /** The name of the textarea, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** The current value of the textarea, submitted as a name/value pair with form data. */\n @property() value = '';\n\n /** The textarea's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** The textarea's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /** The textarea's help text. If you need to display HTML, use the `help-text` slot instead. */\n @property({ attribute: 'help-text' }) helpText = '';\n\n /** Placeholder text to show as a hint when the input is empty. */\n @property() placeholder = '';\n\n /** The number of rows to display by default. */\n @property({ type: Number }) rows = 4;\n\n /** Controls how the textarea can be resized. */\n @property() resize: 'none' | 'vertical' | 'auto' = 'vertical';\n\n /** Disables the textarea. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Makes the textarea readonly. */\n @property({ type: Boolean, reflect: true }) readonly = 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 textarea a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** The minimum length of input that will be considered valid. */\n @property({ type: Number }) minlength: number;\n\n /** The maximum length of input that will be considered valid. */\n @property({ type: Number }) maxlength: number;\n\n /** Controls whether and how text input is automatically capitalized as it is entered by the user. */\n @property() autocapitalize: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';\n\n /** Indicates whether the browser's autocorrect feature is on or off. */\n @property({\n attribute: 'autocorrect',\n reflect: true,\n converter: {\n fromAttribute: (value: string) => value === '' || value === 'on',\n toAttribute: (value: boolean) => (value ? 'on' : 'off')\n },\n type: Boolean,\n }) autocorrect: boolean;\n\n /**\n * Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n * [this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n */\n @property() autocomplete: string;\n\n /** Indicates that the input should receive focus on page load. */\n @property({ type: Boolean }) autofocus: boolean;\n\n /** Used to customize the label or icon of the Enter key on virtual keyboards. */\n @property() enterkeyhint: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';\n\n /** Enables spell checking on the textarea. */\n @property({\n type: Boolean,\n converter: {\n // Allow \"true|false\" attribute values but keep the property boolean\n fromAttribute: value => (!value || value === 'false' ? false : true),\n toAttribute: value => (value ? 'true' : 'false')\n }\n })\n spellcheck = true;\n\n /**\n * Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\n * keyboard on supportive devices.\n */\n @property() inputmode: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue() defaultValue = '';\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 connectedCallback() {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(() => this.setTextareaHeight());\n\n this.updateComplete.then(() => {\n this.setTextareaHeight();\n this.resizeObserver.observe(this.input);\n });\n }\n\n firstUpdated() {\n this.formControlController.updateValidity();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.input) {\n this.resizeObserver?.unobserve(this.input);\n }\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('syn-blur');\n }\n\n private handleChange() {\n this.value = this.input.value;\n this.setTextareaHeight();\n this.emit('syn-change');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('syn-focus');\n }\n\n private handleInput() {\n this.value = this.input.value;\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 setTextareaHeight() {\n if (this.resize === 'auto') {\n // This prevents layout shifts. We use `clientHeight` instead of `scrollHeight` to account for if the `<textarea>` has a max-height set on it. In my tests, this has worked fine. Im not aware of any edge cases. [Konnor]\n this.sizeAdjuster.style.height = `${this.input.clientHeight}px`;\n this.input.style.height = 'auto';\n this.input.style.height = `${this.input.scrollHeight}px`;\n } else {\n this.input.style.height = '';\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid\n this.formControlController.setValidity(this.disabled);\n }\n\n @watch('rows', { waitUntilFirstUpdate: true })\n handleRowsChange() {\n this.setTextareaHeight();\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n async handleValueChange() {\n await this.updateComplete;\n this.formControlController.updateValidity();\n this.setTextareaHeight();\n }\n\n /** Sets focus on the textarea. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the textarea. */\n blur() {\n this.input.blur();\n }\n\n /** Selects all the text in the textarea. */\n select() {\n this.input.select();\n }\n\n /** Gets or sets the textarea's scroll position. */\n scrollPosition(position?: { top?: number; left?: number }): { top: number; left: number } | undefined {\n if (position) {\n if (typeof position.top === 'number') this.input.scrollTop = position.top;\n if (typeof position.left === 'number') this.input.scrollLeft = position.left;\n return undefined;\n }\n\n return {\n top: this.input.scrollTop,\n left: this.input.scrollTop\n };\n }\n\n /** Sets the start and end positions of the text selection (0-based). */\n setSelectionRange(\n selectionStart: number,\n selectionEnd: number,\n selectionDirection: 'forward' | 'backward' | 'none' = 'none'\n ) {\n this.input.setSelectionRange(selectionStart, selectionEnd, selectionDirection);\n }\n\n /** Replaces a range of text with a new string. */\n setRangeText(\n replacement: string,\n start?: number,\n end?: number,\n selectMode: 'select' | 'start' | 'end' | 'preserve' = 'preserve'\n ) {\n const selectionStart = start ?? this.input.selectionStart;\n const selectionEnd = end ?? this.input.selectionEnd;\n\n this.input.setRangeText(replacement, selectionStart, selectionEnd, selectMode);\n\n if (this.value !== this.input.value) {\n this.value = this.input.value;\n this.setTextareaHeight();\n }\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 hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;\n\n return html`\n <div\n part=\"form-control\"\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-label': hasLabel,\n 'form-control--has-help-text': hasHelpText\n })}\n >\n <label\n part=\"form-control-label\"\n class=\"form-control__label\"\n for=\"input\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <div\n part=\"base\"\n class=${classMap({\n textarea: true,\n 'textarea--small': this.size === 'small',\n 'textarea--medium': this.size === 'medium',\n 'textarea--large': this.size === 'large',\n 'textarea--standard': !this.readonly,\n 'textarea--readonly': this.readonly,\n 'textarea--disabled': this.disabled,\n 'textarea--focused': this.hasFocus,\n 'textarea--empty': !this.value,\n 'textarea--resize-none': this.resize === 'none',\n 'textarea--resize-vertical': this.resize === 'vertical',\n 'textarea--resize-auto': this.resize === 'auto'\n })}\n >\n <textarea\n part=\"textarea\"\n id=\"input\"\n class=\"textarea__control\"\n title=${this.title /* An empty title prevents browser validation tooltips from appearing on hover */}\n name=${ifDefined(this.name)}\n .value=${live(this.value)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n placeholder=${ifDefined(this.placeholder)}\n rows=${ifDefined(this.rows)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n autocapitalize=${ifDefined(this.autocapitalize)}\n autocorrect=${ifDefined(this.autocorrect ? undefined : 'off')}\n ?autofocus=${this.autofocus}\n spellcheck=${ifDefined(this.spellcheck)}\n enterkeyhint=${ifDefined(this.enterkeyhint)}\n inputmode=${ifDefined(this.inputmode)}\n aria-describedby=\"help-text\"\n @change=${this.handleChange}\n @input=${this.handleInput}\n @invalid=${this.handleInvalid}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n ></textarea>\n <!-- This \"adjuster\" exists to prevent layout shifting. https://github.com/shoelace-style/shoelace/issues/2180 -->\n <div part=\"textarea-adjuster\" class=\"textarea__size-adjuster\" ?hidden=${this.resize !== 'auto'}></div>\n </div>\n </div>\n\n <div\n part=\"form-control-help-text\"\n id=\"help-text\"\n class=\"form-control__help-text\"\n aria-hidden=${hasHelpText ? 'false' : 'true'}\n >\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n </div>\n `;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/dropdown/dropdown.styles.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n display: inline-block;\n }\n\n .dropdown::part(popup) {\n z-index: var(--syn-z-index-dropdown);\n }\n\n .dropdown[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .dropdown[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n .dropdown[data-current-placement^='left']::part(popup) {\n transform-origin: right;\n }\n\n .dropdown[data-current-placement^='right']::part(popup) {\n transform-origin: left;\n }\n\n .dropdown__trigger {\n display: block;\n }\n\n .dropdown__panel {\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 border-radius: var(--syn-border-radius-medium);\n pointer-events: none;\n }\n\n .dropdown--open .dropdown__panel {\n display: block;\n pointer-events: all;\n }\n\n /* When users slot a menu, make sure it conforms to the popup's auto-size */\n ::slotted(syn-menu) {\n max-width: var(--auto-size-available-width) !important;\n max-height: var(--auto-size-available-height) !important;\n }\n`;\n"],
5
- "mappings": ";AAQA,SAAS,WAAW;AAEpB,IAAO,0BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/dialog/dialog.component.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { animateTo, stopAnimations } from '../../internal/animate.js';\nimport { blurActiveElement } from '../../internal/closeActiveElement.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { getAnimation, setDefaultAnimation } from '../../utilities/animation-registry.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../internal/scroll.js';\nimport { property, query } from 'lit/decorators.js';\nimport { waitForEvent } from '../../internal/event.js';\nimport { watch } from '../../internal/watch.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport Modal from '../../internal/modal.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport SynIconButton from '../icon-button/icon-button.component.js';\nimport styles from './dialog.styles.js';\nimport customStyles from './dialog.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Dialogs, sometimes called \"modals\", appear above the page and require the user's immediate attention.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-dialog--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - The dialog's main content.\n * @slot label - The dialog's label. Alternatively, you can use the `label` attribute.\n * @slot header-actions - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n * @slot footer - The dialog's footer, usually one or more buttons representing various options.\n *\n * @event syn-show - Emitted when the dialog opens.\n * @event syn-after-show - Emitted after the dialog opens and all animations are complete.\n * @event syn-hide - Emitted when the dialog closes.\n * @event syn-after-hide - Emitted after the dialog closes and all animations are complete.\n * @event syn-initial-focus - Emitted when the dialog opens and is ready to receive focus. Calling\n * `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n * @event {{ source: 'close-button' | 'keyboard' | 'overlay' }} syn-request-close - Emitted when the user attempts to\n * close the dialog by clicking the close button, clicking the overlay, or pressing escape. Calling\n * `event.preventDefault()` will keep the dialog open. Avoid using this unless closing the dialog will result in\n * destructive behavior such as data loss.\n *\n * @csspart base - The component's base wrapper.\n * @csspart overlay - The overlay that covers the screen behind the dialog.\n * @csspart panel - The dialog's panel (where the dialog and its content are rendered).\n * @csspart header - The dialog's header. This element wraps the title and header actions.\n * @csspart header-actions - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n * @csspart title - The dialog's title.\n * @csspart close-button - The close button, an `<syn-icon-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n * @csspart body - The dialog's body.\n * @csspart footer - The dialog's footer.\n *\n * @cssproperty --width - The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.\n * @cssproperty --header-spacing - The amount of padding to use for the header.\n * @cssproperty --body-spacing - The amount of padding to use for the body.\n * @cssproperty --footer-spacing - The amount of padding to use for the footer.\n *\n * @animation dialog.show - The animation to use when showing the dialog.\n * @animation dialog.hide - The animation to use when hiding the dialog.\n * @animation dialog.denyClose - The animation to use when a request to close the dialog is denied.\n * @animation dialog.overlay.show - The animation to use when showing the dialog's overlay.\n * @animation dialog.overlay.hide - The animation to use when hiding the dialog's overlay.\n *\n * @property modal - Exposes the internal modal utility that controls focus trapping. To temporarily disable focus\n * trapping and allow third-party modals spawned from an active Synergy modal, call `modal.activateExternal()` when\n * the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Synergy's focus trapping.\n */\nexport default class SynDialog extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n static dependencies = {\n 'syn-icon-button': SynIconButton\n };\n\n private readonly hasSlotController = new HasSlotController(this, 'footer');\n private readonly localize = new LocalizeController(this);\n private originalTrigger: HTMLElement | null;\n public modal = new Modal(this);\n private closeWatcher: CloseWatcher | null;\n\n @query('.dialog') dialog: HTMLElement;\n @query('.dialog__panel') panel: HTMLElement;\n @query('.dialog__overlay') overlay: HTMLElement;\n\n /**\n * Indicates whether or not the dialog is open. You can toggle this attribute to show and hide the dialog, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the dialog's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * The dialog's label as displayed in the header. You should always include a relevant label even when using\n * `no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.\n */\n @property({ reflect: true }) label = '';\n\n /**\n * Disables the header. This will also remove the default close button, so please ensure you provide an easy,\n * accessible way for users to dismiss the dialog.\n */\n @property({ attribute: 'no-header', type: Boolean, reflect: true }) noHeader = false;\n\n firstUpdated() {\n this.dialog.hidden = !this.open;\n\n if (this.open) {\n this.addOpenListeners();\n this.modal.activate();\n lockBodyScrolling(this);\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.modal.deactivate();\n unlockBodyScrolling(this);\n this.removeOpenListeners();\n }\n\n private requestClose(source: 'close-button' | 'keyboard' | 'overlay') {\n const slRequestClose = this.emit('syn-request-close', {\n cancelable: true,\n detail: { source }\n });\n\n if (slRequestClose.defaultPrevented) {\n const animation = getAnimation(this, 'dialog.denyClose', { dir: this.localize.dir() });\n animateTo(this.panel, animation.keyframes, animation.options);\n return;\n }\n\n this.hide();\n }\n\n private addOpenListeners() {\n if ('CloseWatcher' in window) {\n this.closeWatcher?.destroy();\n this.closeWatcher = new CloseWatcher();\n this.closeWatcher.onclose = () => this.requestClose('keyboard');\n } else {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n }\n\n private removeOpenListeners() {\n this.closeWatcher?.destroy();\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n private handleDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && this.modal.isActive() && this.open) {\n event.stopPropagation();\n this.requestClose('keyboard');\n }\n };\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n // Show\n this.emit('syn-show');\n this.addOpenListeners();\n this.originalTrigger = document.activeElement as HTMLElement;\n this.modal.activate();\n\n lockBodyScrolling(this);\n\n // When the dialog is shown, Safari will attempt to set focus on whatever element has autofocus. This can cause\n // the dialogs's animation to jitter (if it starts offscreen), so we'll temporarily remove the attribute, call\n // `focus({ preventScroll: true })` ourselves, and add the attribute back afterwards.\n //\n // Related: https://github.com/shoelace-style/shoelace/issues/693\n //\n const autoFocusTarget = this.querySelector('[autofocus]');\n if (autoFocusTarget) {\n autoFocusTarget.removeAttribute('autofocus');\n }\n\n await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);\n this.dialog.hidden = false;\n\n // Set initial focus\n requestAnimationFrame(() => {\n const slInitialFocus = this.emit('syn-initial-focus', { cancelable: true });\n\n if (!slInitialFocus.defaultPrevented) {\n // Set focus to the autofocus target and restore the attribute\n if (autoFocusTarget) {\n (autoFocusTarget as HTMLInputElement).focus({ preventScroll: true });\n } else {\n this.panel.focus({ preventScroll: true });\n }\n }\n\n // Restore the autofocus attribute\n if (autoFocusTarget) {\n autoFocusTarget.setAttribute('autofocus', '');\n }\n });\n\n const panelAnimation = getAnimation(this, 'dialog.show', { dir: this.localize.dir() });\n const overlayAnimation = getAnimation(this, 'dialog.overlay.show', { dir: this.localize.dir() });\n await Promise.all([\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options),\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options)\n ]);\n\n this.emit('syn-after-show');\n } else {\n // Hide\n blurActiveElement(this);\n this.emit('syn-hide');\n this.removeOpenListeners();\n this.modal.deactivate();\n\n await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);\n const panelAnimation = getAnimation(this, 'dialog.hide', { dir: this.localize.dir() });\n const overlayAnimation = getAnimation(this, 'dialog.overlay.hide', { dir: this.localize.dir() });\n\n // Animate the overlay and the panel at the same time. Because animation durations might be different, we need to\n // hide each one individually when the animation finishes, otherwise the first one that finishes will reappear\n // unexpectedly. We'll unhide them after all animations have completed.\n await Promise.all([\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options).then(() => {\n this.overlay.hidden = true;\n }),\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options).then(() => {\n this.panel.hidden = true;\n })\n ]);\n\n this.dialog.hidden = true;\n\n // Now that the dialog is hidden, restore the overlay and panel for next time\n this.overlay.hidden = false;\n this.panel.hidden = false;\n\n unlockBodyScrolling(this);\n\n // Restore focus to the original trigger\n const trigger = this.originalTrigger;\n if (typeof trigger?.focus === 'function') {\n setTimeout(() => trigger.focus());\n }\n\n this.emit('syn-after-hide');\n }\n }\n\n /** Shows the dialog. */\n async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'syn-after-show');\n }\n\n /** Hides the dialog */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'syn-after-hide');\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${classMap({\n dialog: true,\n 'dialog--open': this.open,\n 'dialog--has-footer': this.hasSlotController.test('footer')\n })}\n >\n <div part=\"overlay\" class=\"dialog__overlay\" @click=${() => this.requestClose('overlay')} tabindex=\"-1\"></div>\n\n <div\n part=\"panel\"\n class=\"dialog__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden=${this.open ? 'false' : 'true'}\n aria-label=${ifDefined(this.noHeader ? this.label : undefined)}\n aria-labelledby=${ifDefined(!this.noHeader ? 'title' : undefined)}\n tabindex=\"-1\"\n >\n ${!this.noHeader\n ? html`\n <header part=\"header\" class=\"dialog__header\">\n <h2 part=\"title\" class=\"dialog__title\" id=\"title\">\n <slot name=\"label\"> ${this.label.length > 0 ? this.label : String.fromCharCode(65279)} </slot>\n </h2>\n <div part=\"header-actions\" class=\"dialog__header-actions\">\n <slot name=\"header-actions\"></slot>\n <syn-icon-button\n part=\"close-button\"\n exportparts=\"base:close-button__base\"\n class=\"dialog__close\"\n name=\"x-lg\"\n label=${this.localize.term('close')}\n library=\"system\"\n @click=\"${() => this.requestClose('close-button')}\"\n ></syn-icon-button>\n </div>\n </header>\n `\n : ''}\n ${\n '' /* The tabindex=\"-1\" is here because the body is technically scrollable if overflowing. However, if there's no focusable elements inside, you won't actually be able to scroll it via keyboard. Previously this was just a <slot>, but tabindex=\"-1\" on the slot causes children to not be focusable. https://github.com/shoelace-style/shoelace/issues/1753#issuecomment-1836803277 */\n }\n <div part=\"body\" class=\"dialog__body\" tabindex=\"-1\"><slot></slot></div>\n\n <footer part=\"footer\" class=\"dialog__footer\">\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </div>\n `;\n }\n}\n\nsetDefaultAnimation('dialog.show', {\n keyframes: [\n { opacity: 0, scale: 0.8 },\n { opacity: 1, scale: 1 }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\nsetDefaultAnimation('dialog.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.8 }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\nsetDefaultAnimation('dialog.denyClose', {\n keyframes: [{ scale: 1 }, { scale: 1.02 }, { scale: 1 }],\n options: { duration: 250 }\n});\n\nsetDefaultAnimation('dialog.overlay.show', {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 250 }\n});\n\nsetDefaultAnimation('dialog.overlay.hide', {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 250 }\n});\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/internal/active-elements.ts", "../../src/internal/tabbable.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\n/**\n * Use a generator so we can iterate and possibly break early.\n * @example\n * // to operate like a regular array. This kinda nullifies generator benefits, but worth knowing if you need the whole array.\n * const allActiveElements = [...activeElements()]\n *\n * // Early return\n * for (const activeElement of activeElements()) {\n * if (<cond>) {\n * break; // Break the loop, dont need to iterate over the whole array or store an array in memory!\n * }\n * }\n */\nexport function* activeElements(activeElement: Element | null = document.activeElement): Generator<Element> {\n if (activeElement === null || activeElement === undefined) return;\n\n yield activeElement;\n\n if ('shadowRoot' in activeElement && activeElement.shadowRoot && activeElement.shadowRoot.mode !== 'closed') {\n yield* activeElements(activeElement.shadowRoot.activeElement);\n }\n}\n\nexport function getDeepestActiveElement() {\n return [...activeElements()].pop();\n}\n", "/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\n// Cached compute style calls. This is specifically for browsers that dont support `checkVisibility()`.\n// computedStyle calls are \"live\" so they only need to be retrieved once for an element.\nconst computedStyleMap = new WeakMap<Element, CSSStyleDeclaration>();\n\nfunction getCachedComputedStyle(el: HTMLElement): CSSStyleDeclaration {\n let computedStyle: undefined | CSSStyleDeclaration = computedStyleMap.get(el);\n\n if (!computedStyle) {\n computedStyle = window.getComputedStyle(el, null);\n computedStyleMap.set(el, computedStyle);\n }\n\n return computedStyle;\n}\n\nfunction isVisible(el: HTMLElement): boolean {\n // This is the fastest check, but isn't supported in Safari.\n if (typeof el.checkVisibility === 'function') {\n // Opacity is focusable, visibility is not.\n return el.checkVisibility({ checkOpacity: false, checkVisibilityCSS: true });\n }\n\n // Fallback \"polyfill\" for \"checkVisibility\"\n const computedStyle = getCachedComputedStyle(el);\n\n return computedStyle.visibility !== 'hidden' && computedStyle.display !== 'none';\n}\n\n// While this behavior isn't standard in Safari / Chrome yet, I think it's the most reasonable\n// way of handling tabbable overflow areas. Browser sniffing seems gross, and it's the most\n// accessible way of handling overflow areas. [Konnor]\nfunction isOverflowingAndTabbable(el: HTMLElement): boolean {\n const computedStyle = getCachedComputedStyle(el);\n\n const { overflowY, overflowX } = computedStyle;\n\n if (overflowY === 'scroll' || overflowX === 'scroll') {\n return true;\n }\n\n if (overflowY !== 'auto' || overflowX !== 'auto') {\n return false;\n }\n\n // Always overflow === \"auto\" by this point\n const isOverflowingY = el.scrollHeight > el.clientHeight;\n\n if (isOverflowingY && overflowY === 'auto') {\n return true;\n }\n\n const isOverflowingX = el.scrollWidth > el.clientWidth;\n\n if (isOverflowingX && overflowX === 'auto') {\n return true;\n }\n\n return false;\n}\n\n/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n const tabindex = Number(el.getAttribute('tabindex'));\n const hasTabindex = el.hasAttribute('tabindex');\n\n // elements with a tabindex attribute that is either NaN or <= -1 are not tabbable\n if (hasTabindex && (isNaN(tabindex) || tabindex <= -1)) {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute('disabled')) {\n return false;\n }\n\n // If any parents have \"inert\", we aren't \"tabbable\"\n if (el.closest('[inert]')) {\n return false;\n }\n\n if (tag === 'input' && el.getAttribute('type') === 'radio') {\n const rootNode = el.getRootNode() as HTMLElement;\n\n const findRadios = `input[type='radio'][name=\"${el.getAttribute('name')}\"]`;\n const firstChecked = rootNode.querySelector(`${findRadios}:checked`);\n\n if (firstChecked) {\n return firstChecked === el;\n }\n\n const firstRadio = rootNode.querySelector(findRadios);\n\n return firstRadio === el;\n }\n\n if (!isVisible(el)) {\n return false;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === 'audio' || tag === 'video') && el.hasAttribute('controls')) {\n return true;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute('tabindex')) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute('contenteditable') && el.getAttribute('contenteditable') !== 'false') {\n return true;\n }\n\n // At this point, the following elements are considered tabbable\n const isNativelyTabbable = [\n 'button',\n 'input',\n 'select',\n 'textarea',\n 'a',\n 'audio',\n 'video',\n 'summary',\n 'iframe'\n ].includes(tag);\n\n if (isNativelyTabbable) {\n return true;\n }\n\n // We save the overflow checks for last, because they're the most expensive\n return isOverflowingAndTabbable(el);\n}\n\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root: HTMLElement | ShadowRoot) {\n const tabbableElements = getTabbableElements(root);\n\n // Find the first and last tabbable elements\n const start = tabbableElements[0] ?? null;\n const end = tabbableElements[tabbableElements.length - 1] ?? null;\n\n return { start, end };\n}\n\n/**\n * This looks funky. Basically a slot's children will always be picked up *if* they're within the `root` element.\n * However, there is an edge case when, if the `root` is wrapped by another shadow DOM, it won't grab the children.\n * This fixes that fun edge case.\n */\nfunction getSlottedChildrenOutsideRootElement(slotElement: HTMLSlotElement, root: HTMLElement | ShadowRoot) {\n return (slotElement.getRootNode({ composed: true }) as ShadowRoot | null)?.host !== root;\n}\n\nexport function getTabbableElements(root: HTMLElement | ShadowRoot) {\n const walkedEls = new WeakMap();\n const tabbableElements: HTMLElement[] = [];\n\n function walk(el: HTMLElement | ShadowRoot) {\n if (el instanceof Element) {\n // if the element has \"inert\" we can just no-op it.\n if (el.hasAttribute('inert') || el.closest('[inert]')) {\n return;\n }\n\n if (walkedEls.has(el)) {\n return;\n }\n walkedEls.set(el, true);\n\n if (!tabbableElements.includes(el) && isTabbable(el)) {\n tabbableElements.push(el);\n }\n\n if (el instanceof HTMLSlotElement && getSlottedChildrenOutsideRootElement(el, root)) {\n el.assignedElements({ flatten: true }).forEach((assignedEl: HTMLElement) => {\n walk(assignedEl);\n });\n }\n\n if (el.shadowRoot !== null && el.shadowRoot.mode === 'open') {\n walk(el.shadowRoot);\n }\n }\n\n for (const e of el.children) {\n walk(e as HTMLElement);\n }\n }\n\n // Collect all elements including the root\n walk(root);\n\n // Is this worth having? Most sorts will always add increased overhead. And positive tabindexes shouldn't really be used.\n // So is it worth being right? Or fast?\n return tabbableElements.sort((a, b) => {\n // Make sure we sort by tabindex.\n const aTabindex = Number(a.getAttribute('tabindex')) || 0;\n const bTabindex = Number(b.getAttribute('tabindex')) || 0;\n return bTabindex - aTabindex;\n });\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/progress-bar/progress-bar.component.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html } from 'lit';\nimport { 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": ";;;;;;;;;;;;;;;;;;;;AAQA,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
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/menu-label/menu-label.component.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { html } from 'lit';\nimport SynDivider from '../divider/divider.component.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './menu-label.styles.js';\nimport customStyles from './menu-label.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Menu labels are used to describe a group of menu items.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-menu-label--docs\n * @status stable\n * @since 2.0\n *\n * @slot - The menu label's content.\n *\n * @csspart base - The component's base wrapper.\n * @csspart divider - The divider that is displayed above the content\n * @csspart label - The label that is displayed below the divider\n *\n * @dependency syn-divider\n *\n * @cssproperty --display-divider - Display property of the divider. Defaults to \"block\"\n */\nexport default class SynMenuLabel extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n\n static dependencies = {\n 'syn-divider': SynDivider,\n };\n \n render() {\n return html`\n <div part=\"base\" class=\"menu-label-wrapper\">\n <syn-divider class=\"menu-label__divider\" part=\"divider\"></syn-divider>\n <slot part=\"label\" class=\"menu-label\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-menu-label': SynMenuLabel;\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAQA,SAAS,YAAY;AAwBrB,IAAqB,eAArB,cAA0C,eAAe;AAAA,EAOvD,SAAS;AACP,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMT;AACF;AAfqB,aACZ,SAAyB,CAAC,0BAAiB,2BAAQ,gCAAY;AADnD,aAGZ,eAAe;AAAA,EACpB,eAAe;AACjB;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/icon-button/icon-button.styles.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n display: inline-block;\n color: var(--syn-color-neutral-600);\n }\n\n .icon-button {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n background: none;\n border: none;\n border-radius: var(--syn-border-radius-medium);\n font-size: inherit;\n color: inherit;\n padding: var(--syn-spacing-x-small);\n cursor: pointer;\n transition: var(--syn-transition-x-fast) color;\n -webkit-appearance: none;\n }\n\n .icon-button:hover:not(.icon-button--disabled),\n .icon-button:focus-visible:not(.icon-button--disabled) {\n color: var(--syn-color-primary-600);\n }\n\n .icon-button:active:not(.icon-button--disabled) {\n color: var(--syn-color-primary-700);\n }\n\n .icon-button:focus {\n outline: none;\n }\n\n .icon-button--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .icon-button:focus-visible {\n outline: var(--syn-focus-ring);\n outline-offset: var(--syn-focus-ring-offset);\n }\n\n .icon-button__icon {\n pointer-events: none;\n }\n`;\n"],
5
- "mappings": ";AAQA,SAAS,WAAW;AAEpB,IAAO,6BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/menu-item/menu-item.component.ts", "../../src/internal/watchEvent.ts"],
4
- "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { 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": "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",
6
- "names": []
7
- }