@synergy-design-system/components 1.14.0 → 1.16.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 (269) hide show
  1. package/dist/chunks/{chunk.525LGYB4.js → chunk.2URWP5LD.js} +10 -4
  2. package/dist/chunks/chunk.2URWP5LD.js.map +7 -0
  3. package/dist/chunks/{chunk.DXL3JN6D.js → chunk.3EONOQ2P.js} +2 -2
  4. package/dist/chunks/{chunk.COFVSXEF.js → chunk.3M6IVPMZ.js} +6 -6
  5. package/dist/chunks/{chunk.YRMXDJFM.js → chunk.4MBMY5UE.js} +2 -2
  6. package/dist/chunks/{chunk.GDHER3FZ.js → chunk.4RMP4EST.js} +2 -2
  7. package/dist/chunks/{chunk.UEQDHG7J.js → chunk.5I7DR4UT.js} +2 -2
  8. package/dist/chunks/{chunk.MEDX62IL.js → chunk.5OV7FNMN.js} +3 -3
  9. package/dist/chunks/{chunk.7UVCYUNR.js → chunk.66MOXMDP.js} +2 -2
  10. package/dist/chunks/{chunk.QQB6JCQY.js → chunk.6V72DOSV.js} +16 -17
  11. package/dist/chunks/chunk.6V72DOSV.js.map +7 -0
  12. package/dist/chunks/chunk.74N5WLM5.js +53 -0
  13. package/dist/chunks/chunk.74N5WLM5.js.map +7 -0
  14. package/dist/chunks/{chunk.A6S4OYWD.js → chunk.7NH6SYGG.js} +21 -17
  15. package/dist/chunks/chunk.7NH6SYGG.js.map +7 -0
  16. package/dist/chunks/{chunk.VSEAHAW7.js → chunk.7PYQKCMR.js} +3 -3
  17. package/dist/chunks/{chunk.B57ZVQ2Q.js → chunk.ABSGP4AA.js} +2 -2
  18. package/dist/chunks/{chunk.JDXKGJ63.js → chunk.AOKNP4QD.js} +42 -2
  19. package/dist/chunks/{chunk.JDXKGJ63.js.map → chunk.AOKNP4QD.js.map} +2 -2
  20. package/dist/chunks/{chunk.4QS5IWYB.js → chunk.AW2HNLNP.js} +1 -9
  21. package/dist/chunks/{chunk.4QS5IWYB.js.map → chunk.AW2HNLNP.js.map} +2 -2
  22. package/dist/chunks/{chunk.PAK472WN.js → chunk.BKRTJVKH.js} +2 -2
  23. package/dist/chunks/{chunk.QFMUPETV.js → chunk.BQ3U6CVQ.js} +3 -3
  24. package/dist/chunks/{chunk.H33SDUY3.js → chunk.CCITL3IY.js} +14 -11
  25. package/dist/chunks/chunk.CCITL3IY.js.map +7 -0
  26. package/dist/chunks/{chunk.SRZMRKLQ.js → chunk.CNKXQN5I.js} +4 -4
  27. package/dist/chunks/{chunk.PSTO5STZ.js → chunk.CXLJMDBV.js} +2 -2
  28. package/dist/chunks/{chunk.4MRXASVT.js → chunk.D63XRN3X.js} +2 -2
  29. package/dist/chunks/{chunk.2NRG7KJT.js → chunk.E3MWAHV4.js} +2 -2
  30. package/dist/chunks/{chunk.EZE5M5XB.js → chunk.EHMIJIZ2.js} +2 -2
  31. package/dist/chunks/{chunk.2SLHEFOH.js → chunk.ENAW6YL5.js} +7 -7
  32. package/dist/chunks/chunk.EQ2W2Z5B.js +12 -0
  33. package/dist/chunks/chunk.EQ2W2Z5B.js.map +7 -0
  34. package/dist/chunks/{chunk.KUO3KJOC.js → chunk.GBARDV25.js} +2 -2
  35. package/dist/chunks/{chunk.RK7OBPZ5.js → chunk.GEHO4WRP.js} +2 -2
  36. package/dist/chunks/{chunk.RK7OBPZ5.js.map → chunk.GEHO4WRP.js.map} +1 -1
  37. package/dist/chunks/chunk.GO3CCKC3.js +96 -0
  38. package/dist/chunks/chunk.GO3CCKC3.js.map +7 -0
  39. package/dist/chunks/{chunk.64MHCKTF.js → chunk.H3GKRGN6.js} +7 -7
  40. package/dist/chunks/{chunk.CSOIUDS4.js → chunk.HZTZOBNJ.js} +2 -2
  41. package/dist/chunks/{chunk.4LMFTSOM.js → chunk.I3SSNN7J.js} +10 -4
  42. package/dist/chunks/chunk.I3SSNN7J.js.map +7 -0
  43. package/dist/chunks/{chunk.BUIBP2TA.js → chunk.INLTRHSF.js} +2 -2
  44. package/dist/chunks/{chunk.GGY5VQYA.js → chunk.IVHB4EQ6.js} +3 -3
  45. package/dist/chunks/chunk.IVHB4EQ6.js.map +7 -0
  46. package/dist/chunks/{chunk.2ZEMD2N7.js → chunk.J3HTR5NX.js} +2 -2
  47. package/dist/chunks/{chunk.RRWSXFQ5.js → chunk.JDBDBGQP.js} +3 -2
  48. package/dist/chunks/{chunk.RRWSXFQ5.js.map → chunk.JDBDBGQP.js.map} +2 -2
  49. package/dist/chunks/{chunk.Q4CT57M2.js → chunk.JJZKPNJZ.js} +2 -2
  50. package/dist/chunks/{chunk.SZCGMXW5.js → chunk.JUJZBRXD.js} +2 -2
  51. package/dist/chunks/chunk.JUJZBRXD.js.map +7 -0
  52. package/dist/chunks/{chunk.722JR5BD.js → chunk.K2H37OYP.js} +6 -6
  53. package/dist/chunks/{chunk.722JR5BD.js.map → chunk.K2H37OYP.js.map} +2 -2
  54. package/dist/chunks/chunk.K6AHAO25.js +166 -0
  55. package/dist/chunks/chunk.K6AHAO25.js.map +7 -0
  56. package/dist/chunks/{chunk.2OLQHFOR.js → chunk.KJ7V3TWI.js} +3 -3
  57. package/dist/chunks/{chunk.UYD2OVFV.js → chunk.KZMWNTUS.js} +2 -2
  58. package/dist/chunks/chunk.KZMWNTUS.js.map +7 -0
  59. package/dist/chunks/chunk.L4UUXVRZ.js +312 -0
  60. package/dist/chunks/chunk.L4UUXVRZ.js.map +7 -0
  61. package/dist/chunks/{chunk.ETREUSYO.js → chunk.LFNAPJXT.js} +4 -4
  62. package/dist/chunks/{chunk.H7XP6JAS.js → chunk.LOUVN7OA.js} +3 -3
  63. package/dist/chunks/{chunk.3STW62TA.js → chunk.NIYKFSPR.js} +2 -1
  64. package/dist/chunks/{chunk.3STW62TA.js.map → chunk.NIYKFSPR.js.map} +2 -2
  65. package/dist/chunks/{chunk.34NAFEQ7.js → chunk.NLWT6VZN.js} +2 -2
  66. package/dist/chunks/{chunk.ZLEQ5DOF.js → chunk.NOB4TQLJ.js} +2 -2
  67. package/dist/chunks/{chunk.7UUZ5ISH.js → chunk.O3AC2EVL.js} +3 -3
  68. package/dist/chunks/chunk.OCH36GVS.js +12 -0
  69. package/dist/chunks/chunk.OCH36GVS.js.map +7 -0
  70. package/dist/chunks/{chunk.OLM7IVHA.js → chunk.OEMIM5RD.js} +6 -6
  71. package/dist/chunks/chunk.ONVWJKVD.js +318 -0
  72. package/dist/chunks/chunk.ONVWJKVD.js.map +7 -0
  73. package/dist/chunks/{chunk.ITUSK365.js → chunk.PCI22DJU.js} +2 -2
  74. package/dist/chunks/{chunk.3HTXK6WY.js → chunk.PGM6WEYY.js} +2 -2
  75. package/dist/chunks/{chunk.SJMMPKWP.js → chunk.Q4CRAGN3.js} +11 -11
  76. package/dist/chunks/{chunk.SJMMPKWP.js.map → chunk.Q4CRAGN3.js.map} +1 -1
  77. package/dist/chunks/{chunk.CG753OYA.js → chunk.Q7WVOJG4.js} +2 -2
  78. package/dist/chunks/{chunk.ZIQXX272.js → chunk.QPK7SLOE.js} +2 -2
  79. package/dist/chunks/{chunk.V53WYKEU.js → chunk.QY3GFWGZ.js} +6 -1
  80. package/dist/chunks/{chunk.V53WYKEU.js.map → chunk.QY3GFWGZ.js.map} +2 -2
  81. package/dist/chunks/{chunk.2QYALZBT.js → chunk.RIJKFEYZ.js} +14 -7
  82. package/dist/chunks/chunk.RIJKFEYZ.js.map +7 -0
  83. package/dist/chunks/{chunk.MQCFDVLW.js → chunk.SAHA7Z3T.js} +2 -2
  84. package/dist/chunks/chunk.SHOXPF5L.js +12 -0
  85. package/dist/chunks/chunk.SHOXPF5L.js.map +7 -0
  86. package/dist/chunks/{chunk.VDYPXC2H.js → chunk.SOAZXMVH.js} +2 -2
  87. package/dist/chunks/{chunk.ADRKUQGR.js → chunk.TAO5QIIQ.js} +2 -1
  88. package/dist/chunks/{chunk.ADRKUQGR.js.map → chunk.TAO5QIIQ.js.map} +2 -2
  89. package/dist/chunks/{chunk.5HAKNNIR.js → chunk.TUFBQA52.js} +2 -2
  90. package/dist/chunks/{chunk.P2D7PUR2.js → chunk.TWZC4LT2.js} +4 -4
  91. package/dist/chunks/chunk.U2H36O5J.js +208 -0
  92. package/dist/chunks/chunk.U2H36O5J.js.map +7 -0
  93. package/dist/chunks/chunk.UHVHULGW.js +286 -0
  94. package/dist/chunks/chunk.UHVHULGW.js.map +7 -0
  95. package/dist/chunks/{chunk.5TOD3QS2.js → chunk.VCFVQ6KS.js} +2 -2
  96. package/dist/chunks/{chunk.5TOD3QS2.js.map → chunk.VCFVQ6KS.js.map} +1 -1
  97. package/dist/chunks/{chunk.N4VSEIRQ.js → chunk.VTKIDI7N.js} +7 -1
  98. package/dist/chunks/{chunk.N4VSEIRQ.js.map → chunk.VTKIDI7N.js.map} +2 -2
  99. package/dist/chunks/{chunk.PEMSU7RY.js → chunk.WM7IMLTR.js} +2 -2
  100. package/dist/chunks/{chunk.2KV3G5JF.js → chunk.WMYFFFHI.js} +2 -2
  101. package/dist/chunks/{chunk.VCXIV7H4.js → chunk.WPAPTZLW.js} +3 -3
  102. package/dist/chunks/{chunk.EWGDHM27.js → chunk.WZWI3VYU.js} +2 -2
  103. package/dist/chunks/{chunk.NXX572OD.js → chunk.XADGSL34.js} +2 -2
  104. package/dist/chunks/chunk.XNP4OTUB.js +16 -0
  105. package/dist/chunks/chunk.XNP4OTUB.js.map +7 -0
  106. package/dist/chunks/{chunk.KEEDSK2V.js → chunk.ZM72G6GO.js} +4 -4
  107. package/dist/components/badge/badge.component.js +4 -4
  108. package/dist/components/badge/badge.js +5 -5
  109. package/dist/components/button/button.component.js +10 -10
  110. package/dist/components/button/button.js +11 -11
  111. package/dist/components/button/button.styles.js +1 -1
  112. package/dist/components/button-group/button-group.component.js +2 -2
  113. package/dist/components/button-group/button-group.js +3 -3
  114. package/dist/components/checkbox/checkbox.component.js +7 -7
  115. package/dist/components/checkbox/checkbox.js +8 -8
  116. package/dist/components/checkbox/checkbox.styles.js +1 -1
  117. package/dist/components/divider/divider.component.js +2 -2
  118. package/dist/components/divider/divider.js +3 -3
  119. package/dist/components/drawer/drawer.component.js +10 -10
  120. package/dist/components/drawer/drawer.custom.styles.js +1 -1
  121. package/dist/components/drawer/drawer.js +11 -11
  122. package/dist/components/dropdown/dropdown.component.d.ts +4 -0
  123. package/dist/components/dropdown/dropdown.component.js +5 -5
  124. package/dist/components/dropdown/dropdown.js +6 -6
  125. package/dist/components/header/header.component.d.ts +42 -1
  126. package/dist/components/header/header.component.js +9 -7
  127. package/dist/components/header/header.js +10 -8
  128. package/dist/components/header/header.styles.js +1 -1
  129. package/dist/components/icon/icon.component.js +4 -4
  130. package/dist/components/icon/icon.js +5 -5
  131. package/dist/components/icon/library.js +2 -2
  132. package/dist/components/icon/library.system.js +1 -1
  133. package/dist/components/icon-button/icon-button.component.js +5 -5
  134. package/dist/components/icon-button/icon-button.js +6 -6
  135. package/dist/components/input/input.component.js +10 -10
  136. package/dist/components/input/input.js +11 -11
  137. package/dist/components/input/input.styles.js +1 -1
  138. package/dist/components/menu/menu.component.js +2 -2
  139. package/dist/components/menu/menu.js +3 -3
  140. package/dist/components/menu-item/menu-item.component.js +10 -10
  141. package/dist/components/menu-item/menu-item.js +11 -11
  142. package/dist/components/menu-item/submenu-controller.js +3 -3
  143. package/dist/components/menu-label/menu-label.component.js +3 -3
  144. package/dist/components/menu-label/menu-label.js +4 -4
  145. package/dist/components/nav-item/nav-item.component.d.ts +145 -0
  146. package/dist/components/nav-item/nav-item.component.js +15 -0
  147. package/dist/components/nav-item/nav-item.component.js.map +7 -0
  148. package/dist/components/nav-item/nav-item.d.ts +8 -0
  149. package/dist/components/nav-item/nav-item.js +16 -0
  150. package/dist/components/nav-item/nav-item.js.map +7 -0
  151. package/dist/components/nav-item/nav-item.styles.d.ts +2 -0
  152. package/dist/components/nav-item/nav-item.styles.js +8 -0
  153. package/dist/components/nav-item/nav-item.styles.js.map +7 -0
  154. package/dist/components/optgroup/optgroup.component.js +3 -3
  155. package/dist/components/optgroup/optgroup.js +4 -4
  156. package/dist/components/option/option.component.js +7 -7
  157. package/dist/components/option/option.js +8 -8
  158. package/dist/components/popup/popup.component.d.ts +1 -0
  159. package/dist/components/popup/popup.component.js +2 -2
  160. package/dist/components/popup/popup.js +3 -3
  161. package/dist/components/prio-nav/prio-nav.component.d.ts +110 -0
  162. package/dist/components/prio-nav/prio-nav.component.js +38 -0
  163. package/dist/components/prio-nav/prio-nav.component.js.map +7 -0
  164. package/dist/components/prio-nav/prio-nav.d.ts +8 -0
  165. package/dist/components/prio-nav/prio-nav.js +39 -0
  166. package/dist/components/prio-nav/prio-nav.js.map +7 -0
  167. package/dist/components/prio-nav/prio-nav.styles.d.ts +2 -0
  168. package/dist/components/prio-nav/prio-nav.styles.js +8 -0
  169. package/dist/components/prio-nav/prio-nav.styles.js.map +7 -0
  170. package/dist/components/prio-nav/utils.d.ts +20 -0
  171. package/dist/components/prio-nav/utils.js +12 -0
  172. package/dist/components/prio-nav/utils.js.map +7 -0
  173. package/dist/components/radio/radio.component.js +6 -6
  174. package/dist/components/radio/radio.js +7 -7
  175. package/dist/components/radio-button/radio-button.component.js +4 -4
  176. package/dist/components/radio-button/radio-button.js +5 -5
  177. package/dist/components/radio-button/radio-button.styles.js +2 -2
  178. package/dist/components/radio-group/radio-group.component.js +4 -4
  179. package/dist/components/radio-group/radio-group.js +5 -5
  180. package/dist/components/select/select.component.js +12 -12
  181. package/dist/components/select/select.js +13 -13
  182. package/dist/components/side-nav/side-nav.component.d.ts +122 -0
  183. package/dist/components/side-nav/side-nav.component.js +34 -0
  184. package/dist/components/side-nav/side-nav.component.js.map +7 -0
  185. package/dist/components/side-nav/side-nav.d.ts +8 -0
  186. package/dist/components/side-nav/side-nav.js +35 -0
  187. package/dist/components/side-nav/side-nav.js.map +7 -0
  188. package/dist/components/side-nav/side-nav.styles.d.ts +2 -0
  189. package/dist/components/side-nav/side-nav.styles.js +8 -0
  190. package/dist/components/side-nav/side-nav.styles.js.map +7 -0
  191. package/dist/components/spinner/spinner.component.js +4 -4
  192. package/dist/components/switch/switch.component.js +4 -4
  193. package/dist/components/switch/switch.js +5 -5
  194. package/dist/components/switch/switch.styles.js +1 -1
  195. package/dist/components/tag/tag.component.js +8 -8
  196. package/dist/components/tag/tag.js +9 -9
  197. package/dist/components/textarea/textarea.component.js +3 -3
  198. package/dist/components/textarea/textarea.js +4 -4
  199. package/dist/custom-elements.json +2086 -860
  200. package/dist/events/events.d.ts +2 -0
  201. package/dist/events/syn-burger-menu-hide.d.ts +6 -0
  202. package/dist/events/syn-burger-menu-show.d.ts +6 -0
  203. package/dist/synergy.d.ts +3 -0
  204. package/dist/synergy.js +97 -78
  205. package/dist/themes/utility.css +2 -1
  206. package/dist/translations/de.js +7 -2
  207. package/dist/translations/de.js.map +2 -2
  208. package/dist/translations/en.js +1 -1
  209. package/dist/utilities/form.js +2 -2
  210. package/dist/utilities/icon-library.js +2 -2
  211. package/dist/utilities/localize.d.ts +3 -0
  212. package/dist/utilities/localize.js +2 -2
  213. package/dist/vscode.html-custom-data.json +125 -19
  214. package/package.json +5 -4
  215. package/dist/chunks/chunk.2QYALZBT.js.map +0 -7
  216. package/dist/chunks/chunk.4LMFTSOM.js.map +0 -7
  217. package/dist/chunks/chunk.525LGYB4.js.map +0 -7
  218. package/dist/chunks/chunk.A6S4OYWD.js.map +0 -7
  219. package/dist/chunks/chunk.GGY5VQYA.js.map +0 -7
  220. package/dist/chunks/chunk.H33SDUY3.js.map +0 -7
  221. package/dist/chunks/chunk.L6ZUZPOW.js +0 -80
  222. package/dist/chunks/chunk.L6ZUZPOW.js.map +0 -7
  223. package/dist/chunks/chunk.QQB6JCQY.js.map +0 -7
  224. package/dist/chunks/chunk.SZCGMXW5.js.map +0 -7
  225. package/dist/chunks/chunk.UYD2OVFV.js.map +0 -7
  226. /package/dist/chunks/{chunk.DXL3JN6D.js.map → chunk.3EONOQ2P.js.map} +0 -0
  227. /package/dist/chunks/{chunk.COFVSXEF.js.map → chunk.3M6IVPMZ.js.map} +0 -0
  228. /package/dist/chunks/{chunk.YRMXDJFM.js.map → chunk.4MBMY5UE.js.map} +0 -0
  229. /package/dist/chunks/{chunk.GDHER3FZ.js.map → chunk.4RMP4EST.js.map} +0 -0
  230. /package/dist/chunks/{chunk.UEQDHG7J.js.map → chunk.5I7DR4UT.js.map} +0 -0
  231. /package/dist/chunks/{chunk.MEDX62IL.js.map → chunk.5OV7FNMN.js.map} +0 -0
  232. /package/dist/chunks/{chunk.7UVCYUNR.js.map → chunk.66MOXMDP.js.map} +0 -0
  233. /package/dist/chunks/{chunk.VSEAHAW7.js.map → chunk.7PYQKCMR.js.map} +0 -0
  234. /package/dist/chunks/{chunk.B57ZVQ2Q.js.map → chunk.ABSGP4AA.js.map} +0 -0
  235. /package/dist/chunks/{chunk.PAK472WN.js.map → chunk.BKRTJVKH.js.map} +0 -0
  236. /package/dist/chunks/{chunk.QFMUPETV.js.map → chunk.BQ3U6CVQ.js.map} +0 -0
  237. /package/dist/chunks/{chunk.SRZMRKLQ.js.map → chunk.CNKXQN5I.js.map} +0 -0
  238. /package/dist/chunks/{chunk.PSTO5STZ.js.map → chunk.CXLJMDBV.js.map} +0 -0
  239. /package/dist/chunks/{chunk.4MRXASVT.js.map → chunk.D63XRN3X.js.map} +0 -0
  240. /package/dist/chunks/{chunk.2NRG7KJT.js.map → chunk.E3MWAHV4.js.map} +0 -0
  241. /package/dist/chunks/{chunk.EZE5M5XB.js.map → chunk.EHMIJIZ2.js.map} +0 -0
  242. /package/dist/chunks/{chunk.2SLHEFOH.js.map → chunk.ENAW6YL5.js.map} +0 -0
  243. /package/dist/chunks/{chunk.KUO3KJOC.js.map → chunk.GBARDV25.js.map} +0 -0
  244. /package/dist/chunks/{chunk.64MHCKTF.js.map → chunk.H3GKRGN6.js.map} +0 -0
  245. /package/dist/chunks/{chunk.CSOIUDS4.js.map → chunk.HZTZOBNJ.js.map} +0 -0
  246. /package/dist/chunks/{chunk.BUIBP2TA.js.map → chunk.INLTRHSF.js.map} +0 -0
  247. /package/dist/chunks/{chunk.2ZEMD2N7.js.map → chunk.J3HTR5NX.js.map} +0 -0
  248. /package/dist/chunks/{chunk.Q4CT57M2.js.map → chunk.JJZKPNJZ.js.map} +0 -0
  249. /package/dist/chunks/{chunk.2OLQHFOR.js.map → chunk.KJ7V3TWI.js.map} +0 -0
  250. /package/dist/chunks/{chunk.ETREUSYO.js.map → chunk.LFNAPJXT.js.map} +0 -0
  251. /package/dist/chunks/{chunk.H7XP6JAS.js.map → chunk.LOUVN7OA.js.map} +0 -0
  252. /package/dist/chunks/{chunk.34NAFEQ7.js.map → chunk.NLWT6VZN.js.map} +0 -0
  253. /package/dist/chunks/{chunk.ZLEQ5DOF.js.map → chunk.NOB4TQLJ.js.map} +0 -0
  254. /package/dist/chunks/{chunk.7UUZ5ISH.js.map → chunk.O3AC2EVL.js.map} +0 -0
  255. /package/dist/chunks/{chunk.OLM7IVHA.js.map → chunk.OEMIM5RD.js.map} +0 -0
  256. /package/dist/chunks/{chunk.ITUSK365.js.map → chunk.PCI22DJU.js.map} +0 -0
  257. /package/dist/chunks/{chunk.3HTXK6WY.js.map → chunk.PGM6WEYY.js.map} +0 -0
  258. /package/dist/chunks/{chunk.CG753OYA.js.map → chunk.Q7WVOJG4.js.map} +0 -0
  259. /package/dist/chunks/{chunk.ZIQXX272.js.map → chunk.QPK7SLOE.js.map} +0 -0
  260. /package/dist/chunks/{chunk.MQCFDVLW.js.map → chunk.SAHA7Z3T.js.map} +0 -0
  261. /package/dist/chunks/{chunk.VDYPXC2H.js.map → chunk.SOAZXMVH.js.map} +0 -0
  262. /package/dist/chunks/{chunk.5HAKNNIR.js.map → chunk.TUFBQA52.js.map} +0 -0
  263. /package/dist/chunks/{chunk.P2D7PUR2.js.map → chunk.TWZC4LT2.js.map} +0 -0
  264. /package/dist/chunks/{chunk.PEMSU7RY.js.map → chunk.WM7IMLTR.js.map} +0 -0
  265. /package/dist/chunks/{chunk.2KV3G5JF.js.map → chunk.WMYFFFHI.js.map} +0 -0
  266. /package/dist/chunks/{chunk.VCXIV7H4.js.map → chunk.WPAPTZLW.js.map} +0 -0
  267. /package/dist/chunks/{chunk.EWGDHM27.js.map → chunk.WZWI3VYU.js.map} +0 -0
  268. /package/dist/chunks/{chunk.NXX572OD.js.map → chunk.XADGSL34.js.map} +0 -0
  269. /package/dist/chunks/{chunk.KEEDSK2V.js.map → chunk.ZM72G6GO.js.map} +0 -0
