@synergy-design-system/components 1.8.0 → 1.10.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 (253) hide show
  1. package/dist/chunks/{chunk.23HTU3YE.js → chunk.2EI3TNL7.js} +1 -16
  2. package/dist/chunks/chunk.2EI3TNL7.js.map +7 -0
  3. package/dist/chunks/{chunk.RSONAU45.js → chunk.2RF7KO5I.js} +1 -12
  4. package/dist/chunks/chunk.2RF7KO5I.js.map +7 -0
  5. package/dist/chunks/{chunk.CUU2VBEZ.js → chunk.2ZSYEFTP.js} +2 -2
  6. package/dist/chunks/{chunk.5TFG753C.js → chunk.3B2AQAU2.js} +2 -2
  7. package/dist/chunks/{chunk.G66TSLVT.js → chunk.3DUJKCD2.js} +23 -13
  8. package/dist/chunks/chunk.3DUJKCD2.js.map +7 -0
  9. package/dist/chunks/{chunk.HW5TASOL.js → chunk.3RA2P64H.js} +3 -3
  10. package/dist/chunks/{chunk.4CBN5LPQ.js → chunk.3STW62TA.js} +1 -12
  11. package/dist/chunks/chunk.3STW62TA.js.map +7 -0
  12. package/dist/chunks/{chunk.EKOK7YPB.js → chunk.4QS5IWYB.js} +1 -16
  13. package/dist/chunks/chunk.4QS5IWYB.js.map +7 -0
  14. package/dist/chunks/{chunk.KA7L2PMA.js → chunk.67GSZBK7.js} +20 -13
  15. package/dist/chunks/chunk.67GSZBK7.js.map +7 -0
  16. package/dist/chunks/{chunk.UG5FC6UD.js → chunk.7HMAYWNS.js} +2 -2
  17. package/dist/chunks/{chunk.6PWB7EUW.js → chunk.7N42OBRZ.js} +2 -2
  18. package/dist/chunks/{chunk.JRXQK6LG.js → chunk.7UVCYUNR.js} +2 -2
  19. package/dist/chunks/{chunk.4ZURABYO.js → chunk.A7IIJ2LL.js} +1 -7
  20. package/dist/chunks/{chunk.O7USYXBT.js.map → chunk.A7IIJ2LL.js.map} +3 -3
  21. package/dist/chunks/{chunk.PGCXJ2PT.js → chunk.ACTJFDNK.js} +1 -12
  22. package/dist/chunks/chunk.ACTJFDNK.js.map +7 -0
  23. package/dist/chunks/{chunk.MNMITYTH.js → chunk.ADRKUQGR.js} +1 -12
  24. package/dist/chunks/chunk.ADRKUQGR.js.map +7 -0
  25. package/dist/chunks/{chunk.RS4Z4KDT.js → chunk.AYTANJEE.js} +10 -6
  26. package/dist/chunks/chunk.AYTANJEE.js.map +7 -0
  27. package/dist/chunks/{chunk.4ZGN7AEC.js → chunk.BF2Z2XBN.js} +18 -10
  28. package/dist/chunks/chunk.BF2Z2XBN.js.map +7 -0
  29. package/dist/chunks/{chunk.QHFGD6WW.js → chunk.BGHK4NQA.js} +1 -12
  30. package/dist/chunks/chunk.BGHK4NQA.js.map +7 -0
  31. package/dist/chunks/{chunk.2IBWQADW.js → chunk.BI7J7YNX.js} +2 -2
  32. package/dist/chunks/{chunk.F3YEAZYJ.js → chunk.BOO4VTHX.js} +2 -2
  33. package/dist/chunks/{chunk.HNRD7DBS.js → chunk.CBR46SD4.js} +6 -5
  34. package/dist/chunks/chunk.CBR46SD4.js.map +7 -0
  35. package/dist/chunks/{chunk.W6V7TPGK.js → chunk.CFIQXXMW.js} +1 -12
  36. package/dist/chunks/chunk.CFIQXXMW.js.map +7 -0
  37. package/dist/chunks/chunk.CJZHKDBQ.js +12 -0
  38. package/dist/chunks/chunk.CJZHKDBQ.js.map +7 -0
  39. package/dist/chunks/{chunk.DAROCSFO.js → chunk.DIXHBM5G.js} +10 -6
  40. package/dist/chunks/chunk.DIXHBM5G.js.map +7 -0
  41. package/dist/chunks/{chunk.WP6T5CG2.js → chunk.FAKWK5NS.js} +2 -2
  42. package/dist/chunks/{chunk.UVYPEAQZ.js → chunk.GQY3KJDK.js} +23 -8
  43. package/dist/chunks/chunk.GQY3KJDK.js.map +7 -0
  44. package/dist/chunks/{chunk.2KKPNUPU.js → chunk.GTSRMEPE.js} +2 -4
  45. package/dist/chunks/chunk.GTSRMEPE.js.map +7 -0
  46. package/dist/chunks/{chunk.MRAXEK5D.js → chunk.H5ZKCFYO.js} +2 -2
  47. package/dist/chunks/{chunk.JBHQJWOB.js → chunk.HELY6MCO.js} +71 -33
  48. package/dist/chunks/chunk.HELY6MCO.js.map +7 -0
  49. package/dist/chunks/{chunk.NWWHBSV7.js → chunk.HUHPPFDX.js} +2 -2
  50. package/dist/chunks/chunk.JDXKGJ63.js +99 -0
  51. package/dist/chunks/chunk.JDXKGJ63.js.map +7 -0
  52. package/dist/chunks/chunk.JMP6V7XJ.js +80 -0
  53. package/dist/chunks/chunk.JMP6V7XJ.js.map +7 -0
  54. package/dist/chunks/{chunk.K4ELZCXB.js → chunk.JORZ3DML.js} +2 -2
  55. package/dist/chunks/{chunk.JSO3PKB4.js → chunk.KUO3KJOC.js} +2 -2
  56. package/dist/chunks/{chunk.A2WGLZOL.js → chunk.LIRQO322.js} +2 -2
  57. package/dist/chunks/{chunk.2FN5DTS6.js → chunk.LJQ7LEPV.js} +1 -12
  58. package/dist/chunks/chunk.LJQ7LEPV.js.map +7 -0
  59. package/dist/chunks/{chunk.COKV3ZN7.js → chunk.M6D7QVXC.js} +2 -2
  60. package/dist/chunks/{chunk.JN7CLMQZ.js → chunk.MIMALEWP.js} +21 -7
  61. package/dist/chunks/chunk.MIMALEWP.js.map +7 -0
  62. package/dist/chunks/{chunk.Y4QKFZLK.js → chunk.MZBIDOMW.js} +84 -46
  63. package/dist/chunks/chunk.MZBIDOMW.js.map +7 -0
  64. package/dist/chunks/{chunk.5AAIHRMI.js → chunk.N4VSEIRQ.js} +3 -1
  65. package/dist/chunks/{chunk.5AAIHRMI.js.map → chunk.N4VSEIRQ.js.map} +2 -2
  66. package/dist/chunks/{chunk.35PHCFSV.js → chunk.NII3J5OF.js} +12 -8
  67. package/dist/chunks/chunk.NII3J5OF.js.map +7 -0
  68. package/dist/chunks/{chunk.NAAFLDZ3.js → chunk.OPP7D6NX.js} +2 -2
  69. package/dist/chunks/{chunk.N2I6HVX3.js → chunk.OSBC36KQ.js} +4 -9
  70. package/dist/chunks/chunk.OSBC36KQ.js.map +7 -0
  71. package/dist/chunks/{chunk.NV7W5R6V.js → chunk.PHSJD47V.js} +1 -12
  72. package/dist/chunks/chunk.PHSJD47V.js.map +7 -0
  73. package/dist/chunks/{chunk.JBYBQ5TQ.js → chunk.PKO6FEOM.js} +1 -12
  74. package/dist/chunks/chunk.PKO6FEOM.js.map +7 -0
  75. package/dist/chunks/{chunk.GZVDP7WZ.js → chunk.QF4AQCX3.js} +137 -42
  76. package/dist/chunks/chunk.QF4AQCX3.js.map +7 -0
  77. package/dist/chunks/{chunk.6XU6OLZ3.js → chunk.QNQNR3RY.js} +1 -16
  78. package/dist/chunks/chunk.QNQNR3RY.js.map +7 -0
  79. package/dist/chunks/{chunk.XI6MSNHF.js → chunk.QRXBA3TE.js} +83 -5
  80. package/dist/chunks/chunk.QRXBA3TE.js.map +7 -0
  81. package/dist/chunks/{chunk.B75SET3J.js → chunk.RRQEMHEV.js} +6 -5
  82. package/dist/chunks/chunk.RRQEMHEV.js.map +7 -0
  83. package/dist/chunks/{chunk.ERNEIORV.js → chunk.SHI4PSGX.js} +9 -5
  84. package/dist/chunks/chunk.SHI4PSGX.js.map +7 -0
  85. package/dist/chunks/{chunk.OJ4KOC7R.js → chunk.SJMMPKWP.js} +1 -12
  86. package/dist/chunks/chunk.SJMMPKWP.js.map +7 -0
  87. package/dist/chunks/{chunk.2Z2GYRLO.js → chunk.SZCGMXW5.js} +2 -2
  88. package/dist/chunks/chunk.SZCGMXW5.js.map +7 -0
  89. package/dist/chunks/{chunk.MB3YZTYP.js → chunk.TGVTAWOV.js} +6 -5
  90. package/dist/chunks/chunk.TGVTAWOV.js.map +7 -0
  91. package/dist/chunks/{chunk.JHXCBOUD.js → chunk.TTL762VF.js} +57 -60
  92. package/dist/chunks/chunk.TTL762VF.js.map +7 -0
  93. package/dist/chunks/{chunk.OJUBVHIK.js → chunk.UCMAXFGL.js} +2 -2
  94. package/dist/chunks/{chunk.2XCLA4MQ.js → chunk.UX22QVVR.js} +2 -2
  95. package/dist/chunks/{chunk.RVFNEWM3.js → chunk.UXDU44Q3.js} +2 -2
  96. package/dist/chunks/{chunk.AFEABUNX.js → chunk.W5JK7V7K.js} +6 -1
  97. package/dist/chunks/chunk.W5JK7V7K.js.map +7 -0
  98. package/dist/chunks/{chunk.BGPAHVPK.js → chunk.WEX3I4KA.js} +2 -2
  99. package/dist/chunks/{chunk.GUQN6XL4.js → chunk.WUFFQJJF.js} +10 -6
  100. package/dist/chunks/chunk.WUFFQJJF.js.map +7 -0
  101. package/dist/chunks/{chunk.4I6M5V6O.js → chunk.XIUSSERX.js} +1 -16
  102. package/dist/chunks/chunk.XIUSSERX.js.map +7 -0
  103. package/dist/chunks/{chunk.WDX7XUUK.js → chunk.XVNL6NRN.js} +22 -2
  104. package/dist/chunks/chunk.XVNL6NRN.js.map +7 -0
  105. package/dist/chunks/{chunk.AWZ4FSAL.js → chunk.YDMQ766U.js} +15 -11
  106. package/dist/chunks/chunk.YDMQ766U.js.map +7 -0
  107. package/dist/chunks/{chunk.AJWDVZRI.js → chunk.ZGFM7UKE.js} +45 -19
  108. package/dist/chunks/chunk.ZGFM7UKE.js.map +7 -0
  109. package/dist/chunks/{chunk.IKKMWFWH.js → chunk.ZIQXX272.js} +2 -2
  110. package/dist/components/button/button.component.js +12 -13
  111. package/dist/components/button/button.js +13 -14
  112. package/dist/components/button/button.styles.js +1 -3
  113. package/dist/components/button-group/button-group.component.js +3 -4
  114. package/dist/components/button-group/button-group.js +4 -5
  115. package/dist/components/button-group/button-group.styles.js +1 -2
  116. package/dist/components/checkbox/checkbox.component.d.ts +5 -0
  117. package/dist/components/checkbox/checkbox.component.js +11 -10
  118. package/dist/components/checkbox/checkbox.js +12 -11
  119. package/dist/components/checkbox/checkbox.styles.js +1 -3
  120. package/dist/components/divider/divider.component.js +3 -4
  121. package/dist/components/divider/divider.js +4 -5
  122. package/dist/components/divider/divider.styles.js +1 -3
  123. package/dist/components/drawer/drawer.component.d.ts +1 -0
  124. package/dist/components/drawer/drawer.component.js +12 -13
  125. package/dist/components/drawer/drawer.js +13 -14
  126. package/dist/components/drawer/drawer.styles.js +1 -3
  127. package/dist/components/header/header.component.d.ts +36 -0
  128. package/dist/components/header/header.component.js +20 -0
  129. package/dist/components/header/header.component.js.map +7 -0
  130. package/dist/components/header/header.d.ts +8 -0
  131. package/dist/components/header/header.js +21 -0
  132. package/dist/components/header/header.js.map +7 -0
  133. package/dist/components/header/header.styles.d.ts +2 -0
  134. package/dist/components/header/header.styles.js +8 -0
  135. package/dist/components/header/header.styles.js.map +7 -0
  136. package/dist/components/icon/icon.component.js +6 -7
  137. package/dist/components/icon/icon.js +7 -8
  138. package/dist/components/icon/icon.styles.js +1 -3
  139. package/dist/components/icon/library.js +2 -2
  140. package/dist/components/icon/library.system.js +1 -1
  141. package/dist/components/icon-button/icon-button.component.js +8 -9
  142. package/dist/components/icon-button/icon-button.js +9 -10
  143. package/dist/components/icon-button/icon-button.styles.js +1 -3
  144. package/dist/components/input/input.component.js +13 -14
  145. package/dist/components/input/input.js +14 -15
  146. package/dist/components/input/input.styles.js +1 -4
  147. package/dist/components/optgroup/optgroup.component.js +4 -5
  148. package/dist/components/optgroup/optgroup.js +5 -6
  149. package/dist/components/option/option.component.js +8 -9
  150. package/dist/components/option/option.js +9 -10
  151. package/dist/components/option/option.styles.js +1 -3
  152. package/dist/components/popup/popup.component.d.ts +9 -0
  153. package/dist/components/popup/popup.component.js +3 -4
  154. package/dist/components/popup/popup.styles.js +1 -2
  155. package/dist/components/radio/radio.component.js +8 -9
  156. package/dist/components/radio/radio.js +9 -10
  157. package/dist/components/radio/radio.styles.js +1 -3
  158. package/dist/components/radio-button/radio-button.component.js +4 -6
  159. package/dist/components/radio-button/radio-button.js +5 -7
  160. package/dist/components/radio-button/radio-button.styles.js +2 -4
  161. package/dist/components/radio-group/radio-group.component.d.ts +1 -0
  162. package/dist/components/radio-group/radio-group.component.js +7 -8
  163. package/dist/components/radio-group/radio-group.js +8 -9
  164. package/dist/components/radio-group/radio-group.styles.js +1 -4
  165. package/dist/components/select/select.component.d.ts +1 -0
  166. package/dist/components/select/select.component.js +18 -19
  167. package/dist/components/select/select.js +19 -20
  168. package/dist/components/select/select.styles.js +1 -4
  169. package/dist/components/spinner/spinner.component.js +3 -4
  170. package/dist/components/spinner/spinner.styles.js +1 -2
  171. package/dist/components/switch/switch.component.d.ts +5 -0
  172. package/dist/components/switch/switch.component.js +7 -6
  173. package/dist/components/switch/switch.custom.styles.js +1 -1
  174. package/dist/components/switch/switch.js +8 -7
  175. package/dist/components/switch/switch.styles.js +1 -3
  176. package/dist/components/tag/tag.component.js +10 -11
  177. package/dist/components/tag/tag.js +11 -12
  178. package/dist/components/tag/tag.styles.js +1 -3
  179. package/dist/components/textarea/textarea.component.js +5 -6
  180. package/dist/components/textarea/textarea.js +6 -7
  181. package/dist/components/textarea/textarea.styles.js +1 -4
  182. package/dist/custom-elements.json +379 -147
  183. package/dist/internal/longpress.d.ts +2 -2
  184. package/dist/internal/modal.d.ts +3 -0
  185. package/dist/synergy.d.ts +1 -0
  186. package/dist/synergy.js +84 -79
  187. package/dist/utilities/form.js +2 -2
  188. package/dist/utilities/icon-library.js +2 -2
  189. package/dist/vscode.html-custom-data.json +53 -21
  190. package/package.json +2 -4
  191. package/dist/chunks/chunk.23HTU3YE.js.map +0 -7
  192. package/dist/chunks/chunk.2FN5DTS6.js.map +0 -7
  193. package/dist/chunks/chunk.2KKPNUPU.js.map +0 -7
  194. package/dist/chunks/chunk.2Z2GYRLO.js.map +0 -7
  195. package/dist/chunks/chunk.35PHCFSV.js.map +0 -7
  196. package/dist/chunks/chunk.4CBN5LPQ.js.map +0 -7
  197. package/dist/chunks/chunk.4I6M5V6O.js.map +0 -7
  198. package/dist/chunks/chunk.4ZGN7AEC.js.map +0 -7
  199. package/dist/chunks/chunk.4ZURABYO.js.map +0 -7
  200. package/dist/chunks/chunk.6XU6OLZ3.js.map +0 -7
  201. package/dist/chunks/chunk.AFEABUNX.js.map +0 -7
  202. package/dist/chunks/chunk.AJWDVZRI.js.map +0 -7
  203. package/dist/chunks/chunk.AWZ4FSAL.js.map +0 -7
  204. package/dist/chunks/chunk.B75SET3J.js.map +0 -7
  205. package/dist/chunks/chunk.DAROCSFO.js.map +0 -7
  206. package/dist/chunks/chunk.EKOK7YPB.js.map +0 -7
  207. package/dist/chunks/chunk.ERNEIORV.js.map +0 -7
  208. package/dist/chunks/chunk.G66TSLVT.js.map +0 -7
  209. package/dist/chunks/chunk.GUQN6XL4.js.map +0 -7
  210. package/dist/chunks/chunk.GZVDP7WZ.js.map +0 -7
  211. package/dist/chunks/chunk.HNRD7DBS.js.map +0 -7
  212. package/dist/chunks/chunk.JBHQJWOB.js.map +0 -7
  213. package/dist/chunks/chunk.JBYBQ5TQ.js.map +0 -7
  214. package/dist/chunks/chunk.JHXCBOUD.js.map +0 -7
  215. package/dist/chunks/chunk.JN7CLMQZ.js.map +0 -7
  216. package/dist/chunks/chunk.KA7L2PMA.js.map +0 -7
  217. package/dist/chunks/chunk.MB3YZTYP.js.map +0 -7
  218. package/dist/chunks/chunk.MNMITYTH.js.map +0 -7
  219. package/dist/chunks/chunk.N2I6HVX3.js.map +0 -7
  220. package/dist/chunks/chunk.NV7W5R6V.js.map +0 -7
  221. package/dist/chunks/chunk.O7USYXBT.js +0 -23
  222. package/dist/chunks/chunk.OJ4KOC7R.js.map +0 -7
  223. package/dist/chunks/chunk.PGCXJ2PT.js.map +0 -7
  224. package/dist/chunks/chunk.QHFGD6WW.js.map +0 -7
  225. package/dist/chunks/chunk.RS4Z4KDT.js.map +0 -7
  226. package/dist/chunks/chunk.RSONAU45.js.map +0 -7
  227. package/dist/chunks/chunk.UVYPEAQZ.js.map +0 -7
  228. package/dist/chunks/chunk.W6V7TPGK.js.map +0 -7
  229. package/dist/chunks/chunk.WDX7XUUK.js.map +0 -7
  230. package/dist/chunks/chunk.XI6MSNHF.js.map +0 -7
  231. package/dist/chunks/chunk.Y4QKFZLK.js.map +0 -7
  232. package/dist/web-types.json +0 -2580
  233. /package/dist/chunks/{chunk.CUU2VBEZ.js.map → chunk.2ZSYEFTP.js.map} +0 -0
  234. /package/dist/chunks/{chunk.5TFG753C.js.map → chunk.3B2AQAU2.js.map} +0 -0
  235. /package/dist/chunks/{chunk.HW5TASOL.js.map → chunk.3RA2P64H.js.map} +0 -0
  236. /package/dist/chunks/{chunk.UG5FC6UD.js.map → chunk.7HMAYWNS.js.map} +0 -0
  237. /package/dist/chunks/{chunk.6PWB7EUW.js.map → chunk.7N42OBRZ.js.map} +0 -0
  238. /package/dist/chunks/{chunk.JRXQK6LG.js.map → chunk.7UVCYUNR.js.map} +0 -0
  239. /package/dist/chunks/{chunk.2IBWQADW.js.map → chunk.BI7J7YNX.js.map} +0 -0
  240. /package/dist/chunks/{chunk.F3YEAZYJ.js.map → chunk.BOO4VTHX.js.map} +0 -0
  241. /package/dist/chunks/{chunk.WP6T5CG2.js.map → chunk.FAKWK5NS.js.map} +0 -0
  242. /package/dist/chunks/{chunk.MRAXEK5D.js.map → chunk.H5ZKCFYO.js.map} +0 -0
  243. /package/dist/chunks/{chunk.NWWHBSV7.js.map → chunk.HUHPPFDX.js.map} +0 -0
  244. /package/dist/chunks/{chunk.K4ELZCXB.js.map → chunk.JORZ3DML.js.map} +0 -0
  245. /package/dist/chunks/{chunk.JSO3PKB4.js.map → chunk.KUO3KJOC.js.map} +0 -0
  246. /package/dist/chunks/{chunk.A2WGLZOL.js.map → chunk.LIRQO322.js.map} +0 -0
  247. /package/dist/chunks/{chunk.COKV3ZN7.js.map → chunk.M6D7QVXC.js.map} +0 -0
  248. /package/dist/chunks/{chunk.NAAFLDZ3.js.map → chunk.OPP7D6NX.js.map} +0 -0
  249. /package/dist/chunks/{chunk.OJUBVHIK.js.map → chunk.UCMAXFGL.js.map} +0 -0
  250. /package/dist/chunks/{chunk.2XCLA4MQ.js.map → chunk.UX22QVVR.js.map} +0 -0
  251. /package/dist/chunks/{chunk.RVFNEWM3.js.map → chunk.UXDU44Q3.js.map} +0 -0
  252. /package/dist/chunks/{chunk.BGPAHVPK.js.map → chunk.WEX3I4KA.js.map} +0 -0
  253. /package/dist/chunks/{chunk.IKKMWFWH.js.map → chunk.ZIQXX272.js.map} +0 -0
