@synergy-design-system/components 2.26.1 → 2.26.3

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 (306) hide show
  1. package/dist/chunks/{chunk.IWJG5IRD.js → chunk.2644TMWU.js} +3 -3
  2. package/dist/chunks/{chunk.LLK3XF4Y.js → chunk.2EXNWB7H.js} +9 -9
  3. package/dist/chunks/{chunk.4WRP75PK.js → chunk.2LYOMDFO.js} +4 -17
  4. package/dist/chunks/chunk.2LYOMDFO.js.map +7 -0
  5. package/dist/chunks/{chunk.R57GDDLN.js → chunk.2T7IUAUM.js} +2 -2
  6. package/dist/chunks/{chunk.DEPCI6OY.js → chunk.2WDJAHLF.js} +2 -2
  7. package/dist/chunks/{chunk.FTPY2FG4.js → chunk.3ESQFVY2.js} +2 -2
  8. package/dist/chunks/{chunk.ADSWJFMJ.js → chunk.3QYAZM5Q.js} +2 -2
  9. package/dist/chunks/{chunk.H4CJGUSN.js → chunk.3TOXORFG.js} +2 -2
  10. package/dist/chunks/{chunk.N7ICTIY4.js → chunk.4KCTO757.js} +2 -2
  11. package/dist/chunks/{chunk.BZU2ZUXB.js → chunk.4S5IO57K.js} +2 -2
  12. package/dist/chunks/{chunk.MOX4ULPF.js → chunk.5S5PV5PT.js} +2 -2
  13. package/dist/chunks/{chunk.6Y3A6TVH.js → chunk.5ZIL544Z.js} +6 -6
  14. package/dist/chunks/{chunk.VDD6QJPR.js → chunk.63YQOR7C.js} +2 -2
  15. package/dist/chunks/{chunk.PW65DAD6.js → chunk.65VQH4IM.js} +8 -13
  16. package/dist/chunks/chunk.65VQH4IM.js.map +7 -0
  17. package/dist/chunks/{chunk.FG7VPADU.js → chunk.6WMSPL5K.js} +2 -2
  18. package/dist/chunks/{chunk.63VN66XO.js → chunk.72HXIIIT.js} +2 -2
  19. package/dist/chunks/{chunk.AC6O2276.js → chunk.7GAXVCM3.js} +2 -2
  20. package/dist/chunks/{chunk.GAK7WLHP.js → chunk.7PPXHS6I.js} +2 -2
  21. package/dist/chunks/{chunk.R35OVGIP.js → chunk.AFR4KNYK.js} +6 -6
  22. package/dist/chunks/{chunk.B2KJIFZI.js → chunk.BE6NVCUT.js} +3 -3
  23. package/dist/chunks/chunk.BE6NVCUT.js.map +7 -0
  24. package/dist/chunks/{chunk.IFXKIEOU.js → chunk.BXY667C7.js} +3 -2
  25. package/dist/chunks/{chunk.IFXKIEOU.js.map → chunk.BXY667C7.js.map} +2 -2
  26. package/dist/chunks/{chunk.4C7KC7WO.js → chunk.CJS76S4T.js} +5 -5
  27. package/dist/chunks/{chunk.NAC6EUW4.js → chunk.D2HVNT6R.js} +2 -2
  28. package/dist/chunks/{chunk.4KREFSFG.js → chunk.DH2SIUKO.js} +2 -2
  29. package/dist/chunks/{chunk.2MAVMLZA.js → chunk.DJJV6JQQ.js} +2 -2
  30. package/dist/chunks/{chunk.F4JB7NV4.js → chunk.E2AGYERL.js} +2 -2
  31. package/dist/chunks/{chunk.BX3PAORM.js → chunk.EJD6B2EA.js} +7 -7
  32. package/dist/chunks/{chunk.BX3PAORM.js.map → chunk.EJD6B2EA.js.map} +2 -2
  33. package/dist/chunks/{chunk.I45TC47W.js → chunk.EOQKFCU4.js} +7 -7
  34. package/dist/chunks/{chunk.KW23D2EZ.js → chunk.F5GM4EQ2.js} +6 -6
  35. package/dist/chunks/{chunk.FWYYBCYT.js → chunk.F5WLSLI7.js} +2 -2
  36. package/dist/chunks/{chunk.WNQ3CJAE.js → chunk.FIWZWADE.js} +2 -2
  37. package/dist/chunks/{chunk.PXNTBTBF.js → chunk.FN3OUW7E.js} +2 -2
  38. package/dist/chunks/{chunk.5RKT53KX.js → chunk.FP5QCGMC.js} +8 -8
  39. package/dist/chunks/{chunk.JQ5SNHTM.js → chunk.FX2BATEO.js} +7 -7
  40. package/dist/chunks/{chunk.AL6GRCPR.js → chunk.FXUXHRPY.js} +6 -6
  41. package/dist/chunks/{chunk.ZT2BACAV.js → chunk.HBMUFLX2.js} +7 -7
  42. package/dist/chunks/{chunk.ZT2BACAV.js.map → chunk.HBMUFLX2.js.map} +2 -2
  43. package/dist/chunks/{chunk.BFYX5JBQ.js → chunk.HF6EIISC.js} +2 -2
  44. package/dist/chunks/{chunk.AA6JA7AI.js → chunk.HP2TLU63.js} +2 -2
  45. package/dist/chunks/{chunk.7YFL4S2R.js → chunk.HUKCMQTY.js} +6 -6
  46. package/dist/chunks/chunk.ITZJKKDZ.js +134 -0
  47. package/dist/chunks/chunk.ITZJKKDZ.js.map +7 -0
  48. package/dist/chunks/{chunk.2MDGY2UP.js → chunk.JCIM6NE3.js} +19 -1
  49. package/dist/chunks/chunk.JCIM6NE3.js.map +7 -0
  50. package/dist/chunks/{chunk.3UJX6GHF.js → chunk.JGY5FXWE.js} +8 -8
  51. package/dist/chunks/{chunk.M2L5SZRH.js → chunk.JHLYDXUH.js} +3 -3
  52. package/dist/chunks/{chunk.CXCPJC6Q.js → chunk.JNC6E3CB.js} +2 -2
  53. package/dist/chunks/{chunk.E2WDDT6V.js → chunk.K2ZNDRIT.js} +2 -2
  54. package/dist/chunks/{chunk.XWLSLIKV.js → chunk.K5BBIX7F.js} +8 -8
  55. package/dist/chunks/{chunk.DGRP5F2D.js → chunk.KC6X2GNV.js} +2 -2
  56. package/dist/chunks/{chunk.ZOCS7QXM.js → chunk.KMSSU2ON.js} +6 -6
  57. package/dist/chunks/{chunk.KBTACMFW.js → chunk.KQPYWQQR.js} +5 -5
  58. package/dist/chunks/{chunk.54AUFLT4.js → chunk.L3HK3Q3T.js} +2 -2
  59. package/dist/chunks/{chunk.A5YUMENA.js → chunk.L7JCVTNF.js} +2 -2
  60. package/dist/chunks/{chunk.GN2BDFRD.js → chunk.LJDLRNFM.js} +2 -2
  61. package/dist/chunks/{chunk.IBLR36VM.js → chunk.LP2XHOWK.js} +2 -2
  62. package/dist/chunks/{chunk.MUO4IQRC.js → chunk.LS4JR7DU.js} +2 -2
  63. package/dist/chunks/{chunk.POWANAOG.js → chunk.MBL7AVE4.js} +2 -2
  64. package/dist/chunks/{chunk.TQ3NUIO3.js → chunk.MUFLKTFU.js} +2 -2
  65. package/dist/chunks/{chunk.NJ66IUS4.js → chunk.MX7QPVIW.js} +2 -2
  66. package/dist/chunks/{chunk.A2X3TLOJ.js → chunk.N76DFUNA.js} +6 -6
  67. package/dist/chunks/{chunk.GFM4HFZB.js → chunk.NG4K7X7K.js} +7 -7
  68. package/dist/chunks/{chunk.G2CFGNJS.js → chunk.NMPG26B6.js} +2 -2
  69. package/dist/chunks/{chunk.MCOYKGU6.js → chunk.NW2PNK7A.js} +3 -3
  70. package/dist/chunks/{chunk.33ZUFWCT.js → chunk.OGY7K6B6.js} +21 -10
  71. package/dist/chunks/chunk.OGY7K6B6.js.map +7 -0
  72. package/dist/chunks/{chunk.QWVKUGLD.js → chunk.OVAESVFW.js} +6 -6
  73. package/dist/chunks/{chunk.PATQFYMI.js → chunk.P67BN5MH.js} +6 -6
  74. package/dist/chunks/{chunk.ILDZ7QVV.js → chunk.PSTJCLIG.js} +2 -2
  75. package/dist/chunks/{chunk.BUZOBR2J.js → chunk.QBHZAR4C.js} +1 -2
  76. package/dist/chunks/{chunk.BUZOBR2J.js.map → chunk.QBHZAR4C.js.map} +2 -2
  77. package/dist/chunks/{chunk.KIKTNBQT.js → chunk.QBJ3XB4R.js} +2 -2
  78. package/dist/chunks/{chunk.S6EDTNOJ.js → chunk.QLCNN2JN.js} +2 -2
  79. package/dist/chunks/{chunk.BHQ3CFBE.js → chunk.QLPSBY6I.js} +2 -2
  80. package/dist/chunks/{chunk.BHQ3CFBE.js.map → chunk.QLPSBY6I.js.map} +1 -1
  81. package/dist/chunks/{chunk.4B6OSZM7.js → chunk.QSCHZISC.js} +2 -2
  82. package/dist/chunks/{chunk.CSOAMITR.js → chunk.QX4SSNYB.js} +2 -2
  83. package/dist/chunks/{chunk.F5FM5LJN.js → chunk.QY2HVWTX.js} +2 -2
  84. package/dist/chunks/{chunk.QB46MWZN.js → chunk.QYBX57RO.js} +2 -2
  85. package/dist/chunks/{chunk.UMEU22Y2.js → chunk.RGBEX2DZ.js} +2 -2
  86. package/dist/chunks/{chunk.Y7VVMUQB.js → chunk.RVZJYZCK.js} +8 -8
  87. package/dist/chunks/{chunk.RS2BQRFA.js → chunk.S5W5Q3WO.js} +2 -2
  88. package/dist/chunks/{chunk.RDX4HT5A.js → chunk.SST7AFS5.js} +2 -2
  89. package/dist/chunks/{chunk.4BRHW6CU.js → chunk.T6JDVI6I.js} +3 -3
  90. package/dist/chunks/{chunk.JQ6ZF473.js → chunk.TC3NIAI3.js} +2 -2
  91. package/dist/chunks/{chunk.UTQUJC26.js → chunk.TN5CV27R.js} +5 -5
  92. package/dist/chunks/{chunk.45JLH2JJ.js → chunk.TNXPIE7C.js} +2 -2
  93. package/dist/chunks/{chunk.3FAWUMXX.js → chunk.TU5UZWL3.js} +2 -2
  94. package/dist/chunks/{chunk.TGCNK3YN.js → chunk.TUE3ONBY.js} +2 -2
  95. package/dist/chunks/{chunk.T65MXKCV.js → chunk.TXA4COQ7.js} +2 -2
  96. package/dist/chunks/{chunk.JVASENKU.js → chunk.U3OQYXBW.js} +2 -2
  97. package/dist/chunks/{chunk.XE7APWF7.js → chunk.U4BZDDDJ.js} +2 -2
  98. package/dist/chunks/{chunk.7YM4Z5DZ.js → chunk.U7X6F2JM.js} +2 -2
  99. package/dist/chunks/{chunk.24DVA7ER.js → chunk.UHDRKFQR.js} +13 -13
  100. package/dist/chunks/{chunk.24DVA7ER.js.map → chunk.UHDRKFQR.js.map} +2 -2
  101. package/dist/chunks/{chunk.XOMKE5PR.js → chunk.VJ2UBSOD.js} +2 -2
  102. package/dist/chunks/{chunk.OJUMZLQY.js → chunk.VJMLP2UK.js} +8 -8
  103. package/dist/chunks/{chunk.UIWD3IUJ.js → chunk.VPDRPS2B.js} +2 -2
  104. package/dist/chunks/{chunk.OSXAMRZ5.js → chunk.VUH7AUCW.js} +2 -2
  105. package/dist/chunks/{chunk.7MN7ZHWV.js → chunk.VVYV4WVJ.js} +5 -5
  106. package/dist/chunks/{chunk.5WWTEG4U.js → chunk.X3LRO357.js} +9 -9
  107. package/dist/chunks/{chunk.5BFBNIZU.js → chunk.XLM63X5J.js} +6 -6
  108. package/dist/chunks/{chunk.THNGOV7Q.js → chunk.YMSLMTKW.js} +2 -2
  109. package/dist/chunks/{chunk.5GTEOG7W.js → chunk.YYV3CQ7X.js} +2 -2
  110. package/dist/chunks/{chunk.CE2OPZJB.js → chunk.ZI7WLY3J.js} +2 -2
  111. package/dist/chunks/{chunk.SX5D36WC.js → chunk.ZRLTAT5E.js} +2 -2
  112. package/dist/components/accordion/accordion.component.js +3 -3
  113. package/dist/components/accordion/accordion.js +4 -4
  114. package/dist/components/alert/alert.component.js +9 -9
  115. package/dist/components/alert/alert.custom.styles.js +1 -1
  116. package/dist/components/alert/alert.js +10 -10
  117. package/dist/components/alert/alert.styles.js +1 -1
  118. package/dist/components/badge/badge.component.js +5 -5
  119. package/dist/components/badge/badge.js +6 -6
  120. package/dist/components/breadcrumb/breadcrumb.component.js +5 -5
  121. package/dist/components/breadcrumb/breadcrumb.js +6 -6
  122. package/dist/components/breadcrumb-item/breadcrumb-item.component.js +2 -2
  123. package/dist/components/breadcrumb-item/breadcrumb-item.js +3 -3
  124. package/dist/components/button/button.component.js +7 -7
  125. package/dist/components/button/button.js +8 -8
  126. package/dist/components/button-group/button-group.component.js +2 -2
  127. package/dist/components/button-group/button-group.js +3 -3
  128. package/dist/components/card/card.component.js +2 -2
  129. package/dist/components/card/card.js +3 -3
  130. package/dist/components/checkbox/checkbox.component.js +4 -4
  131. package/dist/components/checkbox/checkbox.js +5 -5
  132. package/dist/components/combobox/combobox.component.js +8 -8
  133. package/dist/components/combobox/combobox.js +9 -9
  134. package/dist/components/details/details.component.js +6 -6
  135. package/dist/components/details/details.js +7 -7
  136. package/dist/components/dialog/dialog.component.js +9 -9
  137. package/dist/components/dialog/dialog.js +10 -10
  138. package/dist/components/divider/divider.component.js +2 -2
  139. package/dist/components/divider/divider.js +3 -3
  140. package/dist/components/drawer/drawer.component.js +9 -9
  141. package/dist/components/drawer/drawer.js +10 -10
  142. package/dist/components/dropdown/dropdown.component.js +5 -5
  143. package/dist/components/dropdown/dropdown.js +6 -6
  144. package/dist/components/file/file.component.js +8 -8
  145. package/dist/components/file/file.js +9 -9
  146. package/dist/components/header/header.component.js +6 -6
  147. package/dist/components/header/header.js +7 -7
  148. package/dist/components/icon/icon.component.js +3 -3
  149. package/dist/components/icon/icon.js +4 -4
  150. package/dist/components/icon-button/icon-button.component.js +4 -4
  151. package/dist/components/icon-button/icon-button.js +5 -5
  152. package/dist/components/input/input.component.js +7 -7
  153. package/dist/components/input/input.js +8 -8
  154. package/dist/components/menu/menu.component.js +2 -2
  155. package/dist/components/menu/menu.js +3 -3
  156. package/dist/components/menu-item/menu-item.component.js +7 -7
  157. package/dist/components/menu-item/menu-item.js +8 -8
  158. package/dist/components/menu-label/menu-label.component.js +3 -3
  159. package/dist/components/menu-label/menu-label.js +4 -4
  160. package/dist/components/nav-item/nav-item.component.js +3 -3
  161. package/dist/components/nav-item/nav-item.js +4 -4
  162. package/dist/components/optgroup/optgroup.component.d.ts +5 -6
  163. package/dist/components/optgroup/optgroup.component.js +3 -3
  164. package/dist/components/optgroup/optgroup.js +4 -4
  165. package/dist/components/option/option.component.js +5 -5
  166. package/dist/components/option/option.js +6 -6
  167. package/dist/components/popup/popup.component.js +2 -2
  168. package/dist/components/popup/popup.js +3 -3
  169. package/dist/components/prio-nav/prio-nav.component.js +11 -11
  170. package/dist/components/prio-nav/prio-nav.js +12 -12
  171. package/dist/components/progress-bar/progress-bar.component.js +2 -2
  172. package/dist/components/progress-bar/progress-bar.js +3 -3
  173. package/dist/components/progress-ring/progress-ring.component.js +2 -2
  174. package/dist/components/progress-ring/progress-ring.js +3 -3
  175. package/dist/components/radio/radio.component.js +4 -4
  176. package/dist/components/radio/radio.js +5 -5
  177. package/dist/components/radio-button/radio-button.component.js +3 -3
  178. package/dist/components/radio-button/radio-button.js +4 -4
  179. package/dist/components/radio-group/radio-group.component.js +4 -4
  180. package/dist/components/radio-group/radio-group.js +5 -5
  181. package/dist/components/range/range.component.js +7 -7
  182. package/dist/components/range/range.js +8 -8
  183. package/dist/components/range-tick/range-tick.component.js +2 -2
  184. package/dist/components/range-tick/range-tick.js +3 -3
  185. package/dist/components/resize-observer/resize-observer.component.js +2 -2
  186. package/dist/components/select/select.component.js +9 -9
  187. package/dist/components/select/select.js +10 -10
  188. package/dist/components/side-nav/side-nav.component.js +11 -11
  189. package/dist/components/side-nav/side-nav.js +12 -12
  190. package/dist/components/spinner/spinner.component.js +2 -2
  191. package/dist/components/spinner/spinner.js +3 -3
  192. package/dist/components/switch/switch.component.js +3 -3
  193. package/dist/components/switch/switch.js +4 -4
  194. package/dist/components/tab/tab.component.js +7 -7
  195. package/dist/components/tab/tab.js +8 -8
  196. package/dist/components/tab-group/tab-group.component.js +8 -8
  197. package/dist/components/tab-group/tab-group.js +9 -9
  198. package/dist/components/tab-panel/tab-panel.component.js +2 -2
  199. package/dist/components/tab-panel/tab-panel.js +3 -3
  200. package/dist/components/tag/tag.component.js +7 -7
  201. package/dist/components/tag/tag.js +8 -8
  202. package/dist/components/textarea/textarea.component.js +3 -3
  203. package/dist/components/textarea/textarea.js +4 -4
  204. package/dist/components/tooltip/tooltip.component.js +4 -4
  205. package/dist/components/tooltip/tooltip.js +5 -5
  206. package/dist/components/validate/utility.js +2 -2
  207. package/dist/components/validate/validate.component.js +11 -11
  208. package/dist/components/validate/validate.js +12 -12
  209. package/dist/custom-elements.json +14 -11
  210. package/dist/styles/index.css +1 -1
  211. package/dist/synergy.js +108 -108
  212. package/package.json +17 -17
  213. package/dist/chunks/chunk.2L35H44B.js +0 -96
  214. package/dist/chunks/chunk.2L35H44B.js.map +0 -7
  215. package/dist/chunks/chunk.2MDGY2UP.js.map +0 -7
  216. package/dist/chunks/chunk.33ZUFWCT.js.map +0 -7
  217. package/dist/chunks/chunk.4WRP75PK.js.map +0 -7
  218. package/dist/chunks/chunk.B2KJIFZI.js.map +0 -7
  219. package/dist/chunks/chunk.PW65DAD6.js.map +0 -7
  220. /package/dist/chunks/{chunk.IWJG5IRD.js.map → chunk.2644TMWU.js.map} +0 -0
  221. /package/dist/chunks/{chunk.LLK3XF4Y.js.map → chunk.2EXNWB7H.js.map} +0 -0
  222. /package/dist/chunks/{chunk.R57GDDLN.js.map → chunk.2T7IUAUM.js.map} +0 -0
  223. /package/dist/chunks/{chunk.DEPCI6OY.js.map → chunk.2WDJAHLF.js.map} +0 -0
  224. /package/dist/chunks/{chunk.FTPY2FG4.js.map → chunk.3ESQFVY2.js.map} +0 -0
  225. /package/dist/chunks/{chunk.ADSWJFMJ.js.map → chunk.3QYAZM5Q.js.map} +0 -0
  226. /package/dist/chunks/{chunk.H4CJGUSN.js.map → chunk.3TOXORFG.js.map} +0 -0
  227. /package/dist/chunks/{chunk.N7ICTIY4.js.map → chunk.4KCTO757.js.map} +0 -0
  228. /package/dist/chunks/{chunk.BZU2ZUXB.js.map → chunk.4S5IO57K.js.map} +0 -0
  229. /package/dist/chunks/{chunk.MOX4ULPF.js.map → chunk.5S5PV5PT.js.map} +0 -0
  230. /package/dist/chunks/{chunk.6Y3A6TVH.js.map → chunk.5ZIL544Z.js.map} +0 -0
  231. /package/dist/chunks/{chunk.VDD6QJPR.js.map → chunk.63YQOR7C.js.map} +0 -0
  232. /package/dist/chunks/{chunk.FG7VPADU.js.map → chunk.6WMSPL5K.js.map} +0 -0
  233. /package/dist/chunks/{chunk.63VN66XO.js.map → chunk.72HXIIIT.js.map} +0 -0
  234. /package/dist/chunks/{chunk.AC6O2276.js.map → chunk.7GAXVCM3.js.map} +0 -0
  235. /package/dist/chunks/{chunk.GAK7WLHP.js.map → chunk.7PPXHS6I.js.map} +0 -0
  236. /package/dist/chunks/{chunk.R35OVGIP.js.map → chunk.AFR4KNYK.js.map} +0 -0
  237. /package/dist/chunks/{chunk.4C7KC7WO.js.map → chunk.CJS76S4T.js.map} +0 -0
  238. /package/dist/chunks/{chunk.NAC6EUW4.js.map → chunk.D2HVNT6R.js.map} +0 -0
  239. /package/dist/chunks/{chunk.4KREFSFG.js.map → chunk.DH2SIUKO.js.map} +0 -0
  240. /package/dist/chunks/{chunk.2MAVMLZA.js.map → chunk.DJJV6JQQ.js.map} +0 -0
  241. /package/dist/chunks/{chunk.F4JB7NV4.js.map → chunk.E2AGYERL.js.map} +0 -0
  242. /package/dist/chunks/{chunk.I45TC47W.js.map → chunk.EOQKFCU4.js.map} +0 -0
  243. /package/dist/chunks/{chunk.KW23D2EZ.js.map → chunk.F5GM4EQ2.js.map} +0 -0
  244. /package/dist/chunks/{chunk.FWYYBCYT.js.map → chunk.F5WLSLI7.js.map} +0 -0
  245. /package/dist/chunks/{chunk.WNQ3CJAE.js.map → chunk.FIWZWADE.js.map} +0 -0
  246. /package/dist/chunks/{chunk.PXNTBTBF.js.map → chunk.FN3OUW7E.js.map} +0 -0
  247. /package/dist/chunks/{chunk.5RKT53KX.js.map → chunk.FP5QCGMC.js.map} +0 -0
  248. /package/dist/chunks/{chunk.JQ5SNHTM.js.map → chunk.FX2BATEO.js.map} +0 -0
  249. /package/dist/chunks/{chunk.AL6GRCPR.js.map → chunk.FXUXHRPY.js.map} +0 -0
  250. /package/dist/chunks/{chunk.BFYX5JBQ.js.map → chunk.HF6EIISC.js.map} +0 -0
  251. /package/dist/chunks/{chunk.AA6JA7AI.js.map → chunk.HP2TLU63.js.map} +0 -0
  252. /package/dist/chunks/{chunk.7YFL4S2R.js.map → chunk.HUKCMQTY.js.map} +0 -0
  253. /package/dist/chunks/{chunk.3UJX6GHF.js.map → chunk.JGY5FXWE.js.map} +0 -0
  254. /package/dist/chunks/{chunk.M2L5SZRH.js.map → chunk.JHLYDXUH.js.map} +0 -0
  255. /package/dist/chunks/{chunk.CXCPJC6Q.js.map → chunk.JNC6E3CB.js.map} +0 -0
  256. /package/dist/chunks/{chunk.E2WDDT6V.js.map → chunk.K2ZNDRIT.js.map} +0 -0
  257. /package/dist/chunks/{chunk.XWLSLIKV.js.map → chunk.K5BBIX7F.js.map} +0 -0
  258. /package/dist/chunks/{chunk.DGRP5F2D.js.map → chunk.KC6X2GNV.js.map} +0 -0
  259. /package/dist/chunks/{chunk.ZOCS7QXM.js.map → chunk.KMSSU2ON.js.map} +0 -0
  260. /package/dist/chunks/{chunk.KBTACMFW.js.map → chunk.KQPYWQQR.js.map} +0 -0
  261. /package/dist/chunks/{chunk.54AUFLT4.js.map → chunk.L3HK3Q3T.js.map} +0 -0
  262. /package/dist/chunks/{chunk.A5YUMENA.js.map → chunk.L7JCVTNF.js.map} +0 -0
  263. /package/dist/chunks/{chunk.GN2BDFRD.js.map → chunk.LJDLRNFM.js.map} +0 -0
  264. /package/dist/chunks/{chunk.IBLR36VM.js.map → chunk.LP2XHOWK.js.map} +0 -0
  265. /package/dist/chunks/{chunk.MUO4IQRC.js.map → chunk.LS4JR7DU.js.map} +0 -0
  266. /package/dist/chunks/{chunk.POWANAOG.js.map → chunk.MBL7AVE4.js.map} +0 -0
  267. /package/dist/chunks/{chunk.TQ3NUIO3.js.map → chunk.MUFLKTFU.js.map} +0 -0
  268. /package/dist/chunks/{chunk.NJ66IUS4.js.map → chunk.MX7QPVIW.js.map} +0 -0
  269. /package/dist/chunks/{chunk.A2X3TLOJ.js.map → chunk.N76DFUNA.js.map} +0 -0
  270. /package/dist/chunks/{chunk.GFM4HFZB.js.map → chunk.NG4K7X7K.js.map} +0 -0
  271. /package/dist/chunks/{chunk.G2CFGNJS.js.map → chunk.NMPG26B6.js.map} +0 -0
  272. /package/dist/chunks/{chunk.MCOYKGU6.js.map → chunk.NW2PNK7A.js.map} +0 -0
  273. /package/dist/chunks/{chunk.QWVKUGLD.js.map → chunk.OVAESVFW.js.map} +0 -0
  274. /package/dist/chunks/{chunk.PATQFYMI.js.map → chunk.P67BN5MH.js.map} +0 -0
  275. /package/dist/chunks/{chunk.ILDZ7QVV.js.map → chunk.PSTJCLIG.js.map} +0 -0
  276. /package/dist/chunks/{chunk.KIKTNBQT.js.map → chunk.QBJ3XB4R.js.map} +0 -0
  277. /package/dist/chunks/{chunk.S6EDTNOJ.js.map → chunk.QLCNN2JN.js.map} +0 -0
  278. /package/dist/chunks/{chunk.4B6OSZM7.js.map → chunk.QSCHZISC.js.map} +0 -0
  279. /package/dist/chunks/{chunk.CSOAMITR.js.map → chunk.QX4SSNYB.js.map} +0 -0
  280. /package/dist/chunks/{chunk.F5FM5LJN.js.map → chunk.QY2HVWTX.js.map} +0 -0
  281. /package/dist/chunks/{chunk.QB46MWZN.js.map → chunk.QYBX57RO.js.map} +0 -0
  282. /package/dist/chunks/{chunk.UMEU22Y2.js.map → chunk.RGBEX2DZ.js.map} +0 -0
  283. /package/dist/chunks/{chunk.Y7VVMUQB.js.map → chunk.RVZJYZCK.js.map} +0 -0
  284. /package/dist/chunks/{chunk.RS2BQRFA.js.map → chunk.S5W5Q3WO.js.map} +0 -0
  285. /package/dist/chunks/{chunk.RDX4HT5A.js.map → chunk.SST7AFS5.js.map} +0 -0
  286. /package/dist/chunks/{chunk.4BRHW6CU.js.map → chunk.T6JDVI6I.js.map} +0 -0
  287. /package/dist/chunks/{chunk.JQ6ZF473.js.map → chunk.TC3NIAI3.js.map} +0 -0
  288. /package/dist/chunks/{chunk.UTQUJC26.js.map → chunk.TN5CV27R.js.map} +0 -0
  289. /package/dist/chunks/{chunk.45JLH2JJ.js.map → chunk.TNXPIE7C.js.map} +0 -0
  290. /package/dist/chunks/{chunk.3FAWUMXX.js.map → chunk.TU5UZWL3.js.map} +0 -0
  291. /package/dist/chunks/{chunk.TGCNK3YN.js.map → chunk.TUE3ONBY.js.map} +0 -0
  292. /package/dist/chunks/{chunk.T65MXKCV.js.map → chunk.TXA4COQ7.js.map} +0 -0
  293. /package/dist/chunks/{chunk.JVASENKU.js.map → chunk.U3OQYXBW.js.map} +0 -0
  294. /package/dist/chunks/{chunk.XE7APWF7.js.map → chunk.U4BZDDDJ.js.map} +0 -0
  295. /package/dist/chunks/{chunk.7YM4Z5DZ.js.map → chunk.U7X6F2JM.js.map} +0 -0
  296. /package/dist/chunks/{chunk.XOMKE5PR.js.map → chunk.VJ2UBSOD.js.map} +0 -0
  297. /package/dist/chunks/{chunk.OJUMZLQY.js.map → chunk.VJMLP2UK.js.map} +0 -0
  298. /package/dist/chunks/{chunk.UIWD3IUJ.js.map → chunk.VPDRPS2B.js.map} +0 -0
  299. /package/dist/chunks/{chunk.OSXAMRZ5.js.map → chunk.VUH7AUCW.js.map} +0 -0
  300. /package/dist/chunks/{chunk.7MN7ZHWV.js.map → chunk.VVYV4WVJ.js.map} +0 -0
  301. /package/dist/chunks/{chunk.5WWTEG4U.js.map → chunk.X3LRO357.js.map} +0 -0
  302. /package/dist/chunks/{chunk.5BFBNIZU.js.map → chunk.XLM63X5J.js.map} +0 -0
  303. /package/dist/chunks/{chunk.THNGOV7Q.js.map → chunk.YMSLMTKW.js.map} +0 -0
  304. /package/dist/chunks/{chunk.5GTEOG7W.js.map → chunk.YYV3CQ7X.js.map} +0 -0
  305. /package/dist/chunks/{chunk.CE2OPZJB.js.map → chunk.ZI7WLY3J.js.map} +0 -0
  306. /package/dist/chunks/{chunk.SX5D36WC.js.map → chunk.ZRLTAT5E.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/drawer/drawer.component.ts", "../../src/internal/string.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 { 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 { uppercaseFirstLetter } from '../../internal/string.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 './drawer.styles.js';\nimport customStyles from './drawer.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\nimport { blurActiveElement } from '../../internal/closeActiveElement.js';\n\n/**\n * @summary Drawers slide in from a container to expose additional options and information.\n * @documentation https://synergy.style/components/drawer\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - The drawer's main content.\n * @slot label - The drawer'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 drawer's footer, usually one or more buttons representing various options.\n *\n * @event syn-show - Emitted when the drawer opens.\n * @event syn-after-show - Emitted after the drawer opens and all animations are complete.\n * @event syn-hide - Emitted when the drawer closes.\n * @event syn-after-hide - Emitted after the drawer closes and all animations are complete.\n * @event syn-initial-focus - Emitted when the drawer 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 drawer by clicking the close button, clicking the overlay, or pressing escape. Calling\n * `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer 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 drawer.\n * @csspart panel - The drawer's panel (where the drawer and its content are rendered).\n * @csspart header - The drawer'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 drawer'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 drawer's body.\n * @csspart footer - The drawer's footer.\n *\n * @cssproperty --size - The preferred size of the drawer. This will be applied to the drawer's width or height\n * depending on its `placement`. Note that the drawer 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 drawer.showTop - The animation to use when showing a drawer with `top` placement.\n * @animation drawer.showEnd - The animation to use when showing a drawer with `end` placement.\n * @animation drawer.showBottom - The animation to use when showing a drawer with `bottom` placement.\n * @animation drawer.showStart - The animation to use when showing a drawer with `start` placement.\n * @animation drawer.hideTop - The animation to use when hiding a drawer with `top` placement.\n * @animation drawer.hideEnd - The animation to use when hiding a drawer with `end` placement.\n * @animation drawer.hideBottom - The animation to use when hiding a drawer with `bottom` placement.\n * @animation drawer.hideStart - The animation to use when hiding a drawer with `start` placement.\n * @animation drawer.denyClose - The animation to use when a request to close the drawer is denied.\n * @animation drawer.overlay.show - The animation to use when showing the drawer's overlay.\n * @animation drawer.overlay.hide - The animation to use when hiding the drawer'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 SynDrawer extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n static dependencies = { 'syn-icon-button': SynIconButton };\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('.drawer') drawer: HTMLElement;\n @query('.drawer__panel') panel: HTMLElement;\n @query('.drawer__overlay') overlay: HTMLElement;\n\n /**\n * Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * The drawer'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 /** The direction from which the drawer will open. */\n @property({ reflect: true }) placement: 'top' | 'end' | 'bottom' | 'start' = 'end';\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this attribute and add `position: relative` to the parent.\n */\n @property({ type: Boolean, reflect: true }) contained = false;\n\n /**\n * Removes 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 drawer.\n */\n @property({ attribute: 'no-header', type: Boolean, reflect: true }) noHeader = false;\n\n firstUpdated() {\n this.drawer.hidden = !this.open;\n\n if (this.open) {\n this.addOpenListeners();\n\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this);\n }\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\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, 'drawer.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 if (!this.contained) {\n this.closeWatcher = new CloseWatcher();\n this.closeWatcher.onclose = () => this.requestClose('keyboard');\n }\n } else {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n }\n\n private removeOpenListeners() {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n this.closeWatcher?.destroy();\n }\n\n private handleDocumentKeyDown = (event: KeyboardEvent) => {\n // Contained drawers aren't modal and don't response to the escape key\n if (this.contained) {\n return;\n }\n\n if (event.key === 'Escape' && this.modal.isActive() && this.open) {\n event.stopImmediatePropagation();\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\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this);\n }\n\n // When the drawer is shown, Safari will attempt to set focus on whatever element has autofocus. This causes the\n // drawer's animation to jitter, so we'll temporarily remove the attribute, call `focus({ preventScroll: true })`\n // ourselves, and add the attribute back afterwards.\n //\n // Related: https://github.com/synergy-design-system/synergy/issues/693\n //\n const autoFocusTarget = this.querySelector('[autofocus]');\n if (autoFocusTarget) {\n autoFocusTarget.removeAttribute('autofocus');\n }\n\n await Promise.all([stopAnimations(this.drawer), stopAnimations(this.overlay)]);\n this.drawer.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, `drawer.show${uppercaseFirstLetter(this.placement)}`, {\n dir: this.localize.dir()\n });\n const overlayAnimation = getAnimation(this, 'drawer.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\n if (!this.contained) {\n this.modal.deactivate();\n unlockBodyScrolling(this);\n }\n\n await Promise.all([stopAnimations(this.drawer), stopAnimations(this.overlay)]);\n const panelAnimation = getAnimation(this, `drawer.hide${uppercaseFirstLetter(this.placement)}`, {\n dir: this.localize.dir()\n });\n const overlayAnimation = getAnimation(this, 'drawer.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.drawer.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 // 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 @watch('contained', { waitUntilFirstUpdate: true })\n handleNoModalChange() {\n if (this.open && !this.contained) {\n this.modal.activate();\n lockBodyScrolling(this);\n }\n\n if (this.open && this.contained) {\n this.modal.deactivate();\n unlockBodyScrolling(this);\n }\n }\n\n /** Shows the drawer. */\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 drawer */\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 drawer: true,\n 'drawer--open': this.open,\n 'drawer--top': this.placement === 'top',\n 'drawer--end': this.placement === 'end',\n 'drawer--bottom': this.placement === 'bottom',\n 'drawer--start': this.placement === 'start',\n 'drawer--contained': this.contained,\n 'drawer--fixed': !this.contained,\n 'drawer--rtl': this.localize.dir() === 'rtl',\n 'drawer--has-footer': this.hasSlotController.test('footer')\n })}\n >\n <div part=\"overlay\" class=\"drawer__overlay\" @click=${() => this.requestClose('overlay')} tabindex=\"-1\"></div>\n\n <div\n part=\"panel\"\n class=\"drawer__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=\"0\"\n >\n ${!this.noHeader\n ? html`\n <header part=\"header\" class=\"drawer__header\">\n <h2 part=\"title\" class=\"drawer__title\" id=\"title\">\n <!-- If there's no label, use an invisible character to prevent the header from collapsing -->\n <slot name=\"label\"> ${this.label.length > 0 ? this.label : String.fromCharCode(65279)} </slot>\n </h2>\n <div part=\"header-actions\" class=\"drawer__header-actions\">\n <slot name=\"header-actions\"></slot>\n <syn-icon-button\n part=\"close-button\"\n exportparts=\"base:close-button__base\"\n class=\"drawer__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 <slot part=\"body\" class=\"drawer__body\"></slot>\n\n <footer part=\"footer\" class=\"drawer__footer\">\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </div>\n `;\n }\n}\n\n// Top\nsetDefaultAnimation('drawer.showTop', {\n keyframes: [\n { opacity: 0, translate: '0 -100%' },\n { opacity: 1, translate: '0 0' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\nsetDefaultAnimation('drawer.hideTop', {\n keyframes: [\n { opacity: 1, translate: '0 0' },\n { opacity: 0, translate: '0 -100%' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\n// End\nsetDefaultAnimation('drawer.showEnd', {\n keyframes: [\n { opacity: 0, translate: '100%' },\n { opacity: 1, translate: '0' }\n ],\n rtlKeyframes: [\n { opacity: 0, translate: '-100%' },\n { opacity: 1, translate: '0' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\nsetDefaultAnimation('drawer.hideEnd', {\n keyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '100%' }\n ],\n rtlKeyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '-100%' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\n// Bottom\nsetDefaultAnimation('drawer.showBottom', {\n keyframes: [\n { opacity: 0, translate: '0 100%' },\n { opacity: 1, translate: '0 0' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\nsetDefaultAnimation('drawer.hideBottom', {\n keyframes: [\n { opacity: 1, translate: '0 0' },\n { opacity: 0, translate: '0 100%' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\n// Start\nsetDefaultAnimation('drawer.showStart', {\n keyframes: [\n { opacity: 0, translate: '-100%' },\n { opacity: 1, translate: '0' }\n ],\n rtlKeyframes: [\n { opacity: 0, translate: '100%' },\n { opacity: 1, translate: '0' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\nsetDefaultAnimation('drawer.hideStart', {\n keyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '-100%' }\n ],\n rtlKeyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '100%' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\n// Deny close\nsetDefaultAnimation('drawer.denyClose', {\n keyframes: [{ scale: 1 }, { scale: 1.01 }, { scale: 1 }],\n options: { duration: 250 }\n});\n\n// Overlay\nsetDefaultAnimation('drawer.overlay.show', {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 250 }\n});\n\nsetDefaultAnimation('drawer.overlay.hide', {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 250 }\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/** Converts the first letter of a string to uppercase */\nexport function uppercaseFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n"],
5
- "mappings": "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",
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 { uppercaseFirstLetter } from '../../internal/string.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 './drawer.styles.js';\nimport customStyles from './drawer.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Drawers slide in from a container to expose additional options and information.\n * @documentation https://synergy.style/components/drawer\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - The drawer's main content.\n * @slot label - The drawer'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 drawer's footer, usually one or more buttons representing various options.\n *\n * @event syn-show - Emitted when the drawer opens.\n * @event syn-after-show - Emitted after the drawer opens and all animations are complete.\n * @event syn-hide - Emitted when the drawer closes.\n * @event syn-after-hide - Emitted after the drawer closes and all animations are complete.\n * @event syn-initial-focus - Emitted when the drawer 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 drawer by clicking the close button, clicking the overlay, or pressing escape. Calling\n * `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer 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 drawer.\n * @csspart panel - The drawer's panel (where the drawer and its content are rendered).\n * @csspart header - The drawer'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 drawer'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 drawer's body.\n * @csspart footer - The drawer's footer.\n *\n * @cssproperty --size - The preferred size of the drawer. This will be applied to the drawer's width or height\n * depending on its `placement`. Note that the drawer 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 drawer.showTop - The animation to use when showing a drawer with `top` placement.\n * @animation drawer.showEnd - The animation to use when showing a drawer with `end` placement.\n * @animation drawer.showBottom - The animation to use when showing a drawer with `bottom` placement.\n * @animation drawer.showStart - The animation to use when showing a drawer with `start` placement.\n * @animation drawer.hideTop - The animation to use when hiding a drawer with `top` placement.\n * @animation drawer.hideEnd - The animation to use when hiding a drawer with `end` placement.\n * @animation drawer.hideBottom - The animation to use when hiding a drawer with `bottom` placement.\n * @animation drawer.hideStart - The animation to use when hiding a drawer with `start` placement.\n * @animation drawer.denyClose - The animation to use when a request to close the drawer is denied.\n * @animation drawer.overlay.show - The animation to use when showing the drawer's overlay.\n * @animation drawer.overlay.hide - The animation to use when hiding the drawer'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 SynDrawer extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n static dependencies = { 'syn-icon-button': SynIconButton };\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('.drawer') drawer: HTMLElement;\n @query('.drawer__panel') panel: HTMLElement;\n @query('.drawer__overlay') overlay: HTMLElement;\n\n /**\n * Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * The drawer'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 /** The direction from which the drawer will open. */\n @property({ reflect: true }) placement: 'top' | 'end' | 'bottom' | 'start' = 'end';\n\n /**\n * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\n * its parent element, set this attribute and add `position: relative` to the parent.\n */\n @property({ type: Boolean, reflect: true }) contained = false;\n\n /**\n * Removes 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 drawer.\n */\n @property({ attribute: 'no-header', type: Boolean, reflect: true }) noHeader = false;\n\n firstUpdated() {\n this.drawer.hidden = !this.open;\n\n if (this.open) {\n this.addOpenListeners();\n\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this);\n }\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\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, 'drawer.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 if (!this.contained) {\n this.closeWatcher = new CloseWatcher();\n this.closeWatcher.onclose = () => this.requestClose('keyboard');\n }\n } else {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n }\n\n private removeOpenListeners() {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n this.closeWatcher?.destroy();\n }\n\n private handleDocumentKeyDown = (event: KeyboardEvent) => {\n // Contained drawers aren't modal and don't response to the escape key\n if (this.contained) {\n return;\n }\n\n if (event.key === 'Escape' && this.modal.isActive() && this.open) {\n event.stopImmediatePropagation();\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\n // Lock body scrolling only if the drawer isn't contained\n if (!this.contained) {\n this.modal.activate();\n lockBodyScrolling(this);\n }\n\n // When the drawer is shown, Safari will attempt to set focus on whatever element has autofocus. This causes the\n // drawer's animation to jitter, so we'll temporarily remove the attribute, call `focus({ preventScroll: true })`\n // ourselves, and add the attribute back afterwards.\n //\n // Related: https://github.com/synergy-design-system/synergy/issues/693\n //\n const autoFocusTarget = this.querySelector('[autofocus]');\n if (autoFocusTarget) {\n autoFocusTarget.removeAttribute('autofocus');\n }\n\n await Promise.all([stopAnimations(this.drawer), stopAnimations(this.overlay)]);\n this.drawer.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, `drawer.show${uppercaseFirstLetter(this.placement)}`, {\n dir: this.localize.dir()\n });\n const overlayAnimation = getAnimation(this, 'drawer.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\n if (!this.contained) {\n this.modal.deactivate();\n unlockBodyScrolling(this);\n }\n\n await Promise.all([stopAnimations(this.drawer), stopAnimations(this.overlay)]);\n const panelAnimation = getAnimation(this, `drawer.hide${uppercaseFirstLetter(this.placement)}`, {\n dir: this.localize.dir()\n });\n const overlayAnimation = getAnimation(this, 'drawer.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.drawer.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 // 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 @watch('contained', { waitUntilFirstUpdate: true })\n handleNoModalChange() {\n if (this.open && !this.contained) {\n this.modal.activate();\n lockBodyScrolling(this);\n }\n\n if (this.open && this.contained) {\n this.modal.deactivate();\n unlockBodyScrolling(this);\n }\n }\n\n /** Shows the drawer. */\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 drawer */\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 drawer: true,\n 'drawer--open': this.open,\n 'drawer--top': this.placement === 'top',\n 'drawer--end': this.placement === 'end',\n 'drawer--bottom': this.placement === 'bottom',\n 'drawer--start': this.placement === 'start',\n 'drawer--contained': this.contained,\n 'drawer--fixed': !this.contained,\n 'drawer--rtl': this.localize.dir() === 'rtl',\n 'drawer--has-footer': this.hasSlotController.test('footer')\n })}\n >\n <div part=\"overlay\" class=\"drawer__overlay\" @click=${() => this.requestClose('overlay')} tabindex=\"-1\"></div>\n\n <div\n part=\"panel\"\n class=\"drawer__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=\"0\"\n >\n ${!this.noHeader\n ? html`\n <header part=\"header\" class=\"drawer__header\">\n <h2 part=\"title\" class=\"drawer__title\" id=\"title\">\n <!-- If there's no label, use an invisible character to prevent the header from collapsing -->\n <slot name=\"label\"> ${this.label.length > 0 ? this.label : String.fromCharCode(65279)} </slot>\n </h2>\n <div part=\"header-actions\" class=\"drawer__header-actions\">\n <slot name=\"header-actions\"></slot>\n <syn-icon-button\n part=\"close-button\"\n exportparts=\"base:close-button__base\"\n class=\"drawer__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 <slot part=\"body\" class=\"drawer__body\"></slot>\n\n <footer part=\"footer\" class=\"drawer__footer\">\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </div>\n `;\n }\n}\n\n// Top\nsetDefaultAnimation('drawer.showTop', {\n keyframes: [\n { opacity: 0, translate: '0 -100%' },\n { opacity: 1, translate: '0 0' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\nsetDefaultAnimation('drawer.hideTop', {\n keyframes: [\n { opacity: 1, translate: '0 0' },\n { opacity: 0, translate: '0 -100%' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\n// End\nsetDefaultAnimation('drawer.showEnd', {\n keyframes: [\n { opacity: 0, translate: '100%' },\n { opacity: 1, translate: '0' }\n ],\n rtlKeyframes: [\n { opacity: 0, translate: '-100%' },\n { opacity: 1, translate: '0' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\nsetDefaultAnimation('drawer.hideEnd', {\n keyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '100%' }\n ],\n rtlKeyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '-100%' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\n// Bottom\nsetDefaultAnimation('drawer.showBottom', {\n keyframes: [\n { opacity: 0, translate: '0 100%' },\n { opacity: 1, translate: '0 0' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\nsetDefaultAnimation('drawer.hideBottom', {\n keyframes: [\n { opacity: 1, translate: '0 0' },\n { opacity: 0, translate: '0 100%' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\n// Start\nsetDefaultAnimation('drawer.showStart', {\n keyframes: [\n { opacity: 0, translate: '-100%' },\n { opacity: 1, translate: '0' }\n ],\n rtlKeyframes: [\n { opacity: 0, translate: '100%' },\n { opacity: 1, translate: '0' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\nsetDefaultAnimation('drawer.hideStart', {\n keyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '-100%' }\n ],\n rtlKeyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '100%' }\n ],\n options: { duration: 250, easing: 'ease' }\n});\n\n// Deny close\nsetDefaultAnimation('drawer.denyClose', {\n keyframes: [{ scale: 1 }, { scale: 1.01 }, { scale: 1 }],\n options: { duration: 250 }\n});\n\n// Overlay\nsetDefaultAnimation('drawer.overlay.show', {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 250 }\n});\n\nsetDefaultAnimation('drawer.overlay.hide', {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 250 }\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/** Converts the first letter of a string to uppercase */\nexport function uppercaseFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynDialog
3
- } from "./chunk.BX3PAORM.js";
3
+ } from "./chunk.EJD6B2EA.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.BFYX5JBQ.js.map
12
+ //# sourceMappingURL=chunk.HF6EIISC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynTextarea
3
- } from "./chunk.7MN7ZHWV.js";
3
+ } from "./chunk.VVYV4WVJ.js";
4
4
 
