@synergy-design-system/components 1.7.0 → 1.9.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 (275) hide show
  1. package/README.md +8 -0
  2. package/dist/chunks/{chunk.23HTU3YE.js → chunk.2EI3TNL7.js} +1 -16
  3. package/dist/chunks/chunk.2EI3TNL7.js.map +7 -0
  4. package/dist/chunks/{chunk.RSONAU45.js → chunk.2RF7KO5I.js} +1 -12
  5. package/dist/chunks/chunk.2RF7KO5I.js.map +7 -0
  6. package/dist/chunks/{chunk.GHMKOVA3.js → chunk.3DE5ARIC.js} +23 -3
  7. package/dist/chunks/chunk.3DE5ARIC.js.map +7 -0
  8. package/dist/chunks/chunk.3O5WTWSN.js +12 -0
  9. package/dist/chunks/chunk.3O5WTWSN.js.map +7 -0
  10. package/dist/chunks/{chunk.MFFJYORB.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.ULMZHWWW.js → chunk.5BMNRZ7L.js} +2 -2
  15. package/dist/chunks/{chunk.SMSP5C6C.js → chunk.5CB3CVZ7.js} +2 -2
  16. package/dist/chunks/{chunk.GMUVD5B2.js → chunk.5R3OVMH2.js} +25 -10
  17. package/dist/chunks/chunk.5R3OVMH2.js.map +7 -0
  18. package/dist/chunks/{chunk.EI34C7LC.js → chunk.6MS3WNDW.js} +8 -7
  19. package/dist/chunks/chunk.6MS3WNDW.js.map +7 -0
  20. package/dist/chunks/{chunk.4ZURABYO.js → chunk.A7IIJ2LL.js} +1 -7
  21. package/dist/chunks/{chunk.O7USYXBT.js.map → chunk.A7IIJ2LL.js.map} +3 -3
  22. package/dist/chunks/{chunk.PGCXJ2PT.js → chunk.ACTJFDNK.js} +1 -12
  23. package/dist/chunks/chunk.ACTJFDNK.js.map +7 -0
  24. package/dist/chunks/{chunk.MNMITYTH.js → chunk.ADRKUQGR.js} +1 -12
  25. package/dist/chunks/chunk.ADRKUQGR.js.map +7 -0
  26. package/dist/chunks/{chunk.5OPODPPZ.js → chunk.AJU6C4KC.js} +2 -2
  27. package/dist/chunks/{chunk.VZ7S7YYN.js → chunk.AVTU2BGE.js} +2 -2
  28. package/dist/chunks/{chunk.QHFGD6WW.js → chunk.BGHK4NQA.js} +1 -12
  29. package/dist/chunks/chunk.BGHK4NQA.js.map +7 -0
  30. package/dist/chunks/{chunk.LWXCBEHD.js → chunk.BGKFRWWO.js} +5 -5
  31. package/dist/chunks/{chunk.3ZHSSMBL.js → chunk.BJYVLDYR.js} +84 -6
  32. package/dist/chunks/chunk.BJYVLDYR.js.map +7 -0
  33. package/dist/chunks/chunk.BLOH2ZNU.js +636 -0
  34. package/dist/chunks/chunk.BLOH2ZNU.js.map +7 -0
  35. package/dist/chunks/{chunk.USYR7G7Z.js → chunk.BTZX6ZFZ.js} +2 -2
  36. package/dist/chunks/{chunk.W6V7TPGK.js → chunk.CFIQXXMW.js} +1 -12
  37. package/dist/chunks/chunk.CFIQXXMW.js.map +7 -0
  38. package/dist/chunks/{chunk.RA2WSKQT.js → chunk.F4THECWA.js} +2 -2
  39. package/dist/chunks/{chunk.Z4NKFCKY.js → chunk.FSONLJTT.js} +19 -15
  40. package/dist/chunks/chunk.FSONLJTT.js.map +7 -0
  41. package/dist/chunks/{chunk.PMTVLWNZ.js → chunk.FUNZW7ES.js} +2 -2
  42. package/dist/chunks/{chunk.OJREQD2D.js → chunk.GAPQVJGQ.js} +22 -14
  43. package/dist/chunks/chunk.GAPQVJGQ.js.map +7 -0
  44. package/dist/chunks/{chunk.NAX6WP3D.js → chunk.GBOII6N4.js} +11 -7
  45. package/dist/chunks/chunk.GBOII6N4.js.map +7 -0
  46. package/dist/chunks/chunk.GTSRMEPE.js +108 -0
  47. package/dist/chunks/chunk.GTSRMEPE.js.map +7 -0
  48. package/dist/chunks/{chunk.JAKJHV44.js → chunk.HF75YRVS.js} +22 -15
  49. package/dist/chunks/chunk.HF75YRVS.js.map +7 -0
  50. package/dist/chunks/{chunk.7VOPIPHW.js → chunk.IOPUYG6Q.js} +2 -2
  51. package/dist/chunks/{chunk.5THN2K5Q.js → chunk.IR2PZHC7.js} +2 -2
  52. package/dist/chunks/{chunk.SBEIXLRW.js → chunk.K3O2PP7X.js} +6 -5
  53. package/dist/chunks/chunk.K3O2PP7X.js.map +7 -0
  54. package/dist/chunks/{chunk.TUYEX4KP.js → chunk.KDDTDU4B.js} +73 -35
  55. package/dist/chunks/chunk.KDDTDU4B.js.map +7 -0
  56. package/dist/chunks/{chunk.5BOEKFIJ.js → chunk.KNXO2FGQ.js} +86 -48
  57. package/dist/chunks/chunk.KNXO2FGQ.js.map +7 -0
  58. package/dist/chunks/{chunk.HG5QC5EW.js → chunk.KUO3KJOC.js} +2 -2
  59. package/dist/chunks/{chunk.B6AKFQJS.js → chunk.LF2XSSHD.js} +2 -2
  60. package/dist/chunks/{chunk.2FN5DTS6.js → chunk.LJQ7LEPV.js} +1 -12
  61. package/dist/chunks/chunk.LJQ7LEPV.js.map +7 -0
  62. package/dist/chunks/{chunk.KP7SYG4K.js → chunk.LZE7OXKV.js} +2 -2
  63. package/dist/chunks/{chunk.CYN675Z6.js → chunk.MDZ22YWD.js} +12 -8
  64. package/dist/chunks/chunk.MDZ22YWD.js.map +7 -0
  65. package/dist/chunks/{chunk.JN7CLMQZ.js → chunk.MIMALEWP.js} +21 -7
  66. package/dist/chunks/chunk.MIMALEWP.js.map +7 -0
  67. package/dist/chunks/{chunk.XSXBQCWN.js → chunk.O6AXKVFJ.js} +11 -7
  68. package/dist/chunks/chunk.O6AXKVFJ.js.map +7 -0
  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.PHSJD47V.js +162 -0
  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.7KSU2SUD.js → chunk.PRZRH7SN.js} +2 -2
  76. package/dist/chunks/{chunk.4MYR27GF.js → chunk.PWMSNMDF.js} +13 -9
  77. package/dist/chunks/chunk.PWMSNMDF.js.map +7 -0
  78. package/dist/chunks/{chunk.BQG5LF7J.js → chunk.QAUTITK3.js} +2 -2
  79. package/dist/chunks/{chunk.DJOAQ4JU.js → chunk.QNDC5KWA.js} +43 -2
  80. package/dist/chunks/{chunk.6XU6OLZ3.js → chunk.QNQNR3RY.js} +1 -16
  81. package/dist/chunks/chunk.QNQNR3RY.js.map +7 -0
  82. package/dist/chunks/{chunk.Q7X5NOPZ.js → chunk.QY6MKIMK.js} +2 -2
  83. package/dist/chunks/{chunk.VQWUZKDS.js → chunk.RMQZMRVP.js} +2 -2
  84. package/dist/chunks/{chunk.XXF35USM.js → chunk.RMZBSKRR.js} +59 -109
  85. package/dist/chunks/chunk.RMZBSKRR.js.map +7 -0
  86. package/dist/chunks/{chunk.OJ4KOC7R.js → chunk.SJMMPKWP.js} +1 -12
  87. package/dist/chunks/chunk.SJMMPKWP.js.map +7 -0
  88. package/dist/chunks/{chunk.AMTCNRDE.js → chunk.SZCGMXW5.js} +3 -3
  89. package/dist/chunks/chunk.SZCGMXW5.js.map +7 -0
  90. package/dist/chunks/{chunk.JHXCBOUD.js → chunk.TTL762VF.js} +57 -60
  91. package/dist/chunks/chunk.TTL762VF.js.map +7 -0
  92. package/dist/chunks/chunk.UYD2OVFV.js +83 -0
  93. package/dist/chunks/chunk.UYD2OVFV.js.map +7 -0
  94. package/dist/chunks/{chunk.7EGCXNF2.js → chunk.UZFPGR6M.js} +8 -7
  95. package/dist/chunks/chunk.UZFPGR6M.js.map +7 -0
  96. package/dist/chunks/{chunk.SXW2KV3B.js → chunk.VATYXV2O.js} +2 -2
  97. package/dist/chunks/{chunk.AFEABUNX.js → chunk.W5JK7V7K.js} +6 -1
  98. package/dist/chunks/chunk.W5JK7V7K.js.map +7 -0
  99. package/dist/chunks/{chunk.IRT2DA6R.js → chunk.WC5SV4TV.js} +28 -18
  100. package/dist/chunks/chunk.WC5SV4TV.js.map +7 -0
  101. package/dist/chunks/{chunk.HKCTVD3U.js → chunk.XEI5ZP7Y.js} +11 -7
  102. package/dist/chunks/chunk.XEI5ZP7Y.js.map +7 -0
  103. package/dist/chunks/{chunk.4I6M5V6O.js → chunk.XIUSSERX.js} +1 -16
  104. package/dist/chunks/chunk.XIUSSERX.js.map +7 -0
  105. package/dist/chunks/{chunk.6V3HOZNE.js → chunk.Y72MIUNI.js} +2 -2
  106. package/dist/chunks/{chunk.IKKMWFWH.js → chunk.ZIQXX272.js} +2 -2
  107. package/dist/chunks/{chunk.GOVLCQY5.js → chunk.ZT5DUKVA.js} +2 -2
  108. package/dist/components/button/button.component.js +13 -14
  109. package/dist/components/button/button.custom.styles.js +1 -1
  110. package/dist/components/button/button.js +14 -15
  111. package/dist/components/button/button.styles.js +2 -4
  112. package/dist/components/button-group/button-group.component.js +4 -5
  113. package/dist/components/button-group/button-group.js +5 -6
  114. package/dist/components/button-group/button-group.styles.js +2 -3
  115. package/dist/components/checkbox/checkbox.component.d.ts +5 -0
  116. package/dist/components/checkbox/checkbox.component.js +12 -11
  117. package/dist/components/checkbox/checkbox.custom.styles.js +1 -1
  118. package/dist/components/checkbox/checkbox.js +13 -12
  119. package/dist/components/checkbox/checkbox.styles.js +2 -4
  120. package/dist/components/divider/divider.component.js +5 -6
  121. package/dist/components/divider/divider.custom.styles.js +1 -1
  122. package/dist/components/divider/divider.js +6 -7
  123. package/dist/components/divider/divider.styles.js +2 -4
  124. package/dist/components/drawer/drawer.component.d.ts +110 -0
  125. package/dist/components/drawer/drawer.component.js +27 -0
  126. package/dist/components/drawer/drawer.component.js.map +7 -0
  127. package/dist/components/drawer/drawer.custom.styles.d.ts +2 -0
  128. package/dist/components/drawer/drawer.custom.styles.js +8 -0
  129. package/dist/components/drawer/drawer.custom.styles.js.map +7 -0
  130. package/dist/components/drawer/drawer.d.ts +8 -0
  131. package/dist/components/drawer/drawer.js +28 -0
  132. package/dist/components/drawer/drawer.js.map +7 -0
  133. package/dist/components/drawer/drawer.styles.d.ts +2 -0
  134. package/dist/components/drawer/drawer.styles.js +8 -0
  135. package/dist/components/drawer/drawer.styles.js.map +7 -0
  136. package/dist/components/icon/icon.component.js +6 -7
  137. package/dist/components/icon/icon.custom.styles.js +1 -1
  138. package/dist/components/icon/icon.js +7 -8
  139. package/dist/components/icon/icon.styles.js +2 -4
  140. package/dist/components/icon/library.default.js +1 -1
  141. package/dist/components/icon/library.js +1 -1
  142. package/dist/components/icon/library.system.js +1 -1
  143. package/dist/components/icon-button/icon-button.component.js +8 -9
  144. package/dist/components/icon-button/icon-button.custom.styles.js +1 -1
  145. package/dist/components/icon-button/icon-button.js +9 -10
  146. package/dist/components/icon-button/icon-button.styles.js +2 -4
  147. package/dist/components/input/input.component.js +14 -15
  148. package/dist/components/input/input.custom.styles.js +1 -1
  149. package/dist/components/input/input.js +15 -16
  150. package/dist/components/input/input.styles.js +2 -5
  151. package/dist/components/optgroup/optgroup.component.js +6 -7
  152. package/dist/components/optgroup/optgroup.js +7 -8
  153. package/dist/components/optgroup/optgroup.styles.js +1 -1
  154. package/dist/components/option/option.component.js +8 -9
  155. package/dist/components/option/option.custom.styles.js +1 -1
  156. package/dist/components/option/option.js +9 -10
  157. package/dist/components/option/option.styles.js +2 -4
  158. package/dist/components/popup/popup.component.d.ts +9 -0
  159. package/dist/components/popup/popup.component.js +4 -5
  160. package/dist/components/popup/popup.styles.js +2 -3
  161. package/dist/components/radio/radio.component.js +8 -9
  162. package/dist/components/radio/radio.custom.styles.js +1 -1
  163. package/dist/components/radio/radio.js +9 -10
  164. package/dist/components/radio/radio.styles.js +2 -4
  165. package/dist/components/radio-button/radio-button.component.js +6 -8
  166. package/dist/components/radio-button/radio-button.js +7 -9
  167. package/dist/components/radio-button/radio-button.styles.js +3 -5
  168. package/dist/components/radio-group/radio-group.component.d.ts +1 -0
  169. package/dist/components/radio-group/radio-group.component.js +9 -10
  170. package/dist/components/radio-group/radio-group.custom.styles.js +1 -1
  171. package/dist/components/radio-group/radio-group.js +10 -11
  172. package/dist/components/radio-group/radio-group.styles.js +2 -5
  173. package/dist/components/select/select.component.d.ts +1 -0
  174. package/dist/components/select/select.component.js +20 -20
  175. package/dist/components/select/select.custom.styles.js +1 -1
  176. package/dist/components/select/select.js +21 -21
  177. package/dist/components/select/select.styles.js +2 -5
  178. package/dist/components/spinner/spinner.component.js +4 -5
  179. package/dist/components/spinner/spinner.styles.js +2 -3
  180. package/dist/components/switch/switch.component.d.ts +5 -0
  181. package/dist/components/switch/switch.component.js +9 -8
  182. package/dist/components/switch/switch.custom.styles.js +2 -2
  183. package/dist/components/switch/switch.js +10 -9
  184. package/dist/components/switch/switch.styles.js +2 -4
  185. package/dist/components/tag/tag.component.js +10 -11
  186. package/dist/components/tag/tag.custom.styles.js +1 -1
  187. package/dist/components/tag/tag.js +11 -12
  188. package/dist/components/tag/tag.styles.js +2 -4
  189. package/dist/components/textarea/textarea.component.js +8 -9
  190. package/dist/components/textarea/textarea.custom.styles.js +1 -1
  191. package/dist/components/textarea/textarea.js +9 -10
  192. package/dist/components/textarea/textarea.styles.js +2 -5
  193. package/dist/custom-elements.json +877 -351
  194. package/dist/events/events.d.ts +2 -0
  195. package/dist/events/syn-initial-focus.d.ts +6 -0
  196. package/dist/events/syn-request-close.d.ts +8 -0
  197. package/dist/internal/active-elements.d.ts +15 -0
  198. package/dist/internal/longpress.d.ts +2 -2
  199. package/dist/internal/modal.d.ts +24 -0
  200. package/dist/internal/string.d.ts +2 -0
  201. package/dist/internal/tabbable.d.ts +9 -0
  202. package/dist/synergy-autoloader.js +1 -1
  203. package/dist/synergy.d.ts +1 -0
  204. package/dist/synergy.js +88 -81
  205. package/dist/themes/utility.css +29 -0
  206. package/dist/translations/de.js +1 -1
  207. package/dist/translations/en.js +1 -1
  208. package/dist/utilities/animation-registry.js +2 -2
  209. package/dist/utilities/base-path.js +1 -1
  210. package/dist/utilities/form.js +3 -3
  211. package/dist/utilities/icon-library.js +1 -1
  212. package/dist/utilities/localize.js +1 -1
  213. package/dist/vscode.html-custom-data.json +78 -21
  214. package/package.json +4 -5
  215. package/dist/chunks/chunk.23HTU3YE.js.map +0 -7
  216. package/dist/chunks/chunk.2FN5DTS6.js.map +0 -7
  217. package/dist/chunks/chunk.3ZHSSMBL.js.map +0 -7
  218. package/dist/chunks/chunk.4I6M5V6O.js.map +0 -7
  219. package/dist/chunks/chunk.4MYR27GF.js.map +0 -7
  220. package/dist/chunks/chunk.4ZURABYO.js.map +0 -7
  221. package/dist/chunks/chunk.5BOEKFIJ.js.map +0 -7
  222. package/dist/chunks/chunk.6XU6OLZ3.js.map +0 -7
  223. package/dist/chunks/chunk.7EGCXNF2.js.map +0 -7
  224. package/dist/chunks/chunk.AFEABUNX.js.map +0 -7
  225. package/dist/chunks/chunk.AMTCNRDE.js.map +0 -7
  226. package/dist/chunks/chunk.CYN675Z6.js.map +0 -7
  227. package/dist/chunks/chunk.EI34C7LC.js.map +0 -7
  228. package/dist/chunks/chunk.EKOK7YPB.js.map +0 -7
  229. package/dist/chunks/chunk.GHMKOVA3.js.map +0 -7
  230. package/dist/chunks/chunk.GMUVD5B2.js.map +0 -7
  231. package/dist/chunks/chunk.HKCTVD3U.js.map +0 -7
  232. package/dist/chunks/chunk.IRT2DA6R.js.map +0 -7
  233. package/dist/chunks/chunk.JAKJHV44.js.map +0 -7
  234. package/dist/chunks/chunk.JBYBQ5TQ.js.map +0 -7
  235. package/dist/chunks/chunk.JHXCBOUD.js.map +0 -7
  236. package/dist/chunks/chunk.JN7CLMQZ.js.map +0 -7
  237. package/dist/chunks/chunk.MFFJYORB.js.map +0 -7
  238. package/dist/chunks/chunk.MNMITYTH.js.map +0 -7
  239. package/dist/chunks/chunk.N2I6HVX3.js.map +0 -7
  240. package/dist/chunks/chunk.NAX6WP3D.js.map +0 -7
  241. package/dist/chunks/chunk.O7USYXBT.js +0 -23
  242. package/dist/chunks/chunk.OJ4KOC7R.js.map +0 -7
  243. package/dist/chunks/chunk.OJREQD2D.js.map +0 -7
  244. package/dist/chunks/chunk.PGCXJ2PT.js.map +0 -7
  245. package/dist/chunks/chunk.QHFGD6WW.js.map +0 -7
  246. package/dist/chunks/chunk.RSONAU45.js.map +0 -7
  247. package/dist/chunks/chunk.SBEIXLRW.js.map +0 -7
  248. package/dist/chunks/chunk.TUYEX4KP.js.map +0 -7
  249. package/dist/chunks/chunk.W6V7TPGK.js.map +0 -7
  250. package/dist/chunks/chunk.XSXBQCWN.js.map +0 -7
  251. package/dist/chunks/chunk.XXF35USM.js.map +0 -7
  252. package/dist/chunks/chunk.Z4NKFCKY.js.map +0 -7
  253. package/dist/web-types.json +0 -2449
  254. /package/dist/chunks/{chunk.ULMZHWWW.js.map → chunk.5BMNRZ7L.js.map} +0 -0
  255. /package/dist/chunks/{chunk.SMSP5C6C.js.map → chunk.5CB3CVZ7.js.map} +0 -0
  256. /package/dist/chunks/{chunk.5OPODPPZ.js.map → chunk.AJU6C4KC.js.map} +0 -0
  257. /package/dist/chunks/{chunk.VZ7S7YYN.js.map → chunk.AVTU2BGE.js.map} +0 -0
  258. /package/dist/chunks/{chunk.LWXCBEHD.js.map → chunk.BGKFRWWO.js.map} +0 -0
  259. /package/dist/chunks/{chunk.USYR7G7Z.js.map → chunk.BTZX6ZFZ.js.map} +0 -0
  260. /package/dist/chunks/{chunk.RA2WSKQT.js.map → chunk.F4THECWA.js.map} +0 -0
  261. /package/dist/chunks/{chunk.PMTVLWNZ.js.map → chunk.FUNZW7ES.js.map} +0 -0
  262. /package/dist/chunks/{chunk.7VOPIPHW.js.map → chunk.IOPUYG6Q.js.map} +0 -0
  263. /package/dist/chunks/{chunk.5THN2K5Q.js.map → chunk.IR2PZHC7.js.map} +0 -0
  264. /package/dist/chunks/{chunk.HG5QC5EW.js.map → chunk.KUO3KJOC.js.map} +0 -0
  265. /package/dist/chunks/{chunk.B6AKFQJS.js.map → chunk.LF2XSSHD.js.map} +0 -0
  266. /package/dist/chunks/{chunk.KP7SYG4K.js.map → chunk.LZE7OXKV.js.map} +0 -0
  267. /package/dist/chunks/{chunk.7KSU2SUD.js.map → chunk.PRZRH7SN.js.map} +0 -0
  268. /package/dist/chunks/{chunk.BQG5LF7J.js.map → chunk.QAUTITK3.js.map} +0 -0
  269. /package/dist/chunks/{chunk.DJOAQ4JU.js.map → chunk.QNDC5KWA.js.map} +0 -0
  270. /package/dist/chunks/{chunk.Q7X5NOPZ.js.map → chunk.QY6MKIMK.js.map} +0 -0
  271. /package/dist/chunks/{chunk.VQWUZKDS.js.map → chunk.RMQZMRVP.js.map} +0 -0
  272. /package/dist/chunks/{chunk.SXW2KV3B.js.map → chunk.VATYXV2O.js.map} +0 -0
  273. /package/dist/chunks/{chunk.6V3HOZNE.js.map → chunk.Y72MIUNI.js.map} +0 -0
  274. /package/dist/chunks/{chunk.IKKMWFWH.js.map → chunk.ZIQXX272.js.map} +0 -0
  275. /package/dist/chunks/{chunk.GOVLCQY5.js.map → chunk.ZT5DUKVA.js.map} +0 -0
