@synergy-design-system/components 2.12.0 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/dist/chunks/{chunk.YB4KKBGA.js → chunk.2TU3PMLN.js} +2 -2
  2. package/dist/chunks/{chunk.F4MRQLNL.js → chunk.32LFHSM5.js} +7 -5
  3. package/dist/chunks/chunk.32LFHSM5.js.map +7 -0
  4. package/dist/chunks/{chunk.U7JCACM5.js → chunk.4E3AZRVT.js} +2 -2
  5. package/dist/chunks/{chunk.GE4N3DEH.js → chunk.4E76ZRQI.js} +2 -2
  6. package/dist/chunks/{chunk.FJAWKC4Q.js → chunk.4OD2H3XB.js} +2 -2
  7. package/dist/chunks/{chunk.SWC5FQRY.js → chunk.4QUIUWWD.js} +2 -2
  8. package/dist/chunks/{chunk.46LZSYUL.js → chunk.5NUBLBWE.js} +2 -2
  9. package/dist/chunks/{chunk.6HHHEQL2.js → chunk.5WASDVJX.js} +2 -2
  10. package/dist/chunks/{chunk.SILUTMTL.js → chunk.6O6CGMJA.js} +2 -2
  11. package/dist/chunks/{chunk.2DTLMVCC.js → chunk.6Q3EOAQV.js} +3 -3
  12. package/dist/chunks/{chunk.DUTZXAX3.js → chunk.6SDNRNEM.js} +2 -2
  13. package/dist/chunks/{chunk.V5QBVSUE.js → chunk.6VAC3Z2Q.js} +2 -2
  14. package/dist/chunks/{chunk.47JTZI3N.js → chunk.6WKJKCWD.js} +4 -4
  15. package/dist/chunks/{chunk.47JTZI3N.js.map → chunk.6WKJKCWD.js.map} +2 -2
  16. package/dist/chunks/{chunk.OI2YSFSJ.js → chunk.7HZV4MYT.js} +2 -2
  17. package/dist/chunks/{chunk.E3ZZVSK2.js → chunk.API5O3M4.js} +7 -3
  18. package/dist/chunks/chunk.API5O3M4.js.map +7 -0
  19. package/dist/chunks/{chunk.LFFBRQZW.js → chunk.B5L6RSX7.js} +2 -2
  20. package/dist/chunks/{chunk.TJTS3RJ6.js → chunk.BBVDCOTU.js} +2 -2
  21. package/dist/chunks/{chunk.7T2JCP5U.js → chunk.BLUAN7RH.js} +30 -19
  22. package/dist/chunks/chunk.BLUAN7RH.js.map +7 -0
  23. package/dist/chunks/{chunk.RHPPIKE6.js → chunk.BMMT5J3T.js} +2 -2
  24. package/dist/chunks/{chunk.RHPPIKE6.js.map → chunk.BMMT5J3T.js.map} +1 -1
  25. package/dist/chunks/{chunk.A4LXD7RK.js → chunk.BTFRHXAP.js} +3 -3
  26. package/dist/chunks/{chunk.2N7XLLRT.js → chunk.BVZMEBPT.js} +4 -4
  27. package/dist/chunks/{chunk.2JVLDJOZ.js → chunk.C7CANCSQ.js} +3 -3
  28. package/dist/chunks/{chunk.JHRKJLEP.js → chunk.CCQIEIL2.js} +2 -2
  29. package/dist/chunks/{chunk.H44EMWNO.js → chunk.CII3JTNM.js} +3 -3
  30. package/dist/chunks/{chunk.UAYDJJOS.js → chunk.CJ357KHN.js} +2 -2
  31. package/dist/chunks/{chunk.ZU7ZBKHI.js → chunk.CX6JNMXF.js} +2 -2
  32. package/dist/chunks/{chunk.C63XSKGJ.js → chunk.DHFLT5BI.js} +3 -3
  33. package/dist/chunks/{chunk.LRPIQZUE.js → chunk.DLIV66GJ.js} +3 -3
  34. package/dist/chunks/{chunk.5MAFVQHL.js → chunk.DLKXMQBR.js} +2 -2
  35. package/dist/chunks/{chunk.4UIWHJGU.js → chunk.E3JM7C7O.js} +9 -3
  36. package/dist/chunks/chunk.E3JM7C7O.js.map +7 -0
  37. package/dist/chunks/{chunk.YXVEHDZY.js → chunk.E3PAIPJR.js} +2 -2
  38. package/dist/chunks/{chunk.4JYTX6L6.js → chunk.EEOLCQW7.js} +2 -2
  39. package/dist/chunks/{chunk.TUI5HJJF.js → chunk.EG6MODIB.js} +2 -2
  40. package/dist/chunks/{chunk.BJMYDPMI.js → chunk.EKZ73UET.js} +2 -2
  41. package/dist/chunks/{chunk.FW2KAIBS.js → chunk.ENYUQ5Q5.js} +2 -2
  42. package/dist/chunks/{chunk.7JAGIORC.js → chunk.FBSFUSLP.js} +2 -2
  43. package/dist/chunks/{chunk.AIYNTCBR.js → chunk.FF7XVNF3.js} +2 -2
  44. package/dist/chunks/{chunk.S6ITAIH6.js → chunk.FG2DGX7Z.js} +4 -4
  45. package/dist/chunks/{chunk.CRA5CBMD.js → chunk.FQWBH6B3.js} +13 -3
  46. package/dist/chunks/chunk.FQWBH6B3.js.map +7 -0
  47. package/dist/chunks/{chunk.3DLFZSF7.js → chunk.FRDQ3NA3.js} +2 -2
  48. package/dist/chunks/{chunk.JNP34M27.js → chunk.FUHFSQEX.js} +3 -3
  49. package/dist/chunks/{chunk.JNP34M27.js.map → chunk.FUHFSQEX.js.map} +2 -2
  50. package/dist/chunks/{chunk.QNDW2KU7.js → chunk.FUSBMFDB.js} +11 -7
  51. package/dist/chunks/chunk.FUSBMFDB.js.map +7 -0
  52. package/dist/chunks/{chunk.KFN7XYP3.js → chunk.GD4IVG2L.js} +2 -2
  53. package/dist/chunks/{chunk.RICGHU7R.js → chunk.GKAYXY36.js} +2 -2
  54. package/dist/chunks/{chunk.KJGQ4ZXQ.js → chunk.GLWGL7YS.js} +2 -2
  55. package/dist/chunks/{chunk.IDTO73ND.js → chunk.GQRFIMFT.js} +5 -5
  56. package/dist/chunks/{chunk.SVBD2JZ2.js → chunk.H7SVFADO.js} +2 -2
  57. package/dist/chunks/{chunk.JSAB4Y6I.js → chunk.HV53NCY4.js} +2 -2
  58. package/dist/chunks/{chunk.JAKZ77B7.js → chunk.I5BBVZWA.js} +2 -2
  59. package/dist/chunks/{chunk.UREJSW6U.js → chunk.IZEADTY5.js} +6 -1
  60. package/dist/chunks/{chunk.UREJSW6U.js.map → chunk.IZEADTY5.js.map} +2 -2
  61. package/dist/chunks/{chunk.YDFXKQKE.js → chunk.J5YHFEW6.js} +7 -7
  62. package/dist/chunks/chunk.J5YHFEW6.js.map +7 -0
  63. package/dist/chunks/{chunk.2RR6PD3H.js → chunk.JI7FGEBP.js} +2 -2
  64. package/dist/chunks/{chunk.EL6YEL4Z.js → chunk.JLRQPUIG.js} +4 -4
  65. package/dist/chunks/{chunk.LBRFK4LI.js → chunk.K2CADE4S.js} +2 -2
  66. package/dist/chunks/{chunk.2XCTA3AO.js → chunk.MAVKVXWD.js} +2 -2
  67. package/dist/chunks/{chunk.M53SBVYB.js → chunk.MFNB75KX.js} +4 -4
  68. package/dist/chunks/{chunk.DFABWKX7.js → chunk.MJEJKJER.js} +3 -3
  69. package/dist/chunks/{chunk.DFABWKX7.js.map → chunk.MJEJKJER.js.map} +1 -1
  70. package/dist/chunks/{chunk.7GDRQYV4.js → chunk.MPBNR3JJ.js} +2 -2
  71. package/dist/chunks/{chunk.IU2XW7CB.js → chunk.MXYJWR6C.js} +3 -3
  72. package/dist/chunks/{chunk.2XJUCSO3.js → chunk.NJB7SJKA.js} +2 -2
  73. package/dist/chunks/{chunk.35GWQ3HX.js → chunk.NMQJGEFL.js} +3 -3
  74. package/dist/chunks/{chunk.OTWB4YCK.js → chunk.O656KF6Y.js} +2 -2
  75. package/dist/chunks/{chunk.J6AGKJUK.js → chunk.OEFVUTI2.js} +3 -3
  76. package/dist/chunks/{chunk.NB5A7N4Y.js → chunk.PCYVMSZ7.js} +2 -2
  77. package/dist/chunks/{chunk.RTNMPZXS.js → chunk.PFORJYFS.js} +6 -6
  78. package/dist/chunks/{chunk.D3BR2E23.js → chunk.PG3Y4WUM.js} +4 -3
  79. package/dist/chunks/chunk.PG3Y4WUM.js.map +7 -0
  80. package/dist/chunks/{chunk.AOYLQDC7.js → chunk.PNWQUWHW.js} +2 -2
  81. package/dist/chunks/{chunk.YR33QXK4.js → chunk.PP6YASVT.js} +3 -3
  82. package/dist/chunks/{chunk.JGNDU3BQ.js → chunk.PVZ5GK4B.js} +2 -2
  83. package/dist/chunks/{chunk.WAN4H4BO.js → chunk.PWTZX6PQ.js} +2 -2
  84. package/dist/chunks/{chunk.RCLQ6KWO.js → chunk.QC77ZFJI.js} +2 -2
  85. package/dist/chunks/{chunk.S2HGI6BM.js → chunk.QXOHNSH7.js} +3 -3
  86. package/dist/chunks/{chunk.CBX6NOJC.js → chunk.SFOAR5BL.js} +2 -2
  87. package/dist/chunks/{chunk.WRQHSCDL.js → chunk.SGWZTGID.js} +2 -2
  88. package/dist/chunks/{chunk.2VWVV75N.js → chunk.SUMABPQN.js} +2 -2
  89. package/dist/chunks/{chunk.R76M6KAF.js → chunk.T2I3Z2JZ.js} +3 -3
  90. package/dist/chunks/{chunk.HRCFYO6D.js → chunk.TNNT6IDT.js} +2 -2
  91. package/dist/chunks/{chunk.F7DPSZNS.js → chunk.TR6K4HDS.js} +2 -2
  92. package/dist/chunks/{chunk.DVJ5ESOK.js → chunk.U5FNJXTJ.js} +2 -2
  93. package/dist/chunks/{chunk.B6ORTU2I.js → chunk.UE5LOIPK.js} +2 -2
  94. package/dist/chunks/{chunk.GJKBCEE2.js → chunk.UKJMAI4Q.js} +4 -4
  95. package/dist/chunks/{chunk.SOEUVX7Q.js → chunk.ULXNVBWC.js} +2 -2
  96. package/dist/chunks/{chunk.6FBJHPH5.js → chunk.UO45LNYQ.js} +2 -2
  97. package/dist/chunks/{chunk.V6VND4OF.js → chunk.UUB3PWNM.js} +24 -9
  98. package/dist/chunks/chunk.UUB3PWNM.js.map +7 -0
  99. package/dist/chunks/{chunk.HNJ7JOOE.js → chunk.V7V4YBUS.js} +3 -3
  100. package/dist/chunks/{chunk.OVKKA5PU.js → chunk.VJLHPHTO.js} +2 -2
  101. package/dist/chunks/{chunk.NERVPV5E.js → chunk.W6QWU55E.js} +3 -3
  102. package/dist/chunks/{chunk.VYWKS5N3.js → chunk.WHBCML74.js} +2 -2
  103. package/dist/chunks/{chunk.SCLHFDHD.js → chunk.WPCYWZX6.js} +2 -2
  104. package/dist/chunks/{chunk.X6UQBEJW.js → chunk.WRXAT2ZV.js} +3 -3
  105. package/dist/chunks/{chunk.2HVKUBS7.js → chunk.WWG3H2UB.js} +2 -2
  106. package/dist/chunks/{chunk.XY3F3BWV.js → chunk.WZ4MEHUQ.js} +2 -2
  107. package/dist/chunks/{chunk.THXJYLZH.js → chunk.YFTKZOLR.js} +3 -3
  108. package/dist/chunks/{chunk.7KHURS47.js → chunk.YPYP3MLT.js} +2 -2
  109. package/dist/chunks/{chunk.CEHNUDZV.js → chunk.YVMY7F6B.js} +2 -2
  110. package/dist/chunks/{chunk.AHZOH7NS.js → chunk.Z7GEUQ4J.js} +2 -2
  111. package/dist/chunks/{chunk.6K5JDD4E.js → chunk.ZCYK7ZRI.js} +2 -2
  112. package/dist/chunks/{chunk.XHX52IKN.js → chunk.ZDMWDROZ.js} +4 -4
  113. package/dist/chunks/{chunk.BUGMDNEC.js → chunk.ZIV4KR3D.js} +2 -2
  114. package/dist/chunks/{chunk.MPLBBUS4.js → chunk.ZNCZ4SGA.js} +2 -2
  115. package/dist/chunks/{chunk.5PHPJIT3.js → chunk.ZWDNIEOP.js} +2 -2
  116. package/dist/components/accordion/accordion.component.js +2 -2
  117. package/dist/components/accordion/accordion.js +3 -3
  118. package/dist/components/alert/alert.component.js +4 -4
  119. package/dist/components/alert/alert.js +5 -5
  120. package/dist/components/badge/badge.component.js +2 -2
  121. package/dist/components/badge/badge.js +3 -3
  122. package/dist/components/breadcrumb/breadcrumb.component.js +3 -3
  123. package/dist/components/breadcrumb/breadcrumb.js +4 -4
  124. package/dist/components/breadcrumb-item/breadcrumb-item.component.js +2 -2
  125. package/dist/components/breadcrumb-item/breadcrumb-item.js +3 -3
  126. package/dist/components/button/button.component.js +4 -4
  127. package/dist/components/button/button.js +5 -5
  128. package/dist/components/button-group/button-group.component.js +2 -2
  129. package/dist/components/button-group/button-group.js +3 -3
  130. package/dist/components/card/card.component.js +2 -2
  131. package/dist/components/card/card.js +3 -3
  132. package/dist/components/checkbox/checkbox.component.js +3 -3
  133. package/dist/components/checkbox/checkbox.js +4 -4
  134. package/dist/components/combobox/combobox.component.js +5 -5
  135. package/dist/components/combobox/combobox.js +6 -6
  136. package/dist/components/combobox/combobox.styles.js +1 -1
  137. package/dist/components/details/details.component.js +3 -3
  138. package/dist/components/details/details.js +4 -4
  139. package/dist/components/dialog/dialog.component.js +4 -4
  140. package/dist/components/dialog/dialog.js +5 -5
  141. package/dist/components/divider/divider.component.js +2 -2
  142. package/dist/components/divider/divider.js +3 -3
  143. package/dist/components/drawer/drawer.component.js +4 -4
  144. package/dist/components/drawer/drawer.js +5 -5
  145. package/dist/components/dropdown/dropdown.component.js +3 -3
  146. package/dist/components/dropdown/dropdown.js +4 -4
  147. package/dist/components/file/file.component.js +5 -5
  148. package/dist/components/file/file.js +6 -6
  149. package/dist/components/header/header.component.js +4 -4
  150. package/dist/components/header/header.js +5 -5
  151. package/dist/components/icon/icon.component.js +2 -2
  152. package/dist/components/icon/icon.js +3 -3
  153. package/dist/components/icon-button/icon-button.component.js +3 -3
  154. package/dist/components/icon-button/icon-button.js +4 -4
  155. package/dist/components/input/input.component.js +4 -4
  156. package/dist/components/input/input.js +5 -5
  157. package/dist/components/menu/menu.component.js +2 -2
  158. package/dist/components/menu/menu.js +3 -3
  159. package/dist/components/menu-item/menu-item.component.d.ts +1 -0
  160. package/dist/components/menu-item/menu-item.component.js +6 -6
  161. package/dist/components/menu-item/menu-item.js +7 -7
  162. package/dist/components/menu-item/submenu-controller.js +1 -1
  163. package/dist/components/menu-label/menu-label.component.js +3 -3
  164. package/dist/components/menu-label/menu-label.js +4 -4
  165. package/dist/components/nav-item/nav-item.component.js +3 -3
  166. package/dist/components/nav-item/nav-item.js +4 -4
  167. package/dist/components/optgroup/optgroup.component.js +3 -3
  168. package/dist/components/optgroup/optgroup.js +4 -4
  169. package/dist/components/option/option.component.js +3 -3
  170. package/dist/components/option/option.js +4 -4
  171. package/dist/components/popup/popup.component.d.ts +1 -0
  172. package/dist/components/popup/popup.component.js +4 -2
  173. package/dist/components/popup/popup.js +5 -3
  174. package/dist/components/prio-nav/prio-nav.component.js +8 -8
  175. package/dist/components/prio-nav/prio-nav.js +9 -9
  176. package/dist/components/progress-bar/progress-bar.component.js +2 -2
  177. package/dist/components/progress-bar/progress-bar.js +3 -3
  178. package/dist/components/progress-ring/progress-ring.component.js +2 -2
  179. package/dist/components/progress-ring/progress-ring.js +3 -3
  180. package/dist/components/radio/radio.component.js +4 -4
  181. package/dist/components/radio/radio.custom.styles.js +1 -1
  182. package/dist/components/radio/radio.js +5 -5
  183. package/dist/components/radio-button/radio-button.component.js +2 -2
  184. package/dist/components/radio-button/radio-button.js +3 -3
  185. package/dist/components/radio-group/radio-group.component.js +4 -4
  186. package/dist/components/radio-group/radio-group.custom.styles.js +1 -1
  187. package/dist/components/radio-group/radio-group.js +5 -5
  188. package/dist/components/range/range.component.js +4 -4
  189. package/dist/components/range/range.js +5 -5
  190. package/dist/components/range-tick/range-tick.component.js +2 -2
  191. package/dist/components/range-tick/range-tick.js +3 -3
  192. package/dist/components/resize-observer/resize-observer.component.js +2 -2
  193. package/dist/components/select/select.component.d.ts +1 -0
  194. package/dist/components/select/select.component.js +7 -7
  195. package/dist/components/select/select.js +8 -8
  196. package/dist/components/select/select.styles.js +1 -1
  197. package/dist/components/side-nav/side-nav.component.js +6 -6
  198. package/dist/components/side-nav/side-nav.js +7 -7
  199. package/dist/components/spinner/spinner.component.js +2 -2
  200. package/dist/components/spinner/spinner.js +3 -3
  201. package/dist/components/switch/switch.component.js +2 -2
  202. package/dist/components/switch/switch.js +3 -3
  203. package/dist/components/tab/tab.component.js +4 -4
  204. package/dist/components/tab/tab.js +5 -5
  205. package/dist/components/tab-group/tab-group.component.d.ts +1 -1
  206. package/dist/components/tab-group/tab-group.component.js +5 -5
  207. package/dist/components/tab-group/tab-group.js +6 -6
  208. package/dist/components/tab-panel/tab-panel.component.js +2 -2
  209. package/dist/components/tab-panel/tab-panel.js +3 -3
  210. package/dist/components/tag/tag.component.js +4 -4
  211. package/dist/components/tag/tag.js +5 -5
  212. package/dist/components/textarea/textarea.component.d.ts +1 -0
  213. package/dist/components/textarea/textarea.component.js +3 -3
  214. package/dist/components/textarea/textarea.js +4 -4
  215. package/dist/components/textarea/textarea.styles.js +1 -1
  216. package/dist/components/tooltip/tooltip.component.js +3 -3
  217. package/dist/components/tooltip/tooltip.js +4 -4
  218. package/dist/components/validate/utility.js +2 -2
  219. package/dist/components/validate/validate.component.js +6 -6
  220. package/dist/components/validate/validate.js +7 -7
  221. package/dist/custom-elements.json +114 -84
  222. package/dist/styles/index.css +1 -1
  223. package/dist/synergy.js +101 -101
  224. package/dist/vscode.html-custom-data.json +23 -23
  225. package/package.json +11 -11
  226. package/dist/chunks/chunk.4UIWHJGU.js.map +0 -7
  227. package/dist/chunks/chunk.7T2JCP5U.js.map +0 -7
  228. package/dist/chunks/chunk.CRA5CBMD.js.map +0 -7
  229. package/dist/chunks/chunk.D3BR2E23.js.map +0 -7
  230. package/dist/chunks/chunk.E3ZZVSK2.js.map +0 -7
  231. package/dist/chunks/chunk.F4MRQLNL.js.map +0 -7
  232. package/dist/chunks/chunk.QNDW2KU7.js.map +0 -7
  233. package/dist/chunks/chunk.V6VND4OF.js.map +0 -7
  234. package/dist/chunks/chunk.YDFXKQKE.js.map +0 -7
  235. /package/dist/chunks/{chunk.YB4KKBGA.js.map → chunk.2TU3PMLN.js.map} +0 -0
  236. /package/dist/chunks/{chunk.U7JCACM5.js.map → chunk.4E3AZRVT.js.map} +0 -0
  237. /package/dist/chunks/{chunk.GE4N3DEH.js.map → chunk.4E76ZRQI.js.map} +0 -0
  238. /package/dist/chunks/{chunk.FJAWKC4Q.js.map → chunk.4OD2H3XB.js.map} +0 -0
  239. /package/dist/chunks/{chunk.SWC5FQRY.js.map → chunk.4QUIUWWD.js.map} +0 -0
  240. /package/dist/chunks/{chunk.46LZSYUL.js.map → chunk.5NUBLBWE.js.map} +0 -0
  241. /package/dist/chunks/{chunk.6HHHEQL2.js.map → chunk.5WASDVJX.js.map} +0 -0
  242. /package/dist/chunks/{chunk.SILUTMTL.js.map → chunk.6O6CGMJA.js.map} +0 -0
  243. /package/dist/chunks/{chunk.2DTLMVCC.js.map → chunk.6Q3EOAQV.js.map} +0 -0
  244. /package/dist/chunks/{chunk.DUTZXAX3.js.map → chunk.6SDNRNEM.js.map} +0 -0
  245. /package/dist/chunks/{chunk.V5QBVSUE.js.map → chunk.6VAC3Z2Q.js.map} +0 -0
  246. /package/dist/chunks/{chunk.OI2YSFSJ.js.map → chunk.7HZV4MYT.js.map} +0 -0
  247. /package/dist/chunks/{chunk.LFFBRQZW.js.map → chunk.B5L6RSX7.js.map} +0 -0
  248. /package/dist/chunks/{chunk.TJTS3RJ6.js.map → chunk.BBVDCOTU.js.map} +0 -0
  249. /package/dist/chunks/{chunk.A4LXD7RK.js.map → chunk.BTFRHXAP.js.map} +0 -0
  250. /package/dist/chunks/{chunk.2N7XLLRT.js.map → chunk.BVZMEBPT.js.map} +0 -0
  251. /package/dist/chunks/{chunk.2JVLDJOZ.js.map → chunk.C7CANCSQ.js.map} +0 -0
  252. /package/dist/chunks/{chunk.JHRKJLEP.js.map → chunk.CCQIEIL2.js.map} +0 -0
  253. /package/dist/chunks/{chunk.H44EMWNO.js.map → chunk.CII3JTNM.js.map} +0 -0
  254. /package/dist/chunks/{chunk.UAYDJJOS.js.map → chunk.CJ357KHN.js.map} +0 -0
  255. /package/dist/chunks/{chunk.ZU7ZBKHI.js.map → chunk.CX6JNMXF.js.map} +0 -0
  256. /package/dist/chunks/{chunk.C63XSKGJ.js.map → chunk.DHFLT5BI.js.map} +0 -0
  257. /package/dist/chunks/{chunk.LRPIQZUE.js.map → chunk.DLIV66GJ.js.map} +0 -0
  258. /package/dist/chunks/{chunk.5MAFVQHL.js.map → chunk.DLKXMQBR.js.map} +0 -0
  259. /package/dist/chunks/{chunk.YXVEHDZY.js.map → chunk.E3PAIPJR.js.map} +0 -0
  260. /package/dist/chunks/{chunk.4JYTX6L6.js.map → chunk.EEOLCQW7.js.map} +0 -0
  261. /package/dist/chunks/{chunk.TUI5HJJF.js.map → chunk.EG6MODIB.js.map} +0 -0
  262. /package/dist/chunks/{chunk.BJMYDPMI.js.map → chunk.EKZ73UET.js.map} +0 -0
  263. /package/dist/chunks/{chunk.FW2KAIBS.js.map → chunk.ENYUQ5Q5.js.map} +0 -0
  264. /package/dist/chunks/{chunk.7JAGIORC.js.map → chunk.FBSFUSLP.js.map} +0 -0
  265. /package/dist/chunks/{chunk.AIYNTCBR.js.map → chunk.FF7XVNF3.js.map} +0 -0
  266. /package/dist/chunks/{chunk.S6ITAIH6.js.map → chunk.FG2DGX7Z.js.map} +0 -0
  267. /package/dist/chunks/{chunk.3DLFZSF7.js.map → chunk.FRDQ3NA3.js.map} +0 -0
  268. /package/dist/chunks/{chunk.KFN7XYP3.js.map → chunk.GD4IVG2L.js.map} +0 -0
  269. /package/dist/chunks/{chunk.RICGHU7R.js.map → chunk.GKAYXY36.js.map} +0 -0
  270. /package/dist/chunks/{chunk.KJGQ4ZXQ.js.map → chunk.GLWGL7YS.js.map} +0 -0
  271. /package/dist/chunks/{chunk.IDTO73ND.js.map → chunk.GQRFIMFT.js.map} +0 -0
  272. /package/dist/chunks/{chunk.SVBD2JZ2.js.map → chunk.H7SVFADO.js.map} +0 -0
  273. /package/dist/chunks/{chunk.JSAB4Y6I.js.map → chunk.HV53NCY4.js.map} +0 -0
  274. /package/dist/chunks/{chunk.JAKZ77B7.js.map → chunk.I5BBVZWA.js.map} +0 -0
  275. /package/dist/chunks/{chunk.2RR6PD3H.js.map → chunk.JI7FGEBP.js.map} +0 -0
  276. /package/dist/chunks/{chunk.EL6YEL4Z.js.map → chunk.JLRQPUIG.js.map} +0 -0
  277. /package/dist/chunks/{chunk.LBRFK4LI.js.map → chunk.K2CADE4S.js.map} +0 -0
  278. /package/dist/chunks/{chunk.2XCTA3AO.js.map → chunk.MAVKVXWD.js.map} +0 -0
  279. /package/dist/chunks/{chunk.M53SBVYB.js.map → chunk.MFNB75KX.js.map} +0 -0
  280. /package/dist/chunks/{chunk.7GDRQYV4.js.map → chunk.MPBNR3JJ.js.map} +0 -0
  281. /package/dist/chunks/{chunk.IU2XW7CB.js.map → chunk.MXYJWR6C.js.map} +0 -0
  282. /package/dist/chunks/{chunk.2XJUCSO3.js.map → chunk.NJB7SJKA.js.map} +0 -0
  283. /package/dist/chunks/{chunk.35GWQ3HX.js.map → chunk.NMQJGEFL.js.map} +0 -0
  284. /package/dist/chunks/{chunk.OTWB4YCK.js.map → chunk.O656KF6Y.js.map} +0 -0
  285. /package/dist/chunks/{chunk.J6AGKJUK.js.map → chunk.OEFVUTI2.js.map} +0 -0
  286. /package/dist/chunks/{chunk.NB5A7N4Y.js.map → chunk.PCYVMSZ7.js.map} +0 -0
  287. /package/dist/chunks/{chunk.RTNMPZXS.js.map → chunk.PFORJYFS.js.map} +0 -0
  288. /package/dist/chunks/{chunk.AOYLQDC7.js.map → chunk.PNWQUWHW.js.map} +0 -0
  289. /package/dist/chunks/{chunk.YR33QXK4.js.map → chunk.PP6YASVT.js.map} +0 -0
  290. /package/dist/chunks/{chunk.JGNDU3BQ.js.map → chunk.PVZ5GK4B.js.map} +0 -0
  291. /package/dist/chunks/{chunk.WAN4H4BO.js.map → chunk.PWTZX6PQ.js.map} +0 -0
  292. /package/dist/chunks/{chunk.RCLQ6KWO.js.map → chunk.QC77ZFJI.js.map} +0 -0
  293. /package/dist/chunks/{chunk.S2HGI6BM.js.map → chunk.QXOHNSH7.js.map} +0 -0
  294. /package/dist/chunks/{chunk.CBX6NOJC.js.map → chunk.SFOAR5BL.js.map} +0 -0
  295. /package/dist/chunks/{chunk.WRQHSCDL.js.map → chunk.SGWZTGID.js.map} +0 -0
  296. /package/dist/chunks/{chunk.2VWVV75N.js.map → chunk.SUMABPQN.js.map} +0 -0
  297. /package/dist/chunks/{chunk.R76M6KAF.js.map → chunk.T2I3Z2JZ.js.map} +0 -0
  298. /package/dist/chunks/{chunk.HRCFYO6D.js.map → chunk.TNNT6IDT.js.map} +0 -0
  299. /package/dist/chunks/{chunk.F7DPSZNS.js.map → chunk.TR6K4HDS.js.map} +0 -0
  300. /package/dist/chunks/{chunk.DVJ5ESOK.js.map → chunk.U5FNJXTJ.js.map} +0 -0
  301. /package/dist/chunks/{chunk.B6ORTU2I.js.map → chunk.UE5LOIPK.js.map} +0 -0
  302. /package/dist/chunks/{chunk.GJKBCEE2.js.map → chunk.UKJMAI4Q.js.map} +0 -0
  303. /package/dist/chunks/{chunk.SOEUVX7Q.js.map → chunk.ULXNVBWC.js.map} +0 -0
  304. /package/dist/chunks/{chunk.6FBJHPH5.js.map → chunk.UO45LNYQ.js.map} +0 -0
  305. /package/dist/chunks/{chunk.HNJ7JOOE.js.map → chunk.V7V4YBUS.js.map} +0 -0
  306. /package/dist/chunks/{chunk.OVKKA5PU.js.map → chunk.VJLHPHTO.js.map} +0 -0
  307. /package/dist/chunks/{chunk.NERVPV5E.js.map → chunk.W6QWU55E.js.map} +0 -0
  308. /package/dist/chunks/{chunk.VYWKS5N3.js.map → chunk.WHBCML74.js.map} +0 -0
  309. /package/dist/chunks/{chunk.SCLHFDHD.js.map → chunk.WPCYWZX6.js.map} +0 -0
  310. /package/dist/chunks/{chunk.X6UQBEJW.js.map → chunk.WRXAT2ZV.js.map} +0 -0
  311. /package/dist/chunks/{chunk.2HVKUBS7.js.map → chunk.WWG3H2UB.js.map} +0 -0
  312. /package/dist/chunks/{chunk.XY3F3BWV.js.map → chunk.WZ4MEHUQ.js.map} +0 -0
  313. /package/dist/chunks/{chunk.THXJYLZH.js.map → chunk.YFTKZOLR.js.map} +0 -0
  314. /package/dist/chunks/{chunk.7KHURS47.js.map → chunk.YPYP3MLT.js.map} +0 -0
  315. /package/dist/chunks/{chunk.CEHNUDZV.js.map → chunk.YVMY7F6B.js.map} +0 -0
  316. /package/dist/chunks/{chunk.AHZOH7NS.js.map → chunk.Z7GEUQ4J.js.map} +0 -0
  317. /package/dist/chunks/{chunk.6K5JDD4E.js.map → chunk.ZCYK7ZRI.js.map} +0 -0
  318. /package/dist/chunks/{chunk.XHX52IKN.js.map → chunk.ZDMWDROZ.js.map} +0 -0
  319. /package/dist/chunks/{chunk.BUGMDNEC.js.map → chunk.ZIV4KR3D.js.map} +0 -0
  320. /package/dist/chunks/{chunk.MPLBBUS4.js.map → chunk.ZNCZ4SGA.js.map} +0 -0
  321. /package/dist/chunks/{chunk.5PHPJIT3.js.map → chunk.ZWDNIEOP.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/textarea/textarea.component.ts"],
4
+ "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { defaultValue } from '../../internal/default-value.js';\nimport { FormControlController } from '../../internal/form.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport { watch } from '../../internal/watch.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport formControlStyles from '../../styles/form-control.styles.js';\nimport formControlCustomStyles from '../../styles/form-control.custom.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport styles from './textarea.styles.js';\nimport customStyles from './textarea.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\nimport type { SynergyFormControl } from '../../internal/synergy-element.js';\n\n/**\n * @summary Textareas collect data from the user and allow multiple lines of text.\n * @documentation https://synergy.style/components/textarea\n * @status stable\n * @since 2.0\n *\n * @slot label - The textarea's label. Alternatively, you can use the `label` attribute.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart textarea - The internal `<textarea>` control.\n */\nexport default class SynTextarea extends SynergyElement implements SynergyFormControl {\n static styles: CSSResultGroup = [componentStyles, formControlStyles, styles, formControlCustomStyles, customStyles];\n\n private readonly formControlController = new FormControlController(this, {\n assumeInteractionOn: ['syn-blur', 'syn-input']\n });\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');\n private resizeObserver: ResizeObserver;\n\n @query('.textarea__control') input: HTMLTextAreaElement;\n @query('.textarea__size-adjuster') sizeAdjuster: HTMLTextAreaElement;\n\n @state() private hasFocus = false;\n @property() title = ''; // make reactive to pass through\n\n /** The name of the textarea, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** The current value of the textarea, submitted as a name/value pair with form data. */\n @property() value = '';\n\n /** The textarea's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** The textarea's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /** The textarea's help text. If you need to display HTML, use the `help-text` slot instead. */\n @property({ attribute: 'help-text' }) helpText = '';\n\n /** Placeholder text to show as a hint when the input is empty. */\n @property() placeholder = '';\n\n /** The number of rows to display by default. */\n @property({ type: Number }) rows = 4;\n\n /** Controls how the textarea can be resized. */\n @property() resize: 'none' | 'vertical' | 'auto' = 'vertical';\n\n /** Disables the textarea. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Makes the textarea readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Makes the textarea a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** The minimum length of input that will be considered valid. */\n @property({ type: Number }) minlength: number;\n\n /** The maximum length of input that will be considered valid. */\n @property({ type: Number }) maxlength: number;\n\n /** Controls whether and how text input is automatically capitalized as it is entered by the user. */\n @property() autocapitalize: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';\n\n /** Indicates whether the browser's autocorrect feature is on or off. */\n @property() autocorrect: string;\n\n /**\n * Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n * [this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.\n */\n @property() autocomplete: string;\n\n /** Indicates that the input should receive focus on page load. */\n @property({ type: Boolean }) autofocus: boolean;\n\n /** Used to customize the label or icon of the Enter key on virtual keyboards. */\n @property() enterkeyhint: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';\n\n /** Enables spell checking on the textarea. */\n @property({\n type: Boolean,\n converter: {\n // Allow \"true|false\" attribute values but keep the property boolean\n fromAttribute: value => (!value || value === 'false' ? false : true),\n toAttribute: value => (value ? 'true' : 'false')\n }\n })\n spellcheck = true;\n\n /**\n * Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\n * keyboard on supportive devices.\n */\n @property() inputmode: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue() defaultValue = '';\n\n /** Gets the validity state object */\n get validity() {\n return this.input.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.input.validationMessage;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(() => this.setTextareaHeight());\n\n this.updateComplete.then(() => {\n this.setTextareaHeight();\n this.resizeObserver.observe(this.input);\n });\n }\n\n firstUpdated() {\n this.formControlController.updateValidity();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.input) {\n this.resizeObserver?.unobserve(this.input);\n }\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('syn-blur');\n }\n\n private handleChange() {\n this.value = this.input.value;\n this.setTextareaHeight();\n this.emit('syn-change');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('syn-focus');\n }\n\n private handleInput() {\n this.value = this.input.value;\n this.emit('syn-input');\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n private setTextareaHeight() {\n if (this.resize === 'auto') {\n // This prevents layout shifts. We use `clientHeight` instead of `scrollHeight` to account for if the `<textarea>` has a max-height set on it. In my tests, this has worked fine. Im not aware of any edge cases. [Konnor]\n this.sizeAdjuster.style.height = `${this.input.clientHeight}px`;\n this.input.style.height = 'auto';\n this.input.style.height = `${this.input.scrollHeight}px`;\n } else {\n (this.input.style.height as string | undefined) = undefined;\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid\n this.formControlController.setValidity(this.disabled);\n }\n\n @watch('rows', { waitUntilFirstUpdate: true })\n handleRowsChange() {\n this.setTextareaHeight();\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n async handleValueChange() {\n await this.updateComplete;\n this.formControlController.updateValidity();\n this.setTextareaHeight();\n }\n\n /** Sets focus on the textarea. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the textarea. */\n blur() {\n this.input.blur();\n }\n\n /** Selects all the text in the textarea. */\n select() {\n this.input.select();\n }\n\n /** Gets or sets the textarea's scroll position. */\n scrollPosition(position?: { top?: number; left?: number }): { top: number; left: number } | undefined {\n if (position) {\n if (typeof position.top === 'number') this.input.scrollTop = position.top;\n if (typeof position.left === 'number') this.input.scrollLeft = position.left;\n return undefined;\n }\n\n return {\n top: this.input.scrollTop,\n left: this.input.scrollTop\n };\n }\n\n /** Sets the start and end positions of the text selection (0-based). */\n setSelectionRange(\n selectionStart: number,\n selectionEnd: number,\n selectionDirection: 'forward' | 'backward' | 'none' = 'none'\n ) {\n this.input.setSelectionRange(selectionStart, selectionEnd, selectionDirection);\n }\n\n /** Replaces a range of text with a new string. */\n setRangeText(\n replacement: string,\n start?: number,\n end?: number,\n selectMode: 'select' | 'start' | 'end' | 'preserve' = 'preserve'\n ) {\n const selectionStart = start ?? this.input.selectionStart;\n const selectionEnd = end ?? this.input.selectionEnd;\n\n this.input.setRangeText(replacement, selectionStart, selectionEnd, selectMode);\n\n if (this.value !== this.input.value) {\n this.value = this.input.value;\n this.setTextareaHeight();\n }\n }\n\n /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.input.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.input.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.input.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n render() {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText\n })}\n >\n <label\n part=\"form-control-label\"\n class=\"form-control__label\"\n for=\"input\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <div\n part=\"base\"\n class=${classMap({\n textarea: true,\n 'textarea--small': this.size === 'small',\n 'textarea--medium': this.size === 'medium',\n 'textarea--large': this.size === 'large',\n 'textarea--standard': !this.readonly,\n 'textarea--readonly': this.readonly,\n 'textarea--disabled': this.disabled,\n 'textarea--focused': this.hasFocus,\n 'textarea--empty': !this.value,\n 'textarea--resize-none': this.resize === 'none',\n 'textarea--resize-vertical': this.resize === 'vertical',\n 'textarea--resize-auto': this.resize === 'auto'\n })}\n >\n <textarea\n part=\"textarea\"\n id=\"input\"\n class=\"textarea__control\"\n title=${this.title /* An empty title prevents browser validation tooltips from appearing on hover */}\n name=${ifDefined(this.name)}\n .value=${live(this.value)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n placeholder=${ifDefined(this.placeholder)}\n rows=${ifDefined(this.rows)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n autocapitalize=${ifDefined(this.autocapitalize)}\n autocorrect=${ifDefined(this.autocorrect)}\n ?autofocus=${this.autofocus}\n spellcheck=${ifDefined(this.spellcheck)}\n enterkeyhint=${ifDefined(this.enterkeyhint)}\n inputmode=${ifDefined(this.inputmode)}\n aria-describedby=\"help-text\"\n @change=${this.handleChange}\n @input=${this.handleInput}\n @invalid=${this.handleInvalid}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n ></textarea>\n <!-- This \"adjuster\" exists to prevent layout shifting. https://github.com/synergy-design-system/synergy/issues/2180 -->\n <div part=\"textarea-adjuster\" class=\"textarea__size-adjuster\" ?hidden=${this.resize !== 'auto'}></div>\n </div>\n </div>\n\n <div\n part=\"form-control-help-text\"\n id=\"help-text\"\n class=\"form-control__help-text\"\n aria-hidden=${hasHelpText ? 'false' : 'true'}\n >\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n </div>\n `;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynergyElement
3
- } from "./chunk.RHPPIKE6.js";
3
+ } from "./chunk.BMMT5J3T.js";
4
4
 