5
5
  // src/components/textarea/textarea.ts
6
6
  var textarea_default = SynTextarea;
@@ -9,4 +9,4 @@ SynTextarea.define("syn-textarea");
9
9
  export {
10
10
  textarea_default
11
11
  };
12
- //# sourceMappingURL=chunk.AA6JA7AI.js.map
12
+ //# sourceMappingURL=chunk.HP2TLU63.js.map
@@ -19,19 +19,19 @@ import {
19
19
  } from "./chunk.WVVQK5TE.js";
20
20
  import {
21
21
  SynIcon
22
- } from "./chunk.S6EDTNOJ.js";
23
- import {
24
- enableDefaultSettings
25
- } from "./chunk.H5F2FP4S.js";
22
+ } from "./chunk.QLCNN2JN.js";
26
23
  import {
27
24
  watch
28
25
  } from "./chunk.74IOULXM.js";
26
+ import {
27
+ enableDefaultSettings
28
+ } from "./chunk.H5F2FP4S.js";
29
29
  import {
30
30
  component_styles_default
31
31
  } from "./chunk.NLYVOJGK.js";
32
32
  import {
33
33
  SynergyElement
34
- } from "./chunk.BHQ3CFBE.js";
34
+ } from "./chunk.QLPSBY6I.js";
35
35
  import {
36
36
  __decorateClass
37
37
  } from "./chunk.2GFK6XTO.js";
