@maggioli-design-system/magma-react 2.9.0 → 2.11.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 (618) hide show
  1. package/AGENTS.md +10 -7
  2. package/CHANGELOG.md +109 -0
  3. package/README.md +38 -0
  4. package/agents/assets.md +2 -2
  5. package/agents/color.md +7 -5
  6. package/agents/components.md +2 -2
  7. package/agents/conventions.md +1 -1
  8. package/agents/mcp.md +78 -8
  9. package/agents/{anti-patterns.md → mistakes.md} +2 -2
  10. package/agents/patterns/actions.md +393 -0
  11. package/agents/patterns/app-shell.md +223 -0
  12. package/agents/patterns/choose-items.md +18 -0
  13. package/agents/patterns/concurrent-editing.md +17 -0
  14. package/agents/patterns/confirm-action.md +216 -0
  15. package/agents/patterns/consent-and-legal.md +16 -0
  16. package/agents/patterns/density.md +236 -0
  17. package/agents/patterns/empty-state.md +201 -0
  18. package/agents/patterns/error-recovery.md +237 -0
  19. package/agents/patterns/form-and-validation.md +16 -0
  20. package/agents/patterns/item-list.md +214 -0
  21. package/agents/patterns/labels-and-values.md +184 -0
  22. package/agents/patterns/list-with-filters.md +282 -0
  23. package/agents/patterns/loading.md +221 -0
  24. package/agents/patterns/message-placement.md +304 -0
  25. package/agents/patterns/notification-center.md +18 -0
  26. package/agents/patterns/page-header.md +201 -0
  27. package/agents/patterns/permissions.md +17 -0
  28. package/agents/patterns/previews/actions/banner.html +21 -0
  29. package/agents/patterns/previews/actions/confirm.html +11 -0
  30. package/agents/patterns/previews/actions/danger-zone.html +22 -0
  31. package/agents/patterns/previews/actions/destructive-in-menu.html +19 -0
  32. package/agents/patterns/previews/actions/dismiss-message.html +15 -0
  33. package/agents/patterns/previews/actions/dismiss.html +25 -0
  34. package/agents/patterns/previews/actions/more-in-menu.html +21 -0
  35. package/agents/patterns/previews/actions/part-primary.html +28 -0
  36. package/agents/patterns/previews/actions/primary.html +20 -0
  37. package/agents/patterns/previews/actions/remove.html +44 -0
  38. package/agents/patterns/previews/actions/secondary.html +20 -0
  39. package/agents/patterns/previews/actions/stacked.html +17 -0
  40. package/agents/patterns/previews/actions/toast.html +10 -0
  41. package/agents/patterns/previews/app-shell/back-office.html +41 -0
  42. package/agents/patterns/previews/app-shell/many-sections.html +45 -0
  43. package/agents/patterns/previews/app-shell/public-service.html +31 -0
  44. package/agents/patterns/previews/confirm-action/act-then-undo.html +44 -0
  45. package/agents/patterns/previews/confirm-action/ask-before-sending.html +25 -0
  46. package/agents/patterns/previews/confirm-action/ask-first-many.html +11 -0
  47. package/agents/patterns/previews/confirm-action/ask-first.html +14 -0
  48. package/agents/patterns/previews/confirm-action/make-reversible.html +54 -0
  49. package/agents/patterns/previews/confirm-action/send-as-shown.html +57 -0
  50. package/agents/patterns/previews/empty-state/add-the-first.html +19 -0
  51. package/agents/patterns/previews/empty-state/all-done.html +15 -0
  52. package/agents/patterns/previews/empty-state/clear-filters.html +35 -0
  53. package/agents/patterns/previews/empty-state/filled-by-others.html +15 -0
  54. package/agents/patterns/previews/empty-state/not-found.html +38 -0
  55. package/agents/patterns/previews/empty-state/one-line.html +12 -0
  56. package/agents/patterns/previews/error-recovery/action-another-way.html +35 -0
  57. package/agents/patterns/previews/error-recovery/changed-meanwhile.html +26 -0
  58. package/agents/patterns/previews/error-recovery/check-or-repeat.html +38 -0
  59. package/agents/patterns/previews/error-recovery/content-another-way.html +12 -0
  60. package/agents/patterns/previews/error-recovery/partial.html +29 -0
  61. package/agents/patterns/previews/error-recovery/retry-action.html +35 -0
  62. package/agents/patterns/previews/error-recovery/retry-content.html +40 -0
  63. package/agents/patterns/previews/error-recovery/sign-in-again.html +44 -0
  64. package/agents/patterns/previews/item-list/documents-of-a-request.html +12 -0
  65. package/agents/patterns/previews/item-list/queue-of-a-desk.html +109 -0
  66. package/agents/patterns/previews/item-list/requests-of-an-office.html +74 -0
  67. package/agents/patterns/previews/item-list/requests-to-assign.html +80 -0
  68. package/agents/patterns/previews/labels-and-values/data-of-a-contact.html +31 -0
  69. package/agents/patterns/previews/labels-and-values/payment-before-paying.html +21 -0
  70. package/agents/patterns/previews/labels-and-values/what-is-sent.html +25 -0
  71. package/agents/patterns/previews/list-with-filters/act-on-many.html +121 -0
  72. package/agents/patterns/previews/list-with-filters/find-and-open.html +109 -0
  73. package/agents/patterns/previews/list-with-filters/show-new-items.html +132 -0
  74. package/agents/patterns/previews/loading/await-and-say.html +41 -0
  75. package/agents/patterns/previews/loading/await-the-control.html +28 -0
  76. package/agents/patterns/previews/loading/first-load.html +10 -0
  77. package/agents/patterns/previews/loading/keep-while-reloading.html +80 -0
  78. package/agents/patterns/previews/loading/long-load-measured.html +16 -0
  79. package/agents/patterns/previews/loading/long-load.html +12 -0
  80. package/agents/patterns/previews/loading/progress-in-place.html +52 -0
  81. package/agents/patterns/previews/loading/run-in-background.html +24 -0
  82. package/agents/patterns/previews/message-placement/action-done-elsewhere.html +38 -0
  83. package/agents/patterns/previews/message-placement/action-done-in-page.html +53 -0
  84. package/agents/patterns/previews/message-placement/action-done-in-part.html +42 -0
  85. package/agents/patterns/previews/message-placement/action-failed-elsewhere.html +40 -0
  86. package/agents/patterns/previews/message-placement/action-failed-in-place.html +31 -0
  87. package/agents/patterns/previews/message-placement/action-later.html +24 -0
  88. package/agents/patterns/previews/message-placement/action-partial-elsewhere.html +33 -0
  89. package/agents/patterns/previews/message-placement/action-partial-in-place.html +51 -0
  90. package/agents/patterns/previews/message-placement/action-taken.html +25 -0
  91. package/agents/patterns/previews/message-placement/app-deadline.html +20 -0
  92. package/agents/patterns/previews/message-placement/app-failed.html +48 -0
  93. package/agents/patterns/previews/message-placement/app-info.html +39 -0
  94. package/agents/patterns/previews/message-placement/decision.html +49 -0
  95. package/agents/patterns/previews/message-placement/field-error.html +28 -0
  96. package/agents/patterns/previews/message-placement/field-hint.html +30 -0
  97. package/agents/patterns/previews/message-placement/field-valid.html +11 -0
  98. package/agents/patterns/previews/message-placement/region-failed.html +31 -0
  99. package/agents/patterns/previews/message-placement/region-info.html +16 -0
  100. package/agents/patterns/previews/page-header/contact-being-edited.html +25 -0
  101. package/agents/patterns/previews/page-header/members-of-a-group.html +18 -0
  102. package/agents/patterns/previews/page-header/own-profile.html +17 -0
  103. package/agents/patterns/previews/page-header/request-from-the-list.html +33 -0
  104. package/agents/patterns/previews/page-header/requests-of-an-office.html +16 -0
  105. package/agents/patterns/previews/record-detail/ask-for-words.html +72 -0
  106. package/agents/patterns/previews/record-detail/edit-data.html +104 -0
  107. package/agents/patterns/previews/record-detail/read-the-data.html +80 -0
  108. package/agents/patterns/previews/record-detail/record-changed.html +87 -0
  109. package/agents/patterns/previews/record-detail/run-at-once.html +88 -0
  110. package/agents/patterns/previews/record-detail/work-on-it.html +106 -0
  111. package/agents/patterns/previews/rhythm/between-containers.html +29 -0
  112. package/agents/patterns/previews/rhythm/between-fields.html +14 -0
  113. package/agents/patterns/previews/rhythm/between-groups.html +23 -0
  114. package/agents/patterns/previews/rhythm/between-sections.html +17 -0
  115. package/agents/patterns/previews/rhythm/content-actions.html +14 -0
  116. package/agents/patterns/previews/rhythm/inline.html +12 -0
  117. package/agents/patterns/previews/rhythm/inset.html +11 -0
  118. package/agents/patterns/previews/rhythm/label-control.html +8 -0
  119. package/agents/patterns/previews/rhythm/title-content.html +10 -0
  120. package/agents/patterns/previews/surfaces/band.html +73 -0
  121. package/agents/patterns/previews/surfaces/canvas.html +66 -0
  122. package/agents/patterns/previews/surfaces/card.html +30 -0
  123. package/agents/patterns/previews/surfaces/dialog.html +28 -0
  124. package/agents/patterns/previews/surfaces/edit-actions.html +35 -0
  125. package/agents/patterns/previews/surfaces/section.html +35 -0
  126. package/agents/patterns/previews/titles/dialog.html +18 -0
  127. package/agents/patterns/previews/titles/group.html +14 -0
  128. package/agents/patterns/previews/titles/page.html +25 -0
  129. package/agents/patterns/previews/titles/part.html +24 -0
  130. package/agents/patterns/previews/titles/section.html +14 -0
  131. package/agents/patterns/previews/widths/dialog.html +33 -0
  132. package/agents/patterns/previews/widths/field.html +20 -0
  133. package/agents/patterns/previews/widths/form.html +27 -0
  134. package/agents/patterns/previews/widths/page.html +49 -0
  135. package/agents/patterns/previews/widths/reading.html +15 -0
  136. package/agents/patterns/record-detail.md +268 -0
  137. package/agents/patterns/rhythm.md +212 -0
  138. package/agents/patterns/surfaces.md +212 -0
  139. package/agents/patterns/titles.md +208 -0
  140. package/agents/patterns/widths.md +202 -0
  141. package/agents/patterns.md +121 -0
  142. package/agents/reporting.md +6 -3
  143. package/agents/theming.md +36 -12
  144. package/agents/typography.md +27 -2
  145. package/agents/variants.md +1 -1
  146. package/dist/components.js +117 -117
  147. package/dist/components.server.js +117 -117
  148. package/dist/mds-accordion-item.js +8 -3
  149. package/dist/mds-accordion-item.server.js +7 -2
  150. package/dist/mds-accordion-timer-item.js +8 -3
  151. package/dist/mds-accordion-timer-item.server.js +7 -2
  152. package/dist/mds-accordion-timer.js +11 -4
  153. package/dist/mds-accordion-timer.server.js +7 -2
  154. package/dist/mds-accordion.js +11 -4
  155. package/dist/mds-accordion.server.js +7 -2
  156. package/dist/mds-author.js +8 -3
  157. package/dist/mds-author.server.js +7 -2
  158. package/dist/mds-avatar-stack-item.js +8 -3
  159. package/dist/mds-avatar-stack-item.server.js +7 -2
  160. package/dist/mds-avatar-stack.js +8 -3
  161. package/dist/mds-avatar-stack.server.js +7 -2
  162. package/dist/mds-avatar.js +8 -3
  163. package/dist/mds-avatar.server.js +7 -2
  164. package/dist/mds-badge.js +8 -3
  165. package/dist/mds-badge.server.js +7 -2
  166. package/dist/mds-banner.js +11 -4
  167. package/dist/mds-banner.server.js +7 -2
  168. package/dist/mds-benchmark-bar.js +8 -3
  169. package/dist/mds-benchmark-bar.server.js +7 -2
  170. package/dist/mds-bibliography.js +8 -3
  171. package/dist/mds-bibliography.server.js +7 -2
  172. package/dist/mds-book.js +8 -3
  173. package/dist/mds-book.server.js +7 -2
  174. package/dist/mds-breadcrumb-item.js +11 -4
  175. package/dist/mds-breadcrumb-item.server.js +7 -2
  176. package/dist/mds-breadcrumb.js +11 -4
  177. package/dist/mds-breadcrumb.server.js +10 -3
  178. package/dist/mds-button-dropdown.js +11 -4
  179. package/dist/mds-button-dropdown.server.js +7 -2
  180. package/dist/mds-button-group.js +8 -3
  181. package/dist/mds-button-group.server.js +7 -2
  182. package/dist/mds-button.js +8 -3
  183. package/dist/mds-button.server.js +7 -2
  184. package/dist/mds-calendar-cell.js +8 -3
  185. package/dist/mds-calendar-cell.server.js +7 -2
  186. package/dist/mds-calendar.js +8 -3
  187. package/dist/mds-calendar.server.js +7 -2
  188. package/dist/mds-card-content.js +8 -3
  189. package/dist/mds-card-content.server.js +7 -2
  190. package/dist/mds-card-footer.js +8 -3
  191. package/dist/mds-card-footer.server.js +7 -2
  192. package/dist/mds-card-header.js +8 -3
  193. package/dist/mds-card-header.server.js +7 -2
  194. package/dist/mds-card-media.js +8 -3
  195. package/dist/mds-card-media.server.js +7 -2
  196. package/dist/mds-card.js +8 -3
  197. package/dist/mds-card.server.js +10 -3
  198. package/dist/mds-chip.js +8 -3
  199. package/dist/mds-chip.server.js +7 -2
  200. package/dist/mds-details.js +11 -4
  201. package/dist/mds-details.server.js +10 -3
  202. package/dist/mds-dropdown.js +8 -3
  203. package/dist/mds-dropdown.server.js +7 -2
  204. package/dist/mds-emoji.js +8 -3
  205. package/dist/mds-emoji.server.js +10 -3
  206. package/dist/mds-entity.js +8 -3
  207. package/dist/mds-entity.server.js +7 -2
  208. package/dist/mds-file-preview.js +8 -3
  209. package/dist/mds-file-preview.server.js +7 -2
  210. package/dist/mds-file.js +11 -4
  211. package/dist/mds-file.server.js +7 -2
  212. package/dist/mds-filter-item.js +11 -4
  213. package/dist/mds-filter-item.server.js +7 -2
  214. package/dist/mds-filter.js +11 -4
  215. package/dist/mds-filter.server.js +7 -2
  216. package/dist/mds-header-bar.js +11 -4
  217. package/dist/mds-header-bar.server.js +7 -2
  218. package/dist/mds-header.js +8 -3
  219. package/dist/mds-header.server.js +7 -2
  220. package/dist/mds-help.js +8 -3
  221. package/dist/mds-help.server.js +7 -2
  222. package/dist/mds-horizontal-scroll.js +8 -3
  223. package/dist/mds-horizontal-scroll.server.js +7 -2
  224. package/dist/mds-hr.js +8 -3
  225. package/dist/mds-hr.server.js +7 -2
  226. package/dist/mds-icon.js +8 -3
  227. package/dist/mds-icon.server.js +10 -3
  228. package/dist/mds-img.js +8 -3
  229. package/dist/mds-img.server.js +7 -2
  230. package/dist/mds-input-date-range-preselection.js +8 -3
  231. package/dist/mds-input-date-range-preselection.server.js +7 -2
  232. package/dist/mds-input-date-range.js +11 -4
  233. package/dist/mds-input-date-range.server.js +7 -2
  234. package/dist/mds-input-date.js +8 -3
  235. package/dist/mds-input-date.server.js +7 -2
  236. package/dist/mds-input-field.js +8 -3
  237. package/dist/mds-input-field.server.js +8 -2
  238. package/dist/mds-input-otp.js +8 -3
  239. package/dist/mds-input-otp.server.js +7 -2
  240. package/dist/mds-input-range.js +11 -4
  241. package/dist/mds-input-range.server.js +7 -2
  242. package/dist/mds-input-select.js +11 -4
  243. package/dist/mds-input-select.server.js +7 -2
  244. package/dist/mds-input-switch.js +11 -4
  245. package/dist/mds-input-switch.server.js +7 -2
  246. package/dist/mds-input-tip-item.js +8 -3
  247. package/dist/mds-input-tip-item.server.js +7 -2
  248. package/dist/mds-input-tip.js +8 -3
  249. package/dist/mds-input-tip.server.js +7 -2
  250. package/dist/mds-input-upload.js +11 -4
  251. package/dist/mds-input-upload.server.js +7 -2
  252. package/dist/mds-input.js +8 -3
  253. package/dist/mds-input.server.js +7 -2
  254. package/dist/mds-keyboard-key.js +8 -3
  255. package/dist/mds-keyboard-key.server.js +7 -2
  256. package/dist/mds-keyboard.js +8 -3
  257. package/dist/mds-keyboard.server.js +7 -2
  258. package/dist/mds-kpi-item.js +8 -3
  259. package/dist/mds-kpi-item.server.js +7 -2
  260. package/dist/mds-kpi.js +8 -3
  261. package/dist/mds-kpi.server.js +7 -2
  262. package/dist/mds-label.js +11 -4
  263. package/dist/mds-label.server.js +7 -2
  264. package/dist/mds-link.js +8 -3
  265. package/dist/mds-link.server.js +7 -2
  266. package/dist/mds-list-item.js +8 -3
  267. package/dist/mds-list-item.server.js +7 -2
  268. package/dist/mds-list.js +8 -3
  269. package/dist/mds-list.server.js +7 -2
  270. package/dist/mds-mention.js +11 -4
  271. package/dist/mds-mention.server.js +7 -2
  272. package/dist/mds-modal.js +8 -3
  273. package/dist/mds-modal.server.js +7 -2
  274. package/dist/mds-note.js +11 -4
  275. package/dist/mds-note.server.js +7 -2
  276. package/dist/mds-notification.js +8 -3
  277. package/dist/mds-notification.server.js +10 -3
  278. package/dist/mds-paginator-item.js +8 -3
  279. package/dist/mds-paginator-item.server.js +7 -2
  280. package/dist/mds-paginator.js +11 -4
  281. package/dist/mds-paginator.server.js +7 -2
  282. package/dist/mds-policy-ai.js +8 -3
  283. package/dist/mds-policy-ai.server.js +7 -2
  284. package/dist/mds-pref-animation.js +11 -4
  285. package/dist/mds-pref-animation.server.js +7 -2
  286. package/dist/mds-pref-consumption.js +11 -4
  287. package/dist/mds-pref-consumption.server.js +7 -2
  288. package/dist/mds-pref-contrast.js +11 -4
  289. package/dist/mds-pref-contrast.server.js +7 -2
  290. package/dist/mds-pref-language-item.js +11 -4
  291. package/dist/mds-pref-language-item.server.js +7 -2
  292. package/dist/mds-pref-language.js +8 -3
  293. package/dist/mds-pref-language.server.js +7 -2
  294. package/dist/mds-pref-mode.js +11 -4
  295. package/dist/mds-pref-mode.server.js +7 -2
  296. package/dist/mds-pref-theme-item.js +11 -4
  297. package/dist/mds-pref-theme-item.server.js +7 -2
  298. package/dist/mds-pref-theme.js +8 -3
  299. package/dist/mds-pref-theme.server.js +7 -2
  300. package/dist/mds-pref.js +8 -3
  301. package/dist/mds-pref.server.js +7 -2
  302. package/dist/mds-price-table-features-cell.js +8 -3
  303. package/dist/mds-price-table-features-cell.server.js +10 -3
  304. package/dist/mds-price-table-features-row.js +8 -3
  305. package/dist/mds-price-table-features-row.server.js +7 -2
  306. package/dist/mds-price-table-features.js +8 -3
  307. package/dist/mds-price-table-features.server.js +10 -3
  308. package/dist/mds-price-table-header.js +8 -3
  309. package/dist/mds-price-table-header.server.js +7 -2
  310. package/dist/mds-price-table-list-item.js +8 -3
  311. package/dist/mds-price-table-list-item.server.js +7 -2
  312. package/dist/mds-price-table-list.js +8 -3
  313. package/dist/mds-price-table-list.server.js +7 -2
  314. package/dist/mds-price-table.js +8 -3
  315. package/dist/mds-price-table.server.js +7 -2
  316. package/dist/mds-progress.js +8 -3
  317. package/dist/mds-progress.server.js +7 -2
  318. package/dist/mds-push-notification-item.js +11 -4
  319. package/dist/mds-push-notification-item.server.js +7 -2
  320. package/dist/mds-push-notification.js +8 -3
  321. package/dist/mds-push-notification.server.js +7 -2
  322. package/dist/mds-quote.js +8 -3
  323. package/dist/mds-quote.server.js +7 -2
  324. package/dist/mds-radial-menu-item.js +8 -3
  325. package/dist/mds-radial-menu-item.server.js +7 -2
  326. package/dist/mds-radial-menu.js +8 -3
  327. package/dist/mds-radial-menu.server.js +7 -2
  328. package/dist/mds-radial-progress.js +8 -3
  329. package/dist/mds-radial-progress.server.js +7 -2
  330. package/dist/mds-separator.js +8 -3
  331. package/dist/mds-separator.server.js +7 -2
  332. package/dist/mds-spinner.js +8 -3
  333. package/dist/mds-spinner.server.js +10 -3
  334. package/dist/mds-status-bar.js +8 -3
  335. package/dist/mds-status-bar.server.js +7 -2
  336. package/dist/mds-stepper-bar-item.js +11 -4
  337. package/dist/mds-stepper-bar-item.server.js +7 -2
  338. package/dist/mds-stepper-bar.js +11 -4
  339. package/dist/mds-stepper-bar.server.js +7 -2
  340. package/dist/mds-tab-bar-item.js +11 -4
  341. package/dist/mds-tab-bar-item.server.js +7 -2
  342. package/dist/mds-tab-bar.js +11 -4
  343. package/dist/mds-tab-bar.server.js +7 -2
  344. package/dist/mds-tab-item.js +8 -3
  345. package/dist/mds-tab-item.server.js +7 -2
  346. package/dist/mds-tab.js +11 -4
  347. package/dist/mds-tab.server.js +7 -2
  348. package/dist/mds-table-body.js +8 -3
  349. package/dist/mds-table-body.server.js +7 -2
  350. package/dist/mds-table-cell.js +8 -3
  351. package/dist/mds-table-cell.server.js +10 -3
  352. package/dist/mds-table-footer.js +8 -3
  353. package/dist/mds-table-footer.server.js +10 -3
  354. package/dist/mds-table-header-cell.js +11 -4
  355. package/dist/mds-table-header-cell.server.js +7 -2
  356. package/dist/mds-table-header.js +8 -3
  357. package/dist/mds-table-header.server.js +10 -3
  358. package/dist/mds-table-row.js +8 -3
  359. package/dist/mds-table-row.server.js +7 -2
  360. package/dist/mds-table.js +11 -4
  361. package/dist/mds-table.server.js +7 -2
  362. package/dist/mds-text.js +8 -3
  363. package/dist/mds-text.server.js +7 -2
  364. package/dist/mds-toast-region.js +8 -3
  365. package/dist/mds-toast-region.server.js +7 -2
  366. package/dist/mds-toast.js +11 -4
  367. package/dist/mds-toast.server.js +7 -2
  368. package/dist/mds-tooltip.js +8 -3
  369. package/dist/mds-tooltip.server.js +7 -2
  370. package/dist/mds-tree-item.js +8 -3
  371. package/dist/mds-tree-item.server.js +7 -2
  372. package/dist/mds-tree.js +8 -3
  373. package/dist/mds-tree.server.js +7 -2
  374. package/dist/mds-url-view.js +11 -4
  375. package/dist/mds-url-view.server.js +7 -2
  376. package/dist/mds-usage.js +8 -3
  377. package/dist/mds-usage.server.js +7 -2
  378. package/dist/mds-video-wall.js +8 -3
  379. package/dist/mds-video-wall.server.js +7 -2
  380. package/dist/mds-zero.js +8 -3
  381. package/dist/mds-zero.server.js +7 -2
  382. package/dist/types/components.d.ts +117 -117
  383. package/dist/types/components.server.d.ts +118 -118
  384. package/dist/types/mds-accordion-item.d.ts +4 -8
  385. package/dist/types/mds-accordion-item.server.d.ts +4 -4
  386. package/dist/types/mds-accordion-timer-item.d.ts +4 -8
  387. package/dist/types/mds-accordion-timer-item.server.d.ts +4 -4
  388. package/dist/types/mds-accordion-timer.d.ts +4 -8
  389. package/dist/types/mds-accordion-timer.server.d.ts +4 -4
  390. package/dist/types/mds-accordion.d.ts +4 -8
  391. package/dist/types/mds-accordion.server.d.ts +4 -4
  392. package/dist/types/mds-author.d.ts +2 -6
  393. package/dist/types/mds-author.server.d.ts +3 -3
  394. package/dist/types/mds-avatar-stack-item.d.ts +2 -6
  395. package/dist/types/mds-avatar-stack-item.server.d.ts +3 -3
  396. package/dist/types/mds-avatar-stack.d.ts +2 -6
  397. package/dist/types/mds-avatar-stack.server.d.ts +3 -3
  398. package/dist/types/mds-avatar.d.ts +2 -6
  399. package/dist/types/mds-avatar.server.d.ts +3 -3
  400. package/dist/types/mds-badge.d.ts +2 -6
  401. package/dist/types/mds-badge.server.d.ts +3 -3
  402. package/dist/types/mds-banner.d.ts +4 -8
  403. package/dist/types/mds-banner.server.d.ts +4 -4
  404. package/dist/types/mds-benchmark-bar.d.ts +2 -6
  405. package/dist/types/mds-benchmark-bar.server.d.ts +3 -3
  406. package/dist/types/mds-bibliography.d.ts +2 -6
  407. package/dist/types/mds-bibliography.server.d.ts +3 -3
  408. package/dist/types/mds-book.d.ts +2 -6
  409. package/dist/types/mds-book.server.d.ts +3 -3
  410. package/dist/types/mds-breadcrumb-item.d.ts +4 -8
  411. package/dist/types/mds-breadcrumb-item.server.d.ts +4 -4
  412. package/dist/types/mds-breadcrumb.d.ts +4 -8
  413. package/dist/types/mds-breadcrumb.server.d.ts +4 -4
  414. package/dist/types/mds-button-dropdown.d.ts +4 -8
  415. package/dist/types/mds-button-dropdown.server.d.ts +4 -4
  416. package/dist/types/mds-button-group.d.ts +2 -6
  417. package/dist/types/mds-button-group.server.d.ts +3 -3
  418. package/dist/types/mds-button.d.ts +2 -6
  419. package/dist/types/mds-button.server.d.ts +3 -3
  420. package/dist/types/mds-calendar-cell.d.ts +2 -6
  421. package/dist/types/mds-calendar-cell.server.d.ts +3 -3
  422. package/dist/types/mds-calendar.d.ts +4 -8
  423. package/dist/types/mds-calendar.server.d.ts +4 -4
  424. package/dist/types/mds-card-content.d.ts +2 -6
  425. package/dist/types/mds-card-content.server.d.ts +3 -3
  426. package/dist/types/mds-card-footer.d.ts +2 -6
  427. package/dist/types/mds-card-footer.server.d.ts +3 -3
  428. package/dist/types/mds-card-header.d.ts +2 -6
  429. package/dist/types/mds-card-header.server.d.ts +3 -3
  430. package/dist/types/mds-card-media.d.ts +2 -6
  431. package/dist/types/mds-card-media.server.d.ts +3 -3
  432. package/dist/types/mds-card.d.ts +2 -6
  433. package/dist/types/mds-card.server.d.ts +3 -3
  434. package/dist/types/mds-chip.d.ts +4 -8
  435. package/dist/types/mds-chip.server.d.ts +4 -4
  436. package/dist/types/mds-details.d.ts +4 -8
  437. package/dist/types/mds-details.server.d.ts +4 -4
  438. package/dist/types/mds-dropdown.d.ts +4 -8
  439. package/dist/types/mds-dropdown.server.d.ts +4 -4
  440. package/dist/types/mds-emoji.d.ts +2 -6
  441. package/dist/types/mds-emoji.server.d.ts +3 -3
  442. package/dist/types/mds-entity.d.ts +2 -6
  443. package/dist/types/mds-entity.server.d.ts +3 -3
  444. package/dist/types/mds-file-preview.d.ts +4 -8
  445. package/dist/types/mds-file-preview.server.d.ts +4 -4
  446. package/dist/types/mds-file.d.ts +4 -8
  447. package/dist/types/mds-file.server.d.ts +4 -4
  448. package/dist/types/mds-filter-item.d.ts +4 -8
  449. package/dist/types/mds-filter-item.server.d.ts +4 -4
  450. package/dist/types/mds-filter.d.ts +4 -8
  451. package/dist/types/mds-filter.server.d.ts +4 -4
  452. package/dist/types/mds-header-bar.d.ts +4 -8
  453. package/dist/types/mds-header-bar.server.d.ts +4 -4
  454. package/dist/types/mds-header.d.ts +4 -8
  455. package/dist/types/mds-header.server.d.ts +4 -4
  456. package/dist/types/mds-help.d.ts +2 -6
  457. package/dist/types/mds-help.server.d.ts +3 -3
  458. package/dist/types/mds-horizontal-scroll.d.ts +2 -6
  459. package/dist/types/mds-horizontal-scroll.server.d.ts +3 -3
  460. package/dist/types/mds-hr.d.ts +2 -6
  461. package/dist/types/mds-hr.server.d.ts +3 -3
  462. package/dist/types/mds-icon.d.ts +2 -6
  463. package/dist/types/mds-icon.server.d.ts +3 -3
  464. package/dist/types/mds-img.d.ts +4 -8
  465. package/dist/types/mds-img.server.d.ts +4 -4
  466. package/dist/types/mds-input-date-range-preselection.d.ts +2 -6
  467. package/dist/types/mds-input-date-range-preselection.server.d.ts +3 -3
  468. package/dist/types/mds-input-date-range.d.ts +4 -8
  469. package/dist/types/mds-input-date-range.server.d.ts +4 -4
  470. package/dist/types/mds-input-date.d.ts +4 -8
  471. package/dist/types/mds-input-date.server.d.ts +4 -4
  472. package/dist/types/mds-input-field.d.ts +2 -6
  473. package/dist/types/mds-input-field.server.d.ts +3 -3
  474. package/dist/types/mds-input-otp.d.ts +2 -6
  475. package/dist/types/mds-input-otp.server.d.ts +3 -3
  476. package/dist/types/mds-input-range.d.ts +4 -8
  477. package/dist/types/mds-input-range.server.d.ts +4 -4
  478. package/dist/types/mds-input-select.d.ts +4 -8
  479. package/dist/types/mds-input-select.server.d.ts +4 -4
  480. package/dist/types/mds-input-switch.d.ts +4 -8
  481. package/dist/types/mds-input-switch.server.d.ts +4 -4
  482. package/dist/types/mds-input-tip-item.d.ts +2 -6
  483. package/dist/types/mds-input-tip-item.server.d.ts +3 -3
  484. package/dist/types/mds-input-tip.d.ts +2 -6
  485. package/dist/types/mds-input-tip.server.d.ts +3 -3
  486. package/dist/types/mds-input-upload.d.ts +4 -8
  487. package/dist/types/mds-input-upload.server.d.ts +4 -4
  488. package/dist/types/mds-input.d.ts +4 -8
  489. package/dist/types/mds-input.server.d.ts +4 -4
  490. package/dist/types/mds-keyboard-key.d.ts +2 -6
  491. package/dist/types/mds-keyboard-key.server.d.ts +3 -3
  492. package/dist/types/mds-keyboard.d.ts +2 -6
  493. package/dist/types/mds-keyboard.server.d.ts +3 -3
  494. package/dist/types/mds-kpi-item.d.ts +2 -6
  495. package/dist/types/mds-kpi-item.server.d.ts +3 -3
  496. package/dist/types/mds-kpi.d.ts +2 -6
  497. package/dist/types/mds-kpi.server.d.ts +3 -3
  498. package/dist/types/mds-label.d.ts +4 -8
  499. package/dist/types/mds-label.server.d.ts +4 -4
  500. package/dist/types/mds-link.d.ts +2 -6
  501. package/dist/types/mds-link.server.d.ts +3 -3
  502. package/dist/types/mds-list-item.d.ts +2 -6
  503. package/dist/types/mds-list-item.server.d.ts +3 -3
  504. package/dist/types/mds-list.d.ts +2 -6
  505. package/dist/types/mds-list.server.d.ts +3 -3
  506. package/dist/types/mds-mention.d.ts +4 -8
  507. package/dist/types/mds-mention.server.d.ts +4 -4
  508. package/dist/types/mds-modal.d.ts +4 -8
  509. package/dist/types/mds-modal.server.d.ts +4 -4
  510. package/dist/types/mds-note.d.ts +4 -8
  511. package/dist/types/mds-note.server.d.ts +4 -4
  512. package/dist/types/mds-notification.d.ts +2 -6
  513. package/dist/types/mds-notification.server.d.ts +3 -3
  514. package/dist/types/mds-paginator-item.d.ts +2 -6
  515. package/dist/types/mds-paginator-item.server.d.ts +3 -3
  516. package/dist/types/mds-paginator.d.ts +4 -8
  517. package/dist/types/mds-paginator.server.d.ts +4 -4
  518. package/dist/types/mds-policy-ai.d.ts +2 -6
  519. package/dist/types/mds-policy-ai.server.d.ts +3 -3
  520. package/dist/types/mds-pref-animation.d.ts +4 -8
  521. package/dist/types/mds-pref-animation.server.d.ts +4 -4
  522. package/dist/types/mds-pref-consumption.d.ts +4 -8
  523. package/dist/types/mds-pref-consumption.server.d.ts +4 -4
  524. package/dist/types/mds-pref-contrast.d.ts +4 -8
  525. package/dist/types/mds-pref-contrast.server.d.ts +4 -4
  526. package/dist/types/mds-pref-language-item.d.ts +4 -8
  527. package/dist/types/mds-pref-language-item.server.d.ts +4 -4
  528. package/dist/types/mds-pref-language.d.ts +4 -8
  529. package/dist/types/mds-pref-language.server.d.ts +4 -4
  530. package/dist/types/mds-pref-mode.d.ts +4 -8
  531. package/dist/types/mds-pref-mode.server.d.ts +4 -4
  532. package/dist/types/mds-pref-theme-item.d.ts +4 -8
  533. package/dist/types/mds-pref-theme-item.server.d.ts +4 -4
  534. package/dist/types/mds-pref-theme.d.ts +4 -8
  535. package/dist/types/mds-pref-theme.server.d.ts +4 -4
  536. package/dist/types/mds-pref.d.ts +2 -6
  537. package/dist/types/mds-pref.server.d.ts +3 -3
  538. package/dist/types/mds-price-table-features-cell.d.ts +2 -6
  539. package/dist/types/mds-price-table-features-cell.server.d.ts +3 -3
  540. package/dist/types/mds-price-table-features-row.d.ts +2 -6
  541. package/dist/types/mds-price-table-features-row.server.d.ts +3 -3
  542. package/dist/types/mds-price-table-features.d.ts +2 -6
  543. package/dist/types/mds-price-table-features.server.d.ts +3 -3
  544. package/dist/types/mds-price-table-header.d.ts +2 -6
  545. package/dist/types/mds-price-table-header.server.d.ts +3 -3
  546. package/dist/types/mds-price-table-list-item.d.ts +2 -6
  547. package/dist/types/mds-price-table-list-item.server.d.ts +3 -3
  548. package/dist/types/mds-price-table-list.d.ts +2 -6
  549. package/dist/types/mds-price-table-list.server.d.ts +3 -3
  550. package/dist/types/mds-price-table.d.ts +2 -6
  551. package/dist/types/mds-price-table.server.d.ts +3 -3
  552. package/dist/types/mds-progress.d.ts +2 -6
  553. package/dist/types/mds-progress.server.d.ts +3 -3
  554. package/dist/types/mds-push-notification-item.d.ts +4 -8
  555. package/dist/types/mds-push-notification-item.server.d.ts +4 -4
  556. package/dist/types/mds-push-notification.d.ts +4 -8
  557. package/dist/types/mds-push-notification.server.d.ts +4 -4
  558. package/dist/types/mds-quote.d.ts +2 -6
  559. package/dist/types/mds-quote.server.d.ts +3 -3
  560. package/dist/types/mds-radial-menu-item.d.ts +2 -6
  561. package/dist/types/mds-radial-menu-item.server.d.ts +3 -3
  562. package/dist/types/mds-radial-menu.d.ts +2 -6
  563. package/dist/types/mds-radial-menu.server.d.ts +3 -3
  564. package/dist/types/mds-radial-progress.d.ts +2 -6
  565. package/dist/types/mds-radial-progress.server.d.ts +3 -3
  566. package/dist/types/mds-separator.d.ts +2 -6
  567. package/dist/types/mds-separator.server.d.ts +3 -3
  568. package/dist/types/mds-spinner.d.ts +2 -6
  569. package/dist/types/mds-spinner.server.d.ts +3 -3
  570. package/dist/types/mds-status-bar.d.ts +2 -6
  571. package/dist/types/mds-status-bar.server.d.ts +3 -3
  572. package/dist/types/mds-stepper-bar-item.d.ts +4 -8
  573. package/dist/types/mds-stepper-bar-item.server.d.ts +4 -4
  574. package/dist/types/mds-stepper-bar.d.ts +4 -8
  575. package/dist/types/mds-stepper-bar.server.d.ts +4 -4
  576. package/dist/types/mds-tab-bar-item.d.ts +4 -8
  577. package/dist/types/mds-tab-bar-item.server.d.ts +4 -4
  578. package/dist/types/mds-tab-bar.d.ts +4 -8
  579. package/dist/types/mds-tab-bar.server.d.ts +4 -4
  580. package/dist/types/mds-tab-item.d.ts +4 -8
  581. package/dist/types/mds-tab-item.server.d.ts +4 -4
  582. package/dist/types/mds-tab.d.ts +4 -8
  583. package/dist/types/mds-tab.server.d.ts +4 -4
  584. package/dist/types/mds-table-body.d.ts +2 -6
  585. package/dist/types/mds-table-body.server.d.ts +3 -3
  586. package/dist/types/mds-table-cell.d.ts +2 -6
  587. package/dist/types/mds-table-cell.server.d.ts +3 -3
  588. package/dist/types/mds-table-footer.d.ts +2 -6
  589. package/dist/types/mds-table-footer.server.d.ts +3 -3
  590. package/dist/types/mds-table-header-cell.d.ts +4 -8
  591. package/dist/types/mds-table-header-cell.server.d.ts +4 -4
  592. package/dist/types/mds-table-header.d.ts +2 -6
  593. package/dist/types/mds-table-header.server.d.ts +3 -3
  594. package/dist/types/mds-table-row.d.ts +2 -6
  595. package/dist/types/mds-table-row.server.d.ts +3 -3
  596. package/dist/types/mds-table.d.ts +4 -8
  597. package/dist/types/mds-table.server.d.ts +4 -4
  598. package/dist/types/mds-text.d.ts +2 -6
  599. package/dist/types/mds-text.server.d.ts +3 -3
  600. package/dist/types/mds-toast-region.d.ts +2 -6
  601. package/dist/types/mds-toast-region.server.d.ts +3 -3
  602. package/dist/types/mds-toast.d.ts +4 -8
  603. package/dist/types/mds-toast.server.d.ts +4 -4
  604. package/dist/types/mds-tooltip.d.ts +2 -6
  605. package/dist/types/mds-tooltip.server.d.ts +3 -3
  606. package/dist/types/mds-tree-item.d.ts +4 -8
  607. package/dist/types/mds-tree-item.server.d.ts +4 -4
  608. package/dist/types/mds-tree.d.ts +2 -6
  609. package/dist/types/mds-tree.server.d.ts +3 -3
  610. package/dist/types/mds-url-view.d.ts +4 -8
  611. package/dist/types/mds-url-view.server.d.ts +4 -4
  612. package/dist/types/mds-usage.d.ts +2 -6
  613. package/dist/types/mds-usage.server.d.ts +3 -3
  614. package/dist/types/mds-video-wall.d.ts +2 -6
  615. package/dist/types/mds-video-wall.server.d.ts +3 -3
  616. package/dist/types/mds-zero.d.ts +2 -6
  617. package/dist/types/mds-zero.server.d.ts +3 -3
  618. package/package.json +3 -3