@@ -2,6 +2,146 @@
2
2
  "schemaVersion": "1.0.0",
3
3
  "readme": "",
4
4
  "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "components/button-group/button-group.js",
8
+ "declarations": [
9
+ {
10
+ "kind": "class",
11
+ "description": "",
12
+ "name": "SynButtonGroup",
13
+ "cssParts": [
14
+ {
15
+ "description": "The component's base wrapper.",
16
+ "name": "base"
17
+ }
18
+ ],
19
+ "slots": [
20
+ {
21
+ "description": "One or more `<syn-button>` elements to display in the button group.",
22
+ "name": ""
23
+ }
24
+ ],
25
+ "members": [
26
+ {
27
+ "kind": "field",
28
+ "name": "defaultSlot",
29
+ "type": {
30
+ "text": "HTMLSlotElement"
31
+ }
32
+ },
33
+ {
34
+ "kind": "field",
35
+ "name": "disableRole",
36
+ "type": {
37
+ "text": "boolean"
38
+ },
39
+ "default": "false"
40
+ },
41
+ {
42
+ "kind": "field",
43
+ "name": "label",
44
+ "type": {
45
+ "text": "string"
46
+ },
47
+ "default": "''",
48
+ "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
49
+ "attribute": "label"
50
+ },
51
+ {
52
+ "kind": "method",
53
+ "name": "handleFocus",
54
+ "privacy": "private",
55
+ "parameters": [
56
+ {
57
+ "name": "event",
58
+ "type": {
59
+ "text": "Event"
60
+ }
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "kind": "method",
66
+ "name": "handleBlur",
67
+ "privacy": "private",
68
+ "parameters": [
69
+ {
70
+ "name": "event",
71
+ "type": {
72
+ "text": "Event"
73
+ }
74
+ }
75
+ ]
76
+ },
77
+ {
78
+ "kind": "method",
79
+ "name": "handleMouseOver",
80
+ "privacy": "private",
81
+ "parameters": [
82
+ {
83
+ "name": "event",
84
+ "type": {
85
+ "text": "Event"
86
+ }
87
+ }
88
+ ]
89
+ },
90
+ {
91
+ "kind": "method",
92
+ "name": "handleMouseOut",
93
+ "privacy": "private",
94
+ "parameters": [
95
+ {
96
+ "name": "event",
97
+ "type": {
98
+ "text": "Event"
99
+ }
100
+ }
101
+ ]
102
+ },
103
+ {
104
+ "kind": "method",
105
+ "name": "handleSlotChange",
106
+ "privacy": "private"
107
+ }
108
+ ],
109
+ "attributes": [
110
+ {
111
+ "name": "label",
112
+ "type": {
113
+ "text": "string"
114
+ },
115
+ "default": "''",
116
+ "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
117
+ "fieldName": "label"
118
+ }
119
+ ],
120
+ "superclass": {
121
+ "name": "SynergyElement",
122
+ "module": "/src/internal/synergy-element.js"
123
+ },
124
+ "summary": "Button groups can be used to group related buttons into sections.",
125
+ "tagNameWithoutPrefix": "button-group",
126
+ "tagName": "syn-button-group",
127
+ "customElement": true,
128
+ "jsDoc": "/**\n * @summary Button groups can be used to group related buttons into sections.\n * @documentation https://synergy.style/components/button-group\n * @status stable\n * @since 2.0\n *\n * @slot - One or more `<syn-button>` elements to display in the button group.\n *\n * @csspart base - The component's base wrapper.\n */",
129
+ "documentation": "https://synergy.style/components/button-group",
130
+ "status": "stable",
131
+ "since": "2.0"
132
+ }
133
+ ],
134
+ "exports": [
135
+ {
136
+ "kind": "js",
137
+ "name": "default",
138
+ "declaration": {
139
+ "name": "SynButtonGroup",
140
+ "module": "components/button-group/button-group.js"
141
+ }
142
+ }
143
+ ]
144
+ },
5
145
  {
6
146
  "kind": "javascript-module",
7
147
  "path": "components/button/button.js",
@@ -618,248 +758,123 @@
618
758
  },
619
759
  {
620
760
  "kind": "javascript-module",
621
- "path": "components/button-group/button-group.js",
761
+ "path": "components/checkbox/checkbox.js",
622
762
  "declarations": [
623
763
  {
624
764
  "kind": "class",
625
765
  "description": "",
626
- "name": "SynButtonGroup",
766
+ "name": "SynCheckbox",
627
767
  "cssParts": [
628
768
  {
629
769
  "description": "The component's base wrapper.",
630
770
  "name": "base"
771
+ },
772
+ {
773
+ "description": "The square container that wraps the checkbox's checked state.",
774
+ "name": "control"
775
+ },
776
+ {
777
+ "description": "Matches the control part when the checkbox is checked.",
778
+ "name": "control--checked"
779
+ },
780
+ {
781
+ "description": "Matches the control part when the checkbox is indeterminate.",
782
+ "name": "control--indeterminate"
783
+ },
784
+ {
785
+ "description": "The checked icon, an `<syn-icon>` element.",
786
+ "name": "checked-icon"
787
+ },
788
+ {
789
+ "description": "The indeterminate icon, an `<syn-icon>` element.",
790
+ "name": "indeterminate-icon"
791
+ },
792
+ {
793
+ "description": "The container that wraps the checkbox's label.",
794
+ "name": "label"
795
+ },
796
+ {
797
+ "description": "The help text's wrapper.",
798
+ "name": "form-control-help-text"
631
799
  }
632
800
  ],
633
801
  "slots": [
634
802
  {
635
- "description": "One or more `<syn-button>` elements to display in the button group.",
803
+ "description": "The checkbox's label.",
636
804
  "name": ""
805
+ },
806
+ {
807
+ "description": "Text that describes how to use the checkbox. Alternatively, you can use the `help-text` attribute.",
808
+ "name": "help-text"
637
809
  }
638
810
  ],
639
811
  "members": [
640
812
  {
641
813
  "kind": "field",
642
- "name": "defaultSlot",
814
+ "name": "dependencies",
643
815
  "type": {
644
- "text": "HTMLSlotElement"
816
+ "text": "object"
817
+ },
818
+ "static": true,
819
+ "default": "{ 'syn-icon': SynIcon }"
820
+ },
821
+ {
822
+ "kind": "field",
823
+ "name": "formControlController",
824
+ "privacy": "private",
825
+ "readonly": true,
826
+ "default": "new FormControlController(this, {\n value: (control: SynCheckbox) => (control.checked ? control.value || 'on' : undefined),\n defaultValue: (control: SynCheckbox) => control.defaultChecked,\n setValue: (control: SynCheckbox, checked: boolean) => (control.checked = checked)\n })"
827
+ },
828
+ {
829
+ "kind": "field",
830
+ "name": "hasSlotController",
831
+ "privacy": "private",
832
+ "readonly": true,
833
+ "default": "new HasSlotController(this, 'help-text')"
834
+ },
835
+ {
836
+ "kind": "field",
837
+ "name": "input",
838
+ "type": {
839
+ "text": "HTMLInputElement"
645
840
  }
646
841
  },
647
842
  {
648
843
  "kind": "field",
649
- "name": "disableRole",
844
+ "name": "hasFocus",
650
845
  "type": {
651
846
  "text": "boolean"
652
847
  },
848
+ "privacy": "private",
653
849
  "default": "false"
654
850
  },
655
851
  {
656
852
  "kind": "field",
657
- "name": "label",
853
+ "name": "title",
658
854
  "type": {
659
855
  "text": "string"
660
856
  },
661
857
  "default": "''",
662
- "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
663
- "attribute": "label"
858
+ "attribute": "title"
664
859
  },
665
860
  {
666
- "kind": "method",
667
- "name": "handleFocus",
668
- "privacy": "private",
669
- "parameters": [
670
- {
671
- "name": "event",
672
- "type": {
673
- "text": "Event"
674
- }
675
- }
676
- ]
861
+ "kind": "field",
862
+ "name": "name",
863
+ "type": {
864
+ "text": "string"
865
+ },
866
+ "default": "''",
867
+ "description": "The name of the checkbox, submitted as a name/value pair with form data.",
868
+ "attribute": "name"
677
869
  },
678
870
  {
679
- "kind": "method",
680
- "name": "handleBlur",
681
- "privacy": "private",
682
- "parameters": [
683
- {
684
- "name": "event",
685
- "type": {
686
- "text": "Event"
687
- }
688
- }
689
- ]
690
- },
691
- {
692
- "kind": "method",
693
- "name": "handleMouseOver",
694
- "privacy": "private",
695
- "parameters": [
696
- {
697
- "name": "event",
698
- "type": {
699
- "text": "Event"
700
- }
701
- }
702
- ]
703
- },
704
- {
705
- "kind": "method",
706
- "name": "handleMouseOut",
707
- "privacy": "private",
708
- "parameters": [
709
- {
710
- "name": "event",
711
- "type": {
712
- "text": "Event"
713
- }
714
- }
715
- ]
716
- },
717
- {
718
- "kind": "method",
719
- "name": "handleSlotChange",
720
- "privacy": "private"
721
- }
722
- ],
723
- "attributes": [
724
- {
725
- "name": "label",
726
- "type": {
727
- "text": "string"
728
- },
729
- "default": "''",
730
- "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
731
- "fieldName": "label"
732
- }
733
- ],
734
- "superclass": {
735
- "name": "SynergyElement",
736
- "module": "/src/internal/synergy-element.js"
737
- },
738
- "summary": "Button groups can be used to group related buttons into sections.",
739
- "tagNameWithoutPrefix": "button-group",
740
- "tagName": "syn-button-group",
741
- "customElement": true,
742
- "jsDoc": "/**\n * @summary Button groups can be used to group related buttons into sections.\n * @documentation https://synergy.style/components/button-group\n * @status stable\n * @since 2.0\n *\n * @slot - One or more `<syn-button>` elements to display in the button group.\n *\n * @csspart base - The component's base wrapper.\n */",
743
- "documentation": "https://synergy.style/components/button-group",
744
- "status": "stable",
745
- "since": "2.0"
746
- }
747
- ],
748
- "exports": [
749
- {
750
- "kind": "js",
751
- "name": "default",
752
- "declaration": {
753
- "name": "SynButtonGroup",
754
- "module": "components/button-group/button-group.js"
755
- }
756
- }
757
- ]
758
- },
759
- {
760
- "kind": "javascript-module",
761
- "path": "components/checkbox/checkbox.js",
762
- "declarations": [
763
- {
764
- "kind": "class",
765
- "description": "",
766
- "name": "SynCheckbox",
767
- "cssParts": [
768
- {
769
- "description": "The component's base wrapper.",
770
- "name": "base"
771
- },
772
- {
773
- "description": "The square container that wraps the checkbox's checked state.",
774
- "name": "control"
775
- },
776
- {
777
- "description": "Matches the control part when the checkbox is checked.",
778
- "name": "control--checked"
779
- },
780
- {
781
- "description": "Matches the control part when the checkbox is indeterminate.",
782
- "name": "control--indeterminate"
783
- },
784
- {
785
- "description": "The checked icon, an `<syn-icon>` element.",
786
- "name": "checked-icon"
787
- },
788
- {
789
- "description": "The indeterminate icon, an `<syn-icon>` element.",
790
- "name": "indeterminate-icon"
791
- },
792
- {
793
- "description": "The container that wraps the checkbox's label.",
794
- "name": "label"
795
- }
796
- ],
797
- "slots": [
798
- {
799
- "description": "The checkbox's label.",
800
- "name": ""
801
- }
802
- ],
803
- "members": [
804
- {
805
- "kind": "field",
806
- "name": "dependencies",
807
- "type": {
808
- "text": "object"
809
- },
810
- "static": true,
811
- "default": "{ 'syn-icon': SynIcon }"
812
- },
813
- {
814
- "kind": "field",
815
- "name": "formControlController",
816
- "privacy": "private",
817
- "readonly": true,
818
- "default": "new FormControlController(this, {\n value: (control: SynCheckbox) => (control.checked ? control.value || 'on' : undefined),\n defaultValue: (control: SynCheckbox) => control.defaultChecked,\n setValue: (control: SynCheckbox, checked: boolean) => (control.checked = checked)\n })"
819
- },
820
- {
821
- "kind": "field",
822
- "name": "input",
823
- "type": {
824
- "text": "HTMLInputElement"
825
- }
826
- },
827
- {
828
- "kind": "field",
829
- "name": "hasFocus",
830
- "type": {
831
- "text": "boolean"
832
- },
833
- "privacy": "private",
834
- "default": "false"
835
- },
836
- {
837
- "kind": "field",
838
- "name": "title",
839
- "type": {
840
- "text": "string"
841
- },
842
- "default": "''",
843
- "attribute": "title"
844
- },
845
- {
846
- "kind": "field",
847
- "name": "name",
848
- "type": {
849
- "text": "string"
850
- },
851
- "default": "''",
852
- "description": "The name of the checkbox, submitted as a name/value pair with form data.",
853
- "attribute": "name"
854
- },
855
- {
856
- "kind": "field",
857
- "name": "value",
858
- "type": {
859
- "text": "string"
860
- },
861
- "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
862
- "attribute": "value"
871
+ "kind": "field",
872
+ "name": "value",
873
+ "type": {
874
+ "text": "string"
875
+ },
876
+ "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
877
+ "attribute": "value"
863
878
  },
864
879
  {
865
880
  "kind": "field",
@@ -936,6 +951,16 @@
936
951
  "attribute": "required",
937
952
  "reflects": true
938
953
  },
954
+ {
955
+ "kind": "field",
956
+ "name": "helpText",
957
+ "type": {
958
+ "text": "string"
959
+ },
960
+ "default": "''",
961
+ "description": "The checkbox's help text. If you need to display HTML, use the `help-text` slot instead.",
962
+ "attribute": "help-text"
963
+ },
939
964
  {
940
965
  "kind": "field",
941
966
  "name": "validity",
@@ -1049,207 +1074,634 @@
1049
1074
  ],
1050
1075
  "events": [
1051
1076
  {
1052
- "description": "Emitted when the checkbox loses focus.",
1053
- "name": "syn-blur",
1054
- "reactName": "onSynBlur",
1055
- "eventName": "SynBlurEvent"
1077
+ "description": "Emitted when the checkbox loses focus.",
1078
+ "name": "syn-blur",
1079
+ "reactName": "onSynBlur",
1080
+ "eventName": "SynBlurEvent"
1081
+ },
1082
+ {
1083
+ "description": "Emitted when the checked state changes.",
1084
+ "name": "syn-change",
1085
+ "reactName": "onSynChange",
1086
+ "eventName": "SynChangeEvent"
1087
+ },
1088
+ {
1089
+ "description": "Emitted when the checkbox gains focus.",
1090
+ "name": "syn-focus",
1091
+ "reactName": "onSynFocus",
1092
+ "eventName": "SynFocusEvent"
1093
+ },
1094
+ {
1095
+ "description": "Emitted when the checkbox receives input.",
1096
+ "name": "syn-input",
1097
+ "reactName": "onSynInput",
1098
+ "eventName": "SynInputEvent"
1099
+ },
1100
+ {
1101
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
1102
+ "name": "syn-invalid",
1103
+ "reactName": "onSynInvalid",
1104
+ "eventName": "SynInvalidEvent"
1105
+ }
1106
+ ],
1107
+ "attributes": [
1108
+ {
1109
+ "name": "title",
1110
+ "type": {
1111
+ "text": "string"
1112
+ },
1113
+ "default": "''",
1114
+ "fieldName": "title"
1115
+ },
1116
+ {
1117
+ "name": "name",
1118
+ "type": {
1119
+ "text": "string"
1120
+ },
1121
+ "default": "''",
1122
+ "description": "The name of the checkbox, submitted as a name/value pair with form data.",
1123
+ "fieldName": "name"
1124
+ },
1125
+ {
1126
+ "name": "value",
1127
+ "type": {
1128
+ "text": "string"
1129
+ },
1130
+ "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
1131
+ "fieldName": "value"
1132
+ },
1133
+ {
1134
+ "name": "size",
1135
+ "type": {
1136
+ "text": "'small' | 'medium' | 'large'"
1137
+ },
1138
+ "default": "'medium'",
1139
+ "description": "The checkbox's size.",
1140
+ "fieldName": "size"
1141
+ },
1142
+ {
1143
+ "name": "disabled",
1144
+ "type": {
1145
+ "text": "boolean"
1146
+ },
1147
+ "default": "false",
1148
+ "description": "Disables the checkbox.",
1149
+ "fieldName": "disabled"
1150
+ },
1151
+ {
1152
+ "name": "checked",
1153
+ "type": {
1154
+ "text": "boolean"
1155
+ },
1156
+ "default": "false",
1157
+ "description": "Draws the checkbox in a checked state.",
1158
+ "fieldName": "checked"
1159
+ },
1160
+ {
1161
+ "name": "indeterminate",
1162
+ "type": {
1163
+ "text": "boolean"
1164
+ },
1165
+ "default": "false",
1166
+ "description": "Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\nall/none\" behavior when associated checkboxes have a mix of checked and unchecked states.",
1167
+ "fieldName": "indeterminate"
1168
+ },
1169
+ {
1170
+ "name": "form",
1171
+ "type": {
1172
+ "text": "string"
1173
+ },
1174
+ "default": "''",
1175
+ "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
1176
+ "fieldName": "form"
1177
+ },
1178
+ {
1179
+ "name": "required",
1180
+ "type": {
1181
+ "text": "boolean"
1182
+ },
1183
+ "default": "false",
1184
+ "description": "Makes the checkbox a required field.",
1185
+ "fieldName": "required"
1186
+ },
1187
+ {
1188
+ "name": "help-text",
1189
+ "type": {
1190
+ "text": "string"
1191
+ },
1192
+ "default": "''",
1193
+ "description": "The checkbox's help text. If you need to display HTML, use the `help-text` slot instead.",
1194
+ "fieldName": "helpText"
1195
+ }
1196
+ ],
1197
+ "superclass": {
1198
+ "name": "SynergyElement",
1199
+ "module": "/src/internal/synergy-element.js"
1200
+ },
1201
+ "summary": "Checkboxes allow the user to toggle an option on or off.",
1202
+ "tagNameWithoutPrefix": "checkbox",
1203
+ "tagName": "syn-checkbox",
1204
+ "customElement": true,
1205
+ "jsDoc": "/**\n * @summary Checkboxes allow the user to toggle an option on or off.\n * @documentation https://synergy.style/components/checkbox\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The checkbox's label.\n * @slot help-text - Text that describes how to use the checkbox. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-blur - Emitted when the checkbox loses focus.\n * @event syn-change - Emitted when the checked state changes.\n * @event syn-focus - Emitted when the checkbox gains focus.\n * @event syn-input - Emitted when the checkbox 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 base - The component's base wrapper.\n * @csspart control - The square container that wraps the checkbox's checked state.\n * @csspart control--checked - Matches the control part when the checkbox is checked.\n * @csspart control--indeterminate - Matches the control part when the checkbox is indeterminate.\n * @csspart checked-icon - The checked icon, an `<syn-icon>` element.\n * @csspart indeterminate-icon - The indeterminate icon, an `<syn-icon>` element.\n * @csspart label - The container that wraps the checkbox's label.\n * @csspart form-control-help-text - The help text's wrapper.\n */",
1206
+ "documentation": "https://synergy.style/components/checkbox",
1207
+ "status": "stable",
1208
+ "since": "2.0",
1209
+ "dependencies": [
1210
+ "syn-icon"
1211
+ ]
1212
+ }
1213
+ ],
1214
+ "exports": [
1215
+ {
1216
+ "kind": "js",
1217
+ "name": "default",
1218
+ "declaration": {
1219
+ "name": "SynCheckbox",
1220
+ "module": "components/checkbox/checkbox.js"
1221
+ }
1222
+ }
1223
+ ]
1224
+ },
1225
+ {
1226
+ "kind": "javascript-module",
1227
+ "path": "components/divider/divider.js",
1228
+ "declarations": [
1229
+ {
1230
+ "kind": "class",
1231
+ "description": "",
1232
+ "name": "SynDivider",
1233
+ "cssProperties": [
1234
+ {
1235
+ "description": "The color of the divider.",
1236
+ "name": "--color"
1237
+ },
1238
+ {
1239
+ "description": "The width of the divider.",
1240
+ "name": "--width"
1241
+ },
1242
+ {
1243
+ "description": "The spacing of the divider.",
1244
+ "name": "--spacing"
1245
+ }
1246
+ ],
1247
+ "members": [
1248
+ {
1249
+ "kind": "field",
1250
+ "name": "vertical",
1251
+ "type": {
1252
+ "text": "boolean"
1253
+ },
1254
+ "default": "false",
1255
+ "description": "Draws the divider in a vertical orientation.",
1256
+ "attribute": "vertical",
1257
+ "reflects": true
1258
+ },
1259
+ {
1260
+ "kind": "method",
1261
+ "name": "handleVerticalChange"
1262
+ }
1263
+ ],
1264
+ "attributes": [
1265
+ {
1266
+ "name": "vertical",
1267
+ "type": {
1268
+ "text": "boolean"
1269
+ },
1270
+ "default": "false",
1271
+ "description": "Draws the divider in a vertical orientation.",
1272
+ "fieldName": "vertical"
1273
+ }
1274
+ ],
1275
+ "superclass": {
1276
+ "name": "SynergyElement",
1277
+ "module": "/src/internal/synergy-element.js"
1278
+ },
1279
+ "summary": "Dividers are used to visually separate or group elements.",
1280
+ "tagNameWithoutPrefix": "divider",
1281
+ "tagName": "syn-divider",
1282
+ "customElement": true,
1283
+ "jsDoc": "/**\n * @summary Dividers are used to visually separate or group elements.\n * @documentation https://synergy.style/components/divider\n * @status stable\n * @since 2.0\n *\n * @cssproperty --color - The color of the divider.\n * @cssproperty --width - The width of the divider.\n * @cssproperty --spacing - The spacing of the divider.\n */",
1284
+ "documentation": "https://synergy.style/components/divider",
1285
+ "status": "stable",
1286
+ "since": "2.0"
1287
+ }
1288
+ ],
1289
+ "exports": [
1290
+ {
1291
+ "kind": "js",
1292
+ "name": "default",
1293
+ "declaration": {
1294
+ "name": "SynDivider",
1295
+ "module": "components/divider/divider.js"
1296
+ }
1297
+ }
1298
+ ]
1299
+ },
1300
+ {
1301
+ "kind": "javascript-module",
1302
+ "path": "components/drawer/drawer.js",
1303
+ "declarations": [
1304
+ {
1305
+ "kind": "class",
1306
+ "description": "",
1307
+ "name": "SynDrawer",
1308
+ "cssProperties": [
1309
+ {
1310
+ "description": "The preferred size of the drawer. This will be applied to the drawer's width or height depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.",
1311
+ "name": "--size"
1312
+ },
1313
+ {
1314
+ "description": "The amount of padding to use for the header.",
1315
+ "name": "--header-spacing"
1316
+ },
1317
+ {
1318
+ "description": "The amount of padding to use for the body.",
1319
+ "name": "--body-spacing"
1320
+ },
1321
+ {
1322
+ "description": "The amount of padding to use for the footer.",
1323
+ "name": "--footer-spacing"
1324
+ }
1325
+ ],
1326
+ "cssParts": [
1327
+ {
1328
+ "description": "The component's base wrapper.",
1329
+ "name": "base"
1330
+ },
1331
+ {
1332
+ "description": "The overlay that covers the screen behind the drawer.",
1333
+ "name": "overlay"
1334
+ },
1335
+ {
1336
+ "description": "The drawer's panel (where the drawer and its content are rendered).",
1337
+ "name": "panel"
1338
+ },
1339
+ {
1340
+ "description": "The drawer's header. This element wraps the title and header actions.",
1341
+ "name": "header"
1342
+ },
1343
+ {
1344
+ "description": "Optional actions to add to the header. Works best with `<syn-icon-button>`.",
1345
+ "name": "header-actions"
1346
+ },
1347
+ {
1348
+ "description": "The drawer's title.",
1349
+ "name": "title"
1350
+ },
1351
+ {
1352
+ "description": "The close button, an `<syn-icon-button>`.",
1353
+ "name": "close-button"
1354
+ },
1355
+ {
1356
+ "description": "The close button's exported `base` part.",
1357
+ "name": "close-button__base"
1358
+ },
1359
+ {
1360
+ "description": "The drawer's body.",
1361
+ "name": "body"
1362
+ },
1363
+ {
1364
+ "description": "The drawer's footer.",
1365
+ "name": "footer"
1366
+ }
1367
+ ],
1368
+ "slots": [
1369
+ {
1370
+ "description": "The drawer's main content.",
1371
+ "name": ""
1372
+ },
1373
+ {
1374
+ "description": "The drawer's label. Alternatively, you can use the `label` attribute.",
1375
+ "name": "label"
1376
+ },
1377
+ {
1378
+ "description": "Optional actions to add to the header. Works best with `<syn-icon-button>`.",
1379
+ "name": "header-actions"
1380
+ },
1381
+ {
1382
+ "description": "The drawer's footer, usually one or more buttons representing various options.",
1383
+ "name": "footer"
1384
+ }
1385
+ ],
1386
+ "members": [
1387
+ {
1388
+ "kind": "field",
1389
+ "name": "dependencies",
1390
+ "type": {
1391
+ "text": "object"
1392
+ },
1393
+ "static": true,
1394
+ "default": "{ 'syn-icon-button': SynIconButton }"
1395
+ },
1396
+ {
1397
+ "kind": "field",
1398
+ "name": "hasSlotController",
1399
+ "privacy": "private",
1400
+ "readonly": true,
1401
+ "default": "new HasSlotController(this, 'footer')"
1402
+ },
1403
+ {
1404
+ "kind": "field",
1405
+ "name": "localize",
1406
+ "privacy": "private",
1407
+ "readonly": true,
1408
+ "default": "new LocalizeController(this)"
1409
+ },
1410
+ {
1411
+ "kind": "field",
1412
+ "name": "originalTrigger",
1413
+ "type": {
1414
+ "text": "HTMLElement | null"
1415
+ },
1416
+ "privacy": "private"
1417
+ },
1418
+ {
1419
+ "kind": "field",
1420
+ "name": "modal",
1421
+ "privacy": "public",
1422
+ "default": "new Modal(this)",
1423
+ "description": "Exposes the internal modal utility that controls focus trapping. To temporarily disable focus trapping and allow third-party modals spawned from an active Synergy modal, call `modal.activateExternal()` when the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Synergy's focus trapping."
1424
+ },
1425
+ {
1426
+ "kind": "field",
1427
+ "name": "closeWatcher",
1428
+ "type": {
1429
+ "text": "CloseWatcher | null"
1430
+ },
1431
+ "privacy": "private"
1432
+ },
1433
+ {
1434
+ "kind": "field",
1435
+ "name": "drawer",
1436
+ "type": {
1437
+ "text": "HTMLElement"
1438
+ }
1439
+ },
1440
+ {
1441
+ "kind": "field",
1442
+ "name": "panel",
1443
+ "type": {
1444
+ "text": "HTMLElement"
1445
+ }
1446
+ },
1447
+ {
1448
+ "kind": "field",
1449
+ "name": "overlay",
1450
+ "type": {
1451
+ "text": "HTMLElement"
1452
+ }
1453
+ },
1454
+ {
1455
+ "kind": "field",
1456
+ "name": "open",
1457
+ "type": {
1458
+ "text": "boolean"
1459
+ },
1460
+ "default": "false",
1461
+ "description": "Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.",
1462
+ "attribute": "open",
1463
+ "reflects": true
1464
+ },
1465
+ {
1466
+ "kind": "field",
1467
+ "name": "label",
1468
+ "type": {
1469
+ "text": "string"
1470
+ },
1471
+ "default": "''",
1472
+ "description": "The drawer's label as displayed in the header. You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
1473
+ "attribute": "label",
1474
+ "reflects": true
1475
+ },
1476
+ {
1477
+ "kind": "field",
1478
+ "name": "placement",
1479
+ "type": {
1480
+ "text": "'top' | 'end' | 'bottom' | 'start'"
1481
+ },
1482
+ "default": "'end'",
1483
+ "description": "The direction from which the drawer will open.",
1484
+ "attribute": "placement",
1485
+ "reflects": true
1486
+ },
1487
+ {
1488
+ "kind": "field",
1489
+ "name": "contained",
1490
+ "type": {
1491
+ "text": "boolean"
1492
+ },
1493
+ "default": "false",
1494
+ "description": "By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\nits parent element, set this attribute and add `position: relative` to the parent.",
1495
+ "attribute": "contained",
1496
+ "reflects": true
1497
+ },
1498
+ {
1499
+ "kind": "field",
1500
+ "name": "noHeader",
1501
+ "type": {
1502
+ "text": "boolean"
1503
+ },
1504
+ "default": "false",
1505
+ "description": "Removes the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the drawer.",
1506
+ "attribute": "no-header",
1507
+ "reflects": true
1508
+ },
1509
+ {
1510
+ "kind": "method",
1511
+ "name": "requestClose",
1512
+ "privacy": "private",
1513
+ "parameters": [
1514
+ {
1515
+ "name": "source",
1516
+ "type": {
1517
+ "text": "'close-button' | 'keyboard' | 'overlay'"
1518
+ }
1519
+ }
1520
+ ]
1521
+ },
1522
+ {
1523
+ "kind": "method",
1524
+ "name": "addOpenListeners",
1525
+ "privacy": "private"
1526
+ },
1527
+ {
1528
+ "kind": "method",
1529
+ "name": "removeOpenListeners",
1530
+ "privacy": "private"
1531
+ },
1532
+ {
1533
+ "kind": "field",
1534
+ "name": "handleDocumentKeyDown",
1535
+ "privacy": "private"
1056
1536
  },
1057
1537
  {
1058
- "description": "Emitted when the checked state changes.",
1059
- "name": "syn-change",
1060
- "reactName": "onSynChange",
1061
- "eventName": "SynChangeEvent"
1538
+ "kind": "method",
1539
+ "name": "handleOpenChange"
1062
1540
  },
1063
1541
  {
1064
- "description": "Emitted when the checkbox gains focus.",
1065
- "name": "syn-focus",
1066
- "reactName": "onSynFocus",
1067
- "eventName": "SynFocusEvent"
1542
+ "kind": "method",
1543
+ "name": "handleNoModalChange"
1068
1544
  },
1069
1545
  {
1070
- "description": "Emitted when the checkbox receives input.",
1071
- "name": "syn-input",
1072
- "reactName": "onSynInput",
1073
- "eventName": "SynInputEvent"
1546
+ "kind": "method",
1547
+ "name": "show",
1548
+ "description": "Shows the drawer."
1074
1549
  },
1075
1550
  {
1076
- "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
1077
- "name": "syn-invalid",
1078
- "reactName": "onSynInvalid",
1079
- "eventName": "SynInvalidEvent"
1551
+ "kind": "method",
1552
+ "name": "hide",
1553
+ "description": "Hides the drawer"
1080
1554
  }
1081
1555
  ],
1082
- "attributes": [
1556
+ "events": [
1083
1557
  {
1084
- "name": "title",
1085
- "type": {
1086
- "text": "string"
1087
- },
1088
- "default": "''",
1089
- "fieldName": "title"
1558
+ "description": "Emitted when the drawer opens.",
1559
+ "name": "syn-show",
1560
+ "reactName": "onSynShow",
1561
+ "eventName": "SynShowEvent"
1090
1562
  },
1091
1563
  {
1092
- "name": "name",
1093
- "type": {
1094
- "text": "string"
1095
- },
1096
- "default": "''",
1097
- "description": "The name of the checkbox, submitted as a name/value pair with form data.",
1098
- "fieldName": "name"
1564
+ "description": "Emitted after the drawer opens and all animations are complete.",
1565
+ "name": "syn-after-show",
1566
+ "reactName": "onSynAfterShow",
1567
+ "eventName": "SynAfterShowEvent"
1099
1568
  },
1100
1569
  {
1101
- "name": "value",
1102
- "type": {
1103
- "text": "string"
1104
- },
1105
- "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
1106
- "fieldName": "value"
1570
+ "description": "Emitted when the drawer closes.",
1571
+ "name": "syn-hide",
1572
+ "reactName": "onSynHide",
1573
+ "eventName": "SynHideEvent"
1574
+ },
1575
+ {
1576
+ "description": "Emitted after the drawer closes and all animations are complete.",
1577
+ "name": "syn-after-hide",
1578
+ "reactName": "onSynAfterHide",
1579
+ "eventName": "SynAfterHideEvent"
1580
+ },
1581
+ {
1582
+ "description": "Emitted when the drawer opens and is ready to receive focus. Calling `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.",
1583
+ "name": "syn-initial-focus",
1584
+ "reactName": "onSynInitialFocus",
1585
+ "eventName": "SynInitialFocusEvent"
1107
1586
  },
1108
1587
  {
1109
- "name": "size",
1110
1588
  "type": {
1111
- "text": "'small' | 'medium' | 'large'"
1589
+ "text": "{ source: 'close-button' | 'keyboard' | 'overlay' }"
1112
1590
  },
1113
- "default": "'medium'",
1114
- "description": "The checkbox's size.",
1115
- "fieldName": "size"
1116
- },
1591
+ "description": "Emitted when the user attempts to close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in destructive behavior such as data loss.",
1592
+ "name": "syn-request-close",
1593
+ "reactName": "onSynRequestClose",
1594
+ "eventName": "SynRequestCloseEvent"
1595
+ }
1596
+ ],
1597
+ "attributes": [
1117
1598
  {
1118
- "name": "disabled",
1599
+ "name": "open",
1119
1600
  "type": {
1120
1601
  "text": "boolean"
1121
1602
  },
1122
1603
  "default": "false",
1123
- "description": "Disables the checkbox.",
1124
- "fieldName": "disabled"
1604
+ "description": "Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.",
1605
+ "fieldName": "open"
1125
1606
  },
1126
1607
  {
1127
- "name": "checked",
1608
+ "name": "label",
1128
1609
  "type": {
1129
- "text": "boolean"
1610
+ "text": "string"
1130
1611
  },
1131
- "default": "false",
1132
- "description": "Draws the checkbox in a checked state.",
1133
- "fieldName": "checked"
1612
+ "default": "''",
1613
+ "description": "The drawer's label as displayed in the header. You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
1614
+ "fieldName": "label"
1134
1615
  },
1135
1616
  {
1136
- "name": "indeterminate",
1617
+ "name": "placement",
1137
1618
  "type": {
1138
- "text": "boolean"
1619
+ "text": "'top' | 'end' | 'bottom' | 'start'"
1139
1620
  },
1140
- "default": "false",
1141
- "description": "Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\nall/none\" behavior when associated checkboxes have a mix of checked and unchecked states.",
1142
- "fieldName": "indeterminate"
1621
+ "default": "'end'",
1622
+ "description": "The direction from which the drawer will open.",
1623
+ "fieldName": "placement"
1143
1624
  },
1144
1625
  {
1145
- "name": "form",
1626
+ "name": "contained",
1146
1627
  "type": {
1147
- "text": "string"
1628
+ "text": "boolean"
1148
1629
  },
1149
- "default": "''",
1150
- "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
1151
- "fieldName": "form"
1630
+ "default": "false",
1631
+ "description": "By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\nits parent element, set this attribute and add `position: relative` to the parent.",
1632
+ "fieldName": "contained"
1152
1633
  },
1153
1634
  {
1154
- "name": "required",
1635
+ "name": "no-header",
1155
1636
  "type": {
1156
1637
  "text": "boolean"
1157
1638
  },
1158
1639
  "default": "false",
1159
- "description": "Makes the checkbox a required field.",
1160
- "fieldName": "required"
1640
+ "description": "Removes the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the drawer.",
1641
+ "fieldName": "noHeader"
1161
1642
  }
1162
1643
  ],
1163
1644
  "superclass": {
1164
1645
  "name": "SynergyElement",
1165
1646
  "module": "/src/internal/synergy-element.js"
1166
1647
  },
1167
- "summary": "Checkboxes allow the user to toggle an option on or off.",
1168
- "tagNameWithoutPrefix": "checkbox",
1169
- "tagName": "syn-checkbox",
1648
+ "summary": "Drawers slide in from a container to expose additional options and information.",
1649
+ "tagNameWithoutPrefix": "drawer",
1650
+ "tagName": "syn-drawer",
1170
1651
  "customElement": true,
1171
- "jsDoc": "/**\n * @summary Checkboxes allow the user to toggle an option on or off.\n * @documentation https://synergy.style/components/checkbox\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The checkbox's label.\n *\n * @event syn-blur - Emitted when the checkbox loses focus.\n * @event syn-change - Emitted when the checked state changes.\n * @event syn-focus - Emitted when the checkbox gains focus.\n * @event syn-input - Emitted when the checkbox 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 base - The component's base wrapper.\n * @csspart control - The square container that wraps the checkbox's checked state.\n * @csspart control--checked - Matches the control part when the checkbox is checked.\n * @csspart control--indeterminate - Matches the control part when the checkbox is indeterminate.\n * @csspart checked-icon - The checked icon, an `<syn-icon>` element.\n * @csspart indeterminate-icon - The indeterminate icon, an `<syn-icon>` element.\n * @csspart label - The container that wraps the checkbox's label.\n */",
1172
- "documentation": "https://synergy.style/components/checkbox",
1652
+ "jsDoc": "/**\n * @summary Drawers slide in from a container to expose additional options and information.\n * @documentation https://synergy.style/components/drawer\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon-button\n *\n * @slot - The drawer's main content.\n * @slot label - The drawer's label. Alternatively, you can use the `label` attribute.\n * @slot header-actions - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n * @slot footer - The drawer's footer, usually one or more buttons representing various options.\n *\n * @event syn-show - Emitted when the drawer opens.\n * @event syn-after-show - Emitted after the drawer opens and all animations are complete.\n * @event syn-hide - Emitted when the drawer closes.\n * @event syn-after-hide - Emitted after the drawer closes and all animations are complete.\n * @event syn-initial-focus - Emitted when the drawer opens and is ready to receive focus. Calling\n * `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n * @event {{ source: 'close-button' | 'keyboard' | 'overlay' }} syn-request-close - Emitted when the user attempts to\n * close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling\n * `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in\n * destructive behavior such as data loss.\n *\n * @csspart base - The component's base wrapper.\n * @csspart overlay - The overlay that covers the screen behind the drawer.\n * @csspart panel - The drawer's panel (where the drawer and its content are rendered).\n * @csspart header - The drawer's header. This element wraps the title and header actions.\n * @csspart header-actions - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n * @csspart title - The drawer's title.\n * @csspart close-button - The close button, an `<syn-icon-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n * @csspart body - The drawer's body.\n * @csspart footer - The drawer's footer.\n *\n * @cssproperty --size - The preferred size of the drawer. This will be applied to the drawer's width or height\n * depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.\n * @cssproperty --header-spacing - The amount of padding to use for the header.\n * @cssproperty --body-spacing - The amount of padding to use for the body.\n * @cssproperty --footer-spacing - The amount of padding to use for the footer.\n *\n * @animation drawer.showTop - The animation to use when showing a drawer with `top` placement.\n * @animation drawer.showEnd - The animation to use when showing a drawer with `end` placement.\n * @animation drawer.showBottom - The animation to use when showing a drawer with `bottom` placement.\n * @animation drawer.showStart - The animation to use when showing a drawer with `start` placement.\n * @animation drawer.hideTop - The animation to use when hiding a drawer with `top` placement.\n * @animation drawer.hideEnd - The animation to use when hiding a drawer with `end` placement.\n * @animation drawer.hideBottom - The animation to use when hiding a drawer with `bottom` placement.\n * @animation drawer.hideStart - The animation to use when hiding a drawer with `start` placement.\n * @animation drawer.denyClose - The animation to use when a request to close the drawer is denied.\n * @animation drawer.overlay.show - The animation to use when showing the drawer's overlay.\n * @animation drawer.overlay.hide - The animation to use when hiding the drawer's overlay.\n *\n * @property modal - Exposes the internal modal utility that controls focus trapping. To temporarily disable focus\n * trapping and allow third-party modals spawned from an active Synergy modal, call `modal.activateExternal()` when\n * the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Synergy's focus trapping.\n */",
1653
+ "documentation": "https://synergy.style/components/drawer",
1173
1654
  "status": "stable",
1174
1655
  "since": "2.0",
1175
1656
  "dependencies": [
1176
- "syn-icon"
1177
- ]
1178
- }
1179
- ],
1180
- "exports": [
1181
- {
1182
- "kind": "js",
1183
- "name": "default",
1184
- "declaration": {
1185
- "name": "SynCheckbox",
1186
- "module": "components/checkbox/checkbox.js"
1187
- }
1188
- }
1189
- ]
1190
- },
1191
- {
1192
- "kind": "javascript-module",
1193
- "path": "components/divider/divider.js",
1194
- "declarations": [
1195
- {
1196
- "kind": "class",
1197
- "description": "",
1198
- "name": "SynDivider",
1199
- "cssProperties": [
1657
+ "syn-icon-button"
1658
+ ],
1659
+ "animations": [
1200
1660
  {
1201
- "description": "The color of the divider.",
1202
- "name": "--color"
1661
+ "name": "drawer.showTop",
1662
+ "description": "The animation to use when showing a drawer with `top` placement."
1203
1663
  },
1204
1664
  {
1205
- "description": "The width of the divider.",
1206
- "name": "--width"
1665
+ "name": "drawer.showEnd",
1666
+ "description": "The animation to use when showing a drawer with `end` placement."
1207
1667
  },
1208
1668
  {
1209
- "description": "The spacing of the divider.",
1210
- "name": "--spacing"
1211
- }
1212
- ],
1213
- "members": [
1669
+ "name": "drawer.showBottom",
1670
+ "description": "The animation to use when showing a drawer with `bottom` placement."
1671
+ },
1214
1672
  {
1215
- "kind": "field",
1216
- "name": "vertical",
1217
- "type": {
1218
- "text": "boolean"
1219
- },
1220
- "default": "false",
1221
- "description": "Draws the divider in a vertical orientation.",
1222
- "attribute": "vertical",
1223
- "reflects": true
1673
+ "name": "drawer.showStart",
1674
+ "description": "The animation to use when showing a drawer with `start` placement."
1224
1675
  },
1225
1676
  {
1226
- "kind": "method",
1227
- "name": "handleVerticalChange"
1228
- }
1229
- ],
1230
- "attributes": [
1677
+ "name": "drawer.hideTop",
1678
+ "description": "The animation to use when hiding a drawer with `top` placement."
1679
+ },
1231
1680
  {
1232
- "name": "vertical",
1233
- "type": {
1234
- "text": "boolean"
1235
- },
1236
- "default": "false",
1237
- "description": "Draws the divider in a vertical orientation.",
1238
- "fieldName": "vertical"
1681
+ "name": "drawer.hideEnd",
1682
+ "description": "The animation to use when hiding a drawer with `end` placement."
1683
+ },
1684
+ {
1685
+ "name": "drawer.hideBottom",
1686
+ "description": "The animation to use when hiding a drawer with `bottom` placement."
1687
+ },
1688
+ {
1689
+ "name": "drawer.hideStart",
1690
+ "description": "The animation to use when hiding a drawer with `start` placement."
1691
+ },
1692
+ {
1693
+ "name": "drawer.denyClose",
1694
+ "description": "The animation to use when a request to close the drawer is denied."
1695
+ },
1696
+ {
1697
+ "name": "drawer.overlay.show",
1698
+ "description": "The animation to use when showing the drawer's overlay."
1699
+ },
1700
+ {
1701
+ "name": "drawer.overlay.hide",
1702
+ "description": "The animation to use when hiding the drawer's overlay."
1239
1703
  }
1240
- ],
1241
- "superclass": {
1242
- "name": "SynergyElement",
1243
- "module": "/src/internal/synergy-element.js"
1244
- },
1245
- "summary": "Dividers are used to visually separate or group elements.",
1246
- "tagNameWithoutPrefix": "divider",
1247
- "tagName": "syn-divider",
1248
- "customElement": true,
1249
- "jsDoc": "/**\n * @summary Dividers are used to visually separate or group elements.\n * @documentation https://synergy.style/components/divider\n * @status stable\n * @since 2.0\n *\n * @cssproperty --color - The color of the divider.\n * @cssproperty --width - The width of the divider.\n * @cssproperty --spacing - The spacing of the divider.\n */",
1250
- "documentation": "https://synergy.style/components/divider",
1251
- "status": "stable",
1252
- "since": "2.0"
1704
+ ]
1253
1705
  }
1254
1706
  ],