@@ -24,10 +24,8 @@ function stopAnimations(el) {
24
24
  return Promise.all(
25
25
  el.getAnimations().map((animation) => {
26
26
  return new Promise((resolve) => {
27
- const handleAnimationEvent = requestAnimationFrame(resolve);
28
- animation.addEventListener("cancel", () => handleAnimationEvent, { once: true });
29
- animation.addEventListener("finish", () => handleAnimationEvent, { once: true });
30
27
  animation.cancel();
28
+ requestAnimationFrame(resolve);
31
29
  });
32
30
  })
33
31
  );
@@ -107,4 +105,4 @@ export {
107
105
  scrollIntoView,
108
106
  waitForEvent
109
107
  };
110
- //# sourceMappingURL=chunk.2KKPNUPU.js.map
108
+ //# sourceMappingURL=chunk.GTSRMEPE.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/internal/animate.ts", "../../src/internal/offset.ts", "../../src/internal/scroll.ts", "../../src/internal/event.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\n/**\n * Animates an element using keyframes. Returns a promise that resolves after the animation completes or gets canceled.\n */\nexport function animateTo(el: HTMLElement, keyframes: Keyframe[], options?: KeyframeAnimationOptions) {\n return new Promise(resolve => {\n if (options?.duration === Infinity) {\n throw new Error('Promise-based animations must be finite.');\n }\n\n const animation = el.animate(keyframes, {\n ...options,\n duration: prefersReducedMotion() ? 0 : options!.duration\n });\n\n animation.addEventListener('cancel', resolve, { once: true });\n animation.addEventListener('finish', resolve, { once: true });\n });\n}\n\n/** Parses a CSS duration and returns the number of milliseconds. */\nexport function parseDuration(delay: number | string) {\n delay = delay.toString().toLowerCase();\n\n if (delay.indexOf('ms') > -1) {\n return parseFloat(delay);\n }\n\n if (delay.indexOf('s') > -1) {\n return parseFloat(delay) * 1000;\n }\n\n return parseFloat(delay);\n}\n\n/** Tells if the user has enabled the \"reduced motion\" setting in their browser or OS. */\nexport function prefersReducedMotion() {\n const query = window.matchMedia('(prefers-reduced-motion: reduce)');\n return query.matches;\n}\n\n/**\n * Stops all active animations on the target element. Returns a promise that resolves after all animations are canceled.\n */\nexport function stopAnimations(el: HTMLElement) {\n return Promise.all(\n el.getAnimations().map(animation => {\n return new Promise(resolve => {\n animation.cancel();\n requestAnimationFrame(resolve);\n });\n })\n );\n}\n\n/**\n * We can't animate `height: auto`, but we can calculate the height and shim keyframes by replacing it with the\n * element's scrollHeight before the animation.\n */\nexport function shimKeyframesHeightAuto(keyframes: Keyframe[], calculatedHeight: number) {\n return keyframes.map(keyframe => ({\n ...keyframe,\n height: keyframe.height === 'auto' ? `${calculatedHeight}px` : keyframe.height\n }));\n}\n", "// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\n/**\n * Returns an element's offset relative to its parent. Similar to element.offsetTop and element.offsetLeft, except the\n * parent doesn't have to be positioned relative or absolute.\n *\n * NOTE: This was created to work around what appears to be a bug in Chrome where a slotted element's offsetParent seems\n * to ignore elements inside the surrounding shadow DOM: https://bugs.chromium.org/p/chromium/issues/detail?id=920069\n */\nexport function getOffset(element: HTMLElement, parent: HTMLElement) {\n return {\n top: Math.round(element.getBoundingClientRect().top - parent.getBoundingClientRect().top),\n left: Math.round(element.getBoundingClientRect().left - parent.getBoundingClientRect().left)\n };\n}\n", "// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { getOffset } from './offset.js';\n\nconst locks = new Set();\n\n/** Returns the width of the document's scrollbar */\nfunction getScrollbarWidth() {\n const documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n}\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n\n // When the first lock is created, set the scroll lock size to match the scrollbar's width to prevent content from\n // shifting. We only do this on the first lock because the scrollbar width will measure zero after overflow is hidden.\n if (!document.body.classList.contains('syn-scroll-lock')) {\n const scrollbarWidth = getScrollbarWidth(); // must be measured before the `syn-scroll-lock` class is applied\n document.body.classList.add('syn-scroll-lock');\n document.body.style.setProperty('--syn-scroll-lock-size', `${scrollbarWidth}px`);\n }\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove('syn-scroll-lock');\n document.body.style.removeProperty('--syn-scroll-lock-size');\n }\n}\n\n/** Scrolls an element into view of its container. If the element is already in view, nothing will happen. */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: 'horizontal' | 'vertical' | 'both' = 'vertical',\n behavior: 'smooth' | 'auto' = 'smooth'\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === 'horizontal' || direction === 'both') {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === 'vertical' || direction === 'both') {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n", "// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\n/** Waits for a specific event to be emitted from an element. Ignores events that bubble up from child elements. */\nexport function waitForEvent(el: HTMLElement, eventName: string) {\n return new Promise<void>(resolve => {\n function done(event: Event) {\n if (event.target === el) {\n el.removeEventListener(eventName, done);\n resolve();\n }\n }\n\n el.addEventListener(eventName, done);\n });\n}\n"],
5
+ "mappings": ";;;;;;AASO,SAAS,UAAU,IAAiB,WAAuB,SAAoC;AACpG,SAAO,IAAI,QAAQ,aAAW;AAC5B,SAAI,mCAAS,cAAa,UAAU;AAClC,YAAM,IAAI,MAAM,0CAA0C;AAAA,IAC5D;AAEA,UAAM,YAAY,GAAG,QAAQ,WAAW,iCACnC,UADmC;AAAA,MAEtC,UAAU,qBAAqB,IAAI,IAAI,QAAS;AAAA,IAClD,EAAC;AAED,cAAU,iBAAiB,UAAU,SAAS,EAAE,MAAM,KAAK,CAAC;AAC5D,cAAU,iBAAiB,UAAU,SAAS,EAAE,MAAM,KAAK,CAAC;AAAA,EAC9D,CAAC;AACH;AAkBO,SAAS,uBAAuB;AACrC,QAAM,QAAQ,OAAO,WAAW,kCAAkC;AAClE,SAAO,MAAM;AACf;AAKO,SAAS,eAAe,IAAiB;AAC9C,SAAO,QAAQ;AAAA,IACb,GAAG,cAAc,EAAE,IAAI,eAAa;AAClC,aAAO,IAAI,QAAQ,aAAW;AAC5B,kBAAU,OAAO;AACjB,8BAAsB,OAAO;AAAA,MAC/B,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;;;AC7CO,SAAS,UAAU,SAAsB,QAAqB;AACnE,SAAO;AAAA,IACL,KAAK,KAAK,MAAM,QAAQ,sBAAsB,EAAE,MAAM,OAAO,sBAAsB,EAAE,GAAG;AAAA,IACxF,MAAM,KAAK,MAAM,QAAQ,sBAAsB,EAAE,OAAO,OAAO,sBAAsB,EAAE,IAAI;AAAA,EAC7F;AACF;;;ACVA,IAAM,QAAQ,oBAAI,IAAI;AAGtB,SAAS,oBAAoB;AAC3B,QAAM,gBAAgB,SAAS,gBAAgB;AAC/C,SAAO,KAAK,IAAI,OAAO,aAAa,aAAa;AACnD;AAMO,SAAS,kBAAkB,WAAwB;AACxD,QAAM,IAAI,SAAS;AAInB,MAAI,CAAC,SAAS,KAAK,UAAU,SAAS,iBAAiB,GAAG;AACxD,UAAM,iBAAiB,kBAAkB;AACzC,aAAS,KAAK,UAAU,IAAI,iBAAiB;AAC7C,aAAS,KAAK,MAAM,YAAY,0BAA0B,GAAG,cAAc,IAAI;AAAA,EACjF;AACF;AAKO,SAAS,oBAAoB,WAAwB;AAC1D,QAAM,OAAO,SAAS;AAEtB,MAAI,MAAM,SAAS,GAAG;AACpB,aAAS,KAAK,UAAU,OAAO,iBAAiB;AAChD,aAAS,KAAK,MAAM,eAAe,wBAAwB;AAAA,EAC7D;AACF;AAGO,SAAS,eACd,SACA,WACA,YAAgD,YAChD,WAA8B,UAC9B;AACA,QAAM,SAAS,UAAU,SAAS,SAAS;AAC3C,QAAM,YAAY,OAAO,MAAM,UAAU;AACzC,QAAM,aAAa,OAAO,OAAO,UAAU;AAC3C,QAAM,OAAO,UAAU;AACvB,QAAM,OAAO,UAAU,aAAa,UAAU;AAC9C,QAAM,OAAO,UAAU;AACvB,QAAM,OAAO,UAAU,YAAY,UAAU;AAE7C,MAAI,cAAc,gBAAgB,cAAc,QAAQ;AACtD,QAAI,aAAa,MAAM;AACrB,gBAAU,SAAS,EAAE,MAAM,YAAY,SAAS,CAAC;AAAA,IACnD,WAAW,aAAa,QAAQ,cAAc,MAAM;AAClD,gBAAU,SAAS,EAAE,MAAM,aAAa,UAAU,cAAc,QAAQ,aAAa,SAAS,CAAC;AAAA,IACjG;AAAA,EACF;AAEA,MAAI,cAAc,cAAc,cAAc,QAAQ;AACpD,QAAI,YAAY,MAAM;AACpB,gBAAU,SAAS,EAAE,KAAK,WAAW,SAAS,CAAC;AAAA,IACjD,WAAW,YAAY,QAAQ,eAAe,MAAM;AAClD,gBAAU,SAAS,EAAE,KAAK,YAAY,UAAU,eAAe,QAAQ,cAAc,SAAS,CAAC;AAAA,IACjG;AAAA,EACF;AACF;;;ACnEO,SAAS,aAAa,IAAiB,WAAmB;AAC/D,SAAO,IAAI,QAAc,aAAW;AAClC,aAAS,KAAK,OAAc;AAC1B,UAAI,MAAM,WAAW,IAAI;AACvB,WAAG,oBAAoB,WAAW,IAAI;AACtC,gBAAQ;AAAA,MACV;AAAA,IACF;AAEA,OAAG,iBAAiB,WAAW,IAAI;AAAA,EACrC,CAAC;AACH;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynCheckbox
3
- } from "./chunk.Y4QKFZLK.js";
3
+ } from "./chunk.MZBIDOMW.js";
4
4
 
