@synergy-design-system/components 2.18.4 → 2.18.5

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 (289) hide show
  1. package/dist/chunks/{chunk.KWJ6XJ5W.js → chunk.2G7ZPZAK.js} +4 -4
  2. package/dist/chunks/{chunk.FQUIAQDO.js → chunk.2TFQCWMY.js} +2 -2
  3. package/dist/chunks/{chunk.WFUFZLYE.js → chunk.35KOXBIM.js} +2 -2
  4. package/dist/chunks/{chunk.3SDAHRIK.js → chunk.3FVOIP6C.js} +2 -2
  5. package/dist/chunks/{chunk.WJLTNAPJ.js → chunk.3JYIKNEZ.js} +3 -3
  6. package/dist/chunks/{chunk.PREEMH2K.js → chunk.3MLXBSBW.js} +2 -2
  7. package/dist/chunks/{chunk.VO7K57S2.js → chunk.3VU4IPRN.js} +3 -3
  8. package/dist/chunks/{chunk.XM7B7SDE.js → chunk.3ZSI2XBM.js} +2 -2
  9. package/dist/chunks/{chunk.UMHHIOHB.js → chunk.4BIIVEJE.js} +2 -2
  10. package/dist/chunks/{chunk.5YX4D24G.js → chunk.4IACBWUH.js} +3 -3
  11. package/dist/chunks/{chunk.FEBVB2D2.js → chunk.4OIPO5OH.js} +3 -3
  12. package/dist/chunks/{chunk.JE5CYHV7.js → chunk.5QJ7AXZI.js} +3 -3
  13. package/dist/chunks/{chunk.5XDFJXF4.js → chunk.5SCJD5WU.js} +2 -2
  14. package/dist/chunks/{chunk.5CFWIKAP.js → chunk.64R5IDA3.js} +2 -2
  15. package/dist/chunks/{chunk.OU2AIKRU.js → chunk.67BRVWER.js} +2 -2
  16. package/dist/chunks/{chunk.TQQBUW3P.js → chunk.6R7YON3X.js} +9 -9
  17. package/dist/chunks/{chunk.A5G7CEV7.js → chunk.7AEOU77Z.js} +2 -2
  18. package/dist/chunks/{chunk.WNF4NRJN.js → chunk.7BJR35V2.js} +5 -5
  19. package/dist/chunks/{chunk.DSK2NBLO.js → chunk.7NCAU4SG.js} +4 -4
  20. package/dist/chunks/{chunk.3CQZS3HX.js → chunk.7PFCOCUL.js} +2 -2
  21. package/dist/chunks/{chunk.CGZXLBLU.js → chunk.7UWDCL2E.js} +3 -3
  22. package/dist/chunks/{chunk.7UYZPGCY.js → chunk.7WGOR33F.js} +2 -2
  23. package/dist/chunks/{chunk.ONN4HEIU.js → chunk.AI7XMKEG.js} +2 -2
  24. package/dist/chunks/{chunk.JNACD4GF.js → chunk.AIIBCNDY.js} +2 -2
  25. package/dist/chunks/{chunk.5CDMCUSS.js → chunk.AKLEIA25.js} +3 -3
  26. package/dist/chunks/{chunk.GLSKWZOG.js → chunk.B7ZZ6VMD.js} +3 -3
  27. package/dist/chunks/{chunk.5Z4M2BFV.js → chunk.BP4TXS3C.js} +2 -2
  28. package/dist/chunks/{chunk.34QQBAFL.js → chunk.BT3H7NRL.js} +2 -2
  29. package/dist/chunks/{chunk.A6YW46N2.js → chunk.CB4EM6XI.js} +2 -2
  30. package/dist/chunks/{chunk.NT2LFBC5.js → chunk.CKH3LBPT.js} +5 -5
  31. package/dist/chunks/{chunk.MTW4GHWW.js → chunk.D4UOWE7I.js} +2 -2
  32. package/dist/chunks/{chunk.KIUKK7SE.js → chunk.DC4STZUN.js} +2 -2
  33. package/dist/chunks/{chunk.R5P7Z2D4.js → chunk.DEYAJXTS.js} +2 -2
  34. package/dist/chunks/{chunk.Q7SN4SCZ.js → chunk.E6RHBVFN.js} +2 -2
  35. package/dist/chunks/{chunk.DJROLM7B.js → chunk.EDLMZUKT.js} +3 -3
  36. package/dist/chunks/{chunk.GIIC3TC3.js → chunk.EPCEWT6Z.js} +2 -2
  37. package/dist/chunks/{chunk.ZLZSJ4EV.js → chunk.EVR34RWT.js} +2 -2
  38. package/dist/chunks/{chunk.MTKY4OTH.js → chunk.EYVTUZJF.js} +2 -2
  39. package/dist/chunks/{chunk.3EIIG5FJ.js → chunk.FFX2ZDV4.js} +2 -2
  40. package/dist/chunks/{chunk.XGNVTBYQ.js → chunk.FJMPKDDM.js} +2 -2
  41. package/dist/chunks/{chunk.SKRPVBCI.js → chunk.GI4V6OSA.js} +2 -2
  42. package/dist/chunks/{chunk.4TMZRPI3.js → chunk.GM4NUIIN.js} +2 -2
  43. package/dist/chunks/{chunk.D3CLPZKP.js → chunk.HGRW3JIF.js} +2 -2
  44. package/dist/chunks/{chunk.3772JTLE.js → chunk.HNBH6VSN.js} +2 -2
  45. package/dist/chunks/{chunk.ET6QHX7P.js → chunk.HYBANFJV.js} +2 -2
  46. package/dist/chunks/{chunk.ZU6EA5MN.js → chunk.IEPUYAM2.js} +5 -5
  47. package/dist/chunks/{chunk.MRJD5TWF.js → chunk.JAYHDFIC.js} +2 -2
  48. package/dist/chunks/{chunk.34UCHHN6.js → chunk.JR5XPIKY.js} +2 -2
  49. package/dist/chunks/{chunk.2LWI4RZ4.js → chunk.JYBADF4D.js} +2 -2
  50. package/dist/chunks/{chunk.TLG5XCVB.js → chunk.KPAPXCKU.js} +2 -2
  51. package/dist/chunks/{chunk.Z75AMAON.js → chunk.KYQPST22.js} +2 -2
  52. package/dist/chunks/{chunk.A7X3LD5O.js → chunk.LCPFGWTG.js} +2 -2
  53. package/dist/chunks/{chunk.WXUP4LSL.js → chunk.LKVOBC7K.js} +4 -4
  54. package/dist/chunks/{chunk.63VR2C4W.js → chunk.LRLGP2KX.js} +2 -2
  55. package/dist/chunks/{chunk.CCFPJFMJ.js → chunk.LVU4QE66.js} +2 -2
  56. package/dist/chunks/{chunk.WXAOXKDS.js → chunk.M2N4FGZX.js} +2 -2
  57. package/dist/chunks/{chunk.AUAQBIXT.js → chunk.M5MVI36P.js} +2 -2
  58. package/dist/chunks/{chunk.5THYZB2V.js → chunk.MA77XZD5.js} +3 -3
  59. package/dist/chunks/{chunk.V7XY4EW4.js → chunk.MDJ5U3VM.js} +2 -2
  60. package/dist/chunks/{chunk.R5FWGHRT.js → chunk.MHITWMRZ.js} +3 -3
  61. package/dist/chunks/{chunk.KHJJZRDS.js → chunk.NGS4I7A7.js} +3 -3
  62. package/dist/chunks/{chunk.XCWK5LCS.js → chunk.NPRLLDWT.js} +3 -3
  63. package/dist/chunks/{chunk.TU2P4XXB.js → chunk.O6RT2A5C.js} +2 -2
  64. package/dist/chunks/{chunk.7CY7UURL.js → chunk.OUYOEIYC.js} +2 -2
  65. package/dist/chunks/{chunk.QMQKLEYS.js → chunk.PCHFZYAH.js} +3 -3
  66. package/dist/chunks/{chunk.WCAJEXTY.js → chunk.PSETXBW3.js} +2 -2
  67. package/dist/chunks/{chunk.PSWXHOHI.js → chunk.Q3AAD3GT.js} +2 -2
  68. package/dist/chunks/{chunk.NS6PL3JB.js → chunk.Q3LU224X.js} +2 -2
  69. package/dist/chunks/{chunk.TRPFIOGE.js → chunk.QWFBF22D.js} +6 -6
  70. package/dist/chunks/{chunk.SUQC4U4A.js → chunk.QZZ7K7J4.js} +3 -3
  71. package/dist/chunks/{chunk.APZ2WII6.js → chunk.R3PUCUMY.js} +2 -2
  72. package/dist/chunks/{chunk.WT3ZI7DW.js → chunk.R7N3CY3V.js} +2 -2
  73. package/dist/chunks/{chunk.IE4H6YW2.js → chunk.R7WILZHH.js} +4 -4
  74. package/dist/chunks/{chunk.VQ6ZTO6I.js → chunk.RPZ35XIU.js} +2 -2
  75. package/dist/chunks/{chunk.4XGVGLK5.js → chunk.S2BIDZND.js} +3 -3
  76. package/dist/chunks/{chunk.T3BRKUPN.js → chunk.SN4SU5TH.js} +2 -2
  77. package/dist/chunks/{chunk.XJ5DU7B7.js → chunk.SRVDFYW2.js} +2 -2
  78. package/dist/chunks/{chunk.JUHXJJI2.js → chunk.TCUZ4C2D.js} +2 -2
  79. package/dist/chunks/{chunk.JUHXJJI2.js.map → chunk.TCUZ4C2D.js.map} +1 -1
  80. package/dist/chunks/{chunk.57PL5IRM.js → chunk.TITZNCI3.js} +2 -2
  81. package/dist/chunks/{chunk.3NWHTFL6.js → chunk.U2AD3HCH.js} +2 -2
  82. package/dist/chunks/{chunk.47VCIQKD.js → chunk.USLXLTS3.js} +2 -2
  83. package/dist/chunks/{chunk.4JUKDIBS.js → chunk.UT7OYGKG.js} +2 -2
  84. package/dist/chunks/{chunk.2HCXENAK.js → chunk.VJLJ5L6B.js} +4 -4
  85. package/dist/chunks/{chunk.N7ETASU6.js → chunk.VTFF45ES.js} +2 -2
  86. package/dist/chunks/{chunk.CEHMU3XE.js → chunk.WVPCT65Q.js} +2 -2
  87. package/dist/chunks/{chunk.D2HQNTMF.js → chunk.WXHJLPTU.js} +11 -5
  88. package/dist/chunks/{chunk.D2HQNTMF.js.map → chunk.WXHJLPTU.js.map} +2 -2
  89. package/dist/chunks/{chunk.27UV3L7Y.js → chunk.XFCNRZPE.js} +2 -2
  90. package/dist/chunks/{chunk.B6XMZI6V.js → chunk.XUJI3JG6.js} +2 -2
  91. package/dist/chunks/{chunk.PW5HS52L.js → chunk.YJZOX4R6.js} +2 -2
  92. package/dist/chunks/{chunk.AY76ZLPJ.js → chunk.YLUQRS4Q.js} +5 -5
  93. package/dist/chunks/{chunk.MSVUXIPU.js → chunk.YQUO6VHZ.js} +2 -2
  94. package/dist/chunks/{chunk.GBAC5ULK.js → chunk.YS5HJTNN.js} +2 -2
  95. package/dist/chunks/{chunk.JXJ2SRZQ.js → chunk.YVGW3RT6.js} +3 -3
  96. package/dist/chunks/{chunk.R6W7LZLP.js → chunk.YZQ6KAJW.js} +3 -3
  97. package/dist/chunks/{chunk.2XPEM2NX.js → chunk.ZHAHZBVB.js} +2 -2
  98. package/dist/components/accordion/accordion.component.js +3 -3
  99. package/dist/components/accordion/accordion.js +4 -4
  100. package/dist/components/alert/alert.component.js +6 -6
  101. package/dist/components/alert/alert.js +7 -7
  102. package/dist/components/badge/badge.component.js +2 -2
  103. package/dist/components/badge/badge.js +3 -3
  104. package/dist/components/breadcrumb/breadcrumb.component.js +3 -3
  105. package/dist/components/breadcrumb/breadcrumb.js +4 -4
  106. package/dist/components/breadcrumb-item/breadcrumb-item.component.js +2 -2
  107. package/dist/components/breadcrumb-item/breadcrumb-item.js +3 -3
  108. package/dist/components/button/button.component.js +4 -4
  109. package/dist/components/button/button.js +5 -5
  110. package/dist/components/button-group/button-group.component.js +2 -2
  111. package/dist/components/button-group/button-group.js +3 -3
  112. package/dist/components/card/card.component.js +2 -2
  113. package/dist/components/card/card.js +3 -3
  114. package/dist/components/checkbox/checkbox.component.js +3 -3
  115. package/dist/components/checkbox/checkbox.js +4 -4
  116. package/dist/components/combobox/combobox.component.js +5 -5
  117. package/dist/components/combobox/combobox.js +6 -6
  118. package/dist/components/details/details.component.js +3 -3
  119. package/dist/components/details/details.js +4 -4
  120. package/dist/components/dialog/dialog.component.js +4 -4
  121. package/dist/components/dialog/dialog.js +5 -5
  122. package/dist/components/divider/divider.component.js +2 -2
  123. package/dist/components/divider/divider.js +3 -3
  124. package/dist/components/drawer/drawer.component.js +4 -4
  125. package/dist/components/drawer/drawer.js +5 -5
  126. package/dist/components/dropdown/dropdown.component.js +3 -3
  127. package/dist/components/dropdown/dropdown.js +4 -4
  128. package/dist/components/file/file.component.js +5 -5
  129. package/dist/components/file/file.js +6 -6
  130. package/dist/components/header/header.component.js +4 -4
  131. package/dist/components/header/header.js +5 -5
  132. package/dist/components/icon/icon.component.js +2 -2
  133. package/dist/components/icon/icon.js +3 -3
  134. package/dist/components/icon-button/icon-button.component.js +3 -3
  135. package/dist/components/icon-button/icon-button.js +4 -4
  136. package/dist/components/input/input.component.js +4 -4
  137. package/dist/components/input/input.js +5 -5
  138. package/dist/components/menu/menu.component.js +2 -2
  139. package/dist/components/menu/menu.js +3 -3
  140. package/dist/components/menu-item/menu-item.component.js +5 -5
  141. package/dist/components/menu-item/menu-item.js +6 -6
  142. package/dist/components/menu-label/menu-label.component.js +3 -3
  143. package/dist/components/menu-label/menu-label.js +4 -4
  144. package/dist/components/nav-item/nav-item.component.js +3 -3
  145. package/dist/components/nav-item/nav-item.js +4 -4
  146. package/dist/components/optgroup/optgroup.component.js +3 -3
  147. package/dist/components/optgroup/optgroup.js +4 -4
  148. package/dist/components/option/option.component.js +3 -3
  149. package/dist/components/option/option.js +4 -4
  150. package/dist/components/popup/popup.component.js +2 -2
  151. package/dist/components/popup/popup.js +3 -3
  152. package/dist/components/prio-nav/prio-nav.component.js +8 -8
  153. package/dist/components/prio-nav/prio-nav.js +9 -9
  154. package/dist/components/progress-bar/progress-bar.component.js +2 -2
  155. package/dist/components/progress-bar/progress-bar.js +3 -3
  156. package/dist/components/progress-ring/progress-ring.component.js +2 -2
  157. package/dist/components/progress-ring/progress-ring.js +3 -3
  158. package/dist/components/radio/radio.component.js +3 -3
  159. package/dist/components/radio/radio.js +4 -4
  160. package/dist/components/radio-button/radio-button.component.js +2 -2
  161. package/dist/components/radio-button/radio-button.js +3 -3
  162. package/dist/components/radio-group/radio-group.component.js +3 -3
  163. package/dist/components/radio-group/radio-group.js +4 -4
  164. package/dist/components/range/range.component.js +4 -4
  165. package/dist/components/range/range.js +5 -5
  166. package/dist/components/range-tick/range-tick.component.js +2 -2
  167. package/dist/components/range-tick/range-tick.js +3 -3
  168. package/dist/components/resize-observer/resize-observer.component.js +2 -2
  169. package/dist/components/select/select.component.js +6 -6
  170. package/dist/components/select/select.js +7 -7
  171. package/dist/components/side-nav/side-nav.component.js +6 -6
  172. package/dist/components/side-nav/side-nav.js +7 -7
  173. package/dist/components/spinner/spinner.component.js +2 -2
  174. package/dist/components/spinner/spinner.js +3 -3
  175. package/dist/components/switch/switch.component.js +2 -2
  176. package/dist/components/switch/switch.js +3 -3
  177. package/dist/components/tab/tab.component.js +4 -4
  178. package/dist/components/tab/tab.js +5 -5
  179. package/dist/components/tab-group/tab-group.component.js +5 -5
  180. package/dist/components/tab-group/tab-group.js +6 -6
  181. package/dist/components/tab-panel/tab-panel.component.js +2 -2
  182. package/dist/components/tab-panel/tab-panel.js +3 -3
  183. package/dist/components/tag/tag.component.js +4 -4
  184. package/dist/components/tag/tag.js +5 -5
  185. package/dist/components/textarea/textarea.component.js +2 -2
  186. package/dist/components/textarea/textarea.js +3 -3
  187. package/dist/components/tooltip/tooltip.component.js +3 -3
  188. package/dist/components/tooltip/tooltip.js +4 -4
  189. package/dist/components/validate/utility.js +2 -2
  190. package/dist/components/validate/validate.component.js +8 -8
  191. package/dist/components/validate/validate.js +9 -9
  192. package/dist/custom-elements.json +77 -77
  193. package/dist/styles/index.css +1 -1
  194. package/dist/synergy.js +100 -100
  195. package/dist/vscode.html-custom-data.json +23 -23
  196. package/package.json +1 -1
  197. /package/dist/chunks/{chunk.KWJ6XJ5W.js.map → chunk.2G7ZPZAK.js.map} +0 -0
  198. /package/dist/chunks/{chunk.FQUIAQDO.js.map → chunk.2TFQCWMY.js.map} +0 -0
  199. /package/dist/chunks/{chunk.WFUFZLYE.js.map → chunk.35KOXBIM.js.map} +0 -0
  200. /package/dist/chunks/{chunk.3SDAHRIK.js.map → chunk.3FVOIP6C.js.map} +0 -0
  201. /package/dist/chunks/{chunk.WJLTNAPJ.js.map → chunk.3JYIKNEZ.js.map} +0 -0
  202. /package/dist/chunks/{chunk.PREEMH2K.js.map → chunk.3MLXBSBW.js.map} +0 -0
  203. /package/dist/chunks/{chunk.VO7K57S2.js.map → chunk.3VU4IPRN.js.map} +0 -0
  204. /package/dist/chunks/{chunk.XM7B7SDE.js.map → chunk.3ZSI2XBM.js.map} +0 -0
  205. /package/dist/chunks/{chunk.UMHHIOHB.js.map → chunk.4BIIVEJE.js.map} +0 -0
  206. /package/dist/chunks/{chunk.5YX4D24G.js.map → chunk.4IACBWUH.js.map} +0 -0
  207. /package/dist/chunks/{chunk.FEBVB2D2.js.map → chunk.4OIPO5OH.js.map} +0 -0
  208. /package/dist/chunks/{chunk.JE5CYHV7.js.map → chunk.5QJ7AXZI.js.map} +0 -0
  209. /package/dist/chunks/{chunk.5XDFJXF4.js.map → chunk.5SCJD5WU.js.map} +0 -0
  210. /package/dist/chunks/{chunk.5CFWIKAP.js.map → chunk.64R5IDA3.js.map} +0 -0
  211. /package/dist/chunks/{chunk.OU2AIKRU.js.map → chunk.67BRVWER.js.map} +0 -0
  212. /package/dist/chunks/{chunk.TQQBUW3P.js.map → chunk.6R7YON3X.js.map} +0 -0
  213. /package/dist/chunks/{chunk.A5G7CEV7.js.map → chunk.7AEOU77Z.js.map} +0 -0
  214. /package/dist/chunks/{chunk.WNF4NRJN.js.map → chunk.7BJR35V2.js.map} +0 -0
  215. /package/dist/chunks/{chunk.DSK2NBLO.js.map → chunk.7NCAU4SG.js.map} +0 -0
  216. /package/dist/chunks/{chunk.3CQZS3HX.js.map → chunk.7PFCOCUL.js.map} +0 -0
  217. /package/dist/chunks/{chunk.CGZXLBLU.js.map → chunk.7UWDCL2E.js.map} +0 -0
  218. /package/dist/chunks/{chunk.7UYZPGCY.js.map → chunk.7WGOR33F.js.map} +0 -0
  219. /package/dist/chunks/{chunk.ONN4HEIU.js.map → chunk.AI7XMKEG.js.map} +0 -0
  220. /package/dist/chunks/{chunk.JNACD4GF.js.map → chunk.AIIBCNDY.js.map} +0 -0
  221. /package/dist/chunks/{chunk.5CDMCUSS.js.map → chunk.AKLEIA25.js.map} +0 -0
  222. /package/dist/chunks/{chunk.GLSKWZOG.js.map → chunk.B7ZZ6VMD.js.map} +0 -0
  223. /package/dist/chunks/{chunk.5Z4M2BFV.js.map → chunk.BP4TXS3C.js.map} +0 -0
  224. /package/dist/chunks/{chunk.34QQBAFL.js.map → chunk.BT3H7NRL.js.map} +0 -0
  225. /package/dist/chunks/{chunk.A6YW46N2.js.map → chunk.CB4EM6XI.js.map} +0 -0
  226. /package/dist/chunks/{chunk.NT2LFBC5.js.map → chunk.CKH3LBPT.js.map} +0 -0
  227. /package/dist/chunks/{chunk.MTW4GHWW.js.map → chunk.D4UOWE7I.js.map} +0 -0
  228. /package/dist/chunks/{chunk.KIUKK7SE.js.map → chunk.DC4STZUN.js.map} +0 -0
  229. /package/dist/chunks/{chunk.R5P7Z2D4.js.map → chunk.DEYAJXTS.js.map} +0 -0
  230. /package/dist/chunks/{chunk.Q7SN4SCZ.js.map → chunk.E6RHBVFN.js.map} +0 -0
  231. /package/dist/chunks/{chunk.DJROLM7B.js.map → chunk.EDLMZUKT.js.map} +0 -0
  232. /package/dist/chunks/{chunk.GIIC3TC3.js.map → chunk.EPCEWT6Z.js.map} +0 -0
  233. /package/dist/chunks/{chunk.ZLZSJ4EV.js.map → chunk.EVR34RWT.js.map} +0 -0
  234. /package/dist/chunks/{chunk.MTKY4OTH.js.map → chunk.EYVTUZJF.js.map} +0 -0
  235. /package/dist/chunks/{chunk.3EIIG5FJ.js.map → chunk.FFX2ZDV4.js.map} +0 -0
  236. /package/dist/chunks/{chunk.XGNVTBYQ.js.map → chunk.FJMPKDDM.js.map} +0 -0
  237. /package/dist/chunks/{chunk.SKRPVBCI.js.map → chunk.GI4V6OSA.js.map} +0 -0
  238. /package/dist/chunks/{chunk.4TMZRPI3.js.map → chunk.GM4NUIIN.js.map} +0 -0
  239. /package/dist/chunks/{chunk.D3CLPZKP.js.map → chunk.HGRW3JIF.js.map} +0 -0
  240. /package/dist/chunks/{chunk.3772JTLE.js.map → chunk.HNBH6VSN.js.map} +0 -0
  241. /package/dist/chunks/{chunk.ET6QHX7P.js.map → chunk.HYBANFJV.js.map} +0 -0
  242. /package/dist/chunks/{chunk.ZU6EA5MN.js.map → chunk.IEPUYAM2.js.map} +0 -0
  243. /package/dist/chunks/{chunk.MRJD5TWF.js.map → chunk.JAYHDFIC.js.map} +0 -0
  244. /package/dist/chunks/{chunk.34UCHHN6.js.map → chunk.JR5XPIKY.js.map} +0 -0
  245. /package/dist/chunks/{chunk.2LWI4RZ4.js.map → chunk.JYBADF4D.js.map} +0 -0
  246. /package/dist/chunks/{chunk.TLG5XCVB.js.map → chunk.KPAPXCKU.js.map} +0 -0
  247. /package/dist/chunks/{chunk.Z75AMAON.js.map → chunk.KYQPST22.js.map} +0 -0
  248. /package/dist/chunks/{chunk.A7X3LD5O.js.map → chunk.LCPFGWTG.js.map} +0 -0
  249. /package/dist/chunks/{chunk.WXUP4LSL.js.map → chunk.LKVOBC7K.js.map} +0 -0
  250. /package/dist/chunks/{chunk.63VR2C4W.js.map → chunk.LRLGP2KX.js.map} +0 -0
  251. /package/dist/chunks/{chunk.CCFPJFMJ.js.map → chunk.LVU4QE66.js.map} +0 -0
  252. /package/dist/chunks/{chunk.WXAOXKDS.js.map → chunk.M2N4FGZX.js.map} +0 -0
  253. /package/dist/chunks/{chunk.AUAQBIXT.js.map → chunk.M5MVI36P.js.map} +0 -0
  254. /package/dist/chunks/{chunk.5THYZB2V.js.map → chunk.MA77XZD5.js.map} +0 -0
  255. /package/dist/chunks/{chunk.V7XY4EW4.js.map → chunk.MDJ5U3VM.js.map} +0 -0
  256. /package/dist/chunks/{chunk.R5FWGHRT.js.map → chunk.MHITWMRZ.js.map} +0 -0
  257. /package/dist/chunks/{chunk.KHJJZRDS.js.map → chunk.NGS4I7A7.js.map} +0 -0
  258. /package/dist/chunks/{chunk.XCWK5LCS.js.map → chunk.NPRLLDWT.js.map} +0 -0
  259. /package/dist/chunks/{chunk.TU2P4XXB.js.map → chunk.O6RT2A5C.js.map} +0 -0
  260. /package/dist/chunks/{chunk.7CY7UURL.js.map → chunk.OUYOEIYC.js.map} +0 -0
  261. /package/dist/chunks/{chunk.QMQKLEYS.js.map → chunk.PCHFZYAH.js.map} +0 -0
  262. /package/dist/chunks/{chunk.WCAJEXTY.js.map → chunk.PSETXBW3.js.map} +0 -0
  263. /package/dist/chunks/{chunk.PSWXHOHI.js.map → chunk.Q3AAD3GT.js.map} +0 -0
  264. /package/dist/chunks/{chunk.NS6PL3JB.js.map → chunk.Q3LU224X.js.map} +0 -0
  265. /package/dist/chunks/{chunk.TRPFIOGE.js.map → chunk.QWFBF22D.js.map} +0 -0
  266. /package/dist/chunks/{chunk.SUQC4U4A.js.map → chunk.QZZ7K7J4.js.map} +0 -0
  267. /package/dist/chunks/{chunk.APZ2WII6.js.map → chunk.R3PUCUMY.js.map} +0 -0
  268. /package/dist/chunks/{chunk.WT3ZI7DW.js.map → chunk.R7N3CY3V.js.map} +0 -0
  269. /package/dist/chunks/{chunk.IE4H6YW2.js.map → chunk.R7WILZHH.js.map} +0 -0
  270. /package/dist/chunks/{chunk.VQ6ZTO6I.js.map → chunk.RPZ35XIU.js.map} +0 -0
  271. /package/dist/chunks/{chunk.4XGVGLK5.js.map → chunk.S2BIDZND.js.map} +0 -0
  272. /package/dist/chunks/{chunk.T3BRKUPN.js.map → chunk.SN4SU5TH.js.map} +0 -0
  273. /package/dist/chunks/{chunk.XJ5DU7B7.js.map → chunk.SRVDFYW2.js.map} +0 -0
  274. /package/dist/chunks/{chunk.57PL5IRM.js.map → chunk.TITZNCI3.js.map} +0 -0
  275. /package/dist/chunks/{chunk.3NWHTFL6.js.map → chunk.U2AD3HCH.js.map} +0 -0
  276. /package/dist/chunks/{chunk.47VCIQKD.js.map → chunk.USLXLTS3.js.map} +0 -0
  277. /package/dist/chunks/{chunk.4JUKDIBS.js.map → chunk.UT7OYGKG.js.map} +0 -0
  278. /package/dist/chunks/{chunk.2HCXENAK.js.map → chunk.VJLJ5L6B.js.map} +0 -0
  279. /package/dist/chunks/{chunk.N7ETASU6.js.map → chunk.VTFF45ES.js.map} +0 -0
  280. /package/dist/chunks/{chunk.CEHMU3XE.js.map → chunk.WVPCT65Q.js.map} +0 -0
  281. /package/dist/chunks/{chunk.27UV3L7Y.js.map → chunk.XFCNRZPE.js.map} +0 -0
  282. /package/dist/chunks/{chunk.B6XMZI6V.js.map → chunk.XUJI3JG6.js.map} +0 -0
  283. /package/dist/chunks/{chunk.PW5HS52L.js.map → chunk.YJZOX4R6.js.map} +0 -0
  284. /package/dist/chunks/{chunk.AY76ZLPJ.js.map → chunk.YLUQRS4Q.js.map} +0 -0
  285. /package/dist/chunks/{chunk.MSVUXIPU.js.map → chunk.YQUO6VHZ.js.map} +0 -0
  286. /package/dist/chunks/{chunk.GBAC5ULK.js.map → chunk.YS5HJTNN.js.map} +0 -0
  287. /package/dist/chunks/{chunk.JXJ2SRZQ.js.map → chunk.YVGW3RT6.js.map} +0 -0
  288. /package/dist/chunks/{chunk.R6W7LZLP.js.map → chunk.YZQ6KAJW.js.map} +0 -0
  289. /package/dist/chunks/{chunk.2XPEM2NX.js.map → chunk.ZHAHZBVB.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynTooltip
3
- } from "./chunk.KHJJZRDS.js";
3
+ } from "./chunk.NGS4I7A7.js";
4
4
  import {
5
5
  arraysDiffer,
6
6
  getNormalizedValueFromClientX,
@@ -32,7 +32,7 @@ import {
32
32
  } from "./chunk.NLYVOJGK.js";
33
33
  import {
34
34
  SynergyElement
35
- } from "./chunk.JUHXJJI2.js";
35
+ } from "./chunk.TCUZ4C2D.js";
36
36
  import {
37
37
  __decorateClass,
38
38
  __privateAdd,
@@ -679,4 +679,4 @@ __decorateClass([
679
679
  export {
680
680
  SynRange
681
681
  };
682
- //# sourceMappingURL=chunk.SUQC4U4A.js.map
682
+ //# sourceMappingURL=chunk.QZZ7K7J4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynTooltip
3
- } from "./chunk.KHJJZRDS.js";
3
+ } from "./chunk.NGS4I7A7.js";
4
4
 
5
5
  // src/components/tooltip/tooltip.ts
6
6
  var tooltip_default = SynTooltip;
@@ -9,4 +9,4 @@ SynTooltip.define("syn-tooltip");
9
9
  export {
10
10
  tooltip_default
11
11
  };
12
- //# sourceMappingURL=chunk.APZ2WII6.js.map
12
+ //# sourceMappingURL=chunk.R3PUCUMY.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynDialog
3
- } from "./chunk.5CDMCUSS.js";
3
+ } from "./chunk.AKLEIA25.js";
4
4
 