@@ -267,4 +267,4 @@ SynCheckbox = __decorateClass([
267
267
  export {
268
268
  SynCheckbox
269
269
  };
270
- //# sourceMappingURL=chunk.7YFL4S2R.js.map
270
+ //# sourceMappingURL=chunk.HUKCMQTY.js.map
@@ -0,0 +1,134 @@
1
+ import {
2
+ optgroup_styles_default
3
+ } from "./chunk.MJ7R4QQT.js";
4
+ import {
5
+ SynDivider
6
+ } from "./chunk.TU5UZWL3.js";
7
+ import {
8
+ HasSlotController
9
+ } from "./chunk.WVVQK5TE.js";
10
+ import {
11
+ SynergyElement
12
+ } from "./chunk.QLPSBY6I.js";
13
+ import {
14
+ __decorateClass
15
+ } from "./chunk.2GFK6XTO.js";
16
+
17
+ // src/components/optgroup/optgroup.component.ts
18
+ import { classMap } from "lit/directives/class-map.js";
19
+ import { html } from "lit/static-html.js";
20
+ import { property, queryAssignedElements } from "lit/decorators.js";
21
+ var handleInitialDisabledForOption = (option, isDisabled) => {
22
+ if (option.disabled) {
23
+ option.dataset.originallyDisabled = "true";
24
+ } else {
25
+ delete option.dataset.originallyDisabled;
26
+ }
27
+ if (isDisabled) {
28
+ option.disabled = true;
29
+ }
30
+ };
31
+ var SynOptgroup = class extends SynergyElement {
32
+ constructor() {
33
+ super(...arguments);
34
+ this.hasSlotController = new HasSlotController(this, "[default]", "prefix", "suffix", "label");
35
+ this.disabled = false;
36
+ this.label = "";
37
+ }
38
+ enableObserver() {
39
+ this.mutationObserver.observe(this, {
40
+ attributeFilter: ["disabled"],
41
+ childList: true,
42
+ subtree: true
43
+ });
44
+ }
45
+ connectedCallback() {
46
+ super.connectedCallback();
47
+ this.mutationObserver = new MutationObserver((entries) => {
48
+ const optgroupChanges = entries.filter((entry) => entry.target === this);
49
+ const optionChanges = entries.filter((entry) => entry.target.matches("syn-option"));
50
+ const stopObserver = optgroupChanges.length > 0 || optionChanges.length > 0;
51
+ if (stopObserver) {
52
+ this.mutationObserver.disconnect();
53
+ }
54
+ if (optionChanges.length > 0) {
55
+ optionChanges.forEach((optionMutation) => {
56
+ handleInitialDisabledForOption(optionMutation.target, this.disabled);
57
+ });
58
+ }
59
+ if (optgroupChanges.length > 0) {
60
+ optgroupChanges.forEach((optgroupMutation) => {
61
+ if (optgroupMutation.type === "attributes") {
62
+ this.assignedOptions.forEach((option) => {
63
+ var _a;
64
+ option.disabled = this.disabled ? true : !!((_a = option.dataset) == null ? void 0 : _a.originallyDisabled);
65
+ });
66
+ }
67
+ if (optgroupMutation.type === "childList") {
68
+ optgroupMutation.addedNodes.forEach((node) => {
69
+ if (node instanceof HTMLElement && node.matches("syn-option")) {
70
+ handleInitialDisabledForOption(node, this.disabled);
71
+ }
72
+ });
73
+ }
74
+ });
75
+ }
76
+ if (stopObserver) {
77
+ this.updateComplete.then(() => {
78
+ this.enableObserver();
79
+ });
80
+ }
81
+ });
82
+ this.enableObserver();
83
+ }
84
+ render() {
85
+ const { disabled } = this;
86
+ const hasLabelSlot = this.hasSlotController.test("label");
87
+ const hasLabel = this.label ? true : !!hasLabelSlot;
88
+ return html`
89
+ <div
90
+ class=${classMap({
91
+ optgroup: true,
92
+ "optgroup--has-label": hasLabel,
93
+ "optgroup--has-prefix": this.hasSlotController.test("prefix"),
94
+ "optgroup--has-suffix": this.hasSlotController.test("suffix"),
95
+ "optgroup--is-disabled": this.disabled
96
+ })}
97
+ role="${disabled ? "presentation" : "group"}"
98
+ part="base"
99
+ >
100
+ <syn-divider class="optgroup__divider" part="divider"></syn-divider>
101
+ <div class="optgroup__label-container" part="label-container">
102
+ <slot name="prefix" part="prefix" class="optgroup__prefix"></slot>
103
+ <slot name="label" part="label" class="optgroup__label">
104
+ <span class="optgroup__label-content">
105
+ ${this.label}
106
+ </span>
107
+ </slot>
108
+ <slot name="suffix" part="suffix" class="optgroup__suffix"></slot>
109
+ </div>
110
+ <div class="optgroup__options" role="group" part="options">
111
+ <slot></slot>
112
+ </div>
113
+ </div>
114
+ `;
115
+ }
116
+ };
117
+ SynOptgroup.styles = optgroup_styles_default;
118
+ SynOptgroup.dependencies = {
119
+ "syn-divider": SynDivider
120
+ };
121
+ __decorateClass([
122
+ queryAssignedElements({ selector: "syn-option" })
123
+ ], SynOptgroup.prototype, "assignedOptions", 2);
124
+ __decorateClass([
125
+ property({ reflect: true, type: Boolean })
126
+ ], SynOptgroup.prototype, "disabled", 2);
127
+ __decorateClass([
128
+ property()
129
+ ], SynOptgroup.prototype, "label", 2);
130
+
131
+ export {
132
+ SynOptgroup
133
+ };
134
+ //# sourceMappingURL=chunk.ITZJKKDZ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/optgroup/optgroup.component.ts"],
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/unbound-method */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { html } from 'lit/static-html.js';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\nimport type { CSSResultGroup } from 'lit';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport SynDivider from '../divider/divider.component.js';\nimport type SynOption from '../option/option.component.js';\nimport styles from './optgroup.styles.js';\n\n/**\n * Handle the dataset value of the option when the disabled state changes.\n * @param option The option to set the value for\n * @param isDisabled The original disabled, usually from the parent optgroup\n */\nconst handleInitialDisabledForOption = (option: SynOption, isDisabled: boolean) => {\n /* eslint-disable no-param-reassign */\n if (option.disabled) {\n option.dataset.originallyDisabled = 'true';\n } else {\n delete option.dataset.originallyDisabled;\n }\n\n if (isDisabled) {\n option.disabled = true;\n }\n /* eslint-enable no-param-reassign */\n};\n\n/**\n * @summary The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs\n * @status stable\n * @since 1.3.0\n *\n * @dependency syn-divider\n *\n * @slot - The given options. Must be `<syn-option>` elements.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot label - The label for the optgroup\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart label-container - The container that wraps prefix, label and base\n * @csspart divider - The divider that is displayed above the content\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart options - The container that wraps the <syn-option> elements.\n *\n * @cssproperty --display-divider - Display property of the divider. Defaults to \"block\"\n */\nexport default class SynOptgroup extends SynergyElement {\n static styles: CSSResultGroup = styles;\n\n static dependencies = {\n 'syn-divider': SynDivider,\n };\n\n private readonly hasSlotController = new HasSlotController(this, '[default]', 'prefix', 'suffix', 'label');\n\n private mutationObserver: MutationObserver;\n\n private enableObserver() {\n this.mutationObserver.observe(this, {\n attributeFilter: ['disabled'],\n childList: true,\n subtree: true,\n });\n }\n\n @queryAssignedElements({ selector: 'syn-option' }) assignedOptions: SynOption[];\n\n /**\n * Disables all options in the optgroup.\n */\n @property({ reflect: true, type: Boolean }) disabled = false;\n\n /**\n * The optgroups label. If you need to display HTML, use the `label` slot instead.\n */\n @property() label = '';\n\n connectedCallback() {\n super.connectedCallback();\n\n /* eslint-disable no-param-reassign */\n // eslint-disable-next-line complexity\n this.mutationObserver = new MutationObserver(entries => {\n // Check if the mutation is for this optgroup\n const optgroupChanges = entries.filter(entry => entry.target === this);\n const optionChanges = entries.filter(entry => (entry.target as HTMLElement).matches('syn-option'));\n\n const stopObserver = optgroupChanges.length > 0 || optionChanges.length > 0;\n\n if (stopObserver) {\n this.mutationObserver.disconnect();\n }\n\n // If options disabled state are changed dynamically,\n // we need to store the new \"originallyDisabled\" state\n if (optionChanges.length > 0) {\n optionChanges.forEach(optionMutation => {\n handleInitialDisabledForOption(optionMutation.target as SynOption, this.disabled);\n });\n }\n\n // If the optgroup is disabled, disable all options\n // If the optgroup is enabled, reenable all options that were enabled before\n if (optgroupChanges.length > 0) {\n optgroupChanges.forEach(optgroupMutation => {\n if (optgroupMutation.type === 'attributes') {\n this.assignedOptions.forEach(option => {\n option.disabled = this.disabled\n ? true\n : !!option.dataset?.originallyDisabled;\n });\n }\n\n if (optgroupMutation.type === 'childList') {\n optgroupMutation.addedNodes.forEach((node) => {\n if (node instanceof HTMLElement && node.matches('syn-option')) {\n handleInitialDisabledForOption(node as SynOption, this.disabled);\n }\n });\n }\n });\n }\n\n // Reenable the mutation observer when it was stopped.\n // This is needed to make sure that we get future changes again\n if (stopObserver) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.updateComplete.then(() => {\n this.enableObserver();\n });\n }\n });\n /* eslint-enable no-param-reassign */\n\n this.enableObserver();\n }\n\n render() {\n const { disabled } = this;\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n return html`\n <div\n class=${classMap({\n optgroup: true,\n 'optgroup--has-label': hasLabel,\n 'optgroup--has-prefix': this.hasSlotController.test('prefix'),\n 'optgroup--has-suffix': this.hasSlotController.test('suffix'),\n 'optgroup--is-disabled': this.disabled,\n })}\n role=\"${disabled ? 'presentation' : 'group'}\"\n part=\"base\"\n >\n <syn-divider class=\"optgroup__divider\" part=\"divider\"></syn-divider>\n <div class=\"optgroup__label-container\" part=\"label-container\">\n <slot name=\"prefix\" part=\"prefix\" class=\"optgroup__prefix\"></slot>\n <slot name=\"label\" part=\"label\" class=\"optgroup__label\">\n <span class=\"optgroup__label-content\">\n ${this.label}\n </span>\n </slot>\n <slot name=\"suffix\" part=\"suffix\" class=\"optgroup__suffix\"></slot>\n </div>\n <div class=\"optgroup__options\" role=\"group\" part=\"options\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,3 +1,19 @@
1
+ import {
2
+ __yieldStar
3
+ } from "./chunk.2GFK6XTO.js";
4
+
5
+ // src/internal/active-elements.ts
6
+ function* activeElements(activeElement = document.activeElement) {
7
+ if (activeElement === null || activeElement === void 0) return;
8
+ yield activeElement;
9
+ if ("shadowRoot" in activeElement && activeElement.shadowRoot && activeElement.shadowRoot.mode !== "closed") {
10
+ yield* __yieldStar(activeElements(activeElement.shadowRoot.activeElement));
11
+ }
12
+ }
13
+ function getDeepestActiveElement() {
14
+ return [...activeElements()].pop();
15
+ }
16
+
1
17
  // src/internal/tabbable.ts
2
18
  var computedStyleMap = /* @__PURE__ */ new WeakMap();
3
19
  function getCachedComputedStyle(el) {
@@ -133,7 +149,9 @@ function getTabbableElements(root) {
133
149
  }
134
150
 
135
151
  export {
152
+ activeElements,
153
+ getDeepestActiveElement,
136
154
  getTabbableBoundary,
137
155
  getTabbableElements
138
156
  };
139
- //# sourceMappingURL=chunk.2MDGY2UP.js.map
157
+ //# sourceMappingURL=chunk.JCIM6NE3.js.map
@@ -0,0 +1,7 @@
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
+ }
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk.XAQKFEHH.js";
7
7
  import {
8
8
  SynDivider
9
- } from "./chunk.3FAWUMXX.js";
9
+ } from "./chunk.TU5UZWL3.js";
10
10
  import {
11
11
  defaultValue
12
12
  } from "./chunk.3NXKLKWH.js";
@@ -22,22 +22,22 @@ import {
22
22
  } from "./chunk.WVVQK5TE.js";
23
23
  import {
24
24
  SynIcon
25
- } from "./chunk.S6EDTNOJ.js";
25
+ } from "./chunk.QLCNN2JN.js";
26
26
  import {
27
- LocalizeController
28
- } from "./chunk.GIU3H3J3.js";
27
+ watch
28
+ } from "./chunk.74IOULXM.js";
29
29
  import {
30
30
  enableDefaultSettings
31
31
  } from "./chunk.H5F2FP4S.js";
32
32
  import {
33
- watch
34
- } from "./chunk.74IOULXM.js";
33
+ LocalizeController
34
+ } from "./chunk.GIU3H3J3.js";
35
35
  import {
36
36
  component_styles_default
37
37
  } from "./chunk.NLYVOJGK.js";