1255
1707
  "exports": [
@@ -1257,8 +1709,8 @@
1257
1709
  "kind": "js",
1258
1710
  "name": "default",
1259
1711
  "declaration": {
1260
- "name": "SynDivider",
1261
- "module": "components/divider/divider.js"
1712
+ "name": "SynDrawer",
1713
+ "module": "components/drawer/drawer.js"
1262
1714
  }
1263
1715
  }
1264
1716
  ]
@@ -2425,7 +2877,7 @@
2425
2877
  },
2426
2878
  {
2427
2879
  "name": "selectMode",
2428
- "optional": true,
2880
+ "default": "'preserve'",
2429
2881
  "type": {
2430
2882
  "text": "'select' | 'start' | 'end' | 'preserve'"
2431
2883
  }
@@ -3200,6 +3652,10 @@
3200
3652
  {
3201
3653
  "description": "The popup's container. Useful for setting a background color, box shadow, etc.",
3202
3654
  "name": "popup"
3655
+ },
3656
+ {
3657
+ "description": "The hover bridge element. Only available when the `hover-bridge` option is enabled.",
3658
+ "name": "hover-bridge"
3203
3659
  }
3204
3660
  ],
3205
3661
  "slots": [
@@ -3452,6 +3908,16 @@
3452
3908
  "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
3453
3909
  "attribute": "auto-size-padding"
3454
3910
  },