5
5
  // src/components/checkbox/checkbox.ts
6
6
  var checkbox_default = SynCheckbox;
@@ -9,4 +9,4 @@ SynCheckbox.define("syn-checkbox");
9
9
  export {
10
10
  checkbox_default
11
11
  };
12
- //# sourceMappingURL=chunk.MRAXEK5D.js.map
12
+ //# sourceMappingURL=chunk.H5ZKCFYO.js.map
@@ -1,18 +1,29 @@
1
+ import {
2
+ switch_custom_styles_default
3
+ } from "./chunk.W5JK7V7K.js";
1
4
  import {
2
5
  switch_styles_default
3
- } from "./chunk.MNMITYTH.js";
6
+ } from "./chunk.ADRKUQGR.js";
4
7
  import {
5
8
  defaultValue
6
9
  } from "./chunk.WFAJR3FN.js";
10
+ import {
11
+ form_control_custom_styles_default,
12
+ form_control_styles_default
13
+ } from "./chunk.TTL762VF.js";
7
14
  import {
8
15
  FormControlController
9
- } from "./chunk.2Z2GYRLO.js";
16
+ } from "./chunk.SZCGMXW5.js";
17
+ import {
18
+ HasSlotController
19
+ } from "./chunk.XGXFE6IF.js";
10
20
  import {
11
21
  watch
12
22
  } from "./chunk.AVTU2BGE.js";