38
38
  import {
39
39
  SynergyElement
40
- } from "./chunk.BHQ3CFBE.js";
40
+ } from "./chunk.QLPSBY6I.js";
41
41
  import {
42
42
  __decorateClass,
43
43
  __spreadValues
@@ -653,4 +653,4 @@ SynInput = __decorateClass([
653
653
  export {
654
654
  SynInput
655
655
  };
656
- //# sourceMappingURL=chunk.3UJX6GHF.js.map
656
+ //# sourceMappingURL=chunk.JGY5FXWE.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk.DZ7YIR5N.js";
7
7
  import {
8
8
  SynIcon
9
- } from "./chunk.S6EDTNOJ.js";
9
+ } from "./chunk.QLCNN2JN.js";
10
10
  import {
11
11
  enableDefaultSettings
12
12
  } from "./chunk.H5F2FP4S.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk.NLYVOJGK.js";
16
16
  import {
17
17
  SynergyElement
18
- } from "./chunk.BHQ3CFBE.js";
18
+ } from "./chunk.QLPSBY6I.js";
19
19
  import {
20
20
  __decorateClass
21
21
  } from "./chunk.2GFK6XTO.js";
@@ -144,4 +144,4 @@ SynIconButton = __decorateClass([
144
144
  export {
145
145
  SynIconButton
146
146
  };
147
- //# sourceMappingURL=chunk.M2L5SZRH.js.map
147
+ //# sourceMappingURL=chunk.JHLYDXUH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynTag
3
- } from "./chunk.6Y3A6TVH.js";
3
+ } from "./chunk.5ZIL544Z.js";
4
4
 
5
5
  // src/components/tag/tag.ts
6
6
  var tag_default = SynTag;
@@ -9,4 +9,4 @@ SynTag.define("syn-tag");
9
9
  export {
10
10
  tag_default
11
11
  };
12
- //# sourceMappingURL=chunk.CXCPJC6Q.js.map
12
+ //# sourceMappingURL=chunk.JNC6E3CB.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk.NLYVOJGK.js";
13
13
  import {
14
14
  SynergyElement
15
- } from "./chunk.BHQ3CFBE.js";
15
+ } from "./chunk.QLPSBY6I.js";
16
16
 
