@synergy-design-system/mcp 0.1.0 → 1.1.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 (450) hide show
  1. package/CHANGELOG.md +15 -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 +57 -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 +140 -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 +2 -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 +196 -0
  96. package/metadata/packages/assets/README.md +79 -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 +73 -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/migration/migration-synergy-v3.md +50 -0
  364. package/metadata/packages/components/static/CHANGELOG.md +1107 -0
  365. package/metadata/packages/components/static/LIMITATIONS.md +269 -0
  366. package/metadata/packages/components/static/README.md +248 -0
  367. package/metadata/packages/react/LIMITATIONS.md +31 -0
  368. package/metadata/packages/react/README.md +262 -0
  369. package/metadata/packages/styles/CHANGELOG.md +76 -0
  370. package/metadata/packages/styles/README.md +132 -0
  371. package/metadata/packages/styles/index.css +309 -0
  372. package/metadata/packages/styles/link-list.css +47 -0
  373. package/metadata/packages/styles/link.css +79 -0
  374. package/metadata/packages/styles/tables.css +143 -0
  375. package/metadata/packages/styles/typography.css +52 -0
  376. package/metadata/packages/tokens/CHANGELOG.md +431 -0
  377. package/metadata/packages/tokens/README.md +408 -0
  378. package/metadata/packages/tokens/dark.css +268 -0
  379. package/metadata/packages/tokens/index.js +1294 -0
  380. package/metadata/packages/tokens/light.css +268 -0
  381. package/metadata/packages/vue/LIMITATIONS.md +53 -0
  382. package/metadata/packages/vue/README.md +252 -0
  383. package/metadata/static/angular/index.md +6 -0
  384. package/metadata/static/assets/index.md +10 -0
  385. package/metadata/static/component-info/index.md +24 -0
  386. package/metadata/static/component-list/index.md +34 -0
  387. package/metadata/static/components/index.md +10 -0
  388. package/metadata/static/components/syn-accordion/docs.md +428 -0
  389. package/metadata/static/components/syn-alert/docs.md +231 -0
  390. package/metadata/static/components/syn-badge/docs.md +128 -0
  391. package/metadata/static/components/syn-breadcrumb/docs.md +265 -0
  392. package/metadata/static/components/syn-breadcrumb-item/docs.md +49 -0
  393. package/metadata/static/components/syn-button/docs.md +402 -0
  394. package/metadata/static/components/syn-card/docs.md +273 -0
  395. package/metadata/static/components/syn-checkbox/docs.md +77 -0
  396. package/metadata/static/components/syn-combobox/docs.md +2402 -0
  397. package/metadata/static/components/syn-details/docs.md +220 -0
  398. package/metadata/static/components/syn-dialog/docs.md +222 -0
  399. package/metadata/static/components/syn-divider/docs.md +77 -0
  400. package/metadata/static/components/syn-drawer/docs.md +271 -0
  401. package/metadata/static/components/syn-dropdown/docs.md +316 -0
  402. package/metadata/static/components/syn-file/docs.md +215 -0
  403. package/metadata/static/components/syn-header/docs.md +134 -0
  404. package/metadata/static/components/syn-icon/docs.md +177 -0
  405. package/metadata/static/components/syn-icon-button/docs.md +142 -0
  406. package/metadata/static/components/syn-input/docs.md +460 -0
  407. package/metadata/static/components/syn-menu/docs.md +162 -0
  408. package/metadata/static/components/syn-menu-item/docs.md +196 -0
  409. package/metadata/static/components/syn-menu-label/docs.md +29 -0
  410. package/metadata/static/components/syn-nav-item/docs.md +161 -0
  411. package/metadata/static/components/syn-optgroup/docs.md +167 -0
  412. package/metadata/static/components/syn-option/docs.md +137 -0
  413. package/metadata/static/components/syn-prio-nav/docs.md +54 -0
  414. package/metadata/static/components/syn-progress-bar/docs.md +77 -0
  415. package/metadata/static/components/syn-progress-ring/docs.md +89 -0
  416. package/metadata/static/components/syn-radio/docs.md +123 -0
  417. package/metadata/static/components/syn-radio-group/docs.md +363 -0
  418. package/metadata/static/components/syn-range/docs.md +419 -0
  419. package/metadata/static/components/syn-range-tick/docs.md +110 -0
  420. package/metadata/static/components/syn-select/docs.md +730 -0
  421. package/metadata/static/components/syn-side-nav/docs.md +593 -0
  422. package/metadata/static/components/syn-spinner/docs.md +45 -0
  423. package/metadata/static/components/syn-switch/docs.md +74 -0
  424. package/metadata/static/components/syn-tab/docs.md +47 -0
  425. package/metadata/static/components/syn-tab-group/docs.md +1094 -0
  426. package/metadata/static/components/syn-tab-panel/docs.md +91 -0
  427. package/metadata/static/components/syn-tag/docs.md +50 -0
  428. package/metadata/static/components/syn-textarea/docs.md +215 -0
  429. package/metadata/static/components/syn-tooltip/docs.md +144 -0
  430. package/metadata/static/components/syn-validate/docs.md +225 -0
  431. package/metadata/static/migration/index.md +16 -0
  432. package/metadata/static/react/index.md +8 -0
  433. package/metadata/static/setup/icon-usage.md +276 -0
  434. package/metadata/static/setup/prerequisites.md +171 -0
  435. package/metadata/static/styles/index.md +11 -0
  436. package/metadata/static/styles/syn-body.md +5 -0
  437. package/metadata/static/styles/syn-heading.md +5 -0
  438. package/metadata/static/styles/syn-link-list.md +325 -0
  439. package/metadata/static/styles/syn-link.md +156 -0
  440. package/metadata/static/styles/syn-table-cell.md +125 -0
  441. package/metadata/static/styles/syn-table.md +201 -0
  442. package/metadata/static/styles/syn-weight.md +5 -0
  443. package/metadata/static/templates/appshell.md +2061 -0
  444. package/metadata/static/templates/breadcrumb.md +375 -0
  445. package/metadata/static/templates/footer.md +342 -0
  446. package/metadata/static/templates/forms.md +369 -0
  447. package/metadata/static/templates/index.md +9 -0
  448. package/metadata/static/templates/table.md +1426 -0
  449. package/metadata/static/vue/index.md +6 -0
  450. package/package.json +109 -4
