@maggioli-design-system/magma-react 2.8.0 → 2.10.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 +108 -0
  3. package/README.md +38 -0
  4. package/agents/assets.md +1 -1
  5. package/agents/color.md +5 -3
  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 +22 -3
  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 +8 -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.8.0. You (the agent) are installing Magma into THIS project. Do not
8
+ > Version 2.10.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,114 @@ 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.10.0] - 2026-11-04
11
+
12
+ ### Bug Fixes
13
+
14
+ - *(mds-book)* Bind a book with an image in paper, keep the accent for the drawn cover
15
+ - *(styles,mds-input)* Leave the text of an input untrimmed, so a drag no longer scrolls it
16
+ - *(magma,lint)* Check_setup finds magma-mcp in the configuration of OpenCode
17
+ - *(lint)* Find the tokens a domain carries in the DTCG data too
18
+ - *(mds-status-bar)* Hug the bar again under the dialog width of the window slot
19
+ - *(lint)* No box of nothing reported where the content stands out of it by design
20
+ - *(magma)* The previews of the widths on the roles and the carriers that ship
21
+ - *(lint)* Judge no flat colour where the image cannot show the content
22
+ - *(lint)* Judge no flat colour on a box another element covers
23
+ - *(mds-input-date)* Show the custom calendar button on firefox and hide the native one
24
+ - *(mds-input-date)* Clip only the native calendar button on firefox, not the year
25
+
26
+ ### Build
27
+
28
+ - *(stencil)* Rate a type alias without its closing semicolon
29
+ - *(magma)* Track the editor setup of the repository in .vscode
30
+
31
+ ### Documentation
32
+
33
+ - *(mds-book)* Show binding none on a document, the first page of its minutes
34
+ - *(magma)* The carriers of the rhythm ship, so its cases name them
35
+ - *(magma)* Put the page header at the step of the sections
36
+ - *(magma)* Show the new items of a list in the line of the summary
37
+ - *(magma)* Point the gap of the attention dot at its issue
38
+ - *(magma)* Write the spaces of the page header by their role
39
+ - *(magma)* Write the other five domains of the design language as files
40
+ - *(magma,design-tokens,styles)* Point the guides to the domains
41
+ - *(magma)* Show the cases of widths at work, the pilot of the domain previews
42
+ - *(magma)* Write the planned carriers of density as plain text
43
+ - *(magma)* Keep the table of the widths/page preview to two columns
44
+ - *(magma)* Give the toast of a removal the default light variant
45
+ - *(magma)* Let closing the deadline dialog mean staying connected
46
+ - *(magma)* Stack a row of actions under 380 px of its container
47
+ - *(magma)* Put the actions beyond the third in the menu of the item
48
+ - *(magma)* Lay out the previews with Tailwind, the default
49
+ - *(magma)* Show the error of action-failed-in-place in the strong tone
50
+ - *(mds-accordion-item)* Write h6 for the title of an item, until the default moves
51
+ - *(magma)* The rhythm names the row of actions and lets an image reach its edges
52
+ - *(magma)* Link the decisions of the card to their comments on #1189
53
+ - *(magma)* The titles and the widths on the carriers that ship
54
+ - *(magma)* The patterns follow the design language and the choices of review round 2
55
+ - *(magma)* Draw the architecture of every project in its README
56
+ - *(magma)* Colour the diagrams of the projects by axis
57
+ - *(magma)* Move the shipped carriers of titles and widths to carried-by
58
+
59
+ ### Features
60
+
61
+ - *(lint)* Read the patterns and answer get_pattern
62
+ - *(magma)* Ship the five patterns of Messages and states
63
+ - *(magma)* The plugin skill that writes a product's pattern layer
64
+ - *(magma,lint)* Ship the usage files of a component as examples.md and mistakes.md
65
+ - *(magma)* Fail the build on a usage file the readers of documentation.json do not know
66
+ - *(mds-book)* Binding none, a document as a stack of loose sheets
67
+ - *(magma,lint)* A live preview for every case of a pattern, checked and shipped
68
+ - *(magma)* Render_preview renders Magma markup, checks the image and asks with it
69
+ - *(magma,lint)* Render_preview renders the preview of a case, and every one is checked
70
+ - *(magma)* Domains of Foundation in the pattern format, with serves and carried-by
71
+ - *(magma)* The rhythm, first domain of Foundation
72
+ - *(magma,lint)* The rules of the design language in get_guide, get_pattern, get_component
73
+ - *(design-tokens,styles,mds-text)* The reading measure reaches the text (56ch)
74
+ - *(magma,lint)* Building blocks in the pattern format, the patterns of Data and the page header
75
+ - *(lint)* Give a preview that is a whole page no inset, with whole-page
76
+ - *(lint)* Serve the previews of the patterns live, on the page of render_preview
77
+ - *(lint)* Name the whole file of each stage, a link that opens it in VS Code
78
+ - *(lint)* Show the file of a stage from the root of its repository
79
+ - *(lint)* Compile the Tailwind classes of the markup in the page of a render
80
+ - *(lint)* Build the page of serve.previews with Magma components
81
+ - *(lint)* Write the Tailwind entry point of the editor beside the drafts
82
+ - *(mds-text)* Write a title by its role, page, section, dialog, part or group
83
+ - *(mds-card)* One inset shared by the regions, the image to the edges it touches
84
+ - *(mds-input-field)* Short, a short answer that field-group lays out on half the column
85
+ - *(mds-modal)* The window slot stops at the width of a dialog
86
+ - *(mds-header-bar,mds-header)* The content of the bar on the frame of the page
87
+ - *(stencil,styles)* Rows of actions stack, the status bar keeps its room, fields step down
88
+ - *(mds-header,styles)* The bar stands in the flow, sticky: drop the padding kept for it
89
+ - *(lint,magma)* Previews of the rules of a domain, and more examples of a case
90
+ - *(magma)* The previews of the rhythm, the actions, the titles and the surfaces
91
+ - *(magma)* A preview for every case of the seven decided patterns
92
+ - *(magma,lint)* A preview for each situation of a building block
93
+ - *(magma)* The building blocks app-shell, item-list and labels-and-values
94
+ - *(magma)* The previews of the four blocks, and the previews of the patterns realigned
95
+ - *(mds-notification)* A status variant, and a pulse when the count grows
96
+ - *(magma)* The dot of the new items from mds-notification, pulsing when the count grows
97
+
98
+ ## [magma@2.9.0] - 2026-10-27
99
+
100
+ ### Bug Fixes
101
+
102
+ - *(mds-book)* Keep the publisher of a drawn cover inside its bottom edge
103
+
104
+ ### Documentation
105
+
106
+ - *(magma)* The CI of a commit on main is its merge-group run
107
+ - *(mds-book)* Show the spine by its depth and the four ways of the publisher
108
+
109
+ ### Features
110
+
111
+ - *(mds-book)* Print the author under the title where the spine has room
112
+ - *(mds-book)* Print the mark of the publisher with publisher-logo
113
+
114
+ ### Styling
115
+
116
+ - *(mds-book)* Set the title of the book in the face of the titles
117
+
10
118
  ## [magma@2.8.0] - 2026-10-26
11
119
 
12
120
  ### 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
@@ -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
  | --- | --- | --- |
@@ -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, and what to try in it) 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