5
5
  // src/components/validate/utility.ts
6
6
  var WhitelistedSynergyFormEventNames = [
@@ -33,4 +33,4 @@ export {
33
33
  normalizeEventAttribute,
34
34
  getEventNameForElement
35
35
  };
36
- //# sourceMappingURL=chunk.YXVEHDZY.js.map
36
+ //# sourceMappingURL=chunk.E3PAIPJR.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynButton
3
- } from "./chunk.S6ITAIH6.js";
3
+ } from "./chunk.FG2DGX7Z.js";
4
4
 
5
5
  // src/components/button/button.ts
6
6
  var button_default = SynButton;
@@ -9,4 +9,4 @@ SynButton.define("syn-button");
9
9
  export {
10
10
  button_default
11
11
  };
12
- //# sourceMappingURL=chunk.4JYTX6L6.js.map
12
+ //# sourceMappingURL=chunk.EEOLCQW7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynSideNav
3
- } from "./chunk.2N7XLLRT.js";
3
+ } from "./chunk.BVZMEBPT.js";
4
4
 
5
5
  // src/components/side-nav/side-nav.ts
6
6
  var side_nav_default = SynSideNav;
@@ -9,4 +9,4 @@ SynSideNav.define("syn-side-nav");
9
9
  export {
10
10
  side_nav_default
11
11
  };
