@synergy-design-system/components 1.14.0 → 1.15.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 (234) hide show
  1. package/dist/chunks/{chunk.UEQDHG7J.js → chunk.2BEBXBDJ.js} +2 -2
  2. package/dist/chunks/{chunk.2KV3G5JF.js → chunk.2LMCM7HQ.js} +2 -2
  3. package/dist/chunks/{chunk.QQB6JCQY.js → chunk.3JBPXBYC.js} +5 -5
  4. package/dist/chunks/{chunk.2SLHEFOH.js → chunk.3QNVV7DW.js} +5 -5
  5. package/dist/chunks/{chunk.GDHER3FZ.js → chunk.4LD5UMX7.js} +2 -2
  6. package/dist/chunks/{chunk.GGY5VQYA.js → chunk.4TWUWTOI.js} +2 -2
  7. package/dist/chunks/{chunk.COFVSXEF.js → chunk.5UETQYQR.js} +5 -5
  8. package/dist/chunks/{chunk.MQCFDVLW.js → chunk.63JWIOGL.js} +2 -2
  9. package/dist/chunks/{chunk.7UVCYUNR.js → chunk.66MOXMDP.js} +2 -2
  10. package/dist/chunks/chunk.74N5WLM5.js +53 -0
  11. package/dist/chunks/chunk.74N5WLM5.js.map +7 -0
  12. package/dist/chunks/{chunk.JDXKGJ63.js → chunk.AOKNP4QD.js} +42 -2
  13. package/dist/chunks/{chunk.JDXKGJ63.js.map → chunk.AOKNP4QD.js.map} +2 -2
  14. package/dist/chunks/chunk.BHTLGDWT.js +166 -0
  15. package/dist/chunks/chunk.BHTLGDWT.js.map +7 -0
  16. package/dist/chunks/{chunk.3HTXK6WY.js → chunk.CHJC6OSN.js} +2 -2
  17. package/dist/chunks/{chunk.EWGDHM27.js → chunk.EFV5UWMX.js} +2 -2
  18. package/dist/chunks/{chunk.DXL3JN6D.js → chunk.FHEH5OSL.js} +2 -2
  19. package/dist/chunks/{chunk.2OLQHFOR.js → chunk.FKT4RXN7.js} +3 -3
  20. package/dist/chunks/{chunk.P2D7PUR2.js → chunk.FYN26TFO.js} +3 -3
  21. package/dist/chunks/{chunk.Q4CT57M2.js → chunk.G7XEHN2F.js} +2 -2
  22. package/dist/chunks/{chunk.SRZMRKLQ.js → chunk.GARWLAOJ.js} +2 -2
  23. package/dist/chunks/{chunk.A6S4OYWD.js → chunk.GCHIBXQT.js} +6 -6
  24. package/dist/chunks/{chunk.RK7OBPZ5.js → chunk.GEHO4WRP.js} +2 -2
  25. package/dist/chunks/{chunk.RK7OBPZ5.js.map → chunk.GEHO4WRP.js.map} +1 -1
  26. package/dist/chunks/chunk.GO3CCKC3.js +96 -0
  27. package/dist/chunks/chunk.GO3CCKC3.js.map +7 -0
  28. package/dist/chunks/{chunk.YRMXDJFM.js → chunk.H46CGP6A.js} +2 -2
  29. package/dist/chunks/{chunk.7UUZ5ISH.js → chunk.H7APDHTS.js} +3 -3
  30. package/dist/chunks/chunk.IJCD3LMC.js +12 -0
  31. package/dist/chunks/chunk.IJCD3LMC.js.map +7 -0
  32. package/dist/chunks/{chunk.B57ZVQ2Q.js → chunk.IUHZVWPW.js} +2 -2
  33. package/dist/chunks/chunk.IYGOMLU7.js +208 -0
  34. package/dist/chunks/chunk.IYGOMLU7.js.map +7 -0
  35. package/dist/chunks/{chunk.CG753OYA.js → chunk.JCFKRHGM.js} +2 -2
  36. package/dist/chunks/{chunk.ETREUSYO.js → chunk.JL53VHSP.js} +4 -4
  37. package/dist/chunks/{chunk.ZLEQ5DOF.js → chunk.JUD3T56D.js} +2 -2
  38. package/dist/chunks/{chunk.34NAFEQ7.js → chunk.KC6TXACE.js} +2 -2
  39. package/dist/chunks/{chunk.UYD2OVFV.js → chunk.KZMWNTUS.js} +2 -2
  40. package/dist/chunks/chunk.KZMWNTUS.js.map +7 -0
  41. package/dist/chunks/chunk.L4UUXVRZ.js +312 -0
  42. package/dist/chunks/chunk.L4UUXVRZ.js.map +7 -0
  43. package/dist/chunks/{chunk.64MHCKTF.js → chunk.LNUIMITL.js} +6 -6
  44. package/dist/chunks/{chunk.5TOD3QS2.js → chunk.MCJTXOVV.js} +2 -2
  45. package/dist/chunks/{chunk.5TOD3QS2.js.map → chunk.MCJTXOVV.js.map} +1 -1
  46. package/dist/chunks/chunk.MJYZDU37.js +318 -0
  47. package/dist/chunks/chunk.MJYZDU37.js.map +7 -0
  48. package/dist/chunks/{chunk.CSOIUDS4.js → chunk.MMDRQ7JM.js} +2 -2
  49. package/dist/chunks/{chunk.525LGYB4.js → chunk.NBHBC5FQ.js} +4 -4
  50. package/dist/chunks/{chunk.MEDX62IL.js → chunk.O3A57CXO.js} +3 -3
  51. package/dist/chunks/{chunk.PEMSU7RY.js → chunk.OLUNOSLX.js} +2 -2
  52. package/dist/chunks/{chunk.722JR5BD.js → chunk.ON2HXIFZ.js} +3 -3
  53. package/dist/chunks/{chunk.4MRXASVT.js → chunk.OVUVBTHH.js} +2 -2
  54. package/dist/chunks/chunk.P43W2NFX.js +12 -0
  55. package/dist/chunks/chunk.P43W2NFX.js.map +7 -0
  56. package/dist/chunks/chunk.QJGWS4TQ.js +12 -0
  57. package/dist/chunks/chunk.QJGWS4TQ.js.map +7 -0
  58. package/dist/chunks/{chunk.V53WYKEU.js → chunk.QY3GFWGZ.js} +6 -1
  59. package/dist/chunks/{chunk.V53WYKEU.js.map → chunk.QY3GFWGZ.js.map} +2 -2
  60. package/dist/chunks/{chunk.2ZEMD2N7.js → chunk.SBHXUKMY.js} +2 -2
  61. package/dist/chunks/{chunk.H33SDUY3.js → chunk.SE4NF6AN.js} +2 -2
  62. package/dist/chunks/{chunk.VCXIV7H4.js → chunk.SWPVARPP.js} +3 -3
  63. package/dist/chunks/{chunk.OLM7IVHA.js → chunk.T43ZXJKG.js} +6 -6
  64. package/dist/chunks/{chunk.PSTO5STZ.js → chunk.TFWNKCFJ.js} +2 -2
  65. package/dist/chunks/{chunk.2NRG7KJT.js → chunk.TRMXLYYL.js} +2 -2
  66. package/dist/chunks/{chunk.NXX572OD.js → chunk.V3JANQYN.js} +2 -2
  67. package/dist/chunks/{chunk.PAK472WN.js → chunk.V6OK2ECX.js} +2 -2
  68. package/dist/chunks/chunk.VDA7H6VI.js +286 -0
  69. package/dist/chunks/chunk.VDA7H6VI.js.map +7 -0
  70. package/dist/chunks/{chunk.VDYPXC2H.js → chunk.VPW6WZNZ.js} +2 -2
  71. package/dist/chunks/{chunk.N4VSEIRQ.js → chunk.VTKIDI7N.js} +7 -1
  72. package/dist/chunks/{chunk.N4VSEIRQ.js.map → chunk.VTKIDI7N.js.map} +2 -2
  73. package/dist/chunks/{chunk.QFMUPETV.js → chunk.VUROYPEC.js} +3 -3
  74. package/dist/chunks/{chunk.BUIBP2TA.js → chunk.VZEN3JIH.js} +2 -2
  75. package/dist/chunks/{chunk.VSEAHAW7.js → chunk.WCIAL36G.js} +2 -2
  76. package/dist/chunks/{chunk.4LMFTSOM.js → chunk.WHYX7AY4.js} +3 -3
  77. package/dist/chunks/{chunk.KEEDSK2V.js → chunk.WV2VTAP2.js} +4 -4
  78. package/dist/chunks/chunk.XNP4OTUB.js +16 -0
  79. package/dist/chunks/chunk.XNP4OTUB.js.map +7 -0
  80. package/dist/chunks/{chunk.ITUSK365.js → chunk.XSVH753L.js} +2 -2
  81. package/dist/chunks/{chunk.5HAKNNIR.js → chunk.YBPWZ4QI.js} +2 -2
  82. package/dist/chunks/{chunk.H7XP6JAS.js → chunk.YNWVXDDQ.js} +2 -2
  83. package/dist/chunks/{chunk.EZE5M5XB.js → chunk.ZMIBKG2N.js} +2 -2
  84. package/dist/components/badge/badge.component.js +4 -4
  85. package/dist/components/badge/badge.js +5 -5
  86. package/dist/components/button/button.component.js +8 -8
  87. package/dist/components/button/button.js +9 -9
  88. package/dist/components/button-group/button-group.component.js +2 -2
  89. package/dist/components/button-group/button-group.js +3 -3
  90. package/dist/components/checkbox/checkbox.component.js +5 -5
  91. package/dist/components/checkbox/checkbox.js +6 -6
  92. package/dist/components/divider/divider.component.js +2 -2
  93. package/dist/components/divider/divider.js +3 -3
  94. package/dist/components/drawer/drawer.component.js +9 -9
  95. package/dist/components/drawer/drawer.custom.styles.js +1 -1
  96. package/dist/components/drawer/drawer.js +10 -10
  97. package/dist/components/dropdown/dropdown.component.js +5 -5
  98. package/dist/components/dropdown/dropdown.js +6 -6
  99. package/dist/components/header/header.component.d.ts +42 -1
  100. package/dist/components/header/header.component.js +9 -7
  101. package/dist/components/header/header.js +10 -8
  102. package/dist/components/header/header.styles.js +1 -1
  103. package/dist/components/icon/icon.component.js +4 -4
  104. package/dist/components/icon/icon.js +5 -5
  105. package/dist/components/icon/library.js +2 -2
  106. package/dist/components/icon/library.system.js +1 -1
  107. package/dist/components/icon-button/icon-button.component.js +5 -5
  108. package/dist/components/icon-button/icon-button.js +6 -6
  109. package/dist/components/input/input.component.js +8 -8
  110. package/dist/components/input/input.js +9 -9
  111. package/dist/components/menu/menu.component.js +2 -2
  112. package/dist/components/menu/menu.js +3 -3
  113. package/dist/components/menu-item/menu-item.component.js +9 -9
  114. package/dist/components/menu-item/menu-item.js +10 -10
  115. package/dist/components/menu-item/submenu-controller.js +2 -2
  116. package/dist/components/menu-label/menu-label.component.js +3 -3
  117. package/dist/components/menu-label/menu-label.js +4 -4
  118. package/dist/components/nav-item/nav-item.component.d.ts +145 -0
  119. package/dist/components/nav-item/nav-item.component.js +15 -0
  120. package/dist/components/nav-item/nav-item.component.js.map +7 -0
  121. package/dist/components/nav-item/nav-item.d.ts +8 -0
  122. package/dist/components/nav-item/nav-item.js +16 -0
  123. package/dist/components/nav-item/nav-item.js.map +7 -0
  124. package/dist/components/nav-item/nav-item.styles.d.ts +2 -0
  125. package/dist/components/nav-item/nav-item.styles.js +8 -0
  126. package/dist/components/nav-item/nav-item.styles.js.map +7 -0
  127. package/dist/components/optgroup/optgroup.component.js +3 -3
  128. package/dist/components/optgroup/optgroup.js +4 -4
  129. package/dist/components/option/option.component.js +7 -7
  130. package/dist/components/option/option.js +8 -8
  131. package/dist/components/popup/popup.component.js +2 -2
  132. package/dist/components/popup/popup.js +3 -3
  133. package/dist/components/prio-nav/prio-nav.component.d.ts +110 -0
  134. package/dist/components/prio-nav/prio-nav.component.js +38 -0
  135. package/dist/components/prio-nav/prio-nav.component.js.map +7 -0
  136. package/dist/components/prio-nav/prio-nav.d.ts +8 -0
  137. package/dist/components/prio-nav/prio-nav.js +39 -0
  138. package/dist/components/prio-nav/prio-nav.js.map +7 -0
  139. package/dist/components/prio-nav/prio-nav.styles.d.ts +2 -0
  140. package/dist/components/prio-nav/prio-nav.styles.js +8 -0
  141. package/dist/components/prio-nav/prio-nav.styles.js.map +7 -0
  142. package/dist/components/prio-nav/utils.d.ts +20 -0
  143. package/dist/components/prio-nav/utils.js +12 -0
  144. package/dist/components/prio-nav/utils.js.map +7 -0
  145. package/dist/components/radio/radio.component.js +6 -6
  146. package/dist/components/radio/radio.js +7 -7
  147. package/dist/components/radio-button/radio-button.component.js +2 -2
  148. package/dist/components/radio-button/radio-button.js +3 -3
  149. package/dist/components/radio-group/radio-group.component.js +3 -3
  150. package/dist/components/radio-group/radio-group.js +4 -4
  151. package/dist/components/select/select.component.js +10 -10
  152. package/dist/components/select/select.js +11 -11
  153. package/dist/components/side-nav/side-nav.component.d.ts +122 -0
  154. package/dist/components/side-nav/side-nav.component.js +34 -0
  155. package/dist/components/side-nav/side-nav.component.js.map +7 -0
  156. package/dist/components/side-nav/side-nav.d.ts +8 -0
  157. package/dist/components/side-nav/side-nav.js +35 -0
  158. package/dist/components/side-nav/side-nav.js.map +7 -0
  159. package/dist/components/side-nav/side-nav.styles.d.ts +2 -0
  160. package/dist/components/side-nav/side-nav.styles.js +8 -0
  161. package/dist/components/side-nav/side-nav.styles.js.map +7 -0
  162. package/dist/components/spinner/spinner.component.js +4 -4
  163. package/dist/components/switch/switch.component.js +2 -2
  164. package/dist/components/switch/switch.js +3 -3
  165. package/dist/components/tag/tag.component.js +8 -8
  166. package/dist/components/tag/tag.js +9 -9
  167. package/dist/components/textarea/textarea.component.js +2 -2
  168. package/dist/components/textarea/textarea.js +3 -3
  169. package/dist/custom-elements.json +1814 -611
  170. package/dist/events/events.d.ts +2 -0
  171. package/dist/events/syn-burger-menu-hide.d.ts +6 -0
  172. package/dist/events/syn-burger-menu-show.d.ts +6 -0
  173. package/dist/synergy.d.ts +3 -0
  174. package/dist/synergy.js +89 -70
  175. package/dist/translations/de.js +7 -2
  176. package/dist/translations/de.js.map +2 -2
  177. package/dist/translations/en.js +1 -1
  178. package/dist/utilities/icon-library.js +2 -2
  179. package/dist/utilities/localize.d.ts +3 -0
  180. package/dist/utilities/localize.js +2 -2
  181. package/dist/vscode.html-custom-data.json +99 -2
  182. package/package.json +4 -3
  183. package/dist/chunks/chunk.L6ZUZPOW.js +0 -80
  184. package/dist/chunks/chunk.L6ZUZPOW.js.map +0 -7
  185. package/dist/chunks/chunk.UYD2OVFV.js.map +0 -7
  186. /package/dist/chunks/{chunk.UEQDHG7J.js.map → chunk.2BEBXBDJ.js.map} +0 -0
  187. /package/dist/chunks/{chunk.2KV3G5JF.js.map → chunk.2LMCM7HQ.js.map} +0 -0
  188. /package/dist/chunks/{chunk.QQB6JCQY.js.map → chunk.3JBPXBYC.js.map} +0 -0
  189. /package/dist/chunks/{chunk.2SLHEFOH.js.map → chunk.3QNVV7DW.js.map} +0 -0
  190. /package/dist/chunks/{chunk.GDHER3FZ.js.map → chunk.4LD5UMX7.js.map} +0 -0
  191. /package/dist/chunks/{chunk.GGY5VQYA.js.map → chunk.4TWUWTOI.js.map} +0 -0
  192. /package/dist/chunks/{chunk.COFVSXEF.js.map → chunk.5UETQYQR.js.map} +0 -0
  193. /package/dist/chunks/{chunk.MQCFDVLW.js.map → chunk.63JWIOGL.js.map} +0 -0
  194. /package/dist/chunks/{chunk.7UVCYUNR.js.map → chunk.66MOXMDP.js.map} +0 -0
  195. /package/dist/chunks/{chunk.3HTXK6WY.js.map → chunk.CHJC6OSN.js.map} +0 -0
  196. /package/dist/chunks/{chunk.EWGDHM27.js.map → chunk.EFV5UWMX.js.map} +0 -0
  197. /package/dist/chunks/{chunk.DXL3JN6D.js.map → chunk.FHEH5OSL.js.map} +0 -0
  198. /package/dist/chunks/{chunk.2OLQHFOR.js.map → chunk.FKT4RXN7.js.map} +0 -0
  199. /package/dist/chunks/{chunk.P2D7PUR2.js.map → chunk.FYN26TFO.js.map} +0 -0
  200. /package/dist/chunks/{chunk.Q4CT57M2.js.map → chunk.G7XEHN2F.js.map} +0 -0
  201. /package/dist/chunks/{chunk.SRZMRKLQ.js.map → chunk.GARWLAOJ.js.map} +0 -0
  202. /package/dist/chunks/{chunk.A6S4OYWD.js.map → chunk.GCHIBXQT.js.map} +0 -0
  203. /package/dist/chunks/{chunk.YRMXDJFM.js.map → chunk.H46CGP6A.js.map} +0 -0
  204. /package/dist/chunks/{chunk.7UUZ5ISH.js.map → chunk.H7APDHTS.js.map} +0 -0
  205. /package/dist/chunks/{chunk.B57ZVQ2Q.js.map → chunk.IUHZVWPW.js.map} +0 -0
  206. /package/dist/chunks/{chunk.CG753OYA.js.map → chunk.JCFKRHGM.js.map} +0 -0
  207. /package/dist/chunks/{chunk.ETREUSYO.js.map → chunk.JL53VHSP.js.map} +0 -0
  208. /package/dist/chunks/{chunk.ZLEQ5DOF.js.map → chunk.JUD3T56D.js.map} +0 -0
  209. /package/dist/chunks/{chunk.34NAFEQ7.js.map → chunk.KC6TXACE.js.map} +0 -0
  210. /package/dist/chunks/{chunk.64MHCKTF.js.map → chunk.LNUIMITL.js.map} +0 -0
  211. /package/dist/chunks/{chunk.CSOIUDS4.js.map → chunk.MMDRQ7JM.js.map} +0 -0
  212. /package/dist/chunks/{chunk.525LGYB4.js.map → chunk.NBHBC5FQ.js.map} +0 -0
  213. /package/dist/chunks/{chunk.MEDX62IL.js.map → chunk.O3A57CXO.js.map} +0 -0
  214. /package/dist/chunks/{chunk.PEMSU7RY.js.map → chunk.OLUNOSLX.js.map} +0 -0
  215. /package/dist/chunks/{chunk.722JR5BD.js.map → chunk.ON2HXIFZ.js.map} +0 -0
  216. /package/dist/chunks/{chunk.4MRXASVT.js.map → chunk.OVUVBTHH.js.map} +0 -0
  217. /package/dist/chunks/{chunk.2ZEMD2N7.js.map → chunk.SBHXUKMY.js.map} +0 -0
  218. /package/dist/chunks/{chunk.H33SDUY3.js.map → chunk.SE4NF6AN.js.map} +0 -0
  219. /package/dist/chunks/{chunk.VCXIV7H4.js.map → chunk.SWPVARPP.js.map} +0 -0
  220. /package/dist/chunks/{chunk.OLM7IVHA.js.map → chunk.T43ZXJKG.js.map} +0 -0
  221. /package/dist/chunks/{chunk.PSTO5STZ.js.map → chunk.TFWNKCFJ.js.map} +0 -0
  222. /package/dist/chunks/{chunk.2NRG7KJT.js.map → chunk.TRMXLYYL.js.map} +0 -0
  223. /package/dist/chunks/{chunk.NXX572OD.js.map → chunk.V3JANQYN.js.map} +0 -0
  224. /package/dist/chunks/{chunk.PAK472WN.js.map → chunk.V6OK2ECX.js.map} +0 -0
  225. /package/dist/chunks/{chunk.VDYPXC2H.js.map → chunk.VPW6WZNZ.js.map} +0 -0
  226. /package/dist/chunks/{chunk.QFMUPETV.js.map → chunk.VUROYPEC.js.map} +0 -0
  227. /package/dist/chunks/{chunk.BUIBP2TA.js.map → chunk.VZEN3JIH.js.map} +0 -0
  228. /package/dist/chunks/{chunk.VSEAHAW7.js.map → chunk.WCIAL36G.js.map} +0 -0
  229. /package/dist/chunks/{chunk.4LMFTSOM.js.map → chunk.WHYX7AY4.js.map} +0 -0
  230. /package/dist/chunks/{chunk.KEEDSK2V.js.map → chunk.WV2VTAP2.js.map} +0 -0
  231. /package/dist/chunks/{chunk.ITUSK365.js.map → chunk.XSVH753L.js.map} +0 -0
  232. /package/dist/chunks/{chunk.5HAKNNIR.js.map → chunk.YBPWZ4QI.js.map} +0 -0
  233. /package/dist/chunks/{chunk.H7XP6JAS.js.map → chunk.YNWVXDDQ.js.map} +0 -0
  234. /package/dist/chunks/{chunk.EZE5M5XB.js.map → chunk.ZMIBKG2N.js.map} +0 -0