13
23
  import {
14
- SynergyElement
15
- } from "./chunk.WDX7XUUK.js";
24
+ SynergyElement,
25
+ component_styles_default
26
+ } from "./chunk.XVNL6NRN.js";
16
27
  import {
17
28
  __decorateClass
18
29
  } from "./chunk.QNDC5KWA.js";
@@ -31,6 +42,7 @@ var SynSwitch = class extends SynergyElement {
31
42
  defaultValue: (control) => control.defaultChecked,
32
43
  setValue: (control, checked) => control.checked = checked
33
44
  });
45
+ this.hasSlotController = new HasSlotController(this, "help-text");
34
46
  this.hasFocus = false;
35
47
  this.title = "";
36
48
  this.name = "";
@@ -40,6 +52,7 @@ var SynSwitch = class extends SynergyElement {
40
52
  this.defaultChecked = false;
41
53
  this.form = "";
42
54
  this.required = false;
55
+ this.helpText = "";
43
56
  }
44
57
  /** Gets the validity state object */
45
58
  get validity() {
@@ -122,10 +135,21 @@ var SynSwitch = class extends SynergyElement {
122
135
  this.formControlController.updateValidity();
123
136
  }
124
137
  render() {
138
+ const hasHelpTextSlot = this.hasSlotController.test("help-text");
139
+ const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;
125
140
  return html`
126
- <label
127
- part="base"
141
+ <div
128
142
  class=${classMap({
143
+ "form-control": true,
144
+ "form-control--small": this.size === "small",
145
+ "form-control--medium": this.size === "medium",
146
+ "form-control--large": this.size === "large",
147
+ "form-control--has-help-text": hasHelpText
148
+ })}
149
+ >
150
+ <label
151
+ part="base"
152
+ class=${classMap({
129
153
  switch: true,
130
154
  "switch--checked": this.checked,
131
155
  "switch--disabled": this.disabled,
@@ -134,38 +158,49 @@ var SynSwitch = class extends SynergyElement {
134
158
  "switch--medium": this.size === "medium",
135
159
  "switch--large": this.size === "large"
136
160
  })}
137
- >
138
- <input
139
- class="switch__input"
140
- type="checkbox"
141
- title=${this.title}
142
- name=${this.name}
143
- value=${ifDefined(this.value)}
144
- .checked=${live(this.checked)}
145
- .disabled=${this.disabled}
146
- .required=${this.required}
147
- role="switch"
148
- aria-checked=${this.checked ? "true" : "false"}
149
- @click=${this.handleClick}
150
- @input=${this.handleInput}
151
- @invalid=${this.handleInvalid}
152
- @blur=${this.handleBlur}
153
- @focus=${this.handleFocus}
154
- @keydown=${this.handleKeyDown}
155
- />
161
+ >
162
+ <input
163
+ class="switch__input"
164
+ type="checkbox"
165
+ title=${this.title}
166
+ name=${this.name}
167
+ value=${ifDefined(this.value)}
168
+ .checked=${live(this.checked)}
169
+ .disabled=${this.disabled}
170
+ .required=${this.required}
171
+ role="switch"
172
+ aria-checked=${this.checked ? "true" : "false"}
173
+ aria-describedby="help-text"
174
+ @click=${this.handleClick}
175
+ @input=${this.handleInput}
176
+ @invalid=${this.handleInvalid}
177
+ @blur=${this.handleBlur}
178
+ @focus=${this.handleFocus}
179
+ @keydown=${this.handleKeyDown}
180
+ />
156
181
 
157
- <span part="control" class="switch__control">
158
- <span part="thumb" class="switch__thumb"></span>
159
- </span>
182
+ <span part="control" class="switch__control">
183
+ <span part="thumb" class="switch__thumb"></span>
184
+ </span>
160
185
 
161
- <div part="label" class="switch__label">
162
- <slot></slot>
186
+ <div part="label" class="switch__label">
187
+ <slot></slot>
188
+ </div>
189
+ </label>
190
+
191
+ <div
192
+ aria-hidden=${hasHelpText ? "false" : "true"}
193
+ class="form-control__help-text"
194
+ id="help-text"
195
+ part="form-control-help-text"
196
+ >
197
+ <slot name="help-text">${this.helpText}</slot>
163
198
  </div>
164
- </label>
199
+ </div>
165
200
  `;
166
201
  }
167
202
  };
