@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,103 @@
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 { property, query, state } from 'lit/decorators.js';
11
+ import componentStyles from '../../styles/component.styles.js';
12
+ import SynergyElement from '../../internal/synergy-element.js';
13
+ import styles from './button-group.styles.js';
14
+ import type { CSSResultGroup } from 'lit';
15
+
16
+ /**
17
+ * @summary Button groups can be used to group related buttons into sections.
18
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-button-group--docs
19
+ * @status stable
20
+ * @since 2.0
21
+ *
22
+ * @slot - One or more `<syn-button>` elements to display in the button group.
23
+ *
24
+ * @csspart base - The component's base wrapper.
25
+ */
26
+ export default class SynButtonGroup extends SynergyElement {
27
+ static styles: CSSResultGroup = [componentStyles, styles];
28
+
29
+ @query('slot') defaultSlot: HTMLSlotElement;
30
+
31
+ @state() disableRole = false;
32
+
33
+ /**
34
+ * A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive
35
+ * devices when interacting with the control and is strongly recommended.
36
+ */
37
+ @property() label = '';
38
+
39
+ private handleFocus(event: Event) {
40
+ const button = findButton(event.target as HTMLElement);
41
+ button?.toggleAttribute('data-syn-button-group__button--focus', true);
42
+ }
43
+
44
+ private handleBlur(event: Event) {
45
+ const button = findButton(event.target as HTMLElement);
46
+ button?.toggleAttribute('data-syn-button-group__button--focus', false);
47
+ }
48
+
49
+ private handleMouseOver(event: Event) {
50
+ const button = findButton(event.target as HTMLElement);
51
+ button?.toggleAttribute('data-syn-button-group__button--hover', true);
52
+ }
53
+
54
+ private handleMouseOut(event: Event) {
55
+ const button = findButton(event.target as HTMLElement);
56
+ button?.toggleAttribute('data-syn-button-group__button--hover', false);
57
+ }
58
+
59
+ private handleSlotChange() {
60
+ const slottedElements = [...this.defaultSlot.assignedElements({ flatten: true })] as HTMLElement[];
61
+
62
+ slottedElements.forEach(el => {
63
+ const index = slottedElements.indexOf(el);
64
+ const button = findButton(el);
65
+
66
+ if (button) {
67
+ button.toggleAttribute('data-syn-button-group__button', true);
68
+ button.toggleAttribute('data-syn-button-group__button--first', index === 0);
69
+ button.toggleAttribute('data-syn-button-group__button--inner', index > 0 && index < slottedElements.length - 1);
70
+ button.toggleAttribute('data-syn-button-group__button--last', index === slottedElements.length - 1);
71
+ button.toggleAttribute(
72
+ 'data-syn-button-group__button--radio',
73
+ button.tagName.toLowerCase() === 'syn-radio-button'
74
+ );
75
+ }
76
+ });
77
+ }
78
+
79
+ render() {
80
+ // eslint-disable-next-line lit-a11y/mouse-events-have-key-events
81
+ return html`
82
+ <div
83
+ part="base"
84
+ class="button-group"
85
+ role="${this.disableRole ? 'presentation' : 'group'}"
86
+ aria-label=${this.label}
87
+ @focusout=${this.handleBlur}
88
+ @focusin=${this.handleFocus}
89
+ @mouseover=${this.handleMouseOver}
90
+ @mouseout=${this.handleMouseOut}
91
+ >
92
+ <slot @slotchange=${this.handleSlotChange}></slot>
93
+ </div>
94
+ `;
95
+ }
96
+ }
97
+
98
+ function findButton(el: HTMLElement) {
99
+ const selector = 'syn-button, syn-radio-button';
100
+
101
+ // The button could be the target element or a child of it (e.g. a dropdown or tooltip anchor)
102
+ return el.closest(selector) ?? el.querySelector(selector);
103
+ }
@@ -0,0 +1,55 @@
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 Button groups can be used to group related buttons into sections.
10
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-button-group--docs
11
+ * @status stable
12
+ * @since 2.0
13
+ *
14
+ * @slot - One or more `<syn-button>` elements to display in the button group.
15
+ *
16
+ * @csspart base - The component's base wrapper.
17
+ */
18
+ import { computed, ref } from 'vue';
19
+ import '@synergy-design-system/components/components/button-group/button-group.js';
20
+
21
+ import type { SynButtonGroup } from '@synergy-design-system/components';
22
+
23
+ // DOM Reference to the element
24
+ const nativeElement = ref<SynButtonGroup>();
25
+
26
+ defineExpose({
27
+ nativeElement,
28
+ });
29
+
30
+ // Map attributes
31
+ const props = defineProps<{
32
+ /**
33
+ * A label to use for the button group.
34
+ * This won't be displayed on the screen, but it will be announced by assistive
35
+ devices when interacting with the control and is strongly recommended.
36
+ */
37
+ label?: SynButtonGroup['label'];
38
+ }>();
39
+
40
+ // Make sure prop binding only forwards the props that are actually there.
41
+ // This is needed because :param="param" also adds an empty attribute
42
+ // when using web-components, which breaks optional arguments like size in SynInput
43
+ // @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
44
+ const visibleProps = computed(() =>
45
+ Object.fromEntries(
46
+ Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
47
+ ),
48
+ );
49
+ </script>
50
+
51
+ <template>
52
+ <syn-button-group v-bind="visibleProps" ref="nativeElement">
53
+ <slot></slot>
54
+ </syn-button-group>
55
+ </template>
@@ -0,0 +1,69 @@
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 { SynCard } from '@synergy-design-system/components';
16
+
17
+ import '@synergy-design-system/components/components/card/card.js';
18
+
19
+ /**
20
+ * @summary Cards can be used to group related subjects in a container.
21
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-card--docs
22
+ * @status stable
23
+ * @since 2.0
24
+ *
25
+ * @slot - The card's main content.
26
+ * @slot header - An optional header for the card.
27
+ * @slot footer - An optional footer for the card.
28
+ * @slot image - An optional image to render at the start of the card.
29
+ *
30
+ * @csspart base - The component's base wrapper.
31
+ * @csspart image - The container that wraps the card's image.
32
+ * @csspart header - The container that wraps the card's header.
33
+ * @csspart body - The container that wraps the card's main content.
34
+ * @csspart footer - The container that wraps the card's footer.
35
+ *
36
+ * @cssproperty --border-color - The card's border color, including borders that occur inside the card.
37
+ * @cssproperty --border-radius - The border radius for the card's edges.
38
+ * @cssproperty --border-width - The width of the card's borders.
39
+ * @cssproperty --padding - The padding to use for the card's sections.
40
+ */
41
+ @Component({
42
+ selector: 'syn-card',
43
+ standalone: true,
44
+ template: '<ng-content></ng-content>',
45
+ })
46
+ export class SynCardComponent {
47
+ public nativeElement: SynCard;
48
+ private _ngZone: NgZone;
49
+
50
+ constructor(e: ElementRef, ngZone: NgZone) {
51
+ this.nativeElement = e.nativeElement;
52
+ this._ngZone = ngZone;
53
+ }
54
+
55
+ /**
56
+ * Draws the card with sharp edges.
57
+ * Can be used e.g.
58
+ * when nesting multiple syn-cards to create hierarchy.
59
+ */
60
+ @Input()
61
+ set sharp(v: '' | SynCard['sharp']) {
62
+ this._ngZone.runOutsideAngular(
63
+ () => (this.nativeElement.sharp = v === '' || v),
64
+ );
65
+ }
66
+ get sharp(): SynCard['sharp'] {
67
+ return this.nativeElement.sharp;
68
+ }
69
+ }
@@ -0,0 +1,55 @@
1
+ import { css } from 'lit';
2
+
3
+ export default css`
4
+ :host {
5
+ --border-color: var(--syn-color-neutral-300);
6
+ --border-width: var(--syn-border-width-small);
7
+ --border-radius: var(--syn-border-radius-medium);
8
+ }
9
+
10
+ .card {
11
+ box-shadow: none;
12
+ }
13
+
14
+ /**
15
+ * Header adjustments
16
+ */
17
+ .card__header {
18
+ border: none;
19
+ color: var(--syn-typography-color-text);
20
+ font: var(--syn-heading-large);
21
+ line-height: var(--syn-line-height-normal);
22
+ }
23
+
24
+ /**
25
+ * Card body
26
+ */
27
+ .card__body {
28
+ color: var(--syn-typography-color-text);
29
+ font: var(--syn-body-medium-regular);
30
+ }
31
+
32
+ /**
33
+ * Card Footer
34
+ */
35
+ .card--has-footer .card__footer {
36
+ border-top: none;
37
+ padding: var(--syn-spacing-x-small) var(--syn-spacing-large) var(--syn-spacing-large);
38
+ }
39
+
40
+ /**
41
+ * Cards that are sharp do not receive a border radius
42
+ */
43
+ .card--sharp {
44
+ border-radius: var(--syn-border-radius-none);
45
+ }
46
+
47
+ /**
48
+ * Do not apply border radius to sharp card images
49
+ */
50
+ .card--sharp .card__image {
51
+ border-top-left-radius: var(--syn-border-radius-none);
52
+ border-top-right-radius: var(--syn-border-radius-none);
53
+ }
54
+
55
+ `;
@@ -0,0 +1,41 @@
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/card/card.component.js';
9
+
10
+ const tagName = 'syn-card';
11
+ Component.define('syn-card');
12
+
13
+ /**
14
+ * @summary Cards can be used to group related subjects in a container.
15
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-card--docs
16
+ * @status stable
17
+ * @since 2.0
18
+ *
19
+ * @slot - The card's main content.
20
+ * @slot header - An optional header for the card.
21
+ * @slot footer - An optional footer for the card.
22
+ * @slot image - An optional image to render at the start of the card.
23
+ *
24
+ * @csspart base - The component's base wrapper.
25
+ * @csspart image - The container that wraps the card's image.
26
+ * @csspart header - The container that wraps the card's header.
27
+ * @csspart body - The container that wraps the card's main content.
28
+ * @csspart footer - The container that wraps the card's footer.
29
+ *
30
+ * @cssproperty --border-color - The card's border color, including borders that occur inside the card.
31
+ * @cssproperty --border-radius - The border radius for the card's edges.
32
+ * @cssproperty --border-width - The width of the card's borders.
33
+ * @cssproperty --padding - The padding to use for the card's sections.
34
+ */
35
+ export const SynCard = createComponent({
36
+ displayName: 'SynCard',
37
+ elementClass: Component,
38
+ events: {},
39
+ react: React,
40
+ tagName,
41
+ });
@@ -0,0 +1,77 @@
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
+ --border-color: var(--syn-color-neutral-200);
15
+ --border-radius: var(--syn-border-radius-medium);
16
+ --border-width: 1px;
17
+ --padding: var(--syn-spacing-large);
18
+
19
+ display: inline-block;
20
+ }
21
+
22
+ .card {
23
+ display: flex;
24
+ flex-direction: column;
25
+ background-color: var(--syn-panel-background-color);
26
+ box-shadow: var(--syn-shadow-x-small);
27
+ border: solid var(--border-width) var(--border-color);
28
+ border-radius: var(--border-radius);
29
+ }
30
+
31
+ .card__image {
32
+ display: flex;
33
+ border-top-left-radius: var(--border-radius);
34
+ border-top-right-radius: var(--border-radius);
35
+ margin: calc(-1 * var(--border-width));
36
+ overflow: hidden;
37
+ }
38
+
39
+ .card__image::slotted(img) {
40
+ display: block;
41
+ width: 100%;
42
+ }
43
+
44
+ .card:not(.card--has-image) .card__image {
45
+ display: none;
46
+ }
47
+
48
+ .card__header {
49
+ display: block;
50
+ border-bottom: solid var(--border-width) var(--border-color);
51
+ padding: calc(var(--padding) / 2) var(--padding);
52
+ }
53
+
54
+ .card:not(.card--has-header) .card__header {
55
+ display: none;
56
+ }
57
+
58
+ .card:not(.card--has-image) .card__header {
59
+ border-top-left-radius: var(--border-radius);
60
+ border-top-right-radius: var(--border-radius);
61
+ }
62
+
63
+ .card__body {
64
+ display: block;
65
+ padding: var(--padding);
66
+ }
67
+
68
+ .card--has-footer .card__footer {
69
+ display: block;
70
+ border-top: solid var(--border-width) var(--border-color);
71
+ padding: var(--padding);
72
+ }
73
+
74
+ .card:not(.card--has-footer) .card__footer {
75
+ display: none;
76
+ }
77
+ `;
@@ -0,0 +1,68 @@
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 { property } from 'lit/decorators.js';
11
+ import { HasSlotController } from '../../internal/slot.js';
12
+ import { html } from 'lit';
13
+ import componentStyles from '../../styles/component.styles.js';
14
+ import SynergyElement from '../../internal/synergy-element.js';
15
+ import styles from './card.styles.js';
16
+ import customStyles from './card.custom.styles.js';
17
+ import type { CSSResultGroup } from 'lit';
18
+
19
+ /**
20
+ * @summary Cards can be used to group related subjects in a container.
21
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-card--docs
22
+ * @status stable
23
+ * @since 2.0
24
+ *
25
+ * @slot - The card's main content.
26
+ * @slot header - An optional header for the card.
27
+ * @slot footer - An optional footer for the card.
28
+ * @slot image - An optional image to render at the start of the card.
29
+ *
30
+ * @csspart base - The component's base wrapper.
31
+ * @csspart image - The container that wraps the card's image.
32
+ * @csspart header - The container that wraps the card's header.
33
+ * @csspart body - The container that wraps the card's main content.
34
+ * @csspart footer - The container that wraps the card's footer.
35
+ *
36
+ * @cssproperty --border-color - The card's border color, including borders that occur inside the card.
37
+ * @cssproperty --border-radius - The border radius for the card's edges.
38
+ * @cssproperty --border-width - The width of the card's borders.
39
+ * @cssproperty --padding - The padding to use for the card's sections.
40
+ */
41
+ export default class SynCard extends SynergyElement {
42
+ static styles: CSSResultGroup = [componentStyles, styles, customStyles];
43
+
44
+ private readonly hasSlotController = new HasSlotController(this, 'footer', 'header', 'image');
45
+
46
+ /** Draws the card with sharp edges. Can be used e.g. when nesting multiple syn-cards to create hierarchy. */
47
+ @property({ type: Boolean, reflect: true }) sharp = false;
48
+
49
+ render() {
50
+ return html`
51
+ <div
52
+ part="base"
53
+ class=${classMap({
54
+ card: true,
55
+ 'card--sharp': this.sharp,
56
+ 'card--has-footer': this.hasSlotController.test('footer'),
57
+ 'card--has-image': this.hasSlotController.test('image'),
58
+ 'card--has-header': this.hasSlotController.test('header')
59
+ })}
60
+ >
61
+ <slot name="image" part="image" class="card__image"></slot>
62
+ <slot name="header" part="header" class="card__header"></slot>
63
+ <slot part="body" class="card__body"></slot>
64
+ <slot name="footer" part="footer" class="card__footer"></slot>
65
+ </div>
66
+ `;
67
+ }
68
+ }
@@ -0,0 +1,67 @@
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 Cards can be used to group related subjects in a container.
10
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-card--docs
11
+ * @status stable
12
+ * @since 2.0
13
+ *
14
+ * @slot - The card's main content.
15
+ * @slot header - An optional header for the card.
16
+ * @slot footer - An optional footer for the card.
17
+ * @slot image - An optional image to render at the start of the card.
18
+ *
19
+ * @csspart base - The component's base wrapper.
20
+ * @csspart image - The container that wraps the card's image.
21
+ * @csspart header - The container that wraps the card's header.
22
+ * @csspart body - The container that wraps the card's main content.
23
+ * @csspart footer - The container that wraps the card's footer.
24
+ *
25
+ * @cssproperty --border-color - The card's border color, including borders that occur inside the card.
26
+ * @cssproperty --border-radius - The border radius for the card's edges.
27
+ * @cssproperty --border-width - The width of the card's borders.
28
+ * @cssproperty --padding - The padding to use for the card's sections.
29
+ */
30
+ import { computed, ref } from 'vue';
31
+ import '@synergy-design-system/components/components/card/card.js';
32
+
33
+ import type { SynCard } from '@synergy-design-system/components';
34
+
35
+ // DOM Reference to the element
36
+ const nativeElement = ref<SynCard>();
37
+
38
+ defineExpose({
39
+ nativeElement,
40
+ });
41
+
42
+ // Map attributes
43
+ const props = defineProps<{
44
+ /**
45
+ * Draws the card with sharp edges.
46
+ * Can be used e.g.
47
+ * when nesting multiple syn-cards to create hierarchy.
48
+ */
49
+ sharp?: SynCard['sharp'];
50
+ }>();
51
+
52
+ // Make sure prop binding only forwards the props that are actually there.
53
+ // This is needed because :param="param" also adds an empty attribute
54
+ // when using web-components, which breaks optional arguments like size in SynInput
55
+ // @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
56
+ const visibleProps = computed(() =>
57
+ Object.fromEntries(
58
+ Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
59
+ ),
60
+ );
61
+ </script>
62
+
63
+ <template>
64
+ <syn-card v-bind="visibleProps" ref="nativeElement">
65
+ <slot></slot>
66
+ </syn-card>
67
+ </template>