@@ -0,0 +1,312 @@
1
+ // src/components/nav-item/nav-item.styles.ts
2
+ import { css } from "lit";
3
+ var nav_item_styles_default = css`
4
+ /**
5
+ * Default alignment is inline block when we are in horizontal mode
6
+ */
7
+ :host {
8
+ /**
9
+ * The indentation property defines the current "level" the component is on
10
+ * It may be set per hand, but is normally set during the render phase
11
+ * of a <syn-nav-item /> for slotted children
12
+ */
13
+ --indentation: 0;
14
+
15
+ /**
16
+ * Defines the amount of pixels each indentation level will shift the content to the left
17
+ */
18
+ --indentation-stepping: var(--syn-spacing-x-large);
19
+
20
+ /**
21
+ * Display property of the children. Defaults to "contents"
22
+ */
23
+ --display-children: contents;
24
+
25
+ display: block;
26
+ }
27
+
28
+ /**
29
+ * Switch alignment to inline-block when we are in horizontal mode
30
+ */
31
+ :host([horizontal]) {
32
+ display: inline-block;
33
+ }
34
+
35
+ /**
36
+ * Core nav item wrapper
37
+ */
38
+ .nav-item {
39
+ background: transparent;
40
+ border: none;
41
+ box-shadow: inset 0 -1px 0 0 transparent;
42
+ box-sizing: border-box;
43
+ color: var(--syn-color-neutral-950);
44
+ cursor: pointer;
45
+ display: inline-block;
46
+ font: var(--syn-font-sans);
47
+ font-size: var(--syn-font-size-small);
48
+ min-height: var(--syn-spacing-2x-large);
49
+ padding: var(--syn-spacing-small) var(--syn-spacing-large);
50
+ position: relative;
51
+ text-align: left;
52
+ text-decoration: none;
53
+ transition: background-color var(--syn-transition-fast) ease-in-out, box-shadow var(--syn-transition-fast) ease-in-out;
54
+ width: 100%;
55
+ z-index: 0;
56
+ }
57
+
58
+ .nav-item:focus-visible {
59
+ outline: none;
60
+ }
61
+
62
+ .nav-item:focus-visible::after {
63
+ content: '';
64
+ display: block;
65
+ height: 100%;
66
+ left: calc(var(--syn-spacing-x-small) * -1);
67
+ outline: var(--syn-focus-ring);
68
+ outline-offset: -2px;
69
+ position: absolute;
70
+ top: 0;
71
+ width: calc(100% + 2 * var(--syn-spacing-x-small));
72
+ }
73
+
74
+ /**
75
+ * Horizontal nav items use narrower paddings
76
+ */
77
+ .nav-item--horizontal {
78
+ padding: var(--syn-spacing-small) 0;
79
+ }
80
+
81
+ /**
82
+ * Nav Items acting as accordion use a slightly narrower padding on the right side
83
+ */
84
+ .nav-item.nav-item-is-accordion {
85
+ padding-right: var(--syn-spacing-medium);
86
+ }
87
+
88
+ .nav-item--disabled {
89
+ cursor: not-allowed;
90
+ }
91
+
92
+ .nav-item--current {
93
+ font-weight: var(--syn-font-weight-bold);
94
+ }
95
+
96
+ /**
97
+ * Hover effect for the nav item.
98
+ * We use opacity to make sure the border-bottom is visible if used in the prio-nav in header
99
+ */
100
+ .nav-item:not(.nav-item--disabled):hover::before {
101
+ background: var(--syn-color-neutral-600);
102
+ content: '';
103
+ display: block;
104
+ height: 100%;
105
+ left: 0;
106
+ opacity: 0.11;
107
+ position: absolute;
108
+ top: 0;
109
+ width: 100%;
110
+ z-index: -1;
111
+ }
112
+
113
+ .nav-item--horizontal:not(.nav-item--disabled):hover::before {
114
+ left: calc(var(--syn-spacing-x-small) * -1);
115
+ width: calc(100% + 2 * var(--syn-spacing-x-small));
116
+ }
117
+
118
+
119
+ /**
120
+ * The content wrapper is needed to get the disabled state right
121
+ * and also sets the left padding, according to the given indentation level.
122
+ *
123
+ * Normally, we would just use opacity directly on the button.
124
+ * However, when using the divider prop, this leads to problems
125
+ * as the divider itself will also get opaque.
126
+ */
127
+ .nav-item__content {
128
+ align-items: center;
129
+ display: flex;
130
+ padding-inline-start: calc(var(--indentation) * var(--indentation-stepping));
131
+ width: 100%;
132
+ }
133
+
134
+ .nav-item--disabled .nav-item__content {
135
+ opacity: 0.5;
136
+ }
137
+
138
+ /**
139
+ * Slotted icons should use a default font size of large
140
+ */
141
+ .nav-item--has-prefix ::slotted(syn-icon),
142
+ .nav-item--has-suffix ::slotted(syn-icon) {
143
+ font-size: var(--syn-font-size-x-large);
144
+ min-width: var(--syn-font-size-x-large);
145
+ }
146
+
147
+ /**
148
+ * The chevron indicates the use as a <details /> element
149
+ */
150
+ .nav-item__chevron {
151
+ font-size: var(--syn-font-size-x-large);
152
+ margin-inline-start: var(--syn-spacing-x-small);
153
+ rotate: 0deg;
154
+ transition: var(--syn-transition-medium) rotate ease;
155
+ }
156
+
157
+ .nav-item__chevron-open {
158
+ rotate: -180deg;
159
+ }
160
+
161
+ /**
162
+ * Make the primary content container fill all available space
163
+ */
164
+ .nav-item__content-container {
165
+ flex: 1;
166
+ overflow: hidden;
167
+ text-overflow: ellipsis;
168
+ }
169
+
170
+ /**
171
+ * Horizontal navigation items should not break words
172
+ */
173
+ .nav-item--horizontal .nav-item__content-container {
174
+ font-weight: var(--syn-font-weight-bold);
175
+ white-space: nowrap;
176
+ }
177
+
178
+ /**
179
+ * Show prefix only
180
+ */
181
+ .nav-item--show-prefix-only .nav-item__content-container,
182
+ .nav-item--show-prefix-only .nav-item__suffix,
183
+ .nav-item--show-prefix-only .nav-item__chevron {
184
+ height: var(--syn-spacing-large);
185
+ }
186
+
187
+ /**
188
+ * Adjust the paddings for the label, depending if there is a pre- and/or suffix available.
189
+ * But only if the there is a main content or additionally a prefix / suffix
190
+ */
191
+ .nav-item--has-prefix.nav-item--has-content .nav-item__content-container,
192
+ .nav-item--has-prefix.nav-item--has-suffix .nav-item__content-container {
193
+ margin-inline-start: var(--syn-spacing-x-small);
194
+ }
195
+
196
+ .nav-item--has-suffix.nav-item--has-content .nav-item__content-container,
197
+ .nav-item--has-suffix.nav-item--has-prefix .nav-item__content-container {
198
+ margin-inline-end: var(--syn-spacing-x-small);
199
+ }
200
+
201
+ /**
202
+ * Multi line content
203
+ */
204
+ .nav-item--multi-line .nav-item__suffix,
205
+ .nav-item--multi-line .nav-item__prefix,
206
+ .nav-item--multi-line .nav-item__chevron {
207
+ align-self: flex-start;
208
+ }
209
+
210
+ .nav-item--multi-line .nav-item__suffix::slotted(syn-icon),
211
+ :not(.nav-item--show-prefix-only).nav-item--multi-line .nav-item__prefix::slotted(syn-icon),
212
+ .nav-item--multi-line .nav-item__chevron {
213
+ align-self: flex-start;
214
+ }
215
+
216
+ /**
217
+ * The current indicator tells the user that the nav-item is the active one
218
+ */
219
+ .current-indicator {
220
+ background: transparent;
221
+ border: none;
222
+ margin: 0;
223
+ position: absolute;
224
+ transition: var(--syn-transition-medium) top ease,
225
+ var(--syn-transition-medium) right ease,
226
+ var(--syn-transition-medium) bottom ease,
227
+ var(--syn-transition-medium) left ease;
228
+ }
229
+
230
+ .current-indicator--visible.current-indicator--disabled {
231
+ background: var(--syn-color-neutral-500);
232
+ }
233
+
234
+ .current-indicator--visible {
235
+ background: var(--syn-color-primary-600);
236
+ }
237
+
238
+ .nav-item--horizontal .current-indicator {
239
+ bottom: 0;
240
+ height: var(--syn-spacing-2x-small);
241
+ left: 0;
242
+ right: 0;
243
+ }
244
+
245
+ .nav-item--horizontal:hover .current-indicator--visible,
246
+ .nav-item--horizontal:focus .current-indicator--visible {
247
+ left: calc(var(--syn-spacing-x-small) * -1);
248
+ right: calc(var(--syn-spacing-x-small) * -1);
249
+ }
250
+
251
+ .nav-item--vertical .current-indicator {
252
+ bottom: var(--syn-spacing-x-small);
253
+ left: 0;
254
+ top: var(--syn-spacing-x-small);
255
+ width: var(--syn-spacing-2x-small);
256
+ }
257
+
258
+ .nav-item--vertical:hover .current-indicator--visible,
259
+ .nav-item--vertical:focus .current-indicator--visible {
260
+ bottom: 0;
261
+ top: 0;
262
+ }
263
+
264
+ /**
265
+ * Dividers are optionally displayed in horizontal nav items
266
+ */
267
+ .divider {
268
+ --color: var(--syn-color-neutral-200);
269
+
270
+ left: var(--syn-spacing-medium);
271
+ margin: 0;
272
+ position: absolute;
273
+ right: var(--syn-spacing-medium);
274
+ top: 0;
275
+ transition: border var(--syn-transition-fast) ease-in-out;
276
+ }
277
+
278
+ /**
279
+ * Hide the divider for active elements
280
+ */
281
+ .nav-item:focus-visible .divider {
282
+ --color: transparent;
283
+ }
284
+
285
+ /**
286
+ * Make sure the divider is not visible anymore when hovering
287
+ */
288
+ .nav-item:not(.nav-item--disabled):hover .divider {
289
+ --color: transparent;
290
+ }
291
+
292
+ /**
293
+ * Sub menu styling
294
+ */
295
+ summary.nav-item {
296
+ box-sizing: border-box;
297
+ display: flex;
298
+ }
299
+
300
+ details summary::-webkit-details-marker {
301
+ visibility: hidden;
302
+ }
303
+
304
+ .children {
305
+ display: var(--display-children)
306
+ }
307
+ `;
308
+
309
+ export {
310
+ nav_item_styles_default
311
+ };
312
+ //# sourceMappingURL=chunk.L4UUXVRZ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/nav-item/nav-item.styles.ts"],
4
+ "sourcesContent": ["import { css } from 'lit';\n\nexport default css`\n /**\n * Default alignment is inline block when we are in horizontal mode\n */\n :host {\n /**\n * The indentation property defines the current \"level\" the component is on\n * It may be set per hand, but is normally set during the render phase\n * of a <syn-nav-item /> for slotted children\n */\n --indentation: 0;\n\n /**\n * Defines the amount of pixels each indentation level will shift the content to the left\n */\n --indentation-stepping: var(--syn-spacing-x-large);\n\n /**\n * Display property of the children. Defaults to \"contents\"\n */\n --display-children: contents;\n\n display: block;\n }\n\n /**\n * Switch alignment to inline-block when we are in horizontal mode\n */\n :host([horizontal]) {\n display: inline-block;\n }\n\n /**\n * Core nav item wrapper\n */\n .nav-item {\n background: transparent;\n border: none;\n box-shadow: inset 0 -1px 0 0 transparent;\n box-sizing: border-box;\n color: var(--syn-color-neutral-950);\n cursor: pointer;\n display: inline-block;\n font: var(--syn-font-sans);\n font-size: var(--syn-font-size-small);\n min-height: var(--syn-spacing-2x-large);\n padding: var(--syn-spacing-small) var(--syn-spacing-large);\n position: relative;\n text-align: left;\n text-decoration: none;\n transition: background-color var(--syn-transition-fast) ease-in-out, box-shadow var(--syn-transition-fast) ease-in-out;\n width: 100%;\n z-index: 0;\n }\n\n .nav-item:focus-visible {\n outline: none;\n }\n\n .nav-item:focus-visible::after {\n content: '';\n display: block;\n height: 100%;\n left: calc(var(--syn-spacing-x-small) * -1);\n outline: var(--syn-focus-ring);\n outline-offset: -2px;\n position: absolute;\n top: 0;\n width: calc(100% + 2 * var(--syn-spacing-x-small));\n }\n\n /**\n * Horizontal nav items use narrower paddings\n */\n .nav-item--horizontal {\n padding: var(--syn-spacing-small) 0;\n }\n\n /**\n * Nav Items acting as accordion use a slightly narrower padding on the right side\n */\n .nav-item.nav-item-is-accordion {\n padding-right: var(--syn-spacing-medium);\n }\n\n .nav-item--disabled {\n cursor: not-allowed;\n }\n\n .nav-item--current {\n font-weight: var(--syn-font-weight-bold);\n }\n\n /**\n * Hover effect for the nav item.\n * We use opacity to make sure the border-bottom is visible if used in the prio-nav in header\n */\n .nav-item:not(.nav-item--disabled):hover::before {\n background: var(--syn-color-neutral-600);\n content: '';\n display: block;\n height: 100%;\n left: 0;\n opacity: 0.11;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: -1;\n }\n\n .nav-item--horizontal:not(.nav-item--disabled):hover::before {\n left: calc(var(--syn-spacing-x-small) * -1);\n width: calc(100% + 2 * var(--syn-spacing-x-small));\n }\n\n\n /**\n * The content wrapper is needed to get the disabled state right\n * and also sets the left padding, according to the given indentation level.\n *\n * Normally, we would just use opacity directly on the button.\n * However, when using the divider prop, this leads to problems\n * as the divider itself will also get opaque.\n */\n .nav-item__content {\n align-items: center;\n display: flex;\n padding-inline-start: calc(var(--indentation) * var(--indentation-stepping));\n width: 100%;\n }\n\n .nav-item--disabled .nav-item__content {\n opacity: 0.5;\n }\n\n /**\n * Slotted icons should use a default font size of large\n */\n .nav-item--has-prefix ::slotted(syn-icon),\n .nav-item--has-suffix ::slotted(syn-icon) {\n font-size: var(--syn-font-size-x-large);\n min-width: var(--syn-font-size-x-large);\n }\n\n /**\n * The chevron indicates the use as a <details /> element\n */\n .nav-item__chevron {\n font-size: var(--syn-font-size-x-large);\n margin-inline-start: var(--syn-spacing-x-small);\n rotate: 0deg;\n transition: var(--syn-transition-medium) rotate ease;\n }\n\n .nav-item__chevron-open {\n rotate: -180deg;\n }\n\n /**\n * Make the primary content container fill all available space\n */\n .nav-item__content-container {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n /**\n * Horizontal navigation items should not break words\n */\n .nav-item--horizontal .nav-item__content-container {\n font-weight: var(--syn-font-weight-bold);\n white-space: nowrap;\n }\n\n /**\n * Show prefix only\n */\n .nav-item--show-prefix-only .nav-item__content-container,\n .nav-item--show-prefix-only .nav-item__suffix,\n .nav-item--show-prefix-only .nav-item__chevron {\n height: var(--syn-spacing-large);\n }\n\n /**\n * Adjust the paddings for the label, depending if there is a pre- and/or suffix available.\n * But only if the there is a main content or additionally a prefix / suffix\n */\n .nav-item--has-prefix.nav-item--has-content .nav-item__content-container,\n .nav-item--has-prefix.nav-item--has-suffix .nav-item__content-container {\n margin-inline-start: var(--syn-spacing-x-small);\n }\n\n .nav-item--has-suffix.nav-item--has-content .nav-item__content-container,\n .nav-item--has-suffix.nav-item--has-prefix .nav-item__content-container {\n margin-inline-end: var(--syn-spacing-x-small);\n }\n\n /**\n * Multi line content\n */\n .nav-item--multi-line .nav-item__suffix,\n .nav-item--multi-line .nav-item__prefix,\n .nav-item--multi-line .nav-item__chevron {\n align-self: flex-start;\n }\n\n .nav-item--multi-line .nav-item__suffix::slotted(syn-icon),\n :not(.nav-item--show-prefix-only).nav-item--multi-line .nav-item__prefix::slotted(syn-icon),\n .nav-item--multi-line .nav-item__chevron {\n align-self: flex-start;\n }\n\n /**\n * The current indicator tells the user that the nav-item is the active one\n */\n .current-indicator {\n background: transparent;\n border: none;\n margin: 0;\n position: absolute;\n transition: var(--syn-transition-medium) top ease,\n var(--syn-transition-medium) right ease,\n var(--syn-transition-medium) bottom ease,\n var(--syn-transition-medium) left ease;\n }\n\n .current-indicator--visible.current-indicator--disabled {\n background: var(--syn-color-neutral-500);\n }\n\n .current-indicator--visible {\n background: var(--syn-color-primary-600);\n }\n\n .nav-item--horizontal .current-indicator {\n bottom: 0;\n height: var(--syn-spacing-2x-small);\n left: 0;\n right: 0;\n }\n\n .nav-item--horizontal:hover .current-indicator--visible,\n .nav-item--horizontal:focus .current-indicator--visible {\n left: calc(var(--syn-spacing-x-small) * -1);\n right: calc(var(--syn-spacing-x-small) * -1);\n }\n\n .nav-item--vertical .current-indicator {\n bottom: var(--syn-spacing-x-small);\n left: 0;\n top: var(--syn-spacing-x-small);\n width: var(--syn-spacing-2x-small);\n }\n\n .nav-item--vertical:hover .current-indicator--visible,\n .nav-item--vertical:focus .current-indicator--visible {\n bottom: 0;\n top: 0;\n }\n\n /**\n * Dividers are optionally displayed in horizontal nav items\n */\n .divider {\n --color: var(--syn-color-neutral-200);\n\n left: var(--syn-spacing-medium);\n margin: 0;\n position: absolute;\n right: var(--syn-spacing-medium);\n top: 0;\n transition: border var(--syn-transition-fast) ease-in-out;\n }\n\n /**\n * Hide the divider for active elements\n */\n .nav-item:focus-visible .divider {\n --color: transparent;\n }\n\n /**\n * Make sure the divider is not visible anymore when hovering\n */\n .nav-item:not(.nav-item--disabled):hover .divider {\n --color: transparent;\n }\n\n /**\n * Sub menu styling\n */\n summary.nav-item {\n box-sizing: border-box;\n display: flex;\n }\n\n details summary::-webkit-details-marker {\n visibility: hidden;\n }\n\n .children {\n display: var(--display-children)\n }\n`;\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW;AAEpB,IAAO,0BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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
+ }
@@ -9,27 +9,27 @@ import {
9
9
  } from "./chunk.RRWSXFQ5.js";