5
5
  // src/components/dialog/dialog.ts
6
6
  var dialog_default = SynDialog;
@@ -9,4 +9,4 @@ SynDialog.define("syn-dialog");
9
9
  export {
10
10
  dialog_default
11
11
  };
12
- //# sourceMappingURL=chunk.WT3ZI7DW.js.map
12
+ //# sourceMappingURL=chunk.R7N3CY3V.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk.3B22DBSJ.js";
7
7
  import {
8
8
  SynDivider
9
- } from "./chunk.Q7SN4SCZ.js";
9
+ } from "./chunk.E6RHBVFN.js";
10
10
  import {
11
11
  defaultValue
12
12
  } from "./chunk.3NXKLKWH.js";
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk.WVVQK5TE.js";
23
23
  import {
24
24
  SynIcon
25
- } from "./chunk.D3CLPZKP.js";
25
+ } from "./chunk.HGRW3JIF.js";
26
26
  import {
27
27
  LocalizeController
28
28
  } from "./chunk.GIU3H3J3.js";
@@ -34,7 +34,7 @@ import {
34
34
  } from "./chunk.NLYVOJGK.js";
35
35
  import {
36
36
  SynergyElement
37
- } from "./chunk.JUHXJJI2.js";
37
+ } from "./chunk.TCUZ4C2D.js";
38
38
  import {
39
39
  __decorateClass,
40
40
  __spreadValues
@@ -644,4 +644,4 @@ __decorateClass([
644
644
  export {
645
645
  SynInput
646
646
  };
647
- //# sourceMappingURL=chunk.IE4H6YW2.js.map
647
+ //# sourceMappingURL=chunk.R7WILZHH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRange
3
- } from "./chunk.SUQC4U4A.js";
3
+ } from "./chunk.QZZ7K7J4.js";
4
4
 
5
5
  // src/components/range/range.ts
6
6
  var range_default = SynRange;
@@ -9,4 +9,4 @@ SynRange.define("syn-range");
9
9
  export {
10
10
  range_default
11
11
  };
12
- //# sourceMappingURL=chunk.VQ6ZTO6I.js.map
12
+ //# sourceMappingURL=chunk.RPZ35XIU.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk.S22BO5SF.js";
7
7
  import {
8
8
  SynIcon
9
- } from "./chunk.D3CLPZKP.js";
9
+ } from "./chunk.HGRW3JIF.js";
10
10
  import {
11
11
  LocalizeController
12
12
  } from "./chunk.GIU3H3J3.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk.NLYVOJGK.js";