3911
+ {
3912
+ "kind": "field",
3913
+ "name": "hoverBridge",
3914
+ "type": {
3915
+ "text": "boolean"
3916
+ },
3917
+ "default": "false",
3918
+ "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
3919
+ "attribute": "hover-bridge"
3920
+ },
3455
3921
  {
3456
3922
  "kind": "method",
3457
3923
  "name": "handleAnchorChange",
@@ -3476,6 +3942,11 @@
3476
3942
  "kind": "method",
3477
3943
  "name": "reposition",
3478
3944
  "description": "Forces the popup to recalculate and reposition itself."
3945
+ },
3946
+ {
3947
+ "kind": "field",
3948
+ "name": "updateHoverBridge",
3949
+ "privacy": "private"
3479
3950
  }
3480
3951
  ],
3481
3952
  "events": [
@@ -3669,6 +4140,15 @@
3669
4140
  "default": "0",
3670
4141
  "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
3671
4142
  "fieldName": "autoSizePadding"
4143
+ },
4144
+ {
4145
+ "name": "hover-bridge",
4146
+ "type": {
4147
+ "text": "boolean"
4148
+ },
4149
+ "default": "false",
4150
+ "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
4151
+ "fieldName": "hoverBridge"
3672
4152
  }
3673
4153
  ],