12
- //# sourceMappingURL=chunk.TUI5HJJF.js.map
12
+ //# sourceMappingURL=chunk.EG6MODIB.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynMenuItem
3
- } from "./chunk.QNDW2KU7.js";
3
+ } from "./chunk.FUSBMFDB.js";
4
4
 
5
5
  // src/components/menu-item/menu-item.ts
6
6
  var menu_item_default = SynMenuItem;
@@ -9,4 +9,4 @@ SynMenuItem.define("syn-menu-item");
9
9
  export {
10
10
  menu_item_default
11
11
  };
12
- //# sourceMappingURL=chunk.BJMYDPMI.js.map
12
+ //# sourceMappingURL=chunk.EKZ73UET.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynBreadcrumbItem
3
- } from "./chunk.OVKKA5PU.js";
3
+ } from "./chunk.VJLHPHTO.js";
4
4
 
5
5
  // src/components/breadcrumb-item/breadcrumb-item.ts
6
6
  var breadcrumb_item_default = SynBreadcrumbItem;
@@ -9,4 +9,4 @@ SynBreadcrumbItem.define("syn-breadcrumb-item");
9
9
  export {
10
10
  breadcrumb_item_default
11
11
  };
12
- //# sourceMappingURL=chunk.FW2KAIBS.js.map
12
+ //# sourceMappingURL=chunk.ENYUQ5Q5.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynHeader
3
- } from "./chunk.IU2XW7CB.js";
3
+ } from "./chunk.MXYJWR6C.js";
4
4
 