16
16
  import {
17
17
  SynergyElement
18
- } from "./chunk.JUHXJJI2.js";
18
+ } from "./chunk.TCUZ4C2D.js";
19
19
  import {
20
20
  __decorateClass
21
21
  } from "./chunk.2GFK6XTO.js";
@@ -91,4 +91,4 @@ __decorateClass([
91
91
  export {
92
92
  SynBreadcrumb
93
93
  };
94
- //# sourceMappingURL=chunk.4XGVGLK5.js.map
94
+ //# sourceMappingURL=chunk.S2BIDZND.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynButtonGroup
3
- } from "./chunk.ONN4HEIU.js";
3
+ } from "./chunk.AI7XMKEG.js";
4
4
 
5
5
  // src/components/button-group/button-group.ts
6
6
  var button_group_default = SynButtonGroup;
@@ -9,4 +9,4 @@ SynButtonGroup.define("syn-button-group");
9
9
  export {
10
10
  button_group_default
11
11
  };
12
- //# sourceMappingURL=chunk.T3BRKUPN.js.map
12
+ //# sourceMappingURL=chunk.SN4SU5TH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynMenuLabel
3
- } from "./chunk.R5FWGHRT.js";
3
+ } from "./chunk.MHITWMRZ.js";
4
4
 