@@ -0,0 +1,29 @@
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/badge/badge.component.js';
9
+
10
+ const tagName = 'syn-badge';
11
+ Component.define('syn-badge');
12
+
13
+ /**
14
+ * @summary Badges are used to draw attention and display statuses or counts.
15
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-badge--docs
16
+ * @status stable
17
+ * @since 2.0
18
+ *
19
+ * @slot - The badge's content.
20
+ *
21
+ * @csspart base - The component's base wrapper.
22
+ */
23
+ export const SynBadge = createComponent({
24
+ displayName: 'SynBadge',
25
+ elementClass: Component,
26
+ events: {},
27
+ react: React,
28
+ tagName,
29
+ });
@@ -0,0 +1,59 @@
1
+ /**
2
+ * ---------------------------------------------------------------------
3
+ * 🔒 AUTOGENERATED BY VENDORISM
4
+ * Removing this comment will prevent it from being managed by it.
5
+ * ---------------------------------------------------------------------
6
+ */
7
+
8
+ /* eslint-disable */
9
+ import { css } from 'lit';
10
+
11
+ export default css`
12
+ /* stylelint-disable */
13
+ :host {
14
+ display: inline-flex;
15
+ }
16
+
17
+ .badge {
18
+ display: inline-flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ font-size: max(12px, 0.75em);
22
+ font-weight: var(--syn-font-weight-semibold);
23
+ letter-spacing: var(--syn-letter-spacing-normal);
24
+ line-height: 1;
25
+ border-radius: var(--syn-border-radius-small);
26
+ border: solid 1px var(--syn-color-neutral-0);
27
+ white-space: nowrap;
28
+ padding: 0.35em 0.6em;
29
+ user-select: none;
30
+ -webkit-user-select: none;
31
+ cursor: inherit;
32
+ }
33
+
34
+ /* Variant modifiers */
35
+ .badge--primary {
36
+ background-color: var(--syn-color-primary-600);
37
+ color: var(--syn-color-neutral-0);
38
+ }
39
+
40
+ .badge--success {
41
+ background-color: var(--syn-color-success-600);
42
+ color: var(--syn-color-neutral-0);
43
+ }
44
+
45
+ .badge--neutral {
46
+ background-color: var(--syn-color-neutral-600);
47
+ color: var(--syn-color-neutral-0);
48
+ }
49
+
50
+ .badge--warning {
51
+ background-color: var(--syn-color-warning-600);
52
+ color: var(--syn-color-neutral-0);
53
+ }
54
+
55
+ .badge--danger {
56
+ background-color: var(--syn-color-danger-600);
57
+ color: var(--syn-color-neutral-0);
58
+ }
59
+ `;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * ---------------------------------------------------------------------
3
+ * 🔒 AUTOGENERATED BY VENDORISM
4
+ * Removing this comment will prevent it from being managed by it.
5
+ * ---------------------------------------------------------------------
6
+ */
7
+
8
+ /* eslint-disable */
9
+ import { classMap } from 'lit/directives/class-map.js';
10
+ import { html } from 'lit';
11
+ import { property } from 'lit/decorators.js';
12
+ import componentStyles from '../../styles/component.styles.js';
13
+ import SynergyElement from '../../internal/synergy-element.js';
14
+ import { LocalizeController } from '../../utilities/localize.js';
15
+ import styles from './badge.styles.js';
16
+ import customStyles from './badge.custom.styles.js';
17
+ import type { CSSResultGroup } from 'lit';
18
+ import { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';
19
+
20
+ /**
21
+ * @summary Badges are used to draw attention and display statuses or counts.
22
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-badge--docs
23
+ * @status stable
24
+ * @since 2.0
25
+ *
26
+ * @slot - The badge's content.
27
+ *
28
+ * @csspart base - The component's base wrapper.
29
+ */
30
+ @enableDefaultSettings('SynBadge')
31
+ export default class SynBadge extends SynergyElement {
32
+
33
+ private readonly localize = new LocalizeController(this);
34
+ static styles: CSSResultGroup = [componentStyles, styles, customStyles];
35
+
36
+ /** The badge's theme variant. */
37
+ @property({ reflect: true }) variant: 'primary' | 'success' | 'neutral' | 'warning' | 'danger' = 'primary';
38
+
39
+ render() {
40
+ return html`
41
+ <span
42
+ part="base"
43
+ class=${classMap({
44
+ badge: true,
45
+ 'badge--primary': this.variant === 'primary',
46
+ 'badge--success': this.variant === 'success',
47
+ 'badge--neutral': this.variant === 'neutral',
48
+ 'badge--warning': this.variant === 'warning',
49
+ 'badge--danger': this.variant === 'danger',
50
+ })}
51
+ role="status"
52
+ >
53
+ <slot>
54
+ <span class="visually-hidden">
55
+ ${this.localize.term(
56
+ (this.variant === 'primary' || this.variant === 'neutral')
57
+ ? 'notification'
58
+ : this.variant
59
+ )}
60
+ </span>
61
+ </slot>
62
+ </span>
63
+ `;
64
+ }
65
+ }
@@ -0,0 +1,53 @@
1
+ <script setup lang="ts">
2
+ // ---------------------------------------------------------------------
3
+ // 🔒 AUTOGENERATED @synergy-design-system/vue wrappers for @synergy-design-system/components
4
+ // Please do not edit this file directly!
5
+ // It will get recreated when running pnpm build.
6
+ // ---------------------------------------------------------------------
7
+
8
+ /**
9
+ * @summary Badges are used to draw attention and display statuses or counts.
10
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-badge--docs
11
+ * @status stable
12
+ * @since 2.0
13
+ *
14
+ * @slot - The badge's content.
15
+ *
16
+ * @csspart base - The component's base wrapper.
17
+ */
18
+ import { computed, ref } from 'vue';
19
+ import '@synergy-design-system/components/components/badge/badge.js';
20
+
21
+ import type { SynBadge } from '@synergy-design-system/components';
22
+
23
+ // DOM Reference to the element
24
+ const nativeElement = ref<SynBadge>();
25
+
26
+ defineExpose({
27
+ nativeElement,
28
+ });
29
+
30
+ // Map attributes
31
+ const props = defineProps<{
32
+ /**
33
+ * The badge's theme variant.
34
+ */
35
+ variant?: SynBadge['variant'];
36
+ }>();
37
+
38
+ // Make sure prop binding only forwards the props that are actually there.
39
+ // This is needed because :param="param" also adds an empty attribute
40
+ // when using web-components, which breaks optional arguments like size in SynInput
41
+ // @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
42
+ const visibleProps = computed(() =>
43
+ Object.fromEntries(
44
+ Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
45
+ ),
46
+ );
47
+ </script>
48
+
49
+ <template>
50
+ <syn-badge v-bind="visibleProps" ref="nativeElement">
51
+ <slot></slot>
52
+ </syn-badge>
53
+ </template>
@@ -0,0 +1,58 @@
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 { SynBreadcrumb } from '@synergy-design-system/components';
16
+
17
+ import '@synergy-design-system/components/components/breadcrumb/breadcrumb.js';
18
+
19
+ /**
20
+ * @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.
21
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb--docs
22
+ * @status stable
23
+ * @since 2.0
24
+ *
25
+ * @slot - One or more breadcrumb items to display.
26
+ * @slot separator - The separator to use between breadcrumb items. Works best with `<syn-icon>`.
27
+ *
28
+ * @dependency syn-icon
29
+ *
30
+ * @csspart base - The component's base wrapper.
31
+ */
32
+ @Component({
33
+ selector: 'syn-breadcrumb',
34
+ standalone: true,
35
+ template: '<ng-content></ng-content>',
36
+ })
37
+ export class SynBreadcrumbComponent {
38
+ public nativeElement: SynBreadcrumb;
39
+ private _ngZone: NgZone;
40
+
41
+ constructor(e: ElementRef, ngZone: NgZone) {
42
+ this.nativeElement = e.nativeElement;
43
+ this._ngZone = ngZone;
44
+ }
45
+
46
+ /**
47
+ * The label to use for the breadcrumb control.
48
+ * This will not be shown on the screen, but it will be announced by
49
+ screen readers and other assistive devices to provide more context for users.
50
+ */
51
+ @Input()
52
+ set label(v: SynBreadcrumb['label']) {
53
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.label = v));
54
+ }
55
+ get label(): SynBreadcrumb['label'] {
56
+ return this.nativeElement.label;
57
+ }
58
+ }
@@ -0,0 +1,5 @@
1
+ import { css } from 'lit';
2
+
3
+ export default css`
4
+ /* Write custom CSS here */
5
+ `;
@@ -0,0 +1,32 @@
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/breadcrumb/breadcrumb.component.js';
9
+
10
+ const tagName = 'syn-breadcrumb';
11
+ Component.define('syn-breadcrumb');
12
+
13
+ /**
14
+ * @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.
15
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb--docs
16
+ * @status stable
17
+ * @since 2.0
18
+ *
19
+ * @slot - One or more breadcrumb items to display.
20
+ * @slot separator - The separator to use between breadcrumb items. Works best with `<syn-icon>`.
21
+ *
22
+ * @dependency syn-icon
23
+ *
24
+ * @csspart base - The component's base wrapper.
25
+ */
26
+ export const SynBreadcrumb = createComponent({
27
+ displayName: 'SynBreadcrumb',
28
+ elementClass: Component,
29
+ events: {},
30
+ react: React,
31
+ tagName,
32
+ });
@@ -0,0 +1,18 @@
1
+ /**
2
+ * ---------------------------------------------------------------------
3
+ * 🔒 AUTOGENERATED BY VENDORISM
4
+ * Removing this comment will prevent it from being managed by it.
5
+ * ---------------------------------------------------------------------
6
+ */
7
+
8
+ /* eslint-disable */
9
+ import { css } from 'lit';
10
+
11
+ export default css`
12
+ /* stylelint-disable */
13
+ .breadcrumb {
14
+ display: flex;
15
+ align-items: center;
16
+ flex-wrap: wrap;
17
+ }
18
+ `;
@@ -0,0 +1,110 @@
1
+ /**
2
+ * ---------------------------------------------------------------------
3
+ * 🔒 AUTOGENERATED BY VENDORISM
4
+ * Removing this comment will prevent it from being managed by it.
5
+ * ---------------------------------------------------------------------
6
+ */
7
+
8
+ /* eslint-disable */
9
+ import { html } from 'lit';
10
+ import { LocalizeController } from '../../utilities/localize.js';
11
+ import { property, query } from 'lit/decorators.js';
12
+ import componentStyles from '../../styles/component.styles.js';
13
+ import SynergyElement from '../../internal/synergy-element.js';
14
+ import SynIcon from '../icon/icon.component.js';
15
+ import styles from './breadcrumb.styles.js';
16
+ import customStyles from './breadcrumb.custom.styles.js';
17
+ import type { CSSResultGroup } from 'lit';
18
+ import type SynBreadcrumbItem from '../breadcrumb-item/breadcrumb-item.js';
19
+
20
+ /**
21
+ * @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.
22
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb--docs
23
+ * @status stable
24
+ * @since 2.0
25
+ *
26
+ * @slot - One or more breadcrumb items to display.
27
+ * @slot separator - The separator to use between breadcrumb items. Works best with `<syn-icon>`.
28
+ *
29
+ * @dependency syn-icon
30
+ *
31
+ * @csspart base - The component's base wrapper.
32
+ */
33
+ export default class SynBreadcrumb extends SynergyElement {
34
+ static styles: CSSResultGroup = [componentStyles, styles, customStyles];
35
+ static dependencies = { 'syn-icon': SynIcon };
36
+
37
+ private readonly localize = new LocalizeController(this);
38
+ private separatorDir = this.localize.dir();
39
+
40
+ @query('slot') defaultSlot: HTMLSlotElement;
41
+ @query('slot[name="separator"]') separatorSlot: HTMLSlotElement;
42
+
43
+ /**
44
+ * The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by
45
+ * screen readers and other assistive devices to provide more context for users.
46
+ */
47
+ @property() label = '';
48
+
49
+ // Generates a clone of the separator element to use for each breadcrumb item
50
+ private getSeparator() {
51
+ const separator = this.separatorSlot.assignedElements({ flatten: true })[0] as HTMLElement;
52
+
53
+ // Clone it, remove ids, and slot it
54
+ const clone = separator.cloneNode(true) as HTMLElement;
55
+ [clone, ...clone.querySelectorAll('[id]')].forEach(el => el.removeAttribute('id'));
56
+ clone.setAttribute('data-default', '');
57
+ clone.slot = 'separator';
58
+
59
+ return clone;
60
+ }
61
+
62
+ private handleSlotChange() {
63
+ const items = [...this.defaultSlot.assignedElements({ flatten: true })].filter(
64
+ item => item.tagName.toLowerCase() === 'syn-breadcrumb-item'
65
+ ) as SynBreadcrumbItem[];
66
+
67
+ items.forEach((item, index) => {
68
+ // Append separators to each item if they don't already have one
69
+ const separator = item.querySelector('[slot="separator"]');
70
+ if (separator === null) {
71
+ // No separator exists, add one
72
+ item.append(this.getSeparator());
73
+ } else if (separator.hasAttribute('data-default')) {
74
+ // A default separator exists, replace it
75
+ separator.replaceWith(this.getSeparator());
76
+ } else {
77
+ // The user provided a custom separator, leave it alone
78
+ }
79
+
80
+ // The last breadcrumb item is the "current page"
81
+ if (index === items.length - 1) {
82
+ item.setAttribute('aria-current', 'page');
83
+ } else {
84
+ item.removeAttribute('aria-current');
85
+ }
86
+ });
87
+ }
88
+
89
+ render() {
90
+ // We clone the separator and inject them into breadcrumb items, so we need to regenerate the default ones when
91
+ // directionality changes. We do this by storing the current separator direction, waiting for render, then calling
92
+ // the function that regenerates them.
93
+ if (this.separatorDir !== this.localize.dir()) {
94
+ this.separatorDir = this.localize.dir();
95
+ this.updateComplete.then(() => this.handleSlotChange());
96
+ }
97
+
98
+ return html`
99
+ <nav part="base" class="breadcrumb" aria-label=${this.label}>
100
+ <slot @slotchange=${this.handleSlotChange}></slot>
101
+ </nav>
102
+
103
+ <span hidden aria-hidden="true">
104
+ <slot name="separator">
105
+ <syn-icon name="chevron-down" library="system" class=${this.localize.dir()}></syn-icon>
106
+ </slot>
107
+ </span>
108
+ `;
109
+ }
110
+ }
@@ -0,0 +1,58 @@
1
+ <script setup lang="ts">
2
+ // ---------------------------------------------------------------------
3
+ // 🔒 AUTOGENERATED @synergy-design-system/vue wrappers for @synergy-design-system/components
4
+ // Please do not edit this file directly!
5
+ // It will get recreated when running pnpm build.
6
+ // ---------------------------------------------------------------------
7
+
8
+ /**
9
+ * @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.
10
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb--docs
11
+ * @status stable
12
+ * @since 2.0
13
+ *
14
+ * @slot - One or more breadcrumb items to display.
15
+ * @slot separator - The separator to use between breadcrumb items. Works best with `<syn-icon>`.
16
+ *
17
+ * @dependency syn-icon
18
+ *
19
+ * @csspart base - The component's base wrapper.
20
+ */
21
+ import { computed, ref } from 'vue';
22
+ import '@synergy-design-system/components/components/breadcrumb/breadcrumb.js';
23
+
24
+ import type { SynBreadcrumb } from '@synergy-design-system/components';
25
+
26
+ // DOM Reference to the element
27
+ const nativeElement = ref<SynBreadcrumb>();
28
+
29
+ defineExpose({
30
+ nativeElement,
31
+ });
32
+
33
+ // Map attributes
34
+ const props = defineProps<{
35
+ /**
36
+ * The label to use for the breadcrumb control.
37
+ * This will not be shown on the screen, but it will be announced by
38
+ screen readers and other assistive devices to provide more context for users.
39
+ */
40
+ label?: SynBreadcrumb['label'];
41
+ }>();
42
+
43
+ // Make sure prop binding only forwards the props that are actually there.
44
+ // This is needed because :param="param" also adds an empty attribute
45
+ // when using web-components, which breaks optional arguments like size in SynInput
46
+ // @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
47
+ const visibleProps = computed(() =>
48
+ Object.fromEntries(
49
+ Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
50
+ ),
51
+ );
52
+ </script>
53
+
54
+ <template>
55
+ <syn-breadcrumb v-bind="visibleProps" ref="nativeElement">
56
+ <slot></slot>
57
+ </syn-breadcrumb>
58
+ </template>
@@ -0,0 +1,88 @@
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 { SynBreadcrumbItem } from '@synergy-design-system/components';
16
+
17
+ import '@synergy-design-system/components/components/breadcrumb-item/breadcrumb-item.js';
18
+
19
+ /**
20
+ * @summary Breadcrumb Items are used inside [breadcrumbs](/components/breadcrumb) to represent different links.
21
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb-item--docs
22
+ * @status stable
23
+ * @since 2.0
24
+ *
25
+ * @slot - The breadcrumb item's label.
26
+ * @slot prefix - An optional prefix, usually an icon or icon button.
27
+ * @slot suffix - An optional suffix, usually an icon or icon button.
28
+ * @slot separator - The separator to use for the breadcrumb item. This will only change the separator for this item. If
29
+ * you want to change it for all items in the group, set the separator on `<syn-breadcrumb>` instead.
30
+ *
31
+ * @csspart base - The component's base wrapper.
32
+ * @csspart label - The breadcrumb item's label.
33
+ * @csspart prefix - The container that wraps the prefix.
34
+ * @csspart suffix - The container that wraps the suffix.
35
+ * @csspart separator - The container that wraps the separator.
36
+ */
37
+ @Component({
38
+ selector: 'syn-breadcrumb-item',
39
+ standalone: true,
40
+ template: '<ng-content></ng-content>',
41
+ })
42
+ export class SynBreadcrumbItemComponent {
43
+ public nativeElement: SynBreadcrumbItem;
44
+ private _ngZone: NgZone;
45
+
46
+ constructor(e: ElementRef, ngZone: NgZone) {
47
+ this.nativeElement = e.nativeElement;
48
+ this._ngZone = ngZone;
49
+ }
50
+
51
+ /**
52
+ * Optional URL to direct the user to when the breadcrumb item is activated.
53
+ * When set, a link will be rendered
54
+ internally.
55
+ * When unset, a button will be rendered instead.
56
+ */
57
+ @Input()
58
+ set href(v: SynBreadcrumbItem['href']) {
59
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.href = v));
60
+ }
61
+ get href(): SynBreadcrumbItem['href'] {
62
+ return this.nativeElement.href;
63
+ }
64
+
65
+ /**
66
+ * Tells the browser where to open the link.
67
+ * Only used when `href` is set.
68
+ */
69
+ @Input()
70
+ set target(v: SynBreadcrumbItem['target']) {
71
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.target = v));
72
+ }
73
+ get target(): SynBreadcrumbItem['target'] {
74
+ return this.nativeElement.target;
75
+ }
76
+
77
+ /**
78
+ * The `rel` attribute to use on the link.
79
+ * Only used when `href` is set.
80
+ */
81
+ @Input()
82
+ set rel(v: SynBreadcrumbItem['rel']) {
83
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.rel = v));
84
+ }
85
+ get rel(): SynBreadcrumbItem['rel'] {
86
+ return this.nativeElement.rel;
87
+ }
88
+ }
@@ -0,0 +1,74 @@
1
+ import { css } from 'lit';
2
+
3
+ export default css`
4
+ .breadcrumb-item {
5
+ color: var(--syn-color-neutral-500);
6
+ font-size: var(--syn-font-size-x-small);
7
+ font-weight: var(--syn-font-weight-normal);
8
+ }
9
+
10
+ /**
11
+ * Make sure to remove the border radius.
12
+ * Without this, focus will be rounded
13
+ */
14
+ .breadcrumb-item__label {
15
+ border-radius: var(--syn-border-radius-none);
16
+ }
17
+
18
+ :host(:not(:last-of-type)) .breadcrumb-item__label {
19
+ color: var(--syn-typography-color-text);
20
+ }
21
+
22
+ :host(:not(:last-of-type)) .breadcrumb-item__label:hover {
23
+ color: var(--syn-color-primary-600);
24
+ }
25
+
26
+ :host(:not(:last-of-type)) .breadcrumb-item__label:active {
27
+ color: var(--syn-color-primary-950);
28
+ }
29
+
30
+ .breadcrumb-item--has-prefix .breadcrumb-item__prefix {
31
+ margin-inline-end: var(--syn-spacing-2x-small);
32
+ }
33
+
34
+ .breadcrumb-item--has-suffix .breadcrumb-item__suffix {
35
+ margin-inline-start: var(--syn-spacing-2x-small);
36
+ }
37
+
38
+ /**
39
+ * Adjust color and font size to match Synergy's typography.
40
+ */
41
+ .breadcrumb-item--has-prefix .breadcrumb-item__prefix,
42
+ .breadcrumb-item--has-suffix .breadcrumb-item__suffix {
43
+ color: var(--syn-typography-color-text);
44
+ font-size: var(--syn-spacing-medium);
45
+ }
46
+
47
+ /**
48
+ * Make sure the color of the last item's prefix and suffix matches the text.
49
+ */
50
+ :host(:last-of-type) .breadcrumb-item--has-prefix .breadcrumb-item__prefix,
51
+ :host(:last-of-type) .breadcrumb-item--has-suffix .breadcrumb-item__suffix {
52
+ color: var(--syn-color-neutral-500);
53
+ }
54
+
55
+ .breadcrumb-item__separator {
56
+ font-size: var(--syn-spacing-medium);
57
+ margin: 0 var(--syn-spacing-x-small) 0 var(--syn-spacing-2x-small);
58
+ }
59
+
60
+ /**
61
+ * Make sure the direction of the chevron matches the direction of the text.
62
+ */
63
+ .breadcrumb-item__separator ::slotted(syn-icon.ltr) {
64
+ rotate: -90deg;
65
+ }
66
+
67
+ .breadcrumb-item__separator ::slotted(syn-icon.rtl) {
68
+ rotate: 90deg;
69
+ }
70
+
71
+ .breadcrumb-item__label--drop-down {
72
+ display: flex;
73
+ }
74
+ `;