5
5
  // src/components/header/header.ts
6
6
  var header_default = SynHeader;
@@ -9,4 +9,4 @@ SynHeader.define("syn-header");
9
9
  export {
10
10
  header_default
11
11
  };
12
- //# sourceMappingURL=chunk.7JAGIORC.js.map
12
+ //# sourceMappingURL=chunk.FBSFUSLP.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk.NLYVOJGK.js";
13
13
  import {
14
14
  SynergyElement
15
- } from "./chunk.RHPPIKE6.js";
15
+ } from "./chunk.BMMT5J3T.js";
16
16
  import {
17
17
  __decorateClass
18
18
  } from "./chunk.2GFK6XTO.js";
@@ -43,4 +43,4 @@ __decorateClass([
43
43
  export {
44
44
  SynDivider
45
45
  };
46
- //# sourceMappingURL=chunk.AIYNTCBR.js.map
46
+ //# sourceMappingURL=chunk.FF7XVNF3.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynSpinner
3
- } from "./chunk.RCLQ6KWO.js";
3
+ } from "./chunk.QC77ZFJI.js";
4
4
  import {
5
5
  FormControlController,
6
6
  validValidityState
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk.WVVQK5TE.js";
18
18
  import {
19
19
  SynIcon
20
- } from "./chunk.SOEUVX7Q.js";
20
+ } from "./chunk.ULXNVBWC.js";
21
21
  import {
22
22
  LocalizeController
23
23
  } from "./chunk.GIU3H3J3.js";
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk.NLYVOJGK.js";
30
30
  import {
31
31
  SynergyElement
32
- } from "./chunk.RHPPIKE6.js";
32
+ } from "./chunk.BMMT5J3T.js";
33
33
  import {
34
34
  __decorateClass
35
35
  } from "./chunk.2GFK6XTO.js";
