@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,1859 @@
1
+ # DaVinci to Synergy web-component migration
2
+
3
+ ## Introduction
4
+
5
+ Your UI uses DaVinci elements, like basic-elements and/or core-elements and you want to know how to migrate to Synergy? Then this is the right place for you!
6
+
7
+ Synergy uses the same base technology (CustomElements) as DaVinci elements. However, due to Synergies different architecture and methodologies the migration process cannot be automated and needs some manual work.
8
+
9
+ The table below shows which DaVinci element can be replaced by which Synergy component.
10
+
11
+ This guide doesn't cover 100% of all use-cases, but should cover most of it. For strongly customized UIs a deeper look into the documentation is still necessary.
12
+
13
+ ## Should I migrate to Synergy?
14
+
15
+ Absolutely!
16
+
17
+ Synergy will give you a more modern and brand-conform look, more flexible components, more consistency, better accessibility, better scalability, smaller footprint, better DX, better UX, better API, ...
18
+
19
+ Synergy is a replacement for DaVinci elements as well as for the [SICK Design System](https://brand.sick.com/hub/14).
20
+
21
+ ## Versions
22
+
23
+ The migration guide is based on
24
+
25
+ - basic-elements 7.2.3
26
+ - core-elements 5.0.1
27
+ - synergy 2.8.1
28
+
29
+ Newer major versions of synergy (>=3.0.0) might have a modified API. In those cases consult this document: https://synergy-design-system.github.io/?path=/docs/packages-components-breaking-changes--docs
30
+
31
+ ## General changes
32
+
33
+ Things which apply to all elements.
34
+
35
+ - All html element tags are prefixed with "syn-" instead of "davinci-"
36
+ - Event handling
37
+ - All events are prefixed with `syn-` (e.g. `syn-change`)
38
+ - In general, `CustomEvents` do not provide additional `details`. If you want to obtain the changed data access the desired property of the `event.target` instead. E.g. `document.querySelector('syn-input').addEventListener('syn-change', (e) => e.target.value)`
39
+ - All input elements have 3 different sizes
40
+ - Composition is favored over attributes
41
+ - Icon assets separated from components
42
+ - Revised color palette
43
+ - Introduced accessibility to fulfill the new requirements of the [European accessibility act](https://ec.europa.eu/social/main.jsp?catId=1202&intPageId=5581&langId=en) which will be mandatory from June 28th, 2025 on
44
+ - Introduced [shadow parts](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_shadow_parts) which allows styling element internals
45
+ - Native framework support for Angular, Vue and React
46
+ - Form elements
47
+ - Form support out of the box (no such thing as `basic-elements-ng-form` is necessary anymore). Just use the shipped wrapper components (e.g. @synergy-design-system/angular).
48
+ - Added support for all shared html form elements in the html spec. Added attributes `form`, `required`, `value`, `name`.
49
+
50
+ ## Component comparison
51
+
52
+ All are in alphabetic order.
53
+
54
+ ### davinci-accordion
55
+
56
+ | davinci-accordion | syn-accordion |
57
+ | ------------------------------------------------------- | ------------------------------------------------------- |
58
+ | <img src="accordion_davinci.png" style="width: 300px;"> | <img src="accordion_synergy.png" style="width: 300px;"> |
59
+
60
+ #### Examples
61
+
62
+ ```html
63
+ <davinci-accordion multiple>
64
+ <davinci-accordion-item open label="Item 1"
65
+ >Some content</davinci-accordion-item
66
+ >
67
+ <davinci-accordion-item label="Item 2"></davinci-accordion-item>
68
+ <davinci-accordion-item label="Item 3"></davinci-accordion-item>
69
+ <davinci-accordion-item label="Item 4"></davinci-accordion-item>
70
+ </davinci-accordion>
71
+
72
+ <!-- will become -->
73
+ <syn-accordion>
74
+ <syn-details summary="Item 1" open>Some content</syn-details>
75
+ <syn-details summary="Item 2"></syn-details>
76
+ <syn-details summary="Item 3"></syn-details>
77
+ <syn-details summary="Item 4"></syn-details>
78
+ </syn-accordion>
79
+ ```
80
+
81
+ #### Attribute changes
82
+
83
+ - removed "multiple". Use "close-others" instead
84
+ - added size
85
+
86
+ #### Slot changes
87
+
88
+ - default: accepts `syn-details` instead of `davinci-accordion-item`
89
+
90
+ ### davinci-accordion-item
91
+
92
+ | davinci-accordion-item | syn-details |
93
+ | ------------------------------------------------------------ | ----------------------------------------------------- |
94
+ | <img src="accordion_item_davinci.png" style="width: 100px;"> | <img src="details_synergy.png" style="width: 100px;"> |
95
+
96
+ #### Examples
97
+
98
+ ```html
99
+ <davinci-accordion-item label="Item 1">Some content</davinci-accordion-item>
100
+
101
+ <!-- will become -->
102
+ <syn-details summary="Item 1">Some content</syn-details>
103
+ ```
104
+
105
+ #### Attribute changes
106
+
107
+ - removed "icon" and "iconSrc". Put icons into "summary"-slot instead
108
+ - removed "label". Use "summary" instead
109
+ - added "summary"
110
+
111
+ #### Slot changes
112
+
113
+ - added "summary"
114
+ - added "expand-icon" and "collapse-icon"
115
+
116
+ ### davinci-auto-suggest
117
+
118
+ | davinci-auto-suggest | syn-combobox |
119
+ | ----------------------------------------------------------- | ------------------------------------------------------- |
120
+ | <img src="auto_suggest_davinci.png" style="width: 150px;"/> | <img src="combobox_synergy.png" style="width: 120px;"/> |
121
+
122
+ #### Examples
123
+
124
+ ```html
125
+ <davinci-auto-suggest label="Colors">
126
+ <davinci-option value="Yellow">Yellow</davinci-option>
127
+ <davinci-option value="Grey">Grey</davinci-option>
128
+ <davinci-option value="Green">Green</davinci-option>
129
+ <davinci-option value="Blue">Blue</davinci-option>
130
+ <davinci-option value="Red">Red</davinci-option>
131
+ </davinci-auto-suggest>
132
+
133
+ <!-- will become -->
134
+ <syn-combobox label="Colors">
135
+ <syn-option value="Yellow">Yellow</syn-option>
136
+ <syn-option value="Grey">Grey</syn-option>
137
+ <syn-option value="Green">Green</syn-option>
138
+ <syn-option value="Blue">Blue</syn-option>
139
+ <syn-option value="Red">Red</syn-option>
140
+ </syn-combobox>
141
+ ```
142
+
143
+ #### Attribute changes
144
+
145
+ - Renamed "expanded" to "open
146
+ - Renamed "contentRenderer" to "getOption"
147
+ - Removed "icon" and "iconSrc". Use the prefix/suffix slots instead
148
+ - Removed "loading". Use the suffix slot for adding a spinner
149
+ - Removed "error" and "warning"
150
+ - Removed "wide-list". Could be achieved via changing the css property `width` of the ::part(listbox)
151
+ - Removed "data". Use the syn-option in the default slot
152
+ - Removed "min-length". Use the "filter" function instead
153
+ - Added "clearable"
154
+ - Added "required"
155
+ - Added "help-text"
156
+ - Added "size"
157
+ - Added "placeholder"
158
+ - Added "filter"
159
+
160
+ #### Event changes
161
+
162
+ - added "syn-change", "syn-input", "syn-clear", "syn-hide", ...
163
+
164
+ ### davinci-balloon
165
+
166
+ | davinci-balloon | syn-tooltip |
167
+ | ----------------------------------------------------- | ----------------------------------------------------- |
168
+ | <img src="balloon_davinci.png" style="width: 150px;"> | <img src="tooltip_synergy.png" style="width: 150px;"> |
169
+
170
+ #### Examples
171
+
172
+ ```html
173
+ <davinci-button
174
+ id="mybutton"
175
+ onMouseEnter="document.querySelector('#myBalloon').show = true;"
176
+ onClick="document.querySelector('#myBalloon').show = false;"
177
+ >Hover Me</davinci-button
178
+ >
179
+
180
+ <davinci-balloon id="myBalloon" position="right" for="mybutton"
181
+ >This is a balloon</davinci-balloon
182
+ >
183
+
184
+ <!-- will become -->
185
+ <syn-tooltip content="This is a tooltip" placement="right">
186
+ <syn-button>Hover me</syn-button>
187
+ </syn-tooltip>
188
+ ```
189
+
190
+ #### Attribute changes
191
+
192
+ - removed "position". Use "placement" instead
193
+ - removed "alignment"
194
+ - removed "for". Use the default slot instead
195
+ - removed "type". Use css-part instead.
196
+ - removed "headline". Use the default slot instead to insert html
197
+ - removed "show". Use the "show" method instead
198
+ - removed "modal"
199
+ - removed "icon"
200
+ - added "position"
201
+ - added "content"
202
+ - added "distance"
203
+ - added "trigger"
204
+ - added "hoist"
205
+ - added "skidding"
206
+
207
+ #### Slot changes
208
+
209
+ - the default slot contains the target element
210
+
211
+ ### davinci-breadcrumb
212
+
213
+ | davinci-breadcrumb | syn-breadcrumb |
214
+ | -------------------------------------------------------- | -------------------------------------------------------- |
215
+ | <img src="breadcrumb_davinci.png" style="width: 150px;"> | <img src="breadcrumb_synergy.png" style="width: 150px;"> |
216
+
217
+ #### Examples
218
+
219
+ ```html
220
+ <davinci-breadcrumb>
221
+ <davinci-breadcrumb-item href="/home" label="Home"></davinci-breadcrumb-item>
222
+ <davinci-breadcrumb-item
223
+ href="/search"
224
+ label="Search"
225
+ ></davinci-breadcrumb-item>
226
+ </davinci-breadcrumb>
227
+
228
+ <!-- will become -->
229
+ <syn-breadcrumb>
230
+ <syn-breadcrumb-item href="/home">Home</syn-breadcrumb-item>
231
+ <syn-breadcrumb-item href="/search">Search</syn-breadcrumb-item>
232
+ </syn-breadcrumb>
233
+ ```
234
+
235
+ #### Attribute changes
236
+
237
+ - added "label" which is used for screen readers
238
+
239
+ #### Slot changes
240
+
241
+ - default: accepts `syn-breadcrumb-item` instead of `davinci-breadcrumb-item`
242
+ - added "separator" which is used to change the icon used between breadcrumb-items
243
+
244
+ ### davinci-breadcrumb-item
245
+
246
+ | davinci-breadcrumb-item | syn-breadcrumb-item |
247
+ | ------------------------------------------------------------ | ------------------------------------------------------------ |
248
+ | <img src="breadcrumb_item_davinci.png" style="width: 60px;"> | <img src="breadcrumb_item_synergy.png" style="width: 80px;"> |
249
+
250
+ #### Examples
251
+
252
+ ```html
253
+ <davinci-breadcrumb-item href="/home" label="Home"></davinci-breadcrumb-item>
254
+
255
+ <!-- will become -->
256
+ <syn-breadcrumb-item href="/home">
257
+ Home
258
+ <syn-icon slot="prefix" name="home"></syn-icon>
259
+ </syn-breadcrumb-item>
260
+ ```
261
+
262
+ #### Attribute changes
263
+
264
+ - removed "label". Use default slot instead
265
+ - added "target" and "rel" to specify the click behavior
266
+
267
+ #### Slot changes
268
+
269
+ - added "default" for the content
270
+ - added "prefix" and "suffix" e.g. for icons
271
+ - added "separator" for changing the icon between itemss
272
+
273
+ ### davinci-button
274
+
275
+ | davinci-button | syn-button |
276
+ | ---------------------------------------------------- | ---------------------------------------------------- |
277
+ | <img src="button_davinci.png" style="width: 100px;"> | <img src="button_synergy.png" style="width: 110px;"> |
278
+
279
+ #### Examples
280
+
281
+ ##### Primary
282
+
283
+ ```html
284
+ <davinci-button type="primary" onclick="console.log('clicked')"
285
+ >Click me</davinci-button
286
+ >
287
+
288
+ <!-- will become -->
289
+ <syn-button variant="filled" onclick="console.log('clicked')"
290
+ >Click me</syn-button
291
+ >
292
+ ```
293
+
294
+ #### Attribute changes
295
+
296
+ - "type"
297
+ - has been renamed to "variant"
298
+ - "type" is now used according to the HTML button `type` attribute (e.g. `button`, `submit`).
299
+ - reduced number of possible values due to accessibility reasons. If styles are needed, they can be set via css-part. Keep in mind, that also the `:hover` and `:active` states need to be adapted then
300
+ - if there is a need of using a "variant" which is not available in Synergy please get in touch with us so we can provide alternatives and also collect valid use-cases
301
+ - removed "icon" and "iconSrc". Use the prefix/suffix slots instead
302
+ - removed "toggle". Use `syn-radio-button` instead as soon as it is available.
303
+ - added: "href", "target", "download", etc
304
+
305
+ ##### Icon
306
+
307
+ ```html
308
+ <davinci-button icon="action/cached">Reload</davinci-button>
309
+
310
+ <!-- will become -->
311
+ <syn-button variant="filled"
312
+ >Reload<syn-icon slot="suffix" name="refresh"></syn-icon
313
+ ></syn-button>
314
+ ```
315
+
316
+ ### davinci-callout
317
+
318
+ | davinci-callout | syn-alert |
319
+ | ----------------------------------------------------- | --------------------------------------------------- |
320
+ | <img src="callout_davinci.png" style="width: 130px;"> | <img src="alert_synergy.png" style="width: 150px;"> |
321
+
322
+ #### Examples
323
+
324
+ ```html
325
+ <davinci-callout type="success">
326
+ <em>Whoooohoo!</em> you got it!
327
+ </davinci-callout>
328
+
329
+ <!-- will become -->
330
+
331
+ <div style="width:350px">
332
+ <syn-alert variant="success" open>
333
+ <syn-icon slot="icon" name="check_circle"></syn-icon>
334
+ <em>Whoooohoo!</em> you got it!
335
+ </syn-alert>
336
+ </div>
337
+ ```
338
+
339
+ #### Attribute changes
340
+
341
+ - Removed "type". Use "variant" for the color and the "icon" slot for the icon instead
342
+ - Removed "inline"
343
+ - Added "variant". Values are slightly different to callout's "type"
344
+ - Added "duration"
345
+
346
+ #### Event changes
347
+
348
+ - Removed "remove". Use "syn-hide" instead
349
+ - Added "syn-show", "syn-hide"
350
+
351
+ #### Slot changes
352
+
353
+ - Added "icon"
354
+
355
+ ### davinci-checkbox
356
+
357
+ | davinci-checkbox | syn-checkbox |
358
+ | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
359
+ | <img src="checkbox_davinci.png" style="width: 100px;"> | <img src="checkbox1_synergy.png" style="width: 100px;"><br><img src="checkbox2_synergy.png" style="width: 130px;"> |
360
+
361
+ #### Examples
362
+
363
+ ```html
364
+ <davinci-checkbox checked onchange="(e)=>console.log(e.detail)">Toggle</davinci-checkbox>
365
+
366
+ <!-- will become -->
367
+ <syn-checkbox checked">Toggle</syn-checkbox>
368
+ <script>
369
+ document.querySelector("syn-checkbox").addEventListener("syn-change", (e)=>console.log(e.target.checked))
370
+ </script>
371
+ ```
372
+
373
+ #### Attribute changes
374
+
375
+ - added "indeterminate"
376
+ - added "required"
377
+
378
+ #### Event changes
379
+
380
+ - added `syn-change`, `syn-input`, ...
381
+
382
+ ### davinci-collapse
383
+
384
+ | davinci-collapse | syn-details |
385
+ | ------------------------------------------------------ | ----------------------------------------------------- |
386
+ | <img src="collapse_davinci.png" style="width: 100px;"> | <img src="details_synergy.png" style="width: 100px;"> |
387
+
388
+ #### Examples
389
+
390
+ ```html
391
+ <davinci-collapse open collapsed-title="Show me" expanded-title="Show me">
392
+ some text or html
393
+ </davinci-collapse>
394
+
395
+ <!-- will become -->
396
+ <syn-details open summary="Show me"> some text or html </syn-details>
397
+ ```
398
+
399
+ #### Attribute changes
400
+
401
+ - removed "prepend-icon"
402
+ - Removed "collapsed-title" and "expanded-title". Use "summary" instead
403
+ - added "summary". For html content the "summary"-slot can be used instead
404
+ - added "contained" for a different visual experience
405
+ - added "size"
406
+
407
+ #### Event changes
408
+
409
+ - removed "open-state-change". Use "syn-after-show", "syn-after-hide" instead
410
+ - added "syn-show", "syn-hide", "syn-after-show", "syn-after-hide"
411
+
412
+ ### davinci-core-drawer-navigation
413
+
414
+ | davinci-core-drawer-navigation | syn-side-nav |
415
+ | -------------------------------------------------------------- | ----------------------------------------------------- |
416
+ | <img src="drawernavigation_davinci.png" style="width: 150px;"> | <img src="sidenav_synergy.png" style="width: 150px;"> |
417
+
418
+ #### Examples
419
+
420
+ ```html
421
+ <davinci-core-drawer-navigation>
422
+ <davinci-core-drawer-navigation-item
423
+ data-icon="action/home"
424
+ label="Home"
425
+ route="/"
426
+ >
427
+ </davinci-core-drawer-navigation-item>
428
+ <davinci-core-drawer-navigation-item
429
+ data-icon="action/search"
430
+ label="Search"
431
+ route="/search"
432
+ >
433
+ </davinci-core-drawer-navigation-item>
434
+ <davinci-core-drawer-navigation-item
435
+ data-icon="social/person"
436
+ label="User"
437
+ route="/user"
438
+ expanded
439
+ active
440
+ >
441
+ <davinci-core-drawer-navigation-item
442
+ data-icon="action/bug_report"
443
+ label="Bugs"
444
+ route="/bugreports"
445
+ >
446
+ </davinci-core-drawer-navigation-item>
447
+ <davinci-core-drawer-navigation-item label="Logout" route="/user/logout">
448
+ </davinci-core-drawer-navigation-item>
449
+ </davinci-core-drawer-navigation-item>
450
+ <davinci-core-drawer-navigation-item
451
+ data-icon="action/bug_report"
452
+ label="Bugs"
453
+ route="/bugreports"
454
+ >
455
+ </davinci-core-drawer-navigation-item>
456
+ </davinci-core-drawer-navigation>
457
+
458
+ <!-- will become -->
459
+
460
+ <syn-side-nav>
461
+ <syn-nav-item>
462
+ <syn-icon name="home" slot="prefix"></syn-icon>
463
+ Home
464
+ </syn-nav-item>
465
+ <syn-nav-item divider>
466
+ <syn-icon name="search" slot="prefix"></syn-icon>
467
+ Search
468
+ </syn-nav-item>
469
+ <syn-nav-item divider open>
470
+ <syn-icon name="person" slot="prefix"></syn-icon>
471
+ User
472
+ <syn-nav-item slot="children">
473
+ <syn-icon name="bug_report" slot="prefix"></syn-icon>
474
+ Bugs
475
+ </syn-nav-item>
476
+ <syn-nav-item slot="children"> Logout </syn-nav-item>
477
+ </syn-nav-item>
478
+ <syn-nav-item divider>
479
+ <syn-icon name="bug_report" slot="prefix"></syn-icon>
480
+ Bugs
481
+ </syn-nav-item>
482
+ </syn-side-nav>
483
+ ```
484
+
485
+ #### Attribute changes
486
+
487
+ - removed "expanded". use "open" instead
488
+ - added "open"
489
+ - added "rail"
490
+ - added "no-focus-trapping"
491
+
492
+ #### Event changes
493
+
494
+ - removed "expanded". use "syn-show" and "syn-hide" instead
495
+ - added syn-show, syn-hide, syn-after-show, syn-after-hide
496
+
497
+ #### Slot changes
498
+
499
+ - default: removed support for "davinci-core-drawer-navigation-item"
500
+ - default: added support for "syn-nav-item"
501
+ - added "footer": support for "syn-nav-item"
502
+
503
+ ### davinci-core-drawer-navigation-item
504
+
505
+ | davinci-core-drawer-navigation-item | syn-nav-item |
506
+ | ------------------------------------------------------------------ | ----------------------------------------------------- |
507
+ | <img src="drawernavigationitem_davinci.png" style="width: 150px;"> | <img src="navitem_synergy.png" style="width: 150px;"> |
508
+
509
+ #### Examples
510
+
511
+ ```html
512
+ <davinci-core-drawer-navigation-item
513
+ data-icon="action/home"
514
+ label="Home"
515
+ route="/"
516
+ >
517
+ <davinci-core-drawer-navigation-item label="User" route="/user">
518
+ </davinci-core-drawer-navigation-item>
519
+ </davinci-core-drawer-navigation-item>
520
+
521
+ <!-- will become -->
522
+
523
+ <syn-nav-item divider>
524
+ <syn-icon name="home" slot="prefix"></syn-icon>
525
+ Home
526
+ <syn-nav-item slot="children" href="/user"> User </syn-nav-item>
527
+ </syn-nav-item>
528
+ ```
529
+
530
+ #### Attribute changes
531
+
532
+ - removed "label". use default slot instead
533
+ - removed "route". use "href" instead
534
+ - removed "expanded". use "open" instead
535
+ - removed "icon". use "prefix" slot instead
536
+ - removed "active". use "current" instead
537
+ - added "href"
538
+ - added "divider"
539
+ - added "current"
540
+
541
+ #### Event changes
542
+
543
+ - removed "navigate"
544
+ - added syn-show, syn-hide
545
+
546
+ #### Slot changes
547
+
548
+ - default: removed support for "davinci-core-drawer-navigation-item"
549
+ - default: refers to the item label
550
+ - added "prefix", "suffix" for adding icons
551
+ - added "children" for nested items (`syn-nav-item`)
552
+
553
+ ### davinci-core-header
554
+
555
+ | davinci-core-header | syn-header |
556
+ | ---------------------------------------------------- | ---------------------------------------------------- |
557
+ | <img src="header_davinci.png" style="width: 270px;"> | <img src="header_synergy.png" style="width: 250px;"> |
558
+
559
+ #### Examples
560
+
561
+ ```html
562
+ <davinci-core-header app-name="My App" apps user menu></davinci-core-header>
563
+
564
+ <!-- will become -->
565
+
566
+ <syn-header label="App Name">
567
+ <nav slot="meta-navigation">
568
+ <syn-icon-button color="neutral" name="apps" label="Apps"></syn-icon-button>
569
+ <syn-icon-button
570
+ color="neutral"
571
+ name="account_circle"
572
+ label="Account"
573
+ ></syn-icon-button>
574
+ <syn-icon-button
575
+ color="neutral"
576
+ name="more_vert"
577
+ label="More"
578
+ ></syn-icon-button>
579
+ </nav>
580
+ </syn-header>
581
+ ```
582
+
583
+ #### Attribute changes
584
+
585
+ - Removed all attributes (use "meta-navigation" slot instead)
586
+ - Added "show-burger-menu"
587
+
588
+ #### Event changes
589
+
590
+ - removed "pane-toggle"
591
+ - removed "button-click"
592
+ - added "syn-burger-menu-open"
593
+ - added "syn-burger-menu-closed"
594
+ - added "syn-burger-menu-hidden"
595
+
596
+ ### davinci-core-header2
597
+
598
+ | davinci-core-header2 | syn-header |
599
+ | ----------------------------------------------------- | ---------------------------------------------------- |
600
+ | <img src="header2_davinci.png" style="width: 250px;"> | <img src="header_synergy.png" style="width: 250px;"> |
601
+
602
+ #### Examples
603
+
604
+ ```html
605
+ <davinci-core-header2 app-name="My App">
606
+ <davinci-core-header-button
607
+ icon="navigation"
608
+ slot="left"
609
+ ></davinci-core-header-button>
610
+ <davinci-core-header-button icon="apps"></davinci-core-header-button>
611
+ <davinci-core-header-button icon="user"></davinci-core-header-button>
612
+ <davinci-flyout-menu>
613
+ <davinci-flyout-menu-item label="settings"></davinci-flyout-menu-item>
614
+ <davinci-flyout-menu-item label="language"></davinci-flyout-menu-item>
615
+ <davinci-flyout-menu-item label="user"></davinci-flyout-menu-item>
616
+ </davinci-flyout-menu>
617
+ </davinci-core-header2>
618
+
619
+ <!-- will become -->
620
+
621
+ <syn-header label="My App">
622
+ <nav slot="meta-navigation">
623
+ <syn-icon-button color="neutral" name="apps" label="Apps"></syn-icon-button>
624
+ <syn-icon-button
625
+ color="neutral"
626
+ name="account_circle"
627
+ label="Account"
628
+ ></syn-icon-button>
629
+ <syn-dropdown distance="10">
630
+ <syn-icon-button
631
+ slot="trigger"
632
+ color="neutral"
633
+ name="more_vert"
634
+ label="More"
635
+ ></syn-icon-button>
636
+ <syn-menu>
637
+ <syn-menu-item>setting</syn-menu-item>
638
+ <syn-menu-item>language</syn-menu-item>
639
+ <syn-menu-item>user</syn-menu-item>
640
+ </syn-menu>
641
+ </syn-dropdown>
642
+ </nav>
643
+ </syn-header>
644
+ ```
645
+
646
+ #### Attribute changes
647
+
648
+ - Removed all attributes (use "meta-navigation" slot instead)
649
+ - Added "show-burger-menu"
650
+
651
+ #### Event changes
652
+
653
+ - added "syn-burger-menu-open"
654
+ - added "syn-burger-menu-closed"
655
+ - added "syn-burger-menu-hidden"
656
+
657
+ ### davinci-core-header-button
658
+
659
+ Use the `syn-icon-button` instead
660
+
661
+ ### davinci-core-header-popout
662
+
663
+ | davinci-core-header-popout | syn-dropdown |
664
+ | ----------------------------------------------------------- | ------------------------------------------------------ |
665
+ | <img src="headerpopdown_davinci.png" style="width: 200px;"> | <img src="dropdown_synergy.png" style="width: 200px;"> |
666
+
667
+ #### Examples
668
+
669
+ ```html
670
+ <button id="ButtonID">open popdown</button>
671
+ <davinci-core-header-popdown autoclose target="#ButtonID">
672
+ <h1>My Content</h1>
673
+ <p>Some more text ...</p>
674
+ </davinci-core-header-popdown>
675
+
676
+ <!-- will become -->
677
+ <syn-dropdown>
678
+ <button slot="trigger">open dropdown</button>
679
+ <h1>My Content</h1>
680
+ <p>Some more text ...</p>
681
+ </syn-dropdown>
682
+ ```
683
+
684
+ #### Attribute changes
685
+
686
+ - removed "target". Use "trigger" slot instead
687
+ - added "placement", "distance", ...
688
+
689
+ #### Slot changes
690
+
691
+ - added "trigger"
692
+
693
+ ### davinci-core-navigation
694
+
695
+ | davinci-core-navigation | syn-prio-nav |
696
+ | -------------------------------------------------------- | ----------------------------------------------------- |
697
+ | <img src="navigation_davinci.png" style="width: 250px;"> | <img src="prionav_synergy.png" style="width: 250px;"> |
698
+
699
+ #### Examples
700
+
701
+ ```html
702
+ <davinci-core-navigation>
703
+ <davinci-core-navigation-item active route="/domains"
704
+ >Domains</davinci-core-navigation-item
705
+ >
706
+ <davinci-core-navigation-item route="/projects"
707
+ >Projects</davinci-core-navigation-item
708
+ >
709
+ <davinci-core-navigation-item route="/trainings"
710
+ >Trainings</davinci-core-navigation-item
711
+ >
712
+ </davinci-core-navigation>
713
+ <!-- will become -->
714
+ <syn-prio-nav>
715
+ <syn-nav-item href="/domains" current horizontal>Domains</syn-nav-item>
716
+ <syn-nav-item href="/projects" horizontal>Projects</syn-nav-item>
717
+ <syn-nav-item href="/trainings" horizontal>Trainings</syn-nav-item>
718
+ </syn-prio-nav>
719
+ ```
720
+
721
+ #### Attribute changes
722
+
723
+ - Removed "type"
724
+
725
+ #### Slot changes
726
+
727
+ - default: removed support for `davinci-core-navigation-item`
728
+ - default: added support for `syn-nav-item`
729
+
730
+ ### davinci-core-navigation-item
731
+
732
+ | davinci-core-navigation-item | syn-nav-item |
733
+ | ------------------------------------------------------------ | --------------------------------------------------------- |
734
+ | <img src="navigationitem_davinci.png" style="width: 100px;"> | <img src="navitemhorz_synergy.png" style="width: 100px;"> |
735
+
736
+ #### Examples
737
+
738
+ ```html
739
+ <davinci-core-navigation-item active route="/domains"
740
+ >Domains</davinci-core-navigation-item
741
+ >
742
+ <!-- will become -->
743
+ <syn-nav-item href="/domains" current horizontal>Domains</syn-nav-item>´
744
+ ```
745
+
746
+ #### Attribute changes
747
+
748
+ - Removed "type"
749
+ - Removed "active". use "current" instead
750
+ - Removed "route". use "href" instead
751
+ - Added "href"
752
+ - Added "horizontal"
753
+ - Added "current"
754
+
755
+ #### Slot changes
756
+
757
+ - added "prefix", "suffix"
758
+ - added "children"
759
+
760
+ ### davinci-dnd-file-chooser
761
+
762
+ Availability: milestone "Input 2"
763
+
764
+ | davinci-dnd-file-chooser | syn-file |
765
+ | ------------------------------------------------------------ | ------------------------------------------------------------ |
766
+ | <img src="dndfilechooser_davinci.png" style="width: 150px;"> | <img src="dndfilechooser_synergy.png" style="width: 150px;"> |
767
+
768
+ #### Examples
769
+
770
+ ```html
771
+ <davinci-dnd-file-chooser accept=".jpg, .png"></davinci-dnd-file-chooser>
772
+ <script>
773
+ const fileInput = document.querySelector("davinci-dnd-file-chooser");
774
+ fileInput.addEventListener("change", e => {
775
+ console.log("New files:", e.detail);
776
+ });
777
+ </script>
778
+
779
+ <!-- will become -->
780
+ <syn-file multiple accept=".jpg, .png" droparea></syn-file>
781
+ <script>
782
+ const fileInput = document.querySelector("syn-file");
783
+ fileInput.addEventListener("syn-change", e => {
784
+ console.log("New files:", e.target.files);
785
+ });
786
+ </script>
787
+ ```
788
+
789
+ #### Attribute changes
790
+
791
+ - Removed "label-browse"
792
+ - Removed "label-drop"
793
+ - Added "label"
794
+ - Added "help-text"
795
+ - Added "size"
796
+ - Added "droparea"
797
+ - Added "capture"
798
+ - Added "form"
799
+ - Added "required"
800
+ - Added "hide-value"
801
+ - Added "multiple"
802
+ - Added "name"
803
+ - Added "value"
804
+
805
+ #### Event changes
806
+
807
+ - Added "syn-change", "syn-input", "syn-error", "syn-blur", "syn-focus"
808
+
809
+ ### davinci-dropdown
810
+
811
+ | davinci-dropdown | syn-select |
812
+ | ------------------------------------------------------ | ---------------------------------------------------- |
813
+ | <img src="dropdown_davinci.png" style="width: 120px;"> | <img src="select_synergy.png" style="width: 120px;"> |
814
+
815
+ #### Examples
816
+
817
+ ```html
818
+ <davinci-drop-down onchange="(e)=>console.log(e.detail)">
819
+ <davinci-option value="1">One</davinci-option>
820
+ <davinci-option value="2">Two</davinci-option>
821
+ <davinci-option value="3">Three</davinci-option>
822
+ </davinci-drop-down>
823
+
824
+ <!-- will become -->
825
+ <syn-select>
826
+ <syn-option value="1">One</syn-option>
827
+ <syn-option value="2">Two</syn-option>
828
+ <syn-option value="3">Three</syn-option>
829
+ </syn-select>
830
+ <script>
831
+ document
832
+ .querySelector("syn-select")
833
+ .addEventListener("syn-change", e => console.log(e.target.value));
834
+ </script>
835
+ ```
836
+
837
+ #### Attribute changes
838
+
839
+ - Changed "value": space is not allowed anymore to select a value. A space is used to separate values in case "multiple" is set
840
+ - Added "clearable"
841
+ - Added "required"
842
+ - Added "max-options-visible"
843
+ - Added "multiple". If enabled it replaces the `davinci-multi-select`.
844
+ - Removed "editable". User cannot type characters anymore.
845
+ - Removed "icon" and "iconSrc". Use the prefix/suffix slots instead
846
+
847
+ #### Event changes
848
+
849
+ - added "syn-change", "syn-input", "syn-clear", "syn-hide", ...
850
+
851
+ ### davinci-dropdown (editable)
852
+
853
+ | davinci-dropdown (editable) | syn-combobox |
854
+ | ------------------------------------------------------ | ------------------------------------------------------ |
855
+ | <img src="combobox_davinci.png" style="width: 120px;"> | <img src="combobox_synergy.png" style="width: 120px;"> |
856
+
857
+ #### Examples
858
+
859
+ ```html
860
+ <davinci-drop-down id="colors" label="Colors" editable></davinci-drop-down>
861
+
862
+ <script>
863
+ const colors = ["Yellow", "Grey", "Green", "Blue", "Red"];
864
+ const dropdown = document.querySelector("#colors");
865
+ dropdown.data = colors;
866
+
867
+ dropdown.addEventListener("input", function (event) {
868
+ dropdown.expanded = true;
869
+ dropdown.data = colors.filter(function (value) {
870
+ return value.toLowerCase().indexOf(event.detail.toLowerCase()) >= 0;
871
+ });
872
+ });
873
+ </script>
874
+
875
+ <!-- will become -->
876
+ <syn-combobox label="Colors">
877
+ <syn-option value="Yellow">Yellow</syn-option>
878
+ <syn-option value="Grey">Grey</syn-option>
879
+ <syn-option value="Green">Green</syn-option>
880
+ <syn-option value="Blue">Blue</syn-option>
881
+ <syn-option value="Red">Red</syn-option>
882
+ </syn-combobox>
883
+ ```
884
+
885
+ #### Attribute changes
886
+
887
+ - Renamed "expanded" to "open
888
+ - Renamed "contentRenderer" to "getOption"
889
+ - Removed "editable". The user can type in the input on default
890
+ - Removed "icon" and "iconSrc". Use the prefix/suffix slots instead
891
+ - Removed "loading". Use the suffix slot for adding a spinner
892
+ - Removed "error" and "warning"
893
+ - Removed "wide-list". Could be achieved via changing the css property `width` of the ::part(listbox)
894
+ - Removed "data". Use the syn-option in the default slot
895
+ - Added "clearable"
896
+ - Added "required"
897
+ - Added "help-text"
898
+ - Added "size"
899
+ - Added "placeholder"
900
+ - Added "filter"
901
+
902
+ #### Event changes
903
+
904
+ - added "syn-change", "syn-input", "syn-clear", "syn-hide", ...
905
+
906
+ ### davinci-file-chooser
907
+
908
+ | davinci-file-chooser | syn-file |
909
+ | --------------------------------------------------------- | --------------------------------------------------------- |
910
+ | <img src="filechooser_davinci.png" style="width: 100px;"> | <img src="filechooser_synergy.png" style="width: 190px;"> |
911
+
912
+ #### Examples
913
+
914
+ ```html
915
+ <davinci-file-chooser multiple accept=".jpg, .png"
916
+ >Choose files</davinci-file-chooser
917
+ >
918
+ <script>
919
+ const fileInput = document.querySelector("davinci-file-chooser");
920
+ fileInput.addEventListener("change", e => {
921
+ console.log("New files:", e.detail);
922
+ });
923
+ </script>
924
+
925
+ <!-- will become -->
926
+ <syn-file multiple accept=".jpg, .png"></syn-file>
927
+ <script>
928
+ const fileInput = document.querySelector("syn-file");
929
+ fileInput.addEventListener("syn-change", e => {
930
+ console.log("New files:", e.target.files);
931
+ });
932
+ </script>
933
+ ```
934
+
935
+ #### Attribute changes
936
+
937
+ - Removed "button-type" due to accessibility and ux reasons. If other styles are needed, they can be set via css-part. Keep in mind, that also the `:hover` and `:active` states need to be adapted then. Also the "trigger" slot can be used, to add completely other content.
938
+ - Removed "icon" and "iconSrc". The button can not be visually changed and extended with icons
939
+ - Added "label"
940
+ - Added "help-text"
941
+ - Added "size"
942
+ - Added "droparea"
943
+ - Added "capture"
944
+ - Added "form"
945
+ - Added "required"
946
+ - Added "hide-value"
947
+
948
+ #### Event changes
949
+
950
+ - Added "syn-change", "syn-input", "syn-error", "syn-blur", "syn-focus"
951
+
952
+ ### davinci-flexi-slider
953
+
954
+ | davinci-flexi-slider | syn-range |
955
+ | ---------------------------------------------------------- | ---------------------------------------------------------- |
956
+ | <img src="flexi-slider_davinci.png" style="width: 200px;"> | <img src="flexi-slider_synergy.png" style="width: 200px;"> |
957
+
958
+ #### Examples
959
+
960
+ ```html
961
+ <davinci-flexi-slider
962
+ value="3"
963
+ value-set="[0,3,7,15,31,63]"
964
+ ></davinci-flexi-slider>
965
+
966
+ <!-- will become -->
967
+ <syn-range class="range" value="20" step="20">
968
+ <nav slot="ticks">
969
+ <syn-range-tick>0</syn-range-tick>
970
+ <syn-range-tick>3</syn-range-tick>
971
+ <syn-range-tick>7</syn-range-tick>
972
+ <syn-range-tick>15</syn-range-tick>
973
+ <syn-range-tick>31</syn-range-tick>
974
+ <syn-range-tick>63</syn-range-tick>
975
+ </nav>
976
+ </syn-range>
977
+ <style>
978
+ .range nav {
979
+ justify-content: space-between;
980
+ flex-direction: row;
981
+ display: flex;
982
+ }
983
+ </style>
984
+ ```
985
+
986
+ #### Attribute changes
987
+
988
+ - Renamed "ticks" to "step"
989
+ - Removed "legend". Use the "syn-range-tick".
990
+ - Removed "legend-labels". Use the "syn-range-tick". The label can be customized.
991
+ - Removed "unit". Use the "syn-range-tick". The label can be customized with the unit.
992
+ - Removed "icon-left", "icon-right", "icon-src-left", "icon-src-right". Use the prefix/suffix slots instead.
993
+ - Removed "show-value-field". Use the prefix/suffix slots instead.
994
+ - Removed "custom-value-to-label-converter". Use the "tooltipFormatter"
995
+ - Removed "value-set". Use the "syn-range-tick".
996
+ - Added "label"
997
+ - Added "help-text"
998
+ - Added "size"
999
+ - Added "form"
1000
+ - Added "name"
1001
+ - Added "tooltip-placement"
1002
+
1003
+ #### Event changes
1004
+
1005
+ - Added "syn-change", "syn-input", "syn-blur", "syn-focus", "syn-invalid", "syn-move"
1006
+
1007
+ ### davinci-flyout-menu
1008
+
1009
+ | davinci-flyout-menu | syn-dropdown/syn-menu |
1010
+ | -------------------------------------------------------- | ---------------------------------------------------------- |
1011
+ | <img src="flyoutmenu_davinci.png" style="width: 150px;"> | <img src="dropdownmenu_synergy.png" style="width: 150px;"> |
1012
+
1013
+ #### Examples
1014
+
1015
+ ```html
1016
+ <davinci-flyout-menu>
1017
+ <davinci-flyout-menu-item
1018
+ icon="action/build"
1019
+ label="settings"
1020
+ ></davinci-flyout-menu-item>
1021
+ <davinci-flyout-menu-item
1022
+ icon="action/language"
1023
+ label="language"
1024
+ ></davinci-flyout-menu-item>
1025
+ <davinci-flyout-menu-item
1026
+ icon="social/person"
1027
+ label="user"
1028
+ ></davinci-flyout-menu-item>
1029
+ </davinci-flyout-menu>
1030
+
1031
+ <!-- will become -->
1032
+ <syn-dropdown>
1033
+ <syn-icon-button label="trigger" name="more_vert" slot="trigger"
1034
+ >Dropdown</syn-icon-button
1035
+ >
1036
+ <syn-menu>
1037
+ <syn-menu-item>
1038
+ settings
1039
+ <syn-icon name="build" slot="prefix"></syn-icon>
1040
+ </syn-menu-item>
1041
+ <syn-menu-item>
1042
+ language
1043
+ <syn-icon name="language" slot="prefix"></syn-icon>
1044
+ </syn-menu-item>
1045
+ <syn-menu-item>
1046
+ user
1047
+ <syn-icon name="person" slot="prefix"></syn-icon>
1048
+ </syn-menu-item>
1049
+ </syn-menu>
1050
+ </syn-dropdown>
1051
+ ```
1052
+
1053
+ #### Attribute changes
1054
+
1055
+ - removed "left". use "placement='left' instead"
1056
+ - removed "icon" and "iconSrc". Use the trigger slot instead along with a syn-icon.
1057
+ - removed "icon-placeholder", "submenu-placeholder", "icon-placeholder", "external-control"
1058
+ - added "placement", "stay-open-on-select", "distance", "hoist", "skidding"
1059
+
1060
+ #### Event changes
1061
+
1062
+ - removed "menu-click"
1063
+ - added "syn-show", "syn-hide", ...
1064
+
1065
+ #### Event changes
1066
+
1067
+ - removed "menu-click". instead use "syn-select" on `syn-menu`
1068
+ - added "syn-show", "syn-hide"
1069
+
1070
+ ### davinci-flyout-menu-item
1071
+
1072
+ | davinci-flyout-menu-item | syn-menu-item |
1073
+ | --------------------------------------------------------- | ------------------------------------------------------ |
1074
+ | <img src="flyout_item_davinci.png" style="width: 200px;"> | <img src="menuitem_synergy.png" style="width: 200px;"> |
1075
+
1076
+ #### Examples
1077
+
1078
+ ```html
1079
+ <davinci-flyout-menu-item label="a menu-item with submenu" icon="social/person">
1080
+ <davinci-flyout-menu-item label="settings"></davinci-flyout-menu-item>
1081
+ <davinci-flyout-menu-item label="language"></davinci-flyout-menu-item>
1082
+ <davinci-flyout-menu-item label="user"></davinci-flyout-menu-item>
1083
+ </davinci-flyout-menu-item>
1084
+
1085
+ <!-- will become -->
1086
+
1087
+ <syn-menu-item>
1088
+ a menu-item with submenu
1089
+ <syn-icon slot="prefix" name="person"></syn-icon>
1090
+ <syn-menu slot="submenu">
1091
+ <syn-menu-item>settings</syn-menu-item>
1092
+ <syn-menu-item>language</syn-menu-item>
1093
+ <syn-menu-item>user</syn-menu-item>
1094
+ </syn-menu></syn-menu-item>
1095
+ </syn-menu>
1096
+ </syn-menu-item>
1097
+ ```
1098
+
1099
+ #### Attribute changes
1100
+
1101
+ - removed "icon" and "iconSrc". Use the prefix/suffix slots instead
1102
+ - removed "left"
1103
+ - removed "open"
1104
+ - removed "label". Use default slot instead
1105
+ - added "type" (e.g. 'checkbox')
1106
+ - added "checked"
1107
+ - added "loading"
1108
+
1109
+ #### Event changes
1110
+
1111
+ - removed "menu-click"
1112
+
1113
+ ### davinci-icon
1114
+
1115
+ | davinci-icon | syn-icon |
1116
+ | ------------------------------------------------ | ------------------------------------------------- |
1117
+ | <img src="icon_davinci.png" style="width: 50px"> | <img src="icon_synergy.png" style="width: 50px;"> |
1118
+
1119
+ #### Examples
1120
+
1121
+ ```html
1122
+ <davinci-icon icon="social/sentiment_very_satisfied"></davinci-icon>
1123
+
1124
+ <!-- will become -->
1125
+ <syn-icon name="sentiment_satisfied_alt"></syn-icon>
1126
+ ```
1127
+
1128
+ #### Resource loading
1129
+
1130
+ In contrast to DaVinci, the icons are not bundled into Synergy. Instead the developer has to make sure the icon resources are [loaded upfront](https://synergy-design-system.github.io/iframe.html?viewMode=docs&id=components-syn-icon--docs&args=#how-to-use-a-custom-icon-library).
1131
+
1132
+ #### Attribute changes
1133
+
1134
+ - removed "icon". Use "name" instead
1135
+ - added "name"
1136
+
1137
+ ### davinci-icon-ref
1138
+
1139
+ | davinci-icon-ref | syn-icon |
1140
+ | --------------------------------------------------- | ---------------------------------------------------- |
1141
+ | <img src="iconref_davinci.png" style="width: 50px"> | <img src="iconsrc_synergy.png" style="width: 50px;"> |
1142
+
1143
+ #### Examples
1144
+
1145
+ ```html
1146
+ <davinci-icon-ref
1147
+ src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M17 10H7v2h10v-2zm2-7h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zm-5-5H7v2h7v-2z'/%3E%3C/svg%3E"
1148
+ ></davinci-icon-ref>
1149
+
1150
+ <!-- will become -->
1151
+ <syn-icon
1152
+ src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M17 10H7v2h10v-2zm2-7h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zm-5-5H7v2h7v-2z'/%3E%3C/svg%3E"
1153
+ style="font-size: 1.7rem;"
1154
+ ></syn-icon>
1155
+ ```
1156
+
1157
+ ### davinci-link
1158
+
1159
+ | davinci-link | syn-button |
1160
+ | ------------------------------------------------- | -------------------------------------------------------- |
1161
+ | <img src="link_davinci.png" style="width: 100px"> | <img src="buttontext_synergy.png" style="width: 110px;"> |
1162
+
1163
+ #### Examples
1164
+
1165
+ ```html
1166
+ <davinci-link icon="action/favorite" href="#">Favorite!</davinci-link>
1167
+
1168
+ <!-- will become -->
1169
+
1170
+ <syn-button variant="text" href="#"
1171
+ ><syn-icon slot="prefix" name="favorite"></syn-icon>Favorite!</syn-button
1172
+ >
1173
+ ```
1174
+
1175
+ #### Attributes
1176
+
1177
+ - Removed: "icon" and "iconSrc". Use prefix slot instead
1178
+ - Removed: "inverted"
1179
+ - Removed: "inside-text"
1180
+
1181
+ #### Slots
1182
+
1183
+ - Added "prefix" and "suffix"
1184
+
1185
+ ### davinci-multi-select
1186
+
1187
+ | davinci-multi-select | syn-select |
1188
+ | -------------------------------------------------------- | ------------------------------------------------------------ |
1189
+ | <img src="multiselect_davinci.png" style="width: 100px"> | <img src="selectmultiple_synergy.png" style="width: 120px;"> |
1190
+
1191
+ #### Examples
1192
+
1193
+ ```html
1194
+ <davinci-multi-select onchange="(e)=>console.log(e.detail)">
1195
+ <davinci-option value="1">One</davinci-option>
1196
+ <davinci-option value="2">Two</davinci-option>
1197
+ <davinci-option value="3">Three</davinci-option>
1198
+ </davinci-multi-select>
1199
+
1200
+ <!-- will become -->
1201
+ <syn-select multiple>
1202
+ <syn-option value="1">One</syn-option>
1203
+ <syn-option value="2">Two</syn-option>
1204
+ <syn-option value="3">Three</syn-option>
1205
+ </syn-select>
1206
+ <script>
1207
+ document
1208
+ .querySelector("syn-select")
1209
+ .addEventListener("syn-change", e => console.log(e.target.value));
1210
+ </script>
1211
+ ```
1212
+
1213
+ #### Attribute changes
1214
+
1215
+ - removed "editable"
1216
+ - removed "error" and "warning". use part selector for styling instead or the "required" attribute in forms
1217
+ - removed "data"
1218
+ - removed "expanded". Use "open" instead
1219
+ - Added "multiple"
1220
+ - added "open"
1221
+ - Added "required"
1222
+ - Added "max-options-visible"
1223
+
1224
+ #### Event changes
1225
+
1226
+ - added "syn-change", "syn-input", "syn-clear", "syn-hide", ...
1227
+ - removed "input"
1228
+ - removed "change"
1229
+ - removed "contentRenderer"
1230
+
1231
+ ### davinci-number-input / davinci-numeric-field
1232
+
1233
+ | davinci-number-input | syn-input |
1234
+ | -------------------------------------------------------- | --------------------------------------------------------- |
1235
+ | <img src="numberinput_davinci.png" style="width: 100px"> | <img src="inputnumber_synergy.png" style="width: 130px;"> |
1236
+
1237
+ #### Examples
1238
+
1239
+ ##### Suffix
1240
+
1241
+ ```html
1242
+ <davinci-number-input
1243
+ label="Number input"
1244
+ value="0"
1245
+ unit-suffix="mm"
1246
+ ></davinci-number-input>
1247
+
1248
+ <!-- will become -->
1249
+ <syn-input type="number" label="Number input" value="0"
1250
+ ><span slot="suffix" style="color: var(--syn-color-neutral-700)"
1251
+ >mm</span
1252
+ ></syn-input
1253
+ >
1254
+ ```
1255
+
1256
+ ##### Bare
1257
+
1258
+ ```html
1259
+ <davinci-number-input
1260
+ label="Number input"
1261
+ value="0"
1262
+ bare
1263
+ ></davinci-number-input>
1264
+
1265
+ <!-- will become -->
1266
+ <syn-input
1267
+ class="bare"
1268
+ type="number"
1269
+ label="Number input"
1270
+ value="0"
1271
+ no-spin-buttons
1272
+ ><span slot="suffix" style="color: var(--syn-color-neutral-700)"
1273
+ >mm</span
1274
+ ></syn-input
1275
+ >
1276
+ ```
1277
+
1278
+ ##### Customized digits
1279
+
1280
+ ```html
1281
+ <davinci-number-input
1282
+ label="Number input"
1283
+ value="0"
1284
+ max-fraction-digits="2"
1285
+ ></davinci-number-input>
1286
+
1287
+ <!-- will become -->
1288
+ <syn-input
1289
+ class="two_digits_max"
1290
+ type="number"
1291
+ label="Number input"
1292
+ value="0"
1293
+ ></syn-input>
1294
+ <script>
1295
+ document
1296
+ .querySelector(".two_digits_max")
1297
+ .addEventListener("syn-blur", function () {
1298
+ this.value = parseFloat(this.value).toFixed(2);
1299
+ });
1300
+ </script>
1301
+ ```
1302
+
1303
+ #### Attribute changes
1304
+
1305
+ - changed type of "value" from number to string. Use "valueAsNumber" property instead
1306
+ - removed "bare". use "no-spin-buttons" instead
1307
+ - removed "converter". string to number conversion has to be implemented outside of the element
1308
+ - removed "error" and "warn". use part selector for styling instead or the "required" attribute in forms
1309
+ - removed "unit-prefix" and "unit-suffix". use slots "prefix" and "suffix" instead
1310
+ - removed "no-step-align". alignment is done the same way it is done with the default `input`element (depends on the start-value)
1311
+ - removed "touch". the provided stepper buttons are already touch ready
1312
+ - removed "min-fraction-digits" and "max-fraction-digits". Has to be implemented outside of the element
1313
+ - added "clearable"
1314
+ - added "required"
1315
+ - added "no-spin-buttons"
1316
+ - added "help-text"
1317
+
1318
+ #### Slot changes
1319
+
1320
+ - added "prefix" and "suffix"
1321
+ - added "clear-icon"
1322
+ - added "increment-number-stepper" and "decrement-number-stepper"
1323
+
1324
+ ### davinci-popup-list
1325
+
1326
+ | davinci-popup-list | syn-menu |
1327
+ | ------------------------------------------------------ | ------------------------------------------------- |
1328
+ | <img src="popuplist_davinci.png" style="width: 100px"> | <img src="menu_synergy.png" style="width: 80px;"> |
1329
+
1330
+ ```html
1331
+ <davinci-popup-list></davinci-popup-list>
1332
+ <script>
1333
+ let elem = document.querySelector("davinci-popup-list");
1334
+ elem.addItem("One", "1");
1335
+ elem.addItem("Two", "2");
1336
+ elem.addItem("Three", "3");
1337
+ elem.addEventListener("itemclick", event => {
1338
+ console.log(elem.getSelectedItem());
1339
+ });
1340
+ </script>
1341
+ <!-- will become -->
1342
+ <syn-menu>
1343
+ <syn-menu-item value="1">one</syn-menu-item>
1344
+ <syn-menu-item value="2">two</syn-menu-item>
1345
+ <syn-menu-item value="3">three</syn-menu-item>
1346
+ </syn-menu>
1347
+
1348
+ <script>
1349
+ let elem = document.querySelector("syn-menu");
1350
+ elem.addEventListener("syn-select", event => {
1351
+ console.log(event.item);
1352
+ });
1353
+ </script>
1354
+ ```
1355
+
1356
+ #### Attribute changes
1357
+
1358
+ - removed "index". use "syn-select" event instead
1359
+ - removed "show". use css "display" attribute instead
1360
+ - removed "opentop". this is handled by the parent element
1361
+
1362
+ #### Event changes
1363
+
1364
+ - removed "itemclick"
1365
+ - added "syn-select"
1366
+
1367
+ ### davinci-progress-line
1368
+
1369
+ | davinci-progress-line | syn-progress-bar |
1370
+ | --------------------------------------------------------- | -------------------------------------------------------- |
1371
+ | <img src="progressline_davinci.png" style="width: 100px"> | <img src="progressbar_synergy.png" style="width: 100px"> |
1372
+
1373
+ #### Examples
1374
+
1375
+ ```html
1376
+ <davinci-progress-line percentage="33"></davinci-progress-line>
1377
+
1378
+ <!-- will become -->
1379
+
1380
+ <syn-progress-bar value="33">33%</syn-progress-bar>
1381
+ ```
1382
+
1383
+ #### Attribute changes
1384
+
1385
+ - changed the meaning of "label". Not used as a caption anymore but as an accessibility feature. Use a separate element instead (e.g. `<h2>`)
1386
+ - removed "message". Use a separate element instead (e.g. `<p>`)
1387
+ - removed "percentage". Use "value" in combination with the default slot instead
1388
+ - added "value"
1389
+ - added "indeterminate"
1390
+
1391
+ #### Slot changes
1392
+
1393
+ - the default slot is displayed inside the bar. Use it e.g. for displaying the percentage value
1394
+
1395
+ ### davinci-radio-button
1396
+
1397
+ | davinci-radio-button | syn-radio |
1398
+ | -------------------------------------------------------- | --------------------------------------------------- |
1399
+ | <img src="radiobutton_davinci.png" style="width: 100px"> | <img src="radio_synergy.png" style="width: 110px;"> |
1400
+
1401
+ ```html
1402
+ <p><strong>This is a label</strong></p>
1403
+ <davinci-toggle-group value="value1">
1404
+ <davinci-radio-button value="value1">value 1</davinci-radio-button>
1405
+ <davinci-radio-button value="value2">value 2</davinci-radio-button>
1406
+ <davinci-radio-button value="value3">value 3</davinci-radio-button>
1407
+ </davinci-toggle-group>
1408
+
1409
+ <!-- will become -->
1410
+ <syn-radio-group value="1" label="This is a label">
1411
+ <syn-radio value="1">Option</syn-radio>
1412
+ <syn-radio value="2">Option</syn-radio>
1413
+ <syn-radio value="3">Option</syn-radio>
1414
+ </syn-radio-group>
1415
+ ```
1416
+
1417
+ ### davinci-range-slider
1418
+
1419
+ | davinci-range-slider | syn-range |
1420
+ | ---------------------------------------------------------- | ---------------------------------------------------------- |
1421
+ | <img src="range-slider_davinci.png" style="width: 200px;"> | <img src="range-slider_synergy.png" style="width: 200px;"> |
1422
+
1423
+ #### Examples
1424
+
1425
+ ```html
1426
+ <davinci-range-slider value="[30, 70]"></davinci-range-slider>
1427
+
1428
+ <!-- will become -->
1429
+ <syn-range class="range" value="30 70"></syn-range>
1430
+ <script type="module">
1431
+ const range = document.querySelector(".range");
1432
+ range.addEventListener("syn-move", e => {
1433
+ const { detail, target } = e;
1434
+ const values = target.valueAsArray;
1435
+ const { element, value } = detail;
1436
+
1437
+ const [firstThumb, lastThumb] = target.thumbs;
1438
+ const [firstValue, lastValue] = values;
1439
+
1440
+ if (element === firstThumb && value > lastValue) {
1441
+ e.preventDefault();
1442
+ target.valueAsArray = [lastValue, lastValue];
1443
+ }
1444
+
1445
+ if (element === lastThumb && value < firstValue) {
1446
+ e.preventDefault();
1447
+ target.valueAsArray = [firstValue, firstValue];
1448
+ }
1449
+ });
1450
+ </script>
1451
+ ```
1452
+
1453
+ #### Attribute changes
1454
+
1455
+ - Renamed "ticks" to "step"
1456
+ - Removed "legend". Use the "syn-range-tick".
1457
+ - Removed "legend-labels". Use the "syn-range-tick". The label can be customized.
1458
+ - Removed "unit". Use the "syn-range-tick". The label can be customized with the unit.
1459
+ - Removed "icon-left", "icon-right", "icon-src-left", "icon-src-right". Use the prefix/suffix slots instead.
1460
+ - Removed "show-value-field". Use the prefix/suffix slots instead.
1461
+ - Removed "custom-value-to-label-converter". Use the "tooltipFormatter"
1462
+ - Removed "value-set". Use the "syn-range-tick".
1463
+ - Added "label"
1464
+ - Added "help-text"
1465
+ - Added "size"
1466
+ - Added "form"
1467
+ - Added "name"
1468
+ - Added "tooltip-placement"
1469
+
1470
+ #### Event changes
1471
+
1472
+ - Added "syn-change", "syn-input", "syn-blur", "syn-focus", "syn-invalid", "syn-move"
1473
+
1474
+ ### davinci-search-field
1475
+
1476
+ | davinci-search-field | syn-combobox |
1477
+ | ----------------------------------------------------------- | ----------------------------------------------------------- |
1478
+ | <img src="search_field_davinci.png" style="width: 150px;"/> | <img src="search-field_synergy.png" style="width: 120px;"/> |
1479
+
1480
+ #### Examples
1481
+
1482
+ ```html
1483
+ <davinci-search-field id="searchfield" label="Colors"> </davinci-search-field>
1484
+ <script>
1485
+ const colors = ["Yellow", "Grey", "Green", "Blue", "Red"];
1486
+ const searchField = document.getElementById("searchfield");
1487
+ searchField.addEventListener("input", function (event) {
1488
+ searchField.expanded = true;
1489
+ searchField.data = colors.filter(function (value) {
1490
+ return value.toLowerCase().indexOf(event.detail.toLowerCase()) >= 0;
1491
+ });
1492
+ });
1493
+ </script>
1494
+
1495
+ <!-- will become -->
1496
+ <syn-combobox label="Colors" clearable>
1497
+ <syn-icon name="search" slot="prefix"></syn-icon>
1498
+ <syn-option value="Yellow">Yellow</syn-option>
1499
+ <syn-option value="Grey">Grey</syn-option>
1500
+ <syn-option value="Green">Green</syn-option>
1501
+ <syn-option value="Blue">Blue</syn-option>
1502
+ <syn-option value="Red">Red</syn-option>
1503
+ </syn-combobox>
1504
+ ```
1505
+
1506
+ #### Attribute changes
1507
+
1508
+ - Renamed "expanded" to "open
1509
+ - Renamed "contentRenderer" to "getOption"
1510
+ - Removed "icon" and "iconSrc". Use the prefix/suffix slots instead
1511
+ - Removed "loading". Use the suffix slot for adding a spinner
1512
+ - Removed "error" and "warning"
1513
+ - Removed "wide-list". Could be achieved via changing the css property `width` of the ::part(listbox)
1514
+ - Removed "data". Use the syn-option in the default slot
1515
+ - Added "clearable"
1516
+ - Added "required"
1517
+ - Added "help-text"
1518
+ - Added "size"
1519
+ - Added "placeholder"
1520
+ - Added "filter"
1521
+
1522
+ #### Event changes
1523
+
1524
+ - added "syn-change", "syn-input", "syn-clear", "syn-hide", ...
1525
+
1526
+ ### davinci-slider
1527
+
1528
+ | davinci-slider | syn-range |
1529
+ | ---------------------------------------------------- | ---------------------------------------------------- |
1530
+ | <img src="slider_davinci.png" style="width: 200px;"> | <img src="slider_synergy.png" style="width: 200px;"> |
1531
+
1532
+ #### Examples
1533
+
1534
+ ```html
1535
+ <davinci-slider
1536
+ legend
1537
+ icon-left="av/volume_mute"
1538
+ value="50"
1539
+ icon-right="av/volume_up"
1540
+ ></davinci-slider>
1541
+
1542
+ <!-- will become -->
1543
+ <syn-range class="range" max="100" min="0" value="50">
1544
+ <syn-icon name="volume_off" slot="prefix"></syn-icon>
1545
+ <syn-icon name="volume_up" slot="suffix"></syn-icon>
1546
+ <nav slot="ticks">
1547
+ <syn-range-tick>0</syn-range-tick>
1548
+ <syn-range-tick>50</syn-range-tick>
1549
+ <syn-range-tick>100</syn-range-tick>
1550
+ </nav>
1551
+ </syn-range>
1552
+ <style>
1553
+ .range nav {
1554
+ justify-content: space-between;
1555
+ flex-direction: row;
1556
+ display: flex;
1557
+ }
1558
+ </style>
1559
+ ```
1560
+
1561
+ #### Attribute changes
1562
+
1563
+ - Renamed "ticks" to "step"
1564
+ - Removed "legend". Use the "syn-range-tick".
1565
+ - Removed "legend-labels". Use the "syn-range-tick". The label can be customized.
1566
+ - Removed "unit". Use the "syn-range-tick". The label can be customized with the unit.
1567
+ - Removed "icon-left", "icon-right", "icon-src-left", "icon-src-right". Use the prefix/suffix slots instead.
1568
+ - Removed "show-value-field". Use the prefix/suffix slots instead.
1569
+ - Removed "custom-value-to-label-converter". Use the "tooltipFormatter"
1570
+ - Removed "value-set". Use the "syn-range-tick".
1571
+ - Added "label"
1572
+ - Added "help-text"
1573
+ - Added "size"
1574
+ - Added "form"
1575
+ - Added "name"
1576
+ - Added "tooltip-placement"
1577
+
1578
+ #### Event changes
1579
+
1580
+ - Added "syn-change", "syn-input", "syn-blur", "syn-focus", "syn-invalid", "syn-move"
1581
+
1582
+ ### davinci-spinner
1583
+
1584
+ | davinci-spinner | syn-spinner |
1585
+ | --------------------------------------------------- | --------------------------------------------------- |
1586
+ | <img src="spinner_davinci.png" style="width: 50px"> | <img src="spinner_synergy.png" style="width: 50px"> |
1587
+
1588
+ #### Attribute changes
1589
+
1590
+ - Removed "label"
1591
+ - Removed "below"
1592
+
1593
+ ### davinci-tab
1594
+
1595
+ | davinci-tab | syn-tab |
1596
+ | ------------------------------------------------ | ------------------------------------------------- |
1597
+ | <img src="tab_davinci.png" style="width: 100px"> | <img src="tab_synergy.png" style="width: 130px;"> |
1598
+
1599
+ #### Examples
1600
+
1601
+ ```html
1602
+ <davinci-tab label="Tab1">any content</davinci-tab>
1603
+
1604
+ <!-- will become -->
1605
+ <syn-tab slot="nav" panel="p1">Tab item</syn-tab>
1606
+ <syn-tab-panel name="p1">any content</syn-tab-panel>
1607
+ ```
1608
+
1609
+ #### Attribute changes
1610
+
1611
+ - removed "icon" and "icon-src". use the default slot instead to add an icon
1612
+ - removed "selected". use "active" instead
1613
+ - removed "label". use the default slot instead
1614
+ - added "panel". The name of the tab panel this tab is associated with. A `syn-tab-panel` is an additional element which is used instead of the default slot
1615
+ - added "active"
1616
+ - added "closable". Used instead of the parents davinci-tabs "closeable"
1617
+
1618
+ #### Event changes
1619
+
1620
+ - added "syn-close" which is emitted if the close button is triggered. The application is responsible of removing the current tab
1621
+
1622
+ #### Slot changes
1623
+
1624
+ - The default slot is used as label. The content is now added via `syn-tab-panel`
1625
+
1626
+ ### davinci-tabs
1627
+
1628
+ | davinci-tabs | syn-tab-group |
1629
+ | ------------------------------------------------- | ------------------------------------------------------ |
1630
+ | <img src="tabs_davinci.png" style="width: 150px"> | <img src="tabgroup_synergy.png" style="width: 150px;"> |
1631
+
1632
+ #### Examples
1633
+
1634
+ ##### Simple
1635
+
1636
+ ```html
1637
+ <davinci-tabs>
1638
+ <davinci-tab label="Tab1">any content</davinci-tab>
1639
+ <davinci-tab selected label="Tab2">any other</davinci-tab>
1640
+ </davinci-tabs>
1641
+
1642
+ <!-- will become -->
1643
+ <syn-tab-group>
1644
+ <syn-tab-panel name="t1">any content</syn-tab-panel>
1645
+ <syn-tab-panel name="t2" active>any other</syn-tab-panel>
1646
+ <syn-tab slot="nav" panel="t1">Tab1</syn-tab>
1647
+ <syn-tab slot="nav" panel="t2" active>Tab2</syn-tab>
1648
+ </syn-tab-group>
1649
+ ```
1650
+
1651
+ ##### Closable
1652
+
1653
+ ```html
1654
+ <davinci-tabs closeable>
1655
+ <davinci-tab label="Tab1">any content</davinci-tab>
1656
+ <davinci-tab selected label="Tab2">any other</davinci-tab>
1657
+ </davinci-tabs>
1658
+
1659
+ <!-- will become -->
1660
+ <syn-tab-group id="tabs-closable">
1661
+ <syn-tab-panel name="t1">any content</syn-tab-panel>
1662
+ <syn-tab-panel name="t2" active>any other</syn-tab-panel>
1663
+ <syn-tab closable slot="nav" panel="t1">Tab1</syn-tab>
1664
+ <syn-tab closable slot="nav" panel="t2" active>Tab2</syn-tab>
1665
+ </syn-tab-group>
1666
+
1667
+ <script type="module">
1668
+ const tabGroup = document.querySelector("#tabs-closable");
1669
+ tabGroup.addEventListener("syn-close", async event => {
1670
+ const tab = event.target;
1671
+ const panel = tabGroup.querySelector(`syn-tab-panel[name="${tab.panel}"]`);
1672
+
1673
+ // Show the previous tab if the tab is currently active
1674
+ if (tab.active) {
1675
+ tabGroup.show(tab.previousElementSibling.panel);
1676
+ }
1677
+
1678
+ // Remove the tab + panel
1679
+ tab.remove();
1680
+ panel.remove();
1681
+ });
1682
+ </script>
1683
+ ```
1684
+
1685
+ #### Attribute changes
1686
+
1687
+ - removed "type". Use "contained" and "sharp" to change styles
1688
+ - removed "closeable". Use "closable" on a `syn-tab` instead
1689
+ - removed "select-index". Use "active" on a `syn-tab` instead
1690
+ - added "placement" for placing the tabs on different positions
1691
+ - added "no-scroll-controls"
1692
+ - added "contained"
1693
+ - added "sharp"
1694
+
1695
+ #### Event changes
1696
+
1697
+ - removed "tab-change ". Use "syn-tab-show" and/or "syn-tab-hide" instead
1698
+ - removed "close-tab". Use "syn-close" of `syn-tab` instead. Removing the tab is the responsibility of the application
1699
+ - added "syn-tab-show"
1700
+ - added "syn-tab-hide"
1701
+
1702
+ #### Slot changes
1703
+
1704
+ - default slot: expects a `syn-tab-panel` which represents the content of a tab
1705
+ - added nav slot. Must be a `syn-tab`
1706
+
1707
+ ### davinci-tag
1708
+
1709
+ | davinci-tag | syn-tag |
1710
+ | ----------------------------------------------- | ------------------------------------------------ |
1711
+ | <img src="tag_davinci.png" style="width: 80px"> | <img src="tag_synergy.png" style="width: 80px;"> |
1712
+
1713
+ #### Examples
1714
+
1715
+ ```html
1716
+ <davinci-tag type="filter">myTag</davinci-tag>
1717
+
1718
+ <!-- will become -->
1719
+ <syn-tag removable>myTag</syn-tag>
1720
+ ```
1721
+
1722
+ #### Attribute changes
1723
+
1724
+ - removed "icon-src"
1725
+ - removed "type". use "removable" instead
1726
+ - added "removable"
1727
+
1728
+ #### Event changes
1729
+
1730
+ - removed "remove". use "syn-remove" instead
1731
+ - added "syn-remove"
1732
+
1733
+ ### davinci-tag-module
1734
+
1735
+ | davinci-tag-module | syn-tag, div |
1736
+ | ------------------------------------------------------ | -------------------------------------------------- |
1737
+ | <img src="tagmodule_davinci.png" style="width: 180px"> | <img src="tags_synergy.png" style="width: 180px;"> |
1738
+
1739
+ #### Examples
1740
+
1741
+ ```html
1742
+ <davinci-tag-module label-clear="clear all">
1743
+ <davinci-tag type="filter">tag1</davinci-tag>
1744
+ <davinci-tag type="filter">tag2</davinci-tag>
1745
+ <davinci-tag>tag3</davinci-tag>
1746
+ </davinci-tag-module>
1747
+
1748
+ <!-- will become -->
1749
+ <div
1750
+ id="tags"
1751
+ style="border: solid grey; padding:10px; display: flex; gap: var(--syn-spacing-medium); align-items:center"
1752
+ >
1753
+ <syn-tag removable> tag1 </syn-tag>
1754
+ <syn-tag removable> tag2 </syn-tag>
1755
+ <syn-tag> tag3 </syn-tag>
1756
+ <a
1757
+ href="javascript:Array.from(window.tags.children).filter(e=>e.localName==='syn-tag').forEach(e=>e.remove())
1758
+ "
1759
+ >clear all</a
1760
+ >
1761
+ </div>
1762
+ <script>
1763
+ window.tags.addEventListener("syn-remove", e => e.target.remove());
1764
+ </script>
1765
+ ```
1766
+
1767
+ ### davinci-text-area
1768
+
1769
+ | davinci-text-area | syn-textarea |
1770
+ | ----------------------------------------------------- | ------------------------------------------------------ |
1771
+ | <img src="textarea_davinci.png" style="width: 150px"> | <img src="textarea_synergy.png" style="width: 150px;"> |
1772
+
1773
+ #### Examples
1774
+
1775
+ ```html
1776
+ <davinci-text-area
1777
+ multiline
1778
+ label="Label"
1779
+ value="Input text"
1780
+ ></davinci-text-area>
1781
+
1782
+ <!-- will become -->
1783
+ <syn-textarea value="Input text" label="Label"></syn-textarea>
1784
+ ```
1785
+
1786
+ #### Attribute changes
1787
+
1788
+ - removed "multiline". Use "rows" and "resize" instead
1789
+ - removed "error" and "warning". use part selector for styling instead or the "required" attribute in forms
1790
+ - added "help-text"
1791
+ - added "rows"
1792
+ - added "resize"
1793
+ - added "minlength", "maxlength"
1794
+ - added "autocapitalize", "autocorrect", "autocomplete", "autofocus", ...
1795
+
1796
+ #### Event changes
1797
+
1798
+ - removed "change"
1799
+ - removed "input"
1800
+ - added "syn-change"
1801
+ - added "syn-input"
1802
+
1803
+ ### davinci-text-field
1804
+
1805
+ | davinci-text-field | syn-input |
1806
+ | ------------------------------------------------------ | --------------------------------------------------- |
1807
+ | <img src="textfield_davinci.png" style="width: 120px"> | <img src="input_synergy.png" style="width: 120px;"> |
1808
+
1809
+ #### Examples
1810
+
1811
+ ```html
1812
+ <davinci-text-field
1813
+ label="Email"
1814
+ placeholder="enter a valid email"
1815
+ pattern="^[a-zA-Z0-9.!#$%&’*+/=?^_{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)"
1816
+ >
1817
+ </davinci-text-field>
1818
+
1819
+ <!-- will become -->
1820
+ <syn-input label="Email" type="email" placeholder="enter a valid email">
1821
+ </syn-input>
1822
+ ```
1823
+
1824
+ #### Attribute changes
1825
+
1826
+ - removed "error" and "warning"
1827
+ - added "clearable"
1828
+ - added "password-toggle" and "password-visible"
1829
+ - added "minlength" and "maxlength"
1830
+ - added "inputmode"
1831
+ - added "help-text"
1832
+
1833
+ #### Slot changes
1834
+
1835
+ - added "prefix" and "suffix"
1836
+ - added "clear-icon"
1837
+
1838
+ ### davinci-toggle-switch
1839
+
1840
+ | davinci-toggle-switch | syn-switch |
1841
+ | -------------------------------------------------------- | --------------------------------------------------- |
1842
+ | <img src="toggleswitch_davinci.png" style="width: 50px"> | <img src="switch_synergy.png" style="width: 50px;"> |
1843
+
1844
+ #### Examples
1845
+
1846
+ ```html
1847
+ <davinci-toggle-switch checked></davinci-toggle-switch>
1848
+ <!-- will become -->
1849
+ <syn-switch checked>Option</syn-switch>
1850
+ ```
1851
+
1852
+ #### Attribute changes
1853
+
1854
+ - removed "icon-on", "icon-off", "icon-on-src", "icon-off-src"
1855
+ - added "help-text"
1856
+
1857
+ ### davinci-value-display
1858
+
1859
+ Availability: not planned