@@ -78,6 +78,146 @@
78
78
  }
79
79
  ]
80
80
  },
81
+ {
82
+ "kind": "javascript-module",
83
+ "path": "components/button-group/button-group.js",
84
+ "declarations": [
85
+ {
86
+ "kind": "class",
87
+ "description": "",
88
+ "name": "SynButtonGroup",
89
+ "cssParts": [
90
+ {
91
+ "description": "The component's base wrapper.",
92
+ "name": "base"
93
+ }
94
+ ],
95
+ "slots": [
96
+ {
97
+ "description": "One or more `<syn-button>` elements to display in the button group.",
98
+ "name": ""
99
+ }
100
+ ],
101
+ "members": [
102
+ {
103
+ "kind": "field",
104
+ "name": "defaultSlot",
105
+ "type": {
106
+ "text": "HTMLSlotElement"
107
+ }
108
+ },
109
+ {
110
+ "kind": "field",
111
+ "name": "disableRole",
112
+ "type": {
113
+ "text": "boolean"
114
+ },
115
+ "default": "false"
116
+ },
117
+ {
118
+ "kind": "field",
119
+ "name": "label",
120
+ "type": {
121
+ "text": "string"
122
+ },
123
+ "default": "''",
124
+ "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.",
125
+ "attribute": "label"
126
+ },
127
+ {
128
+ "kind": "method",
129
+ "name": "handleFocus",
130
+ "privacy": "private",
131
+ "parameters": [
132
+ {
133
+ "name": "event",
134
+ "type": {
135
+ "text": "Event"
136
+ }
137
+ }
138
+ ]
139
+ },
140
+ {
141
+ "kind": "method",
142
+ "name": "handleBlur",
143
+ "privacy": "private",
144
+ "parameters": [
145
+ {
146
+ "name": "event",
147
+ "type": {
148
+ "text": "Event"
149
+ }
150
+ }
151
+ ]
152
+ },
153
+ {
154
+ "kind": "method",
155
+ "name": "handleMouseOver",
156
+ "privacy": "private",
157
+ "parameters": [
158
+ {
159
+ "name": "event",
160
+ "type": {
161
+ "text": "Event"
162
+ }
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ "kind": "method",
168
+ "name": "handleMouseOut",
169
+ "privacy": "private",
170
+ "parameters": [
171
+ {
172
+ "name": "event",
173
+ "type": {
174
+ "text": "Event"
175
+ }
176
+ }
177
+ ]
178
+ },
179
+ {
180
+ "kind": "method",
181
+ "name": "handleSlotChange",
182
+ "privacy": "private"
183
+ }
184
+ ],
185
+ "attributes": [
186
+ {
187
+ "name": "label",
188
+ "type": {
189
+ "text": "string"
190
+ },
191
+ "default": "''",
192
+ "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.",
193
+ "fieldName": "label"
194
+ }
195
+ ],
196
+ "superclass": {
197
+ "name": "SynergyElement",
198
+ "module": "/src/internal/synergy-element.js"
199
+ },
200
+ "summary": "Button groups can be used to group related buttons into sections.",
201
+ "tagNameWithoutPrefix": "button-group",
202
+ "tagName": "syn-button-group",
203
+ "customElement": true,
204
+ "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 */",
205
+ "documentation": "https://synergy.style/components/button-group",
206
+ "status": "stable",
207
+ "since": "2.0"
208
+ }
209
+ ],
210
+ "exports": [
211
+ {
212
+ "kind": "js",
213
+ "name": "default",
214
+ "declaration": {
215
+ "name": "SynButtonGroup",
216
+ "module": "components/button-group/button-group.js"
217
+ }
218
+ }
219
+ ]
220
+ },
81
221
  {
82
222
  "kind": "javascript-module",
83
223
  "path": "components/button/button.js",
@@ -694,263 +834,123 @@
694
834
  },
695
835
  {
696
836
  "kind": "javascript-module",
697
- "path": "components/button-group/button-group.js",
837
+ "path": "components/checkbox/checkbox.js",
698
838
  "declarations": [
699
839
  {
700
840
  "kind": "class",
701
841
  "description": "",
702
- "name": "SynButtonGroup",
842
+ "name": "SynCheckbox",
703
843
  "cssParts": [
704
844
  {
705
845
  "description": "The component's base wrapper.",
706
846
  "name": "base"
847
+ },
848
+ {
849
+ "description": "The square container that wraps the checkbox's checked state.",
850
+ "name": "control"
851
+ },
852
+ {
853
+ "description": "Matches the control part when the checkbox is checked.",
854
+ "name": "control--checked"
855
+ },
856
+ {
857
+ "description": "Matches the control part when the checkbox is indeterminate.",
858
+ "name": "control--indeterminate"
859
+ },
860
+ {
861
+ "description": "The checked icon, an `<syn-icon>` element.",
862
+ "name": "checked-icon"
863
+ },
864
+ {
865
+ "description": "The indeterminate icon, an `<syn-icon>` element.",
866
+ "name": "indeterminate-icon"
867
+ },
868
+ {
869
+ "description": "The container that wraps the checkbox's label.",
870
+ "name": "label"
871
+ },
872
+ {
873
+ "description": "The help text's wrapper.",
874
+ "name": "form-control-help-text"
707
875
  }
708
876
  ],
709
877
  "slots": [
710
878
  {
711
- "description": "One or more `<syn-button>` elements to display in the button group.",
879
+ "description": "The checkbox's label.",
712
880
  "name": ""
881
+ },
882
+ {
883
+ "description": "Text that describes how to use the checkbox. Alternatively, you can use the `help-text` attribute.",
884
+ "name": "help-text"
713
885
  }
714
886
  ],
715
887
  "members": [
716
888
  {
717
889
  "kind": "field",
718
- "name": "defaultSlot",
890
+ "name": "dependencies",
719
891
  "type": {
720
- "text": "HTMLSlotElement"
892
+ "text": "object"
893
+ },
894
+ "static": true,
895
+ "default": "{ 'syn-icon': SynIcon }"
896
+ },
897
+ {
898
+ "kind": "field",
899
+ "name": "formControlController",
900
+ "privacy": "private",
901
+ "readonly": true,
902
+ "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 })"
903
+ },
904
+ {
905
+ "kind": "field",
906
+ "name": "hasSlotController",
907
+ "privacy": "private",
908
+ "readonly": true,
909
+ "default": "new HasSlotController(this, 'help-text')"
910
+ },
911
+ {
912
+ "kind": "field",
913
+ "name": "input",
914
+ "type": {
915
+ "text": "HTMLInputElement"
721
916
  }
722
917
  },
723
918
  {
724
919
  "kind": "field",
725
- "name": "disableRole",
920
+ "name": "hasFocus",
726
921
  "type": {
727
922
  "text": "boolean"
728
923
  },
924
+ "privacy": "private",
729
925
  "default": "false"
730
926
  },
731
927
  {
732
928
  "kind": "field",
733
- "name": "label",
929
+ "name": "title",
734
930
  "type": {
735
931
  "text": "string"
736
932
  },
737
933
  "default": "''",
738
- "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.",
739
- "attribute": "label"
934
+ "attribute": "title"
740
935
  },
741
936
  {
742
- "kind": "method",
743
- "name": "handleFocus",
744
- "privacy": "private",
745
- "parameters": [
746
- {
747
- "name": "event",
748
- "type": {
749
- "text": "Event"
750
- }
751
- }
752
- ]
937
+ "kind": "field",
938
+ "name": "name",
939
+ "type": {
940
+ "text": "string"
941
+ },
942
+ "default": "''",
943
+ "description": "The name of the checkbox, submitted as a name/value pair with form data.",
944
+ "attribute": "name"
753
945
  },
754
946
  {
755
- "kind": "method",
756
- "name": "handleBlur",
757
- "privacy": "private",
758
- "parameters": [
759
- {
760
- "name": "event",
761
- "type": {
762
- "text": "Event"
763
- }
764
- }
765
- ]
766
- },
767
- {
768
- "kind": "method",
769
- "name": "handleMouseOver",
770
- "privacy": "private",
771
- "parameters": [
772
- {
773
- "name": "event",
774
- "type": {
775
- "text": "Event"
776
- }
777
- }
778
- ]
779
- },
780
- {
781
- "kind": "method",
782
- "name": "handleMouseOut",
783
- "privacy": "private",
784
- "parameters": [
785
- {
786
- "name": "event",
787
- "type": {
788
- "text": "Event"
789
- }
790
- }
791
- ]
792
- },
793
- {
794
- "kind": "method",
795
- "name": "handleSlotChange",
796
- "privacy": "private"
797
- }
798
- ],
799
- "attributes": [
800
- {
801
- "name": "label",
802
- "type": {
803
- "text": "string"
804
- },
805
- "default": "''",
806
- "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.",
807
- "fieldName": "label"
808
- }
809
- ],
810
- "superclass": {
811
- "name": "SynergyElement",
812
- "module": "/src/internal/synergy-element.js"
813
- },
814
- "summary": "Button groups can be used to group related buttons into sections.",
815
- "tagNameWithoutPrefix": "button-group",
816
- "tagName": "syn-button-group",
817
- "customElement": true,
818
- "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 */",
819
- "documentation": "https://synergy.style/components/button-group",
820
- "status": "stable",
821
- "since": "2.0"
822
- }
823
- ],
824
- "exports": [
825
- {
826
- "kind": "js",
827
- "name": "default",
828
- "declaration": {
829
- "name": "SynButtonGroup",
830
- "module": "components/button-group/button-group.js"
831
- }
832
- }
833
- ]
834
- },
835
- {
836
- "kind": "javascript-module",
837
- "path": "components/checkbox/checkbox.js",
838
- "declarations": [
839
- {
840
- "kind": "class",
841
- "description": "",
842
- "name": "SynCheckbox",
843
- "cssParts": [
844
- {
845
- "description": "The component's base wrapper.",
846
- "name": "base"
847
- },
848
- {
849
- "description": "The square container that wraps the checkbox's checked state.",
850
- "name": "control"
851
- },
852
- {
853
- "description": "Matches the control part when the checkbox is checked.",
854
- "name": "control--checked"
855
- },
856
- {
857
- "description": "Matches the control part when the checkbox is indeterminate.",
858
- "name": "control--indeterminate"
859
- },
860
- {
861
- "description": "The checked icon, an `<syn-icon>` element.",
862
- "name": "checked-icon"
863
- },
864
- {
865
- "description": "The indeterminate icon, an `<syn-icon>` element.",
866
- "name": "indeterminate-icon"
867
- },
868
- {
869
- "description": "The container that wraps the checkbox's label.",
870
- "name": "label"
871
- },
872
- {
873
- "description": "The help text's wrapper.",
874
- "name": "form-control-help-text"
875
- }
876
- ],
877
- "slots": [
878
- {
879
- "description": "The checkbox's label.",
880
- "name": ""
881
- },
882
- {
883
- "description": "Text that describes how to use the checkbox. Alternatively, you can use the `help-text` attribute.",
884
- "name": "help-text"
885
- }
886
- ],
887
- "members": [
888
- {
889
- "kind": "field",
890
- "name": "dependencies",
891
- "type": {
892
- "text": "object"
893
- },
894
- "static": true,
895
- "default": "{ 'syn-icon': SynIcon }"
896
- },
897
- {
898
- "kind": "field",
899
- "name": "formControlController",
900
- "privacy": "private",
901
- "readonly": true,
902
- "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 })"
903
- },
904
- {
905
- "kind": "field",
906
- "name": "hasSlotController",
907
- "privacy": "private",
908
- "readonly": true,
909
- "default": "new HasSlotController(this, 'help-text')"
910
- },
911
- {
912
- "kind": "field",
913
- "name": "input",
914
- "type": {
915
- "text": "HTMLInputElement"
916
- }
917
- },
918
- {
919
- "kind": "field",
920
- "name": "hasFocus",
921
- "type": {
922
- "text": "boolean"
923
- },
924
- "privacy": "private",
925
- "default": "false"
926
- },
927
- {
928
- "kind": "field",
929
- "name": "title",
930
- "type": {
931
- "text": "string"
932
- },
933
- "default": "''",
934
- "attribute": "title"
935
- },
936
- {
937
- "kind": "field",
938
- "name": "name",
939
- "type": {
940
- "text": "string"
941
- },
942
- "default": "''",
943
- "description": "The name of the checkbox, submitted as a name/value pair with form data.",
944
- "attribute": "name"
945
- },
946
- {
947
- "kind": "field",
948
- "name": "value",
949
- "type": {
950
- "text": "string"
951
- },
952
- "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
953
- "attribute": "value"
947
+ "kind": "field",
948
+ "name": "value",
949
+ "type": {
950
+ "text": "string"
951
+ },
952
+ "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
953
+ "attribute": "value"
954
954
  },
955
955
  {
956
956
  "kind": "field",
@@ -1951,6 +1951,17 @@
1951
1951
  "description": "Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.",
1952
1952
  "attribute": "hoist"
1953
1953
  },
1954
+ {
1955
+ "kind": "field",
1956
+ "name": "sync",
1957
+ "type": {
1958
+ "text": "'width' | 'height' | 'both' | undefined"
1959
+ },
1960
+ "default": "undefined",
1961
+ "description": "Syncs the popup width or height to that of the trigger element.",
1962
+ "attribute": "sync",
1963
+ "reflects": true
1964
+ },
1954
1965
  {
1955
1966
  "kind": "method",
1956
1967
  "name": "focusOnTrigger"
@@ -2132,6 +2143,18 @@
2132
2143
  "default": "false",
2133
2144
  "description": "Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.",
2134
2145
  "fieldName": "hoist"
2146
+ },
2147
+ {
2148
+ "name": "sync",
2149
+ "type": {
2150
+ "text": "'width' | 'height' | 'both' | undefined"
2151
+ },
2152
+ "default": "undefined",
2153
+ "description": "Syncs the popup width or height to that of the trigger element.",
2154
+ "resolveInitializer": {
2155
+ "module": "src/components/dropdown/dropdown.component.ts"
2156
+ },
2157
+ "fieldName": "sync"
2135
2158
  }
2136
2159
  ],
2137
2160
  "superclass": {
@@ -2204,6 +2227,10 @@
2204
2227
  {
2205
2228
  "description": "The wrapper that is holding the optional top navigation section",
2206
2229
  "name": "navigation"
2230
+ },
2231
+ {
2232
+ "description": "The button that toggles the burger menu",
2233
+ "name": "burger-menu-toggle-button"
2207
2234
  }
2208
2235
  ],
2209
2236
  "slots": [
@@ -2222,6 +2249,14 @@
2222
2249
  {
2223
2250
  "description": "This slot can be used to add an optional horizontal navigation",
2224
2251
  "name": "navigation"
2252
+ },
2253
+ {
2254
+ "description": "An icon to use in lieu of the default show burger menu icon",
2255
+ "name": "show-burger-menu"
2256
+ },
2257
+ {
2258
+ "description": "An icon to use in lieu of the default hide burger menu icon",
2259
+ "name": "hide-burger-menu"
2225
2260
  }
2226
2261
  ],
2227
2262
  "members": [
@@ -2241,6 +2276,22 @@
2241
2276
  "readonly": true,
2242
2277
  "default": "new HasSlotController(this, '[default]', 'logo', 'label', 'meta-navigation', 'navigation')"
2243
2278
  },
2279
+ {
2280
+ "kind": "field",
2281
+ "name": "localize",
2282
+ "privacy": "private",
2283
+ "readonly": true,
2284
+ "default": "new LocalizeController(this)"
2285
+ },
2286
+ {
2287
+ "kind": "field",
2288
+ "name": "mutationObserver",
2289
+ "type": {
2290
+ "text": "MutationObserver"
2291
+ },
2292
+ "privacy": "private",
2293
+ "description": "Internal mutation observer"
2294
+ },
2244
2295
  {
2245
2296
  "kind": "field",
2246
2297
  "name": "label",
@@ -2248,51 +2299,142 @@
2248
2299
  "text": "string"
2249
2300
  },
2250
2301
  "default": "''",
2251
- "description": "The headers label. If you need to display HTML, use the `label` slot instead.",
2302
+ "description": "The headers label. If you need to display HTML, use the `default` slot instead.",
2252
2303
  "attribute": "label"
2253
- }
2254
- ],
2255
- "attributes": [
2304
+ },
2256
2305
  {
2257
- "name": "label",
2306
+ "kind": "field",
2307
+ "name": "showBurgerMenu",
2258
2308
  "type": {
2259
- "text": "string"
2309
+ "text": "boolean"
2260
2310
  },
2261
- "default": "''",
2262
- "description": "The headers label. If you need to display HTML, use the `label` slot instead.",
2263
- "fieldName": "label"
2264
- }
2265
- ],
2266
- "superclass": {
2267
- "name": "SynergyElement",
2268
- "module": "/src/internal/synergy-element.js"
2269
- },
2270
- "summary": "The <syn-header /> element provides a generic application header\nthat can be used to add applications name, toolbar and primary navigation.",
2271
- "tagNameWithoutPrefix": "header",
2272
- "tagName": "syn-header",
2273
- "customElement": true,
2274
- "jsDoc": "/**\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 */",
2275
- "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-header--docs",
2276
- "status": "stable",
2277
- "since": "1.10.0"
2278
- }
2279
- ],
2280
- "exports": [
2281
- {
2282
- "kind": "js",
2283
- "name": "default",
2284
- "declaration": {
2285
- "name": "SynHeader",
2286
- "module": "components/header/header.js"
2287
- }
2288
- }
2289
- ]
2290
- },
2291
- {
2292
- "kind": "javascript-module",
2293
- "path": "components/icon/icon.js",
2294
- "declarations": [
2295
- {
2311
+ "default": "false",
2312
+ "description": "Adds a button to toggle the burger menu's visibility.\nThe button is added automatically, if the component finds a syn-side-nav in non-rail mode.",
2313
+ "attribute": "show-burger-menu",
2314
+ "reflects": true
2315
+ },
2316
+ {
2317
+ "kind": "field",
2318
+ "name": "burgerMenuVisible",
2319
+ "type": {
2320
+ "text": "boolean"
2321
+ },
2322
+ "default": "false",
2323
+ "description": "Determines whether or not the burger menu is currently visible.",
2324
+ "attribute": "burger-menu-visible",
2325
+ "reflects": true
2326
+ },
2327
+ {
2328
+ "kind": "field",
2329
+ "name": "sideNav",
2330
+ "type": {
2331
+ "text": "SynSideNav | null"
2332
+ },
2333
+ "privacy": "private",
2334
+ "description": "The side nav"
2335
+ },
2336
+ {
2337
+ "kind": "method",
2338
+ "name": "handleBurgerMenuToggle",
2339
+ "privacy": "private"
2340
+ },
2341
+ {
2342
+ "kind": "method",
2343
+ "name": "updateBurgerMenuBasedOnSideNav",
2344
+ "privacy": "private"
2345
+ },
2346
+ {
2347
+ "kind": "method",
2348
+ "name": "handleBurgerMenuVisible"
2349
+ },
2350
+ {
2351
+ "kind": "method",
2352
+ "name": "connectSideNavigation",
2353
+ "parameters": [
2354
+ {
2355
+ "name": "sideNav",
2356
+ "type": {
2357
+ "text": "SynSideNav"
2358
+ },
2359
+ "description": "The side navigation to connect to the header"
2360
+ }
2361
+ ],
2362
+ "description": "Connect a `syn-side-nav` to add automatic interaction of the header with the side navigation\nlike showing the burger menu icon and open / close handling.\n\nIf no side navigation is connected, the header will use the first `syn-side-nav` element it\nfinds."
2363
+ }
2364
+ ],
2365
+ "events": [
2366
+ {
2367
+ "description": "Emitted when the burger menu button is toggled to visible",
2368
+ "name": "syn-burger-menu-show",
2369
+ "reactName": "onSynBurgerMenuShow",
2370
+ "eventName": "SynBurgerMenuShowEvent"
2371
+ },
2372
+ {
2373
+ "description": "Emitted when the burger menu button is toggled to not visible",
2374
+ "name": "syn-burger-menu-hide",
2375
+ "reactName": "onSynBurgerMenuHide",
2376
+ "eventName": "SynBurgerMenuHideEvent"
2377
+ }
2378
+ ],
2379
+ "attributes": [
2380
+ {
2381
+ "name": "label",
2382
+ "type": {
2383
+ "text": "string"
2384
+ },
2385
+ "default": "''",
2386
+ "description": "The headers label. If you need to display HTML, use the `default` slot instead.",
2387
+ "fieldName": "label"
2388
+ },
2389
+ {
2390
+ "name": "show-burger-menu",
2391
+ "type": {
2392
+ "text": "boolean"
2393
+ },
2394
+ "default": "false",
2395
+ "description": "Adds a button to toggle the burger menu's visibility.\nThe button is added automatically, if the component finds a syn-side-nav in non-rail mode.",
2396
+ "fieldName": "showBurgerMenu"
2397
+ },
2398
+ {
2399
+ "name": "burger-menu-visible",
2400
+ "type": {
2401
+ "text": "boolean"
2402
+ },
2403
+ "default": "false",
2404
+ "description": "Determines whether or not the burger menu is currently visible.",
2405
+ "fieldName": "burgerMenuVisible"
2406
+ }
2407
+ ],
2408
+ "superclass": {
2409
+ "name": "SynergyElement",
2410
+ "module": "/src/internal/synergy-element.js"
2411
+ },
2412
+ "summary": "The <syn-header /> element provides a generic application header\nthat can be used to add applications name, toolbar and primary navigation.",
2413
+ "tagNameWithoutPrefix": "header",
2414
+ "tagName": "syn-header",
2415
+ "customElement": true,
2416
+ "jsDoc": "/**\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 * @slot show-burger-menu - An icon to use in lieu of the default show burger menu icon\n * @slot hide-burger-menu - An icon to use in lieu of the default hide burger menu icon\n *\n * @event syn-burger-menu-show - Emitted when the burger menu button is toggled to visible\n * @event syn-burger-menu-hide - Emitted when the burger menu button is toggled to not visible\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 * @csspart burger-menu-toggle-button - The button that toggles the burger menu\n */",
2417
+ "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-header--docs",
2418
+ "status": "stable",
2419
+ "since": "1.10.0"
2420
+ }
2421
+ ],
2422
+ "exports": [
2423
+ {
2424
+ "kind": "js",
2425
+ "name": "default",
2426
+ "declaration": {
2427
+ "name": "SynHeader",
2428
+ "module": "components/header/header.js"
2429
+ }
2430
+ }
2431
+ ]
2432
+ },
2433
+ {
2434
+ "kind": "javascript-module",
2435
+ "path": "components/icon/icon.js",
2436
+ "declarations": [
2437
+ {
2296
2438
  "kind": "class",
2297
2439
  "description": "",
2298
2440
  "name": "SynIcon",
@@ -4304,29 +4446,57 @@
4304
4446
  },
4305
4447
  {
4306
4448
  "kind": "javascript-module",
4307
- "path": "components/optgroup/optgroup.js",
4449
+ "path": "components/nav-item/nav-item.js",
4308
4450
  "declarations": [
4309
4451
  {
4310
4452
  "kind": "class",
4311
4453
  "description": "",
4312
- "name": "SynOptgroup",
4454
+ "name": "SynNavItem",
4313
4455
  "cssProperties": [
4314
4456
  {
4315
- "description": "Display property of the divider. Defaults to \"block\"",
4316
- "name": "--display-divider"
4457
+ "description": "Numeric value, indicating the level the item is placed at.",
4458
+ "name": "--indentation"
4459
+ },
4460
+ {
4461
+ "description": "The amount of pixels each level will indent.",
4462
+ "name": "--indentation-stepping"
4463
+ },
4464
+ {
4465
+ "description": "Display property of the children. Defaults to \"contents\"",
4466
+ "name": "--display-children"
4317
4467
  }
4318
4468
  ],
4319
4469
  "cssParts": [
4320
4470
  {
4321
- "description": "The component's base wrapper.",
4471
+ "description": "The component's base wrapper including children.",
4322
4472
  "name": "base"
4323
4473
  },
4324
4474
  {
4325
- "description": "The container that wraps prefix, label and base",
4326
- "name": "label-container"
4475
+ "description": "The wrapper that holds the children",
4476
+ "name": "children"
4327
4477
  },
4328
4478
  {
4329
- "description": "The divider that is displayed above the content",
4479
+ "description": "The component's content wrapper.",
4480
+ "name": "content-wrapper"
4481
+ },
4482
+ {
4483
+ "description": "The component's content excluding children.",
4484
+ "name": "content"
4485
+ },
4486
+ {
4487
+ "description": "The indicator used when current is set to true",
4488
+ "name": "current-indicator"
4489
+ },
4490
+ {
4491
+ "description": "The container that wraps the chevron.",
4492
+ "name": "chevron"
4493
+ },
4494
+ {
4495
+ "description": "The details element rendered when there are children available",
4496
+ "name": "details"
4497
+ },
4498
+ {
4499
+ "description": "The components optional top divider.",
4330
4500
  "name": "divider"
4331
4501
  },
4332
4502
  {
@@ -4336,28 +4506,24 @@
4336
4506
  {
4337
4507
  "description": "The container that wraps the suffix.",
4338
4508
  "name": "suffix"
4339
- },
4340
- {
4341
- "description": "The container that wraps the <syn-option> elements.",
4342
- "name": "options"
4343
4509
  }
4344
4510
  ],
4345
4511
  "slots": [
4346
4512
  {
4347
- "description": "The given options. Must be `<syn-option>` elements.",
4513
+ "description": "The navigation item's label.",
4348
4514
  "name": ""
4349
4515
  },
4350
4516
  {
4351
4517
  "description": "A presentational prefix icon or similar element.",
4352
4518
  "name": "prefix"
4353
4519
  },
4354
- {
4355
- "description": "The label for the optgroup",
4356
- "name": "label"
4357
- },
4358
4520
  {
4359
4521
  "description": "A presentational suffix icon or similar element.",
4360
4522
  "name": "suffix"
4523
+ },
4524
+ {
4525
+ "description": "Slot used to provide nested child navigation elements. If provided, details and summary elements will be used. A chevron will be shown on the right side regardless of the chevron property.",
4526
+ "name": "children"
4361
4527
  }
4362
4528
  ],
4363
4529
  "members": [
@@ -4375,259 +4541,354 @@
4375
4541
  "name": "hasSlotController",
4376
4542
  "privacy": "private",
4377
4543
  "readonly": true,
4378
- "default": "new HasSlotController(this, '[default]', 'prefix', 'suffix', 'label')"
4544
+ "default": "new HasSlotController(this, '[default]', 'children', 'prefix', 'suffix')"
4379
4545
  },
4380
4546
  {
4381
4547
  "kind": "field",
4382
- "name": "defaultSlot",
4548
+ "name": "resizeObserver",
4383
4549
  "type": {
4384
- "text": "HTMLSlotElement"
4385
- }
4550
+ "text": "ResizeObserver"
4551
+ },
4552
+ "privacy": "private"
4386
4553
  },
4387
4554
  {
4388
- "kind": "method",
4389
- "name": "handleDisableOptions",
4555
+ "kind": "field",
4556
+ "name": "hasFocus",
4557
+ "type": {
4558
+ "text": "boolean"
4559
+ },
4390
4560
  "privacy": "private",
4391
- "description": "Syncs the disabled prop for all slotted syn-options when it is triggered"
4561
+ "default": "false",
4562
+ "description": "The current focus state"
4392
4563
  },
4393
4564
  {
4394
4565
  "kind": "field",
4395
- "name": "disabled",
4566
+ "name": "showPrefixOnly",
4396
4567
  "type": {
4397
4568
  "text": "boolean"
4398
4569
  },
4570
+ "privacy": "private",
4399
4571
  "default": "false",
4400
- "description": "Disables all options in the optgroup.",
4401
- "attribute": "disabled",
4402
- "reflects": true
4572
+ "description": "Only the prefix should be displayed"
4403
4573
  },
4404
4574
  {
4405
4575
  "kind": "field",
4406
- "name": "label",
4576
+ "name": "currentMarkedChild",
4407
4577
  "type": {
4408
- "text": "string"
4578
+ "text": "boolean"
4409
4579
  },
4410
- "default": "''",
4411
- "description": "The optgroups label. If you need to display HTML, use the `label` slot instead.",
4412
- "attribute": "label"
4580
+ "privacy": "private",
4581
+ "default": "false",
4582
+ "description": "A nested nav-item is marked as current"
4413
4583
  },
4414
4584
  {
4415
- "kind": "method",
4416
- "name": "handleDisabledChange"
4417
- }
4418
- ],
4419
- "attributes": [
4420
- {
4421
- "name": "disabled",
4585
+ "kind": "field",
4586
+ "name": "isMultiLine",
4422
4587
  "type": {
4423
4588
  "text": "boolean"
4424
4589
  },
4590
+ "privacy": "private",
4425
4591
  "default": "false",
4426
- "description": "Disables all options in the optgroup.",
4427
- "fieldName": "disabled"
4592
+ "description": "The content area is multiline"
4428
4593
  },
4429
4594
  {
4430
- "name": "label",
4595
+ "kind": "field",
4596
+ "name": "childrenSlot",
4431
4597
  "type": {
4432
- "text": "string"
4598
+ "text": "HTMLSlotElement"
4433
4599
  },
4434
- "default": "''",
4435
- "description": "The optgroups label. If you need to display HTML, use the `label` slot instead.",
4436
- "fieldName": "label"
4437
- }
4438
- ],
4439
- "superclass": {
4440
- "name": "SynergyElement",
4441
- "module": "/src/internal/synergy-element.js"
4442
- },
4443
- "summary": "The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.",
4444
- "tagNameWithoutPrefix": "optgroup",
4445
- "tagName": "syn-optgroup",
4446
- "customElement": true,
4447
- "jsDoc": "/**\n * @summary The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs\n * @status stable\n * @since 1.3.0\n *\n * @dependency syn-divider\n *\n * @slot - The given options. Must be `<syn-option>` elements.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot label - The label for the optgroup\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart label-container - The container that wraps prefix, label and base\n * @csspart divider - The divider that is displayed above the content\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart options - The container that wraps the <syn-option> elements.\n *\n * @cssproperty --display-divider - Display property of the divider. Defaults to \"block\"\n */",
4448
- "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs",
4449
- "status": "stable",
4450
- "since": "1.3.0",
4451
- "dependencies": [
4452
- "syn-divider"
4453
- ]
4454
- }
4455
- ],
4456
- "exports": [
4457
- {
4458
- "kind": "js",
4459
- "name": "default",
4460
- "declaration": {
4461
- "name": "SynOptgroup",
4462
- "module": "components/optgroup/optgroup.js"
4463
- }
4464
- }
4465
- ]
4466
- },
4467
- {
4468
- "kind": "javascript-module",
4469
- "path": "components/option/option.js",
4470
- "declarations": [
4471
- {
4472
- "kind": "class",
4473
- "description": "",
4474
- "name": "SynOption",
4475
- "cssParts": [
4476
- {
4477
- "description": "The checked icon, an `<syn-icon>` element.",
4478
- "name": "checked-icon"
4479
- },
4480
- {
4481
- "description": "The component's base wrapper.",
4482
- "name": "base"
4483
- },
4484
- {
4485
- "description": "The option's label.",
4486
- "name": "label"
4487
- },
4488
- {
4489
- "description": "The container that wraps the prefix.",
4490
- "name": "prefix"
4491
- },
4492
- {
4493
- "description": "The container that wraps the suffix.",
4494
- "name": "suffix"
4495
- }
4496
- ],
4497
- "slots": [
4498
- {
4499
- "description": "The option's label.",
4500
- "name": ""
4600
+ "description": "Reference to the children slot"
4501
4601
  },
4502
- {
4503
- "description": "Used to prepend an icon or similar element to the menu item.",
4504
- "name": "prefix"
4505
- },
4506
- {
4507
- "description": "Used to append an icon or similar element to the menu item.",
4508
- "name": "suffix"
4509
- }
4510
- ],
4511
- "members": [
4512
4602
  {
4513
4603
  "kind": "field",
4514
- "name": "dependencies",
4604
+ "name": "control",
4515
4605
  "type": {
4516
- "text": "object"
4606
+ "text": "HTMLButtonElement | HTMLLinkElement | HTMLElement"
4517
4607
  },
4518
- "static": true,
4519
- "default": "{ 'syn-icon': SynIcon }"
4608
+ "description": "Reference to the outermost button"
4520
4609
  },
4521
4610
  {
4522
4611
  "kind": "field",
4523
- "name": "cachedTextLabel",
4612
+ "name": "href",
4524
4613
  "type": {
4525
4614
  "text": "string"
4526
4615
  },
4527
- "privacy": "private"
4528
- },
4529
- {
4530
- "kind": "field",
4531
- "name": "localize",
4532
- "privacy": "private",
4533
- "readonly": true,
4534
- "default": "new LocalizeController(this)"
4616
+ "description": "The navigation item's href target.\nIf provided, the navigation item will use an anchor tag otherwise it will use a button tag.\n\nIf the 'children' slot is provided, the navigation item will ignore the 'href' and use\naccordion behavior.",
4617
+ "attribute": "href",
4618
+ "reflects": true
4535
4619
  },
4536
4620
  {
4537
4621
  "kind": "field",
4538
- "name": "defaultSlot",
4622
+ "name": "current",
4539
4623
  "type": {
4540
- "text": "HTMLSlotElement"
4541
- }
4624
+ "text": "boolean"
4625
+ },
4626
+ "default": "false",
4627
+ "attribute": "current",
4628
+ "reflects": true
4542
4629
  },
4543
4630
  {
4544
4631
  "kind": "field",
4545
- "name": "current",
4632
+ "name": "disabled",
4546
4633
  "type": {
4547
4634
  "text": "boolean"
4548
4635
  },
4549
- "default": "false"
4636
+ "default": "false",
4637
+ "description": "Disables the navigation item.",
4638
+ "attribute": "disabled",
4639
+ "reflects": true
4550
4640
  },
4551
4641
  {
4552
4642
  "kind": "field",
4553
- "name": "selected",
4643
+ "name": "horizontal",
4554
4644
  "type": {
4555
4645
  "text": "boolean"
4556
4646
  },
4557
- "default": "false"
4647
+ "default": "false",
4648
+ "description": "The navigation item's orientation.",
4649
+ "attribute": "horizontal",
4650
+ "reflects": true
4558
4651
  },
4559
4652
  {
4560
4653
  "kind": "field",
4561
- "name": "hasHover",
4654
+ "name": "chevron",
4562
4655
  "type": {
4563
4656
  "text": "boolean"
4564
4657
  },
4565
- "default": "false"
4658
+ "default": "false",
4659
+ "description": "Appends a chevron to the right side of a navigation item.\nOnly used if `horizontal` is false.",
4660
+ "attribute": "chevron",
4661
+ "reflects": true
4566
4662
  },
4567
4663
  {
4568
4664
  "kind": "field",
4569
- "name": "value",
4665
+ "name": "open",
4570
4666
  "type": {
4571
- "text": "string"
4667
+ "text": "boolean"
4572
4668
  },
4573
- "default": "''",
4574
- "description": "The option's value. When selected, the containing form control will receive this value. The value must be unique\nfrom other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
4575
- "attribute": "value",
4669
+ "default": "false",
4670
+ "description": "Reflects HTML details element state and allows control from parent.\nOnly used if `horizontal` is false and `children` is defined.",
4671
+ "attribute": "open",
4576
4672
  "reflects": true
4577
4673
  },
4578
4674
  {
4579
4675
  "kind": "field",
4580
- "name": "disabled",
4676
+ "name": "divider",
4581
4677
  "type": {
4582
4678
  "text": "boolean"
4583
4679
  },
4584
4680
  "default": "false",
4585
- "description": "Draws the option in a disabled state, preventing selection.",
4586
- "attribute": "disabled",
4681
+ "description": "Toggle to true to show a divider above the element.\nOnly available when horizontal is false.",
4682
+ "attribute": "divider",
4587
4683
  "reflects": true
4588
4684
  },
4589
4685
  {
4590
4686
  "kind": "method",
4591
- "name": "handleDefaultSlotChange",
4687
+ "name": "isButton",
4688
+ "privacy": "private",
4689
+ "return": {
4690
+ "type": {
4691
+ "text": "boolean"
4692
+ }
4693
+ }
4694
+ },
4695
+ {
4696
+ "kind": "method",
4697
+ "name": "isLink",
4698
+ "privacy": "private",
4699
+ "return": {
4700
+ "type": {
4701
+ "text": "boolean"
4702
+ }
4703
+ }
4704
+ },
4705
+ {
4706
+ "kind": "method",
4707
+ "name": "isAccordion",
4708
+ "privacy": "private",
4709
+ "return": {
4710
+ "type": {
4711
+ "text": "boolean"
4712
+ }
4713
+ }
4714
+ },
4715
+ {
4716
+ "kind": "method",
4717
+ "name": "getNavItemChildren",
4718
+ "privacy": "private",
4719
+ "return": {
4720
+ "type": {
4721
+ "text": "SynNavItem[]"
4722
+ }
4723
+ },
4724
+ "parameters": [
4725
+ {
4726
+ "name": "childrenSlot",
4727
+ "type": {
4728
+ "text": "HTMLSlotElement"
4729
+ }
4730
+ }
4731
+ ]
4732
+ },
4733
+ {
4734
+ "kind": "method",
4735
+ "name": "getAllNestedNavItems",
4736
+ "privacy": "private",
4737
+ "return": {
4738
+ "type": {
4739
+ "text": "SynNavItem[]"
4740
+ }
4741
+ },
4742
+ "parameters": [
4743
+ {
4744
+ "name": "childrenSlot",
4745
+ "type": {
4746
+ "text": "HTMLSlotElement"
4747
+ }
4748
+ }
4749
+ ]
4750
+ },
4751
+ {
4752
+ "kind": "method",
4753
+ "name": "handleCurrentMarkedChild",
4592
4754
  "privacy": "private"
4593
4755
  },
4594
4756
  {
4595
4757
  "kind": "method",
4596
- "name": "handleMouseEnter",
4758
+ "name": "handleClickButton",
4759
+ "privacy": "private",
4760
+ "parameters": [
4761
+ {
4762
+ "name": "e",
4763
+ "type": {
4764
+ "text": "MouseEvent"
4765
+ }
4766
+ }
4767
+ ]
4768
+ },
4769
+ {
4770
+ "kind": "method",
4771
+ "name": "handleClickSummary",
4772
+ "privacy": "private",
4773
+ "parameters": [
4774
+ {
4775
+ "name": "e",
4776
+ "type": {
4777
+ "text": "MouseEvent"
4778
+ }
4779
+ }
4780
+ ]
4781
+ },
4782
+ {
4783
+ "kind": "method",
4784
+ "name": "hideDetails",
4597
4785
  "privacy": "private"
4598
4786
  },
4599
4787
  {
4600
4788
  "kind": "method",
4601
- "name": "handleMouseLeave",
4789
+ "name": "showDetails",
4602
4790
  "privacy": "private"
4603
4791
  },
4604
4792
  {
4605
4793
  "kind": "method",
4606
- "name": "handleDisabledChange"
4794
+ "name": "handleSlotChange",
4795
+ "privacy": "private",
4796
+ "description": "Automatically add the correct level of indentation for sub items if none is provided"
4607
4797
  },
4608
4798
  {
4609
4799
  "kind": "method",
4610
- "name": "handleSelectedChange"
4800
+ "name": "handleBlur",
4801
+ "privacy": "private"
4611
4802
  },
4612
4803
  {
4613
4804
  "kind": "method",
4614
- "name": "handleValueChange"
4805
+ "name": "handleFocus",
4806
+ "privacy": "private"
4615
4807
  },
4616
4808
  {
4617
4809
  "kind": "method",
4618
- "name": "getTextLabel",
4619
- "description": "Returns a plain text label based on the option's content."
4810
+ "name": "handleWidth",
4811
+ "privacy": "private",
4812
+ "parameters": [
4813
+ {
4814
+ "name": "entries",
4815
+ "type": {
4816
+ "text": "ResizeObserverEntry[]"
4817
+ }
4818
+ }
4819
+ ]
4820
+ },
4821
+ {
4822
+ "kind": "method",
4823
+ "name": "handleOpenChange"
4824
+ },
4825
+ {
4826
+ "kind": "method",
4827
+ "name": "blur",
4828
+ "description": "Removes focus from the button."
4829
+ },
4830
+ {
4831
+ "kind": "method",
4832
+ "name": "click",
4833
+ "description": "Simulates a click on the nav-items button, link or summary."
4834
+ },
4835
+ {
4836
+ "kind": "method",
4837
+ "name": "focus",
4838
+ "parameters": [
4839
+ {
4840
+ "name": "options",
4841
+ "optional": true,
4842
+ "type": {
4843
+ "text": "FocusOptions"
4844
+ }
4845
+ }
4846
+ ],
4847
+ "description": "Sets focus on the nav-item"
4848
+ }
4849
+ ],
4850
+ "events": [
4851
+ {
4852
+ "description": "Emitted when the navigation item: - has children, - and is clicked while HTML details are hidden.",
4853
+ "name": "syn-show",
4854
+ "reactName": "onSynShow",
4855
+ "eventName": "SynShowEvent"
4856
+ },
4857
+ {
4858
+ "description": "Emitted when the navigation item: - has children, - and is clicked while HTML details are shown.",
4859
+ "name": "syn-hide",
4860
+ "reactName": "onSynHide",
4861
+ "eventName": "SynHideEvent"
4862
+ },
4863
+ {
4864
+ "description": "Emitted when the button loses focus.",
4865
+ "name": "syn-blur",
4866
+ "reactName": "onSynBlur",
4867
+ "eventName": "SynBlurEvent"
4868
+ },
4869
+ {
4870
+ "description": "Emitted when the button gains focus.",
4871
+ "name": "syn-focus",
4872
+ "reactName": "onSynFocus",
4873
+ "eventName": "SynFocusEvent"
4620
4874
  }
4621
4875
  ],
4622
4876
  "attributes": [
4623
4877
  {
4624
- "name": "value",
4878
+ "name": "href",
4625
4879
  "type": {
4626
4880
  "text": "string"
4627
4881
  },
4628
- "default": "''",
4629
- "description": "The option's value. When selected, the containing form control will receive this value. The value must be unique\nfrom other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
4630
- "fieldName": "value"
4882
+ "description": "The navigation item's href target.\nIf provided, the navigation item will use an anchor tag otherwise it will use a button tag.\n\nIf the 'children' slot is provided, the navigation item will ignore the 'href' and use\naccordion behavior.",
4883
+ "fieldName": "href"
4884
+ },
4885
+ {
4886
+ "name": "current",
4887
+ "type": {
4888
+ "text": "boolean"
4889
+ },
4890
+ "default": "false",
4891
+ "fieldName": "current"
4631
4892
  },
4632
4893
  {
4633
4894
  "name": "disabled",
@@ -4635,24 +4896,59 @@
4635
4896
  "text": "boolean"
4636
4897
  },
4637
4898
  "default": "false",
4638
- "description": "Draws the option in a disabled state, preventing selection.",
4899
+ "description": "Disables the navigation item.",
4639
4900
  "fieldName": "disabled"
4901
+ },
4902
+ {
4903
+ "name": "horizontal",
4904
+ "type": {
4905
+ "text": "boolean"
4906
+ },
4907
+ "default": "false",
4908
+ "description": "The navigation item's orientation.",
4909
+ "fieldName": "horizontal"
4910
+ },
4911
+ {
4912
+ "name": "chevron",
4913
+ "type": {
4914
+ "text": "boolean"
4915
+ },
4916
+ "default": "false",
4917
+ "description": "Appends a chevron to the right side of a navigation item.\nOnly used if `horizontal` is false.",
4918
+ "fieldName": "chevron"
4919
+ },
4920
+ {
4921
+ "name": "open",
4922
+ "type": {
4923
+ "text": "boolean"
4924
+ },
4925
+ "default": "false",
4926
+ "description": "Reflects HTML details element state and allows control from parent.\nOnly used if `horizontal` is false and `children` is defined.",
4927
+ "fieldName": "open"
4928
+ },
4929
+ {
4930
+ "name": "divider",
4931
+ "type": {
4932
+ "text": "boolean"
4933
+ },
4934
+ "default": "false",
4935
+ "description": "Toggle to true to show a divider above the element.\nOnly available when horizontal is false.",
4936
+ "fieldName": "divider"
4640
4937
  }
4641
4938
  ],
4642
4939
  "superclass": {
4643
4940
  "name": "SynergyElement",
4644
4941
  "module": "/src/internal/synergy-element.js"
4645
4942
  },
4646
- "summary": "Options define the selectable items within various form controls such as [select](/components/select).",
4647
- "tagNameWithoutPrefix": "option",
4648
- "tagName": "syn-option",
4943
+ "summary": "Flexible button / link component that can be used to quickly build navigations.\nTakes one of 3 forms:\n- button (default),\n- link (overrides button if a 'href' is provided),\n- or accordion (overrides all other if 'children' slot is defined).",
4944
+ "tagNameWithoutPrefix": "nav-item",
4945
+ "tagName": "syn-nav-item",
4649
4946
  "customElement": true,
4650
- "jsDoc": "/**\n * @summary Options define the selectable items within various form controls such as [select](/components/select).\n * @documentation https://synergy.style/components/option\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The option's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n *\n * @csspart checked-icon - The checked icon, an `<syn-icon>` element.\n * @csspart base - The component's base wrapper.\n * @csspart label - The option's label.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n */",
4651
- "documentation": "https://synergy.style/components/option",
4947
+ "jsDoc": "/**\n * @summary Flexible button / link component that can be used to quickly build navigations.\n * Takes one of 3 forms:\n * - button (default),\n * - link (overrides button if a 'href' is provided),\n * - or accordion (overrides all other if 'children' slot is defined).\n *\n * @status stable\n * @since 1.14.0\n *\n * @dependency syn-divider\n *\n * @event syn-show - Emitted when the navigation item:\n * - has children,\n * - and is clicked while HTML details are hidden.\n *\n * @event syn-hide - Emitted when the navigation item:\n * - has children,\n * - and is clicked while HTML details are shown.\n *\n * @event syn-blur - Emitted when the button loses focus.\n * @event syn-focus - Emitted when the button gains focus.\n *\n * @slot - The navigation item's label.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot suffix - A presentational suffix icon or similar element.\n * @slot children - Slot used to provide nested child navigation elements.\n * If provided, details and summary elements will be used.\n * A chevron will be shown on the right side regardless of the chevron property.\n *\n * @csspart base - The component's base wrapper including children.\n * @csspart children - The wrapper that holds the children\n * @csspart content-wrapper - The component's content wrapper.\n * @csspart content - The component's content excluding children.\n * @csspart current-indicator - The indicator used when current is set to true\n * @csspart chevron - The container that wraps the chevron.\n * @csspart details - The details element rendered when there are children available\n * @csspart divider - The components optional top divider.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n *\n * @cssproperty --indentation - Numeric value, indicating the level the item is placed at.\n * @cssproperty --indentation-stepping - The amount of pixels each level will indent.\n * @cssproperty --display-children - Display property of the children. Defaults to \"contents\"\n */",
4652
4948
  "status": "stable",
4653
- "since": "2.0",
4949
+ "since": "1.14.0",
4654
4950
  "dependencies": [
4655
- "syn-icon"
4951
+ "syn-divider"
4656
4952
  ]
4657
4953
  }
4658
4954
  ],