@@ -289,4 +289,4 @@ __decorateClass([
289
289
  export {
290
290
  SynButton
291
291
  };
292
- //# sourceMappingURL=chunk.S6ITAIH6.js.map
292
+ //# sourceMappingURL=chunk.FG2DGX7Z.js.map
@@ -7,7 +7,7 @@ var textarea_styles_default = css`
7
7
  }
8
8
 
9
9
  .textarea {
10
- display: flex;
10
+ display: grid;
11
11
  align-items: center;
12
12
  position: relative;
13
13
  width: 100%;
@@ -56,6 +56,17 @@ var textarea_styles_default = css`
56
56
  cursor: not-allowed;
57
57
  }
58
58
 
59
+ .textarea__control,
60
+ .textarea__size-adjuster {
61
+ grid-area: 1 / 1 / 2 / 2;
62
+ }
63
+
64
+ .textarea__size-adjuster {
65
+ visibility: hidden;
66
+ pointer-events: none;
67
+ opacity: 0;
68
+ }
69
+
59
70
  .textarea--standard.textarea--disabled .textarea__control {
60
71
  color: var(--syn-input-color-disabled);
61
72
  }
@@ -88,7 +99,6 @@ var textarea_styles_default = css`
88
99
  }
89
100
 
90
101
  .textarea__control {
91
- flex: 1 1 auto;
92
102
  font-family: inherit;
93
103
  font-size: inherit;
94
104
  font-weight: inherit;
@@ -171,4 +181,4 @@ var textarea_styles_default = css`
171
181
  export {
172
182
  textarea_styles_default
173
183
  };
174
- //# sourceMappingURL=chunk.CRA5CBMD.js.map
184
+ //# sourceMappingURL=chunk.FQWBH6B3.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/textarea/textarea.styles.ts"],
4
+ "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n display: block;\n }\n\n .textarea {\n display: grid;\n align-items: center;\n position: relative;\n width: 100%;\n font-family: var(--syn-input-font-family);\n font-weight: var(--syn-input-font-weight);\n line-height: var(--syn-line-height-normal);\n letter-spacing: var(--syn-input-letter-spacing);\n vertical-align: middle;\n transition:\n var(--syn-transition-fast) color,\n var(--syn-transition-fast) border,\n var(--syn-transition-fast) box-shadow,\n var(--syn-transition-fast) background-color;\n cursor: text;\n }\n\n /* Standard textareas */\n .textarea--standard {\n background-color: var(--syn-input-background-color);\n border: solid var(--syn-input-border-width) var(--syn-input-border-color);\n }\n\n .textarea--standard:hover:not(.textarea--disabled) {\n background-color: var(--syn-input-background-color-hover);\n border-color: var(--syn-input-border-color-hover);\n }\n .textarea--standard:hover:not(.textarea--disabled) .textarea__control {\n color: var(--syn-input-color-hover);\n }\n\n .textarea--standard.textarea--focused:not(.textarea--disabled) {\n background-color: var(--syn-input-background-color-focus);\n border-color: var(--syn-input-border-color-focus);\n color: var(--syn-input-color-focus);\n box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-color);\n }\n\n .textarea--standard.textarea--focused:not(.textarea--disabled) .textarea__control {\n color: var(--syn-input-color-focus);\n }\n\n .textarea--standard.textarea--disabled {\n background-color: var(--syn-input-background-color-disabled);\n border-color: var(--syn-input-border-color-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .textarea__control,\n .textarea__size-adjuster {\n grid-area: 1 / 1 / 2 / 2;\n }\n\n .textarea__size-adjuster {\n visibility: hidden;\n pointer-events: none;\n opacity: 0;\n }\n\n .textarea--standard.textarea--disabled .textarea__control {\n color: var(--syn-input-color-disabled);\n }\n\n .textarea--standard.textarea--disabled .textarea__control::placeholder {\n color: var(--syn-input-placeholder-color-disabled);\n }\n\n /* Readonly textareas */\n .textarea--readonly {\n border: none;\n background-color: var(--syn-input-readonly-background-color);\n color: var(--syn-input-color);\n }\n\n .textarea--readonly:hover:not(.textarea--disabled) {\n background-color: var(--syn-input-readonly-background-color-hover);\n }\n\n .textarea--readonly.textarea--focused:not(.textarea--disabled) {\n background-color: var(--syn-input-readonly-background-color-focus);\n outline: var(--syn-focus-ring);\n outline-offset: var(--syn-focus-ring-offset);\n }\n\n .textarea--readonly.textarea--disabled {\n background-color: var(--syn-input-readonly-background-color-disabled);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .textarea__control {\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n line-height: 1.4;\n color: var(--syn-input-color);\n border: none;\n background: none;\n box-shadow: none;\n cursor: inherit;\n -webkit-appearance: none;\n }\n\n .textarea__control::-webkit-search-decoration,\n .textarea__control::-webkit-search-cancel-button,\n .textarea__control::-webkit-search-results-button,\n .textarea__control::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n\n .textarea__control::placeholder {\n color: var(--syn-input-placeholder-color);\n user-select: none;\n -webkit-user-select: none;\n }\n\n .textarea__control:focus {\n outline: none;\n }\n\n /*\n * Size modifiers\n */\n\n .textarea--small {\n border-radius: var(--syn-input-border-radius-small);\n font-size: var(--syn-input-font-size-small);\n }\n\n .textarea--small .textarea__control {\n padding: 0.5em var(--syn-input-spacing-small);\n }\n\n .textarea--medium {\n border-radius: var(--syn-input-border-radius-medium);\n font-size: var(--syn-input-font-size-medium);\n }\n\n .textarea--medium .textarea__control {\n padding: 0.5em var(--syn-input-spacing-medium);\n }\n\n .textarea--large {\n border-radius: var(--syn-input-border-radius-large);\n font-size: var(--syn-input-font-size-large);\n }\n\n .textarea--large .textarea__control {\n padding: 0.5em var(--syn-input-spacing-large);\n }\n\n /*\n * Resize types\n */\n\n .textarea--resize-none .textarea__control {\n resize: none;\n }\n\n .textarea--resize-vertical .textarea__control {\n resize: vertical;\n }\n\n .textarea--resize-auto .textarea__control {\n height: auto;\n resize: none;\n overflow-y: hidden;\n }\n`;\n"],
5
+ "mappings": ";AAQA,SAAS,WAAW;AAEpB,IAAO,0BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynInput
3
- } from "./chunk.GJKBCEE2.js";
3
+ } from "./chunk.UKJMAI4Q.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.3DLFZSF7.js.map
12
+ //# sourceMappingURL=chunk.FRDQ3NA3.js.map
@@ -67,7 +67,7 @@ var SubmenuController = class {
67
67
  this.handlePopupReposition = () => {
68
68
  const submenuSlot = this.host.renderRoot.querySelector("slot[name='submenu']");
69
69
  const menu = submenuSlot == null ? void 0 : submenuSlot.assignedElements({ flatten: true }).filter((el) => el.localName === "syn-menu")[0];
70
- const isRtl = this.host.matches(":dir(rtl)");
70
+ const isRtl = getComputedStyle(this.host).direction === "rtl";
71
71
  if (!menu) {
72
72
  return;
73
73
  }
@@ -213,7 +213,7 @@ var SubmenuController = class {
213
213
  return this.popupRef.value ? this.popupRef.value.active : false;
214
214
  }
215
215
  renderSubmenu() {
216
- const isRtl = this.host.matches(":dir(rtl)");
216
+ const isRtl = getComputedStyle(this.host).direction === "rtl";
217
217
  if (!this.isConnected) {
218
218
  return html` <slot name="submenu" hidden></slot> `;
219
219
  }
@@ -238,4 +238,4 @@ var SubmenuController = class {
238
238
  export {
239
239
  SubmenuController
240
240
  };
241
- //# sourceMappingURL=chunk.JNP34M27.js.map
241
+ //# sourceMappingURL=chunk.FUHFSQEX.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/menu-item/submenu-controller.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 { createRef, ref, type Ref } from 'lit/directives/ref.js';\nimport { type HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport type { ReactiveController, ReactiveControllerHost } from 'lit';\nimport type SynMenuItem from './menu-item.js';\nimport type SynPopup from '../popup/popup.js';\n\n/** A reactive controller to manage the registration of event listeners for submenus. */\nexport class SubmenuController implements ReactiveController {\n private host: ReactiveControllerHost & SynMenuItem;\n private popupRef: Ref<SynPopup> = createRef();\n private enableSubmenuTimer = -1;\n private isConnected = false;\n private isPopupConnected = false;\n private skidding = 0;\n private readonly hasSlotController: HasSlotController;\n private readonly submenuOpenDelay = 100;\n\n constructor(host: ReactiveControllerHost & SynMenuItem, hasSlotController: HasSlotController) {\n (this.host = host).addController(this);\n this.hasSlotController = hasSlotController;\n }\n\n hostConnected() {\n if (this.hasSlotController.test('submenu') && !this.host.disabled) {\n this.addListeners();\n }\n }\n\n hostDisconnected() {\n this.removeListeners();\n }\n\n hostUpdated() {\n if (this.hasSlotController.test('submenu') && !this.host.disabled) {\n this.addListeners();\n this.updateSkidding();\n } else {\n this.removeListeners();\n }\n }\n\n private addListeners() {\n if (!this.isConnected) {\n this.host.addEventListener('mousemove', this.handleMouseMove);\n this.host.addEventListener('mouseover', this.handleMouseOver);\n this.host.addEventListener('keydown', this.handleKeyDown);\n this.host.addEventListener('click', this.handleClick);\n this.host.addEventListener('focusout', this.handleFocusOut);\n this.isConnected = true;\n }\n\n // The popup does not seem to get wired when the host is\n // connected, so manage its listeners separately.\n if (!this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.addEventListener('mouseover', this.handlePopupMouseover);\n this.popupRef.value.addEventListener('syn-reposition', this.handlePopupReposition);\n this.isPopupConnected = true;\n }\n }\n }\n\n private removeListeners() {\n if (this.isConnected) {\n this.host.removeEventListener('mousemove', this.handleMouseMove);\n this.host.removeEventListener('mouseover', this.handleMouseOver);\n this.host.removeEventListener('keydown', this.handleKeyDown);\n this.host.removeEventListener('click', this.handleClick);\n this.host.removeEventListener('focusout', this.handleFocusOut);\n this.isConnected = false;\n }\n if (this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.removeEventListener('mouseover', this.handlePopupMouseover);\n this.popupRef.value.removeEventListener('syn-reposition', this.handlePopupReposition);\n this.isPopupConnected = false;\n }\n }\n }\n\n // Set the safe triangle cursor position\n private handleMouseMove = (event: MouseEvent) => {\n this.host.style.setProperty('--safe-triangle-cursor-x', `${event.clientX}px`);\n this.host.style.setProperty('--safe-triangle-cursor-y', `${event.clientY}px`);\n };\n\n private handleMouseOver = () => {\n if (this.hasSlotController.test('submenu')) {\n this.enableSubmenu();\n }\n };\n\n private handleSubmenuEntry(event: KeyboardEvent) {\n // Pass focus to the first menu-item in the submenu.\n const submenuSlot: HTMLSlotElement | null = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n\n // Missing slot\n if (!submenuSlot) {\n console.error('Cannot activate a submenu if no corresponding menuitem can be found.', this);\n return;\n }\n\n // Menus\n let menuItems: NodeListOf<Element> | null = null;\n for (const elt of submenuSlot.assignedElements()) {\n menuItems = elt.querySelectorAll(\"syn-menu-item, [role^='menuitem']\");\n if (menuItems.length !== 0) {\n break;\n }\n }\n\n if (!menuItems || menuItems.length === 0) {\n return;\n }\n\n menuItems[0].setAttribute('tabindex', '0');\n for (let i = 1; i !== menuItems.length; ++i) {\n menuItems[i].setAttribute('tabindex', '-1');\n }\n\n // Open the submenu (if not open), and set focus to first menuitem.\n if (this.popupRef.value) {\n event.preventDefault();\n event.stopPropagation();\n if (this.popupRef.value.active) {\n if (menuItems[0] instanceof HTMLElement) {\n menuItems[0].focus();\n }\n } else {\n this.enableSubmenu(false);\n this.host.updateComplete.then(() => {\n if (menuItems![0] instanceof HTMLElement) {\n menuItems![0].focus();\n }\n });\n this.host.requestUpdate();\n }\n }\n }\n\n // Focus on the first menu-item of a submenu.\n private handleKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'Escape':\n case 'Tab':\n this.disableSubmenu();\n break;\n case 'ArrowLeft':\n // Either focus is currently on the host element or a child\n if (event.target !== this.host) {\n event.preventDefault();\n event.stopPropagation();\n this.host.focus();\n this.disableSubmenu();\n }\n break;\n case 'ArrowRight':\n case 'Enter':\n case ' ':\n this.handleSubmenuEntry(event);\n break;\n default:\n break;\n }\n };\n\n private handleClick = (event: MouseEvent) => {\n // Clicking on the item which heads the menu does nothing, otherwise hide submenu and propagate\n if (event.target === this.host) {\n event.preventDefault();\n event.stopPropagation();\n } else if (\n event.target instanceof Element &&\n (event.target.tagName === 'syn-menu-item' || event.target.role?.startsWith('menuitem'))\n ) {\n this.disableSubmenu();\n }\n };\n\n // Close this submenu on focus outside of the parent or any descendants.\n private handleFocusOut = (event: FocusEvent) => {\n if (event.relatedTarget && event.relatedTarget instanceof Element && this.host.contains(event.relatedTarget)) {\n return;\n }\n this.disableSubmenu();\n };\n\n // Prevent the parent menu-item from getting focus on mouse movement on the submenu\n private handlePopupMouseover = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n // Set the safe triangle values for the submenu when the position changes\n private handlePopupReposition = () => {\n const submenuSlot: HTMLSlotElement | null = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n const menu = submenuSlot?.assignedElements({ flatten: true }).filter(el => el.localName === 'syn-menu')[0];\n const isRtl = this.host.matches(':dir(rtl)');\n if (!menu) {\n return;\n }\n\n const { left, top, width, height } = menu.getBoundingClientRect();\n\n this.host.style.setProperty('--safe-triangle-submenu-start-x', `${isRtl ? left + width : left}px`);\n this.host.style.setProperty('--safe-triangle-submenu-start-y', `${top}px`);\n this.host.style.setProperty('--safe-triangle-submenu-end-x', `${isRtl ? left + width : left}px`);\n this.host.style.setProperty('--safe-triangle-submenu-end-y', `${top + height}px`);\n };\n\n private setSubmenuState(state: boolean) {\n if (this.popupRef.value) {\n if (this.popupRef.value.active !== state) {\n this.popupRef.value.active = state;\n this.host.requestUpdate();\n }\n }\n }\n\n // Shows the submenu. Supports disabling the opening delay, e.g. for keyboard events that want to set the focus to the\n // newly opened menu.\n private enableSubmenu(delay = true) {\n if (delay) {\n window.clearTimeout(this.enableSubmenuTimer);\n this.enableSubmenuTimer = window.setTimeout(() => {\n this.setSubmenuState(true);\n }, this.submenuOpenDelay);\n } else {\n this.setSubmenuState(true);\n }\n }\n\n private disableSubmenu() {\n window.clearTimeout(this.enableSubmenuTimer);\n this.setSubmenuState(false);\n }\n\n // Calculate the space the top of a menu takes-up, for aligning the popup menu-item with the activating element.\n private updateSkidding(): void {\n // .computedStyleMap() not always available.\n if (!this.host.parentElement?.computedStyleMap) {\n return;\n }\n const styleMap: StylePropertyMapReadOnly = this.host.parentElement.computedStyleMap();\n const attrs: string[] = ['padding-top', 'border-top-width', 'margin-top'];\n\n const skidding = attrs.reduce((accumulator, attr) => {\n const styleValue: CSSStyleValue = styleMap.get(attr) ?? new CSSUnitValue(0, 'px');\n const unitValue = styleValue instanceof CSSUnitValue ? styleValue : new CSSUnitValue(0, 'px');\n const pxValue = unitValue.to('px');\n return accumulator - pxValue.value;\n }, 0);\n\n this.skidding = skidding;\n }\n\n isExpanded(): boolean {\n return this.popupRef.value ? this.popupRef.value.active : false;\n }\n\n renderSubmenu() {\n const isRtl = this.host.matches(':dir(rtl)');\n\n // Always render the slot, but conditionally render the outer <syn-popup>\n if (!this.isConnected) {\n return html` <slot name=\"submenu\" hidden></slot> `;\n }\n\n return html`\n <syn-popup\n ${ref(this.popupRef)}\n placement=${isRtl ? 'left-start' : 'right-start'}\n anchor=\"anchor\"\n flip\n flip-fallback-strategy=\"best-fit\"\n skidding=\"${this.skidding}\"\n strategy=\"fixed\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n <slot name=\"submenu\"></slot>\n </syn-popup>\n `;\n }\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 { createRef, ref, type Ref } from 'lit/directives/ref.js';\nimport { type HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport type { ReactiveController, ReactiveControllerHost } from 'lit';\nimport type SynMenuItem from './menu-item.js';\nimport type SynPopup from '../popup/popup.js';\n\n/** A reactive controller to manage the registration of event listeners for submenus. */\nexport class SubmenuController implements ReactiveController {\n private host: ReactiveControllerHost & SynMenuItem;\n private popupRef: Ref<SynPopup> = createRef();\n private enableSubmenuTimer = -1;\n private isConnected = false;\n private isPopupConnected = false;\n private skidding = 0;\n private readonly hasSlotController: HasSlotController;\n private readonly submenuOpenDelay = 100;\n\n constructor(host: ReactiveControllerHost & SynMenuItem, hasSlotController: HasSlotController) {\n (this.host = host).addController(this);\n this.hasSlotController = hasSlotController;\n }\n\n hostConnected() {\n if (this.hasSlotController.test('submenu') && !this.host.disabled) {\n this.addListeners();\n }\n }\n\n hostDisconnected() {\n this.removeListeners();\n }\n\n hostUpdated() {\n if (this.hasSlotController.test('submenu') && !this.host.disabled) {\n this.addListeners();\n this.updateSkidding();\n } else {\n this.removeListeners();\n }\n }\n\n private addListeners() {\n if (!this.isConnected) {\n this.host.addEventListener('mousemove', this.handleMouseMove);\n this.host.addEventListener('mouseover', this.handleMouseOver);\n this.host.addEventListener('keydown', this.handleKeyDown);\n this.host.addEventListener('click', this.handleClick);\n this.host.addEventListener('focusout', this.handleFocusOut);\n this.isConnected = true;\n }\n\n // The popup does not seem to get wired when the host is\n // connected, so manage its listeners separately.\n if (!this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.addEventListener('mouseover', this.handlePopupMouseover);\n this.popupRef.value.addEventListener('syn-reposition', this.handlePopupReposition);\n this.isPopupConnected = true;\n }\n }\n }\n\n private removeListeners() {\n if (this.isConnected) {\n this.host.removeEventListener('mousemove', this.handleMouseMove);\n this.host.removeEventListener('mouseover', this.handleMouseOver);\n this.host.removeEventListener('keydown', this.handleKeyDown);\n this.host.removeEventListener('click', this.handleClick);\n this.host.removeEventListener('focusout', this.handleFocusOut);\n this.isConnected = false;\n }\n if (this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.removeEventListener('mouseover', this.handlePopupMouseover);\n this.popupRef.value.removeEventListener('syn-reposition', this.handlePopupReposition);\n this.isPopupConnected = false;\n }\n }\n }\n\n // Set the safe triangle cursor position\n private handleMouseMove = (event: MouseEvent) => {\n this.host.style.setProperty('--safe-triangle-cursor-x', `${event.clientX}px`);\n this.host.style.setProperty('--safe-triangle-cursor-y', `${event.clientY}px`);\n };\n\n private handleMouseOver = () => {\n if (this.hasSlotController.test('submenu')) {\n this.enableSubmenu();\n }\n };\n\n private handleSubmenuEntry(event: KeyboardEvent) {\n // Pass focus to the first menu-item in the submenu.\n const submenuSlot: HTMLSlotElement | null = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n\n // Missing slot\n if (!submenuSlot) {\n console.error('Cannot activate a submenu if no corresponding menuitem can be found.', this);\n return;\n }\n\n // Menus\n let menuItems: NodeListOf<Element> | null = null;\n for (const elt of submenuSlot.assignedElements()) {\n menuItems = elt.querySelectorAll(\"syn-menu-item, [role^='menuitem']\");\n if (menuItems.length !== 0) {\n break;\n }\n }\n\n if (!menuItems || menuItems.length === 0) {\n return;\n }\n\n menuItems[0].setAttribute('tabindex', '0');\n for (let i = 1; i !== menuItems.length; ++i) {\n menuItems[i].setAttribute('tabindex', '-1');\n }\n\n // Open the submenu (if not open), and set focus to first menuitem.\n if (this.popupRef.value) {\n event.preventDefault();\n event.stopPropagation();\n if (this.popupRef.value.active) {\n if (menuItems[0] instanceof HTMLElement) {\n menuItems[0].focus();\n }\n } else {\n this.enableSubmenu(false);\n this.host.updateComplete.then(() => {\n if (menuItems![0] instanceof HTMLElement) {\n menuItems![0].focus();\n }\n });\n this.host.requestUpdate();\n }\n }\n }\n\n // Focus on the first menu-item of a submenu.\n private handleKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'Escape':\n case 'Tab':\n this.disableSubmenu();\n break;\n case 'ArrowLeft':\n // Either focus is currently on the host element or a child\n if (event.target !== this.host) {\n event.preventDefault();\n event.stopPropagation();\n this.host.focus();\n this.disableSubmenu();\n }\n break;\n case 'ArrowRight':\n case 'Enter':\n case ' ':\n this.handleSubmenuEntry(event);\n break;\n default:\n break;\n }\n };\n\n private handleClick = (event: MouseEvent) => {\n // Clicking on the item which heads the menu does nothing, otherwise hide submenu and propagate\n if (event.target === this.host) {\n event.preventDefault();\n event.stopPropagation();\n } else if (\n event.target instanceof Element &&\n (event.target.tagName === 'syn-menu-item' || event.target.role?.startsWith('menuitem'))\n ) {\n this.disableSubmenu();\n }\n };\n\n // Close this submenu on focus outside of the parent or any descendants.\n private handleFocusOut = (event: FocusEvent) => {\n if (event.relatedTarget && event.relatedTarget instanceof Element && this.host.contains(event.relatedTarget)) {\n return;\n }\n this.disableSubmenu();\n };\n\n // Prevent the parent menu-item from getting focus on mouse movement on the submenu\n private handlePopupMouseover = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n // Set the safe triangle values for the submenu when the position changes\n private handlePopupReposition = () => {\n const submenuSlot: HTMLSlotElement | null = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n const menu = submenuSlot?.assignedElements({ flatten: true }).filter(el => el.localName === 'syn-menu')[0];\n const isRtl = getComputedStyle(this.host).direction === 'rtl';\n if (!menu) {\n return;\n }\n\n const { left, top, width, height } = menu.getBoundingClientRect();\n\n this.host.style.setProperty('--safe-triangle-submenu-start-x', `${isRtl ? left + width : left}px`);\n this.host.style.setProperty('--safe-triangle-submenu-start-y', `${top}px`);\n this.host.style.setProperty('--safe-triangle-submenu-end-x', `${isRtl ? left + width : left}px`);\n this.host.style.setProperty('--safe-triangle-submenu-end-y', `${top + height}px`);\n };\n\n private setSubmenuState(state: boolean) {\n if (this.popupRef.value) {\n if (this.popupRef.value.active !== state) {\n this.popupRef.value.active = state;\n this.host.requestUpdate();\n }\n }\n }\n\n // Shows the submenu. Supports disabling the opening delay, e.g. for keyboard events that want to set the focus to the\n // newly opened menu.\n private enableSubmenu(delay = true) {\n if (delay) {\n window.clearTimeout(this.enableSubmenuTimer);\n this.enableSubmenuTimer = window.setTimeout(() => {\n this.setSubmenuState(true);\n }, this.submenuOpenDelay);\n } else {\n this.setSubmenuState(true);\n }\n }\n\n private disableSubmenu() {\n window.clearTimeout(this.enableSubmenuTimer);\n this.setSubmenuState(false);\n }\n\n // Calculate the space the top of a menu takes-up, for aligning the popup menu-item with the activating element.\n private updateSkidding(): void {\n // .computedStyleMap() not always available.\n if (!this.host.parentElement?.computedStyleMap) {\n return;\n }\n const styleMap: StylePropertyMapReadOnly = this.host.parentElement.computedStyleMap();\n const attrs: string[] = ['padding-top', 'border-top-width', 'margin-top'];\n\n const skidding = attrs.reduce((accumulator, attr) => {\n const styleValue: CSSStyleValue = styleMap.get(attr) ?? new CSSUnitValue(0, 'px');\n const unitValue = styleValue instanceof CSSUnitValue ? styleValue : new CSSUnitValue(0, 'px');\n const pxValue = unitValue.to('px');\n return accumulator - pxValue.value;\n }, 0);\n\n this.skidding = skidding;\n }\n\n isExpanded(): boolean {\n return this.popupRef.value ? this.popupRef.value.active : false;\n }\n\n renderSubmenu() {\n const isRtl = getComputedStyle(this.host).direction === 'rtl';\n\n // Always render the slot, but conditionally render the outer <syn-popup>\n if (!this.isConnected) {\n return html` <slot name=\"submenu\" hidden></slot> `;\n }\n\n return html`\n <syn-popup\n ${ref(this.popupRef)}\n placement=${isRtl ? 'left-start' : 'right-start'}\n anchor=\"anchor\"\n flip\n flip-fallback-strategy=\"best-fit\"\n skidding=\"${this.skidding}\"\n strategy=\"fixed\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n <slot name=\"submenu\"></slot>\n </syn-popup>\n `;\n }\n}\n"],
5
+ "mappings": ";AAQA,SAAS,WAAW,WAAqB;AAEzC,SAAS,YAAY;AAMd,IAAM,oBAAN,MAAsD;AAAA,EAU3D,YAAY,MAA4C,mBAAsC;AAR9F,SAAQ,WAA0B,UAAU;AAC5C,SAAQ,qBAAqB;AAC7B,SAAQ,cAAc;AACtB,SAAQ,mBAAmB;AAC3B,SAAQ,WAAW;AAEnB,SAAiB,mBAAmB;AAkEpC;AAAA,SAAQ,kBAAkB,CAAC,UAAsB;AAC/C,WAAK,KAAK,MAAM,YAAY,4BAA4B,GAAG,MAAM,OAAO,IAAI;AAC5E,WAAK,KAAK,MAAM,YAAY,4BAA4B,GAAG,MAAM,OAAO,IAAI;AAAA,IAC9E;AAEA,SAAQ,kBAAkB,MAAM;AAC9B,UAAI,KAAK,kBAAkB,KAAK,SAAS,GAAG;AAC1C,aAAK,cAAc;AAAA,MACrB;AAAA,IACF;AAmDA;AAAA,SAAQ,gBAAgB,CAAC,UAAyB;AAChD,cAAQ,MAAM,KAAK;AAAA,QACjB,KAAK;AAAA,QACL,KAAK;AACH,eAAK,eAAe;AACpB;AAAA,QACF,KAAK;AAEH,cAAI,MAAM,WAAW,KAAK,MAAM;AAC9B,kBAAM,eAAe;AACrB,kBAAM,gBAAgB;AACtB,iBAAK,KAAK,MAAM;AAChB,iBAAK,eAAe;AAAA,UACtB;AACA;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACH,eAAK,mBAAmB,KAAK;AAC7B;AAAA,QACF;AACE;AAAA,MACJ;AAAA,IACF;AAEA,SAAQ,cAAc,CAAC,UAAsB;AA/K/C;AAiLI,UAAI,MAAM,WAAW,KAAK,MAAM;AAC9B,cAAM,eAAe;AACrB,cAAM,gBAAgB;AAAA,MACxB,WACE,MAAM,kBAAkB,YACvB,MAAM,OAAO,YAAY,qBAAmB,WAAM,OAAO,SAAb,mBAAmB,WAAW,eAC3E;AACA,aAAK,eAAe;AAAA,MACtB;AAAA,IACF;AAGA;AAAA,SAAQ,iBAAiB,CAAC,UAAsB;AAC9C,UAAI,MAAM,iBAAiB,MAAM,yBAAyB,WAAW,KAAK,KAAK,SAAS,MAAM,aAAa,GAAG;AAC5G;AAAA,MACF;AACA,WAAK,eAAe;AAAA,IACtB;AAGA;AAAA,SAAQ,uBAAuB,CAAC,UAAsB;AACpD,YAAM,gBAAgB;AAAA,IACxB;AAGA;AAAA,SAAQ,wBAAwB,MAAM;AACpC,YAAM,cAAsC,KAAK,KAAK,WAAW,cAAc,sBAAsB;AACrG,YAAM,OAAO,2CAAa,iBAAiB,EAAE,SAAS,KAAK,GAAG,OAAO,QAAM,GAAG,cAAc,YAAY;AACxG,YAAM,QAAQ,iBAAiB,KAAK,IAAI,EAAE,cAAc;AACxD,UAAI,CAAC,MAAM;AACT;AAAA,MACF;AAEA,YAAM,EAAE,MAAM,KAAK,OAAO,OAAO,IAAI,KAAK,sBAAsB;AAEhE,WAAK,KAAK,MAAM,YAAY,mCAAmC,GAAG,QAAQ,OAAO,QAAQ,IAAI,IAAI;AACjG,WAAK,KAAK,MAAM,YAAY,mCAAmC,GAAG,GAAG,IAAI;AACzE,WAAK,KAAK,MAAM,YAAY,iCAAiC,GAAG,QAAQ,OAAO,QAAQ,IAAI,IAAI;AAC/F,WAAK,KAAK,MAAM,YAAY,iCAAiC,GAAG,MAAM,MAAM,IAAI;AAAA,IAClF;AA7LE,KAAC,KAAK,OAAO,MAAM,cAAc,IAAI;AACrC,SAAK,oBAAoB;AAAA,EAC3B;AAAA,EAEA,gBAAgB;AACd,QAAI,KAAK,kBAAkB,KAAK,SAAS,KAAK,CAAC,KAAK,KAAK,UAAU;AACjE,WAAK,aAAa;AAAA,IACpB;AAAA,EACF;AAAA,EAEA,mBAAmB;AACjB,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAEA,cAAc;AACZ,QAAI,KAAK,kBAAkB,KAAK,SAAS,KAAK,CAAC,KAAK,KAAK,UAAU;AACjE,WAAK,aAAa;AAClB,WAAK,eAAe;AAAA,IACtB,OAAO;AACL,WAAK,gBAAgB;AAAA,IACvB;AAAA,EACF;AAAA,EAEQ,eAAe;AACrB,QAAI,CAAC,KAAK,aAAa;AACrB,WAAK,KAAK,iBAAiB,aAAa,KAAK,eAAe;AAC5D,WAAK,KAAK,iBAAiB,aAAa,KAAK,eAAe;AAC5D,WAAK,KAAK,iBAAiB,WAAW,KAAK,aAAa;AACxD,WAAK,KAAK,iBAAiB,SAAS,KAAK,WAAW;AACpD,WAAK,KAAK,iBAAiB,YAAY,KAAK,cAAc;AAC1D,WAAK,cAAc;AAAA,IACrB;AAIA,QAAI,CAAC,KAAK,kBAAkB;AAC1B,UAAI,KAAK,SAAS,OAAO;AACvB,aAAK,SAAS,MAAM,iBAAiB,aAAa,KAAK,oBAAoB;AAC3E,aAAK,SAAS,MAAM,iBAAiB,kBAAkB,KAAK,qBAAqB;AACjF,aAAK,mBAAmB;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,kBAAkB;AACxB,QAAI,KAAK,aAAa;AACpB,WAAK,KAAK,oBAAoB,aAAa,KAAK,eAAe;AAC/D,WAAK,KAAK,oBAAoB,aAAa,KAAK,eAAe;AAC/D,WAAK,KAAK,oBAAoB,WAAW,KAAK,aAAa;AAC3D,WAAK,KAAK,oBAAoB,SAAS,KAAK,WAAW;AACvD,WAAK,KAAK,oBAAoB,YAAY,KAAK,cAAc;AAC7D,WAAK,cAAc;AAAA,IACrB;AACA,QAAI,KAAK,kBAAkB;AACzB,UAAI,KAAK,SAAS,OAAO;AACvB,aAAK,SAAS,MAAM,oBAAoB,aAAa,KAAK,oBAAoB;AAC9E,aAAK,SAAS,MAAM,oBAAoB,kBAAkB,KAAK,qBAAqB;AACpF,aAAK,mBAAmB;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA,EAcQ,mBAAmB,OAAsB;AAE/C,UAAM,cAAsC,KAAK,KAAK,WAAW,cAAc,sBAAsB;AAGrG,QAAI,CAAC,aAAa;AAChB,cAAQ,MAAM,wEAAwE,IAAI;AAC1F;AAAA,IACF;AAGA,QAAI,YAAwC;AAC5C,eAAW,OAAO,YAAY,iBAAiB,GAAG;AAChD,kBAAY,IAAI,iBAAiB,mCAAmC;AACpE,UAAI,UAAU,WAAW,GAAG;AAC1B;AAAA,MACF;AAAA,IACF;AAEA,QAAI,CAAC,aAAa,UAAU,WAAW,GAAG;AACxC;AAAA,IACF;AAEA,cAAU,CAAC,EAAE,aAAa,YAAY,GAAG;AACzC,aAAS,IAAI,GAAG,MAAM,UAAU,QAAQ,EAAE,GAAG;AAC3C,gBAAU,CAAC,EAAE,aAAa,YAAY,IAAI;AAAA,IAC5C;AAGA,QAAI,KAAK,SAAS,OAAO;AACvB,YAAM,eAAe;AACrB,YAAM,gBAAgB;AACtB,UAAI,KAAK,SAAS,MAAM,QAAQ;AAC9B,YAAI,UAAU,CAAC,aAAa,aAAa;AACvC,oBAAU,CAAC,EAAE,MAAM;AAAA,QACrB;AAAA,MACF,OAAO;AACL,aAAK,cAAc,KAAK;AACxB,aAAK,KAAK,eAAe,KAAK,MAAM;AAClC,cAAI,UAAW,CAAC,aAAa,aAAa;AACxC,sBAAW,CAAC,EAAE,MAAM;AAAA,UACtB;AAAA,QACF,CAAC;AACD,aAAK,KAAK,cAAc;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA,EAuEQ,gBAAgB,OAAgB;AACtC,QAAI,KAAK,SAAS,OAAO;AACvB,UAAI,KAAK,SAAS,MAAM,WAAW,OAAO;AACxC,aAAK,SAAS,MAAM,SAAS;AAC7B,aAAK,KAAK,cAAc;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA,EAIQ,cAAc,QAAQ,MAAM;AAClC,QAAI,OAAO;AACT,aAAO,aAAa,KAAK,kBAAkB;AAC3C,WAAK,qBAAqB,OAAO,WAAW,MAAM;AAChD,aAAK,gBAAgB,IAAI;AAAA,MAC3B,GAAG,KAAK,gBAAgB;AAAA,IAC1B,OAAO;AACL,WAAK,gBAAgB,IAAI;AAAA,IAC3B;AAAA,EACF;AAAA,EAEQ,iBAAiB;AACvB,WAAO,aAAa,KAAK,kBAAkB;AAC3C,SAAK,gBAAgB,KAAK;AAAA,EAC5B;AAAA;AAAA,EAGQ,iBAAuB;AAtPjC;AAwPI,QAAI,GAAC,UAAK,KAAK,kBAAV,mBAAyB,mBAAkB;AAC9C;AAAA,IACF;AACA,UAAM,WAAqC,KAAK,KAAK,cAAc,iBAAiB;AACpF,UAAM,QAAkB,CAAC,eAAe,oBAAoB,YAAY;AAExE,UAAM,WAAW,MAAM,OAAO,CAAC,aAAa,SAAS;AA9PzD,UAAAA;AA+PM,YAAM,cAA4BA,MAAA,SAAS,IAAI,IAAI,MAAjB,OAAAA,MAAsB,IAAI,aAAa,GAAG,IAAI;AAChF,YAAM,YAAY,sBAAsB,eAAe,aAAa,IAAI,aAAa,GAAG,IAAI;AAC5F,YAAM,UAAU,UAAU,GAAG,IAAI;AACjC,aAAO,cAAc,QAAQ;AAAA,IAC/B,GAAG,CAAC;AAEJ,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,aAAsB;AACpB,WAAO,KAAK,SAAS,QAAQ,KAAK,SAAS,MAAM,SAAS;AAAA,EAC5D;AAAA,EAEA,gBAAgB;AACd,UAAM,QAAQ,iBAAiB,KAAK,IAAI,EAAE,cAAc;AAGxD,QAAI,CAAC,KAAK,aAAa;AACrB,aAAO;AAAA,IACT;AAEA,WAAO;AAAA;AAAA,UAED,IAAI,KAAK,QAAQ,CAAC;AAAA,oBACR,QAAQ,eAAe,aAAa;AAAA;AAAA;AAAA;AAAA,oBAIpC,KAAK,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/B;AACF;",
6
6
  "names": ["_a"]
7
7
  }
@@ -6,20 +6,23 @@ import {
6
6
  } from "./chunk.FSWTBNSI.js";
7
7
  import {
8
8
  SubmenuController
9
- } from "./chunk.JNP34M27.js";
9
+ } from "./chunk.FUHFSQEX.js";
10
10
  import {
11
11
  SynPopup
12
- } from "./chunk.E3ZZVSK2.js";
12
+ } from "./chunk.API5O3M4.js";
13
13
  import {
14
14
  SynSpinner
15
- } from "./chunk.RCLQ6KWO.js";
15
+ } from "./chunk.QC77ZFJI.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.SOEUVX7Q.js";
22
+ } from "./chunk.ULXNVBWC.js";
23
+ import {
24
+ LocalizeController
25
+ } from "./chunk.GIU3H3J3.js";
23
26
  import {
24
27
  watch
25
28
  } from "./chunk.74IOULXM.js";