3674
4154
  "superclass": {
@@ -3679,7 +4159,7 @@
3679
4159
  "tagNameWithoutPrefix": "popup",
3680
4160
  "tagName": "syn-popup",
3681
4161
  "customElement": true,
3682
- "jsDoc": "/**\n * @summary Popup is a utility that lets you declaratively anchor \"popup\" containers to another element.\n * @documentation https://synergy.style/components/popup\n * @status stable\n * @since 2.0\n *\n * @event syn-reposition - Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive\n * operations in your listener or consider debouncing it.\n *\n * @slot - The popup's content.\n * @slot anchor - The element the popup will be anchored to. If the anchor lives outside of the popup, you can use the\n * `anchor` attribute or property instead.\n *\n * @csspart arrow - The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are\n * assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and\n * maybe a border or box shadow.\n * @csspart popup - The popup's container. Useful for setting a background color, box shadow, etc.\n *\n * @cssproperty [--arrow-size=6px] - The size of the arrow. Note that an arrow won't be shown unless the `arrow`\n * attribute is used.\n * @cssproperty [--arrow-color=var(--syn-color-neutral-0)] - The color of the arrow.\n * @cssproperty [--auto-size-available-width] - A read-only custom property that determines the amount of width the\n * popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only\n * available when using `auto-size`.\n * @cssproperty [--auto-size-available-height] - A read-only custom property that determines the amount of height the\n * popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only\n * available when using `auto-size`.\n */",
4162
+ "jsDoc": "/**\n * @summary Popup is a utility that lets you declaratively anchor \"popup\" containers to another element.\n * @documentation https://synergy.style/components/popup\n * @status stable\n * @since 2.0\n *\n * @event syn-reposition - Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive\n * operations in your listener or consider debouncing it.\n *\n * @slot - The popup's content.\n * @slot anchor - The element the popup will be anchored to. If the anchor lives outside of the popup, you can use the\n * `anchor` attribute or property instead.\n *\n * @csspart arrow - The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are\n * assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and\n * maybe a border or box shadow.\n * @csspart popup - The popup's container. Useful for setting a background color, box shadow, etc.\n * @csspart hover-bridge - The hover bridge element. Only available when the `hover-bridge` option is enabled.\n *\n * @cssproperty [--arrow-size=6px] - The size of the arrow. Note that an arrow won't be shown unless the `arrow`\n * attribute is used.\n * @cssproperty [--arrow-color=var(--syn-color-neutral-0)] - The color of the arrow.\n * @cssproperty [--auto-size-available-width] - A read-only custom property that determines the amount of width the\n * popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only\n * available when using `auto-size`.\n * @cssproperty [--auto-size-available-height] - A read-only custom property that determines the amount of height the\n * popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only\n * available when using `auto-size`.\n */",
3683
4163
  "documentation": "https://synergy.style/components/popup",
3684
4164
  "status": "stable",
3685
4165
  "since": "2.0"
@@ -4155,6 +4635,10 @@
4155
4635
  {
4156
4636
  "description": "The radio group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.",
4157
4637
  "name": "label"
4638
+ },
4639
+ {
4640
+ "description": "Text that describes how to use the radio group. Alternatively, you can use the `help-text` attribute.",
4641
+ "name": "help-text"
4158
4642
  }
4159
4643
  ],
