@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,271 @@
1
+ ## Default
2
+
3
+ Drawers slide in from a container to expose additional options and information.
4
+
5
+ ```html
6
+ <syn-drawer open="" label="Drawer" placement="end">
7
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
8
+
9
+ <span slot="footer"> </span>
10
+ <syn-button
11
+ class="close-icon"
12
+ slot="footer"
13
+ variant="filled"
14
+ title=""
15
+ size="medium"
16
+ >Close</syn-button
17
+ >
18
+ <span slot="footer"> </span>
19
+ <span slot="footer"> </span>
20
+ </syn-drawer>
21
+
22
+ <syn-button
23
+ class="drawer-default-story-opener story-loaded"
24
+ title=""
25
+ variant="outline"
26
+ size="medium"
27
+ >Open Drawer</syn-button
28
+ >
29
+ ```
30
+
31
+ ---
32
+
33
+ ## Slide In From Start
34
+
35
+ By default, drawers slide in from the end. To make the drawer slide in from the start, set the placement attribute to start.
36
+
37
+ ```html
38
+ <syn-drawer
39
+ label="Drawer"
40
+ open=""
41
+ placement="start"
42
+ class="drawer-placement-start"
43
+ >
44
+ This drawer slides in from the start.
45
+ <syn-button slot="footer" variant="filled" title="" size="medium"
46
+ >Close</syn-button
47
+ >
48
+ </syn-drawer>
49
+
50
+ <syn-button title="" variant="outline" size="medium">Open Drawer</syn-button>
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Slide In From Top
56
+
57
+ To make the drawer slide in from the top, set the placement attribute to top.
58
+
59
+ ```html
60
+ <syn-drawer label="Drawer" open="" placement="top" class="drawer-placement-top">
61
+ This drawer slides in from the top.
62
+ <syn-button slot="footer" variant="filled" title="" size="medium"
63
+ >Close</syn-button
64
+ >
65
+ </syn-drawer>
66
+
67
+ <syn-button title="" variant="outline" size="medium">Open Drawer</syn-button>
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Slide In From Bottom
73
+
74
+ To make the drawer slide in from the bottom, set the placement attribute to bottom.
75
+
76
+ ```html
77
+ <syn-drawer
78
+ label="Drawer"
79
+ open=""
80
+ placement="bottom"
81
+ class="drawer-placement-bottom"
82
+ >
83
+ This drawer slides in from the bottom.
84
+ <syn-button slot="footer" variant="filled" title="" size="medium"
85
+ >Close</syn-button
86
+ >
87
+ </syn-drawer>
88
+
89
+ <syn-button title="" variant="outline" size="medium">Open Drawer</syn-button>
90
+ ```
91
+
92
+ ---
93
+
94
+ ## Contained To An Element
95
+
96
+ By default, drawers slide out of their containing block, which is usually the viewport. To make a drawer slide out of a parent element, add the contained attribute to the drawer and apply position: relative to its parent.Unlike normal drawers, contained drawers are not modal. This means they do not show an overlay, they do not trap focus, and they are not dismissible with Escape. This is intentional to allow users to interact with elements outside of the drawer.
97
+
98
+ ```html
99
+ <div
100
+ style="
101
+ position: relative;
102
+ border: solid 2px var(--syn-panel-border-color);
103
+ height: 300px;
104
+ padding: 1rem;
105
+ margin-bottom: 1rem;
106
+ "
107
+ >
108
+ The drawer will be contained to this box. This content won't shift or be
109
+ affected in any way when the drawer opens.
110
+
111
+ <syn-drawer
112
+ label="Drawer"
113
+ open=""
114
+ contained=""
115
+ class="drawer-contained"
116
+ style="--size: 50%"
117
+ placement="end"
118
+ >
119
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
120
+ <syn-button slot="footer" variant="filled" title="" size="medium"
121
+ >Close</syn-button
122
+ >
123
+ </syn-drawer>
124
+ </div>
125
+
126
+ <syn-button title="" variant="outline" size="medium">Toggle Drawer</syn-button>
127
+ ```
128
+
129
+ ---
130
+
131
+ ## Custom Size
132
+
133
+ Use the --size custom property to set the drawer’s size. This will be applied to the drawer’s width or height depending on its placement.
134
+
135
+ ```html
136
+ <syn-drawer
137
+ label="Drawer"
138
+ open=""
139
+ placement="start"
140
+ class="drawer-custom-size"
141
+ style="--size: 50vw"
142
+ >
143
+ This drawer is always 50% of the viewport.
144
+ <syn-button slot="footer" variant="filled" title="" size="medium"
145
+ >Close</syn-button
146
+ >
147
+ </syn-drawer>
148
+
149
+ <syn-button title="" variant="outline" size="medium">Open Drawer</syn-button>
150
+ ```
151
+
152
+ ---
153
+
154
+ ## Scrolling
155
+
156
+ By design, a drawer’s height will never exceed 100% of its container. As such, drawers will not scroll with the page to ensure the header and footer are always accessible to the user.
157
+
158
+ ```html
159
+ <syn-drawer label="Drawer" open="" placement="start" class="drawer-scrolling">
160
+ <div>
161
+ <p>Scroll down and give it a try! 👇</p>
162
+ <p>
163
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
164
+ eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
165
+ voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
166
+ clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
167
+ amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
168
+ nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed
169
+ diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
170
+ Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
171
+ sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
172
+ diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
173
+ erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
174
+ rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
175
+ dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
176
+ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
177
+ erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
178
+ rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
179
+ dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
180
+ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
181
+ erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
182
+ rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
183
+ dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
184
+ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
185
+ erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
186
+ rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
187
+ dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
188
+ sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
189
+ erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea
190
+ rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
191
+ dolor sit amet.
192
+ </p>
193
+ </div>
194
+ <syn-button slot="footer" variant="filled" title="" size="medium"
195
+ >Close</syn-button
196
+ >
197
+ </syn-drawer>
198
+
199
+ <syn-button title="" variant="outline" size="medium">Open Drawer</syn-button>
200
+ ```
201
+
202
+ ---
203
+
204
+ ## Header Actions
205
+
206
+ The header shows a functional close button by default. You can use the header-actions slot to add additional icon buttons if needed.
207
+
208
+ ```html
209
+ <syn-drawer
210
+ label="Drawer"
211
+ open=""
212
+ placement="start"
213
+ class="drawer-header-actions"
214
+ >
215
+ <syn-icon-button
216
+ class="new-window"
217
+ slot="header-actions"
218
+ name="open_in_new"
219
+ label="Arrow Up"
220
+ size="inherit"
221
+ color="currentColor"
222
+ ></syn-icon-button>
223
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
224
+ <syn-button slot="footer" variant="filled" title="" size="medium"
225
+ >Close</syn-button
226
+ >
227
+ </syn-drawer>
228
+
229
+ <syn-button title="" variant="outline" size="medium">Open Drawer</syn-button>
230
+ ```
231
+
232
+ ---
233
+
234
+ ## Preventing The Drawer From Closing
235
+
236
+ By default, drawers will close when the user clicks the close button, clicks the overlay, or presses the Escape key. In most cases, the default behavior is the best behavior in terms of UX. However, there are situations where this may be undesirable, such as when data loss will occur.To keep the drawer open in such cases, you can cancel the syn-request-close event. When canceled, the drawer will remain open and pulse briefly to draw the user’s attention to it.You can use event.detail.source to determine what triggered the request to close. This example prevents the drawer from closing when the overlay is clicked, but allows the close button or Escape to dismiss it.
237
+
238
+ ```html
239
+ <syn-drawer label="Drawer" open="" class="drawer-deny-close" placement="end">
240
+ This drawer will not close when you click on the overlay.
241
+ <syn-button slot="footer" variant="filled" title="" size="medium"
242
+ >Close</syn-button
243
+ >
244
+ </syn-drawer>
245
+
246
+ <syn-button title="" variant="outline" size="medium">Open Drawer</syn-button>
247
+ ```
248
+
249
+ ---
250
+
251
+ ## Customizing Initial Focus
252
+
253
+ By default, the drawer’s panel will gain focus when opened. This allows a subsequent tab press to focus on the first tabbable element in the drawer. If you want a different element to have focus, add the autofocus attribute to it as shown below.
254
+
255
+ ```html
256
+ <syn-drawer label="Drawer" class="drawer-focus" placement="end">
257
+ <syn-input
258
+ autofocus=""
259
+ placeholder="I will have focus when the drawer is opened"
260
+ title=""
261
+ type="text"
262
+ size="medium"
263
+ form=""
264
+ ></syn-input>
265
+ <syn-button slot="footer" variant="filled" title="" size="medium"
266
+ >Close</syn-button
267
+ >
268
+ </syn-drawer>
269
+
270
+ <syn-button title="" variant="outline" size="medium">Open Drawer</syn-button>
271
+ ```
@@ -0,0 +1,316 @@
1
+ ## Default
2
+
3
+ Dropdowns expose additional content that “drops down” in a panel.Dropdowns consist of a trigger and a panel. By default, activating the trigger will expose the panel and interacting outside of the panel will close it.Dropdowns are designed to work well with menus to provide a list of options the user can select from. However, dropdowns can also be used in lower-level applications (e.g. color picker). The API gives you complete control over showing, hiding, and positioning the panel.
4
+
5
+ ```html
6
+ <div style="position: relative">
7
+ <syn-dropdown placement="bottom-start">
8
+ <syn-button slot="trigger" caret="" title="" variant="outline" size="medium"
9
+ >Dropdown</syn-button
10
+ >
11
+ <syn-menu style="min-width: 240px" role="menu">
12
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="0"
13
+ >Dropdown Item 1</syn-menu-item
14
+ >
15
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
16
+ >Dropdown Item 2</syn-menu-item
17
+ >
18
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
19
+ >Dropdown Item 3</syn-menu-item
20
+ >
21
+ <syn-divider role="separator" aria-orientation="horizontal"></syn-divider>
22
+ <syn-menu-item
23
+ type="checkbox"
24
+ checked=""
25
+ role="menuitemcheckbox"
26
+ aria-checked="true"
27
+ aria-disabled="false"
28
+ tabindex="-1"
29
+ >Checkbox</syn-menu-item
30
+ >
31
+ <syn-menu-item
32
+ disabled=""
33
+ role="menuitem"
34
+ aria-disabled="true"
35
+ tabindex="-1"
36
+ >Disabled</syn-menu-item
37
+ >
38
+ <syn-divider role="separator" aria-orientation="horizontal"></syn-divider>
39
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1">
40
+ Prefix
41
+ <syn-icon
42
+ slot="prefix"
43
+ name="wallpaper"
44
+ aria-hidden="true"
45
+ library="default"
46
+ ></syn-icon>
47
+ </syn-menu-item>
48
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1">
49
+ Suffix Icon
50
+ <syn-icon
51
+ slot="suffix"
52
+ name="wallpaper"
53
+ aria-hidden="true"
54
+ library="default"
55
+ ></syn-icon>
56
+ </syn-menu-item>
57
+ </syn-menu>
58
+ </syn-dropdown>
59
+ </div>
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Getting The Selected Item
65
+
66
+ When dropdowns are used with menus, you can listen for the syn-select event to determine which menu item was selected. The menu item element will be exposed in event.detail.item. You can set value props to make it easier to identify commands. DEV: Alternatively, you can listen for the click event on individual menu items. Note that, using this approach, disabled menu items will still emit a click event.
67
+
68
+ ```html
69
+ <div style="position: relative">
70
+ <div class="dropdown-selection">
71
+ <syn-dropdown placement="bottom-start">
72
+ <syn-button
73
+ slot="trigger"
74
+ caret=""
75
+ title=""
76
+ variant="outline"
77
+ size="medium"
78
+ >Edit</syn-button
79
+ >
80
+ <syn-menu style="min-width: 240px" role="menu">
81
+ <syn-menu-item
82
+ value="cut"
83
+ role="menuitem"
84
+ aria-disabled="false"
85
+ tabindex="0"
86
+ >Cut</syn-menu-item
87
+ >
88
+ <syn-menu-item
89
+ value="copy"
90
+ role="menuitem"
91
+ aria-disabled="false"
92
+ tabindex="-1"
93
+ >Copy</syn-menu-item
94
+ >
95
+ <syn-menu-item
96
+ value="paste"
97
+ role="menuitem"
98
+ aria-disabled="false"
99
+ tabindex="-1"
100
+ >Paste</syn-menu-item
101
+ >
102
+ </syn-menu>
103
+ </syn-dropdown>
104
+ </div>
105
+ </div>
106
+ ```
107
+
108
+ ---
109
+
110
+ ## Placement
111
+
112
+ The preferred placement of the dropdown can be set with the placement attribute. Note that the actual position may vary to ensure the panel remains in the viewport.
113
+
114
+ ```html
115
+ <div style="position: relative">
116
+ <syn-dropdown placement="right-start">
117
+ <syn-button slot="trigger" caret="" title="" variant="outline" size="medium"
118
+ >Edit</syn-button
119
+ >
120
+ <syn-menu style="min-width: 240px" role="menu">
121
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="0"
122
+ >Cut</syn-menu-item
123
+ >
124
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
125
+ >Copy</syn-menu-item
126
+ >
127
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
128
+ >Paste</syn-menu-item
129
+ >
130
+ <syn-divider role="separator" aria-orientation="horizontal"></syn-divider>
131
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
132
+ >Find</syn-menu-item
133
+ >
134
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
135
+ >Replace</syn-menu-item
136
+ >
137
+ </syn-menu>
138
+ </syn-dropdown>
139
+ </div>
140
+ ```
141
+
142
+ ---
143
+
144
+ ## Distance
145
+
146
+ The distance from the panel to the trigger can be customized using the distance attribute. This value is specified in pixels.
147
+
148
+ ```html
149
+ <div style="position: relative">
150
+ <syn-dropdown distance="30" placement="bottom-start">
151
+ <syn-button slot="trigger" caret="" title="" variant="outline" size="medium"
152
+ >Edit</syn-button
153
+ >
154
+ <syn-menu style="min-width: 240px" role="menu">
155
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="0"
156
+ >Cut</syn-menu-item
157
+ >
158
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
159
+ >Copy</syn-menu-item
160
+ >
161
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
162
+ >Paste</syn-menu-item
163
+ >
164
+ <syn-divider role="separator" aria-orientation="horizontal"></syn-divider>
165
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
166
+ >Find</syn-menu-item
167
+ >
168
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
169
+ >Replace</syn-menu-item
170
+ >
171
+ </syn-menu>
172
+ </syn-dropdown>
173
+ </div>
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Skidding
179
+
180
+ The offset of the panel along the trigger can be customized using the skidding attribute. This value is specified in pixels.
181
+
182
+ ```html
183
+ <div style="position: relative">
184
+ <syn-dropdown skidding="30" placement="bottom-start">
185
+ <syn-button slot="trigger" caret="" title="" variant="outline" size="medium"
186
+ >Edit</syn-button
187
+ >
188
+ <syn-menu style="min-width: 240px" role="menu">
189
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="0"
190
+ >Cut</syn-menu-item
191
+ >
192
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
193
+ >Copy</syn-menu-item
194
+ >
195
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
196
+ >Paste</syn-menu-item
197
+ >
198
+ <syn-divider role="separator" aria-orientation="horizontal"></syn-divider>
199
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
200
+ >Find</syn-menu-item
201
+ >
202
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1"
203
+ >Replace</syn-menu-item
204
+ >
205
+ </syn-menu>
206
+ </syn-dropdown>
207
+ </div>
208
+ ```
209
+
210
+ ---
211
+
212
+ ## Submenus
213
+
214
+ To create a submenu, nest an <syn-menu slot="submenu"> element in a menu item.
215
+
216
+ ```html
217
+ <div style="position: relative">
218
+ <syn-dropdown placement="bottom-start">
219
+ <syn-button slot="trigger" caret="" title="" variant="outline" size="medium"
220
+ >Edit</syn-button
221
+ >
222
+
223
+ <syn-menu style="min-width: 240px" role="menu">
224
+ <syn-menu-item
225
+ value="undo"
226
+ role="menuitem"
227
+ aria-disabled="false"
228
+ tabindex="0"
229
+ >Undo</syn-menu-item
230
+ >
231
+ <syn-menu-item
232
+ value="redo"
233
+ role="menuitem"
234
+ aria-disabled="false"
235
+ tabindex="-1"
236
+ >Redo</syn-menu-item
237
+ >
238
+ <syn-divider role="separator" aria-orientation="horizontal"></syn-divider>
239
+ <syn-menu-item
240
+ value="cut"
241
+ role="menuitem"
242
+ aria-disabled="false"
243
+ tabindex="-1"
244
+ >Cut</syn-menu-item
245
+ >
246
+ <syn-menu-item
247
+ value="copy"
248
+ role="menuitem"
249
+ aria-disabled="false"
250
+ tabindex="-1"
251
+ >Copy</syn-menu-item
252
+ >
253
+ <syn-menu-item
254
+ value="paste"
255
+ role="menuitem"
256
+ aria-disabled="false"
257
+ tabindex="-1"
258
+ >Paste</syn-menu-item
259
+ >
260
+ <syn-divider role="separator" aria-orientation="horizontal"></syn-divider>
261
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1">
262
+ Find
263
+ <syn-menu slot="submenu" role="menu">
264
+ <syn-menu-item
265
+ value="find"
266
+ role="menuitem"
267
+ aria-disabled="false"
268
+ tabindex="0"
269
+ >Find…</syn-menu-item
270
+ >
271
+ <syn-menu-item
272
+ value="find-previous"
273
+ role="menuitem"
274
+ aria-disabled="false"
275
+ tabindex="-1"
276
+ >Find Next</syn-menu-item
277
+ >
278
+ <syn-menu-item
279
+ value="find-next"
280
+ role="menuitem"
281
+ aria-disabled="false"
282
+ tabindex="-1"
283
+ >Find Previous</syn-menu-item
284
+ >
285
+ </syn-menu>
286
+ </syn-menu-item>
287
+ <syn-menu-item role="menuitem" aria-disabled="false" tabindex="-1">
288
+ Transformations
289
+ <syn-menu slot="submenu" role="menu">
290
+ <syn-menu-item
291
+ value="uppercase"
292
+ role="menuitem"
293
+ aria-disabled="false"
294
+ tabindex="0"
295
+ >Make uppercase</syn-menu-item
296
+ >
297
+ <syn-menu-item
298
+ value="lowercase"
299
+ role="menuitem"
300
+ aria-disabled="false"
301
+ tabindex="-1"
302
+ >Make lowercase</syn-menu-item
303
+ >
304
+ <syn-menu-item
305
+ value="capitalize"
306
+ role="menuitem"
307
+ aria-disabled="false"
308
+ tabindex="-1"
309
+ >Capitalize</syn-menu-item
310
+ >
311
+ </syn-menu>
312
+ </syn-menu-item>
313
+ </syn-menu>
314
+ </syn-dropdown>
315
+ </div>
316
+ ```