5
5
  // src/components/menu-label/menu-label.ts
6
6
  var menu_label_default = SynMenuLabel;
@@ -9,4 +9,4 @@ SynMenuLabel.define("syn-menu-label");
9
9
  export {
10
10
  menu_label_default
11
11
  };
12
- //# sourceMappingURL=chunk.XJ5DU7B7.js.map
12
+ //# sourceMappingURL=chunk.SRVDFYW2.js.map
@@ -81,7 +81,7 @@ var SynergyElement = class extends LitElement {
81
81
  _hasRecordedInitialProperties = new WeakMap();
82
82
  /* eslint-disable */
83
83
  // @ts-expect-error This is auto-injected at build time.
84
- SynergyElement.version = "2.18.4";
84
+ SynergyElement.version = "2.18.5";
85
85
  SynergyElement.dependencies = {};
86
86
  __decorateClass([
87
87
  property()
@@ -93,4 +93,4 @@ __decorateClass([
93
93
  export {
94
94
  SynergyElement
95
95
  };
96
- //# sourceMappingURL=chunk.JUHXJJI2.js.map
96
+ //# sourceMappingURL=chunk.TCUZ4C2D.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/internal/synergy-element.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 { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"2.18.4\";\n \n\n static define(name: string, elementConstructor = this, options: ElementDefinitionOptions = {}) {\n const currentlyRegisteredConstructor = customElements.get(name) as\n | CustomElementConstructor\n | typeof SynergyElement;\n\n if (!currentlyRegisteredConstructor) {\n // We try to register as the actual class first. If for some reason that fails, we fall back to anonymous classes.\n // customElements can only have 1 class of the same \"object id\" per registry, so that is why the try {} catch {} exists.\n // Some tools like Jest Snapshots and if you import the constructor and call `new SynButton()` they will fail with\n // the anonymous class version.\n try {\n customElements.define(name, elementConstructor, options);\n } catch (_err) {\n customElements.define(name, class extends elementConstructor {}, options);\n }\n return;\n }\n\n let newVersion = ' (unknown version)';\n let existingVersion = newVersion;\n\n if ('version' in elementConstructor && elementConstructor.version) {\n newVersion = ' v' + elementConstructor.version;\n }\n\n if ('version' in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = ' v' + currentlyRegisteredConstructor.version;\n }\n\n // Need to make sure we're not working with null or empty strings before doing version comparisons.\n if (newVersion && existingVersion && newVersion === existingVersion) {\n // If versions match, we don't need to warn anyone. Carry on.\n return;\n }\n\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n\n static dependencies: Record<string, typeof SynergyElement> = {};\n\n constructor() {\n super();\n Object.entries((this.constructor as typeof SynergyElement).dependencies).forEach(([name, component]) => {\n (this.constructor as typeof SynergyElement).define(name, component);\n });\n }\n\n #hasRecordedInitialProperties = false;\n\n // Store the constructor value of all `static properties = {}`\n initialReflectedProperties: Map<string, unknown> = new Map();\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (!this.#hasRecordedInitialProperties) {\n (this.constructor as typeof SynergyElement).elementProperties.forEach(\n (obj, prop: keyof typeof this & string) => {\n // eslint-disable-next-line\n if (obj.reflect && this[prop] != null) {\n this.initialReflectedProperties.set(prop, this[prop]);\n }\n }\n );\n\n this.#hasRecordedInitialProperties = true;\n }\n\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n protected willUpdate(changedProperties: Parameters<LitElement['willUpdate']>[0]): void {\n super.willUpdate(changedProperties);\n\n // Run the morph fixing *after* willUpdate.\n this.initialReflectedProperties.forEach((value, prop: string & keyof typeof this) => {\n // If a prop changes to `null`, we assume this happens via an attribute changing to `null`.\n // eslint-disable-next-line\n if (changedProperties.has(prop) && this[prop] == null) {\n // Silly type gymnastics to appease the compiler.\n (this as Record<string, unknown>)[prop] = value;\n }\n });\n }\n}\n\nexport interface SynergyFormControl extends SynergyElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | 'any';\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n\n // Form validation properties\n readonly validity: ValidityState;\n readonly validationMessage: string;\n\n // Form validation methods\n checkValidity: () => boolean;\n getForm: () => HTMLFormElement | null;\n reportValidity: () => boolean;\n setCustomValidity: (message: string) => void;\n}\n"],
4
+ "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"2.18.5\";\n \n\n static define(name: string, elementConstructor = this, options: ElementDefinitionOptions = {}) {\n const currentlyRegisteredConstructor = customElements.get(name) as\n | CustomElementConstructor\n | typeof SynergyElement;\n\n if (!currentlyRegisteredConstructor) {\n // We try to register as the actual class first. If for some reason that fails, we fall back to anonymous classes.\n // customElements can only have 1 class of the same \"object id\" per registry, so that is why the try {} catch {} exists.\n // Some tools like Jest Snapshots and if you import the constructor and call `new SynButton()` they will fail with\n // the anonymous class version.\n try {\n customElements.define(name, elementConstructor, options);\n } catch (_err) {\n customElements.define(name, class extends elementConstructor {}, options);\n }\n return;\n }\n\n let newVersion = ' (unknown version)';\n let existingVersion = newVersion;\n\n if ('version' in elementConstructor && elementConstructor.version) {\n newVersion = ' v' + elementConstructor.version;\n }\n\n if ('version' in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = ' v' + currentlyRegisteredConstructor.version;\n }\n\n // Need to make sure we're not working with null or empty strings before doing version comparisons.\n if (newVersion && existingVersion && newVersion === existingVersion) {\n // If versions match, we don't need to warn anyone. Carry on.\n return;\n }\n\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n\n static dependencies: Record<string, typeof SynergyElement> = {};\n\n constructor() {\n super();\n Object.entries((this.constructor as typeof SynergyElement).dependencies).forEach(([name, component]) => {\n (this.constructor as typeof SynergyElement).define(name, component);\n });\n }\n\n #hasRecordedInitialProperties = false;\n\n // Store the constructor value of all `static properties = {}`\n initialReflectedProperties: Map<string, unknown> = new Map();\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (!this.#hasRecordedInitialProperties) {\n (this.constructor as typeof SynergyElement).elementProperties.forEach(\n (obj, prop: keyof typeof this & string) => {\n // eslint-disable-next-line\n if (obj.reflect && this[prop] != null) {\n this.initialReflectedProperties.set(prop, this[prop]);\n }\n }\n );\n\n this.#hasRecordedInitialProperties = true;\n }\n\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n protected willUpdate(changedProperties: Parameters<LitElement['willUpdate']>[0]): void {\n super.willUpdate(changedProperties);\n\n // Run the morph fixing *after* willUpdate.\n this.initialReflectedProperties.forEach((value, prop: string & keyof typeof this) => {\n // If a prop changes to `null`, we assume this happens via an attribute changing to `null`.\n // eslint-disable-next-line\n if (changedProperties.has(prop) && this[prop] == null) {\n // Silly type gymnastics to appease the compiler.\n (this as Record<string, unknown>)[prop] = value;\n }\n });\n }\n}\n\nexport interface SynergyFormControl extends SynergyElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | 'any';\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n\n // Form validation properties\n readonly validity: ValidityState;\n readonly validationMessage: string;\n\n // Form validation methods\n checkValidity: () => boolean;\n getForm: () => HTMLFormElement | null;\n reportValidity: () => boolean;\n setCustomValidity: (message: string) => void;\n}\n"],
5
5
  "mappings": ";;;;;;;;;AAQA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AATzB;AAwEA,IAAqB,iBAArB,cAA4C,WAAW;AAAA,EA8ErD,cAAc;AACZ,UAAM;AAMR,sDAAgC;AAGhC;AAAA,sCAAmD,oBAAI,IAAI;AARzD,WAAO,QAAS,KAAK,YAAsC,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,SAAS,MAAM;AACtG,MAAC,KAAK,YAAsC,OAAO,MAAM,SAAS;AAAA,IACpE,CAAC;AAAA,EACH;AAAA,EArEA,KACE,MACA,SACuB;AACvB,UAAM,QAAQ,IAAI,YAAY,MAAM;AAAA,MAClC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,QAAQ,CAAC;AAAA,OACN,QACJ;AAED,SAAK,cAAc,KAAK;AAExB,WAAO;AAAA,EACT;AAAA,EAOA,OAAO,OAAO,MAAc,qBAAqB,MAAM,UAAoC,CAAC,GAAG;AAC7F,UAAM,iCAAiC,eAAe,IAAI,IAAI;AAI9D,QAAI,CAAC,gCAAgC;AAKnC,UAAI;AACF,uBAAe,OAAO,MAAM,oBAAoB,OAAO;AAAA,MACzD,SAAS,MAAM;AACb,uBAAe,OAAO,MAAM,cAAc,mBAAmB;AAAA,QAAC,GAAG,OAAO;AAAA,MAC1E;AACA;AAAA,IACF;AAEA,QAAI,aAAa;AACjB,QAAI,kBAAkB;AAEtB,QAAI,aAAa,sBAAsB,mBAAmB,SAAS;AACjE,mBAAa,OAAO,mBAAmB;AAAA,IACzC;AAEA,QAAI,aAAa,kCAAkC,+BAA+B,SAAS;AACzF,wBAAkB,OAAO,+BAA+B;AAAA,IAC1D;AAGA,QAAI,cAAc,mBAAmB,eAAe,iBAAiB;AAEnE;AAAA,IACF;AAEA,YAAQ;AAAA,MACN,0BAA0B,IAAI,IAAI,UAAU,UAAU,IAAI,IAAI,eAAe;AAAA,IAC/E;AAAA,EACF;AAAA,EAgBA,yBAAyB,MAAc,UAAyB,UAAyB;AACvF,QAAI,CAAC,mBAAK,gCAA+B;AACvC,MAAC,KAAK,YAAsC,kBAAkB;AAAA,QAC5D,CAAC,KAAK,SAAqC;AAEzC,cAAI,IAAI,WAAW,KAAK,IAAI,KAAK,MAAM;AACrC,iBAAK,2BAA2B,IAAI,MAAM,KAAK,IAAI,CAAC;AAAA,UACtD;AAAA,QACF;AAAA,MACF;AAEA,yBAAK,+BAAgC;AAAA,IACvC;AAEA,UAAM,yBAAyB,MAAM,UAAU,QAAQ;AAAA,EACzD;AAAA,EAEU,WAAW,mBAAkE;AACrF,UAAM,WAAW,iBAAiB;AAGlC,SAAK,2BAA2B,QAAQ,CAAC,OAAO,SAAqC;AAGnF,UAAI,kBAAkB,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM;AAErD,QAAC,KAAiC,IAAI,IAAI;AAAA,MAC5C;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAnCE;AAAA;AAAA;AArFmB,eAiCZ,UAAU;AAjCE,eA4EZ,eAAsD,CAAC;AA1ElD;AAAA,EAAX,SAAS;AAAA,GAFS,eAEP;AACA;AAAA,EAAX,SAAS;AAAA,GAHS,eAGP;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynCard
3
- } from "./chunk.Z75AMAON.js";
3
+ } from "./chunk.KYQPST22.js";
4
4
 
5
5
  // src/components/card/card.ts
6
6
  var card_default = SynCard;
@@ -9,4 +9,4 @@ SynCard.define("syn-card");
9
9
  export {
10
10
  card_default
11
11
  };
12
- //# sourceMappingURL=chunk.57PL5IRM.js.map
12
+ //# sourceMappingURL=chunk.TITZNCI3.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynValidate
3
- } from "./chunk.D2HQNTMF.js";
3
+ } from "./chunk.WXHJLPTU.js";
4
4
 