4160
4644
  "members": [
@@ -4526,7 +5010,7 @@
4526
5010
  "tagNameWithoutPrefix": "radio-group",
4527
5011
  "tagName": "syn-radio-group",
4528
5012
  "customElement": true,
4529
- "jsDoc": "/**\n * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.\n * @documentation https://synergy.style/components/radio-group\n * @status stable\n * @since 2.0\n *\n * @dependency syn-button-group\n *\n * @slot - The default slot where `<syn-radio>` or `<syn-radio-button>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n * attribute.\n *\n * @event syn-change - Emitted when the radio group's selected value changes.\n * @event syn-input - Emitted when the radio group receives user 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 button-group - The button group that wraps radio buttons.\n * @csspart button-group__base - The button group's `base` part.\n */",
5013
+ "jsDoc": "/**\n * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.\n * @documentation https://synergy.style/components/radio-group\n * @status stable\n * @since 2.0\n *\n * @dependency syn-button-group\n *\n * @slot - The default slot where `<syn-radio>` or `<syn-radio-button>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n * attribute.\n * @slot help-text - Text that describes how to use the radio group. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-change - Emitted when the radio group's selected value changes.\n * @event syn-input - Emitted when the radio group receives user 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 button-group - The button group that wraps radio buttons.\n * @csspart button-group__base - The button group's `base` part.\n */",
4530
5014
  "documentation": "https://synergy.style/components/radio-group",
4531
5015
  "status": "stable",
4532
5016
  "since": "2.0",
@@ -4694,6 +5178,14 @@
4694
5178
  },