17
17
  // src/components/spinner/spinner.component.ts
18
18
  import { html } from "lit";
@@ -35,4 +35,4 @@ SynSpinner.styles = [component_styles_default, spinner_styles_default, spinner_c
35
35
  export {
36
36
  SynSpinner
37
37
  };
38
- //# sourceMappingURL=chunk.E2WDDT6V.js.map
38
+ //# sourceMappingURL=chunk.K2ZNDRIT.js.map
@@ -9,29 +9,29 @@ import {
9
9
  } from "./chunk.V4HPWQE7.js";
10
10
  import {
11
11
  SynPopup
12
- } from "./chunk.B2KJIFZI.js";
12
+ } from "./chunk.BE6NVCUT.js";
13
13
  import {
14
14
  SynSpinner
15
- } from "./chunk.E2WDDT6V.js";
15
+ } from "./chunk.K2ZNDRIT.js";
16
16
  import {
17
17
  HasSlotController,
18
18
  getTextContent
19
19
  } from "./chunk.WVVQK5TE.js";
20
20
  import {
21
21
  SynIcon
22
- } from "./chunk.S6EDTNOJ.js";
23
- import {
24
- LocalizeController
25
- } from "./chunk.GIU3H3J3.js";
22
+ } from "./chunk.QLCNN2JN.js";
26
23
  import {
27
24
  watch
28
25
  } from "./chunk.74IOULXM.js";
