@synergy-design-system/components 3.2.0 → 3.3.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 (306) hide show
  1. package/dist/chunks/{chunk.WNUAJF2S.js → chunk.2F3EC7Z3.js} +4 -4
  2. package/dist/chunks/{chunk.26QTFTWA.js → chunk.2JGOBZWB.js} +2 -2
  3. package/dist/chunks/{chunk.CGHRPSUK.js → chunk.33VOFXT4.js} +2 -2
  4. package/dist/chunks/{chunk.UOOCDAPN.js → chunk.3DJH747U.js} +2 -2
  5. package/dist/chunks/{chunk.T23XHCUI.js → chunk.3PGXBAX3.js} +10 -10
  6. package/dist/chunks/{chunk.BQTSV4AJ.js → chunk.3PMJ65VB.js} +2 -2
  7. package/dist/chunks/{chunk.I5ABAZLK.js → chunk.4NMKUGVS.js} +6 -6
  8. package/dist/chunks/{chunk.CEP5JF3B.js → chunk.4PPZHTQL.js} +2 -2
  9. package/dist/chunks/{chunk.KT7OGMZP.js → chunk.5EF7KMK7.js} +2 -2
  10. package/dist/chunks/{chunk.KIVJSZWU.js → chunk.5QU2VQV6.js} +6 -6
  11. package/dist/chunks/{chunk.H647D2ZB.js → chunk.5SIWNDVB.js} +3 -3
  12. package/dist/chunks/{chunk.RO6WY67Q.js → chunk.5VUFEIR5.js} +2 -2
  13. package/dist/chunks/{chunk.Q2XJ7NJC.js → chunk.5ZKCAA7M.js} +6 -6
  14. package/dist/chunks/{chunk.LZTCTUDK.js → chunk.65EIYVNS.js} +8 -8
  15. package/dist/chunks/{chunk.QG5SKZKD.js → chunk.6AODLY7I.js} +2 -2
  16. package/dist/chunks/{chunk.BIAB7B7S.js → chunk.6G3QXVRQ.js} +2 -2
  17. package/dist/chunks/{chunk.T5GCLOJ6.js → chunk.6IZB4CAE.js} +9 -9
  18. package/dist/chunks/{chunk.6JDKH43H.js → chunk.7HTPCUKK.js} +9 -9
  19. package/dist/chunks/{chunk.VQ2RY6WP.js → chunk.A3UNPMUB.js} +2 -2
  20. package/dist/chunks/{chunk.GFD645IU.js → chunk.AIKUH4N6.js} +2 -2
  21. package/dist/chunks/{chunk.5RIU5X7Z.js → chunk.AUYRJY7X.js} +2 -2
  22. package/dist/chunks/{chunk.X5TIKPLJ.js → chunk.B6L4GCDQ.js} +2 -2
  23. package/dist/chunks/{chunk.GEMZSFPA.js → chunk.BBZLJJMI.js} +5 -5
  24. package/dist/chunks/{chunk.4K5KFEYL.js → chunk.BQG7RFXU.js} +5 -5
  25. package/dist/chunks/{chunk.CJMW4UVM.js → chunk.CIAT4XUB.js} +9 -9
  26. package/dist/chunks/{chunk.6EHOI2BO.js → chunk.CVQYFMX6.js} +9 -9
  27. package/dist/chunks/{chunk.6EHOI2BO.js.map → chunk.CVQYFMX6.js.map} +2 -2
  28. package/dist/chunks/{chunk.FKIDTC5A.js → chunk.D25IFJWA.js} +5 -5
  29. package/dist/chunks/{chunk.MP5AW7KH.js → chunk.DNCKT2DP.js} +2 -2
  30. package/dist/chunks/{chunk.7G6N24FO.js → chunk.ECZMBKYX.js} +2 -2
  31. package/dist/chunks/{chunk.3GSHQV5Q.js → chunk.EX4CTB5U.js} +2 -2
  32. package/dist/chunks/{chunk.D43HKTYD.js → chunk.FPQ45A6M.js} +2 -2
  33. package/dist/chunks/{chunk.YZMG6OGY.js → chunk.G5G6TON4.js} +2 -2
  34. package/dist/chunks/{chunk.2EZFBKDU.js → chunk.HJBM424N.js} +2 -2
  35. package/dist/chunks/{chunk.MFLXKYBR.js → chunk.HP4EAWPZ.js} +9 -11
  36. package/dist/chunks/chunk.HP4EAWPZ.js.map +7 -0
  37. package/dist/chunks/{chunk.RBDBPRCS.js → chunk.I25CJLWF.js} +2 -2
  38. package/dist/chunks/chunk.IP6JSQWX.js +185 -0
  39. package/dist/chunks/chunk.IP6JSQWX.js.map +7 -0
  40. package/dist/chunks/{chunk.KRR2BTZW.js → chunk.IREIGQS7.js} +2 -2
  41. package/dist/chunks/{chunk.BJVWQ3LR.js → chunk.JKTQX462.js} +2 -2
  42. package/dist/chunks/{chunk.ZA7XD4RH.js → chunk.JOIPUVY2.js} +6 -6
  43. package/dist/chunks/{chunk.OUZ7W2PK.js → chunk.JPIP5C4C.js} +2 -2
  44. package/dist/chunks/{chunk.WPAX3KY7.js → chunk.K5OEH644.js} +8 -8
  45. package/dist/chunks/{chunk.PNCX23JO.js → chunk.KEGWZQDD.js} +7 -7
  46. package/dist/chunks/{chunk.RXBJIQCC.js → chunk.LRGMNNQZ.js} +2 -2
  47. package/dist/chunks/{chunk.6UWGX2XK.js → chunk.LYP2QFCG.js} +2 -2
  48. package/dist/chunks/{chunk.O6TRAUHQ.js → chunk.MH2BHV6Y.js} +2 -2
  49. package/dist/chunks/{chunk.PNEINJI2.js → chunk.MM2QEKTI.js} +2 -2
  50. package/dist/chunks/{chunk.UJRM7HDU.js → chunk.N4QI4ASF.js} +2 -2
  51. package/dist/chunks/{chunk.D47LGG4N.js → chunk.N5K6F4BA.js} +2 -2
  52. package/dist/chunks/{chunk.OYDK7VLV.js → chunk.NGSAMIEF.js} +11 -11
  53. package/dist/chunks/{chunk.X6WKPXTG.js → chunk.NSRIBSSB.js} +2 -2
  54. package/dist/chunks/{chunk.UWMO4OOX.js → chunk.O23FBAJX.js} +2 -2
  55. package/dist/chunks/{chunk.DQVEBDUM.js → chunk.OIYK53O5.js} +2 -2
  56. package/dist/chunks/{chunk.KOKPJSO2.js → chunk.OPTJMEC6.js} +7 -7
  57. package/dist/chunks/{chunk.ECNXEYTN.js → chunk.OQTCK25R.js} +2 -2
  58. package/dist/chunks/{chunk.ECNXEYTN.js.map → chunk.OQTCK25R.js.map} +1 -1
  59. package/dist/chunks/{chunk.52USEUTP.js → chunk.OVQAS4VL.js} +2 -2
  60. package/dist/chunks/{chunk.UW35P23G.js → chunk.P6YK4DWZ.js} +2 -2
  61. package/dist/chunks/{chunk.WHDNCE4Q.js → chunk.PBPWB5Y4.js} +8 -8
  62. package/dist/chunks/{chunk.WHDNCE4Q.js.map → chunk.PBPWB5Y4.js.map} +2 -2
  63. package/dist/chunks/{chunk.4ZMYXIBW.js → chunk.PI6CEPBZ.js} +2 -2
  64. package/dist/chunks/{chunk.K2HZDQMS.js → chunk.PRR66Q3M.js} +12 -12
  65. package/dist/chunks/{chunk.JFAN6AQH.js → chunk.PZGNSEZE.js} +7 -7
  66. package/dist/chunks/{chunk.XYTR2GHP.js → chunk.Q4QD4WIO.js} +6 -6
  67. package/dist/chunks/{chunk.RH63RIHH.js → chunk.QJVMMDKR.js} +5 -5
  68. package/dist/chunks/{chunk.6GU7PVLX.js → chunk.QNLQBVKV.js} +2 -2
  69. package/dist/chunks/{chunk.SNYUENL4.js → chunk.QSB3LWRQ.js} +7 -7
  70. package/dist/chunks/{chunk.FUYMXIMF.js → chunk.R2B7EVOH.js} +3 -3
  71. package/dist/chunks/{chunk.KHRQ5VI4.js → chunk.R36PMPNJ.js} +2 -2
  72. package/dist/chunks/{chunk.MUYFKDTO.js → chunk.RHJBEL5G.js} +6 -6
  73. package/dist/chunks/{chunk.IQ45XDXM.js → chunk.RJ2XSQ3V.js} +2 -2
  74. package/dist/chunks/{chunk.6F7L74P2.js → chunk.RJII2DHC.js} +2 -2
  75. package/dist/chunks/{chunk.QRPDILBH.js → chunk.RVUZJKAD.js} +2 -2
  76. package/dist/chunks/{chunk.EZ722KZU.js → chunk.SDH6SDCR.js} +2 -2
  77. package/dist/chunks/{chunk.5ICJ7VWS.js → chunk.SOPXC2CY.js} +2 -2
  78. package/dist/chunks/{chunk.FBYEVEZ6.js → chunk.SXS352PZ.js} +2 -2
  79. package/dist/chunks/{chunk.GOAMFSM4.js → chunk.SZVAIHLG.js} +6 -6
  80. package/dist/chunks/{chunk.GOAMFSM4.js.map → chunk.SZVAIHLG.js.map} +2 -2
  81. package/dist/chunks/{chunk.PN5GCUMW.js → chunk.T2PFIA6K.js} +9 -9
  82. package/dist/chunks/{chunk.TNT5GH3Y.js → chunk.T67WD4FI.js} +2 -2
  83. package/dist/chunks/{chunk.2J5ARXAO.js → chunk.U7RRAZZC.js} +5 -5
  84. package/dist/chunks/{chunk.2J5ARXAO.js.map → chunk.U7RRAZZC.js.map} +2 -2
  85. package/dist/chunks/{chunk.6ND5EQHX.js → chunk.UAY2FFOD.js} +2 -2
  86. package/dist/chunks/{chunk.H5WUQAD7.js → chunk.UEN55IWS.js} +2 -2
  87. package/dist/chunks/{chunk.ZNM2KW2N.js → chunk.UGD5VT7D.js} +2 -2
  88. package/dist/chunks/{chunk.PDY32KGV.js → chunk.UMCWAD3R.js} +8 -8
  89. package/dist/chunks/{chunk.YUK555QP.js → chunk.UQHXY3YA.js} +2 -2
  90. package/dist/chunks/{chunk.5QYKBLQ4.js → chunk.VCWVJIZJ.js} +3 -3
  91. package/dist/chunks/{chunk.6TVTDKLK.js → chunk.VPZRVSF4.js} +2 -2
  92. package/dist/chunks/{chunk.LFRJ623K.js → chunk.VUXUR6M7.js} +2 -2
  93. package/dist/chunks/{chunk.YSKOI4OG.js → chunk.WBOHZGDF.js} +1 -1
  94. package/dist/chunks/chunk.WBOHZGDF.js.map +7 -0
  95. package/dist/chunks/{chunk.XGBJ2PGD.js → chunk.WIHUE6ER.js} +5 -5
  96. package/dist/chunks/{chunk.SEYPIVFM.js → chunk.Y6SDHJBZ.js} +2 -2
  97. package/dist/chunks/{chunk.RRYH72O7.js → chunk.YD4WQO5D.js} +2 -2
  98. package/dist/chunks/{chunk.7UHGS3KI.js → chunk.YEEK44HQ.js} +2 -2
  99. package/dist/chunks/{chunk.B45BLWF7.js → chunk.YJ2KKGJL.js} +6 -6
  100. package/dist/chunks/{chunk.IJIRSZXP.js → chunk.YOTKNAXC.js} +2 -2
  101. package/dist/chunks/{chunk.S7JH7R5W.js → chunk.YTYKZQRH.js} +6 -6
  102. package/dist/chunks/{chunk.5QMMVRAY.js → chunk.Z7S6LX7O.js} +2 -2
  103. package/dist/chunks/{chunk.L3PVKJP6.js → chunk.ZBAJQQ6X.js} +5 -5
  104. package/dist/chunks/{chunk.QWIUHODV.js → chunk.ZBHKORFK.js} +2 -2
  105. package/dist/chunks/{chunk.6PRXWBZE.js → chunk.ZU3IYR42.js} +2 -2
  106. package/dist/components/accordion/accordion.component.d.ts +1 -1
  107. package/dist/components/accordion/accordion.component.js +3 -3
  108. package/dist/components/accordion/accordion.js +4 -4
  109. package/dist/components/alert/alert.component.js +9 -9
  110. package/dist/components/alert/alert.js +10 -10
  111. package/dist/components/badge/badge.component.js +4 -4
  112. package/dist/components/badge/badge.js +5 -5
  113. package/dist/components/breadcrumb/breadcrumb.component.js +7 -7
  114. package/dist/components/breadcrumb/breadcrumb.js +8 -8
  115. package/dist/components/breadcrumb-item/breadcrumb-item.component.js +2 -2
  116. package/dist/components/breadcrumb-item/breadcrumb-item.js +3 -3
  117. package/dist/components/button/button.component.js +7 -7
  118. package/dist/components/button/button.js +8 -8
  119. package/dist/components/button-group/button-group.component.js +2 -2
  120. package/dist/components/button-group/button-group.js +3 -3
  121. package/dist/components/card/card.component.js +2 -2
  122. package/dist/components/card/card.js +3 -3
  123. package/dist/components/checkbox/checkbox.component.js +4 -4
  124. package/dist/components/checkbox/checkbox.js +5 -5
  125. package/dist/components/combobox/combobox.component.js +10 -10
  126. package/dist/components/combobox/combobox.js +11 -11
  127. package/dist/components/details/details.component.d.ts +1 -1
  128. package/dist/components/details/details.component.js +6 -7
  129. package/dist/components/details/details.js +7 -8
  130. package/dist/components/details/details.styles.js +1 -1
  131. package/dist/components/dialog/dialog.component.js +8 -8
  132. package/dist/components/dialog/dialog.js +9 -9
  133. package/dist/components/divider/divider.component.js +2 -2
  134. package/dist/components/divider/divider.js +3 -3
  135. package/dist/components/drawer/drawer.component.js +8 -8
  136. package/dist/components/drawer/drawer.js +9 -9
  137. package/dist/components/dropdown/dropdown.component.js +4 -4
  138. package/dist/components/dropdown/dropdown.js +5 -5
  139. package/dist/components/file/file.component.js +8 -8
  140. package/dist/components/file/file.js +9 -9
  141. package/dist/components/header/header.component.js +6 -6
  142. package/dist/components/header/header.js +7 -7
  143. package/dist/components/icon/icon.component.js +2 -2
  144. package/dist/components/icon/icon.js +3 -3
  145. package/dist/components/icon/library.migration.js +1 -1
  146. package/dist/components/icon-button/icon-button.component.js +5 -5
  147. package/dist/components/icon-button/icon-button.js +6 -6
  148. package/dist/components/input/input.component.js +6 -6
  149. package/dist/components/input/input.js +7 -7
  150. package/dist/components/menu/menu.component.js +2 -2
  151. package/dist/components/menu/menu.js +3 -3
  152. package/dist/components/menu-item/menu-item.component.js +8 -8
  153. package/dist/components/menu-item/menu-item.js +9 -9
  154. package/dist/components/menu-label/menu-label.component.js +3 -3
  155. package/dist/components/menu-label/menu-label.js +4 -4
  156. package/dist/components/nav-item/nav-item.component.js +4 -4
  157. package/dist/components/nav-item/nav-item.js +5 -5
  158. package/dist/components/optgroup/optgroup.component.js +3 -3
  159. package/dist/components/optgroup/optgroup.js +4 -4
  160. package/dist/components/option/option.component.js +5 -5
  161. package/dist/components/option/option.js +6 -6
  162. package/dist/components/popup/popup.component.js +2 -2
  163. package/dist/components/popup/popup.js +3 -3
  164. package/dist/components/prio-nav/prio-nav.component.js +10 -10
  165. package/dist/components/prio-nav/prio-nav.js +11 -11
  166. package/dist/components/progress-bar/progress-bar.component.js +2 -2
  167. package/dist/components/progress-bar/progress-bar.js +3 -3
  168. package/dist/components/progress-ring/progress-ring.component.js +3 -3
  169. package/dist/components/progress-ring/progress-ring.js +4 -4
  170. package/dist/components/radio/radio.component.js +4 -4
  171. package/dist/components/radio/radio.js +5 -5
  172. package/dist/components/radio-button/radio-button.component.js +3 -3
  173. package/dist/components/radio-button/radio-button.js +4 -4
  174. package/dist/components/radio-group/radio-group.component.js +4 -4
  175. package/dist/components/radio-group/radio-group.js +5 -5
  176. package/dist/components/range/range.component.js +6 -6
  177. package/dist/components/range/range.js +7 -7
  178. package/dist/components/range-tick/range-tick.component.js +2 -2
  179. package/dist/components/range-tick/range-tick.js +3 -3
  180. package/dist/components/resize-observer/resize-observer.component.js +2 -2
  181. package/dist/components/select/select.component.js +10 -10
  182. package/dist/components/select/select.js +11 -11
  183. package/dist/components/side-nav/side-nav.component.js +11 -11
  184. package/dist/components/side-nav/side-nav.js +12 -12
  185. package/dist/components/spinner/spinner.component.js +3 -3
  186. package/dist/components/spinner/spinner.js +4 -4
  187. package/dist/components/switch/switch.component.js +3 -3
  188. package/dist/components/switch/switch.js +4 -4
  189. package/dist/components/tab/tab.component.js +8 -8
  190. package/dist/components/tab/tab.js +9 -9
  191. package/dist/components/tab-group/tab-group.component.js +8 -8
  192. package/dist/components/tab-group/tab-group.js +9 -9
  193. package/dist/components/tab-panel/tab-panel.component.js +3 -3
  194. package/dist/components/tab-panel/tab-panel.js +4 -4
  195. package/dist/components/tag/tag.component.js +7 -7
  196. package/dist/components/tag/tag.js +8 -8
  197. package/dist/components/textarea/textarea.component.js +4 -4
  198. package/dist/components/textarea/textarea.js +5 -5
  199. package/dist/components/tooltip/tooltip.component.js +4 -4
  200. package/dist/components/tooltip/tooltip.js +5 -5
  201. package/dist/components/validate/utility.js +2 -2
  202. package/dist/components/validate/validate.component.js +11 -11
  203. package/dist/components/validate/validate.js +12 -12
  204. package/dist/custom-elements.json +81 -81
  205. package/dist/styles/index.css +1 -1
  206. package/dist/synergy.js +130 -131
  207. package/dist/vscode.html-custom-data.json +33 -25
  208. package/package.json +20 -25
  209. package/dist/chunks/chunk.2BJPTG2Q.js +0 -87
  210. package/dist/chunks/chunk.2BJPTG2Q.js.map +0 -7
  211. package/dist/chunks/chunk.GFX23JLA.js +0 -138
  212. package/dist/chunks/chunk.GFX23JLA.js.map +0 -7
  213. package/dist/chunks/chunk.MFLXKYBR.js.map +0 -7
  214. package/dist/chunks/chunk.YSKOI4OG.js.map +0 -7
  215. package/dist/components/details/details.custom.styles.d.ts +0 -2
  216. package/dist/components/details/details.custom.styles.js +0 -8
  217. package/dist/components/details/details.custom.styles.js.map +0 -7
  218. /package/dist/chunks/{chunk.WNUAJF2S.js.map → chunk.2F3EC7Z3.js.map} +0 -0
  219. /package/dist/chunks/{chunk.26QTFTWA.js.map → chunk.2JGOBZWB.js.map} +0 -0
  220. /package/dist/chunks/{chunk.CGHRPSUK.js.map → chunk.33VOFXT4.js.map} +0 -0
  221. /package/dist/chunks/{chunk.UOOCDAPN.js.map → chunk.3DJH747U.js.map} +0 -0
  222. /package/dist/chunks/{chunk.T23XHCUI.js.map → chunk.3PGXBAX3.js.map} +0 -0
  223. /package/dist/chunks/{chunk.BQTSV4AJ.js.map → chunk.3PMJ65VB.js.map} +0 -0
  224. /package/dist/chunks/{chunk.I5ABAZLK.js.map → chunk.4NMKUGVS.js.map} +0 -0
  225. /package/dist/chunks/{chunk.CEP5JF3B.js.map → chunk.4PPZHTQL.js.map} +0 -0
  226. /package/dist/chunks/{chunk.KT7OGMZP.js.map → chunk.5EF7KMK7.js.map} +0 -0
  227. /package/dist/chunks/{chunk.KIVJSZWU.js.map → chunk.5QU2VQV6.js.map} +0 -0
  228. /package/dist/chunks/{chunk.H647D2ZB.js.map → chunk.5SIWNDVB.js.map} +0 -0
  229. /package/dist/chunks/{chunk.RO6WY67Q.js.map → chunk.5VUFEIR5.js.map} +0 -0
  230. /package/dist/chunks/{chunk.Q2XJ7NJC.js.map → chunk.5ZKCAA7M.js.map} +0 -0
  231. /package/dist/chunks/{chunk.LZTCTUDK.js.map → chunk.65EIYVNS.js.map} +0 -0
  232. /package/dist/chunks/{chunk.QG5SKZKD.js.map → chunk.6AODLY7I.js.map} +0 -0
  233. /package/dist/chunks/{chunk.BIAB7B7S.js.map → chunk.6G3QXVRQ.js.map} +0 -0
  234. /package/dist/chunks/{chunk.T5GCLOJ6.js.map → chunk.6IZB4CAE.js.map} +0 -0
  235. /package/dist/chunks/{chunk.6JDKH43H.js.map → chunk.7HTPCUKK.js.map} +0 -0
  236. /package/dist/chunks/{chunk.VQ2RY6WP.js.map → chunk.A3UNPMUB.js.map} +0 -0
  237. /package/dist/chunks/{chunk.GFD645IU.js.map → chunk.AIKUH4N6.js.map} +0 -0
  238. /package/dist/chunks/{chunk.5RIU5X7Z.js.map → chunk.AUYRJY7X.js.map} +0 -0
  239. /package/dist/chunks/{chunk.X5TIKPLJ.js.map → chunk.B6L4GCDQ.js.map} +0 -0
  240. /package/dist/chunks/{chunk.GEMZSFPA.js.map → chunk.BBZLJJMI.js.map} +0 -0
  241. /package/dist/chunks/{chunk.4K5KFEYL.js.map → chunk.BQG7RFXU.js.map} +0 -0
  242. /package/dist/chunks/{chunk.CJMW4UVM.js.map → chunk.CIAT4XUB.js.map} +0 -0
  243. /package/dist/chunks/{chunk.FKIDTC5A.js.map → chunk.D25IFJWA.js.map} +0 -0
  244. /package/dist/chunks/{chunk.MP5AW7KH.js.map → chunk.DNCKT2DP.js.map} +0 -0
  245. /package/dist/chunks/{chunk.7G6N24FO.js.map → chunk.ECZMBKYX.js.map} +0 -0
  246. /package/dist/chunks/{chunk.3GSHQV5Q.js.map → chunk.EX4CTB5U.js.map} +0 -0
  247. /package/dist/chunks/{chunk.D43HKTYD.js.map → chunk.FPQ45A6M.js.map} +0 -0
  248. /package/dist/chunks/{chunk.YZMG6OGY.js.map → chunk.G5G6TON4.js.map} +0 -0
  249. /package/dist/chunks/{chunk.2EZFBKDU.js.map → chunk.HJBM424N.js.map} +0 -0
  250. /package/dist/chunks/{chunk.RBDBPRCS.js.map → chunk.I25CJLWF.js.map} +0 -0
  251. /package/dist/chunks/{chunk.KRR2BTZW.js.map → chunk.IREIGQS7.js.map} +0 -0
  252. /package/dist/chunks/{chunk.BJVWQ3LR.js.map → chunk.JKTQX462.js.map} +0 -0
  253. /package/dist/chunks/{chunk.ZA7XD4RH.js.map → chunk.JOIPUVY2.js.map} +0 -0
  254. /package/dist/chunks/{chunk.OUZ7W2PK.js.map → chunk.JPIP5C4C.js.map} +0 -0
  255. /package/dist/chunks/{chunk.WPAX3KY7.js.map → chunk.K5OEH644.js.map} +0 -0
  256. /package/dist/chunks/{chunk.PNCX23JO.js.map → chunk.KEGWZQDD.js.map} +0 -0
  257. /package/dist/chunks/{chunk.RXBJIQCC.js.map → chunk.LRGMNNQZ.js.map} +0 -0
  258. /package/dist/chunks/{chunk.6UWGX2XK.js.map → chunk.LYP2QFCG.js.map} +0 -0
  259. /package/dist/chunks/{chunk.O6TRAUHQ.js.map → chunk.MH2BHV6Y.js.map} +0 -0
  260. /package/dist/chunks/{chunk.PNEINJI2.js.map → chunk.MM2QEKTI.js.map} +0 -0
  261. /package/dist/chunks/{chunk.UJRM7HDU.js.map → chunk.N4QI4ASF.js.map} +0 -0
  262. /package/dist/chunks/{chunk.D47LGG4N.js.map → chunk.N5K6F4BA.js.map} +0 -0
  263. /package/dist/chunks/{chunk.OYDK7VLV.js.map → chunk.NGSAMIEF.js.map} +0 -0
  264. /package/dist/chunks/{chunk.X6WKPXTG.js.map → chunk.NSRIBSSB.js.map} +0 -0
  265. /package/dist/chunks/{chunk.UWMO4OOX.js.map → chunk.O23FBAJX.js.map} +0 -0
  266. /package/dist/chunks/{chunk.DQVEBDUM.js.map → chunk.OIYK53O5.js.map} +0 -0
  267. /package/dist/chunks/{chunk.KOKPJSO2.js.map → chunk.OPTJMEC6.js.map} +0 -0
  268. /package/dist/chunks/{chunk.52USEUTP.js.map → chunk.OVQAS4VL.js.map} +0 -0
  269. /package/dist/chunks/{chunk.UW35P23G.js.map → chunk.P6YK4DWZ.js.map} +0 -0
  270. /package/dist/chunks/{chunk.4ZMYXIBW.js.map → chunk.PI6CEPBZ.js.map} +0 -0
  271. /package/dist/chunks/{chunk.K2HZDQMS.js.map → chunk.PRR66Q3M.js.map} +0 -0
  272. /package/dist/chunks/{chunk.JFAN6AQH.js.map → chunk.PZGNSEZE.js.map} +0 -0
  273. /package/dist/chunks/{chunk.XYTR2GHP.js.map → chunk.Q4QD4WIO.js.map} +0 -0
  274. /package/dist/chunks/{chunk.RH63RIHH.js.map → chunk.QJVMMDKR.js.map} +0 -0
  275. /package/dist/chunks/{chunk.6GU7PVLX.js.map → chunk.QNLQBVKV.js.map} +0 -0
  276. /package/dist/chunks/{chunk.SNYUENL4.js.map → chunk.QSB3LWRQ.js.map} +0 -0
  277. /package/dist/chunks/{chunk.FUYMXIMF.js.map → chunk.R2B7EVOH.js.map} +0 -0
  278. /package/dist/chunks/{chunk.KHRQ5VI4.js.map → chunk.R36PMPNJ.js.map} +0 -0
  279. /package/dist/chunks/{chunk.MUYFKDTO.js.map → chunk.RHJBEL5G.js.map} +0 -0
  280. /package/dist/chunks/{chunk.IQ45XDXM.js.map → chunk.RJ2XSQ3V.js.map} +0 -0
  281. /package/dist/chunks/{chunk.6F7L74P2.js.map → chunk.RJII2DHC.js.map} +0 -0
  282. /package/dist/chunks/{chunk.QRPDILBH.js.map → chunk.RVUZJKAD.js.map} +0 -0
  283. /package/dist/chunks/{chunk.EZ722KZU.js.map → chunk.SDH6SDCR.js.map} +0 -0
  284. /package/dist/chunks/{chunk.5ICJ7VWS.js.map → chunk.SOPXC2CY.js.map} +0 -0
  285. /package/dist/chunks/{chunk.FBYEVEZ6.js.map → chunk.SXS352PZ.js.map} +0 -0
  286. /package/dist/chunks/{chunk.PN5GCUMW.js.map → chunk.T2PFIA6K.js.map} +0 -0
  287. /package/dist/chunks/{chunk.TNT5GH3Y.js.map → chunk.T67WD4FI.js.map} +0 -0
  288. /package/dist/chunks/{chunk.6ND5EQHX.js.map → chunk.UAY2FFOD.js.map} +0 -0
  289. /package/dist/chunks/{chunk.H5WUQAD7.js.map → chunk.UEN55IWS.js.map} +0 -0
  290. /package/dist/chunks/{chunk.ZNM2KW2N.js.map → chunk.UGD5VT7D.js.map} +0 -0
  291. /package/dist/chunks/{chunk.PDY32KGV.js.map → chunk.UMCWAD3R.js.map} +0 -0
  292. /package/dist/chunks/{chunk.YUK555QP.js.map → chunk.UQHXY3YA.js.map} +0 -0
  293. /package/dist/chunks/{chunk.5QYKBLQ4.js.map → chunk.VCWVJIZJ.js.map} +0 -0
  294. /package/dist/chunks/{chunk.6TVTDKLK.js.map → chunk.VPZRVSF4.js.map} +0 -0
  295. /package/dist/chunks/{chunk.LFRJ623K.js.map → chunk.VUXUR6M7.js.map} +0 -0
  296. /package/dist/chunks/{chunk.XGBJ2PGD.js.map → chunk.WIHUE6ER.js.map} +0 -0
  297. /package/dist/chunks/{chunk.SEYPIVFM.js.map → chunk.Y6SDHJBZ.js.map} +0 -0
  298. /package/dist/chunks/{chunk.RRYH72O7.js.map → chunk.YD4WQO5D.js.map} +0 -0
  299. /package/dist/chunks/{chunk.7UHGS3KI.js.map → chunk.YEEK44HQ.js.map} +0 -0
  300. /package/dist/chunks/{chunk.B45BLWF7.js.map → chunk.YJ2KKGJL.js.map} +0 -0
  301. /package/dist/chunks/{chunk.IJIRSZXP.js.map → chunk.YOTKNAXC.js.map} +0 -0
  302. /package/dist/chunks/{chunk.S7JH7R5W.js.map → chunk.YTYKZQRH.js.map} +0 -0
  303. /package/dist/chunks/{chunk.5QMMVRAY.js.map → chunk.Z7S6LX7O.js.map} +0 -0
  304. /package/dist/chunks/{chunk.L3PVKJP6.js.map → chunk.ZBAJQQ6X.js.map} +0 -0
  305. /package/dist/chunks/{chunk.QWIUHODV.js.map → chunk.ZBHKORFK.js.map} +0 -0
  306. /package/dist/chunks/{chunk.6PRXWBZE.js.map → chunk.ZU3IYR42.js.map} +0 -0
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk.EFSUQWJZ.js";
4
4
  import {
5
5
  SynNavItem
6
- } from "./chunk.WNUAJF2S.js";
6
+ } from "./chunk.2F3EC7Z3.js";
7
7
  import {
8
8
  SynDivider
9
- } from "./chunk.FBYEVEZ6.js";
9
+ } from "./chunk.SXS352PZ.js";
10
10
  import {
11
11
  SynDrawer
12
- } from "./chunk.CJMW4UVM.js";
12
+ } from "./chunk.CIAT4XUB.js";
13
13
  import {
14
14
  unlockBodyScrolling
15
15
  } from "./chunk.2DT3C6WE.js";
