@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,110 @@
1
+ /**
2
+ * ---------------------------------------------------------------------
3
+ * 🔒 AUTOGENERATED BY VENDORISM
4
+ * Removing this comment will prevent it from being managed by it.
5
+ * ---------------------------------------------------------------------
6
+ */
7
+
8
+ /* eslint-disable */
9
+ import { css } from 'lit';
10
+
11
+ export default css`
12
+ /* stylelint-disable */
13
+ :host {
14
+ display: contents;
15
+
16
+ /* For better DX, we'll reset the margin here so the base part can inherit it */
17
+ margin: 0;
18
+ }
19
+
20
+ .alert {
21
+ position: relative;
22
+ display: flex;
23
+ align-items: stretch;
24
+ background-color: var(--syn-panel-background-color);
25
+ border: solid var(--syn-panel-border-width) var(--syn-panel-border-color);
26
+ border-top-width: calc(var(--syn-panel-border-width) * 3);
27
+ border-radius: var(--syn-border-radius-medium);
28
+ font-family: var(--syn-font-sans);
29
+ font-size: var(--syn-font-size-small);
30
+ font-weight: var(--syn-font-weight-normal);
31
+ line-height: 1.6;
32
+ color: var(--syn-color-neutral-700);
33
+ margin: inherit;
34
+ }
35
+
36
+ .alert:not(.alert--has-icon) .alert__icon,
37
+ .alert:not(.alert--closable) .alert__close-button {
38
+ display: none;
39
+ }
40
+
41
+ .alert__icon {
42
+ flex: 0 0 auto;
43
+ display: flex;
44
+ align-items: center;
45
+ font-size: var(--syn-font-size-large);
46
+ padding-inline-start: var(--syn-spacing-large);
47
+ }
48
+
49
+ .alert--has-countdown {
50
+ border-bottom: none;
51
+ }
52
+
53
+ .alert__message {
54
+ flex: 1 1 auto;
55
+ display: block;
56
+ padding: var(--syn-spacing-large);
57
+ }
58
+
59
+ .alert__close-button {
60
+ flex: 0 0 auto;
61
+ display: flex;
62
+ align-items: center;
63
+ font-size: var(--syn-font-size-medium);
64
+ margin-inline-end: var(--syn-spacing-medium);
65
+ align-self: center;
66
+ }
67
+
68
+ .alert__countdown {
69
+ position: absolute;
70
+ bottom: 0;
71
+ left: 0;
72
+ width: 100%;
73
+ height: calc(var(--syn-panel-border-width) * 3);
74
+ background-color: var(--syn-panel-border-color);
75
+ display: flex;
76
+ }
77
+
78
+ .alert__countdown--ltr {
79
+ justify-content: flex-end;
80
+ }
81
+
82
+ .alert__countdown .alert__countdown-elapsed {
83
+ height: 100%;
84
+ width: 0;
85
+ }
86
+
87
+ .alert--primary .alert__countdown-elapsed {
88
+ background-color: var(--syn-color-primary-600);
89
+ }
90
+
91
+ .alert--success .alert__countdown-elapsed {
92
+ background-color: var(--syn-color-success-600);
93
+ }
94
+
95
+ .alert--neutral .alert__countdown-elapsed {
96
+ background-color: var(--syn-color-neutral-600);
97
+ }
98
+
99
+ .alert--warning .alert__countdown-elapsed {
100
+ background-color: var(--syn-color-warning-600);
101
+ }
102
+
103
+ .alert--danger .alert__countdown-elapsed {
104
+ background-color: var(--syn-color-danger-600);
105
+ }
106
+
107
+ .alert__timer {
108
+ display: none;
109
+ }
110
+ `;
@@ -0,0 +1,324 @@
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 { animateTo, stopAnimations } from '../../internal/animate.js';
10
+ import { blurActiveElement } from '../../internal/closeActiveElement.js';
11
+ import { classMap } from 'lit/directives/class-map.js';
12
+ import { getAnimation, setDefaultAnimation } from '../../utilities/animation-registry.js';
13
+ import { HasSlotController } from '../../internal/slot.js';
14
+ import { html } from 'lit';
15
+ import { LocalizeController } from '../../utilities/localize.js';
16
+ import { property, query, state } from 'lit/decorators.js';
17
+ import { waitForEvent } from '../../internal/event.js';
18
+ import { watch } from '../../internal/watch.js';
19
+ import componentStyles from '../../styles/component.styles.js';
20
+ import SynergyElement from '../../internal/synergy-element.js';
21
+ import SynIconButton from '../icon-button/icon-button.component.js';
22
+ import styles from './alert.styles.js';
23
+ import customStyles from './alert.custom.styles.js';
24
+ import type { CSSResultGroup } from 'lit';
25
+ import { enableDefaultSettings } from '../../utilities/defaultSettings/decorator.js';
26
+
27
+ /**
28
+ * @summary Alerts are used to display important messages inline or as toast notifications.
29
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-alert--docs
30
+ * @status stable
31
+ * @since 2.0
32
+ *
33
+ * @dependency syn-icon-button
34
+ *
35
+ * @slot - The alert's main content.
36
+ * @slot icon - An icon to show in the alert. Works best with `<syn-icon>`.
37
+ *
38
+ * @event syn-show - Emitted when the alert opens.
39
+ * @event syn-after-show - Emitted after the alert opens and all animations are complete.
40
+ * @event syn-hide - Emitted when the alert closes.
41
+ * @event syn-after-hide - Emitted after the alert closes and all animations are complete.
42
+ *
43
+ * @csspart base - The component's base wrapper.
44
+ * @csspart icon - The container that wraps the optional icon.
45
+ * @csspart message - The container that wraps the alert's main content.
46
+ * @csspart close-button - The close button, an `<syn-icon-button>`.
47
+ * @csspart close-button__base - The close button's exported `base` part.
48
+ *
49
+ * @animation alert.show - The animation to use when showing the alert.
50
+ * @animation alert.hide - The animation to use when hiding the alert.
51
+ */
52
+ @enableDefaultSettings('SynAlert')
53
+ export default class SynAlert extends SynergyElement {
54
+ static styles: CSSResultGroup = [componentStyles, styles, customStyles];
55
+ static dependencies = { 'syn-icon-button': SynIconButton };
56
+
57
+ private autoHideTimeout: number;
58
+ private remainingTimeInterval: number;
59
+ private countdownAnimation?: Animation;
60
+ private readonly hasSlotController = new HasSlotController(this, 'icon', 'suffix');
61
+ private readonly localize = new LocalizeController(this);
62
+
63
+ private static currentToastStack: HTMLDivElement;
64
+
65
+ private static get toastStack() {
66
+ if (!this.currentToastStack) {
67
+ this.currentToastStack = Object.assign(document.createElement('div'), {
68
+ className: 'syn-toast-stack'
69
+ });
70
+ }
71
+ return this.currentToastStack;
72
+ }
73
+
74
+ @query('[part~="base"]') base: HTMLElement;
75
+
76
+ @query('.alert__countdown-elapsed') countdownElement: HTMLElement;
77
+
78
+ /**
79
+ * Indicates whether or not the alert is open. You can toggle this attribute to show and hide the alert, or you can
80
+ * use the `show()` and `hide()` methods and this attribute will reflect the alert's open state.
81
+ */
82
+ @property({ type: Boolean, reflect: true }) open = false;
83
+
84
+ /** Enables a close button that allows the user to dismiss the alert. */
85
+ @property({ type: Boolean, reflect: true }) closable = false;
86
+
87
+ /** The alert's theme variant. */
88
+ @property({ reflect: true }) variant: 'primary' | 'success' | 'neutral' | 'warning' | 'danger' = 'primary';
89
+
90
+ /**
91
+ * The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with
92
+ * the alert before it closes (e.g. moves the mouse over it), the timer will restart. Defaults to `Infinity`, meaning
93
+ * the alert will not close on its own.
94
+ */
95
+ @property({ type: Number }) duration = Infinity;
96
+
97
+ /**
98
+ * Enables a countdown that indicates the remaining time the alert will be displayed.
99
+ * Typically used to indicate the remaining time before a whole app refresh.
100
+ */
101
+ private countdown? : 'rtl' | 'ltr';
102
+
103
+ @state() private remainingTime = this.duration;
104
+
105
+ firstUpdated() {
106
+ this.base.hidden = !this.open;
107
+ }
108
+
109
+ private restartAutoHide() {
110
+ this.handleCountdownChange();
111
+ clearTimeout(this.autoHideTimeout);
112
+ clearInterval(this.remainingTimeInterval);
113
+ if (this.open && this.duration < Infinity) {
114
+ this.autoHideTimeout = window.setTimeout(() => this.hide(), this.duration);
115
+ this.remainingTime = this.duration;
116
+ this.remainingTimeInterval = window.setInterval(() => {
117
+ this.remainingTime -= 100;
118
+ }, 100);
119
+ }
120
+ }
121
+
122
+ private pauseAutoHide() {
123
+ this.countdownAnimation?.pause();
124
+ clearTimeout(this.autoHideTimeout);
125
+ clearInterval(this.remainingTimeInterval);
126
+ }
127
+
128
+ private resumeAutoHide() {
129
+ if (this.duration < Infinity) {
130
+ this.autoHideTimeout = window.setTimeout(() => this.hide(), this.remainingTime);
131
+ this.remainingTimeInterval = window.setInterval(() => {
132
+ this.remainingTime -= 100;
133
+ }, 100);
134
+ this.countdownAnimation?.play();
135
+ }
136
+ }
137
+
138
+ private handleCountdownChange() {
139
+ if (this.open && this.duration < Infinity && this.countdown) {
140
+ const { countdownElement } = this;
141
+ const start = '100%';
142
+ const end = '0';
143
+ this.countdownAnimation = countdownElement.animate([{ width: start }, { width: end }], {
144
+ duration: this.duration,
145
+ easing: 'linear'
146
+ });
147
+ }
148
+ }
149
+
150
+ private handleCloseClick() {
151
+ this.hide();
152
+ }
153
+
154
+ @watch('open', { waitUntilFirstUpdate: true })
155
+ async handleOpenChange() {
156
+ if (this.open) {
157
+ // Show
158
+ this.emit('syn-show');
159
+
160
+ if (this.duration < Infinity) {
161
+ this.restartAutoHide();
162
+ }
163
+
164
+ await stopAnimations(this.base);
165
+ this.base.hidden = false;
166
+ const { keyframes, options } = getAnimation(this, 'alert.show', { dir: this.localize.dir() });
167
+ await animateTo(this.base, keyframes, options);
168
+
169
+ this.emit('syn-after-show');
170
+ } else {
171
+ // Hide
172
+ blurActiveElement(this);
173
+ this.emit('syn-hide');
174
+
175
+ clearTimeout(this.autoHideTimeout);
176
+ clearInterval(this.remainingTimeInterval);
177
+
178
+ await stopAnimations(this.base);
179
+ const { keyframes, options } = getAnimation(this, 'alert.hide', { dir: this.localize.dir() });
180
+ await animateTo(this.base, keyframes, options);
181
+ this.base.hidden = true;
182
+
183
+ this.emit('syn-after-hide');
184
+ }
185
+ }
186
+
187
+ @watch('duration')
188
+ handleDurationChange() {
189
+ this.restartAutoHide();
190
+ }
191
+
192
+ /** Shows the alert. */
193
+ async show() {
194
+ if (this.open) {
195
+ return undefined;
196
+ }
197
+
198
+ this.open = true;
199
+ return waitForEvent(this, 'syn-after-show');
200
+ }
201
+
202
+ /** Hides the alert */
203
+ async hide() {
204
+ if (!this.open) {
205
+ return undefined;
206
+ }
207
+
208
+ this.open = false;
209
+ return waitForEvent(this, 'syn-after-hide');
210
+ }
211
+
212
+ /**
213
+ * Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when
214
+ * dismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by
215
+ * calling this method again. The returned promise will resolve after the alert is hidden.
216
+ */
217
+ async toast() {
218
+ return new Promise<void>(resolve => {
219
+ this.handleCountdownChange();
220
+ if (SynAlert.toastStack.parentElement === null) {
221
+ document.body.append(SynAlert.toastStack);
222
+ }
223
+
224
+ SynAlert.toastStack.appendChild(this);
225
+
226
+ // Wait for the toast stack to render
227
+ requestAnimationFrame(() => {
228
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- force a reflow for the initial transition
229
+ this.clientWidth;
230
+ this.show();
231
+ });
232
+
233
+ this.addEventListener(
234
+ 'syn-after-hide',
235
+ () => {
236
+ SynAlert.toastStack.removeChild(this);
237
+ resolve();
238
+
239
+ // Remove the toast stack from the DOM when there are no more alerts
240
+ if (SynAlert.toastStack.querySelector('syn-alert') === null) {
241
+ SynAlert.toastStack.remove();
242
+ }
243
+ },
244
+ { once: true }
245
+ );
246
+ });
247
+ }
248
+
249
+ render() {
250
+ return html`
251
+ <div
252
+ part="base"
253
+ class=${classMap({
254
+ alert: true,
255
+ 'alert--open': this.open,
256
+ 'alert--closable': this.closable,
257
+ 'alert--has-icon': this.hasSlotController.test('icon'),
258
+ 'alert--primary': this.variant === 'primary',
259
+ 'alert--success': this.variant === 'success',
260
+ 'alert--neutral': this.variant === 'neutral',
261
+ 'alert--warning': this.variant === 'warning',
262
+ 'alert--danger': this.variant === 'danger'
263
+ })}
264
+ role="alert"
265
+ aria-hidden=${this.open ? 'false' : 'true'}
266
+ @mouseenter=${this.pauseAutoHide}
267
+ @mouseleave=${this.resumeAutoHide}
268
+ >
269
+ <div part="icon" class="alert__icon">
270
+ <slot name="icon"></slot>
271
+ </div>
272
+
273
+ <div part="message" class="alert__message" aria-live="polite">
274
+ <slot></slot>
275
+ </div>
276
+
277
+ ${this.closable
278
+ ? html`
279
+ <syn-icon-button
280
+ part="close-button"
281
+ exportparts="base:close-button__base"
282
+ class="alert__close-button"
283
+ name="x-lg"
284
+ library="system"
285
+ label=${this.localize.term('close')}
286
+ @click=${this.handleCloseClick}
287
+ ></syn-icon-button>
288
+ `
289
+ : ''}
290
+
291
+ <div role="timer" class="alert__timer">${this.remainingTime}</div>
292
+
293
+ ${this.countdown
294
+ ? html`
295
+ <div
296
+ class=${classMap({
297
+ alert__countdown: true,
298
+ 'alert__countdown--ltr': this.countdown === 'ltr'
299
+ })}
300
+ >
301
+ <div class="alert__countdown-elapsed"></div>
302
+ </div>
303
+ `
304
+ : ''}
305
+ </div>
306
+ `;
307
+ }
308
+ }
309
+
310
+ setDefaultAnimation('alert.show', {
311
+ keyframes: [
312
+ { opacity: 0, scale: 0.8 },
313
+ { opacity: 1, scale: 1 }
314
+ ],
315
+ options: { duration: 250, easing: 'ease' }
316
+ });
317
+
318
+ setDefaultAnimation('alert.hide', {
319
+ keyframes: [
320
+ { opacity: 1, scale: 1 },
321
+ { opacity: 0, scale: 0.8 }
322
+ ],
323
+ options: { duration: 250, easing: 'ease' }
324
+ });
@@ -0,0 +1,130 @@
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 Alerts are used to display important messages inline or as toast notifications.
10
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-alert--docs
11
+ * @status stable
12
+ * @since 2.0
13
+ *
14
+ * @dependency syn-icon-button
15
+ *
16
+ * @slot - The alert's main content.
17
+ * @slot icon - An icon to show in the alert. Works best with `<syn-icon>`.
18
+ *
19
+ * @event syn-show - Emitted when the alert opens.
20
+ * @event syn-after-show - Emitted after the alert opens and all animations are complete.
21
+ * @event syn-hide - Emitted when the alert closes.
22
+ * @event syn-after-hide - Emitted after the alert closes and all animations are complete.
23
+ *
24
+ * @csspart base - The component's base wrapper.
25
+ * @csspart icon - The container that wraps the optional icon.
26
+ * @csspart message - The container that wraps the alert's main content.
27
+ * @csspart close-button - The close button, an `<syn-icon-button>`.
28
+ * @csspart close-button__base - The close button's exported `base` part.
29
+ *
30
+ * @animation alert.show - The animation to use when showing the alert.
31
+ * @animation alert.hide - The animation to use when hiding the alert.
32
+ */
33
+ import { computed, ref } from 'vue';
34
+ import '@synergy-design-system/components/components/alert/alert.js';
35
+
36
+ import type { SynShowEvent } from '@synergy-design-system/components';
37
+ import type { SynAfterShowEvent } from '@synergy-design-system/components';
38
+ import type { SynHideEvent } from '@synergy-design-system/components';
39
+ import type { SynAfterHideEvent } from '@synergy-design-system/components';
40
+ import type { SynAlert } from '@synergy-design-system/components';
41
+
42
+ // DOM Reference to the element
43
+ const nativeElement = ref<SynAlert>();
44
+
45
+ defineExpose({
46
+ nativeElement,
47
+ });
48
+
49
+ // Map attributes
50
+ const props = defineProps<{
51
+ /**
52
+ * Indicates whether or not the alert is open.
53
+ * You can toggle this attribute to show and hide the alert, or you can
54
+ use the `show()` and `hide()` methods and this attribute will reflect the alert's open state.
55
+ */
56
+ open?: SynAlert['open'];
57
+
58
+ /**
59
+ * Enables a close button that allows the user to dismiss the alert.
60
+ */
61
+ closable?: SynAlert['closable'];
62
+
63
+ /**
64
+ * The alert's theme variant.
65
+ */
66
+ variant?: SynAlert['variant'];
67
+
68
+ /**
69
+ * The length of time, in milliseconds, the alert will show before closing itself.
70
+ * If the user interacts with
71
+ the alert before it closes (e.g.
72
+ * moves the mouse over it), the timer will restart.
73
+ * Defaults to `Infinity`, meaning
74
+ the alert will not close on its own.
75
+ */
76
+ duration?: SynAlert['duration'];
77
+ }>();
78
+
79
+ // Make sure prop binding only forwards the props that are actually there.
80
+ // This is needed because :param="param" also adds an empty attribute
81
+ // when using web-components, which breaks optional arguments like size in SynInput
82
+ // @see https://github.com/vuejs/core/issues/5190#issuecomment-1003112498
83
+ const visibleProps = computed(() =>
84
+ Object.fromEntries(
85
+ Object.entries(props).filter(([, value]) => typeof value !== 'undefined'),
86
+ ),
87
+ );
88
+
89
+ // Map events
90
+ defineEmits<{
91
+ /**
92
+ * Emitted when the alert opens.
93
+ */
94
+ 'syn-show': [e: SynShowEvent];
95
+
96
+ /**
97
+ * Emitted after the alert opens and all animations are complete.
98
+ */
99
+ 'syn-after-show': [e: SynAfterShowEvent];
100
+
101
+ /**
102
+ * Emitted when the alert closes.
103
+ */
104
+ 'syn-hide': [e: SynHideEvent];
105
+
106
+ /**
107
+ * Emitted after the alert closes and all animations are complete.
108
+ */
109
+ 'syn-after-hide': [e: SynAfterHideEvent];
110
+ }>();
111
+ </script>
112
+
113
+ <script lang="ts">
114
+ export type { SynShowEvent } from '@synergy-design-system/components';
115
+ export type { SynAfterShowEvent } from '@synergy-design-system/components';
116
+ export type { SynHideEvent } from '@synergy-design-system/components';
117
+ export type { SynAfterHideEvent } from '@synergy-design-system/components';
118
+ </script>
119
+
120
+ <template>
121
+ <syn-alert
122
+ @syn-show="$emit('syn-show', $event)"
123
+ @syn-after-show="$emit('syn-after-show', $event)"
124
+ @syn-hide="$emit('syn-hide', $event)"
125
+ @syn-after-hide="$emit('syn-after-hide', $event)"
126
+ v-bind="visibleProps"
127
+ ref="nativeElement">
128
+ <slot></slot>
129
+ </syn-alert>
130
+ </template>
@@ -0,0 +1,53 @@
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 { SynBadge } from '@synergy-design-system/components';
16
+
17
+ import '@synergy-design-system/components/components/badge/badge.js';
18
+
19
+ /**
20
+ * @summary Badges are used to draw attention and display statuses or counts.
21
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-badge--docs
22
+ * @status stable
23
+ * @since 2.0
24
+ *
25
+ * @slot - The badge's content.
26
+ *
27
+ * @csspart base - The component's base wrapper.
28
+ */
29
+ @Component({
30
+ selector: 'syn-badge',
31
+ standalone: true,
32
+ template: '<ng-content></ng-content>',
33
+ })
34
+ export class SynBadgeComponent {
35
+ public nativeElement: SynBadge;
36
+ private _ngZone: NgZone;
37
+
38
+ constructor(e: ElementRef, ngZone: NgZone) {
39
+ this.nativeElement = e.nativeElement;
40
+ this._ngZone = ngZone;
41
+ }
42
+
43
+ /**
44
+ * The badge's theme variant.
45
+ */
46
+ @Input()
47
+ set variant(v: SynBadge['variant']) {
48
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.variant = v));
49
+ }
50
+ get variant(): SynBadge['variant'] {
51
+ return this.nativeElement.variant;
52
+ }
53
+ }
@@ -0,0 +1,61 @@
1
+ import { css } from 'lit';
2
+
3
+ export default css`
4
+ .badge {
5
+ border: none;
6
+ border-radius: var(--syn-border-radius-pill);
7
+ font: var(--syn-body-medium-bold);
8
+ height: var(--syn-spacing-large);
9
+ line-height: var(--syn-spacing-large);
10
+ min-width: var(--syn-spacing-large);
11
+ padding: 0 var(--syn-spacing-x-small);
12
+ }
13
+
14
+ /* Variant modifiers */
15
+ .badge--primary {
16
+ background-color: var(--syn-color-primary-600);
17
+ color: var(--syn-typography-color-text-inverted);
18
+ }
19
+
20
+ .badge--success {
21
+ background-color: var(--syn-color-success-500);
22
+ color: var(--syn-typography-color-text);
23
+ }
24
+
25
+ .badge--neutral {
26
+ background-color: var(--syn-color-neutral-800);
27
+ color: var(--syn-typography-color-text-inverted);
28
+ }
29
+
30
+ .badge--warning {
31
+ background-color: var(--syn-color-warning-400);
32
+ color: var(--syn-typography-color-text);
33
+ }
34
+
35
+ .badge--danger {
36
+ background-color: var(--syn-color-error-600);
37
+ color: var(--syn-typography-color-text-inverted);
38
+ }
39
+
40
+ /**
41
+ * Special treatment: If the badge is empty, show it as a dot only
42
+ */
43
+ :host(:empty) .badge {
44
+ height: var(--syn-spacing-x-small);
45
+ min-width: initial;
46
+ padding: 0;
47
+ width: var(--syn-spacing-x-small);
48
+ }
49
+
50
+ .visually-hidden {
51
+ border: 0;
52
+ clip: rect(0, 0, 0, 0);
53
+ height: 1px;
54
+ margin: -1px;
55
+ overflow: hidden;
56
+ padding: 0;
57
+ position: absolute;
58
+ white-space: nowrap;
59
+ width: 1px;
60
+ }
61
+ `;