26
+ import {
27
+ LocalizeController
28
+ } from "./chunk.GIU3H3J3.js";
29
29
  import {
30
30
  component_styles_default
31
31
  } from "./chunk.NLYVOJGK.js";
32
32
  import {
33
33
  SynergyElement
34
- } from "./chunk.BHQ3CFBE.js";
34
+ } from "./chunk.QLPSBY6I.js";
35
35
  import {
36
36
  __decorateClass,
37
37
  __privateAdd,
@@ -241,4 +241,4 @@ SynMenuItem = __decorateClass([
241
241
  export {
242
242
  SynMenuItem
243
243
  };
244
- //# sourceMappingURL=chunk.XWLSLIKV.js.map
244
+ //# sourceMappingURL=chunk.K5BBIX7F.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynInput
3
- } from "./chunk.3UJX6GHF.js";
3
+ } from "./chunk.JGY5FXWE.js";
4
4
 
5
5
  // src/components/input/input.ts
6
6
  var input_default = SynInput;
@@ -9,4 +9,4 @@ SynInput.define("syn-input");
9
9
  export {
10
10
  input_default
11
11
  };
12
- //# sourceMappingURL=chunk.DGRP5F2D.js.map
12
+ //# sourceMappingURL=chunk.KC6X2GNV.js.map
@@ -9,16 +9,16 @@ import {
9
9
  } from "./chunk.74N5WLM5.js";
10
10
  import {
11
11
  SynNavItem
12
- } from "./chunk.MCOYKGU6.js";
12
+ } from "./chunk.NW2PNK7A.js";
13
13
  import {
14
14
  SynMenu
15
- } from "./chunk.MUO4IQRC.js";
15
+ } from "./chunk.LS4JR7DU.js";
16
16
  import {
17
17
  SynDropdown
18
- } from "./chunk.33ZUFWCT.js";
18
+ } from "./chunk.OGY7K6B6.js";
19
19
  import {
20
20
  SynIcon
21
- } from "./chunk.S6EDTNOJ.js";
21
+ } from "./chunk.QLCNN2JN.js";
22
22
  import {
23
23
  LocalizeController
24
24
  } from "./chunk.GIU3H3J3.js";
@@ -27,7 +27,7 @@ import {
27
27
  } from "./chunk.NLYVOJGK.js";
28
28
  import {
29
29
  SynergyElement
30
- } from "./chunk.BHQ3CFBE.js";
30
+ } from "./chunk.QLPSBY6I.js";
31
31
  import {
32
32
  __decorateClass
33
33
  } from "./chunk.2GFK6XTO.js";
@@ -209,4 +209,4 @@ __decorateClass([
209
209
  export {
210
210
  SynPrioNav
211
211
  };
212
- //# sourceMappingURL=chunk.ZOCS7QXM.js.map
212
+ //# sourceMappingURL=chunk.KMSSU2ON.js.map