@@ -26,22 +26,22 @@ import {
26
26
  } from "./chunk.CHFWLQN5.js";
27
27
  import {
28
28
  SynIcon
29
- } from "./chunk.KHRQ5VI4.js";
30
- import {
31
- watch
32
- } from "./chunk.SMIMHADA.js";
29
+ } from "./chunk.R36PMPNJ.js";
33
30
  import {
34
31
  LocalizeController
35
32
  } from "./chunk.QLETXF4A.js";
36
33
  import {
37
34
  enableDefaultSettings
38
35
  } from "./chunk.YACUYJZN.js";
36
+ import {
37
+ watch
38
+ } from "./chunk.SMIMHADA.js";
39
39
  import {
40
40
  component_styles_default
41
41
  } from "./chunk.FXJLG622.js";
42
42
  import {
43
43
  SynergyElement
44
- } from "./chunk.ECNXEYTN.js";
44
+ } from "./chunk.OQTCK25R.js";
45
45
  import {
46
46
  __decorateClass
47
47
  } from "./chunk.MO2GTRUM.js";
@@ -333,4 +333,4 @@ setDefaultAnimation("sideNav.overlay.hide", {
333
333
  export {
334
334
  SynSideNav
335
335
  };
336
- //# sourceMappingURL=chunk.6EHOI2BO.js.map
336
+ //# sourceMappingURL=chunk.CVQYFMX6.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/side-nav/side-nav.component.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/unbound-method */\nimport { classMap } from 'lit/directives/class-map.js';\nimport type { CSSResultGroup } from 'lit';\nimport { html } from 'lit/static-html.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport styles from './side-nav.styles.js';\nimport SynDrawer from '../drawer/drawer.component.js';\nimport SynDivider from '../divider/divider.component.js';\nimport SynIcon from '../icon/icon.component.js';\nimport SynNavItem from '../nav-item/nav-item.component.js';\nimport { waitForEvent } from '../../internal/event.js';\nimport { watch } from '../../internal/watch.js';\nimport { getAnimation, setAnimation, setDefaultAnimation } from '../../utilities/animation-registry.js';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { unlockBodyScrolling } from '../../internal/scroll.js';\nimport { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';\n\n/**\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 * @dependency syn-icon\n * @dependency syn-nav-item\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 * @slot toggle-label - The label of the toggle nav-item for variant=\"sticky\".\n * @slot toggle-icon - An icon to use in lieu of the default icon for the toggle nav-item\n * for variant=\"sticky\".\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 (where the footer slot content is rendered)\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 * @csspart panel - The side-nav's panel (where the whole content is rendered).\n * @csspart body - The side-nav's body (where the default slot content is rendered)\n * @csspart drawer__base - The drawer's base wrapper\n * @csspart toggle-nav-item - The nav-item to toggle open state for variant=\"sticky\"\n * @csspart toggle-icon - The icon of the toggle nav-item for variant=\"sticky\"\n * @csspart toggle-label - The label of the toggle nav-item for variant=\"sticky\".\n\n * @cssproperty --side-nav-open-width - The width of the side-nav if in open state\n *\n * @animation sideNav.showNonRail - The animation to use when showing the side-nav\n * in variant=\"default\".\n * @animation sideNav.showRail - The animation to use when showing the side-nav in variant=\"rail\"\n * and variant=\"sticky\".\n * @animation sideNav.hideNonRail - The animation to use when hiding the side-nav\n * in variant=\"default\".\n * @animation sideNav.hideRail - The animation to use when hiding the side-nav in variant=\"rail\"\n * and variant=\"sticky\".\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 */\n@enableDefaultSettings('SynSideNav')\nexport default class SynSideNav extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles];\n\n static dependencies = {\n 'syn-divider': SynDivider,\n 'syn-drawer': SynDrawer,\n 'syn-icon': SynIcon,\n 'syn-nav-item': SynNavItem,\n };\n\n private readonly hasSlotController = new HasSlotController(this, '[default]', 'footer');\n\n private readonly localize = new LocalizeController(this);\n\n private timeout: NodeJS.Timeout;\n\n /**\n * Current animation active state\n */\n @state() private isAnimationActive = false;\n\n /**\n * Reference to the drawer\n */\n @query('.side-nav__drawer') private drawer: SynDrawer;\n\n /**\n * Indicates whether or not the side-nav is open.\n * You 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 *\n * Depending on the \"variant\" attribute, the behavior will differ.\n *\n * __Default__:\n * With `open` will show the side-nav with an overlay.\n * Without `open`, the side-nav will be hidden.\n *\n * __Rail__:\n * With `open` will show the whole side-nav with an overlay for touch devices\n * or without an overlay for non-touch devices.\n * Without `open`, the side-nav will only show the prefix of nav-item's.\n *\n * __Sticky__:\n * With `open` will show the whole side-nav with an overlay for touch devices\n * or without an overlay for non-touch devices.\n * Without `open`, the side-nav will only show the prefix of nav-item's.\n *\n */\n @property({ reflect: true, type: Boolean }) open = false;\n\n /**\n * The variant that should be used to show the side navigation.\n *\n * The following variants are supported:\n * - **default** (default): Always shows the whole content and additionally an overlay.\n * This makes especially sense for applications, where you navigate to a place and stay\n * there for a longer time.\n * - **rail**: Only show the prefix of navigation items in closed state.\n * This will open on hover on the rail navigation.\n * On touch devices the navigation opens on click and shows an overlay.\n * Note: The rail variant is only an option if all Navigation Items on the first level\n * have an Icon.\n * If this is not the case you should use a burger navigation.\n * - **sticky**: The side-nav has a pin button to show the side-nav in small (icon only)\n * and full width. This variant is only possible for non-nested navigation items.\n * Note: The sticky variant is only an option if all Navigation Items on the first level\n * have an Icon and if there are only \"first level\" items.\n */\n @property({ reflect: true }) variant: 'default' | 'rail' | 'sticky' = 'default';\n\n /**\n * By default, the side-nav traps the focus if in variant=\"default\" and open.\n * To disable the focus trapping, set this attribute.\n */\n @property({ attribute: 'no-focus-trapping', reflect: true, type: Boolean }) noFocusTrapping = false;\n\n private setDelayedCallback(callback: () => void) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(callback, 100);\n }\n\n private handleMouseEnter() {\n // Debounce mouse events, to avoid infinite loop of open / closing in variant=\"rail\"\n this.setDelayedCallback(() => {\n this.open = true;\n });\n }\n\n private handleMouseLeave() {\n // Debounce mouse events, to avoid infinite loop of open / closing in variant=\"rail\"\n this.setDelayedCallback(() => {\n this.open = false;\n });\n }\n\n private handleRequestClose() {\n if (this.open) {\n this.open = false;\n }\n }\n\n private addMouseListener() {\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.addEventListener('mouseenter', this.handleMouseEnter);\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.addEventListener('mouseleave', this.handleMouseLeave);\n }\n\n private removeMouseListener() {\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.removeEventListener('mouseenter', this.handleMouseEnter);\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.removeEventListener('mouseleave', this.handleMouseLeave);\n }\n\n private setDrawerAnimations() {\n const showAnimation = getAnimation(this, `sideNav.show${this.variant === 'default' ? 'NonRail' : 'Rail'}`, { dir: this.localize.dir() });\n const hideAnimation = getAnimation(this, `sideNav.hide${this.variant === 'default' ? 'NonRail' : 'Rail'}`, { dir: this.localize.dir() });\n const hideOverlay = getAnimation(this, 'sideNav.overlay.hide', { dir: this.localize.dir() });\n const showOverlay = getAnimation(this, 'sideNav.overlay.show', { dir: this.localize.dir() });\n\n setAnimation(this.drawer, 'drawer.showStart', showAnimation);\n setAnimation(this.drawer, 'drawer.hideStart', hideAnimation);\n setAnimation(this.drawer, 'drawer.overlay.hide', hideOverlay);\n setAnimation(this.drawer, 'drawer.overlay.show', showOverlay);\n }\n\n @watch('variant', { waitUntilFirstUpdate: true })\n handleVariantChange() {\n this.setDrawerAnimations();\n this.drawer.forceVisibility(this.variant !== 'default');\n\n switch (this.variant) {\n case 'rail':\n // For hover handling\n this.addMouseListener();\n break;\n case 'sticky':\n case 'default':\n default:\n this.removeMouseListener();\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n handleOpenChange() {\n if (this.variant === 'default') {\n return;\n }\n\n this.isAnimationActive = true;\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n waitForEvent(this.drawer, `syn-after-${this.open ? 'show' : 'hide'}`).then(() => {\n this.isAnimationActive = false;\n });\n }\n\n @watch('noFocusTrapping', { waitUntilFirstUpdate: true })\n handleFocusTrapping() {\n if (this.variant === 'default') {\n if (this.noFocusTrapping) {\n this.drawer.modal.activateExternal();\n } else {\n this.drawer.modal.deactivateExternal();\n }\n }\n }\n\n /** Shows the side-nav. */\n async show() {\n if (this.open) {\n return undefined;\n }\n this.open = true;\n\n return waitForEvent(this.drawer, 'syn-after-show');\n }\n\n /** Hides the side-nav */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n\n return waitForEvent(this.drawer, 'syn-after-hide');\n }\n\n constructor() {\n super();\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.addEventListener('syn-initial-focus', (event) => {\n if (this.variant !== 'default') {\n // We need to do this, to stop the drawer from giving focus to the panel\n event.preventDefault();\n\n // The originalTrigger needs to be removed, otherwise when closing the drawer,\n // the first focused nav-item is focused again...\n // eslint-disable-next-line dot-notation\n this.drawer['originalTrigger'] = null;\n }\n });\n\n this.addEventListener('focusin', (event) => {\n const targetTag = (event.target as HTMLElement).tagName.toLowerCase();\n // Open the side-nav if it`s in variant=\"rail\", closed and the focused element is a nav-item\n if (targetTag === 'syn-nav-item' && this.variant === 'rail' && !this.open) {\n this.open = true;\n }\n });\n\n this.addEventListener('focusout', (event) => {\n const targetTag = (event.target as HTMLElement).tagName.toLowerCase();\n const relatedTargetTag = (event.relatedTarget as HTMLElement)?.tagName.toLowerCase();\n\n // Close the side-nav, if it`s in variant=\"rail\", open and the next focused element\n // is no longer a nav-item\n if (targetTag === 'syn-nav-item' && relatedTargetTag !== 'syn-nav-item' && this.variant === 'rail' && this.open) {\n this.open = false;\n }\n });\n }\n\n /**\n * Initial setup for first render like special variant=\"rail\" and variant=\"sticky\" handling\n * and drawer animations.\n * */\n firstUpdated() {\n this.setDrawerAnimations();\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.drawer.updateComplete.then(() => {\n this.drawer.forceVisibility(this.variant !== 'default');\n // change tabindex of drawer to make only nav-items focusable and not the panel of the drawer\n (this.drawer.shadowRoot!.querySelector('.drawer__panel') as HTMLElement).tabIndex = -1;\n });\n\n switch (this.variant) {\n case 'rail':\n // Wait for the drawer`s update to be completed\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.drawer.updateComplete.then(() => {\n this.addMouseListener();\n });\n break;\n case 'sticky': break;\n case 'default':\n default:\n if (this.noFocusTrapping) {\n // Disable the focus trapping of the modal\n this.drawer.modal.activateExternal();\n }\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n // Remove modal listeners\n if (this.drawer) {\n unlockBodyScrolling(this.drawer);\n this.drawer.modal.deactivate();\n }\n }\n\n private toggleOpenState() {\n this.open = !this.open;\n }\n\n // eslint-disable-next-line complexity\n render() {\n const isTouch = window.navigator.maxTouchPoints > 0 || !!('ontouchstart' in window);\n const hasFooter = this.hasSlotController.test('footer');\n const showFooterDivider = hasFooter || this.variant === 'sticky';\n\n /* eslint-disable lit/no-invalid-html */\n /* eslint-disable @typescript-eslint/unbound-method */\n return html`\n <nav\n class=${classMap({\n 'side-nav': true,\n 'side-nav--animation': this.isAnimationActive,\n 'side-nav--fix': this.variant === 'default',\n 'side-nav--has-footer': hasFooter,\n 'side-nav--open': this.open,\n 'side-nav--rail': this.variant === 'rail',\n 'side-nav--sticky': this.variant === 'sticky',\n 'side-nav--touch': isTouch,\n })}\n part=\"base\"\n >\n \n <syn-drawer\n class=\"side-nav__drawer\"\n ?contained=${this.variant !== 'default'}\n exportparts=\"overlay,panel,body,base:drawer__base\"\n label=${this.localize.term('sideNav')}\n no-header\n ?open=${this.open}\n part=\"drawer\"\n placement=\"start\"\n @syn-request-close=${this.handleRequestClose} \n >\n <div part=\"content-container\" class=\"side-nav__content-container\">\n <slot part=\"content\"></slot>\n </div>\n \n <footer class=\"side-nav__footer\" part=\"footer-container\" slot=\"footer\"> \n\n ${showFooterDivider ? html`<syn-divider part=\"footer-divider\" class=\"side-nav__footer-divider\"></syn-divider>` : ''}\n <slot name=\"footer\" part=\"footer\" ></slot>\n ${this.variant === 'sticky'\n ? html`<syn-nav-item part=\"toggle-nav-item\" class=\"side-nav__toggle-nav-item\" @click=${this.toggleOpenState} ?divider=${hasFooter}>\n <slot name=\"toggle-icon\" slot=\"prefix\" class=\"side-nav__toggle-icon\">\n <syn-icon library=\"system\" name=\"sticky_sidebar\" part=\"toggle-icon\"></syn-icon>\n </slot>\n <slot name=\"toggle-label\" part=\"toggle-label\">\n ${(!this.open && !this.isAnimationActive) ? this.localize.term('sideNavShow') : this.localize.term('sideNavHide')}\n </slot>\n </syn-nav-item>`\n : ''\n }\n \n </footer>\n\n </syn-drawer>\n\n </nav>\n `;\n /* eslint-enable lit/no-invalid-html */\n /* eslint-enable @typescript-eslint/unbound-method */\n }\n}\n\n// Show animations\nsetDefaultAnimation('sideNav.showRail', {\n keyframes: [\n { width: 'var(--side-nav-rail-width)' },\n { width: 'var(--side-nav-open-width)' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\nsetDefaultAnimation('sideNav.showNonRail', {\n keyframes: [\n { opacity: 0, translate: '-100%' },\n { opacity: 1, translate: '0' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\n// Hide animations\nsetDefaultAnimation('sideNav.hideNonRail', {\n keyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '-100%' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\nsetDefaultAnimation('sideNav.hideRail', {\n keyframes: [\n { width: 'var(--side-nav-open-width)' },\n { width: 'var(--side-nav-rail-width)' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\n// Overlay animations\nsetDefaultAnimation('sideNav.overlay.show', {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 250 },\n});\n\nsetDefaultAnimation('sideNav.overlay.hide', {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 250 },\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/unbound-method */\nimport { classMap } from 'lit/directives/class-map.js';\nimport type { CSSResultGroup } from 'lit';\nimport { html } from 'lit/static-html.js';\nimport { property, query, state } from 'lit/decorators.js';\nimport { HasSlotController } from '../../internal/slot.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport styles from './side-nav.styles.js';\nimport SynDrawer from '../drawer/drawer.component.js';\nimport SynDivider from '../divider/divider.component.js';\nimport SynIcon from '../icon/icon.component.js';\nimport SynNavItem from '../nav-item/nav-item.component.js';\nimport { waitForEvent } from '../../internal/event.js';\nimport { watch } from '../../internal/watch.js';\nimport { getAnimation, setAnimation, setDefaultAnimation } from '../../utilities/animation-registry.js';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { unlockBodyScrolling } from '../../internal/scroll.js';\nimport { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';\n\n/**\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 * @dependency syn-icon\n * @dependency syn-nav-item\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 * @slot toggle-label - The label of the toggle nav-item for variant=\"sticky\".\n * @slot toggle-icon - An icon to use in lieu of the default icon for the toggle nav-item\n * for variant=\"sticky\".\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 (where the footer slot content is rendered)\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 * @csspart panel - The side-nav's panel (where the whole content is rendered).\n * @csspart body - The side-nav's body (where the default slot content is rendered)\n * @csspart drawer__base - The drawer's base wrapper\n * @csspart toggle-nav-item - The nav-item to toggle open state for variant=\"sticky\"\n * @csspart toggle-icon - The icon of the toggle nav-item for variant=\"sticky\"\n * @csspart toggle-label - The label of the toggle nav-item for variant=\"sticky\".\n\n * @cssproperty --side-nav-open-width - The width of the side-nav if in open state\n *\n * @animation sideNav.showNonRail - The animation to use when showing the side-nav\n * in variant=\"default\".\n * @animation sideNav.showRail - The animation to use when showing the side-nav in variant=\"rail\"\n * and variant=\"sticky\".\n * @animation sideNav.hideNonRail - The animation to use when hiding the side-nav\n * in variant=\"default\".\n * @animation sideNav.hideRail - The animation to use when hiding the side-nav in variant=\"rail\"\n * and variant=\"sticky\".\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 */\n@enableDefaultSettings('SynSideNav')\nexport default class SynSideNav extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles];\n\n static dependencies = {\n 'syn-divider': SynDivider,\n 'syn-drawer': SynDrawer,\n 'syn-icon': SynIcon,\n 'syn-nav-item': SynNavItem,\n };\n\n private readonly hasSlotController = new HasSlotController(this, '[default]', 'footer');\n\n private readonly localize = new LocalizeController(this);\n\n private timeout: NodeJS.Timeout;\n\n /**\n * Current animation active state\n */\n @state() private isAnimationActive = false;\n\n /**\n * Reference to the drawer\n */\n @query('.side-nav__drawer') private drawer: SynDrawer;\n\n /**\n * Indicates whether or not the side-nav is open.\n * You 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 *\n * Depending on the \"variant\" attribute, the behavior will differ.\n *\n * __Default__:\n * With `open` will show the side-nav with an overlay.\n * Without `open`, the side-nav will be hidden.\n *\n * __Rail__:\n * With `open` will show the whole side-nav with an overlay for touch devices\n * or without an overlay for non-touch devices.\n * Without `open`, the side-nav will only show the prefix of nav-item's.\n *\n * __Sticky__:\n * With `open` will show the whole side-nav with an overlay for touch devices\n * or without an overlay for non-touch devices.\n * Without `open`, the side-nav will only show the prefix of nav-item's.\n *\n */\n @property({ reflect: true, type: Boolean }) open = false;\n\n /**\n * The variant that should be used to show the side navigation.\n *\n * The following variants are supported:\n * - **default** (default): Always shows the whole content and additionally an overlay.\n * This makes especially sense for applications, where you navigate to a place and stay\n * there for a longer time.\n * - **rail**: Only show the prefix of navigation items in closed state.\n * This will open on hover on the rail navigation.\n * On touch devices the navigation opens on click and shows an overlay.\n * Note: The rail variant is only an option if all Navigation Items on the first level\n * have an Icon.\n * If this is not the case you should use a burger navigation.\n * - **sticky**: The side-nav has a pin button to show the side-nav in small (icon only)\n * and full width. This variant is only possible for non-nested navigation items.\n * Note: The sticky variant is only an option if all Navigation Items on the first level\n * have an Icon and if there are only \"first level\" items.\n */\n @property({ reflect: true }) variant: 'default' | 'rail' | 'sticky' = 'default';\n\n /**\n * By default, the side-nav traps the focus if in variant=\"default\" and open.\n * To disable the focus trapping, set this attribute.\n */\n @property({ attribute: 'no-focus-trapping', reflect: true, type: Boolean }) noFocusTrapping = false;\n\n private setDelayedCallback(callback: () => void) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(callback, 100);\n }\n\n private handleMouseEnter() {\n // Debounce mouse events, to avoid infinite loop of open / closing in variant=\"rail\"\n this.setDelayedCallback(() => {\n this.open = true;\n });\n }\n\n private handleMouseLeave() {\n // Debounce mouse events, to avoid infinite loop of open / closing in variant=\"rail\"\n this.setDelayedCallback(() => {\n this.open = false;\n });\n }\n\n private handleRequestClose() {\n if (this.open) {\n this.open = false;\n }\n }\n\n private addMouseListener() {\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.addEventListener('mouseenter', this.handleMouseEnter);\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.addEventListener('mouseleave', this.handleMouseLeave);\n }\n\n private removeMouseListener() {\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.removeEventListener('mouseenter', this.handleMouseEnter);\n this.drawer.shadowRoot!.querySelector('.drawer__panel')?.removeEventListener('mouseleave', this.handleMouseLeave);\n }\n\n private setDrawerAnimations() {\n const showAnimation = getAnimation(this, `sideNav.show${this.variant === 'default' ? 'NonRail' : 'Rail'}`, { dir: this.localize.dir() });\n const hideAnimation = getAnimation(this, `sideNav.hide${this.variant === 'default' ? 'NonRail' : 'Rail'}`, { dir: this.localize.dir() });\n const hideOverlay = getAnimation(this, 'sideNav.overlay.hide', { dir: this.localize.dir() });\n const showOverlay = getAnimation(this, 'sideNav.overlay.show', { dir: this.localize.dir() });\n\n setAnimation(this.drawer, 'drawer.showStart', showAnimation);\n setAnimation(this.drawer, 'drawer.hideStart', hideAnimation);\n setAnimation(this.drawer, 'drawer.overlay.hide', hideOverlay);\n setAnimation(this.drawer, 'drawer.overlay.show', showOverlay);\n }\n\n @watch('variant', { waitUntilFirstUpdate: true })\n handleVariantChange() {\n this.setDrawerAnimations();\n this.drawer.forceVisibility(this.variant !== 'default');\n\n switch (this.variant) {\n case 'rail':\n // For hover handling\n this.addMouseListener();\n break;\n case 'sticky':\n case 'default':\n default:\n this.removeMouseListener();\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n handleOpenChange() {\n if (this.variant === 'default') {\n return;\n }\n\n this.isAnimationActive = true;\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n waitForEvent(this.drawer, `syn-after-${this.open ? 'show' : 'hide'}`).then(() => {\n this.isAnimationActive = false;\n });\n }\n\n @watch('noFocusTrapping', { waitUntilFirstUpdate: true })\n handleFocusTrapping() {\n if (this.variant === 'default') {\n if (this.noFocusTrapping) {\n this.drawer.modal.activateExternal();\n } else {\n this.drawer.modal.deactivateExternal();\n }\n }\n }\n\n /** Shows the side-nav. */\n async show() {\n if (this.open) {\n return undefined;\n }\n this.open = true;\n\n return waitForEvent(this.drawer, 'syn-after-show');\n }\n\n /** Hides the side-nav */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n\n return waitForEvent(this.drawer, 'syn-after-hide');\n }\n\n constructor() {\n super();\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.addEventListener('syn-initial-focus', (event) => {\n if (this.variant !== 'default') {\n // We need to do this, to stop the drawer from giving focus to the panel\n event.preventDefault();\n\n // The originalTrigger needs to be removed, otherwise when closing the drawer,\n // the first focused nav-item is focused again...\n // eslint-disable-next-line dot-notation\n this.drawer['originalTrigger'] = null;\n }\n });\n\n this.addEventListener('focusin', (event) => {\n const targetTag = (event.target as HTMLElement).tagName.toLowerCase();\n // Open the side-nav if it`s in variant=\"rail\", closed and the focused element is a nav-item\n if (targetTag === 'syn-nav-item' && this.variant === 'rail' && !this.open) {\n this.open = true;\n }\n });\n\n this.addEventListener('focusout', (event) => {\n const targetTag = (event.target as HTMLElement).tagName.toLowerCase();\n const relatedTargetTag = (event.relatedTarget as HTMLElement)?.tagName.toLowerCase();\n\n // Close the side-nav, if it`s in variant=\"rail\", open and the next focused element\n // is no longer a nav-item\n if (targetTag === 'syn-nav-item' && relatedTargetTag !== 'syn-nav-item' && this.variant === 'rail' && this.open) {\n this.open = false;\n }\n });\n }\n\n /**\n * Initial setup for first render like special variant=\"rail\" and variant=\"sticky\" handling\n * and drawer animations.\n * */\n firstUpdated() {\n this.setDrawerAnimations();\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.drawer.updateComplete.then(() => {\n this.drawer.forceVisibility(this.variant !== 'default');\n // change tabindex of drawer to make only nav-items focusable and not the panel of the drawer\n (this.drawer.shadowRoot!.querySelector('.drawer__panel') as HTMLElement).tabIndex = -1;\n });\n\n switch (this.variant) {\n case 'rail':\n // Wait for the drawer`s update to be completed\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.drawer.updateComplete.then(() => {\n this.addMouseListener();\n });\n break;\n case 'sticky': break;\n case 'default':\n default:\n if (this.noFocusTrapping) {\n // Disable the focus trapping of the modal\n this.drawer.modal.activateExternal();\n }\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n // Remove modal listeners\n if (this.drawer) {\n unlockBodyScrolling(this.drawer);\n this.drawer.modal.deactivate();\n }\n }\n\n private toggleOpenState() {\n this.open = !this.open;\n }\n\n // eslint-disable-next-line complexity\n render() {\n const isTouch = window.navigator.maxTouchPoints > 0 || !!('ontouchstart' in window);\n const hasFooter = this.hasSlotController.test('footer');\n const showFooterDivider = hasFooter || this.variant === 'sticky';\n\n /* eslint-disable lit/no-invalid-html */\n /* eslint-disable @typescript-eslint/unbound-method */\n return html`\n <nav\n class=${classMap({\n 'side-nav': true,\n 'side-nav--animation': this.isAnimationActive,\n 'side-nav--fix': this.variant === 'default',\n 'side-nav--has-footer': hasFooter,\n 'side-nav--open': this.open,\n 'side-nav--rail': this.variant === 'rail',\n 'side-nav--sticky': this.variant === 'sticky',\n 'side-nav--touch': isTouch,\n })}\n part=\"base\"\n >\n \n <syn-drawer\n class=\"side-nav__drawer\"\n ?contained=${this.variant !== 'default'}\n exportparts=\"overlay,panel,body,base:drawer__base\"\n label=${this.localize.term('sideNav')}\n no-header\n ?open=${this.open}\n part=\"drawer\"\n placement=\"start\"\n @syn-request-close=${this.handleRequestClose} \n >\n <div part=\"content-container\" class=\"side-nav__content-container\">\n <slot part=\"content\"></slot>\n </div>\n \n <footer class=\"side-nav__footer\" part=\"footer-container\" slot=\"footer\"> \n\n ${showFooterDivider ? html`<syn-divider part=\"footer-divider\" class=\"side-nav__footer-divider\"></syn-divider>` : ''}\n <slot name=\"footer\" part=\"footer\" ></slot>\n ${this.variant === 'sticky'\n ? html`<syn-nav-item part=\"toggle-nav-item\" class=\"side-nav__toggle-nav-item\" @click=${this.toggleOpenState} ?divider=${hasFooter}>\n <slot name=\"toggle-icon\" slot=\"prefix\" class=\"side-nav__toggle-icon\">\n <syn-icon library=\"system\" name=\"sticky_sidebar\" part=\"toggle-icon\"></syn-icon>\n </slot>\n <slot name=\"toggle-label\" part=\"toggle-label\">\n ${(!this.open && !this.isAnimationActive) ? this.localize.term('sideNavShow') : this.localize.term('sideNavHide')}\n </slot>\n </syn-nav-item>`\n : ''\n }\n \n </footer>\n\n </syn-drawer>\n\n </nav>\n `;\n /* eslint-enable lit/no-invalid-html */\n /* eslint-enable @typescript-eslint/unbound-method */\n }\n}\n\n// Show animations\nsetDefaultAnimation('sideNav.showRail', {\n keyframes: [\n { width: 'var(--side-nav-rail-width)' },\n { width: 'var(--side-nav-open-width)' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\nsetDefaultAnimation('sideNav.showNonRail', {\n keyframes: [\n { opacity: 0, translate: '-100%' },\n { opacity: 1, translate: '0' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\n// Hide animations\nsetDefaultAnimation('sideNav.hideNonRail', {\n keyframes: [\n { opacity: 1, translate: '0' },\n { opacity: 0, translate: '-100%' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\nsetDefaultAnimation('sideNav.hideRail', {\n keyframes: [\n { width: 'var(--side-nav-open-width)' },\n { width: 'var(--side-nav-rail-width)' },\n ],\n options: { duration: 250, easing: 'ease' },\n});\n\n// Overlay animations\nsetDefaultAnimation('sideNav.overlay.show', {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 250 },\n});\n\nsetDefaultAnimation('sideNav.overlay.hide', {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 250 },\n});\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAAS,gBAAgB;AAEzB,SAAS,YAAY;AACrB,SAAS,UAAU,OAAO,aAAa;AA6EvC,IAAqB,aAArB,cAAwC,eAAe;AAAA,EA0LrD,cAAc;AACZ,UAAM;AAjLR,SAAiB,oBAAoB,IAAI,kBAAkB,MAAM,aAAa,QAAQ;AAEtF,SAAiB,WAAW,IAAI,mBAAmB,IAAI;AAO9C,SAAQ,oBAAoB;AA6BO,gBAAO;AAoBtB,mBAAyC;AAMM,2BAAkB;AAkH5F,SAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AACvD,SAAK,mBAAmB,KAAK,iBAAiB,KAAK,IAAI;AACvD,SAAK,iBAAiB,qBAAqB,CAAC,UAAU;AACpD,UAAI,KAAK,YAAY,WAAW;AAE9B,cAAM,eAAe;AAKrB,aAAK,OAAO,iBAAiB,IAAI;AAAA,MACnC;AAAA,IACF,CAAC;AAED,SAAK,iBAAiB,WAAW,CAAC,UAAU;AAC1C,YAAM,YAAa,MAAM,OAAuB,QAAQ,YAAY;AAEpE,UAAI,cAAc,kBAAkB,KAAK,YAAY,UAAU,CAAC,KAAK,MAAM;AACzE,aAAK,OAAO;AAAA,MACd;AAAA,IACF,CAAC;AAED,SAAK,iBAAiB,YAAY,CAAC,UAAU;AAnSjD;AAoSM,YAAM,YAAa,MAAM,OAAuB,QAAQ,YAAY;AACpE,YAAM,oBAAoB,WAAM,kBAAN,mBAAqC,QAAQ;AAIvE,UAAI,cAAc,kBAAkB,qBAAqB,kBAAkB,KAAK,YAAY,UAAU,KAAK,MAAM;AAC/G,aAAK,OAAO;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAhJQ,mBAAmB,UAAsB;AAC/C,iBAAa,KAAK,OAAO;AACzB,SAAK,UAAU,WAAW,UAAU,GAAG;AAAA,EACzC;AAAA,EAEQ,mBAAmB;AAEzB,SAAK,mBAAmB,MAAM;AAC5B,WAAK,OAAO;AAAA,IACd,CAAC;AAAA,EACH;AAAA,EAEQ,mBAAmB;AAEzB,SAAK,mBAAmB,MAAM;AAC5B,WAAK,OAAO;AAAA,IACd,CAAC;AAAA,EACH;AAAA,EAEQ,qBAAqB;AAC3B,QAAI,KAAK,MAAM;AACb,WAAK,OAAO;AAAA,IACd;AAAA,EACF;AAAA,EAEQ,mBAAmB;AAtL7B;AAuLI,eAAK,OAAO,WAAY,cAAc,gBAAgB,MAAtD,mBAAyD,iBAAiB,cAAc,KAAK;AAC7F,eAAK,OAAO,WAAY,cAAc,gBAAgB,MAAtD,mBAAyD,iBAAiB,cAAc,KAAK;AAAA,EAC/F;AAAA,EAEQ,sBAAsB;AA3LhC;AA4LI,eAAK,OAAO,WAAY,cAAc,gBAAgB,MAAtD,mBAAyD,oBAAoB,cAAc,KAAK;AAChG,eAAK,OAAO,WAAY,cAAc,gBAAgB,MAAtD,mBAAyD,oBAAoB,cAAc,KAAK;AAAA,EAClG;AAAA,EAEQ,sBAAsB;AAC5B,UAAM,gBAAgB,aAAa,MAAM,eAAe,KAAK,YAAY,YAAY,YAAY,MAAM,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC;AACvI,UAAM,gBAAgB,aAAa,MAAM,eAAe,KAAK,YAAY,YAAY,YAAY,MAAM,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC;AACvI,UAAM,cAAc,aAAa,MAAM,wBAAwB,EAAE,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC;AAC3F,UAAM,cAAc,aAAa,MAAM,wBAAwB,EAAE,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC;AAE3F,iBAAa,KAAK,QAAQ,oBAAoB,aAAa;AAC3D,iBAAa,KAAK,QAAQ,oBAAoB,aAAa;AAC3D,iBAAa,KAAK,QAAQ,uBAAuB,WAAW;AAC5D,iBAAa,KAAK,QAAQ,uBAAuB,WAAW;AAAA,EAC9D;AAAA,EAGA,sBAAsB;AACpB,SAAK,oBAAoB;AACzB,SAAK,OAAO,gBAAgB,KAAK,YAAY,SAAS;AAEtD,YAAQ,KAAK,SAAS;AAAA,MACpB,KAAK;AAEH,aAAK,iBAAiB;AACtB;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AACE,aAAK,oBAAoB;AAAA,IAC7B;AAAA,EACF;AAAA,EAGA,mBAAmB;AACjB,QAAI,KAAK,YAAY,WAAW;AAC9B;AAAA,IACF;AAEA,SAAK,oBAAoB;AAGzB,iBAAa,KAAK,QAAQ,aAAa,KAAK,OAAO,SAAS,MAAM,EAAE,EAAE,KAAK,MAAM;AAC/E,WAAK,oBAAoB;AAAA,IAC3B,CAAC;AAAA,EACH;AAAA,EAGA,sBAAsB;AACpB,QAAI,KAAK,YAAY,WAAW;AAC9B,UAAI,KAAK,iBAAiB;AACxB,aAAK,OAAO,MAAM,iBAAiB;AAAA,MACrC,OAAO;AACL,aAAK,OAAO,MAAM,mBAAmB;AAAA,MACvC;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAGA,MAAM,OAAO;AACX,QAAI,KAAK,MAAM;AACb,aAAO;AAAA,IACT;AACA,SAAK,OAAO;AAEZ,WAAO,aAAa,KAAK,QAAQ,gBAAgB;AAAA,EACnD;AAAA;AAAA,EAGA,MAAM,OAAO;AACX,QAAI,CAAC,KAAK,MAAM;AACd,aAAO;AAAA,IACT;AAEA,SAAK,OAAO;AAEZ,WAAO,aAAa,KAAK,QAAQ,gBAAgB;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA;AAAA,EA0CA,eAAe;AACb,SAAK,oBAAoB;AAGzB,SAAK,OAAO,eAAe,KAAK,MAAM;AACpC,WAAK,OAAO,gBAAgB,KAAK,YAAY,SAAS;AAEtD,MAAC,KAAK,OAAO,WAAY,cAAc,gBAAgB,EAAkB,WAAW;AAAA,IACtF,CAAC;AAED,YAAQ,KAAK,SAAS;AAAA,MACpB,KAAK;AAGH,aAAK,OAAO,eAAe,KAAK,MAAM;AACpC,eAAK,iBAAiB;AAAA,QACxB,CAAC;AACD;AAAA,MACF,KAAK;AAAU;AAAA,MACf,KAAK;AAAA,MACL;AACE,YAAI,KAAK,iBAAiB;AAExB,eAAK,OAAO,MAAM,iBAAiB;AAAA,QACrC;AAAA,IACJ;AAAA,EACF;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAqB;AAG3B,QAAI,KAAK,QAAQ;AACf,0BAAoB,KAAK,MAAM;AAC/B,WAAK,OAAO,MAAM,WAAW;AAAA,IAC/B;AAAA,EACF;AAAA,EAEQ,kBAAkB;AACxB,SAAK,OAAO,CAAC,KAAK;AAAA,EACpB;AAAA;AAAA,EAGA,SAAS;AACP,UAAM,UAAU,OAAO,UAAU,iBAAiB,KAAK,CAAC,EAAE,kBAAkB;AAC5E,UAAM,YAAY,KAAK,kBAAkB,KAAK,QAAQ;AACtD,UAAM,oBAAoB,aAAa,KAAK,YAAY;AAIxD,WAAO;AAAA;AAAA,gBAEK,SAAS;AAAA,MACf,YAAY;AAAA,MACZ,uBAAuB,KAAK;AAAA,MAC5B,iBAAiB,KAAK,YAAY;AAAA,MAClC,wBAAwB;AAAA,MACxB,kBAAkB,KAAK;AAAA,MACvB,kBAAkB,KAAK,YAAY;AAAA,MACnC,oBAAoB,KAAK,YAAY;AAAA,MACrC,mBAAmB;AAAA,IACrB,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAMa,KAAK,YAAY,SAAS;AAAA;AAAA,kBAE/B,KAAK,SAAS,KAAK,SAAS,CAAC;AAAA;AAAA,kBAE7B,KAAK,IAAI;AAAA;AAAA;AAAA,+BAGI,KAAK,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAQxC,oBAAoB,2FAA2F,EAAE;AAAA;AAAA,cAEjH,KAAK,YAAY,WACf,qFAAqF,KAAK,eAAe,aAAa,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,0BAKpH,CAAC,KAAK,QAAQ,CAAC,KAAK,oBAAqB,KAAK,SAAS,KAAK,aAAa,IAAI,KAAK,SAAS,KAAK,aAAa,CAAC;AAAA;AAAA,uCAGzH,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUV;AACF;AA3UqB,WACZ,SAAyB,CAAC,0BAAiB,uBAAM;AADrC,WAGZ,eAAe;AAAA,EACpB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,gBAAgB;AAClB;AAWiB;AAAA,EAAhB,MAAM;AAAA,GAnBY,WAmBF;AAKmB;AAAA,EAAnC,MAAM,mBAAmB;AAAA,GAxBP,WAwBiB;AAwBQ;AAAA,EAA3C,SAAS,EAAE,SAAS,MAAM,MAAM,QAAQ,CAAC;AAAA,GAhDvB,WAgDyB;AAoBf;AAAA,EAA5B,SAAS,EAAE,SAAS,KAAK,CAAC;AAAA,GApER,WAoEU;AAM+C;AAAA,EAA3E,SAAS,EAAE,WAAW,qBAAqB,SAAS,MAAM,MAAM,QAAQ,CAAC;AAAA,GA1EvD,WA0EyD;AAkD5E;AAAA,EADC,MAAM,WAAW,EAAE,sBAAsB,KAAK,CAAC;AAAA,GA3H7B,WA4HnB;AAiBA;AAAA,EADC,MAAM,QAAQ,EAAE,sBAAsB,KAAK,CAAC;AAAA,GA5I1B,WA6InB;AAcA;AAAA,EADC,MAAM,mBAAmB,EAAE,sBAAsB,KAAK,CAAC;AAAA,GA1JrC,WA2JnB;AA3JmB,aAArB;AAAA,EADC,sBAAsB,YAAY;AAAA,GACd;AA8UrB,oBAAoB,oBAAoB;AAAA,EACtC,WAAW;AAAA,IACT,EAAE,OAAO,6BAA6B;AAAA,IACtC,EAAE,OAAO,6BAA6B;AAAA,EACxC;AAAA,EACA,SAAS,EAAE,UAAU,KAAK,QAAQ,OAAO;AAC3C,CAAC;AAED,oBAAoB,uBAAuB;AAAA,EACzC,WAAW;AAAA,IACT,EAAE,SAAS,GAAG,WAAW,QAAQ;AAAA,IACjC,EAAE,SAAS,GAAG,WAAW,IAAI;AAAA,EAC/B;AAAA,EACA,SAAS,EAAE,UAAU,KAAK,QAAQ,OAAO;AAC3C,CAAC;AAGD,oBAAoB,uBAAuB;AAAA,EACzC,WAAW;AAAA,IACT,EAAE,SAAS,GAAG,WAAW,IAAI;AAAA,IAC7B,EAAE,SAAS,GAAG,WAAW,QAAQ;AAAA,EACnC;AAAA,EACA,SAAS,EAAE,UAAU,KAAK,QAAQ,OAAO;AAC3C,CAAC;AAED,oBAAoB,oBAAoB;AAAA,EACtC,WAAW;AAAA,IACT,EAAE,OAAO,6BAA6B;AAAA,IACtC,EAAE,OAAO,6BAA6B;AAAA,EACxC;AAAA,EACA,SAAS,EAAE,UAAU,KAAK,QAAQ,OAAO;AAC3C,CAAC;AAGD,oBAAoB,wBAAwB;AAAA,EAC1C,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAAA,EAC1C,SAAS,EAAE,UAAU,IAAI;AAC3B,CAAC;AAED,oBAAoB,wBAAwB;AAAA,EAC1C,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAAA,EAC1C,SAAS,EAAE,UAAU,IAAI;AAC3B,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,9 @@
1
- import {
2
- tab_panel_styles_default
3
- } from "./chunk.6KIX3PER.js";
4
1
  import {
5
2
  tab_panel_custom_styles_default
6
3
  } from "./chunk.XHWYGYMQ.js";
4
+ import {
5
+ tab_panel_styles_default
6
+ } from "./chunk.6KIX3PER.js";
7
7
  import {
8
8
  watch
9
9
  } from "./chunk.SMIMHADA.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk.FXJLG622.js";
13
13
  import {
14
14
  SynergyElement
15
- } from "./chunk.ECNXEYTN.js";
15
+ } from "./chunk.OQTCK25R.js";
16
16
  import {
17
17
  __decorateClass
18
18
  } from "./chunk.MO2GTRUM.js";
@@ -64,4 +64,4 @@ __decorateClass([
64
64
  export {
65
65
  SynTabPanel
66
66
  };
67
- //# sourceMappingURL=chunk.FKIDTC5A.js.map
67
+ //# sourceMappingURL=chunk.D25IFJWA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynHeader
3
- } from "./chunk.WHDNCE4Q.js";
3
+ } from "./chunk.PBPWB5Y4.js";
4
4
 
5
5
  // src/components/header/header.ts
6
6
  var header_default = SynHeader;
@@ -9,4 +9,4 @@ SynHeader.define("syn-header");
9
9
  export {
10
10
  header_default
11
11
  };
12
- //# sourceMappingURL=chunk.MP5AW7KH.js.map
12
+ //# sourceMappingURL=chunk.DNCKT2DP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynOptgroup
3
- } from "./chunk.FUYMXIMF.js";
3
+ } from "./chunk.R2B7EVOH.js";
4
4
 