168
- SynSwitch.styles = switch_styles_default;
203
+ SynSwitch.styles = [component_styles_default, form_control_styles_default, switch_styles_default, form_control_custom_styles_default, switch_custom_styles_default];
169
204
  __decorateClass([
170
205
  query('input[type="checkbox"]')
171
206
  ], SynSwitch.prototype, "input", 2);
@@ -199,6 +234,9 @@ __decorateClass([
199
234
  __decorateClass([
200
235
  property({ type: Boolean, reflect: true })
201
236
  ], SynSwitch.prototype, "required", 2);
237
+ __decorateClass([
238
+ property({ attribute: "help-text" })
239
+ ], SynSwitch.prototype, "helpText", 2);
202
240
  __decorateClass([
203
241
  watch("checked", { waitUntilFirstUpdate: true })
204
242
  ], SynSwitch.prototype, "handleCheckedChange", 1);
@@ -209,4 +247,4 @@ __decorateClass([
209
247
  export {
210
248
  SynSwitch
211
249
  };
212
- //# sourceMappingURL=chunk.JBHQJWOB.js.map
250
+ //# sourceMappingURL=chunk.HELY6MCO.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/switch/switch.component.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\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 './switch.styles.js';\nimport customStyles from './switch.custom.styles.js';\nimport type { CSSResultGroup } from 'lit';\nimport type { SynergyFormControl } from '../../internal/synergy-element.js';\n\n/**\n * @summary Switches allow the user to toggle an option on or off.\n * @documentation https://synergy.style/components/switch\n * @status stable\n * @since 2.0\n *\n * @slot - The switch's label.\n * @slot help-text - Text that describes how to use the switch. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when the control's checked state changes.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The control that houses the switch's thumb.\n * @csspart thumb - The switch's thumb.\n * @csspart label - The switch's label.\n * @csspart form-control-help-text - The help text's wrapper.\n *\n * @cssproperty --width - The width of the switch.\n * @cssproperty --height - The height of the switch.\n * @cssproperty --thumb-size - The size of the thumb.\n */\nexport default class SynSwitch extends SynergyElement implements SynergyFormControl {\n static styles: CSSResultGroup = [componentStyles, formControlStyles, styles, formControlCustomStyles, customStyles];\n\n private readonly formControlController = new FormControlController(this, {\n value: (control: SynSwitch) => (control.checked ? control.value || 'on' : undefined),\n defaultValue: (control: SynSwitch) => control.defaultChecked,\n setValue: (control: SynSwitch, checked: boolean) => (control.checked = checked)\n });\n private readonly hasSlotController = new HasSlotController(this, 'help-text');\n\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n\n @state() private hasFocus = false;\n @property() title = ''; // make reactive to pass through\n\n /** The name of the switch, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** The current value of the switch, submitted as a name/value pair with form data. */\n @property() value: string;\n\n /** The switch's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Disables the switch. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Draws the switch in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue('checked') defaultChecked = false;\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Makes the switch a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** The switch's help text. If you need to display HTML, use the `help-text` slot instead. */\n @property({ attribute: 'help-text' }) helpText = '';\n\n /** Gets the validity state object */\n get validity() {\n return this.input.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.input.validationMessage;\n }\n\n firstUpdated() {\n this.formControlController.updateValidity();\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('syn-blur');\n }\n\n private handleInput() {\n this.emit('syn-input');\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n private handleClick() {\n this.checked = !this.checked;\n this.emit('syn-change');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('syn-focus');\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n this.checked = false;\n this.emit('syn-change');\n this.emit('syn-input');\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n this.checked = true;\n this.emit('syn-change');\n this.emit('syn-input');\n }\n }\n\n @watch('checked', { waitUntilFirstUpdate: true })\n handleCheckedChange() {\n this.input.checked = this.checked; // force a sync update\n this.formControlController.updateValidity();\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid\n this.formControlController.setValidity(true);\n }\n\n /** Simulates a click on the switch. */\n click() {\n this.input.click();\n }\n\n /** Sets focus on the switch. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the switch. */\n blur() {\n this.input.blur();\n }\n\n /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.input.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.input.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.input.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n render() {\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;\n\n return html`\n <div\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-help-text': hasHelpText\n })}\n >\n <label\n part=\"base\"\n class=${classMap({\n switch: true,\n 'switch--checked': this.checked,\n 'switch--disabled': this.disabled,\n 'switch--focused': this.hasFocus,\n 'switch--small': this.size === 'small',\n 'switch--medium': this.size === 'medium',\n 'switch--large': this.size === 'large'\n })}\n >\n <input\n class=\"switch__input\"\n type=\"checkbox\"\n title=${this.title /* An empty title prevents browser validation tooltips from appearing on hover */}\n name=${this.name}\n value=${ifDefined(this.value)}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n .required=${this.required}\n role=\"switch\"\n aria-checked=${this.checked ? 'true' : 'false'}\n aria-describedby=\"help-text\"\n @click=${this.handleClick}\n @input=${this.handleInput}\n @invalid=${this.handleInvalid}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @keydown=${this.handleKeyDown}\n />\n\n <span part=\"control\" class=\"switch__control\">\n <span part=\"thumb\" class=\"switch__thumb\"></span>\n </span>\n\n <div part=\"label\" class=\"switch__label\">\n <slot></slot>\n </div>\n </label>\n\n <div\n aria-hidden=${hasHelpText ? 'false' : 'true'}\n class=\"form-control__help-text\"\n id=\"help-text\"\n part=\"form-control-help-text\"\n >\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'syn-switch': SynSwitch;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRadioGroup
3
- } from "./chunk.4ZGN7AEC.js";
3
+ } from "./chunk.BF2Z2XBN.js";
4
4
 
5
5
  // src/components/radio-group/radio-group.ts
6
6
  var radio_group_default = SynRadioGroup;
@@ -9,4 +9,4 @@ SynRadioGroup.define("syn-radio-group");
9
9
  export {
10
10
  radio_group_default
11
11
  };
12
- //# sourceMappingURL=chunk.NWWHBSV7.js.map
12
+ //# sourceMappingURL=chunk.HUHPPFDX.js.map
@@ -0,0 +1,99 @@
1
+ // src/components/header/header.styles.ts
2
+ import { css } from "lit";
3
+ var header_styles_default = css`
4
+ :host {
5
+ display: block;
6
+ }
7
+
8
+ .header {
9
+ background: var(--syn-color-neutral-0);
10
+ box-shadow: inset 0 -1px 0 0 var(--syn-color-neutral-400);
11
+ }
12
+
13
+ /**
14
+ * The primary content area displays one to many slotted items
15
+ * and contains the following items:
16
+ * - side nav state icon (OPTIONAL)
17
+ * - company or application logo
18
+ * - application name
19
+ * - meta-navigation
20
+ */
21
+ .header__content {
22
+ align-items: center;
23
+ box-sizing: content-box;
24
+ display: flex;
25
+ min-height: 40px;
26
+ padding: var(--syn-spacing-large);
27
+ }
28
+
29
+ /**
30
+ * If the primary navigation is provided, use a smaller spacing
31
+ * between the primary content area and the navigation area
32
+ */
33
+ .header--has-navigation .header__content {
34
+ padding-bottom: var(--syn-spacing-medium);
35
+ }
36
+
37
+ /**
38
+ * The logo slot includes the application or company logo
39
+ */
40
+ .header__logo ::slotted(*),
41
+ .header__logo syn-icon {
42
+ display: block;
43
+ }
44
+
45
+ /**
46
+ * Make sure to use the correct color and outline for links
47
+ */
48
+ .header__logo ::slotted(a),
49
+ .header__logo ::slotted(a:hover) {
50
+ color: var(--syn-color-primary-600);
51
+ }
52
+
53
+ .header__logo ::slotted(a:is(:focus-visible)) {
54
+ outline: var(--syn-focus-ring);
55
+ outline-offset: var(--syn-focus-ring-offset);
56
+ }
57
+
58
+ /**
59
+ * Styles for the default logo. This makes sure the default SICK logo has the correct size and color
60
+ */
61
+ .header__logo syn-icon,
62
+ .header__logo syn-icon::part(svg) {
63
+ color: var(--syn-color-primary-600);
64
+ height: 32px;
65
+ width: auto;
66
+ }
67
+
68
+ /**
69
+ * The label section hosts the application name
70
+ */
71
+ .header__label {
72
+ font: var(--syn-body-large-bold);
73
+ padding: 0 var(--syn-spacing-2x-large);
74
+ }
75
+
76
+ /**
77
+ * The options menu holds an arbitary list of <syn-icon-button />
78
+ */
79
+ .header__meta-navigation {
80
+ display: flex;
81
+ flex: 1;
82
+ gap: var(--syn-spacing-x-small);
83
+ justify-content: end;
84
+ }
85
+
86
+ .header__meta-navigation ::slotted(*) {
87
+ display: contents;
88
+ font-size: var(--syn-font-size-x-large);
89
+ }
90
+
91
+ .header__navigation {
92
+ padding: 0 var(--syn-spacing-large);
93
+ }
94
+ `;
95
+
96
+ export {
97
+ header_styles_default
98
+ };
99
+ //# sourceMappingURL=chunk.JDXKGJ63.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/header/header.styles.ts"],
4
+ "sourcesContent": ["import { css } from 'lit';\n\nexport default css`\n :host {\n display: block;\n }\n\n .header {\n background: var(--syn-color-neutral-0);\n box-shadow: inset 0 -1px 0 0 var(--syn-color-neutral-400);\n }\n\n /**\n * The primary content area displays one to many slotted items\n * and contains the following items:\n * - side nav state icon (OPTIONAL)\n * - company or application logo\n * - application name\n * - meta-navigation\n */\n .header__content {\n align-items: center;\n box-sizing: content-box;\n display: flex;\n min-height: 40px;\n padding: var(--syn-spacing-large);\n }\n\n /**\n * If the primary navigation is provided, use a smaller spacing\n * between the primary content area and the navigation area\n */\n .header--has-navigation .header__content {\n padding-bottom: var(--syn-spacing-medium);\n }\n\n /**\n * The logo slot includes the application or company logo\n */\n .header__logo ::slotted(*),\n .header__logo syn-icon {\n display: block;\n }\n\n /**\n * Make sure to use the correct color and outline for links\n */\n .header__logo ::slotted(a),\n .header__logo ::slotted(a:hover) {\n color: var(--syn-color-primary-600);\n }\n\n .header__logo ::slotted(a:is(:focus-visible)) {\n outline: var(--syn-focus-ring);\n outline-offset: var(--syn-focus-ring-offset);\n }\n\n /**\n * Styles for the default logo. This makes sure the default SICK logo has the correct size and color\n */\n .header__logo syn-icon,\n .header__logo syn-icon::part(svg) {\n color: var(--syn-color-primary-600);\n height: 32px;\n width: auto;\n }\n\n /**\n * The label section hosts the application name\n */\n .header__label {\n font: var(--syn-body-large-bold);\n padding: 0 var(--syn-spacing-2x-large);\n }\n\n /**\n * The options menu holds an arbitary list of <syn-icon-button />\n */\n .header__meta-navigation {\n display: flex;\n flex: 1;\n gap: var(--syn-spacing-x-small);\n justify-content: end;\n }\n\n .header__meta-navigation ::slotted(*) {\n display: contents;\n font-size: var(--syn-font-size-x-large);\n }\n\n .header__navigation {\n padding: 0 var(--syn-spacing-large);\n }\n`;\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW;AAEpB,IAAO,wBAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,80 @@
1
+ import {
2
+ icon_default
3
+ } from "./chunk.BOO4VTHX.js";
4
+ import {
5
+ header_styles_default
6
+ } from "./chunk.JDXKGJ63.js";
7
+ import {
8
+ HasSlotController
9
+ } from "./chunk.XGXFE6IF.js";
10
+ import {
11
+ SynergyElement,
12
+ component_styles_default
13
+ } from "./chunk.XVNL6NRN.js";
14
+ import {
15
+ __decorateClass
16
+ } from "./chunk.QNDC5KWA.js";
17
+
18
+ // src/components/header/header.component.ts
19
+ import { classMap } from "lit/directives/class-map.js";
20
+ import { html } from "lit/static-html.js";
21
+ import { property } from "lit/decorators.js";
22
+ var SynHeader = class extends SynergyElement {
23
+ constructor() {
24
+ super(...arguments);
25
+ this.hasSlotController = new HasSlotController(this, "[default]", "logo", "label", "meta-navigation", "navigation");
26
+ this.label = "";
27
+ }
28
+ render() {
29
+ const hasNavigation = this.hasSlotController.test("navigation");
30
+ return html`
31
+ <header
32
+ class=${classMap({
33
+ header: true,
34
+ "header--has-navigation": hasNavigation
35
+ })}
36
+ part="base"
37
+ >
38
+ <!-- .header__content -->
39
+ <div part="content" class="header__content">
40
+
41
+ <div part="logo" class="header__logo">
42
+ <slot name="logo">
43
+ <syn-icon name="logo-color" library="system" label="SICK Sensor Intelligence"></syn-icon>
44
+ </slot>
45
+ </div>
46
+
47
+ <div part="label" class="header__label">
48
+ <slot>
49
+ ${this.label}
50
+ </slot>
51
+ </div>
52
+
53
+ <div part="meta-navigation" class="header__meta-navigation">
54
+ <slot name="meta-navigation"></slot>
55
+ </div>
56
+ </div>
57
+ <!-- /.header__content -->
58
+
59
+ <div part="navigation" class="header__navigation">
60
+ <slot name="navigation"></slot>
61
+ </div>
62
+ </header>
63
+ `;
64
+ }
65
+ };
66
+ SynHeader.styles = [
67
+ component_styles_default,
68
+ header_styles_default
69
+ ];
70
+ SynHeader.dependencies = {
71
+ "syn-icon": icon_default
72
+ };
73
+ __decorateClass([
74
+ property()
75
+ ], SynHeader.prototype, "label", 2);
76
+
77
+ export {
78
+ SynHeader
79
+ };
80
+ //# sourceMappingURL=chunk.JMP6V7XJ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/header/header.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 } from 'lit/decorators.js';\nimport type { CSSResultGroup } from 'lit';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport styles from './header.styles.js';\nimport SynIcon from '../icon/icon.js';\n\n/**\n * @summary The <syn-header /> element provides a generic application header\n * that can be used to add applications name, toolbar and primary navigation.\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-header--docs\n * @status stable\n * @since 1.10.0\n *\n * @slot - The label for the header.\n * @slot logo - The logo that should be displayed. Will fall back to the SICK logo if not provided.\n * @slot meta-navigation - The meta-navigation is used to add various application toolbar icons.\n * Best used with `<syn-icon-button />` and `<syn-drop-down />`\n * @slot navigation - This slot can be used to add an optional horizontal navigation\n *\n * @csspart base - The component's base wrapper.\n * @csspart content - The wrapper most content items reside\n * @csspart logo - The wrapper the application logo resides in\n * @csspart label - The element wrapping the application name\n * @csspart meta-navigation - The Item wrapping the optional application menu\n * @csspart navigation - The wrapper that is holding the optional top navigation section\n */\nexport default class SynHeader extends SynergyElement {\n static styles: CSSResultGroup = [\n componentStyles,\n styles,\n ];\n\n static dependencies = {\n 'syn-icon': SynIcon,\n };\n\n private readonly hasSlotController = new HasSlotController(this, '[default]', 'logo', 'label', 'meta-navigation', 'navigation');\n\n /**\n * The headers label. If you need to display HTML, use the `label` slot instead.\n */\n @property() label = '';\n\n render() {\n const hasNavigation = this.hasSlotController.test('navigation');\n\n return html`\n <header\n class=${classMap({\n header: true,\n 'header--has-navigation': hasNavigation,\n })}\n part=\"base\"\n >\n <!-- .header__content -->\n <div part=\"content\" class=\"header__content\">\n\n <div part=\"logo\" class=\"header__logo\">\n <slot name=\"logo\">\n <syn-icon name=\"logo-color\" library=\"system\" label=\"SICK Sensor Intelligence\"></syn-icon>\n </slot>\n </div>\n\n <div part=\"label\" class=\"header__label\">\n <slot>\n ${this.label}\n </slot>\n </div>\n\n <div part=\"meta-navigation\" class=\"header__meta-navigation\">\n <slot name=\"meta-navigation\"></slot>\n </div>\n </div>\n <!-- /.header__content -->\n\n <div part=\"navigation\" class=\"header__navigation\">\n <slot name=\"navigation\"></slot>\n </div>\n </header>\n `;\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AACA,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,gBAAgB;AA6BzB,IAAqB,YAArB,cAAuC,eAAe;AAAA,EAAtD;AAAA;AAUE,SAAiB,oBAAoB,IAAI,kBAAkB,MAAM,aAAa,QAAQ,SAAS,mBAAmB,YAAY;AAKlH,iBAAQ;AAAA;AAAA,EAEpB,SAAS;AACP,UAAM,gBAAgB,KAAK,kBAAkB,KAAK,YAAY;AAE9D,WAAO;AAAA;AAAA,gBAEK,SAAS;AAAA,MACf,QAAQ;AAAA,MACR,0BAA0B;AAAA,IAC5B,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAcM,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAexB;AACF;AAvDqB,UACZ,SAAyB;AAAA,EAC9B;AAAA,EACA;AACF;AAJmB,UAMZ,eAAe;AAAA,EACpB,YAAY;AACd;AAOY;AAAA,EAAX,SAAS;AAAA,GAfS,UAeP;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynButtonGroup
3
- } from "./chunk.MB3YZTYP.js";
3
+ } from "./chunk.TGVTAWOV.js";
4
4
 
5
5
  // src/components/button-group/button-group.ts
6
6
  var button_group_default = SynButtonGroup;
@@ -9,4 +9,4 @@ SynButtonGroup.define("syn-button-group");
9
9
  export {
10
10
  button_group_default
11
11
  };
12
- //# sourceMappingURL=chunk.K4ELZCXB.js.map
12
+ //# sourceMappingURL=chunk.JORZ3DML.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  formCollections
3
- } from "./chunk.2Z2GYRLO.js";
3
+ } from "./chunk.SZCGMXW5.js";
4
4
 