5
5
  // src/components/validate/validate.ts
6
6
  var validate_default = SynValidate;
@@ -9,4 +9,4 @@ SynValidate.define("syn-validate");
9
9
  export {
10
10
  validate_default
11
11
  };
12
- //# sourceMappingURL=chunk.3NWHTFL6.js.map
12
+ //# sourceMappingURL=chunk.U2AD3HCH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynIconButton
3
- } from "./chunk.VO7K57S2.js";
3
+ } from "./chunk.3VU4IPRN.js";
4
4
 
5
5
  // src/components/icon-button/icon-button.ts
6
6
  var icon_button_default = SynIconButton;
@@ -9,4 +9,4 @@ SynIconButton.define("syn-icon-button");
9
9
  export {
10
10
  icon_button_default
11
11
  };
12
- //# sourceMappingURL=chunk.47VCIQKD.js.map
12
+ //# sourceMappingURL=chunk.USLXLTS3.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynOption
3
- } from "./chunk.R6W7LZLP.js";
3
+ } from "./chunk.YZQ6KAJW.js";
4
4
 
5
5
  // src/components/option/option.ts
6
6
  var option_default = SynOption;
@@ -9,4 +9,4 @@ SynOption.define("syn-option");
9
9
  export {
10
10
  option_default
11
11
  };
12
- //# sourceMappingURL=chunk.4JUKDIBS.js.map
12
+ //# sourceMappingURL=chunk.UT7OYGKG.js.map
@@ -6,13 +6,13 @@ import {
6
6
  } from "./chunk.PKYC7QF3.js";
7
7
  import {
8
8
  SynResizeObserver
9
- } from "./chunk.34QQBAFL.js";
9
+ } from "./chunk.BT3H7NRL.js";
10
10
  import {
11
11
  scrollIntoView
12
12
  } from "./chunk.5732DMBC.js";
13
13
  import {
14
14
  SynIconButton
15
- } from "./chunk.VO7K57S2.js";
15
+ } from "./chunk.3VU4IPRN.js";
16
16
  import {
17
17
  LocalizeController
18
18
  } from "./chunk.GIU3H3J3.js";
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk.NLYVOJGK.js";
25
25
  import {
26
26
  SynergyElement
27
- } from "./chunk.JUHXJJI2.js";
27
+ } from "./chunk.TCUZ4C2D.js";
28
28
  import {
29
29
  __decorateClass,
30
30
  __spreadValues
@@ -497,4 +497,4 @@ __decorateClass([
497
497
  export {
498
498
  SynTabGroup
499
499
  };
500
- //# sourceMappingURL=chunk.2HCXENAK.js.map
500
+ //# sourceMappingURL=chunk.VJLJ5L6B.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynMenu
3
- } from "./chunk.3SDAHRIK.js";
3
+ } from "./chunk.3FVOIP6C.js";
4
4
 
5
5
  // src/components/menu/menu.ts
6
6
  var menu_default = SynMenu;
@@ -9,4 +9,4 @@ SynMenu.define("syn-menu");
9
9
  export {
10
10
  menu_default
11
11
  };
12
- //# sourceMappingURL=chunk.N7ETASU6.js.map
12
+ //# sourceMappingURL=chunk.VTFF45ES.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynNavItem
3
- } from "./chunk.JXJ2SRZQ.js";
3
+ } from "./chunk.YVGW3RT6.js";
4
4
 
5
5
  // src/components/nav-item/nav-item.ts
6
6
  var nav_item_default = SynNavItem;
@@ -9,4 +9,4 @@ SynNavItem.define("syn-nav-item");
9
9
  export {
10
10
  nav_item_default
11
11
  };
12
- //# sourceMappingURL=chunk.CEHMU3XE.js.map
12
+ //# sourceMappingURL=chunk.WVPCT65Q.js.map
@@ -3,13 +3,13 @@ import {
3
3
  isBlurEvent,
4
4
  isInvalidEvent,
5
5
  normalizeEventAttribute
6
- } from "./chunk.WFUFZLYE.js";
6
+ } from "./chunk.35KOXBIM.js";
7
7
  import {
8
8
  validate_styles_default
9
9
  } from "./chunk.MVM3NN6Y.js";