5
5
  // src/components/optgroup/optgroup.ts
6
6
  var optgroup_default = SynOptgroup;
@@ -9,4 +9,4 @@ SynOptgroup.define("syn-optgroup");
9
9
  export {
10
10
  optgroup_default
11
11
  };
12
- //# sourceMappingURL=chunk.7G6N24FO.js.map
12
+ //# sourceMappingURL=chunk.ECZMBKYX.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynRange
3
- } from "./chunk.GOAMFSM4.js";
3
+ } from "./chunk.SZVAIHLG.js";
4
4
 
5
5
  // src/components/range/range.ts
6
6
  var range_default = SynRange;
@@ -9,4 +9,4 @@ SynRange.define("syn-range");
9
9
  export {
10
10
  range_default
11
11
  };
12
- //# sourceMappingURL=chunk.3GSHQV5Q.js.map
12
+ //# sourceMappingURL=chunk.EX4CTB5U.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk.FXJLG622.js";
10
10
  import {
11
11
  SynergyElement
12
- } from "./chunk.ECNXEYTN.js";
12
+ } from "./chunk.OQTCK25R.js";
13
13
  import {
14
14
  __decorateClass
15
15
  } from "./chunk.MO2GTRUM.js";
@@ -78,4 +78,4 @@ __decorateClass([
78
78
  export {
79
79
  SynResizeObserver
80
80
  };
81
- //# sourceMappingURL=chunk.D43HKTYD.js.map
81
+ //# sourceMappingURL=chunk.FPQ45A6M.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynCombobox
3
- } from "./chunk.6JDKH43H.js";
3
+ } from "./chunk.7HTPCUKK.js";
4
4
 