@@ -28,7 +31,7 @@ import {
28
31
  } from "./chunk.NLYVOJGK.js";
29
32
  import {
30
33
  SynergyElement
31
- } from "./chunk.RHPPIKE6.js";
34
+ } from "./chunk.BMMT5J3T.js";
32
35
  import {
33
36
  __decorateClass
34
37
  } from "./chunk.2GFK6XTO.js";
@@ -40,6 +43,7 @@ import { property, query } from "lit/decorators.js";
40
43
  var SynMenuItem = class extends SynergyElement {
41
44
  constructor() {
42
45
  super(...arguments);
46
+ this.localize = new LocalizeController(this);
43
47
  this.type = "normal";
44
48
  this.checked = false;
45
49
  this.value = "";
@@ -111,7 +115,7 @@ var SynMenuItem = class extends SynergyElement {
111
115
  return this.hasSlotController.test("submenu");
112
116
  }
113
117
  render() {
114
- const isRtl = this.matches(":dir(rtl)");
118
+ const isRtl = this.localize.dir() === "rtl";
115
119
  const isSubmenuExpanded = this.submenuController.isExpanded();
116
120
  return html`
117
121
  <div
@@ -189,4 +193,4 @@ __decorateClass([
189
193
  export {
190
194
  SynMenuItem
191
195
  };
192
- //# sourceMappingURL=chunk.QNDW2KU7.js.map
196
+ //# sourceMappingURL=chunk.FUSBMFDB.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/menu-item/menu-item.component.ts"],
4
+ "sourcesContent": ["/**\n * ---------------------------------------------------------------------\n * \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n * Removing this comment will prevent it from being managed by it.\n * ---------------------------------------------------------------------\n */\n\n/* eslint-disable */\nimport { classMap } from 'lit/directives/class-map.js';\nimport { getTextContent, HasSlotController } from '../../internal/slot.js';\nimport { html } from 'lit';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property, query } from 'lit/decorators.js';\nimport { SubmenuController } from './submenu-controller.js';\nimport { watch } from '../../internal/watch.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport SynIcon from '../icon/icon.component.js';\nimport SynPopup from '../popup/popup.component.js';\nimport SynSpinner from '../spinner/spinner.component.js';\nimport styles from './menu-item.styles.js';\nimport customStyles from './menu-item.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Menu items provide options for the user to pick from in a menu.\n * @documentation https://synergy.style/components/menu-item\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-popup\n * @dependency syn-spinner\n *\n * @slot - The menu item's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n * @slot submenu - Used to denote a nested menu.\n *\n * @csspart base - The component's base wrapper.\n * @csspart checked-icon - The checked icon, which is only visible when the menu item is checked.\n * @csspart prefix - The prefix container.\n * @csspart label - The menu item label.\n * @csspart suffix - The suffix container.\n * @csspart spinner - The spinner that shows when the menu item is in the loading state.\n * @csspart spinner__base - The spinner's base part.\n * @csspart submenu-icon - The submenu icon, visible only when the menu item has a submenu (not yet implemented).\n *\n * @cssproperty [--submenu-offset=-2px] - The distance submenus shift to overlap the parent menu.\n */\nexport default class SynMenuItem extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles, customStyles];\n static dependencies = {\n 'syn-icon': SynIcon,\n 'syn-popup': SynPopup,\n 'syn-spinner': SynSpinner\n };\n\n private cachedTextLabel: string;\n private readonly localize = new LocalizeController(this);\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n @query('.menu-item') menuItem: HTMLElement;\n\n /** The type of menu item to render. To use `checked`, this value must be set to `checkbox`. */\n @property() type: 'normal' | 'checkbox' = 'normal';\n\n /** Draws the item in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** A unique value to store in the menu item. This can be used as a way to identify menu items when selected. */\n @property() value = '';\n\n /** Draws the menu item in a loading state. */\n @property({ type: Boolean, reflect: true }) loading = false;\n\n /** Draws the menu item in a disabled state, preventing selection. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n private readonly hasSlotController = new HasSlotController(this, 'submenu');\n private submenuController: SubmenuController = new SubmenuController(this, this.hasSlotController);\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('click', this.handleHostClick);\n this.addEventListener('mouseover', this.handleMouseOver);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.handleHostClick);\n this.removeEventListener('mouseover', this.handleMouseOver);\n }\n\n private handleDefaultSlotChange() {\n const textLabel = this.getTextLabel();\n\n // Ignore the first time the label is set\n if (typeof this.cachedTextLabel === 'undefined') {\n this.cachedTextLabel = textLabel;\n return;\n }\n\n // When the label changes, emit a slotchange event so parent controls see it\n if (textLabel !== this.cachedTextLabel) {\n this.cachedTextLabel = textLabel;\n this.emit('slotchange', { bubbles: true, composed: false, cancelable: false });\n }\n }\n\n private handleHostClick = (event: MouseEvent) => {\n // Prevent the click event from being emitted when the button is disabled or loading\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n };\n\n private handleMouseOver = (event: MouseEvent) => {\n this.focus();\n event.stopPropagation();\n };\n\n @watch('checked')\n handleCheckedChange() {\n // For proper accessibility, users have to use type=\"checkbox\" to use the checked attribute\n if (this.checked && this.type !== 'checkbox') {\n this.checked = false;\n console.error('The checked attribute can only be used on menu items with type=\"checkbox\"', this);\n return;\n }\n\n // Only checkbox types can receive the aria-checked attribute\n if (this.type === 'checkbox') {\n this.setAttribute('aria-checked', this.checked ? 'true' : 'false');\n } else {\n this.removeAttribute('aria-checked');\n }\n }\n\n @watch('disabled')\n handleDisabledChange() {\n this.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');\n }\n\n @watch('type')\n handleTypeChange() {\n if (this.type === 'checkbox') {\n this.setAttribute('role', 'menuitemcheckbox');\n this.setAttribute('aria-checked', this.checked ? 'true' : 'false');\n } else {\n this.setAttribute('role', 'menuitem');\n this.removeAttribute('aria-checked');\n }\n }\n\n /** Returns a text label based on the contents of the menu item's default slot. */\n getTextLabel() {\n return getTextContent(this.defaultSlot);\n }\n\n isSubmenu() {\n return this.hasSlotController.test('submenu');\n }\n\n render() {\n const isRtl = this.localize.dir() === 'rtl';\n const isSubmenuExpanded = this.submenuController.isExpanded();\n\n return html`\n <div\n id=\"anchor\"\n part=\"base\"\n class=${classMap({\n 'menu-item': true,\n 'menu-item--rtl': isRtl,\n 'menu-item--checked': this.checked,\n 'menu-item--disabled': this.disabled,\n 'menu-item--loading': this.loading,\n 'menu-item--has-submenu': this.isSubmenu(),\n 'menu-item--submenu-expanded': isSubmenuExpanded\n })}\n ?aria-haspopup=\"${this.isSubmenu()}\"\n ?aria-expanded=\"${isSubmenuExpanded ? true : false}\"\n >\n <span part=\"checked-icon\" class=\"menu-item__check\">\n <syn-icon name=\"check\" library=\"system\" aria-hidden=\"true\"></syn-icon>\n </span>\n\n <slot name=\"prefix\" part=\"prefix\" class=\"menu-item__prefix\"></slot>\n\n <slot part=\"label\" class=\"menu-item__label\" @slotchange=${this.handleDefaultSlotChange}></slot>\n\n <slot name=\"suffix\" part=\"suffix\" class=\"menu-item__suffix\"></slot>\n\n <span part=\"submenu-icon\" class=\"menu-item__chevron\">\n <syn-icon name=\"chevron-down\" library=\"system\" aria-hidden=\"true\"></syn-icon>\n </span>\n\n ${this.submenuController.renderSubmenu()}\n ${this.loading ? html` <syn-spinner part=\"spinner\" exportparts=\"base:spinner__base\"></syn-spinner> ` : ''}\n </div>\n `;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynProgressRing
3
- } from "./chunk.SCLHFDHD.js";
3
+ } from "./chunk.WPCYWZX6.js";
4
4
 
5
5
  // src/components/progress-ring/progress-ring.ts
6
6
  var progress_ring_default = SynProgressRing;
@@ -9,4 +9,4 @@ SynProgressRing.define("syn-progress-ring");
9
9
  export {
10
10
  progress_ring_default
11
11
  };
12
- //# sourceMappingURL=chunk.KFN7XYP3.js.map
12
+ //# sourceMappingURL=chunk.GD4IVG2L.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynCard
3
- } from "./chunk.SVBD2JZ2.js";
3
+ } from "./chunk.H7SVFADO.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.RICGHU7R.js.map
12
+ //# sourceMappingURL=chunk.GKAYXY36.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRadio
3
- } from "./chunk.EL6YEL4Z.js";
3
+ } from "./chunk.JLRQPUIG.js";
4
4
 