5
5
  // src/utilities/form.ts
6
6
  function serialize(form) {
@@ -39,4 +39,4 @@ export {
39
39
  serialize,
40
40
  getFormControls
41
41
  };
42
- //# sourceMappingURL=chunk.JSO3PKB4.js.map
42
+ //# sourceMappingURL=chunk.KUO3KJOC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynTag
3
- } from "./chunk.GUQN6XL4.js";
3
+ } from "./chunk.WUFFQJJF.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.A2WGLZOL.js.map
12
+ //# sourceMappingURL=chunk.LIRQO322.js.map
@@ -1,16 +1,7 @@
1
- import {
2
- icon_button_custom_styles_default
3
- } from "./chunk.OJF7KL44.js";
4
- import {
5
- component_styles_default
6
- } from "./chunk.O7USYXBT.js";
7
-
8
1
  // src/components/icon-button/icon-button.styles.ts
9
2
  import { css } from "lit";
10
3
  var icon_button_styles_default = css`
11
4
  /* stylelint-disable */
12
- ${component_styles_default}
13
-
14
5
  :host {
15
6
  display: inline-block;
16
7
  color: var(--syn-color-neutral-600);
@@ -57,11 +48,9 @@ var icon_button_styles_default = css`
57
48
  .icon-button__icon {
58
49
  pointer-events: none;
59
50
  }
