@synergy-design-system/metadata 3.7.0 → 3.9.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 (577) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +45 -0
  3. package/data/core/component/component:syn-accordion.json +46 -3
  4. package/data/core/component/component:syn-alert.json +112 -3
  5. package/data/core/component/component:syn-badge.json +66 -3
  6. package/data/core/component/component:syn-breadcrumb-item.json +37 -3
  7. package/data/core/component/component:syn-breadcrumb.json +57 -3
  8. package/data/core/component/component:syn-button-group.json +76 -3
  9. package/data/core/component/component:syn-button.json +76 -3
  10. package/data/core/component/component:syn-card.json +56 -3
  11. package/data/core/component/component:syn-chart.json +181 -0
  12. package/data/core/component/component:syn-checkbox.json +48 -3
  13. package/data/core/component/component:syn-combobox.json +53 -2
  14. package/data/core/component/component:syn-details.json +53 -3
  15. package/data/core/component/component:syn-dialog.json +70 -3
  16. package/data/core/component/component:syn-divider.json +38 -3
  17. package/data/core/component/component:syn-drawer.json +64 -3
  18. package/data/core/component/component:syn-dropdown.json +52 -3
  19. package/data/core/component/component:syn-file.json +60 -2
  20. package/data/core/component/component:syn-header.json +60 -1
  21. package/data/core/component/component:syn-icon-button.json +57 -3
  22. package/data/core/component/component:syn-icon.json +70 -4
  23. package/data/core/component/component:syn-input.json +69 -3
  24. package/data/core/component/component:syn-menu-item.json +62 -3
  25. package/data/core/component/component:syn-menu-label.json +59 -3
  26. package/data/core/component/component:syn-menu.json +66 -3
  27. package/data/core/component/component:syn-nav-item.json +62 -3
  28. package/data/core/component/component:syn-optgroup.json +49 -3
  29. package/data/core/component/component:syn-option.json +43 -3
  30. package/data/core/component/component:syn-pagination.json +54 -0
  31. package/data/core/component/component:syn-popup.json +56 -2
  32. package/data/core/component/component:syn-prio-nav.json +60 -3
  33. package/data/core/component/component:syn-progress-bar.json +58 -3
  34. package/data/core/component/component:syn-progress-ring.json +58 -3
  35. package/data/core/component/component:syn-radio-button.json +65 -2
  36. package/data/core/component/component:syn-radio-group.json +57 -3
  37. package/data/core/component/component:syn-radio.json +61 -3
  38. package/data/core/component/component:syn-range-tick.json +63 -2
  39. package/data/core/component/component:syn-range.json +61 -2
  40. package/data/core/component/component:syn-select.json +54 -3
  41. package/data/core/component/component:syn-side-nav.json +61 -3
  42. package/data/core/component/component:syn-spinner.json +55 -3
  43. package/data/core/component/component:syn-switch.json +51 -3
  44. package/data/core/component/component:syn-tab-group.json +50 -3
  45. package/data/core/component/component:syn-tab-panel.json +61 -3
  46. package/data/core/component/component:syn-tab.json +60 -3
  47. package/data/core/component/component:syn-tag-group.json +58 -2
  48. package/data/core/component/component:syn-tag.json +52 -3
  49. package/data/core/component/component:syn-textarea.json +53 -3
  50. package/data/core/component/component:syn-tooltip.json +66 -3
  51. package/data/core/component/component:syn-validate.json +64 -2
  52. package/data/core/setup/setup:angular-components-module.json +1 -1
  53. package/data/core/setup/setup:angular-forms-module.json +1 -1
  54. package/data/core/setup/setup:angular-package.json +2 -2
  55. package/data/core/setup/setup:angular-validators-module.json +1 -1
  56. package/data/core/setup/setup:components-package.json +2 -2
  57. package/data/core/setup/setup:react-package.json +2 -2
  58. package/data/core/setup/setup:tokens-package.json +10 -2
  59. package/data/core/setup/setup:vue-package.json +2 -2
  60. package/data/core/token/token:tokens-charts-js-index-d-ts.json +31 -0
  61. package/data/core/token/token:tokens-charts-js-index-js.json +31 -0
  62. package/data/core/token/token:tokens-charts-scss-tokens-scss.json +31 -0
  63. package/data/core/token/token:tokens-charts-themes-sick2025-dark-css.json +32 -0
  64. package/data/core/token/token:tokens-charts-themes-sick2025-light-css.json +32 -0
  65. package/data/core/token/token:tokens-figma-variables-sick2018-dark-json.json +1 -1
  66. package/data/core/token/token:tokens-figma-variables-sick2018-light-json.json +1 -1
  67. package/data/core/token/token:tokens-figma-variables-sick2025-dark-json.json +1 -1
  68. package/data/core/token/token:tokens-figma-variables-sick2025-light-json.json +1 -1
  69. package/data/core/token/token:tokens-js-index-d-ts.json +1 -1
  70. package/data/core/token/token:tokens-js-index-js.json +1 -1
  71. package/data/core/token/token:tokens-scss-tokens-scss.json +1 -1
  72. package/data/core/token/token:tokens-themes-sick2018-dark-css.json +1 -1
  73. package/data/core/token/token:tokens-themes-sick2018-light-css.json +1 -1
  74. package/data/core/token/token:tokens-themes-sick2025-dark-css.json +1 -1
  75. package/data/core/token/token:tokens-themes-sick2025-light-css.json +1 -1
  76. package/data/index.json +204 -49
  77. package/data/layers/examples/component/component:syn-chart.md +191 -0
  78. package/data/layers/full/component/component:syn-accordion/angular/accordion.component.ts +2 -2
  79. package/data/layers/full/component/component:syn-accordion/components/accordion.component.ts +1 -1
  80. package/data/layers/full/component/component:syn-accordion/react/accordion.ts +1 -1
  81. package/data/layers/full/component/component:syn-accordion/vue/SynVueAccordion.vue +2 -2
  82. package/data/layers/full/component/component:syn-alert/angular/alert.component.ts +2 -2
  83. package/data/layers/full/component/component:syn-alert/components/alert.component.ts +1 -1
  84. package/data/layers/full/component/component:syn-alert/react/alert.ts +1 -1
  85. package/data/layers/full/component/component:syn-alert/vue/SynVueAlert.vue +2 -2
  86. package/data/layers/full/component/component:syn-badge/angular/badge.component.ts +2 -2
  87. package/data/layers/full/component/component:syn-badge/components/badge.component.ts +1 -1
  88. package/data/layers/full/component/component:syn-badge/react/badge.ts +1 -1
  89. package/data/layers/full/component/component:syn-badge/vue/SynVueBadge.vue +2 -2
  90. package/data/layers/full/component/component:syn-breadcrumb/angular/breadcrumb.component.ts +2 -2
  91. package/data/layers/full/component/component:syn-breadcrumb/components/breadcrumb.component.ts +1 -1
  92. package/data/layers/full/component/component:syn-breadcrumb/react/breadcrumb.ts +1 -1
  93. package/data/layers/full/component/component:syn-breadcrumb/vue/SynVueBreadcrumb.vue +2 -2
  94. package/data/layers/full/component/component:syn-breadcrumb-item/angular/breadcrumb-item.component.ts +2 -2
  95. package/data/layers/full/component/component:syn-breadcrumb-item/components/breadcrumb-item.component.ts +1 -1
  96. package/data/layers/full/component/component:syn-breadcrumb-item/react/breadcrumb-item.ts +1 -1
  97. package/data/layers/full/component/component:syn-breadcrumb-item/vue/SynVueBreadcrumbItem.vue +2 -2
  98. package/data/layers/full/component/component:syn-button/angular/button.component.ts +2 -2
  99. package/data/layers/full/component/component:syn-button/components/button.component.ts +1 -1
  100. package/data/layers/full/component/component:syn-button/react/button.ts +1 -1
  101. package/data/layers/full/component/component:syn-button/vue/SynVueButton.vue +2 -2
  102. package/data/layers/full/component/component:syn-button-group/angular/button-group.component.ts +2 -2
  103. package/data/layers/full/component/component:syn-button-group/components/button-group.component.ts +1 -1
  104. package/data/layers/full/component/component:syn-button-group/react/button-group.ts +1 -1
  105. package/data/layers/full/component/component:syn-button-group/vue/SynVueButtonGroup.vue +2 -2
  106. package/data/layers/full/component/component:syn-card/angular/card.component.ts +2 -2
  107. package/data/layers/full/component/component:syn-card/components/card.component.ts +1 -1
  108. package/data/layers/full/component/component:syn-card/react/card.ts +1 -1
  109. package/data/layers/full/component/component:syn-card/vue/SynVueCard.vue +2 -2
  110. package/data/layers/full/component/component:syn-chart/angular/chart.component.ts +84 -0
  111. package/data/layers/full/component/component:syn-chart/components/chart.component.ts +181 -0
  112. package/data/layers/full/component/component:syn-chart/components/chart.palettes.ts +110 -0
  113. package/data/layers/full/component/component:syn-chart/components/chart.styles.ts +15 -0
  114. package/data/layers/full/component/component:syn-chart/components/chart.ts +14 -0
  115. package/data/layers/full/component/component:syn-chart/components/types.ts +5 -0
  116. package/data/layers/full/component/component:syn-chart/react/SynChartJSXElement.ts +1 -0
  117. package/data/layers/full/component/component:syn-chart/react/chart.ts +28 -0
  118. package/data/layers/full/component/component:syn-chart/vue/SynVueChart.vue +76 -0
  119. package/data/layers/full/component/component:syn-checkbox/angular/checkbox.component.ts +2 -2
  120. package/data/layers/full/component/component:syn-checkbox/components/checkbox.component.ts +1 -1
  121. package/data/layers/full/component/component:syn-checkbox/react/checkbox.ts +1 -1
  122. package/data/layers/full/component/component:syn-checkbox/vue/SynVueCheckbox.vue +2 -2
  123. package/data/layers/full/component/component:syn-combobox/angular/combobox.component.ts +2 -1
  124. package/data/layers/full/component/component:syn-combobox/components/combobox.component.ts +1 -0
  125. package/data/layers/full/component/component:syn-combobox/react/combobox.ts +1 -0
  126. package/data/layers/full/component/component:syn-combobox/vue/SynVueCombobox.vue +2 -1
  127. package/data/layers/full/component/component:syn-details/angular/details.component.ts +2 -2
  128. package/data/layers/full/component/component:syn-details/components/details.component.ts +1 -1
  129. package/data/layers/full/component/component:syn-details/react/details.ts +1 -1
  130. package/data/layers/full/component/component:syn-details/vue/SynVueDetails.vue +2 -2
  131. package/data/layers/full/component/component:syn-dialog/angular/dialog.component.ts +2 -2
  132. package/data/layers/full/component/component:syn-dialog/components/dialog.component.ts +1 -1
  133. package/data/layers/full/component/component:syn-dialog/react/dialog.ts +1 -1
  134. package/data/layers/full/component/component:syn-dialog/vue/SynVueDialog.vue +2 -2
  135. package/data/layers/full/component/component:syn-divider/angular/divider.component.ts +2 -2
  136. package/data/layers/full/component/component:syn-divider/components/divider.component.ts +1 -1
  137. package/data/layers/full/component/component:syn-divider/react/divider.ts +1 -1
  138. package/data/layers/full/component/component:syn-divider/vue/SynVueDivider.vue +2 -2
  139. package/data/layers/full/component/component:syn-drawer/angular/drawer.component.ts +2 -2
  140. package/data/layers/full/component/component:syn-drawer/components/drawer.component.ts +1 -1
  141. package/data/layers/full/component/component:syn-drawer/react/drawer.ts +1 -1
  142. package/data/layers/full/component/component:syn-drawer/vue/SynVueDrawer.vue +2 -2
  143. package/data/layers/full/component/component:syn-dropdown/angular/dropdown.component.ts +2 -2
  144. package/data/layers/full/component/component:syn-dropdown/components/dropdown.component.ts +1 -1
  145. package/data/layers/full/component/component:syn-dropdown/react/dropdown.ts +1 -1
  146. package/data/layers/full/component/component:syn-dropdown/vue/SynVueDropdown.vue +2 -2
  147. package/data/layers/full/component/component:syn-file/angular/file.component.ts +2 -1
  148. package/data/layers/full/component/component:syn-file/components/file.component.ts +1 -0
  149. package/data/layers/full/component/component:syn-file/react/file.ts +1 -0
  150. package/data/layers/full/component/component:syn-file/vue/SynVueFile.vue +2 -1
  151. package/data/layers/full/component/component:syn-header/angular/header.component.ts +1 -1
  152. package/data/layers/full/component/component:syn-header/vue/SynVueHeader.vue +1 -1
  153. package/data/layers/full/component/component:syn-icon/angular/icon.component.ts +2 -2
  154. package/data/layers/full/component/component:syn-icon/components/icon.component.ts +1 -1
  155. package/data/layers/full/component/component:syn-icon/react/icon.ts +1 -1
  156. package/data/layers/full/component/component:syn-icon/vue/SynVueIcon.vue +2 -2
  157. package/data/layers/full/component/component:syn-icon-button/angular/icon-button.component.ts +2 -2
  158. package/data/layers/full/component/component:syn-icon-button/components/icon-button.component.ts +1 -1
  159. package/data/layers/full/component/component:syn-icon-button/react/icon-button.ts +1 -1
  160. package/data/layers/full/component/component:syn-icon-button/vue/SynVueIconButton.vue +2 -2
  161. package/data/layers/full/component/component:syn-input/angular/input.component.ts +2 -2
  162. package/data/layers/full/component/component:syn-input/components/input.component.ts +1 -1
  163. package/data/layers/full/component/component:syn-input/react/input.ts +1 -1
  164. package/data/layers/full/component/component:syn-input/vue/SynVueInput.vue +2 -2
  165. package/data/layers/full/component/component:syn-menu/angular/menu.component.ts +2 -2
  166. package/data/layers/full/component/component:syn-menu/components/menu.component.ts +1 -1
  167. package/data/layers/full/component/component:syn-menu/react/menu.ts +1 -1
  168. package/data/layers/full/component/component:syn-menu/vue/SynVueMenu.vue +2 -2
  169. package/data/layers/full/component/component:syn-menu-item/angular/menu-item.component.ts +2 -2
  170. package/data/layers/full/component/component:syn-menu-item/components/menu-item.component.ts +1 -1
  171. package/data/layers/full/component/component:syn-menu-item/react/menu-item.ts +1 -1
  172. package/data/layers/full/component/component:syn-menu-item/vue/SynVueMenuItem.vue +2 -2
  173. package/data/layers/full/component/component:syn-menu-label/angular/menu-label.component.ts +2 -2
  174. package/data/layers/full/component/component:syn-menu-label/components/menu-label.component.ts +1 -1
  175. package/data/layers/full/component/component:syn-menu-label/react/menu-label.ts +1 -1
  176. package/data/layers/full/component/component:syn-menu-label/vue/SynVueMenuLabel.vue +2 -2
  177. package/data/layers/full/component/component:syn-nav-item/angular/nav-item.component.ts +2 -2
  178. package/data/layers/full/component/component:syn-nav-item/components/nav-item.component.ts +1 -1
  179. package/data/layers/full/component/component:syn-nav-item/react/nav-item.ts +1 -1
  180. package/data/layers/full/component/component:syn-nav-item/vue/SynVueNavItem.vue +2 -2
  181. package/data/layers/full/component/component:syn-optgroup/angular/optgroup.component.ts +2 -2
  182. package/data/layers/full/component/component:syn-optgroup/components/optgroup.component.ts +1 -1
  183. package/data/layers/full/component/component:syn-optgroup/react/optgroup.ts +1 -1
  184. package/data/layers/full/component/component:syn-optgroup/vue/SynVueOptgroup.vue +2 -2
  185. package/data/layers/full/component/component:syn-option/angular/option.component.ts +2 -2
  186. package/data/layers/full/component/component:syn-option/components/option.component.ts +1 -1
  187. package/data/layers/full/component/component:syn-option/react/option.ts +1 -1
  188. package/data/layers/full/component/component:syn-option/vue/SynVueOption.vue +2 -2
  189. package/data/layers/full/component/component:syn-pagination/angular/pagination.component.ts +1 -1
  190. package/data/layers/full/component/component:syn-pagination/vue/SynVuePagination.vue +1 -1
  191. package/data/layers/full/component/component:syn-popup/angular/popup.component.ts +2 -2
  192. package/data/layers/full/component/component:syn-popup/components/popup.component.ts +1 -1
  193. package/data/layers/full/component/component:syn-popup/react/popup.ts +1 -1
  194. package/data/layers/full/component/component:syn-popup/vue/SynVuePopup.vue +2 -2
  195. package/data/layers/full/component/component:syn-prio-nav/angular/prio-nav.component.ts +2 -2
  196. package/data/layers/full/component/component:syn-prio-nav/components/prio-nav.component.ts +1 -1
  197. package/data/layers/full/component/component:syn-prio-nav/react/prio-nav.ts +1 -1
  198. package/data/layers/full/component/component:syn-prio-nav/vue/SynVuePrioNav.vue +2 -2
  199. package/data/layers/full/component/component:syn-progress-bar/angular/progress-bar.component.ts +2 -2
  200. package/data/layers/full/component/component:syn-progress-bar/components/progress-bar.component.ts +1 -1
  201. package/data/layers/full/component/component:syn-progress-bar/react/progress-bar.ts +1 -1
  202. package/data/layers/full/component/component:syn-progress-bar/vue/SynVueProgressBar.vue +2 -2
  203. package/data/layers/full/component/component:syn-progress-ring/angular/progress-ring.component.ts +2 -2
  204. package/data/layers/full/component/component:syn-progress-ring/components/progress-ring.component.ts +1 -1
  205. package/data/layers/full/component/component:syn-progress-ring/react/progress-ring.ts +1 -1
  206. package/data/layers/full/component/component:syn-progress-ring/vue/SynVueProgressRing.vue +2 -2
  207. package/data/layers/full/component/component:syn-radio/angular/radio.component.ts +2 -2
  208. package/data/layers/full/component/component:syn-radio/components/radio.component.ts +1 -1
  209. package/data/layers/full/component/component:syn-radio/react/radio.ts +1 -1
  210. package/data/layers/full/component/component:syn-radio/vue/SynVueRadio.vue +2 -2
  211. package/data/layers/full/component/component:syn-radio-button/angular/radio-button.component.ts +2 -2
  212. package/data/layers/full/component/component:syn-radio-button/components/radio-button.component.ts +1 -1
  213. package/data/layers/full/component/component:syn-radio-button/react/radio-button.ts +1 -1
  214. package/data/layers/full/component/component:syn-radio-button/vue/SynVueRadioButton.vue +2 -2
  215. package/data/layers/full/component/component:syn-radio-group/angular/radio-group.component.ts +2 -2
  216. package/data/layers/full/component/component:syn-radio-group/components/radio-group.component.ts +1 -1
  217. package/data/layers/full/component/component:syn-radio-group/react/radio-group.ts +1 -1
  218. package/data/layers/full/component/component:syn-radio-group/vue/SynVueRadioGroup.vue +2 -2
  219. package/data/layers/full/component/component:syn-range/angular/range.component.ts +2 -1
  220. package/data/layers/full/component/component:syn-range/components/range.component.ts +1 -0
  221. package/data/layers/full/component/component:syn-range/react/range.ts +1 -0
  222. package/data/layers/full/component/component:syn-range/vue/SynVueRange.vue +2 -1
  223. package/data/layers/full/component/component:syn-range-tick/angular/range-tick.component.ts +2 -1
  224. package/data/layers/full/component/component:syn-range-tick/components/range-tick.component.ts +1 -0
  225. package/data/layers/full/component/component:syn-range-tick/react/range-tick.ts +1 -0
  226. package/data/layers/full/component/component:syn-range-tick/vue/SynVueRangeTick.vue +2 -1
  227. package/data/layers/full/component/component:syn-select/angular/select.component.ts +2 -2
  228. package/data/layers/full/component/component:syn-select/components/select.component.ts +1 -1
  229. package/data/layers/full/component/component:syn-select/react/select.ts +1 -1
  230. package/data/layers/full/component/component:syn-select/vue/SynVueSelect.vue +2 -2
  231. package/data/layers/full/component/component:syn-side-nav/angular/side-nav.component.ts +2 -2
  232. package/data/layers/full/component/component:syn-side-nav/components/side-nav.component.ts +1 -1
  233. package/data/layers/full/component/component:syn-side-nav/react/side-nav.ts +1 -1
  234. package/data/layers/full/component/component:syn-side-nav/vue/SynVueSideNav.vue +2 -2
  235. package/data/layers/full/component/component:syn-spinner/angular/spinner.component.ts +2 -2
  236. package/data/layers/full/component/component:syn-spinner/components/spinner.component.ts +1 -1
  237. package/data/layers/full/component/component:syn-spinner/react/spinner.ts +1 -1
  238. package/data/layers/full/component/component:syn-spinner/vue/SynVueSpinner.vue +2 -2
  239. package/data/layers/full/component/component:syn-switch/angular/switch.component.ts +2 -2
  240. package/data/layers/full/component/component:syn-switch/components/switch.component.ts +1 -1
  241. package/data/layers/full/component/component:syn-switch/react/switch.ts +1 -1
  242. package/data/layers/full/component/component:syn-switch/vue/SynVueSwitch.vue +2 -2
  243. package/data/layers/full/component/component:syn-tab/angular/tab.component.ts +2 -2
  244. package/data/layers/full/component/component:syn-tab/components/tab.component.ts +1 -1
  245. package/data/layers/full/component/component:syn-tab/react/tab.ts +1 -1
  246. package/data/layers/full/component/component:syn-tab/vue/SynVueTab.vue +2 -2
  247. package/data/layers/full/component/component:syn-tab-group/angular/tab-group.component.ts +2 -2
  248. package/data/layers/full/component/component:syn-tab-group/components/tab-group.component.ts +1 -1
  249. package/data/layers/full/component/component:syn-tab-group/react/tab-group.ts +1 -1
  250. package/data/layers/full/component/component:syn-tab-group/vue/SynVueTabGroup.vue +2 -2
  251. package/data/layers/full/component/component:syn-tab-panel/angular/tab-panel.component.ts +2 -2
  252. package/data/layers/full/component/component:syn-tab-panel/components/tab-panel.component.ts +1 -1
  253. package/data/layers/full/component/component:syn-tab-panel/react/tab-panel.ts +1 -1
  254. package/data/layers/full/component/component:syn-tab-panel/vue/SynVueTabPanel.vue +2 -2
  255. package/data/layers/full/component/component:syn-tag/angular/tag.component.ts +2 -2
  256. package/data/layers/full/component/component:syn-tag/components/tag.component.ts +1 -1
  257. package/data/layers/full/component/component:syn-tag/react/tag.ts +1 -1
  258. package/data/layers/full/component/component:syn-tag/vue/SynVueTag.vue +2 -2
  259. package/data/layers/full/component/component:syn-tag-group/angular/tag-group.component.ts +2 -1
  260. package/data/layers/full/component/component:syn-tag-group/components/tag-group.component.ts +1 -0
  261. package/data/layers/full/component/component:syn-tag-group/react/tag-group.ts +1 -0
  262. package/data/layers/full/component/component:syn-tag-group/vue/SynVueTagGroup.vue +2 -1
  263. package/data/layers/full/component/component:syn-textarea/angular/textarea.component.ts +2 -2
  264. package/data/layers/full/component/component:syn-textarea/components/textarea.component.ts +1 -1
  265. package/data/layers/full/component/component:syn-textarea/react/textarea.ts +1 -1
  266. package/data/layers/full/component/component:syn-textarea/vue/SynVueTextarea.vue +2 -2
  267. package/data/layers/full/component/component:syn-tooltip/angular/tooltip.component.ts +2 -2
  268. package/data/layers/full/component/component:syn-tooltip/components/tooltip.component.ts +1 -1
  269. package/data/layers/full/component/component:syn-tooltip/react/tooltip.ts +1 -1
  270. package/data/layers/full/component/component:syn-tooltip/vue/SynVueTooltip.vue +2 -2
  271. package/data/layers/full/component/component:syn-validate/angular/validate.component.ts +4 -1
  272. package/data/layers/full/component/component:syn-validate/components/validate.component.ts +3 -0
  273. package/data/layers/full/component/component:syn-validate/react/validate.ts +3 -0
  274. package/data/layers/full/component/component:syn-validate/vue/SynVueValidate.vue +4 -1
  275. package/data/layers/full/setup/setup:angular-package/angular/CHANGELOG.md +37 -0
  276. package/data/layers/full/setup/setup:angular-package/angular/README.md +4 -0
  277. package/data/layers/full/setup/setup:angular-package/angular/package.json +1 -1
  278. package/data/layers/full/setup/setup:components-package/components/CHANGELOG.md +36 -1
  279. package/data/layers/full/setup/setup:components-package/components/README.md +84 -2
  280. package/data/layers/full/setup/setup:components-package/components/package.json +8 -5
  281. package/data/layers/full/setup/setup:react-package/react/CHANGELOG.md +37 -0
  282. package/data/layers/full/setup/setup:react-package/react/README.md +4 -0
  283. package/data/layers/full/setup/setup:react-package/react/package.json +1 -1
  284. package/data/layers/full/setup/setup:react-package/react/syn-jsx-elements.ts +115 -80
  285. package/data/layers/full/setup/setup:tokens-package/tokens/CHANGELOG.md +18 -0
  286. package/data/layers/full/setup/setup:tokens-package/tokens/README.md +119 -19
  287. package/data/layers/full/setup/setup:tokens-package/tokens/package.json +11 -6
  288. package/data/layers/full/setup/setup:vue-package/vue/CHANGELOG.md +37 -0
  289. package/data/layers/full/setup/setup:vue-package/vue/README.md +4 -0
  290. package/data/layers/full/setup/setup:vue-package/vue/package.json +9 -2
  291. package/data/layers/full/tokens/charts/js/index.d.ts +664 -0
  292. package/data/layers/full/tokens/charts/js/index.js +664 -0
  293. package/data/layers/full/tokens/charts/scss/_tokens.scss +136 -0
  294. package/data/layers/full/tokens/charts/themes/sick2025_dark.css +142 -0
  295. package/data/layers/full/tokens/charts/themes/sick2025_light.css +142 -0
  296. package/data/layers/full/tokens/figma-variables/sick2025-light.json +12 -12
  297. package/data/layers/full/tokens/js/index.d.ts +1 -1
  298. package/data/layers/full/tokens/js/index.js +1 -1
  299. package/data/layers/full/tokens/scss/_tokens.scss +1 -1
  300. package/data/layers/full/tokens/themes/sick2018_dark.css +1 -1
  301. package/data/layers/full/tokens/themes/sick2018_light.css +1 -1
  302. package/data/layers/full/tokens/themes/sick2025_dark.css +1 -1
  303. package/data/layers/full/tokens/themes/sick2025_light.css +12 -12
  304. package/data/layers/interface/component/component:syn-accordion.json +3 -2
  305. package/data/layers/interface/component/component:syn-accordion.md +3 -2
  306. package/data/layers/interface/component/component:syn-alert.json +3 -2
  307. package/data/layers/interface/component/component:syn-alert.md +3 -2
  308. package/data/layers/interface/component/component:syn-badge.json +3 -2
  309. package/data/layers/interface/component/component:syn-badge.md +3 -2
  310. package/data/layers/interface/component/component:syn-breadcrumb-item.json +3 -2
  311. package/data/layers/interface/component/component:syn-breadcrumb-item.md +3 -2
  312. package/data/layers/interface/component/component:syn-breadcrumb.json +3 -2
  313. package/data/layers/interface/component/component:syn-breadcrumb.md +3 -2
  314. package/data/layers/interface/component/component:syn-button-group.json +2 -2
  315. package/data/layers/interface/component/component:syn-button-group.md +2 -2
  316. package/data/layers/interface/component/component:syn-button.json +3 -2
  317. package/data/layers/interface/component/component:syn-button.md +3 -2
  318. package/data/layers/interface/component/component:syn-card.json +3 -2
  319. package/data/layers/interface/component/component:syn-card.md +3 -2
  320. package/data/layers/interface/component/component:syn-chart.json +51 -0
  321. package/data/layers/interface/component/component:syn-chart.md +61 -0
  322. package/data/layers/interface/component/component:syn-checkbox.json +3 -2
  323. package/data/layers/interface/component/component:syn-checkbox.md +3 -2
  324. package/data/layers/interface/component/component:syn-combobox.json +3 -2
  325. package/data/layers/interface/component/component:syn-combobox.md +3 -2
  326. package/data/layers/interface/component/component:syn-details.json +3 -2
  327. package/data/layers/interface/component/component:syn-details.md +3 -2
  328. package/data/layers/interface/component/component:syn-dialog.json +3 -2
  329. package/data/layers/interface/component/component:syn-dialog.md +3 -2
  330. package/data/layers/interface/component/component:syn-divider.json +3 -2
  331. package/data/layers/interface/component/component:syn-divider.md +3 -2
  332. package/data/layers/interface/component/component:syn-drawer.json +3 -2
  333. package/data/layers/interface/component/component:syn-drawer.md +3 -2
  334. package/data/layers/interface/component/component:syn-dropdown.json +3 -2
  335. package/data/layers/interface/component/component:syn-dropdown.md +3 -2
  336. package/data/layers/interface/component/component:syn-file.json +3 -2
  337. package/data/layers/interface/component/component:syn-file.md +3 -2
  338. package/data/layers/interface/component/component:syn-header.json +2 -1
  339. package/data/layers/interface/component/component:syn-header.md +2 -1
  340. package/data/layers/interface/component/component:syn-icon-button.json +3 -2
  341. package/data/layers/interface/component/component:syn-icon-button.md +3 -2
  342. package/data/layers/interface/component/component:syn-icon.json +2 -2
  343. package/data/layers/interface/component/component:syn-icon.md +2 -2
  344. package/data/layers/interface/component/component:syn-input.json +3 -2
  345. package/data/layers/interface/component/component:syn-input.md +3 -2
  346. package/data/layers/interface/component/component:syn-menu-item.json +3 -2
  347. package/data/layers/interface/component/component:syn-menu-item.md +3 -2
  348. package/data/layers/interface/component/component:syn-menu-label.json +3 -2
  349. package/data/layers/interface/component/component:syn-menu-label.md +3 -2
  350. package/data/layers/interface/component/component:syn-menu.json +3 -2
  351. package/data/layers/interface/component/component:syn-menu.md +3 -2
  352. package/data/layers/interface/component/component:syn-nav-item.json +3 -2
  353. package/data/layers/interface/component/component:syn-nav-item.md +3 -2
  354. package/data/layers/interface/component/component:syn-optgroup.json +3 -2
  355. package/data/layers/interface/component/component:syn-optgroup.md +3 -2
  356. package/data/layers/interface/component/component:syn-option.json +3 -2
  357. package/data/layers/interface/component/component:syn-option.md +3 -2
  358. package/data/layers/interface/component/component:syn-popup.json +1 -1
  359. package/data/layers/interface/component/component:syn-popup.md +1 -1
  360. package/data/layers/interface/component/component:syn-prio-nav.json +3 -2
  361. package/data/layers/interface/component/component:syn-prio-nav.md +3 -2
  362. package/data/layers/interface/component/component:syn-progress-bar.json +3 -2
  363. package/data/layers/interface/component/component:syn-progress-bar.md +3 -2
  364. package/data/layers/interface/component/component:syn-progress-ring.json +3 -2
  365. package/data/layers/interface/component/component:syn-progress-ring.md +3 -2
  366. package/data/layers/interface/component/component:syn-radio-button.json +1 -1
  367. package/data/layers/interface/component/component:syn-radio-button.md +1 -1
  368. package/data/layers/interface/component/component:syn-radio-group.json +2 -2
  369. package/data/layers/interface/component/component:syn-radio-group.md +2 -2
  370. package/data/layers/interface/component/component:syn-radio.json +3 -2
  371. package/data/layers/interface/component/component:syn-radio.md +3 -2
  372. package/data/layers/interface/component/component:syn-range-tick.json +3 -2
  373. package/data/layers/interface/component/component:syn-range-tick.md +3 -2
  374. package/data/layers/interface/component/component:syn-range.json +3 -2
  375. package/data/layers/interface/component/component:syn-range.md +3 -2
  376. package/data/layers/interface/component/component:syn-select.json +3 -2
  377. package/data/layers/interface/component/component:syn-select.md +3 -2
  378. package/data/layers/interface/component/component:syn-side-nav.json +3 -2
  379. package/data/layers/interface/component/component:syn-side-nav.md +3 -2
  380. package/data/layers/interface/component/component:syn-spinner.json +3 -2
  381. package/data/layers/interface/component/component:syn-spinner.md +3 -2
  382. package/data/layers/interface/component/component:syn-switch.json +3 -2
  383. package/data/layers/interface/component/component:syn-switch.md +3 -2
  384. package/data/layers/interface/component/component:syn-tab-group.json +3 -2
  385. package/data/layers/interface/component/component:syn-tab-group.md +3 -2
  386. package/data/layers/interface/component/component:syn-tab-panel.json +3 -2
  387. package/data/layers/interface/component/component:syn-tab-panel.md +3 -2
  388. package/data/layers/interface/component/component:syn-tab.json +3 -2
  389. package/data/layers/interface/component/component:syn-tab.md +3 -2
  390. package/data/layers/interface/component/component:syn-tag-group.json +2 -2
  391. package/data/layers/interface/component/component:syn-tag-group.md +2 -2
  392. package/data/layers/interface/component/component:syn-tag.json +3 -2
  393. package/data/layers/interface/component/component:syn-tag.md +3 -2
  394. package/data/layers/interface/component/component:syn-textarea.json +3 -2
  395. package/data/layers/interface/component/component:syn-textarea.md +3 -2
  396. package/data/layers/interface/component/component:syn-tooltip.json +3 -2
  397. package/data/layers/interface/component/component:syn-tooltip.md +3 -2
  398. package/data/layers/interface/component/component:syn-validate.json +3 -2
  399. package/data/layers/interface/component/component:syn-validate.md +3 -2
  400. package/data/layers/rules/component/component:syn-accordion.md +33 -0
  401. package/data/layers/rules/component/component:syn-alert.md +81 -0
  402. package/data/layers/rules/component/component:syn-badge.md +42 -0
  403. package/data/layers/rules/component/component:syn-breadcrumb-item.md +28 -0
  404. package/data/layers/rules/component/component:syn-breadcrumb.md +42 -0
  405. package/data/layers/rules/component/component:syn-button-group.md +55 -0
  406. package/data/layers/rules/component/component:syn-button.md +54 -0
  407. package/data/layers/rules/component/component:syn-card.md +37 -0
  408. package/data/layers/rules/component/component:syn-chart.md +39 -0
  409. package/data/layers/rules/component/component:syn-checkbox.md +34 -0
  410. package/data/layers/rules/component/component:syn-combobox.md +42 -0
  411. package/data/layers/rules/component/component:syn-details.md +37 -0
  412. package/data/layers/rules/component/component:syn-dialog.md +47 -0
  413. package/data/layers/rules/component/component:syn-divider.md +26 -0
  414. package/data/layers/rules/component/component:syn-drawer.md +45 -0
  415. package/data/layers/rules/component/component:syn-dropdown.md +36 -0
  416. package/data/layers/rules/component/component:syn-file.md +45 -0
  417. package/data/layers/rules/component/component:syn-header.md +48 -0
  418. package/data/layers/rules/component/component:syn-icon-button.md +41 -0
  419. package/data/layers/rules/component/component:syn-icon.md +42 -0
  420. package/data/layers/rules/component/component:syn-input.md +50 -0
  421. package/data/layers/rules/component/component:syn-menu-item.md +47 -0
  422. package/data/layers/rules/component/component:syn-menu-label.md +43 -0
  423. package/data/layers/rules/component/component:syn-menu.md +51 -0
  424. package/data/layers/rules/component/component:syn-nav-item.md +44 -0
  425. package/data/layers/rules/component/component:syn-optgroup.md +37 -0
  426. package/data/layers/rules/component/component:syn-option.md +34 -0
  427. package/data/layers/rules/component/component:syn-pagination.md +42 -0
  428. package/data/layers/rules/component/component:syn-popup.md +42 -0
  429. package/data/layers/rules/component/component:syn-prio-nav.md +47 -0
  430. package/data/layers/rules/component/component:syn-progress-bar.md +42 -0
  431. package/data/layers/rules/component/component:syn-progress-ring.md +42 -0
  432. package/data/layers/rules/component/component:syn-radio-button.md +49 -0
  433. package/data/layers/rules/component/component:syn-radio-group.md +43 -0
  434. package/data/layers/rules/component/component:syn-radio.md +46 -0
  435. package/data/layers/rules/component/component:syn-range-tick.md +48 -0
  436. package/data/layers/rules/component/component:syn-range.md +46 -0
  437. package/data/layers/rules/component/component:syn-select.md +42 -0
  438. package/data/layers/rules/component/component:syn-side-nav.md +47 -0
  439. package/data/layers/rules/component/component:syn-spinner.md +38 -0
  440. package/data/layers/rules/component/component:syn-switch.md +39 -0
  441. package/data/layers/rules/component/component:syn-tab-group.md +35 -0
  442. package/data/layers/rules/component/component:syn-tab-panel.md +44 -0
  443. package/data/layers/rules/component/component:syn-tab.md +44 -0
  444. package/data/layers/rules/component/component:syn-tag-group.md +46 -0
  445. package/data/layers/rules/component/component:syn-tag.md +40 -0
  446. package/data/layers/rules/component/component:syn-textarea.md +40 -0
  447. package/data/layers/rules/component/component:syn-tooltip.md +47 -0
  448. package/data/layers/rules/component/component:syn-validate.md +50 -0
  449. package/data/manifest.json +3 -3
  450. package/data/schemas/core-entity.schema.json +1 -0
  451. package/data/schemas/layer-ref.schema.json +1 -0
  452. package/dist/bin/install-skills.d.ts +2 -0
  453. package/dist/bin/install-skills.js +79 -0
  454. package/dist/intentPolicy/capabilities.d.ts +6 -0
  455. package/dist/intentPolicy/capabilities.js +22 -0
  456. package/dist/intentPolicy/categories.d.ts +6 -0
  457. package/dist/intentPolicy/categories.js +22 -0
  458. package/dist/intentPolicy/domains/action/capabilities.d.ts +2 -0
  459. package/dist/intentPolicy/domains/action/capabilities.js +26 -0
  460. package/dist/intentPolicy/domains/action/category.d.ts +2 -0
  461. package/dist/intentPolicy/domains/action/category.js +4 -0
  462. package/dist/intentPolicy/domains/action/index.d.ts +4 -0
  463. package/dist/intentPolicy/domains/action/index.js +4 -0
  464. package/dist/intentPolicy/domains/action/intents.d.ts +2 -0
  465. package/dist/intentPolicy/domains/action/intents.js +38 -0
  466. package/dist/intentPolicy/domains/action/patterns/grouped.d.ts +2 -0
  467. package/dist/intentPolicy/domains/action/patterns/grouped.js +9 -0
  468. package/dist/intentPolicy/domains/action/patterns/icon.d.ts +2 -0
  469. package/dist/intentPolicy/domains/action/patterns/icon.js +9 -0
  470. package/dist/intentPolicy/domains/action/patterns/index.d.ts +2 -0
  471. package/dist/intentPolicy/domains/action/patterns/index.js +14 -0
  472. package/dist/intentPolicy/domains/action/patterns/navigation.d.ts +2 -0
  473. package/dist/intentPolicy/domains/action/patterns/navigation.js +39 -0
  474. package/dist/intentPolicy/domains/action/patterns/primary.d.ts +2 -0
  475. package/dist/intentPolicy/domains/action/patterns/primary.js +39 -0
  476. package/dist/intentPolicy/domains/action/patterns/reset.d.ts +2 -0
  477. package/dist/intentPolicy/domains/action/patterns/reset.js +39 -0
  478. package/dist/intentPolicy/domains/action/patterns/submit.d.ts +2 -0
  479. package/dist/intentPolicy/domains/action/patterns/submit.js +58 -0
  480. package/dist/intentPolicy/domains/assistance/capabilities.d.ts +2 -0
  481. package/dist/intentPolicy/domains/assistance/capabilities.js +10 -0
  482. package/dist/intentPolicy/domains/assistance/category.d.ts +2 -0
  483. package/dist/intentPolicy/domains/assistance/category.js +4 -0
  484. package/dist/intentPolicy/domains/assistance/index.d.ts +4 -0
  485. package/dist/intentPolicy/domains/assistance/index.js +4 -0
  486. package/dist/intentPolicy/domains/assistance/intents.d.ts +2 -0
  487. package/dist/intentPolicy/domains/assistance/intents.js +14 -0
  488. package/dist/intentPolicy/domains/assistance/patterns.d.ts +2 -0
  489. package/dist/intentPolicy/domains/assistance/patterns.js +13 -0
  490. package/dist/intentPolicy/domains/disclosure/capabilities.d.ts +2 -0
  491. package/dist/intentPolicy/domains/disclosure/capabilities.js +14 -0
  492. package/dist/intentPolicy/domains/disclosure/category.d.ts +2 -0
  493. package/dist/intentPolicy/domains/disclosure/category.js +4 -0
  494. package/dist/intentPolicy/domains/disclosure/index.d.ts +4 -0
  495. package/dist/intentPolicy/domains/disclosure/index.js +4 -0
  496. package/dist/intentPolicy/domains/disclosure/intents.d.ts +2 -0
  497. package/dist/intentPolicy/domains/disclosure/intents.js +20 -0
  498. package/dist/intentPolicy/domains/disclosure/patterns.d.ts +2 -0
  499. package/dist/intentPolicy/domains/disclosure/patterns.js +23 -0
  500. package/dist/intentPolicy/domains/feedback/capabilities.d.ts +2 -0
  501. package/dist/intentPolicy/domains/feedback/capabilities.js +42 -0
  502. package/dist/intentPolicy/domains/feedback/category.d.ts +2 -0
  503. package/dist/intentPolicy/domains/feedback/category.js +4 -0
  504. package/dist/intentPolicy/domains/feedback/index.d.ts +4 -0
  505. package/dist/intentPolicy/domains/feedback/index.js +4 -0
  506. package/dist/intentPolicy/domains/feedback/intents.d.ts +2 -0
  507. package/dist/intentPolicy/domains/feedback/intents.js +32 -0
  508. package/dist/intentPolicy/domains/feedback/patterns.d.ts +2 -0
  509. package/dist/intentPolicy/domains/feedback/patterns.js +44 -0
  510. package/dist/intentPolicy/domains/input/capabilities.d.ts +2 -0
  511. package/dist/intentPolicy/domains/input/capabilities.js +38 -0
  512. package/dist/intentPolicy/domains/input/category.d.ts +2 -0
  513. package/dist/intentPolicy/domains/input/category.js +4 -0
  514. package/dist/intentPolicy/domains/input/index.d.ts +4 -0
  515. package/dist/intentPolicy/domains/input/index.js +4 -0
  516. package/dist/intentPolicy/domains/input/intents.d.ts +2 -0
  517. package/dist/intentPolicy/domains/input/intents.js +62 -0
  518. package/dist/intentPolicy/domains/input/patterns.d.ts +2 -0
  519. package/dist/intentPolicy/domains/input/patterns.js +99 -0
  520. package/dist/intentPolicy/domains/navigation/capabilities.d.ts +2 -0
  521. package/dist/intentPolicy/domains/navigation/capabilities.js +54 -0
  522. package/dist/intentPolicy/domains/navigation/category.d.ts +2 -0
  523. package/dist/intentPolicy/domains/navigation/category.js +4 -0
  524. package/dist/intentPolicy/domains/navigation/index.d.ts +4 -0
  525. package/dist/intentPolicy/domains/navigation/index.js +4 -0
  526. package/dist/intentPolicy/domains/navigation/intents.d.ts +2 -0
  527. package/dist/intentPolicy/domains/navigation/intents.js +44 -0
  528. package/dist/intentPolicy/domains/navigation/patterns.d.ts +2 -0
  529. package/dist/intentPolicy/domains/navigation/patterns.js +192 -0
  530. package/dist/intentPolicy/domains/status/capabilities.d.ts +2 -0
  531. package/dist/intentPolicy/domains/status/capabilities.js +14 -0
  532. package/dist/intentPolicy/domains/status/category.d.ts +2 -0
  533. package/dist/intentPolicy/domains/status/category.js +4 -0
  534. package/dist/intentPolicy/domains/status/index.d.ts +4 -0
  535. package/dist/intentPolicy/domains/status/index.js +4 -0
  536. package/dist/intentPolicy/domains/status/intents.d.ts +2 -0
  537. package/dist/intentPolicy/domains/status/intents.js +26 -0
  538. package/dist/intentPolicy/domains/status/patterns.d.ts +2 -0
  539. package/dist/intentPolicy/domains/status/patterns.js +32 -0
  540. package/dist/intentPolicy/domains/structure/capabilities.d.ts +2 -0
  541. package/dist/intentPolicy/domains/structure/capabilities.js +22 -0
  542. package/dist/intentPolicy/domains/structure/category.d.ts +2 -0
  543. package/dist/intentPolicy/domains/structure/category.js +4 -0
  544. package/dist/intentPolicy/domains/structure/index.d.ts +4 -0
  545. package/dist/intentPolicy/domains/structure/index.js +4 -0
  546. package/dist/intentPolicy/domains/structure/intents.d.ts +2 -0
  547. package/dist/intentPolicy/domains/structure/intents.js +32 -0
  548. package/dist/intentPolicy/domains/structure/patterns.d.ts +2 -0
  549. package/dist/intentPolicy/domains/structure/patterns.js +96 -0
  550. package/dist/intentPolicy/intents.d.ts +7 -0
  551. package/dist/intentPolicy/intents.js +23 -0
  552. package/dist/intentPolicy/intermediate-representation/types.d.ts +38 -0
  553. package/dist/intentPolicy/intermediate-representation/types.js +1 -0
  554. package/dist/intentPolicy/mappings/framework-targets.d.ts +5 -0
  555. package/dist/intentPolicy/mappings/framework-targets.js +21 -0
  556. package/dist/intentPolicy/patterns.d.ts +6 -0
  557. package/dist/intentPolicy/patterns.js +22 -0
  558. package/dist/intentPolicy/registry.d.ts +4 -0
  559. package/dist/intentPolicy/registry.js +4 -0
  560. package/dist/intentPolicy/renderers/index.d.ts +6 -0
  561. package/dist/intentPolicy/renderers/index.js +95 -0
  562. package/dist/intentPolicy/resolution.d.ts +41 -0
  563. package/dist/intentPolicy/resolution.js +226 -0
  564. package/dist/intentPolicy/services/render.d.ts +16 -0
  565. package/dist/intentPolicy/services/render.js +29 -0
  566. package/dist/intentPolicy/types.d.ts +486 -0
  567. package/dist/intentPolicy/types.js +17 -0
  568. package/dist/public/domains/components.d.ts +15 -1
  569. package/dist/public/domains/components.js +43 -0
  570. package/dist/public/domains/intent-policy.d.ts +255 -0
  571. package/dist/public/domains/intent-policy.js +965 -0
  572. package/dist/public/index.d.ts +72 -3
  573. package/dist/public/index.js +80 -1
  574. package/dist/public/skill-bundle.d.ts +17 -0
  575. package/dist/public/skill-bundle.js +259 -0
  576. package/dist/public/types.d.ts +12 -2
  577. package/package.json +10 -5