5
5
  // src/components/radio/radio.ts
6
6
  var radio_default = SynRadio;
@@ -9,4 +9,4 @@ SynRadio.define("syn-radio");
9
9
  export {
10
10
  radio_default
11
11
  };
12
- //# sourceMappingURL=chunk.KJGQ4ZXQ.js.map
12
+ //# sourceMappingURL=chunk.GLWGL7YS.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynPopup
3
- } from "./chunk.E3ZZVSK2.js";
3
+ } from "./chunk.API5O3M4.js";
4
4
  import {
5
5
  defaultOptionRenderer
6
6
  } from "./chunk.SRH6ZOHT.js";
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk.DPCIJLV4.js";
26
26
  import {
27
27
  combobox_styles_default
28
- } from "./chunk.UREJSW6U.js";
28
+ } from "./chunk.IZEADTY5.js";
29
29
  import {
30
30
  FormControlController
31
31
  } from "./chunk.AMIQC3O7.js";
@@ -45,7 +45,7 @@ import {
45
45
  } from "./chunk.WVVQK5TE.js";
46
46
  import {
47
47
  SynIcon
48
- } from "./chunk.SOEUVX7Q.js";
48
+ } from "./chunk.ULXNVBWC.js";
49
49
  import {
50
50
  LocalizeController
51
51
  } from "./chunk.GIU3H3J3.js";