60
-
61
- ${icon_button_custom_styles_default}
62
51
  `;
63
52
 
64
53
  export {
65
54
  icon_button_styles_default
66
55
  };
67
- //# sourceMappingURL=chunk.2FN5DTS6.js.map
56
+ //# sourceMappingURL=chunk.LJQ7LEPV.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/icon-button/icon-button.styles.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n display: inline-block;\n color: var(--syn-color-neutral-600);\n }\n\n .icon-button {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n background: none;\n border: none;\n border-radius: var(--syn-border-radius-medium);\n font-size: inherit;\n color: inherit;\n padding: var(--syn-spacing-x-small);\n cursor: pointer;\n transition: var(--syn-transition-x-fast) color;\n -webkit-appearance: none;\n }\n\n .icon-button:hover:not(.icon-button--disabled),\n .icon-button:focus-visible:not(.icon-button--disabled) {\n color: var(--syn-color-primary-600);\n }\n\n .icon-button:active:not(.icon-button--disabled) {\n color: var(--syn-color-primary-700);\n }\n\n .icon-button:focus {\n outline: none;\n }\n\n .icon-button--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .icon-button:focus-visible {\n outline: var(--syn-focus-ring);\n outline-offset: var(--syn-focus-ring-offset);\n }\n\n .icon-button__icon {\n pointer-events: none;\n }\n`;\n"],
5
+ "mappings": ";AAMA,SAAS,WAAW;AAEpB,IAAO,6BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRadio
3
- } from "./chunk.RS4Z4KDT.js";
3
+ } from "./chunk.AYTANJEE.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.COKV3ZN7.js.map
12
+ //# sourceMappingURL=chunk.M6D7QVXC.js.map
@@ -1,13 +1,7 @@
1
- import {
2
- component_styles_default
3
- } from "./chunk.O7USYXBT.js";
4
-
5
1
  // src/components/popup/popup.styles.ts