@@ -4661,397 +4957,762 @@
4661
4957
  "kind": "js",
4662
4958
  "name": "default",
4663
4959
  "declaration": {
4664
- "name": "SynOption",
4665
- "module": "components/option/option.js"
4960
+ "name": "SynNavItem",
4961
+ "module": "components/nav-item/nav-item.js"
4666
4962
  }
4667
4963
  }
4668
4964
  ]
4669
4965
  },
4670
4966
  {
4671
4967
  "kind": "javascript-module",
4672
- "path": "components/popup/popup.js",
4968
+ "path": "components/optgroup/optgroup.js",
4673
4969
  "declarations": [
4674
4970
  {
4675
4971
  "kind": "class",
4676
4972
  "description": "",
4677
- "name": "SynPopup",
4973
+ "name": "SynOptgroup",
4678
4974
  "cssProperties": [
4679
4975
  {
4680
- "description": "The size of the arrow. Note that an arrow won't be shown unless the `arrow` attribute is used.",
4681
- "name": "--arrow-size",
4682
- "default": "6px"
4683
- },
4684
- {
4685
- "description": "The color of the arrow.",
4686
- "name": "--arrow-color",
4687
- "default": "var(--syn-color-neutral-0)"
4976
+ "description": "Display property of the divider. Defaults to \"block\"",
4977
+ "name": "--display-divider"
4978
+ }
4979
+ ],
4980
+ "cssParts": [
4981
+ {
4982
+ "description": "The component's base wrapper.",
4983
+ "name": "base"
4688
4984
  },
4689
4985
  {
4690
- "description": "A read-only custom property that determines the amount of width the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`.",
4691
- "name": "--auto-size-available-width"
4986
+ "description": "The container that wraps prefix, label and base",
4987
+ "name": "label-container"
4692
4988
  },
4693
4989
  {
4694
- "description": "A read-only custom property that determines the amount of height the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`.",
4695
- "name": "--auto-size-available-height"
4696
- }
4697
- ],
4698
- "cssParts": [
4990
+ "description": "The divider that is displayed above the content",
4991
+ "name": "divider"
4992
+ },
4699
4993
  {
4700
- "description": "The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and maybe a border or box shadow.",
4701
- "name": "arrow"
4994
+ "description": "The container that wraps the prefix.",
4995
+ "name": "prefix"
4702
4996
  },
4703
4997
  {
4704
- "description": "The popup's container. Useful for setting a background color, box shadow, etc.",
4705
- "name": "popup"
4998
+ "description": "The container that wraps the suffix.",
4999
+ "name": "suffix"
4706
5000
  },
4707
5001
  {
4708
- "description": "The hover bridge element. Only available when the `hover-bridge` option is enabled.",
4709
- "name": "hover-bridge"
5002
+ "description": "The container that wraps the <syn-option> elements.",
5003
+ "name": "options"
4710
5004
  }
4711
5005
  ],
4712
5006
  "slots": [
4713
5007
  {
4714
- "description": "The popup's content.",
5008
+ "description": "The given options. Must be `<syn-option>` elements.",
4715
5009
  "name": ""
4716
5010
  },
4717
5011
  {
4718
- "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can use the `anchor` attribute or property instead.",
4719
- "name": "anchor"
5012
+ "description": "A presentational prefix icon or similar element.",
5013
+ "name": "prefix"
5014
+ },
5015
+ {
5016
+ "description": "The label for the optgroup",
5017
+ "name": "label"
5018
+ },
5019
+ {
5020
+ "description": "A presentational suffix icon or similar element.",
5021
+ "name": "suffix"
4720
5022
  }
4721
5023
  ],
4722
5024
  "members": [
4723
5025
  {
4724
5026
  "kind": "field",
4725
- "name": "anchorEl",
5027
+ "name": "dependencies",
4726
5028
  "type": {
4727
- "text": "Element | VirtualElement | null"
5029
+ "text": "object"
4728
5030
  },
4729
- "privacy": "private"
5031
+ "static": true,
5032
+ "default": "{\n 'syn-divider': SynDivider,\n }"
4730
5033
  },
4731
5034
  {
4732
5035
  "kind": "field",
4733
- "name": "cleanup",
4734
- "type": {
4735
- "text": "ReturnType<typeof autoUpdate> | undefined"
4736
- },
4737
- "privacy": "private"
5036
+ "name": "hasSlotController",
5037
+ "privacy": "private",
5038
+ "readonly": true,
5039
+ "default": "new HasSlotController(this, '[default]', 'prefix', 'suffix', 'label')"
4738
5040
  },
4739
5041
  {
4740
5042
  "kind": "field",
4741
- "name": "popup",
5043
+ "name": "defaultSlot",
4742
5044
  "type": {
4743
- "text": "HTMLElement"
4744
- },
4745
- "description": "A reference to the internal popup container. Useful for animating and styling the popup with JavaScript."
5045
+ "text": "HTMLSlotElement"
5046
+ }
5047
+ },
5048
+ {
5049
+ "kind": "method",
5050
+ "name": "handleDisableOptions",
5051
+ "privacy": "private",
5052
+ "description": "Syncs the disabled prop for all slotted syn-options when it is triggered"
4746
5053
  },
4747
5054
  {
4748
5055
  "kind": "field",
4749
- "name": "arrowEl",
5056
+ "name": "disabled",
4750
5057
  "type": {
4751
- "text": "HTMLElement"
5058
+ "text": "boolean"
4752
5059
  },
4753
- "privacy": "private"
5060
+ "default": "false",
5061
+ "description": "Disables all options in the optgroup.",
5062
+ "attribute": "disabled",
5063
+ "reflects": true
4754
5064
  },
4755
5065
  {
4756
5066
  "kind": "field",
4757
- "name": "anchor",
5067
+ "name": "label",
4758
5068
  "type": {
4759
- "text": "Element | string | VirtualElement"
5069
+ "text": "string"
4760
5070
  },
4761
- "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
4762
- "attribute": "anchor"
5071
+ "default": "''",
5072
+ "description": "The optgroups label. If you need to display HTML, use the `label` slot instead.",
5073
+ "attribute": "label"
4763
5074
  },
4764
5075
  {
4765
- "kind": "field",
4766
- "name": "active",
5076
+ "kind": "method",
5077
+ "name": "handleDisabledChange"
5078
+ }
5079
+ ],
5080
+ "attributes": [
5081
+ {
5082
+ "name": "disabled",
4767
5083
  "type": {
4768
5084
  "text": "boolean"
4769
5085
  },
4770
5086
  "default": "false",
4771
- "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
4772
- "attribute": "active",
4773
- "reflects": true
5087
+ "description": "Disables all options in the optgroup.",
5088
+ "fieldName": "disabled"
4774
5089
  },
4775
5090
  {
4776
- "kind": "field",
4777
- "name": "placement",
5091
+ "name": "label",
4778
5092
  "type": {
4779
- "text": "| 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end'"
5093
+ "text": "string"
4780
5094
  },
4781
- "default": "'top'",
4782
- "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
4783
- "attribute": "placement",
4784
- "reflects": true
5095
+ "default": "''",
5096
+ "description": "The optgroups label. If you need to display HTML, use the `label` slot instead.",
5097
+ "fieldName": "label"
5098
+ }
5099
+ ],
5100
+ "superclass": {
5101
+ "name": "SynergyElement",
5102
+ "module": "/src/internal/synergy-element.js"
5103
+ },
5104
+ "summary": "The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.",
5105
+ "tagNameWithoutPrefix": "optgroup",
5106
+ "tagName": "syn-optgroup",
5107
+ "customElement": true,
5108
+ "jsDoc": "/**\n * @summary The <syn-optgroup> element creates a grouping for <syn-option>s within a <syn-select>.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs\n * @status stable\n * @since 1.3.0\n *\n * @dependency syn-divider\n *\n * @slot - The given options. Must be `<syn-option>` elements.\n * @slot prefix - A presentational prefix icon or similar element.\n * @slot label - The label for the optgroup\n * @slot suffix - A presentational suffix icon or similar element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart label-container - The container that wraps prefix, label and base\n * @csspart divider - The divider that is displayed above the content\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n * @csspart options - The container that wraps the <syn-option> elements.\n *\n * @cssproperty --display-divider - Display property of the divider. Defaults to \"block\"\n */",
5109
+ "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-optgroup--docs",
5110
+ "status": "stable",
5111
+ "since": "1.3.0",
5112
+ "dependencies": [
5113
+ "syn-divider"
5114
+ ]
5115
+ }
5116
+ ],
5117
+ "exports": [
5118
+ {
5119
+ "kind": "js",
5120
+ "name": "default",
5121
+ "declaration": {
5122
+ "name": "SynOptgroup",
5123
+ "module": "components/optgroup/optgroup.js"
5124
+ }
5125
+ }
5126
+ ]
5127
+ },
5128
+ {
5129
+ "kind": "javascript-module",
5130
+ "path": "components/option/option.js",
5131
+ "declarations": [
5132
+ {
5133
+ "kind": "class",
5134
+ "description": "",
5135
+ "name": "SynOption",
5136
+ "cssParts": [
5137
+ {
5138
+ "description": "The checked icon, an `<syn-icon>` element.",
5139
+ "name": "checked-icon"
5140
+ },
5141
+ {
5142
+ "description": "The component's base wrapper.",
5143
+ "name": "base"
5144
+ },
5145
+ {
5146
+ "description": "The option's label.",
5147
+ "name": "label"
5148
+ },
5149
+ {
5150
+ "description": "The container that wraps the prefix.",
5151
+ "name": "prefix"
5152
+ },
5153
+ {
5154
+ "description": "The container that wraps the suffix.",
5155
+ "name": "suffix"
5156
+ }
5157
+ ],
5158
+ "slots": [
5159
+ {
5160
+ "description": "The option's label.",
5161
+ "name": ""
4785
5162
  },
5163
+ {
5164
+ "description": "Used to prepend an icon or similar element to the menu item.",
5165
+ "name": "prefix"
5166
+ },
5167
+ {
5168
+ "description": "Used to append an icon or similar element to the menu item.",
5169
+ "name": "suffix"
5170
+ }
5171
+ ],
5172
+ "members": [
4786
5173
  {
4787
5174
  "kind": "field",
4788
- "name": "strategy",
5175
+ "name": "dependencies",
4789
5176
  "type": {
4790
- "text": "'absolute' | 'fixed'"
5177
+ "text": "object"
4791
5178
  },
4792
- "default": "'absolute'",
4793
- "description": "Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if overflow is\nclipped, using a `fixed` position strategy can often workaround it.",
4794
- "attribute": "strategy",
4795
- "reflects": true
5179
+ "static": true,
5180
+ "default": "{ 'syn-icon': SynIcon }"
4796
5181
  },
4797
5182
  {
4798
5183
  "kind": "field",
4799
- "name": "distance",
5184
+ "name": "cachedTextLabel",
4800
5185
  "type": {
4801
- "text": "number"
5186
+ "text": "string"
4802
5187
  },
4803
- "default": "0",
4804
- "description": "The distance in pixels from which to offset the panel away from its anchor.",
4805
- "attribute": "distance"
5188
+ "privacy": "private"
4806
5189
  },
4807
5190
  {
4808
5191
  "kind": "field",
4809
- "name": "skidding",
4810
- "type": {
4811
- "text": "number"
4812
- },
4813
- "default": "0",
4814
- "description": "The distance in pixels from which to offset the panel along its anchor.",
4815
- "attribute": "skidding"
5192
+ "name": "localize",
5193
+ "privacy": "private",
5194
+ "readonly": true,
5195
+ "default": "new LocalizeController(this)"
4816
5196
  },
4817
5197
  {
4818
5198
  "kind": "field",
4819
- "name": "arrow",
5199
+ "name": "defaultSlot",
4820
5200
  "type": {
4821
- "text": "boolean"
4822
- },
4823
- "default": "false",
4824
- "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
4825
- "attribute": "arrow"
5201
+ "text": "HTMLSlotElement"
5202
+ }
4826
5203
  },
4827
5204
  {
4828
5205
  "kind": "field",
4829
- "name": "arrowPlacement",
5206
+ "name": "current",
4830
5207
  "type": {
4831
- "text": "'start' | 'end' | 'center' | 'anchor'"
5208
+ "text": "boolean"
4832
5209
  },
4833
- "default": "'anchor'",
4834
- "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
4835
- "attribute": "arrow-placement"
5210
+ "default": "false"
4836
5211
  },
4837
5212
  {
4838
5213
  "kind": "field",
4839
- "name": "arrowPadding",
5214
+ "name": "selected",
4840
5215
  "type": {
4841
- "text": "number"
5216
+ "text": "boolean"
4842
5217
  },
4843
- "default": "10",
4844
- "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
4845
- "attribute": "arrow-padding"
5218
+ "default": "false"
4846
5219
  },
4847
5220
  {
4848
5221
  "kind": "field",
4849
- "name": "flip",
5222
+ "name": "hasHover",
4850
5223
  "type": {
4851
5224
  "text": "boolean"
4852
5225
  },
4853
- "default": "false",
4854
- "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
4855
- "attribute": "flip"
5226
+ "default": "false"
4856
5227
  },
4857
5228
  {
4858
5229
  "kind": "field",
4859
- "name": "flipFallbackPlacements",
5230
+ "name": "value",
4860
5231
  "type": {
4861
5232
  "text": "string"
4862
5233
  },
4863
5234
  "default": "''",
4864
- "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
4865
- "attribute": "flip-fallback-placements"
5235
+ "description": "The option's value. When selected, the containing form control will receive this value. The value must be unique\nfrom other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
5236
+ "attribute": "value",
5237
+ "reflects": true
4866
5238
  },
4867
5239
  {
4868
5240
  "kind": "field",
4869
- "name": "flipFallbackStrategy",
5241
+ "name": "disabled",
4870
5242
  "type": {
4871
- "text": "'best-fit' | 'initial'"
5243
+ "text": "boolean"
4872
5244
  },
4873
- "default": "'best-fit'",
4874
- "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
4875
- "attribute": "flip-fallback-strategy"
5245
+ "default": "false",
5246
+ "description": "Draws the option in a disabled state, preventing selection.",
5247
+ "attribute": "disabled",
5248
+ "reflects": true
4876
5249
  },
4877
5250
  {
4878
- "kind": "field",
4879
- "name": "flipBoundary",
4880
- "type": {
4881
- "text": "Element | Element[]"
4882
- },
4883
- "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
4884
- "attribute": "flipBoundary"
5251
+ "kind": "method",
5252
+ "name": "handleDefaultSlotChange",
5253
+ "privacy": "private"
4885
5254
  },
4886
5255
  {
4887
- "kind": "field",
4888
- "name": "flipPadding",
5256
+ "kind": "method",
5257
+ "name": "handleMouseEnter",
5258
+ "privacy": "private"
5259
+ },
5260
+ {
5261
+ "kind": "method",
5262
+ "name": "handleMouseLeave",
5263
+ "privacy": "private"
5264
+ },
5265
+ {
5266
+ "kind": "method",
5267
+ "name": "handleDisabledChange"
5268
+ },
5269
+ {
5270
+ "kind": "method",
5271
+ "name": "handleSelectedChange"
5272
+ },
5273
+ {
5274
+ "kind": "method",
5275
+ "name": "handleValueChange"
5276
+ },
5277
+ {
5278
+ "kind": "method",
5279
+ "name": "getTextLabel",
5280
+ "description": "Returns a plain text label based on the option's content."
5281
+ }
5282
+ ],
5283
+ "attributes": [
5284
+ {
5285
+ "name": "value",
4889
5286
  "type": {
4890
- "text": "number"
5287
+ "text": "string"
4891
5288
  },
4892
- "default": "0",
4893
- "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
4894
- "attribute": "flip-padding"
5289
+ "default": "''",
5290
+ "description": "The option's value. When selected, the containing form control will receive this value. The value must be unique\nfrom other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
5291
+ "fieldName": "value"
4895
5292
  },
4896
5293
  {
4897
- "kind": "field",
4898
- "name": "shift",
5294
+ "name": "disabled",
4899
5295
  "type": {
4900
5296
  "text": "boolean"
4901
5297
  },
4902
5298
  "default": "false",
4903
- "description": "Moves the popup along the axis to keep it in view when clipped.",
4904
- "attribute": "shift"
5299
+ "description": "Draws the option in a disabled state, preventing selection.",
5300
+ "fieldName": "disabled"
5301
+ }
5302
+ ],
5303
+ "superclass": {
5304
+ "name": "SynergyElement",
5305
+ "module": "/src/internal/synergy-element.js"
5306
+ },
5307
+ "summary": "Options define the selectable items within various form controls such as [select](/components/select).",
5308
+ "tagNameWithoutPrefix": "option",
5309
+ "tagName": "syn-option",
5310
+ "customElement": true,
5311
+ "jsDoc": "/**\n * @summary Options define the selectable items within various form controls such as [select](/components/select).\n * @documentation https://synergy.style/components/option\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The option's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n *\n * @csspart checked-icon - The checked icon, an `<syn-icon>` element.\n * @csspart base - The component's base wrapper.\n * @csspart label - The option's label.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n */",
5312
+ "documentation": "https://synergy.style/components/option",
5313
+ "status": "stable",
5314
+ "since": "2.0",
5315
+ "dependencies": [
5316
+ "syn-icon"
5317
+ ]
5318
+ }
5319
+ ],
5320
+ "exports": [
5321
+ {
5322
+ "kind": "js",
5323
+ "name": "default",
5324
+ "declaration": {
5325
+ "name": "SynOption",
5326
+ "module": "components/option/option.js"
5327
+ }
5328
+ }
5329
+ ]
5330
+ },
5331
+ {
5332
+ "kind": "javascript-module",
5333
+ "path": "components/popup/popup.js",
5334
+ "declarations": [
5335
+ {
5336
+ "kind": "class",
5337
+ "description": "",
5338
+ "name": "SynPopup",
5339
+ "cssProperties": [
5340
+ {
5341
+ "description": "The size of the arrow. Note that an arrow won't be shown unless the `arrow` attribute is used.",
5342
+ "name": "--arrow-size",
5343
+ "default": "6px"
4905
5344
  },
4906
5345
  {
4907
- "kind": "field",
4908
- "name": "shiftBoundary",
4909
- "type": {
4910
- "text": "Element | Element[]"
4911
- },
4912
- "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
4913
- "attribute": "shiftBoundary"
5346
+ "description": "The color of the arrow.",
5347
+ "name": "--arrow-color",
5348
+ "default": "var(--syn-color-neutral-0)"
4914
5349
  },
4915
5350
  {
4916
- "kind": "field",
4917
- "name": "shiftPadding",
4918
- "type": {
4919
- "text": "number"
4920
- },
4921
- "default": "0",
4922
- "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
4923
- "attribute": "shift-padding"
5351
+ "description": "A read-only custom property that determines the amount of width the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`.",
5352
+ "name": "--auto-size-available-width"
4924
5353
  },
4925
5354
  {
4926
- "kind": "field",
4927
- "name": "autoSize",
4928
- "type": {
4929
- "text": "'horizontal' | 'vertical' | 'both'"
4930
- },
4931
- "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
4932
- "attribute": "auto-size"
5355
+ "description": "A read-only custom property that determines the amount of height the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`.",
5356
+ "name": "--auto-size-available-height"
5357
+ }
5358
+ ],
5359
+ "cssParts": [
5360
+ {
5361
+ "description": "The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and maybe a border or box shadow.",
5362
+ "name": "arrow"
5363
+ },
5364
+ {
5365
+ "description": "The popup's container. Useful for setting a background color, box shadow, etc.",
5366
+ "name": "popup"
5367
+ },
5368
+ {
5369
+ "description": "The hover bridge element. Only available when the `hover-bridge` option is enabled.",
5370
+ "name": "hover-bridge"
5371
+ }
5372
+ ],
5373
+ "slots": [
5374
+ {
5375
+ "description": "The popup's content.",
5376
+ "name": ""
4933
5377
  },
5378
+ {
5379
+ "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can use the `anchor` attribute or property instead.",
5380
+ "name": "anchor"
5381
+ }
5382
+ ],
5383
+ "members": [
4934
5384
  {
4935
5385
  "kind": "field",
4936
- "name": "sync",
5386
+ "name": "anchorEl",
4937
5387
  "type": {
4938
- "text": "'width' | 'height' | 'both'"
5388
+ "text": "Element | VirtualElement | null"
4939
5389
  },
4940
- "description": "Syncs the popup's width or height to that of the anchor element.",
4941
- "attribute": "sync"
5390
+ "privacy": "private"
4942
5391
  },
4943
5392
  {
4944
5393
  "kind": "field",
4945
- "name": "autoSizeBoundary",
5394
+ "name": "cleanup",
4946
5395
  "type": {
4947
- "text": "Element | Element[]"
5396
+ "text": "ReturnType<typeof autoUpdate> | undefined"
4948
5397
  },
4949
- "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
4950
- "attribute": "autoSizeBoundary"
5398
+ "privacy": "private"
4951
5399
  },
4952
5400
  {
4953
5401
  "kind": "field",
4954
- "name": "autoSizePadding",
5402
+ "name": "popup",
4955
5403
  "type": {
4956
- "text": "number"
5404
+ "text": "HTMLElement"
4957
5405
  },
4958
- "default": "0",
4959
- "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
4960
- "attribute": "auto-size-padding"
5406
+ "description": "A reference to the internal popup container. Useful for animating and styling the popup with JavaScript."
4961
5407
  },
4962
5408
  {
4963
5409
  "kind": "field",
4964
- "name": "hoverBridge",
5410
+ "name": "arrowEl",
4965
5411
  "type": {
4966
- "text": "boolean"
5412
+ "text": "HTMLElement"
4967
5413
  },
4968
- "default": "false",
4969
- "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.",
4970
- "attribute": "hover-bridge"
4971
- },
4972
- {
4973
- "kind": "method",
4974
- "name": "handleAnchorChange",
4975
- "privacy": "private"
4976
- },
4977
- {
4978
- "kind": "method",
4979
- "name": "start",
4980
5414
  "privacy": "private"
4981
5415
  },
4982
- {
4983
- "kind": "method",
4984
- "name": "stop",
4985
- "privacy": "private",
4986
- "return": {
4987
- "type": {
4988
- "text": "Promise<void>"
4989
- }
4990
- }
4991
- },
4992
- {
4993
- "kind": "method",
4994
- "name": "reposition",
4995
- "description": "Forces the popup to recalculate and reposition itself."
4996
- },
4997
5416
  {
4998
5417
  "kind": "field",
4999
- "name": "updateHoverBridge",
5000
- "privacy": "private"
5001
- }
5002
- ],
5003
- "events": [
5004
- {
5005
- "description": "Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive operations in your listener or consider debouncing it.",
5006
- "name": "syn-reposition",
5007
- "reactName": "onSynReposition",
5008
- "eventName": "SynRepositionEvent"
5009
- }
5010
- ],
5011
- "attributes": [
5012
- {
5013
5418
  "name": "anchor",
5014
5419
  "type": {
5015
5420
  "text": "Element | string | VirtualElement"
5016
5421
  },
5017
5422
  "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
5018
- "fieldName": "anchor"
5423
+ "attribute": "anchor"
5019
5424
  },
5020
5425
  {
5426
+ "kind": "field",
5021
5427
  "name": "active",
5022
5428
  "type": {
5023
5429
  "text": "boolean"
5024
5430
  },
5025
5431
  "default": "false",
5026
5432
  "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
5027
- "fieldName": "active"
5433
+ "attribute": "active",
5434
+ "reflects": true
5028
5435
  },
5029
5436
  {
5437
+ "kind": "field",
5030
5438
  "name": "placement",
5031
5439
  "type": {
5032
5440
  "text": "| 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end'"
5033
5441
  },
5034
5442
  "default": "'top'",
5035
5443
  "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
5036
- "fieldName": "placement"
5444
+ "attribute": "placement",
5445
+ "reflects": true
5037
5446
  },
5038
5447
  {
5448
+ "kind": "field",
5039
5449
  "name": "strategy",
5040
5450
  "type": {
5041
5451
  "text": "'absolute' | 'fixed'"
5042
5452
  },
5043
5453
  "default": "'absolute'",
5044
5454
  "description": "Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if overflow is\nclipped, using a `fixed` position strategy can often workaround it.",
5045
- "fieldName": "strategy"
5455
+ "attribute": "strategy",
5456
+ "reflects": true
5046
5457
  },
5047
5458
  {
5459
+ "kind": "field",
5048
5460
  "name": "distance",
5049
5461
  "type": {
5050
5462
  "text": "number"
5051
5463
  },
5052
5464
  "default": "0",
5053
5465
  "description": "The distance in pixels from which to offset the panel away from its anchor.",
5054
- "fieldName": "distance"
5466
+ "attribute": "distance"
5467
+ },
5468
+ {
5469
+ "kind": "field",
5470
+ "name": "skidding",
5471
+ "type": {
5472
+ "text": "number"
5473
+ },
5474
+ "default": "0",
5475
+ "description": "The distance in pixels from which to offset the panel along its anchor.",
5476
+ "attribute": "skidding"
5477
+ },
5478
+ {
5479
+ "kind": "field",
5480
+ "name": "arrow",
5481
+ "type": {
5482
+ "text": "boolean"
5483
+ },
5484
+ "default": "false",
5485
+ "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
5486
+ "attribute": "arrow"
5487
+ },
5488
+ {
5489
+ "kind": "field",
5490
+ "name": "arrowPlacement",
5491
+ "type": {
5492
+ "text": "'start' | 'end' | 'center' | 'anchor'"
5493
+ },
5494
+ "default": "'anchor'",
5495
+ "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
5496
+ "attribute": "arrow-placement"
5497
+ },
5498
+ {
5499
+ "kind": "field",
5500
+ "name": "arrowPadding",
5501
+ "type": {
5502
+ "text": "number"
5503
+ },
5504
+ "default": "10",
5505
+ "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
5506
+ "attribute": "arrow-padding"
5507
+ },
5508
+ {
5509
+ "kind": "field",
5510
+ "name": "flip",
5511
+ "type": {
5512
+ "text": "boolean"
5513
+ },
5514
+ "default": "false",
5515
+ "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
5516
+ "attribute": "flip"
5517
+ },
5518
+ {
5519
+ "kind": "field",
5520
+ "name": "flipFallbackPlacements",
5521
+ "type": {
5522
+ "text": "string"
5523
+ },
5524
+ "default": "''",
5525
+ "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
5526
+ "attribute": "flip-fallback-placements"
5527
+ },
5528
+ {
5529
+ "kind": "field",
5530
+ "name": "flipFallbackStrategy",
5531
+ "type": {
5532
+ "text": "'best-fit' | 'initial'"
5533
+ },
5534
+ "default": "'best-fit'",
5535
+ "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
5536
+ "attribute": "flip-fallback-strategy"
5537
+ },
5538
+ {
5539
+ "kind": "field",
5540
+ "name": "flipBoundary",
5541
+ "type": {
5542
+ "text": "Element | Element[]"
5543
+ },
5544
+ "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
5545
+ "attribute": "flipBoundary"
5546
+ },
5547
+ {
5548
+ "kind": "field",
5549
+ "name": "flipPadding",
5550
+ "type": {
5551
+ "text": "number"
5552
+ },
5553
+ "default": "0",
5554
+ "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
5555
+ "attribute": "flip-padding"
5556
+ },
5557
+ {
5558
+ "kind": "field",
5559
+ "name": "shift",
5560
+ "type": {
5561
+ "text": "boolean"
5562
+ },
5563
+ "default": "false",
5564
+ "description": "Moves the popup along the axis to keep it in view when clipped.",
5565
+ "attribute": "shift"
5566
+ },
5567
+ {
5568
+ "kind": "field",
5569
+ "name": "shiftBoundary",
5570
+ "type": {
5571
+ "text": "Element | Element[]"
5572
+ },
5573
+ "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
5574
+ "attribute": "shiftBoundary"
5575
+ },
5576
+ {
5577
+ "kind": "field",
5578
+ "name": "shiftPadding",
5579
+ "type": {
5580
+ "text": "number"
5581
+ },
5582
+ "default": "0",
5583
+ "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
5584
+ "attribute": "shift-padding"
5585
+ },
5586
+ {
5587
+ "kind": "field",
5588
+ "name": "autoSize",
5589
+ "type": {
5590
+ "text": "'horizontal' | 'vertical' | 'both'"
5591
+ },
5592
+ "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
5593
+ "attribute": "auto-size"
5594
+ },
5595
+ {
5596
+ "kind": "field",
5597
+ "name": "sync",
5598
+ "type": {
5599
+ "text": "'width' | 'height' | 'both'"
5600
+ },
5601
+ "description": "Syncs the popup's width or height to that of the anchor element.",
5602
+ "attribute": "sync"
5603
+ },
5604
+ {
5605
+ "kind": "field",
5606
+ "name": "autoSizeBoundary",
5607
+ "type": {
5608
+ "text": "Element | Element[]"
5609
+ },
5610
+ "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
5611
+ "attribute": "autoSizeBoundary"
5612
+ },
5613
+ {
5614
+ "kind": "field",
5615
+ "name": "autoSizePadding",
5616
+ "type": {
5617
+ "text": "number"
5618
+ },
5619
+ "default": "0",
5620
+ "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
5621
+ "attribute": "auto-size-padding"
5622
+ },
5623
+ {
5624
+ "kind": "field",
5625
+ "name": "hoverBridge",
5626
+ "type": {
5627
+ "text": "boolean"
5628
+ },
5629
+ "default": "false",
5630
+ "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.",
5631
+ "attribute": "hover-bridge"
5632
+ },
5633
+ {
5634
+ "kind": "method",
5635
+ "name": "handleAnchorChange",
5636
+ "privacy": "private"
5637
+ },
5638
+ {
5639
+ "kind": "method",
5640
+ "name": "start",
5641
+ "privacy": "private"
5642
+ },
5643
+ {
5644
+ "kind": "method",
5645
+ "name": "stop",
5646
+ "privacy": "private",
5647
+ "return": {
5648
+ "type": {
5649
+ "text": "Promise<void>"
5650
+ }
5651
+ }
5652
+ },
5653
+ {
5654
+ "kind": "method",
5655
+ "name": "reposition",
5656
+ "description": "Forces the popup to recalculate and reposition itself."
5657
+ },
5658
+ {
5659
+ "kind": "field",
5660
+ "name": "updateHoverBridge",
5661
+ "privacy": "private"
5662
+ }
5663
+ ],
5664
+ "events": [
5665
+ {
5666
+ "description": "Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive operations in your listener or consider debouncing it.",
5667
+ "name": "syn-reposition",
5668
+ "reactName": "onSynReposition",
5669
+ "eventName": "SynRepositionEvent"
5670
+ }
5671
+ ],
5672
+ "attributes": [
5673
+ {
5674
+ "name": "anchor",
5675
+ "type": {
5676
+ "text": "Element | string | VirtualElement"
5677
+ },
5678
+ "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
5679
+ "fieldName": "anchor"
5680
+ },
5681
+ {
5682
+ "name": "active",
5683
+ "type": {
5684
+ "text": "boolean"
5685
+ },
5686
+ "default": "false",
5687
+ "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
5688
+ "fieldName": "active"
5689
+ },
5690
+ {
5691
+ "name": "placement",
5692
+ "type": {
5693
+ "text": "| 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end'"
5694
+ },
5695
+ "default": "'top'",
5696
+ "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
5697
+ "fieldName": "placement"
5698
+ },
5699
+ {
5700
+ "name": "strategy",
5701
+ "type": {
5702
+ "text": "'absolute' | 'fixed'"
5703
+ },
5704
+ "default": "'absolute'",
5705
+ "description": "Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if overflow is\nclipped, using a `fixed` position strategy can often workaround it.",
5706
+ "fieldName": "strategy"
5707
+ },
5708
+ {
5709
+ "name": "distance",
5710
+ "type": {
5711
+ "text": "number"
5712
+ },
5713
+ "default": "0",
5714
+ "description": "The distance in pixels from which to offset the panel away from its anchor.",
5715
+ "fieldName": "distance"
5055
5716
  },
5056
5717
  {
5057
5718
  "name": "skidding",
@@ -5229,28 +5890,253 @@
5229
5890
  },
5230
5891
  {
5231
5892
  "kind": "javascript-module",
5232
- "path": "components/radio/radio.js",
5893
+ "path": "components/prio-nav/prio-nav.js",
5233
5894
  "declarations": [
5234
5895
  {
5235
5896
  "kind": "class",
5236
5897
  "description": "",
5237
- "name": "SynRadio",
5898
+ "name": "SynPrioNav",
5238
5899
  "cssParts": [
5239
5900
  {
5240
5901
  "description": "The component's base wrapper.",
5241
5902
  "name": "base"
5242
5903
  },
5243
5904
  {
5244
- "description": "The circular container that wraps the radio's checked state.",
5245
- "name": "control"
5905
+ "description": "The wrapper around the priority menu",
5906
+ "name": "priority-menu"
5246
5907
  },
5247
5908
  {
5248
- "description": "The radio control when the radio is checked.",
5249
- "name": "control--checked"
5909
+ "description": "The navigation item for the priority menu",
5910
+ "name": "priority-menu-nav-item"
5250
5911
  },
5251
5912
  {
5252
- "description": "The checked icon, an `<syn-icon>` element.",
5253
- "name": "checked-icon"
5913
+ "description": "The label for the priority menu",
5914
+ "name": "priority-menu-label"
5915
+ },
5916
+ {
5917
+ "description": "The icon for the priority menu",
5918
+ "name": "priority-menu-icon"
5919
+ },
5920
+ {
5921
+ "description": "The container for the shifted navigation items, if there is not enough space.",
5922
+ "name": "priority-menu-container"
5923
+ }
5924
+ ],
5925
+ "slots": [
5926
+ {
5927
+ "description": "The given navigation items. Must be horizontal `<syn-nav-item>`s or have a role of \"menuitem\"",
5928
+ "name": ""
5929
+ }
5930
+ ],
5931
+ "members": [
5932
+ {
5933
+ "kind": "field",
5934
+ "name": "dependencies",
5935
+ "type": {
5936
+ "text": "object"
5937
+ },
5938
+ "static": true,
5939
+ "default": "{\n 'syn-dropdown': SynDropdown,\n 'syn-icon': SynIcon,\n 'syn-menu': SynMenu,\n 'syn-nav-item': SynNavItem,\n }"
5940
+ },
5941
+ {
5942
+ "kind": "field",
5943
+ "name": "resizeObserver",
5944
+ "type": {
5945
+ "text": "ResizeObserver"
5946
+ },
5947
+ "privacy": "private",
5948
+ "description": "Internal resize observer"
5949
+ },
5950
+ {
5951
+ "kind": "field",
5952
+ "name": "defaultSlot",
5953
+ "type": {
5954
+ "text": "HTMLSlotElement"
5955
+ },
5956
+ "privacy": "private",
5957
+ "description": "Reference to the rendered children slot"
5958
+ },
5959
+ {
5960
+ "kind": "field",
5961
+ "name": "menuSlot",
5962
+ "type": {
5963
+ "text": "HTMLSlotElement"
5964
+ },
5965
+ "privacy": "private",
5966
+ "description": "Reference to the slot where priority menu items are placed"
5967
+ },
5968
+ {
5969
+ "kind": "field",
5970
+ "name": "horizontalNav",
5971
+ "type": {
5972
+ "text": "HTMLDivElement"
5973
+ },
5974
+ "privacy": "private",
5975
+ "description": "The wrapper that holds the horizontal navigation items"
5976
+ },
5977
+ {
5978
+ "kind": "field",
5979
+ "name": "priorityMenu",
5980
+ "type": {
5981
+ "text": "SynDropdown"
5982
+ },
5983
+ "privacy": "private",
5984
+ "description": "The priority menu dropdown"
5985
+ },
5986
+ {
5987
+ "kind": "field",
5988
+ "name": "priorityMenuLabel",
5989
+ "type": {
5990
+ "text": "string"
5991
+ },
5992
+ "default": "'Menu'",
5993
+ "description": "The components priority menu label.\nThis will be shown after the priority menu 3 dots link",
5994
+ "attribute": "priority-menu-label"
5995
+ },
5996
+ {
5997
+ "kind": "field",
5998
+ "name": "itemPositionsCached",
5999
+ "type": {
6000
+ "text": "boolean"
6001
+ },
6002
+ "privacy": "private",
6003
+ "default": "false",
6004
+ "description": "Internal state reflecting if the item positions have been cached"
6005
+ },
6006
+ {
6007
+ "kind": "field",
6008
+ "name": "amountOfNavItems",
6009
+ "type": {
6010
+ "text": "number"
6011
+ },
6012
+ "privacy": "private",
6013
+ "default": "0",
6014
+ "description": "The amount of nav items that are currently slotted"
6015
+ },
6016
+ {
6017
+ "kind": "field",
6018
+ "name": "amountOfVisibleItems",
6019
+ "type": {
6020
+ "text": "number"
6021
+ },
6022
+ "privacy": "private",
6023
+ "default": "0",
6024
+ "description": "The amount of items that are currently visible"
6025
+ },
6026
+ {
6027
+ "kind": "field",
6028
+ "name": "hasItemsInDropdown",
6029
+ "type": {
6030
+ "text": "boolean"
6031
+ },
6032
+ "privacy": "private",
6033
+ "default": "false",
6034
+ "description": "Internal state reflecting if there are items in the priority menu"
6035
+ },
6036
+ {
6037
+ "kind": "method",
6038
+ "name": "getSlottedNavItems",
6039
+ "privacy": "private",
6040
+ "description": "Get a list of all slotted `<syn-nav-item />` elements\nthat are either in the main slot or the priority menu slot"
6041
+ },
6042
+ {
6043
+ "kind": "method",
6044
+ "name": "cacheItemPositions",
6045
+ "privacy": "private",
6046
+ "parameters": [
6047
+ {
6048
+ "name": "items",
6049
+ "type": {
6050
+ "text": "SynNavItem[]"
6051
+ },
6052
+ "description": "The items to cache the position for"
6053
+ }
6054
+ ],
6055
+ "description": "Cache the items right offset position to make faster checks placement into priority menu"
6056
+ },
6057
+ {
6058
+ "kind": "method",
6059
+ "name": "handlePriorityMenu",
6060
+ "privacy": "private",
6061
+ "description": "Determines which items should be shown or hidden, depending on the current width"
6062
+ },
6063
+ {
6064
+ "kind": "method",
6065
+ "name": "renderPriorityMenu",
6066
+ "privacy": "private"
6067
+ },
6068
+ {
6069
+ "kind": "method",
6070
+ "name": "slotChange",
6071
+ "privacy": "private"
6072
+ }
6073
+ ],
6074
+ "attributes": [
6075
+ {
6076
+ "name": "priority-menu-label",
6077
+ "type": {
6078
+ "text": "string"
6079
+ },
6080
+ "default": "'Menu'",
6081
+ "description": "The components priority menu label.\nThis will be shown after the priority menu 3 dots link",
6082
+ "fieldName": "priorityMenuLabel"
6083
+ }
6084
+ ],
6085
+ "superclass": {
6086
+ "name": "SynergyElement",
6087
+ "module": "/src/internal/synergy-element.js"
6088
+ },
6089
+ "summary": "The `<syn-prio-nav />` element provides a generic navigation bar\nthat can be used to group multiple navigation items (usually horizontal `<syn-nav-item />`s)\ntogether. It will automatically group all items not visible in the viewport into a custom\npriority menu.",
6090
+ "tagNameWithoutPrefix": "prio-nav",
6091
+ "tagName": "syn-prio-nav",
6092
+ "customElement": true,
6093
+ "jsDoc": "/**\n * @summary The `<syn-prio-nav />` element provides a generic navigation bar\n * that can be used to group multiple navigation items (usually horizontal `<syn-nav-item />`s)\n * together. It will automatically group all items not visible in the viewport into a custom\n * priority menu.\n *\n * @example\n * <syn-prio-nav>\n * <syn-nav-item current horizontal>Item 1</syn-nav-item>\n * <button role=\"menuitem\">Item 2 (custom)</button>\n * <syn-nav-item horizontal>Item 3</syn-nav-item>\n * </syn-prio-nav>\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-prio-nav--docs\n * @status stable\n * @since 1.14.0\n *\n * @dependency syn-dropdown\n * @dependency syn-icon\n * @dependency syn-menu\n * @dependency syn-nav-item\n *\n * @slot - The given navigation items. Must be horizontal `<syn-nav-item>`s\n * or have a role of \"menuitem\"\n *\n * @csspart base - The component's base wrapper.\n * @csspart priority-menu - The wrapper around the priority menu\n * @csspart priority-menu-nav-item - The navigation item for the priority menu\n * @csspart priority-menu-label - The label for the priority menu\n * @csspart priority-menu-icon - The icon for the priority menu\n * @csspart priority-menu-container - The container for the shifted navigation items,\n * if there is not enough space.\n *\n */",
6094
+ "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-prio-nav--docs",
6095
+ "status": "stable",
6096
+ "since": "1.14.0",
6097
+ "dependencies": [
6098
+ "syn-dropdown",
6099
+ "syn-icon",
6100
+ "syn-menu",
6101
+ "syn-nav-item"
6102
+ ]
6103
+ }
6104
+ ],
6105
+ "exports": [
6106
+ {
6107
+ "kind": "js",
6108
+ "name": "default",
6109
+ "declaration": {
6110
+ "name": "SynPrioNav",
6111
+ "module": "components/prio-nav/prio-nav.js"
6112
+ }
6113
+ }
6114
+ ]
6115
+ },
6116
+ {
6117
+ "kind": "javascript-module",
6118
+ "path": "components/radio/radio.js",
6119
+ "declarations": [
6120
+ {
6121
+ "kind": "class",
6122
+ "description": "",
6123
+ "name": "SynRadio",
6124
+ "cssParts": [
6125
+ {
6126
+ "description": "The component's base wrapper.",
6127
+ "name": "base"
6128
+ },
6129
+ {
6130
+ "description": "The circular container that wraps the radio's checked state.",
6131
+ "name": "control"
6132
+ },
6133
+ {
6134
+ "description": "The radio control when the radio is checked.",
6135
+ "name": "control--checked"
6136
+ },
6137
+ {
6138
+ "description": "The checked icon, an `<syn-icon>` element.",
6139
+ "name": "checked-icon"
5254
6140
  },
5255
6141
  {
5256
6142
  "description": "The container that wraps the radio's label.",
@@ -6689,315 +7575,655 @@
6689
7575
  },
6690
7576
  {
6691
7577
  "kind": "method",
6692
- "name": "handleInvalid",
7578
+ "name": "handleInvalid",
7579
+ "privacy": "private",
7580
+ "parameters": [
7581
+ {
7582
+ "name": "event",
7583
+ "type": {
7584
+ "text": "Event"
7585
+ }
7586
+ }
7587
+ ]
7588
+ },
7589
+ {
7590
+ "kind": "method",
7591
+ "name": "handleDisabledChange"
7592
+ },
7593
+ {
7594
+ "kind": "method",
7595
+ "name": "handleValueChange"
7596
+ },
7597
+ {
7598
+ "kind": "method",
7599
+ "name": "handleOpenChange"
7600
+ },
7601
+ {
7602
+ "kind": "method",
7603
+ "name": "show",
7604
+ "description": "Shows the listbox."
7605
+ },
7606
+ {
7607
+ "kind": "method",
7608
+ "name": "hide",
7609
+ "description": "Hides the listbox."
7610
+ },
7611
+ {
7612
+ "kind": "method",
7613
+ "name": "checkValidity",
7614
+ "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
7615
+ },
7616
+ {
7617
+ "kind": "method",
7618
+ "name": "getForm",
7619
+ "return": {
7620
+ "type": {
7621
+ "text": "HTMLFormElement | null"
7622
+ }
7623
+ },
7624
+ "description": "Gets the associated form, if one exists."
7625
+ },
7626
+ {
7627
+ "kind": "method",
7628
+ "name": "reportValidity",
7629
+ "description": "Checks for validity and shows the browser's validation message if the control is invalid."
7630
+ },
7631
+ {
7632
+ "kind": "method",
7633
+ "name": "setCustomValidity",
7634
+ "parameters": [
7635
+ {
7636
+ "name": "message",
7637
+ "type": {
7638
+ "text": "string"
7639
+ }
7640
+ }
7641
+ ],
7642
+ "description": "Sets a custom validation message. Pass an empty string to restore validity."
7643
+ },
7644
+ {
7645
+ "kind": "method",
7646
+ "name": "focus",
7647
+ "parameters": [
7648
+ {
7649
+ "name": "options",
7650
+ "optional": true,
7651
+ "type": {
7652
+ "text": "FocusOptions"
7653
+ }
7654
+ }
7655
+ ],
7656
+ "description": "Sets focus on the control."
7657
+ },
7658
+ {
7659
+ "kind": "method",
7660
+ "name": "blur",
7661
+ "description": "Removes focus from the control."
7662
+ }
7663
+ ],
7664
+ "events": [
7665
+ {
7666
+ "description": "Emitted when the control's value changes.",
7667
+ "name": "syn-change",
7668
+ "reactName": "onSynChange",
7669
+ "eventName": "SynChangeEvent"
7670
+ },
7671
+ {
7672
+ "description": "Emitted when the control's value is cleared.",
7673
+ "name": "syn-clear",
7674
+ "reactName": "onSynClear",
7675
+ "eventName": "SynClearEvent"
7676
+ },
7677
+ {
7678
+ "description": "Emitted when the control receives input.",
7679
+ "name": "syn-input",
7680
+ "reactName": "onSynInput",
7681
+ "eventName": "SynInputEvent"
7682
+ },
7683
+ {
7684
+ "description": "Emitted when the control gains focus.",
7685
+ "name": "syn-focus",
7686
+ "reactName": "onSynFocus",
7687
+ "eventName": "SynFocusEvent"
7688
+ },
7689
+ {
7690
+ "description": "Emitted when the control loses focus.",
7691
+ "name": "syn-blur",
7692
+ "reactName": "onSynBlur",
7693
+ "eventName": "SynBlurEvent"
7694
+ },
7695
+ {
7696
+ "description": "Emitted when the select's menu opens.",
7697
+ "name": "syn-show",
7698
+ "reactName": "onSynShow",
7699
+ "eventName": "SynShowEvent"
7700
+ },
7701
+ {
7702
+ "description": "Emitted after the select's menu opens and all animations are complete.",
7703
+ "name": "syn-after-show",
7704
+ "reactName": "onSynAfterShow",
7705
+ "eventName": "SynAfterShowEvent"
7706
+ },
7707
+ {
7708
+ "description": "Emitted when the select's menu closes.",
7709
+ "name": "syn-hide",
7710
+ "reactName": "onSynHide",
7711
+ "eventName": "SynHideEvent"
7712
+ },
7713
+ {
7714
+ "description": "Emitted after the select's menu closes and all animations are complete.",
7715
+ "name": "syn-after-hide",
7716
+ "reactName": "onSynAfterHide",
7717
+ "eventName": "SynAfterHideEvent"
7718
+ },
7719
+ {
7720
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
7721
+ "name": "syn-invalid",
7722
+ "reactName": "onSynInvalid",
7723
+ "eventName": "SynInvalidEvent"
7724
+ }
7725
+ ],
7726
+ "attributes": [
7727
+ {
7728
+ "name": "name",
7729
+ "type": {
7730
+ "text": "string"
7731
+ },
7732
+ "default": "''",
7733
+ "description": "The name of the select, submitted as a name/value pair with form data.",
7734
+ "fieldName": "name"
7735
+ },
7736
+ {
7737
+ "name": "value",
7738
+ "type": {
7739
+ "text": "string | string[]"
7740
+ },
7741
+ "default": "''",
7742
+ "description": "The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue attribute will be a space-delimited list of values based on the options selected, and the value property will\nbe an array. **For this reason, values must not contain spaces.**",
7743
+ "fieldName": "value"
7744
+ },
7745
+ {
7746
+ "name": "size",
7747
+ "type": {
7748
+ "text": "'small' | 'medium' | 'large'"
7749
+ },
7750
+ "default": "'medium'",
7751
+ "description": "The select's size.",
7752
+ "fieldName": "size"
7753
+ },
7754
+ {
7755
+ "name": "placeholder",
7756
+ "type": {
7757
+ "text": "string"
7758
+ },
7759
+ "default": "''",
7760
+ "description": "Placeholder text to show as a hint when the select is empty.",
7761
+ "fieldName": "placeholder"
7762
+ },
7763
+ {
7764
+ "name": "multiple",
7765
+ "type": {
7766
+ "text": "boolean"
7767
+ },
7768
+ "default": "false",
7769
+ "description": "Allows more than one option to be selected.",
7770
+ "fieldName": "multiple"
7771
+ },
7772
+ {
7773
+ "name": "max-options-visible",
7774
+ "type": {
7775
+ "text": "number"
7776
+ },
7777
+ "default": "3",
7778
+ "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
7779
+ "fieldName": "maxOptionsVisible"
7780
+ },
7781
+ {
7782
+ "name": "disabled",
7783
+ "type": {
7784
+ "text": "boolean"
7785
+ },
7786
+ "default": "false",
7787
+ "description": "Disables the select control.",
7788
+ "fieldName": "disabled"
7789
+ },
7790
+ {
7791
+ "name": "clearable",
7792
+ "type": {
7793
+ "text": "boolean"
7794
+ },
7795
+ "default": "false",
7796
+ "description": "Adds a clear button when the select is not empty.",
7797
+ "fieldName": "clearable"
7798
+ },
7799
+ {
7800
+ "name": "open",
7801
+ "type": {
7802
+ "text": "boolean"
7803
+ },
7804
+ "default": "false",
7805
+ "description": "Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.",
7806
+ "fieldName": "open"
7807
+ },
7808
+ {
7809
+ "name": "hoist",
7810
+ "type": {
7811
+ "text": "boolean"
7812
+ },
7813
+ "default": "false",
7814
+ "description": "Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.",
7815
+ "fieldName": "hoist"
7816
+ },
7817
+ {
7818
+ "name": "label",
7819
+ "type": {
7820
+ "text": "string"
7821
+ },
7822
+ "default": "''",
7823
+ "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
7824
+ "fieldName": "label"
7825
+ },
7826
+ {
7827
+ "name": "placement",
7828
+ "type": {
7829
+ "text": "'top' | 'bottom'"
7830
+ },
7831
+ "default": "'bottom'",
7832
+ "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
7833
+ "fieldName": "placement"
7834
+ },
7835
+ {
7836
+ "name": "help-text",
7837
+ "type": {
7838
+ "text": "string"
7839
+ },
7840
+ "default": "''",
7841
+ "description": "The select's help text. If you need to display HTML, use the `help-text` slot instead.",
7842
+ "fieldName": "helpText"
7843
+ },
7844
+ {
7845
+ "name": "form",
7846
+ "type": {
7847
+ "text": "string"
7848
+ },
7849
+ "default": "''",
7850
+ "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.",
7851
+ "fieldName": "form"
7852
+ },
7853
+ {
7854
+ "name": "required",
7855
+ "type": {
7856
+ "text": "boolean"
7857
+ },
7858
+ "default": "false",
7859
+ "description": "The select's required attribute.",
7860
+ "fieldName": "required"
7861
+ },
7862
+ {
7863
+ "name": "getTag",
7864
+ "type": {
7865
+ "text": "(option: SynOption, index: number) => TemplateResult | string | HTMLElement"
7866
+ },
7867
+ "description": "A function that customizes the tags to be rendered when multiple=true. The first argument is the option, the second\nis the current tag's index. The function should return either a Lit TemplateResult or a string containing trusted HTML of the symbol to render at\nthe specified value.",
7868
+ "fieldName": "getTag"
7869
+ }
7870
+ ],
7871
+ "superclass": {
7872
+ "name": "SynergyElement",
7873
+ "module": "/src/internal/synergy-element.js"
7874
+ },
7875
+ "summary": "Selects allow you to choose items from a menu of predefined options.",
7876
+ "tagNameWithoutPrefix": "select",
7877
+ "tagName": "syn-select",
7878
+ "customElement": true,
7879
+ "jsDoc": "/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @documentation https://synergy.style/components/select\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-popup\n * @dependency syn-tag\n *\n * @slot - The listbox options. Must be `<syn-option>` elements. You can use `<syn-divider>` to group items visually.\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-change - Emitted when the control's value changes.\n * @event syn-clear - Emitted when the control's value is cleared.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-show - Emitted when the select's menu opens.\n * @event syn-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event syn-hide - Emitted when the select's menu closes.\n * @event syn-after-hide - Emitted after the select's menu closes and all animations are complete.\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 select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n */",
7880
+ "documentation": "https://synergy.style/components/select",
7881
+ "status": "stable",
7882
+ "since": "2.0",
7883
+ "dependencies": [
7884
+ "syn-icon",
7885
+ "syn-popup",
7886
+ "syn-tag"
7887
+ ]
7888
+ }
7889
+ ],
7890
+ "exports": [
7891
+ {
7892
+ "kind": "js",
7893
+ "name": "default",
7894
+ "declaration": {
7895
+ "name": "SynSelect",
7896
+ "module": "components/select/select.js"
7897
+ }
7898
+ }
7899
+ ]
7900
+ },
7901
+ {
7902
+ "kind": "javascript-module",
7903
+ "path": "components/side-nav/side-nav.js",
7904
+ "declarations": [
7905
+ {
7906
+ "kind": "class",
7907
+ "description": "",
7908
+ "name": "SynSideNav",
7909
+ "cssProperties": [
7910
+ {
7911
+ "description": "The width of the side-nav if in open state",
7912
+ "name": "--side-nav-open-width"
7913
+ },
7914
+ {
7915
+ "description": "The width of the side-nav if in rail mode without open",
7916
+ "name": "--side-nav-rail-width"
7917
+ }
7918
+ ],
7919
+ "cssParts": [
7920
+ {
7921
+ "description": "The components base wrapper",
7922
+ "name": "base"
7923
+ },
7924
+ {
7925
+ "description": "The drawer that is used under the hood for creating the side-nav",
7926
+ "name": "drawer"
7927
+ },
7928
+ {
7929
+ "description": "The components main content container",
7930
+ "name": "content-container"
7931
+ },
7932
+ {
7933
+ "description": "The components main content",
7934
+ "name": "content"
7935
+ },
7936
+ {
7937
+ "description": "The components footer content container",
7938
+ "name": "footer-container"
7939
+ },
7940
+ {
7941
+ "description": "The components footer divider",
7942
+ "name": "footer-divider"
7943
+ },
7944
+ {
7945
+ "description": "The components footer content",
7946
+ "name": "footer"
7947
+ },
7948
+ {
7949
+ "description": "The overlay that covers the screen behind the side-nav.",
7950
+ "name": "overlay"
7951
+ }
7952
+ ],
7953
+ "slots": [
7954
+ {
7955
+ "description": "The main content of the side-nav. Used for <syn-nav-item /> elements.",
7956
+ "name": ""
7957
+ },
7958
+ {
7959
+ "description": "The footer content of the side-nav. Used for <syn-nav-item /> elements. Please avoid having to many nav-items as it can massively influence the user experience.",
7960
+ "name": "footer"
7961
+ }
7962
+ ],
7963
+ "members": [
7964
+ {
7965
+ "kind": "field",
7966
+ "name": "dependencies",
7967
+ "type": {
7968
+ "text": "object"
7969
+ },
7970
+ "static": true,
7971
+ "default": "{\n 'syn-divider': SynDivider,\n 'syn-drawer': SynDrawer,\n }"
7972
+ },
7973
+ {
7974
+ "kind": "field",
7975
+ "name": "hasSlotController",
7976
+ "privacy": "private",
7977
+ "readonly": true,
7978
+ "default": "new HasSlotController(this, '[default]', 'footer')"
7979
+ },
7980
+ {
7981
+ "kind": "field",
7982
+ "name": "localize",
7983
+ "privacy": "private",
7984
+ "readonly": true,
7985
+ "default": "new LocalizeController(this)"
7986
+ },
7987
+ {
7988
+ "kind": "field",
7989
+ "name": "timeout",
7990
+ "type": {
7991
+ "text": "NodeJS.Timeout"
7992
+ },
7993
+ "privacy": "private"
7994
+ },
7995
+ {
7996
+ "kind": "field",
7997
+ "name": "isAnimationActive",
7998
+ "type": {
7999
+ "text": "boolean"
8000
+ },
8001
+ "privacy": "private",
8002
+ "default": "false",
8003
+ "description": "Current animation active state"
8004
+ },
8005
+ {
8006
+ "kind": "field",
8007
+ "name": "drawer",
8008
+ "type": {
8009
+ "text": "SynDrawer"
8010
+ },
8011
+ "privacy": "private",
8012
+ "description": "Reference to the drawer"
8013
+ },
8014
+ {
8015
+ "kind": "field",
8016
+ "name": "open",
8017
+ "type": {
8018
+ "text": "boolean"
8019
+ },
8020
+ "default": "false",
8021
+ "description": "Indicates whether or not the side-nav is open.\nYou can toggle this attribute to show and hide the side-nav, or you can use the `show()` and\n`hide()` methods and this attribute will reflect the side-nav's open state.\n\nDepending if the rail attribute is set or not, the behavior will differ.\n\n__Non rail__:\nWith `open` will show the side-nav.\nWithout `open`, the side-nav will be hidden.\n\n__Rail__:\nWith `open` will show the whole side-nav with an overlay for touch devices\nor without an overlay for non-touch devices.\nWithout `open`, the side-nav will only show the prefix of nav-item's.",
8022
+ "attribute": "open",
8023
+ "reflects": true
8024
+ },
8025
+ {
8026
+ "kind": "field",
8027
+ "name": "rail",
8028
+ "type": {
8029
+ "text": "boolean"
8030
+ },
8031
+ "default": "false",
8032
+ "description": "Use the rail attribute to only show the prefix of navigation items in closed state.\nThis will open on hover on the rail navigation.\nOn touch devices the navigation opens on click and shows an overlay.\n\nNote: The Rail is only an option if all Navigation Items on the first level have an Icon.\nIf this is not the case you should use a burger navigation.",
8033
+ "attribute": "rail",
8034
+ "reflects": true
8035
+ },
8036
+ {
8037
+ "kind": "field",
8038
+ "name": "noFocusTrapping",
8039
+ "type": {
8040
+ "text": "boolean"
8041
+ },
8042
+ "default": "false",
8043
+ "description": "By default, the side-nav traps the focus if in non-rail mode and open.\nTo disable the focus trapping, set this attribute.",
8044
+ "attribute": "no-focus-trapping",
8045
+ "reflects": true
8046
+ },
8047
+ {
8048
+ "kind": "method",
8049
+ "name": "setDelayedCallback",
6693
8050
  "privacy": "private",
6694
8051
  "parameters": [
6695
8052
  {
6696
- "name": "event",
8053
+ "name": "callback",
6697
8054
  "type": {
6698
- "text": "Event"
8055
+ "text": "() => void"
6699
8056
  }
6700
8057
  }
6701
8058
  ]
6702
8059
  },
6703
8060
  {
6704
8061
  "kind": "method",
6705
- "name": "handleDisabledChange"
6706
- },
6707
- {
6708
- "kind": "method",
6709
- "name": "handleValueChange"
6710
- },
6711
- {
6712
- "kind": "method",
6713
- "name": "handleOpenChange"
6714
- },
6715
- {
6716
- "kind": "method",
6717
- "name": "show",
6718
- "description": "Shows the listbox."
8062
+ "name": "handleMouseEnter",
8063
+ "privacy": "private"
6719
8064
  },
6720
8065
  {
6721
8066
  "kind": "method",
6722
- "name": "hide",
6723
- "description": "Hides the listbox."
8067
+ "name": "handleMouseLeave",
8068
+ "privacy": "private"
6724
8069
  },
6725
8070
  {
6726
8071
  "kind": "method",
6727
- "name": "checkValidity",
6728
- "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
8072
+ "name": "handleRequestClose",
8073
+ "privacy": "private"
6729
8074
  },
6730
8075
  {
6731
8076
  "kind": "method",
6732
- "name": "getForm",
6733
- "return": {
6734
- "type": {
6735
- "text": "HTMLFormElement | null"
6736
- }
6737
- },
6738
- "description": "Gets the associated form, if one exists."
8077
+ "name": "addMouseListener",
8078
+ "privacy": "private"
6739
8079
  },
6740
8080
  {
6741
8081
  "kind": "method",
6742
- "name": "reportValidity",
6743
- "description": "Checks for validity and shows the browser's validation message if the control is invalid."
8082
+ "name": "removeMouseListener",
8083
+ "privacy": "private"
6744
8084
  },
6745
8085
  {
6746
8086
  "kind": "method",
6747
- "name": "setCustomValidity",
8087
+ "name": "setDrawerVisibility",
8088
+ "privacy": "private",
6748
8089
  "parameters": [
6749
8090
  {
6750
- "name": "message",
8091
+ "name": "isVisible",
6751
8092
  "type": {
6752
- "text": "string"
8093
+ "text": "boolean"
6753
8094
  }
6754
8095
  }
6755
- ],
6756
- "description": "Sets a custom validation message. Pass an empty string to restore validity."
8096
+ ]
6757
8097
  },
6758
8098
  {
6759
8099
  "kind": "method",
6760
- "name": "focus",
6761
- "parameters": [
6762
- {
6763
- "name": "options",
6764
- "optional": true,
6765
- "type": {
6766
- "text": "FocusOptions"
6767
- }
6768
- }
6769
- ],
6770
- "description": "Sets focus on the control."
8100
+ "name": "forceDrawerVisibilityForRailMode",
8101
+ "privacy": "private"
6771
8102
  },
6772
8103
  {
6773
8104
  "kind": "method",
6774
- "name": "blur",
6775
- "description": "Removes focus from the control."
6776
- }
6777
- ],
6778
- "events": [
6779
- {
6780
- "description": "Emitted when the control's value changes.",
6781
- "name": "syn-change",
6782
- "reactName": "onSynChange",
6783
- "eventName": "SynChangeEvent"
8105
+ "name": "setDrawerAnimations",
8106
+ "privacy": "private"
6784
8107
  },
6785
8108
  {
6786
- "description": "Emitted when the control's value is cleared.",
6787
- "name": "syn-clear",
6788
- "reactName": "onSynClear",
6789
- "eventName": "SynClearEvent"
8109
+ "kind": "method",
8110
+ "name": "handleModeChange"
6790
8111
  },
6791
8112
  {
6792
- "description": "Emitted when the control receives input.",
6793
- "name": "syn-input",
6794
- "reactName": "onSynInput",
6795
- "eventName": "SynInputEvent"
8113
+ "kind": "method",
8114
+ "name": "handleOpenChange"
6796
8115
  },
6797
8116
  {
6798
- "description": "Emitted when the control gains focus.",
6799
- "name": "syn-focus",
6800
- "reactName": "onSynFocus",
6801
- "eventName": "SynFocusEvent"
8117
+ "kind": "method",
8118
+ "name": "handleFocusTrapping"
6802
8119
  },
6803
8120
  {
6804
- "description": "Emitted when the control loses focus.",
6805
- "name": "syn-blur",
6806
- "reactName": "onSynBlur",
6807
- "eventName": "SynBlurEvent"
8121
+ "kind": "method",
8122
+ "name": "show",
8123
+ "description": "Shows the side-nav."
6808
8124
  },
6809
8125
  {
6810
- "description": "Emitted when the select's menu opens.",
8126
+ "kind": "method",
8127
+ "name": "hide",
8128
+ "description": "Hides the side-nav"
8129
+ }
8130
+ ],
8131
+ "events": [
8132
+ {
8133
+ "description": "Emitted when the side-nav opens.",
6811
8134
  "name": "syn-show",
6812
8135
  "reactName": "onSynShow",
6813
8136
  "eventName": "SynShowEvent"
6814
8137
  },
6815
8138
  {
6816
- "description": "Emitted after the select's menu opens and all animations are complete.",
8139
+ "description": "Emitted after the side-nav opens and all animations are complete.",
6817
8140
  "name": "syn-after-show",
6818
8141
  "reactName": "onSynAfterShow",
6819
8142
  "eventName": "SynAfterShowEvent"
6820
8143
  },
6821
8144
  {
6822
- "description": "Emitted when the select's menu closes.",
8145
+ "description": "Emitted when the side-nav closes.",
6823
8146
  "name": "syn-hide",
6824
8147
  "reactName": "onSynHide",
6825
8148
  "eventName": "SynHideEvent"
6826
8149
  },
6827
8150
  {
6828
- "description": "Emitted after the select's menu closes and all animations are complete.",
8151
+ "description": "Emitted after the side-nav closes and all animations are complete.",
6829
8152
  "name": "syn-after-hide",
6830
8153
  "reactName": "onSynAfterHide",
6831
8154
  "eventName": "SynAfterHideEvent"
6832
- },
6833
- {
6834
- "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
6835
- "name": "syn-invalid",
6836
- "reactName": "onSynInvalid",
6837
- "eventName": "SynInvalidEvent"
6838
8155
  }
6839
8156
  ],
6840
8157
  "attributes": [
6841
8158
  {
6842
- "name": "name",
6843
- "type": {
6844
- "text": "string"
6845
- },
6846
- "default": "''",
6847
- "description": "The name of the select, submitted as a name/value pair with form data.",
6848
- "fieldName": "name"
6849
- },
6850
- {
6851
- "name": "value",
6852
- "type": {
6853
- "text": "string | string[]"
6854
- },
6855
- "default": "''",
6856
- "description": "The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue attribute will be a space-delimited list of values based on the options selected, and the value property will\nbe an array. **For this reason, values must not contain spaces.**",
6857
- "fieldName": "value"
6858
- },
6859
- {
6860
- "name": "size",
6861
- "type": {
6862
- "text": "'small' | 'medium' | 'large'"
6863
- },
6864
- "default": "'medium'",
6865
- "description": "The select's size.",
6866
- "fieldName": "size"
6867
- },
6868
- {
6869
- "name": "placeholder",
6870
- "type": {
6871
- "text": "string"
6872
- },
6873
- "default": "''",
6874
- "description": "Placeholder text to show as a hint when the select is empty.",
6875
- "fieldName": "placeholder"
6876
- },
6877
- {
6878
- "name": "multiple",
6879
- "type": {
6880
- "text": "boolean"
6881
- },
6882
- "default": "false",
6883
- "description": "Allows more than one option to be selected.",
6884
- "fieldName": "multiple"
6885
- },
6886
- {
6887
- "name": "max-options-visible",
6888
- "type": {
6889
- "text": "number"
6890
- },
6891
- "default": "3",
6892
- "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
6893
- "fieldName": "maxOptionsVisible"
6894
- },
6895
- {
6896
- "name": "disabled",
6897
- "type": {
6898
- "text": "boolean"
6899
- },
6900
- "default": "false",
6901
- "description": "Disables the select control.",
6902
- "fieldName": "disabled"
6903
- },
6904
- {
6905
- "name": "clearable",
8159
+ "name": "open",
6906
8160
  "type": {
6907
8161
  "text": "boolean"
6908
8162
  },
6909
8163
  "default": "false",
6910
- "description": "Adds a clear button when the select is not empty.",
6911
- "fieldName": "clearable"
8164
+ "description": "Indicates whether or not the side-nav is open.\nYou can toggle this attribute to show and hide the side-nav, or you can use the `show()` and\n`hide()` methods and this attribute will reflect the side-nav's open state.\n\nDepending if the rail attribute is set or not, the behavior will differ.\n\n__Non rail__:\nWith `open` will show the side-nav.\nWithout `open`, the side-nav will be hidden.\n\n__Rail__:\nWith `open` will show the whole side-nav with an overlay for touch devices\nor without an overlay for non-touch devices.\nWithout `open`, the side-nav will only show the prefix of nav-item's.",
8165
+ "fieldName": "open"
6912
8166
  },
6913
8167
  {
6914
- "name": "open",
8168
+ "name": "rail",
6915
8169
  "type": {
6916
8170
  "text": "boolean"
6917
8171
  },
6918
8172
  "default": "false",
6919
- "description": "Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.",
6920
- "fieldName": "open"
8173
+ "description": "Use the rail attribute to only show the prefix of navigation items in closed state.\nThis will open on hover on the rail navigation.\nOn touch devices the navigation opens on click and shows an overlay.\n\nNote: The Rail is only an option if all Navigation Items on the first level have an Icon.\nIf this is not the case you should use a burger navigation.",
8174
+ "fieldName": "rail"
6921
8175
  },
6922
8176
  {
6923
- "name": "hoist",
8177
+ "name": "no-focus-trapping",
6924
8178
  "type": {
6925
8179
  "text": "boolean"
6926
8180
  },
6927
8181
  "default": "false",
6928
- "description": "Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.",
6929
- "fieldName": "hoist"
6930
- },
8182
+ "description": "By default, the side-nav traps the focus if in non-rail mode and open.\nTo disable the focus trapping, set this attribute.",
8183
+ "fieldName": "noFocusTrapping"
8184
+ }
8185
+ ],
8186
+ "superclass": {
8187
+ "name": "SynergyElement",
8188
+ "module": "/src/internal/synergy-element.js"
8189
+ },
8190
+ "summary": "The <syn-side-nav /> element contains secondary navigation and fits below the header.\nIt can be used to group multiple navigation items (<syn-nav-item />s) together.",
8191
+ "tagNameWithoutPrefix": "side-nav",
8192
+ "tagName": "syn-side-nav",
8193
+ "customElement": true,
8194
+ "jsDoc": "/**\n * @summary The <syn-side-nav /> element contains secondary navigation and fits below the header.\n * It can be used to group multiple navigation items (<syn-nav-item />s) together.\n *\n * @example\n * <syn-side-nav open>\n * <syn-nav-item >Item 1</syn-nav-item>\n * <syn-nav-item divider>Item 2</syn-nav-item>\n * </syn-side-nav>\n *\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-side-nav--docs\n * @status stable\n * @since 1.14.0\n *\n * @dependency syn-divider\n * @dependency syn-drawer\n *\n * @slot - The main content of the side-nav. Used for <syn-nav-item /> elements.\n * @slot footer - The footer content of the side-nav. Used for <syn-nav-item /> elements.\n * Please avoid having to many nav-items as it can massively influence the user experience.\n *\n * @event syn-show - Emitted when the side-nav opens.\n * @event syn-after-show - Emitted after the side-nav opens and all animations are complete.\n * @event syn-hide - Emitted when the side-nav closes.\n * @event syn-after-hide - Emitted after the side-nav closes and all animations are complete.\n *\n * @csspart base - The components base wrapper\n * @csspart drawer - The drawer that is used under the hood for creating the side-nav\n * @csspart content-container - The components main content container\n * @csspart content - The components main content\n * @csspart footer-container - The components footer content container\n * @csspart footer-divider - The components footer divider\n * @csspart footer - The components footer content\n * @csspart overlay - The overlay that covers the screen behind the side-nav.\n *\n * @cssproperty --side-nav-open-width - The width of the side-nav if in open state\n * @cssproperty --side-nav-rail-width - The width of the side-nav if in rail mode without open\n *\n * @animation sideNav.showNonRail - The animation to use when showing the side-nav in non-rail mode.\n * @animation sideNav.showRail - The animation to use when showing the side-nav in rail mode.\n * @animation sideNav.hideNonRail - The animation to use when hiding the side-nav in non-rail mode.\n * @animation sideNav.hideRail - The animation to use when hiding the side-nav in rail mode.\n * @animation sideNav.overlay.show - The animation to use when showing the side-nav's overlay.\n * @animation sideNav.overlay.hide - The animation to use when hiding the side-nav's overlay.\n */",
8195
+ "documentation": "https://synergy-design-system.github.io/?path=/docs/components-syn-side-nav--docs",
8196
+ "status": "stable",
8197
+ "since": "1.14.0",
8198
+ "dependencies": [
8199
+ "syn-divider",
8200
+ "syn-drawer"
8201
+ ],
8202
+ "animations": [
6931
8203
  {
6932
- "name": "label",
6933
- "type": {
6934
- "text": "string"
6935
- },
6936
- "default": "''",
6937
- "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
6938
- "fieldName": "label"
8204
+ "name": "sideNav.showNonRail",
8205
+ "description": "The animation to use when showing the side-nav in non-rail mode."
6939
8206
  },
6940
8207
  {
6941
- "name": "placement",
6942
- "type": {
6943
- "text": "'top' | 'bottom'"
6944
- },
6945
- "default": "'bottom'",
6946
- "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
6947
- "fieldName": "placement"
8208
+ "name": "sideNav.showRail",
8209
+ "description": "The animation to use when showing the side-nav in rail mode."
6948
8210
  },
6949
8211
  {
6950
- "name": "help-text",
6951
- "type": {
6952
- "text": "string"
6953
- },
6954
- "default": "''",
6955
- "description": "The select's help text. If you need to display HTML, use the `help-text` slot instead.",
6956
- "fieldName": "helpText"
8212
+ "name": "sideNav.hideNonRail",
8213
+ "description": "The animation to use when hiding the side-nav in non-rail mode."
6957
8214
  },
6958
8215
  {
6959
- "name": "form",
6960
- "type": {
6961
- "text": "string"
6962
- },
6963
- "default": "''",
6964
- "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.",
6965
- "fieldName": "form"
8216
+ "name": "sideNav.hideRail",
8217
+ "description": "The animation to use when hiding the side-nav in rail mode."
6966
8218
  },
6967
8219
  {
6968
- "name": "required",
6969
- "type": {
6970
- "text": "boolean"
6971
- },
6972
- "default": "false",
6973
- "description": "The select's required attribute.",
6974
- "fieldName": "required"
8220
+ "name": "sideNav.overlay.show",
8221
+ "description": "The animation to use when showing the side-nav's overlay."
6975
8222
  },
6976
8223
  {
6977
- "name": "getTag",
6978
- "type": {
6979
- "text": "(option: SynOption, index: number) => TemplateResult | string | HTMLElement"
6980
- },
6981
- "description": "A function that customizes the tags to be rendered when multiple=true. The first argument is the option, the second\nis the current tag's index. The function should return either a Lit TemplateResult or a string containing trusted HTML of the symbol to render at\nthe specified value.",
6982
- "fieldName": "getTag"
8224
+ "name": "sideNav.overlay.hide",
8225
+ "description": "The animation to use when hiding the side-nav's overlay."
6983
8226
  }
6984
- ],
6985
- "superclass": {
6986
- "name": "SynergyElement",
6987
- "module": "/src/internal/synergy-element.js"
6988
- },
6989
- "summary": "Selects allow you to choose items from a menu of predefined options.",
6990
- "tagNameWithoutPrefix": "select",
6991
- "tagName": "syn-select",
6992
- "customElement": true,
6993
- "jsDoc": "/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @documentation https://synergy.style/components/select\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n * @dependency syn-popup\n * @dependency syn-tag\n *\n * @slot - The listbox options. Must be `<syn-option>` elements. You can use `<syn-divider>` to group items visually.\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-change - Emitted when the control's value changes.\n * @event syn-clear - Emitted when the control's value is cleared.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-show - Emitted when the select's menu opens.\n * @event syn-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event syn-hide - Emitted when the select's menu closes.\n * @event syn-after-hide - Emitted after the select's menu closes and all animations are complete.\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 select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n */",
6994
- "documentation": "https://synergy.style/components/select",
6995
- "status": "stable",
6996
- "since": "2.0",
6997
- "dependencies": [
6998
- "syn-icon",
6999
- "syn-popup",
7000
- "syn-tag"
7001
8227
  ]
7002
8228
  }
7003
8229
  ],
@@ -7006,8 +8232,8 @@
7006
8232
  "kind": "js",
7007
8233
  "name": "default",
7008
8234
  "declaration": {
7009
- "name": "SynSelect",
7010
- "module": "components/select/select.js"
8235
+ "name": "SynSideNav",
8236
+ "module": "components/side-nav/side-nav.js"
7011
8237
  }
7012
8238
  }
7013
8239
  ]
@@ -8418,7 +9644,7 @@
8418
9644
  "package": {
8419
9645
  "name": "@synergy-design-system/components",
8420
9646
  "description": "",
8421
- "version": "1.14.0",
9647
+ "version": "1.16.0",
8422
9648
  "author": {
8423
9649
  "name": "SICK Global UX Foundation",
8424
9650
  "url": "https://www.sick.com"