10
10
  import {
11
11
  SynAlert
12
- } from "./chunk.TQQBUW3P.js";
12
+ } from "./chunk.6R7YON3X.js";
13
13
  import {
14
14
  watch
15
15
  } from "./chunk.74IOULXM.js";
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk.NLYVOJGK.js";
19
19
  import {
20
20
  SynergyElement
21
- } from "./chunk.JUHXJJI2.js";
21
+ } from "./chunk.TCUZ4C2D.js";
22
22
  import {
23
23
  __decorateClass
24
24
  } from "./chunk.2GFK6XTO.js";
@@ -197,8 +197,14 @@ var SynValidate = class extends SynergyElement {
197
197
  var _a, _b;
198
198
  super.firstUpdated(changedProperties);
199
199
  this.updateEvents();
200
+ const input = this.getInput();
201
+ if (this.customValidationMessage) {
202
+ if (input instanceof SynergyElement) {
203
+ await input.updateComplete;
204
+ }
205
+ input == null ? void 0 : input.setCustomValidity(this.customValidationMessage);
206
+ }
200
207
  if (this.eager) {
201
- const input = this.getInput();
202
208
  await this.updateComplete;
203
209
  this.isValid = (_b = (_a = input == null ? void 0 : input.validity) == null ? void 0 : _a.valid) != null ? _b : false;
204
210
  input == null ? void 0 : input.reportValidity();
@@ -318,4 +324,4 @@ __decorateClass([
318
324
  export {
319
325
  SynValidate
320
326
  };
321
- //# sourceMappingURL=chunk.D2HQNTMF.js.map
327
+ //# sourceMappingURL=chunk.WXHJLPTU.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/validate/validate.component.ts"],
4
- "sourcesContent": ["import type { CSSResultGroup, PropertyValues } from 'lit';\nimport { html } from 'lit';\nimport { property, queryAssignedElements, state } from 'lit/decorators.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport { watch } from '../../internal/watch.js';\nimport SynAlert from '../alert/alert.component.js';\nimport {\n getEventNameForElement,\n isBlurEvent,\n isInvalidEvent,\n normalizeEventAttribute,\n} from './utility.js';\nimport styles from './validate.styles.js';\n\n/**\n * @summary Validate provides form field validation messages in a unified way.\n * It does this by using [the native browser validation](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation)\n * and showing the validation message in a consistent, user defined way.\n *\n * @dependency syn-alert\n *\n * @slot - The form field that should be validated.\n * Avoid slotting in more than one element, as subsequent ones will be ignored.\n *\n * @csspart base - The component's base wrapper.\n * @csspart input-wrapper - The container that wraps the form field.\n * @csspart alert - The syn-alert that is shown when the variant is set to \"inline\".\n * @csspart alert__base - The container that wraps the alert.\n * @csspart alert__message - The container that wraps the alert message.\n * @csspart alert__icon - The container that wraps the alert icon.\n */\nexport default class SynValidate extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles];\n\n static dependencies = {\n 'syn-alert': SynAlert,\n };\n\n controller = new AbortController();\n\n observer: MutationObserver;\n\n @queryAssignedElements() private slottedChildren: HTMLElement[];\n\n @state() validationMessage = '';\n\n @state() eagerFirstMount = true;\n\n @state() isInternalTriggeredInvalid = false;\n\n @state() isValid = true;\n\n /**\n * The variant that should be used to show validation alerts.\n *\n * The following variants are supported:\n * - **native** (default): Uses the native browser validation, usually a browser tooltip.\n * - **inline**: Show the validation message underneath the element, using a `<syn-alert>`\n */\n @property({ reflect: true }) variant: 'native' | 'inline' = 'native';\n\n /** Do not show the error icon when using the inline variant validation */\n @property({ attribute: 'hide-icon', reflect: true, type: Boolean }) hideIcon = false;\n\n /**\n * Defines the events that trigger the validation.\n * `invalid` will always automatically be included.\n * You may also use the `live` keyword to validate on every input change.\n * `live` will make sure to listen to the `invalid`, `input` and `blur` events.\n *\n * Please have a look at the [documentation for native form validation](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation)\n * and [the use of form invalid events](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event) for further information.\n *\n * @example ```html\n * <!-- Validate on invalid and change events (invalid, change) -->\n * <syn-validate on=\"invalid change\"></syn-validate>\n *\n * <!-- Validate on live events (invalid, blur, input)-->\n * <syn-validate on=\"live\"></syn-validate>\n *\n * <!-- Validate on live and custom events (invalid, blur, input, focus, change) -->\n * <syn-validate on=\"live focus change\"></syn-validate>\n * ```\n */\n @property({ reflect: true }) on: string = '';\n\n /**\n * Custom validation message to be displayed when the input is invalid.\n * Will override the default browser validation message.\n * Set to an empty string to reset the validation message.\n */\n @property({ attribute: 'custom-validation-message', type: String }) customValidationMessage = '';\n\n /**\n * Set this to true to validate the input immediately when it is rendered.\n * Best used with a `variant` of `inline`.\n * When setting eager, the input will not be focused automatically.\n *\n * When using a `variant` of `native` the browser will focus\n * the last eager field as it is using a tooltip.\n * In this case it is better to just provide one eager field.\n */\n @property({ type: Boolean }) eager = false;\n\n // Automatically refresh all event listeners when the on property changes.\n @watch('on', { waitUntilFirstUpdate: true })\n handleListenerChange() {\n this.updateEvents();\n }\n\n @watch('eager', { waitUntilFirstUpdate: false })\n async handleEagerChange() {\n if (this.eager) {\n const input = this.getInput();\n await this.updateComplete;\n input?.reportValidity();\n this.eagerFirstMount = true;\n } else {\n this.eagerFirstMount = false;\n }\n }\n\n // Synchronize the validation message on the wrapped input with the custom message\n @watch('customValidationMessage', { waitUntilFirstUpdate: true })\n handleCustomValidationMessageChange() {\n const input = this.getInput();\n if (input) {\n this.setCustomValidationMessage(input);\n this.setValidationMessage(input);\n }\n }\n\n /**\n * Returns the validity state of the input component.\n * `true` for valid and `false` for invalid.\n */\n getValidity() {\n return this.isValid;\n }\n\n /**\n * Get the input element to validate. Defined as the first slotted element\n * @returns The input element or undefined if not found\n */\n private getInput() {\n const input = this.slottedChildren[0];\n return input ? input as HTMLInputElement : undefined;\n }\n\n /**\n * Get the event names to listen for.\n * If the input is a synergy element, will use syn- prefixes.\n * @returns The event names to listen for\n */\n // eslint-disable-next-line complexity\n private getUsedEventNames() {\n const input = this.getInput();\n\n // If there is no input, skip before doing any harm\n if (!input) {\n return [];\n }\n\n // Make sure to always use an array of events\n // This is needed because on may be a special value like \"live\"\n const on = normalizeEventAttribute(this.on);\n\n // Filter makes sure to remove empty values, e.g.\n // <syn-validate on=\"\"></syn-validate>\n const [...events] = on.filter(Boolean);\n\n // Make sure to always have an invalid event\n if (!events.includes('invalid')) {\n events.push('invalid');\n }\n\n // Special handling for the live keyword:\n // live always means on input and blur\n if (events.includes('live')) {\n events.push('input');\n events.push('blur');\n }\n\n // Make sure to remove duplicated events and the live property\n // and map the events to the correct event names\n return Array.from(new Set(\n events\n .filter(e => e !== 'live')\n .map(e => getEventNameForElement(input, e)),\n ));\n }\n\n /**\n * Update the events on the input element.\n */\n private updateEvents() {\n this.controller.abort();\n this.controller = new AbortController();\n const input = this.getInput();\n\n if (!input) {\n return;\n }\n\n const events = this.getUsedEventNames();\n events.forEach(eventName => {\n input.addEventListener(eventName, this.validate, {\n capture: isInvalidEvent(eventName),\n signal: this.controller.signal,\n });\n });\n\n // If the change event is not included,\n // make sure to attach a custom listener that resets the validation message\n // This is needed as the custom message may be set on change\n const usedChangeEvent = getEventNameForElement(input, 'change');\n if (!events.includes(usedChangeEvent)) {\n input.addEventListener(usedChangeEvent, this.internalRevalidate, {\n signal: this.controller.signal,\n });\n }\n }\n\n private setValidationMessage(input: HTMLInputElement) {\n const { customValidationMessage } = this;\n const validationMessage = customValidationMessage || input.validationMessage;\n this.validationMessage = validationMessage;\n }\n\n /**\n * Set the custom validation message to the input. This will make sure to either:\n * - use the custom message if one is set or\n * - use the default message if the custom message is empty\n */\n private setCustomValidationMessage(input: HTMLInputElement) {\n // Set the custom validation message on the input only once, when the customValidationMessage\n // is changed. Otherwise there could be problems with `variant=\"native\"` and `on=\"live\"` or\n // `on=\"blur\"`, because the browser popup will never disappear even if clicking somewhere else.\n input.setCustomValidity(this.customValidationMessage);\n }\n\n /**\n * Set the validation message from the input element\n * @param e The event that was received\n */\n private internalRevalidate = (e: Event) => {\n const input = e.currentTarget as HTMLInputElement;\n if (input.validity?.valid) {\n this.validationMessage = '';\n }\n };\n\n /**\n * Handle the blur event during validation\n */\n // eslint-disable-next-line class-methods-use-this\n private handleFocus(input: HTMLInputElement) {\n const activeElement = document.activeElement! as HTMLInputElement;\n const activeElementIsWrapped = activeElement.closest('syn-validate');\n\n if (!activeElement.validity?.valid && activeElementIsWrapped) {\n // The active element is invalid do not scroll\n return;\n }\n\n input.scrollIntoView({ block: 'nearest' });\n input.focus();\n }\n\n /**\n * Triggers a validation run, showing the validation message if needed.\n */\n // eslint-disable-next-line complexity\n private validate = (e: Event) => {\n // Make sure to stop the validate component from going into an endless cycle of triggering\n if (isInvalidEvent(e.type) && this.variant === 'native' && this.isInternalTriggeredInvalid === true) {\n this.isInternalTriggeredInvalid = false;\n return;\n }\n\n // Make sure to always prevent the invalid event when not using native validation\n if (isInvalidEvent(e.type) && this.variant !== 'native') {\n e.preventDefault();\n e.stopPropagation();\n }\n\n const input = e.currentTarget as HTMLInputElement;\n this.isValid = input.validity?.valid;\n\n // When we are using eager, make sure to skip focus on the first mount\n if (this.eager && this.eagerFirstMount) {\n this.eagerFirstMount = false;\n this.setValidationMessage(input);\n return;\n }\n\n // If the active element that has focus is placed in a validate component,\n // make sure to not loose focus.\n if (!this.isValid && !isBlurEvent(e.type)) {\n this.handleFocus(input);\n }\n\n this.setValidationMessage(input);\n\n // Trigger reportValidity when using native validation, so the browser popup is also shown\n // for other events than `invalid`. All events except the blur event, should trigger this.\n if (!isBlurEvent(e.type) && this.variant === 'native') {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.updateComplete.then(() => {\n this.isInternalTriggeredInvalid = true;\n input.reportValidity();\n });\n }\n };\n\n async firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.updateEvents();\n\n // Make sure to run validation on mount if eager is set\n if (this.eager) {\n const input = this.getInput();\n await this.updateComplete;\n this.isValid = input?.validity?.valid ?? false;\n input?.reportValidity();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n // #717: Make sure to remove to rerun validation when\n // disabled or readonly properties change on the input\n this.observer = new MutationObserver(entries => {\n const input = this.getInput();\n\n if (!input) {\n return;\n }\n\n const hasDisabledOrReadonly = entries\n // Only check for changes on the input element\n .filter(({ target }) => target === input)\n // Check if the input is disabled or readonly\n .every(entry => {\n const target = entry.target as HTMLInputElement;\n return target.hasAttribute('disabled') || target.hasAttribute('readonly');\n });\n\n if (hasDisabledOrReadonly) {\n this.isValid = true;\n this.validationMessage = '';\n } else {\n // When using a synergy element, we need to check the validity after the element is updated,\n // as we cannot rely on the validity state of the element itself.\n // Unfortunately, this depends on used browser :(.\n const waitForPromise = input instanceof SynergyElement\n ? input.updateComplete\n : Promise.resolve();\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n waitForPromise.then(() => {\n this.isValid = input?.validity?.valid ?? false;\n this.validationMessage = input?.validationMessage ?? '';\n });\n }\n });\n\n this.observer.observe(this, {\n attributeFilter: ['disabled', 'readonly'],\n attributes: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.controller.abort();\n this?.observer?.disconnect();\n }\n\n private renderInlineValidation() {\n if (this.variant !== 'inline' || !this.validationMessage) {\n return '';\n }\n\n return html`\n <syn-alert\n open\n exportparts=\"base:alert__base,message:alert__message,icon:alert__icon\"\n part=\"alert\"\n variant=\"danger\"\n >\n ${!this.hideIcon\n ? html`<syn-icon slot=\"icon\" name=\"error\" library=\"system\"></syn-icon>`\n : ''\n }\n ${this.validationMessage}\n </syn-alert>\n `;\n }\n\n render() {\n return html`\n <div\n class=\"validate\"\n part=\"base\"\n >\n <slot\n class=\"validate__input-wrapper\"\n part=\"input-wrapper\"\n ></slot>\n \n ${this.renderInlineValidation()}\n </div>\n `;\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { CSSResultGroup, PropertyValues } from 'lit';\nimport { html } from 'lit';\nimport { property, queryAssignedElements, state } from 'lit/decorators.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport { watch } from '../../internal/watch.js';\nimport SynAlert from '../alert/alert.component.js';\nimport {\n getEventNameForElement,\n isBlurEvent,\n isInvalidEvent,\n normalizeEventAttribute,\n} from './utility.js';\nimport styles from './validate.styles.js';\n\n/**\n * @summary Validate provides form field validation messages in a unified way.\n * It does this by using [the native browser validation](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation)\n * and showing the validation message in a consistent, user defined way.\n *\n * @dependency syn-alert\n *\n * @slot - The form field that should be validated.\n * Avoid slotting in more than one element, as subsequent ones will be ignored.\n *\n * @csspart base - The component's base wrapper.\n * @csspart input-wrapper - The container that wraps the form field.\n * @csspart alert - The syn-alert that is shown when the variant is set to \"inline\".\n * @csspart alert__base - The container that wraps the alert.\n * @csspart alert__message - The container that wraps the alert message.\n * @csspart alert__icon - The container that wraps the alert icon.\n */\nexport default class SynValidate extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles];\n\n static dependencies = {\n 'syn-alert': SynAlert,\n };\n\n controller = new AbortController();\n\n observer: MutationObserver;\n\n @queryAssignedElements() private slottedChildren: HTMLElement[];\n\n @state() validationMessage = '';\n\n @state() eagerFirstMount = true;\n\n @state() isInternalTriggeredInvalid = false;\n\n @state() isValid = true;\n\n /**\n * The variant that should be used to show validation alerts.\n *\n * The following variants are supported:\n * - **native** (default): Uses the native browser validation, usually a browser tooltip.\n * - **inline**: Show the validation message underneath the element, using a `<syn-alert>`\n */\n @property({ reflect: true }) variant: 'native' | 'inline' = 'native';\n\n /** Do not show the error icon when using the inline variant validation */\n @property({ attribute: 'hide-icon', reflect: true, type: Boolean }) hideIcon = false;\n\n /**\n * Defines the events that trigger the validation.\n * `invalid` will always automatically be included.\n * You may also use the `live` keyword to validate on every input change.\n * `live` will make sure to listen to the `invalid`, `input` and `blur` events.\n *\n * Please have a look at the [documentation for native form validation](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation)\n * and [the use of form invalid events](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event) for further information.\n *\n * @example ```html\n * <!-- Validate on invalid and change events (invalid, change) -->\n * <syn-validate on=\"invalid change\"></syn-validate>\n *\n * <!-- Validate on live events (invalid, blur, input)-->\n * <syn-validate on=\"live\"></syn-validate>\n *\n * <!-- Validate on live and custom events (invalid, blur, input, focus, change) -->\n * <syn-validate on=\"live focus change\"></syn-validate>\n * ```\n */\n @property({ reflect: true }) on: string = '';\n\n /**\n * Custom validation message to be displayed when the input is invalid.\n * Will override the default browser validation message.\n * Set to an empty string to reset the validation message.\n */\n @property({ attribute: 'custom-validation-message', type: String }) customValidationMessage = '';\n\n /**\n * Set this to true to validate the input immediately when it is rendered.\n * Best used with a `variant` of `inline`.\n * When setting eager, the input will not be focused automatically.\n *\n * When using a `variant` of `native` the browser will focus\n * the last eager field as it is using a tooltip.\n * In this case it is better to just provide one eager field.\n */\n @property({ type: Boolean }) eager = false;\n\n // Automatically refresh all event listeners when the on property changes.\n @watch('on', { waitUntilFirstUpdate: true })\n handleListenerChange() {\n this.updateEvents();\n }\n\n @watch('eager', { waitUntilFirstUpdate: false })\n async handleEagerChange() {\n if (this.eager) {\n const input = this.getInput();\n await this.updateComplete;\n input?.reportValidity();\n this.eagerFirstMount = true;\n } else {\n this.eagerFirstMount = false;\n }\n }\n\n // Synchronize the validation message on the wrapped input with the custom message\n @watch('customValidationMessage', { waitUntilFirstUpdate: true })\n handleCustomValidationMessageChange() {\n const input = this.getInput();\n if (input) {\n this.setCustomValidationMessage(input);\n this.setValidationMessage(input);\n }\n }\n\n /**\n * Returns the validity state of the input component.\n * `true` for valid and `false` for invalid.\n */\n getValidity() {\n return this.isValid;\n }\n\n /**\n * Get the input element to validate. Defined as the first slotted element\n * @returns The input element or undefined if not found\n */\n private getInput() {\n const input = this.slottedChildren[0];\n return input ? input as HTMLInputElement : undefined;\n }\n\n /**\n * Get the event names to listen for.\n * If the input is a synergy element, will use syn- prefixes.\n * @returns The event names to listen for\n */\n // eslint-disable-next-line complexity\n private getUsedEventNames() {\n const input = this.getInput();\n\n // If there is no input, skip before doing any harm\n if (!input) {\n return [];\n }\n\n // Make sure to always use an array of events\n // This is needed because on may be a special value like \"live\"\n const on = normalizeEventAttribute(this.on);\n\n // Filter makes sure to remove empty values, e.g.\n // <syn-validate on=\"\"></syn-validate>\n const [...events] = on.filter(Boolean);\n\n // Make sure to always have an invalid event\n if (!events.includes('invalid')) {\n events.push('invalid');\n }\n\n // Special handling for the live keyword:\n // live always means on input and blur\n if (events.includes('live')) {\n events.push('input');\n events.push('blur');\n }\n\n // Make sure to remove duplicated events and the live property\n // and map the events to the correct event names\n return Array.from(new Set(\n events\n .filter(e => e !== 'live')\n .map(e => getEventNameForElement(input, e)),\n ));\n }\n\n /**\n * Update the events on the input element.\n */\n private updateEvents() {\n this.controller.abort();\n this.controller = new AbortController();\n const input = this.getInput();\n\n if (!input) {\n return;\n }\n\n const events = this.getUsedEventNames();\n events.forEach(eventName => {\n input.addEventListener(eventName, this.validate, {\n capture: isInvalidEvent(eventName),\n signal: this.controller.signal,\n });\n });\n\n // If the change event is not included,\n // make sure to attach a custom listener that resets the validation message\n // This is needed as the custom message may be set on change\n const usedChangeEvent = getEventNameForElement(input, 'change');\n if (!events.includes(usedChangeEvent)) {\n input.addEventListener(usedChangeEvent, this.internalRevalidate, {\n signal: this.controller.signal,\n });\n }\n }\n\n private setValidationMessage(input: HTMLInputElement) {\n const { customValidationMessage } = this;\n const validationMessage = customValidationMessage || input.validationMessage;\n this.validationMessage = validationMessage;\n }\n\n /**\n * Set the custom validation message to the input. This will make sure to either:\n * - use the custom message if one is set or\n * - use the default message if the custom message is empty\n */\n private setCustomValidationMessage(input: HTMLInputElement) {\n // Set the custom validation message on the input only once, when the customValidationMessage\n // is changed. Otherwise there could be problems with `variant=\"native\"` and `on=\"live\"` or\n // `on=\"blur\"`, because the browser popup will never disappear even if clicking somewhere else.\n input.setCustomValidity(this.customValidationMessage);\n }\n\n /**\n * Set the validation message from the input element\n * @param e The event that was received\n */\n private internalRevalidate = (e: Event) => {\n const input = e.currentTarget as HTMLInputElement;\n if (input.validity?.valid) {\n this.validationMessage = '';\n }\n };\n\n /**\n * Handle the blur event during validation\n */\n // eslint-disable-next-line class-methods-use-this\n private handleFocus(input: HTMLInputElement) {\n const activeElement = document.activeElement! as HTMLInputElement;\n const activeElementIsWrapped = activeElement.closest('syn-validate');\n\n if (!activeElement.validity?.valid && activeElementIsWrapped) {\n // The active element is invalid do not scroll\n return;\n }\n\n input.scrollIntoView({ block: 'nearest' });\n input.focus();\n }\n\n /**\n * Triggers a validation run, showing the validation message if needed.\n */\n // eslint-disable-next-line complexity\n private validate = (e: Event) => {\n // Make sure to stop the validate component from going into an endless cycle of triggering\n if (isInvalidEvent(e.type) && this.variant === 'native' && this.isInternalTriggeredInvalid === true) {\n this.isInternalTriggeredInvalid = false;\n return;\n }\n\n // Make sure to always prevent the invalid event when not using native validation\n if (isInvalidEvent(e.type) && this.variant !== 'native') {\n e.preventDefault();\n e.stopPropagation();\n }\n\n const input = e.currentTarget as HTMLInputElement;\n this.isValid = input.validity?.valid;\n\n // When we are using eager, make sure to skip focus on the first mount\n if (this.eager && this.eagerFirstMount) {\n this.eagerFirstMount = false;\n this.setValidationMessage(input);\n return;\n }\n\n // If the active element that has focus is placed in a validate component,\n // make sure to not loose focus.\n if (!this.isValid && !isBlurEvent(e.type)) {\n this.handleFocus(input);\n }\n\n this.setValidationMessage(input);\n\n // Trigger reportValidity when using native validation, so the browser popup is also shown\n // for other events than `invalid`. All events except the blur event, should trigger this.\n if (!isBlurEvent(e.type) && this.variant === 'native') {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.updateComplete.then(() => {\n this.isInternalTriggeredInvalid = true;\n input.reportValidity();\n });\n }\n };\n\n async firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.updateEvents();\n\n // #713: Make sure to set the custom validation message on mount\n // When we have a custom element, we need to wait for it to be ready!\n const input = this.getInput();\n\n if (this.customValidationMessage) {\n if (input instanceof SynergyElement) {\n await input.updateComplete;\n }\n input?.setCustomValidity(this.customValidationMessage);\n }\n\n // Make sure to run validation on mount if eager is set\n if (this.eager) {\n await this.updateComplete;\n this.isValid = input?.validity?.valid ?? false;\n input?.reportValidity();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n // #717: Make sure to remove to rerun validation when\n // disabled or readonly properties change on the input\n this.observer = new MutationObserver(entries => {\n const input = this.getInput();\n\n if (!input) {\n return;\n }\n\n const hasDisabledOrReadonly = entries\n // Only check for changes on the input element\n .filter(({ target }) => target === input)\n // Check if the input is disabled or readonly\n .every(entry => {\n const target = entry.target as HTMLInputElement;\n return target.hasAttribute('disabled') || target.hasAttribute('readonly');\n });\n\n if (hasDisabledOrReadonly) {\n this.isValid = true;\n this.validationMessage = '';\n } else {\n // When using a synergy element, we need to check the validity after the element is updated,\n // as we cannot rely on the validity state of the element itself.\n // Unfortunately, this depends on used browser :(.\n const waitForPromise = input instanceof SynergyElement\n ? input.updateComplete\n : Promise.resolve();\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n waitForPromise.then(() => {\n this.isValid = input?.validity?.valid ?? false;\n this.validationMessage = input?.validationMessage ?? '';\n });\n }\n });\n\n this.observer.observe(this, {\n attributeFilter: ['disabled', 'readonly'],\n attributes: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.controller.abort();\n this?.observer?.disconnect();\n }\n\n private renderInlineValidation() {\n if (this.variant !== 'inline' || !this.validationMessage) {\n return '';\n }\n\n return html`\n <syn-alert\n open\n exportparts=\"base:alert__base,message:alert__message,icon:alert__icon\"\n part=\"alert\"\n variant=\"danger\"\n >\n ${!this.hideIcon\n ? html`<syn-icon slot=\"icon\" name=\"error\" library=\"system\"></syn-icon>`\n : ''\n }\n ${this.validationMessage}\n </syn-alert>\n `;\n }\n\n render() {\n return html`\n <div\n class=\"validate\"\n part=\"base\"\n >\n <slot\n class=\"validate__input-wrapper\"\n part=\"input-wrapper\"\n ></slot>\n \n ${this.renderInlineValidation()}\n </div>\n `;\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynProgressBar
3
- } from "./chunk.3EIIG5FJ.js";
3
+ } from "./chunk.FFX2ZDV4.js";
4
4
 
5
5
  // src/components/progress-bar/progress-bar.ts
6
6
  var progress_bar_default = SynProgressBar;
@@ -9,4 +9,4 @@ SynProgressBar.define("syn-progress-bar");
9
9
  export {
10
10
  progress_bar_default
11
11
  };
12
- //# sourceMappingURL=chunk.27UV3L7Y.js.map
12
+ //# sourceMappingURL=chunk.XFCNRZPE.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRangeTick
3
- } from "./chunk.SKRPVBCI.js";
3
+ } from "./chunk.GI4V6OSA.js";
4
4
 
5
5
  // src/components/range-tick/range-tick.ts
6
6
  var range_tick_default = SynRangeTick;
@@ -9,4 +9,4 @@ SynRangeTick.define("syn-range-tick");
9
9
  export {
10
10
  range_tick_default
11
11
  };
12
- //# sourceMappingURL=chunk.B6XMZI6V.js.map
12
+ //# sourceMappingURL=chunk.XUJI3JG6.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk.NLYVOJGK.js";
13
13
  import {
14
14
  SynergyElement
15
- } from "./chunk.JUHXJJI2.js";
15
+ } from "./chunk.TCUZ4C2D.js";
16
16
  import {
17
17
  __decorateClass
18
18
  } from "./chunk.2GFK6XTO.js";