5
5
  // src/components/combobox/combobox.ts
6
6
  var combobox_default = SynCombobox;
@@ -9,4 +9,4 @@ SynCombobox.define("syn-combobox");
9
9
  export {
10
10
  combobox_default
11
11
  };
12
- //# sourceMappingURL=chunk.YZMG6OGY.js.map
12
+ //# sourceMappingURL=chunk.G5G6TON4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynIcon
3
- } from "./chunk.KHRQ5VI4.js";
3
+ } from "./chunk.R36PMPNJ.js";
4
4
 
5
5
  // src/components/icon/icon.ts
6
6
  var icon_default = SynIcon;
@@ -9,4 +9,4 @@ SynIcon.define("syn-icon");
9
9
  export {
10
10
  icon_default
11
11
  };
12
- //# sourceMappingURL=chunk.2EZFBKDU.js.map
12
+ //# sourceMappingURL=chunk.HJBM424N.js.map
@@ -1,9 +1,6 @@
1
- import {
2
- details_custom_styles_default
3
- } from "./chunk.GFX23JLA.js";
4
1
  import {
5
2
  details_styles_default
6
- } from "./chunk.2BJPTG2Q.js";
3
+ } from "./chunk.IP6JSQWX.js";
7
4
  import {
8
5
  waitForEvent
9
6
  } from "./chunk.LQDIH4Z5.js";
