@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,42 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Press Salva in Notifiche: the confirmation shows inside that card, right above its row, and stays until the next change in it; Profilo does not move.
|
|
3
|
+
-->
|
|
4
|
+
<div class="grid gap-between-containers">
|
|
5
|
+
<form id="form">
|
|
6
|
+
<mds-card>
|
|
7
|
+
<mds-card-header>
|
|
8
|
+
<mds-text typography="part" tag="h2">Notifiche</mds-text>
|
|
9
|
+
</mds-card-header>
|
|
10
|
+
<mds-card-content>
|
|
11
|
+
<div class="grid gap-between-fields">
|
|
12
|
+
<mds-input-switch name="email" value="1" checked>Avvisi via email</mds-input-switch>
|
|
13
|
+
<mds-input-switch id="sms" name="sms" value="1">Avvisi via SMS</mds-input-switch>
|
|
14
|
+
<mds-banner id="done" variant="success" tone="strong" headline="Notifiche salvate" class="hidden">
|
|
15
|
+
<mds-text>Valgono da subito per i prossimi avvisi.</mds-text>
|
|
16
|
+
</mds-banner>
|
|
17
|
+
</div>
|
|
18
|
+
</mds-card-content>
|
|
19
|
+
<mds-card-footer>
|
|
20
|
+
<mds-button id="save" type="submit" variant="primary" tone="outline">Salva</mds-button>
|
|
21
|
+
</mds-card-footer>
|
|
22
|
+
</mds-card>
|
|
23
|
+
</form>
|
|
24
|
+
<mds-card>
|
|
25
|
+
<mds-card-header>
|
|
26
|
+
<mds-text typography="part" tag="h2">Profilo</mds-text>
|
|
27
|
+
</mds-card-header>
|
|
28
|
+
<mds-card-content>
|
|
29
|
+
<mds-text>Anna Rossi, ufficio tributi.</mds-text>
|
|
30
|
+
</mds-card-content>
|
|
31
|
+
</mds-card>
|
|
32
|
+
</div>
|
|
33
|
+
<script>
|
|
34
|
+
const form = document.getElementById('form');
|
|
35
|
+
const done = document.getElementById('done');
|
|
36
|
+
// Magma gap: no light confirmation that goes away; the banner stays until the next change
|
|
37
|
+
form.addEventListener('mdsInputSwitchChange', () => done.classList.add('hidden'));
|
|
38
|
+
form.addEventListener('submit', (event) => {
|
|
39
|
+
event.preventDefault();
|
|
40
|
+
done.classList.remove('hidden');
|
|
41
|
+
});
|
|
42
|
+
</script>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Press Invia promemoria in the open menu of Bianchi Anna: the menu closes, the sending fails, and a toast that stays says so, with Riprova.
|
|
3
|
+
height: 400
|
|
4
|
+
-->
|
|
5
|
+
<div class="grid gap-title-content">
|
|
6
|
+
<mds-text typography="page" tag="h1">Iscritti al corso</mds-text>
|
|
7
|
+
<div class="grid">
|
|
8
|
+
<div class="flex items-center justify-between gap-inline">
|
|
9
|
+
<mds-text>Rossi Mario</mds-text>
|
|
10
|
+
<mds-button icon="mi/baseline/more-vert" variant="dark" tone="text" aria-label="Azioni di Rossi Mario"></mds-button>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="flex items-center justify-between gap-inline">
|
|
13
|
+
<mds-text>Bianchi Anna</mds-text>
|
|
14
|
+
<mds-button id="actions" icon="mi/baseline/more-vert" variant="dark" tone="text" aria-label="Azioni di Bianchi Anna"></mds-button>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<mds-dropdown id="menu" target="#actions" placement="bottom-end" visible>
|
|
19
|
+
<mds-button id="remind" icon="mi/baseline/send" variant="dark" tone="text" label="Invia promemoria"></mds-button>
|
|
20
|
+
</mds-dropdown>
|
|
21
|
+
<mds-toast-region>
|
|
22
|
+
<mds-toast id="failed" variant="error" duration="0" dismissible>
|
|
23
|
+
Promemoria a Bianchi Anna non inviato
|
|
24
|
+
<mds-button id="retry" slot="action" size="sm" variant="error" tone="outline">Riprova</mds-button>
|
|
25
|
+
</mds-toast>
|
|
26
|
+
<mds-toast id="sent" variant="success">Promemoria inviato a Bianchi Anna</mds-toast>
|
|
27
|
+
</mds-toast-region>
|
|
28
|
+
<script>
|
|
29
|
+
const menu = document.getElementById('menu');
|
|
30
|
+
const failed = document.getElementById('failed');
|
|
31
|
+
// the first sending fails, the second works
|
|
32
|
+
document.getElementById('remind').addEventListener('click', () => {
|
|
33
|
+
menu.visible = false;
|
|
34
|
+
failed.visible = true;
|
|
35
|
+
});
|
|
36
|
+
document.getElementById('retry').addEventListener('click', () => {
|
|
37
|
+
failed.visible = undefined;
|
|
38
|
+
document.getElementById('sent').visible = true;
|
|
39
|
+
});
|
|
40
|
+
</script>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Press Salva: the error shows right above the row of the dialog, what was written stays, and the focus stays on Salva, the way to try again.
|
|
3
|
+
height: 480
|
|
4
|
+
-->
|
|
5
|
+
<mds-button id="open">Modifica azienda</mds-button>
|
|
6
|
+
<mds-modal id="dialog" opened aria-label="Modifica azienda">
|
|
7
|
+
<mds-banner slot="window" variant="light" tone="box" dismissible headline="Modifica azienda">
|
|
8
|
+
<form class="grid gap-between-fields">
|
|
9
|
+
<mds-input-field label="Ragione sociale">
|
|
10
|
+
<mds-input value="Maggioli SpA"></mds-input>
|
|
11
|
+
</mds-input-field>
|
|
12
|
+
<mds-banner id="message" variant="error" tone="strong" headline="Salvataggio non riuscito" class="hidden">
|
|
13
|
+
<mds-text>Il server non risponde. I dati sono ancora qui: riprova.</mds-text>
|
|
14
|
+
</mds-banner>
|
|
15
|
+
</form>
|
|
16
|
+
<mds-button id="cancel" slot="action" variant="dark" tone="outline">Annulla</mds-button>
|
|
17
|
+
<mds-button id="save" slot="action">Salva</mds-button>
|
|
18
|
+
</mds-banner>
|
|
19
|
+
</mds-modal>
|
|
20
|
+
<script>
|
|
21
|
+
const dialog = document.getElementById('dialog');
|
|
22
|
+
const message = document.getElementById('message');
|
|
23
|
+
document.getElementById('open').addEventListener('click', () => {
|
|
24
|
+
message.classList.add('hidden');
|
|
25
|
+
dialog.opened = true;
|
|
26
|
+
});
|
|
27
|
+
dialog.addEventListener('mdsModalClose', () => (dialog.opened = undefined));
|
|
28
|
+
document.getElementById('cancel').addEventListener('click', () => dialog.close());
|
|
29
|
+
// the save fails: the error goes right above the row, and the focus stays on Salva
|
|
30
|
+
document.getElementById('save').addEventListener('click', () => message.classList.remove('hidden'));
|
|
31
|
+
</script>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the toast: the export started minutes ago is ready, with Scarica, and stays until the person acts or sends it away; Esporta starts another.
|
|
3
|
+
height: 360
|
|
4
|
+
-->
|
|
5
|
+
<header class="flex flex-wrap items-start justify-between gap-inline">
|
|
6
|
+
<mds-text typography="page" tag="h1">Pratiche di ottobre</mds-text>
|
|
7
|
+
<mds-button id="export">Esporta</mds-button>
|
|
8
|
+
</header>
|
|
9
|
+
<mds-toast-region>
|
|
10
|
+
<mds-toast id="ready" variant="success" duration="0" dismissible visible>
|
|
11
|
+
Esportazione delle pratiche di ottobre pronta
|
|
12
|
+
<mds-button id="download" slot="action" size="sm" variant="success" tone="outline">Scarica</mds-button>
|
|
13
|
+
</mds-toast>
|
|
14
|
+
<mds-toast id="started" variant="info">Esportazione avviata: ti avvisiamo quando è pronta</mds-toast>
|
|
15
|
+
</mds-toast-region>
|
|
16
|
+
<script>
|
|
17
|
+
const ready = document.getElementById('ready');
|
|
18
|
+
// the export takes minutes: the preview shows its outcome already there, and Esporta starts it again
|
|
19
|
+
document.getElementById('download').addEventListener('click', () => (ready.visible = undefined));
|
|
20
|
+
document.getElementById('export').addEventListener('click', () => {
|
|
21
|
+
ready.visible = undefined;
|
|
22
|
+
document.getElementById('started').visible = true;
|
|
23
|
+
});
|
|
24
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Press Invia promemoria a tutti in the open menu of the course: the menu closes, and a toast that stays says how many were sent and offers to send the 2 that failed again.
|
|
3
|
+
height: 400
|
|
4
|
+
-->
|
|
5
|
+
<header class="flex flex-wrap items-start justify-between gap-inline">
|
|
6
|
+
<div class="grid gap-title-content">
|
|
7
|
+
<mds-text typography="page" tag="h1">Iscritti al corso</mds-text>
|
|
8
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">6 iscritti, 2 senza conferma di presenza.</mds-text>
|
|
9
|
+
</div>
|
|
10
|
+
<mds-button id="actions" icon="mi/baseline/more-vert" variant="dark" tone="text" aria-label="Azioni del corso"></mds-button>
|
|
11
|
+
</header>
|
|
12
|
+
<mds-dropdown id="menu" target="#actions" placement="bottom-end" visible>
|
|
13
|
+
<mds-button id="remind" icon="mi/baseline/send" variant="dark" tone="text" label="Invia promemoria a tutti"></mds-button>
|
|
14
|
+
</mds-dropdown>
|
|
15
|
+
<mds-toast-region>
|
|
16
|
+
<mds-toast id="partial" variant="error" duration="0" dismissible>
|
|
17
|
+
Promemoria inviati a 4 iscritti su 6, non a 2
|
|
18
|
+
<mds-button id="retry" slot="action" size="sm" variant="error" tone="outline">Riprova per 2</mds-button>
|
|
19
|
+
</mds-toast>
|
|
20
|
+
<mds-toast id="sent" variant="success">Promemoria inviati anche a Bianchi Anna e Neri Paola</mds-toast>
|
|
21
|
+
</mds-toast-region>
|
|
22
|
+
<script>
|
|
23
|
+
const menu = document.getElementById('menu');
|
|
24
|
+
const partial = document.getElementById('partial');
|
|
25
|
+
document.getElementById('remind').addEventListener('click', () => {
|
|
26
|
+
menu.visible = false;
|
|
27
|
+
partial.visible = true;
|
|
28
|
+
});
|
|
29
|
+
document.getElementById('retry').addEventListener('click', () => {
|
|
30
|
+
partial.visible = undefined;
|
|
31
|
+
document.getElementById('sent').visible = true;
|
|
32
|
+
});
|
|
33
|
+
</script>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Press Archivia tutte: 4 requests leave the list, 2 do not; the message above the list says how many, and the 2 stay marked in the list.
|
|
3
|
+
-->
|
|
4
|
+
<div class="grid gap-between-sections">
|
|
5
|
+
<header class="flex flex-wrap items-start justify-between gap-inline">
|
|
6
|
+
<mds-text typography="page" tag="h1">Pratiche concluse</mds-text>
|
|
7
|
+
<mds-button id="archive">Archivia tutte</mds-button>
|
|
8
|
+
</header>
|
|
9
|
+
<div class="grid gap-between-fields">
|
|
10
|
+
<mds-banner id="message" variant="error" tone="strong" headline="4 pratiche archiviate, 2 no" class="hidden">
|
|
11
|
+
<mds-text>Le 2 non archiviate sono segnate qui sotto. Il server non ha risposto: riprova.</mds-text>
|
|
12
|
+
<mds-button id="retry" slot="action" variant="error" tone="strong">Riprova per 2</mds-button>
|
|
13
|
+
</mds-banner>
|
|
14
|
+
<mds-list id="list">
|
|
15
|
+
<mds-list-item data-file="2026/114">2026/114, Rossi Mario: conclusa</mds-list-item>
|
|
16
|
+
<mds-list-item data-file="2026/118">2026/118, Bianchi Anna: conclusa</mds-list-item>
|
|
17
|
+
<mds-list-item data-file="2026/121">2026/121, Verdi Luca: conclusa</mds-list-item>
|
|
18
|
+
<mds-list-item data-file="2026/125">2026/125, Neri Paola: conclusa</mds-list-item>
|
|
19
|
+
<mds-list-item data-file="2026/130">2026/130, Gallo Marco: conclusa</mds-list-item>
|
|
20
|
+
<mds-list-item data-file="2026/133">2026/133, Costa Elena: conclusa</mds-list-item>
|
|
21
|
+
</mds-list>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
<script>
|
|
25
|
+
const archive = document.getElementById('archive');
|
|
26
|
+
const retry = document.getElementById('retry');
|
|
27
|
+
const message = document.getElementById('message');
|
|
28
|
+
const failing = ['2026/118', '2026/125'];
|
|
29
|
+
const items = () => [...document.querySelectorAll('#list mds-list-item')];
|
|
30
|
+
archive.addEventListener('click', () => {
|
|
31
|
+
archive.await = true;
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
archive.await = undefined;
|
|
34
|
+
items().forEach((item) => {
|
|
35
|
+
if (!failing.includes(item.dataset.file)) return item.remove();
|
|
36
|
+
const badge = document.createElement('mds-badge');
|
|
37
|
+
badge.variant = 'error';
|
|
38
|
+
badge.label = 'Non archiviata';
|
|
39
|
+
item.append(' ', badge);
|
|
40
|
+
});
|
|
41
|
+
message.classList.remove('hidden');
|
|
42
|
+
}, 300);
|
|
43
|
+
});
|
|
44
|
+
retry.addEventListener('click', () => {
|
|
45
|
+
retry.await = true;
|
|
46
|
+
setTimeout(() => {
|
|
47
|
+
items().forEach((item) => item.remove());
|
|
48
|
+
message.classList.add('hidden');
|
|
49
|
+
}, 300);
|
|
50
|
+
});
|
|
51
|
+
</script>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Press Invia richiesta: a toast says the request is taken in charge and how the answer will come, then leaves.
|
|
3
|
+
height: 480
|
|
4
|
+
-->
|
|
5
|
+
<div class="grid gap-between-sections">
|
|
6
|
+
<mds-text typography="page" tag="h1">Richiesta di assistenza</mds-text>
|
|
7
|
+
<form id="form" class="@container grid max-w-form gap-content-actions">
|
|
8
|
+
<mds-input-field label="Descrivi il problema">
|
|
9
|
+
<mds-input id="text" type="textarea" value="Non riesco a scaricare la ricevuta di settembre."></mds-input>
|
|
10
|
+
</mds-input-field>
|
|
11
|
+
<div class="flex justify-end gap-inline @max-actions:flex-col @max-actions:*:self-stretch">
|
|
12
|
+
<mds-button id="send" type="submit">Invia richiesta</mds-button>
|
|
13
|
+
</div>
|
|
14
|
+
</form>
|
|
15
|
+
</div>
|
|
16
|
+
<mds-toast-region>
|
|
17
|
+
<mds-toast id="toast" variant="info">Richiesta presa in carico: la risposta arriva per email entro 2 giorni lavorativi.</mds-toast>
|
|
18
|
+
</mds-toast-region>
|
|
19
|
+
<script>
|
|
20
|
+
document.getElementById('form').addEventListener('submit', (event) => {
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
document.getElementById('text').value = '';
|
|
23
|
+
document.getElementById('toast').visible = true;
|
|
24
|
+
});
|
|
25
|
+
</script>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Close the dialog with its X, Esc or the backdrop: it means Resta collegato, as the button does; only Esci ends the session. Simula la scadenza opens it again.
|
|
3
|
+
height: 400
|
|
4
|
+
-->
|
|
5
|
+
<mds-button id="open" variant="dark" tone="outline">Simula la scadenza</mds-button>
|
|
6
|
+
<mds-modal id="dialog" opened aria-label="La sessione sta per scadere">
|
|
7
|
+
<mds-banner slot="window" variant="warning" tone="box" dismissible headline="La sessione sta per scadere">
|
|
8
|
+
<mds-text>Tra 2 minuti la sessione scade per inattività, e le modifiche non salvate alla pratica vanno perse.</mds-text>
|
|
9
|
+
<mds-button id="leave" slot="action" variant="warning" tone="outline">Esci</mds-button>
|
|
10
|
+
<mds-button id="stay" slot="action" variant="warning" tone="strong" autofocus>Resta collegato</mds-button>
|
|
11
|
+
</mds-banner>
|
|
12
|
+
</mds-modal>
|
|
13
|
+
<script>
|
|
14
|
+
const dialog = document.getElementById('dialog');
|
|
15
|
+
document.getElementById('open').addEventListener('click', () => (dialog.opened = true));
|
|
16
|
+
document.getElementById('stay').addEventListener('click', () => (dialog.opened = false));
|
|
17
|
+
document.getElementById('leave').addEventListener('click', () => (dialog.opened = false));
|
|
18
|
+
// closing the dialog, with its X, Esc or the backdrop, means Resta collegato: the application extends the session here
|
|
19
|
+
dialog.addEventListener('mdsModalClose', () => (dialog.opened = undefined));
|
|
20
|
+
</script>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: The server answers nothing: the bar of the application and the title of the page stay, the message takes the place of the content. Press Riprova: the page loads.
|
|
3
|
+
height: 460
|
|
4
|
+
whole-page: true
|
|
5
|
+
-->
|
|
6
|
+
<mds-header>
|
|
7
|
+
<mds-header-bar>
|
|
8
|
+
<mds-text typography="h6" tag="p">Gestione pratiche</mds-text>
|
|
9
|
+
<mds-button slot="nav" href="#" aria-current="page" variant="dark" tone="weak">Pratiche</mds-button>
|
|
10
|
+
<mds-button slot="nav" href="#" variant="dark" tone="text">Scadenze</mds-button>
|
|
11
|
+
<mds-button id="persona" slot="nav" icon="mi/baseline/account-circle" variant="dark" tone="text" aria-label="Account di Mario Rossi"></mds-button>
|
|
12
|
+
</mds-header-bar>
|
|
13
|
+
<nav slot="menu" class="grid gap-inline p-inset">
|
|
14
|
+
<mds-button href="#" aria-current="page" variant="dark" tone="weak" class="w-full justify-start">Pratiche</mds-button>
|
|
15
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Scadenze</mds-button>
|
|
16
|
+
<mds-separator></mds-separator>
|
|
17
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
18
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Profilo</mds-button>
|
|
19
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Esci</mds-button>
|
|
20
|
+
</nav>
|
|
21
|
+
</mds-header>
|
|
22
|
+
<mds-dropdown target="#persona" placement="bottom-end" strategy="fixed">
|
|
23
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
24
|
+
<mds-button href="#" icon="mi/baseline/person" variant="dark" tone="text" label="Profilo"></mds-button>
|
|
25
|
+
<mds-separator></mds-separator>
|
|
26
|
+
<mds-button href="#" icon="mi/baseline/logout" variant="dark" tone="text" label="Esci"></mds-button>
|
|
27
|
+
</mds-dropdown>
|
|
28
|
+
<main class="page-frame grid gap-between-sections py-between-sections">
|
|
29
|
+
<mds-text typography="page" tag="h1">Pratiche</mds-text>
|
|
30
|
+
<mds-banner id="message" variant="error" tone="strong" headline="Il servizio non risponde">
|
|
31
|
+
<mds-text>Non è stato possibile caricare la pagina. Riprova tra qualche istante.</mds-text>
|
|
32
|
+
<mds-button id="retry" slot="action" variant="error" tone="strong">Riprova</mds-button>
|
|
33
|
+
</mds-banner>
|
|
34
|
+
<mds-list id="content" class="hidden">
|
|
35
|
+
<mds-list-item>2026/114, Rossi Mario: in istruttoria</mds-list-item>
|
|
36
|
+
<mds-list-item>2026/118, Bianchi Anna: da integrare</mds-list-item>
|
|
37
|
+
</mds-list>
|
|
38
|
+
</main>
|
|
39
|
+
<script>
|
|
40
|
+
const retry = document.getElementById('retry');
|
|
41
|
+
retry.addEventListener('click', () => {
|
|
42
|
+
retry.await = true;
|
|
43
|
+
setTimeout(() => {
|
|
44
|
+
document.getElementById('message').remove();
|
|
45
|
+
document.getElementById('content').classList.remove('hidden');
|
|
46
|
+
}, 400);
|
|
47
|
+
});
|
|
48
|
+
</script>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the toast: the connection dropped, a trouble that does not stop the work, so a warning; it leaves after its time like any toast without an action, while what was written stays. Press Simula il ritorno: another toast says the connection is back.
|
|
3
|
+
height: 400
|
|
4
|
+
-->
|
|
5
|
+
<div class="grid gap-between-sections">
|
|
6
|
+
<mds-text typography="page" tag="h1">Nuova pratica</mds-text>
|
|
7
|
+
<form class="grid max-w-form gap-between-fields">
|
|
8
|
+
<mds-input-field label="Oggetto">
|
|
9
|
+
<mds-input value="Richiesta di accesso agli atti"></mds-input>
|
|
10
|
+
</mds-input-field>
|
|
11
|
+
</form>
|
|
12
|
+
<div>
|
|
13
|
+
<mds-button id="simulate" variant="dark" tone="outline" label="Simula il ritorno"></mds-button>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<mds-toast-region>
|
|
17
|
+
<mds-toast id="lost" variant="warning" visible>Connessione persa: quello che scrivi resta qui finché non torna</mds-toast>
|
|
18
|
+
<mds-toast id="back" variant="info">Connessione tornata</mds-toast>
|
|
19
|
+
</mds-toast-region>
|
|
20
|
+
<script>
|
|
21
|
+
const lost = document.getElementById('lost');
|
|
22
|
+
const back = document.getElementById('back');
|
|
23
|
+
const simulate = document.getElementById('simulate');
|
|
24
|
+
let online = false;
|
|
25
|
+
window.addEventListener('offline', () => {
|
|
26
|
+
back.visible = undefined;
|
|
27
|
+
lost.visible = true;
|
|
28
|
+
});
|
|
29
|
+
window.addEventListener('online', () => {
|
|
30
|
+
lost.visible = undefined;
|
|
31
|
+
back.visible = true;
|
|
32
|
+
});
|
|
33
|
+
// the preview simulates the network; in the product the browser fires offline and online
|
|
34
|
+
simulate.addEventListener('click', () => {
|
|
35
|
+
online = !online;
|
|
36
|
+
window.dispatchEvent(new Event(online ? 'online' : 'offline'));
|
|
37
|
+
simulate.label = online ? 'Simula la caduta' : 'Simula il ritorno';
|
|
38
|
+
});
|
|
39
|
+
</script>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the question: the note goes for good, so a dialog stops the person before anything happens, with the focus on Annulla. Press Elimina nota: the dialog closes, the note leaves the list, the practice keeps the rest, and a toast says so.
|
|
3
|
+
height: 440
|
|
4
|
+
-->
|
|
5
|
+
<div class="grid gap-title-content">
|
|
6
|
+
<mds-text id="title" typography="page" tag="h1" tabindex="-1">Note della pratica 2026/0142</mds-text>
|
|
7
|
+
<div class="grid">
|
|
8
|
+
<div class="flex items-center justify-between gap-inline">
|
|
9
|
+
<mds-text>Telefonata del 5 marzo</mds-text>
|
|
10
|
+
<mds-button id="more-telefonata" icon="mi/baseline/more-vert" variant="dark" tone="text" aria-label="Azioni della nota Telefonata del 5 marzo"></mds-button>
|
|
11
|
+
</div>
|
|
12
|
+
<div id="row-sopralluogo" class="flex items-center justify-between gap-inline">
|
|
13
|
+
<mds-text>Sopralluogo del 12 marzo</mds-text>
|
|
14
|
+
<mds-button id="more-sopralluogo" icon="mi/baseline/more-vert" variant="dark" tone="text" aria-label="Azioni della nota Sopralluogo del 12 marzo"></mds-button>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<mds-dropdown target="#more-sopralluogo" placement="bottom-end">
|
|
19
|
+
<mds-button id="delete" icon="mi/baseline/delete" variant="error" tone="text" label="Elimina nota"></mds-button>
|
|
20
|
+
</mds-dropdown>
|
|
21
|
+
<mds-modal id="dialog" opened aria-label="Eliminare la nota Sopralluogo del 12 marzo?">
|
|
22
|
+
<mds-banner slot="window" variant="light" tone="box" dismissible headline="Eliminare la nota Sopralluogo del 12 marzo?">
|
|
23
|
+
<mds-text>La nota viene cancellata e non si può recuperare; la pratica e i suoi allegati restano come sono.</mds-text>
|
|
24
|
+
<mds-button id="cancel" slot="action" variant="dark" tone="outline" autofocus>Annulla</mds-button>
|
|
25
|
+
<mds-button id="confirm" slot="action" variant="error" tone="strong">Elimina nota</mds-button>
|
|
26
|
+
</mds-banner>
|
|
27
|
+
</mds-modal>
|
|
28
|
+
<mds-toast-region>
|
|
29
|
+
<mds-toast id="toast">Nota Sopralluogo del 12 marzo eliminata</mds-toast>
|
|
30
|
+
</mds-toast-region>
|
|
31
|
+
<script>
|
|
32
|
+
const dialog = document.getElementById('dialog');
|
|
33
|
+
let deleted = false;
|
|
34
|
+
document.getElementById('delete').addEventListener('click', () => (dialog.opened = true));
|
|
35
|
+
document.getElementById('cancel').addEventListener('click', () => dialog.close());
|
|
36
|
+
dialog.addEventListener('mdsModalClose', () => (dialog.opened = undefined));
|
|
37
|
+
document.getElementById('confirm').addEventListener('click', () => {
|
|
38
|
+
deleted = true;
|
|
39
|
+
dialog.close();
|
|
40
|
+
});
|
|
41
|
+
// the button that opened the dialog is gone with its row: the focus goes to the title of the page
|
|
42
|
+
dialog.addEventListener('mdsModalHide', () => {
|
|
43
|
+
if (!deleted) return;
|
|
44
|
+
deleted = false;
|
|
45
|
+
document.getElementById('row-sopralluogo').remove();
|
|
46
|
+
document.getElementById('title').focus();
|
|
47
|
+
document.getElementById('toast').visible = true;
|
|
48
|
+
});
|
|
49
|
+
</script>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Press Salva with the fields empty: under each one shows what to write, and the focus goes to the first.
|
|
3
|
+
-->
|
|
4
|
+
<form id="form" class="@container grid max-w-form gap-content-actions" novalidate>
|
|
5
|
+
<div class="grid gap-between-fields">
|
|
6
|
+
<mds-input-field label="Nome">
|
|
7
|
+
<mds-input id="name" name="name" required></mds-input>
|
|
8
|
+
</mds-input-field>
|
|
9
|
+
<mds-input-field label="Email">
|
|
10
|
+
<mds-input id="email" name="email" type="email" required></mds-input>
|
|
11
|
+
</mds-input-field>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="flex justify-end gap-inline @max-actions:flex-col @max-actions:*:self-stretch">
|
|
14
|
+
<mds-button id="save" type="submit">Salva</mds-button>
|
|
15
|
+
</div>
|
|
16
|
+
</form>
|
|
17
|
+
<script>
|
|
18
|
+
const form = document.getElementById('form');
|
|
19
|
+
const messages = { name: 'Scrivi il nome', email: "Scrivi l'indirizzo email" };
|
|
20
|
+
customElements.whenDefined('mds-input').then(() => {
|
|
21
|
+
for (const [id, text] of Object.entries(messages))
|
|
22
|
+
document.getElementById(id).addValidator((value) => (value ? null : { required: text }));
|
|
23
|
+
});
|
|
24
|
+
form.addEventListener('submit', (event) => {
|
|
25
|
+
event.preventDefault();
|
|
26
|
+
if (!form.checkValidity()) form.querySelector('mds-input:invalid')?.setFocus();
|
|
27
|
+
});
|
|
28
|
+
</script>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Read the hint under Codice fiscale and the example in each empty field, write a wrong code and leave the field: the error takes the place of the hint; correct it and the hint comes back.
|
|
3
|
+
-->
|
|
4
|
+
<form class="grid max-w-form gap-between-fields">
|
|
5
|
+
<mds-input-field label="Nome e cognome">
|
|
6
|
+
<mds-input name="name" placeholder="Es: Mario Rossi"></mds-input>
|
|
7
|
+
</mds-input-field>
|
|
8
|
+
<div class="field-group">
|
|
9
|
+
<mds-input-field id="field" label="Codice fiscale" short message="16 caratteri, lettere e numeri: lo trovi sulla tessera sanitaria">
|
|
10
|
+
<mds-input id="code" type="cf" name="cf" placeholder="Es: ABCDEF99G99H999I"></mds-input>
|
|
11
|
+
</mds-input-field>
|
|
12
|
+
</div>
|
|
13
|
+
</form>
|
|
14
|
+
<script>
|
|
15
|
+
// Magma gap: the validation of the field overwrites its message; put the hint back when there is no error
|
|
16
|
+
const field = document.getElementById('field');
|
|
17
|
+
const code = document.getElementById('code');
|
|
18
|
+
const hint = field.getAttribute('message');
|
|
19
|
+
// after the field has loaded, so that this runs after its own listener
|
|
20
|
+
customElements
|
|
21
|
+
.whenDefined('mds-input-field')
|
|
22
|
+
.then(() => field.componentOnReady())
|
|
23
|
+
.then(() =>
|
|
24
|
+
code.addEventListener('mdsInputValidation', () =>
|
|
25
|
+
code.getErrors().then((errors) => {
|
|
26
|
+
if (errors == null) field.message = hint;
|
|
27
|
+
}),
|
|
28
|
+
),
|
|
29
|
+
);
|
|
30
|
+
</script>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Write a valid address in Email and leave the field: it shows its valid state, with no message.
|
|
3
|
+
-->
|
|
4
|
+
<form class="grid max-w-form gap-between-fields">
|
|
5
|
+
<mds-input-field label="Email">
|
|
6
|
+
<mds-input name="email" type="email" required autofocus value="anna.rossi@comune.esempio.it"></mds-input>
|
|
7
|
+
</mds-input-field>
|
|
8
|
+
<mds-input-field label="Telefono">
|
|
9
|
+
<mds-input id="phone" name="phone" type="tel"></mds-input>
|
|
10
|
+
</mds-input-field>
|
|
11
|
+
</form>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Press Riprova: the button waits, then the list takes the place of the message; Scadenze, which loaded, never changes.
|
|
3
|
+
-->
|
|
4
|
+
<div class="grid gap-between-sections">
|
|
5
|
+
<section class="grid gap-title-content">
|
|
6
|
+
<mds-text typography="section" tag="h2">Scadenze</mds-text>
|
|
7
|
+
<mds-text tag="p">3 pratiche scadono questa settimana.</mds-text>
|
|
8
|
+
</section>
|
|
9
|
+
<section class="grid gap-title-content">
|
|
10
|
+
<mds-text typography="section" tag="h2">Pratiche</mds-text>
|
|
11
|
+
<mds-banner id="message" variant="error" tone="strong" headline="Pratiche non caricate">
|
|
12
|
+
<mds-text>L'elenco non si è caricato. Riprova tra qualche istante.</mds-text>
|
|
13
|
+
<mds-button id="retry" slot="action" variant="error" tone="strong">Riprova</mds-button>
|
|
14
|
+
</mds-banner>
|
|
15
|
+
<mds-list id="list" class="hidden">
|
|
16
|
+
<mds-list-item>2026/114, Rossi Mario: in istruttoria</mds-list-item>
|
|
17
|
+
<mds-list-item>2026/118, Bianchi Anna: da integrare</mds-list-item>
|
|
18
|
+
<mds-list-item>2026/121, Verdi Luca: conclusa</mds-list-item>
|
|
19
|
+
</mds-list>
|
|
20
|
+
</section>
|
|
21
|
+
</div>
|
|
22
|
+
<script>
|
|
23
|
+
const retry = document.getElementById('retry');
|
|
24
|
+
retry.addEventListener('click', () => {
|
|
25
|
+
retry.await = true;
|
|
26
|
+
setTimeout(() => {
|
|
27
|
+
document.getElementById('message').remove();
|
|
28
|
+
document.getElementById('list').classList.remove('hidden');
|
|
29
|
+
}, 400);
|
|
30
|
+
});
|
|
31
|
+
</script>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at Pagamenti: the note on how fresh the data are sits at the top of the list it is about, and stays.
|
|
3
|
+
-->
|
|
4
|
+
<section class="grid gap-title-content">
|
|
5
|
+
<mds-text typography="section" tag="h2">Pagamenti</mds-text>
|
|
6
|
+
<div class="grid gap-between-fields">
|
|
7
|
+
<mds-banner variant="info">
|
|
8
|
+
<mds-text>Dati aggiornati ogni notte: l'ultimo aggiornamento è di oggi alle 02:00.</mds-text>
|
|
9
|
+
</mds-banner>
|
|
10
|
+
<mds-list>
|
|
11
|
+
<mds-list-item>12 ottobre, Rossi Mario: 120,00 euro</mds-list-item>
|
|
12
|
+
<mds-list-item>14 ottobre, Bianchi Anna: 45,50 euro</mds-list-item>
|
|
13
|
+
<mds-list-item>15 ottobre, Verdi Luca: 300,00 euro</mds-list-item>
|
|
14
|
+
</mds-list>
|
|
15
|
+
</div>
|
|
16
|
+
</section>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the head of the edit: Mario Rossi to go back to the contact and the title that says the action, with no actions of its own, since Annulla and Salva stay docked at the bottom for the whole edit.
|
|
3
|
+
height: 620
|
|
4
|
+
-->
|
|
5
|
+
<main class="grid gap-between-sections">
|
|
6
|
+
<header class="grid gap-title-content">
|
|
7
|
+
<mds-button href="#" icon="mi/baseline/arrow-back" variant="dark" tone="text" size="sm" class="justify-self-start">Mario Rossi</mds-button>
|
|
8
|
+
<mds-text typography="page" tag="h1">Modifica Mario Rossi</mds-text>
|
|
9
|
+
</header>
|
|
10
|
+
<form class="max-w-form">
|
|
11
|
+
<fieldset class="field-group">
|
|
12
|
+
<legend>Residenza</legend>
|
|
13
|
+
<mds-input-field label="Via">
|
|
14
|
+
<mds-input name="via" value="Via Roma"></mds-input>
|
|
15
|
+
</mds-input-field>
|
|
16
|
+
<mds-input-field label="Civico" short>
|
|
17
|
+
<mds-input name="civico" value="21"></mds-input>
|
|
18
|
+
</mds-input-field>
|
|
19
|
+
</fieldset>
|
|
20
|
+
<mds-status-bar visible description="Modifiche non salvate">
|
|
21
|
+
<mds-button type="reset" variant="dark" tone="outline">Annulla</mds-button>
|
|
22
|
+
<mds-button type="submit">Salva</mds-button>
|
|
23
|
+
</mds-status-bar>
|
|
24
|
+
</form>
|
|
25
|
+
</main>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the head of the members: Operatori anagrafe to go back to the group, Membri in the plural, the line that says who they are and Aggiungi membri at the end; the list starts 1600 under it.
|
|
3
|
+
-->
|
|
4
|
+
<main class="grid gap-between-sections">
|
|
5
|
+
<header class="@container grid gap-title-content">
|
|
6
|
+
<mds-button href="#" icon="mi/baseline/arrow-back" variant="dark" tone="text" size="sm" class="justify-self-start">Operatori anagrafe</mds-button>
|
|
7
|
+
<div class="flex flex-wrap items-start justify-between gap-inline">
|
|
8
|
+
<div class="grid min-w-0 grow basis-actions gap-title-content">
|
|
9
|
+
<mds-text typography="page" tag="h1">Membri</mds-text>
|
|
10
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Le persone che lavorano le richieste del gruppo.</mds-text>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="flex gap-inline @max-actions:basis-full @max-actions:flex-col @max-actions:*:self-stretch">
|
|
13
|
+
<mds-button>Aggiungi membri</mds-button>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
</header>
|
|
17
|
+
<mds-text typography="detail" tag="p" role="status">12 membri</mds-text>
|
|
18
|
+
</main>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the head of the profile: no way back, the number above the name, no status, the line of where the person works, and Modifica last; the first section starts 1600 under it.
|
|
3
|
+
-->
|
|
4
|
+
<main class="grid gap-between-sections">
|
|
5
|
+
<header class="@container flex flex-wrap items-start justify-between gap-inline">
|
|
6
|
+
<div class="grid min-w-0 grow basis-actions gap-title-content">
|
|
7
|
+
<mds-text typography="caption" tag="p" class="text-fg-muted">Matricola 04512</mds-text>
|
|
8
|
+
<mds-text typography="page" tag="h1">Giulia Bianchi</mds-text>
|
|
9
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Ufficio anagrafe, in servizio dal 2 settembre 2019</mds-text>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="flex gap-inline @max-actions:basis-full @max-actions:flex-col @max-actions:*:self-stretch">
|
|
12
|
+
<mds-button variant="dark" tone="outline">Cambia password</mds-button>
|
|
13
|
+
<mds-button>Modifica</mds-button>
|
|
14
|
+
</div>
|
|
15
|
+
</header>
|
|
16
|
+
<mds-text typography="section" tag="h2">Dati personali</mds-text>
|
|
17
|
+
</main>
|