@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,93 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFile, writeFile } from 'node:fs/promises';
3
+ import { join, relative } from 'node:path';
4
+ import { globby } from 'globby';
5
+ /**
6
+ * Creates a checksum from folder contents, replicating the behavior of:
7
+ * find ./folder ! -name '.*' ! -name 'checksum.txt' -type f -print0 | sort -z | xargs -0 cat | md5
8
+ *
9
+ * @param folderPath - Path to the folder to process
10
+ * @param options - Configuration options
11
+ * @returns Promise<string> - The generated checksum
12
+ */
13
+ export async function createFolderChecksum(folderPath, options = {}) {
14
+ const { excludePatterns = ['.*', 'checksum.txt'], algorithm = 'md5', } = options;
15
+ // Use default 'checksum.txt' if outputFile is not specified, but respect explicit undefined
16
+ const outputFile = 'outputFile' in options ? options.outputFile : 'checksum.txt';
17
+ try {
18
+ // Build glob patterns to exclude specified patterns
19
+ const includePattern = join(folderPath, '**', '*');
20
+ const excludeGlobs = excludePatterns.map(pattern => join(folderPath, '**', pattern));
21
+ // Find all files, excluding specified patterns
22
+ const files = await globby([includePattern], {
23
+ absolute: true,
24
+ ignore: excludeGlobs,
25
+ onlyFiles: true,
26
+ });
27
+ // Sort files by their relative paths (to match shell script behavior)
28
+ const sortedFiles = files.sort((a, b) => {
29
+ const relativeA = relative(folderPath, a);
30
+ const relativeB = relative(folderPath, b);
31
+ return relativeA.localeCompare(relativeB);
32
+ });
33
+ // Create hash instance
34
+ const hash = createHash(algorithm);
35
+ // Read and concatenate all file contents (equivalent to xargs -0 cat)
36
+ // Note: Sequential reading to maintain order consistency with shell script
37
+ // eslint-disable-next-line no-await-in-loop
38
+ for (const filePath of sortedFiles) {
39
+ // eslint-disable-next-line no-await-in-loop
40
+ const content = await readFile(filePath);
41
+ hash.update(content);
42
+ }
43
+ // Generate the final checksum
44
+ const checksum = hash.digest('hex');
45
+ // Write checksum to output file if specified
46
+ if (outputFile) {
47
+ const outputPath = join(folderPath, outputFile);
48
+ await writeFile(outputPath, `${checksum}\n`, 'utf8');
49
+ }
50
+ return checksum;
51
+ }
52
+ catch (error) {
53
+ throw new Error(`Failed to create folder checksum: ${error instanceof Error ? error.message : String(error)}`);
54
+ }
55
+ }
56
+ /**
57
+ * Verifies if the current folder contents match the stored checksum
58
+ *
59
+ * @param folderPath - Path to the folder to verify
60
+ * @param options - Configuration options
61
+ * @returns Promise<boolean> - True if checksum matches, false otherwise
62
+ */
63
+ export async function verifyFolderChecksum(folderPath, options = {}) {
64
+ const { outputFile = 'checksum.txt' } = options;
65
+ try {
66
+ // Read stored checksum
67
+ const checksumPath = join(folderPath, outputFile);
68
+ const storedChecksum = (await readFile(checksumPath, 'utf8')).trim();
69
+ // Calculate current checksum (without writing to file)
70
+ const currentChecksum = await createFolderChecksum(folderPath, {
71
+ ...options,
72
+ outputFile: undefined, // Don't write to file during verification
73
+ });
74
+ return storedChecksum === currentChecksum;
75
+ }
76
+ catch (error) {
77
+ // If we can't read the checksum file, consider it invalid
78
+ return false;
79
+ }
80
+ }
81
+ /**
82
+ * Get the current checksum without writing it to a file
83
+ *
84
+ * @param folderPath - Path to the folder to process
85
+ * @param options - Configuration options (outputFile will be ignored)
86
+ * @returns Promise<string> - The generated checksum
87
+ */
88
+ export async function getFolderChecksum(folderPath, options = {}) {
89
+ return createFolderChecksum(folderPath, {
90
+ ...options,
91
+ outputFile: undefined,
92
+ });
93
+ }
@@ -0,0 +1,25 @@
1
+ import { type Framework } from './config.js';
2
+ /**
3
+ * Get dynamic information about the usage of a specific framework in the Synergy Design System.
4
+ * @param framework The framework to get information about
5
+ * @returns List of structured metadata for the specified framework.
6
+ */
7
+ export declare const getDynamicMetaDataForFramework: (framework?: Framework) => Promise<(import("./metadata.js").MetadataFile | null)[]>;
8
+ /**
9
+ * Get additional information about the usage of a specific framework in the Synergy Design System.
10
+ * @param framework The framework to get information about
11
+ * @returns List of structured metadata for the specified framework.
12
+ */
13
+ export declare const getStaticMetaDataForFramework: (framework?: Framework) => Promise<(import("./metadata.js").MetadataFile | null)[]>;
14
+ /**
15
+ * Get information about the usage of a specific component in the Synergy Design System.
16
+ * @param component The name of the component to get information about, e.g., 'syn-button'.
17
+ * @param framework The framework to filter the component usage information by.
18
+ * @returns The structured metadata for the specified component.
19
+ */
20
+ export declare const getInfoForComponent: (component: string, framework?: Framework) => Promise<(import("./metadata.js").MetadataFile | null)[]>;
21
+ /**
22
+ * Get a list of all available components in the Synergy Design System.
23
+ * @returns A list of all available components in the Synergy Design System.
24
+ */
25
+ export declare const getAvailableComponents: () => Promise<string[]>;
@@ -0,0 +1,86 @@
1
+ import fs from 'node:fs/promises';
2
+ import { angularPath, componentPath, componentStaticPath, reactPath, staticPath, vuePath, } from './config.js';
3
+ import { getAbsolutePath } from './file.js';
4
+ import { getStructuredMetaData, getStructuredMetaDataForComponent, } from './metadata.js';
5
+ /**
6
+ * Get dynamic information about the usage of a specific framework in the Synergy Design System.
7
+ * @param framework The framework to get information about
8
+ * @returns List of structured metadata for the specified framework.
9
+ */
10
+ export const getDynamicMetaDataForFramework = async (framework = 'vanilla') => {
11
+ let frameworkPath;
12
+ switch (framework) {
13
+ case 'angular':
14
+ frameworkPath = angularPath;
15
+ break;
16
+ case 'react':
17
+ frameworkPath = reactPath;
18
+ break;
19
+ case 'vue':
20
+ frameworkPath = vuePath;
21
+ break;
22
+ default:
23
+ frameworkPath = componentStaticPath;
24
+ }
25
+ return getStructuredMetaData(frameworkPath);
26
+ };
27
+ /**
28
+ * Get additional information about the usage of a specific framework in the Synergy Design System.
29
+ * @param framework The framework to get information about
30
+ * @returns List of structured metadata for the specified framework.
31
+ */
32
+ export const getStaticMetaDataForFramework = async (framework = 'vanilla') => {
33
+ const frameworkPath = framework === 'vanilla' ? 'components' : framework;
34
+ return getStructuredMetaData(getAbsolutePath(`${staticPath}/${frameworkPath}`));
35
+ };
36
+ /**
37
+ * Get additional information for a specific component from the static metadata.
38
+ * @param component The name of the component to get information about, e.g., 'syn-button'.
39
+ * @returns The structured metadata for the specified component, taken from the static metadata.
40
+ */
41
+ const getAdditionalInformationForComponent = async (component) => getStructuredMetaDataForComponent(component, undefined, 'static');
42
+ /**
43
+ * Get information about the usage of a specific component in the Synergy Design System.
44
+ * @param component The name of the component to get information about, e.g., 'syn-button'.
45
+ * @param framework The framework to filter the component usage information by.
46
+ * @returns The structured metadata for the specified component.
47
+ */
48
+ export const getInfoForComponent = async (component, framework = 'vanilla') => {
49
+ // Filter function to select specific files based on the framework
50
+ const namePatterns = [
51
+ 'component.ts',
52
+ 'component.styles.ts',
53
+ 'component.custom.styles.ts',
54
+ ];
55
+ switch (framework) {
56
+ case 'react':
57
+ namePatterns.push('component.react.ts');
58
+ break;
59
+ case 'vue':
60
+ namePatterns.push('component.vue');
61
+ break;
62
+ case 'angular':
63
+ namePatterns.push('component.angular.ts');
64
+ break;
65
+ default:
66
+ }
67
+ const finalPattern = namePatterns.map(pattern => pattern.toLowerCase());
68
+ const data = await getStructuredMetaDataForComponent(component, fileName => finalPattern.some(pattern => fileName.toLowerCase().includes(pattern)));
69
+ const additionalData = await getAdditionalInformationForComponent(component);
70
+ return [
71
+ ...data,
72
+ ...additionalData,
73
+ ].filter(Boolean);
74
+ };
75
+ /**
76
+ * Get a list of all available components in the Synergy Design System.
77
+ * @returns A list of all available components in the Synergy Design System.
78
+ */
79
+ export const getAvailableComponents = async () => {
80
+ const absolutePath = getAbsolutePath(`${componentPath}`);
81
+ const folders = await fs.readdir(absolutePath, { withFileTypes: true });
82
+ const components = folders
83
+ .filter((dirent) => dirent.isDirectory())
84
+ .map((dirent) => dirent.name);
85
+ return components;
86
+ };
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Path where metadata is stored, relative to the MCP directory.
3
+ */
4
+ export declare const metaDataPath: string;
5
+ /**
6
+ * Path to the assets directory, relative to the MCP directory.
7
+ */
8
+ export declare const assetsPath: string;
9
+ /**
10
+ * Path to the components base directory, relative to the MCP directory.
11
+ */
12
+ export declare const componentBasePath: string;
13
+ /**
14
+ * Path to the components code directory, relative to the MCP directory.
15
+ */
16
+ export declare const componentPath: string;
17
+ /**
18
+ * Path to the components static directory, relative to the MCP directory.
19
+ */
20
+ export declare const componentStaticPath: string;
21
+ /**
22
+ * Path to the components migration directory, relative to the MCP directory.
23
+ */
24
+ export declare const componentMigrationPath: string;
25
+ /**
26
+ * The path where static information about components is stored, relative to the MCP directory.
27
+ */
28
+ export declare const staticComponentPath: string;
29
+ /**
30
+ * The path where setup related information is stored.
31
+ */
32
+ export declare const setupPath: string;
33
+ /**
34
+ * Path to the styles directory, relative to the MCP directory.
35
+ */
36
+ export declare const stylesPath: string;
37
+ /**
38
+ * Path to the angular directory, relative to the MCP directory.
39
+ */
40
+ export declare const angularPath: string;
41
+ /**
42
+ * Path to the react directory, relative to the MCP directory.
43
+ */
44
+ export declare const reactPath: string;
45
+ /**
46
+ * Path to the vue directory, relative to the MCP directory.
47
+ */
48
+ export declare const vuePath: string;
49
+ /**
50
+ * The path where static information about styles is stored, relative to the MCP directory.
51
+ */
52
+ export declare const staticStylesPath: string;
53
+ /**
54
+ * Path to the templates directory, relative to the MCP directory.
55
+ */
56
+ export declare const templatesPath: string;
57
+ /**
58
+ * Path to the tokens directory, relative to the MCP directory.
59
+ */
60
+ export declare const tokensPath: string;
61
+ /**
62
+ * Path to the davinci migration directory, relative to the MCP directory.
63
+ */
64
+ export declare const davinciMigrationPath: string;
65
+ /**
66
+ * Path to the static files directory, relative to the MCP directory.
67
+ */
68
+ export declare const staticPath: string;
69
+ /**
70
+ * Path to the migration directory, relative to the MCP directory.
71
+ */
72
+ export declare const staticMigrationPath: string;
73
+ /**
74
+ * List of supported frameworks.
75
+ */
76
+ export type Framework = 'react' | 'vue' | 'angular' | 'vanilla';
@@ -0,0 +1,77 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ import { dirname, join } from 'node:path';
3
+ // Get the current file's directory
4
+ const currentFilename = fileURLToPath(import.meta.url);
5
+ const currentDirname = dirname(currentFilename);
6
+ /**
7
+ * Path where metadata is stored, relative to the MCP directory.
8
+ */
9
+ export const metaDataPath = join(currentDirname, '../../metadata');
10
+ /**
11
+ * Path to the assets directory, relative to the MCP directory.
12
+ */
13
+ export const assetsPath = join(currentDirname, '../../metadata/packages/assets');
14
+ /**
15
+ * Path to the components base directory, relative to the MCP directory.
16
+ */
17
+ export const componentBasePath = join(currentDirname, '../../metadata/packages/components');
18
+ /**
19
+ * Path to the components code directory, relative to the MCP directory.
20
+ */
21
+ export const componentPath = join(componentBasePath, '/components');
22
+ /**
23
+ * Path to the components static directory, relative to the MCP directory.
24
+ */
25
+ export const componentStaticPath = join(componentBasePath, '/static');
26
+ /**
27
+ * Path to the components migration directory, relative to the MCP directory.
28
+ */
29
+ export const componentMigrationPath = join(componentBasePath, '/migration');
30
+ /**
31
+ * The path where static information about components is stored, relative to the MCP directory.
32
+ */
33
+ export const staticComponentPath = join(currentDirname, '../../metadata/static/components');
34
+ /**
35
+ * The path where setup related information is stored.
36
+ */
37
+ export const setupPath = join(currentDirname, '../../metadata/static/setup');
38
+ /**
39
+ * Path to the styles directory, relative to the MCP directory.
40
+ */
41
+ export const stylesPath = join(currentDirname, '../../metadata/packages/styles');
42
+ /**
43
+ * Path to the angular directory, relative to the MCP directory.
44
+ */
45
+ export const angularPath = join(currentDirname, '../../metadata/packages/angular');
46
+ /**
47
+ * Path to the react directory, relative to the MCP directory.
48
+ */
49
+ export const reactPath = join(currentDirname, '../../metadata/packages/react');
50
+ /**
51
+ * Path to the vue directory, relative to the MCP directory.
52
+ */
53
+ export const vuePath = join(currentDirname, '../../metadata/packages/vue');
54
+ /**
55
+ * The path where static information about styles is stored, relative to the MCP directory.
56
+ */
57
+ export const staticStylesPath = join(currentDirname, '../../metadata/static/styles');
58
+ /**
59
+ * Path to the templates directory, relative to the MCP directory.
60
+ */
61
+ export const templatesPath = join(currentDirname, '../../metadata/static/templates');
62
+ /**
63
+ * Path to the tokens directory, relative to the MCP directory.
64
+ */
65
+ export const tokensPath = join(currentDirname, '../../metadata/packages/tokens');
66
+ /**
67
+ * Path to the davinci migration directory, relative to the MCP directory.
68
+ */
69
+ export const davinciMigrationPath = join(currentDirname, '../../metadata/davinci-migration');
70
+ /**
71
+ * Path to the static files directory, relative to the MCP directory.
72
+ */
73
+ export const staticPath = join(currentDirname, '../../metadata/static');
74
+ /**
75
+ * Path to the migration directory, relative to the MCP directory.
76
+ */
77
+ export const staticMigrationPath = join(currentDirname, '../../metadata/static/migration');
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Get the absolute path to the wanted file or directory, relative from the current one.
3
+ * @param path - The relative path to the file or directory.
4
+ * @returns The absolute path to the file or directory.
5
+ */
6
+ export declare const getAbsolutePath: (fileName?: string) => string;
7
+ /**
8
+ * Create a new directory.
9
+ * @param dirName - The name of the directory to create, relative to the current file.
10
+ * @returns The absolute path to the created directory.
11
+ */
12
+ export declare const createPath: (dirName: string) => Promise<string>;
@@ -0,0 +1,31 @@
1
+ import { fileURLToPath } from 'url';
2
+ import path from 'path';
3
+ import fs from 'fs/promises';
4
+ /**
5
+ * Get the absolute path to the wanted file or directory, relative from the current one.
6
+ * @param path - The relative path to the file or directory.
7
+ * @returns The absolute path to the file or directory.
8
+ */
9
+ export const getAbsolutePath = (fileName = '') => {
10
+ const filename = fileURLToPath(import.meta.url);
11
+ const dirname = path.dirname(filename);
12
+ return path.isAbsolute(fileName)
13
+ ? fileName
14
+ : path.resolve(dirname, fileName);
15
+ };
16
+ /**
17
+ * Create a new directory.
18
+ * @param dirName - The name of the directory to create, relative to the current file.
19
+ * @returns The absolute path to the created directory.
20
+ */
21
+ export const createPath = async (dirName) => {
22
+ const absolutePath = getAbsolutePath(dirName);
23
+ try {
24
+ await fs.mkdir(absolutePath, { recursive: true });
25
+ }
26
+ catch (error) {
27
+ // eslint-disable-next-line no-console
28
+ console.error(`Failed to create directory at ${absolutePath}:`, error);
29
+ }
30
+ return absolutePath;
31
+ };
@@ -0,0 +1,12 @@
1
+ export * from './assets.js';
2
+ export * from './checksum.js';
3
+ export * from './components.js';
4
+ export * from './config.js';
5
+ export * from './file.js';
6
+ export * from './migration.js';
7
+ export * from './metadata.js';
8
+ export * from './stdio.js';
9
+ export * from './styles.js';
10
+ export * from './templates.js';
11
+ export * from './tokens.js';
12
+ export * from './version.js';
@@ -0,0 +1,12 @@
1
+ export * from './assets.js';
2
+ export * from './checksum.js';
3
+ export * from './components.js';
4
+ export * from './config.js';
5
+ export * from './file.js';
6
+ export * from './migration.js';
7
+ export * from './metadata.js';
8
+ export * from './stdio.js';
9
+ export * from './styles.js';
10
+ export * from './templates.js';
11
+ export * from './tokens.js';
12
+ export * from './version.js';
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Filter function type for filtering metadata files.
3
+ */
4
+ export type Filter = (fileName: string) => boolean;
5
+ /**
6
+ * MetadataFile type representing a structured metadata file.
7
+ */
8
+ export type MetadataFile = {
9
+ content: string;
10
+ filename: string;
11
+ };
12
+ /**
13
+ * Get structured metadata for a specific metadata folder.
14
+ * Will NOT crawl recursively, but will return all files in the metadata directory.
15
+ * @param folder - The name of the folder to get metadata for.
16
+ * @param filter - Optional filter function to apply to the filenames.
17
+ * If provided, only files that pass the filter will be included in the result.
18
+ */
19
+ export declare const getStructuredMetaData: (folder: string, filter?: Filter) => Promise<(MetadataFile | null)[]>;
20
+ /**
21
+ * Get structured metadata for a specific component.
22
+ * Will NOT crawl recursively, but will return all files in the component's metadata directory.
23
+ * @param componentName - The name of the component to get metadata for.
24
+ * @param filter - Optional filter function to apply to the filenames.
25
+ * If provided, only files that pass the filter will be included in the result.
26
+ * @param source - The source of the metadata, either 'package' or 'static'.
27
+ */
28
+ export declare const getStructuredMetaDataForComponent: (componentName: string, filter?: Filter, source?: "package" | "static") => Promise<(MetadataFile | null)[]>;
@@ -0,0 +1,57 @@
1
+ import fs from 'node:fs/promises';
2
+ import { existsSync, statSync } from 'node:fs';
3
+ import { basename, join } from 'node:path';
4
+ import { componentPath, staticComponentPath } from './config.js';
5
+ import { getAbsolutePath } from './file.js';
6
+ const defaultFilter = () => true;
7
+ /**
8
+ * Get structured metadata for a specific metadata folder.
9
+ * Will NOT crawl recursively, but will return all files in the metadata directory.
10
+ * @param folder - The name of the folder to get metadata for.
11
+ * @param filter - Optional filter function to apply to the filenames.
12
+ * If provided, only files that pass the filter will be included in the result.
13
+ */
14
+ export const getStructuredMetaData = async (folder, filter = defaultFilter) => {
15
+ const absolutePath = getAbsolutePath(folder);
16
+ // If the directory does not exist, return an empty array
17
+ if (!existsSync(absolutePath)) {
18
+ return [];
19
+ }
20
+ const files = await fs.readdir(absolutePath);
21
+ const metadata = await Promise.all(files
22
+ .filter(file => {
23
+ // We only allow entries that are
24
+ // 1. are files
25
+ // 2. pass the filter function
26
+ const stats = statSync(join(absolutePath, file));
27
+ return stats.isFile() && filter(file);
28
+ })
29
+ .map(async (file) => {
30
+ const filename = basename(file);
31
+ const exists = await fs.stat(`${absolutePath}/${file}`);
32
+ if (!exists.isFile()) {
33
+ return null;
34
+ }
35
+ const content = await fs.readFile(`${absolutePath}/${file}`, 'utf-8');
36
+ return {
37
+ content,
38
+ filename,
39
+ };
40
+ })
41
+ // Makes sure we only return valid metadata files
42
+ .filter(Boolean));
43
+ return metadata;
44
+ };
45
+ /**
46
+ * Get structured metadata for a specific component.
47
+ * Will NOT crawl recursively, but will return all files in the component's metadata directory.
48
+ * @param componentName - The name of the component to get metadata for.
49
+ * @param filter - Optional filter function to apply to the filenames.
50
+ * If provided, only files that pass the filter will be included in the result.
51
+ * @param source - The source of the metadata, either 'package' or 'static'.
52
+ */
53
+ export const getStructuredMetaDataForComponent = (componentName, filter = defaultFilter, source = 'package') => {
54
+ const root = source === 'static' ? staticComponentPath : componentPath;
55
+ const absolutePath = getAbsolutePath(`${root}/${componentName}`);
56
+ return getStructuredMetaData(absolutePath, filter);
57
+ };
@@ -0,0 +1 @@
1
+ export declare const getMigrationMetaData: () => Promise<(import("./metadata.js").MetadataFile | null)[]>;
@@ -0,0 +1,10 @@
1
+ import { componentMigrationPath, staticMigrationPath, } from './config.js';
2
+ import { getStructuredMetaData, } from './metadata.js';
3
+ export const getMigrationMetaData = async () => {
4
+ const data = await getStructuredMetaData(componentMigrationPath);
5
+ const additionalData = await getStructuredMetaData(staticMigrationPath);
6
+ return [
7
+ ...data,
8
+ ...additionalData,
9
+ ];
10
+ };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Parses command line arguments and returns the action to take
3
+ */
4
+ export declare const parseCommandLineArgs: (args?: string[]) => {
5
+ action: "version";
6
+ } | {
7
+ action: "help";
8
+ } | {
9
+ action: "continue";
10
+ };
11
+ /**
12
+ * Handles command line arguments and exits if necessary
13
+ */
14
+ export declare const handleCommandLineArgs: () => void;
@@ -0,0 +1,60 @@
1
+ import { getVersion } from './version.js';
2
+ /**
3
+ * Parses command line arguments and returns the action to take
4
+ */
5
+ export const parseCommandLineArgs = (args = process.argv.slice(2)) => {
6
+ if (args.includes('--version') || args.includes('-v')) {
7
+ return { action: 'version' };
8
+ }
9
+ if (args.includes('--help') || args.includes('-h')) {
10
+ return { action: 'help' };
11
+ }
12
+ return { action: 'continue' };
13
+ };
14
+ /**
15
+ * Handles command line arguments and exits if necessary
16
+ */
17
+ export const handleCommandLineArgs = () => {
18
+ const result = parseCommandLineArgs();
19
+ if (result.action === 'version') {
20
+ const version = getVersion();
21
+ process.stdout.write(`Synergy Design System MCP Server v${version}\n`);
22
+ process.exit(0);
23
+ }
24
+ if (result.action === 'help') {
25
+ const version = getVersion();
26
+ process.stdout.write(`Synergy Design System MCP Server v${version}
27
+
28
+ USAGE:
29
+ syn-mcp [OPTIONS]
30
+
31
+ DESCRIPTION:
32
+ Model Context Protocol (MCP) server for the Synergy Design System.
33
+ Provides tools for LLMs to interact with Synergy components, design tokens,
34
+ styles, and framework-specific guidance.
35
+
36
+ OPTIONS:
37
+ -h, --help Show this help message and exit
38
+ -v, --version Show version information and exit
39
+
40
+ EXAMPLES:
41
+ syn-mcp # Start the MCP server
42
+ syn-mcp --version # Show version
43
+ syn-mcp --help # Show this help
44
+
45
+ ABOUT:
46
+ This server provides the following tools for LLMs:
47
+ • Component information and documentation
48
+ • Framework-specific guidance (React, Vue, Angular, Vanilla)
49
+ • Design tokens and styling information
50
+ • Asset and icon information
51
+ • Migration guides from DaVinci to Synergy
52
+ • Template and pattern information
53
+
54
+ For more information, visit:
55
+ https://github.com/synergy-design-system/synergy-design-system
56
+
57
+ `);
58
+ process.exit(0);
59
+ }
60
+ };
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env node
2
+ /* eslint-disable no-console */
3
+ import { runDocsScraper } from './docs-scraper.js';
4
+ import { StaticServerManager } from './storybook-manager.js';
5
+ // Parse command line arguments
6
+ const args = process.argv.slice(2);
7
+ const type = args[0] || 'all';
8
+ console.log(`Starting documentation scraping for: ${type}`);
9
+ const serverManager = new StaticServerManager();
10
+ async function main() {
11
+ try {
12
+ // Start the static server
13
+ console.log('Starting static file server...');
14
+ const server = await serverManager.start();
15
+ // Run the docs scraper
16
+ console.log('Starting documentation scraping...');
17
+ await runDocsScraper(type, server.url);
18
+ console.log('Documentation scraping completed successfully!');
19
+ process.exit(0);
20
+ }
21
+ catch (error) {
22
+ console.error('Documentation scraping failed:', error);
23
+ process.exit(1);
24
+ }
25
+ finally {
26
+ // Always clean up the server
27
+ await serverManager.stop();
28
+ console.log('✓ Server stopped');
29
+ }
30
+ }
31
+ // Handle process termination to clean up server
32
+ process.on('SIGINT', async () => {
33
+ console.log('\nReceived SIGINT, cleaning up...');
34
+ await serverManager.stop();
35
+ process.exit(0);
36
+ });
37
+ process.on('SIGTERM', async () => {
38
+ console.log('\nReceived SIGTERM, cleaning up...');
39
+ await serverManager.stop();
40
+ process.exit(0);
41
+ });
42
+ main();
@@ -0,0 +1,13 @@
1
+ import { ScrapingConfig } from './types.js';
2
+ /**
3
+ * Configuration for scraping component documentation
4
+ */
5
+ export declare const componentScrapingConfig: ScrapingConfig;
6
+ /**
7
+ * Configuration for scraping styles documentation
8
+ */
9
+ export declare const stylesScrapingConfig: ScrapingConfig;
10
+ /**
11
+ * Configuration for scraping template documentation
12
+ */
13
+ export declare const templateScrapingConfig: ScrapingConfig;