@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.
- package/AGENTS.md +10 -7
- package/CHANGELOG.md +109 -0
- package/README.md +38 -0
- package/agents/assets.md +2 -2
- package/agents/color.md +7 -5
- package/agents/components.md +2 -2
- package/agents/conventions.md +1 -1
- package/agents/mcp.md +78 -8
- package/agents/{anti-patterns.md → mistakes.md} +2 -2
- package/agents/patterns/actions.md +393 -0
- package/agents/patterns/app-shell.md +223 -0
- package/agents/patterns/choose-items.md +18 -0
- package/agents/patterns/concurrent-editing.md +17 -0
- package/agents/patterns/confirm-action.md +216 -0
- package/agents/patterns/consent-and-legal.md +16 -0
- package/agents/patterns/density.md +236 -0
- package/agents/patterns/empty-state.md +201 -0
- package/agents/patterns/error-recovery.md +237 -0
- package/agents/patterns/form-and-validation.md +16 -0
- package/agents/patterns/item-list.md +214 -0
- package/agents/patterns/labels-and-values.md +184 -0
- package/agents/patterns/list-with-filters.md +282 -0
- package/agents/patterns/loading.md +221 -0
- package/agents/patterns/message-placement.md +304 -0
- package/agents/patterns/notification-center.md +18 -0
- package/agents/patterns/page-header.md +201 -0
- package/agents/patterns/permissions.md +17 -0
- package/agents/patterns/previews/actions/banner.html +21 -0
- package/agents/patterns/previews/actions/confirm.html +11 -0
- package/agents/patterns/previews/actions/danger-zone.html +22 -0
- package/agents/patterns/previews/actions/destructive-in-menu.html +19 -0
- package/agents/patterns/previews/actions/dismiss-message.html +15 -0
- package/agents/patterns/previews/actions/dismiss.html +25 -0
- package/agents/patterns/previews/actions/more-in-menu.html +21 -0
- package/agents/patterns/previews/actions/part-primary.html +28 -0
- package/agents/patterns/previews/actions/primary.html +20 -0
- package/agents/patterns/previews/actions/remove.html +44 -0
- package/agents/patterns/previews/actions/secondary.html +20 -0
- package/agents/patterns/previews/actions/stacked.html +17 -0
- package/agents/patterns/previews/actions/toast.html +10 -0
- package/agents/patterns/previews/app-shell/back-office.html +41 -0
- package/agents/patterns/previews/app-shell/many-sections.html +45 -0
- package/agents/patterns/previews/app-shell/public-service.html +31 -0
- package/agents/patterns/previews/confirm-action/act-then-undo.html +44 -0
- package/agents/patterns/previews/confirm-action/ask-before-sending.html +25 -0
- package/agents/patterns/previews/confirm-action/ask-first-many.html +11 -0
- package/agents/patterns/previews/confirm-action/ask-first.html +14 -0
- package/agents/patterns/previews/confirm-action/make-reversible.html +54 -0
- package/agents/patterns/previews/confirm-action/send-as-shown.html +57 -0
- package/agents/patterns/previews/empty-state/add-the-first.html +19 -0
- package/agents/patterns/previews/empty-state/all-done.html +15 -0
- package/agents/patterns/previews/empty-state/clear-filters.html +35 -0
- package/agents/patterns/previews/empty-state/filled-by-others.html +15 -0
- package/agents/patterns/previews/empty-state/not-found.html +38 -0
- package/agents/patterns/previews/empty-state/one-line.html +12 -0
- package/agents/patterns/previews/error-recovery/action-another-way.html +35 -0
- package/agents/patterns/previews/error-recovery/changed-meanwhile.html +26 -0
- package/agents/patterns/previews/error-recovery/check-or-repeat.html +38 -0
- package/agents/patterns/previews/error-recovery/content-another-way.html +12 -0
- package/agents/patterns/previews/error-recovery/partial.html +29 -0
- package/agents/patterns/previews/error-recovery/retry-action.html +35 -0
- package/agents/patterns/previews/error-recovery/retry-content.html +40 -0
- package/agents/patterns/previews/error-recovery/sign-in-again.html +44 -0
- package/agents/patterns/previews/item-list/documents-of-a-request.html +12 -0
- package/agents/patterns/previews/item-list/queue-of-a-desk.html +109 -0
- package/agents/patterns/previews/item-list/requests-of-an-office.html +74 -0
- package/agents/patterns/previews/item-list/requests-to-assign.html +80 -0
- package/agents/patterns/previews/labels-and-values/data-of-a-contact.html +31 -0
- package/agents/patterns/previews/labels-and-values/payment-before-paying.html +21 -0
- package/agents/patterns/previews/labels-and-values/what-is-sent.html +25 -0
- package/agents/patterns/previews/list-with-filters/act-on-many.html +121 -0
- package/agents/patterns/previews/list-with-filters/find-and-open.html +109 -0
- package/agents/patterns/previews/list-with-filters/show-new-items.html +132 -0
- package/agents/patterns/previews/loading/await-and-say.html +41 -0
- package/agents/patterns/previews/loading/await-the-control.html +28 -0
- package/agents/patterns/previews/loading/first-load.html +10 -0
- package/agents/patterns/previews/loading/keep-while-reloading.html +80 -0
- package/agents/patterns/previews/loading/long-load-measured.html +16 -0
- package/agents/patterns/previews/loading/long-load.html +12 -0
- package/agents/patterns/previews/loading/progress-in-place.html +52 -0
- package/agents/patterns/previews/loading/run-in-background.html +24 -0
- package/agents/patterns/previews/message-placement/action-done-elsewhere.html +38 -0
- package/agents/patterns/previews/message-placement/action-done-in-page.html +53 -0
- package/agents/patterns/previews/message-placement/action-done-in-part.html +42 -0
- package/agents/patterns/previews/message-placement/action-failed-elsewhere.html +40 -0
- package/agents/patterns/previews/message-placement/action-failed-in-place.html +31 -0
- package/agents/patterns/previews/message-placement/action-later.html +24 -0
- package/agents/patterns/previews/message-placement/action-partial-elsewhere.html +33 -0
- package/agents/patterns/previews/message-placement/action-partial-in-place.html +51 -0
- package/agents/patterns/previews/message-placement/action-taken.html +25 -0
- package/agents/patterns/previews/message-placement/app-deadline.html +20 -0
- package/agents/patterns/previews/message-placement/app-failed.html +48 -0
- package/agents/patterns/previews/message-placement/app-info.html +39 -0
- package/agents/patterns/previews/message-placement/decision.html +49 -0
- package/agents/patterns/previews/message-placement/field-error.html +28 -0
- package/agents/patterns/previews/message-placement/field-hint.html +30 -0
- package/agents/patterns/previews/message-placement/field-valid.html +11 -0
- package/agents/patterns/previews/message-placement/region-failed.html +31 -0
- package/agents/patterns/previews/message-placement/region-info.html +16 -0
- package/agents/patterns/previews/page-header/contact-being-edited.html +25 -0
- package/agents/patterns/previews/page-header/members-of-a-group.html +18 -0
- package/agents/patterns/previews/page-header/own-profile.html +17 -0
- package/agents/patterns/previews/page-header/request-from-the-list.html +33 -0
- package/agents/patterns/previews/page-header/requests-of-an-office.html +16 -0
- package/agents/patterns/previews/record-detail/ask-for-words.html +72 -0
- package/agents/patterns/previews/record-detail/edit-data.html +104 -0
- package/agents/patterns/previews/record-detail/read-the-data.html +80 -0
- package/agents/patterns/previews/record-detail/record-changed.html +87 -0
- package/agents/patterns/previews/record-detail/run-at-once.html +88 -0
- package/agents/patterns/previews/record-detail/work-on-it.html +106 -0
- package/agents/patterns/previews/rhythm/between-containers.html +29 -0
- package/agents/patterns/previews/rhythm/between-fields.html +14 -0
- package/agents/patterns/previews/rhythm/between-groups.html +23 -0
- package/agents/patterns/previews/rhythm/between-sections.html +17 -0
- package/agents/patterns/previews/rhythm/content-actions.html +14 -0
- package/agents/patterns/previews/rhythm/inline.html +12 -0
- package/agents/patterns/previews/rhythm/inset.html +11 -0
- package/agents/patterns/previews/rhythm/label-control.html +8 -0
- package/agents/patterns/previews/rhythm/title-content.html +10 -0
- package/agents/patterns/previews/surfaces/band.html +73 -0
- package/agents/patterns/previews/surfaces/canvas.html +66 -0
- package/agents/patterns/previews/surfaces/card.html +30 -0
- package/agents/patterns/previews/surfaces/dialog.html +28 -0
- package/agents/patterns/previews/surfaces/edit-actions.html +35 -0
- package/agents/patterns/previews/surfaces/section.html +35 -0
- package/agents/patterns/previews/titles/dialog.html +18 -0
- package/agents/patterns/previews/titles/group.html +14 -0
- package/agents/patterns/previews/titles/page.html +25 -0
- package/agents/patterns/previews/titles/part.html +24 -0
- package/agents/patterns/previews/titles/section.html +14 -0
- package/agents/patterns/previews/widths/dialog.html +33 -0
- package/agents/patterns/previews/widths/field.html +20 -0
- package/agents/patterns/previews/widths/form.html +27 -0
- package/agents/patterns/previews/widths/page.html +49 -0
- package/agents/patterns/previews/widths/reading.html +15 -0
- package/agents/patterns/record-detail.md +268 -0
- package/agents/patterns/rhythm.md +212 -0
- package/agents/patterns/surfaces.md +212 -0
- package/agents/patterns/titles.md +208 -0
- package/agents/patterns/widths.md +202 -0
- package/agents/patterns.md +121 -0
- package/agents/reporting.md +6 -3
- package/agents/theming.md +36 -12
- package/agents/typography.md +27 -2
- package/agents/variants.md +1 -1
- package/dist/components.js +117 -117
- package/dist/components.server.js +117 -117
- package/dist/mds-accordion-item.js +8 -3
- package/dist/mds-accordion-item.server.js +7 -2
- package/dist/mds-accordion-timer-item.js +8 -3
- package/dist/mds-accordion-timer-item.server.js +7 -2
- package/dist/mds-accordion-timer.js +11 -4
- package/dist/mds-accordion-timer.server.js +7 -2
- package/dist/mds-accordion.js +11 -4
- package/dist/mds-accordion.server.js +7 -2
- package/dist/mds-author.js +8 -3
- package/dist/mds-author.server.js +7 -2
- package/dist/mds-avatar-stack-item.js +8 -3
- package/dist/mds-avatar-stack-item.server.js +7 -2
- package/dist/mds-avatar-stack.js +8 -3
- package/dist/mds-avatar-stack.server.js +7 -2
- package/dist/mds-avatar.js +8 -3
- package/dist/mds-avatar.server.js +7 -2
- package/dist/mds-badge.js +8 -3
- package/dist/mds-badge.server.js +7 -2
- package/dist/mds-banner.js +11 -4
- package/dist/mds-banner.server.js +7 -2
- package/dist/mds-benchmark-bar.js +8 -3
- package/dist/mds-benchmark-bar.server.js +7 -2
- package/dist/mds-bibliography.js +8 -3
- package/dist/mds-bibliography.server.js +7 -2
- package/dist/mds-book.js +8 -3
- package/dist/mds-book.server.js +7 -2
- package/dist/mds-breadcrumb-item.js +11 -4
- package/dist/mds-breadcrumb-item.server.js +7 -2
- package/dist/mds-breadcrumb.js +11 -4
- package/dist/mds-breadcrumb.server.js +10 -3
- package/dist/mds-button-dropdown.js +11 -4
- package/dist/mds-button-dropdown.server.js +7 -2
- package/dist/mds-button-group.js +8 -3
- package/dist/mds-button-group.server.js +7 -2
- package/dist/mds-button.js +8 -3
- package/dist/mds-button.server.js +7 -2
- package/dist/mds-calendar-cell.js +8 -3
- package/dist/mds-calendar-cell.server.js +7 -2
- package/dist/mds-calendar.js +8 -3
- package/dist/mds-calendar.server.js +7 -2
- package/dist/mds-card-content.js +8 -3
- package/dist/mds-card-content.server.js +7 -2
- package/dist/mds-card-footer.js +8 -3
- package/dist/mds-card-footer.server.js +7 -2
- package/dist/mds-card-header.js +8 -3
- package/dist/mds-card-header.server.js +7 -2
- package/dist/mds-card-media.js +8 -3
- package/dist/mds-card-media.server.js +7 -2
- package/dist/mds-card.js +8 -3
- package/dist/mds-card.server.js +10 -3
- package/dist/mds-chip.js +8 -3
- package/dist/mds-chip.server.js +7 -2
- package/dist/mds-details.js +11 -4
- package/dist/mds-details.server.js +10 -3
- package/dist/mds-dropdown.js +8 -3
- package/dist/mds-dropdown.server.js +7 -2
- package/dist/mds-emoji.js +8 -3
- package/dist/mds-emoji.server.js +10 -3
- package/dist/mds-entity.js +8 -3
- package/dist/mds-entity.server.js +7 -2
- package/dist/mds-file-preview.js +8 -3
- package/dist/mds-file-preview.server.js +7 -2
- package/dist/mds-file.js +11 -4
- package/dist/mds-file.server.js +7 -2
- package/dist/mds-filter-item.js +11 -4
- package/dist/mds-filter-item.server.js +7 -2
- package/dist/mds-filter.js +11 -4
- package/dist/mds-filter.server.js +7 -2
- package/dist/mds-header-bar.js +11 -4
- package/dist/mds-header-bar.server.js +7 -2
- package/dist/mds-header.js +8 -3
- package/dist/mds-header.server.js +7 -2
- package/dist/mds-help.js +8 -3
- package/dist/mds-help.server.js +7 -2
- package/dist/mds-horizontal-scroll.js +8 -3
- package/dist/mds-horizontal-scroll.server.js +7 -2
- package/dist/mds-hr.js +8 -3
- package/dist/mds-hr.server.js +7 -2
- package/dist/mds-icon.js +8 -3
- package/dist/mds-icon.server.js +10 -3
- package/dist/mds-img.js +8 -3
- package/dist/mds-img.server.js +7 -2
- package/dist/mds-input-date-range-preselection.js +8 -3
- package/dist/mds-input-date-range-preselection.server.js +7 -2
- package/dist/mds-input-date-range.js +11 -4
- package/dist/mds-input-date-range.server.js +7 -2
- package/dist/mds-input-date.js +8 -3
- package/dist/mds-input-date.server.js +7 -2
- package/dist/mds-input-field.js +8 -3
- package/dist/mds-input-field.server.js +8 -2
- package/dist/mds-input-otp.js +8 -3
- package/dist/mds-input-otp.server.js +7 -2
- package/dist/mds-input-range.js +11 -4
- package/dist/mds-input-range.server.js +7 -2
- package/dist/mds-input-select.js +11 -4
- package/dist/mds-input-select.server.js +7 -2
- package/dist/mds-input-switch.js +11 -4
- package/dist/mds-input-switch.server.js +7 -2
- package/dist/mds-input-tip-item.js +8 -3
- package/dist/mds-input-tip-item.server.js +7 -2
- package/dist/mds-input-tip.js +8 -3
- package/dist/mds-input-tip.server.js +7 -2
- package/dist/mds-input-upload.js +11 -4
- package/dist/mds-input-upload.server.js +7 -2
- package/dist/mds-input.js +8 -3
- package/dist/mds-input.server.js +7 -2
- package/dist/mds-keyboard-key.js +8 -3
- package/dist/mds-keyboard-key.server.js +7 -2
- package/dist/mds-keyboard.js +8 -3
- package/dist/mds-keyboard.server.js +7 -2
- package/dist/mds-kpi-item.js +8 -3
- package/dist/mds-kpi-item.server.js +7 -2
- package/dist/mds-kpi.js +8 -3
- package/dist/mds-kpi.server.js +7 -2
- package/dist/mds-label.js +11 -4
- package/dist/mds-label.server.js +7 -2
- package/dist/mds-link.js +8 -3
- package/dist/mds-link.server.js +7 -2
- package/dist/mds-list-item.js +8 -3
- package/dist/mds-list-item.server.js +7 -2
- package/dist/mds-list.js +8 -3
- package/dist/mds-list.server.js +7 -2
- package/dist/mds-mention.js +11 -4
- package/dist/mds-mention.server.js +7 -2
- package/dist/mds-modal.js +8 -3
- package/dist/mds-modal.server.js +7 -2
- package/dist/mds-note.js +11 -4
- package/dist/mds-note.server.js +7 -2
- package/dist/mds-notification.js +8 -3
- package/dist/mds-notification.server.js +10 -3
- package/dist/mds-paginator-item.js +8 -3
- package/dist/mds-paginator-item.server.js +7 -2
- package/dist/mds-paginator.js +11 -4
- package/dist/mds-paginator.server.js +7 -2
- package/dist/mds-policy-ai.js +8 -3
- package/dist/mds-policy-ai.server.js +7 -2
- package/dist/mds-pref-animation.js +11 -4
- package/dist/mds-pref-animation.server.js +7 -2
- package/dist/mds-pref-consumption.js +11 -4
- package/dist/mds-pref-consumption.server.js +7 -2
- package/dist/mds-pref-contrast.js +11 -4
- package/dist/mds-pref-contrast.server.js +7 -2
- package/dist/mds-pref-language-item.js +11 -4
- package/dist/mds-pref-language-item.server.js +7 -2
- package/dist/mds-pref-language.js +8 -3
- package/dist/mds-pref-language.server.js +7 -2
- package/dist/mds-pref-mode.js +11 -4
- package/dist/mds-pref-mode.server.js +7 -2
- package/dist/mds-pref-theme-item.js +11 -4
- package/dist/mds-pref-theme-item.server.js +7 -2
- package/dist/mds-pref-theme.js +8 -3
- package/dist/mds-pref-theme.server.js +7 -2
- package/dist/mds-pref.js +8 -3
- package/dist/mds-pref.server.js +7 -2
- package/dist/mds-price-table-features-cell.js +8 -3
- package/dist/mds-price-table-features-cell.server.js +10 -3
- package/dist/mds-price-table-features-row.js +8 -3
- package/dist/mds-price-table-features-row.server.js +7 -2
- package/dist/mds-price-table-features.js +8 -3
- package/dist/mds-price-table-features.server.js +10 -3
- package/dist/mds-price-table-header.js +8 -3
- package/dist/mds-price-table-header.server.js +7 -2
- package/dist/mds-price-table-list-item.js +8 -3
- package/dist/mds-price-table-list-item.server.js +7 -2
- package/dist/mds-price-table-list.js +8 -3
- package/dist/mds-price-table-list.server.js +7 -2
- package/dist/mds-price-table.js +8 -3
- package/dist/mds-price-table.server.js +7 -2
- package/dist/mds-progress.js +8 -3
- package/dist/mds-progress.server.js +7 -2
- package/dist/mds-push-notification-item.js +11 -4
- package/dist/mds-push-notification-item.server.js +7 -2
- package/dist/mds-push-notification.js +8 -3
- package/dist/mds-push-notification.server.js +7 -2
- package/dist/mds-quote.js +8 -3
- package/dist/mds-quote.server.js +7 -2
- package/dist/mds-radial-menu-item.js +8 -3
- package/dist/mds-radial-menu-item.server.js +7 -2
- package/dist/mds-radial-menu.js +8 -3
- package/dist/mds-radial-menu.server.js +7 -2
- package/dist/mds-radial-progress.js +8 -3
- package/dist/mds-radial-progress.server.js +7 -2
- package/dist/mds-separator.js +8 -3
- package/dist/mds-separator.server.js +7 -2
- package/dist/mds-spinner.js +8 -3
- package/dist/mds-spinner.server.js +10 -3
- package/dist/mds-status-bar.js +8 -3
- package/dist/mds-status-bar.server.js +7 -2
- package/dist/mds-stepper-bar-item.js +11 -4
- package/dist/mds-stepper-bar-item.server.js +7 -2
- package/dist/mds-stepper-bar.js +11 -4
- package/dist/mds-stepper-bar.server.js +7 -2
- package/dist/mds-tab-bar-item.js +11 -4
- package/dist/mds-tab-bar-item.server.js +7 -2
- package/dist/mds-tab-bar.js +11 -4
- package/dist/mds-tab-bar.server.js +7 -2
- package/dist/mds-tab-item.js +8 -3
- package/dist/mds-tab-item.server.js +7 -2
- package/dist/mds-tab.js +11 -4
- package/dist/mds-tab.server.js +7 -2
- package/dist/mds-table-body.js +8 -3
- package/dist/mds-table-body.server.js +7 -2
- package/dist/mds-table-cell.js +8 -3
- package/dist/mds-table-cell.server.js +10 -3
- package/dist/mds-table-footer.js +8 -3
- package/dist/mds-table-footer.server.js +10 -3
- package/dist/mds-table-header-cell.js +11 -4
- package/dist/mds-table-header-cell.server.js +7 -2
- package/dist/mds-table-header.js +8 -3
- package/dist/mds-table-header.server.js +10 -3
- package/dist/mds-table-row.js +8 -3
- package/dist/mds-table-row.server.js +7 -2
- package/dist/mds-table.js +11 -4
- package/dist/mds-table.server.js +7 -2
- package/dist/mds-text.js +8 -3
- package/dist/mds-text.server.js +7 -2
- package/dist/mds-toast-region.js +8 -3
- package/dist/mds-toast-region.server.js +7 -2
- package/dist/mds-toast.js +11 -4
- package/dist/mds-toast.server.js +7 -2
- package/dist/mds-tooltip.js +8 -3
- package/dist/mds-tooltip.server.js +7 -2
- package/dist/mds-tree-item.js +8 -3
- package/dist/mds-tree-item.server.js +7 -2
- package/dist/mds-tree.js +8 -3
- package/dist/mds-tree.server.js +7 -2
- package/dist/mds-url-view.js +11 -4
- package/dist/mds-url-view.server.js +7 -2
- package/dist/mds-usage.js +8 -3
- package/dist/mds-usage.server.js +7 -2
- package/dist/mds-video-wall.js +8 -3
- package/dist/mds-video-wall.server.js +7 -2
- package/dist/mds-zero.js +8 -3
- package/dist/mds-zero.server.js +7 -2
- package/dist/types/components.d.ts +117 -117
- package/dist/types/components.server.d.ts +118 -118
- package/dist/types/mds-accordion-item.d.ts +4 -8
- package/dist/types/mds-accordion-item.server.d.ts +4 -4
- package/dist/types/mds-accordion-timer-item.d.ts +4 -8
- package/dist/types/mds-accordion-timer-item.server.d.ts +4 -4
- package/dist/types/mds-accordion-timer.d.ts +4 -8
- package/dist/types/mds-accordion-timer.server.d.ts +4 -4
- package/dist/types/mds-accordion.d.ts +4 -8
- package/dist/types/mds-accordion.server.d.ts +4 -4
- package/dist/types/mds-author.d.ts +2 -6
- package/dist/types/mds-author.server.d.ts +3 -3
- package/dist/types/mds-avatar-stack-item.d.ts +2 -6
- package/dist/types/mds-avatar-stack-item.server.d.ts +3 -3
- package/dist/types/mds-avatar-stack.d.ts +2 -6
- package/dist/types/mds-avatar-stack.server.d.ts +3 -3
- package/dist/types/mds-avatar.d.ts +2 -6
- package/dist/types/mds-avatar.server.d.ts +3 -3
- package/dist/types/mds-badge.d.ts +2 -6
- package/dist/types/mds-badge.server.d.ts +3 -3
- package/dist/types/mds-banner.d.ts +4 -8
- package/dist/types/mds-banner.server.d.ts +4 -4
- package/dist/types/mds-benchmark-bar.d.ts +2 -6
- package/dist/types/mds-benchmark-bar.server.d.ts +3 -3
- package/dist/types/mds-bibliography.d.ts +2 -6
- package/dist/types/mds-bibliography.server.d.ts +3 -3
- package/dist/types/mds-book.d.ts +2 -6
- package/dist/types/mds-book.server.d.ts +3 -3
- package/dist/types/mds-breadcrumb-item.d.ts +4 -8
- package/dist/types/mds-breadcrumb-item.server.d.ts +4 -4
- package/dist/types/mds-breadcrumb.d.ts +4 -8
- package/dist/types/mds-breadcrumb.server.d.ts +4 -4
- package/dist/types/mds-button-dropdown.d.ts +4 -8
- package/dist/types/mds-button-dropdown.server.d.ts +4 -4
- package/dist/types/mds-button-group.d.ts +2 -6
- package/dist/types/mds-button-group.server.d.ts +3 -3
- package/dist/types/mds-button.d.ts +2 -6
- package/dist/types/mds-button.server.d.ts +3 -3
- package/dist/types/mds-calendar-cell.d.ts +2 -6
- package/dist/types/mds-calendar-cell.server.d.ts +3 -3
- package/dist/types/mds-calendar.d.ts +4 -8
- package/dist/types/mds-calendar.server.d.ts +4 -4
- package/dist/types/mds-card-content.d.ts +2 -6
- package/dist/types/mds-card-content.server.d.ts +3 -3
- package/dist/types/mds-card-footer.d.ts +2 -6
- package/dist/types/mds-card-footer.server.d.ts +3 -3
- package/dist/types/mds-card-header.d.ts +2 -6
- package/dist/types/mds-card-header.server.d.ts +3 -3
- package/dist/types/mds-card-media.d.ts +2 -6
- package/dist/types/mds-card-media.server.d.ts +3 -3
- package/dist/types/mds-card.d.ts +2 -6
- package/dist/types/mds-card.server.d.ts +3 -3
- package/dist/types/mds-chip.d.ts +4 -8
- package/dist/types/mds-chip.server.d.ts +4 -4
- package/dist/types/mds-details.d.ts +4 -8
- package/dist/types/mds-details.server.d.ts +4 -4
- package/dist/types/mds-dropdown.d.ts +4 -8
- package/dist/types/mds-dropdown.server.d.ts +4 -4
- package/dist/types/mds-emoji.d.ts +2 -6
- package/dist/types/mds-emoji.server.d.ts +3 -3
- package/dist/types/mds-entity.d.ts +2 -6
- package/dist/types/mds-entity.server.d.ts +3 -3
- package/dist/types/mds-file-preview.d.ts +4 -8
- package/dist/types/mds-file-preview.server.d.ts +4 -4
- package/dist/types/mds-file.d.ts +4 -8
- package/dist/types/mds-file.server.d.ts +4 -4
- package/dist/types/mds-filter-item.d.ts +4 -8
- package/dist/types/mds-filter-item.server.d.ts +4 -4
- package/dist/types/mds-filter.d.ts +4 -8
- package/dist/types/mds-filter.server.d.ts +4 -4
- package/dist/types/mds-header-bar.d.ts +4 -8
- package/dist/types/mds-header-bar.server.d.ts +4 -4
- package/dist/types/mds-header.d.ts +4 -8
- package/dist/types/mds-header.server.d.ts +4 -4
- package/dist/types/mds-help.d.ts +2 -6
- package/dist/types/mds-help.server.d.ts +3 -3
- package/dist/types/mds-horizontal-scroll.d.ts +2 -6
- package/dist/types/mds-horizontal-scroll.server.d.ts +3 -3
- package/dist/types/mds-hr.d.ts +2 -6
- package/dist/types/mds-hr.server.d.ts +3 -3
- package/dist/types/mds-icon.d.ts +2 -6
- package/dist/types/mds-icon.server.d.ts +3 -3
- package/dist/types/mds-img.d.ts +4 -8
- package/dist/types/mds-img.server.d.ts +4 -4
- package/dist/types/mds-input-date-range-preselection.d.ts +2 -6
- package/dist/types/mds-input-date-range-preselection.server.d.ts +3 -3
- package/dist/types/mds-input-date-range.d.ts +4 -8
- package/dist/types/mds-input-date-range.server.d.ts +4 -4
- package/dist/types/mds-input-date.d.ts +4 -8
- package/dist/types/mds-input-date.server.d.ts +4 -4
- package/dist/types/mds-input-field.d.ts +2 -6
- package/dist/types/mds-input-field.server.d.ts +3 -3
- package/dist/types/mds-input-otp.d.ts +2 -6
- package/dist/types/mds-input-otp.server.d.ts +3 -3
- package/dist/types/mds-input-range.d.ts +4 -8
- package/dist/types/mds-input-range.server.d.ts +4 -4
- package/dist/types/mds-input-select.d.ts +4 -8
- package/dist/types/mds-input-select.server.d.ts +4 -4
- package/dist/types/mds-input-switch.d.ts +4 -8
- package/dist/types/mds-input-switch.server.d.ts +4 -4
- package/dist/types/mds-input-tip-item.d.ts +2 -6
- package/dist/types/mds-input-tip-item.server.d.ts +3 -3
- package/dist/types/mds-input-tip.d.ts +2 -6
- package/dist/types/mds-input-tip.server.d.ts +3 -3
- package/dist/types/mds-input-upload.d.ts +4 -8
- package/dist/types/mds-input-upload.server.d.ts +4 -4
- package/dist/types/mds-input.d.ts +4 -8
- package/dist/types/mds-input.server.d.ts +4 -4
- package/dist/types/mds-keyboard-key.d.ts +2 -6
- package/dist/types/mds-keyboard-key.server.d.ts +3 -3
- package/dist/types/mds-keyboard.d.ts +2 -6
- package/dist/types/mds-keyboard.server.d.ts +3 -3
- package/dist/types/mds-kpi-item.d.ts +2 -6
- package/dist/types/mds-kpi-item.server.d.ts +3 -3
- package/dist/types/mds-kpi.d.ts +2 -6
- package/dist/types/mds-kpi.server.d.ts +3 -3
- package/dist/types/mds-label.d.ts +4 -8
- package/dist/types/mds-label.server.d.ts +4 -4
- package/dist/types/mds-link.d.ts +2 -6
- package/dist/types/mds-link.server.d.ts +3 -3
- package/dist/types/mds-list-item.d.ts +2 -6
- package/dist/types/mds-list-item.server.d.ts +3 -3
- package/dist/types/mds-list.d.ts +2 -6
- package/dist/types/mds-list.server.d.ts +3 -3
- package/dist/types/mds-mention.d.ts +4 -8
- package/dist/types/mds-mention.server.d.ts +4 -4
- package/dist/types/mds-modal.d.ts +4 -8
- package/dist/types/mds-modal.server.d.ts +4 -4
- package/dist/types/mds-note.d.ts +4 -8
- package/dist/types/mds-note.server.d.ts +4 -4
- package/dist/types/mds-notification.d.ts +2 -6
- package/dist/types/mds-notification.server.d.ts +3 -3
- package/dist/types/mds-paginator-item.d.ts +2 -6
- package/dist/types/mds-paginator-item.server.d.ts +3 -3
- package/dist/types/mds-paginator.d.ts +4 -8
- package/dist/types/mds-paginator.server.d.ts +4 -4
- package/dist/types/mds-policy-ai.d.ts +2 -6
- package/dist/types/mds-policy-ai.server.d.ts +3 -3
- package/dist/types/mds-pref-animation.d.ts +4 -8
- package/dist/types/mds-pref-animation.server.d.ts +4 -4
- package/dist/types/mds-pref-consumption.d.ts +4 -8
- package/dist/types/mds-pref-consumption.server.d.ts +4 -4
- package/dist/types/mds-pref-contrast.d.ts +4 -8
- package/dist/types/mds-pref-contrast.server.d.ts +4 -4
- package/dist/types/mds-pref-language-item.d.ts +4 -8
- package/dist/types/mds-pref-language-item.server.d.ts +4 -4
- package/dist/types/mds-pref-language.d.ts +4 -8
- package/dist/types/mds-pref-language.server.d.ts +4 -4
- package/dist/types/mds-pref-mode.d.ts +4 -8
- package/dist/types/mds-pref-mode.server.d.ts +4 -4
- package/dist/types/mds-pref-theme-item.d.ts +4 -8
- package/dist/types/mds-pref-theme-item.server.d.ts +4 -4
- package/dist/types/mds-pref-theme.d.ts +4 -8
- package/dist/types/mds-pref-theme.server.d.ts +4 -4
- package/dist/types/mds-pref.d.ts +2 -6
- package/dist/types/mds-pref.server.d.ts +3 -3
- package/dist/types/mds-price-table-features-cell.d.ts +2 -6
- package/dist/types/mds-price-table-features-cell.server.d.ts +3 -3
- package/dist/types/mds-price-table-features-row.d.ts +2 -6
- package/dist/types/mds-price-table-features-row.server.d.ts +3 -3
- package/dist/types/mds-price-table-features.d.ts +2 -6
- package/dist/types/mds-price-table-features.server.d.ts +3 -3
- package/dist/types/mds-price-table-header.d.ts +2 -6
- package/dist/types/mds-price-table-header.server.d.ts +3 -3
- package/dist/types/mds-price-table-list-item.d.ts +2 -6
- package/dist/types/mds-price-table-list-item.server.d.ts +3 -3
- package/dist/types/mds-price-table-list.d.ts +2 -6
- package/dist/types/mds-price-table-list.server.d.ts +3 -3
- package/dist/types/mds-price-table.d.ts +2 -6
- package/dist/types/mds-price-table.server.d.ts +3 -3
- package/dist/types/mds-progress.d.ts +2 -6
- package/dist/types/mds-progress.server.d.ts +3 -3
- package/dist/types/mds-push-notification-item.d.ts +4 -8
- package/dist/types/mds-push-notification-item.server.d.ts +4 -4
- package/dist/types/mds-push-notification.d.ts +4 -8
- package/dist/types/mds-push-notification.server.d.ts +4 -4
- package/dist/types/mds-quote.d.ts +2 -6
- package/dist/types/mds-quote.server.d.ts +3 -3
- package/dist/types/mds-radial-menu-item.d.ts +2 -6
- package/dist/types/mds-radial-menu-item.server.d.ts +3 -3
- package/dist/types/mds-radial-menu.d.ts +2 -6
- package/dist/types/mds-radial-menu.server.d.ts +3 -3
- package/dist/types/mds-radial-progress.d.ts +2 -6
- package/dist/types/mds-radial-progress.server.d.ts +3 -3
- package/dist/types/mds-separator.d.ts +2 -6
- package/dist/types/mds-separator.server.d.ts +3 -3
- package/dist/types/mds-spinner.d.ts +2 -6
- package/dist/types/mds-spinner.server.d.ts +3 -3
- package/dist/types/mds-status-bar.d.ts +2 -6
- package/dist/types/mds-status-bar.server.d.ts +3 -3
- package/dist/types/mds-stepper-bar-item.d.ts +4 -8
- package/dist/types/mds-stepper-bar-item.server.d.ts +4 -4
- package/dist/types/mds-stepper-bar.d.ts +4 -8
- package/dist/types/mds-stepper-bar.server.d.ts +4 -4
- package/dist/types/mds-tab-bar-item.d.ts +4 -8
- package/dist/types/mds-tab-bar-item.server.d.ts +4 -4
- package/dist/types/mds-tab-bar.d.ts +4 -8
- package/dist/types/mds-tab-bar.server.d.ts +4 -4
- package/dist/types/mds-tab-item.d.ts +4 -8
- package/dist/types/mds-tab-item.server.d.ts +4 -4
- package/dist/types/mds-tab.d.ts +4 -8
- package/dist/types/mds-tab.server.d.ts +4 -4
- package/dist/types/mds-table-body.d.ts +2 -6
- package/dist/types/mds-table-body.server.d.ts +3 -3
- package/dist/types/mds-table-cell.d.ts +2 -6
- package/dist/types/mds-table-cell.server.d.ts +3 -3
- package/dist/types/mds-table-footer.d.ts +2 -6
- package/dist/types/mds-table-footer.server.d.ts +3 -3
- package/dist/types/mds-table-header-cell.d.ts +4 -8
- package/dist/types/mds-table-header-cell.server.d.ts +4 -4
- package/dist/types/mds-table-header.d.ts +2 -6
- package/dist/types/mds-table-header.server.d.ts +3 -3
- package/dist/types/mds-table-row.d.ts +2 -6
- package/dist/types/mds-table-row.server.d.ts +3 -3
- package/dist/types/mds-table.d.ts +4 -8
- package/dist/types/mds-table.server.d.ts +4 -4
- package/dist/types/mds-text.d.ts +2 -6
- package/dist/types/mds-text.server.d.ts +3 -3
- package/dist/types/mds-toast-region.d.ts +2 -6
- package/dist/types/mds-toast-region.server.d.ts +3 -3
- package/dist/types/mds-toast.d.ts +4 -8
- package/dist/types/mds-toast.server.d.ts +4 -4
- package/dist/types/mds-tooltip.d.ts +2 -6
- package/dist/types/mds-tooltip.server.d.ts +3 -3
- package/dist/types/mds-tree-item.d.ts +4 -8
- package/dist/types/mds-tree-item.server.d.ts +4 -4
- package/dist/types/mds-tree.d.ts +2 -6
- package/dist/types/mds-tree.server.d.ts +3 -3
- package/dist/types/mds-url-view.d.ts +4 -8
- package/dist/types/mds-url-view.server.d.ts +4 -4
- package/dist/types/mds-usage.d.ts +2 -6
- package/dist/types/mds-usage.server.d.ts +3 -3
- package/dist/types/mds-video-wall.d.ts +2 -6
- package/dist/types/mds-video-wall.server.d.ts +3 -3
- package/dist/types/mds-zero.d.ts +2 -6
- package/dist/types/mds-zero.server.d.ts +3 -3
- 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
|
+
> 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
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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 | `
|
|
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/
|
|
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`
|
|
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
|
|
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
|
|
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-
|
|
171
|
-
with `data-theme-name` ([`theming.md`](theming.md)), do not paint
|
|
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
|
package/agents/components.md
CHANGED
|
@@ -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 `
|
|
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
|
-
> [`
|
|
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
|
package/agents/conventions.md
CHANGED
|
@@ -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
|
-
> [`
|
|
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,
|
|
15
|
-
([`lint.md`](lint.md)) on a snippet before it is written
|
|
16
|
-
|
|
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`,
|
|
29
|
-
|
|
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 -
|
|
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
|
-
> `
|
|
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
|
|