package/AGENTS.md CHANGED
@@ -5,7 +5,7 @@
5
5
  -->
6
6
  # @maggioli-design-system/magma-react - agent install guide
7
7
 
8
- > Version 2.9.0. You (the agent) are installing Magma into THIS project. Do not
8
+ > Version 2.11.0. You (the agent) are installing Magma into THIS project. Do not
9
9
  > assume the setup - detect it from the project, then ask the user only for what you
10
10
  > cannot infer. The detailed steps live in [`agents/install.md`](agents/install.md)
11
11
  > (this target) and [`agents/assets.md`](agents/assets.md) (shared styles, fonts,
@@ -60,10 +60,11 @@ Ask the user only what detection left undecided. Typical questions:
60
60
  the `magma-mcp` command, started with `npx --no magma-mcp` (never without `--no`, which
61
61
  would let npx install a package of that name from the registry). For Claude Code, register
62
62
  the Magma plugin in the project's `.claude/settings.json` instead: it starts the server and
63
- adds the Magma skills (`/magma:setup`, `/magma:review`, `/magma:migrate`). For the other
64
- clients MERGE the entry into `.vscode/mcp.json` or `.cursor/mcp.json`; never both the
65
- plugin and an `.mcp.json` entry, or the server runs twice. Then call its `check_setup`
66
- tool: it lists what the integration still misses.
63
+ adds the Magma skills (`/magma:setup`, `/magma:review`, `/magma:migrate`,
64
+ `/magma:pattern-layer`). For the other
65
+ clients MERGE the entry into `.vscode/mcp.json`, `.cursor/mcp.json` or
66
+ `opencode.json`; never both the plugin and an `.mcp.json` entry, or the server runs
67
+ twice. Then call its `check_setup` tool: it lists what the integration still misses.
67
68
 
68
69
  ## Step 4 - verify
69
70
 
@@ -81,11 +82,13 @@ Once installed, do not guess component APIs or rules - read only the file you ne
81
82
  | You need | Read |
82
83
  | -------- | ---- |
83
84
  | Which component to reach for | [`agents/components.md`](agents/components.md) - the catalogue by category, one line each |
85
+ | A task that spans components, solved the same way in every product: where a message goes, confirming an action, an empty, a loading or a failed part | [`agents/patterns.md`](agents/patterns.md) - the catalogue of the patterns; ask `get_pattern` of the MCP server for the case of your situation |
86
+ | How the parts of a screen stand together: the space between two elements, which action weighs more, the style of a title, when a surface, how wide | [`agents/patterns.md`](agents/patterns.md), section Foundation - the domains of the design language; ask `get_pattern` for the rule of your context, `get_guide` for a domain by its id (`rhythm`) |
84
87
  | One component's API (props with allowed values, events, methods, slots, parts, CSS vars) | its `AGENTS.md`, linked from the catalogue |
85
- | Correct usage and mistakes for one component | `pattern.md` / `antipattern.md` beside its `AGENTS.md` |
88
+ | Correct usage and mistakes for one component | `examples.md` / `mistakes.md` beside its `AGENTS.md` |
86
89
  | Rules shared by every component: naming, events, slots, compound, icons, a11y, styling from outside | [`agents/conventions.md`](agents/conventions.md) |
87
90
  | `variant` and `tone` values | [`agents/variants.md`](agents/variants.md) |
88
- | Mistakes to avoid with any component | [`agents/anti-patterns.md`](agents/anti-patterns.md) |
91
+ | Mistakes to avoid with any component | [`agents/mistakes.md`](agents/mistakes.md) |
89
92
  | Coloring your own UI | [`agents/color.md`](agents/color.md) |
90
93
  | Colors in an Android, iOS or Flutter app, where the components do not run | [`agents/color.md`](agents/color.md), "Outside the web" |
91
94
  | Typography utilities | [`agents/typography.md`](agents/typography.md) |
package/CHANGELOG.md CHANGED
@@ -7,6 +7,115 @@ package.
7
7
  It is released together with `magma`, at the same version: the sections are the
8
8
  releases of `magma`.
9
9
 
10
+ ## [magma@2.11.0] - 2026-11-04
11
+
12
+ ### Bug Fixes
13
+
14
+ - *(mds-pref-theme)* Mark the business item when the theme is left on its default
15
+
16
+ ### Build
17
+
18
+ - *(stencil)* Build magma again when docs/agents changes
19
+
20
+ ### Documentation
21
+
22
+ - *(storybook)* Watch the contrast promotion under editorial in the semantic lab
23
+ - *(magma)* Build magma before checking a new or changed preview
24
+
25
+ ### Features
26
+
27
+ - *(mds-pref-theme-item)* Show in the swatch the theme the item names
28
+ - *(lint)* Let render_preview take the base theme by its name
29
+ - *(magma,lint)* Ship an image of each preview, light and dark, beside its stage
30
+
31
+ ## [magma@2.10.0] - 2026-11-04
32
+
33
+ ### Bug Fixes
34
+
35
+ - *(mds-book)* Bind a book with an image in paper, keep the accent for the drawn cover
36
+ - *(styles,mds-input)* Leave the text of an input untrimmed, so a drag no longer scrolls it
37
+ - *(magma,lint)* Check_setup finds magma-mcp in the configuration of OpenCode
38
+ - *(lint)* Find the tokens a domain carries in the DTCG data too
39
+ - *(mds-status-bar)* Hug the bar again under the dialog width of the window slot
40
+ - *(lint)* No box of nothing reported where the content stands out of it by design
41
+ - *(magma)* The previews of the widths on the roles and the carriers that ship
42
+ - *(lint)* Judge no flat colour where the image cannot show the content
43
+ - *(lint)* Judge no flat colour on a box another element covers
44
+ - *(mds-input-date)* Show the custom calendar button on firefox and hide the native one
45
+ - *(mds-input-date)* Clip only the native calendar button on firefox, not the year
46
+
47
+ ### Build
48
+
49
+ - *(stencil)* Rate a type alias without its closing semicolon
50
+ - *(magma)* Track the editor setup of the repository in .vscode
51
+
52
+ ### Documentation
53
+
54
+ - *(mds-book)* Show binding none on a document, the first page of its minutes
55
+ - *(magma)* The carriers of the rhythm ship, so its cases name them
56
+ - *(magma)* Put the page header at the step of the sections
57
+ - *(magma)* Show the new items of a list in the line of the summary
58
+ - *(magma)* Point the gap of the attention dot at its issue
59
+ - *(magma)* Write the spaces of the page header by their role
60
+ - *(magma)* Write the other five domains of the design language as files
61
+ - *(magma,design-tokens,styles)* Point the guides to the domains
62
+ - *(magma)* Show the cases of widths at work, the pilot of the domain previews
63
+ - *(magma)* Write the planned carriers of density as plain text
64
+ - *(magma)* Keep the table of the widths/page preview to two columns
65
+ - *(magma)* Give the toast of a removal the default light variant
66
+ - *(magma)* Let closing the deadline dialog mean staying connected
67
+ - *(magma)* Stack a row of actions under 380 px of its container
68
+ - *(magma)* Put the actions beyond the third in the menu of the item
69
+ - *(magma)* Lay out the previews with Tailwind, the default
70
+ - *(magma)* Show the error of action-failed-in-place in the strong tone
71
+ - *(mds-accordion-item)* Write h6 for the title of an item, until the default moves
72
+ - *(magma)* The rhythm names the row of actions and lets an image reach its edges
73
+ - *(magma)* Link the decisions of the card to their comments on #1189
74
+ - *(magma)* The titles and the widths on the carriers that ship
75
+ - *(magma)* The patterns follow the design language and the choices of review round 2
76
+ - *(magma)* Draw the architecture of every project in its README
77
+ - *(magma)* Colour the diagrams of the projects by axis
78
+ - *(magma)* Move the shipped carriers of titles and widths to carried-by
79
+
80
+ ### Features
81
+
82
+ - *(lint)* Read the patterns and answer get_pattern
83
+ - *(magma)* Ship the five patterns of Messages and states
84
+ - *(magma)* The plugin skill that writes a product's pattern layer
85
+ - *(magma,lint)* Ship the usage files of a component as examples.md and mistakes.md
86
+ - *(magma)* Fail the build on a usage file the readers of documentation.json do not know
87
+ - *(mds-book)* Binding none, a document as a stack of loose sheets
88
+ - *(magma,lint)* A live preview for every case of a pattern, checked and shipped
89
+ - *(magma)* Render_preview renders Magma markup, checks the image and asks with it
90
+ - *(magma,lint)* Render_preview renders the preview of a case, and every one is checked
91
+ - *(magma)* Domains of Foundation in the pattern format, with serves and carried-by
92
+ - *(magma)* The rhythm, first domain of Foundation
93
+ - *(magma,lint)* The rules of the design language in get_guide, get_pattern, get_component
94
+ - *(design-tokens,styles,mds-text)* The reading measure reaches the text (56ch)
95
+ - *(magma,lint)* Building blocks in the pattern format, the patterns of Data and the page header
96
+ - *(lint)* Give a preview that is a whole page no inset, with whole-page
97
+ - *(lint)* Serve the previews of the patterns live, on the page of render_preview
98
+ - *(lint)* Name the whole file of each stage, a link that opens it in VS Code
99
+ - *(lint)* Show the file of a stage from the root of its repository
100
+ - *(lint)* Compile the Tailwind classes of the markup in the page of a render
101
+ - *(lint)* Build the page of serve.previews with Magma components
102
+ - *(lint)* Write the Tailwind entry point of the editor beside the drafts
103
+ - *(mds-text)* Write a title by its role, page, section, dialog, part or group
104
+ - *(mds-card)* One inset shared by the regions, the image to the edges it touches
105
+ - *(mds-input-field)* Short, a short answer that field-group lays out on half the column
106
+ - *(mds-modal)* The window slot stops at the width of a dialog
107
+ - *(mds-header-bar,mds-header)* The content of the bar on the frame of the page
108
+ - *(stencil,styles)* Rows of actions stack, the status bar keeps its room, fields step down
109
+ - *(mds-header,styles)* The bar stands in the flow, sticky: drop the padding kept for it
110
+ - *(lint,magma)* Previews of the rules of a domain, and more examples of a case
111
+ - *(magma)* The previews of the rhythm, the actions, the titles and the surfaces
112
+ - *(magma)* A preview for every case of the seven decided patterns
113
+ - *(magma,lint)* A preview for each situation of a building block
114
+ - *(magma)* The building blocks app-shell, item-list and labels-and-values
115
+ - *(magma)* The previews of the four blocks, and the previews of the patterns realigned
116
+ - *(mds-notification)* A status variant, and a pulse when the count grows
117
+ - *(magma)* The dot of the new items from mds-notification, pulsing when the count grows
118
+
10
119
  ## [magma@2.9.0] - 2026-10-27
11
120
 
12
121
  ### Bug Fixes
package/README.md CHANGED
@@ -2,6 +2,44 @@
2
2
 
3
3
  Magma React specific building blocks on top of [@maggioli-design-system/magma](https://www.npmjs.com/package/@maggioli-design-system/magma) components.
4
4
 
5
+ ## Architecture
6
+
7
+ Every source of this package is written by the stencil build: a client wrapper per component, a
8
+ server wrapper that renders it with the hydrate module of magma, and a barrel of re-exports. The
9
+ package compiles them; at runtime the wrappers load the custom elements of magma.
10
+
11
+ ```mermaid
12
+ flowchart LR
13
+ WC["stencil<br/>package magma, reactOutputTarget"]
14
+ subgraph re["stencil-react<br/>package @maggioli-design-system/magma-react"]
15
+ CLIENT["client wrappers<br/>src/tag.ts, generated"]
16
+ SERVER["server wrappers<br/>src/tag.server.ts, generated"]
17
+ BARREL["src/components.ts<br/>re-exports only"]
18
+ end
19
+ WC -->|"writes src/ at every build"| CLIENT & SERVER & BARREL
20
+ BARREL -->|"MdsX, imported by its React fixtures"| CM["codemod"]
21
+ WC -.->|"dist/components/tag.js"| CLIENT
22
+ WC -.->|"./hydrate: renderToString, declarative shadow DOM"| SERVER
23
+ SERVER -.->|"on the client"| CLIENT
24
+ BARREL -.->|"MdsButton, MdsText, ... from magma-react"| APP(["React app, Next.js"])
25
+ class WC,CLIENT,SERVER,BARREL components
26
+ class CM tooling
27
+ class APP outside
28
+ class re area
29
+ classDef ai fill:#efe5ff,stroke:#8250df,color:#3e1f79
30
+ classDef assets fill:#fff1d6,stroke:#bf8700,color:#5c3d00
31
+ classDef visual fill:#dcf5ec,stroke:#1a7f64,color:#0b4a3a
32
+ classDef components fill:#ddf0ff,stroke:#0969da,color:#0a3069
33
+ classDef tooling fill:#eceff3,stroke:#57606a,color:#24292f
34
+ classDef outside fill:#ffffff,stroke:#8c959f,color:#24292f
35
+ classDef area fill:none,stroke:#8c959f
36
+ ```
37
+
38
+ Rectangles: this repository; rounded boxes: outside it. Solid arrows: inside the repository;
39
+ dashed: where the package is installed. Labels: the file, export or command that crosses.
40
+ Colours: purple ai, amber assets, teal visual, blue components, grey tooling, white outside
41
+ ([convention](../../docs/ARCHITECTURE.md#diagrams-of-the-projects)).
42
+
5
43
  ## Install with an AI agent
6
44
 
7
45
  This package ships an agent-readable install guide, versioned with the package. Point
package/agents/assets.md CHANGED
@@ -76,7 +76,7 @@ What each file provides:
76
76
  | `transitions.css`, `animations.css` | Shared motion |
77
77
  | `globals.css` | Global `--magma-*` design decisions |
78
78
  | `semantic.css` | The semantic color roles (`--magma-surface-*`, `--magma-text-*`, ..., see [`color.md`](color.md)). Required: without it the page `body` has no colour, the Tailwind role utilities are stuck on their light default (the fallback that gives editors a swatch), and components lose dark mode, named themes and high contrast |
79
- | `themes.css` | The named themes (`data-theme-name`): retint the semantic roles. Import it after `semantic.css` |
79
+ | `themes.css` | The named themes (`data-theme-name`): retint the semantic roles, and publish the preview of each theme for a picker (`--magma-preview-<name>-*`). Import it after `semantic.css` |
80
80
  | `base.css` | Base element styles (sets `--font-info` body font, etc.) |
81
81
 
82
82
  DO NOT import `colors-hex-*.css` when using components or Tailwind - they cannot be
@@ -318,7 +318,7 @@ IconsSetService.setSvgPath('/svg/');
318
318
  Icons mounted before a path set through `sessionStorage` reload on
319
319
  `window.dispatchEvent(new CustomEvent('mdsIconSvgPathUpdate'))`. Every option, with its
320
320
  snippet, is in the
321
- [`mds-icon` pattern](../../magma/dist/collection/components/mds-icon/pattern.md).
321
+ [`mds-icon` examples](../../magma/dist/collection/components/mds-icon/examples.md).
322
322
 
323
323
  Reference an icon by slug, never inline SVG and never import from an icon-set package:
324
324
 
package/agents/color.md CHANGED
@@ -71,10 +71,10 @@ named theme retints all of it at once.
71
71
  | Token (`--magma-*`) | Tailwind | Use |
72
72
  | --- | --- | --- |
73
73
  | `surface-default` | `bg-surface-default` | the page canvas (the `body` already has it) |
74
- | `surface-raised` | `bg-surface-raised` | cards, panels, sticky headers |
74
+ | `surface-raised` | `bg-surface-raised` | cards (an item of a set), panels; the bars that stay put draw it themselves (`surfaces/band`) |
75
75
  | `surface-overlay` | `bg-surface-overlay` | modal, dropdown, popover, sheet, and anything lifted with a shadow |
76
76
  | `surface-sunken` | `bg-surface-sunken` | wells, insets, code blocks, tracks |
77
- | `surface-muted` | `bg-surface-muted` | same-plane grouping: zebra rows, a subtle section |
77
+ | `surface-muted` | `bg-surface-muted` | same-plane grouping inside a component: zebra rows; never the background of a section (`surfaces/tints-in-components`) |
78
78
  | `wash-soft` / `wash-base` / `wash-strong` | `bg-wash-*` | a flat neutral pill or chip (no shadow), by how marked it is |
79
79
  | `surface-inverse` / `surface-inverse-muted` | `bg-surface-inverse*` | the chip that flips with the mode (dark on a light UI) |
80
80
  | `on-inverse` | `text-on-inverse` | text and icons on either inverse level |
@@ -98,7 +98,9 @@ shadow in light, and how themes and high contrast move them: [`theming.md`](them
98
98
  ### Accent: actions and selection
99
99
 
100
100
  Two accents with the same nine roles: `accent` (the brand action colour) and `accent-ai`
101
- (AI-driven features). A named theme can repoint them.
101
+ (AI-driven features). A named theme can repoint them. The interface is neutral, so the
102
+ accent stays rare: a view has one primary action in it (`actions/primary`), and which
103
+ weight every other action takes is the domain [`actions`](patterns/actions.md).
102
104
 
103
105
  | Token | Tailwind | Use |
104
106
  | --- | --- | --- |
@@ -167,8 +169,8 @@ Only when the colour encodes data rather than an interface role:
167
169
  knockout; not a page or card background.
168
170
 
169
171
  Never use `--magma-tint-*`: it is the internal pointer a named theme repoints, not a role.
170
- `tone-porcelain` and `tone-bisque` back the named themes `cool` and `warm`: switch them on
171
- with `data-theme-name` ([`theming.md`](theming.md)), do not paint them by hand.
172
+ `tone-bisque` backs the named theme `editorial` (and `tone-porcelain` the deprecated `cool`):
173
+ switch it on with `data-theme-name` ([`theming.md`](theming.md)), do not paint it by hand.
172
174
  `variant-*` has no role of its own: the accents are `accent` and `accent-ai`.
173
175
 
174
176
  Deprecated: `--magma-neutral-emphasis` / `--magma-neutral-on-emphasis` are aliases of
@@ -6,10 +6,10 @@
6
6
  # Magma components catalogue (117 components)
7
7
 
8
8
  > Generated from each component's usage description. Each tag links the component's
9
- > own `AGENTS.md` (its API, with `pattern.md` and `antipattern.md` beside it) in
9
+ > own `AGENTS.md` (its API, with `examples.md` and `mistakes.md` beside it) in
10
10
  > `@maggioli-design-system/magma/dist/collection/components/<tag>/`. The rules shared by
11
11
  > every component: [`conventions.md`](conventions.md), [`variants.md`](variants.md),
12
- > [`anti-patterns.md`](anti-patterns.md).
12
+ > [`mistakes.md`](mistakes.md).
13
13
  >
14
14
  > Grouped by category (the `@category` docs tag of each component in
15
15
  > `dist/documentation.json`). A part of a compound component (`@parent`) follows its
@@ -9,7 +9,7 @@
9
9
  > slots, compound components, icons, accessibility, styling from outside. Apply them
10
10
  > once; do not re-derive them per component. The `variant` / `tone` axes have their own
11
11
  > file: [`variants.md`](variants.md). Mistakes that apply to every component:
12
- > [`anti-patterns.md`](anti-patterns.md).
12
+ > [`mistakes.md`](mistakes.md).
13
13
  >
14
14
  > For one component's API (props with their allowed values, events, methods, slots,
15
15
  > parts, CSS custom properties) read its own `AGENTS.md`, listed in
package/agents/mcp.md CHANGED
@@ -11,9 +11,10 @@
11
11
 
12
12
  The server answers from the version installed in the project: the components and their
13
13
  API, the roles and tokens with what each one is for, the classes of the Magma Tailwind
14
- theme, the icon slugs that exist, the sections of these guides, and the lint
15
- ([`lint.md`](lint.md)) on a snippet before it is written. It is read-only: no tool changes
16
- a file.
14
+ theme, the icon slugs that exist, the sections of these guides, the lint
15
+ ([`lint.md`](lint.md)) on a snippet before it is written, and an image of markup rendered
16
+ with the installed components. No tool changes the project's code: only `render_preview`
17
+ writes, its images, into `node_modules/.cache/magma/previews/`.
17
18
 
18
19
  ## Set it up
19
20
 
@@ -25,8 +26,9 @@ the file.
25
26
  ### Claude Code: the Magma plugin
26
27
 
27
28
  In Claude Code, the Magma plugin starts the server for you and adds the skills that run a
28
- whole job: `/magma:setup`, `/magma:review`, `/magma:migrate`, and `ui`, which Claude loads by
29
- itself for UI work. Register it for the whole team in the project's committed
29
+ whole job: `/magma:setup`, `/magma:review`, `/magma:migrate`, `/magma:pattern-layer` (the
30
+ layer of a pattern for the product, [`patterns.md`](patterns.md)), and `ui`, which Claude loads
31
+ by itself for UI work. Register it for the whole team in the project's committed
30
32
  `.claude/settings.json`; Claude Code loads it once the folder is trusted, in the terminal and
31
33
  in the desktop app, which reads the same settings:
32
34
 
@@ -69,27 +71,52 @@ VS Code (GitHub Copilot), `.vscode/mcp.json`:
69
71
 
70
72
  Cursor, `.cursor/mcp.json`: the same entry as Claude Code, under `mcpServers`.
71
73
 
74
+ OpenCode, `opencode.json` (or `opencode.jsonc`) at the project root: a `local` server, whose
75
+ `command` lists the program and its arguments. OpenCode 2 reads the servers under
76
+ `mcp.servers`:
77
+
78
+ ```json
79
+ {
80
+ "mcp": {
81
+ "servers": {
82
+ "magma": { "type": "local", "command": ["npx", "--no", "magma-mcp"] }
83
+ }
84
+ }
85
+ }
86
+ ```
87
+
88
+ OpenCode 1 reads them right under `mcp` (`"mcp": { "magma": { ... } }`), a form OpenCode 2
89
+ still reads but deprecates.
90
+
91
+ `render_preview` also needs a browser driver, which Magma does not install:
92
+ `npm i -D playwright-core` (a project with `@playwright/test` has it already). It drives the
93
+ Google Chrome or Microsoft Edge of the machine and downloads no browser; on a machine with
94
+ neither, `npx playwright install chromium`.
95
+
72
96
  `npx --no magma-mcp` runs the installed version, so the answers always match the components
73
97
  the project uses. Keep `--no`: without it, a client that starts the server before
74
98
  `npm install` (a fresh clone with the configuration committed) lets `npx` download and run
75
99
  whatever package the npm registry has under that name; with it, `npx` stops instead. When the
76
100
  client starts servers elsewhere than the project's root, pass it:
77
- `"args": ["--no", "magma-mcp", "--root", "<the project's folder>"]`.
101
+ `"args": ["--no", "magma-mcp", "--root", "<the project's folder>"]` (in OpenCode, at the end
102
+ of `command`).
78
103
 
79
104
  ## The tools
80
105
 
81
106
  | Tool | Ask it | Instead of |
82
107
  | --- | --- | --- |
83
108
  | `find_component` | which component fits a need ("a date range picker") | reading the catalogue |
84
- | `get_component` | the API of one component: props with their values and default, events, methods, slots, parts, public CSS custom properties | reading its `AGENTS.md` |
109
+ | `get_component` | the API of one component: props with their values and default, events, methods, slots, parts, public CSS custom properties; and in `rules` the rules of the design language that govern it (the inset `mds-banner` draws, from the rhythm) | reading its `AGENTS.md` |
85
110
  | `get_usage` | how HTML, React or Angular writes it: import, props, events (`onMdsInputChange`, `(mdsInputChange)`) | guessing the names |
86
111
  | `list_tokens` | the role for a need ("secondary text"), with its value and class | reading [`color.md`](color.md) |
87
112
  | `suggest_role` | the role for a colour, a raw class or a palette step, as a class of the same utility (`shadow-*/80` stays a shadow class) | picking a role by eye |
88
113
  | `explain_class` | what a class does with the Magma theme | the trap of the scale: `p-4` is 0.01rem, `p-400` is 1rem |
89
114
  | `find_icon` | a slug that exists, by meaning, or whether a slug exists | an `icon="..."` that renders nothing |
90
- | `get_guide` | one section of a guide | reading the whole file |
115
+ | `get_guide` | one section of a guide, or of a domain of Foundation, the rules of composition of the design language (`rhythm`, `density`, `actions`, `titles`, `surfaces`, `widths`) | reading the whole file |
116
+ | `get_pattern` | how a task across components is solved in every product (where a message goes, confirming an action, an empty, a loading or a failed part): the list, the patterns for a need, or, with the values of the variables of a pattern, the one case to follow, with its preview (the stage, live, what to try in it and in `images` the paths of its light and dark images, to show where the stage cannot run) when Magma has one and in `rules` the rules of the domains it relies on; the layer of the project (`magma/patterns/<id>.md`) applied; the domains of Foundation first in the list, then the building blocks (`kind: block`, the page header), which answer with the regions to lay out, in order | inventing the flow, or reading [`patterns.md`](patterns.md) and each pattern by hand |
91
117
  | `check_markup` | whether a snippet passes the lint, before it is written | a lint run after the fact |
92
118
  | `check_setup` | what the Magma integration of the project misses | checking the install steps by hand |
119
+ | `render_preview` | an image of markup with Magma components, or of the preview Magma ships for a case of a pattern (`pattern` and `case`), at the widths (pixels or Magma breakpoints), the mode and the theme you give, with a report of what in it is not representative | describing an interface in words, or a wireframe of your own |
93
120
 
94
121
  `check_markup` uses the ESLint, Stylelint and template parsers the project installed with
95
122
  the lint ([`lint.md`](lint.md)). The same definitions, for a tool that documents them, are in
@@ -99,9 +126,52 @@ the lint ([`lint.md`](lint.md)). The same definitions, for a tool that documents
99
126
 
100
127
  - Before writing a component: `find_component`, then `get_component` and `get_usage`.
101
128
  - Before a colour, a spacing or a class: `list_tokens`, `suggest_role`, `explain_class`.
129
+ - Before a flow that tells the person something or makes them wait or decide: `get_pattern`.
130
+ - Before the head of a page (its title, the way back, its actions): the building block
131
+ `page-header`, `get_pattern` with its id and the values of its variables.
132
+ - Before laying out a page, a form, a dialog or a card: the domains of Foundation, which
133
+ `get_pattern` lists first (`kind: foundation`), each read with `get_guide` by its id
134
+ (`rhythm`, `actions`, `titles`, `surfaces`, `widths`, `density`); follow the `rules` that `get_pattern` gives with a case and `get_component`
135
+ with a component.
102
136
  - Before an icon: `find_icon`.
103
137
  - After writing: `check_markup`, then the project's lint ([`lint.md`](lint.md)).
104
138
  - After the bootstrap, or when something does not render: `check_setup`.
139
+ - Before asking the person to decide on an interface: `render_preview`, one render per
140
+ option ([Show the person what you mean](#show-the-person-what-you-mean)).
105
141
  - When no tool gives you what the task needs, or an answer carries `gap`: tell the user,
106
142
  and at the end of the task propose an issue on Magma
107
143
  ([`reporting.md`](reporting.md), "A tool or an answer the MCP server is missing").
144
+
145
+ ## Show the person what you mean
146
+
147
+ A decision on an interface taken from words is taken blind: the person reads the concept and
148
+ imagines a screen of their own. Show the real components instead, rendered on the version the
149
+ project installed.
150
+
151
+ 1. **Render each option.** `render_preview` with the markup of the option, as the product
152
+ would write it: the real components, the real texts, the layout around them, with the
153
+ Magma Tailwind utilities (the render compiles them with the project's Tailwind 4). A modal, a
154
+ drawer or a toast sits on the viewport: give a `height`. One width is enough unless the
155
+ option changes with it (`["mobile", "desktop"]`).
156
+ 2. **Read the report before the image.** `representative: false` names what is wrong,
157
+ element by element: a component unknown or not hydrated, an element with no size, a
158
+ component that is one flat colour, a console error, an icon, a font or an image that did
159
+ not load, a word broken across lines, content cut. Fix your markup and render again; show
160
+ an image with a problem only with the problem said next to it.
161
+ 3. **Show the images.** The tool returns each image as image content and as a file. VS Code
162
+ and Cursor show the image to the person; Claude Code passes it to you and may not show it,
163
+ so there attach the file (`file`) the way your client sends a file to the person, or give
164
+ its path. Never copy the image data by hand.
165
+ 4. **Ask.** Each option with its image, a name and one line on what it means, the one you
166
+ recommend first and marked as such. Ask with your client's question tool when it has one.
167
+ Always offer:
168
+ - a way to flag an image ("the second one did not render", "this is not what I meant");
169
+ - an empty field for an answer of the person's own.
170
+ 5. **Render the free answer before acting on it.** What the person writes in the empty field
171
+ is an instruction you interpret: render what you understood, show it and ask whether that
172
+ is it. Act only once they confirm; otherwise render again with their correction.
173
+ 6. **A flagged image.** Render it again and compare the report. When the markup was yours
174
+ to fix, fix it. When the markup is right and the image still does not show it (the
175
+ report says representative, the person sees something else), the render is at fault: tell
176
+ the person and propose an issue on Magma ([`reporting.md`](reporting.md), "A tool or an
177
+ answer the MCP server is missing").
@@ -3,10 +3,10 @@
3
3
  Source of truth: docs/agents/ in the magma monorepo.
4
4
  Regenerate with: npm run sync.agent-docs (from the stencil package).
5
5
  -->
6
- # Magma components - system-level anti-patterns
6
+ # Magma components - mistakes to avoid with any component
7
7
 
8
8
  > Scope: mistakes that apply to **every** component. Each component's own
9
- > `antipattern.md` (next to its `AGENTS.md`) covers the component-specific ones; the
9
+ > `mistakes.md` (next to its `AGENTS.md`) covers the component-specific ones; the
10
10
  > ones below are universal. The rules they break: [`conventions.md`](conventions.md),
11
11
  > [`variants.md`](variants.md), [`color.md`](color.md), [`theming.md`](theming.md).
12
12