@synergy-design-system/mcp 0.1.0 → 1.0.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 (449) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/README.md +539 -3
  3. package/dist/bin/create-checksum.d.ts +2 -0
  4. package/dist/bin/create-checksum.js +23 -0
  5. package/dist/bin/start.d.ts +2 -0
  6. package/dist/bin/start.js +8 -0
  7. package/dist/build/assets.d.ts +4 -0
  8. package/dist/build/assets.js +57 -0
  9. package/dist/build/build.d.ts +1 -0
  10. package/dist/build/build.js +33 -0
  11. package/dist/build/components.d.ts +4 -0
  12. package/dist/build/components.js +132 -0
  13. package/dist/build/frameworks.d.ts +4 -0
  14. package/dist/build/frameworks.js +61 -0
  15. package/dist/build/static.d.ts +4 -0
  16. package/dist/build/static.js +52 -0
  17. package/dist/build/styles.d.ts +4 -0
  18. package/dist/build/styles.js +58 -0
  19. package/dist/build/tokens.d.ts +4 -0
  20. package/dist/build/tokens.js +59 -0
  21. package/dist/server.d.ts +6 -0
  22. package/dist/server.js +20 -0
  23. package/dist/tools/asset-info.d.ts +8 -0
  24. package/dist/tools/asset-info.js +108 -0
  25. package/dist/tools/asset-list.d.ts +6 -0
  26. package/dist/tools/asset-list.js +40 -0
  27. package/dist/tools/component-info.d.ts +6 -0
  28. package/dist/tools/component-info.js +35 -0
  29. package/dist/tools/component-list.d.ts +7 -0
  30. package/dist/tools/component-list.js +42 -0
  31. package/dist/tools/davinci-migration.d.ts +3 -0
  32. package/dist/tools/davinci-migration.js +66 -0
  33. package/dist/tools/framework-info.d.ts +7 -0
  34. package/dist/tools/framework-info.js +59 -0
  35. package/dist/tools/index.d.ts +13 -0
  36. package/dist/tools/index.js +13 -0
  37. package/dist/tools/migration-info.d.ts +6 -0
  38. package/dist/tools/migration-info.js +27 -0
  39. package/dist/tools/styles-info.d.ts +7 -0
  40. package/dist/tools/styles-info.js +28 -0
  41. package/dist/tools/styles-list.d.ts +7 -0
  42. package/dist/tools/styles-list.js +42 -0
  43. package/dist/tools/template-info.d.ts +6 -0
  44. package/dist/tools/template-info.js +34 -0
  45. package/dist/tools/template-list.d.ts +7 -0
  46. package/dist/tools/template-list.js +42 -0
  47. package/dist/tools/tokens.d.ts +7 -0
  48. package/dist/tools/tokens.js +24 -0
  49. package/dist/tools/version.d.ts +7 -0
  50. package/dist/tools/version.js +51 -0
  51. package/dist/utilities/assets.d.ts +1 -0
  52. package/dist/utilities/assets.js +3 -0
  53. package/dist/utilities/checksum.d.ts +36 -0
  54. package/dist/utilities/checksum.js +93 -0
  55. package/dist/utilities/components.d.ts +25 -0
  56. package/dist/utilities/components.js +86 -0
  57. package/dist/utilities/config.d.ts +76 -0
  58. package/dist/utilities/config.js +77 -0
  59. package/dist/utilities/file.d.ts +12 -0
  60. package/dist/utilities/file.js +31 -0
  61. package/dist/utilities/index.d.ts +12 -0
  62. package/dist/utilities/index.js +12 -0
  63. package/dist/utilities/metadata.d.ts +28 -0
  64. package/dist/utilities/metadata.js +57 -0
  65. package/dist/utilities/migration.d.ts +1 -0
  66. package/dist/utilities/migration.js +10 -0
  67. package/dist/utilities/stdio.d.ts +14 -0
  68. package/dist/utilities/stdio.js +60 -0
  69. package/dist/utilities/storybook/build-docs.d.ts +2 -0
  70. package/dist/utilities/storybook/build-docs.js +42 -0
  71. package/dist/utilities/storybook/configs.d.ts +13 -0
  72. package/dist/utilities/storybook/configs.js +85 -0
  73. package/dist/utilities/storybook/docs-scraper.d.ts +26 -0
  74. package/dist/utilities/storybook/docs-scraper.js +97 -0
  75. package/dist/utilities/storybook/index.d.ts +5 -0
  76. package/dist/utilities/storybook/index.js +4 -0
  77. package/dist/utilities/storybook/scraper.d.ts +14 -0
  78. package/dist/utilities/storybook/scraper.js +196 -0
  79. package/dist/utilities/storybook/storybook-manager.d.ts +29 -0
  80. package/dist/utilities/storybook/storybook-manager.js +139 -0
  81. package/dist/utilities/storybook/types.d.ts +22 -0
  82. package/dist/utilities/storybook/types.js +1 -0
  83. package/dist/utilities/styles.d.ts +6 -0
  84. package/dist/utilities/styles.js +24 -0
  85. package/dist/utilities/templates.d.ts +12 -0
  86. package/dist/utilities/templates.js +28 -0
  87. package/dist/utilities/tokens.d.ts +1 -0
  88. package/dist/utilities/tokens.js +21 -0
  89. package/dist/utilities/version.d.ts +10 -0
  90. package/dist/utilities/version.js +21 -0
  91. package/metadata/checksum.txt +1 -0
  92. package/metadata/davinci-migration/migration-guide.md +1859 -0
  93. package/metadata/packages/angular/LIMITATIONS.md +32 -0
  94. package/metadata/packages/angular/README.md +393 -0
  95. package/metadata/packages/assets/CHANGELOG.md +189 -0
  96. package/metadata/packages/assets/README.md +78 -0
  97. package/metadata/packages/components/components/syn-accordion/component.angular.ts +80 -0
  98. package/metadata/packages/components/components/syn-accordion/component.react.ts +30 -0
  99. package/metadata/packages/components/components/syn-accordion/component.styles.ts +15 -0
  100. package/metadata/packages/components/components/syn-accordion/component.ts +111 -0
  101. package/metadata/packages/components/components/syn-accordion/component.vue +64 -0
  102. package/metadata/packages/components/components/syn-alert/component.angular.ts +158 -0
  103. package/metadata/packages/components/components/syn-alert/component.custom.styles.ts +90 -0
  104. package/metadata/packages/components/components/syn-alert/component.react.ts +60 -0
  105. package/metadata/packages/components/components/syn-alert/component.styles.ts +110 -0
  106. package/metadata/packages/components/components/syn-alert/component.ts +324 -0
  107. package/metadata/packages/components/components/syn-alert/component.vue +130 -0
  108. package/metadata/packages/components/components/syn-badge/component.angular.ts +53 -0
  109. package/metadata/packages/components/components/syn-badge/component.custom.styles.ts +61 -0
  110. package/metadata/packages/components/components/syn-badge/component.react.ts +29 -0
  111. package/metadata/packages/components/components/syn-badge/component.styles.ts +59 -0
  112. package/metadata/packages/components/components/syn-badge/component.ts +65 -0
  113. package/metadata/packages/components/components/syn-badge/component.vue +53 -0
  114. package/metadata/packages/components/components/syn-breadcrumb/component.angular.ts +58 -0
  115. package/metadata/packages/components/components/syn-breadcrumb/component.custom.styles.ts +5 -0
  116. package/metadata/packages/components/components/syn-breadcrumb/component.react.ts +32 -0
  117. package/metadata/packages/components/components/syn-breadcrumb/component.styles.ts +18 -0
  118. package/metadata/packages/components/components/syn-breadcrumb/component.ts +110 -0
  119. package/metadata/packages/components/components/syn-breadcrumb/component.vue +58 -0
  120. package/metadata/packages/components/components/syn-breadcrumb-item/component.angular.ts +88 -0
  121. package/metadata/packages/components/components/syn-breadcrumb-item/component.custom.styles.ts +74 -0
  122. package/metadata/packages/components/components/syn-breadcrumb-item/component.react.ts +37 -0
  123. package/metadata/packages/components/components/syn-breadcrumb-item/component.styles.ts +95 -0
  124. package/metadata/packages/components/components/syn-breadcrumb-item/component.ts +139 -0
  125. package/metadata/packages/components/components/syn-breadcrumb-item/component.vue +76 -0
  126. package/metadata/packages/components/components/syn-button/component.angular.ts +318 -0
  127. package/metadata/packages/components/components/syn-button/component.custom.styles.ts +206 -0
  128. package/metadata/packages/components/components/syn-button/component.react.ts +56 -0
  129. package/metadata/packages/components/components/syn-button/component.styles.ts +368 -0
  130. package/metadata/packages/components/components/syn-button/component.ts +322 -0
  131. package/metadata/packages/components/components/syn-button/component.vue +204 -0
  132. package/metadata/packages/components/components/syn-button-group/component.angular.ts +55 -0
  133. package/metadata/packages/components/components/syn-button-group/component.react.ts +29 -0
  134. package/metadata/packages/components/components/syn-button-group/component.styles.ts +21 -0
  135. package/metadata/packages/components/components/syn-button-group/component.ts +103 -0
  136. package/metadata/packages/components/components/syn-button-group/component.vue +55 -0
  137. package/metadata/packages/components/components/syn-card/component.angular.ts +69 -0
  138. package/metadata/packages/components/components/syn-card/component.custom.styles.ts +55 -0
  139. package/metadata/packages/components/components/syn-card/component.react.ts +41 -0
  140. package/metadata/packages/components/components/syn-card/component.styles.ts +77 -0
  141. package/metadata/packages/components/components/syn-card/component.ts +68 -0
  142. package/metadata/packages/components/components/syn-card/component.vue +67 -0
  143. package/metadata/packages/components/components/syn-checkbox/component.angular.ts +260 -0
  144. package/metadata/packages/components/components/syn-checkbox/component.custom.styles.ts +53 -0
  145. package/metadata/packages/components/components/syn-checkbox/component.react.ts +64 -0
  146. package/metadata/packages/components/components/syn-checkbox/component.styles.ts +130 -0
  147. package/metadata/packages/components/components/syn-checkbox/component.ts +291 -0
  148. package/metadata/packages/components/components/syn-checkbox/component.vue +186 -0
  149. package/metadata/packages/components/components/syn-combobox/component.angular.ts +436 -0
  150. package/metadata/packages/components/components/syn-combobox/component.custom.styles.ts +35 -0
  151. package/metadata/packages/components/components/syn-combobox/component.react.ts +109 -0
  152. package/metadata/packages/components/components/syn-combobox/component.styles.ts +406 -0
  153. package/metadata/packages/components/components/syn-combobox/component.ts +1139 -0
  154. package/metadata/packages/components/components/syn-combobox/component.vue +304 -0
  155. package/metadata/packages/components/components/syn-details/component.angular.ts +184 -0
  156. package/metadata/packages/components/components/syn-details/component.custom.styles.ts +140 -0
  157. package/metadata/packages/components/components/syn-details/component.react.ts +63 -0
  158. package/metadata/packages/components/components/syn-details/component.styles.ts +90 -0
  159. package/metadata/packages/components/components/syn-details/component.ts +266 -0
  160. package/metadata/packages/components/components/syn-details/component.vue +134 -0
  161. package/metadata/packages/components/components/syn-dialog/component.angular.ts +201 -0
  162. package/metadata/packages/components/components/syn-dialog/component.custom.styles.ts +54 -0
  163. package/metadata/packages/components/components/syn-dialog/component.react.ts +91 -0
  164. package/metadata/packages/components/components/syn-dialog/component.styles.ts +129 -0
  165. package/metadata/packages/components/components/syn-dialog/component.ts +366 -0
  166. package/metadata/packages/components/components/syn-dialog/component.vue +169 -0
  167. package/metadata/packages/components/components/syn-divider/component.angular.ts +55 -0
  168. package/metadata/packages/components/components/syn-divider/component.custom.styles.ts +8 -0
  169. package/metadata/packages/components/components/syn-divider/component.react.ts +29 -0
  170. package/metadata/packages/components/components/syn-divider/component.styles.ts +31 -0
  171. package/metadata/packages/components/components/syn-divider/component.ts +42 -0
  172. package/metadata/packages/components/components/syn-divider/component.vue +51 -0
  173. package/metadata/packages/components/components/syn-drawer/component.angular.ts +234 -0
  174. package/metadata/packages/components/components/syn-drawer/component.custom.styles.ts +78 -0
  175. package/metadata/packages/components/components/syn-drawer/component.react.ts +98 -0
  176. package/metadata/packages/components/components/syn-drawer/component.styles.ts +165 -0
  177. package/metadata/packages/components/components/syn-drawer/component.ts +496 -0
  178. package/metadata/packages/components/components/syn-drawer/component.vue +188 -0
  179. package/metadata/packages/components/components/syn-dropdown/component.angular.ts +223 -0
  180. package/metadata/packages/components/components/syn-dropdown/component.custom.styles.ts +5 -0
  181. package/metadata/packages/components/components/syn-dropdown/component.react.ts +59 -0
  182. package/metadata/packages/components/components/syn-dropdown/component.styles.ts +60 -0
  183. package/metadata/packages/components/components/syn-dropdown/component.ts +484 -0
  184. package/metadata/packages/components/components/syn-dropdown/component.vue +159 -0
  185. package/metadata/packages/components/components/syn-file/component.angular.ts +359 -0
  186. package/metadata/packages/components/components/syn-file/component.react.ts +85 -0
  187. package/metadata/packages/components/components/syn-file/component.styles.ts +179 -0
  188. package/metadata/packages/components/components/syn-file/component.ts +631 -0
  189. package/metadata/packages/components/components/syn-file/component.vue +251 -0
  190. package/metadata/packages/components/components/syn-header/component.angular.ts +132 -0
  191. package/metadata/packages/components/components/syn-header/component.react.ts +65 -0
  192. package/metadata/packages/components/components/syn-header/component.styles.ts +128 -0
  193. package/metadata/packages/components/components/syn-header/component.ts +260 -0
  194. package/metadata/packages/components/components/syn-header/component.vue +117 -0
  195. package/metadata/packages/components/components/syn-icon/component.angular.ts +115 -0
  196. package/metadata/packages/components/components/syn-icon/component.custom.styles.ts +5 -0
  197. package/metadata/packages/components/components/syn-icon/component.react.ts +41 -0
  198. package/metadata/packages/components/components/syn-icon/component.styles.ts +25 -0
  199. package/metadata/packages/components/components/syn-icon/component.ts +234 -0
  200. package/metadata/packages/components/components/syn-icon/component.vue +100 -0
  201. package/metadata/packages/components/components/syn-icon-button/component.angular.ts +185 -0
  202. package/metadata/packages/components/components/syn-icon-button/component.custom.styles.ts +68 -0
  203. package/metadata/packages/components/components/syn-icon-button/component.react.ts +42 -0
  204. package/metadata/packages/components/components/syn-icon-button/component.styles.ts +59 -0
  205. package/metadata/packages/components/components/syn-icon-button/component.ts +154 -0
  206. package/metadata/packages/components/components/syn-icon-button/component.vue +132 -0
  207. package/metadata/packages/components/components/syn-input/component.angular.ts +606 -0
  208. package/metadata/packages/components/components/syn-input/component.custom.styles.ts +278 -0
  209. package/metadata/packages/components/components/syn-input/component.react.ts +91 -0
  210. package/metadata/packages/components/components/syn-input/component.styles.ts +287 -0
  211. package/metadata/packages/components/components/syn-input/component.ts +942 -0
  212. package/metadata/packages/components/components/syn-input/component.vue +370 -0
  213. package/metadata/packages/components/components/syn-menu/component.angular.ts +52 -0
  214. package/metadata/packages/components/components/syn-menu/component.custom.styles.ts +29 -0
  215. package/metadata/packages/components/components/syn-menu/component.react.ts +36 -0
  216. package/metadata/packages/components/components/syn-menu/component.styles.ts +27 -0
  217. package/metadata/packages/components/components/syn-menu/component.ts +199 -0
  218. package/metadata/packages/components/components/syn-menu/component.vue +48 -0
  219. package/metadata/packages/components/components/syn-menu-item/component.angular.ts +121 -0
  220. package/metadata/packages/components/components/syn-menu-item/component.custom.styles.ts +128 -0
  221. package/metadata/packages/components/components/syn-menu-item/component.react.ts +45 -0
  222. package/metadata/packages/components/components/syn-menu-item/component.styles.ts +164 -0
  223. package/metadata/packages/components/components/syn-menu-item/component.ts +209 -0
  224. package/metadata/packages/components/components/syn-menu-item/component.vue +91 -0
  225. package/metadata/packages/components/components/syn-menu-label/component.angular.ts +48 -0
  226. package/metadata/packages/components/components/syn-menu-label/component.custom.styles.ts +24 -0
  227. package/metadata/packages/components/components/syn-menu-label/component.react.ts +35 -0
  228. package/metadata/packages/components/components/syn-menu-label/component.styles.ts +28 -0
  229. package/metadata/packages/components/components/syn-menu-label/component.ts +54 -0
  230. package/metadata/packages/components/components/syn-menu-label/component.vue +41 -0
  231. package/metadata/packages/components/components/syn-nav-item/component.angular.ts +242 -0
  232. package/metadata/packages/components/components/syn-nav-item/component.react.ts +82 -0
  233. package/metadata/packages/components/components/syn-nav-item/component.styles.ts +337 -0
  234. package/metadata/packages/components/components/syn-nav-item/component.ts +492 -0
  235. package/metadata/packages/components/components/syn-nav-item/component.vue +182 -0
  236. package/metadata/packages/components/components/syn-optgroup/component.angular.ts +79 -0
  237. package/metadata/packages/components/components/syn-optgroup/component.react.ts +41 -0
  238. package/metadata/packages/components/components/syn-optgroup/component.styles.ts +59 -0
  239. package/metadata/packages/components/components/syn-optgroup/component.ts +176 -0
  240. package/metadata/packages/components/components/syn-optgroup/component.vue +71 -0
  241. package/metadata/packages/components/components/syn-option/component.angular.ts +79 -0
  242. package/metadata/packages/components/components/syn-option/component.custom.styles.ts +81 -0
  243. package/metadata/packages/components/components/syn-option/component.react.ts +37 -0
  244. package/metadata/packages/components/components/syn-option/component.styles.ts +96 -0
  245. package/metadata/packages/components/components/syn-option/component.ts +174 -0
  246. package/metadata/packages/components/components/syn-option/component.vue +71 -0
  247. package/metadata/packages/components/components/syn-popup/component.angular.ts +385 -0
  248. package/metadata/packages/components/components/syn-popup/component.react.ts +55 -0
  249. package/metadata/packages/components/components/syn-popup/component.styles.ts +70 -0
  250. package/metadata/packages/components/components/syn-popup/component.ts +583 -0
  251. package/metadata/packages/components/components/syn-popup/component.vue +240 -0
  252. package/metadata/packages/components/components/syn-prio-nav/component.angular.ts +67 -0
  253. package/metadata/packages/components/components/syn-prio-nav/component.react.ts +54 -0
  254. package/metadata/packages/components/components/syn-prio-nav/component.styles.ts +48 -0
  255. package/metadata/packages/components/components/syn-prio-nav/component.ts +287 -0
  256. package/metadata/packages/components/components/syn-prio-nav/component.vue +60 -0
  257. package/metadata/packages/components/components/syn-progress-bar/component.angular.ts +85 -0
  258. package/metadata/packages/components/components/syn-progress-bar/component.custom.styles.ts +22 -0
  259. package/metadata/packages/components/components/syn-progress-bar/component.react.ts +37 -0
  260. package/metadata/packages/components/components/syn-progress-bar/component.styles.ts +94 -0
  261. package/metadata/packages/components/components/syn-progress-bar/component.ts +74 -0
  262. package/metadata/packages/components/components/syn-progress-bar/component.vue +71 -0
  263. package/metadata/packages/components/components/syn-progress-ring/component.angular.ts +72 -0
  264. package/metadata/packages/components/components/syn-progress-ring/component.custom.styles.ts +17 -0
  265. package/metadata/packages/components/components/syn-progress-ring/component.react.ts +37 -0
  266. package/metadata/packages/components/components/syn-progress-ring/component.styles.ts +77 -0
  267. package/metadata/packages/components/components/syn-progress-ring/component.ts +90 -0
  268. package/metadata/packages/components/components/syn-progress-ring/component.vue +66 -0
  269. package/metadata/packages/components/components/syn-radio/component.angular.ts +109 -0
  270. package/metadata/packages/components/components/syn-radio/component.custom.styles.ts +64 -0
  271. package/metadata/packages/components/components/syn-radio/component.react.ts +48 -0
  272. package/metadata/packages/components/components/syn-radio/component.styles.ts +124 -0
  273. package/metadata/packages/components/components/syn-radio/component.ts +129 -0
  274. package/metadata/packages/components/components/syn-radio/component.vue +99 -0
  275. package/metadata/packages/components/components/syn-radio-button/component.angular.ts +123 -0
  276. package/metadata/packages/components/components/syn-radio-button/component.react.ts +49 -0
  277. package/metadata/packages/components/components/syn-radio-button/component.styles.ts +37 -0
  278. package/metadata/packages/components/components/syn-radio-button/component.ts +149 -0
  279. package/metadata/packages/components/components/syn-radio-button/component.vue +105 -0
  280. package/metadata/packages/components/components/syn-radio-group/component.angular.ts +204 -0
  281. package/metadata/packages/components/components/syn-radio-group/component.custom.styles.ts +22 -0
  282. package/metadata/packages/components/components/syn-radio-group/component.react.ts +56 -0
  283. package/metadata/packages/components/components/syn-radio-group/component.styles.ts +44 -0
  284. package/metadata/packages/components/components/syn-radio-group/component.ts +418 -0
  285. package/metadata/packages/components/components/syn-radio-group/component.vue +158 -0
  286. package/metadata/packages/components/components/syn-range/component.angular.ts +334 -0
  287. package/metadata/packages/components/components/syn-range/component.react.ts +92 -0
  288. package/metadata/packages/components/components/syn-range/component.styles.ts +284 -0
  289. package/metadata/packages/components/components/syn-range/component.ts +878 -0
  290. package/metadata/packages/components/components/syn-range/component.vue +240 -0
  291. package/metadata/packages/components/components/syn-range-tick/component.angular.ts +59 -0
  292. package/metadata/packages/components/components/syn-range-tick/component.react.ts +33 -0
  293. package/metadata/packages/components/components/syn-range-tick/component.styles.ts +34 -0
  294. package/metadata/packages/components/components/syn-range-tick/component.ts +50 -0
  295. package/metadata/packages/components/components/syn-range-tick/component.vue +57 -0
  296. package/metadata/packages/components/components/syn-resize-observer/component.styles.ts +16 -0
  297. package/metadata/packages/components/components/syn-resize-observer/component.ts +98 -0
  298. package/metadata/packages/components/components/syn-select/component.angular.ts +441 -0
  299. package/metadata/packages/components/components/syn-select/component.custom.styles.ts +176 -0
  300. package/metadata/packages/components/components/syn-select/component.react.ts +101 -0
  301. package/metadata/packages/components/components/syn-select/component.styles.ts +316 -0
  302. package/metadata/packages/components/components/syn-select/component.ts +1054 -0
  303. package/metadata/packages/components/components/syn-select/component.vue +303 -0
  304. package/metadata/packages/components/components/syn-side-nav/component.angular.ts +231 -0
  305. package/metadata/packages/components/components/syn-side-nav/component.react.ts +95 -0
  306. package/metadata/packages/components/components/syn-side-nav/component.styles.ts +160 -0
  307. package/metadata/packages/components/components/syn-side-nav/component.ts +492 -0
  308. package/metadata/packages/components/components/syn-side-nav/component.vue +201 -0
  309. package/metadata/packages/components/components/syn-spinner/component.angular.ts +44 -0
  310. package/metadata/packages/components/components/syn-spinner/component.custom.styles.ts +31 -0
  311. package/metadata/packages/components/components/syn-spinner/component.react.ts +31 -0
  312. package/metadata/packages/components/components/syn-spinner/component.styles.ts +55 -0
  313. package/metadata/packages/components/components/syn-spinner/component.ts +42 -0
  314. package/metadata/packages/components/components/syn-spinner/component.vue +35 -0
  315. package/metadata/packages/components/components/syn-switch/component.angular.ts +244 -0
  316. package/metadata/packages/components/components/syn-switch/component.custom.styles.ts +112 -0
  317. package/metadata/packages/components/components/syn-switch/component.react.ts +63 -0
  318. package/metadata/packages/components/components/syn-switch/component.styles.ts +177 -0
  319. package/metadata/packages/components/components/syn-switch/component.ts +274 -0
  320. package/metadata/packages/components/components/syn-switch/component.vue +178 -0
  321. package/metadata/packages/components/components/syn-tab/component.angular.ts +109 -0
  322. package/metadata/packages/components/components/syn-tab/component.custom.styles.ts +92 -0
  323. package/metadata/packages/components/components/syn-tab/component.react.ts +42 -0
  324. package/metadata/packages/components/components/syn-tab/component.styles.ts +77 -0
  325. package/metadata/packages/components/components/syn-tab/component.ts +132 -0
  326. package/metadata/packages/components/components/syn-tab/component.vue +91 -0
  327. package/metadata/packages/components/components/syn-tab-group/component.angular.ts +166 -0
  328. package/metadata/packages/components/components/syn-tab-group/component.custom.styles.ts +248 -0
  329. package/metadata/packages/components/components/syn-tab-group/component.react.ts +58 -0
  330. package/metadata/packages/components/components/syn-tab-group/component.styles.ts +200 -0
  331. package/metadata/packages/components/components/syn-tab-group/component.ts +557 -0
  332. package/metadata/packages/components/components/syn-tab-group/component.vue +126 -0
  333. package/metadata/packages/components/components/syn-tab-panel/component.angular.ts +68 -0
  334. package/metadata/packages/components/components/syn-tab-panel/component.custom.styles.ts +8 -0
  335. package/metadata/packages/components/components/syn-tab-panel/component.react.ts +31 -0
  336. package/metadata/packages/components/components/syn-tab-panel/component.styles.ts +27 -0
  337. package/metadata/packages/components/components/syn-tab-panel/component.ts +67 -0
  338. package/metadata/packages/components/components/syn-tab-panel/component.vue +60 -0
  339. package/metadata/packages/components/components/syn-tag/component.angular.ts +83 -0
  340. package/metadata/packages/components/components/syn-tag/component.custom.styles.ts +120 -0
  341. package/metadata/packages/components/components/syn-tag/component.react.ts +43 -0
  342. package/metadata/packages/components/components/syn-tag/component.styles.ts +65 -0
  343. package/metadata/packages/components/components/syn-tag/component.ts +90 -0
  344. package/metadata/packages/components/components/syn-tag/component.vue +81 -0
  345. package/metadata/packages/components/components/syn-textarea/component.angular.ts +394 -0
  346. package/metadata/packages/components/components/syn-textarea/component.custom.styles.ts +18 -0
  347. package/metadata/packages/components/components/syn-textarea/component.react.ts +60 -0
  348. package/metadata/packages/components/components/syn-textarea/component.styles.ts +187 -0
  349. package/metadata/packages/components/components/syn-textarea/component.ts +401 -0
  350. package/metadata/packages/components/components/syn-textarea/component.vue +244 -0
  351. package/metadata/packages/components/components/syn-tooltip/component.angular.ts +212 -0
  352. package/metadata/packages/components/components/syn-tooltip/component.custom.styles.ts +13 -0
  353. package/metadata/packages/components/components/syn-tooltip/component.react.ts +63 -0
  354. package/metadata/packages/components/components/syn-tooltip/component.styles.ts +64 -0
  355. package/metadata/packages/components/components/syn-tooltip/component.ts +319 -0
  356. package/metadata/packages/components/components/syn-tooltip/component.vue +158 -0
  357. package/metadata/packages/components/components/syn-validate/component.angular.ts +128 -0
  358. package/metadata/packages/components/components/syn-validate/component.react.ts +36 -0
  359. package/metadata/packages/components/components/syn-validate/component.styles.ts +9 -0
  360. package/metadata/packages/components/components/syn-validate/component.ts +437 -0
  361. package/metadata/packages/components/components/syn-validate/component.vue +98 -0
  362. package/metadata/packages/components/migration/BREAKING_CHANGES.md +489 -0
  363. package/metadata/packages/components/static/CHANGELOG.md +1100 -0
  364. package/metadata/packages/components/static/LIMITATIONS.md +269 -0
  365. package/metadata/packages/components/static/README.md +248 -0
  366. package/metadata/packages/react/LIMITATIONS.md +31 -0
  367. package/metadata/packages/react/README.md +262 -0
  368. package/metadata/packages/styles/CHANGELOG.md +76 -0
  369. package/metadata/packages/styles/README.md +132 -0
  370. package/metadata/packages/styles/index.css +309 -0
  371. package/metadata/packages/styles/link-list.css +47 -0
  372. package/metadata/packages/styles/link.css +79 -0
  373. package/metadata/packages/styles/tables.css +143 -0
  374. package/metadata/packages/styles/typography.css +52 -0
  375. package/metadata/packages/tokens/CHANGELOG.md +431 -0
  376. package/metadata/packages/tokens/README.md +408 -0
  377. package/metadata/packages/tokens/dark.css +268 -0
  378. package/metadata/packages/tokens/index.js +1294 -0
  379. package/metadata/packages/tokens/light.css +268 -0
  380. package/metadata/packages/vue/LIMITATIONS.md +53 -0
  381. package/metadata/packages/vue/README.md +252 -0
  382. package/metadata/static/angular/index.md +6 -0
  383. package/metadata/static/assets/index.md +10 -0
  384. package/metadata/static/component-info/index.md +24 -0
  385. package/metadata/static/component-list/index.md +34 -0
  386. package/metadata/static/components/index.md +10 -0
  387. package/metadata/static/components/syn-accordion/docs.md +428 -0
  388. package/metadata/static/components/syn-alert/docs.md +231 -0
  389. package/metadata/static/components/syn-badge/docs.md +128 -0
  390. package/metadata/static/components/syn-breadcrumb/docs.md +265 -0
  391. package/metadata/static/components/syn-breadcrumb-item/docs.md +49 -0
  392. package/metadata/static/components/syn-button/docs.md +402 -0
  393. package/metadata/static/components/syn-card/docs.md +273 -0
  394. package/metadata/static/components/syn-checkbox/docs.md +77 -0
  395. package/metadata/static/components/syn-combobox/docs.md +2402 -0
  396. package/metadata/static/components/syn-details/docs.md +220 -0
  397. package/metadata/static/components/syn-dialog/docs.md +222 -0
  398. package/metadata/static/components/syn-divider/docs.md +77 -0
  399. package/metadata/static/components/syn-drawer/docs.md +271 -0
  400. package/metadata/static/components/syn-dropdown/docs.md +316 -0
  401. package/metadata/static/components/syn-file/docs.md +215 -0
  402. package/metadata/static/components/syn-header/docs.md +134 -0
  403. package/metadata/static/components/syn-icon/docs.md +177 -0
  404. package/metadata/static/components/syn-icon-button/docs.md +142 -0
  405. package/metadata/static/components/syn-input/docs.md +460 -0
  406. package/metadata/static/components/syn-menu/docs.md +162 -0
  407. package/metadata/static/components/syn-menu-item/docs.md +196 -0
  408. package/metadata/static/components/syn-menu-label/docs.md +29 -0
  409. package/metadata/static/components/syn-nav-item/docs.md +161 -0
  410. package/metadata/static/components/syn-optgroup/docs.md +167 -0
  411. package/metadata/static/components/syn-option/docs.md +137 -0
  412. package/metadata/static/components/syn-prio-nav/docs.md +54 -0
  413. package/metadata/static/components/syn-progress-bar/docs.md +77 -0
  414. package/metadata/static/components/syn-progress-ring/docs.md +89 -0
  415. package/metadata/static/components/syn-radio/docs.md +123 -0
  416. package/metadata/static/components/syn-radio-group/docs.md +363 -0
  417. package/metadata/static/components/syn-range/docs.md +419 -0
  418. package/metadata/static/components/syn-range-tick/docs.md +110 -0
  419. package/metadata/static/components/syn-select/docs.md +730 -0
  420. package/metadata/static/components/syn-side-nav/docs.md +593 -0
  421. package/metadata/static/components/syn-spinner/docs.md +45 -0
  422. package/metadata/static/components/syn-switch/docs.md +74 -0
  423. package/metadata/static/components/syn-tab/docs.md +47 -0
  424. package/metadata/static/components/syn-tab-group/docs.md +1094 -0
  425. package/metadata/static/components/syn-tab-panel/docs.md +91 -0
  426. package/metadata/static/components/syn-tag/docs.md +50 -0
  427. package/metadata/static/components/syn-textarea/docs.md +215 -0
  428. package/metadata/static/components/syn-tooltip/docs.md +144 -0
  429. package/metadata/static/components/syn-validate/docs.md +225 -0
  430. package/metadata/static/migration/index.md +10 -0
  431. package/metadata/static/react/index.md +8 -0
  432. package/metadata/static/setup/icon-usage.md +239 -0
  433. package/metadata/static/setup/prerequisites.md +171 -0
  434. package/metadata/static/styles/index.md +11 -0
  435. package/metadata/static/styles/syn-body.md +5 -0
  436. package/metadata/static/styles/syn-heading.md +5 -0
  437. package/metadata/static/styles/syn-link-list.md +325 -0
  438. package/metadata/static/styles/syn-link.md +156 -0
  439. package/metadata/static/styles/syn-table-cell.md +125 -0
  440. package/metadata/static/styles/syn-table.md +201 -0
  441. package/metadata/static/styles/syn-weight.md +5 -0
  442. package/metadata/static/templates/appshell.md +2061 -0
  443. package/metadata/static/templates/breadcrumb.md +375 -0
  444. package/metadata/static/templates/footer.md +342 -0
  445. package/metadata/static/templates/forms.md +369 -0
  446. package/metadata/static/templates/index.md +9 -0
  447. package/metadata/static/templates/table.md +1426 -0
  448. package/metadata/static/vue/index.md +6 -0
  449. package/package.json +109 -4