4695
5179
  "privacy": "private"
4696
5180
  },
5181
+ {
5182
+ "kind": "field",
5183
+ "name": "closeWatcher",
5184
+ "type": {
5185
+ "text": "CloseWatcher | null"
5186
+ },
5187
+ "privacy": "private"
5188
+ },
4697
5189
  {
4698
5190
  "kind": "field",
4699
5191
  "name": "popup",
@@ -5573,12 +6065,20 @@
5573
6065
  {
5574
6066
  "description": "The switch's label.",
5575
6067
  "name": "label"
6068
+ },
6069
+ {
6070
+ "description": "The help text's wrapper.",
6071
+ "name": "form-control-help-text"
5576
6072
  }
5577
6073
  ],
5578
6074
  "slots": [
5579
6075
  {
5580
6076
  "description": "The switch's label.",
5581
6077
  "name": ""
6078
+ },
6079
+ {
6080
+ "description": "Text that describes how to use the switch. Alternatively, you can use the `help-text` attribute.",
6081
+ "name": "help-text"
5582
6082
  }
5583
6083
  ],
5584
6084
  "members": [
@@ -5589,6 +6089,13 @@
5589
6089
  "readonly": true,
5590
6090
  "default": "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 })"
5591
6091
  },
6092
+ {
6093
+ "kind": "field",
6094
+ "name": "hasSlotController",
6095
+ "privacy": "private",
6096
+ "readonly": true,
6097
+ "default": "new HasSlotController(this, 'help-text')"
6098
+ },
5592
6099
  {
5593
6100
  "kind": "field",
5594
6101
  "name": "input",
@@ -5697,6 +6204,16 @@
5697
6204
  "attribute": "required",
5698
6205
  "reflects": true
5699
6206
  },