@@ -0,0 +1,81 @@
1
+ # syn-alert
2
+
3
+ ## Summary
4
+
5
+ Alerts are used to display important messages inline or as toast notifications.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Inline notifications can provide contextual feedback to users. They are directly embedded within the content of a page or form.
10
+ - Toast notifications provide brief, unobtrusive messages that appear as overlays to confirm actions or share updates without interrupting the user's current task.
11
+
12
+ ## Usage Guidelines
13
+
14
+ ### When to choose inline notifications
15
+
16
+ - Integrated into the area where the user is already focused to avoid disrupting the user's workflow.
17
+ - Provide feedback on user actions, such as errors, warnings, or confirmations (e.g. "Unable to save changes. Check your internet connection and try again.", "You have unsaved changes. Are you sure you want to leave this page?" or "Payment completed. Thank you for your purchase!").
18
+ - Announce important updates or changes within the application (e.g. "New feature alert! You can now schedule posts directly from the dashboard.", "Maintenance scheduled for January 30th, 2:00 AM - 4:00 AM. The application will be unavailable during this time.").
19
+ - Highlight critical information or display system messages that require user attention(e.g. "System update required. Please restart your application to apply the latest updates." or "Your account has been temporarily suspended due to suspicious activity. Contact support for assistance.").
20
+ - May contain interactive elements such as links and buttons.
21
+
22
+ ### When to choose toast notifications
23
+
24
+ - Take the user's attention temporarily away from their current task by appearing on the screen with animations to ensure they are noticed.
25
+ - Provide feedback on user actions, such as errors, warnings, or confirmations. (e.g., "Failed to load data", "Your message has been sent", "Your settings have been saved").
26
+ - Announce updates, reminders, or confirmations (e.g., "Your settings have been saved").
27
+ - May contain interactive elements such as links and buttons.
28
+ - They can serve as supplementary information for content available on other pages (e.g., a toast notification "Item has been added to the cart" alongside a shopping cart page).
29
+
30
+ ### Content
31
+
32
+ - Keep alert messages concise and clear, focusing on the most critical information.
33
+ - Use simple language that users can quickly understand without additional context.
34
+ - Include action items or next steps when appropriate (e.g., "Your session ended. Please login again").
35
+ - Avoid redundant information — don't repeat the title in the body text.
36
+
37
+ ### Variants & When to Use Them
38
+
39
+ - Primary variant: Use for general informational messages that don't require urgent attention.
40
+ - Success variant: Use to confirm that an action was completed successfully.
41
+ - Warning variant: Use when an action has unexpected consequences or requires user attention.
42
+ - Danger variant: Use for critical errors, destructive actions, or situations requiring immediate response.
43
+ - Neutral variant: Use for updates or system messages that are neither positive nor negative.
44
+
45
+ ### Icons
46
+
47
+ - Use icons for consistency (info, check_circle, warning, status-error, settings).
48
+ - Ensure the icon clearly represents the alert type — don't use confusing or misleading icons.
49
+ - Icons are optional but highly recommended for accessibility and visual clarity.
50
+
51
+ ### Dismissal & Duration
52
+
53
+ - Make alerts closable for non-critical information that users might want to dismiss.
54
+ - For critical errors or required information, consider hiding the close button.
55
+ - Use auto-hide duration for informational alerts, especially toast notifications (typically 3000-5000ms).
56
+ - Pause the auto-hide timer when the user hovers over the alert to allow time for reading.
57
+
58
+ ### Placement & Presentation
59
+
60
+ - For inline alerts: Place alerts near the relevant content (above forms, near inputs with errors). You may also use `syn-validate` for inline validation messages where appropriate.
61
+ - For toast notifications: Use the `toast()` method to display temporary notifications in a stack.
62
+ - Place success/confirmation alerts above affected content so users see confirmation after action.
63
+ - Place error alerts prominently and ensure they don't disappear automatically.
64
+
65
+ ### What to Avoid
66
+
67
+ - Never use alerts for decorative purposes or non-essential information.
68
+ - Avoid stacking more than 3-4 alerts simultaneously to prevent cognitive overload.
69
+ - Reserve alerts for messages that meaningfully impact the user's current task or workflow.
70
+
71
+ ## Accessibility
72
+
73
+ - Don't use alerts for trivial updates that don't require user awareness.
74
+ - Ensure the alert content is concise and clear, focusing on the most critical information.
75
+ - Use simple language that users can quickly understand without additional context.
76
+ - Include action items or next steps when appropriate (e.g., "Your session ended. Please login again").
77
+ - Avoid redundant information — don't repeat the title in the body text.
78
+
79
+ ## Related Components
80
+
81
+ - syn-validate
@@ -0,0 +1,42 @@
1
+ # syn-badge
2
+
3
+ ## Summary
4
+
5
+ Badges are used to draw attention and display statuses or counts.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Show the count of newly added items
10
+ - Display the number of messages received or tasks still pending
11
+ - Present the quantity of items collected, like those in a shopping cart
12
+
13
+ ## Usage Guidelines
14
+
15
+ ### Color
16
+
17
+ - Consistently apply one color choice for a cohesive look
18
+ - Use default variants for standard notifications
19
+ - Blue = neutral integration, green = more attention, red = maximum emphasis
20
+ - Do not associate color variants with success or error states
21
+
22
+ ### Content
23
+
24
+ - Use "+" for overflow values set by the application
25
+
26
+ ### Placement
27
+
28
+ - Place where it preserves relation to the assigned element
29
+ - Do not obscure any informative element or text
30
+ - Do not alter the number formatting
31
+
32
+ ## Accessibility
33
+
34
+ - Avoid using badges for purely decorative purposes
35
+ - Ensure badge is sized and placed so it does not obscure other content or controls
36
+ - If the badge conveys critical information, provide it in text elsewhere too
37
+ - Use aria-live when badge content updates dynamically
38
+
39
+ ## Known Issues
40
+
41
+ - **Safari**: Badge with role='status' inside syn-button does not announce updates
42
+ - **Firefox**: Only announces content of the element that has updates when multiple elements are inside the badge
@@ -0,0 +1,28 @@
1
+ # syn-breadcrumb-item
2
+
3
+ ## Summary
4
+
5
+ Breadcrumb Items are used inside [breadcrumbs](/components/breadcrumb) to represent different links.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Populate a syn-breadcrumb navigation helping users easily access different pages.
10
+
11
+ ## Usage Guidelines
12
+
13
+ ### Content and Labeling
14
+
15
+ - Use clear and descriptive labels that accurately represent each page or section in the navigation path.
16
+
17
+ ## Accessibility
18
+
19
+ - Dynamically update breadcrumbs and announce changes with aria-live for screen readers.
20
+ - Provide clear labels for breadcrumb items to ensure screen readers convey the navigation path effectively.
21
+
22
+ ## Related Components
23
+
24
+ - syn-breadcrumb
25
+
26
+ ## Related Templates
27
+
28
+ - Breadcrumb
@@ -0,0 +1,42 @@
1
+ # syn-breadcrumb
2
+
3
+ ## Summary
4
+
5
+ Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Clarify user location within the website or app hierarchy, improving orientation.
10
+ - Allow easy navigation back to previous pages or higher-level sections.
11
+ - Enhance discoverability by displaying category paths or product hierarchy levels.
12
+ - Simplify backtracking from filtered or search result pages to broader content areas.
13
+
14
+ ## Usage Guidelines
15
+
16
+ ### Content and Labeling
17
+
18
+ - Use clear and descriptive labels that accurately represent each page or section in the navigation path.
19
+ - Keep breadcrumb trails short and easy to read to avoid overwhelming users.
20
+ - The final breadcrumb item should be non-clickable, as it represents the current page or location.
21
+
22
+ ### Placement and Consistency
23
+
24
+ - Ensure breadcrumbs are placed consistently across pages to align with user expectations.
25
+ - Use breadcrumbs primarily in structured, multi-level navigation contexts. Avoid implementing them for non-hierarchical or dynamically generated paths, where they may confuse rather than assist users.
26
+
27
+ ### Responsiveness
28
+
29
+ - On mobile devices breadcrumb must be shortened to only provide a link to the higher-level page.
30
+
31
+ ## Accessibility
32
+
33
+ - Dynamically update breadcrumbs and announce changes with aria-live for screen readers.
34
+ - Provide clear labels for breadcrumb items to ensure screen readers convey the navigation path effectively.
35
+
36
+ ## Related Components
37
+
38
+ - syn-breadcrumb-item
39
+
40
+ ## Related Templates
41
+
42
+ - Breadcrumb
@@ -0,0 +1,55 @@
1
+ # syn-button-group
2
+
3
+ ## Summary
4
+
5
+ Button groups can be used to group related buttons into sections.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Group related buttons that serve a common purpose or function together.
10
+ - Use for actions that are logically connected (e.g., text formatting: bold, italic, underline).
11
+ - Group buttons that control related settings or options within the same UI context.
12
+ - Avoid grouping buttons that are unrelated or have conflicting purposes.
13
+ - Use for toolbars with icon buttons and tooltip hints.
14
+ - Use for segmented controls with radio buttons in a group.
15
+ - Use for text formatting controls (bold, italic, underline, etc.).
16
+ - Use for pagination or navigation controls with multiple related actions.
17
+ - Use for filter or view controls with related options.
18
+
19
+ ## Usage Guidelines
20
+
21
+ ### Variants
22
+
23
+ - Use outline variant (default) for secondary or neutral button groups.
24
+ - Use filled variant for primary actions or emphasized button groups.
25
+ - Keep variant consistent within a single button group for visual cohesion.
26
+ - Choose variant based on the importance and prominence needed in the layout.
27
+
28
+ ### Composition & Related Elements
29
+
30
+ - Combine with syn-icon for icon-only toolbar-style button groups.
31
+ - Wrap buttons in syn-tooltip for additional context without cluttering the UI.
32
+ - Use with syn-dropdown for split-button or menu patterns within groups.
33
+ - Place all related interactive elements inside the button group slot.
34
+
35
+ ### Visual Consistency
36
+
37
+ - Ensure adequate spacing between button groups and other UI elements.
38
+ - Keep the number of buttons in a group manageable (typically 2-5 buttons).
39
+
40
+ ### Component Behavior
41
+
42
+ - Each button in the group retains its individual click handlers and states.
43
+ - Button states (focus, hover, active) are automatically managed by the component.
44
+ - The component handles size and variant propagation to all child buttons.
45
+
46
+ ## Accessibility
47
+
48
+ - Always provide a label property for accessibility and screen readers.
49
+ - Label should describe the purpose of the button group (e.g., "Text formatting", "Page navigation").
50
+ - Use clear, descriptive labels that help users understand the grouped buttons' relationship.
51
+ - Labels are not displayed visually but are announced by assistive technologies.
52
+
53
+ ## Related Components
54
+
55
+ - syn-button
@@ -0,0 +1,54 @@
1
+ # syn-button
2
+
3
+ ## Summary
4
+
5
+ Buttons represent actions that are available to the user.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Highlight key actions, like "Request information" or "Next step".
10
+ - Provide supporting actions, like "Learn more", "Explore topic", or "Cancel".
11
+ - Use for functional actions after user input, such as submitting a form or searching for content.
12
+
13
+ ## Usage Guidelines
14
+
15
+ ### Action Labels
16
+
17
+ - Write simple, self-explanatory labels that include both a verb (action) and a noun.
18
+ - Use text-only labels whenever possible.
19
+ - Avoid generic labels like "OK" or "Download". Use "Confirm selection" or "Download Report" instead.
20
+ - Limit action labels to 1 to 3 words or 15 to 20 characters.
21
+
22
+ ### Action Priority
23
+
24
+ - Select the appropriate variant for each action based on context and importance.
25
+ - Avoid displaying more than one Call To Action (CTA) at a time on the screen, especially in the same context (e.g., teaser).
26
+
27
+ ### Function
28
+
29
+ - Use to trigger an action or place a link inside it to navigate to other content.
30
+
31
+ ### Icons
32
+
33
+ - Add icons to labels only when they clearly support the associated action (e.g., print, email, share), and reserve icon-only buttons for exceptions.
34
+ - Avoid displaying both left and right icons simultaneously.
35
+ - To prevent overcrowding, do not use icons on buttons with extensive copy that spans multiple lines.
36
+
37
+ ### Placement and Responsiveness
38
+
39
+ - Maintain consistent placement of interactive elements throughout the user interface.
40
+ - Position the primary action at the top (in vertical layout) or on the right (in horizontal layout) when paired with a secondary option.
41
+ - Avoid placing two primary actions next to each other; opt for a secondary action instead.
42
+ - Expand to full width on small devices if applicable.
43
+
44
+ ## Accessibility
45
+
46
+ - Ensure that button text is unique and contextual. Screen readers will read it aloud, helping users understand the action associated with the button.
47
+ - Keep button text short. Longer copy is harder to scan and increases cognitive load. Remember that translations may double the length of the text.
48
+ - Be aware that button's height may change based on the user's preferred font size set system-wide.
49
+ - For icon-only: Include an ARIA label describing its function (e.g., "Expand section") to ensure the button is accessible to screen readers.
50
+ - Prefer keeping the button enabled by default by relying on default values or by validating on submit.
51
+
52
+ ## Related Templates
53
+
54
+ - Forms
@@ -0,0 +1,37 @@
1
+ # syn-card
2
+
3
+ ## Summary
4
+
5
+ Cards can be used to group related subjects in a container.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Display grouped information such as KPIs, summaries, or previews.
10
+ - Provide a reusable container for dashboard elements.
11
+ - Present actionable items with a compact overview and clear next steps.
12
+
13
+ ## Usage Guidelines
14
+
15
+ ### Content
16
+
17
+ - Group related information into one card and keep each card focused on a single topic.
18
+ - Use clear headings and concise body text to improve scanability.
19
+ - Avoid overloading a card with too many actions or dense information.
20
+
21
+ ### Layout and Hierarchy
22
+
23
+ - Use spacing and visual hierarchy to separate header, body, and footer regions.
24
+ - Align card width and density with surrounding content so cards feel consistent.
25
+ - Use shadows or sharp style consistently across a view.
26
+
27
+ ### Actions
28
+
29
+ - Place primary actions in a predictable location such as the card footer.
30
+ - Use action labels that clearly describe the result.
31
+ - Limit actions to the most relevant options for the card context.
32
+
33
+ ## Accessibility
34
+
35
+ - Ensure card content has a logical heading and text order so screen readers can parse it correctly.
36
+ - Do not use cards as the only way to access critical information or actions.
37
+ - Keep interactive elements inside cards keyboard reachable with clear focus indicators.
@@ -0,0 +1,39 @@
1
+ # syn-chart
2
+
3
+ ## Summary
4
+
5
+ The `<syn-chart>` component is a container for displaying charts. It provides a structured layout and styling for chart elements, allowing for consistent presentation across different types of charts. The chart component is based on [Apache ECharts](https://echarts.apache.org)
6
+
7
+ ## Common Use Cases
8
+
9
+ - Display time-based trends such as sensor values, throughput, or production metrics.
10
+ - Compare multiple data series in dashboards to identify differences and anomalies.
11
+ - Present historical data to support analysis, reporting, and decision-making.
12
+ - Visualize key performance indicators where users need a fast visual overview.
13
+
14
+ ## Usage Guidelines
15
+
16
+ ### Data and Purpose
17
+
18
+ - Use charts when visual pattern recognition (trends, peaks, outliers) is more helpful than raw tables.
19
+ - Keep the chart goal specific and clear (for example trend over time, comparison, distribution).
20
+ - Avoid using charts when exact value lookup is the primary task; provide a table or value list as a complement.
21
+
22
+ ### Visual Clarity
23
+
24
+ - Use clear axis labels, units, and legends so users can understand the data context immediately.
25
+ - Limit the number of simultaneously visible series to reduce visual noise.
26
+ - Choose palettes that maintain sufficient contrast between series and background.
27
+ - Avoid excessive decoration and effects that do not add analytical value.
28
+
29
+ ### Responsiveness and Density
30
+
31
+ - Ensure labels, tooltips, and legends remain readable at small viewport sizes.
32
+ - Prevent overlapping labels and crowded markers by simplifying or reducing displayed data where needed.
33
+ - Keep chart dimensions appropriate for the amount and complexity of the data shown.
34
+
35
+ ## Accessibility
36
+
37
+ - Do not rely on color alone to distinguish data series; use labels, markers, or patterns where helpful.
38
+ - Provide a text alternative or data table for users who cannot interpret visualizations reliably.
39
+ - Ensure chart context is available in surrounding text, including what is shown and why it matters.
@@ -0,0 +1,34 @@
1
+ # syn-checkbox
2
+
3
+ ## Summary
4
+
5
+ Checkboxes allow the user to toggle an option on or off.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Used for selections that don't immediately trigger an action.
10
+ - Selecting an option like "Agree to Terms and Conditions" before submitting a registration form.
11
+ - Opt-in/Opt-out of notifications or subscriptions.
12
+
13
+ ## Usage Guidelines
14
+
15
+ ### Content
16
+
17
+ - Provide a clear, descriptive label for each selection to avoid confusion.
18
+ - Frame labels positively, such as "Enable notifications" instead of "Disable notifications."
19
+
20
+ ### Interaction and Usage
21
+
22
+ - Ensure each selection operates independently unless used for bulk actions.
23
+ - List selections in a logical order, such as alphabetical or numerical.
24
+ - Refrain from using a single checkbox when the action should take effect immediately - use syn-switch instead.
25
+
26
+ ## Accessibility
27
+
28
+ - Checkboxes should always look like checkboxes to meet user's expectations.
29
+ - Nesting other interactive elements like links inside labels should be avoided.
30
+ - An error-text with a warning icon should be placed underneath an invalid checkbox. Error messages should always provide hints for solutions.
31
+
32
+ ## Related Templates
33
+
34
+ - Forms
@@ -0,0 +1,42 @@
1
+ # syn-combobox
2
+
3
+ ## Summary
4
+
5
+ A combobox component that combines the functionality of a text input with a dropdown listbox,
6
+ allowing users to either select from predefined options or enter custom values (when not restricted).
7
+
8
+ ## Common Use Cases
9
+
10
+ - Allow users to select one or more options from a potentially large list by typing a search string and filtering suggestions.
11
+ - Provide an autocomplete feature in forms where specific or complex entries benefit from quick lookup.
12
+ - Implement in search fields or filter panels when users may not recall the exact option name but can approximate it.
13
+ - Long or descriptive labels, helper text, or units are needed.
14
+ - Forms with many fields that users must scan quickly.
15
+ - Compact layouts and simple fields.
16
+
17
+ ## Usage Guidelines
18
+
19
+ ### Content and Labels
20
+
21
+ - Keep option labels concise so that suggestions are easy to scan and select.
22
+ - Provide a clear, descriptive placeholder (e.g., "Search or select an option...") to help users understand they can type and choose from suggestions.
23
+ - Avoid repeating the same initial word in multiple suggestions to reduce scanning difficulty.
24
+
25
+ ### Searching Behavior
26
+
27
+ - Filter available options in real time as the user types; highlight or bold matching text to indicate relevance.
28
+ - Consider limiting the maximum number of displayed suggestions to avoid overwhelming users. We recommend displaying 6-8 (with scrolling for additional results).
29
+
30
+ ## Accessibility
31
+
32
+ - A visible label may be omitted for search input fields within a combobox if an associated button-complete with a clear search icon and an appropriate accessible name (e.g., aria-label="Search")-is provided.
33
+ - Be aware that group labels will be neglected by most assistive devices.
34
+
35
+ ## Related Components
36
+
37
+ - syn-option
38
+ - syn-optgroup
39
+
40
+ ## Related Templates
41
+
42
+ - Forms
@@ -0,0 +1,37 @@
1
+ # syn-details
2
+
3
+ ## Summary
4
+
5
+ Details show a brief summary and expand to show additional content.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Revealing additional content, such as a detailed description, specifications, or additional options without overwhelming the user with too much content at once.
10
+ - Interactive elements like a single FAQ item, where the user can expand to see the answer.
11
+ - Useful in forms to hide optional sections that the user can expand if needed, keeping the form clean and concise.
12
+
13
+ ## Usage Guidelines
14
+
15
+ ### Slots
16
+
17
+ - Use the "summary" slot to add text to the header.
18
+ - Use the "default" slot to add content.
19
+
20
+ ### Header Summary
21
+
22
+ - Make sure the header summary clearly describes the content inside.
23
+ - Keep header summaries concise to prevent them from wrapping onto multiple lines.
24
+
25
+ ### Content
26
+
27
+ - Ensure the content is focused and necessary. If the information can be splitted into different meaningful units, consider using syn-accordion.
28
+ - Avoid using collapsible sections for information that must always be visible.
29
+
30
+ ## Accessibility
31
+
32
+ - Use only for non-critical information. Hiding content can become a potential barrier, making content more challenging to discover.
33
+ - For purely decorative images, ALT-tags should be left empty so that screen readers can bypass them and concentrate on conveying meaningful content.
34
+
35
+ ## Related Components
36
+
37
+ - syn-accordion
@@ -0,0 +1,47 @@
1
+ # syn-dialog
2
+
3
+ ## Summary
4
+
5
+ Dialogs, sometimes called "modals", appear above the page and require the user's immediate attention.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Confirm an action which can have significant consequences and explicit user approval or input is needed (e.g. deleting a file).
10
+ - Present important information that must be seen and acknowledged before proceeding (e.g., session expired and renewed login required).
11
+ - Require users to enter information or select from multiple options before continuing.
12
+ - For non-critical content or information that doesn't require immediate user input, please use syn-alert to avoid workflow disruption.
13
+
14
+ ## Usage Guidelines
15
+
16
+ ### Actions
17
+
18
+ - Ensure a clear user journey by using a single primary button for the main action and secondary buttons for less important actions.
19
+ - Provide an action to close the interaction if a close button is not present in the top-right corner.
20
+ - Avoid having multiple primary action buttons within the same dialog.
21
+
22
+ ### Headline and Content
23
+
24
+ - Use clear and concise headlines that describe the purpose.
25
+ - Avoid displaying content unrelated to the current workflow.
26
+ - Refrain from using dialogs for complex forms or large amounts of information.
27
+
28
+ ### Slots
29
+
30
+ - Use the "label" slot to add a headline.
31
+ - Add main content on the "default" slot. The "default" slot is always scrollable.
32
+ - Use the "footer" slot to add action elements. The "footer" slot is always fixed.
33
+
34
+ ### User Interaction
35
+
36
+ - Require users to take an action before they can continue interacting with the rest of the interface.
37
+ - Provide multiple ways to close the dialog, such as an "X" button, a cancel button, or clicking outside the dialog.
38
+ - Avoid excessive use of dialogs, as they can be disruptive to the user experience.
39
+
40
+ ## Accessibility
41
+
42
+ - Always provide a headline for the dialog.
43
+ - Always include a visible and easily accessible close button within the modal.
44
+
45
+ ## Known Issues
46
+
47
+ - **Firefox / Chrome**: When the headline is set by slot instead of attribute, the dialog name is not being announced by VoiceOver in Chrome and Firefox.
@@ -0,0 +1,26 @@
1
+ # syn-divider
2
+
3
+ ## Summary
4
+
5
+ Dividers are used to visually separate or group elements.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Separate distinct item groups to help users clearly see and understand how different pieces of content relate to one another.
10
+ - Provide visual breaks in long pages or forms to improve readability.
11
+
12
+ ## Usage Guidelines
13
+
14
+ ### Spacing and Consistency
15
+
16
+ - Maintain consistent spacing around separators to prevent them from appearing cramped or too distant from the content they divide.
17
+ - Ensure consistent use to prevent confusion, especially for users relying on assistive technologies.
18
+
19
+ ### Whitespace vs Visual Separators
20
+
21
+ - Leverage whitespace effectively as a natural divider, which can offer a clean, easy to read and organised design without additional visual elements.
22
+
23
+ ## Accessibility
24
+
25
+ - Verify that dividers are visible and distinct in high contrast mode settings, which are often used by users with visual impairments.
26
+ - Use to provide clear separation between sections, helping users understand content flow. Screen readers announce dividers, offering context about transitions between sections.
@@ -0,0 +1,45 @@
1
+ # syn-drawer
2
+
3
+ ## Summary
4
+
5
+ Drawers slide in from a container to expose additional options and information.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Display supplementary information or options without navigating away from the main screen.
10
+ - Provide contextual help or guidance related to the current screen.
11
+ - House navigation menus on smaller devices.
12
+ - Present filter options, forms or settings that users can interact with without losing their place.
13
+
14
+ ## Usage Guidelines
15
+
16
+ ### Content
17
+
18
+ - Ensure the content is supplementary and does not include critical information that users must see immediately such as notifications or alerts; instead, use syn-alert or syn-dialog for those purposes.
19
+ - Check that the drawer content is fully visible and readable, even at larger font sizes.
20
+
21
+ ### Interaction and Behavior
22
+
23
+ - Maintain the state of the content when it is reopened.
24
+ - Avoid opening automatically without user interaction.
25
+ - Provide multiple ways to close the interface for easy dismissal, such as a close button or clicking outside of it.
26
+
27
+ ### Layout
28
+
29
+ - Ensure it does not cover critical content or actions on the main screen.
30
+ - If using a tertiary action in the header, adjust the left padding to 0px for proper alignment.
31
+
32
+ ### Slots
33
+
34
+ - Use the "header-actions" slot to add navigation and/or action elements if desired.
35
+ - Use the "default" slot to add main content. The "default" slot is always scrollable.
36
+ - Use the "footer" slot to add action elements if desired. The "footer" slot is always fixed.
37
+
38
+ ## Accessibility
39
+
40
+ - Always provide a label for the drawer so that screenreaders correctly announce the component.
41
+ - Make sure that the close button is always visible to ensure users are able to close the drawer.
42
+
43
+ ## Related Templates
44
+
45
+ - AppShell
@@ -0,0 +1,36 @@
1
+ # syn-dropdown
2
+
3
+ ## Summary
4
+
5
+ Dropdowns expose additional content that "drops down" in a panel.
6
+
7
+ ## Common Use Cases
8
+
9
+ - Provide a list of items in a compact space.
10
+ - Display additional options or settings related to a specific item.
11
+ - Enable navigation through different sections or categories.
12
+
13
+ ## Usage Guidelines
14
+
15
+ ### Behavior
16
+
17
+ - Avoid hiding sets of less than 4 items in dropdowns.
18
+ - Refrain from nesting dropdowns within each other. If nesting is strictly necessary, limit the menu to two layers to prevent complex operation and cognitive load.
19
+ - Keep the panel near its trigger so users understand its context.
20
+
21
+ ### Panel Items
22
+
23
+ - Group related panel items to make them easier to find, especially if there are many. Use a group label and syn-divider to separate them visually.
24
+
25
+ ### Triggers
26
+
27
+ - Maintain consistent styling for dropdown triggers placed at the same level or in the same group; i.e., if a trigger has both text and icon, other triggers on the same level or group should also display text and icon.
28
+ - Avoid truncating trigger labels if possible.
29
+
30
+ ## Accessibility
31
+
32
+ - Ensure that when the menu is triggered via keyboard, the first item receives focus.
33
+
34
+ ## Related Templates
35
+
36
+ - AppShell