@@ -0,0 +1,242 @@
1
+ // ---------------------------------------------------------------------
2
+ // 🔒 AUTOGENERATED @synergy-design-system/angular wrappers for @synergy-design-system/components
3
+ // Please do not edit this file directly!
4
+ // It will get recreated when running pnpm build.
5
+ // ---------------------------------------------------------------------
6
+ import {
7
+ Component,
8
+ ElementRef,
9
+ NgZone,
10
+ Input,
11
+ Output,
12
+ EventEmitter,
13
+ AfterContentInit,
14
+ } from '@angular/core';
15
+ import type { SynNavItem } from '@synergy-design-system/components';
16
+ import type { SynShowEvent } from '@synergy-design-system/components';
17
+ import type { SynHideEvent } from '@synergy-design-system/components';
18
+ import type { SynBlurEvent } from '@synergy-design-system/components';
19
+ import type { SynFocusEvent } from '@synergy-design-system/components';
20
+ import '@synergy-design-system/components/components/nav-item/nav-item.js';
21
+
22
+ /**
23
+ * @summary Flexible button / link component that can be used to quickly build navigations.
24
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-nav-item--docs
25
+ * Takes one of 3 forms:
26
+ * - button (default),
27
+ * - link (overrides button if a 'href' is provided),
28
+ * - or accordion (overrides all other if 'children' slot is defined).
29
+ *
30
+ * @status stable
31
+ * @since 1.14.0
32
+ *
33
+ * @dependency syn-divider
34
+ * @dependency syn-icon
35
+ *
36
+ * @event syn-show - Emitted when the navigation item:
37
+ * - has children,
38
+ * - and is clicked while HTML details are hidden.
39
+ *
40
+ * @event syn-hide - Emitted when the navigation item:
41
+ * - has children,
42
+ * - and is clicked while HTML details are shown.
43
+ *
44
+ * @event syn-blur - Emitted when the button loses focus.
45
+ * @event syn-focus - Emitted when the button gains focus.
46
+ *
47
+ * @slot - The navigation item's label.
48
+ * @slot prefix - A presentational prefix icon or similar element.
49
+ * @slot suffix - A presentational suffix icon or similar element.
50
+ * @slot children - Slot used to provide nested child navigation elements.
51
+ * If provided, details and summary elements will be used.
52
+ * A chevron will be shown on the right side regardless of the chevron property.
53
+ *
54
+ * @csspart base - The component's base wrapper including children.
55
+ * @csspart children - The wrapper that holds the children
56
+ * @csspart content-wrapper - The component's content wrapper.
57
+ * @csspart content - The component's content excluding children.
58
+ * @csspart current-indicator - The indicator used when current is set to true
59
+ * @csspart chevron - The container that wraps the chevron.
60
+ * @csspart details - The details element rendered when there are children available
61
+ * @csspart divider - The components optional top divider.
62
+ * @csspart prefix - The container that wraps the prefix.
63
+ * @csspart suffix - The container that wraps the suffix.
64
+ *
65
+ * @cssproperty --indentation - Numeric value, indicating the level the item is placed at.
66
+ * @cssproperty --indentation-stepping - The amount of pixels each level will indent.
67
+ * @cssproperty --display-children - Display property of the children. Defaults to "contents"
68
+ */
69
+ @Component({
70
+ selector: 'syn-nav-item',
71
+ standalone: true,
72
+ template: '<ng-content></ng-content>',
73
+ })
74
+ export class SynNavItemComponent {
75
+ public nativeElement: SynNavItem;
76
+ private _ngZone: NgZone;
77
+
78
+ constructor(e: ElementRef, ngZone: NgZone) {
79
+ this.nativeElement = e.nativeElement;
80
+ this._ngZone = ngZone;
81
+ this.nativeElement.addEventListener('syn-show', (e: SynShowEvent) => {
82
+ this.synShowEvent.emit(e);
83
+ });
84
+ this.nativeElement.addEventListener('syn-hide', (e: SynHideEvent) => {
85
+ this.synHideEvent.emit(e);
86
+ });
87
+ this.nativeElement.addEventListener('syn-blur', (e: SynBlurEvent) => {
88
+ this.synBlurEvent.emit(e);
89
+ });
90
+ this.nativeElement.addEventListener('syn-focus', (e: SynFocusEvent) => {
91
+ this.synFocusEvent.emit(e);
92
+ });
93
+ }
94
+
95
+ /**
96
+ * The navigation item's href target.
97
+ If provided, the navigation item will use an anchor tag otherwise it will use a button tag.
98
+
99
+ If the 'children' slot is provided, the navigation item will ignore the 'href' and use
100
+ accordion behavior.
101
+ */
102
+ @Input()
103
+ set href(v: SynNavItem['href']) {
104
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.href = v));
105
+ }
106
+ get href(): SynNavItem['href'] {
107
+ return this.nativeElement.href;
108
+ }
109
+
110
+ /**
111
+ * Tells the browser where to open the link.
112
+ * Only used when `href` is present.
113
+ */
114
+ @Input()
115
+ set target(v: SynNavItem['target']) {
116
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.target = v));
117
+ }
118
+ get target(): SynNavItem['target'] {
119
+ return this.nativeElement.target;
120
+ }
121
+
122
+ /**
123
+ * When using `href`, this attribute will map to the underlying link's `rel` attribute.
124
+ Unlike regular links, the default is `noreferrer noopener` to prevent security exploits.
125
+
126
+ However, if you're using `target` to point to a specific tab/window,
127
+ this will prevent that from working correctly.
128
+
129
+ You can remove or change the default value by setting the attribute
130
+ to an empty string or a value of your choice, respectively.
131
+ */
132
+ @Input()
133
+ set rel(v: SynNavItem['rel']) {
134
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.rel = v));
135
+ }
136
+ get rel(): SynNavItem['rel'] {
137
+ return this.nativeElement.rel;
138
+ }
139
+
140
+ @Input()
141
+ set current(v: '' | SynNavItem['current']) {
142
+ this._ngZone.runOutsideAngular(
143
+ () => (this.nativeElement.current = v === '' || v),
144
+ );
145
+ }
146
+ get current(): SynNavItem['current'] {
147
+ return this.nativeElement.current;
148
+ }
149
+
150
+ /**
151
+ * Disables the navigation item.
152
+ */
153
+ @Input()
154
+ set disabled(v: '' | SynNavItem['disabled']) {
155
+ this._ngZone.runOutsideAngular(
156
+ () => (this.nativeElement.disabled = v === '' || v),
157
+ );
158
+ }
159
+ get disabled(): SynNavItem['disabled'] {
160
+ return this.nativeElement.disabled;
161
+ }
162
+
163
+ /**
164
+ * The navigation item's orientation.
165
+ */
166
+ @Input()
167
+ set horizontal(v: '' | SynNavItem['horizontal']) {
168
+ this._ngZone.runOutsideAngular(
169
+ () => (this.nativeElement.horizontal = v === '' || v),
170
+ );
171
+ }
172
+ get horizontal(): SynNavItem['horizontal'] {
173
+ return this.nativeElement.horizontal;
174
+ }
175
+
176
+ /**
177
+ * Appends a chevron to the right side of a navigation item.
178
+ Only used if `horizontal` is false.
179
+ */
180
+ @Input()
181
+ set chevron(v: '' | SynNavItem['chevron']) {
182
+ this._ngZone.runOutsideAngular(
183
+ () => (this.nativeElement.chevron = v === '' || v),
184
+ );
185
+ }
186
+ get chevron(): SynNavItem['chevron'] {
187
+ return this.nativeElement.chevron;
188
+ }
189
+
190
+ /**
191
+ * Reflects HTML details element state and allows control from parent.
192
+ Only used if `horizontal` is false and `children` is defined.
193
+ */
194
+ @Input()
195
+ set open(v: '' | SynNavItem['open']) {
196
+ this._ngZone.runOutsideAngular(
197
+ () => (this.nativeElement.open = v === '' || v),
198
+ );
199
+ }
200
+ get open(): SynNavItem['open'] {
201
+ return this.nativeElement.open;
202
+ }
203
+
204
+ /**
205
+ * Toggle to true to show a divider above the element.
206
+ Only available when horizontal is false.
207
+ */
208
+ @Input()
209
+ set divider(v: '' | SynNavItem['divider']) {
210
+ this._ngZone.runOutsideAngular(
211
+ () => (this.nativeElement.divider = v === '' || v),
212
+ );
213
+ }
214
+ get divider(): SynNavItem['divider'] {
215
+ return this.nativeElement.divider;
216
+ }
217
+
218
+ /**
219
+ * Emitted when the navigation item: - has children, - and is clicked while HTML details are hidden.
220
+ */
221
+ @Output() synShowEvent = new EventEmitter<SynShowEvent>();
222
+
223
+ /**
224
+ * Emitted when the navigation item: - has children, - and is clicked while HTML details are shown.
225
+ */
226
+ @Output() synHideEvent = new EventEmitter<SynHideEvent>();
227
+
228
+ /**
229
+ * Emitted when the button loses focus.
230
+ */
231
+ @Output() synBlurEvent = new EventEmitter<SynBlurEvent>();
232
+
233
+ /**
234
+ * Emitted when the button gains focus.
235
+ */
236
+ @Output() synFocusEvent = new EventEmitter<SynFocusEvent>();
237
+ }
238
+
239
+ export type { SynShowEvent } from '@synergy-design-system/components';
240
+ export type { SynHideEvent } from '@synergy-design-system/components';
241
+ export type { SynBlurEvent } from '@synergy-design-system/components';
242
+ export type { SynFocusEvent } from '@synergy-design-system/components';
@@ -0,0 +1,82 @@
1
+ // ---------------------------------------------------------------------
2
+ // 🔒 AUTOGENERATED @synergy-design-system/react wrappers for @synergy-design-system/components
3
+ // Please do not edit this file directly!
4
+ // It will get recreated when running pnpm build.
5
+ // ---------------------------------------------------------------------
6
+ import * as React from 'react';
7
+ import { createComponent } from '@lit/react';
8
+ import Component from '@synergy-design-system/components/components/nav-item/nav-item.component.js';
9
+
10
+ import { type EventName } from '@lit/react';
11
+ import type { SynShowEvent } from '@synergy-design-system/components';
12
+ import type { SynHideEvent } from '@synergy-design-system/components';
13
+ import type { SynBlurEvent } from '@synergy-design-system/components';
14
+ import type { SynFocusEvent } from '@synergy-design-system/components';
15
+
16
+ const tagName = 'syn-nav-item';
17
+ Component.define('syn-nav-item');
18
+
19
+ /**
20
+ * @summary Flexible button / link component that can be used to quickly build navigations.
21
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-nav-item--docs
22
+ * Takes one of 3 forms:
23
+ * - button (default),
24
+ * - link (overrides button if a 'href' is provided),
25
+ * - or accordion (overrides all other if 'children' slot is defined).
26
+ *
27
+ * @status stable
28
+ * @since 1.14.0
29
+ *
30
+ * @dependency syn-divider
31
+ * @dependency syn-icon
32
+ *
33
+ * @event syn-show - Emitted when the navigation item:
34
+ * - has children,
35
+ * - and is clicked while HTML details are hidden.
36
+ *
37
+ * @event syn-hide - Emitted when the navigation item:
38
+ * - has children,
39
+ * - and is clicked while HTML details are shown.
40
+ *
41
+ * @event syn-blur - Emitted when the button loses focus.
42
+ * @event syn-focus - Emitted when the button gains focus.
43
+ *
44
+ * @slot - The navigation item's label.
45
+ * @slot prefix - A presentational prefix icon or similar element.
46
+ * @slot suffix - A presentational suffix icon or similar element.
47
+ * @slot children - Slot used to provide nested child navigation elements.
48
+ * If provided, details and summary elements will be used.
49
+ * A chevron will be shown on the right side regardless of the chevron property.
50
+ *
51
+ * @csspart base - The component's base wrapper including children.
52
+ * @csspart children - The wrapper that holds the children
53
+ * @csspart content-wrapper - The component's content wrapper.
54
+ * @csspart content - The component's content excluding children.
55
+ * @csspart current-indicator - The indicator used when current is set to true
56
+ * @csspart chevron - The container that wraps the chevron.
57
+ * @csspart details - The details element rendered when there are children available
58
+ * @csspart divider - The components optional top divider.
59
+ * @csspart prefix - The container that wraps the prefix.
60
+ * @csspart suffix - The container that wraps the suffix.
61
+ *
62
+ * @cssproperty --indentation - Numeric value, indicating the level the item is placed at.
63
+ * @cssproperty --indentation-stepping - The amount of pixels each level will indent.
64
+ * @cssproperty --display-children - Display property of the children. Defaults to "contents"
65
+ */
66
+ export const SynNavItem = createComponent({
67
+ displayName: 'SynNavItem',
68
+ elementClass: Component,
69
+ events: {
70
+ onSynShow: 'syn-show' as EventName<SynShowEvent>,
71
+ onSynHide: 'syn-hide' as EventName<SynHideEvent>,
72
+ onSynBlur: 'syn-blur' as EventName<SynBlurEvent>,
73
+ onSynFocus: 'syn-focus' as EventName<SynFocusEvent>,
74
+ },
75
+ react: React,
76
+ tagName,
77
+ });
78
+
79
+ export type { SynShowEvent } from '@synergy-design-system/components';
80
+ export type { SynHideEvent } from '@synergy-design-system/components';
81
+ export type { SynBlurEvent } from '@synergy-design-system/components';
82
+ export type { SynFocusEvent } from '@synergy-design-system/components';
@@ -0,0 +1,337 @@
1
+ import { css } from 'lit';
2
+
3
+ export 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
+ align-items: center;
40
+ background: transparent;
41
+ border: none;
42
+ box-shadow: inset 0 -1px 0 0 transparent;
43
+ box-sizing: border-box;
44
+ color: var(--syn-color-neutral-950);
45
+ cursor: pointer;
46
+ display: inline-flex;
47
+ font: var(--syn-font-sans);
48
+ font-size: var(--syn-font-size-small);
49
+ min-height: var(--syn-spacing-2x-large);
50
+ padding: var(--syn-spacing-small) var(--syn-spacing-large);
51
+ position: relative;
52
+ text-align: left;
53
+ text-decoration: none;
54
+ transition: background-color var(--syn-transition-fast) ease-in-out, box-shadow var(--syn-transition-fast) ease-in-out;
55
+ width: 100%;
56
+ z-index: 0;
57
+ }
58
+
59
+ .nav-item:focus-visible {
60
+ outline: none;
61
+ }
62
+
63
+ .nav-item:focus-visible::after {
64
+ content: '';
65
+ display: block;
66
+ height: 100%;
67
+ left: calc(var(--syn-spacing-x-small) * -1);
68
+ outline: var(--syn-focus-ring);
69
+ outline-offset: -2px;
70
+ position: absolute;
71
+ top: 0;
72
+ width: calc(100% + 2 * var(--syn-spacing-x-small));
73
+ }
74
+
75
+ .nav-item--vertical:focus-visible::after {
76
+ left: 0;
77
+ width: 100%;
78
+ }
79
+
80
+ /**
81
+ * Horizontal nav items use narrower paddings
82
+ */
83
+ .nav-item--horizontal {
84
+ padding: var(--syn-spacing-small) 0;
85
+ }
86
+
87
+ /**
88
+ * Nav Items acting as accordion use a slightly narrower padding on the right side
89
+ */
90
+ .nav-item.nav-item-is-accordion {
91
+ padding-right: var(--syn-spacing-medium);
92
+ }
93
+
94
+ .nav-item--disabled {
95
+ cursor: not-allowed;
96
+ }
97
+
98
+ .nav-item--current {
99
+ font-weight: var(--syn-font-weight-bold);
100
+ }
101
+
102
+ /**
103
+ * Basic set up for the nav item prefix.
104
+ */
105
+ .nav-item:not(.nav-item--disabled)::before {
106
+ background: var(--syn-color-neutral-600);
107
+ content: '';
108
+ display: block;
109
+ height: 100%;
110
+ left: 0;
111
+ opacity: 0;
112
+ position: absolute;
113
+ top: 0;
114
+ width: 100%;
115
+ z-index: -1;
116
+ }
117
+
118
+ /**
119
+ * Hover effect for the nav item.
120
+ * We use opacity to make sure the border-bottom is visible if used in the prio-nav in header
121
+ */
122
+ .nav-item:not(.nav-item--disabled):hover::before {
123
+ opacity: 0.11;
124
+ }
125
+
126
+ /**
127
+ * When using horizontal, the background should extend the element
128
+ * on the left and right so the animation for the indicator can be seen
129
+ */
130
+ .nav-item--horizontal:not(.nav-item--disabled)::before {
131
+ left: calc(var(--syn-spacing-x-small) * -1);
132
+ width: calc(100% + 2 * var(--syn-spacing-x-small));
133
+ }
134
+
135
+ /**
136
+ * The content wrapper is needed to get the disabled state right
137
+ * and also sets the left padding, according to the given indentation level.
138
+ *
139
+ * Normally, we would just use opacity directly on the button.
140
+ * However, when using the divider prop, this leads to problems
141
+ * as the divider itself will also get opaque.
142
+ */
143
+ .nav-item__content {
144
+ align-items: center;
145
+ display: flex;
146
+ padding-inline-start: calc(var(--indentation) * var(--indentation-stepping));
147
+ width: 100%;
148
+ }
149
+
150
+ .nav-item--disabled .nav-item__content {
151
+ opacity: var(--syn-opacity-50);
152
+ }
153
+
154
+ /**
155
+ * Slotted icons should use a default font size of large
156
+ */
157
+ .nav-item--has-prefix ::slotted(syn-icon),
158
+ .nav-item--has-suffix ::slotted(syn-icon) {
159
+ font-size: var(--syn-font-size-x-large);
160
+ min-width: var(--syn-font-size-x-large);
161
+ }
162
+
163
+ /**
164
+ * The chevron indicates the use as a <details /> element OR a link
165
+ */
166
+ .nav-item__chevron {
167
+ font-size: var(--syn-font-size-x-large);
168
+ margin-inline-start: var(--syn-spacing-x-small);
169
+ rotate: 0deg;
170
+ transition: var(--syn-transition-medium) rotate ease;
171
+ }
172
+
173
+ .nav-item__chevron-open {
174
+ rotate: -180deg;
175
+ }
176
+
177
+ /**
178
+ * Items that have the chevron attribute set and are NOT accordions should always show a chevron pointing to the right
179
+ */
180
+ .nav-item:not(.nav-item-is-accordion) .nav-item__chevron {
181
+ rotate: -90deg;
182
+ }
183
+
184
+ /**
185
+ * Make the primary content container fill all available space
186
+ */
187
+ .nav-item__content-container {
188
+ flex: 1;
189
+ overflow: hidden;
190
+ text-overflow: ellipsis;
191
+ }
192
+
193
+ /**
194
+ * Horizontal navigation items should not break words
195
+ */
196
+ .nav-item--horizontal .nav-item__content-container {
197
+ font-weight: var(--syn-font-weight-bold);
198
+ white-space: nowrap;
199
+ }
200
+
201
+ /**
202
+ * Show prefix only
203
+ */
204
+ /* stylelint-disable no-descending-specificity */
205
+ .nav-item--show-prefix-only .nav-item__content-container,
206
+ .nav-item--show-prefix-only .nav-item__suffix,
207
+ .nav-item--show-prefix-only .nav-item__chevron {
208
+ height: var(--syn-spacing-large);
209
+ }
210
+ /* stylelint-enable no-descending-specificity */
211
+
212
+ /**
213
+ * Adjust the paddings for the label, depending if there is a pre- and/or suffix available.
214
+ * But only if the there is a main content or additionally a prefix / suffix
215
+ */
216
+ .nav-item--has-prefix.nav-item--has-content .nav-item__content-container,
217
+ .nav-item--has-prefix.nav-item--has-suffix .nav-item__content-container {
218
+ margin-inline-start: var(--syn-spacing-x-small);
219
+ }
220
+
221
+ .nav-item--has-suffix.nav-item--has-content .nav-item__content-container,
222
+ .nav-item--has-suffix.nav-item--has-prefix .nav-item__content-container {
223
+ margin-inline-end: var(--syn-spacing-x-small);
224
+ }
225
+
226
+ /**
227
+ * Multi line content
228
+ */
229
+ /* stylelint-disable no-descending-specificity */
230
+ .nav-item--multi-line .nav-item__suffix,
231
+ .nav-item--multi-line .nav-item__prefix,
232
+ .nav-item--multi-line .nav-item__chevron {
233
+ align-self: flex-start;
234
+ }
235
+ /* stylelint-enable no-descending-specificity */
236
+
237
+ /* stylelint-disable no-descending-specificity */
238
+ .nav-item--multi-line .nav-item__suffix::slotted(syn-icon),
239
+ :not(.nav-item--show-prefix-only).nav-item--multi-line .nav-item__prefix::slotted(syn-icon),
240
+ .nav-item--multi-line .nav-item__chevron {
241
+ align-self: flex-start;
242
+ }
243
+ /* stylelint-enable no-descending-specificity */
244
+
245
+ /**
246
+ * The current indicator tells the user that the nav-item is the active one
247
+ */
248
+ .current-indicator {
249
+ background: transparent;
250
+ border: none;
251
+ margin: 0;
252
+ position: absolute;
253
+ transition: var(--syn-transition-medium) top ease,
254
+ var(--syn-transition-medium) right ease,
255
+ var(--syn-transition-medium) bottom ease,
256
+ var(--syn-transition-medium) left ease;
257
+ z-index: 1;
258
+ }
259
+
260
+ .current-indicator--visible.current-indicator--disabled {
261
+ background: var(--syn-color-neutral-500);
262
+ }
263
+
264
+ .current-indicator--visible {
265
+ background: var(--syn-color-primary-600);
266
+ }
267
+
268
+ .nav-item--horizontal .current-indicator {
269
+ bottom: 0;
270
+ height: var(--syn-spacing-2x-small);
271
+ left: 0;
272
+ right: 0;
273
+ }
274
+
275
+ .nav-item--horizontal:hover .current-indicator--visible,
276
+ .nav-item--horizontal:focus-visible .current-indicator--visible {
277
+ left: calc(var(--syn-spacing-x-small) * -1);
278
+ right: calc(var(--syn-spacing-x-small) * -1);
279
+ }
280
+
281
+ .nav-item--vertical .current-indicator {
282
+ bottom: var(--syn-spacing-x-small);
283
+ left: 0;
284
+ top: var(--syn-spacing-x-small);
285
+ width: var(--syn-spacing-2x-small);
286
+ }
287
+
288
+ .nav-item--vertical:hover .current-indicator--visible,
289
+ .nav-item--vertical:focus-visible .current-indicator--visible {
290
+ bottom: 0;
291
+ top: 0;
292
+ }
293
+
294
+ /**
295
+ * Dividers are optionally displayed in horizontal nav items
296
+ */
297
+ .divider {
298
+ --color: var(--syn-color-neutral-200);
299
+
300
+ left: var(--syn-spacing-medium);
301
+ margin: 0;
302
+ position: absolute;
303
+ right: var(--syn-spacing-medium);
304
+ top: 0;
305
+ transition: border var(--syn-transition-fast) ease-in-out;
306
+ }
307
+
308
+ /**
309
+ * Hide the divider for active elements
310
+ */
311
+ .nav-item:focus-visible .divider {
312
+ --color: transparent;
313
+ }
314
+
315
+ /**
316
+ * Make sure the divider is not visible anymore when hovering
317
+ */
318
+ .nav-item:not(.nav-item--disabled):hover .divider {
319
+ --color: transparent;
320
+ }
321
+
322
+ /**
323
+ * Sub menu styling
324
+ */
325
+ summary.nav-item {
326
+ box-sizing: border-box;
327
+ display: flex;
328
+ }
329
+
330
+ details summary::-webkit-details-marker {
331
+ visibility: hidden;
332
+ }
333
+
334
+ .children {
335
+ display: var(--display-children)
336
+ }
337
+ `;