@@ -57,7 +57,7 @@ import {
57
57
  } from "./chunk.NLYVOJGK.js";
58
58
  import {
59
59
  SynergyElement
60
- } from "./chunk.RHPPIKE6.js";
60
+ } from "./chunk.BMMT5J3T.js";
61
61
  import {
62
62
  __decorateClass
63
63
  } from "./chunk.2GFK6XTO.js";
@@ -814,4 +814,4 @@ setDefaultAnimation("combobox.hide", {
814
814
  export {
815
815
  SynCombobox
816
816
  };
817
- //# sourceMappingURL=chunk.IDTO73ND.js.map
817
+ //# sourceMappingURL=chunk.GQRFIMFT.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk.NLYVOJGK.js";
13
13
  import {
14
14
  SynergyElement
15
- } from "./chunk.RHPPIKE6.js";
15
+ } from "./chunk.BMMT5J3T.js";
16
16
  import {
17
17
  __decorateClass
18
18
  } from "./chunk.2GFK6XTO.js";
@@ -55,4 +55,4 @@ __decorateClass([
55
55
  export {
56
56
  SynCard
57
57
  };
58
- //# sourceMappingURL=chunk.SVBD2JZ2.js.map
58
+ //# sourceMappingURL=chunk.H7SVFADO.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk.NLYVOJGK.js";
10
10
  import {
11
11
  SynergyElement
12
- } from "./chunk.RHPPIKE6.js";
12
+ } from "./chunk.BMMT5J3T.js";
13
13
  import {
14
14
  __decorateClass
15
15
  } from "./chunk.2GFK6XTO.js";
@@ -78,4 +78,4 @@ __decorateClass([
78
78
  export {
79
79
  SynResizeObserver
80
80
  };
81
- //# sourceMappingURL=chunk.JSAB4Y6I.js.map
81
+ //# sourceMappingURL=chunk.HV53NCY4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRangeTick
3
- } from "./chunk.7KHURS47.js";
3
+ } from "./chunk.YPYP3MLT.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.JAKZ77B7.js.map
12
+ //# sourceMappingURL=chunk.I5BBVZWA.js.map
@@ -162,6 +162,11 @@ var combobox_styles_default = css`
162
162
  margin-inline-start: var(--syn-input-spacing-large);
163
163
  }
164
164
 
165
+ .combobox--large.combobox--multiple .combobox__inputs {
166
+ padding-inline-start: 0;
167
+ padding-block: 4px;
168
+ }
169
+
165
170
  /* Prefix and Suffix */
166
171
  .combobox__prefix,
167
172
  .combobox__suffix {
@@ -343,4 +348,4 @@ var combobox_styles_default = css`
343
348
  export {
344
349
  combobox_styles_default
345
350
  };
346
- //# sourceMappingURL=chunk.UREJSW6U.js.map
351
+ //# sourceMappingURL=chunk.IZEADTY5.js.map