10
10
  import {
11
11
  SynPopup
12
- } from "./chunk.GGY5VQYA.js";
12
+ } from "./chunk.4TWUWTOI.js";
13
13
  import {
14
14
  SynSpinner
15
- } from "./chunk.2OLQHFOR.js";
15
+ } from "./chunk.FKT4RXN7.js";
16
16
  import {
17
17
  HasSlotController,
18
18
  getTextContent
19
19
  } from "./chunk.66WXVGAW.js";
20
20
  import {
21
21
  SynIcon
22
- } from "./chunk.4LMFTSOM.js";
22
+ } from "./chunk.WHYX7AY4.js";
23
23
  import {
24
24
  watch
25
25
  } from "./chunk.AVTU2BGE.js";
26
26
  import {
27
27
  LocalizeController
28
- } from "./chunk.RK7OBPZ5.js";
28
+ } from "./chunk.GEHO4WRP.js";
29
29
  import {
30
30
  SynergyElement,
31
31
  component_styles_default
32
- } from "./chunk.5TOD3QS2.js";
32
+ } from "./chunk.MCJTXOVV.js";
33
33
  import {
34
34
  __decorateClass
35
35
  } from "./chunk.QNDC5KWA.js";
@@ -191,4 +191,4 @@ __decorateClass([
191
191
  export {
192
192
  SynMenuItem
193
193
  };
194
- //# sourceMappingURL=chunk.64MHCKTF.js.map
194
+ //# sourceMappingURL=chunk.LNUIMITL.js.map
@@ -67,7 +67,7 @@ var SynergyElement = class extends LitElement {
67
67
  };
68
68
  /* eslint-disable */
69
69
  // @ts-expect-error This is auto-injected at build time.
70
- SynergyElement.version = "1.14.0";
70
+ SynergyElement.version = "1.15.0";
71
71
  SynergyElement.dependencies = {};
72
72
  __decorateClass([
73
73
  property()
@@ -80,4 +80,4 @@ export {
80
80
  component_styles_default,
81
81
  SynergyElement
82
82
  };
83
- //# sourceMappingURL=chunk.5TOD3QS2.js.map
83
+ //# sourceMappingURL=chunk.MCJTXOVV.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/styles/component.styles.ts", "../../src/internal/synergy-element.ts"],
4
- "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n box-sizing: border-box;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n`;\n", "// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"1.14.0\";\n \n\n static define(name: string, elementConstructor = this, options: ElementDefinitionOptions = {}) {\n const currentlyRegisteredConstructor = customElements.get(name) as\n | CustomElementConstructor\n | typeof SynergyElement;\n\n if (!currentlyRegisteredConstructor) {\n customElements.define(name, class extends elementConstructor {} as unknown as CustomElementConstructor, options);\n return;\n }\n\n let newVersion = ' (unknown version)';\n let existingVersion = newVersion;\n\n if ('version' in elementConstructor && elementConstructor.version) {\n newVersion = ' v' + elementConstructor.version;\n }\n\n if ('version' in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = ' v' + currentlyRegisteredConstructor.version;\n }\n\n // Need to make sure we're not working with null or empty strings before doing version comparisons.\n if (newVersion && existingVersion && newVersion === existingVersion) {\n // If versions match, we don't need to warn anyone. Carry on.\n return;\n }\n\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n\n static dependencies: Record<string, typeof SynergyElement> = {};\n\n constructor() {\n super();\n Object.entries((this.constructor as typeof SynergyElement).dependencies).forEach(([name, component]) => {\n (this.constructor as typeof SynergyElement).define(name, component);\n });\n }\n}\n\nexport interface SynergyFormControl extends SynergyElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | 'any';\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n\n // Form validation properties\n readonly validity: ValidityState;\n readonly validationMessage: string;\n\n // Form validation methods\n checkValidity: () => boolean;\n getForm: () => HTMLFormElement | null;\n reportValidity: () => boolean;\n setCustomValidity: (message: string) => void;\n}\n"],
4
+ "sourcesContent": ["// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { css } from 'lit';\n\nexport default css`\n\t/* stylelint-disable */\n :host {\n box-sizing: border-box;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n`;\n", "// ---------------------------------------------------------------------\n// \uD83D\uDD12 AUTOGENERATED BY VENDORISM\n// Removing this comment will prevent it from being managed by it.\n// ---------------------------------------------------------------------\n\n/* eslint-disable */\nimport { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\n// Match event type name strings that are registered on GlobalEventHandlersEventMap...\ntype EventTypeRequiresDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? // ...where the event detail is an object...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? // ...that is non-empty...\n GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? never\n : // ...and has at least one non-optional property\n Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? never\n : T\n : never\n : never;\n\n// The inverse of the above (match any type that doesn't match EventTypeRequiresDetail)\ntype EventTypeDoesNotRequireDetail<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? T\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? T\n : never\n : T\n : T;\n\n// `keyof EventTypesWithRequiredDetail` lists all registered event types that require detail\ntype EventTypesWithRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeRequiresDetail<EventType>]: true;\n};\n\n// `keyof EventTypesWithoutRequiredDetail` lists all registered event types that do NOT require detail\ntype EventTypesWithoutRequiredDetail = {\n [EventType in keyof GlobalEventHandlersEventMap as EventTypeDoesNotRequireDetail<EventType>]: true;\n};\n\n// Helper to make a specific property of an object non-optional\ntype WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\n// Given an event name string, get a valid type for the options to initialize the event that is more restrictive than\n// just CustomEventInit when appropriate (validate the type of the event detail, and require it to be provided if the\n// event requires it)\ntype SynEventInit<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, unknown>>\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<Record<PropertyKey, never>>\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : Partial<GlobalEventHandlersEventMap[T]['detail']> extends GlobalEventHandlersEventMap[T]['detail']\n ? CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>\n : WithRequired<CustomEventInit<GlobalEventHandlersEventMap[T]['detail']>, 'detail'>\n : CustomEventInit\n : CustomEventInit;\n\n// Given an event name string, get the type of the event\ntype GetCustomEventType<T> = T extends keyof GlobalEventHandlersEventMap\n ? GlobalEventHandlersEventMap[T] extends CustomEvent<unknown>\n ? GlobalEventHandlersEventMap[T]\n : CustomEvent<unknown>\n : CustomEvent<unknown>;\n\n// `keyof ValidEventTypeMap` is equivalent to `keyof GlobalEventHandlersEventMap` but gives a nicer error message\ntype ValidEventTypeMap = EventTypesWithRequiredDetail | EventTypesWithoutRequiredDetail;\n\nexport default class SynergyElement extends LitElement {\n // Make localization attributes reactive\n @property() dir: string;\n @property() lang: string;\n\n /** Emits a custom event with more convenient defaults. */\n emit<T extends string & keyof EventTypesWithoutRequiredDetail>(\n name: EventTypeDoesNotRequireDetail<T>,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T>;\n emit<T extends string & keyof EventTypesWithRequiredDetail>(\n name: EventTypeRequiresDetail<T>,\n options: SynEventInit<T>\n ): GetCustomEventType<T>;\n emit<T extends string & keyof ValidEventTypeMap>(\n name: T,\n options?: SynEventInit<T> | undefined\n ): GetCustomEventType<T> {\n const event = new CustomEvent(name, {\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {},\n ...options\n });\n\n this.dispatchEvent(event);\n\n return event as GetCustomEventType<T>;\n }\n\n /* eslint-disable */\n // @ts-expect-error This is auto-injected at build time.\n static version = \"1.15.0\";\n \n\n static define(name: string, elementConstructor = this, options: ElementDefinitionOptions = {}) {\n const currentlyRegisteredConstructor = customElements.get(name) as\n | CustomElementConstructor\n | typeof SynergyElement;\n\n if (!currentlyRegisteredConstructor) {\n customElements.define(name, class extends elementConstructor {} as unknown as CustomElementConstructor, options);\n return;\n }\n\n let newVersion = ' (unknown version)';\n let existingVersion = newVersion;\n\n if ('version' in elementConstructor && elementConstructor.version) {\n newVersion = ' v' + elementConstructor.version;\n }\n\n if ('version' in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = ' v' + currentlyRegisteredConstructor.version;\n }\n\n // Need to make sure we're not working with null or empty strings before doing version comparisons.\n if (newVersion && existingVersion && newVersion === existingVersion) {\n // If versions match, we don't need to warn anyone. Carry on.\n return;\n }\n\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n\n static dependencies: Record<string, typeof SynergyElement> = {};\n\n constructor() {\n super();\n Object.entries((this.constructor as typeof SynergyElement).dependencies).forEach(([name, component]) => {\n (this.constructor as typeof SynergyElement).define(name, component);\n });\n }\n}\n\nexport interface SynergyFormControl extends SynergyElement {\n // Form attributes\n name: string;\n value: unknown;\n disabled?: boolean;\n defaultValue?: unknown;\n defaultChecked?: boolean;\n form?: string;\n\n // Constraint validation attributes\n pattern?: string;\n min?: number | string | Date;\n max?: number | string | Date;\n step?: number | 'any';\n required?: boolean;\n minlength?: number;\n maxlength?: number;\n\n // Form validation properties\n readonly validity: ValidityState;\n readonly validationMessage: string;\n\n // Form validation methods\n checkValidity: () => boolean;\n getForm: () => HTMLFormElement | null;\n reportValidity: () => boolean;\n setCustomValidity: (message: string) => void;\n}\n"],
5
5
  "mappings": ";;;;;;AAMA,SAAS,WAAW;AAEpB,IAAO,2BAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACFf,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AA+DzB,IAAqB,iBAArB,cAA4C,WAAW;AAAA,EAcrD,KACE,MACA,SACuB;AACvB,UAAM,QAAQ,IAAI,YAAY,MAAM;AAAA,MAClC,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,QAAQ,CAAC;AAAA,OACN,QACJ;AAED,SAAK,cAAc,KAAK;AAExB,WAAO;AAAA,EACT;AAAA,EAOA,OAAO,OAAO,MAAc,qBAAqB,MAAM,UAAoC,CAAC,GAAG;AAC7F,UAAM,iCAAiC,eAAe,IAAI,IAAI;AAI9D,QAAI,CAAC,gCAAgC;AACnC,qBAAe,OAAO,MAAM,cAAc,mBAAmB;AAAA,MAAC,GAA0C,OAAO;AAC/G;AAAA,IACF;AAEA,QAAI,aAAa;AACjB,QAAI,kBAAkB;AAEtB,QAAI,aAAa,sBAAsB,mBAAmB,SAAS;AACjE,mBAAa,OAAO,mBAAmB;AAAA,IACzC;AAEA,QAAI,aAAa,kCAAkC,+BAA+B,SAAS;AACzF,wBAAkB,OAAO,+BAA+B;AAAA,IAC1D;AAGA,QAAI,cAAc,mBAAmB,eAAe,iBAAiB;AAEnE;AAAA,IACF;AAEA,YAAQ;AAAA,MACN,0BAA0B,IAAI,IAAI,UAAU,UAAU,IAAI,IAAI,eAAe;AAAA,IAC/E;AAAA,EACF;AAAA,EAIA,cAAc;AACZ,UAAM;AACN,WAAO,QAAS,KAAK,YAAsC,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,SAAS,MAAM;AACtG,MAAC,KAAK,YAAsC,OAAO,MAAM,SAAS;AAAA,IACpE,CAAC;AAAA,EACH;AACF;AAAA;AAAA;AA5EqB,eAiCZ,UAAU;AAjCE,eAoEZ,eAAsD,CAAC;AAlElD;AAAA,EAAX,SAAS;AAAA,GAFS,eAEP;AACA;AAAA,EAAX,SAAS;AAAA,GAHS,eAGP;",
6
6
  "names": []
7
7
  }