6
2
  import { css } from "lit";
7
3
  var popup_styles_default = css`
8
4
  /* stylelint-disable */
9
- ${component_styles_default}
10
-
11
5
  :host {
12
6
  --arrow-color: var(--syn-color-neutral-1000);
13
7
  --arrow-size: 6px;
@@ -45,9 +39,29 @@ var popup_styles_default = css`
45
39
  background: var(--arrow-color);
46
40
  z-index: -1;
47
41
  }
42
+
43
+ /* Hover bridge */
44
+ .popup-hover-bridge:not(.popup-hover-bridge--visible) {
45
+ display: none;
46
+ }
47
+
48
+ .popup-hover-bridge {
49
+ position: fixed;
50
+ z-index: calc(var(--syn-z-index-dropdown) - 1);
51
+ top: 0;
52
+ right: 0;
53
+ bottom: 0;
54
+ left: 0;
55
+ clip-path: polygon(
56
+ var(--hover-bridge-top-left-x, 0) var(--hover-bridge-top-left-y, 0),
57
+ var(--hover-bridge-top-right-x, 0) var(--hover-bridge-top-right-y, 0),
58
+ var(--hover-bridge-bottom-right-x, 0) var(--hover-bridge-bottom-right-y, 0),
59
+ var(--hover-bridge-bottom-left-x, 0) var(--hover-bridge-bottom-left-y, 0)
60
+ );
61
+ }
48
62
  `;
49
63
 
50
64
  export {
51
65
  popup_styles_default
52
66
  };
53
- //# sourceMappingURL=chunk.JN7CLMQZ.js.map
67
+ //# sourceMappingURL=chunk.MIMALEWP.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/popup/popup.styles.ts"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n --arrow-color: var(--syn-color-neutral-1000);\n --arrow-size: 6px;\n\n /*\n * These properties are computed to account for the arrow's dimensions after being rotated 45\u00BA. The constant\n * 0.7071 is derived from sin(45), which is the diagonal size of the arrow's container after rotating.\n */\n --arrow-size-diagonal: calc(var(--arrow-size) * 0.7071);\n --arrow-padding-offset: calc(var(--arrow-size-diagonal) - var(--arrow-size));\n\n display: contents;\n }\n\n .popup {\n position: absolute;\n isolation: isolate;\n max-width: var(--auto-size-available-width, none);\n max-height: var(--auto-size-available-height, none);\n }\n\n .popup--fixed {\n position: fixed;\n }\n\n .popup:not(.popup--active) {\n display: none;\n }\n\n .popup__arrow {\n position: absolute;\n width: calc(var(--arrow-size-diagonal) * 2);\n height: calc(var(--arrow-size-diagonal) * 2);\n rotate: 45deg;\n background: var(--arrow-color);\n z-index: -1;\n }\n\n /* Hover bridge */\n .popup-hover-bridge:not(.popup-hover-bridge--visible) {\n display: none;\n }\n\n .popup-hover-bridge {\n position: fixed;\n z-index: calc(var(--syn-z-index-dropdown) - 1);\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n clip-path: polygon(\n var(--hover-bridge-top-left-x, 0) var(--hover-bridge-top-left-y, 0),\n var(--hover-bridge-top-right-x, 0) var(--hover-bridge-top-right-y, 0),\n var(--hover-bridge-bottom-right-x, 0) var(--hover-bridge-bottom-right-y, 0),\n var(--hover-bridge-bottom-left-x, 0) var(--hover-bridge-bottom-left-y, 0)\n );\n }\n`;\n"],
5
+ "mappings": ";AAMA,SAAS,WAAW;AAEpB,IAAO,uBAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }