@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,441 @@
1
+ // ---------------------------------------------------------------------
2
+ // 🔒 AUTOGENERATED @synergy-design-system/angular wrappers for @synergy-design-system/components
3
+ // Please do not edit this file directly!
4
+ // It will get recreated when running pnpm build.
5
+ // ---------------------------------------------------------------------
6
+ import {
7
+ Component,
8
+ ElementRef,
9
+ NgZone,
10
+ Input,
11
+ Output,
12
+ EventEmitter,
13
+ AfterContentInit,
14
+ } from '@angular/core';
15
+ import type { SynSelect } from '@synergy-design-system/components';
16
+ import type { SynChangeEvent } from '@synergy-design-system/components';
17
+ import type { SynClearEvent } from '@synergy-design-system/components';
18
+ import type { SynInputEvent } from '@synergy-design-system/components';
19
+ import type { SynFocusEvent } from '@synergy-design-system/components';
20
+ import type { SynBlurEvent } from '@synergy-design-system/components';
21
+ import type { SynShowEvent } from '@synergy-design-system/components';
22
+ import type { SynAfterShowEvent } from '@synergy-design-system/components';
23
+ import type { SynHideEvent } from '@synergy-design-system/components';
24
+ import type { SynAfterHideEvent } from '@synergy-design-system/components';
25
+ import type { SynInvalidEvent } from '@synergy-design-system/components';
26
+ import '@synergy-design-system/components/components/select/select.js';
27
+
28
+ /**
29
+ * @summary Selects allow you to choose items from a menu of predefined options.
30
+ * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-select--docs
31
+ * @status stable
32
+ * @since 2.0
33
+ *
34
+ * @dependency syn-icon
35
+ * @dependency syn-popup
36
+ * @dependency syn-tag
37
+ *
38
+ * @slot - The listbox options. Must be `<syn-option>` elements. You can use `<syn-divider>` to group items visually.
39
+ * @slot label - The input's label. Alternatively, you can use the `label` attribute.
40
+ * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.
41
+ * @slot suffix - Used to append a presentational icon or similar element to the combobox.
42
+ * @slot clear-icon - An icon to use in lieu of the default clear icon.
43
+ * @slot expand-icon - The icon to show when the control is expanded and collapsed. Rotates on open and close.
44
+ * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.
45
+ *
46
+ * @event syn-change - Emitted when the control's value changes.
47
+ * @event syn-clear - Emitted when the control's value is cleared.
48
+ * @event syn-input - Emitted when the control receives input.
49
+ * @event syn-focus - Emitted when the control gains focus.
50
+ * @event syn-blur - Emitted when the control loses focus.
51
+ * @event syn-show - Emitted when the select's menu opens.
52
+ * @event syn-after-show - Emitted after the select's menu opens and all animations are complete.
53
+ * @event syn-hide - Emitted when the select's menu closes.
54
+ * @event syn-after-hide - Emitted after the select's menu closes and all animations are complete.
55
+ * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.
56
+ *
57
+ * @csspart form-control - The form control that wraps the label, input, and help text.
58
+ * @csspart form-control-label - The label's wrapper.
59
+ * @csspart form-control-input - The select's wrapper.
60
+ * @csspart form-control-help-text - The help text's wrapper.
61
+ * @csspart combobox - The container the wraps the prefix, suffix, combobox, clear icon, and expand button.
62
+ * @csspart prefix - The container that wraps the prefix slot.
63
+ * @csspart suffix - The container that wraps the suffix slot.
64
+ * @csspart display-input - The element that displays the selected option's label, an `<input>` element.
65
+ * @csspart listbox - The listbox container where options are slotted.
66
+ * @csspart tags - The container that houses option tags when `multiselect` is used.
67
+ * @csspart tag - The individual tags that represent each multiselect option.
68
+ * @csspart tag__base - The tag's base part.
69
+ * @csspart tag__content - The tag's content part.
70
+ * @csspart tag__remove-button - The tag's remove button.
71
+ * @csspart tag__remove-button__base - The tag's remove button base part.
72
+ * @csspart clear-button - The clear button.
73
+ * @csspart expand-icon - The container that wraps the expand icon.
74
+ * @csspart popup - The popup's exported `popup` part. Use this to target the tooltip's popup container.
75
+ */
76
+ @Component({
77
+ selector: 'syn-select',
78
+ standalone: true,
79
+ template: '<ng-content></ng-content>',
80
+ })
81
+ export class SynSelectComponent {
82
+ public nativeElement: SynSelect;
83
+ private _ngZone: NgZone;
84
+ private modelSignal = new AbortController();
85
+
86
+ constructor(e: ElementRef, ngZone: NgZone) {
87
+ this.nativeElement = e.nativeElement;
88
+ this._ngZone = ngZone;
89
+ this.nativeElement.addEventListener('syn-change', (e: SynChangeEvent) => {
90
+ this.synChangeEvent.emit(e);
91
+ });
92
+ this.nativeElement.addEventListener('syn-clear', (e: SynClearEvent) => {
93
+ this.synClearEvent.emit(e);
94
+ });
95
+ this.nativeElement.addEventListener('syn-input', (e: SynInputEvent) => {
96
+ this.synInputEvent.emit(e);
97
+ });
98
+ this.nativeElement.addEventListener('syn-focus', (e: SynFocusEvent) => {
99
+ this.synFocusEvent.emit(e);
100
+ });
101
+ this.nativeElement.addEventListener('syn-blur', (e: SynBlurEvent) => {
102
+ this.synBlurEvent.emit(e);
103
+ });
104
+ this.nativeElement.addEventListener('syn-show', (e: SynShowEvent) => {
105
+ this.synShowEvent.emit(e);
106
+ });
107
+ this.nativeElement.addEventListener(
108
+ 'syn-after-show',
109
+ (e: SynAfterShowEvent) => {
110
+ this.synAfterShowEvent.emit(e);
111
+ },
112
+ );
113
+ this.nativeElement.addEventListener('syn-hide', (e: SynHideEvent) => {
114
+ this.synHideEvent.emit(e);
115
+ });
116
+ this.nativeElement.addEventListener(
117
+ 'syn-after-hide',
118
+ (e: SynAfterHideEvent) => {
119
+ this.synAfterHideEvent.emit(e);
120
+ },
121
+ );
122
+ this.nativeElement.addEventListener('syn-invalid', (e: SynInvalidEvent) => {
123
+ this.synInvalidEvent.emit(e);
124
+ });
125
+ this.ngModelUpdateOn = 'syn-input';
126
+ }
127
+
128
+ /**
129
+ * The event that will trigger the ngModel update.
130
+ * By default, this is set to "syn-input".
131
+ */
132
+ @Input()
133
+ set ngModelUpdateOn(v: keyof HTMLElementEventMap) {
134
+ this.modelSignal.abort();
135
+ this.modelSignal = new AbortController();
136
+ const option = v || 'syn-input';
137
+ this.nativeElement.addEventListener(
138
+ option,
139
+ () => {
140
+ this.valueChange.emit(this.value);
141
+ },
142
+ {
143
+ signal: this.modelSignal.signal,
144
+ },
145
+ );
146
+ }
147
+ get ngModelUpdateOn(): keyof HTMLElementEventMap {
148
+ return this.ngModelUpdateOn;
149
+ }
150
+
151
+ /**
152
+ * The delimiter to use when setting the value when `multiple` is enabled.
153
+ The default is a space, but you can set it to a comma or other character.
154
+ */
155
+ @Input()
156
+ set delimiter(v: SynSelect['delimiter']) {
157
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.delimiter = v));
158
+ }
159
+ get delimiter(): SynSelect['delimiter'] {
160
+ return this.nativeElement.delimiter;
161
+ }
162
+
163
+ /**
164
+ * The name of the select, submitted as a name/value pair with form data.
165
+ */
166
+ @Input()
167
+ set name(v: SynSelect['name']) {
168
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.name = v));
169
+ }
170
+ get name(): SynSelect['name'] {
171
+ return this.nativeElement.name;
172
+ }
173
+
174
+ /**
175
+ * The select's size.
176
+ */
177
+ @Input()
178
+ set size(v: SynSelect['size']) {
179
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.size = v));
180
+ }
181
+ get size(): SynSelect['size'] {
182
+ return this.nativeElement.size;
183
+ }
184
+
185
+ /**
186
+ * Placeholder text to show as a hint when the select is empty.
187
+ */
188
+ @Input()
189
+ set placeholder(v: SynSelect['placeholder']) {
190
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.placeholder = v));
191
+ }
192
+ get placeholder(): SynSelect['placeholder'] {
193
+ return this.nativeElement.placeholder;
194
+ }
195
+
196
+ /**
197
+ * Allows more than one option to be selected.
198
+ */
199
+ @Input()
200
+ set multiple(v: '' | SynSelect['multiple']) {
201
+ this._ngZone.runOutsideAngular(
202
+ () => (this.nativeElement.multiple = v === '' || v),
203
+ );
204
+ }
205
+ get multiple(): SynSelect['multiple'] {
206
+ return this.nativeElement.multiple;
207
+ }
208
+
209
+ /**
210
+ * The maximum number of selected options to show when `multiple` is true.
211
+ * After the maximum, "+n" will be shown to
212
+ indicate the number of additional items that are selected.
213
+ * Set to 0 to remove the limit.
214
+ */
215
+ @Input()
216
+ set maxOptionsVisible(v: SynSelect['maxOptionsVisible']) {
217
+ this._ngZone.runOutsideAngular(
218
+ () => (this.nativeElement.maxOptionsVisible = v),
219
+ );
220
+ }
221
+ get maxOptionsVisible(): SynSelect['maxOptionsVisible'] {
222
+ return this.nativeElement.maxOptionsVisible;
223
+ }
224
+
225
+ /**
226
+ * Disables the select control.
227
+ */
228
+ @Input()
229
+ set disabled(v: '' | SynSelect['disabled']) {
230
+ this._ngZone.runOutsideAngular(
231
+ () => (this.nativeElement.disabled = v === '' || v),
232
+ );
233
+ }
234
+ get disabled(): SynSelect['disabled'] {
235
+ return this.nativeElement.disabled;
236
+ }
237
+
238
+ /**
239
+ * Adds a clear button when the select is not empty.
240
+ */
241
+ @Input()
242
+ set clearable(v: '' | SynSelect['clearable']) {
243
+ this._ngZone.runOutsideAngular(
244
+ () => (this.nativeElement.clearable = v === '' || v),
245
+ );
246
+ }
247
+ get clearable(): SynSelect['clearable'] {
248
+ return this.nativeElement.clearable;
249
+ }
250
+
251
+ /**
252
+ * Indicates whether or not the select is open.
253
+ * You can toggle this attribute to show and hide the menu, or you can
254
+ use the `show()` and `hide()` methods and this attribute will reflect the select's open state.
255
+ */
256
+ @Input()
257
+ set open(v: '' | SynSelect['open']) {
258
+ this._ngZone.runOutsideAngular(
259
+ () => (this.nativeElement.open = v === '' || v),
260
+ );
261
+ }
262
+ get open(): SynSelect['open'] {
263
+ return this.nativeElement.open;
264
+ }
265
+
266
+ /**
267
+ * Enable this option to prevent the listbox from being clipped when the component is placed inside a container with
268
+ `overflow: auto|scroll`.
269
+ * Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.
270
+ */
271
+ @Input()
272
+ set hoist(v: '' | SynSelect['hoist']) {
273
+ this._ngZone.runOutsideAngular(
274
+ () => (this.nativeElement.hoist = v === '' || v),
275
+ );
276
+ }
277
+ get hoist(): SynSelect['hoist'] {
278
+ return this.nativeElement.hoist;
279
+ }
280
+
281
+ /**
282
+ * The select's label.
283
+ * If you need to display HTML, use the `label` slot instead.
284
+ */
285
+ @Input()
286
+ set label(v: SynSelect['label']) {
287
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.label = v));
288
+ }
289
+ get label(): SynSelect['label'] {
290
+ return this.nativeElement.label;
291
+ }
292
+
293
+ /**
294
+ * The preferred placement of the select's menu.
295
+ * Note that the actual placement may vary as needed to keep the listbox
296
+ inside of the viewport.
297
+ */
298
+ @Input()
299
+ set placement(v: SynSelect['placement']) {
300
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.placement = v));
301
+ }
302
+ get placement(): SynSelect['placement'] {
303
+ return this.nativeElement.placement;
304
+ }
305
+
306
+ /**
307
+ * The select's help text.
308
+ * If you need to display HTML, use the `help-text` slot instead.
309
+ */
310
+ @Input()
311
+ set helpText(v: SynSelect['helpText']) {
312
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.helpText = v));
313
+ }
314
+ get helpText(): SynSelect['helpText'] {
315
+ return this.nativeElement.helpText;
316
+ }
317
+
318
+ /**
319
+ * By default, form controls are associated with the nearest containing `<form>` element.
320
+ * This attribute allows you
321
+ to place the form control outside of a form and associate it with the form that has this `id`.
322
+ * The form must be in
323
+ the same document or shadow root for this to work.
324
+ */
325
+ @Input()
326
+ set form(v: SynSelect['form']) {
327
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.form = v));
328
+ }
329
+ get form(): SynSelect['form'] {
330
+ return this.nativeElement.form;
331
+ }
332
+
333
+ /**
334
+ * The select's required attribute.
335
+ */
336
+ @Input()
337
+ set required(v: '' | SynSelect['required']) {
338
+ this._ngZone.runOutsideAngular(
339
+ () => (this.nativeElement.required = v === '' || v),
340
+ );
341
+ }
342
+ get required(): SynSelect['required'] {
343
+ return this.nativeElement.required;
344
+ }
345
+
346
+ /**
347
+ * A function that customizes the tags to be rendered when multiple=true.
348
+ * The first argument is the option, the second
349
+ is the current tag's index.
350
+ * The function should return either a Lit TemplateResult or a string containing trusted HTML of the symbol to render at
351
+ the specified value.
352
+ */
353
+ @Input()
354
+ set getTag(v: SynSelect['getTag']) {
355
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.getTag = v));
356
+ }
357
+ get getTag(): SynSelect['getTag'] {
358
+ return this.nativeElement.getTag;
359
+ }
360
+
361
+ /**
362
+ * The current value of the select, submitted as a name/value pair with form data.
363
+ * When `multiple` is enabled, the
364
+ value attribute will be a space-delimited list of values based on the options selected, and the value property will
365
+ be an array.
366
+ * **For this reason, values must not contain spaces.**
367
+ */
368
+ @Input()
369
+ set value(v: SynSelect['value']) {
370
+ this._ngZone.runOutsideAngular(() => (this.nativeElement.value = v));
371
+ }
372
+ get value(): SynSelect['value'] {
373
+ return this.nativeElement.value;
374
+ }
375
+
376
+ /**
377
+ * Emitted when the control's value changes.
378
+ */
379
+ @Output() synChangeEvent = new EventEmitter<SynChangeEvent>();
380
+
381
+ /**
382
+ * Emitted when the control's value is cleared.
383
+ */
384
+ @Output() synClearEvent = new EventEmitter<SynClearEvent>();
385
+
386
+ /**
387
+ * Emitted when the control receives input.
388
+ */
389
+ @Output() synInputEvent = new EventEmitter<SynInputEvent>();
390
+
391
+ /**
392
+ * Emitted when the control gains focus.
393
+ */
394
+ @Output() synFocusEvent = new EventEmitter<SynFocusEvent>();
395
+
396
+ /**
397
+ * Emitted when the control loses focus.
398
+ */
399
+ @Output() synBlurEvent = new EventEmitter<SynBlurEvent>();
400
+
401
+ /**
402
+ * Emitted when the select's menu opens.
403
+ */
404
+ @Output() synShowEvent = new EventEmitter<SynShowEvent>();
405
+
406
+ /**
407
+ * Emitted after the select's menu opens and all animations are complete.
408
+ */
409
+ @Output() synAfterShowEvent = new EventEmitter<SynAfterShowEvent>();
410
+
411
+ /**
412
+ * Emitted when the select's menu closes.
413
+ */
414
+ @Output() synHideEvent = new EventEmitter<SynHideEvent>();
415
+
416
+ /**
417
+ * Emitted after the select's menu closes and all animations are complete.
418
+ */
419
+ @Output() synAfterHideEvent = new EventEmitter<SynAfterHideEvent>();
420
+
421
+ /**
422
+ * Emitted when the form control has been checked for validity and its constraints aren't satisfied.
423
+ */
424
+ @Output() synInvalidEvent = new EventEmitter<SynInvalidEvent>();
425
+
426
+ /**
427
+ * Support for two way data binding
428
+ */
429
+ @Output() valueChange = new EventEmitter<SynSelect['value']>();
430
+ }
431
+
432
+ export type { SynChangeEvent } from '@synergy-design-system/components';
433
+ export type { SynClearEvent } from '@synergy-design-system/components';
434
+ export type { SynInputEvent } from '@synergy-design-system/components';
435
+ export type { SynFocusEvent } from '@synergy-design-system/components';
436
+ export type { SynBlurEvent } from '@synergy-design-system/components';
437
+ export type { SynShowEvent } from '@synergy-design-system/components';
438
+ export type { SynAfterShowEvent } from '@synergy-design-system/components';
439
+ export type { SynHideEvent } from '@synergy-design-system/components';
440
+ export type { SynAfterHideEvent } from '@synergy-design-system/components';
441
+ export type { SynInvalidEvent } from '@synergy-design-system/components';
@@ -0,0 +1,176 @@
1
+ import { css } from 'lit';
2
+ import sharedOptionSize from '../option/option-size.styles.js';
3
+
4
+ export default css`
5
+ /** #429: Use token for opacity */
6
+ .select--standard.select--disabled .select__combobox {
7
+ opacity: var(--syn-input-disabled-opacity);
8
+ }
9
+
10
+ /**
11
+ * Invalid user data
12
+ */
13
+ :host([data-user-invalid]) .select__combobox {
14
+ border-color: var(--syn-input-border-color-focus-error);
15
+ }
16
+
17
+ :host([data-user-invalid]) .select--standard:not(.select--disabled).select--open .select__combobox,
18
+ :host([data-user-invalid]) .select--standard:not(.select--disabled).select--focused .select__combobox {
19
+ border-color: var(--syn-input-border-color-focus-error);
20
+ box-shadow: 0 0 0 var(--syn-focus-ring-width) var(--syn-input-focus-ring-error);
21
+ }
22
+
23
+ /* Clear button */
24
+ .select__clear {
25
+ color: var(--syn-input-icon-icon-clearable-color);
26
+ font-size: var(--syn-spacing-large);
27
+ }
28
+
29
+ .select--small .select__clear {
30
+ font-size: var(--syn-spacing-medium);
31
+ }
32
+
33
+ .select--large .select__clear {
34
+ font-size: var(--syn-spacing-x-large);
35
+ }
36
+
37
+ .select--medium .select__clear {
38
+ margin-inline-start: var(--syn-spacing-small);
39
+ }
40
+
41
+ /* Expand icon */
42
+ .select__expand-icon {
43
+ color: var(--syn-color-neutral-950);
44
+ margin-inline-start: var(--syn-spacing-small);
45
+ }
46
+
47
+ .select--small .select__expand-icon {
48
+ font-size: var(--syn-spacing-medium);
49
+ }
50
+
51
+ .select--medium .select__expand-icon {
52
+ font-size: var(--syn-spacing-large);
53
+ }
54
+
55
+ .select--large .select__expand-icon {
56
+ font-size: var(--syn-spacing-x-large);
57
+ }
58
+
59
+ /* Change select border on hover */
60
+ /* stylelint-disable-next-line no-descending-specificity */
61
+ .select:not(.select--disabled):hover .select__combobox {
62
+ border-color: var(--syn-input-color-hover);
63
+ }
64
+
65
+ /* Prefix and Suffix */
66
+
67
+ /* Small */
68
+ .select--small .select__prefix::slotted(*) {
69
+ margin-inline-end: var(--syn-spacing-x-small);
70
+ }
71
+
72
+ .select--small .select__suffix::slotted(*) {
73
+ margin-inline-start: var(--syn-spacing-x-small);
74
+ }
75
+
76
+ .select--small .select__suffix::slotted(syn-icon),
77
+ .select--small .select__prefix::slotted(syn-icon) {
78
+ font-size: var(--syn-font-size-medium);
79
+ }
80
+
81
+ /* Medium */
82
+ .select--medium .select__prefix::slotted(*) {
83
+ margin-inline-end: var(--syn-input-spacing-small);
84
+ }
85
+
86
+ .select--medium .select__suffix::slotted(*) {
87
+ margin-inline-start: var(--syn-input-spacing-small);
88
+ }
89
+
90
+ .select--medium .select__suffix::slotted(syn-icon),
91
+ .select--medium .select__prefix::slotted(syn-icon) {
92
+ font-size: var(--syn-font-size-x-large);
93
+ }
94
+
95
+ /* Large */
96
+ .select--large .select__prefix::slotted(*) {
97
+ margin-inline-end: var(--syn-input-spacing-medium);
98
+ }
99
+
100
+ .select--large .select__suffix::slotted(*) {
101
+ margin-inline-start: var(--syn-input-spacing-medium);
102
+ }
103
+
104
+ .select--large .select__suffix::slotted(syn-icon),
105
+ .select--large .select__prefix::slotted(syn-icon) {
106
+ font-size: var(--syn-font-size-2x-large);
107
+ }
108
+
109
+
110
+ .select__prefix,
111
+ .select__suffix {
112
+ color: var(--syn-input-help-text-color);
113
+ }
114
+
115
+ /* Multi Select */
116
+ .select__tags {
117
+ margin-inline-start: var(--syn-spacing-medium);
118
+ }
119
+
120
+ .select--small .select__tags {
121
+ gap: var(--syn-spacing-2x-small);
122
+ }
123
+
124
+ .select--medium .select__tags {
125
+ gap: var(--syn-spacing-x-small);
126
+ }
127
+
128
+ .select--large .select__tags {
129
+ gap: var(--syn-spacing-small);
130
+ }
131
+
132
+ /* Listbox */
133
+ .select__listbox {
134
+ /* @todo: Should be --syn-border-radius-medium, which should be set to 0 */
135
+ border-radius: var(--syn-border-radius-none);
136
+ box-shadow: var(--syn-shadow-medium);
137
+ }
138
+
139
+ /**
140
+ * Make sure to hide the syn-divider for the first syn-optgroup
141
+ * Note! ::slotted does currently not work with ::part, so we
142
+ * opted for using a css variable here.
143
+ */
144
+ .select__listbox ::slotted(syn-optgroup:first-of-type) {
145
+ --display-divider: none;
146
+ }
147
+
148
+ /**
149
+ * #850: Allow to measure the size of the combobox.
150
+ * This is needed so we can automatically size and truncate the tags in the <syn-select multiple> component.
151
+ * Scoped to multiple to not break the single select per accident.
152
+ */
153
+ :host([multiple]) .select__tags {
154
+ min-width: 100px;
155
+ overflow: hidden;
156
+ }
157
+
158
+ :host([multiple]) .select__tags > div {
159
+ display: contents;
160
+ }
161
+
162
+ :host([multiple]) .select__tags > div > syn-tag {
163
+ --syn-tag-position-adjustment: var(--syn-spacing-3x-small);
164
+
165
+ max-width: var(--syn-select-tag-max-width);
166
+ }
167
+
168
+ :host([multiple]) .select__tags > div > syn-tag::part(content) {
169
+ display: initial;
170
+ overflow: hidden;
171
+ text-overflow: ellipsis;
172
+ white-space: nowrap;
173
+ }
174
+
175
+ ${sharedOptionSize}
176
+ `;