@@ -64,4 +64,4 @@ __decorateClass([
64
64
  export {
65
65
  SynTabPanel
66
66
  };
67
- //# sourceMappingURL=chunk.PW5HS52L.js.map
67
+ //# sourceMappingURL=chunk.YJZOX4R6.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ accordion_styles_default
3
+ } from "./chunk.WNUZ6LH4.js";
1
4
  import {
2
5
  watch
3
6
  } from "./chunk.74IOULXM.js";
@@ -6,10 +9,7 @@ import {
6
9
  } from "./chunk.NLYVOJGK.js";
7
10
  import {
8
11
  SynergyElement
9
- } from "./chunk.JUHXJJI2.js";
10
- import {
11
- accordion_styles_default
12
- } from "./chunk.WNUZ6LH4.js";
12
+ } from "./chunk.TCUZ4C2D.js";
13
13
  import {
14
14
  __decorateClass
15
15
  } from "./chunk.2GFK6XTO.js";
@@ -105,4 +105,4 @@ __decorateClass([
105
105
  export {
106
106
  SynAccordion
107
107
  };
108
- //# sourceMappingURL=chunk.AY76ZLPJ.js.map
108
+ //# sourceMappingURL=chunk.YLUQRS4Q.js.map
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk.NLYVOJGK.js";
26
26
  import {
27
27
  SynergyElement
28
- } from "./chunk.JUHXJJI2.js";
28
+ } from "./chunk.TCUZ4C2D.js";
29
29
  import {
30
30
  __decorateClass
31
31
  } from "./chunk.2GFK6XTO.js";
@@ -369,4 +369,4 @@ __decorateClass([
369
369
  export {
370
370
  SynTextarea
371
371
  };
372
- //# sourceMappingURL=chunk.MSVUXIPU.js.map
372
+ //# sourceMappingURL=chunk.YQUO6VHZ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynIcon
3
- } from "./chunk.D3CLPZKP.js";
3
+ } from "./chunk.HGRW3JIF.js";
4
4
 
5
5
  // src/components/icon/icon.ts
6
6
  var icon_default = SynIcon;
@@ -9,4 +9,4 @@ SynIcon.define("syn-icon");
9
9
  export {
10
10
  icon_default
11
11
  };
12
- //# sourceMappingURL=chunk.GBAC5ULK.js.map
12
+ //# sourceMappingURL=chunk.YS5HJTNN.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk.SHCZO4KK.js";
4
4
  import {
5
5
  SynDivider
6
- } from "./chunk.Q7SN4SCZ.js";
6
+ } from "./chunk.E6RHBVFN.js";
7
7
  import {
8
8
  HasSlotController
9
9
  } from "./chunk.WVVQK5TE.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk.NLYVOJGK.js";
