@maggioli-design-system/magma-react 2.8.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +10 -7
- package/CHANGELOG.md +108 -0
- package/README.md +38 -0
- package/agents/assets.md +1 -1
- package/agents/color.md +5 -3
- 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 +22 -3
- 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 +8 -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,33 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the head of the request: Richieste to go back, the number above Cambio di residenza with its status, then the row with the menu at its start and Chiudi richiesta last. Open the menu: Assegna and Stampa; a request is deleted from the danger zone of its page, never from a menu.
|
|
3
|
+
height: 420
|
|
4
|
+
-->
|
|
5
|
+
<main class="grid gap-between-sections">
|
|
6
|
+
<header class="@container grid gap-title-content">
|
|
7
|
+
<mds-button href="#" icon="mi/baseline/arrow-back" variant="dark" tone="text" size="sm" class="justify-self-start">Richieste</mds-button>
|
|
8
|
+
<div class="flex flex-wrap items-start justify-between gap-inline">
|
|
9
|
+
<div class="grid min-w-0 grow basis-actions gap-title-content">
|
|
10
|
+
<mds-text typography="caption" tag="p" class="text-fg-muted">Richiesta 2026/0142</mds-text>
|
|
11
|
+
<div class="flex flex-wrap items-center gap-inline">
|
|
12
|
+
<mds-text typography="page" tag="h1" class="min-w-0">Cambio di residenza</mds-text>
|
|
13
|
+
<mds-badge variant="warning" label="In lavorazione"></mds-badge>
|
|
14
|
+
</div>
|
|
15
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Ufficio anagrafe, ricevuta il 3 marzo 2026</mds-text>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="flex gap-inline @max-actions:basis-full @max-actions:flex-col @max-actions:*:self-stretch">
|
|
18
|
+
<mds-button id="azioni-richiesta" class="@max-actions:w-fit" icon="mi/baseline/more-vert" variant="dark" tone="text" aria-label="Azioni della richiesta 2026/0142"></mds-button>
|
|
19
|
+
<mds-button variant="dark" tone="outline">Richiedi documenti</mds-button>
|
|
20
|
+
<mds-button>Chiudi richiesta</mds-button>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</header>
|
|
24
|
+
<mds-tab>
|
|
25
|
+
<mds-tab-item label="Dati" href="#dati" selected></mds-tab-item>
|
|
26
|
+
<mds-tab-item label="Documenti" href="#documenti"></mds-tab-item>
|
|
27
|
+
<mds-tab-item label="Storico" href="#storico"></mds-tab-item>
|
|
28
|
+
</mds-tab>
|
|
29
|
+
</main>
|
|
30
|
+
<mds-dropdown target="#azioni-richiesta" placement="bottom-start">
|
|
31
|
+
<mds-button icon="mi/baseline/assignment-ind" variant="dark" tone="text" label="Assegna"></mds-button>
|
|
32
|
+
<mds-button icon="mi/baseline/print" variant="dark" tone="text" label="Stampa"></mds-button>
|
|
33
|
+
</mds-dropdown>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the head of the list: Richieste in the plural, the line that says what it holds, Esporta outlined and Nuova richiesta last at the end; the list 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="page" tag="h1">Richieste</mds-text>
|
|
8
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Le richieste che i cittadini inviano all'ufficio anagrafe.</mds-text>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="flex gap-inline @max-actions:basis-full @max-actions:flex-col @max-actions:*:self-stretch">
|
|
11
|
+
<mds-button variant="dark" tone="outline">Esporta</mds-button>
|
|
12
|
+
<mds-button>Nuova richiesta</mds-button>
|
|
13
|
+
</div>
|
|
14
|
+
</header>
|
|
15
|
+
<mds-text typography="detail" tag="p" role="status">1-10 di 44 richieste</mds-text>
|
|
16
|
+
</main>
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Press Richiedi documenti with the note empty: the field says what is missing and takes the focus, and the dialog stays open.
|
|
3
|
+
height: 640
|
|
4
|
+
whole-page: true
|
|
5
|
+
-->
|
|
6
|
+
<mds-header>
|
|
7
|
+
<mds-header-bar>
|
|
8
|
+
<mds-text typography="h6" tag="p">Servizi demografici</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">Contatti</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">Contatti</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
|
+
<header class="@container grid gap-title-content">
|
|
30
|
+
<mds-button href="#" icon="mi/baseline/arrow-back" variant="dark" tone="text" size="sm" class="justify-self-start">Pratiche</mds-button>
|
|
31
|
+
<div class="flex flex-wrap items-start justify-between gap-inline">
|
|
32
|
+
<div class="grid min-w-0 grow basis-actions gap-title-content">
|
|
33
|
+
<mds-text typography="caption" tag="p" class="text-fg-muted">Pratica 2026/0142</mds-text>
|
|
34
|
+
<div class="flex flex-wrap items-center gap-inline">
|
|
35
|
+
<mds-text typography="page" tag="h1" class="min-w-0" tabindex="-1">Cambio di residenza</mds-text>
|
|
36
|
+
<mds-badge variant="warning" label="In lavorazione"></mds-badge>
|
|
37
|
+
</div>
|
|
38
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Ufficio anagrafe, ricevuta il 3 marzo 2026</mds-text>
|
|
39
|
+
</div>
|
|
40
|
+
<div class="flex gap-inline @max-actions:basis-full @max-actions:flex-col @max-actions:*:self-stretch">
|
|
41
|
+
<mds-button variant="dark" tone="outline">Richiedi documenti</mds-button>
|
|
42
|
+
<mds-button>Chiudi pratica</mds-button>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</header>
|
|
46
|
+
</main>
|
|
47
|
+
<mds-modal id="dialogo" opened aria-label="Richiedi documenti">
|
|
48
|
+
<mds-banner slot="window" variant="light" tone="box" dismissible headline="Richiedi documenti">
|
|
49
|
+
<form id="richiesta" class="grid gap-between-fields" novalidate>
|
|
50
|
+
<mds-text typography="detail" tag="p">Giulia Bianchi riceve la nota via PEC, e la pratica resta in attesa dei documenti.</mds-text>
|
|
51
|
+
<mds-input-field label="Nota per la richiedente">
|
|
52
|
+
<mds-input id="nota" type="textarea" name="nota" required></mds-input>
|
|
53
|
+
</mds-input-field>
|
|
54
|
+
</form>
|
|
55
|
+
<mds-button id="annulla" slot="action" variant="dark" tone="outline">Annulla</mds-button>
|
|
56
|
+
<mds-button slot="action" type="submit" form="richiesta">Richiedi documenti</mds-button>
|
|
57
|
+
</mds-banner>
|
|
58
|
+
</mds-modal>
|
|
59
|
+
<script>
|
|
60
|
+
const dialog = document.getElementById('dialogo');
|
|
61
|
+
const form = document.getElementById('richiesta');
|
|
62
|
+
const note = document.getElementById('nota');
|
|
63
|
+
customElements.whenDefined('mds-input').then(() =>
|
|
64
|
+
note.addValidator((value) => (value ? null : { required: 'Scrivi quali documenti mancano' })),
|
|
65
|
+
);
|
|
66
|
+
dialog.addEventListener('mdsModalClose', () => (dialog.opened = undefined));
|
|
67
|
+
document.getElementById('annulla').addEventListener('click', () => dialog.close());
|
|
68
|
+
form.addEventListener('submit', (event) => {
|
|
69
|
+
event.preventDefault();
|
|
70
|
+
if (!form.checkValidity()) note.setFocus();
|
|
71
|
+
});
|
|
72
|
+
</script>
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the page turned into the form, with Annulla and Salva docked at the bottom for the whole edit. Press Salva: the page goes back to the contact, a toast says it was saved, and the focus goes to the heading.
|
|
3
|
+
whole-page: true
|
|
4
|
+
-->
|
|
5
|
+
<mds-header>
|
|
6
|
+
<mds-header-bar>
|
|
7
|
+
<mds-text typography="h6" tag="p">Servizi demografici</mds-text>
|
|
8
|
+
<mds-button slot="nav" href="#" variant="dark" tone="text">Pratiche</mds-button>
|
|
9
|
+
<mds-button slot="nav" href="#" aria-current="page" variant="dark" tone="weak">Contatti</mds-button>
|
|
10
|
+
<mds-button id="persona" slot="nav" icon="mi/baseline/account-circle" variant="dark" tone="text" aria-label="Account di Mario Rossi"></mds-button>
|
|
11
|
+
</mds-header-bar>
|
|
12
|
+
<nav slot="menu" class="grid gap-inline p-inset">
|
|
13
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Pratiche</mds-button>
|
|
14
|
+
<mds-button href="#" aria-current="page" variant="dark" tone="weak" class="w-full justify-start">Contatti</mds-button>
|
|
15
|
+
<mds-separator></mds-separator>
|
|
16
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
17
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Profilo</mds-button>
|
|
18
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Esci</mds-button>
|
|
19
|
+
</nav>
|
|
20
|
+
</mds-header>
|
|
21
|
+
<mds-dropdown target="#persona" placement="bottom-end" strategy="fixed">
|
|
22
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
23
|
+
<mds-button href="#" icon="mi/baseline/person" variant="dark" tone="text" label="Profilo"></mds-button>
|
|
24
|
+
<mds-separator></mds-separator>
|
|
25
|
+
<mds-button href="#" icon="mi/baseline/logout" variant="dark" tone="text" label="Esci"></mds-button>
|
|
26
|
+
</mds-dropdown>
|
|
27
|
+
<div id="modifica">
|
|
28
|
+
<main class="page-frame grid gap-between-sections py-between-sections">
|
|
29
|
+
<header class="grid gap-title-content">
|
|
30
|
+
<mds-button href="#" icon="mi/baseline/arrow-back" variant="dark" tone="text" size="sm" class="justify-self-start">Mario Rossi</mds-button>
|
|
31
|
+
<mds-text typography="page" tag="h1">Modifica Mario Rossi</mds-text>
|
|
32
|
+
</header>
|
|
33
|
+
<form id="contatto" class="max-w-form">
|
|
34
|
+
<fieldset class="field-group">
|
|
35
|
+
<legend>Residenza</legend>
|
|
36
|
+
<mds-input-field label="Via">
|
|
37
|
+
<mds-input name="via" value="Via Roma"></mds-input>
|
|
38
|
+
</mds-input-field>
|
|
39
|
+
<mds-input-field label="Civico" short>
|
|
40
|
+
<mds-input name="civico" value="21"></mds-input>
|
|
41
|
+
</mds-input-field>
|
|
42
|
+
<mds-input-field label="CAP" short>
|
|
43
|
+
<mds-input name="cap" value="47921"></mds-input>
|
|
44
|
+
</mds-input-field>
|
|
45
|
+
<mds-input-field label="Comune">
|
|
46
|
+
<mds-input name="comune" value="Rimini"></mds-input>
|
|
47
|
+
</mds-input-field>
|
|
48
|
+
</fieldset>
|
|
49
|
+
<mds-status-bar id="barra" visible description="Modifiche non salvate">
|
|
50
|
+
<mds-button type="reset" variant="dark" tone="outline">Annulla</mds-button>
|
|
51
|
+
<mds-button id="salva" type="submit">Salva</mds-button>
|
|
52
|
+
</mds-status-bar>
|
|
53
|
+
</form>
|
|
54
|
+
</main>
|
|
55
|
+
</div>
|
|
56
|
+
<div id="scheda" hidden>
|
|
57
|
+
<main class="page-frame grid gap-between-sections py-between-sections">
|
|
58
|
+
<header class="@container grid gap-title-content">
|
|
59
|
+
<mds-button href="#" icon="mi/baseline/arrow-back" variant="dark" tone="text" size="sm" class="justify-self-start">Contatti</mds-button>
|
|
60
|
+
<div class="flex flex-wrap items-start justify-between gap-inline">
|
|
61
|
+
<div class="grid min-w-0 grow basis-actions gap-title-content">
|
|
62
|
+
<mds-text id="titolo" typography="page" tag="h1" tabindex="-1">Mario Rossi</mds-text>
|
|
63
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Ufficio anagrafe, aggiunto il 12 gennaio 2024</mds-text>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="flex gap-inline @max-actions:basis-full @max-actions:flex-col @max-actions:*:self-stretch">
|
|
66
|
+
<mds-button id="azioni-contatto" class="@max-actions:w-fit" icon="mi/baseline/more-vert" variant="dark" tone="text" aria-label="Azioni di Mario Rossi"></mds-button>
|
|
67
|
+
<mds-button>Modifica</mds-button>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</header>
|
|
71
|
+
<section class="grid gap-title-content">
|
|
72
|
+
<mds-text typography="section" tag="h2">Residenza</mds-text>
|
|
73
|
+
<dl class="m-0 grid max-w-form items-start gap-between-fields @md:grid-cols-2">
|
|
74
|
+
<div class="grid gap-label-control">
|
|
75
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Indirizzo</mds-text>
|
|
76
|
+
<mds-text tag="dd" class="m-0">Via Roma 21</mds-text>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="grid gap-label-control">
|
|
79
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Comune</mds-text>
|
|
80
|
+
<mds-text tag="dd" class="m-0">47921 Rimini</mds-text>
|
|
81
|
+
</div>
|
|
82
|
+
</dl>
|
|
83
|
+
</section>
|
|
84
|
+
</main>
|
|
85
|
+
<mds-dropdown target="#azioni-contatto" placement="bottom-start">
|
|
86
|
+
<mds-button icon="mi/baseline/print" variant="dark" tone="text" label="Stampa"></mds-button>
|
|
87
|
+
<mds-separator></mds-separator>
|
|
88
|
+
<mds-button icon="mi/baseline/delete" variant="error" tone="text" label="Elimina contatto"></mds-button>
|
|
89
|
+
</mds-dropdown>
|
|
90
|
+
</div>
|
|
91
|
+
<mds-toast-region>
|
|
92
|
+
<mds-toast id="esito" variant="success">I dati di Mario Rossi sono stati salvati.</mds-toast>
|
|
93
|
+
</mds-toast-region>
|
|
94
|
+
<script>
|
|
95
|
+
// Salva sends the form; the back end answers, and the page returns to the record it saved
|
|
96
|
+
document.getElementById('contatto').addEventListener('submit', (event) => {
|
|
97
|
+
event.preventDefault();
|
|
98
|
+
document.getElementById('barra').visible = undefined;
|
|
99
|
+
document.getElementById('modifica').hidden = true;
|
|
100
|
+
document.getElementById('scheda').hidden = false;
|
|
101
|
+
document.getElementById('titolo').focus();
|
|
102
|
+
document.getElementById('esito').visible = true;
|
|
103
|
+
});
|
|
104
|
+
</script>
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the contact: its name as the heading, Modifica as the main action and its data as labels and values. Open the menu at the start of the row: Stampa, then a separator, and Elimina contatto last, in red with its icon.
|
|
3
|
+
whole-page: true
|
|
4
|
+
-->
|
|
5
|
+
<mds-header>
|
|
6
|
+
<mds-header-bar>
|
|
7
|
+
<mds-text typography="h6" tag="p">Servizi demografici</mds-text>
|
|
8
|
+
<mds-button slot="nav" href="#" variant="dark" tone="text">Pratiche</mds-button>
|
|
9
|
+
<mds-button slot="nav" href="#" aria-current="page" variant="dark" tone="weak">Contatti</mds-button>
|
|
10
|
+
<mds-button id="persona" slot="nav" icon="mi/baseline/account-circle" variant="dark" tone="text" aria-label="Account di Mario Rossi"></mds-button>
|
|
11
|
+
</mds-header-bar>
|
|
12
|
+
<nav slot="menu" class="grid gap-inline p-inset">
|
|
13
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Pratiche</mds-button>
|
|
14
|
+
<mds-button href="#" aria-current="page" variant="dark" tone="weak" class="w-full justify-start">Contatti</mds-button>
|
|
15
|
+
<mds-separator></mds-separator>
|
|
16
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
17
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Profilo</mds-button>
|
|
18
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Esci</mds-button>
|
|
19
|
+
</nav>
|
|
20
|
+
</mds-header>
|
|
21
|
+
<mds-dropdown target="#persona" placement="bottom-end" strategy="fixed">
|
|
22
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
23
|
+
<mds-button href="#" icon="mi/baseline/person" variant="dark" tone="text" label="Profilo"></mds-button>
|
|
24
|
+
<mds-separator></mds-separator>
|
|
25
|
+
<mds-button href="#" icon="mi/baseline/logout" variant="dark" tone="text" label="Esci"></mds-button>
|
|
26
|
+
</mds-dropdown>
|
|
27
|
+
<main class="page-frame grid gap-between-sections py-between-sections">
|
|
28
|
+
<header class="@container grid gap-title-content">
|
|
29
|
+
<mds-button href="#" icon="mi/baseline/arrow-back" variant="dark" tone="text" size="sm" class="justify-self-start">Contatti</mds-button>
|
|
30
|
+
<div class="flex flex-wrap items-start justify-between gap-inline">
|
|
31
|
+
<div class="grid min-w-0 grow basis-actions gap-title-content">
|
|
32
|
+
<mds-text typography="page" tag="h1" tabindex="-1">Mario Rossi</mds-text>
|
|
33
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Ufficio anagrafe, aggiunto il 12 gennaio 2024</mds-text>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="flex gap-inline @max-actions:basis-full @max-actions:flex-col @max-actions:*:self-stretch">
|
|
36
|
+
<mds-button id="azioni-contatto" class="@max-actions:w-fit" icon="mi/baseline/more-vert" variant="dark" tone="text" aria-label="Azioni di Mario Rossi"></mds-button>
|
|
37
|
+
<mds-button>Modifica</mds-button>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</header>
|
|
41
|
+
<section class="grid gap-title-content">
|
|
42
|
+
<mds-text typography="section" tag="h2">Dati anagrafici</mds-text>
|
|
43
|
+
<dl class="m-0 grid max-w-form items-start gap-between-fields @md:grid-cols-2">
|
|
44
|
+
<div class="grid gap-label-control">
|
|
45
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Codice fiscale</mds-text>
|
|
46
|
+
<mds-text tag="dd" class="m-0">RSSMRA80A01H294X</mds-text>
|
|
47
|
+
</div>
|
|
48
|
+
<div class="grid gap-label-control">
|
|
49
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Nato il</mds-text>
|
|
50
|
+
<mds-text tag="dd" class="m-0">1 gennaio 1980</mds-text>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="grid gap-label-control">
|
|
53
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Luogo di nascita</mds-text>
|
|
54
|
+
<mds-text tag="dd" class="m-0">Rimini</mds-text>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="grid gap-label-control">
|
|
57
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Cittadinanza</mds-text>
|
|
58
|
+
<mds-text tag="dd" class="m-0">Italiana</mds-text>
|
|
59
|
+
</div>
|
|
60
|
+
</dl>
|
|
61
|
+
</section>
|
|
62
|
+
<section class="grid gap-title-content">
|
|
63
|
+
<mds-text typography="section" tag="h2">Recapiti</mds-text>
|
|
64
|
+
<dl class="m-0 grid max-w-form items-start gap-between-fields @md:grid-cols-2">
|
|
65
|
+
<div class="grid gap-label-control">
|
|
66
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Email</mds-text>
|
|
67
|
+
<mds-text tag="dd" class="m-0">m.rossi@esempio.it</mds-text>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="grid gap-label-control">
|
|
70
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Telefono</mds-text>
|
|
71
|
+
<mds-text tag="dd" class="m-0">0541 123456</mds-text>
|
|
72
|
+
</div>
|
|
73
|
+
</dl>
|
|
74
|
+
</section>
|
|
75
|
+
</main>
|
|
76
|
+
<mds-dropdown target="#azioni-contatto" placement="bottom-start">
|
|
77
|
+
<mds-button icon="mi/baseline/print" variant="dark" tone="text" label="Stampa"></mds-button>
|
|
78
|
+
<mds-separator></mds-separator>
|
|
79
|
+
<mds-button icon="mi/baseline/delete" variant="error" tone="text" label="Elimina contatto"></mds-button>
|
|
80
|
+
</mds-dropdown>
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look under the identity: an info banner says Anna Bianchi took the practice in charge while it was open, and that the actions may no longer hold. Press Mostra: the practice loads again with its new status and actions, the banner goes, and the tabs move up.
|
|
3
|
+
whole-page: true
|
|
4
|
+
-->
|
|
5
|
+
<mds-header>
|
|
6
|
+
<mds-header-bar>
|
|
7
|
+
<mds-text typography="h6" tag="p">Servizi demografici</mds-text>
|
|
8
|
+
<mds-button slot="nav" href="#" aria-current="page" variant="dark" tone="weak">Pratiche</mds-button>
|
|
9
|
+
<mds-button slot="nav" href="#" variant="dark" tone="text">Contatti</mds-button>
|
|
10
|
+
<mds-button id="persona" slot="nav" icon="mi/baseline/account-circle" variant="dark" tone="text" aria-label="Account di Mario Rossi"></mds-button>
|
|
11
|
+
</mds-header-bar>
|
|
12
|
+
<nav slot="menu" class="grid gap-inline p-inset">
|
|
13
|
+
<mds-button href="#" aria-current="page" variant="dark" tone="weak" class="w-full justify-start">Pratiche</mds-button>
|
|
14
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Contatti</mds-button>
|
|
15
|
+
<mds-separator></mds-separator>
|
|
16
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
17
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Profilo</mds-button>
|
|
18
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Esci</mds-button>
|
|
19
|
+
</nav>
|
|
20
|
+
</mds-header>
|
|
21
|
+
<mds-dropdown target="#persona" placement="bottom-end" strategy="fixed">
|
|
22
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
23
|
+
<mds-button href="#" icon="mi/baseline/person" variant="dark" tone="text" label="Profilo"></mds-button>
|
|
24
|
+
<mds-separator></mds-separator>
|
|
25
|
+
<mds-button href="#" icon="mi/baseline/logout" variant="dark" tone="text" label="Esci"></mds-button>
|
|
26
|
+
</mds-dropdown>
|
|
27
|
+
<main class="page-frame grid gap-between-sections py-between-sections">
|
|
28
|
+
<header class="@container grid gap-title-content">
|
|
29
|
+
<mds-button href="#" icon="mi/baseline/arrow-back" variant="dark" tone="text" size="sm" class="justify-self-start">Pratiche</mds-button>
|
|
30
|
+
<div class="flex flex-wrap items-start justify-between gap-inline">
|
|
31
|
+
<div class="grid min-w-0 grow basis-actions gap-title-content">
|
|
32
|
+
<mds-text typography="caption" tag="p" class="text-fg-muted">Pratica 2026/0142</mds-text>
|
|
33
|
+
<div class="flex flex-wrap items-center gap-inline">
|
|
34
|
+
<mds-text id="titolo" typography="page" tag="h1" class="min-w-0" tabindex="-1">Cambio di residenza</mds-text>
|
|
35
|
+
<mds-badge id="stato" variant="info" label="Nuova"></mds-badge>
|
|
36
|
+
</div>
|
|
37
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Ufficio anagrafe, ricevuta il 3 marzo 2026</mds-text>
|
|
38
|
+
</div>
|
|
39
|
+
<div id="azioni" class="flex gap-inline @max-actions:basis-full @max-actions:flex-col @max-actions:*:self-stretch">
|
|
40
|
+
<mds-button>Prendi in carico</mds-button>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<mds-banner id="cambio" variant="info" headline="Presa in carico da Anna Bianchi alle 10:42">
|
|
44
|
+
<mds-text>Le azioni di questa pagina potrebbero non valere più: mostra la pratica aggiornata.</mds-text>
|
|
45
|
+
<mds-button id="mostra" slot="action" variant="info" tone="strong">Mostra</mds-button>
|
|
46
|
+
</mds-banner>
|
|
47
|
+
</header>
|
|
48
|
+
<div class="@container grid gap-between-fields">
|
|
49
|
+
<mds-tab>
|
|
50
|
+
<mds-tab-item label="Dati" href="#dati" selected></mds-tab-item>
|
|
51
|
+
<mds-tab-item label="Documenti" href="#documenti"></mds-tab-item>
|
|
52
|
+
<mds-tab-item label="Storico" href="#storico"></mds-tab-item>
|
|
53
|
+
</mds-tab>
|
|
54
|
+
<dl class="m-0 grid max-w-form items-start gap-between-fields @md:grid-cols-2">
|
|
55
|
+
<div class="grid gap-label-control">
|
|
56
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Richiedente</mds-text>
|
|
57
|
+
<mds-text tag="dd" class="m-0">Giulia Bianchi</mds-text>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="grid gap-label-control">
|
|
60
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Codice fiscale</mds-text>
|
|
61
|
+
<mds-text tag="dd" class="m-0">BNCGLI85C43H294K</mds-text>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="grid gap-label-control">
|
|
64
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Nuovo indirizzo</mds-text>
|
|
65
|
+
<mds-text tag="dd" class="m-0">Via Emilia 12, Rimini</mds-text>
|
|
66
|
+
</div>
|
|
67
|
+
<div class="grid gap-label-control">
|
|
68
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Dal</mds-text>
|
|
69
|
+
<mds-text tag="dd" class="m-0">1 marzo 2026</mds-text>
|
|
70
|
+
</div>
|
|
71
|
+
</dl>
|
|
72
|
+
</div>
|
|
73
|
+
</main>
|
|
74
|
+
<script>
|
|
75
|
+
document.getElementById('mostra').addEventListener('click', () => {
|
|
76
|
+
// the record as the back end returns it now: its status and the actions the status allows
|
|
77
|
+
const status = document.getElementById('stato');
|
|
78
|
+
status.label = 'In lavorazione';
|
|
79
|
+
status.variant = 'warning';
|
|
80
|
+
document.getElementById('azioni').innerHTML =
|
|
81
|
+
'<mds-button variant="dark" tone="outline">Richiedi documenti</mds-button><mds-button>Chiudi pratica</mds-button>';
|
|
82
|
+
// the banner goes, and what was under it moves up
|
|
83
|
+
document.getElementById('cambio').remove();
|
|
84
|
+
// Mostra is gone: the focus goes to the heading
|
|
85
|
+
document.getElementById('titolo').focus();
|
|
86
|
+
});
|
|
87
|
+
</script>
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Press Prendi in carico: the button waits for the answer, then the page shows the practice as the back end returns it, with its new status and actions, a toast says it was done, and the focus goes to the heading.
|
|
3
|
+
whole-page: true
|
|
4
|
+
-->
|
|
5
|
+
<mds-header>
|
|
6
|
+
<mds-header-bar>
|
|
7
|
+
<mds-text typography="h6" tag="p">Servizi demografici</mds-text>
|
|
8
|
+
<mds-button slot="nav" href="#" aria-current="page" variant="dark" tone="weak">Pratiche</mds-button>
|
|
9
|
+
<mds-button slot="nav" href="#" variant="dark" tone="text">Contatti</mds-button>
|
|
10
|
+
<mds-button id="persona" slot="nav" icon="mi/baseline/account-circle" variant="dark" tone="text" aria-label="Account di Mario Rossi"></mds-button>
|
|
11
|
+
</mds-header-bar>
|
|
12
|
+
<nav slot="menu" class="grid gap-inline p-inset">
|
|
13
|
+
<mds-button href="#" aria-current="page" variant="dark" tone="weak" class="w-full justify-start">Pratiche</mds-button>
|
|
14
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Contatti</mds-button>
|
|
15
|
+
<mds-separator></mds-separator>
|
|
16
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
17
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Profilo</mds-button>
|
|
18
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Esci</mds-button>
|
|
19
|
+
</nav>
|
|
20
|
+
</mds-header>
|
|
21
|
+
<mds-dropdown target="#persona" placement="bottom-end" strategy="fixed">
|
|
22
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
23
|
+
<mds-button href="#" icon="mi/baseline/person" variant="dark" tone="text" label="Profilo"></mds-button>
|
|
24
|
+
<mds-separator></mds-separator>
|
|
25
|
+
<mds-button href="#" icon="mi/baseline/logout" variant="dark" tone="text" label="Esci"></mds-button>
|
|
26
|
+
</mds-dropdown>
|
|
27
|
+
<main class="page-frame grid gap-between-sections py-between-sections">
|
|
28
|
+
<header class="@container grid gap-title-content">
|
|
29
|
+
<mds-button href="#" icon="mi/baseline/arrow-back" variant="dark" tone="text" size="sm" class="justify-self-start">Pratiche</mds-button>
|
|
30
|
+
<div class="flex flex-wrap items-start justify-between gap-inline">
|
|
31
|
+
<div class="grid min-w-0 grow basis-actions gap-title-content">
|
|
32
|
+
<mds-text typography="caption" tag="p" class="text-fg-muted">Pratica 2026/0142</mds-text>
|
|
33
|
+
<div class="flex flex-wrap items-center gap-inline">
|
|
34
|
+
<mds-text id="titolo" typography="page" tag="h1" class="min-w-0" tabindex="-1">Cambio di residenza</mds-text>
|
|
35
|
+
<mds-badge id="stato" variant="info" label="Nuova"></mds-badge>
|
|
36
|
+
</div>
|
|
37
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Ufficio anagrafe, ricevuta il 3 marzo 2026</mds-text>
|
|
38
|
+
</div>
|
|
39
|
+
<div id="azioni" class="flex gap-inline @max-actions:basis-full @max-actions:flex-col @max-actions:*:self-stretch">
|
|
40
|
+
<mds-button id="prendi">Prendi in carico</mds-button>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</header>
|
|
44
|
+
<div class="@container grid gap-between-fields">
|
|
45
|
+
<mds-tab>
|
|
46
|
+
<mds-tab-item label="Dati" href="#dati" selected></mds-tab-item>
|
|
47
|
+
<mds-tab-item label="Documenti" href="#documenti"></mds-tab-item>
|
|
48
|
+
<mds-tab-item label="Storico" href="#storico"></mds-tab-item>
|
|
49
|
+
</mds-tab>
|
|
50
|
+
<dl class="m-0 grid max-w-form items-start gap-between-fields @md:grid-cols-2">
|
|
51
|
+
<div class="grid gap-label-control">
|
|
52
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Richiedente</mds-text>
|
|
53
|
+
<mds-text tag="dd" class="m-0">Giulia Bianchi</mds-text>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="grid gap-label-control">
|
|
56
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Codice fiscale</mds-text>
|
|
57
|
+
<mds-text tag="dd" class="m-0">BNCGLI85C43H294K</mds-text>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="grid gap-label-control">
|
|
60
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Nuovo indirizzo</mds-text>
|
|
61
|
+
<mds-text tag="dd" class="m-0">Via Emilia 12, Rimini</mds-text>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="grid gap-label-control">
|
|
64
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Dal</mds-text>
|
|
65
|
+
<mds-text tag="dd" class="m-0">1 marzo 2026</mds-text>
|
|
66
|
+
</div>
|
|
67
|
+
</dl>
|
|
68
|
+
</div>
|
|
69
|
+
</main>
|
|
70
|
+
<mds-toast-region>
|
|
71
|
+
<mds-toast id="esito" variant="success">La pratica è stata presa in carico.</mds-toast>
|
|
72
|
+
</mds-toast-region>
|
|
73
|
+
<script>
|
|
74
|
+
const take = document.getElementById('prendi');
|
|
75
|
+
take.addEventListener('click', async () => {
|
|
76
|
+
take.await = true;
|
|
77
|
+
// the back end answers with the record: its status and the actions the status allows
|
|
78
|
+
await new Promise((resolve) => setTimeout(resolve, 400));
|
|
79
|
+
const status = document.getElementById('stato');
|
|
80
|
+
status.label = 'In lavorazione';
|
|
81
|
+
status.variant = 'warning';
|
|
82
|
+
document.getElementById('azioni').innerHTML =
|
|
83
|
+
'<mds-button variant="dark" tone="outline">Richiedi documenti</mds-button><mds-button>Chiudi pratica</mds-button>';
|
|
84
|
+
// the button that ran it is gone: the focus goes to the heading
|
|
85
|
+
document.getElementById('titolo').focus();
|
|
86
|
+
document.getElementById('esito').visible = true;
|
|
87
|
+
});
|
|
88
|
+
</script>
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the head of the practice: the way back, the number above the subject with its status, the actions the status allows with the main one last. Press Storico: the tab is a link, so the address holds it, and the history shows the newest first.
|
|
3
|
+
whole-page: true
|
|
4
|
+
-->
|
|
5
|
+
<mds-header>
|
|
6
|
+
<mds-header-bar>
|
|
7
|
+
<mds-text typography="h6" tag="p">Servizi demografici</mds-text>
|
|
8
|
+
<mds-button slot="nav" href="#" aria-current="page" variant="dark" tone="weak">Pratiche</mds-button>
|
|
9
|
+
<mds-button slot="nav" href="#" variant="dark" tone="text">Contatti</mds-button>
|
|
10
|
+
<mds-button id="persona" slot="nav" icon="mi/baseline/account-circle" variant="dark" tone="text" aria-label="Account di Mario Rossi"></mds-button>
|
|
11
|
+
</mds-header-bar>
|
|
12
|
+
<nav slot="menu" class="grid gap-inline p-inset">
|
|
13
|
+
<mds-button href="#" aria-current="page" variant="dark" tone="weak" class="w-full justify-start">Pratiche</mds-button>
|
|
14
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Contatti</mds-button>
|
|
15
|
+
<mds-separator></mds-separator>
|
|
16
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
17
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Profilo</mds-button>
|
|
18
|
+
<mds-button href="#" variant="dark" tone="text" class="w-full justify-start">Esci</mds-button>
|
|
19
|
+
</nav>
|
|
20
|
+
</mds-header>
|
|
21
|
+
<mds-dropdown target="#persona" placement="bottom-end" strategy="fixed">
|
|
22
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Mario Rossi</mds-text>
|
|
23
|
+
<mds-button href="#" icon="mi/baseline/person" variant="dark" tone="text" label="Profilo"></mds-button>
|
|
24
|
+
<mds-separator></mds-separator>
|
|
25
|
+
<mds-button href="#" icon="mi/baseline/logout" variant="dark" tone="text" label="Esci"></mds-button>
|
|
26
|
+
</mds-dropdown>
|
|
27
|
+
<main class="page-frame grid gap-between-sections py-between-sections">
|
|
28
|
+
<header class="@container grid gap-title-content">
|
|
29
|
+
<mds-button href="#" icon="mi/baseline/arrow-back" variant="dark" tone="text" size="sm" class="justify-self-start">Pratiche</mds-button>
|
|
30
|
+
<div class="flex flex-wrap items-start justify-between gap-inline">
|
|
31
|
+
<div class="grid min-w-0 grow basis-actions gap-title-content">
|
|
32
|
+
<mds-text typography="caption" tag="p" class="text-fg-muted">Pratica 2026/0142</mds-text>
|
|
33
|
+
<div class="flex flex-wrap items-center gap-inline">
|
|
34
|
+
<mds-text typography="page" tag="h1" class="min-w-0" tabindex="-1">Cambio di residenza</mds-text>
|
|
35
|
+
<mds-badge variant="warning" label="In lavorazione"></mds-badge>
|
|
36
|
+
</div>
|
|
37
|
+
<mds-text typography="detail" tag="p" class="text-fg-muted">Ufficio anagrafe, ricevuta il 3 marzo 2026</mds-text>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="flex gap-inline @max-actions:basis-full @max-actions:flex-col @max-actions:*:self-stretch">
|
|
40
|
+
<mds-button variant="dark" tone="outline">Richiedi documenti</mds-button>
|
|
41
|
+
<mds-button>Chiudi pratica</mds-button>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</header>
|
|
45
|
+
<div class="@container grid gap-between-fields">
|
|
46
|
+
<mds-tab>
|
|
47
|
+
<mds-tab-item label="Dati" href="#dati"></mds-tab-item>
|
|
48
|
+
<mds-tab-item label="Documenti" href="#documenti" selected></mds-tab-item>
|
|
49
|
+
<mds-tab-item label="Storico" href="#storico"></mds-tab-item>
|
|
50
|
+
</mds-tab>
|
|
51
|
+
<div id="dati" hidden>
|
|
52
|
+
<dl class="m-0 grid max-w-form items-start gap-between-fields @md:grid-cols-2">
|
|
53
|
+
<div class="grid gap-label-control">
|
|
54
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Richiedente</mds-text>
|
|
55
|
+
<mds-text tag="dd" class="m-0">Giulia Bianchi</mds-text>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="grid gap-label-control">
|
|
58
|
+
<mds-text typography="label" tag="dt" class="text-fg-muted">Nuovo indirizzo</mds-text>
|
|
59
|
+
<mds-text tag="dd" class="m-0">Via Emilia 12, Rimini</mds-text>
|
|
60
|
+
</div>
|
|
61
|
+
</dl>
|
|
62
|
+
</div>
|
|
63
|
+
<div id="documenti" class="@container">
|
|
64
|
+
<div class="grid gap-between-containers @2xl:grid-cols-2">
|
|
65
|
+
<mds-file filename="domanda-cambio-residenza.pdf"></mds-file>
|
|
66
|
+
<mds-file filename="documento-identita.jpg"></mds-file>
|
|
67
|
+
<mds-file filename="contratto-affitto.pdf"></mds-file>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
<div id="storico" hidden>
|
|
71
|
+
<ol class="m-0 grid list-none gap-between-fields p-0">
|
|
72
|
+
<li>
|
|
73
|
+
<mds-author>
|
|
74
|
+
<mds-avatar slot="avatar" initials="AB"></mds-avatar>
|
|
75
|
+
<mds-text typography="detail" tag="p">Anna Bianchi ha richiesto documenti</mds-text>
|
|
76
|
+
<mds-text typography="caption" tag="p" class="text-fg-muted">5 marzo 2026, 9:15</mds-text>
|
|
77
|
+
<mds-text typography="detail" tag="p">Manca il contratto di affitto firmato dal proprietario.</mds-text>
|
|
78
|
+
</mds-author>
|
|
79
|
+
</li>
|
|
80
|
+
<li>
|
|
81
|
+
<mds-author>
|
|
82
|
+
<mds-avatar slot="avatar" initials="AB"></mds-avatar>
|
|
83
|
+
<mds-text typography="detail" tag="p">Anna Bianchi ha preso in carico la pratica</mds-text>
|
|
84
|
+
<mds-text typography="caption" tag="p" class="text-fg-muted">4 marzo 2026, 10:42</mds-text>
|
|
85
|
+
</mds-author>
|
|
86
|
+
</li>
|
|
87
|
+
<li>
|
|
88
|
+
<mds-author>
|
|
89
|
+
<mds-avatar slot="avatar" initials="GB"></mds-avatar>
|
|
90
|
+
<mds-text typography="detail" tag="p">Giulia Bianchi ha inviato la pratica</mds-text>
|
|
91
|
+
<mds-text typography="caption" tag="p" class="text-fg-muted">3 marzo 2026, 18:05</mds-text>
|
|
92
|
+
</mds-author>
|
|
93
|
+
</li>
|
|
94
|
+
</ol>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</main>
|
|
98
|
+
<script>
|
|
99
|
+
// the tabs are links: the address holds the tab, and the page shows its part
|
|
100
|
+
const show = () => {
|
|
101
|
+
const tab = location.hash.slice(1) || 'documenti';
|
|
102
|
+
for (const part of ['dati', 'documenti', 'storico'].map((id) => document.getElementById(id))) part.hidden = part.id !== tab;
|
|
103
|
+
};
|
|
104
|
+
addEventListener('hashchange', show);
|
|
105
|
+
show();
|
|
106
|
+
</script>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
try: Look at the three cards of the results: 400 apart, nearer than the 600 inside each, since their boundary already sets them apart.
|
|
3
|
+
-->
|
|
4
|
+
<div class="grid gap-between-containers">
|
|
5
|
+
<mds-card>
|
|
6
|
+
<mds-card-header>
|
|
7
|
+
<mds-text typography="part" tag="h2">Pratica 2026/0412</mds-text>
|
|
8
|
+
</mds-card-header>
|
|
9
|
+
<mds-card-content>
|
|
10
|
+
<mds-text typography="detail">Cambio di residenza di Giulia Bianchi.</mds-text>
|
|
11
|
+
</mds-card-content>
|
|
12
|
+
</mds-card>
|
|
13
|
+
<mds-card>
|
|
14
|
+
<mds-card-header>
|
|
15
|
+
<mds-text typography="part" tag="h2">Pratica 2026/0398</mds-text>
|
|
16
|
+
</mds-card-header>
|
|
17
|
+
<mds-card-content>
|
|
18
|
+
<mds-text typography="detail">Cambio di residenza di Luca Ferri.</mds-text>
|
|
19
|
+
</mds-card-content>
|
|
20
|
+
</mds-card>
|
|
21
|
+
<mds-card>
|
|
22
|
+
<mds-card-header>
|
|
23
|
+
<mds-text typography="part" tag="h2">Pratica 2026/0371</mds-text>
|
|
24
|
+
</mds-card-header>
|
|
25
|
+
<mds-card-content>
|
|
26
|
+
<mds-text typography="detail">Iscrizione anagrafica di Sara Conti.</mds-text>
|
|
27
|
+
</mds-card-content>
|
|
28
|
+
</mds-card>
|
|
29
|
+
</div>
|