6207
+ {
6208
+ "kind": "field",
6209
+ "name": "helpText",
6210
+ "type": {
6211
+ "text": "string"
6212
+ },
6213
+ "default": "''",
6214
+ "description": "The switch's help text. If you need to display HTML, use the `help-text` slot instead.",
6215
+ "attribute": "help-text"
6216
+ },
5700
6217
  {
5701
6218
  "kind": "field",
5702
6219
  "name": "validity",
@@ -5923,6 +6440,15 @@
5923
6440
  "default": "false",
5924
6441
  "description": "Makes the switch a required field.",
5925
6442
  "fieldName": "required"
6443
+ },
6444
+ {
6445
+ "name": "help-text",
6446
+ "type": {
6447
+ "text": "string"
6448
+ },
6449
+ "default": "''",
6450
+ "description": "The switch's help text. If you need to display HTML, use the `help-text` slot instead.",
6451
+ "fieldName": "helpText"
5926
6452
  }
5927
6453
  ],
5928
6454
  "superclass": {
@@ -5933,7 +6459,7 @@
5933
6459
  "tagNameWithoutPrefix": "switch",
5934
6460
  "tagName": "syn-switch",
5935
6461
  "customElement": true,
5936
- "jsDoc": "/**\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 *\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 *\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 */",
6462
+ "jsDoc": "/**\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 */",
5937
6463
  "documentation": "https://synergy.style/components/switch",
5938
6464
  "status": "stable",
5939
6465
  "since": "2.0"
@@ -6547,7 +7073,7 @@
6547
7073
  },
6548
7074
  {
6549
7075
  "name": "selectMode",
6550
- "optional": true,
7076
+ "default": "'preserve'",
6551
7077
  "type": {
6552
7078
  "text": "'select' | 'start' | 'end' | 'preserve'"
6553
7079
  }
@@ -6841,7 +7367,7 @@
6841
7367
  "package": {
6842
7368
  "name": "@synergy-design-system/components",
6843
7369
  "description": "",
6844
- "version": "1.7.0",
7370
+ "version": "1.9.0",
6845
7371
  "author": {
6846
7372
  "name": "SICK Global UX Foundation",
6847
7373
  "url": "https://www.sick.com"