16
16
  import {
17
17
  SynergyElement
18
- } from "./chunk.JUHXJJI2.js";
18
+ } from "./chunk.TCUZ4C2D.js";
19
19
  import {
20
20
  __decorateClass
21
21
  } from "./chunk.2GFK6XTO.js";
@@ -339,4 +339,4 @@ __decorateClass([
339
339
  export {
340
340
  SynNavItem
341
341
  };
342
- //# sourceMappingURL=chunk.JXJ2SRZQ.js.map
342
+ //# sourceMappingURL=chunk.YVGW3RT6.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk.IVM3BGRH.js";
7
7
  import {
8
8
  SynIcon
9
- } from "./chunk.D3CLPZKP.js";
9
+ } from "./chunk.HGRW3JIF.js";
10
10
  import {
11
11
  LocalizeController
12
12
  } from "./chunk.GIU3H3J3.js";
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk.NLYVOJGK.js";
19
19
  import {
20
20
  SynergyElement
21
- } from "./chunk.JUHXJJI2.js";
21
+ } from "./chunk.TCUZ4C2D.js";
22
22
  import {
23
23
  __decorateClass
24
24
  } from "./chunk.2GFK6XTO.js";
@@ -154,4 +154,4 @@ __decorateClass([
154
154
  export {
155
155
  SynOption
156
156
  };
157
- //# sourceMappingURL=chunk.R6W7LZLP.js.map
157
+ //# sourceMappingURL=chunk.YZQ6KAJW.js.map