@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
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
GENERATED FILE - do not edit by hand.
|
|
3
|
+
Source of truth: docs/agents/ in the magma monorepo.
|
|
4
|
+
Regenerate with: npm run sync.agent-docs (from the stencil package).
|
|
5
|
+
-->
|
|
6
|
+
# Magma patterns catalogue (7 patterns, 6 candidates, 4 building blocks, 6 domains of Foundation)
|
|
7
|
+
|
|
8
|
+
> Generated from the patterns of the magma monorepo. A pattern is the solution to a task that
|
|
9
|
+
> spans components (where a message goes, when to ask before acting), the same in every
|
|
10
|
+
> product: Magma's default. Each one is defined on a few variables of the situation; read its
|
|
11
|
+
> file in `agents/patterns/`, or ask the MCP server: `get_pattern` with the values of the
|
|
12
|
+
> variables you know gives the case to follow. Its "Always true" rules hold in every product.
|
|
13
|
+
> The domains of Foundation (`kind: foundation`) are the rules of composition the patterns
|
|
14
|
+
> stand on: the space between two elements, which action weighs more, the style of a title, when
|
|
15
|
+
> a surface, how wide. They are read the same way, and each rule says the principle it serves and
|
|
16
|
+
> what carries it (a component, a token, a utility, a lint rule): write the carrier, not its
|
|
17
|
+
> value; a carrier still planned is not there yet, so write the value the case gives.
|
|
18
|
+
> `get_guide` serves each domain by its id; the answer of `get_pattern` for a situation
|
|
19
|
+
> lists in `rules` the ones its case relies on, and `get_component` the ones that govern a
|
|
20
|
+
> component.
|
|
21
|
+
> The building blocks (`kind: block`) are the sections of a page that come back in several
|
|
22
|
+
> patterns (the head of a page): space, not time. A block has regions in the order of the page
|
|
23
|
+
> instead of cases, each saying when it shows; `get_pattern` with the values of its variables
|
|
24
|
+
> gives the regions to lay out, and its Layout section says how they stand.
|
|
25
|
+
> A product may keep a layer in its own repository, `magma/patterns/<id>.md`, that narrows the
|
|
26
|
+
> open choices and adds situations (A product's layer, below); `get_pattern` applies it. A candidate is a need Magma knows
|
|
27
|
+
> and has not defined yet: no default covers it, so say which choice you made and why.
|
|
28
|
+
|
|
29
|
+
## Foundation
|
|
30
|
+
|
|
31
|
+
| Domain | Title | Need | Status |
|
|
32
|
+
| ------ | ----- | ---- | ------ |
|
|
33
|
+
| [`actions`](patterns/actions.md) | Actions | Tell at a glance which action moves the task forward, which ones stand beside it, and which ones destroy, and find them in the same place on every screen. | decided |
|
|
34
|
+
| [`density`](patterns/density.md) | Density | Fit more or less on a screen without changing how its parts relate: more for a product that shows a lot at once, less for a person who needs more room to point. | decided |
|
|
35
|
+
| [`rhythm`](patterns/rhythm.md) | Rhythm | Space two elements of a composition by how they relate, so that each one stands nearer to what it belongs to than to its neighbour. | decided |
|
|
36
|
+
| [`surfaces`](patterns/surfaces.md) | Surfaces | Give a boundary only to what space cannot separate, so that a surface on the screen means something: an item of a set, a thing that stays put, a dialog. | decided |
|
|
37
|
+
| [`titles`](patterns/titles.md) | Titles | Tell at a glance what a title names, the whole page, a section of it, a dialog, a part or a group of fields, and keep the outline of the page true for whoever navigates it by headings. | decided |
|
|
38
|
+
| [`widths`](patterns/widths.md) | Widths and alignment | Give text, forms, pages and dialogs a width that keeps them readable at every size of window and of text, and line them up on one edge. | decided |
|
|
39
|
+
|
|
40
|
+
## Building blocks
|
|
41
|
+
|
|
42
|
+
| Block | Title | Need | Status |
|
|
43
|
+
| ----- | ----- | ---- | ------ |
|
|
44
|
+
| [`app-shell`](patterns/app-shell.md) | Application shell | The person knows which application they are in, reaches each of its sections from any page, and sees who they are signed in as. | decided |
|
|
45
|
+
| [`page-header`](patterns/page-header.md) | Page header | The person sees at once what the page holds or is about, where they are, and what they can do with it. | decided |
|
|
46
|
+
| [`item-list`](patterns/item-list.md) | Item list | The person sees a set of items, narrows it to the ones they need, knows how many there are, and reaches the rest. | decided |
|
|
47
|
+
| [`labels-and-values`](patterns/labels-and-values.md) | Labels and values | The person reads the data of an item, each value under the name of what it is. | decided |
|
|
48
|
+
|
|
49
|
+
## Data
|
|
50
|
+
|
|
51
|
+
| Pattern | Title | Need | Status |
|
|
52
|
+
| ------- | ----- | ---- | ------ |
|
|
53
|
+
| [`choose-items`](patterns/choose-items.md) | Choose items | The person picks items from a long list to use them for something else, such as members to add to a group or documents to attach. | candidate |
|
|
54
|
+
| [`concurrent-editing`](patterns/concurrent-editing.md) | Concurrent editing | Two people change the same record at the same time, and neither loses their changes. | candidate |
|
|
55
|
+
| [`list-with-filters`](patterns/list-with-filters.md) | List with filters | The person finds the items they need in a long list, by searching, filtering and paging. | decided |
|
|
56
|
+
| [`permissions`](patterns/permissions.md) | Permissions | The person sees what their role lets them see and do, and understands why an action is not available. | candidate |
|
|
57
|
+
| [`record-detail`](patterns/record-detail.md) | Record detail | The person opens one record to read it and act on it, then goes back to the list as it was. | decided |
|
|
58
|
+
|
|
59
|
+
## Input
|
|
60
|
+
|
|
61
|
+
| Pattern | Title | Need | Status |
|
|
62
|
+
| ------- | ----- | ---- | ------ |
|
|
63
|
+
| [`consent-and-legal`](patterns/consent-and-legal.md) | Consent and legal steps | The person pays, signs or gives consent: steps with legal rules of their own. | candidate |
|
|
64
|
+
| [`form-and-validation`](patterns/form-and-validation.md) | Form and validation | The person fills in a form, sees what is wrong and where, and sends it. | candidate |
|
|
65
|
+
|
|
66
|
+
## Messages and states
|
|
67
|
+
|
|
68
|
+
| Pattern | Title | Need | Status |
|
|
69
|
+
| ------- | ----- | ---- | ------ |
|
|
70
|
+
| [`confirm-action`](patterns/confirm-action.md) | Confirm an action | The person is about to do something that cannot be taken back, and must decide knowing what will happen. | decided |
|
|
71
|
+
| [`empty-state`](patterns/empty-state.md) | An empty part of the page | The person reaches a part of the page with nothing in it, and must understand why and what to do next. | decided |
|
|
72
|
+
| [`error-recovery`](patterns/error-recovery.md) | When something fails | Something did not work, and the person must understand what did not happen and go on without losing their work. | decided |
|
|
73
|
+
| [`loading`](patterns/loading.md) | Waiting for something | The person waits for content or for the end of an action, and must know that it is coming and whether they can do something else meanwhile. | decided |
|
|
74
|
+
| [`message-placement`](patterns/message-placement.md) | Where a message goes | The person did something or opened a view, and must know what happened without looking for it. | decided |
|
|
75
|
+
| [`notification-center`](patterns/notification-center.md) | Notification center | The person comes back to the outcomes that arrived while they were elsewhere, and to what they still have to act on. | candidate |
|
|
76
|
+
|
|
77
|
+
## A product's layer
|
|
78
|
+
|
|
79
|
+
A product adapts a pattern in its own repository, one file per pattern, named after it:
|
|
80
|
+
`magma/patterns/<id>.md` under the project's root. The layer fixes the open choices the pattern
|
|
81
|
+
leaves to the products, within what each one `may`, and maps the situations of the product's
|
|
82
|
+
domain to the cases of the pattern. It never changes an "Always true" rule nor a case: a product
|
|
83
|
+
that needs one changed asks Magma for it (`reporting.md`).
|
|
84
|
+
|
|
85
|
+
```markdown
|
|
86
|
+
---
|
|
87
|
+
id: message-placement
|
|
88
|
+
extends: magma:message-placement
|
|
89
|
+
layer: example-backoffice
|
|
90
|
+
narrows:
|
|
91
|
+
success-toast-duration: 8000
|
|
92
|
+
situations:
|
|
93
|
+
- situation: A protocol number is assigned to a filed document
|
|
94
|
+
case: action-done-elsewhere
|
|
95
|
+
note: the toast carries Copy, so it stays (toast-action-stays)
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
# Where a message goes, in Example Backoffice
|
|
99
|
+
|
|
100
|
+
## Why
|
|
101
|
+
|
|
102
|
+
The operators read slowly between two phone calls: 8 seconds instead of 5. (2026-10-29)
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
| Field | What it holds |
|
|
106
|
+
| ----- | ------------- |
|
|
107
|
+
| `id` | The id of the Magma pattern, the name of the file. |
|
|
108
|
+
| `extends` | `magma:<id>`. |
|
|
109
|
+
| `layer` | The name of the product, never `magma`. |
|
|
110
|
+
| `narrows` | `<open choice>: <value>`, only for the open choices of the pattern. |
|
|
111
|
+
| `situations` | `{ situation, case, note }`, with a case of the pattern or a list of them; or `{ situation, use: <pattern> }` when another pattern answers it. |
|
|
112
|
+
|
|
113
|
+
The body is free: why each choice was made, with its date, for whoever changes it next.
|
|
114
|
+
`get_pattern` without arguments lists in `layerErrors` what is wrong in the folder; with the
|
|
115
|
+
id it returns the pattern with the layer applied (`narrowed-by` on each choice it fixes, `layer`
|
|
116
|
+
on each situation it adds). A layer with an error is not applied: the answer stays Magma's
|
|
117
|
+
default until it is fixed. A need no Magma pattern covers, which the product cannot wait for,
|
|
118
|
+
may get a pattern of its own in the same folder, in the shape of Magma's files (its own
|
|
119
|
+
`layer`, no `extends`, never an id Magma has); a pattern that comes back in two or three
|
|
120
|
+
products is proposed to Magma. In Claude Code, the Magma plugin writes and checks a layer with
|
|
121
|
+
`/magma:pattern-layer`.
|
package/agents/reporting.md
CHANGED
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
|
|
15
15
|
## 1. Make sure it is Magma's
|
|
16
16
|
|
|
17
|
-
- Read the component's `AGENTS.md` and `
|
|
18
|
-
[`
|
|
17
|
+
- Read the component's `AGENTS.md` and its own `mistakes.md`, and
|
|
18
|
+
[`mistakes.md`](mistakes.md): a documented mistake is the project's to fix,
|
|
19
19
|
not a Magma bug.
|
|
20
20
|
- Check that the installed `magma`, `styles` and `design-tokens` versions belong
|
|
21
21
|
together (the ones a `magma` release depends on): mismatched versions break tokens
|
|
@@ -139,7 +139,10 @@ when:
|
|
|
139
139
|
- a tool said Magma has nothing for a well-formed question: its answer carries `gap`, or
|
|
140
140
|
its error says it does not know;
|
|
141
141
|
- a tool answered, but not with what the task needed: a field it does not return, a
|
|
142
|
-
filter or an argument it does not take
|
|
142
|
+
filter or an argument it does not take;
|
|
143
|
+
- a flow across components that no pattern covers (`get_pattern` finds none for the need,
|
|
144
|
+
or only a candidate, or its answer for your situation is a gap): the pattern is the
|
|
145
|
+
missing answer, `magma-mcp: no pattern for <the need>`.
|
|
143
146
|
|
|
144
147
|
It is not a gap when the answer is right but not the one you hoped for, when your own
|
|
145
148
|
input was wrong (an unknown tag, a missing argument), or when the question is about the
|
package/agents/theming.md
CHANGED
|
@@ -39,35 +39,43 @@ inside a component's shadow root it matches nothing.
|
|
|
39
39
|
## Named themes
|
|
40
40
|
|
|
41
41
|
A named theme retints the whole neutral scaffolding of the page at once - surfaces,
|
|
42
|
-
wash, borders, text, the inverse chip - and keeps it contrast-checked.
|
|
43
|
-
attribute on `<html>`, and it needs `themes.css` ([`assets.md`](assets.md)):
|
|
42
|
+
wash, borders, text, the inverse chip - and the accent, and keeps it contrast-checked.
|
|
43
|
+
It is one attribute on `<html>`, and it needs `themes.css` ([`assets.md`](assets.md)):
|
|
44
44
|
|
|
45
45
|
```html
|
|
46
|
-
<html data-theme-name="
|
|
46
|
+
<html data-theme-name="editorial"><!-- no attribute = business --></html>
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
| Theme | Family |
|
|
50
|
-
| --- | --- | --- |
|
|
51
|
-
| (
|
|
52
|
-
| `
|
|
53
|
-
|
|
49
|
+
| Theme | For | Family | Accent |
|
|
50
|
+
| --- | --- | --- | --- |
|
|
51
|
+
| `business` (no attribute) | the management software | `neutral`, grey | the Maggioli brand |
|
|
52
|
+
| `editorial` | the publishing side | `bisque`, warm grey | the Maggioli Editore brand |
|
|
53
|
+
|
|
54
|
+
No `data-theme-name` means `business`: it is the base `:root` and emits no rule.
|
|
55
|
+
`default` (its old name), `cool` and `warm` still work and are deprecated: they leave at
|
|
56
|
+
the next major.
|
|
54
57
|
|
|
55
58
|
The status colors (info, success, warning, danger) never change with the theme. To let
|
|
56
59
|
the user choose, use `mds-pref-theme`: it writes the attribute, remembers the choice and
|
|
57
|
-
also carries the corner shape (below).
|
|
60
|
+
also carries the corner shape (below). Each `mds-pref-theme-item` shows the theme it
|
|
61
|
+
names, from the preview every theme publishes on the page (`--magma-preview-<name>-wash`,
|
|
62
|
+
`--magma-preview-<name>-accent`). A theme works only on code that paints with the
|
|
58
63
|
semantic roles; a raw palette step stays as it is. Defining your own theme is not a
|
|
59
64
|
consumer feature yet.
|
|
60
65
|
|
|
61
66
|
## Surfaces and elevation
|
|
62
67
|
|
|
63
68
|
Every neutral background is one of five surface levels. They are not five greys to pick
|
|
64
|
-
from: each one says where the element sits relative to the page.
|
|
69
|
+
from: each one says where the element sits relative to the page. When an element gets a
|
|
70
|
+
surface at all (a card is an item of a set, the groups of one subject are bare sections, a
|
|
71
|
+
band is drawn only by a component that stays put) is the domain
|
|
72
|
+
[`surfaces`](patterns/surfaces.md).
|
|
65
73
|
|
|
66
74
|
```text
|
|
67
75
|
surface-default the page, the canvas everything else sits on
|
|
68
76
|
surface-sunken recessed into the page: wells, insets, code blocks, tracks
|
|
69
|
-
surface-muted on the page plane, grouped: zebra rows
|
|
70
|
-
surface-raised lifted off the page: cards, panels,
|
|
77
|
+
surface-muted on the page plane, grouped, inside components: zebra rows
|
|
78
|
+
surface-raised lifted off the page: cards, panels, the bars that stay put
|
|
71
79
|
surface-overlay floating above everything: modal, dropdown, popover, tooltip
|
|
72
80
|
```
|
|
73
81
|
|
|
@@ -104,6 +112,22 @@ components do (`mds-card` uses `--shadow-md-sharp`, `mds-modal` `--shadow-2xl`):
|
|
|
104
112
|
An overlay separates from what is under it by its shadow, not by a border: in dark
|
|
105
113
|
`border-muted` is darker than `surface-overlay`.
|
|
106
114
|
|
|
115
|
+
**A field stands a step off its surface** (#1193). On the page a field (`mds-input`,
|
|
116
|
+
`mds-input-select`, `mds-input-date`, the drop area of `mds-input-upload`) paints
|
|
117
|
+
`surface-overlay`; inside a surface that paints `overlay` (the window of a dialog, `mds-banner`,
|
|
118
|
+
`mds-status-bar`, `mds-dropdown`, `mds-table`) it paints `surface-default`, the step below, so
|
|
119
|
+
its fill never melts into the window. The surface passes the step down as
|
|
120
|
+
`--magma-field-fill`, an inherited custom property, and a field reads it with `overlay` as the
|
|
121
|
+
fallback. A surface of your own that paints `overlay` passes it the same way:
|
|
122
|
+
|
|
123
|
+
```css
|
|
124
|
+
.panel {
|
|
125
|
+
--magma-field-fill: var(--magma-surface-default);
|
|
126
|
+
|
|
127
|
+
background: rgb(var(--magma-surface-overlay));
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
107
131
|
**Text is safe on every level.** Each text role is computed against the least
|
|
108
132
|
contrasting surface of its family, so `text-default`, `text-muted` and the rest are
|
|
109
133
|
legible on all five levels in both modes (checked in CI). The tinted pills are a
|
package/agents/typography.md
CHANGED
|
@@ -26,7 +26,32 @@ Inside component markup, `mds-text` sets a style through its `typography` prop (
|
|
|
26
26
|
family to the `read` one.
|
|
27
27
|
|
|
28
28
|
```html
|
|
29
|
-
<
|
|
29
|
+
<h1 class="text-title-page">Invoices</h1>
|
|
30
30
|
<p class="typography-read-paragraph">Plain CSS, no Tailwind.</p>
|
|
31
|
-
<mds-text typography="h3">Invoices</mds-text>
|
|
31
|
+
<mds-text typography="h3" tag="h1">Invoices</mds-text>
|
|
32
32
|
```
|
|
33
|
+
|
|
34
|
+
## Titles by role
|
|
35
|
+
|
|
36
|
+
A title takes the style of its role and its tag from the outline of the page, never one from
|
|
37
|
+
the other: the domain [`titles`](patterns/titles.md).
|
|
38
|
+
|
|
39
|
+
| Role | Style | Tag | Writes |
|
|
40
|
+
| --- | --- | --- | --- |
|
|
41
|
+
| the page | `h3` | `h1`, the only one (`titles/one-h1`) | `text-title-page` |
|
|
42
|
+
| a section of the page | `h5` | `h2` | `text-title-section` |
|
|
43
|
+
| a dialog | `h5` | the headline of its window | `text-title-dialog` |
|
|
44
|
+
| a part: a card, a panel, an item of an accordion | `h6` | the level of its place | `text-title-part` |
|
|
45
|
+
| a group of fields | `h6` | the `legend` of its `fieldset` (`field-group`) | `text-title-group` |
|
|
46
|
+
|
|
47
|
+
Without Tailwind the same roles are `typography-title-<role>`. `mds-text` takes the roles in
|
|
48
|
+
its `typography` with #1200; until then it takes the style of the level with the tag of the
|
|
49
|
+
place (`typography="h5" tag="h2"`), and a heading never skips a level
|
|
50
|
+
(`titles/tag-is-structure`).
|
|
51
|
+
|
|
52
|
+
## Reading measure
|
|
53
|
+
|
|
54
|
+
Text to read stops at `56ch`, 65 to 80 characters on a line: the reset caps `p`, `li` and
|
|
55
|
+
`figcaption`, and `mds-text` caps itself with those tags, so nothing has to be written for it
|
|
56
|
+
(`widths/reading`; the other widths, of a form, a page and a dialog, are the domain
|
|
57
|
+
[`widths`](patterns/widths.md)).
|
package/agents/variants.md
CHANGED
|
@@ -52,7 +52,7 @@ Allowed values depend on the component but draw from these families:
|
|
|
52
52
|
| `success` | Status | Successful operations, positive confirmation |
|
|
53
53
|
| `warning` | Status | Caution, non-blocking issues that require attention |
|
|
54
54
|
| `info` | Status | Neutral informational content or guidance |
|
|
55
|
-
| `dark` | Neutral | Neutral chrome. Painted with roles that follow the mode, so it is not "for light backgrounds": check the component's `
|
|
55
|
+
| `dark` | Neutral | Neutral chrome. Painted with roles that follow the mode, so it is not "for light backgrounds": check the component's `examples.md` for how it renders |
|
|
56
56
|
| `light` | Neutral | The other half of the neutral pair, same caveat as `dark` |
|
|
57
57
|
| `amaranth` | Label | Decorative amaranth label for tags, categories, or visual grouping |
|
|
58
58
|
| `red` | Label | Decorative red label for tags, categories, or visual grouping |
|
package/dist/components.js
CHANGED
|
@@ -3,120 +3,120 @@
|
|
|
3
3
|
* Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
|
|
4
4
|
*/
|
|
5
5
|
/* eslint-disable */
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export { MdsAccordionTimer } from
|
|
9
|
-
export {
|
|
10
|
-
export { MdsAuthor } from
|
|
11
|
-
export {
|
|
12
|
-
export { MdsAvatarStack } from
|
|
13
|
-
export {
|
|
14
|
-
export { MdsBadge } from
|
|
15
|
-
export { MdsBanner } from
|
|
16
|
-
export { MdsBenchmarkBar } from
|
|
17
|
-
export { MdsBibliography } from
|
|
18
|
-
export { MdsBook } from
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
21
|
-
export {
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
24
|
-
export {
|
|
25
|
-
export {
|
|
26
|
-
export {
|
|
27
|
-
export {
|
|
28
|
-
export {
|
|
29
|
-
export {
|
|
30
|
-
export {
|
|
31
|
-
export { MdsChip } from
|
|
32
|
-
export { MdsDetails } from
|
|
33
|
-
export { MdsDropdown } from
|
|
34
|
-
export { MdsEmoji } from
|
|
35
|
-
export { MdsEntity } from
|
|
36
|
-
export {
|
|
37
|
-
export {
|
|
38
|
-
export {
|
|
39
|
-
export {
|
|
40
|
-
export {
|
|
41
|
-
export {
|
|
42
|
-
export { MdsHelp } from
|
|
43
|
-
export { MdsHorizontalScroll } from
|
|
44
|
-
export { MdsHr } from
|
|
45
|
-
export { MdsIcon } from
|
|
46
|
-
export { MdsImg } from
|
|
47
|
-
export {
|
|
48
|
-
export {
|
|
49
|
-
export {
|
|
50
|
-
export {
|
|
51
|
-
export {
|
|
52
|
-
export {
|
|
53
|
-
export {
|
|
54
|
-
export {
|
|
55
|
-
export {
|
|
56
|
-
export { MdsInputTip } from
|
|
57
|
-
export {
|
|
58
|
-
export {
|
|
59
|
-
export {
|
|
60
|
-
export {
|
|
61
|
-
export {
|
|
62
|
-
export {
|
|
63
|
-
export { MdsLabel } from
|
|
64
|
-
export { MdsLink } from
|
|
65
|
-
export {
|
|
66
|
-
export {
|
|
67
|
-
export { MdsMention } from
|
|
68
|
-
export { MdsModal } from
|
|
69
|
-
export { MdsNote } from
|
|
70
|
-
export { MdsNotification } from
|
|
71
|
-
export {
|
|
72
|
-
export {
|
|
73
|
-
export { MdsPolicyAi } from
|
|
74
|
-
export {
|
|
75
|
-
export {
|
|
76
|
-
export {
|
|
77
|
-
export {
|
|
78
|
-
export { MdsPrefLanguage } from
|
|
79
|
-
export {
|
|
80
|
-
export {
|
|
81
|
-
export { MdsPrefTheme } from
|
|
82
|
-
export {
|
|
83
|
-
export {
|
|
84
|
-
export {
|
|
85
|
-
export {
|
|
86
|
-
export {
|
|
87
|
-
export {
|
|
88
|
-
export { MdsPriceTableList } from
|
|
89
|
-
export {
|
|
90
|
-
export { MdsProgress } from
|
|
91
|
-
export {
|
|
92
|
-
export {
|
|
93
|
-
export { MdsQuote } from
|
|
94
|
-
export {
|
|
95
|
-
export {
|
|
96
|
-
export { MdsRadialProgress } from
|
|
97
|
-
export { MdsSeparator } from
|
|
98
|
-
export { MdsSpinner } from
|
|
99
|
-
export { MdsStatusBar } from
|
|
100
|
-
export {
|
|
101
|
-
export {
|
|
102
|
-
export {
|
|
103
|
-
export { MdsTabBar } from
|
|
104
|
-
export {
|
|
105
|
-
export {
|
|
106
|
-
export {
|
|
107
|
-
export {
|
|
108
|
-
export {
|
|
109
|
-
export {
|
|
110
|
-
export { MdsTableHeader } from
|
|
111
|
-
export {
|
|
112
|
-
export {
|
|
113
|
-
export { MdsText } from
|
|
114
|
-
export {
|
|
115
|
-
export {
|
|
116
|
-
export { MdsTooltip } from
|
|
117
|
-
export {
|
|
118
|
-
export {
|
|
119
|
-
export { MdsUrlView } from
|
|
120
|
-
export { MdsUsage } from
|
|
121
|
-
export { MdsVideoWall } from
|
|
122
|
-
export { MdsZero } from
|
|
6
|
+
export { MdsAccordion } from './mds-accordion.js';
|
|
7
|
+
export { MdsAccordionItem } from './mds-accordion-item.js';
|
|
8
|
+
export { MdsAccordionTimer } from './mds-accordion-timer.js';
|
|
9
|
+
export { MdsAccordionTimerItem } from './mds-accordion-timer-item.js';
|
|
10
|
+
export { MdsAuthor } from './mds-author.js';
|
|
11
|
+
export { MdsAvatar } from './mds-avatar.js';
|
|
12
|
+
export { MdsAvatarStack } from './mds-avatar-stack.js';
|
|
13
|
+
export { MdsAvatarStackItem } from './mds-avatar-stack-item.js';
|
|
14
|
+
export { MdsBadge } from './mds-badge.js';
|
|
15
|
+
export { MdsBanner } from './mds-banner.js';
|
|
16
|
+
export { MdsBenchmarkBar } from './mds-benchmark-bar.js';
|
|
17
|
+
export { MdsBibliography } from './mds-bibliography.js';
|
|
18
|
+
export { MdsBook } from './mds-book.js';
|
|
19
|
+
export { MdsBreadcrumb } from './mds-breadcrumb.js';
|
|
20
|
+
export { MdsBreadcrumbItem } from './mds-breadcrumb-item.js';
|
|
21
|
+
export { MdsButton } from './mds-button.js';
|
|
22
|
+
export { MdsButtonDropdown } from './mds-button-dropdown.js';
|
|
23
|
+
export { MdsButtonGroup } from './mds-button-group.js';
|
|
24
|
+
export { MdsCalendar } from './mds-calendar.js';
|
|
25
|
+
export { MdsCalendarCell } from './mds-calendar-cell.js';
|
|
26
|
+
export { MdsCard } from './mds-card.js';
|
|
27
|
+
export { MdsCardContent } from './mds-card-content.js';
|
|
28
|
+
export { MdsCardFooter } from './mds-card-footer.js';
|
|
29
|
+
export { MdsCardHeader } from './mds-card-header.js';
|
|
30
|
+
export { MdsCardMedia } from './mds-card-media.js';
|
|
31
|
+
export { MdsChip } from './mds-chip.js';
|
|
32
|
+
export { MdsDetails } from './mds-details.js';
|
|
33
|
+
export { MdsDropdown } from './mds-dropdown.js';
|
|
34
|
+
export { MdsEmoji } from './mds-emoji.js';
|
|
35
|
+
export { MdsEntity } from './mds-entity.js';
|
|
36
|
+
export { MdsFile } from './mds-file.js';
|
|
37
|
+
export { MdsFilePreview } from './mds-file-preview.js';
|
|
38
|
+
export { MdsFilter } from './mds-filter.js';
|
|
39
|
+
export { MdsFilterItem } from './mds-filter-item.js';
|
|
40
|
+
export { MdsHeader } from './mds-header.js';
|
|
41
|
+
export { MdsHeaderBar } from './mds-header-bar.js';
|
|
42
|
+
export { MdsHelp } from './mds-help.js';
|
|
43
|
+
export { MdsHorizontalScroll } from './mds-horizontal-scroll.js';
|
|
44
|
+
export { MdsHr } from './mds-hr.js';
|
|
45
|
+
export { MdsIcon } from './mds-icon.js';
|
|
46
|
+
export { MdsImg } from './mds-img.js';
|
|
47
|
+
export { MdsInput } from './mds-input.js';
|
|
48
|
+
export { MdsInputDate } from './mds-input-date.js';
|
|
49
|
+
export { MdsInputDateRange } from './mds-input-date-range.js';
|
|
50
|
+
export { MdsInputDateRangePreselection } from './mds-input-date-range-preselection.js';
|
|
51
|
+
export { MdsInputField } from './mds-input-field.js';
|
|
52
|
+
export { MdsInputOtp } from './mds-input-otp.js';
|
|
53
|
+
export { MdsInputRange } from './mds-input-range.js';
|
|
54
|
+
export { MdsInputSelect } from './mds-input-select.js';
|
|
55
|
+
export { MdsInputSwitch } from './mds-input-switch.js';
|
|
56
|
+
export { MdsInputTip } from './mds-input-tip.js';
|
|
57
|
+
export { MdsInputTipItem } from './mds-input-tip-item.js';
|
|
58
|
+
export { MdsInputUpload } from './mds-input-upload.js';
|
|
59
|
+
export { MdsKeyboard } from './mds-keyboard.js';
|
|
60
|
+
export { MdsKeyboardKey } from './mds-keyboard-key.js';
|
|
61
|
+
export { MdsKpi } from './mds-kpi.js';
|
|
62
|
+
export { MdsKpiItem } from './mds-kpi-item.js';
|
|
63
|
+
export { MdsLabel } from './mds-label.js';
|
|
64
|
+
export { MdsLink } from './mds-link.js';
|
|
65
|
+
export { MdsList } from './mds-list.js';
|
|
66
|
+
export { MdsListItem } from './mds-list-item.js';
|
|
67
|
+
export { MdsMention } from './mds-mention.js';
|
|
68
|
+
export { MdsModal } from './mds-modal.js';
|
|
69
|
+
export { MdsNote } from './mds-note.js';
|
|
70
|
+
export { MdsNotification } from './mds-notification.js';
|
|
71
|
+
export { MdsPaginator } from './mds-paginator.js';
|
|
72
|
+
export { MdsPaginatorItem } from './mds-paginator-item.js';
|
|
73
|
+
export { MdsPolicyAi } from './mds-policy-ai.js';
|
|
74
|
+
export { MdsPref } from './mds-pref.js';
|
|
75
|
+
export { MdsPrefAnimation } from './mds-pref-animation.js';
|
|
76
|
+
export { MdsPrefConsumption } from './mds-pref-consumption.js';
|
|
77
|
+
export { MdsPrefContrast } from './mds-pref-contrast.js';
|
|
78
|
+
export { MdsPrefLanguage } from './mds-pref-language.js';
|
|
79
|
+
export { MdsPrefLanguageItem } from './mds-pref-language-item.js';
|
|
80
|
+
export { MdsPrefMode } from './mds-pref-mode.js';
|
|
81
|
+
export { MdsPrefTheme } from './mds-pref-theme.js';
|
|
82
|
+
export { MdsPrefThemeItem } from './mds-pref-theme-item.js';
|
|
83
|
+
export { MdsPriceTable } from './mds-price-table.js';
|
|
84
|
+
export { MdsPriceTableFeatures } from './mds-price-table-features.js';
|
|
85
|
+
export { MdsPriceTableFeaturesCell } from './mds-price-table-features-cell.js';
|
|
86
|
+
export { MdsPriceTableFeaturesRow } from './mds-price-table-features-row.js';
|
|
87
|
+
export { MdsPriceTableHeader } from './mds-price-table-header.js';
|
|
88
|
+
export { MdsPriceTableList } from './mds-price-table-list.js';
|
|
89
|
+
export { MdsPriceTableListItem } from './mds-price-table-list-item.js';
|
|
90
|
+
export { MdsProgress } from './mds-progress.js';
|
|
91
|
+
export { MdsPushNotification } from './mds-push-notification.js';
|
|
92
|
+
export { MdsPushNotificationItem } from './mds-push-notification-item.js';
|
|
93
|
+
export { MdsQuote } from './mds-quote.js';
|
|
94
|
+
export { MdsRadialMenu } from './mds-radial-menu.js';
|
|
95
|
+
export { MdsRadialMenuItem } from './mds-radial-menu-item.js';
|
|
96
|
+
export { MdsRadialProgress } from './mds-radial-progress.js';
|
|
97
|
+
export { MdsSeparator } from './mds-separator.js';
|
|
98
|
+
export { MdsSpinner } from './mds-spinner.js';
|
|
99
|
+
export { MdsStatusBar } from './mds-status-bar.js';
|
|
100
|
+
export { MdsStepperBar } from './mds-stepper-bar.js';
|
|
101
|
+
export { MdsStepperBarItem } from './mds-stepper-bar-item.js';
|
|
102
|
+
export { MdsTab } from './mds-tab.js';
|
|
103
|
+
export { MdsTabBar } from './mds-tab-bar.js';
|
|
104
|
+
export { MdsTabBarItem } from './mds-tab-bar-item.js';
|
|
105
|
+
export { MdsTabItem } from './mds-tab-item.js';
|
|
106
|
+
export { MdsTable } from './mds-table.js';
|
|
107
|
+
export { MdsTableBody } from './mds-table-body.js';
|
|
108
|
+
export { MdsTableCell } from './mds-table-cell.js';
|
|
109
|
+
export { MdsTableFooter } from './mds-table-footer.js';
|
|
110
|
+
export { MdsTableHeader } from './mds-table-header.js';
|
|
111
|
+
export { MdsTableHeaderCell } from './mds-table-header-cell.js';
|
|
112
|
+
export { MdsTableRow } from './mds-table-row.js';
|
|
113
|
+
export { MdsText } from './mds-text.js';
|
|
114
|
+
export { MdsToast } from './mds-toast.js';
|
|
115
|
+
export { MdsToastRegion } from './mds-toast-region.js';
|
|
116
|
+
export { MdsTooltip } from './mds-tooltip.js';
|
|
117
|
+
export { MdsTree } from './mds-tree.js';
|
|
118
|
+
export { MdsTreeItem } from './mds-tree-item.js';
|
|
119
|
+
export { MdsUrlView } from './mds-url-view.js';
|
|
120
|
+
export { MdsUsage } from './mds-usage.js';
|
|
121
|
+
export { MdsVideoWall } from './mds-video-wall.js';
|
|
122
|
+
export { MdsZero } from './mds-zero.js';
|