@@ -18,22 +15,22 @@ import {
18
15
  } from "./chunk.RJUVM6NO.js";
19
16
  import {
20
17
  SynIcon
21
- } from "./chunk.KHRQ5VI4.js";
22
- import {
23
- watch
24
- } from "./chunk.SMIMHADA.js";
18
+ } from "./chunk.R36PMPNJ.js";
25
19
  import {
26
20
  LocalizeController
27
21
  } from "./chunk.QLETXF4A.js";
28
22
  import {
29
23
  enableDefaultSettings
30
24
  } from "./chunk.YACUYJZN.js";
25
+ import {
26
+ watch
27
+ } from "./chunk.SMIMHADA.js";
31
28
  import {
32
29
  component_styles_default
33
30
  } from "./chunk.FXJLG622.js";
34
31
  import {
35
32
  SynergyElement
36
- } from "./chunk.ECNXEYTN.js";
33
+ } from "./chunk.OQTCK25R.js";
37
34
  import {
38
35
  __decorateClass
39
36
  } from "./chunk.MO2GTRUM.js";
@@ -154,6 +151,7 @@ var SynDetails = class extends SynergyElement {
154
151
  part="base"
155
152
  class=${classMap({
156
153
  details: true,
154
+ "details--size-small": this.size === "small",
157
155
  "details--size-medium": this.size === "medium",
158
156
  "details--size-large": this.size === "large",
159
157
  "details--open": this.open,
@@ -192,7 +190,7 @@ var SynDetails = class extends SynergyElement {
192
190
  `;
193
191
  }
194
192
  };
195
- SynDetails.styles = [component_styles_default, details_styles_default, details_custom_styles_default];
193
+ SynDetails.styles = [component_styles_default, details_styles_default];
196
194
  SynDetails.dependencies = {
197
195
  "syn-icon": SynIcon
198
196
  };
@@ -247,4 +245,4 @@ setDefaultAnimation("details.hide", {
247
245
  export {
248
246
  SynDetails
249
247
  };
250
- //# sourceMappingURL=chunk.MFLXKYBR.js.map
248
+ //# sourceMappingURL=chunk.HP4EAWPZ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/details/details.component.ts"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport { animateTo, shimKeyframesHeightAuto, stopAnimations } from '../../internal/animate.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { getAnimation, setDefaultAnimation } from '../../utilities/animation-registry.js';\nimport { html } from 'lit';\nimport { LocalizeController } from '../../utilities/localize.js';\nimport { property, query } from 'lit/decorators.js';\nimport { waitForEvent } from '../../internal/event.js';\nimport { watch } from '../../internal/watch.js';\nimport componentStyles from '../../styles/component.styles.js';\nimport SynergyElement from '../../internal/synergy-element.js';\nimport SynIcon from '../icon/icon.component.js';\nimport styles from './details.styles.js';\nimport type { CSSResultGroup } from 'lit';\nimport { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';\n\n/**\n * @summary Details show a brief summary and expand to show additional content.\n * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-details--docs\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The details' main content.\n * @slot summary - The details' summary. Alternatively, you can use the `summary` attribute.\n * @slot expand-icon - Optional expand icon to use instead of the default. Works best with `<syn-icon>`.\n * @slot collapse-icon - Optional collapse icon to use instead of the default. Works best with `<syn-icon>`.\n *\n * @event syn-show - Emitted when the details opens.\n * @event syn-after-show - Emitted after the details opens and all animations are complete.\n * @event syn-hide - Emitted when the details closes.\n * @event syn-after-hide - Emitted after the details closes and all animations are complete.\n *\n * @csspart base - The component's base wrapper.\n * @csspart header - The header that wraps both the summary and the expand/collapse icon.\n * @csspart summary - The container that wraps the summary.\n * @csspart summary-icon - The container that wraps the expand/collapse icons.\n * @csspart content - The details content.\n * @csspart body - The container that wraps the details content.\n *\n * @animation details.show - The animation to use when showing details. You can use `height: auto` with this animation.\n * @animation details.hide - The animation to use when hiding details. You can use `height: auto` with this animation.\n *\n * @cssproperty --syn-details-open-rotation - The rotation angle of the summary icon when the details is open.\n */\n@enableDefaultSettings('SynDetails')\nexport default class SynDetails extends SynergyElement {\n static styles: CSSResultGroup = [componentStyles, styles];\n\n static dependencies = {\n 'syn-icon': SynIcon\n };\n\n private readonly localize = new LocalizeController(this);\n\n @query('.details') details: HTMLDetailsElement;\n @query('.details__header') header: HTMLElement;\n @query('.details__body') body: HTMLElement;\n @query('.details__expand-icon-slot') expandIconSlot: HTMLSlotElement;\n\n detailsObserver: MutationObserver;\n\n /**\n * Indicates whether or not the details is open. You can toggle this attribute to show and hide the details, or you\n * can use the `show()` and `hide()` methods and this attribute will reflect the details' open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** The summary to show in the header. If you need to display HTML, use the `summary` slot instead. */\n @property() summary: string;\n\n /** Disables the details so it can't be toggled. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Draws the details as contained element. */\n @property({ type: Boolean, reflect: true }) contained = false;\n\n /** The details's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n firstUpdated() {\n this.body.style.height = this.open ? 'auto' : '0';\n if (this.open) {\n this.details.open = true;\n }\n\n this.detailsObserver = new MutationObserver(changes => {\n for (const change of changes) {\n if (change.type === 'attributes' && change.attributeName === 'open') {\n if (this.details.open) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n });\n this.detailsObserver.observe(this.details, { attributes: true });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.detailsObserver?.disconnect();\n }\n\n private handleSummaryClick(event: MouseEvent) {\n event.preventDefault();\n\n if (!this.disabled) {\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n this.header.focus();\n }\n }\n\n private handleSummaryKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n\n if (this.open) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n if (event.key === 'ArrowUp' || event.key === 'ArrowLeft') {\n event.preventDefault();\n this.hide();\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowRight') {\n event.preventDefault();\n this.show();\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n this.details.open = true;\n // Show\n const slShow = this.emit('syn-show', { cancelable: true });\n if (slShow.defaultPrevented) {\n this.open = false;\n this.details.open = false;\n return;\n }\n\n await stopAnimations(this.body);\n\n const { keyframes, options } = getAnimation(this, 'details.show', { dir: this.localize.dir() });\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.style.height = 'auto';\n\n this.emit('syn-after-show');\n } else {\n // Hide\n const slHide = this.emit('syn-hide', { cancelable: true });\n if (slHide.defaultPrevented) {\n this.details.open = true;\n this.open = true;\n return;\n }\n\n await stopAnimations(this.body);\n\n const { keyframes, options } = getAnimation(this, 'details.hide', { dir: this.localize.dir() });\n await animateTo(this.body, shimKeyframesHeightAuto(keyframes, this.body.scrollHeight), options);\n this.body.style.height = 'auto';\n\n this.details.open = false;\n this.emit('syn-after-hide');\n }\n }\n\n /** Shows the details. */\n async show() {\n if (this.open || this.disabled) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'syn-after-show');\n }\n\n /** Hides the details */\n async hide() {\n if (!this.open || this.disabled) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'syn-after-hide');\n }\n\n render() {\n return html`\n <details\n part=\"base\"\n class=${classMap({\n details: true,\n 'details--size-small': this.size === 'small',\n 'details--size-medium': this.size === 'medium',\n 'details--size-large': this.size === 'large',\n 'details--open': this.open,\n 'details--disabled': this.disabled,\n 'details--contained': this.contained,\n })}\n >\n <summary\n part=\"header\"\n id=\"header\"\n class=\"details__header\"\n role=\"button\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-controls=\"content\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this.handleSummaryClick}\n @keydown=${this.handleSummaryKeyDown}\n >\n <slot name=\"summary\" part=\"summary\" class=\"details__summary\">${this.summary}</slot>\n\n <span part=\"summary-icon\" class=\"details__summary-icon\">\n <slot name=\"expand-icon\">\n <syn-icon library=\"system\" name=\"details-open\"></syn-icon>\n </slot>\n <slot name=\"collapse-icon\">\n <syn-icon library=\"system\" name=\"details-close\"></syn-icon>\n </slot>\n </span>\n </summary>\n\n <div class=\"details__body\" part=\"body\" role=\"region\" aria-labelledby=\"header\">\n <slot part=\"content\" id=\"content\" class=\"details__content\"></slot>\n </div>\n </details>\n `;\n }\n}\n\nsetDefaultAnimation('details.show', {\n keyframes: [\n { height: '0', opacity: '0' },\n { height: 'auto', opacity: '1' }\n ],\n options: { duration: 250, easing: 'linear' }\n});\n\nsetDefaultAnimation('details.hide', {\n keyframes: [\n { height: 'auto', opacity: '1' },\n { height: '0', opacity: '0' }\n ],\n options: { duration: 250, easing: 'linear' }\n});\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynBreadcrumb
3
- } from "./chunk.L3PVKJP6.js";
3
+ } from "./chunk.ZBAJQQ6X.js";
4
4
 
5
5
  // src/components/breadcrumb/breadcrumb.ts
6
6
  var breadcrumb_default = SynBreadcrumb;
@@ -9,4 +9,4 @@ SynBreadcrumb.define("syn-breadcrumb");
9
9
  export {
10
10
  breadcrumb_default
11
11
  };
12
- //# sourceMappingURL=chunk.RBDBPRCS.js.map
12
+ //# sourceMappingURL=chunk.I25CJLWF.js.map
@@ -0,0 +1,185 @@
1
+ // src/components/details/details.styles.ts
2
+ import { css } from "lit";
3
+ var details_styles_default = css`
4
+ :host {
5
+ /* Size-dependent custom properties (default to medium values) */
6
+ --details-header-padding: var(--syn-spacing-medium-large) 0;
7
+ --details-content-padding: var(--syn-spacing-medium) 0 var(--syn-spacing-large);
8
+ --details-summary-font: var(--syn-body-medium-bold);
9
+ --details-content-font-size: var(--syn-font-size-small);
10
+ --details-icon-size: var(--syn-spacing-large);
11
+ --details-slotted-icon-size: var(--syn-spacing-large);
12
+
13
+ /* Contained variant custom properties */
14
+ --details-header-padding-contained: var(--syn-spacing-medium-large) var(--syn-spacing-large);
15
+ --details-content-padding-contained: var(--syn-spacing-medium) var(--syn-spacing-large) var(--syn-spacing-large);
16
+
17
+ display: block;
18
+ }
19
+
20
+ .details {
21
+ background-color: transparent;
22
+ border: 1px solid var(--syn-panel-border-color);
23
+ border-radius: var(--syn-border-radius-none);
24
+ border-width: 0 0 var(--syn-border-width-small);
25
+ overflow-anchor: none;
26
+ }
27
+
28
+ /** #429: Use token for opacity */
29
+ .details--disabled {
30
+ opacity: var(--syn-opacity-50);
31
+ }
32
+
33
+ .details__header {
34
+ align-items: center;
35
+ border-radius: inherit;
36
+ cursor: pointer;
37
+ display: flex;
38
+ gap: var(--syn-spacing-medium);
39
+ padding: var(--details-header-padding);
40
+ user-select: none;
41
+ }
42
+
43
+ .details__header::-webkit-details-marker {
44
+ display: none;
45
+ }
46
+
47
+ .details__header:focus {
48
+ outline: none;
49
+ }
50
+
51
+ .details__header:focus-visible {
52
+ outline: var(--syn-focus-ring);
53
+ outline-offset: calc(1px + var(--syn-focus-ring-offset));
54
+ }
55
+
56
+ .details--disabled .details__header {
57
+ cursor: not-allowed;
58
+ }
59
+
60
+ .details--disabled .details__header:focus-visible {
61
+ box-shadow: none;
62
+ outline: none;
63
+ }
64
+
65
+ .details__summary {
66
+ align-items: center;
67
+ color: var(--syn-typography-color-text);
68
+ display: flex;
69
+ flex: 1 1 auto;
70
+ font: var(--details-summary-font);
71
+ }
72
+
73
+ .details__summary-icon {
74
+ align-items: center;
75
+ align-self: flex-start;
76
+ color: var(--syn-color-neutral-950);
77
+ display: flex;
78
+ flex: 0 0 auto;
79
+ font-size: var(--details-icon-size);
80
+ position: relative;
81
+
82
+ /**
83
+ * As we are using an alignment of "start" instead of "center" make sure
84
+ * the arrow starts on the same visual line as the first line of headline text
85
+ */
86
+ top: 2px;
87
+ transition: var(--syn-transition-medium) rotate ease;
88
+ }
89
+
90
+ /**
91
+ * As we are using top/down arrows for the details element,
92
+ * we have to adjust the rotation of the icon when the details is open.
93
+ */
94
+ .details--open .details__summary-icon {
95
+ rotate: var(--syn-details-open-rotation);
96
+ }
97
+
98
+ .details--open slot[name='expand-icon'],
99
+ .details:not(.details--open) slot[name='collapse-icon'] {
100
+ display: none;
101
+ }
102
+
103
+ .details__body {
104
+ overflow: hidden;
105
+ }
106
+
107
+ .details__content {
108
+ display: block;
109
+ font-size: var(--details-content-font-size);
110
+ line-height: var(--syn-line-height-normal);
111
+ padding: var(--details-content-padding);
112
+ }
113
+
114
+ /**
115
+ * Size variants
116
+ */
117
+ .details--size-small {
118
+ --details-header-padding: var(--syn-spacing-small) 0;
119
+ --details-content-padding: var(--syn-spacing-small) 0 var(--syn-spacing-medium-large);
120
+ --details-summary-font: var(--syn-body-small-bold);
121
+ --details-content-font-size: var(--syn-font-size-x-small);
122
+ --details-icon-size: var(--syn-spacing-medium-large);
123
+ --details-slotted-icon-size: var(--syn-spacing-medium-large);
124
+ --details-header-padding-contained: var(--syn-spacing-small) var(--syn-spacing-large);
125
+ --details-content-padding-contained: var(--syn-spacing-small) var(--syn-spacing-large) var(--syn-spacing-medium-large);
126
+ }
127
+
128
+ /* stylelint-disable-next-line no-descending-specificity */
129
+ .details--size-small .details__header {
130
+ min-height: var(--syn-spacing-large);
131
+ }
132
+
133
+ .details--size-large {
134
+ --details-header-padding: var(--syn-spacing-large) 0;
135
+ --details-content-padding: var(--syn-spacing-medium-large) 0 var(--syn-spacing-large);
136
+ --details-summary-font: var(--syn-body-large-bold);
137
+ --details-content-font-size: var(--syn-font-size-medium);
138
+ --details-icon-size: var(--syn-spacing-x-large);
139
+ --details-slotted-icon-size: var(--syn-spacing-x-large);
140
+ --details-header-padding-contained: var(--syn-spacing-large);
141
+ --details-content-padding-contained: var(--syn-spacing-medium-large) var(--syn-spacing-large) var(--syn-spacing-large);
142
+ }
143
+
144
+ .details__summary::slotted(syn-icon) {
145
+ /* Avoid shrinking of the icon, if the text content of the summary is very long and multi line */
146
+ flex-shrink: 0;
147
+ font-size: var(--details-slotted-icon-size);
148
+ margin-right: var(--syn-spacing-small);
149
+ }
150
+
151
+ /**
152
+ * Add a visually visible hover effect to the summary element
153
+ */
154
+ .details:not(.details--disabled) .details__header:hover .details__summary,
155
+ .details:not(.details--disabled) .details__header:hover .details__summary-icon {
156
+ color: var(--syn-interactive-quiet-color-hover);
157
+ }
158
+
159
+ /**
160
+ * Contained style
161
+ */
162
+ .details--contained {
163
+ background-color: var(--syn-panel-background-color);
164
+ border-radius: var(--syn-border-radius-medium);
165
+ border-width: var(--syn-panel-border-width);
166
+ }
167
+
168
+ /* stylelint-disable-next-line no-descending-specificity */
169
+ .details--contained .details__header {
170
+ padding: var(--details-header-padding-contained);
171
+ }
172
+
173
+ .details--contained .details__content {
174
+ padding: var(--details-content-padding-contained);
175
+ }
176
+
177
+ .details--contained .details__header:focus-visible {
178
+ border-radius: var(--syn-border-radius-medium);
179
+ }
180
+ `;
181
+
182
+ export {
183
+ details_styles_default
184
+ };
185
+ //# sourceMappingURL=chunk.IP6JSQWX.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/details/details.styles.ts"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n :host {\n /* Size-dependent custom properties (default to medium values) */\n --details-header-padding: var(--syn-spacing-medium-large) 0;\n --details-content-padding: var(--syn-spacing-medium) 0 var(--syn-spacing-large);\n --details-summary-font: var(--syn-body-medium-bold);\n --details-content-font-size: var(--syn-font-size-small);\n --details-icon-size: var(--syn-spacing-large);\n --details-slotted-icon-size: var(--syn-spacing-large);\n \n /* Contained variant custom properties */\n --details-header-padding-contained: var(--syn-spacing-medium-large) var(--syn-spacing-large);\n --details-content-padding-contained: var(--syn-spacing-medium) var(--syn-spacing-large) var(--syn-spacing-large);\n\n display: block;\n }\n\n .details {\n background-color: transparent;\n border: 1px solid var(--syn-panel-border-color);\n border-radius: var(--syn-border-radius-none);\n border-width: 0 0 var(--syn-border-width-small);\n overflow-anchor: none;\n }\n\n /** #429: Use token for opacity */\n .details--disabled {\n opacity: var(--syn-opacity-50);\n }\n\n .details__header {\n align-items: center;\n border-radius: inherit;\n cursor: pointer;\n display: flex;\n gap: var(--syn-spacing-medium);\n padding: var(--details-header-padding);\n user-select: none;\n }\n\n .details__header::-webkit-details-marker {\n display: none;\n }\n\n .details__header:focus {\n outline: none;\n }\n\n .details__header:focus-visible {\n outline: var(--syn-focus-ring);\n outline-offset: calc(1px + var(--syn-focus-ring-offset));\n }\n\n .details--disabled .details__header {\n cursor: not-allowed;\n }\n\n .details--disabled .details__header:focus-visible {\n box-shadow: none;\n outline: none;\n }\n\n .details__summary {\n align-items: center;\n color: var(--syn-typography-color-text);\n display: flex;\n flex: 1 1 auto;\n font: var(--details-summary-font);\n }\n\n .details__summary-icon {\n align-items: center;\n align-self: flex-start;\n color: var(--syn-color-neutral-950);\n display: flex;\n flex: 0 0 auto;\n font-size: var(--details-icon-size);\n position: relative;\n\n /**\n * As we are using an alignment of \"start\" instead of \"center\" make sure\n * the arrow starts on the same visual line as the first line of headline text\n */\n top: 2px;\n transition: var(--syn-transition-medium) rotate ease;\n }\n\n /**\n * As we are using top/down arrows for the details element,\n * we have to adjust the rotation of the icon when the details is open.\n */\n .details--open .details__summary-icon {\n rotate: var(--syn-details-open-rotation);\n }\n\n .details--open slot[name='expand-icon'],\n .details:not(.details--open) slot[name='collapse-icon'] {\n display: none;\n }\n\n .details__body {\n overflow: hidden;\n }\n\n .details__content {\n display: block;\n font-size: var(--details-content-font-size);\n line-height: var(--syn-line-height-normal);\n padding: var(--details-content-padding);\n }\n\n /**\n * Size variants\n */\n .details--size-small {\n --details-header-padding: var(--syn-spacing-small) 0;\n --details-content-padding: var(--syn-spacing-small) 0 var(--syn-spacing-medium-large);\n --details-summary-font: var(--syn-body-small-bold);\n --details-content-font-size: var(--syn-font-size-x-small);\n --details-icon-size: var(--syn-spacing-medium-large);\n --details-slotted-icon-size: var(--syn-spacing-medium-large);\n --details-header-padding-contained: var(--syn-spacing-small) var(--syn-spacing-large);\n --details-content-padding-contained: var(--syn-spacing-small) var(--syn-spacing-large) var(--syn-spacing-medium-large);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */\n .details--size-small .details__header {\n min-height: var(--syn-spacing-large);\n }\n\n .details--size-large {\n --details-header-padding: var(--syn-spacing-large) 0;\n --details-content-padding: var(--syn-spacing-medium-large) 0 var(--syn-spacing-large);\n --details-summary-font: var(--syn-body-large-bold);\n --details-content-font-size: var(--syn-font-size-medium);\n --details-icon-size: var(--syn-spacing-x-large);\n --details-slotted-icon-size: var(--syn-spacing-x-large);\n --details-header-padding-contained: var(--syn-spacing-large);\n --details-content-padding-contained: var(--syn-spacing-medium-large) var(--syn-spacing-large) var(--syn-spacing-large);\n }\n\n .details__summary::slotted(syn-icon) {\n /* Avoid shrinking of the icon, if the text content of the summary is very long and multi line */\n flex-shrink: 0;\n font-size: var(--details-slotted-icon-size);\n margin-right: var(--syn-spacing-small);\n }\n\n /**\n * Add a visually visible hover effect to the summary element\n */\n .details:not(.details--disabled) .details__header:hover .details__summary,\n .details:not(.details--disabled) .details__header:hover .details__summary-icon {\n color: var(--syn-interactive-quiet-color-hover);\n }\n\n /**\n * Contained style\n */\n .details--contained {\n background-color: var(--syn-panel-background-color);\n border-radius: var(--syn-border-radius-medium);\n border-width: var(--syn-panel-border-width);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */\n .details--contained .details__header {\n padding: var(--details-header-padding-contained);\n }\n\n .details--contained .details__content {\n padding: var(--details-content-padding-contained);\n }\n\n .details--contained .details__header:focus-visible {\n border-radius: var(--syn-border-radius-medium);\n }\n`;\n"],
5
+ "mappings": ";AACA,SAAS,WAAW;AAEpB,IAAO,yBAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynergyElement
3
- } from "./chunk.ECNXEYTN.js";
3
+ } from "./chunk.OQTCK25R.js";
4
4
 
5
5
  // src/components/validate/utility.ts
6
6
  var WhitelistedSynergyFormEventNames = [
@@ -44,4 +44,4 @@ export {
44
44
  getEventNameForElement,
45
45
  alertSizeForInput
46
46
  };
47
- //# sourceMappingURL=chunk.KRR2BTZW.js.map
47
+ //# sourceMappingURL=chunk.IREIGQS7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SynSideNav
3
- } from "./chunk.6EHOI2BO.js";
3
+ } from "./chunk.CVQYFMX6.js";
4
4
 
5
5
  // src/components/side-nav/side-nav.ts
6
6
  var side_nav_default = SynSideNav;
@@ -9,4 +9,4 @@ SynSideNav.define("syn-side-nav");
9
9
  export {
10
10
  side_nav_default
11
11
  };
12
- //# sourceMappingURL=chunk.BJVWQ3LR.js.map
12
+ //# sourceMappingURL=chunk.JKTQX462.js.map